summaryrefslogtreecommitdiff
path: root/gnu/packages/gtk.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gtk.scm')
-rw-r--r--gnu/packages/gtk.scm126
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