blob: 90757831871d805b51089f29ddc9bb37f11a7166 (
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
|
# Maintainer: marmis <tiagodepalves@gmail.com>
# Contributor: vitor_hideyoshi <vitor.h.n.batista@gmail.com>
# Contributor: katt <magunasu.b97@gmail.com>
# Contributor: Yangtse Su <i@yangtse.me>
_pkgname=xpadneo
_dkmsname=hid-${_pkgname}
pkgname=${_pkgname}-dkms
pkgver=0.9.6
_pkgver=v${pkgver}
pkgrel=2
pkgdesc="Advanced Linux Driver for Xbox One Wireless Gamepad"
arch=(any)
url='https://github.com/atar-axis/xpadneo'
license=(GPL-3.0-or-later)
depends=('dkms' 'bluez' 'bluez-utils')
source=("${_pkgname}-${_pkgver}.tar.gz::${url}/archive/${_pkgver}.tar.gz"
01-drop-etc-files.patch 02-kernel-6-12.patch)
b2sums=('22a85732de2894d310e0994c101ed62b7358f1b6b8ba5b389fc273bfd48a1ce619ebc04f3699818290f61833234d4c444fff25ea852d9dcf420b99ab28687a03'
'480c0301dc0140168d85e5f578dfcaac3a9fa664a99b1c85ca76eefe5fc571a2ee956b4350c4cebd8e89241538a3edde044e8cc6f5b634aa69fd1c02e0c5afdc'
'b4336e7811b29f645ba996d8241e868196c0cca762a439c52c25f2da2abb6eb99a921c33521826ea6102409edba009bb09d97c110adfdff1f9f7ebdd3e076e55')
prepare() {
cd "${_pkgname}-${pkgver}/${_dkmsname}"
# Upstream uses dkms.post_install to create modprobe and udev files in
# /etc. In Arch, it makes more sense to create these files in /usr/lib
# and let pacman take care of them.
patch -p1 -i "${srcdir}/01-drop-etc-files.patch"
# Fix for Linux kernel 6.12 (https://github.com/atar-axis/xpadneo/issues/498)
# Thanks Kudlaty for the heads-up.
patch -p2 -i "${srcdir}/02-kernel-6-12.patch"
# Set the current version in DKMS config file.
sed "s/@DO_NOT_CHANGE@/${_pkgver}/" dkms.conf.in > dkms.conf
}
check() {
# Warning if missing linux-headers for current `uname -r` kernel
if [ ! -f "/usr/lib/modules/$(uname -r)/build/Makefile" ]
then
_BOLDRED='\033[1;31m'
_RED='\033[0;31m'
_RESET='\033[0m'
echo -e "${_BOLDRED}WARNING:${_RED} You may be missing headers for your current kernel, DKMS packages requires them."
echo -e "Please refer to https://wiki.archlinux.org/title/Dynamic_Kernel_Module_Support for details.${_RESET}"
fi
}
package() {
cd "${_pkgname}-${pkgver}/${_dkmsname}"
# Module source
install -Dm0644 -t "${pkgdir}/usr/src/${_dkmsname}-${_pkgver}/src" src/*
# DKMS files
install -Dm0644 -t "${pkgdir}/usr/src/${_dkmsname}-${_pkgver}" Makefile dkms.conf
install -Dm0755 -t "${pkgdir}/usr/src/${_dkmsname}-${_pkgver}" dkms.post_install dkms.post_remove
# Module dependencies
install -Dm0644 -t "${pkgdir}/usr/lib/modprobe.d" etc-modprobe.d/*
install -Dm0644 -t "${pkgdir}/usr/lib/udev/rules.d" etc-udev-rules.d/*
}
|