diff options
Diffstat (limited to 'games-util/game-device-udev-rules')
-rw-r--r-- | games-util/game-device-udev-rules/Manifest | 2 | ||||
-rw-r--r-- | games-util/game-device-udev-rules/game-device-udev-rules-20230603.ebuild | 88 |
2 files changed, 90 insertions, 0 deletions
diff --git a/games-util/game-device-udev-rules/Manifest b/games-util/game-device-udev-rules/Manifest index 57c3956d40da..38adb98a832d 100644 --- a/games-util/game-device-udev-rules/Manifest +++ b/games-util/game-device-udev-rules/Manifest @@ -1,4 +1,6 @@ AUX 60-game-input-20220311.rules 225 BLAKE2B 049966d6eb8e061bec5b18b3361957ceb29d23782a0cf361bebec618d1a4b4d2924782abb601cc4bdd15ff959346c42a33ff40da17feef02acf284294bbcbdc2 SHA512 1fd23d370d17f7c98445671c1d0138db7e69b405e8c630e54a094da021fb5fb716966d1da1f22043f9dfadc42e89efc3147c9bbc04c4100383de7ca2887a0700 +DIST steam-devices-13443480a64fe8f10676606bd57da6de89f8ccb1.tar.gz 2355 BLAKE2B 646094d6c586e3f43cdc39b6c7c9c06af559b867eda80ad913159b5d216990fd508dab71d2ba5c17286472af7e027b01b316854bf9e3cdc7876ba680ab290a21 SHA512 d10b4a2c8c36a3f080a2a90869281b6cf2cfc1614598b30ec5e12b579271c6c8e47fd9ed86dae1095ddeee33401fb8b92b54a9b60bb9a95e44734f3686f57c83 DIST steam-devices-d87ef558408c5e7a1a793d738db4c9dc2cb5f8fa.tar.gz 2305 BLAKE2B 677cec02dfa1899b9bad9440a5810175b731234db271413c2027a5a1a81dbdaa8c5ccd922478c07304262d5c3bf16891875dcdab08341720b97953035d5ae93d SHA512 54a0a9f293ca03c01c5f3609c08e9e8cc1273a034b1164399623c55ec994414ecacff04d049bc4195da5f0601bb17de52c9e1770a0161caac9bb4b74d921b35b EBUILD game-device-udev-rules-20220311.ebuild 1927 BLAKE2B d06592e4c0b9d4ef7bebc01b5b3cee1f531404674462d5094a127f6444b2bf681f297629220168babef1c30af14b6561184c62fdb6e917f91f35013109d690e4 SHA512 aaad7abcbd0a5d3d4c4f3dd8641fd847d09a18b782bbcdb9b12726b7e28a7d3c24d9129737cb1532d28c514d031e04335f2e2dbc537d0039ae73a34a78d2ddbe +EBUILD game-device-udev-rules-20230603.ebuild 2034 BLAKE2B 8479828e97fec29529cad66dfb3330153c0df9cea0c524a8501cc0223f1218f13bacea50ed8e17609a811fe4c66e4f7b87851b711d7437f221d505d4babda592 SHA512 525a24346dd7cbe13d0ee18824b8a7007dd0495f00e58ae4a276c2b1e574df4faa9c691c817e90fb648d1e3be02c4b1b70b2a63d3ecbb40b2cba152ae7a37f01 MISC metadata.xml 362 BLAKE2B dc08f40ec0b96ccae5aae0316565ea1b9b79d27d7c656d52761fa9c6c671e6e8eb37572d6820182b95b383641d3305aca071d802e6feec5e2e406022a5e0ea5d SHA512 ade0f9814d7adb32c77232b9a9e5e00782562b93f330e925f55366c78b4171f731c1916f41447386a5ef8ec3822db2d00c9ec1d2668180e9e5f6423b3423a0c0 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 +} |