diff options
| author | Efraim Flashner <efraim@flashner.co.il> | 2024-10-09 19:51:37 +0300 |
|---|---|---|
| committer | Janneke Nieuwenhuizen <janneke@gnu.org> | 2026-01-28 21:47:38 +0100 |
| commit | 892e2a41dedf09452bc96c57e5e4f0c41260ae45 (patch) | |
| tree | 733aa4fe56d8c8385c1e6f5a3e23e890e40d9e9c /gnu | |
| parent | fae95b3a0275821cbcd18c3cb40204a6f80ffe52 (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.scm | 42 |
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" |
