summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-misc/g810-led/Manifest1
-rw-r--r--app-misc/g810-led/g810-led-0.4.2.ebuild77
2 files changed, 78 insertions, 0 deletions
diff --git a/app-misc/g810-led/Manifest b/app-misc/g810-led/Manifest
index 6feff0f1a836..68fa7a2e93b1 100644
--- a/app-misc/g810-led/Manifest
+++ b/app-misc/g810-led/Manifest
@@ -1 +1,2 @@
DIST g810-led-0.3.6.tar.gz 34544 BLAKE2B 142fd54d7721a1deebfb019b644a4c8ab0fd5e1662391075cea67a4c7b7145034101f14c22975bdf079ee5b8e56c4a73e18fe31ce5d7fcf20ff4b9c64ee85502 SHA512 5a1877ee135a662bc5eb15c1afe5370cfe9243b4479823e3492f0da8f407b1438e3d7e35bd9992eea8dcbd4d548c9acdb7e74f4c99efbd4e9e8e6ddae33f8a5b
+DIST g810-led-0.4.2.tar.gz 36669 BLAKE2B 738ca1849b05ddc35e42c258f67b2fedc2ab207594a32111aeca8cb1cffa99580e0f22e57ea92aff0e49f546e871b5af1c77cd5830349af98c9a977b27a0186b SHA512 03e62265964b6d47d474b57a92beb3a017e8479113750e7d52790d0779b8893eb7e3761f236db94ff1e1ddb0424c711fd1a35c869d0f93ad68104b1ddd2bf1e8
diff --git a/app-misc/g810-led/g810-led-0.4.2.ebuild b/app-misc/g810-led/g810-led-0.4.2.ebuild
new file mode 100644
index 000000000000..5e5b098aef05
--- /dev/null
+++ b/app-misc/g810-led/g810-led-0.4.2.ebuild
@@ -0,0 +1,77 @@
+# Copyright 2018-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils systemd toolchain-funcs udev
+
+DESCRIPTION="Led controller for Logitech G- Keyboards"
+HOMEPAGE="https://github.com/MatMoul/g810-led"
+SRC_URI="https://github.com/MatMoul/g810-led/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+hidapi"
+
+RDEPEND="
+ hidapi? ( dev-libs/hidapi:= )
+ !hidapi? ( virtual/libusb:= )
+ "
+DEPEND="${RDEPEND}"
+
+DOCS=("README.md" "sample_profiles" "sample_effects")
+
+src_prepare() {
+ default
+ # See
+ # https://github.com/systemd/systemd/issues/4288
+ # https://sourceforge.net/p/sigrok/mailman/sigrok-devel/thread/12691365.gQiffmFRoU%40pebbles.site/
+ # We remove the MODE-bit since it's already set to 660+GROUP="input" by default udev rules
+ sed -i \
+ -e 's|MODE="666"|TAG+="uaccess",|' \
+ udev/g810-led.rules || die
+}
+
+src_compile() {
+ emake LIB="$(usex hidapi hidapi libusb)" CXX="$(tc-getCXX)" bin-linked
+}
+
+src_install() {
+ dolib.so "lib/libg810-led.so.${PV}"
+ dosym "libg810-led.so.${PV}" "/usr/$(get_libdir)/libg810-led.so"
+
+ insinto /etc/g810-led/
+ newins sample_profiles/group_keys profile
+ newins sample_profiles/all_off reboot
+
+ dobin bin/g810-led
+ local boards=(213 410 413 512 513 610 815 910 pro)
+ local x
+ for x in "${boards[@]}"; do
+ dosym g810-led "/usr/bin/g${x}-led"
+ done
+
+ insinto /usr/include/g810-led
+ doins src/classes/*.h
+
+ systemd_dounit systemd/g810-led.service
+ systemd_dounit systemd/g810-led-reboot.service
+
+ udev_newrules udev/g810-led.rules 60-g810-led.rules
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ elog "The file /etc/g810-led/profile is run on boot and device insertion."
+ elog "The default file can be replaced by other examples:"
+ elog "/usr/share/doc/${PF}/sample_profiles"
+ elog "Read the documentation in:"
+ elog "/usr/share/doc/${PF}/"
+ elog "to make your own."
+ if systemd_is_booted; then
+ elog "To turn off the LEDs on shutdown and save power, do:"
+ elog "systemctl enable g810-led-reboot.service"
+ fi
+}