GNU bug report logs - #68550
[PATCH] gnu: packages: Update gajim to 1.8.4.

Previous Next

Package: guix-patches;

Reported by: Lilah Tascheter <lilah <at> lunabee.space>

Date: Wed, 17 Jan 2024 20:47:01 UTC

Severity: normal

Tags: patch

Done: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>

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 68550 in the body.
You can then email your comments to 68550 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 lars <at> 6xq.net, marius <at> gnu.org, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#68550; Package guix-patches. (Wed, 17 Jan 2024 20:47:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Lilah Tascheter <lilah <at> lunabee.space>:
New bug report received and forwarded. Copy sent to lars <at> 6xq.net, marius <at> gnu.org, me <at> bonfacemunyoki.com, sharlatanus <at> gmail.com, jgart <at> dismail.de, guix-patches <at> gnu.org. (Wed, 17 Jan 2024 20:47:01 GMT) Full text and rfc822 format available.

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

From: Lilah Tascheter <lilah <at> lunabee.space>
To: guix-patches <at> gnu.org
Cc: Lilah Tascheter <lilah <at> lunabee.space>
Subject: [PATCH] gnu: packages: Update gajim to 1.8.4.
Date: Wed, 17 Jan 2024 14:46:16 -0600
* gnu/packages/messaging.scm (python-omemo-dr): New variable.
  (python-nbxmpp,gajim): Update.
  (gajim)[build-system,arguments]: Rework to use pyproject-build-system.
  (gajim-omemo): Deprecate, as it's been merged into gajim.
* gnu/packages/protobuf.scm (python-protobuf-4): New variable.

Change-Id: I38cd63f14376bd177a1638fb608843eab805a6c5
---
 gnu/packages/messaging.scm | 262 ++++++++++++++++---------------------
 gnu/packages/protobuf.scm  |  20 +++
 2 files changed, 133 insertions(+), 149 deletions(-)

diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 491901edf3..d4830c68e2 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -151,6 +151,7 @@ (define-module (gnu packages messaging)
   #:use-module (guix build-system pyproject)
   #:use-module (guix build-system qt)
   #:use-module (guix build-system trivial)
+  #:use-module (guix deprecation)
   #:use-module (guix download)
   #:use-module (guix gexp)
   #:use-module (guix git-download)
@@ -1087,16 +1088,34 @@ (define-public znc
 simultaneously and therefore appear under the same nickname on IRC.")
     (license license:asl2.0)))
 
