summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2024-10-09 19:51:37 +0300
committerJanneke Nieuwenhuizen <janneke@gnu.org>2026-01-28 21:47:38 +0100
commit892e2a41dedf09452bc96c57e5e4f0c41260ae45 (patch)
tree733aa4fe56d8c8385c1e6f5a3e23e890e40d9e9c /gnu
parentfae95b3a0275821cbcd18c3cb40204a6f80ffe52 (diff)
gnu: gcc-mesboot: Adjust for changes in gcc-mesboot1.
* gnu/packages/commencement.scm (gcc-mesboot)[inputs]: Replace gmp, mpfr and mpc sources with the ones used later in the bootstrap. Add the no-longer inherited 'unpack-gmp&co phase. Replace the 'set-cplus-include-path phase instead of the 'setenv phase and make the changes less dramatic. Change-Id: I89ec54cae4f48ea5f1b2c894c50a6065a56e5d33
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/commencement.scm42
1 files changed, 29 insertions, 13 deletions
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index b0a827dfe74..8a8cff599ec 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2141,6 +2141,9 @@ exec " gcc "/bin/" program
2141 (native-inputs `(("gcc-wrapper" ,gcc-mesboot1-wrapper) 2141 (native-inputs `(("gcc-wrapper" ,gcc-mesboot1-wrapper)
2142 ("headers" ,glibc-headers-mesboot) 2142 ("headers" ,glibc-headers-mesboot)
2143 ,@(%boot-mesboot4-inputs))) 2143 ,@(%boot-mesboot4-inputs)))
2144 (inputs `(("gmp-source" ,(bootstrap-origin (package-source gmp-6.0)))
2145 ("mpfr-source" ,(bootstrap-origin (package-source mpfr)))
2146 ("mpc-source" ,(bootstrap-origin (package-source mpc)))))
2144 (arguments 2147 (arguments
2145 `(#:validate-runpath? #f 2148 `(#:validate-runpath? #f
2146 ,@(substitute-keyword-arguments (package-arguments gcc-mesboot1) 2149 ,@(substitute-keyword-arguments (package-arguments gcc-mesboot1)
@@ -2188,31 +2191,44 @@ exec " gcc "/bin/" program
2188 (delete 'apply-boot-patch) 2191 (delete 'apply-boot-patch)
2189 (delete 'unpack-g++) ; sadly, gcc-4.9.4 does not provide 2192 (delete 'unpack-g++) ; sadly, gcc-4.9.4 does not provide
2190 ; modular core/language downloads 2193 ; modular core/language downloads
2191 (replace 'setenv 2194 (add-after 'unpack 'unpack-gmp&co
2195 (lambda* (#:key inputs #:allow-other-keys)
2196 (let ((gmp (assoc-ref %build-inputs "gmp-source"))
2197 (mpfr (assoc-ref %build-inputs "mpfr-source"))
2198 (mpc (assoc-ref %build-inputs "mpc-source")))
2199
2200 ;; To reduce the set of pre-built bootstrap inputs, build
2201 ;; GMP & co. from GCC.
2202 (for-each (lambda (source)
2203 (invoke "tar" "xvf" source))
2204 (list gmp mpfr mpc))
2205
2206 ;; Create symlinks like `gmp' -> `gmp-x.y.z'.
2207 #$@(map (lambda (lib)
2208 ;; Drop trailing letters, as gmp-6.0.0a unpacks
2209 ;; into gmp-6.0.0.
2210 #~(symlink #$(string-trim-right
2211 (package-full-name lib "-")
2212 char-set:letter)
2213 #$(package-name lib)))
2214 (list gmp-6.0 mpfr mpc)))))
2215 (replace 'set-cplus-include-path
2192 (lambda* (#:key outputs #:allow-other-keys) 2216 (lambda* (#:key outputs #:allow-other-keys)
2193 (let* ((out (assoc-ref outputs "out")) 2217 (let* ((bash (assoc-ref %build-inputs "bash"))
2194 (binutils (assoc-ref %build-inputs "binutils")) 2218 (gcc (assoc-ref %build-inputs "gcc")))
2195 (bash (assoc-ref %build-inputs "bash"))
2196 (gcc (assoc-ref %build-inputs "gcc"))
2197 (glibc (assoc-ref %build-inputs "libc"))
2198 (kernel-headers (assoc-ref %build-inputs "kernel-headers")))
2199 (setenv "CONFIG_SHELL" (string-append bash "/bin/sh")) 2219 (setenv "CONFIG_SHELL" (string-append bash "/bin/sh"))
2200 (setenv "C_INCLUDE_PATH" (string-append 2220 (setenv "C_INCLUDE_PATH" (string-append
2221 (getenv "C_INCLUDE_PATH") ":"
2201 gcc "/lib/gcc-lib/" 2222 gcc "/lib/gcc-lib/"
2202 #$(commencement-build-target) 2223 #$(commencement-build-target)
2203 "/4.6.4/include" 2224 "/4.6.4/include"
2204 ":" kernel-headers "/include"
2205 ":" glibc "/include"
2206 ":" (getcwd) "/mpfr/src")) 2225 ":" (getcwd) "/mpfr/src"))
2207 (setenv "CPLUS_INCLUDE_PATH" (string-append 2226 (setenv "CPLUS_INCLUDE_PATH" (string-append
2227 (getenv "CPLUS_INCLUDE_PATH") ":"
2208 gcc "/lib/gcc-lib/" 2228 gcc "/lib/gcc-lib/"
2209 #$(commencement-build-target) 2229 #$(commencement-build-target)
2210 "/4.6.4/include" 2230 "/4.6.4/include"
2211 ":" kernel-headers "/include"
2212 ":" glibc "/include"
2213 ":" (getcwd) "/mpfr/src")) 2231 ":" (getcwd) "/mpfr/src"))
2214 (setenv "LIBRARY_PATH" (string-append glibc "/lib"
2215 ":" gcc "/lib"))
2216 (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH")) 2232 (format (current-error-port) "C_INCLUDE_PATH=~a\n" (getenv "C_INCLUDE_PATH"))
2217 (format (current-error-port) "CPLUS_INCLUDE_PATH=~a\n" (getenv "CPLUS_INCLUDE_PATH")) 2233 (format (current-error-port) "CPLUS_INCLUDE_PATH=~a\n" (getenv "CPLUS_INCLUDE_PATH"))
2218 (format (current-error-port) "LIBRARY_PATH=~a\n" 2234 (format (current-error-port) "LIBRARY_PATH=~a\n"