diff options
Diffstat (limited to 'gnu/packages/gtk.scm')
| -rw-r--r-- | gnu/packages/gtk.scm | 126 |
1 files changed, 62 insertions, 64 deletions
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index cdb4c839f0..12404b57ba 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -36,7 +36,7 @@ ;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr> ;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023, 2025 Janneke Nieuwenhuizen <janneke@gnu.org> -;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com> +;;; Copyright © 2024, 2025 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2025 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2025 Remco van 't Veer <remco@remworks.net> ;;; @@ -71,6 +71,7 @@ #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) + #:use-module (guix build-system pyproject) #:use-module (guix build-system waf) #:use-module (gnu packages) #:use-module (gnu packages algebra) @@ -284,7 +285,7 @@ output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.") (define-public harfbuzz (package (name "harfbuzz") - (version "8.3.0") + (version "11.4.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/harfbuzz/harfbuzz" @@ -292,7 +293,7 @@ output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.") version ".tar.xz")) (sha256 (base32 - "0izq2lpqxrf1l755nxrxkkiarywkx5j43asznankxplbxgm0358h")))) + "1iaqiwh3b6mwv1ar2mm29fpfygsb1x79wv7mm6ppyn7a8rqz2lqh")))) (build-system meson-build-system) (outputs '("out" "bin")) ;160K, only hb-view depend on cairo @@ -1007,20 +1008,21 @@ application suites.") (define-public gtk+ (package (inherit gtk+-2) - (name "gtk+") - (version "3.24.43") (replacement gtk+/fixed) - (source - (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1izky8dxaxp4bg5nii4n58dgpkw79mvmvbkldf04n0qmhmjg013y")) - (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" - "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) + (name "gtk+") + (version "3.24.49") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/GNOME/gtk") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0flsnh3f0l9v3y2hmnxz1h15nw1l12ixmiwcpiy1ywplrlgq4j00")) + (patches (search-patches + "gtk3-respect-GUIX_GTK3_PATH.patch" + "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) ;; There is no "doc" output, because adding gtk-doc here would introduce a ;; dependency cycle with itself. (outputs '("out" "bin")) @@ -1096,11 +1098,22 @@ application suites.") #~(modify-phases %standard-phases (add-after 'unpack 'disable-failing-tests (lambda _ - ;; These tests fail only in the containerized environment, for - ;; unknown reasons. - (substitute* "testsuite/gtk/meson.build" - ((".*\\['defaultvalue'],.*") "") - ((".*\\['objects-finalize',.*") "")))) + ;; These tests fail only in the containerized environment, for + ;; unknown reasons. + (substitute* "testsuite/gtk/meson.build" + ((".*\\['defaultvalue'],.*") "") + ((".*\\['objects-finalize',.*") "")) + ;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests + ;; fail for unknown reasons (see: + ;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>). + (substitute* "testsuite/reftests/meson.build" + ((" 'flipping-icons.ui',.*") "") + ((" 'gtk-icontheme-sizing.ui',.*") "")) + ;; This test fails just on i686-linux, for unknown reasons. + #$@(if (target-x86-32?) + #~((substitute* "testsuite/reftests/meson.build" + ((" 'linear-gradient.ui',.*") ""))) + #~()))) (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file (assoc-ref glib-or-gtk:%standard-phases 'generate-gdk-pixbuf-loaders-cache-file)) @@ -1128,36 +1141,21 @@ application suites.") (files '("lib/gtk-3.0"))))))) (define-public gtk+/fixed - (package - (inherit gtk+) - (name "gtk+") - (version "3.24.49") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.gnome.org/GNOME/gtk") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0flsnh3f0l9v3y2hmnxz1h15nw1l12ixmiwcpiy1ywplrlgq4j00")))) - (arguments - (substitute-keyword-arguments (package-arguments gtk+) - ((#:phases phases) - #~(modify-phases #$phases - (replace 'disable-failing-tests - (lambda _ - ;; These tests fail only in the containerized environment, for - ;; unknown reasons. - (substitute* "testsuite/gtk/meson.build" - ((".*\\['defaultvalue'],.*") "") - ((".*\\['objects-finalize',.*") "")) - ;; The 'flipping-icons.ui' and 'gtk-icontheme-sizing.ui' tests - ;; fail for unknown reasons (see: - ;; <https://gitlab.gnome.org/GNOME/gtk/-/issues/7679>). - (substitute* "testsuite/reftests/meson.build" - ((" 'flipping-icons.ui',.*") "") - ((" 'gtk-icontheme-sizing.ui',.*") "")))))))))) + (let* ((base gtk+) + (source (package-source base))) + (package + (inherit base) + (version "3.24.51") + (source + (origin + (inherit source) + (uri (git-reference + (inherit (origin-uri source)) + (commit version))) + (file-name (git-file-name (package-name base) version)) + (sha256 + (base32 + "07vw0rani9d65px36fzzj7sprv5r48shyjdgzipkihzqaldd98yh"))))))) (define-public gtk (package @@ -1370,7 +1368,7 @@ application suites.") pkg-config python-pygobject ;; These python modules are required for building documentation. - python-docutils + python-docutils-0.19 python-jinja2 python-markdown python-markupsafe @@ -2112,18 +2110,19 @@ printing and other features typical of a source code editor.") (define-public python-pycairo (package (name "python-pycairo") - (version "1.26.0") + (version "1.28.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/pygobject/pycairo/releases/download/v" - version "/pycairo-" version ".tar.gz")) - (sha256 - (base32 - "1sybz43sj4ynjahlkidrcdpdrq8yi1avkndc2hgb5pgvfjld1p9d")))) - (build-system python-build-system) + (method git-fetch) + (uri (git-reference + (url "https://github.com/pygobject/pycairo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0k0mm3kx0rsz07v7a4ijrgjnxigr9in1zcsij8nlg8aszxi7a09q")))) + (build-system meson-build-system) (native-inputs - (list pkg-config python-pytest)) + (list pkg-config python python-pytest python-setuptools)) (propagated-inputs ;pycairo.pc references cairo (list cairo)) (home-page "https://cairographics.org/pycairo/") @@ -2134,8 +2133,6 @@ printing and other features typical of a source code editor.") '((upstream-name . "pycairo"))) (license license:lgpl3+))) -;; Pycairo no longer supports Python 2 since version 1.19.0, so we stick - (define-public perl-cairo (package (name "perl-cairo") @@ -2367,7 +2364,8 @@ information.") (base32 "0746lwxgybc5ss3hzdd0crjjghk0ck0x9jbmz73iig405arp42xj")) (patches - (search-patches "gtk-doc-respect-xml-catalog.patch")))) + (search-patches "gtk-doc-respect-xml-catalog.patch" + "gtk-doc-mkhtml-test-fix.patch")))) (build-system meson-build-system) (arguments (list |
