gnu: gcc-toolchain: Add 10.1.0.
[jackhill/guix/guix.git] / gnu / packages / commencement.scm
index 6a382c7..46b3859 100644 (file)
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
@@ -24,8 +24,6 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages commencement)
-  #:use-module ((guix licenses)
-                #:select (gpl3+ lgpl2.0+ public-domain))
   #:use-module (gnu packages)
   #:use-module (gnu packages bootstrap)
   #:use-module (gnu packages base)
   #:use-module (guix memoization)
   #:use-module (guix utils)
   #:use-module (srfi srfi-1)
-  #:use-module (srfi srfi-26)
   #:use-module (ice-9 vlist)
   #:use-module (ice-9 match)
-  #:use-module (ice-9 regex)
   #:export (make-gcc-toolchain))
 
 ;;; Commentary:
       (version (string-append version "-" revision "." (string-take commit 7)))
       (source (origin
                 (method url-fetch)
-                (uri (string-append "https://gitlab.com/janneke/tinycc"
-                                    "/-/archive/" commit
-                                    "/tinycc-" commit ".tar.gz"))
+                (uri (list (string-append "mirror://gnu/guix/mirror"
+                                          "/tinycc-" commit ".tar.gz")
+                           (string-append "https://gitlab.com/janneke/tinycc"
+                                          "/-/archive/" commit
+                                          "/tinycc-" commit ".tar.gz")))
                 (sha256
                  (base32
                   "1hmzn1pq0x22ppd80hyrn5qzqq94mxd0ychzj6vrr2vnj2frjv5b"))))
@@ -1762,20 +1760,21 @@ exec " gcc "/bin/" program
 
 (define flex-boot0
   ;; This Flex is needed to build MiG as well as Linux-Libre headers.
-  (package
-    (inherit flex)
-    (native-inputs `(("bison" ,bison-boot0)))
-    (propagated-inputs
-     ;; XXX: Here we use an 'm4-boot0' package that's not eq? so that it
-     ;; appears twice in '%build-inputs', like when we were using
-     ;; 'package-with-explicit-inputs'.
-     ;; TODO: Remove this hack on the next rebuild cycle.
-     `(("m4" ,(package (inherit m4-boot0*)))))
-    (inputs (%boot0-inputs))
-    (arguments
-     `(#:implicit-inputs? #f
-       #:guile ,%bootstrap-guile
-       #:tests? #f))))
+  (let ((m4-boot0* (package (inherit m4-boot0*))))
+    (package
+      (inherit flex)
+      (native-inputs `(("bison" ,bison-boot0)))
+      (propagated-inputs
+       ;; XXX: Here we use an 'm4-boot0' package that's not eq? so that it
+       ;; appears twice in '%build-inputs', like when we were using
+       ;; 'package-with-explicit-inputs'.
+       ;; TODO: Remove this hack on the next rebuild cycle.
+       `(("m4" ,m4-boot0*)))
+      (inputs (%boot0-inputs))
+      (arguments
+       `(#:implicit-inputs? #f
+         #:guile ,%bootstrap-guile
+         #:tests? #f)))))
 
 (define linux-libre-headers-boot0
   (mlambda ()
@@ -2560,8 +2559,8 @@ COREUTILS-FINAL vs. COREUTILS, etc."
       (synopsis "Complete GCC tool chain for C/C++ development")
       (description
        "This package provides a complete GCC tool chain for C/C++ development to
-be   installed in user profiles.  This includes GCC, as well as libc (headers
-an  d binaries, plus debugging symbols in the @code{debug} output), and Binutils.")
+be installed in user profiles.  This includes GCC, as well as libc (headers and
+binaries, plus debugging symbols in the @code{debug} output), and Binutils.")
       (home-page "https://gcc.gnu.org/")
       (outputs '("out" "debug" "static"))
 
@@ -2599,4 +2598,20 @@ an  d binaries, plus debugging symbols in the @code{debug} output), and Binutils
 (define-public gcc-toolchain-9
   (make-gcc-toolchain gcc-9))
 
+(define-public gcc-toolchain-10
+  (make-gcc-toolchain gcc-10))
+
+;; Provide the Fortran toolchain package only for the version of gfortran that
+;; is used by Guix internally to build Fortran libraries, because combining
+;; code compiled with different versions can cause problems.
+
+(define-public gfortran-toolchain
+  (package (inherit (make-gcc-toolchain gfortran))
+    (synopsis "Complete GCC tool chain for Fortran development")
+    (description "This package provides a complete GCC tool chain for
+Fortran development to be installed in user profiles.  This includes
+gfortran, as well as libc (headers and binaries, plus debugging symbols
+in the @code{debug} output), and binutils.")))
+
+
 ;;; commencement.scm ends here