;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
(base32
"08yggr18v373a1ihj0rg2vd6psnic42b518xcgp3r9k81xz1xyr2"))
(patches (search-patches "gcc-arm-link-spec-fix.patch"
+ "gcc-4.8-libsanitizer-fix.patch"
"gcc-asan-missing-include.patch"
"gcc-fix-texi2pod.patch"))
(modules '((guix build utils)))
(base32
"14l06m7nvcvb0igkbip58x59w3nq6315k6jcz3wr9ch1rn9d44bc"))
(patches (search-patches "gcc-4.9-libsanitizer-fix.patch"
+ "gcc-4.9-libsanitizer-ustat.patch"
"gcc-arm-bug-71399.patch"
"gcc-asan-missing-include.patch"
"gcc-libvtv-runpath.patch"
(base32
"11zd1hgzkli3b2v70qsm2hyqppngd4616qc96lmm9zl2kl9yl32k"))
(patches (search-patches "gcc-arm-bug-71399.patch"
+ "gcc-libsanitizer-ustat.patch"
"gcc-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch"
"gcc-5-source-date-epoch-1.patch"
"$OBJDUMP_FOR_TARGET -T"))
#t))))
(inputs
- `(("isl" ,isl)
+ `(;; GCC5 needs <isl/band.h> which is removed in later versions.
+ ("isl" ,isl-0.18)
,@(package-inputs gcc-4.7)))))
(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-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)))
(define-public gcc-7
(package
(inherit gcc-6)
- (version "7.3.0")
+ (version "7.4.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
- "0p71bij6bfhzyrs8676a8jmpjsfz392s2rg862sdnsk30jpacb43"))
+ "0lgy170b0pp60j9cczqkmaqyjjb584vfamj4c30swd7k0j6y5pgd"))
(patches (search-patches "gcc-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch"))))
(description
for several languages, including C, C++, Objective-C, Fortran, Ada, and Go.
It also includes runtime support libraries for these languages.")))
+(define-public gcc-8
+ (package
+ (inherit gcc-7)
+ (version "8.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/gcc/gcc-"
+ version "/gcc-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0b3xv411xhlnjmin2979nxcbnidgvzqdf4nbhix99x60dkzavfk4"))
+ (patches (search-patches "gcc-8-strmov-store-file-names.patch"
+ "gcc-5.0-libvtv-runpath.patch"))))))
+
;; Note: When changing the default gcc version, update
;; the gcc-toolchain-* definitions and the gfortran definition
;; accordingly.
(lambda* (#:key outputs #:allow-other-keys)
(for-each delete-file
(find-files (string-append (assoc-ref outputs "out") "/bin")
- ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc.*)"))
+ ".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|gcc-.*)"))
#t))))))))
(define %generic-search-paths
(custom-gcc gcc-7 "gfortran" '("fortran")
%generic-search-paths))
+(define-public gfortran-8
+ (custom-gcc gcc-8 "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
(variable "LIBRARY_PATH")
(files '("lib" "lib64"))))))
+(define-public gcc-objc-8
+ (custom-gcc gcc-8 "gcc-objc" '("objc")
+ (list (search-path-specification
+ (variable "OBJC_INCLUDE_PATH")
+ (files '("include")))
+ (search-path-specification
+ (variable "LIBRARY_PATH")
+ (files '("lib" "lib64"))))))
+
(define-public gcc-objc gcc-objc-5)
(define-public gcc-objc++-4.8
(variable "LIBRARY_PATH")
(files '("lib" "lib64"))))))
+(define-public gcc-objc++-8
+ (custom-gcc gcc-8 "gcc-objc++" '("obj-c++")
+ (list (search-path-specification
+ (variable "OBJCPLUS_INCLUDE_PATH")
+ (files '("include")))
+ (search-path-specification
+ (variable "LIBRARY_PATH")
+ (files '("lib" "lib64"))))))
+
(define-public gcc-objc++ gcc-objc++-5)
(define (make-libstdc++-doc gcc)
(define-public isl
(package
(name "isl")
- (version "0.18")
+ (version "0.19")
(source (origin
(method url-fetch)
(uri (list (string-append
name "-" version ".tar.gz")))
(sha256
(base32
- "06ybml6llhi4i56q90jnimbcgk1lpcdwhy9nxdxra2hxz3bhz2vb"))))
+ "1n4yz9rj24mv226hqbpw210ifvqkn8dgvpnkzf0s0lkq9zrjd5ym"))))
(build-system gnu-build-system)
(inputs `(("gmp" ,gmp)))
(home-page "http://isl.gforge.inria.fr/")
dependence analysis and bounds on piecewise step-polynomials.")
(license lgpl2.1+)))
+(define-public isl-0.18
+ (package
+ (inherit isl)
+ (version "0.18")
+ (source (origin
+ (method url-fetch)
+ (uri (list (string-append "http://isl.gforge.inria.fr/isl-"
+ version ".tar.bz2")
+ (string-append %gcc-infrastructure
+ "isl-" version ".tar.gz")))
+ (sha256
+ (base32
+ "06ybml6llhi4i56q90jnimbcgk1lpcdwhy9nxdxra2hxz3bhz2vb"))))))
+
(define-public isl-0.11
(package
(inherit isl)