diff options
Diffstat (limited to 'sys-apps/razercfg')
-rw-r--r-- | sys-apps/razercfg/Manifest | 1 | ||||
-rw-r--r-- | sys-apps/razercfg/metadata.xml | 15 | ||||
-rw-r--r-- | sys-apps/razercfg/razercfg-0.42.ebuild | 96 |
3 files changed, 105 insertions, 7 deletions
diff --git a/sys-apps/razercfg/Manifest b/sys-apps/razercfg/Manifest index 53abff612834..d8ef4efa14f8 100644 --- a/sys-apps/razercfg/Manifest +++ b/sys-apps/razercfg/Manifest @@ -1 +1,2 @@ DIST razercfg-0.39.tar.bz2 178142 BLAKE2B cf2d92d24a0dbfdae4045c2dab30a64bc4de64d730c075a4d852790ff62bcbadd714953fac925e69b671355cbdfdec7ce9db5693fbfa8e2aab69de6247c95c1a SHA512 165fee898a01b7f0086eb6705ef9f24fd8b8836025c071f7851a493181b8d193d0db70fc1731a8586de1f1c795aab4d20bb4ee8526b612c66ba3c434c6e10137 +DIST razercfg-0.42.tar.xz 103300 BLAKE2B 83f9432edf4deda78514dd1e2a65e04981d3646c543ebf3b74060f5d6ee5f9c3ddec5b0c544c11c9968c790172ae2bd4d4503adaf1428ca31337fdcd33d8545c SHA512 3856f4133b620fb639a46a5bb02fe8e6c47ae3928a04fe9d1bbef2792a44fdd4f5dff2efa43a1e43d75312025d3c65c626e331e723092e4e0b8d6622657fb197 diff --git a/sys-apps/razercfg/metadata.xml b/sys-apps/razercfg/metadata.xml index 77b7acea528e..ba604d21bb69 100644 --- a/sys-apps/razercfg/metadata.xml +++ b/sys-apps/razercfg/metadata.xml @@ -2,17 +2,18 @@ <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <longdescription> -Utility to for advanced configuration of the following Razer mice: Copperhead -Lachesis (Classic), DeathAdder (Classic, 3500 DPI, Black Edition, 2013), Taipan -Naga (Classic, 2012, 2014, Hex), Krait, Boomslang CE. The tool architecture is -based on "razerd", which is a background daemon doing all of the lowlevel -privilege hardware accesses. The user interface tools are "razercfg", a -commandline tool; and "qrazercfg", a QT4 based graphical device configuration -tool. +The next generation Razer device configuration tool bringing the Razer gaming +experience to the free OpenSource world. +The tool architecture is based on "razerd", which is a background daemon doing +all of the lowlevel privileged hardware accesses. The user interface tools are +"razercfg", a commandline tool; and "qrazercfg", a Qt based graphical device +configuration tool. </longdescription> <!-- maintainer-needed --> <use> <flag name="pm-utils">Installs the pm-utils hooks for suspend/resume and requires <pkg>sys-power/pm-utils</pkg></flag> + <flag name="gui">Installs GUI configuration utility and status bar applet. + Requires <pkg>dev-python/PyQt5</pkg></flag> </use> </pkgmetadata> 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 +} |