diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-04-24 22:41:45 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-04-24 22:51:07 +0200 |
commit | e3d0fcbf7e55e8cbe8d0a1c5a24d73f341d7243b (patch) | |
tree | 1a9171dcc33194c9aa6b2bcdfcf77a78bca06256 /gnu/packages/commencement.scm | |
parent | 868c13c53a9788f8f27e77d8c8f99df14be512ba (diff) | |
download | guix-e3d0fcbf7e55e8cbe8d0a1c5a24d73f341d7243b.tar.gz |
gnu: Default to GCC 5.
* gnu/packages/patches/gcc-libiberty-printf-decl.patch: New file. * gnu/packages/gcc.scm (gcc-5)[source]: Use it. (gcc): Switch to GCC-5. * gnu/packages/commencement.scm (libstdc++-boot0): New variable. (gcc-boot0)[inputs]: Add it. [native-inputs]: Remove. (gcc-toolchain-4.9): Switch to GCC-4.9. (gcc-toolchain-5): Switch to GCC-FINAL. * gnu-system.am (dist_patch_DATA): Add 'gcc-libiberty-printf-decl.patch'.
Diffstat (limited to 'gnu/packages/commencement.scm')
-rw-r--r-- | gnu/packages/commencement.scm | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 0d9133fb9c..463f42537c 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -170,6 +170,26 @@ ,cf))))) (inputs %boot0-inputs)))) +(define libstdc++-boot0 + ;; GCC's libcc1 is always built as a shared library (the top-level + ;; 'Makefile.def' forcefully adds --enable-shared) and thus needs to refer + ;; to libstdc++.so. We cannot build libstdc++-5.3 because it relies on + ;; C++14 features missing in our bootstrap compiler. + (let ((lib (package-with-bootstrap-guile (make-libstdc++ gcc-4.9)))) + (package + (inherit lib) + (name "libstdc++-boot0") + (arguments + `(#:guile ,%bootstrap-guile + #:implicit-inputs? #f + + ;; XXX: libstdc++.so NEEDs ld.so for some reason. + #:validate-runpath? #f + + ,@(package-arguments lib))) + (inputs %boot0-inputs) + (native-inputs '())))) + (define gcc-boot0 (package-with-bootstrap-guile (package (inherit gcc) @@ -255,14 +275,13 @@ ("mpc-source" ,(package-source mpc)) ("binutils-cross" ,binutils-boot0) + ;; The libstdc++ that libcc1 links against. + ("libstdc++" ,libstdc++-boot0) + ;; Call it differently so that the builder can check whether ;; the "libc" input is #f. ("libc-native" ,@(assoc-ref %boot0-inputs "libc")) - ,@(alist-delete "libc" %boot0-inputs))) - - ;; No need for Texinfo at this stage. - (native-inputs (alist-delete "texinfo" - (package-native-inputs gcc)))))) + ,@(alist-delete "libc" %boot0-inputs)))))) (define perl-boot0 (let ((perl (package @@ -882,9 +901,9 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.") (gcc-toolchain gcc-4.8)) (define-public gcc-toolchain-4.9 - (gcc-toolchain gcc-final)) + (gcc-toolchain gcc-4.9)) (define-public gcc-toolchain-5 - (gcc-toolchain gcc-5)) + (gcc-toolchain gcc-final)) ;;; commencement.scm ends here |