--- Begin Message ---
Subject: |
[PATCH] gnu: libicns: fix riscv64 cross-build. |
Date: |
Sat, 25 Mar 2023 12:50:59 +0800 |
* gnu/packages/image.scm (libicns): fix riscv64 cross-build.
[arguments]: when target-riscv64, add phase to update-config-scripts
[native-inputs]: when target-riscv64, add config.
---
gnu/packages/image.scm | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 0da990e63a..81cdcd778e 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -549,6 +549,22 @@ (define-public libicns
(base32
"1hjm8lwap7bjyyxsyi94fh5817xzqhk4kb5y0b7mb6675xw10prk"))))
(build-system gnu-build-system)
+ (arguments (if (target-riscv64?)
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'update-config-scripts
+ (lambda* (#:key native-inputs inputs
#:allow-other-keys)
+ (for-each (lambda (file)
+ (install-file
+ (search-input-file
+ (or native-inputs inputs)
+ (string-append "/bin/" file))
"."))
+ '("config.guess" "config.sub"))))) )
+ '()))
+ (native-inputs
+ (if (target-riscv64?)
+ (list config)
+ '()))
(inputs
(list libpng jasper))
(home-page "https://icns.sourceforge.io/")
--
2.39.2
--- End Message ---
--- Begin Message ---
Subject: |
Re: [bug#62432] [PATCH] gnu: libicns: fix riscv64 cross-build. |
Date: |
Sun, 4 Jun 2023 15:29:45 +0300 |
On Mon, Apr 03, 2023 at 07:04:18PM +0800, 宋文武 via Guix-patches via wrote:
> Z572 <873216071@qq.com> writes:
>
> > * gnu/packages/image.scm (libicns): fix riscv64 cross-build.
>
> Hello, this message is already in the commit message title, So I think
> there is no need to repeat it here. Also look in the guix commit log,
> I think it should be 'gnu: libicns: Fix cross-compilation for riscv64'.
>
>
> > + (arguments (if (target-riscv64?)
> > + (list #:phases
> > + #~(modify-phases %standard-phases
> > + (add-after 'unpack 'update-config-scripts
> > + (lambda* (#:key native-inputs inputs
> > #:allow-other-keys)
> > + (for-each (lambda (file)
> > + (install-file
> > + (search-input-file
> > + (or native-inputs inputs)
> > + (string-append "/bin/"
> > file)) "."))
> > + '("config.guess"
> > "config.sub"))))) )
> > + '()))
> > + (native-inputs
> > + (if (target-riscv64?)
> > + (list config)
> > + '()))
>
> This updates 'config.guess' and 'config.sub' in a package to fix
> cross-compilation for riscv64 seems like a common practice (eg: also in
> your patches #62433, #62544). How about make a procedure for it to
> save some typing? It could be:
>
> ```
> (define (autotools-config-updated-package p)
> "Return package P with @command{config.guess} and
> @command{config.sub} updated by the @code{config} package"
> (package (inherit p)
> ...))
> ```
>
> Which could go into (guix transformations).
I would certainly like something like this. I suppose it could be made
more general by using find-file to find all occurrences of config.guess
and config.sub and replacing those.
In the meantime I've pushed this patch after replacing (target-riscv64?)
with (and (target-riscv64?) (%current-target-system)).
--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
signature.asc
Description: PGP signature
--- End Message ---