From 313bf502b52cf16e8934493e41e547c7dbdd31e0 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 28 Mar 2020 20:55:03 +0100 Subject: gnu: gcc-static: Make sure #:modules is not overridden by the inherited GCC. This fixes a regression introduced by 56c833ea287f8f6d3c72f8bddc314960c0164d64 and 25bc0f34c6c059394f546f29a203c2cb9b7cdcf6 where #:modules became ineffective. * gnu/packages/make-bootstrap.scm (%gcc-static)[arguments]: Prepend the required modules to those inherited from GCC-5. While at it, do not splice in the inherited arguments. --- gnu/packages/make-bootstrap.scm | 96 ++++++++++++++++++++--------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 7d80e4280b..5716ed3886 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -464,54 +464,54 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (name "gcc-static") (outputs '("out")) ; all in one (arguments - `(#:modules ((guix build utils) - (guix build gnu-build-system) - (srfi srfi-1) - (srfi srfi-26) - (ice-9 regex)) - ,@(substitute-keyword-arguments (package-arguments gcc-5) - ((#:guile _) #f) - ((#:implicit-inputs? _) #t) - ((#:configure-flags flags) - `(append (list - ;; We don't need a full bootstrap here. - "--disable-bootstrap" - - ;; Make sure '-static' is passed where it matters. - "--with-stage1-ldflags=-static" - - ;; GCC 4.8+ requires a C++ compiler and library. - "--enable-languages=c,c++" - - ;; Make sure gcc-nm doesn't require liblto_plugin.so. - "--disable-lto" - - "--disable-shared" - "--disable-plugin" - "--disable-libmudflap" - "--disable-libatomic" - "--disable-libsanitizer" - "--disable-libitm" - "--disable-libgomp" - "--disable-libcilkrts" - "--disable-libvtv" - "--disable-libssp" - "--disable-libquadmath") - (remove (cut string-match "--(.*plugin|enable-languages)" <>) - ,flags))) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'pre-configure 'remove-lgcc_s - (lambda _ - ;; Remove the '-lgcc_s' added to GNU_USER_TARGET_LIB_SPEC in - ;; the 'pre-configure phase of our main gcc package, because - ;; that shared library is not present in this static gcc. See - ;; . - (substitute* (cons "gcc/config/rs6000/sysv4.h" - (find-files "gcc/config" - "^gnu-user.*\\.h$")) - ((" -lgcc_s}}") "}}")) - #t))))))) + (substitute-keyword-arguments (package-arguments gcc-5) + ((#:modules modules %gnu-build-system-modules) + `((srfi srfi-1) + (srfi srfi-26) + (ice-9 regex) + ,@modules)) + ((#:guile _) #f) + ((#:implicit-inputs? _) #t) + ((#:configure-flags flags) + `(append (list + ;; We don't need a full bootstrap here. + "--disable-bootstrap" + + ;; Make sure '-static' is passed where it matters. + "--with-stage1-ldflags=-static" + + ;; GCC 4.8+ requires a C++ compiler and library. + "--enable-languages=c,c++" + + ;; Make sure gcc-nm doesn't require liblto_plugin.so. + "--disable-lto" + + "--disable-shared" + "--disable-plugin" + "--disable-libmudflap" + "--disable-libatomic" + "--disable-libsanitizer" + "--disable-libitm" + "--disable-libgomp" + "--disable-libcilkrts" + "--disable-libvtv" + "--disable-libssp" + "--disable-libquadmath") + (remove (cut string-match "--(.*plugin|enable-languages)" <>) + ,flags))) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'pre-configure 'remove-lgcc_s + (lambda _ + ;; Remove the '-lgcc_s' added to GNU_USER_TARGET_LIB_SPEC in + ;; the 'pre-configure phase of our main gcc package, because + ;; that shared library is not present in this static gcc. See + ;; . + (substitute* (cons "gcc/config/rs6000/sysv4.h" + (find-files "gcc/config" + "^gnu-user.*\\.h$")) + ((" -lgcc_s}}") "}}")) + #t)))))) (inputs `(("zlib:static" ,zlib "static") ("isl:static" ,isl-0.18 "static") -- cgit v1.2.3