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 רנשלפ םירפא GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted