diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index d39f62d41c..02a9a3632c 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -167,7 +167,7 @@ (define gcc-boot0 (package-with-bootstrap-guile - (package (inherit gcc-4.9) + (package (inherit gcc) (name "gcc-cross-boot0") (arguments `(#:guile ,%bootstrap-guile @@ -177,7 +177,7 @@ (ice-9 regex) (srfi srfi-1) (srfi srfi-26)) - ,@(substitute-keyword-arguments (package-arguments gcc-4.9) + ,@(substitute-keyword-arguments (package-arguments gcc) ((#:configure-flags flags) `(append (list ,(string-append "--target=" (boot-triplet)) @@ -240,7 +240,7 @@ (with-directory-excursion (string-append out "/lib/gcc/" ,(boot-triplet) - "/" ,(package-version gcc-4.9)) + "/" ,(package-version gcc)) (symlink "libgcc.a" "libgcc_eh.a")))) ,phases)))))) @@ -256,7 +256,7 @@ ;; No need for Texinfo at this stage. (native-inputs (alist-delete "texinfo" - (package-native-inputs gcc-4.9)))))) + (package-native-inputs gcc)))))) (define perl-boot0 (package-with-bootstrap-guile @@ -352,7 +352,7 @@ (define (cross-gcc-wrapper gcc binutils glibc bash) "Return a wrapper for the pseudo-cross toolchain GCC/BINUTILS/GLIBC that makes it available under the native tool names." - (package (inherit gcc-4.9) + (package (inherit gcc) (name (string-append (package-name gcc) "-wrapped")) (source #f) (build-system trivial-build-system) @@ -520,7 +520,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; (remember that GCC-BOOT0 cannot build libstdc++.) ;; TODO: Write in terms of 'make-libstdc++'. (package-with-bootstrap-guile - (package (inherit gcc-4.9) + (package (inherit gcc) (name "libstdc++") (arguments `(#:guile ,%bootstrap-guile @@ -539,7 +539,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (assoc-ref %outputs "out") "/include" ;; "/include/c++/" - ;; ,(package-version gcc-4.9) + ;; ,(package-version gcc) )))) (outputs '("out")) (inputs %boot2-inputs) @@ -573,7 +573,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.) ,@(substitute-keyword-arguments (package-arguments gcc-boot0) ((#:configure-flags boot-flags) - (let loop ((args (package-arguments gcc-4.9))) + (let loop ((args (package-arguments gcc))) (match args ((#:configure-flags normal-flags _ ...) normal-flags) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 9c27483466..b5e07b81f0 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -36,6 +36,11 @@ cross-libc cross-gcc)) +(define %xgcc + ;; GCC package used as the basis for cross-compilation. It doesn't have to + ;; be 'gcc' and can be a specific variant such as 'gcc-4.8'. + gcc) + (define (cross p target) (package (inherit p) (name (string-append (package-name p) "-cross-" target)) @@ -90,7 +95,7 @@ may be either a libc package or #f.)" ;; ;; for instance. (let ((args `(#:strip-binaries? #f - ,@(package-arguments gcc-4.9)))) + ,@(package-arguments %xgcc)))) (substitute-keyword-arguments args ((#:configure-flags flags) `(append (list ,(string-append "--target=" target) @@ -199,14 +204,14 @@ may be either a libc package or #f.)" "Return a cross-compiler for TARGET, where TARGET is a GNU triplet. Use XBINUTILS as the associated cross-Binutils. If LIBC is false, then build a GCC that does not target a libc; otherwise, target that libc." - (package (inherit gcc-4.9) + (package (inherit %xgcc) (name (string-append "gcc-cross-" (if libc "" "sans-libc-") target)) - (source (origin (inherit (package-source gcc-4.9)) + (source (origin (inherit (package-source %xgcc)) (patches (append - (origin-patches (package-source gcc-4.9)) + (origin-patches (package-source %xgcc)) (cons (search-patch "gcc-cross-environment-variables.patch") (cross-gcc-patches target)))))) @@ -236,7 +241,7 @@ GCC that does not target a libc; otherwise, target that libc." ("libc-native" ,@(assoc-ref %final-inputs "libc")) ;; Remaining inputs. - ,@(let ((inputs (append (package-inputs gcc-4.9) + ,@(let ((inputs (append (package-inputs %xgcc) (alist-delete "libc" %final-inputs)))) (if libc `(("libc" ,libc) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 47710e69fc..897eab3024 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -96,7 +96,7 @@ tools as well as libraries with equivalent functionality.") (native-inputs (package-native-inputs llvm)) (inputs `(("libxml2" ,libxml2) - ("gcc-lib" ,gcc-4.9 "lib") + ("gcc-lib" ,gcc "lib") ,@(package-inputs llvm))) (propagated-inputs `(("llvm" ,llvm))) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 2a7c4bd6f2..e140582a4a 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -103,11 +103,11 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ("cross-binutils" ,(cross-binutils target)) ,@%final-inputs)) `(("libc" ,(glibc-for-bootstrap)) - ("gcc" ,(package (inherit gcc-4.9) + ("gcc" ,(package (inherit gcc) (outputs '("out")) ; all in one so libgcc_s is easily found (inputs `(("libc",(glibc-for-bootstrap)) - ,@(package-inputs gcc-4.9))))) + ,@(package-inputs gcc))))) ,@(fold alist-delete %final-inputs '("libc" "gcc"))))) (package-with-explicit-inputs p inputs @@ -389,7 +389,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (define %gcc-static ;; A statically-linked GCC, with stripped-down functionality. (package-with-relocatable-glibc - (package (inherit gcc-4.9) + (package (inherit gcc) (name "gcc-static") (outputs '("out")) ; all in one (arguments @@ -398,7 +398,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (srfi srfi-1) (srfi srfi-26) (ice-9 regex)) - ,@(substitute-keyword-arguments (package-arguments gcc-4.9) + ,@(substitute-keyword-arguments (package-arguments gcc) ((#:guile _) #f) ((#:implicit-inputs? _) #t) ((#:configure-flags flags) @@ -453,12 +453,12 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ("gmp-native" ,gmp) ("mpfr-native" ,mpfr) ("mpc-native" ,mpc) - ,@(package-native-inputs gcc-4.9)) - (package-native-inputs gcc-4.9)))))) + ,@(package-native-inputs gcc)) + (package-native-inputs gcc)))))) (define %gcc-stripped ;; The subset of GCC files needed for bootstrap. - (package (inherit gcc-4.9) + (package (inherit gcc) (name "gcc-stripped") (build-system trivial-build-system) (source #f)