commit:     08f517d140a72c724c33bece1657c9599d3b211c
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 14 16:01:30 2026 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Sat Mar 14 18:02:53 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=08f517d1

sys-apps/openrazer: bump to 3.12.0

Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>

 sys-apps/openrazer/Manifest                |   1 +
 sys-apps/openrazer/openrazer-3.12.0.ebuild | 175 +++++++++++++++++++++++++++++
 2 files changed, 176 insertions(+)

diff --git a/sys-apps/openrazer/Manifest b/sys-apps/openrazer/Manifest
index 4688d797ce31..59a3111fbe50 100644
--- a/sys-apps/openrazer/Manifest
+++ b/sys-apps/openrazer/Manifest
@@ -1 +1,2 @@
 DIST openrazer-3.11.0.gh.tar.gz 265257 BLAKE2B 
0567a3b38fe75426246a764d12f28837a0eeb517ec1f04836ed340442fe31582874a3bba78ff02dcb725303af2a909f81a3da3aa5aad9c12589be5ff09c66b42
 SHA512 
fe55558a5b43d2074da8f04bcc1e52000c9adfa1a9aa72595e40dc460367a387f525e5597e30d6877c760ed87e472a4390c9b217142fbdbc2bbee9aaf03aec49
+DIST openrazer-3.12.0.gh.tar.gz 266230 BLAKE2B 
7dab9da7a156d16a3c7ba094084d4e3c3dca01c33439a275a2cc5e3c711a11a4cca49e2088ca611808c7ca9c4cb2055c6cd30bf1dbe9e69b83421b782a8b9bc3
 SHA512 
dfc1d7cb71d23796a6ec3ac1f991825e9b40d340b61f9b0c8854f3d38cdee1b27fd70083ada388ac4042eb70af8d000db996281d5cc1b2abb327a8f953e8ea68

diff --git a/sys-apps/openrazer/openrazer-3.12.0.ebuild 
b/sys-apps/openrazer/openrazer-3.12.0.ebuild
new file mode 100644
index 000000000000..9a7816784870
--- /dev/null
+++ b/sys-apps/openrazer/openrazer-3.12.0.ebuild
@@ -0,0 +1,175 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517="setuptools"
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit readme.gentoo-r1 systemd udev xdg-utils distutils-r1 linux-mod-r1
+
+DESCRIPTION="Drivers and user-space daemon to control Razer devices on 
GNU/Linux"
+HOMEPAGE="https://openrazer.github.io/
+       https://github.com/openrazer/openrazer/";
+
+if [[ "${PV}" == *9999* ]] ; then
+       inherit git-r3
+
+       EGIT_REPO_URI="https://github.com/${PN}/${PN}";
+else
+       SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz
+               -> ${P}.gh.tar.gz"
+
+       KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+IUSE="+client +daemon"
+REQUIRED_USE="
+       client? ( daemon )
+       daemon? ( ${PYTHON_REQUIRED_USE} )
+       test? ( daemon )
+"
+
+RDEPEND="
+       client? ( dev-python/numpy[${PYTHON_USEDEP}] )
+       daemon? (
+               acct-group/plugdev
+               dev-python/daemonize[${PYTHON_USEDEP}]
+               dev-python/dbus-python[${PYTHON_USEDEP}]
+               dev-python/notify2[${PYTHON_USEDEP}]
+               dev-python/pygobject:3[${PYTHON_USEDEP}]
+               dev-python/pyudev[${PYTHON_USEDEP}]
+               dev-python/setproctitle[${PYTHON_USEDEP}]
+               x11-libs/gtk+:3[introspection]
+               x11-misc/xautomation
+               x11-misc/xdotool
+       )
+"
+BDEPEND="
+       ${RDEPEND}
+       virtual/linux-sources
+"
+
+DOCS=( README.md )
+
+DOC_CONTENTS="To successfully use OpenRazer: load desired kernel module
+(razeraccessory, razerkbd, razerkraken and/or razermouse),
+add your user to the \"plugdev\" group and start the OpenRazer daemon.
+To automatically start up the OpenRazer daemon on session login copy
+/usr/share/openrazer/openrazer-daemon.desktop file into Your user's
+~/.config/autostart/ directory."
+
+distutils_enable_tests unittest
+
+python_compile() {
+       cd "${S}/daemon" || die
+
+       distutils_pep517_install "${BUILD_DIR}/install"
+
+       if use client ; then
+               cd "${S}/pylib" || die
+
+               distutils_pep517_install "${BUILD_DIR}/install"
+       fi
+}
+
+python_install() {
+       distutils-r1_python_install
+
+       python_scriptinto /usr/bin
+       python_newscript daemon/run_openrazer_daemon.py "${PN}-daemon"
+}
+
+src_prepare() {
+       xdg_environment_reset
+
+       if use daemon ; then
+               distutils-r1_src_prepare
+       else
+               default
+       fi
+
+       # Remove bad tests.
+       rm daemon/tests/test_effect_sync.py || die
+}
+
+src_compile() {
+       local -a modargs=(
+               SUBDIRS="${S}/driver"
+               KERNELDIR="${KERNEL_DIR}"
+       )
+       local -a modlist=(
+               
{razeraccessory,razerkbd,razerkraken,razermouse}="hid:${S}:driver"
+       )
+       linux-mod-r1_src_compile
+
+       if use daemon ; then
+               distutils-r1_src_compile
+
+               emake -C "${S}/daemon" PREFIX=/usr service
+       fi
+
+       readme.gentoo_create_doc
+}
+
+src_test() {
+       cd daemon/tests || die
+
+       distutils-r1_src_test
+}
+
+src_install() {
+       linux-mod-r1_src_install
+
+       udev_dorules install_files/udev/99-razer.rules
+       exeinto "$(get_udevdir)"
+       doexe install_files/udev/razer_mount
+
+       # Install configuration example so that the daemon does not complain.
+       insinto /usr/share/${PN}
+       newins daemon/resources/razer.conf razer.conf.example
+
+       if use daemon ; then
+               # Python libraries/scripts, "client" also requires USE="daemon"
+               distutils-r1_src_install
+
+               # dbus service
+               insinto /usr/share/dbus-1/services
+               doins daemon/org.razer.service
+
+               # systemd unit
+               systemd_douserunit daemon/${PN}-daemon.service
+
+               # xdg autostart example file
+               insinto /usr/share/${PN}
+               doins install_files/desktop/openrazer-daemon.desktop
+
+               # Manpages
+               doman daemon/resources/man/${PN}-daemon.8
+               doman daemon/resources/man/razer.conf.5
+       fi
+}
+
+pkg_postinst() {
+       linux-mod-r1_pkg_postinst
+       udev_reload
+
+       if use daemon ; then
+               xdg_icon_cache_update
+               xdg_desktop_database_update
+       fi
+
+       readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+       udev_reload
+
+       if use daemon ; then
+               xdg_icon_cache_update
+               xdg_desktop_database_update
+       fi
+}

Reply via email to