diff --git a/app-misc/solaar/Manifest b/app-misc/solaar/Manifest index 5a6e1a0bee477..f839f7fe2bd5e 100644 --- a/app-misc/solaar/Manifest +++ b/app-misc/solaar/Manifest @@ -1,4 +1,5 @@ DIST solaar-1.1.13.tar.gz 1779788 BLAKE2B fd138c3c9faa467e356240e8cfc73f420776228f407092cc2f8bca3a9443e4820dad923c8d997d41934fbf7fd728b17a9674c7f9affaf4cd8616c779f6141ff1 SHA512 4557c82bddf88a604e9316806b8d37296acc4b4486a64605199f85949f6b5d5fd5dd94b25742e5b41d01fba4da40dd5ab2e354d536856ecf3310557b4a7d23a0 DIST solaar-1.1.14.tar.gz 1790657 BLAKE2B bc2d2d42e4af02f72ecf9fb25152605582ada758b30c4019d7579a81f082bb121b18369ba349ae9c73401548d41cb321ed43415cd9dbad65d3919f58d1e93470 SHA512 2af8785a36b085e42ba885d8380fe9a967eb864a7443e4a96e6ab04cd3e2128ce6c0540c74d327953cc446f463bcc1d5d20c303ef14196b70e7e552e0caceaf9 DIST solaar-1.1.16.tar.gz 1813937 BLAKE2B dc53ba62b77cebb3fbf6d51c8ef0e07272506ffc86dfd2120740ce1180712160de52fbb9eb58c14f7524c874320d211bbb7500421d575909d500deb373470e81 SHA512 e6a83e046e36801e30c15819815bb5566028a527b1c54d5d5f036a677a12bca13781cc1d622dc400c6cc3b1a3303aa492f7ef8200937a3ee4d0abe0fe3344ec2 +DIST solaar-1.1.17.tar.gz 1837647 BLAKE2B cb0600010e7c63c54a3017517b39aa0ba1ab1ab6da872088a5f7f7b460d26b2ded4a23cce87e263d791612cda480159667b289ecc7759da5611cbdfc34cb694a SHA512 11059d8f0ceec2cc92593c11ed3a043fa90006c4bdf92be85cfb6bb7b94d458ec136d99016b4ef2dce1dfc1afeecb440edf373eb71c41b957e0ddfdddd57d5b2 DIST solaar-1.1.9.tar.gz 1564119 BLAKE2B 67161bdd2a59ff17cafcdc5399f9f0c072985df85b2d0408e54c8f4e4966c3602a2b62f93b90e56e80fb3c4cbd285de2bbcc87a7709bea06ee4394f42a16f52e SHA512 42ea592aa8c4020be5e2ffd096de0bf6a7e6fdfac7eb2acd069c80084f88979398f779db6507b8b2cc4fd44c8a2ffce89024a42c161f130b4e1bd2c53e4e73a9 diff --git a/app-misc/solaar/metadata.xml b/app-misc/solaar/metadata.xml index 7763b58729741..9bf56db4ceb82 100644 --- a/app-misc/solaar/metadata.xml +++ b/app-misc/solaar/metadata.xml @@ -4,6 +4,9 @@ robbat2@gentoo.org + + chutzpah@gentoo.org + pwr-Solaar/Solaar diff --git a/app-misc/solaar/solaar-1.1.17.ebuild b/app-misc/solaar/solaar-1.1.17.ebuild new file mode 100644 index 0000000000000..a1f5eb2f4f436 --- /dev/null +++ b/app-misc/solaar/solaar-1.1.17.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..14} ) + +inherit linux-info udev xdg distutils-r1 + +DESCRIPTION="Linux Device Manager for Logitech Unifying Receivers and Paired Devices" +HOMEPAGE="https://pwr-solaar.github.io/Solaar/" +if [[ ${PV} =~ 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/pwr-Solaar/Solaar" +else + SRC_URI="https://github.com/pwr-Solaar/Solaar/archive/${PV/_rc/rc}.tar.gz -> ${P/_rc/rc}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~x86" + S="${WORKDIR}"/Solaar-${PV/_rc/rc} +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="appindicator dbus doc libnotify test wayland" +RESTRICT="!test? ( test )" + +RDEPEND=" + acct-group/plugdev + dev-python/evdev[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] + dev-python/python-xlib[${PYTHON_USEDEP}] + >=dev-python/pyudev-0.13[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/typing-extensions[${PYTHON_USEDEP}] + x11-libs/gtk+:3[introspection] + appindicator? ( dev-libs/libayatana-appindicator ) + libnotify? ( x11-libs/libnotify[introspection] ) + dbus? ( dev-python/dbus-python ) +" +BDEPEND=" + test? ( + dev-python/pytest-mock[${PYTHON_USEDEP}] + ) +" +# libayatana-appindicator & libnotify are entirely optional and detected at runtime + +CONFIG_CHECK="~HID_LOGITECH_DJ ~HIDRAW" + +distutils_enable_tests pytest + +python_prepare_all() { + # don't autostart (bug #494608) + sed -r \ + -e '/yield autostart_path/d' \ + -e '/yield.*udev.*rules.d/{s,/etc,/lib,g}' \ + -i setup.py || die + + # grant plugdev group rw access + sed 's/#MODE=/MODE=/' \ + -i rules.d/42-logitech-unify-permissions.rules || die + # and the same for wayland (bug #933418) + sed 's/#MODE=/MODE=/' \ + -i rules.d-uinput/42-logitech-unify-permissions.rules || die + + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + + dodoc docs/devices.md CHANGELOG.md + if use doc; then + dodoc -r docs/* + else + newdoc docs/index.md README.md + fi + + # bug #933418 + if use wayland; then + udev_dorules "${S}"/rules.d-uinput/42-logitech-unify-permissions.rules + else + udev_dorules "${S}"/rules.d/42-logitech-unify-permissions.rules + fi +} + +python_test() { + local -a EPYTEST_DESELECT=( + # don't like sandbox + tests/logitech_receiver/test_desktop_notifications.py::test_notifications_available + tests/logitech_receiver/test_desktop_notifications.py::test_init + tests/logitech_receiver/test_desktop_notifications.py::test_show + tests/solaar/ui/test_desktop_notifications.py::test_notifications_available + tests/solaar/ui/test_desktop_notifications.py::test_init + tests/solaar/ui/test_desktop_notifications.py::test_show + ) + + distutils-r1_python_test +} + +pkg_postinst() { + udev_reload + xdg_pkg_postinst +} + +pkg_postrm() { + udev_reload + xdg_pkg_postrm +}