summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-05-04 14:43:53 +0100
committerChristopher Baines <mail@cbaines.net>2023-05-04 14:43:53 +0100
commit08acdd0765b5f4fbfafa699a823ea7985d4d35a7 (patch)
tree65aa44e317459c06c8f1cc6a1d9014c7a9809161 /gnu/packages
parent916c6e5716bd14cb328f7dcce5405ba9100bb908 (diff)
downloadguix-08acdd0765b5f4fbfafa699a823ea7985d4d35a7.tar.gz
gnu: gcc-11: Adapt patching for hurd to not use gexp's.
As this causes issues with gcc-cross-boot0, since it doesn't use gexp's and
that means the builder script ends up broken.

I'm not testing this properly, I've only confirmed that with this change, you
can generate a derivation for hello for i586-gnu where that derivation and all
inputs don't have broken builder scripts. Plus the output for hello on
x86_64-linux is unchanged.

* gnu/packages/gcc.scm (gcc-11)[arguments]: Rewrite to not use gexps.
[native-inputs]: Add a patch for the hurd if that's the target.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/gcc.scm22
1 files changed, 13 insertions, 9 deletions
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index e3ce0069f0..9ae6f77b37 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -715,22 +715,26 @@ It also includes runtime support libraries for these languages.")
             (snippet gcc-canadian-cross-objdump-snippet)))
    (arguments
     (substitute-keyword-arguments (package-arguments gcc-8)
-      ((#:phases phases #~%standard-phases)
+      ((#:phases phases '%standard-phases)
        (if (target-hurd?)
-           #~(modify-phases #$phases
-               (add-after 'unpack 'patch-hurd-libpthread
-                 (lambda _
-                   (define patch
-                     #$(local-file
-                        (search-patch "gcc-11-libstdc++-hurd-libpthread.patch")))
-                   (invoke "patch" "--force" "-p1" "-i" patch))))
+           `(modify-phases ,phases
+              (add-after 'unpack 'patch-hurd-libpthread
+                (lambda (#:key inputs)
+                  (invoke "patch" "--force" "-p1" "-i"
+                          (assoc-ref inputs "hurd-patch")
+                          patch))))
            phases))))
    (properties
     `((compiler-cpu-architectures
        ("aarch64" ,@%gcc-11-aarch64-micro-architectures)
        ("armhf" ,@%gcc-11-armhf-micro-architectures)
        ("x86_64" ,@%gcc-11-x86_64-micro-architectures))
-      ,@(package-properties gcc-8)))))
+      ,@(package-properties gcc-8)))
+   (native-inputs
+    `(,@(if (target-hurd?)
+            `(("hurd-patch" ,(search-patch "gcc-11-libstdc++-hurd-libpthread.patch")))
+            '())
+      ,@(package-native-inputs gcc-8)))))
 
 (define-public gcc-12
   (package