diff options
author | Hartmut Goebel <h.goebel@crazy-compilers.com> | 2021-12-02 23:20:22 +0100 |
---|---|---|
committer | Hartmut Goebel <h.goebel@crazy-compilers.com> | 2021-12-18 15:13:57 +0100 |
commit | d4ecdc3328d998c787cbdad6d02e1a74d2fc7ac4 (patch) | |
tree | 45cf2b8be5445b134f7af7c35acb7c2d5225979a /gnu/packages/patches | |
parent | 939e3813d0520d56440009a6efd5444a88555e2f (diff) | |
download | guix-d4ecdc3328d998c787cbdad6d02e1a74d2fc7ac4.tar.gz guix-d4ecdc3328d998c787cbdad6d02e1a74d2fc7ac4.zip |
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')
-rw-r--r-- | gnu/packages/patches/trytond-add-guix_trytond_path.patch | 26 |
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 |