# EFI/UEFI binaries are not ELF, but PE32/PE32+/COFF
%global debug_package %{nil}

# Disable LTO because it breaks EFI binary build
%global _lto_cflags %{nil}

%global commit c134e616128d64c52c7634f77dbc2919e013fe5d
%global commitdate 20240520
%global shortcommit %(c=%{commit}; echo ${c:0:7})

Name:           btrfs-efi
Version:        20230328^git%{commitdate}.%{shortcommit}
Release:        1%{?dist}
Summary:        EFI driver to enable Btrfs support

License:        LGPL-2.1-or-later
URL:            https://github.com/maharmstone/btrfs-efi
Source:         %{url}/archive/%{commit}/%{name}-%{commit}.tar.gz

# Fix missing include
## Proposed upstream: https://github.com/maharmstone/btrfs-efi/pull/4
Patch:          0001-Add-missing-wchar.h-header.patch

# Fix with native GCC
Patch:          0001-cmake-Refactor-to-use-an-EFI-building-module.patch
# Drop dupe memcpy and memset
Patch:          0001-Drop-duplicate-memcpy-and-memset-functions.patch

BuildRequires:  cmake
BuildRequires:  gcc
BuildRequires:  git-core
BuildRequires:  gnu-efi-devel
BuildRequires:  make

ExclusiveArch:  %{efi}

%description
%{summary}.

%dnl -------------------------------------------------------------

%package unsigned-%{efi_arch}
Summary:        EFI driver for %{efi_arch} to enable Btrfs support
License:        LGPL-2.1-or-later AND Zlib AND BSD-3-Clause
Requires:       efi-filesystem
Provides:       %{name}-driver-%{efi_arch}
Conflicts:      %{name}-driver-%{efi_arch}
# Modified versions for building in the EFI driver
Provides:       bundled(lzo)
Provides:       bundled(zlib)
Provides:       bundled(zstd)

BuildArch:      noarch

%description unsigned-%{efi_arch}
%{summary}.

%files unsigned-%{efi_arch}
%license LICENCE
%doc README.md
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/btrfs%{efi_arch}.efi

%dnl -------------------------------------------------------------

%prep
%autosetup -n %{name}-%{commit} -S git_am


%build
%cmake
%cmake_build


%install
%cmake_install


%changelog
* Sat Aug 31 2024 Neal Gompa <ngompa@fedoraproject.org> - 20230328^git20240520.c134e61-1
- Initial package