Message ID | 0d461f73e5c687d1c53df55540d3248b38349414.1638538371.git.h.goebel@crazy-compilers.com |
---|---|
State | Accepted |
Headers | show |
Series | [bug#52259,1/3] gnu: python-stdnum: Update to 1.17. | expand |
Context | Check | Description |
---|---|---|
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
Hi, On Fri, 03 Dec 2021 at 14:41, Hartmut Goebel <h.goebel@crazy-compilers.com> wrote: > If the python package matching tryton is not installed alongside to trytond, > PYTHONPATH ist not set (or pointing to a wring version) and trytond (and the ^ typo > 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, who's code for guix-pythonpath-search-path > was the template for guix-trytonpath-search-path. The wording appears to me weird, but I am not native. > * gnu/packages/patches/trytond-add-guix_trytond_path.patch: New file. Without being picky, why underscore? ^ ^ Otherwise, gnu/packages/patches/trytond-add_extend_python_path.patch Well, it does not matter. Cheers, simon
Hi, thanks for the review. I fixed and pushed as d4ecdc3328d998c787cbdad6d02e1a74d2fc7ac4 >> Thanks to Maxim Cournoyer, who's code for guix-pythonpath-search-path >> was the template for guix-trytonpath-search-path. > The wording appears to me weird, but I am not native. "whose" is the correct spelling - anyhow I'm not native, too. >> * gnu/packages/patches/trytond-add-guix_trytond_path.patch: New file. > Without being picky, why underscore? ^ ^ Otherwise, Underscores since this is the name of the functions added. Other patch files do the same, "agg-am_c_prototype.patch" - thus I kept the name.
Hi Hartmut, On Sat, 18 Dec 2021 at 15:21, Hartmut Goebel <h.goebel@crazy-compilers.com> wrote: > thanks for the review. I fixed and pushed as > d4ecdc3328d998c787cbdad6d02e1a74d2fc7ac4 Thanks! > >> * gnu/packages/patches/trytond-add-guix_trytond_path.patch: New file. > > Without being picky, why underscore? ^ ^ Otherwise, > > Underscores since this is the name of the functions added. Other patch > files do the same, "agg-am_c_prototype.patch" - thus I kept the name. In this consistency case, as I suggested, it should be: gnu/packages/patches/trytond-add_extend_python_path.patch Anyway. :-) Cheers, simon
diff --git a/gnu/local.mk b/gnu/local.mk index a8b9bcac21..cac9079325 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1817,6 +1817,7 @@ dist_patch_DATA = \ %D%/packages/patches/transcode-ffmpeg.patch \ %D%/packages/patches/transmission-honor-localedir.patch \ %D%/packages/patches/trytond-add-egg-modules-to-path.patch \ + %D%/packages/patches/trytond-add-guix_trytond_path.patch \ %D%/packages/patches/ttf2eot-cstddef.patch \ %D%/packages/patches/tup-unbundle-dependencies.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \ 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 diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index 212d6593ad..f8cd2b4c9d 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 `(("python-dateutil" ,python-dateutil) @@ -66,6 +81,8 @@ (native-inputs `(("python-mock" ,python-mock) ("python-pillow" ,python-pillow))) + (native-search-paths + (list (guix-trytonpath-search-path (package-version python)))) (arguments `(#:phases (modify-phases %standard-phases