[PATCH] gnu: gajim: Update to 1.7.3.

  • Done
  • quality assurance status badge
Details
2 participants
  • jgart
  • Parnikkapore
Owner
unassigned
Submitted by
Parnikkapore
Severity
normal
P
P
Parnikkapore wrote on 14 May 2023 09:38
(address . guix-patches@gnu.org)
d70eb283294686b0b06124018790fa8dba3b8bad.1684049726.git.poomklao@yahoo.com
* 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(-)

Toggle diff (237 lines)
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
J
(address . control@debbugs.gnu.org)
6684b351eb6d883a41a9d4c6d3064c36@dismail.de
Hi, 62956 resolves this issue. Thanks for working on gajim, nonetheless.

Closing this issue.

all best,

jgart
quit
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 63494@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 63494
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch