gnu: gajim: Honour $GAJIM_PLUGIN_PATH.

This allows Gajim to find plug-ins installed with Guix.
Reported at <http://issues.guix.gnu.org/44730>.

However, at the time of pushing both packaged plug-ins (gajim-omemo and
gajim-openpgp) require an unstable version of Gajim and will not load.

* gnu/packages/messaging.scm (gajim)[arguments]: Replace the
‘add-plugin-dirs’ substitution phase with a...
[source]: ...patch that won't silently break in the future.
* gnu/packages/patches/gajim-honour-GAJIM_PLUGIN_PATH.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
This commit is contained in:
Tobias Geerinckx-Rice 2020-11-19 15:20:14 +01:00
parent aa954ec366
commit c18803f28d
No known key found for this signature in database
GPG Key ID: 0DB0FF884F556D79
3 changed files with 14 additions and 11 deletions

View File

@ -990,6 +990,7 @@ dist_patch_DATA = \
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
%D%/packages/patches/freeimage-unbundle.patch \
%D%/packages/patches/fuse-overlapping-headers.patch \
%D%/packages/patches/gajim-honour-GAJIM_PLUGIN_PATH.patch \
%D%/packages/patches/ganeti-deterministic-manual.patch \
%D%/packages/patches/ganeti-disable-version-symlinks.patch \
%D%/packages/patches/ganeti-drbd-compat.patch \

View File

@ -743,7 +743,8 @@ of xmpppy.")
(version-major+minor version)
"/gajim-" version ".tar.gz"))
(sha256
(base32 "1gfcp3b5nq43xxz5my8vfhfxnnli726j3hzcgwh9fzrzzd9ic3gx"))))
(base32 "1gfcp3b5nq43xxz5my8vfhfxnnli726j3hzcgwh9fzrzzd9ic3gx"))
(patches (search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch"))))
(build-system python-build-system)
(arguments
`(#:imported-modules
@ -756,16 +757,6 @@ of xmpppy.")
(guix build utils))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'add-plugin-dirs
(lambda _
(substitute* "gajim/common/configpaths.py"
(("_paths\\['PLUGINS_USER'\\]\\]")
"_paths['PLUGINS_USER']] + \
([os.getenv('GAJIM_PLUGIN_PATH')] \
if os.getenv('GAJIM_PLUGIN_PATH') \
and Path(os.getenv('GAJIM_PLUGIN_PATH')).is_dir() \
else [])"))
#t))
(replace 'check
(lambda _
;; Tests require a running X server.

View File

@ -0,0 +1,11 @@
--- a/gajim/common/configpaths.py 2020-11-19 12:12:02.004414323 +0100
+++ a/gajim/common/configpaths.py 2020-11-19 15:34:52.211476895 +0100
@@ -47,7 +47,7 @@
return [Path(_paths['PLUGINS_BASE']),
Path('/app/plugins')]
return [Path(_paths['PLUGINS_BASE']),
- Path(_paths['PLUGINS_USER'])]
+ Path(_paths['PLUGINS_USER'])] + ([Path(os.getenv('GAJIM_PLUGIN_PATH'))] if os.getenv('GAJIM_PLUGIN_PATH') and Path(os.getenv('GAJIM_PLUGIN_PATH')).is_dir() else [])
def get_paths(type_: PathType) -> Generator[str, None, None]: