diff options
author | Zheng Junjie <zhengjunjie@iscas.ac.cn> | 2023-12-28 10:54:56 +0800 |
---|---|---|
committer | Mathieu Othacehe <othacehe@gnu.org> | 2023-12-28 10:16:35 +0100 |
commit | eeb29e167be270f4febf2e1ea015e2ff15fb6e2f (patch) | |
tree | 1367c89546b201729517ea958b556a9c81ea5ca2 | |
parent | d460b12d76eb2bc6674750bc0a410de37aee6646 (diff) | |
download | guix-eeb29e167be270f4febf2e1ea015e2ff15fb6e2f.tar.gz guix-eeb29e167be270f4febf2e1ea015e2ff15fb6e2f.zip |
gnu: cdparanoia: Fix cross-compiling.
* gnu/packages/cdrom.scm (cdparanoia)
[native-inputs]: when cross compiling to {riscv,aarch}64-linux-gnu, add config.
[arguments]: when target {riscv,aarch}64-linux-gnu, add update-config-scripts phase.
<#:configure-flags>: when cross-compiling, use `(assoc-ref %outputs "out")'.
Change-Id: I442c668c3d52c241f0d405f51ea8d995bfefd3fd
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
-rw-r--r-- | gnu/packages/cdrom.scm | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index aaa2e50293..d473ab41ed 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -233,10 +234,35 @@ files.") `(#:tests? #f ; there is no check target #:parallel-build? #f ;randomly fails to link #:configure-flags ; Add $libdir to the RUNPATH of all the executables. - (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) + (list (string-append "LDFLAGS=-Wl,-rpath=" + ,(if (%current-target-system) + '(assoc-ref %outputs "out") + '%output) + "/lib")) ;; Building in parallel is flaky: “ld: […]/cachetest.c:393: undefined ;; reference to `paranoia_free'”. - #:parallel-build? #f)) + #:parallel-build? #f + ,@(if (and (or (target-riscv64?) + (target-aarch64?)) + (%current-target-system)) + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'update-config-scripts + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.guess and config.sub. + (for-each (lambda (file) + (install-file + (search-input-file + (or native-inputs inputs) + (string-append "/bin/" file)) ".")) + '("config.guess" "config.sub")))))) + '()))) + (native-inputs + (if (and (or (target-riscv64?) + (target-aarch64?)) + (%current-target-system)) + (list config) + '())) (home-page "https://www.xiph.org/paranoia/") (synopsis "Audio CD reading utility") (description "Cdparanoia retrieves audio tracks from CDDA capable CDROM |