aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-07-07 16:32:53 +0200
committerMarius Bakke <mbakke@fastmail.com>2019-07-07 16:32:53 +0200
commit4f5fe46388eb70055b6935df053f74b7ccdaf55f (patch)
tree495d8d60609fa1257a7054ccbfdf031e84d87e96
parent0c6de725d814205d94ca3abb3f793c438137998a (diff)
downloadguix-4f5fe46388eb70055b6935df053f74b7ccdaf55f.tar
guix-4f5fe46388eb70055b6935df053f74b7ccdaf55f.tar.gz
gnu: commencement: Fix Python build on non-x86 platforms.
* gnu/packages/commencement.scm (python-boot0)[version, source]: Downgrade to 3.5.7. [arguments]: Remove <#:make-flags>. Add <#:phases>. [native-inputs]: Remove artifical dependency on PKG-CONFIG.
-rw-r--r--gnu/packages/commencement.scm30
1 files changed, 27 insertions, 3 deletions
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index d28296449d..d06aa0a369 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1864,16 +1864,40 @@ the bootstrap environment."
(define python-boot0
(let ((python (package
(inherit python-minimal)
+ ;; We cannot use Python 3.7 and later here, because they require
+ ;; pthreads, which is missing on non-x86 platforms at this stage.
+ ;; Python 3.6 technically supports being built without threading
+ ;; support, but requires additional patches.
+ (version "3.5.7")
+ (source (origin
+ (inherit (package-source python))
+ (uri (string-append "https://www.python.org/ftp/python/"
+ version "/Python-" version ".tar.xz"))
+ (patches '())
+ (sha256
+ (base32
+ "1p67pnp2ca5przx2s45r8m55dcn6f5hsm0l4s1zp7mglkf4r4n18"))))
(inputs
`(("expat" ,expat-sans-tests))) ;remove OpenSSL, zlib, etc.
+ (native-inputs '()) ;and pkg-config
(arguments
(substitute-keyword-arguments (package-arguments
python-minimal)
;; Disable features that cannot be built at this stage.
((#:configure-flags _ ''())
- `(list "--without-ensurepip"))
- ((#:make-flags _ ''())
- `(list "MODDISABLED_NAMES=_ctypes ossaudiodev"))
+ `(list "--without-ensurepip"
+ "--without-threads"))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-before 'configure 'disable-modules
+ (lambda _
+ (substitute* "setup.py"
+ ;; Disable ctypes, since it requires libffi.
+ (("extensions\\.append\\(ctypes\\)") "")
+ ;; Prevent the 'ossaudiodev' extension from being
+ ;; built, since it requires Linux headers.
+ (("'linux', ") ""))
+ #t))))
((#:tests? _ #f) #f))))))
(package-with-bootstrap-guile
(package-with-explicit-inputs python %boot0-inputs