commit:     bf0caa8f98f591e93a1f43a340cff5376ceda1c1
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 30 19:12:46 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 30 19:14:14 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf0caa8f

sys-apps/roccat-tools: update EAPI 7 -> 8, fix build w/ cmake-4

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/roccat-tools-5.9.0-cmake4.patch          |   8 ++
 .../roccat-tools/roccat-tools-5.9.0-r102.ebuild    | 148 +++++++++++++++++++++
 2 files changed, 156 insertions(+)

diff --git a/sys-apps/roccat-tools/files/roccat-tools-5.9.0-cmake4.patch 
b/sys-apps/roccat-tools/files/roccat-tools-5.9.0-cmake4.patch
new file mode 100644
index 000000000000..ab604bd7269f
--- /dev/null
+++ b/sys-apps/roccat-tools/files/roccat-tools-5.9.0-cmake4.patch
@@ -0,0 +1,8 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
++CMAKE_MINIMUM_REQUIRED(VERSION 3.10)
+ 
+ PROJECT(roccat-tools C)
+ 

diff --git a/sys-apps/roccat-tools/roccat-tools-5.9.0-r102.ebuild 
b/sys-apps/roccat-tools/roccat-tools-5.9.0-r102.ebuild
new file mode 100644
index 000000000000..042fb58cc460
--- /dev/null
+++ b/sys-apps/roccat-tools/roccat-tools-5.9.0-r102.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-1 luajit )
+
+inherit readme.gentoo-r1 cmake flag-o-matic lua-single toolchain-funcs udev xdg
+
+DESCRIPTION="Utility for advanced configuration of Roccat devices"
+HOMEPAGE="https://roccat.sourceforge.net/";
+SRC_URI="https://downloads.sourceforge.net/roccat/${P}.tar.bz2";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE_INPUT_DEVICES=(
+       input_devices_roccat_arvo
+       input_devices_roccat_isku
+       input_devices_roccat_iskufx
+       input_devices_roccat_kiro
+       input_devices_roccat_kone
+       input_devices_roccat_koneplus
+       input_devices_roccat_konepure
+       input_devices_roccat_konepuremilitary
+       input_devices_roccat_konepureoptical
+       input_devices_roccat_konextd
+       input_devices_roccat_konextdoptical
+       input_devices_roccat_kovaplus
+       input_devices_roccat_kova2016
+       input_devices_roccat_lua
+       input_devices_roccat_nyth
+       input_devices_roccat_pyra
+       input_devices_roccat_ryosmk
+       input_devices_roccat_ryosmkfx
+       input_devices_roccat_ryostkl
+       input_devices_roccat_savu
+       input_devices_roccat_skeltr
+       input_devices_roccat_sova
+       input_devices_roccat_suora
+       input_devices_roccat_tyon
+)
+
+IUSE="${IUSE_INPUT_DEVICES[@]}"
+
+REQUIRED_USE="
+       input_devices_roccat_ryosmk? ( ${LUA_REQUIRED_USE} )
+       input_devices_roccat_ryosmkfx? ( ${LUA_REQUIRED_USE} )
+       input_devices_roccat_ryostkl? ( ${LUA_REQUIRED_USE} )
+"
+
+RDEPEND="
+       acct-group/roccat
+       dev-libs/dbus-glib
+       dev-libs/glib:2
+       >=dev-libs/libgaminggear-0.15.1
+       dev-libs/libgudev:=
+       sys-apps/dbus
+       x11-libs/cairo
+       x11-libs/gtk+:2
+       x11-libs/libX11
+       virtual/libusb:1
+       input_devices_roccat_ryosmk? ( ${LUA_DEPS} )
+       input_devices_roccat_ryosmkfx? ( ${LUA_DEPS} )
+       input_devices_roccat_ryostkl? ( ${LUA_DEPS} )
+"
+DEPEND="
+       ${RDEPEND}
+"
+BDEPEND="
+       virtual/pkgconfig
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-5.9.0-cmake_lua_impl.patch
+       "${FILESDIR}"/${PN}-5.9.0-fno-common.patch
+       "${FILESDIR}"/${PN}-5.9.0-cmake4.patch # downstream patch
+)
+
+DOCS=( Changelog KNOWN_LIMITATIONS README )
+
+pkg_setup() {
+       # Don't bother checking all the relevant USE flags, this is harmless
+       # to call even when no Lua implementations have been pulled in
+       # by dependencies.
+       lua-single_pkg_setup
+
+       local model
+       for model in ${IUSE_INPUT_DEVICES[@]} ; do
+               use ${model} && USED_MODELS+="${model/input_devices_roccat_/;}"
+       done
+}
+
+# Required because xdg.eclass overrides src_prepare() from cmake.eclass
+src_prepare() {
+       cmake_src_prepare
+}
+
+src_configure() {
+       if has_version \>=x11-libs/pango-1.44.0 ; then
+               # Fix build with pango-1.44 which depends on harfbuzz
+               local PKGCONF="$(tc-getPKG_CONFIG)"
+               append-cflags "$(${PKGCONF} --cflags harfbuzz)"
+       fi
+
+       local mycmakeargs=(
+               -DDEVICES="${USED_MODELS/;/}"
+               -DUDEVDIR="${EPREFIX}$(get_udevdir)/rules.d"
+       )
+
+       local lua_use=(
+               input_devices_roccat_ryosmk
+               input_devices_roccat_ryosmkfx
+               input_devices_roccat_ryostkl
+       )
+       local luse
+       for luse in ${lua_use[@]} ; do
+               if use ${luse} ; then
+                       mycmakeargs+=(
+                               -DLUA_IMPL="${ELUA}"
+                               -DWITH_LUA="$(ver_cut 1-2 $(lua_get_version))"
+                       )
+                       use lua_single_target_luajit || mycmakeargs+=( 
-DLUA_VERSION=$(lua_get_version) )
+                       break
+               fi
+       done
+
+       cmake_src_configure
+}
+
+src_install() {
+       cmake_src_install
+       local stat_dir=/var/lib/roccat
+       keepdir ${stat_dir}
+       fowners root:roccat ${stat_dir}
+       fperms 2770 ${stat_dir}
+       readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+       readme.gentoo_print_elog
+       ewarn
+       ewarn "This version breaks stored data for some devices. Before 
reporting bugs please delete"
+       ewarn "affected folder(s) in /var/lib/roccat"
+       ewarn
+}

Reply via email to