| 1 |
|
# Copyright 1999-2025 Gentoo Authors
|
|
1 |
# Copyright 1999-2024 Gentoo Authors
|
| 2 |
2 |
# Distributed under the terms of the GNU General Public License v2
|
| 3 |
3 |
|
| 4 |
4 |
EAPI=8
|
| 5 |
5 |
|
| 6 |
6 |
DISTUTILS_USE_PEP517=setuptools
|
| 7 |
|
PYTHON_COMPAT=( python3_{10..13} )
|
|
7 |
DISTUTILS_SINGLE_IMPL=1
|
|
8 |
PYTHON_COMPAT=( python3_{10..12} )
|
| 8 |
9 |
|
| 9 |
10 |
inherit linux-info udev xdg distutils-r1
|
| 10 |
11 |
|
| ... | ... | |
| 15 |
16 |
EGIT_REPO_URI="https://github.com/pwr-Solaar/Solaar"
|
| 16 |
17 |
else
|
| 17 |
18 |
SRC_URI="https://github.com/pwr-Solaar/Solaar/archive/${PV/_rc/rc}.tar.gz -> ${P/_rc/rc}.tar.gz"
|
| 18 |
|
KEYWORDS="amd64 ~arm ~arm64 x86"
|
|
19 |
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
| 19 |
20 |
S="${WORKDIR}"/Solaar-${PV/_rc/rc}
|
| 20 |
21 |
fi
|
| 21 |
22 |
|
| 22 |
23 |
LICENSE="GPL-2"
|
| 23 |
24 |
SLOT="0"
|
| 24 |
|
IUSE="appindicator dbus doc libnotify test wayland"
|
| 25 |
|
RESTRICT="!test? ( test )"
|
|
25 |
IUSE="doc appindicator libnotify"
|
| 26 |
26 |
|
| 27 |
27 |
RDEPEND="
|
| 28 |
28 |
acct-group/plugdev
|
| 29 |
|
dev-python/evdev[${PYTHON_USEDEP}]
|
| 30 |
|
dev-python/psutil[${PYTHON_USEDEP}]
|
| 31 |
|
dev-python/pygobject:3[${PYTHON_USEDEP}]
|
| 32 |
|
dev-python/python-xlib[${PYTHON_USEDEP}]
|
| 33 |
|
>=dev-python/pyudev-0.13[${PYTHON_USEDEP}]
|
| 34 |
|
dev-python/pyyaml[${PYTHON_USEDEP}]
|
| 35 |
|
dev-python/typing-extensions[${PYTHON_USEDEP}]
|
|
29 |
$(python_gen_cond_dep '
|
|
30 |
dev-python/evdev[${PYTHON_USEDEP}]
|
|
31 |
dev-python/psutil[${PYTHON_USEDEP}]
|
|
32 |
dev-python/pygobject:3[${PYTHON_USEDEP}]
|
|
33 |
dev-python/python-xlib[${PYTHON_USEDEP}]
|
|
34 |
>=dev-python/pyudev-0.13[${PYTHON_USEDEP}]
|
|
35 |
dev-python/pyyaml[${PYTHON_USEDEP}]
|
|
36 |
|
|
37 |
')
|
| 36 |
38 |
x11-libs/gtk+:3[introspection]
|
| 37 |
39 |
appindicator? ( dev-libs/libayatana-appindicator )
|
| 38 |
|
libnotify? ( x11-libs/libnotify[introspection] )
|
| 39 |
|
dbus? ( dev-python/dbus-python )
|
| 40 |
|
"
|
| 41 |
|
BDEPEND="
|
| 42 |
|
test? (
|
| 43 |
|
dev-python/pytest-mock[${PYTHON_USEDEP}]
|
| 44 |
|
)
|
| 45 |
|
"
|
|
40 |
libnotify? ( x11-libs/libnotify[introspection] )"
|
| 46 |
41 |
# libayatana-appindicator & libnotify are entirely optional and detected at runtime
|
| 47 |
42 |
|
| 48 |
43 |
CONFIG_CHECK="~HID_LOGITECH_DJ ~HIDRAW"
|
| 49 |
44 |
|
| 50 |
|
distutils_enable_tests pytest
|
| 51 |
|
|
| 52 |
45 |
python_prepare_all() {
|
| 53 |
46 |
# don't autostart (bug #494608)
|
| 54 |
|
sed -r \
|
|
47 |
sed -i \
|
| 55 |
48 |
-e '/yield autostart_path/d' \
|
|
49 |
setup.py || die
|
|
50 |
|
|
51 |
sed -i -r \
|
| 56 |
52 |
-e '/yield.*udev.*rules.d/{s,/etc,/lib,g}' \
|
| 57 |
|
-i setup.py || die
|
|
53 |
setup.py || die
|
| 58 |
54 |
|
| 59 |
55 |
# grant plugdev group rw access
|
| 60 |
|
sed 's/#MODE=/MODE=/' \
|
| 61 |
|
-i rules.d/42-logitech-unify-permissions.rules || die
|
| 62 |
|
# and the same for wayland (bug #933418)
|
| 63 |
|
sed 's/#MODE=/MODE=/' \
|
| 64 |
|
-i rules.d-uinput/42-logitech-unify-permissions.rules || die
|
|
56 |
sed -i 's/#MODE=/MODE=/' rules.d/42-logitech-unify-permissions.rules || die
|
| 65 |
57 |
|
| 66 |
58 |
distutils-r1_python_prepare_all
|
| 67 |
59 |
}
|
| ... | ... | |
| 75 |
67 |
else
|
| 76 |
68 |
newdoc docs/index.md README.md
|
| 77 |
69 |
fi
|
| 78 |
|
|
| 79 |
|
# bug #933418
|
| 80 |
|
if use wayland; then
|
| 81 |
|
udev_dorules "${S}"/rules.d-uinput/42-logitech-unify-permissions.rules
|
| 82 |
|
else
|
| 83 |
|
udev_dorules "${S}"/rules.d/42-logitech-unify-permissions.rules
|
| 84 |
|
fi
|
| 85 |
|
}
|
| 86 |
|
|
| 87 |
|
python_test() {
|
| 88 |
|
local -a EPYTEST_DESELECT=(
|
| 89 |
|
# don't like sandbox
|
| 90 |
|
tests/logitech_receiver/test_desktop_notifications.py::test_notifications_available
|
| 91 |
|
tests/logitech_receiver/test_desktop_notifications.py::test_init
|
| 92 |
|
tests/logitech_receiver/test_desktop_notifications.py::test_show
|
| 93 |
|
tests/solaar/ui/test_desktop_notifications.py::test_notifications_available
|
| 94 |
|
tests/solaar/ui/test_desktop_notifications.py::test_init
|
| 95 |
|
)
|
| 96 |
|
|
| 97 |
|
distutils-r1_python_test
|
|
70 |
udev_dorules "${S}"/rules.d/42-logitech-unify-permissions.rules
|
| 98 |
71 |
}
|
| 99 |
72 |
|
| 100 |
73 |
pkg_postinst() {
|