build/python: Add the installation bin directory to PATH.

This also to reduce the need for boilerplate code found in check phase
overrides.

* guix/build/python-build-system.scm (add-install-to-path): New phase.
(%standard-phases): Order it before the check phase.
This commit is contained in:
Maxim Cournoyer 2021-01-22 11:48:42 -05:00
parent 91cf9d17f0
commit 15dcffecf2
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -179,6 +179,12 @@ (define* (add-install-to-pythonpath #:key inputs outputs #:allow-other-keys)
"A phase that just wraps the 'add-installed-pythonpath' procedure."
(add-installed-pythonpath inputs outputs))
(define* (add-install-to-path #:key outputs #:allow-other-keys)
"Adding Python scripts to PATH is also often useful in tests."
(setenv "PATH" (string-append (assoc-ref outputs "out")
"/bin:"
(getenv "PATH"))))
(define* (install #:key inputs outputs (configure-flags '()) use-setuptools?
#:allow-other-keys)
"Install a given Python package."
@ -296,6 +302,7 @@ (define %standard-phases
(add-after 'install 'check check)
(add-after 'install 'wrap wrap)
(add-before 'check 'add-install-to-pythonpath add-install-to-pythonpath)
(add-before 'check 'add-install-to-path add-install-to-path)
(add-before 'strip 'rename-pth-file rename-pth-file)))
(define* (python-build #:key inputs (phases %standard-phases)