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.
This commit is contained in:
Christopher Baines 2023-05-04 14:43:53 +01:00
parent 916c6e5716
commit 08acdd0765
No known key found for this signature in database
GPG key ID: 5E28A33B0B84F577

View file

@ -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