1 # Copyright 1999-2020 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
6 PYTHON_COMPAT=( python3_6 )
8 inherit cmake-utils python-single-r1 systemd udev
10 DESCRIPTION="Utility for advanced configuration of Razer mice"
11 HOMEPAGE="https://bues.ch/cms/hacking/razercfg.html"
12 SRC_URI="https://bues.ch/${PN}/${P}.tar.bz2"
16 KEYWORDS="~amd64 ~x86"
17 IUSE="+pm-utils +udev"
19 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
21 RDEPEND="${PYTHON_DEPS}
23 pm-utils? ( sys-power/pm-utils )
24 udev? ( virtual/udev )
26 DEPEND="${PYTHON_DEPS}
27 $(python_gen_cond_dep '
28 dev-python/setuptools[${PYTHON_MULTI_USEDEP}]
34 PATCHES=( "${FILESDIR}/${P}-unit-variables.patch" )
37 cmake-utils_src_prepare
39 sed -i CMakeLists.txt \
40 -e '/udevadm control/{N;d}' \
41 -e '/systemctl/{N;d}' \
42 -e "s:/etc/pm/sleep.d:/usr/$(get_libdir)/pm-utils/sleep.d/:" \
43 -e 's:50-razer:80razer:' \
46 sed -i librazer/CMakeLists.txt \
47 -e '/ldconfig/{N;d}' \
48 -e "s:DESTINATION lib:DESTINATION $(get_libdir):" \
51 sed -i razercfg.desktop.template \
52 -e '/^Categories=/s/=.*$/=Qt;Settings/' \
59 -DSYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)"
60 -DUDEV_DIR="$(get_udevdir)"
62 RAZERCFG_PKG_BUILD=1 cmake-utils_src_configure
66 RAZERCFG_PKG_BUILD=1 cmake-utils_src_install
68 newinitd "${FILESDIR}"/razerd.init.d-r2 razerd
69 dodoc README.* HACKING.* razer.conf
71 rm "${D%/}"/usr/bin/qrazercfg{,-applet} || die
72 rm "${D%/}"/usr/share/icons/hicolor/scalable/apps/razercfg* || die
73 rm "${D%/}"/usr/share/applications/razercfg.desktop || die
75 if ! use pm-utils; then
76 rm "${D%/}/usr/$(get_libdir)/pm-utils/sleep.d/80razer" || die
82 udevadm control --reload-rules
83 udevadm trigger --subsystem-match=usb
86 if [[ -e "${ROOT%/}"/usr/bin/pyrazer.pyc ]]; then
87 eerror "A stale ${ROOT}usr/bin/pyrazer.pyc exists and will prevent"
88 eerror "the Python frontends from working until removed manually."