[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
branch core-updates updated: gnu: Python: Move arm-alignment.patch to a
From: |
guix-commits |
Subject: |
branch core-updates updated: gnu: Python: Move arm-alignment.patch to a native-input + phase. |
Date: |
Thu, 02 Apr 2020 11:13:57 -0400 |
This is an automated email from the git hooks/post-receive script.
mbakke pushed a commit to branch core-updates
in repository guix.
The following commit(s) were added to refs/heads/core-updates by this push:
new 3cff86d gnu: Python: Move arm-alignment.patch to a native-input +
phase.
3cff86d is described below
commit 3cff86db8a510bc2731b9899a6035ebda5225adc
Author: Marius Bakke <address@hidden>
AuthorDate: Thu Apr 2 17:11:17 2020 +0200
gnu: Python: Move arm-alignment.patch to a native-input + phase.
This follows up 67ca82e6ddc9f1c87fa8c033729a1f53b7c2b3ba which was
ineffective
when running 'guix build --system=armhf-linux python' on e.g. x86_64-linux
because the conditional would always return the native system.
* gnu/packages/python.scm (python-3.8)[native-inputs]: Add
"arm-alignment.patch".
[arguments]: Add phase to apply it.
[source](patches): Remove it.
* gnu/packages/commencement.scm (python-boot0): Prevent inheriting the
phase.
---
gnu/packages/commencement.scm | 12 ++++++++++-
gnu/packages/python.scm | 48 ++++++++++++++++++++++++++++---------------
2 files changed, 42 insertions(+), 18 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 4c51fa0..7e969fa 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3182,7 +3182,17 @@ the bootstrap environment."
;; Python package won't interfere with this one.
((#:make-flags _ ''()) ''())
((#:phases phases)
- `(modify-phases ,phases
+ ;; Remove the 'apply-alignment-patch' phase if present to avoid
+ ;; rebuilding this package. TODO: for the next rebuild cycle,
+ ;; consider inlining all the arguments instead of inheriting to
+ ;; make it easier to patch Python without risking a full rebuild.
+ ;; Or better yet, change to 'python-on-guile'.
+ `(modify-phases ,@(list (match phases
+ (('modify-phases original-phases
+ changes ...
+ ('add-after unpack
apply-alignment-patch _))
+ `(modify-phases ,original-phases
,@changes))
+ (_ phases)))
(add-before 'configure 'disable-modules
(lambda _
(substitute* "setup.py"
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index e9a20dc..f0a6193 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -354,22 +354,11 @@ data types.")
(method url-fetch)
(uri (string-append "https://www.python.org/ftp/python/"
version "/Python-" version ".tar.xz"))
- (patches (append
- ;; Disable unaligned accesses in the sha3 module on
ARM as
- ;; it causes a test failure when building 32-bit
Python on a
- ;; 64-bit kernel. See
<https://bugs.python.org/issue36515>.
- ;; TODO: Remove the conditional on the next rebuild
cycle.
- (let ((system (or (%current-target-system)
- (%current-system))))
- (if (any (cute string-prefix? <> system)
- '("arm" "aarch64"))
- (list (search-patch
"python-3-arm-alignment.patch"))
- '()))
- (search-patches
- "python-3-fix-tests.patch"
- "python-3.8-fix-tests.patch"
- "python-3-deterministic-build-info.patch"
- "python-3-search-paths.patch")))
+ (patches (search-patches
+ "python-3-fix-tests.patch"
+ "python-3.8-fix-tests.patch"
+ "python-3-deterministic-build-info.patch"
+ "python-3-search-paths.patch"))
(sha256
(base32
"1ps5v323cp5czfshqjmbsqw7nvrdpcbk06f62jbzaqik4gfffii6"))
@@ -394,6 +383,7 @@ data types.")
" test_socket")))
((#:phases phases)
`(modify-phases ,phases
+
(add-before 'check 'set-TZDIR
(lambda* (#:key inputs native-inputs #:allow-other-keys)
;; test_email requires the Olson time zone database.
@@ -432,9 +422,33 @@ data types.")
,file)))
(find-files out "\\.py$")))
(list '() '("-O") '("-OO")))
- #t)))))))
+ #t)))
+ ;; XXX: Apply patch on ARM platforms only to avoid a full rebuild.
+ ;; Remove this phase in the next rebuild cycle.
+ ,@(let ((system (or (%current-target-system)
+ (%current-system))))
+ (if (any (cute string-prefix? <> system)
+ '("arm" "aarch64"))
+ '((add-after 'unpack 'apply-alignment-patch
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (invoke "patch" "-p1" "--force" "--input"
+ (assoc-ref (or native-inputs inputs)
+ "arm-alignment.patch")))))
+ '()))))))
(native-inputs
`(("tzdata" ,tzdata-for-tests)
+
+ ;; Disable unaligned accesses in the sha3 module on ARM as
+ ;; it causes a test failure when building 32-bit Python on a
+ ;; 64-bit kernel. See <https://bugs.python.org/issue36515>.
+ ;; TODO: make this a regular patch in the next rebuild cycle.
+ ,@(let ((system (or (%current-target-system)
+ (%current-system))))
+ (if (any (cute string-prefix? <> system)
+ '("arm" "aarch64"))
+ `(("arm-alignment.patch" ,(search-patch
"python-3-arm-alignment.patch")))
+ '()))
+
,@(if (%current-target-system)
`(("python3" ,this-package))
'())
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- branch core-updates updated: gnu: Python: Move arm-alignment.patch to a native-input + phase.,
guix-commits <=