GNU bug report logs - #63494
[PATCH] gnu: gajim: Update to 1.7.3.

Previous Next

Package: guix-patches;

Reported by: Parnikkapore <poomklao <at> yahoo.com>

Date: Sun, 14 May 2023 07:39:01 UTC

Severity: normal

Tags: patch

Done: "jgart" <jgart <at> dismail.de>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 63494 in the body.
You can then email your comments to 63494 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#63494; Package guix-patches. (Sun, 14 May 2023 07:39:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Parnikkapore <poomklao <at> yahoo.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 14 May 2023 07:39:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Parnikkapore <poomklao <at> yahoo.com>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: gajim: Update to 1.7.3.
Date: Sun, 14 May 2023 15:38:06 +0800
* gnu/packages/messaging.scm (python-nbxmpp): Update to 4.2.2.
  [arguments]: Specify "python -m unittest" as test method,
  [inputs]: Move python dependencies to propagated-inputs.
  [propagated-inputs]: Likewise.
* gnu/packages/messaging.scm (gajim): Update to 1.7.3.
  [arguments]: Switch to "python -m build".
  To use pyproject-build-system, support for backend-path is needed.
  [arguments]: Add metadata build and install phase.
  [arguments]: Switch to "python -m unittest" as test method,
  following upstream recommendation.
  [arguments]: Generate gdk-pixbuf cache and include result in wrapper.
  Allows Gajim to run in pure environments.
  [native-search-paths]: Update.
* gnu/packages/messaging.scm (gajim-omemo): Update to 2.9.0.
* gnu/packages/messaging.scm (gajim-openpgp): Update to 1.5.0.
---

So I spent... probably longer than I should have trying to update Gajim lol; 
this should work post core-updates with 1.7.3, but gajim-git will require a
few changes.

