X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/6a0427af6cc3d52c0efc09262e90c1858ae6f40e..ce9383c090fff90acb3a555d0ccfe12d791fef17:/gnu/packages/gcc.scm diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 8207104174..40cc9ed631 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2014, 2015, 2018 Mark H Weaver -;;; Copyright © 2014, 2015, 2016, 2017 Ricardo Wurmus +;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ricardo Wurmus ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2016 Carlos Sánchez de La Lama @@ -139,220 +139,221 @@ where the OS part is overloaded to denote a specific ABI---into GCC (gcc-configure-flags-for-triplet triplet)) (maybe-target-tools)))))) - (package - (name "gcc") - (version "4.7.4") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gcc/gcc-" - version "/gcc-" version ".tar.bz2")) - (sha256 - (base32 - "10k2k71kxgay283ylbbhhs51cl55zn2q38vj5pk4k950qdnirrlj")) - (patches (search-patches "gcc-4-compile-with-gcc-5.patch" - "gcc-fix-texi2pod.patch")))) - (build-system gnu-build-system) - - ;; Separate out the run-time support libraries because all the - ;; dynamic-linked objects depend on it. - (outputs '("out" ;commands, etc. (60+ MiB) - "lib" ;libgcc_s, libgomp, etc. (15+ MiB) - "debug")) ;debug symbols of run-time libraries - - (inputs `(("gmp" ,gmp) - ("mpfr" ,mpfr) - ("mpc" ,mpc) - ("libelf" ,libelf) - ("zlib" ,zlib))) - - ;; GCC < 5 is one of the few packages that doesn't ship .info files. - ;; Newer texinfos fail to build the manual, so we use an older one. - (native-inputs `(("perl" ,perl) ;for manpages - ("texinfo" ,texinfo-5))) - - (arguments - `(#:out-of-source? #t - #:configure-flags ,(configure-flags) - #:make-flags - ;; None of the flags below are needed when doing a Canadian cross. - ;; TODO: Simplify this. - ,(if (%current-target-system) - (if stripped? - ''("CFLAGS=-g0 -O2") - ''()) - `(let* ((libc (assoc-ref %build-inputs "libc")) - (libc-native (or (assoc-ref %build-inputs "libc-native") - libc))) - `(,@(if libc - (list (string-append "LDFLAGS_FOR_TARGET=" - "-B" libc "/lib " - "-Wl,-dynamic-linker " - "-Wl," libc - ,(glibc-dynamic-linker))) - '()) - - ;; Native programs like 'genhooks' also need that right. - ,(string-append "LDFLAGS=" - "-Wl,-rpath=" libc-native "/lib " - "-Wl,-dynamic-linker " - "-Wl," libc-native ,(glibc-dynamic-linker)) - ,(string-append "BOOT_CFLAGS=-O2 " - ,(if stripped? "-g0" "-g"))))) - - #:tests? #f - - #:phases - (modify-phases %standard-phases - (add-before 'configure 'pre-configure - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((libdir ,(libdir)) - (libc (assoc-ref inputs "libc"))) - (when libc - ;; The following is not performed for `--without-headers' - ;; cross-compiler builds. - - ;; Join multi-line definitions of GLIBC_DYNAMIC_LINKER* into a - ;; single line, to allow the next step to work properly. - (for-each - (lambda (x) - (substitute* (find-files "gcc/config" - "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$") - (("(#define (GLIBC|GNU_USER)_DYNAMIC_LINKER.*)\\\\\n$" _ line) - line))) - '(1 2 3)) - - ;; Fix the dynamic linker's file name. + (hidden-package + (package + (name "gcc") + (version "4.7.4") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gcc/gcc-" + version "/gcc-" version ".tar.bz2")) + (sha256 + (base32 + "10k2k71kxgay283ylbbhhs51cl55zn2q38vj5pk4k950qdnirrlj")) + (patches (search-patches "gcc-4-compile-with-gcc-5.patch" + "gcc-fix-texi2pod.patch")))) + (build-system gnu-build-system) + + ;; Separate out the run-time support libraries because all the + ;; dynamic-linked objects depend on it. + (outputs '("out" ;commands, etc. (60+ MiB) + "lib" ;libgcc_s, libgomp, etc. (15+ MiB) + "debug")) ;debug symbols of run-time libraries + + (inputs `(("gmp" ,gmp) + ("mpfr" ,mpfr) + ("mpc" ,mpc) + ("libelf" ,libelf) + ("zlib" ,zlib))) + + ;; GCC < 5 is one of the few packages that doesn't ship .info files. + ;; Newer texinfos fail to build the manual, so we use an older one. + (native-inputs `(("perl" ,perl) ;for manpages + ("texinfo" ,texinfo-5))) + + (arguments + `(#:out-of-source? #t + #:configure-flags ,(configure-flags) + #:make-flags + ;; None of the flags below are needed when doing a Canadian cross. + ;; TODO: Simplify this. + ,(if (%current-target-system) + (if stripped? + ''("CFLAGS=-g0 -O2") + ''()) + `(let* ((libc (assoc-ref %build-inputs "libc")) + (libc-native (or (assoc-ref %build-inputs "libc-native") + libc))) + `(,@(if libc + (list (string-append "LDFLAGS_FOR_TARGET=" + "-B" libc "/lib " + "-Wl,-dynamic-linker " + "-Wl," libc + ,(glibc-dynamic-linker))) + '()) + + ;; Native programs like 'genhooks' also need that right. + ,(string-append "LDFLAGS=" + "-Wl,-rpath=" libc-native "/lib " + "-Wl,-dynamic-linker " + "-Wl," libc-native ,(glibc-dynamic-linker)) + ,(string-append "BOOT_CFLAGS=-O2 " + ,(if stripped? "-g0" "-g"))))) + + #:tests? #f + + #:phases + (modify-phases %standard-phases + (add-before 'configure 'pre-configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((libdir ,(libdir)) + (libc (assoc-ref inputs "libc"))) + (when libc + ;; The following is not performed for `--without-headers' + ;; cross-compiler builds. + + ;; Join multi-line definitions of GLIBC_DYNAMIC_LINKER* into a + ;; single line, to allow the next step to work properly. + (for-each + (lambda (x) (substitute* (find-files "gcc/config" "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$") - (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ \t]*).*$" - _ gnu-user suffix) - (format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%" - gnu-user suffix - (string-append libc ,(glibc-dynamic-linker))))) - - ;; Tell where to find libstdc++, libc, and `?crt*.o', except - ;; `crt{begin,end}.o', which come with GCC. - (substitute* (find-files "gcc/config" - "^gnu-user.*\\.h$") - (("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix) - ;; Help libgcc_s.so be found (see also below.) Always use - ;; '-lgcc_s' so that libgcc_s.so is always found by those - ;; programs that use 'pthread_cancel' (glibc dlopens - ;; libgcc_s.so when pthread_cancel support is needed, but - ;; having it in the application's RUNPATH isn't enough; see - ;; .) - ;; - ;; NOTE: The '-lgcc_s' added below needs to be removed in a - ;; later phase of %gcc-static. If you change the string - ;; below, make sure to update the relevant code in - ;; %gcc-static package as needed. - (format #f "#define GNU_USER_TARGET_LIB_SPEC \ + (("(#define (GLIBC|GNU_USER)_DYNAMIC_LINKER.*)\\\\\n$" _ line) + line))) + '(1 2 3)) + + ;; Fix the dynamic linker's file name. + (substitute* (find-files "gcc/config" + "^(linux|gnu|sysv4)(64|-elf|-eabi)?\\.h$") + (("#define (GLIBC|GNU_USER)_DYNAMIC_LINKER([^ \t]*).*$" + _ gnu-user suffix) + (format #f "#define ~a_DYNAMIC_LINKER~a \"~a\"~%" + gnu-user suffix + (string-append libc ,(glibc-dynamic-linker))))) + + ;; Tell where to find libstdc++, libc, and `?crt*.o', except + ;; `crt{begin,end}.o', which come with GCC. + (substitute* (find-files "gcc/config" + "^gnu-user.*\\.h$") + (("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix) + ;; Help libgcc_s.so be found (see also below.) Always use + ;; '-lgcc_s' so that libgcc_s.so is always found by those + ;; programs that use 'pthread_cancel' (glibc dlopens + ;; libgcc_s.so when pthread_cancel support is needed, but + ;; having it in the application's RUNPATH isn't enough; see + ;; .) + ;; + ;; NOTE: The '-lgcc_s' added below needs to be removed in a + ;; later phase of %gcc-static. If you change the string + ;; below, make sure to update the relevant code in + ;; %gcc-static package as needed. + (format #f "#define GNU_USER_TARGET_LIB_SPEC \ \"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib -lgcc_s}} \" ~a" - libc libc libdir suffix)) - (("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line) - (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\" + libc libc libdir suffix)) + (("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line) + (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\" #define STANDARD_STARTFILE_PREFIX_2 \"\" ~a" - libc line))) - - ;; The rs6000 (a.k.a. powerpc) config in GCC does not use - ;; GNU_USER_* defines. Do the above for this case. - (substitute* - "gcc/config/rs6000/sysv4.h" - (("#define LIB_LINUX_SPEC (.*)$" _ suffix) - (format #f "#define LIB_LINUX_SPEC \ + libc line))) + + ;; The rs6000 (a.k.a. powerpc) config in GCC does not use + ;; GNU_USER_* defines. Do the above for this case. + (substitute* + "gcc/config/rs6000/sysv4.h" + (("#define LIB_LINUX_SPEC (.*)$" _ suffix) + (format #f "#define LIB_LINUX_SPEC \ \"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib -lgcc_s}} \" ~a" - libc libc libdir suffix)) - (("#define STARTFILE_LINUX_SPEC.*$" line) - (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\" + libc libc libdir suffix)) + (("#define STARTFILE_LINUX_SPEC.*$" line) + (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\" #define STANDARD_STARTFILE_PREFIX_2 \"\" ~a" - libc line)))) - - ;; Don't retain a dependency on the build-time sed. - (substitute* "fixincludes/fixincl.x" - (("static char const sed_cmd_z\\[\\] =.*;") - "static char const sed_cmd_z[] = \"sed\";")) - - ;; Aarch64 support didn't land in GCC until the 4.8 series. - (when (file-exists? "gcc/config/aarch64") - ;; Force Aarch64 libdir to be /lib and not /lib64 - (substitute* "gcc/config/aarch64/t-aarch64-linux" - (("lib64") "lib"))) - - (when (file-exists? "libbacktrace") - ;; GCC 4.8+ comes with libbacktrace. By default it builds - ;; with -Werror, which fails with a -Wcast-qual error in glibc - ;; 2.21's stdlib-bsearch.h. Remove -Werror. - (substitute* "libbacktrace/configure" - (("WARN_FLAGS=(.*)-Werror" _ flags) - (string-append "WARN_FLAGS=" flags))) - - (when (file-exists? "libsanitizer/libbacktrace") - ;; Same in libsanitizer's bundled copy (!) found in 4.9+. - (substitute* "libsanitizer/libbacktrace/Makefile.in" - (("-Werror") - "")))) - - ;; Add a RUNPATH to libstdc++.so so that it finds libgcc_s. - ;; See - ;; and . - (substitute* "libstdc++-v3/src/Makefile.in" - (("^OPT_LDFLAGS = ") - "OPT_LDFLAGS = -Wl,-rpath=$(libdir) ")) - - ;; Move libstdc++*-gdb.py to the "lib" output to avoid a - ;; circularity between "out" and "lib". (Note: - ;; --with-python-dir is useless because it imposes $(prefix) as - ;; the parent directory.) - (substitute* "libstdc++-v3/python/Makefile.in" - (("pythondir = .*$") - (string-append "pythondir = " libdir "/share" - "/gcc-$(gcc_version)/python\n"))) - - ;; Avoid another circularity between the outputs: this #define - ;; ends up in auto-host.h in the "lib" output, referring to - ;; "out". (This variable is used to augment cpp's search path, - ;; but there's nothing useful to look for here.) - (substitute* "gcc/config.in" - (("PREFIX_INCLUDE_DIR") - "PREFIX_INCLUDE_DIR_isnt_necessary_here")) - #t))) - - (add-after 'configure 'post-configure - (lambda _ - ;; Don't store configure flags, to avoid retaining references to - ;; build-time dependencies---e.g., `--with-ppl=/gnu/store/xxx'. - (substitute* "Makefile" - (("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest) - "TOPLEVEL_CONFIGURE_ARGUMENTS=\n")) - #t))))) - - (native-search-paths - ;; Use the language-specific variables rather than 'CPATH' because they - ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. - ;; The intent is to allow headers that are in the search path to be - ;; treated as "system headers" (headers exempt from warnings) just like - ;; the typical /usr/include headers on an FHS system. - (list (search-path-specification - (variable "C_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "CPLUS_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "LIBRARY_PATH") - (files '("lib" "lib64"))))) - - (properties `((gcc-libc . ,(assoc-ref inputs "libc")))) - (synopsis "GNU Compiler Collection") - (description - "GCC is the GNU Compiler Collection. It provides compiler front-ends + libc line)))) + + ;; Don't retain a dependency on the build-time sed. + (substitute* "fixincludes/fixincl.x" + (("static char const sed_cmd_z\\[\\] =.*;") + "static char const sed_cmd_z[] = \"sed\";")) + + ;; Aarch64 support didn't land in GCC until the 4.8 series. + (when (file-exists? "gcc/config/aarch64") + ;; Force Aarch64 libdir to be /lib and not /lib64 + (substitute* "gcc/config/aarch64/t-aarch64-linux" + (("lib64") "lib"))) + + (when (file-exists? "libbacktrace") + ;; GCC 4.8+ comes with libbacktrace. By default it builds + ;; with -Werror, which fails with a -Wcast-qual error in glibc + ;; 2.21's stdlib-bsearch.h. Remove -Werror. + (substitute* "libbacktrace/configure" + (("WARN_FLAGS=(.*)-Werror" _ flags) + (string-append "WARN_FLAGS=" flags))) + + (when (file-exists? "libsanitizer/libbacktrace") + ;; Same in libsanitizer's bundled copy (!) found in 4.9+. + (substitute* "libsanitizer/libbacktrace/Makefile.in" + (("-Werror") + "")))) + + ;; Add a RUNPATH to libstdc++.so so that it finds libgcc_s. + ;; See + ;; and . + (substitute* "libstdc++-v3/src/Makefile.in" + (("^OPT_LDFLAGS = ") + "OPT_LDFLAGS = -Wl,-rpath=$(libdir) ")) + + ;; Move libstdc++*-gdb.py to the "lib" output to avoid a + ;; circularity between "out" and "lib". (Note: + ;; --with-python-dir is useless because it imposes $(prefix) as + ;; the parent directory.) + (substitute* "libstdc++-v3/python/Makefile.in" + (("pythondir = .*$") + (string-append "pythondir = " libdir "/share" + "/gcc-$(gcc_version)/python\n"))) + + ;; Avoid another circularity between the outputs: this #define + ;; ends up in auto-host.h in the "lib" output, referring to + ;; "out". (This variable is used to augment cpp's search path, + ;; but there's nothing useful to look for here.) + (substitute* "gcc/config.in" + (("PREFIX_INCLUDE_DIR") + "PREFIX_INCLUDE_DIR_isnt_necessary_here")) + #t))) + + (add-after 'configure 'post-configure + (lambda _ + ;; Don't store configure flags, to avoid retaining references to + ;; build-time dependencies---e.g., `--with-ppl=/gnu/store/xxx'. + (substitute* "Makefile" + (("^TOPLEVEL_CONFIGURE_ARGUMENTS=(.*)$" _ rest) + "TOPLEVEL_CONFIGURE_ARGUMENTS=\n")) + #t))))) + + (native-search-paths + ;; Use the language-specific variables rather than 'CPATH' because they + ;; are equivalent to '-isystem' whereas 'CPATH' is equivalent to '-I'. + ;; The intent is to allow headers that are in the search path to be + ;; treated as "system headers" (headers exempt from warnings) just like + ;; the typical /usr/include headers on an FHS system. + (list (search-path-specification + (variable "C_INCLUDE_PATH") + (files '("include"))) + (search-path-specification + (variable "CPLUS_INCLUDE_PATH") + (files '("include"))) + (search-path-specification + (variable "LIBRARY_PATH") + (files '("lib" "lib64"))))) + + (properties `((gcc-libc . ,(assoc-ref inputs "libc")))) + (synopsis "GNU Compiler Collection") + (description + "GCC is the GNU Compiler Collection. It provides compiler front-ends for several languages, including C, C++, Objective-C, Fortran, Java, Ada, and Go. It also includes runtime support libraries for these languages.") - (license gpl3+) - (supported-systems (delete "aarch64-linux" %supported-systems)) - (home-page "https://gcc.gnu.org/")))) + (license gpl3+) + (supported-systems (delete "aarch64-linux" %supported-systems)) + (home-page "https://gcc.gnu.org/"))))) (define-public gcc-4.8 (package (inherit gcc-4.7) @@ -461,34 +462,18 @@ Go. It also includes runtime support libraries for these languages.") (define-public gcc-6 (package (inherit gcc-5) - (version "6.4.0") + (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.xz")) (sha256 (base32 - "1m0lr7938lw5d773dkvwld90hjlcq2282517d1gwvrfzmwgg42w5")) - (patches (search-patches "gcc-libsanitizer-fix.patch" - "gcc-libsanitizer-ustat.patch" - "gcc-strmov-store-file-names.patch" + "0i89fksfp6wr1xg9l8296aslcymv2idn60ip31wr9s4pwin7kwby")) + (patches (search-patches "gcc-strmov-store-file-names.patch" "gcc-6-source-date-epoch-1.patch" "gcc-6-source-date-epoch-2.patch" - "gcc-5.0-libvtv-runpath.patch")) - (modules '((guix build utils))) - ;; This is required for building with glibc-2.26. - ;; This can be removed when gcc-6.5.0 is released. - ;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712 - (snippet - '(begin - (for-each - (lambda (dir) - (substitute* (string-append "libgcc/config/" - dir "/linux-unwind.h") - (("struct ucontext") "ucontext_t"))) - '("aarch64" "alpha" "bfin" "i386" "m68k" "nios2" - "pa" "sh" "tilepro" "xtensa")) - #t)))) + "gcc-5.0-libvtv-runpath.patch")))) (inputs `(("isl" ,isl) ,@(package-inputs gcc-4.7))) @@ -506,16 +491,15 @@ Go. It also includes runtime support libraries for these languages.") (define-public gcc-7 (package (inherit gcc-6) - (version "7.3.0") + (version "7.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.xz")) (sha256 (base32 - "0p71bij6bfhzyrs8676a8jmpjsfz392s2rg862sdnsk30jpacb43")) + "0qg6kqc5l72hpnj4vr6l0p69qav0rh4anlkk3y55540zy3klc6dq")) (patches (search-patches "gcc-strmov-store-file-names.patch" - "gcc-libsanitizer-ustat.patch" "gcc-5.0-libvtv-runpath.patch")))) (description "GCC is the GNU Compiler Collection. It provides compiler front-ends @@ -525,21 +509,36 @@ It also includes runtime support libraries for these languages."))) (define-public gcc-8 (package (inherit gcc-7) - (version "8.2.0") + (version "8.3.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.xz")) (sha256 (base32 - "10007smilswiiv2ymazr3b6x2i933c0ycxrr529zh4r6p823qv0r")) + "0b3xv411xhlnjmin2979nxcbnidgvzqdf4nbhix99x60dkzavfk4")) (patches (search-patches "gcc-8-strmov-store-file-names.patch" "gcc-5.0-libvtv-runpath.patch")))))) +(define-public gcc-9 + (package + (inherit gcc-8) + (version "9.2.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gcc/gcc-" + version "/gcc-" version ".tar.xz")) + (sha256 + (base32 + "01mj3yk7z49i49168hg2cg7qs4bsccrrnv7pjmbdlf8j2a7z0vpa")) + (patches (search-patches "gcc-9-strmov-store-file-names.patch" + "gcc-9-asan-fix-limits-include.patch" + "gcc-5.0-libvtv-runpath.patch")))))) + ;; Note: When changing the default gcc version, update ;; the gcc-toolchain-* definitions and the gfortran definition ;; accordingly. -(define-public gcc gcc-5) +(define-public gcc gcc-7) (define-public (make-libstdc++ gcc) "Return a libstdc++ package based on GCC. The primary use case is when @@ -615,6 +614,7 @@ as the 'native-search-paths' field." (package-outputs gcc) (delete "lib" (package-outputs gcc)))) (native-search-paths search-paths) + (properties (alist-delete 'hidden? (package-properties gcc))) (arguments (substitute-keyword-arguments `(#:modules ((guix build gnu-build-system) (guix build utils) @@ -649,35 +649,46 @@ as the 'native-search-paths' field." (files '("lib" "lib64"))))) (define-public gfortran-4.8 - (custom-gcc gcc-4.8 "gfortran" '("fortran") - %generic-search-paths)) + (hidden-package + (custom-gcc gcc-4.8 "gfortran" '("fortran") + %generic-search-paths))) (define-public gfortran-4.9 - (custom-gcc gcc-4.9 "gfortran" '("fortran") - %generic-search-paths)) + (hidden-package + (custom-gcc gcc-4.9 "gfortran" '("fortran") + %generic-search-paths))) (define-public gfortran-5 - (custom-gcc gcc-5 "gfortran" '("fortran") - %generic-search-paths)) + (hidden-package + (custom-gcc gcc-5 "gfortran" '("fortran") + %generic-search-paths))) (define-public gfortran-6 - (custom-gcc gcc-6 "gfortran" '("fortran") - %generic-search-paths)) + (hidden-package + (custom-gcc gcc-6 "gfortran" '("fortran") + %generic-search-paths))) (define-public gfortran-7 - (custom-gcc gcc-7 "gfortran" '("fortran") - %generic-search-paths)) + (hidden-package + (custom-gcc gcc-7 "gfortran" '("fortran") + %generic-search-paths))) (define-public gfortran-8 - (custom-gcc gcc-8 "gfortran" '("fortran") - %generic-search-paths)) + (hidden-package + (custom-gcc gcc-8 "gfortran" '("fortran") + %generic-search-paths))) + +(define-public gfortran-9 + (hidden-package + (custom-gcc gcc-9 "gfortran" '("fortran") + %generic-search-paths))) (define-public gfortran ;; Note: Update this when GCC changes! We cannot use ;; (custom-gcc gcc "fortran" …) because that would lead to a package object ;; that is not 'eq?' with GFORTRAN-5, and thus 'fold-packages' would ;; report two gfortran@5 that are in fact identical. - gfortran-5) + gfortran-7) (define-public gccgo-4.9 (custom-gcc gcc-4.9 "gccgo" '("go") @@ -741,7 +752,7 @@ as the 'native-search-paths' field." (variable "LIBRARY_PATH") (files '("lib" "lib64")))))) -(define-public gcc-objc gcc-objc-5) +(define-public gcc-objc gcc-objc-7) (define-public gcc-objc++-4.8 (custom-gcc gcc-4.8 "gcc-objc++" '("obj-c++") @@ -797,7 +808,7 @@ as the 'native-search-paths' field." (variable "LIBRARY_PATH") (files '("lib" "lib64")))))) -(define-public gcc-objc++ gcc-objc++-5) +(define-public gcc-objc++ gcc-objc++-7) (define (make-libstdc++-doc gcc) "Return a package with the libstdc++ documentation for GCC." @@ -848,18 +859,19 @@ as the 'native-search-paths' field." (let ((out (assoc-ref outputs "out"))) (invoke "make" "doc-install-html" - "doc-install-man"))))))))) - -(define-public libstdc++-doc-4.9 - (make-libstdc++-doc gcc-4.9)) + "doc-install-man"))))))) + (properties (alist-delete 'hidden? (package-properties gcc))))) (define-public libstdc++-doc-5 (make-libstdc++-doc gcc-5)) +(define-public libstdc++-doc-9 + (make-libstdc++-doc gcc-9)) + (define-public isl (package (name "isl") - (version "0.19") + (version "0.21") (source (origin (method url-fetch) (uri (list (string-append @@ -867,10 +879,10 @@ as the 'native-search-paths' field." version ".tar.bz2") (string-append %gcc-infrastructure - name "-" version ".tar.gz"))) + name "-" version ".tar.bz2"))) (sha256 (base32 - "1n4yz9rj24mv226hqbpw210ifvqkn8dgvpnkzf0s0lkq9zrjd5ym")))) + "0ng8l3q1px9lkzb44nxnzhh6fhdbclrwng9xs2v9m8yii8gs336i")))) (build-system gnu-build-system) (inputs `(("gmp" ,gmp))) (home-page "http://isl.gforge.inria.fr/") @@ -897,7 +909,7 @@ dependence analysis and bounds on piecewise step-polynomials.") (uri (list (string-append "http://isl.gforge.inria.fr/isl-" version ".tar.bz2") (string-append %gcc-infrastructure - "isl-" version ".tar.gz"))) + "isl-" version ".tar.bz2"))) (sha256 (base32 "06ybml6llhi4i56q90jnimbcgk1lpcdwhy9nxdxra2hxz3bhz2vb")))))) @@ -914,7 +926,7 @@ dependence analysis and bounds on piecewise step-polynomials.") version ".tar.bz2") (string-append %gcc-infrastructure - name "-" version ".tar.gz"))) + name "-" version ".tar.bz2"))) (sha256 (base32 "13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9"))