GNU bug report logs - #54261
[PATCH]: Update GTK to 4.6.1.

Previous Next

Package: guix-patches;

Reported by: Zhu Zihao <all_but_last <at> 163.com>

Date: Sat, 5 Mar 2022 15:18:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#54261: closed ([PATCH]: Update GTK to 4.6.1.)
Date: Mon, 04 Apr 2022 20:13:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 04 Apr 2022 22:12:23 +0200
with message-id <87a6d0txp4.fsf <at> gnu.org>
and subject line Re: bug#54261: [PATCH]: Update GTK to 4.6.1.
has caused the debbugs.gnu.org bug report #54261,
regarding [PATCH]: Update GTK to 4.6.1.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
54261: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=54261
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Zhu Zihao <all_but_last <at> 163.com>
To: guix-patches <at> gnu.org
Subject: [PATCH]: Update GTK to 4.6.1.
Date: Sat, 05 Mar 2022 23:00:13 +0800
[Message part 3 (text/plain, inline)]
These patches add pango 1.50.4 and update GTK to 4.6.1.

I've test the celluloid and gnome-todo and they builts
successfully(depends on GTK4).

I also want to update libadwaita to 1.0.2, but it breaks gnome-todo.

[signature.asc (application/pgp-signature, inline)]
[0001-gnu-pango-Add-version-1.50.4.patch (text/x-patch, inline)]
From cdad10dfd07b2007d5b2d76098a4a36ab62ce3ec Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last <at> 163.com>
Date: Sat, 5 Mar 2022 21:36:25 +0800
Subject: [PATCH 1/2] gnu: pango: Add version 1.50.4.

* gnu/packages/gtk.scm(pango-1.50): New variable.
---
 gnu/packages/gtk.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 29302051c1..b9f8bc324f 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -29,6 +29,7 @@
 ;;; Copyright © 2021 Simon Streit <simon <at> netpanic.org>
 ;;; Copyright © 2021 Maxime Devos <maximedevos <at> telenet.be>
 ;;; Copyright © 2021 Wamm K. D. <jaft.r <at> outlook.com>
+;;; Copyright © 2022 Zhu Zihao <all_but_last <at> 163.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -409,6 +410,22 @@ (define-public pango
     (home-page "https://pango.gnome.org/")
     (license license:lgpl2.0+)))
 
