Convert to use cross-compilation
[fedora-reviews.git] / opensbi / opensbi.spec
index de3c131..8d779b3 100644 (file)
@@ -1,56 +1,66 @@
 # Disable debug packages, we don't need them.
 %global debug_package %{nil}
 
-Name:          opensbi-unstable
-# The last part is short hash
-# Format: <TAG>.<NUMBER_OF_COMMITS_AFTER_TAG>.<YEAR>.<MONTH>.<DAY>.<SHORT_COMMIT>
-Version:       v1.2.116.2023.05.02.7919530
-Release:       1%{?dist}
-Summary:       RISC-V Open Source Supervisor Binary Interface
-
-License:       BSD
-URL:           https://github.com/riscv/opensbi
-
-# Download tarball, e.g.:
-# https://github.com/riscv/opensbi/archive/%full_commit.tar.gz
-%global full_commit 791953030836d39687688a8e7f1a3e708892cfa1
-Source0:       https://github.com/riscv/opensbi/archive/%{full_commit}.tar.gz
-
-BuildRequires: gcc
-BuildRequires: binutils
-BuildRequires: findutils
-BuildRequires: grep
-BuildRequires: coreutils
-BuildRequires:  make
-BuildRequires:  dtc
-BuildRequires:  python3
-BuildRequires:  gawk
-BuildRequires:  sed
+# 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
+
+Name:            opensbi
+Version:         1.2
+Release:         1%{?dist}
+Summary:         RISC-V Open Source Supervisor Binary Interface
+
+License:         BSD
+URL:             %{forgeurl}
+Source:          %{forgesource}
+
+# 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
+BuildRequires:   make
+BuildRequires:   dtc
+BuildRequires:   python3
+BuildRequires:   gawk
+BuildRequires:   sed
 
 
 %description
-RISC-V Open Source Supervisor Binary Interface compiled in jump variant.
-This is only for QEMU RISC-V virt machine.
+RISC-V Open Source Supervisor Binary Interface.  This is for QEMU
+RISC-V virt machines.
 
 
 %prep
-%autosetup -n opensbi-%{full_commit}
+%forgesetup
 
 
 %build
 make \
+  CROSS_COMPILE=riscv64-linux-gnu- \
   PLATFORM=generic
 
-
 %install
 make \
+  CROSS_COMPILE=riscv64-linux-gnu- \
   PLATFORM=generic \
   I=%{buildroot} \
   INSTALL_LIB_PATH=lib64 \
   INSTALL_FIRMWARE_PATH=%{_datadir}/%{name} \
   install
 
-
 rm -rfv %{buildroot}/lib64
 rm -rfv %{buildroot}/include
 rm -rfv %{buildroot}%{_datadir}/%{name}/*/firmware/payloads
@@ -64,19 +74,24 @@ rm -rfv %{buildroot}%{_datadir}/%{name}/*/firmware/payloads
 
 
 %changelog
-* Tue May 02 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.2.116.2023.05.02.7919530-1
+* 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
 - Sync with upstream master branch (v1.2-116-g7919530)
 
-* Thu Jan 26 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.2.0.2023.01.26.c6b5188c-1
+* Thu Jan 26 2023 David Abdurachmanov <davidlt@rivosinc.com> v1.2.0.2023.01.26.c6b5188c-1
 - Use v1.2 (last stable release for now)
 
-* Tue Jan 25 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.2.34.2023.01.25.c45992c-1
+* Wed Jan 25 2023 David Abdurachmanov <davidlt@rivosinc.com> v1.2.34.2023.01.25.c45992c-1
 - Sync with upstream master branch (v1.2-34-gc45992c)
 
 * Thu Nov 17 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.1.85.2022.11.17.14f5c4c-1
 - Sync with upstream master branch (v1.1-85-g14f5c4c)
 
-* Mon Jun 23 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.1.0.2022.06.27.4489876-1
+* Mon Jun 27 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.1.0.2022.06.27.4489876-1
 - Sync with upstream master branch (v1.1 tag)
 
 * Thu Jun 23 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.0.99.2022.06.23.6f1fe98-1