From 2b2b8ed19a9fff63076a6c7efdb65eeee991b6a5 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Thu, 19 Feb 2026 09:51:50 +0100 Subject: [PATCH] gnu: %boot-mesboot6-inputs: Drop input labels. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/commencement.scm (%boot-mesboot6-inputs): Drop input labels. (%boot0-inputs): Inject former %boot-mesboot6-inputs for incremental progress on input label removal. Avoid propagating some mesboot inputs (namely coreutils-mesboot, sed-mesboot, gawk-mesboot, gnu-make-mesboot, patch-mesboot). In the case of the full-source bootstrap, those mesboot inputs are polluting inputs. IIUC, the logic was that it doesn't really matter because with `(fold alist-delete ...)` would remove all labels directly. However, this is not the case with explicit packages, so migrating here is necessary to avoid injecting bad inputs down the graph. (gnu-make-boot0, bzip2-boot0, coreutils-boot0, diffutils-boot0) (findutils-boot0, file-boot0, gawk-boot0, patch-boot0, sed-boot0) (tar-boot0): Adapt accordingly. * gnu/packages/bootstrap.scm (%bootstrap-inputs): Drop input labels. Signed-off-by: Ludovic Courtès --- gnu/packages/bootstrap.scm | 12 +++--- gnu/packages/commencement.scm | 70 ++++++++++++++++++++--------------- 2 files changed, 46 insertions(+), 36 deletions(-) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index bc09dac26c..1046a76d9b 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -965,14 +965,12 @@ exec ~a/bin/~a -B~a/lib \ ;; own packages. (match (%current-system) ((or "i686-linux" "x86_64-linux") - `(("linux-libre-headers" ,%bootstrap-linux-libre-headers))) + (list %bootstrap-linux-libre-headers)) (_ - `(("libc" ,%bootstrap-glibc) - ("gcc" ,%bootstrap-gcc) - ("binutils" ,%bootstrap-binutils) - ("coreutils&co" ,%bootstrap-coreutils&co) - ;; In gnu-build-system.scm, we rely on the availability of Bash. - ("bash" ,%bootstrap-coreutils&co))))) + (list %bootstrap-glibc + %bootstrap-gcc + %bootstrap-binutils + %bootstrap-coreutils&co)))) (define %bootstrap-inputs-for-tests ;; These are bootstrap inputs that are cheap to produce (no compilation diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 0d4708c6a2..a74340d97b 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1971,21 +1971,18 @@ exec " gcc-bin "/" program #~(cons "--disable-year2038" #$flags))))))) (define (%boot-mesboot6-inputs) - `(("bash" ,bash-mesboot) - ("coreutils" ,coreutils-mesboot) - ("grep" ,grep-mesboot) - ("sed" ,sed-mesboot) - ("tar" ,tar-mesboot) - ("xz" ,xz-mesboot) - ("gcc-wrapper" ,gcc-mesboot-wrapper) - ("gcc" ,gcc-mesboot) - ("libc" ,glibc-mesboot) - ("binutils" ,binutils-mesboot) - ("gawk" ,gawk-mesboot) - ("make" ,gnu-make-mesboot) - ("gzip" ,gzip-mesboot) - ("patch" ,patch-mesboot) - ("guile" ,%bootstrap-guile))) + (cons* bash-mesboot + coreutils-mesboot + grep-mesboot + sed-mesboot + tar-mesboot + xz-mesboot + (fold delete + (%boot-mesboot5-inputs) + (list bootar + gash-boot + gash-utils-boot + %bootstrap-linux-libre-headers)))) (define (%bootstrap-inputs+toolchain) ;; The traditional bootstrap-inputs. For the i686-linux, x86_64-linux @@ -2032,7 +2029,7 @@ exec " gcc-bin "/" program (install-file "make" (string-append #$output "/bin"))))))))) (native-inputs '()) ; no need for 'pkg-config' - (inputs (map cadr (%bootstrap-inputs+toolchain))))) + (inputs (%bootstrap-inputs+toolchain)))) (define bzip2-boot0 (package @@ -2041,7 +2038,7 @@ exec " gcc-bin "/" program (native-inputs `()) (inputs (cons* diffutils-boot0 gnu-make-boot0 - (map cadr (%bootstrap-inputs+toolchain)))) + (%bootstrap-inputs+toolchain))) (arguments `(#:guile ,%bootstrap-guile #:implicit-inputs? #f @@ -2056,7 +2053,7 @@ exec " gcc-bin "/" program (native-inputs `()) (inputs (cons* gnu-make-boot0 - (map cadr (%bootstrap-inputs+toolchain)))) + (%bootstrap-inputs+toolchain))) (arguments `(#:tests? #f #:implicit-inputs? #f @@ -2087,7 +2084,7 @@ exec " gcc-bin "/" program (native-inputs `()) (inputs (cons* gnu-make-boot0 - (map cadr (%bootstrap-inputs+toolchain)))) + (%bootstrap-inputs+toolchain))) (arguments `(#:tests? #f ; the test suite needs diffutils #:guile ,%bootstrap-guile @@ -2102,7 +2099,7 @@ exec " gcc-bin "/" program (inputs (cons* diffutils-boot0 ; for tests. gnu-make-boot0 - (map cadr (%bootstrap-inputs+toolchain)))) + (%bootstrap-inputs+toolchain))) (arguments `(#:implicit-inputs? #f #:guile ,%bootstrap-guile @@ -2156,7 +2153,7 @@ exec " gcc-bin "/" program (source (bootstrap-origin (package-source file))) (name "file-boot0") (inputs - (cons* gnu-make-boot0 (map cadr (%bootstrap-inputs+toolchain)))) + (cons* gnu-make-boot0 (%bootstrap-inputs+toolchain))) (arguments (list #:tests? #f ; merge test fails @@ -2174,7 +2171,7 @@ exec " gcc-bin "/" program (name "gawk-boot0") (native-inputs '()) (inputs - (cons* gnu-make-boot0 (map cadr (%bootstrap-inputs+toolchain)))) + (cons* gnu-make-boot0 (%bootstrap-inputs+toolchain))) (arguments `(#:tests? #f #:implicit-inputs? #f @@ -2189,7 +2186,7 @@ exec " gcc-bin "/" program (name "patch-boot0") (native-inputs '()) (inputs - (cons* gnu-make-boot0 (map cadr (%bootstrap-inputs+toolchain)))) + (cons* gnu-make-boot0 (%bootstrap-inputs+toolchain))) (arguments (list #:tests? #f ; merge test fails @@ -2205,7 +2202,7 @@ exec " gcc-bin "/" program (name "sed-boot0") (source (bootstrap-origin (package-source sed))) (native-inputs '()) - (inputs (cons* gnu-make-boot0 (map cadr (%bootstrap-inputs+toolchain)))) + (inputs (cons* gnu-make-boot0 (%bootstrap-inputs+toolchain))) (arguments (list #:implicit-inputs? #f @@ -2218,7 +2215,7 @@ exec " gcc-bin "/" program (name "tar-boot0") (source (bootstrap-origin (package-source tar))) (native-inputs '()) - (inputs (cons* gnu-make-boot0 (map cadr (%bootstrap-inputs+toolchain)))) + (inputs (cons* gnu-make-boot0 (%bootstrap-inputs+toolchain))) (arguments (append (list #:implicit-inputs? #f @@ -2235,13 +2232,28 @@ exec " gcc-bin "/" program ("gawk" ,gawk-boot0) ("patch" ,patch-boot0) ("sed" ,sed-boot0) - ("tar" ,tar-boot0))) - (_ '())) + ("tar" ,tar-boot0) + ("bash" ,bash-mesboot) + ("grep" ,grep-mesboot) + ("tar" ,tar-mesboot) + ("xz" ,xz-mesboot) + ("gcc-wrapper" ,gcc-mesboot-wrapper) + ("gcc" ,gcc-mesboot) + ("libc" ,glibc-mesboot) + ("binutils" ,binutils-mesboot) + ("gzip" ,gzip-mesboot) + ("guile" ,%bootstrap-guile))) + (_ + `(("libc" ,%bootstrap-glibc) + ("gcc" ,%bootstrap-gcc) + ("binutils" ,%bootstrap-binutils) + ("coreutils&co" ,%bootstrap-coreutils&co) + ;; In gnu-build-system.scm, we rely on the availability of Bash. + ("bash" ,%bootstrap-coreutils&co)))) ("make" ,gnu-make-boot0) ("diffutils" ,diffutils-boot0) ("findutils" ,findutils-boot0) - ("file" ,file-boot0) - ,@(%bootstrap-inputs+toolchain))) + ("file" ,file-boot0))) (define* (boot-triplet #:optional (system (%current-system))) ;; Return the triplet used to create the cross toolchain needed in the