all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#28660] [PATCH] gnu: python-numpy: Give sh store location instead of setting $SHELL.
@ 2017-10-01 12:44 Thomas Danckaert
  2017-10-04  6:30 ` Christopher Baines
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Danckaert @ 2017-10-01 12:44 UTC (permalink / raw)
  To: 28660

[-- Attachment #1: Type: Text/Plain, Size: 494 bytes --]

Hi Guix,

I slightly botched the last numpy update: setting $SHELL works, but 
then we have to set $SHELL for every package which uses numpy's 
distutils.  I don't know how many packages there are, but it includes 
scipy and python-hdf (and therefore those builds are currently broken 
on master...).

The attached patch should fix the issue for all packages, by setting 
the default shell to the “/bin/sh” of the build environment's bash 
package (i.e. bash-minimal).

Thomas

[-- Attachment #2: 0001-gnu-python-numpy-Give-sh-store-location-instead-of-s.patch --]
[-- Type: Text/X-Patch, Size: 1842 bytes --]

From cfaebf1b09c71585b5513629005e7cf3c5d17508 Mon Sep 17 00:00:00 2001
From: Thomas Danckaert <thomas.danckaert@gmail.com>
Date: Sun, 1 Oct 2017 14:32:04 +0200
Subject: [PATCH] gnu: python-numpy: Give sh store location instead of setting
 $SHELL.

* gnu/packages/python.scm (python-numpy): [arguments] Don't set $SHELL in the
  environment, but embed the location of bash as a default shell.  Otherwise,
  we have to set $SHELL for every package which uses numpy's distutils.
---
 gnu/packages/python.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index e95c22de1..267715b0f 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -3742,8 +3742,6 @@ between language specification and implementation aspects.")
        (modify-phases %standard-phases
         (add-before 'build 'set-environment-variables
          (lambda* (#:key inputs #:allow-other-keys)
-           ;; numpy's distutils uses $SHELL to run external commands.
-          (setenv "SHELL" "bash")
           (call-with-output-file "site.cfg"
             (lambda (port)
               (format port
@@ -3762,6 +3760,10 @@ include_dirs = ~a/include
                       (assoc-ref inputs "openblas")
                       (assoc-ref inputs "lapack")
                       (assoc-ref inputs "lapack"))))
+          ;; Insert bash store location for default shell /bin/sh.
+          (substitute* "numpy/distutils/exec_command.py"
+            (("(os.environ.get\\('SHELL', ')(/bin/sh'\\))" match match-start match-end)
+            (string-append match-start (assoc-ref inputs "bash") match-end)))
           ;; Use "gcc" executable, not "cc".
           (substitute* "numpy/distutils/system_info.py"
             (("c = distutils\\.ccompiler\\.new_compiler\\(\\)")
-- 
2.14.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-10-04 12:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-01 12:44 [bug#28660] [PATCH] gnu: python-numpy: Give sh store location instead of setting $SHELL Thomas Danckaert
2017-10-04  6:30 ` Christopher Baines
2017-10-04  7:04   ` Thomas Danckaert
2017-10-04  7:49     ` Christopher Baines
2017-10-04 12:12       ` bug#28660: " Thomas Danckaert

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.