summary refs log tree commit diff
path: root/gnu/packages/gtk.scm
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2022-07-22 01:09:14 +0200
committerMarius Bakke <marius@gnu.org>2022-07-22 01:09:14 +0200
commit9044b086ddca64a62966a83cbf1b82d32dece89e (patch)
tree2c7f910c9100b2f2a752d07fe0ec44be83fb7600 /gnu/packages/gtk.scm
parent5dfc6ab1ab292b87ceea144aa661d0e64c834031 (diff)
parentabea091dbef2d44e6eb46bd2413bdf917e14d095 (diff)
downloadguix-9044b086ddca64a62966a83cbf1b82d32dece89e.tar.gz
Merge branch 'staging' into core-updates
Diffstat (limited to 'gnu/packages/gtk.scm')
-rw-r--r--gnu/packages/gtk.scm191
1 files changed, 130 insertions, 61 deletions
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 81d34a5151..2cd4e77c34 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -279,6 +279,19 @@ output.  Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.")
                                 "See 'COPYING' in the distribution."))
     (home-page "https://www.freedesktop.org/wiki/Software/HarfBuzz/")))
 
+(define-public harfbuzz-4
+  (package
+    (inherit harfbuzz)
+    (version "4.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/harfbuzz/harfbuzz"
+                                  "/releases/download/" version
+                                  "/harfbuzz-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0c5mzwgz43d37h75p4b6cgjg4v24jdd96i7gjpgxirn8qks2i5m4"))))))
+
 (define-public libdatrie
   (package
     (name "libdatrie")
@@ -426,6 +439,29 @@ handling for GTK+-2.x.")
                        (("test-layout\\$\\(EXEEXT\\)") ""))
                      #t)))))))
 
+(define-public pango-1.90
+  (package
+    (inherit pango)
+    (name "pango")
+    (version "1.90.0")
+    (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
+                "1zqif72jxa819bwi4jv2vgac574qas3w37f7qvn8l31rm1jgjf7i"))
+              (modules '((guix build utils)))
+              (snippet
+               #~(begin
+                   (substitute* "pango/pangocairo-font.c"
+                     (("cairo_user_font_face_set_render_color_glyph_func")
+                      "cairo_user_font_face_set_render_glyph_func"))))))
+    (inputs (modify-inputs (package-inputs pango)
+               (prepend harfbuzz-4)))))
+
 (define-public pangox-compat
   (package
     (name "pangox-compat")
@@ -653,6 +689,7 @@ highlighting and other features typical of a source code editor.")
      (list ;; Required by gdk-pixbuf-2.0.pc
            glib
            ;; Required by gdk-pixbuf-xlib-2.0.pc
+           ;; TODO: Remove on core-updates.
            libx11
            ;; Used for testing and required at runtime.
            shared-mime-info))
@@ -687,6 +724,34 @@ scaled, composited, modified, saved, or rendered.")
     (home-page "https://wiki.gnome.org/Projects/GdkPixbuf")
     (license license:lgpl2.1+)))
 
+(define-public gdk-pixbuf-xlib
+  (package
+    (name "gdk-pixbuf-xlib")
+    (version "2.40.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url
+                     "https://gitlab.gnome.org/Archive/gdk-pixbuf-xlib.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1vwnvqxap3r9zw932jwasazy9sxw49j78x2g650xkn70iili90bg"))))
+    (build-system meson-build-system)
+    (arguments
+     '(#:configure-flags '("-Dgtk_doc=true")))
+    (native-inputs (list pkg-config gtk-doc/stable))
+    (inputs (list gdk-pixbuf libx11))
+    (synopsis "Deprecated Xlib integration for GdkPixbuf")
+    (description
+     "GdkPixbuf-Xlib contains the deprecated API for integrating GdkPixbuf with
+Xlib data types.  This library was originally shipped by gdk-pixbuf, and has
+since been moved out of the original repository.  No newly written code should
+ever use this library.")
+    (home-page "https://gitlab.gnome.org/Archive/gdk-pixbuf-xlib")
+    (license license:lgpl2.1+)))
+
 ;;; A minimal variant used to prevent a cycle with Inkscape.
 (define-public at-spi2-core-minimal
   (hidden-package
@@ -1048,7 +1113,7 @@ application suites.")
 (define-public gtk
   (package
     (name "gtk")
-    (version "4.6.1")
+    (version "4.6.6")
     (source
      (origin
        (method url-fetch)
@@ -1056,7 +1121,7 @@ application suites.")
                            (version-major+minor version)  "/"
                            name "-" version ".tar.xz"))
        (sha256
-        (base32 "0pzcs24j67f90kjcp6apgn6rffynxksjm1m7d3an7kdv3k90hmfq"))
+        (base32 "0w5fb4grgmb6nhf2glq2y5xqnc9y4v3lm0s9xnbw5xv96p8y9gvv"))
        (patches
         (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))))
     (build-system meson-build-system)
@@ -1067,10 +1132,10 @@ application suites.")
                   ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:))
        #:configure-flags
        (list
-        "-Dbroadway-backend=true"      ;for broadway display-backend
-        "-Dcloudproviders=enabled"     ;for cloud-providers support
-        "-Dtracker=enabled"            ;for filechooser search support
-        "-Dcolord=enabled"             ;for color printing support
+        "-Dbroadway-backend=true"       ;for broadway display-backend
+        "-Dcloudproviders=enabled"      ;for cloud-providers support
+        "-Dtracker=enabled"             ;for filechooser search support
+        "-Dcolord=enabled"              ;for color printing support
         ,@(if (%current-target-system)
               ;; If true, gtkdoc-scangobj will try to execute a
               ;; cross-compiled binary.
@@ -1108,9 +1173,13 @@ application suites.")
              (substitute* (find-files "testsuite" "meson.build")
                (("[ \t]*'empty-text.node',") "")
                (("[ \t]*'testswitch.node',") "")
-               (("[ \t]*'widgetfactory.node',") ""))
+               (("[ \t]*'widgetfactory.node',") "")
+               ;; The unaligned-offscreen test fails for unknown reasons, also
+               ;; on different distributions (see:
+               ;; https://gitlab.gnome.org/GNOME/gtk/-/issues/4889).
+               (("  'unaligned-offscreen',") ""))
              (substitute* "testsuite/reftests/meson.build"
-               (("[ \t]*'label-wrap-justify.ui',") "")) ))
+               (("[ \t]*'label-wrap-justify.ui',") ""))))
          (add-before 'build 'set-cache
            (lambda _
              (setenv "XDG_CACHE_HOME" (getcwd))))
