blob: 1ff0caf1a2d585d7e30d20dde8cf02c22b72f7a8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_10 )
inherit cmake python-single-r1 systemd tmpfiles udev xdg-utils
DESCRIPTION="Utility for advanced configuration of Razer mice"
HOMEPAGE="https://bues.ch/cms/hacking/razercfg.html https://github.com/mbuesch/razer"
SRC_URI="https://bues.ch/${PN}/${P}.tar.xz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="gui +udev"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="${PYTHON_DEPS}
virtual/libusb:1
"
BDEPEND="virtual/pkgconfig"
RDEPEND="${DEPEND}
gui? (
$(python_gen_cond_dep '
dev-python/pyqt5[${PYTHON_USEDEP}]
')
)
udev? ( virtual/udev )
"
PATCHES=( "${FILESDIR}/${PN}-0.39-unit-variables.patch" )
src_prepare() {
cmake_src_prepare
# Don't clobber toolchain defaults
sed -i -e '/-D_FORTIFY_SOURCE=2/d' scripts/cmake.global || die
sed -i librazer/CMakeLists.txt \
-e '/ldconfig/{N;d}' \
-e "s:DESTINATION lib:DESTINATION $(get_libdir):" \
|| die
sed -i ui/razercfg.desktop.template \
-e '/^Categories=/s/=.*$/=Qt;Settings/' \
|| die
}
src_configure() {
local mycmakeargs=(
-DPYTHON="${PYTHON}"
-DSYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)"
-DUDEV_DIR="$(get_udevdir)"
)
RAZERCFG_PKG_BUILD=1 cmake_src_configure
}
src_install() {
RAZERCFG_PKG_BUILD=1 cmake_src_install
python_optimize
newinitd "${FILESDIR}"/razerd.init.d-r2 razerd
dodoc README.* HACKING.* razer.conf
if ! use gui; then
rm "${D}"/usr/bin/qrazercfg{,-applet} || die
rm -r "${D}"/usr/share/icons || die
rm -r "${D}"/usr/share/applications || die
fi
# sys-power/pm-utils is deprecated, so we delete related files
# (they contain a hook for resume from suspend)
# TODO: test resume from suspend
rm -r "${D}/etc/pm" || die
}
pkg_postinst() {
if use udev ; then
udevadm control --reload-rules
udevadm trigger --subsystem-match=usb
fi
xdg_icon_cache_update
tmpfiles_process razerd.conf
if [[ -e "${ROOT}/usr/bin/pyrazer.pyc" ]]; then
eerror "A stale ${ROOT}/usr/bin/pyrazer.pyc exists and will prevent"
eerror "the Python frontends from working until removed manually."
fi
}
pkg_postrm() {
xdg_icon_cache_update
}
|