From 64d269b983b76553466ac93945d58c7865cf190e Mon Sep 17 00:00:00 2001
From: Zheng Junjie <zhengjunjie@iscas.ac.cn>
Date: Tue, 5 Mar 2024 01:19:35 +0800
Subject: gnu: libtheora: Fix cross-compiling to riscv64-linux.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/xiph.scm (libtheora):
[native-inputs]: When cross compiling to riscv64-linux-gnu, add config.
[arguments]: When target riscv64-linux-gnu, add update-config phase.

Change-Id: Ie055cd4f6cb9d2a4601b93d1f9db227598349c7c
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu/packages/xiph.scm | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

(limited to 'gnu')

diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm
index 879d8e8d39..f3603c39bb 100644
--- a/gnu/packages/xiph.scm
+++ b/gnu/packages/xiph.scm
@@ -46,6 +46,7 @@
   #:use-module (gnu packages xml)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
+  #:use-module (guix utils)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
@@ -117,7 +118,26 @@ polyphonic) audio and music at fixed and variable bitrates from 16 to
              (patches (search-patches "libtheora-config-guess.patch"))))
     (build-system gnu-build-system)
     (arguments
-     (list #:configure-flags #~'("--disable-static")))
+     (append
+      (if (and (target-riscv64?)
+               (%current-target-system))
+          (list #:phases
+                #~(modify-phases %standard-phases
+                    (add-after 'unpack 'update-config
+                      (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"))))))
+          '())
+      (list #:configure-flags #~'("--disable-static"))))
+    (native-inputs
+     (if (and (target-riscv64?)
+              (%current-target-system))
+         (list config)
+         '()))
     (inputs (list libvorbis))
     ;; The .pc files refer to libogg.
     (propagated-inputs (list libogg))
-- 
cgit 1.4.1