diff options
| author | Zheng Junjie <z572@z572.online> | 2025-04-27 17:16:53 +0800 |
|---|---|---|
| committer | Zheng Junjie <z572@z572.online> | 2025-05-04 01:18:06 +0800 |
| commit | 455805beda4417b329f26522fde4f0a88c2e211e (patch) | |
| tree | 17ead3549ce435f2ae81fe78fd78634241adfbf5 /gnu | |
| parent | fa1149d3fd8d2ce94968dd05d5dc08561cb283ed (diff) | |
gnu: Add gcc-15.
* gnu/packages/gcc.scm (gcc-15, gccgo-15, libgccjit-15): New variable.
* gnu/packages/commencement.scm (gcc-toolchain-15): New variable.
Change-Id: I55e49e61626e8419ac936d1c5d241a586eaca47f
Signed-off-by: Zheng Junjie <z572@z572.online>
Diffstat (limited to 'gnu')
| -rw-r--r-- | gnu/packages/commencement.scm | 3 | ||||
| -rw-r--r-- | gnu/packages/gcc.scm | 52 |
2 files changed, 54 insertions, 1 deletions
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 4368893f4da..60ade637e12 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3701,6 +3701,9 @@ is the GNU Compiler Collection.") (define-public gcc-toolchain-14 (make-gcc-toolchain gcc-14)) +(define-public gcc-toolchain-15 + (make-gcc-toolchain gcc-15)) + ;; The default GCC (define-public gcc-toolchain (if (host-hurd64?) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 36783af37da..24864488938 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; Copyright © 2022 Greg Hogan <code@greghogan.com> -;;; Copyright © 2024 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2024, 2025 Zheng Junjie <z572@z572.online> ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> ;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org> @@ -856,6 +856,51 @@ It also includes runtime support libraries for these languages.") ("x86_64" ,@%gcc-14-x86_64-micro-architectures)) ,@(package-properties gcc-11))))) +(define-public gcc-15 + (package + (inherit gcc-14) + (version "15.1.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gcc/gcc-" + version "/gcc-" version ".tar.xz")) + (sha256 + (base32 + "1skcy1a3wwb8k25f9l1qy11nj8b5089f05dpzzn1zw302v19xc72")) + (patches (search-patches "gcc-12-strmov-store-file-names.patch" + "gcc-5.0-libvtv-runpath.patch")) + (modules '((guix build utils))) + (snippet gcc-canadian-cross-objdump-snippet))) + (arguments + (substitute-keyword-arguments (package-arguments gcc-14) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + (add-after 'install 'adjust-modules-file + ;; Avoid cycle dependencies + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (assoc-ref outputs "lib")) + (out (assoc-ref outputs "out"))) + (when lib + (let ((modfile (string-append + lib "/lib/libstdc++.modules.json")) + (origin (string-append out "/include/c++/bits")) + (modpath (string-append lib "/include/c++/bits"))) + + (for-each (lambda (file) (install-file file modpath)) + (find-files origin "\\.cc$")) + (substitute* modfile + ;; Relative path to out output + (("\\.\\./\\.\\./.*/include") + (string-append lib "/include")))))))))))) + (properties + `((compiler-cpu-architectures + ("aarch64" ,@%gcc-13-aarch64-micro-architectures) + ("armhf" ,@%gcc-13-armhf-micro-architectures) + ("i686" ,@%gcc-13-x86_64-micro-architectures) + ("powerpc64le" ,@%gcc-10-ppc64le-micro-architectures) + ("x86_64" ,@%gcc-14-x86_64-micro-architectures)) + ,@(package-properties gcc-11))))) + ;; Note: When changing the default gcc version, update ;; the gcc-toolchain-* definitions. @@ -1254,6 +1299,7 @@ misnomer."))) (define-public libgccjit-11 (make-libgccjit gcc-11)) (define-public libgccjit-12 (make-libgccjit gcc-12)) (define-public libgccjit-14 (make-libgccjit gcc-14)) +(define-public libgccjit-15 (make-libgccjit gcc-15)) ;; This must match the 'gcc' variable, but it must also be 'eq?' to one of the ;; libgccjit-* packages above. @@ -1354,6 +1400,10 @@ provides the GNU compiler for the Go programming language.")) (define-public gccgo-14 (make-gccgo gcc-14)) +;; Provides go-1.18 +(define-public gccgo-15 + (make-gccgo gcc-15)) + (define (make-libstdc++-doc gcc) "Return a package with the libstdc++ documentation for GCC." (package |
