This commit is contained in:
blshkv 2018-10-19 00:03:52 +08:00
parent 509f704187
commit f67c1e7c40
No known key found for this signature in database
GPG key ID: 273E3E90D1A6294F
6 changed files with 177 additions and 0 deletions

View file

@ -0,0 +1 @@
DIST razercfg-0.40.tar.bz2 105706 BLAKE2B e9f931e4adf74834979d955cf5181f60577a9fc6a5274a537a3c46926259d6e324b089c03282093d4da03871dd15647e11f52fe200a9884db31915ac1856dff1 SHA512 42c3e7a34a348982fb2c1022c85dd3ec6d875dec387492eb4f6aece82423a1fd5984c4efb79926084aac880944a9e139a424487ab277d8c1a56c4f9c0a7c9d6e

View file

@ -0,0 +1,21 @@
We set these variables in the ebuild, so don't override them.
--- a/scripts/cmake.global
+++ b/scripts/cmake.global
@@ -27,16 +27,6 @@
include_directories(AFTER ${LIBUSB_INCLUDE_PATH})
set(CMAKE_REQUIRED_INCLUDES "${LIBUSB_INCLUDE_PATH};${CMAKE_REQUIRED_INCLUDES}")
-execute_process(COMMAND pkg-config --variable=systemdsystemunitdir systemd
- OUTPUT_VARIABLE SYSTEMD_UNIT_DIR
- ERROR_QUIET
- OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-execute_process(COMMAND pkg-config --variable=udevdir udev
- OUTPUT_VARIABLE UDEV_DIR
- ERROR_QUIET
- OUTPUT_STRIP_TRAILING_WHITESPACE)
-
macro(INSTALL_EXEC_CMD _COMMAND _FAILMSG)
install(CODE "
execute_process(COMMAND ${_COMMAND} RESULT_VARIABLE install_exec_res)

View file

@ -0,0 +1,21 @@
We set these variables in the ebuild, so don't override them.
--- a/scripts/cmake.global
+++ b/scripts/cmake.global
@@ -27,16 +27,6 @@
include_directories(AFTER ${LIBUSB_INCLUDE_PATH})
set(CMAKE_REQUIRED_INCLUDES "${LIBUSB_INCLUDE_PATH};${CMAKE_REQUIRED_INCLUDES}")
-execute_process(COMMAND pkg-config --variable=systemdsystemunitdir systemd
- OUTPUT_VARIABLE SYSTEMD_UNIT_DIR
- ERROR_QUIET
- OUTPUT_STRIP_TRAILING_WHITESPACE)
-
-execute_process(COMMAND pkg-config --variable=udevdir udev
- OUTPUT_VARIABLE UDEV_DIR
- ERROR_QUIET
- OUTPUT_STRIP_TRAILING_WHITESPACE)
-
macro(INSTALL_EXEC_CMD _COMMAND _FAILMSG)
install(CODE "
execute_process(COMMAND ${_COMMAND} RESULT_VARIABLE install_exec_res)

View file

@ -0,0 +1,25 @@
#!/sbin/openrc-run
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
depend() {
use logger
}
PIDFILE=/run/razerd/razerd.pid
start() {
ebegin "Starting razerd"
start-stop-daemon --start \
--pidfile ${PIDFILE} \
--exec /usr/bin/razerd \
-- --background --pidfile ${PIDFILE}
eend $?
}
stop() {
ebegin "Stopping razerd"
start-stop-daemon --stop --pidfile ${PIDFILE}
eend $?
}

View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!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.
</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>
</use>
</pkgmetadata>

View file

@ -0,0 +1,91 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{3_4,3_5,3_6} )
inherit cmake-utils python-single-r1 systemd udev
DESCRIPTION="Utility for advanced configuration of Razer mice"
HOMEPAGE="https://bues.ch/cms/hacking/razercfg.html"
SRC_URI="https://bues.ch/${PN}/${P}.tar.bz2"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+pm-utils +udev qt5"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
virtual/libusb:1
pm-utils? ( sys-power/pm-utils )
udev? ( virtual/udev )
qt5? ( dev-python/PyQt5 )
"
DEPEND="${PYTHON_DEPS}
dev-python/setuptools[${PYTHON_USEDEP}]
virtual/libusb:1
virtual/pkgconfig
"
PATCHES=( "${FILESDIR}/${P}-unit-variables.patch" )
src_prepare() {
cmake-utils_src_prepare
sed -i CMakeLists.txt \
-e '/udevadm control/{N;d}' \
-e '/systemctl/{N;d}' \
-e "s:/etc/pm/sleep.d:/usr/$(get_libdir)/pm-utils/sleep.d/:" \
-e 's:50-razer:80razer:' \
|| 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-utils_src_configure
}
src_install() {
RAZERCFG_PKG_BUILD=1 cmake-utils_src_install
newinitd "${FILESDIR}"/razerd.init.d-r2 razerd
dodoc README.* HACKING.* razer.conf
if ! use qt5; then
rm "${D%/}"/usr/bin/qrazercfg{,-applet} || die
rm "${D%/}"/usr/share/icons/hicolor/scalable/apps/razercfg* || die
rm "${D%/}"/usr/share/applications/razercfg.desktop || die
fi
if ! use pm-utils; then
rm "${D%/}/usr/$(get_libdir)/pm-utils/sleep.d/80razer" || die
fi
}
pkg_postinst() {
if use udev ; then
udevadm control --reload-rules
udevadm trigger --subsystem-match=usb
fi
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
}