summary refs log tree commit diff
path: root/gnu/packages/gtk.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gtk.scm')
-rw-r--r--gnu/packages/gtk.scm185
1 files changed, 77 insertions, 108 deletions
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index cc25fac2aa..7250d62321 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -191,7 +191,7 @@ tools have full access to view and control running applications.")
        ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
     (inputs
-     `(("bash-minimal" ,bash-minimal)
+     `(("bash-minimal" ,bash-minimal)   ;for glib-or-gtk-wrap
        ("drm" ,libdrm)
        ("ghostscript" ,ghostscript)
        ("libspectre" ,libspectre)
@@ -243,54 +243,41 @@ output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
 
 (define-public harfbuzz
   (package
-   (name "harfbuzz")
-   (version "2.8.2")
-   (source (origin
-             (method url-fetch)
-             (uri (string-append "https://github.com/harfbuzz/harfbuzz"
-                                 "/releases/download/" version "/harfbuzz-"
-                                 version ".tar.xz"))
-             (sha256
-              (base32
-               "1rvv86wpm3y04fqns1655268rhvhvms469837709v2z2bhwn316m"))))
-   (build-system gnu-build-system)
-   (outputs '("out"
-              "bin")) ; 160K, only hb-view depend on cairo
-   (inputs
-    (list cairo))
-   (propagated-inputs
-    ;; There are all in the Requires or Requires.private field of '.pc'.
-    (list glib graphite2 icu4c))
-   (native-inputs
-    `(("glib:bin" ,glib "bin")          ;for glib-mkenums
-      ("gobject-introspection" ,gobject-introspection)
-      ("pkg-config" ,pkg-config)
-      ("python" ,python-wrapper)
-      ("which" ,which)))
-   (arguments
-    `(#:configure-flags `("--with-graphite2"
-                          "--with-gobject"
-                          ,(string-append
-                            "--bindir=" (assoc-ref %outputs "bin") "/bin"))))
-   (synopsis "OpenType text shaping engine")
-   (description
-    "HarfBuzz is an OpenType text shaping engine.")
-   (license (license:x11-style "file://COPYING"
-                       "See 'COPYING' in the distribution."))
-   (home-page "https://www.freedesktop.org/wiki/Software/HarfBuzz/")))
-
-(define-public harfbuzz-3
-  (package
-    (inherit harfbuzz)
-    (version "3.4.0")
+    (name "harfbuzz")
+    (version "4.4.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/harfbuzz/harfbuzz"
-                                  "/releases/download/" version
-                                  "/harfbuzz-" version ".tar.xz"))
+                                  "/releases/download/" version "/harfbuzz-"
+                                  version ".tar.xz"))
               (sha256
                (base32
-                "0lprrl8iih8ji1n17xwm5llz05a1hv4g04b7a3y229dq9myahn3i"))))))
+                "1vn9id3i5196bq9q8xpcpzavk0a2xqff5k973pq54blv16n37g65"))))
+    (build-system gnu-build-system)
+    (outputs '("out"
+               "bin"))                  ;160K, only hb-view depend on cairo
+    (inputs
+     (list cairo))
+    (propagated-inputs
+     ;; There are all in the Requires or Requires.private field of '.pc'.
+     (list glib graphite2 icu4c))
+    (native-inputs
+     (list `(,glib "bin")               ;for glib-mkenums
+           gobject-introspection
+           pkg-config
+           python-wrapper
+           which))
+    (arguments
+     (list #:configure-flags
+           #~(list "--with-graphite2"
+                   "--with-gobject"
+                   (string-append "--bindir=" #$output:bin "/bin"))))
+    (synopsis "OpenType text shaping engine")
+    (description
+     "HarfBuzz is an OpenType text shaping engine.")
+    (license (license:x11-style "file://COPYING"
+                                "See 'COPYING' in the distribution."))
+    (home-page "https://www.freedesktop.org/wiki/Software/HarfBuzz/")))
 
 (define-public harfbuzz-4
   (package
@@ -371,7 +358,7 @@ applications.")
 (define-public pango
   (package
     (name "pango")
-    (version "1.48.10")
+    (version "1.50.7")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/pango/"
@@ -380,7 +367,7 @@ applications.")
               (patches (search-patches "pango-skip-libthai-test.patch"))
               (sha256
                (base32
-                "166wxhsjb6hb0dk7wkkdcmpvasl9n0a0aa64mdgagzfdidwzbq91"))))
+                "0cxdwfvr0rsw82nfqzp29mznlx84q2fri9lrfbgrbinlldlz6xq4"))))
     (build-system meson-build-system)
     (arguments
      '(#:glib-or-gtk? #t             ; To wrap binaries and/or compile schemas
@@ -396,26 +383,26 @@ applications.")
                         (("\\[ 'test-harfbuzz'.*") "")))))))
     (propagated-inputs
      ;; These are all in Requires or Requires.private of the '.pc' files.
-     `(("cairo" ,cairo)
-       ("fontconfig" ,fontconfig)
-       ("freetype" ,freetype)
-       ("fribidi" ,fribidi)
-       ("glib" ,glib)
-       ("harfbuzz" ,harfbuzz)
-       ("libthai" ,libthai)
-       ;; Some packages, such as Openbox, expect Pango to be built with the
-       ;; optional libxft support.
-       ("libxft" ,libxft)
-       ("libxrender" ,libxrender)))
+     (list cairo
+           fontconfig
+           freetype
+           fribidi
+           glib
+           harfbuzz
+           libthai
+           ;; Some packages, such as Openbox, expect Pango to be built with the
+           ;; optional libxft support.
+           libxft
+           libxrender))
     (inputs
      (list bash-minimal zlib))
     (native-inputs
-     `(("glib" ,glib "bin")                             ; glib-mkenums, etc.
-       ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc.
-       ("help2man" ,help2man)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python-wrapper)))
+     (list `(,glib "bin")               ;glib-mkenums, etc.
+           gobject-introspection        ;g-ir-compiler, etc.
+           help2man
+           perl
+           pkg-config
+           python-wrapper))
     (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
@@ -425,22 +412,6 @@ handling for GTK+-2.x.")
     (home-page "https://pango.gnome.org/")
     (license license:lgpl2.0+)))
 
