blob: c7555749a6da10184477cd116841807895bef241 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# Maintainer:
# Contributor: Michał Kopeć <michal@nozomi.space>
: ${_commit:=29ec3577e52a50f876440c81267f609575c5161e} # 0.3.r57
_pkgname="xone"
pkgname="xone-dkms"
pkgver=0.3
pkgrel=5
pkgdesc='Modern Linux driver for Xbox One and Xbox Series X|S controllers'
url='https://github.com/medusalix/xone'
license=('GPL-2.0-or-later')
arch=('x86_64')
depends=(
'dkms'
)
makedepends=(
'git'
)
optdepends=(
'xone-dongle-firmware: for wireless controllers'
)
_source_main() {
_pkgsrc="medusalix.xone"
source=("$_pkgsrc"::"git+$url.git#commit=$_commit")
sha256sums=('SKIP')
}
_source_patch() {
source+=("0001-PR53-fix-for-linux-6.12.patch"::"https://github.com/medusalix/xone/pull/53.diff")
sha256sums+=('2f700ff6b187efc2cdd5dd47c373cabf5085c7551b6f0466bcc6b0dc68c65e11')
}
_source_main
_source_patch
prepare() {
cd "$_pkgsrc"
local src
for src in "${source[@]}"; do
src="${src%%::*}"
src="${src##*/}"
src="${src%.zst}"
if [[ $src == *.patch ]]; then
printf '\nApplying patch: %s\n' "$src"
patch -Np1 -F100 -i "${srcdir:?}/$src"
echo
fi
done
}
package() {
# set module version
find "$_pkgsrc" -type f \( -name 'dkms.conf' -o -name '*.c' \) -exec sed -i "s/#VERSION#/$pkgver/" {} +
# enable debug
#echo 'ccflags-y += -DDEBUG' >> "Kbuild"
# copy module to /usr/src
install -dm755 "$pkgdir/usr/src/$_pkgname-$pkgver"
cp --reflink=auto -a "$_pkgsrc"/* "$pkgdir/usr/src/$_pkgname-$pkgver/"
# blacklist xpad module
install -D -m 644 "$_pkgsrc/install/modprobe.conf" "$pkgdir/usr/lib/modprobe.d/xone-blacklist.conf"
}
|