+;; TODO: Make this the default package next in release cycle.
+(define-public pango-1.50
+  (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)
-- 
2.34.0

[0002-gnu-gtk-Update-to-4.6.1.patch (text/x-patch, inline)]
From b542dce1f2a7b7eea7a254d1f1a05df26367b5ac Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last <at> 163.com>
Date: Sat, 5 Mar 2022 22:40:46 +0800
Subject: [PATCH 2/2] gnu: gtk: Update to 4.6.1.

* gnu/local.mk (dist_patch_DATA): Remove gtk-introspection-test.patch.
* gnu/packages/patches/gtk-introspection-test.patch: Remove.

* gnu/packages/gtk.scm (gtk): Update to 4.6.1.
[source]: Remove stale patch.
[arguments]<phases>: Add 'patch-rst2man' phase, correct the binary name of
rst2man to 'rst2man.py'
[inputs]: Add libjpeg-turbo, libpng, libtiff.
[native-inputs]: Add python-docutils.
[propagated-inputs]: Use pango-1.50.
---
 gnu/local.mk                                  |  1 -
 gnu/packages/gtk.scm                          | 17 +++++++++-----
 .../patches/gtk-introspection-test.patch      | 22 -------------------
 3 files changed, 12 insertions(+), 28 deletions(-)
 delete mode 100644 gnu/packages/patches/gtk-introspection-test.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index c8026a1ec1..1e0bb0c00c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1244,7 +1244,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch	\
   %D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
   %D%/packages/patches/gtk-doc-respect-xml-catalog.patch	\
-  %D%/packages/patches/gtk-introspection-test.patch		\
   %D%/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch    	\
   %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
   %D%/packages/patches/gtksourceview-2-add-default-directory.patch \
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index b9f8bc324f..11c99fb71b 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1076,7 +1076,7 @@ (define-public gtk+
 (define-public gtk
   (package
     (name "gtk")
-    (version "4.4.1")
+    (version "4.6.1")
     (source
      (origin
        (method url-fetch)
@@ -1084,10 +1084,9 @@ (define-public gtk
                            (version-major+minor version)  "/"
                            name "-" version ".tar.xz"))
        (sha256
-        (base32 "1x6xlc063nqp7cg6py4kq1kpw9pkq49ifk5kki0brc667ncdmahg"))
+        (base32 "0pzcs24j67f90kjcp6apgn6rffynxksjm1m7d3an7kdv3k90hmfq"))
        (patches
-        (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"
-                        "gtk-introspection-test.patch"))))
+        (search-patches "gtk4-respect-GUIX_GTK4_PATH.patch"))))
     (build-system meson-build-system)
     (outputs '("out" "bin" "doc"))
     (arguments
@@ -1117,6 +1116,10 @@ (define-public gtk
          (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
            (assoc-ref glib-or-gtk:%standard-phases
                       'generate-gdk-pixbuf-loaders-cache-file))
+         (add-after 'unpack 'patch-rst2man
+           (lambda _
+             (substitute* "docs/reference/gtk/meson.build"
+               (("find_program\\('rst2man'") "find_program('rst2man.py'"))))
          (add-after 'unpack 'patch
            (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
              ;; Correct DTD resources of docbook.
@@ -1194,6 +1197,7 @@ (define-public gtk
        ("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)
@@ -1216,7 +1220,10 @@ (define-public gtk
            iso-codes
            json-glib
            libcloudproviders ;for cloud-providers support
+           libjpeg-turbo
+           libpng
            librsvg
+           libtiff
            python
            rest
            tracker))          ;for filechooser search support
@@ -1239,7 +1246,7 @@ (define-public gtk
        ("libxkbcommon" ,libxkbcommon)
        ("libxrandr" ,libxrandr)
        ("libxrender" ,libxrender)
-       ("pango" ,pango)
+       ("pango" ,pango-1.50)
        ("vulkan-headers" ,vulkan-headers)
        ("vulkan-loader" ,vulkan-loader) ;for vulkan graphics API support
        ("wayland" ,wayland)             ;for wayland display-backend
diff --git a/gnu/packages/patches/gtk-introspection-test.patch b/gnu/packages/patches/gtk-introspection-test.patch
deleted file mode 100644
index 570ea806a9..0000000000
--- a/gnu/packages/patches/gtk-introspection-test.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-# Extend rather than stomp environment variables.
-# Upstream status: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4268
-diff --git a/testsuite/introspection/meson.build b/testsuite/introspection/meson.build
-index 6202fb7446..b59191eb0f 100644
---- a/testsuite/introspection/meson.build
-+++ b/testsuite/introspection/meson.build
-@@ -1,9 +1,10 @@
-+env = environment()
-+env.prepend('GI_TYPELIB_PATH',
-+    join_paths(project_build_root, 'gtk'),
-+    gi_dep.get_pkgconfig_variable('typelibdir'))
-+env.prepend('LD_PRELOAD', join_paths(project_build_root, 'gtk', 'libgtk-4.so'))
- 
- test('api',
-      find_program('api.py', dirs: meson.current_source_dir()),
-      suite: ['introspection'],
--     env: [
--       'GI_TYPELIB_PATH=@0@/gtk:@1@'.format(project_build_root,
--          gi_dep.get_pkgconfig_variable('typelibdir')),
--       'LD_PRELOAD=@0@/gtk/libgtk-4.so'.format(project_build_root),
--     ])
-+     env: env)
-- 
2.34.0

[Message part 7 (text/plain, inline)]
-- 
Retrieve my PGP public key:

  gpg --recv-keys D47A9C8B2AE3905B563D9135BE42B352A9F6821F

Zihao
[Message part 8 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: Zhu Zihao <all_but_last <at> 163.com>
Cc: Maxime Devos <maximedevos <at> telenet.be>, 54261-done <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: bug#54261: [PATCH]: Update GTK to 4.6.1.
Date: Mon, 04 Apr 2022 22:12:23 +0200
Hi,

Zhu Zihao <all_but_last <at> 163.com> skribis:

[...]

>> Also, I find it surprising that ‘fcitx5-gtk4’ depends on ‘fcitx5-gtk’;
>> is it avoidable?
>
> Because fcitx5-gtk4 use the Glib based D-Bus client. I'd prefer to reuse
> existing one instead of build it again for fcitx5-gtk4.

OK.

>
> BTW, How to remove gtk+ and gtk+-2 in same inputs via modify-inputs?

The (delete "gtk+") clause removes all the inputs whose label is
“gtk+”—both GTK+ 3.x and 2.x in this case.

> Do we need repeat (delete "gtk+") clause in the modify-inputs?

No.

> If we can't handle it without trick, IMO this is a fail of label-less
> style input.

I must say I hadn’t thought about this situation, which is hopefully
quite rare (and questionable, even), but we can deal with it.

> From a9be73a1723810dbcec0c4caa3a9d6669494f6d9 Mon Sep 17 00:00:00 2001
> From: Zhu Zihao <all_but_last <at> 163.com>
> Date: Sat, 5 Mar 2022 21:36:25 +0800
> Subject: [PATCH 1/4] gnu: pango 1.50: Add version 1.50.4.
>
> * gnu/packages/gtk.scm(pango-next): New variable.

[...]

> From 823fb5ae1d0cff0247baf6c4847555648c710e55 Mon Sep 17 00:00:00 2001
> From: Zhu Zihao <all_but_last <at> 163.com>
> Date: Sat, 5 Mar 2022 22:40:46 +0800
> Subject: [PATCH 2/4] gnu: gtk: Update to 4.6.1.
>
> * gnu/local.mk (dist_patch_DATA): Remove gtk-introspection-test.patch.
> * gnu/packages/patches/gtk-introspection-test.patch: Remove.
> * gnu/packages/gtk.scm (gtk): Update to 4.6.1.
> [source]: Remove stale patch.
> [arguments]<phases>: Add 'patch-rst2man' phase, correct the binary name of
> rst2man to 'rst2man.py'
> [inputs]: Add libjpeg-turbo, libpng, libtiff.
> [native-inputs]: Add python-docutils.
> [propagated-inputs]: Use pango-next.
> * gnu/packages/fcitx5.scm (fcitx5-gtk)[arguments]: Disable GTK4 build.
> <configure-flags>: Add "-DENABLE_GTK_IM_MODULE=OFF".
> <phases>: In phase "patch-install-prefix", Remove GTK4 code.
> [inputs]: Remove package gtk.
> [outputs]: Remove output "gtk4".

[...]

> From b4318c10146a72d33dab4d6f9f49846a371a1745 Mon Sep 17 00:00:00 2001
> From: Zhu Zihao <all_but_last <at> 163.com>
> Date: Mon, 21 Mar 2022 09:16:38 +0800
> Subject: [PATCH 3/4] gnu: Add fcitx5-gtk4.
>
> * gnu/packages/fcitx5.scm (fcitx5-gtk4): New variable.

[...]

> From 81ae5b2620d56d24ad1f38bd96d34b22407eb994 Mon Sep 17 00:00:00 2001
> From: Zhu Zihao <all_but_last <at> 163.com>
> Date: Tue, 15 Mar 2022 22:40:27 +0800
> Subject: [PATCH 4/4] gnu: gtkmm: Update to 4.6.1.
>
> * gnu/packages/gtk.scm (gtkmm): Update to 4.6.1.
> [propagated-inputs]: Remove atkmm because it's no longer needed.
> * gnu/packages/gtk.scm (pangomm): Update to 2.50.0.
> [propagated-inputs]: Replace 'pango' with 'pango-next'.

Finally applied, thank you!

Ludo’.


This bug report was last modified 3 years and 105 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.