summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/trytond-add-guix_trytond_path.patch
diff options
context:
space:
mode:
authorHartmut Goebel <h.goebel@crazy-compilers.com>2021-12-02 23:20:22 +0100
committerHartmut Goebel <h.goebel@crazy-compilers.com>2021-12-18 15:13:57 +0100
commitd4ecdc3328d998c787cbdad6d02e1a74d2fc7ac4 (patch)
tree45cf2b8be5445b134f7af7c35acb7c2d5225979a /gnu/packages/patches/trytond-add-guix_trytond_path.patch
parent939e3813d0520d56440009a6efd5444a88555e2f (diff)
downloadguix-patches-d4ecdc3328d998c787cbdad6d02e1a74d2fc7ac4.tar
guix-patches-d4ecdc3328d998c787cbdad6d02e1a74d2fc7ac4.tar.gz
gnu: trytond: Ensure all modules are found.
If the python package matching trytond is not installed alongside to trytond, PYTHONPATH is not set (or pointing to a wrong version) and trytond (and the trytond tools) would not find the trytond modules. This change introduces a new native-search-path GUIX_TRYTOND_MODULES_PATH. Trytond gets patched to honor this environment variable. Thanks to Maxim Cournoyer, whose code for guix-pythonpath-search-path was the template for guix-trytonpath-search-path. * gnu/packages/patches/trytond-add-guix_trytond_path.patch: New file. * gnu/local.mk: (dist_patch_DATA): Add it. * gnu/packages/tryton.scm (trytond): Use it. [native-search-paths]: New element. (guix-trytonpath-search-path): New function.
Diffstat (limited to 'gnu/packages/patches/trytond-add-guix_trytond_path.patch')
-rw-r--r--gnu/packages/patches/trytond-add-guix_trytond_path.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/gnu/packages/patches/trytond-add-guix_trytond_path.patch b/gnu/packages/patches/trytond-add-guix_trytond_path.patch
new file mode 100644
index 0000000000..7dc136ec46
--- /dev/null
+++ b/gnu/packages/patches/trytond-add-guix_trytond_path.patch
@@ -0,0 +1,26 @@
+Make trytond add all paths listed in GUIX_TRYTOND_MODULES_PATH to sys.path.
+
+*** a/trytond/modules/__init__.py 1970-01-01 01:00:01.000000000 +0100
+--- b/trytond/modules/__init__.py 2021-12-02 22:17:28.014612267 +0100
+***************
+*** 31,36 ****
+--- 31,48 ----
+
+ EGG_MODULES = {}
+
++ def __extend_python_path__():
++ tryton_python_path = os.environ.get("GUIX_TRYTOND_MODULES_PATH")
++ if tryton_python_path:
++ paths = [path[:-16] # remove "/trytond/modules"
++ for path in tryton_python_path.split(os.pathsep)]
++ sys.path.extend(paths)
++ # ensure new paths are in the pkg_resources WorkingSet
++ import pkg_resources
++ list(map(pkg_resources.working_set.add_entry, paths))
++
++ __extend_python_path__()
++
+
+ def update_egg_modules():
+ global EGG_MODULES
+l