From 08acdd0765b5f4fbfafa699a823ea7985d4d35a7 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Thu, 4 May 2023 14:43:53 +0100 Subject: 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. --- gnu/packages/gcc.scm | 22 +++++++++++++--------- 1 file 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 @@ (define-public gcc-11 (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 -- cgit v1.2.3