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() {
|