gnu: wrap-python3: Use a bash wrapper for 'python3-config'.

See <http://lists.gnu.org/archive/html/guix-devel/2016-07/msg00008.html>
for details.

* gnu/packages/python.scm (wrap-python3)[arguments]: Use a bash wrapper
instead of a symlink for python3-config.
This commit is contained in:
宋文武 2016-10-16 10:44:29 +08:00
parent 964fc66936
commit 3969ca548c
No known key found for this signature in database
GPG key ID: 26525665AE727D37

View file

@ -52,6 +52,7 @@ (define-module (gnu packages python)
#:use-module (gnu packages adns) #:use-module (gnu packages adns)
#:use-module (gnu packages attr) #:use-module (gnu packages attr)
#:use-module (gnu packages backup) #:use-module (gnu packages backup)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages django) #:use-module (gnu packages django)
@ -379,6 +380,7 @@ (define* (wrap-python3 python
(source #f) (source #f)
(build-system trivial-build-system) (build-system trivial-build-system)
(outputs '("out")) (outputs '("out"))
(inputs `(("bash" ,bash)))
(propagated-inputs `(("python" ,python))) (propagated-inputs `(("python" ,python)))
(arguments (arguments
`(#:modules ((guix build utils)) `(#:modules ((guix build utils))
@ -392,8 +394,20 @@ (define* (wrap-python3 python
(lambda (old new) (lambda (old new)
(symlink (string-append python old) (symlink (string-append python old)
(string-append bin "/" new))) (string-append bin "/" new)))
`("python3" ,"pydoc3" ,"idle3" ,"pip3" ,"python3-config") `("python3" ,"pydoc3" ,"idle3" ,"pip3")
`("python" ,"pydoc" ,"idle" ,"pip" ,"python-config")))))) `("python" ,"pydoc" ,"idle" ,"pip"))
;; python-config outputs search paths based upon its location,
;; use a bash wrapper to avoid changing its outputs.
(let ((bash (string-append (assoc-ref %build-inputs "bash")
"/bin/bash"))
(old (string-append python "python3-config"))
(new (string-append bin "/python-config")))
(with-output-to-file new
(lambda ()
(format #t "#!~a~%" bash)
(format #t "exec \"~a\" \"$@\"~%" old)
(chmod new #o755)
#t)))))))
(synopsis "Wrapper for the Python 3 commands") (synopsis "Wrapper for the Python 3 commands")
(description (description
"This package provides wrappers for the commands of Python@tie{}3.x such "This package provides wrappers for the commands of Python@tie{}3.x such