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/tryton.scm | |
parent | 939e3813d0520d56440009a6efd5444a88555e2f (diff) | |
download | guix-d4ecdc3328d998c787cbdad6d02e1a74d2fc7ac4.tar guix-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/tryton.scm')
-rw-r--r-- | gnu/packages/tryton.scm | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index 0bd5ffcd5b..af8f2f0ab3 100644 --- a/gnu/packages/tryton.scm +++ b/gnu/packages/tryton.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,6 +40,19 @@ #:use-module (guix utils) #:use-module (guix build-system python)) +(define (guix-trytonpath-search-path version) + "Generate a GUIX_TRYTOND_MODULES_PATH search path specification, using +VERSION. + +Do not use PYTHHONPATH not avoid interfering with any different Python package +installed in the same environments. Collecting only paths actually containing +/tryton/modules reduces the number of paths." + (search-path-specification (variable "GUIX_TRYTOND_MODULES_PATH") + (files (list (string-append + "lib/python" + (version-major+minor version) + "/site-packages/trytond/modules"))))) + (define-public trytond (package (name "trytond") @@ -49,7 +63,8 @@ (uri (pypi-uri "trytond" version)) (sha256 (base32 "1jp5cadqpwkcnml8r1hj6aak5kc8an2d5ai62p96x77nn0dp3ny4")) - (patches (search-patches "trytond-add-egg-modules-to-path.patch")))) + (patches (search-patches "trytond-add-egg-modules-to-path.patch" + "trytond-add-guix_trytond_path.patch")))) (build-system python-build-system) (propagated-inputs (list python-dateutil @@ -65,6 +80,8 @@ python-wrapt)) (native-inputs (list python-mock python-pillow)) + (native-search-paths + (list (guix-trytonpath-search-path (package-version python)))) (arguments `(#:phases (modify-phases %standard-phases |