Subject: [PATCH core-updates 11/29] gnu: pango: Update package definition.

From: Danny Milosavljevic <[email-masked]>
Date: Thu, 20 Aug 2020 17:10:32 +0200

From: Raghav Gururajan <[email-masked]>

* gnu/packages/gtk.scm (pango): Update package definition.
[arguments]<#:glib-or-gtk?>: New argument.
[native-inputs]: Add help2man, perl and python-wrapper.
[propagated-inputs]: Add libthai and libxrender.
[synopsis]: Modify.
[description]: Modify.
[home-page]: Modify.
* gnu/packages/patches/pango-skip-libthai-test.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.

Signed-off-by: Danny Milosavljevic <[email-masked]>
---
 gnu/local.mk                                  |  1 -
 gnu/packages/gtk.scm                          | 99 ++++++++++---------
 .../patches/pango-skip-libthai-test.patch     | 23 -----
 3 files changed, 51 insertions(+), 72 deletions(-)
 delete mode 100644 gnu/packages/patches/pango-skip-libthai-test.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index ae708248e8..3732e56acc 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1378,7 +1378,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/p7zip-remove-unused-code.patch		\
   %D%/packages/patches/pam-krb5-CVE-2020-10595.patch		\
   %D%/packages/patches/pam-mount-luks2-support.patch		\
-  %D%/packages/patches/pango-skip-libthai-test.patch		\
   %D%/packages/patches/pciutils-hurd-configure.patch		\
   %D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch		\
   %D%/packages/patches/sdl-pango-api_additions.patch		\
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 2f939ff0bd..c7bc9cf1a4 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -74,6 +74,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages man)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
@@ -240,54 +241,56 @@ output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
 
 (define-public pango
   (package
-   (name "pango")
-   (version "1.44.7")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "mirror://gnome/sources/pango/"
-                                (version-major+minor version) "/"
-                                name "-" version ".tar.xz"))
-            (patches (search-patches "pango-skip-libthai-test.patch"))
-            (sha256
-             (base32
-              "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
-   (build-system meson-build-system)
-   (arguments
-    '(#:phases (modify-phases %standard-phases
-                 (add-after 'unpack 'disable-cantarell-tests
-                   (lambda _
-                     (substitute* "tests/meson.build"
-                       ;; XXX FIXME: These tests require "font-cantarell", but
-                       ;; adding it here would introduce a circular dependency.
-                       (("\\[ 'test-harfbuzz'.*") "")
-                       (("\\[ 'test-itemize'.*") "")
-                       (("\\[ 'test-layout'.*") ""))
-                     #t)))))
-   (propagated-inputs
-    ;; These are all in Requires or Requires.private of the '.pc' files.
-    `(("cairo" ,cairo)
-      ("fribidi" ,fribidi)
-      ("fontconfig" ,fontconfig)
-      ("freetype" ,freetype)
-      ("glib" ,glib)
-      ("harfbuzz" ,harfbuzz)
-
-      ;; Some packages, such as Openbox, expect Pango to be built with the
-      ;; optional libxft support.
-      ("libxft" ,libxft)))
-   (inputs
-    `(("zlib" ,zlib)))
-   (native-inputs
-    `(("pkg-config" ,pkg-config)
-      ("glib" ,glib "bin")                               ; glib-mkenums, etc.
-      ("gobject-introspection" ,gobject-introspection))) ; g-ir-compiler, etc.
-   (synopsis "GNOME text and font handling library")
-   (description
-    "Pango is the core text and font handling library used in GNOME
-applications.  It has extensive support for the different writing systems
-used throughout the world.")
-   (license license:lgpl2.0+)
-   (home-page "https://developer.gnome.org/pango/")))
+    (name "pango")
+    (version "1.44.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "mirror://gnome/sources/pango/"
+                       (version-major+minor version) "/"
+                       name "-" version ".tar.xz"))
+       (sha256
+        (base32 "07qvxa2sk90chp1l12han6vxvy098mc37sdqcznyywyv2g6bd9b6"))))
+    (build-system meson-build-system)
+    (arguments
+     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (substitute* "tests/meson.build"
+               (("\\[ 'test-harfbuzz'.*") "")
+               (("\\[ 'test-itemize'.*") "")
+               (("\\[ 'test-layout'.*") ""))
+             #t)))))
+    (native-inputs
+     `(("glib" ,glib "bin")
+       ("gobject-introspection" ,gobject-introspection)
+       ("help2man" ,help2man)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)
+       ("python" ,python-wrapper)))
+    (inputs
+     `(("zlib" ,zlib)))
+    (propagated-inputs
+     `(("cairo" ,cairo)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("fribidi" ,fribidi)
+       ("glib" ,glib)
+       ("harfbuzz" ,harfbuzz)
+       ("libthai" ,libthai)
+       ("libxft" ,libxft)
+       ("libxrender" ,libxrender)))
+    (synopsis "Text and font handling library")
+    (description "Pango is a library for laying out and rendering of text, with
+an emphasis on internationalization.  Pango can be used anywhere that text
+layout is needed, though most of the work on Pango so far has been done in the
+context of the GTK+ widget toolkit.  Pango forms the core of text and font
+handling for GTK+-2.x.")
+    (home-page "https://pango.gnome.org/")
+    (license license:lgpl2.0+)))
 
 (define-public pango-1.42
   (package
diff --git a/gnu/packages/patches/pango-skip-libthai-test.patch b/gnu/packages/patches/pango-skip-libthai-test.patch
deleted file mode 100644
index 98732b5391..0000000000
--- a/gnu/packages/patches/pango-skip-libthai-test.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Skip Thai character test when libthai is unavailable.
-
-Taken from upstream bug tracker:
-https://gitlab.gnome.org/GNOME/pango/merge_requests/161
-https://gitlab.gnome.org/GNOME/pango/commit/b73284747ac937e31dc9191f84ed6e24284c88ee
-
-diff --git a/tests/test-break.c b/tests/test-break.c
-index 8549b678bba69360d07dce3af21d915412f20d51..47fa3009165e19a331aa04a0df4351ae2323933b 100644
---- a/tests/test-break.c
-+++ b/tests/test-break.c
-@@ -305,6 +305,12 @@ main (int argc, char *argv[])
-       if (!strstr (name, "break"))
-         continue;
- 
-+#ifndef HAVE_LIBTHAI
-+      /* four.break involves Thai, so only test it when we have libthai */
-+      if (strstr (name, "four.break"))
-+        continue;
-+#endif
-+
-       path = g_strdup_printf ("/break/%s", name);
-       g_test_add_data_func_full (path, g_test_build_filename (G_TEST_DIST, "breaks", name, NULL),
-                                  test_break, g_free);