# Disable debug packages, we don't need them.
%global debug_package %{nil}
+# Make sure we use the cross-binary to strip.
+%global __strip riscv64-linux-gnu-strip
+
+# Avoid this error caused by cross-compilation and packaging the
+# result in a noarch package:
+# error: Arch dependent binaries in noarch package
+%global _binaries_in_noarch_packages_terminate_build 0
+
%global forgeurl https://github.com/riscv/opensbi
%global commit 791953030836d39687688a8e7f1a3e708892cfa1
%forgemeta
URL: %{forgeurl}
Source: %{forgesource}
-BuildRequires: gcc
-BuildRequires: binutils
+# The resulting binary contains RISC-V firmware intended to be used
+# under virtualization, so it can be used on any architecture.
+Buildarch: noarch
+
+BuildRequires: gcc-riscv64-linux-gnu
+BuildRequires: binutils-riscv64-linux-gnu
BuildRequires: findutils
BuildRequires: grep
BuildRequires: coreutils
%build
make \
+ CROSS_COMPILE=riscv64-linux-gnu- \
PLATFORM=generic
-
%install
make \
+ CROSS_COMPILE=riscv64-linux-gnu- \
PLATFORM=generic \
I=%{buildroot} \
INSTALL_LIB_PATH=lib64 \
%changelog
* Tue May 23 2023 Richard W.M. Jones <rjones@redhat.com> 1.2
- Use forge macros
+- Convert to use cross-compilation
- Fix dates in changelog
* Tue May 02 2023 David Abdurachmanov <davidlt@rivosinc.com> v1.2.116.2023.05.02.7919530-1