# SPDX-License-Identifier: MIT # Copyright (C) 2026 Evgenii Morozov %global buildforkernels akmod %global debug_package %{nil} Name: xone-kmod Version: 0.5.8 Release: %autorelease Summary: Linux kernel driver for Xbox One and Xbox Series X|S accessories License: GPL-2.0-or-later URL: https://github.com/dlundqvist/xone Source0: https://github.com/dlundqvist/xone/archive/refs/tags/v%{version}.tar.gz#/xone-%{version}.tar.gz BuildRequires: %{_bindir}/kmodtool BuildRequires: gcc BuildRequires: make %{!?kernels:BuildRequires: buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu} } %{expand:%(kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) } %description Xone is a Linux kernel driver for Xbox One and Xbox Series X|S accessories. It serves as a modern replacement for xpad, aiming to be compatible with Microsoft's Game Input Protocol (GIP). %prep %{?kmodtool_check} # print kmodtool output for debugging purposes: kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{name} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null %setup -q -c -T -a 0 for kernel_version in %{?kernel_versions} ; do cp -a xone-%{version} _kmod_build_${kernel_version%%___*} done %build for kernel_version in %{?kernel_versions}; do make %{?_smp_mflags} -C "${kernel_version##*___}" M=${PWD}/_kmod_build_${kernel_version%%___*} done %install # Only install modules that don't require proprietary firmware (can also handle that through patch so that we don't install the firmware stuff) modules=( xone_gip.ko xone_wired.ko xone_gip_headset.ko xone_gip_gamepad.ko ) for kernel_version in %{?kernel_versions}; do for m in "${modules[@]}"; do install -D -m 755 _kmod_build_${kernel_version%%___*}/${m} ${RPM_BUILD_ROOT}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/${m} done done %{?akmod_install} %changelog %autochangelog