diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-12-12 01:01:13 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-12-13 00:40:57 +0100 |
commit | b810a85019ab3c4ee1f889d0751b8eb06157dadc (patch) | |
tree | b31fdd2076b34cf6f6f0a89112aa3d84ceedcbc2 /gnu/packages/commencement.scm | |
parent | 1d0ceb4775ec045af24253e232c0f8475324500a (diff) | |
download | guix-b810a85019ab3c4ee1f889d0751b8eb06157dadc.tar guix-b810a85019ab3c4ee1f889d0751b8eb06157dadc.tar.gz |
gnu: Default to GCC 5.
This reinstates and adjusts
commit e3d0fcbf7e55e8cbe8d0a1c5a24d73f341d7243b.
* gnu/packages/patches/gcc-libiberty-printf-decl.patch: New file.
* gnu/packages/gcc.scm (gcc-5)[source]: Use it.
[patches]: Add "gcc-arm-bug-71399.patch".
(gcc): Switch to GCC-5.
* gnu/packages/commencement.scm (libstdc++-boot0): New variable.
(gcc-boot0)[inputs]: Add it.
(gcc-toolchain-4.9): Switch to GCC-4.9.
(gcc-toolchain-5): Switch to GCC-FINAL.
* gnu/local.mk (dist_patch_DATA): Add 'gcc-libiberty-printf-decl.patch'.
Diffstat (limited to 'gnu/packages/commencement.scm')
-rw-r--r-- | gnu/packages/commencement.scm | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 2431babcad..1238f5cf5b 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -172,6 +172,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) @@ -257,6 +277,9 @@ ("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")) @@ -986,10 +1009,10 @@ 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)) (define-public gcc-toolchain-6 (gcc-toolchain gcc-6)) |