diff options
author | Marius Bakke <marius@gnu.org> | 2021-07-16 14:31:13 +0200 |
---|---|---|
committer | Marius Bakke <marius@gnu.org> | 2021-07-23 17:26:44 +0200 |
commit | 053677ba3bad3520990cc4a3308ae269c74aee62 (patch) | |
tree | e651bfd773e15855660a2feac91c8371ecfb0b90 | |
parent | b8a1b697b4f144de4e9c256565c4e0b9d475d805 (diff) | |
download | guix-053677ba3bad3520990cc4a3308ae269c74aee62.tar.gz guix-053677ba3bad3520990cc4a3308ae269c74aee62.zip |
gnu: commencement: Decouple python-boot0 from python.
* gnu/packages/commencement.scm (python-boot0)[arguments]: Do not use
SUBSTITUTE-KEYWORD-ARGUMENTS to make it easier to change Python without a full
bootstrap.
-rw-r--r-- | gnu/packages/commencement.scm | 76 |
1 files changed, 33 insertions, 43 deletions
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index a04bb83c3d..bdcde09c88 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2017, 2018, 2019, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> -;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> @@ -3123,48 +3123,38 @@ memoized as a function of '%current-system'." (arguments `(#:implicit-inputs? #f #:guile ,%bootstrap-guile - - ,@(substitute-keyword-arguments (package-arguments python-minimal) - ;; Disable features that cannot be built at this stage. - ((#:configure-flags _ ''()) - `(list "--without-ensurepip" - "--without-threads")) - ;; Clear #:make-flags, such that changes to the regular - ;; Python package won't interfere with this one. - ((#:make-flags _ ''()) ''()) - ((#: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))) - (delete 'remove-windows-binaries) - (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', ") "")))) - (delete 'set-TZDIR) - ,@(if (hurd-system?) - `((add-before 'build 'fix-regen - (lambda* (#:key inputs #:allow-other-keys) - (let ((libc (assoc-ref inputs "libc"))) - (substitute* "Lib/plat-generic/regen" - (("/usr/include/") - (string-append libc "/include/"))))))) - '()) - (replace 'install-sitecustomize.py - ,(customize-site version)))) - ((#:tests? _ #f) #f)))) + ;; Running the tests won't work because we lack several required + ;; modules (OpenSSL, etc). + #:tests? #f + ;; Disable features that cannot be built at this stage. + #:configure-flags '("--without-ensurepip" "--without-threads") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-lib-shells + (lambda _ + (substitute* '("Lib/subprocess.py" + "Lib/distutils/tests/test_spawn.py" + "Lib/test/support/__init__.py" + "Lib/test/test_subprocess.py") + (("/bin/sh") (which "sh"))))) + (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', ") "")))) + ,@(if (hurd-system?) + `((add-before 'build 'fix-regen + (lambda* (#:key inputs #:allow-other-keys) + (let ((libc (assoc-ref inputs "libc"))) + (substitute* "Lib/plat-generic/regen" + (("/usr/include/") + (string-append libc "/include/"))))))) + '()) + (add-after 'install 'install-sitecustomize.py + ,(customize-site version))))) (native-search-paths (list (guix-pythonpath-search-path version))))) |