summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/razercfg/razercfg-0.42.ebuild')
-rw-r--r--sys-apps/razercfg/razercfg-0.42.ebuild96
1 files changed, 96 insertions, 0 deletions
diff --git a/sys-apps/razercfg/razercfg-0.42.ebuild b/sys-apps/razercfg/razercfg-0.42.ebuild
new file mode 100644
index 000000000000..1236531897a3
--- /dev/null
+++ b/sys-apps/razercfg/razercfg-0.42.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+
+inherit cmake python-single-r1 systemd tmpfiles udev
+
+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
+
+ 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
+}