File mediatek-mt7927-dkms.spec of Package mediatek-mt7927-dkms
%global dkms_name mediatek-mt7927
%global ver 2.13
%global subver 1
%global kver 7.1.3
Name: mediatek-mt7927-dkms
Version: %{ver}.%{subver}
Release: 1%{?dist}
Summary: DKMS WiFi 7 and Bluetooth 5.4 drivers for MediaTek MT7927 (Filogic 380)
License: GPL-2.0-only
URL: https://github.com/jetm/mediatek-mt7927-dkms
BuildArch: noarch
Source0: %{url}/archive/v%{ver}-%{subver}/%{name}-%{ver}-%{subver}.tar.gz
Source1: https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-%{kver}.tar.xz
Source2: DRV_WiFi_MTK_MT7925_MT7927_TP_W11_64_V5603998_20250709R.zip
BuildRequires: make
BuildRequires: curl
BuildRequires: python3
Requires: dkms
Requires(post): dkms
Requires(preun): dkms
Conflicts: btusb-mt7925-dkms
Conflicts: btusb-mt7927-dkms
%description
DKMS package for MediaTek MT7927 (Filogic 380) combo WiFi 7 + BT 5.4.
Builds out-of-tree btusb/btmtk (Bluetooth) and mt76 (WiFi) kernel modules
with device IDs and patches not yet in mainline Linux. Supports kernels 6.17+.
When MT7927 support is merged into mainline kernels and linux-firmware,
remove this package to use the in-tree drivers.
%prep
%autosetup -n %{name}-%{ver}-%{subver}
cp %{SOURCE1} %{SOURCE2} .
%build
make download
make sources SRCDIR=%{_builddir}/%{name}-%{ver}-%{subver}/_build
%install
make install \
SRCDIR=%{_builddir}/%{name}-%{ver}-%{subver}/_build \
DESTDIR=%{buildroot}
%post
dkms add -m %{dkms_name} -v %{ver} --rpm_safe_upgrade &&
dkms build -m %{dkms_name} -v %{ver} --rpm_safe_upgrade &&
dkms install -m %{dkms_name} -v %{ver} --rpm_safe_upgrade --force ||
true
%preun
dkms remove -m %{dkms_name} -v %{ver} --rpm_safe_upgrade --all || :
%files
%{_usrsrc}/%{dkms_name}-%{ver}
%dir /usr/lib/firmware/mediatek
%dir /usr/lib/firmware/mediatek/mt7927
/usr/lib/firmware/mediatek/mt7927/BT_RAM_CODE_MT6639_2_1_hdr.bin
/usr/lib/firmware/mediatek/mt7927/WIFI_MT6639_PATCH_MCU_2_1_hdr.bin
/usr/lib/firmware/mediatek/mt7927/WIFI_RAM_CODE_MT6639_2_1.bin