+(define-public python-omemo-dr
+  (package
+    (name "python-omemo-dr")
+    (version "1.0.1")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "omemo-dr" version))
+              (sha256
+                (base32
+                  "0qfk0b153cmc85icnlpfv8mjaqd2spa7hlipvndr8wqx4dvqr2ia"))))
+    (build-system pyproject-build-system)
+    (inputs (list python-cryptography python-protobuf-4))
+    (synopsis "Python OMEMO library")
+    (description "A library to handle the cryptography part of OMEMO (does not
+handle the XMPP protocol). A rewrite of python-axolotl by Gajim devs.")
+    (home-page "https://dev.gajim.org/gajim/omemo-dr")
+    (license license:gpl3)))
+
 (define-public python-nbxmpp
   (package
     (name "python-nbxmpp")
-    (version "4.2.2")
+    (version "4.5.3")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "nbxmpp" version))
        (sha256
-         (base32 "095nyy6vjildhrqigxk6vsh49in6mx17bvb3z5zpjmzhv9b8ix46"))))
+         (base32 "17hbw01sqn22rs9hbsp8zsgaxhv7hkzzgcflzb29p7zcm1nhwqkf"))))
     (build-system pyproject-build-system)
     (arguments
      (list
@@ -1125,110 +1144,69 @@ (define-public python-nbxmpp
 (define-public gajim
   (package
     (name "gajim")
-    (version "1.7.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://gajim.org/downloads/"
-                           (version-major+minor version)
-                           "/gajim-" version ".tar.gz"))
-       (sha256
-         (base32 "066kvkjw3qcdanr3nczy0wgcwihk9jc9zhzfr5bwlqvcyxcv7k5p"))
-       (patches
-         (search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch"))))
-    (build-system python-build-system)
+    (version "1.8.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://gajim.org/downloads/"
+                                  (version-major+minor version)
+                                  "/gajim-" version ".tar.gz"))
+              (sha256
+                (base32 "1ia99vwhrqdi3rqdj2203fq36r94k4sg7kcv4vav60ffn63yvz2q"))
+              (patches
+                (search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch"))))
+    (build-system pyproject-build-system)
     (arguments
-     (list
-      #:imported-modules
-      `(,@%python-build-system-modules
-        (guix build glib-or-gtk-build-system))
-      #:modules
-      '((guix build python-build-system)
-        ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
-        (guix build utils))
-      #:phases
-      #~(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 _
-              (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.
-              (system "Xvfb :1 +extension GLX &")
-              (setenv "DISPLAY" ":1")
-              ;; For missing '/etc/machine-id'.
-              (setenv "DBUS_FATAL_WARNINGS" "0")
-              (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 _
-              (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")))
-      ;; Gajim needs to use the propagated inputs of its plugins.
-      (search-path-specification
-       (variable "GUIX_PYTHONPATH")
-       (files
-        (list
-         (string-append
-          "lib/python"
-          ;; FIXME: Cannot use this expression as it would
-          ;; introduce a circular dependency at the top level.
-          ;; (version-major+minor (package-version python))
-          "3.10"
-          "/site-packages"))))))
-    (native-inputs
-     (list gettext-minimal
-           `(,glib "bin")
-           gobject-introspection
-           `(,gtk+ "bin")
-           python-distutils-extra
-           python-pypa-build
-           python-setuptools
-           xorg-server-for-tests))
-    (inputs
-     (list avahi
-           dbus
-           farstream
+     (list #:build-backend "pep517build.backend"
+           #:configure-flags ''(@) ; in order to convert to a json dict
+           #:imported-modules `((guix build glib-or-gtk-build-system)
+                                ,@%pyproject-build-system-modules)
+           #:modules '((guix build pyproject-build-system)
+                       ((guix build glib-or-gtk-build-system)
+                        #:prefix glib-or-gtk:)
+                       (guix build utils))
+           #:phases
+           (let ((glib-phases #~glib-or-gtk:%standard-phases)
+                 (cache-file #~'generate-gdk-pixbuf-loaders-cache-file)
+                 (compile-schemas #~'glib-or-gtk-compile-schemas)
+                 (wrap #~'glib-or-gtk-wrap))
+             #~(modify-phases %standard-phases
+                 (add-after 'unpack #$cache-file
+                   (assoc-ref #$glib-phases #$cache-file))
+                 (add-before 'build 'build-metadata
+                   (lambda _
+                     (invoke "python" "pep517build/build_metadata.py")))
+
+                 (add-before 'install 'install-metadata
+                   (lambda _
+                     (invoke "python" "pep517build/install_metadata.py"
+                             "--prefix" #$output "dist/metadata")))
+                 (add-after 'install #$compile-schemas
+                   (assoc-ref #$glib-phases #$compile-schemas))
+                 (add-after #$compile-schemas #$wrap
+                   (assoc-ref #$glib-phases #$wrap))
+                 (add-after 'wrap 'wrap-env
+                   (lambda _
+                     (for-each
+                       (lambda (name)
+                         (let ((gi-var "GI_TYPELIB_PATH")
+                               (gst-var "GST_PLUGIN_SYSTEM_PATH")
+                               (gdk-var "GDK_PIXBUF_MODULE_FILE"))
+                           (wrap-program (string-append #$output "/bin/" name)
+                             `(,gi-var ":" prefix (,(getenv gi-var)))
+                             `(,gst-var ":" prefix (,(getenv gst-var)))
+                             `(,gdk-var = (,(getenv gdk-var))))))
+                       '("gajim" "gajim-remote"))))
+
+                 (replace 'check
+                   (lambda _ ; tests require a running X server
+                     (system "Xvfb :1 +extension GLX &")
+                     (setenv "DISPLAY" ":1")
+                     ;; /etc/machine-id doesn't exist in build container
+                     (setenv "DBUS_FATAL_WARNINGS" "0")
+                     (invoke "dbus-launch" "python" "-m" "unittest" "discover"
+                             "-s" "test")))))))
+    (inputs ; gupnp-idg support disabled in gajim due to libsoup incompat
+     (list farstream
            geoclue
            glib
            glib-networking
@@ -1237,29 +1215,49 @@ (define-public gajim
            gspell
            gstreamer
            gst-plugins-base
+           gst-plugins-ugly
            gtk+
            gtksourceview-4
-           gupnp-igd
            libappindicator
-           libnice
            libsecret
-           libsoup
-           libxscrnsaver
+           libsoup-minimal
            network-manager
            python-css-parser
            python-dbus
-           python-gssapi
            python-idna
            python-keyring
            python-nbxmpp
-           python-packaging
+           python-omemo-dr
            python-pillow
            python-precis-i18n
+           python-protobuf-4
            python-pycairo
            python-pygobject
-           python-pyopenssl))
-    (propagated-inputs
-     (list dconf))
+           python-qrcode
+           sqlite))
+    (native-inputs
+     (list dbus
+           gettext-minimal
+           `(,glib "bin")
+           `(,gtk+ "bin")
+           xorg-server-for-tests))
+    (propagated-inputs (list dconf))
+    (search-paths
+      (list (search-path-specification
+              (variable "GAJIM_PLUGIN_PATH")
+              (files '("share/gajim/plugins"))
+              (separator #f)) ; single entry
+            ;; Gajim needs to use the propagated inputs of its plugins.
+            (search-path-specification
+              (variable "GUIX_PYTHONPATH")
+              (files
+                (list (string-append
+                        "/lib/python"
+                        ;; FIXME: Cannot use this expression as it would
+                        ;; introduce a circular dependency at the top level.
+                        ;; (version-major+minor (package-version python))
+                        "3.10"
+                        "/site-packages"))))))
     (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
@@ -1267,41 +1265,7 @@ (define-public gajim
     (home-page "https://gajim.org/")
     (license license:gpl3)))
 
-(define-public gajim-omemo
-  (package
-    (name "gajim-omemo")
-    (version "2.9.0")
-    (source
-     (origin
-       (method url-fetch/zipbomb)
-       (uri
-        (string-append
-         "https://ftp.gajim.org/plugins/master/omemo/omemo_"
-         version ".zip"))
-       (sha256
-        (base32 "0yy9r9fsrlgdywiln8bskhi8faj9hnz7b19jcap5nkhv8jn9cqq7"))))
-    (build-system trivial-build-system)
-    (arguments
-     `(#:modules ((guix build utils))
-       #:builder
-       (begin
-         (use-modules (guix build utils))
-         (let* ((out (assoc-ref %outputs "out"))
-                (share (in-vicinity out "share/gajim/plugins/omemo"))
-                (source (assoc-ref %build-inputs "source")))
-           (mkdir-p share)
-           (copy-recursively source share)
-           #t))))
-    (propagated-inputs
-     (list python-axolotl python-axolotl-curve25519 python-cryptography
-           python-qrcode))
-    (synopsis "Gajim OMEMO plugin")
-    (description "Gajim-OMEMO is a plugin that adds support for the OMEMO
-Encryption to Gajim.  OMEMO is an XMPP Extension Protocol (XEP) for secure
-multi-client end-to-end encryption.")
-    (home-page
-     "https://dev.gajim.org/gajim/gajim-plugins/-/wikis/OmemoGajimPlugin")
-    (license license:gpl3+)))
+(define-deprecated gajim-omemo gajim)
 
 (define-public gajim-openpgp
   (package
diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm
index d47b67fa61..bcd2bdfc98 100644
--- a/gnu/packages/protobuf.scm
+++ b/gnu/packages/protobuf.scm
@@ -514,6 +514,26 @@ (define-public python-protobuf-3.6
     (native-inputs
      (list python-setuptools-for-tensorflow))))
 
+;; for gajim
+(define-public python-protobuf-4
+  (let ((base python-protobuf)) ; cpp impl used by base is deprecated
+    (package
+      (name "python-protobuf")
+      (version "4.25.2")
+      (source (origin
+                (method url-fetch)
+                (uri (pypi-uri "protobuf" version))
+                (sha256
+                  (base32
+                    "0phabz0rb6dqrk79wmhf5hkgf49dj15wsjsjxv4fyixkbhbrwngy"))))
+      (build-system python-build-system)
+      ;; setuptools breaks when testing
+      (arguments '(#:tests? #f))
+      (synopsis (package-synopsis base))
+      (description (package-description base))
+      (home-page (package-home-page base))
+      (license (package-license base)))))
+
 (define-public python-proto-plus
   (package
     (name "python-proto-plus")

base-commit: 21f5d20d68e0359f8111ccb936905649c70db9c1
-- 
2.41.0





Information forwarded to guix-patches <at> gnu.org:
bug#68550; Package guix-patches. (Mon, 11 Mar 2024 00:09:01 GMT) Full text and rfc822 format available.

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

From: Joseph Turner <joseph <at> breatheoutbreathe.in>
To: 68550 <at> debbugs.gnu.org
Subject: [PATCH] gnu: packages: Update gajim to 1.8.4.
Date: Sun, 10 Mar 2024 17:07:02 -0700
Friendly ping!

It would be lovely to have Gajim 1.8.4 available in Guix.

Thank you!!

Joseph




Reply sent to Nicolas Goaziou <mail <at> nicolasgoaziou.fr>:
You have taken responsibility. (Sat, 01 Mar 2025 11:17:02 GMT) Full text and rfc822 format available.

Notification sent to Lilah Tascheter <lilah <at> lunabee.space>:
bug acknowledged by developer. (Sat, 01 Mar 2025 11:17:02 GMT) Full text and rfc822 format available.

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

From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
To: 68550-done <at> debbugs.gnu.org
Subject: Re: [PATCH] gnu: packages: Update gajim to 1.8.4.
Date: Sat, 01 Mar 2025 12:15:45 +0100
Closing as Gajim is currently at a higher version.






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

This bug report was last modified 86 days ago.

Previous Next


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