-;; TODO: Make this the default package in next release cycle.
-(define-public pango-next
-  (package
-    (inherit pango)
-    (name "pango")
-    (version "1.50.4")
-    (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
-                "0qn1a7ccs3p5vc6swbqm6hdzka879l0gp9220lq4bcf2gpl67bgl"))))))
-
 (define-public pango-1.42
   (package
    (inherit pango)
@@ -672,7 +643,7 @@ highlighting and other features typical of a source code editor.")
 (define-public gdk-pixbuf
   (package
     (name "gdk-pixbuf")
-    (version "2.42.4")
+    (version "2.42.8")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -680,7 +651,7 @@ highlighting and other features typical of a source code editor.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "0k9f9177qxaryaxprwrhqnv5p2gdq4a8i6y05gm98qa8izc5v77y"))))
+                "1iplb43nn74pp3w1wjwwn522i9man6jia85k6j8v4494rcxfmb44"))))
     (build-system meson-build-system)
     (outputs '("out" "debug"))
     (arguments
@@ -693,9 +664,8 @@ highlighting and other features typical of a source code editor.")
              (with-directory-excursion "docs"
                (substitute* "meson.build"
                  (("http://docbook.sourceforge.net/release/xsl/current/")
-                  (string-append (assoc-ref ,(if (%current-target-system)
-                                                 '(or native-inputs inputs)
-                                                 'inputs) "docbook-xsl")
+                  (string-append (assoc-ref (or native-inputs inputs)
+                                            "docbook-xsl")
                                  "/xml/xsl/docbook-xsl-1.79.2/")))
                (substitute* (find-files "." "\\.xml$")
                  (("http://www.oasis-open.org/docbook/xml/4\\.3/")
@@ -709,11 +679,11 @@ highlighting and other features typical of a source code editor.")
                (("\\[ 'pixbuf-fail', \\['conform', 'slow'\\], \\],")
                 ""))))
          ;; The slow tests take longer than the specified timeout.
-         ,@(if (any (cute string=? <> (%current-system))
-                    '("armhf-linux" "aarch64-linux"))
+         ,@(if (target-arm? (%current-system))
                '((replace 'check
-                   (lambda _
-                     (invoke "meson" "test" "--timeout-multiplier" "5"))))
+                   (lambda* (#:key tests? #:allow-other-keys)
+                     (when tests?
+                       (invoke "meson" "test" "--timeout-multiplier" "5")))))
                '()))))
     (propagated-inputs
      (list ;; Required by gdk-pixbuf-2.0.pc
@@ -1317,7 +1287,7 @@ application suites.")
            libxkbcommon
            libxrandr
            libxrender
-           pango-next
+           pango
            vulkan-headers
            vulkan-loader                ;for vulkan graphics API support
            wayland                      ;for wayland display-backend
@@ -1709,10 +1679,8 @@ library.")
     (build-system meson-build-system)
     (outputs '("out" "doc"))
     (arguments
-     `(#:glib-or-gtk? #t     ; To wrap binaries and/or compile schemas
-       #:configure-flags
-       (list
-        "-Dbuild-documentation=true")
+     '(#:glib-or-gtk? #t
+       #:configure-flags '("-Dbuild-documentation=true")
        #:phases
        (modify-phases %standard-phases
          (add-after 'install 'move-doc
@@ -1722,19 +1690,18 @@ library.")
                (mkdir-p (string-append doc "/share"))
                (rename-file
                 (string-append out "/share/doc")
-                (string-append doc "/share/doc"))
-               #t))))))
+                (string-append doc "/share/doc"))))))))
     (native-inputs
-     `(("dot" ,graphviz)
-       ("doxygen" ,doxygen)
-       ("m4" ,m4)
-       ("mm-common" ,mm-common)
-       ("perl" ,perl)
-       ("pkg-config" ,pkg-config)
-       ("python" ,python)
-       ("xsltproc" ,libxslt)))
+     (list doxygen
+           graphviz                     ;for 'dot'
+           libxslt                      ;for 'xsltproc'
+           m4
+           mm-common
+           perl
+           pkg-config
+           python))
     (propagated-inputs
-     (list cairo cairomm glibmm pango-next))
+     (list cairo cairomm glibmm pango))
     (home-page "https://pango.gnome.org//")
     (synopsis "C++ interface to the Pango text rendering library")
     (description
@@ -1746,7 +1713,7 @@ library.")
   (package
     (inherit pangomm)
     (name "pangomm")
-    (version "2.46.0")
+    (version "2.46.2")
     (source
      (origin
        (method url-fetch)
@@ -1755,7 +1722,7 @@ library.")
                        (version-major+minor version)  "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "06zczkaxf5p5kjgnzrfylzi40w9a8lxpndgs7rpn12qrsq27sy6k"))))
+        (base32 "1x56xb4k1d9g88a1d9rlcvy97mmj39rib6c3wfzpff04vjs2li2p"))))
     (propagated-inputs
      (list cairomm-1.14 glibmm-2.64 pango))))
 
@@ -1970,7 +1937,7 @@ printing and other features typical of a source code editor.")
 (define-public python-pycairo
   (package
     (name "python-pycairo")
-    (version "1.20.0")
+    (version "1.21.0")
     (source
      (origin
       (method url-fetch)
@@ -1978,7 +1945,7 @@ printing and other features typical of a source code editor.")
                           version "/pycairo-" version ".tar.gz"))
       (sha256
        (base32
-        "1326aa2ybhhhrvz3n4p22z5sic25m016ddb5yq0hvbprnw6a35an"))))
+        "0jxpyibpjadw8ah1mqbhvryr795myiznb1ikm8wgjbamibqhf695"))))
     (build-system python-build-system)
     (native-inputs
      (list pkg-config python-pytest))
@@ -1988,6 +1955,8 @@ printing and other features typical of a source code editor.")
     (synopsis "Python bindings for cairo")
     (description
      "Pycairo is a set of Python bindings for the Cairo graphics library.")
+    (properties
+     '((upstream-name . "pycairo")))
     (license license:lgpl3+)))
 
 ;; Pycairo no longer supports Python 2 since version 1.19.0, so we stick