diff mbox series

[bug#73127,gnome-team,v2] gnu: glib: Update to 2.80.5.

Message ID e109399d65161022198c923330aff313dc079977.1726247742.git.liliana.prikler@gmail.com
State New
Headers show
Series [bug#73127,gnome-team,v2] gnu: glib: Update to 2.80.5. | expand

Commit Message

Liliana Marie Prikler Sept. 8, 2024, 8:44 p.m. UTC
* gnu/packages/glib.scm (glib): Update to 2.80.5.
[#:phases]: Add ‘wrap-python’.
[inputs]: Add python-packaging-bootstrap.
---

v2 fixes builds in dependent packages, but may come at the cost of making
glib no longer cross-compilable (note: I don't know whether it can be
cross-built currently, and would like some pointers on how to achieve
this for a potential v3).  qtbase still fails --- bug report incoming.

 gnu/packages/glib.scm | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)


base-commit: bf0af917fe6127d79251c7c0f3e3d33e1e8b1403

Comments

Maxim Cournoyer Sept. 14, 2024, 1:20 p.m. UTC | #1
Hi Liliana,

Liliana Marie Prikler <liliana.prikler@gmail.com> writes:

> * gnu/packages/glib.scm (glib): Update to 2.80.5.
> [#:phases]: Add ‘wrap-python’.
> [inputs]: Add python-packaging-bootstrap.
> ---
>
> v2 fixes builds in dependent packages, but may come at the cost of making
> glib no longer cross-compilable (note: I don't know whether it can be
> cross-built currently, and would like some pointers on how to achieve
> this for a potential v3).  qtbase still fails --- bug report incoming.

I wouldn't worry too much about making it non cross-compilable by adding
a Python input; I had a patch making it possible to cross-compile python
packages on old core-updates, I should revisit it.

The rest looks fine to me.
diff mbox series

Patch

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index d6275ea63e..72bcbdcc61 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -73,6 +73,7 @@  (define-module (gnu packages glib)
   #:use-module (gnu packages popt)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-build)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages sqlite)
   #:use-module (gnu packages web)
@@ -243,7 +244,7 @@  (define-public dbus-verbose
 (define glib
   (package
     (name "glib")
-    (version "2.78.0")
+    (version "2.80.5")
     (source
      (origin
        (method url-fetch)
@@ -252,7 +253,7 @@  (define glib
                        name "/" (string-take version 4) "/"
                        name "-" version ".tar.xz"))
        (sha256
-        (base32 "0c3vagxl77wma85qinbj974jvw96n5bvch2m7hqcwxq8fa5spsj4"))
+        (base32 "0wb77rnfcfmz368dg7b8d4waif8qddidcdvyvszmns9wh3gaj8wz"))
        (patches
         (search-patches "glib-appinfo-watch.patch"
                         "glib-skip-failing-test.patch"))
@@ -475,7 +476,12 @@  (define glib
                 (("^bindir=.*")
                  "")
                 (("=\\$\\{bindir\\}/")
-                 "=")))))))
+                 "="))))
+          (add-after 'install 'wrap-python
+            (lambda* (#:key outputs #:allow-other-keys)
+              ;; gdbus-codegen imports packaging.version.
+              (wrap-program (search-input-file outputs "bin/gdbus-codegen")
+                `("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")))))))))
     (native-inputs
      (list dbus
            gettext-minimal
@@ -486,13 +492,17 @@  (define glib
            python-wrapper
            tzdata-for-tests))           ;for tests/gdatetime.c
     (inputs
-     (list ;; "python", "python-wrapper" and "bash-minimal"
+     (list
+      ;; "python", "python-wrapper" and "bash-minimal"
       ;; are for the 'patch-shebangs' phase, to make
       ;; sure the installed scripts end up with a correct shebang
       ;; when cross-compiling.
+      ;; "python-packaging-bootstrap" is needed by 'wrap-python' to
+      ;; ensure gdbus-codegen works as expected.
       bash-minimal
       python
-      python-wrapper))
+      python-wrapper
+      python-packaging-bootstrap))
     (propagated-inputs
      (list libffi            ; in the Requires.private field of gobject-2.0.pc
            pcre2             ; in the Requires.private field of glib-2.0.pc