commit:     dcff230266b80b6c8c1f6b3c88bf30be5b7617c7
Author:     Michael Mair-Keimberger <mmk <AT> levelnine <DOT> at>
AuthorDate: Sat Jun  3 15:12:10 2023 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sun Jun 18 22:18:00 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dcff2302

games-util/game-device-udev-rules: version bump, add config check

Signed-off-by: Michael Mair-Keimberger <mmk <AT> levelnine.at>
Closes: https://github.com/gentoo/gentoo/pull/31287
Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 games-util/game-device-udev-rules/Manifest         |  1 +
 .../game-device-udev-rules-20230603.ebuild         | 88 ++++++++++++++++++++++
 2 files changed, 89 insertions(+)

diff --git a/games-util/game-device-udev-rules/Manifest 
b/games-util/game-device-udev-rules/Manifest
index 2bd07d900f78..885d347adfb6 100644
--- a/games-util/game-device-udev-rules/Manifest
+++ b/games-util/game-device-udev-rules/Manifest
@@ -1 +1,2 @@
+DIST steam-devices-13443480a64fe8f10676606bd57da6de89f8ccb1.tar.gz 2355 
BLAKE2B 
646094d6c586e3f43cdc39b6c7c9c06af559b867eda80ad913159b5d216990fd508dab71d2ba5c17286472af7e027b01b316854bf9e3cdc7876ba680ab290a21
 SHA512 
d10b4a2c8c36a3f080a2a90869281b6cf2cfc1614598b30ec5e12b579271c6c8e47fd9ed86dae1095ddeee33401fb8b92b54a9b60bb9a95e44734f3686f57c83
 DIST steam-devices-d87ef558408c5e7a1a793d738db4c9dc2cb5f8fa.tar.gz 2305 
BLAKE2B 
677cec02dfa1899b9bad9440a5810175b731234db271413c2027a5a1a81dbdaa8c5ccd922478c07304262d5c3bf16891875dcdab08341720b97953035d5ae93d
 SHA512 
54a0a9f293ca03c01c5f3609c08e9e8cc1273a034b1164399623c55ec994414ecacff04d049bc4195da5f0601bb17de52c9e1770a0161caac9bb4b74d921b35b

diff --git 
a/games-util/game-device-udev-rules/game-device-udev-rules-20230603.ebuild 
b/games-util/game-device-udev-rules/game-device-udev-rules-20230603.ebuild
new file mode 100644
index 000000000000..1ebbb07982f0
--- /dev/null
+++ b/games-util/game-device-udev-rules/game-device-udev-rules-20230603.ebuild
@@ -0,0 +1,88 @@
+# Copyright 2020-2023 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="13443480a64fe8f10676606bd57da6de89f8ccb1"
+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"
+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
+"
+
+S="${WORKDIR}/${MY_P}"
+
+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/./-"${PV}".}
+
+               # 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
+}

Reply via email to