summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@gentoo.org>2024-08-23 22:24:51 +0100
committerJames Le Cuirot <chewi@gentoo.org>2024-08-23 22:26:44 +0100
commitb5de09897b5252234a40a215b40c9fdd1b3d8468 (patch)
tree28eaa1188e49931c9d3f081913b99da210550716 /games-util
parentkernel-build.eclass: Merge two ifs in kernel-build_merge_configs() (diff)
downloadgentoo-b5de09897b5252234a40a215b40c9fdd1b3d8468.tar.gz
gentoo-b5de09897b5252234a40a215b40c9fdd1b3d8468.tar.bz2
gentoo-b5de09897b5252234a40a215b40c9fdd1b3d8468.zip
games-util/game-device-udev-rules: Version bump to 20240523
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Diffstat (limited to 'games-util')
-rw-r--r--games-util/game-device-udev-rules/Manifest1
-rw-r--r--games-util/game-device-udev-rules/game-device-udev-rules-20240523.ebuild87
2 files changed, 88 insertions, 0 deletions
diff --git a/games-util/game-device-udev-rules/Manifest b/games-util/game-device-udev-rules/Manifest
index 885d347adfb6..8a482bc1ab97 100644
--- a/games-util/game-device-udev-rules/Manifest
+++ b/games-util/game-device-udev-rules/Manifest
@@ -1,2 +1,3 @@
DIST steam-devices-13443480a64fe8f10676606bd57da6de89f8ccb1.tar.gz 2355 BLAKE2B 646094d6c586e3f43cdc39b6c7c9c06af559b867eda80ad913159b5d216990fd508dab71d2ba5c17286472af7e027b01b316854bf9e3cdc7876ba680ab290a21 SHA512 d10b4a2c8c36a3f080a2a90869281b6cf2cfc1614598b30ec5e12b579271c6c8e47fd9ed86dae1095ddeee33401fb8b92b54a9b60bb9a95e44734f3686f57c83
DIST steam-devices-d87ef558408c5e7a1a793d738db4c9dc2cb5f8fa.tar.gz 2305 BLAKE2B 677cec02dfa1899b9bad9440a5810175b731234db271413c2027a5a1a81dbdaa8c5ccd922478c07304262d5c3bf16891875dcdab08341720b97953035d5ae93d SHA512 54a0a9f293ca03c01c5f3609c08e9e8cc1273a034b1164399623c55ec994414ecacff04d049bc4195da5f0601bb17de52c9e1770a0161caac9bb4b74d921b35b
+DIST steam-devices-e2971e45063f6b327ccedbf18e168bda6749155c.tar.gz 2401 BLAKE2B 0660eec36dbff1d140a991debd2a88c7e2d95abafbf070e8bfb68dbff2fbf005fe2dc59a9a18bb0da3057b2b36db91a4f588d40c6639f5a7a841378354900077 SHA512 6b83e466902eb0baae866da3639724f04f2e1e4d054c97f79f8c750c0836e5c3b8a7e8f6840ec67a22b4bb40f21958de6cb72df2235af8df34f02645d0765c0f
diff --git a/games-util/game-device-udev-rules/game-device-udev-rules-20240523.ebuild b/games-util/game-device-udev-rules/game-device-udev-rules-20240523.ebuild
new file mode 100644
index 000000000000..54ac4c14b4bd
--- /dev/null
+++ b/games-util/game-device-udev-rules/game-device-udev-rules-20240523.ebuild
@@ -0,0 +1,87 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info udev
+
+# Although this is mainly a tweaked version of Steam's udev rules, it
+# also has its own rules and more may be added later so we version it
+# independently.
+
+STEAM_COMMIT="e2971e45063f6b327ccedbf18e168bda6749155c"
+MY_P="steam-devices-${STEAM_COMMIT}"
+
+DESCRIPTION="udev rules for various game hardware devices"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Games
+ https://github.com/ValveSoftware/steam-devices/"
+SRC_URI="https://github.com/ValveSoftware/steam-devices/archive/${STEAM_COMMIT}.tar.gz -> ${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="+acl elogind systemd"
+REQUIRED_USE="acl? ( || ( elogind systemd ) )"
+
+RDEPEND="
+ acl? (
+ elogind? ( sys-auth/elogind[acl] )
+ systemd? ( sys-apps/systemd[acl] )
+ )
+ !acl? (
+ acct-group/input
+ )
+ virtual/udev
+"
+
+pkg_setup() {
+ CONFIG_CHECK="~HIDRAW"
+ linux-info_pkg_setup
+
+ if ! use acl; then
+ elog "Users of game hardware devices must be added to the input group."
+
+ if use elogind || use systemd; then
+ ewarn "It is highly recommended that you enable USE=acl on this package instead"
+ ewarn "when using elogind or systemd as this is more secure and just works."
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ local SRC DEST EXTRA
+ for SRC in 60-steam-{input,vr}.rules; do
+ DEST=${SRC//steam/game}
+ EXTRA=${FILESDIR}/${DEST/./-20220311.}
+
+ # Make changes in a copy.
+ cp -v "${SRC}" "${DEST}" || die
+
+ # Append our additional rules.
+ if [[ -f ${EXTRA} ]]; then
+ cat "${EXTRA}" >> "${DEST}" || die
+ fi
+
+ # Clear any existing mode settings.
+ sed -i 's/, *MODE="[0-9]*"//' "${DEST}" || die
+
+ if ! use acl; then
+ # Replace uaccess tag with our group+mode if not using ACL.
+ sed -i 's/, *TAG+="uaccess"/, GROUP="input", MODE="0660"/' "${DEST}" || die
+ fi
+ done
+}
+
+src_install() {
+ udev_dorules 60-game-{input,vr}.rules
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}