gnu: gajim: Update to 1.7.3.
* 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. Add metadata build and install phase. Switch to "python -m unittest" as test method, following upstream recommendation. Generate gdk-pixbuf cache and include result in wrapper. Allows Gajim to run in pure environments. [native-search-paths]: Update. Signed-off-by: Christopher Baines <mail@cbaines.net>
parent
9d7daaf10f
commit
e99e0e0816
|
@ -1127,7 +1127,7 @@ of xmpppy.")
|
||||||
(define-public gajim
|
(define-public gajim
|
||||||
(package
|
(package
|
||||||
(name "gajim")
|
(name "gajim")
|
||||||
(version "1.4.7")
|
(version "1.7.3")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -1136,54 +1136,66 @@ of xmpppy.")
|
||||||
(version-major+minor version)
|
(version-major+minor version)
|
||||||
"/gajim-" version ".tar.gz"))
|
"/gajim-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1ww46qlxr14nq0ka8wsf8qpn5qfi5dvgyksfh9411crl7azhfj0s"))
|
(base32 "066kvkjw3qcdanr3nczy0wgcwihk9jc9zhzfr5bwlqvcyxcv7k5p"))
|
||||||
(patches (search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch"))))
|
(patches (search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:imported-modules
|
(list
|
||||||
(,@%python-build-system-modules
|
#:imported-modules
|
||||||
|
`(,@%python-build-system-modules
|
||||||
(guix build glib-or-gtk-build-system))
|
(guix build glib-or-gtk-build-system))
|
||||||
#:modules
|
#:modules
|
||||||
((guix build python-build-system)
|
'((guix build python-build-system)
|
||||||
((guix build glib-or-gtk-build-system)
|
((guix build glib-or-gtk-build-system)
|
||||||
#:prefix glib-or-gtk:)
|
#:prefix glib-or-gtk:)
|
||||||
(guix build utils))
|
(guix build utils))
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'disable-failing-tests
|
(add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file
|
||||||
(lambda _
|
(assoc-ref glib-or-gtk:%standard-phases
|
||||||
;; XXX Gajim builds fine on some (my) machines but fails elsewhere:
|
'generate-gdk-pixbuf-loaders-cache-file))
|
||||||
;; ModuleNotFoundError: No module named 'gajim.gui.emoji_data'
|
(add-before 'build 'build-metadata
|
||||||
;; https://dev.gajim.org/gajim/gajim/-/issues/11041
|
(lambda _
|
||||||
(delete-file "test/no_gui/test_styling.py")))
|
(invoke "./pep517build/build_metadata.py" "-o" "dist/metadata")))
|
||||||
(replace 'check
|
;; TODO: Change to pyproject-build-system once it supports
|
||||||
(lambda _
|
;; in-tree build backends.
|
||||||
;; Tests require a running X server.
|
(replace 'build
|
||||||
(system "Xvfb :1 +extension GLX &")
|
(lambda _
|
||||||
(setenv "DISPLAY" ":1")
|
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
|
||||||
;; For missing '/etc/machine-id'.
|
(replace 'install
|
||||||
(setenv "DBUS_FATAL_WARNINGS" "0")
|
(lambda _
|
||||||
(invoke "dbus-launch" "python" "./setup.py" "test")))
|
(apply invoke "pip" "--no-cache-dir" "--no-input"
|
||||||
;; Loading gajim_remote require running session bus,
|
"install" "--no-deps" "--prefix" #$output
|
||||||
;; which in-turn requires running elogind for XDG_RUNTIME_DIR;
|
(find-files "dist" "\\.whl$"))))
|
||||||
;; neither of which are possible inside build environment.
|
(add-after 'install 'install-metadata
|
||||||
(delete 'sanity-check)
|
(lambda _
|
||||||
(add-after 'install 'glib-or-gtk-compile-schemas
|
(invoke "./pep517build/install_metadata.py" "dist/metadata"
|
||||||
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
|
(string-append "--prefix=" #$output))))
|
||||||
(add-after 'install 'glib-or-gtk-wrap
|
(replace 'check
|
||||||
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
|
(lambda _
|
||||||
(add-after 'install 'wrap-env
|
;; Tests require a running X server.
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(system "Xvfb :1 +extension GLX &")
|
||||||
(let ((out (assoc-ref outputs "out")))
|
(setenv "DISPLAY" ":1")
|
||||||
(for-each
|
;; For missing '/etc/machine-id'.
|
||||||
(lambda (name)
|
(setenv "DBUS_FATAL_WARNINGS" "0")
|
||||||
(let ((file (string-append out "/bin/" name))
|
(invoke "dbus-launch" "python" "-m" "unittest" "discover" "-s" "test")))
|
||||||
(gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
|
(add-after 'install 'glib-or-gtk-compile-schemas
|
||||||
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
|
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
|
||||||
(wrap-program file
|
(add-after 'install 'glib-or-gtk-wrap
|
||||||
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
|
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
|
||||||
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))
|
(add-after 'install 'wrap-env
|
||||||
'("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
|
(native-search-paths
|
||||||
(list
|
(list
|
||||||
(search-path-specification
|
(search-path-specification
|
||||||
|
@ -1202,7 +1214,7 @@ of xmpppy.")
|
||||||
;; FIXME: Cannot use this expression as it would
|
;; FIXME: Cannot use this expression as it would
|
||||||
;; introduce a circular dependency at the top level.
|
;; introduce a circular dependency at the top level.
|
||||||
;; (version-major+minor (package-version python))
|
;; (version-major+minor (package-version python))
|
||||||
"3.9"
|
"3.10"
|
||||||
"/site-packages"))))))
|
"/site-packages"))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list gettext-minimal
|
(list gettext-minimal
|
||||||
|
@ -1210,6 +1222,7 @@ of xmpppy.")
|
||||||
gobject-introspection
|
gobject-introspection
|
||||||
`(,gtk+ "bin")
|
`(,gtk+ "bin")
|
||||||
python-distutils-extra
|
python-distutils-extra
|
||||||
|
python-pypa-build
|
||||||
python-setuptools
|
python-setuptools
|
||||||
xorg-server-for-tests))
|
xorg-server-for-tests))
|
||||||
(inputs
|
(inputs
|
||||||
|
|
Reference in New Issue