build/python-build-system: Fix easy-install.pth collisions.
* guix/build/python-build-system.scm (rename-pth-file): New rename-pth-file phase and corresponding function.
This commit is contained in:
parent
46a3e00b5b
commit
6f8fe4b29e
|
@ -105,9 +105,26 @@
|
||||||
files)))
|
files)))
|
||||||
bindirs)))
|
bindirs)))
|
||||||
|
|
||||||
|
(define* (rename-pth-file #:key name inputs outputs #:allow-other-keys)
|
||||||
|
"Rename easy-install.pth to NAME.pth to avoid conflicts between packages
|
||||||
|
installed with setuptools."
|
||||||
|
(let* ((out (assoc-ref outputs "out"))
|
||||||
|
(python (assoc-ref inputs "python"))
|
||||||
|
(site-packages (string-append out "/lib/python"
|
||||||
|
(get-python-version python)
|
||||||
|
"/site-packages"))
|
||||||
|
(easy-install-pth (string-append site-packages "/easy-install.pth"))
|
||||||
|
(new-pth (string-append site-packages "/" name ".pth")))
|
||||||
|
(when (file-exists? easy-install-pth)
|
||||||
|
(rename-file easy-install-pth new-pth))
|
||||||
|
#t))
|
||||||
|
|
||||||
(define %standard-phases
|
(define %standard-phases
|
||||||
;; 'configure' and 'build' phases are not needed. Everything is done during
|
;; 'configure' and 'build' phases are not needed. Everything is done during
|
||||||
;; 'install'.
|
;; 'install'.
|
||||||
|
(alist-cons-before
|
||||||
|
'strip 'rename-pth-file
|
||||||
|
rename-pth-file
|
||||||
(alist-cons-after
|
(alist-cons-after
|
||||||
'install 'wrap
|
'install 'wrap
|
||||||
wrap
|
wrap
|
||||||
|
@ -117,7 +134,7 @@
|
||||||
'check check
|
'check check
|
||||||
(alist-replace 'install install
|
(alist-replace 'install install
|
||||||
(alist-delete 'configure
|
(alist-delete 'configure
|
||||||
gnu:%standard-phases))))))
|
gnu:%standard-phases)))))))
|
||||||
|
|
||||||
(define* (python-build #:key inputs (phases %standard-phases)
|
(define* (python-build #:key inputs (phases %standard-phases)
|
||||||
#:allow-other-keys #:rest args)
|
#:allow-other-keys #:rest args)
|
||||||
|
|
Loading…
Reference in New Issue