@@ -1157,72 +1226,72 @@ application suites.")
                 (string-append out "/share/doc")
                 (string-append doc "/share/doc"))))))))
     (native-inputs
-     `(("docbook-xml-4.3" ,docbook-xml-4.3)
-       ("docbook-xsl" ,docbook-xsl)
-       ("gettext-minimal" ,gettext-minimal)
-       ("glib:bin" ,glib "bin")
-       ("gobject-introspection" ,gobject-introspection) ;for building introspection data
-       ("graphene" ,graphene)
-       ("gtk-doc" ,gtk-doc)             ;for building documentation
-       ("intltool" ,intltool)
-       ("libxslt" ,libxslt)             ;for building man-pages
-       ("pkg-config" ,pkg-config)
-       ("python-pygobject" ,python-pygobject)
-       ;; These python modules are required for building documentation.
-       ("python-docutils" ,python-docutils)
-       ("python-jinja2" ,python-jinja2)
-       ("python-markdown" ,python-markdown)
-       ("python-markupsafe" ,python-markupsafe)
-       ("python-pygments" ,python-pygments)
-       ("python-toml" ,python-toml)
-       ("python-typogrify" ,python-typogrify)
-       ("sassc" ,sassc)                 ;for building themes
-       ("tzdata" ,tzdata-for-tests)
-       ("vala" ,vala)
-       ("xorg-server-for-tests" ,xorg-server-for-tests)))
+     (list docbook-xml-4.3
+           docbook-xsl
+           gettext-minimal
+           `(,glib "bin")
+           gobject-introspection        ;for building introspection data
+           graphene
+           gtk-doc                      ;for building documentation
+           intltool
+           libxslt                      ;for building man-pages
+           pkg-config
+           python-pygobject
+           ;; These python modules are required for building documentation.
+           python-docutils
+           python-jinja2
+           python-markdown
+           python-markupsafe
+           python-pygments
+           python-toml
+           python-typogrify
+           sassc                        ;for building themes
+           tzdata-for-tests
+           vala
+           xorg-server-for-tests))
     (inputs
-     (list colord ;for color printing support
-           cups ;for CUPS print-backend
-           ffmpeg ;for ffmpeg media-backend
+     (list colord                       ;for color printing support
+           cups                         ;for CUPS print-backend
+           ffmpeg                       ;for ffmpeg media-backend
            fribidi
-           gstreamer ;for gstreamer media-backend
-           gst-plugins-bad ;provides gstreamer-player
-           gst-plugins-base ;provides gstreamer-gl
+           gstreamer                    ;for gstreamer media-backend
+           gst-plugins-bad              ;provides gstreamer-player
+           gst-plugins-base             ;provides gstreamer-gl
            harfbuzz
            iso-codes
            json-glib
-           libcloudproviders ;for cloud-providers support
+           libcloudproviders            ;for cloud-providers support
            libjpeg-turbo
            libpng
            librsvg
            libtiff
            python
            rest
-           tracker))          ;for filechooser search support
+           tracker))                    ;for filechooser search support
     (propagated-inputs
      ;; Following dependencies are referenced in .pc files.
-     `(("cairo" ,cairo)
-       ("fontconfig" ,fontconfig)
-       ("librsvg" ,librsvg)
-       ("glib" ,glib)
-       ("graphene" ,graphene)
-       ("libepoxy" ,libepoxy)
-       ("libx11" ,libx11)               ;for x11 display-backend
-       ("libxcomposite" ,libxcomposite)
-       ("libxcursor" ,libxcursor)
-       ("libxdamage" ,libxdamage)
-       ("libxext" ,libxext)
-       ("libxfixes" ,libxfixes)
-       ("libxi" ,libxi)
-       ("libxinerama" ,libxinerama)     ;for xinerama support
-       ("libxkbcommon" ,libxkbcommon)
-       ("libxrandr" ,libxrandr)
-       ("libxrender" ,libxrender)
-       ("pango" ,pango)
-       ("vulkan-headers" ,vulkan-headers)
-       ("vulkan-loader" ,vulkan-loader) ;for vulkan graphics API support
-       ("wayland" ,wayland)             ;for wayland display-backend
-       ("wayland-protocols" ,wayland-protocols)))
+     (list cairo
+           fontconfig
+           librsvg
+           glib
+           graphene
+           libepoxy
+           libx11                       ;for x11 display-backend
+           libxcomposite
+           libxcursor
+           libxdamage
+           libxext
+           libxfixes
+           libxi
+           libxinerama                  ;for xinerama support
+           libxkbcommon
+           libxrandr
+           libxrender
+           pango
+           vulkan-headers
+           vulkan-loader                ;for vulkan graphics API support
+           wayland                      ;for wayland display-backend
+           wayland-protocols))
     (native-search-paths
      (list
       (search-path-specification