aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/tryton.scm
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/tryton.scm
parent939e3813d0520d56440009a6efd5444a88555e2f (diff)
downloadguix-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.scm19
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