gnu-efi/gnu-efi.spec

106 lines
3.2 KiB
RPMSpec
Raw Normal View History

# No, please don't break the linker. Thanks.
%undefine _auto_set_build_flags
Name: gnu-efi
2019-12-26 05:54:02 +00:00
Epoch: 1
Version: 3.0.18
Release: %autorelease -e 0.riscv64
2019-12-26 05:54:02 +00:00
Summary: Development Libraries and headers for EFI
License: BSD-2-Clause AND BSD-2-Clause-Patent AND BSD-3-Clause AND BSD-4-Clause AND GPL-2.0-or-later AND GPL-2.0-only
2019-12-26 05:54:02 +00:00
URL: https://sourceforge.net/projects/gnu-efi/
Source0: https://sourceforge.net/projects/gnu-efi/files/gnu-efi-%{version}.tar.bz2
# upstream this breaks non-GNU LD, Heinrich Schuchardt asked us not to do this:
# "The correct approach is to adjust the loader script to put non-static
# data into a different section than the code and to make the .text section RX."
#Patch0048: 0048-ld-Don-t-warn-about-RWX-segment-maps.patch
2019-12-26 05:54:02 +00:00
ExclusiveArch: %{efi}
2019-12-26 05:54:02 +00:00
BuildRequires: binutils
BuildRequires: efi-srpm-macros >= 5-4
2019-12-26 05:54:02 +00:00
BuildRequires: gcc
# We're explicitly *not* requiring glibc-headers, because it gets us
# cross-arch dependency problems in "fedpkg mockbuild" from x86_64.
# BuildRequires: glibc-headers
%ifarch x86_64
# So... in some build environments, glibc32 provides some headers. In
# others, glibc-devel.i686 does. They have no provides in common, as
# file provides in /usr/include or /usr/lib are not usable with dnf5.
BuildRequires: (glibc-devel(x86-32) or glibc32)
%endif
BuildRequires: make
# added 2020-01-24, so time is up...
Obsoletes: %{name}-compat < 3.0.11-12
# rpmlint, shut up.
%define lib %{nil}lib%{nil}
%define debug_package %{nil}
# brp-strip-static-archive will senselessly /add/ timestamps and uid/gid
# data to our .a and make them not multilib clean if we don't have this.
%undefine __brp_strip_static_archive
%global __brp_strip_static_archive find '%{buildroot}' -name '*.a' -print -exec %{__strip} -gDp {} \\;
%description
This package contains development headers and libraries for developing
applications that run under EFI (Extensible Firmware Interface).
%package devel
Summary: Development Libraries and headers for EFI
Obsoletes: gnu-efi < 1:3.0.2-1
Requires: gnu-efi = %{epoch}:%{version}-%{release}
%description devel
This package contains development headers and libraries for developing
applications that run under EFI (Extensible Firmware Interface).
%package utils
Summary: Utilities for EFI systems
%description utils
This package contains utilities for debugging and developing EFI systems.
%prep
%autosetup -p1
%build
%undefine _hardened_ldflags
# Package cannot build with %%{?_smp_mflags}.
make LIBDIR=%{_prefix}/lib
make apps
%install
make PREFIX=%{_prefix} LIBDIR=%{_prefix}/lib INSTALLROOT=%{buildroot} install
mkdir -p %{buildroot}/%{efi_esp_dir}/%{efi_arch}
mv %{buildroot}/usr/lib/gnuefi/apps/*.efi %{buildroot}%{efi_esp_dir}/%{efi_arch}/
%ifarch x86_64 aarch64 riscv64
2024-04-03 12:44:01 +00:00
mkdir -p %{buildroot}%{_libdir}
mv %{buildroot}%{_prefix}/lib/pkgconfig %{buildroot}%{_libdir}
%endif
# delete useless file
rm %{buildroot}/usr/lib/gnuefi/apps/debughook.efi.debug
%files
%{_prefix}/lib/*.o
%{_prefix}/lib/*.lds
%files devel
2019-12-26 05:54:02 +00:00
%doc README.*
2007-06-12 16:28:56 +00:00
%{_includedir}/efi
%{_prefix}/lib/libefi.a
%{_prefix}/lib/libgnuefi.a
2024-04-03 12:44:01 +00:00
%{_libdir}/pkgconfig/gnu-efi.pc
%files utils
%dir %attr(0700,root,root) %{efi_esp_dir}/%{efi_arch}/
%attr(0700,root,root) %{efi_esp_dir}/%{efi_arch}/*.efi
%changelog
%autochangelog