summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2023-05-23 05:50:18 -0400
committerIonen Wolkens <ionen@gentoo.org>2023-05-29 09:03:28 -0400
commit75a8a620b0087105c1b2f132b8008a952341f8a2 (patch)
treefb75c3817b039cafc4fa4997939b813892f0c6d0
parentapp-admin/ryzen_smu: migrate to linux-mod-r1 (diff)
downloadgentoo-75a8a620b0087105c1b2f132b8008a952341f8a2.tar.gz
gentoo-75a8a620b0087105c1b2f132b8008a952341f8a2.tar.bz2
gentoo-75a8a620b0087105c1b2f132b8008a952341f8a2.zip
games-util/xpadneo: migrate to linux-mod-r1
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
-rw-r--r--games-util/xpadneo/xpadneo-0.9.5-r1.ebuild73
-rw-r--r--games-util/xpadneo/xpadneo-9999.ebuild29
2 files changed, 87 insertions, 15 deletions
diff --git a/games-util/xpadneo/xpadneo-0.9.5-r1.ebuild b/games-util/xpadneo/xpadneo-0.9.5-r1.ebuild
new file mode 100644
index 000000000000..c1de2e3d642d
--- /dev/null
+++ b/games-util/xpadneo/xpadneo-0.9.5-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1 udev
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/atar-axis/xpadneo.git"
+ EGIT_MIN_CLONE_TYPE="single"
+else
+ SRC_URI="https://github.com/atar-axis/xpadneo/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Advanced Linux Driver for Xbox One Wireless Controller"
+HOMEPAGE="https://atar-axis.github.io/xpadneo/"
+
+LICENSE="GPL-3"
+SLOT="0"
+
+CONFIG_CHECK="INPUT_FF_MEMLESS"
+
+src_compile() {
+ local modlist=( hid-${PN}=kernel/drivers/hid:hid-${PN}:hid-${PN}/src )
+ local modargs=( KERNEL_SOURCE_DIR="${KV_OUT_DIR}" )
+
+ linux-mod-r1_src_compile
+}
+
+src_install() {
+ local DOCS=( docs/{[^i]*.md,descriptors,reports} NEWS.md )
+ linux-mod-r1_src_install
+
+ insinto /etc/modprobe.d
+ doins hid-${PN}/etc-modprobe.d/${PN}.conf
+
+ udev_dorules hid-${PN}/etc-udev-rules.d/60-${PN}.rules
+}
+
+pkg_postinst() {
+ linux-mod-r1_pkg_postinst
+ udev_reload
+
+ local disable_ertm=/sys/module/bluetooth/parameters/disable_ertm
+ if kernel_is -ge 5 12; then
+ if [[ $(<${disable_ertm}) == Y ]]; then
+ elog "Warning: bluetooth ERTM (Enhanced ReTransmission Mode) is disabled."
+ elog "This is no longer recommended with kernel >=5.12 to use ${PN}."
+ elog "Can remove ${EROOT}/etc/modprobe.d/no-ertm.conf if it exists, and run:"
+ elog " echo N > ${disable_ertm}"
+ elog "After changing, may need to re-pair the gamepad with bluetooth."
+ fi
+ elif [[ $(<${disable_ertm}) == N ]]; then
+ elog "Warning: bluetooth ERTM (Enhanced ReTransmission Mode) is enabled."
+ elog "While keeping enabled is recommended for rumble usage stability, it can"
+ elog "cause connection issues without a fix included in kernel >=5.12"
+ elog "If needed, this mode can be disabled by running:"
+ elog " echo Y > ${disable_ertm}"
+ elog " echo 'options bluetooth disable_ertm=y' > ${EROOT}/etc/modprobe.d/no-ertm.conf"
+ elog "After changing, may need to re-pair the gamepad with bluetooth."
+ fi
+
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ elog "To pair the gamepad and view module options, see documentation in:"
+ elog " ${EROOT}/usr/share/doc/${PF}/"
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/games-util/xpadneo/xpadneo-9999.ebuild b/games-util/xpadneo/xpadneo-9999.ebuild
index b193e5517951..c1de2e3d642d 100644
--- a/games-util/xpadneo/xpadneo-9999.ebuild
+++ b/games-util/xpadneo/xpadneo-9999.ebuild
@@ -1,10 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-# pkgcheck note: toolchain-funcs is not unused
-inherit linux-mod toolchain-funcs udev
+inherit linux-mod-r1 udev
if [[ ${PV} == 9999 ]]; then
inherit git-r3
@@ -21,26 +20,27 @@ HOMEPAGE="https://atar-axis.github.io/xpadneo/"
LICENSE="GPL-3"
SLOT="0"
-S="${WORKDIR}/${P}/hid-${PN}"
-MODULE_NAMES="hid-${PN}(kernel/drivers/hid::src)"
-BUILD_PARAMS='V=1 LD="$(tc-getLD)" KERNEL_SOURCE_DIR="${KV_OUT_DIR}"'
-BUILD_TARGETS="modules"
-
CONFIG_CHECK="INPUT_FF_MEMLESS"
+src_compile() {
+ local modlist=( hid-${PN}=kernel/drivers/hid:hid-${PN}:hid-${PN}/src )
+ local modargs=( KERNEL_SOURCE_DIR="${KV_OUT_DIR}" )
+
+ linux-mod-r1_src_compile
+}
+
src_install() {
- linux-mod_src_install
+ local DOCS=( docs/{[^i]*.md,descriptors,reports} NEWS.md )
+ linux-mod-r1_src_install
insinto /etc/modprobe.d
- doins etc-modprobe.d/${PN}.conf
-
- udev_dorules etc-udev-rules.d/60-${PN}.rules
+ doins hid-${PN}/etc-modprobe.d/${PN}.conf
- dodoc -r ../docs/{[^i]*.md,descriptors,reports} ../NEWS.md
+ udev_dorules hid-${PN}/etc-udev-rules.d/60-${PN}.rules
}
pkg_postinst() {
- linux-mod_pkg_postinst
+ linux-mod-r1_pkg_postinst
udev_reload
local disable_ertm=/sys/module/bluetooth/parameters/disable_ertm
@@ -69,6 +69,5 @@ pkg_postinst() {
}
pkg_postrm() {
- linux-mod_pkg_postrm
udev_reload
}