Sorry for consolidating the changes (and for `guix style`-ing python-nbxmpp)!

 gnu/packages/messaging.scm | 127 +++++++++++++++++++++----------------
 1 file changed, 72 insertions(+), 55 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 2fa1c45f98..58fe1a80c6 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -147,6 +147,7 @@ (define-module (gnu packages messaging)
   #: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 qt)
   #:use-module (guix build-system trivial)
   #:use-module (guix download)
@@ -1087,27 +1088,34 @@ (define-public znc
 (define-public python-nbxmpp
   (package
     (name "python-nbxmpp")
-    (version "3.1.0")
-    (source
-     (origin
-       (method url-fetch)
-       (uri
-        (pypi-uri "nbxmpp" version))
-       (sha256
-        (base32 "0c32090gr1fiy7hkn73dcj4ad9gfdpks8hivl1dl8bql01jsfdnj"))))
-    (build-system python-build-system)
-    (native-inputs
-     (list `(,glib "bin")))
-    (inputs
-     (list glib
-           glib-networking
-           libsoup-minimal-2
-           python-gssapi
-           python-idna
-           python-precis-i18n
-           python-pygobject))
+    (version "4.2.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "nbxmpp" version))
+              (sha256
+               (base32
+                "095nyy6vjildhrqigxk6vsh49in6mx17bvb3z5zpjmzhv9b8ix46"))))
+    (build-system pyproject-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  ;; XXX: This probably should be an option for pyproject-build-system
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (invoke "python" "-m" "unittest" "-v")))))))
+    (native-inputs (list `(,glib "bin")))
+    (inputs (list glib
+                  glib-networking
+                  libsoup-minimal))
+    (propagated-inputs (list
+      python-gssapi
+      python-idna
+      python-packaging
+      python-precis-i18n
+      python-pygobject))
     (synopsis "Non-blocking XMPP Module")
-    (description "Python-nbxmpp is a Python library that provides a way for
+    (description
+     "Python-nbxmpp is a Python library that provides a way for
 Python applications to use the XMPP network.  This library was initially a fork
 of xmpppy.")
     (home-page "https://dev.gajim.org/gajim/python-nbxmpp")
@@ -1116,7 +1124,7 @@ (define-public python-nbxmpp
 (define-public gajim
   (package
     (name "gajim")
-    (version "1.4.7")
+    (version "1.7.3")
     (source
      (origin
        (method url-fetch)
@@ -1125,7 +1133,7 @@ (define-public gajim
                        (version-major+minor version)
                        "/gajim-" version ".tar.gz"))
        (sha256
-        (base32 "1ww46qlxr14nq0ka8wsf8qpn5qfi5dvgyksfh9411crl7azhfj0s"))
+        (base32 "066kvkjw3qcdanr3nczy0wgcwihk9jc9zhzfr5bwlqvcyxcv7k5p"))
        (patches (search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch"))))
     (build-system python-build-system)
     (arguments
@@ -1138,13 +1146,27 @@ (define-public gajim
          #:prefix glib-or-gtk:)
         (guix build utils))
        #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'disable-failing-tests
+       ,#~(modify-phases %standard-phases
+         (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
+            (assoc-ref glib-or-gtk:%standard-phases
+                       'generate-gdk-pixbuf-loaders-cache-file))
+         (add-before 'build 'build-metadata
+          (lambda _
+            (invoke "./pep517build/build_metadata.py" "-o" "dist/metadata")))
+         ;; TODO: Change to pyproject-build-system once it supports
+         ;; in-tree build backends.
+         (replace 'build
            (lambda _
-             ;; XXX Gajim builds fine on some (my) machines but fails elsewhere:
-             ;; ModuleNotFoundError: No module named 'gajim.gui.emoji_data'
-             ;; https://dev.gajim.org/gajim/gajim/-/issues/11041
-             (delete-file "test/no_gui/test_styling.py")))
+             (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+         (replace 'install
+            (lambda _
+              (apply invoke "pip" "--no-cache-dir" "--no-input"
+                     "install" "--no-deps" "--prefix" #$output
+                     (find-files "dist" "\\.whl$"))))
+         (add-after 'install 'install-metadata
+          (lambda _
+            (invoke "./pep517build/install_metadata.py" "dist/metadata"
+                    (string-append "--prefix=" #$output))))
          (replace 'check
            (lambda _
              ;; Tests require a running X server.
@@ -1152,35 +1174,30 @@ (define-public gajim
              (setenv "DISPLAY" ":1")
              ;; For missing '/etc/machine-id'.
              (setenv "DBUS_FATAL_WARNINGS" "0")
-             (invoke "dbus-launch" "python" "./setup.py" "test")))
-         ;; Loading gajim_remote require running session bus,
-         ;; which in-turn requires running elogind for XDG_RUNTIME_DIR;
-         ;; neither of which are possible inside build environment.
-         (delete 'sanity-check)
+             (invoke "dbus-launch" "python" "-m" "unittest" "discover" "-s" "test")))
          (add-after 'install 'glib-or-gtk-compile-schemas
            (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
          (add-after 'install 'glib-or-gtk-wrap
            (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
          (add-after 'install 'wrap-env
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (for-each
-                (lambda (name)
-                  (let ((file (string-append out "/bin/" name))
-                        (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
-                        (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
-                    (wrap-program file
-                      `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
-                      `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))
-                '("gajim" "gajim-remote"))))))))
+           (lambda _
+             (for-each
+               (lambda (name)
+                 (let ((file (string-append #$output "/bin/" name))
+                       (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
+                       (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
+                       (pixbuf-module-file (getenv "GDK_PIXBUF_MODULE_FILE")))
+                   (wrap-program file
+                     `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
+                     `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
+                     `("GDK_PIXBUF_MODULE_FILE" = (,pixbuf-module-file)))))
+               '("gajim" "gajim-remote")))))))
     (native-search-paths
      (list
       (search-path-specification
        (variable "GAJIM_PLUGIN_PATH")
-       (separator #f)                   ;single entry
-       (files
-        (list
-         "share/gajim/plugins")))
+       (separator #f) ; single entry
+       (files (list "share/gajim/plugins")))
       ;; Gajim needs to use the propagated inputs of its plugins.
       (search-path-specification
        (variable "GUIX_PYTHONPATH")
@@ -1191,7 +1208,7 @@ (define-public gajim
           ;; FIXME: Cannot use this expression as it would
           ;; introduce a circular dependency at the top level.
           ;; (version-major+minor (package-version python))
-          "3.9"
+          "3.10"
           "/site-packages"))))))
     (native-inputs
      (list gettext-minimal
@@ -1199,6 +1216,7 @@ (define-public gajim
            gobject-introspection
            `(,gtk+ "bin")
            python-distutils-extra
+           python-pypa-build
            python-setuptools
            xorg-server-for-tests))
     (inputs
@@ -1233,8 +1251,7 @@ (define-public gajim
            python-pycairo
            python-pygobject
            python-pyopenssl))
-    (propagated-inputs
-     (list dconf))
+    (propagated-inputs (list dconf))
     (synopsis "Fully-featured XMPP client")
     (description "Gajim aims to be an easy to use and fully-featured XMPP chat
 client.  It is extensible via plugins, supports end-to-end encryption (OMEMO
@@ -1245,7 +1262,7 @@ (define-public gajim
 (define-public gajim-omemo
   (package
     (name "gajim-omemo")
-    (version "2.8.15")
+    (version "2.9.0")
     (source
      (origin
        (method url-fetch/zipbomb)
@@ -1254,7 +1271,7 @@ (define-public gajim-omemo
          "https://ftp.gajim.org/plugins/master/omemo/omemo_"
          version ".zip"))
        (sha256
-        (base32 "1hf148ywr8knk5y3y5xvvwgw74ld1pcfjkp78g514ikcnzfycfcn"))))
+        (base32 "0yy9r9fsrlgdywiln8bskhi8faj9hnz7b19jcap5nkhv8jn9cqq7"))))
     (build-system trivial-build-system)
     (arguments
      `(#:modules ((guix build utils))
@@ -1281,7 +1298,7 @@ (define-public gajim-omemo
 (define-public gajim-openpgp
   (package
     (name "gajim-openpgp")
-    (version "1.4.9")
+    (version "1.5.0")
     (source
      (origin
        (method url-fetch/zipbomb)
@@ -1290,7 +1307,7 @@ (define-public gajim-openpgp
          "https://ftp.gajim.org/plugins/master/openpgp/openpgp_"
          version ".zip"))
        (sha256
-        (base32 "1xwmf6ai1z7z9x6p1ysglxji73r7d27c0gzc8ykab29cjhjyv0dq"))))
+        (base32 "193pbh9iri7bkamvjwp236i8g5zxxiqgsv64kll5sy76vx4q73c4"))))
     (build-system trivial-build-system)
     (arguments
      `(#:modules ((guix build utils))

base-commit: d07342b16612cfdffad6a7b3504b74e0d95d551f
-- 
2.39.2





Reply sent to "jgart" <jgart <at> dismail.de>:
You have taken responsibility. (Fri, 19 May 2023 13:53:03 GMT) Full text and rfc822 format available.

Notification sent to Parnikkapore <poomklao <at> yahoo.com>:
bug acknowledged by developer. (Fri, 19 May 2023 13:53:03 GMT) Full text and rfc822 format available.

Message #10 received at 63494-done <at> debbugs.gnu.org (full text, mbox):

From: "jgart" <jgart <at> dismail.de>
To: 63494-done <at> debbugs.gnu.org, 63418-done <at> debbugs.gnu.org
Cc: control <at> debbugs.gnu.org
Date: Fri, 19 May 2023 13:52:03 +0000
Hi, 62956 resolves this issue. Thanks for working on gajim, nonetheless.

Closing this issue.

all best,

jgart
quit




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 17 Jun 2023 11:24:12 GMT) Full text and rfc822 format available.

This bug report was last modified 311 days ago.

Previous Next


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