Message ID | 87k2d9ou6u.fsf_-_@member.fsf.org |
---|---|
State | New |
Headers | show |
On Sun, Oct 16, 2016 at 11:21:13AM +0800, 宋文武 wrote: > >> Hi, python-wrapper has a broken `python3-config', which > >> output cflags to the wrapper instead of the origin python3, > >> leading the build failure of python-pycairo. > > > > So it appears to resolve the CFLAGS it returns relative to its own > > argv[0] or /proc/self/exe, right? > > > > Eventually we should fix this and reinstate this commit, but reverting > > it was the right thing in the short term. > > Here is a fix: > > From b7badcf695fcb245224ffdf51cdb016b45f9a2a5 Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com> > Date: Sun, 16 Oct 2016 10:44:29 +0800 > Subject: [PATCH] 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. I can confirm that python-pycairo builds with this patch applied to core-updates.
Leo Famulari <leo@famulari.name> writes: > On Sun, Oct 16, 2016 at 11:21:13AM +0800, 宋文武 wrote: >> >> Hi, python-wrapper has a broken `python3-config', which >> >> output cflags to the wrapper instead of the origin python3, >> >> leading the build failure of python-pycairo. >> > >> > So it appears to resolve the CFLAGS it returns relative to its own >> > argv[0] or /proc/self/exe, right? >> > >> > Eventually we should fix this and reinstate this commit, but reverting >> > it was the right thing in the short term. >> >> Here is a fix: >> >> From b7badcf695fcb245224ffdf51cdb016b45f9a2a5 Mon Sep 17 00:00:00 2001 >> From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com> >> Date: Sun, 16 Oct 2016 10:44:29 +0800 >> Subject: [PATCH] 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. > > I can confirm that python-pycairo builds with this patch applied to > core-updates. Pushed, thanks for the confirming :-)
From b7badcf695fcb245224ffdf51cdb016b45f9a2a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= <iyzsong@gmail.com> Date: Sun, 16 Oct 2016 10:44:29 +0800 Subject: [PATCH] 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. --- gnu/packages/python.scm | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 02ec731..9aa704b 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -52,6 +52,7 @@ #:use-module (gnu packages adns) #:use-module (gnu packages attr) #:use-module (gnu packages backup) + #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages databases) #:use-module (gnu packages django) @@ -379,6 +380,7 @@ data types.") (source #f) (build-system trivial-build-system) (outputs '("out")) + (inputs `(("bash" ,bash))) (propagated-inputs `(("python" ,python))) (arguments `(#:modules ((guix build utils)) @@ -392,8 +394,20 @@ data types.") (lambda (old new) (symlink (string-append python old) (string-append bin "/" new))) - `("python3" ,"pydoc3" ,"idle3" ,"pip3" ,"python3-config") - `("python" ,"pydoc" ,"idle" ,"pip" ,"python-config")))))) + `("python3" ,"pydoc3" ,"idle3" ,"pip3") + `("python" ,"pydoc" ,"idle" ,"pip")) + ;; python-config outputs search paths based upon its location, + ;; use a bash wrapper to avoid changing its behavior. + (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") (description "This package provides wrappers for the commands of Python@tie{}3.x such -- 2.10.0