Convert to use cross-compilation
[fedora-reviews.git] / opensbi / opensbi.spec
1 # Disable debug packages, we don't need them.
2 %global debug_package %{nil}
3
4 # Make sure we use the cross-binary to strip.
5 %global __strip riscv64-linux-gnu-strip
6
7 # Avoid this error caused by cross-compilation and packaging the
8 # result in a noarch package:
9 #   error: Arch dependent binaries in noarch package
10 %global _binaries_in_noarch_packages_terminate_build 0
11
12 %global forgeurl https://github.com/riscv/opensbi
13 %global commit   791953030836d39687688a8e7f1a3e708892cfa1
14 %forgemeta
15
16 Name:            opensbi
17 Version:         1.2
18 Release:         1%{?dist}
19 Summary:         RISC-V Open Source Supervisor Binary Interface
20
21 License:         BSD
22 URL:             %{forgeurl}
23 Source:          %{forgesource}
24
25 # The resulting binary contains RISC-V firmware intended to be used
26 # under virtualization, so it can be used on any architecture.
27 Buildarch:      noarch
28
29 BuildRequires:   gcc-riscv64-linux-gnu
30 BuildRequires:   binutils-riscv64-linux-gnu
31 BuildRequires:   findutils
32 BuildRequires:   grep
33 BuildRequires:   coreutils
34 BuildRequires:   make
35 BuildRequires:   dtc
36 BuildRequires:   python3
37 BuildRequires:   gawk
38 BuildRequires:   sed
39
40
41 %description
42 RISC-V Open Source Supervisor Binary Interface.  This is for QEMU
43 RISC-V virt machines.
44
45
46 %prep
47 %forgesetup
48
49
50 %build
51 make \
52   CROSS_COMPILE=riscv64-linux-gnu- \
53   PLATFORM=generic
54
55 %install
56 make \
57   CROSS_COMPILE=riscv64-linux-gnu- \
58   PLATFORM=generic \
59   I=%{buildroot} \
60   INSTALL_LIB_PATH=lib64 \
61   INSTALL_FIRMWARE_PATH=%{_datadir}/%{name} \
62   install
63
64 rm -rfv %{buildroot}/lib64
65 rm -rfv %{buildroot}/include
66 rm -rfv %{buildroot}%{_datadir}/%{name}/*/firmware/payloads
67
68
69 %files
70 %license COPYING.BSD
71 %doc README.md
72 %dir %{_datadir}/%{name}
73 %{_datadir}/%{name}/*
74
75
76 %changelog
77 * Tue May 23 2023 Richard W.M. Jones <rjones@redhat.com> 1.2
78 - Use forge macros
79 - Convert to use cross-compilation
80 - Fix dates in changelog
81
82 * Tue May 02 2023 David Abdurachmanov <davidlt@rivosinc.com> v1.2.116.2023.05.02.7919530-1
83 - Sync with upstream master branch (v1.2-116-g7919530)
84
85 * Thu Jan 26 2023 David Abdurachmanov <davidlt@rivosinc.com> v1.2.0.2023.01.26.c6b5188c-1
86 - Use v1.2 (last stable release for now)
87
88 * Wed Jan 25 2023 David Abdurachmanov <davidlt@rivosinc.com> v1.2.34.2023.01.25.c45992c-1
89 - Sync with upstream master branch (v1.2-34-gc45992c)
90
91 * Thu Nov 17 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.1.85.2022.11.17.14f5c4c-1
92 - Sync with upstream master branch (v1.1-85-g14f5c4c)
93
94 * Mon Jun 27 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.1.0.2022.06.27.4489876-1
95 - Sync with upstream master branch (v1.1 tag)
96
97 * Thu Jun 23 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.0.99.2022.06.23.6f1fe98-1
98 - Sync with upstream master branch
99
100 * Thu Jun 02 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.0.92.2022.06.13.9dc5ec5-1
101 - Sync with upstream master branch
102
103 * Thu Jun 02 2022 David Abdurachmanov <davidlt@rivosinc.com> v1.0.81.2022.06.02.cb8271c-1
104 - Sync with upstream master branch
105
106 * Sat Nov 06 2021 David Abdurachmanov <david.abdurachmanov@gmail.com> v0.9.163.2021.11.06.0979ffd-1
107 - Sync with upstream master branch
108
109 * Fri Oct 08 2021 David Abdurachmanov <david.abdurachmanov@gmail.com> v0.9.152.2021.10.08.754d511-1
110 - Sync with upstream master branch
111
112 * Tue Aug 17 2021 David Abdurachmanov <david.abdurachmanov@gmail.com> v0.9.134.2021.08.17.7aa6c9a-1
113 - Sync with upstream master branch
114 - Upstream support for SiFive HiFive Unmatched
115
116 * Wed Apr 21 2021 David Abdurachmanov <david.abdurachmanov@gmail.com> v0.9.35.2021.04.21.f41196a
117 - Update to v0.9+
118
119 * Wed Jan 06 2021 David Abdurachmanov <david.abdurachmanov@sifive.com> v0.8.81.2021.01.06.7dcb1e1
120 - New version
121 - Switch to generic platform
122 - Remove all others special Fedora variants of firmware
123 - Remove development library and documentation (not needed)
124 - Remove example payloads