File proxmark3.spec of Package proxmark3
Name: proxmark3
Version: v4.18589
Release: 0
Summary: Proxmark3 client software
License: GPL-3.0-only
URL: https://github.com/RfidResearchGroup/proxmark3
Source0: %{name}-%{version}.tar
Patch0: 0001-build-firmware-folders.patch
BuildRequires: fdupes
BuildRequires: git
%if 0%{?suse_version}
BuildRequires: cross-arm-none-gcc13 cross-arm-none-newlib-devel
%endif
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
BuildRequires: arm-none-eabi-gcc, arm-none-eabi-newlib libatomic
%endif
BuildRequires: gcc-c++ >= 12
BuildRequires: pkgconfig(readline)
BuildRequires: pkgconfig(liblz4)
BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(bluez)
BuildRequires: pkgconfig(python3)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(gdlib)
BuildRequires: pkgconfig(jansson)
Recommends: %{name}-udev
%description
Proxmark3 client software, iceman fork.
%prep
%autosetup -p1
%build
%make_build PREFIX=%{_prefix} UDEV_PREFIX=%{_udevrulesdir} %{?_smp_mflags}
mkdir firmware
env MKFLAGS=%{?_smp_mflags} DEST=./firmware bash tools/build_all_firmwares.sh
%install
make install PREFIX=%{_prefix} INSTALLTOOLSRELPATH=local/proxmark3/tools UDEV_PREFIX=%{_udevrulesdir} DESTDIR=%{buildroot} %{?_smp_mflags}
mv firmware/* %{buildroot}%{_datadir}/proxmark3/firmware
%fdupes %{buildroot}%{_datadir}
%package firmware-generic
Summary: Firmware files for generic Proxmark3 variants
Group: Development/Libraries
BuildArch: noarch
Recommends: %{name}-firmware-bootrom
%description firmware-generic
%{summary}.
%files firmware-generic
%defattr(-,root,root,-)
%{_datadir}/proxmark3/firmware/PM3GENERIC
%dir %{_datadir}/proxmark3/firmware
%license LICENSE.txt
%package firmware-rdv4
Summary: Firmware files for Proxmark3 RDV4
Group: Development/Libraries
BuildArch: noarch
Recommends: %{name}-firmware-bootrom
%description firmware-rdv4
%{summary}.
%files firmware-rdv4
%defattr(-,root,root,-)
%{_datadir}/proxmark3/firmware/PM3RDV4
%dir %{_datadir}/proxmark3/firmware
%license LICENSE.txt
%package firmware-rdv4-bt
Summary: Firmware files for Proxmark3 RDV4 with BT addon
Group: Development/Libraries
BuildArch: noarch
Recommends: %{name}-firmware-bootrom
%description firmware-rdv4-bt
%{summary}.
%files firmware-rdv4-bt
%defattr(-,root,root,-)
%{_datadir}/proxmark3/firmware/PM3RDV4_BTADDON
%dir %{_datadir}/proxmark3/firmware
%license LICENSE.txt
%package firmware-bootrom
Summary: Bootrom file for Proxmark3
Group: Development/Libraries
BuildArch: noarch
%description firmware-bootrom
%{summary}.
%files firmware-bootrom
%defattr(-,root,root,-)
%{_datadir}/proxmark3/firmware/PM3BOOTROM.elf
%dir %{_datadir}/proxmark3/firmware
%license LICENSE.txt
%files
%{_bindir}/pm3*
%{_bindir}/proxmark3
%docdir %{_datadir}/doc/proxmark3
%{_datadir}/doc/proxmark3
%{_datadir}/proxmark3
%{_prefix}/local/proxmark3
%exclude %{_datadir}/proxmark3/firmware
%license LICENSE.txt
%package udev
Summary: Proxmark3 ModemManader udev rules
BuildArch: noarch
%description udev
Proxmark3 client software, iceman fork. udev rules to allow ModemManager compatibility.
%files udev
%{_udevrulesdir}/*.rules
%license LICENSE.txt