d4ecdc3328
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.
26 lines
832 B
Diff
26 lines
832 B
Diff
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
|