[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
39/60: gnu: Add musl-boot.
From: |
guix-commits |
Subject: |
39/60: gnu: Add musl-boot. |
Date: |
Sun, 24 Nov 2024 02:50:15 -0500 (EST) |
efraim pushed a commit to branch wip-riscv-bootstrap
in repository guix.
commit 83aa03db92f2cb45e610039866b10bd4eb829bbd
Author: Ekaitz Zarraga <ekaitz@elenq.tech>
AuthorDate: Wed Oct 9 19:56:03 2024 +0300
gnu: Add musl-boot.
* gnu/packages/commencement.scm (musl-boot): New variable.
Co-authored-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: I2310f164276192099694c0ceb2ebe60938386f59
---
gnu/packages/commencement.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 57647252d2..cb154485f9 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1931,6 +1931,42 @@ ac_cv_c_float_format='IEEE (little-endian)'
(variable "LIBRARY_PATH")
(files '("lib")))))))
+(define musl-boot
+ (package
+ (inherit musl)
+ (name "musl-boot")
+ (native-inputs
+ (modify-inputs (%boot-tcc-musl-inputs)
+ (replace "gcc" gcc-muslboot0)))
+ (inputs '())
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments musl-boot0)
+ ((#:guile _) %bootstrap-guile)
+ ((#:implicit-inputs? _ #f) #f)
+ ((#:make-flags _)
+ #~(list (string-append "SHELL=" #$(this-package-native-input "bash")
+ "/bin/bash")))
+ ((#:configure-flags _ #~'())
+ #~(list (string-append "CONFIG_SHELL="
+ #$(this-package-native-input "bash")
+ "/bin/sh")
+ (string-append "--syslibdir=" #$output "/lib")
+ "CC=gcc"
+ "--enable-gcc-wrapper"))
+ ((#:phases phases #~'%standard-phases)
+ #~(modify-phases #$phases
+ (add-after 'install 'symlink-dynamic-linker
+ ;; This is a hack to work around not being able to hardcode
+ ;; the location of the dynamic linker for musl in gcc without
+ ;; adding musl as an input for gcc.
+ ;; Because honestly it's easier to add support to musl for
+ ;; (glibc-dynamic-linker) support than to adjust other software
+ ;; to use musl's dynamic-linker location.
+ (lambda _
+ (symlink "libc.so"
+ (string-append #$output
#$(glibc-dynamic-linker)))))))))))
+
(define (%boot-mesboot2-inputs)
`(("gcc" ,gcc-mesboot1)
,@(alist-delete "gcc" (%boot-mesboot1-inputs))))
- 43/60: gnu: Add byacc-mesboot., (continued)
- 43/60: gnu: Add byacc-mesboot., guix-commits, 2024/11/24
- 46/60: gnu: Add mawk-mesboot., guix-commits, 2024/11/24
- 49/60: gnu: %boot-mesboot6-inputs: Adjust for riscv64-linux., guix-commits, 2024/11/24
- 48/60: gnu: mesboot-package: Adjust for riscv64-linux builds., guix-commits, 2024/11/24
- 53/60: gnu: file-boot0: Fix building on riscv64-linux., guix-commits, 2024/11/24
- 52/60: gnu: findutils-boot0: Adjust the skipped tests on riscv64-linux., guix-commits, 2024/11/24
- 21/60: gnu: tcc-boot0: Specify the build target., guix-commits, 2024/11/24
- 31/60: gnu: gmp-boot: Update and build package., guix-commits, 2024/11/24
- 32/60: gnu: mpfr-boot: Update and build package., guix-commits, 2024/11/24
- 37/60: gnu: gcc-mesboot: Adjust for changes in gcc-mesboot1., guix-commits, 2024/11/24
- 39/60: gnu: Add musl-boot.,
guix-commits <=
- 56/60: gnu: Add byacc-boot0., guix-commits, 2024/11/24
- 36/60: gnu: gcc-mesboot1: Adjust setting include paths., guix-commits, 2024/11/24
- 41/60: gnu: Add %boot-muslboot2-inputs., guix-commits, 2024/11/24
- 54/60: gnu: %boot0-inputs: Use newly built *-boot0 packages on riscv64-linux., guix-commits, 2024/11/24
- 55/60: gnu: %boot0-inputs: Remove duplicate packages., guix-commits, 2024/11/24
- 58/60: gnu: ed: Update to 1.20.2., guix-commits, 2024/11/24
- 30/60: gnu: Add m4-boot., guix-commits, 2024/11/24
- 33/60: gnu: mpc-boot: Update and build package., guix-commits, 2024/11/24
- 35/60: gnu: gcc-mesboot1: Fix native-search-paths., guix-commits, 2024/11/24
- 40/60: gnu: Add gcc-muslboot., guix-commits, 2024/11/24