Subject: [bug#71804] [PATCH 1/4] gnu: Add gcc-14.

From: Zheng Junjie <[email-masked]>
Date: Thu, 27 Jun 2024 23:38:21 +0800

* gnu/packages/gcc.scm (gcc-14): New variable.

Change-Id: I7eca4e35e010a69c13489c10c72c29d6e628bb72
---
 gnu/packages/gcc.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 3184a8b6a0..f44030355e 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -830,6 +830,29 @@ (define-public gcc-13
         ("x86_64" ,@%gcc-13-x86_64-micro-architectures))
        ,@(package-properties gcc-11)))))
 
+(define-public gcc-14
+  (package
+    (inherit gcc-13)
+    (version "14.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://gnu/gcc/gcc-"
+                                  version "/gcc-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0h3889kkfp9bzw8km9w1ssh5qjskg6yw02q8v3lkvzksk1acd0z2"))
+              (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-13)
+                 ((#:phases phases #~%standard-phases)
+                  #~(modify-phases #$phases
+                      (add-before 'configure 'pre-x86-configure
+                        (lambda _
+                          (substitute* "gcc/config/i386/t-linux64"
+                            (("\\.\\./lib64") "../lib"))))))))))
+
 
 ;; Note: When changing the default gcc version, update
 ;;       the gcc-toolchain-* definitions.
-- 
2.41.0