From fb7be536adf78f1c713d35e6a7b6aaee3cecae90 Mon Sep 17 00:00:00 2001 From: Martchus Date: Mon, 6 Jul 2020 15:23:46 +0200 Subject: [PATCH] Import roccat-tools from AUR and fix issues * Use Lua 5.4 * Add patch to fix compilation error due to multiple definitions --- roccat-tools/default/90-uinput.rules | 2 + roccat-tools/default/PKGBUILD | 327 ++++++++++++++++++ .../default/fix-multiple-definitions.patch | 9 + roccat-tools/default/roccat-tools.install | 29 ++ roccat-tools/default/uhid.conf | 1 + 5 files changed, 368 insertions(+) create mode 100644 roccat-tools/default/90-uinput.rules create mode 100644 roccat-tools/default/PKGBUILD create mode 100644 roccat-tools/default/fix-multiple-definitions.patch create mode 100644 roccat-tools/default/roccat-tools.install create mode 100644 roccat-tools/default/uhid.conf diff --git a/roccat-tools/default/90-uinput.rules b/roccat-tools/default/90-uinput.rules new file mode 100644 index 00000000..d6bdbd4b --- /dev/null +++ b/roccat-tools/default/90-uinput.rules @@ -0,0 +1,2 @@ +KERNEL=="uinput", GROUP="roccat", MODE="0660" +KERNEL=="uhid", GROUP="roccat", MODE="0660" diff --git a/roccat-tools/default/PKGBUILD b/roccat-tools/default/PKGBUILD new file mode 100644 index 00000000..6e3d1318 --- /dev/null +++ b/roccat-tools/default/PKGBUILD @@ -0,0 +1,327 @@ +# Maintainer: Aaron Fischer +# Contributor: Nuno Araujo +# Contributor: Xpander +# Contributor: Stefan Achatz +# Contributor: Zachary Lund +# Contributor: Jesus Gonzalez +# Contributor: Francisco Pina-Martins +# Contributor: Alex +# Contributor: Martchus + +pkgname=('roccat-tools-common' + 'roccat-tools-arvo' + 'roccat-tools-kiro' + 'roccat-tools-isku' + 'roccat-tools-iskufx' + 'roccat-tools-kone' + 'roccat-tools-koneplus' + 'roccat-tools-konepure' + 'roccat-tools-konepuremilitary' + 'roccat-tools-konepureoptical' + 'roccat-tools-konextd' + 'roccat-tools-konextdoptical' + 'roccat-tools-kovaplus' + 'roccat-tools-kova2016' + 'roccat-tools-lua' + 'roccat-tools-pyra' + 'roccat-tools-ryosmk' + 'roccat-tools-ryosmkfx' + 'roccat-tools-ryostkl' + 'roccat-tools-savu' + 'roccat-tools-skeltr' + 'roccat-tools-sova' + 'roccat-tools-suora' + 'roccat-tools-tyon' + 'roccat-tools-nyth') +pkgbase=roccat-tools +pkgver=5.9.0 +pkgrel=2 +pkgdesc='Userland applications to configure and make extended use of ROCCAT devices' +arch=('i686' 'x86_64') +url='http://roccat.sourceforge.net' +license=('GPL2') +depends=('libgaminggear>=0.15.1' 'libcanberra' 'gtk2' 'libnotify>=0.7.0' 'dbus-glib' 'udev' 'hicolor-icon-theme' 'libgudev' 'lua>=5.4' 'lua<5.5') +makedepends=('cmake') +optdepends=('kmod-roccat: Adds support for the old kone device.') +source=("http://downloads.sourceforge.net/project/roccat/roccat-tools/roccat-tools-$pkgver.tar.bz2" + 'fix-multiple-definitions.patch' + '90-uinput.rules' + 'uhid.conf') +sha256sums=('6f6766309bace2aece09910912d4a6d8bec61c9b4432f4f3ed388ebf7e16408a' + '6268347c22392606c1ea3ea265a43607ed708b5428faa87c0ed1f6d776edb80b' + '097a333b61921698d60f448e66c34c57905d2098aca998d987be782a0e4862ff' + '0d328038322f62ff1f3319666df5f8f58c0a028415a917ad247b0446c1ff90f5') + +prepare() { + cd "$srcdir/$pkgbase-$pkgver" + + patch -p1 -i ../fix-multiple-definitions.patch +} + +build() { + cd "$srcdir/$pkgbase-$pkgver" + + cmake . \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DUDEVDIR=/usr/lib/udev/rules.d \ + -DWITHOUT_PYTHON=TRUE \ + -DLIBDIR="/usr/lib" \ + -DWITH_LUA="5.4" \ + -DCMAKE_C_FLAGS="$(pkg-config --cflags harfbuzz)" \ + -DCMAKE_MODULE_PATH="/usr/share/libgaminggear/cmake/Modules" + make +} + +package_roccat-tools-common() { + pkgdesc='ROCCAT tools common files' + install=roccat-tools.install + + for i in icons sounds libroccat libroccathelper libroccatwidget roccateventhandler; do + cd $srcdir/$pkgbase-$pkgver/$i + make DESTDIR="$pkgdir/" install + done + + cd $srcdir + install -Dm644 uhid.conf $pkgdir/etc/modules-load.d/uhid.conf + install -Dm644 90-uinput.rules $pkgdir/usr/lib/udev/rules.d/90-uinput.rules +} + +package_roccat-tools-arvo() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Arvo devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/arvo" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-arvo.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-arvo.rules +} + +package_roccat-tools-kiro() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Kiro devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/kiro" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-kiro.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-kiro.rules +} + +package_roccat-tools-isku() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Isku devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/isku" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-isku.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-isku.rules +} + +package_roccat-tools-iskufx() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Isku FX devices' + depends=('roccat-tools-common' 'roccat-tools-isku') + + cd "$srcdir/$pkgbase-$pkgver/iskufx" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-iskufx.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-iskufx.rules +} + +package_roccat-tools-kone() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Kone devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/kone" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-kone.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-kone.rules +} + +package_roccat-tools-koneplus() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Kone[+] devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/koneplus" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-koneplus.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-koneplus.rules +} + +package_roccat-tools-konepure() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Kone Pure devices' + depends=('roccat-tools-common' 'roccat-tools-konextd') + + cd "$srcdir/$pkgbase-$pkgver/konepure" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-konepure.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-konepure.rules +} + +package_roccat-tools-konepureoptical() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Kone Pure optical devices' + depends=('roccat-tools-common' 'roccat-tools-konepure') + + cd "$srcdir/$pkgbase-$pkgver/konepureoptical" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-konepureoptical.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-konepureoptical.rules +} + +package_roccat-tools-konepuremilitary() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Kone Pure Military devices' + depends=('roccat-tools-common' 'roccat-tools-konepure') + + cd "$srcdir/$pkgbase-$pkgver/konepuremilitary" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-konepuremilitary.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-konepuremilitary.rules +} + +package_roccat-tools-konextd() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Kone XTD devices' + depends=('roccat-tools-common' 'roccat-tools-koneplus') + + cd "$srcdir/$pkgbase-$pkgver/konextd" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-konextd.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-konextd.rules +} + +package_roccat-tools-konextdoptical() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Kone XTD Optical devices' + depends=('roccat-tools-common' 'roccat-tools-konepuremilitary') + + cd "$srcdir/$pkgbase-$pkgver/konextdoptical" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-konextdoptical.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-konextdoptical.rules +} + +package_roccat-tools-kovaplus() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Kova[+] devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/kovaplus" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-kovaplus.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-kovaplus.rules +} + +package_roccat-tools-kova2016() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Kova2016 devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/kova2016" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-kova2016.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-kova2016.rules +} + +package_roccat-tools-lua() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Lua devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/lua" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-lua.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-lua.rules +} + +package_roccat-tools-pyra() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Pyra devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/pyra" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-pyra.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-pyra.rules +} + +package_roccat-tools-ryosmk() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT RyosMK devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/ryosmk" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-ryosmk.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-ryosmk.rules +} + +package_roccat-tools-ryosmkfx() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT RyosMK FX devices' + depends=('roccat-tools-common' 'roccat-tools-ryosmk') + + cd "$srcdir/$pkgbase-$pkgver/ryosmkfx" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-ryosmkfx.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-ryosmkfx.rules +} + +package_roccat-tools-ryostkl() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT RyosTKL devices' + depends=('roccat-tools-common' 'roccat-tools-ryosmk') + + cd "$srcdir/$pkgbase-$pkgver/ryostkl" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-ryostkl.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-ryostkl.rules +} + +package_roccat-tools-savu() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Savu devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/savu" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-savu.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-savu.rules +} + +package_roccat-tools-tyon() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Tyon devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/tyon" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-tyon.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-tyon.rules +} + +package_roccat-tools-suora() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Suora devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/suora" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-suora.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-suora.rules +} + +package_roccat-tools-skeltr() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Skeltr devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/skeltr" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-skeltr.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-skeltr.rules +} + +package_roccat-tools-sova() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Sova devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/sova" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-sova.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-sova.rules +} + +package_roccat-tools-nyth() { + pkgdesc='Userland applications to configure and make extended use of ROCCAT Nyth devices' + depends=('roccat-tools-common') + + cd "$srcdir/$pkgbase-$pkgver/nyth" + make DESTDIR="$pkgdir/" install + cd "$srcdir/$pkgbase-$pkgver" + install -Dm644 udev/90-roccat-nyth.rules $pkgdir/usr/lib/udev/rules.d/90-roccat-nyth.rules +} diff --git a/roccat-tools/default/fix-multiple-definitions.patch b/roccat-tools/default/fix-multiple-definitions.patch new file mode 100644 index 00000000..91916ab3 --- /dev/null +++ b/roccat-tools/default/fix-multiple-definitions.patch @@ -0,0 +1,9 @@ +--- ./ryosmk/libroccatryosmk/ryos_device.h.orig 2020-06-30 16:41:33.348116743 +0200 ++++ ./ryosmk/libroccatryosmk/ryos_device.h 2020-06-30 16:40:18.701450210 +0200 +@@ -23,5 +23,5 @@ + G_BEGIN_DECLS + +-enum { ++typedef enum { + RYOS_WRITE_CHECK_WAIT_LIGHT_CONTROL = 10, + } RyosWriteCheckWait; diff --git a/roccat-tools/default/roccat-tools.install b/roccat-tools/default/roccat-tools.install new file mode 100644 index 00000000..5b153133 --- /dev/null +++ b/roccat-tools/default/roccat-tools.install @@ -0,0 +1,29 @@ +post_install() { + ldconfig + touch --no-create /usr/share/icons/hicolor + + groupadd --force roccat + + mkdir --parents /var/lib/roccat + chown root:roccat /var/lib/roccat + chmod 2770 /var/lib/roccat + + udevadm control --reload-rules +} + +post_upgrade() { + ldconfig + touch --no-create /usr/share/icons/hicolor + udevadm control --reload-rules +} + +post_remove() { + ldconfig + udevadm control --reload-rules + + # If there are some configuration files in this dir, we get an error, which + # is good because we don't want to remove the user configs. + rm -r /var/lib/roccat + + groupdel roccat +} diff --git a/roccat-tools/default/uhid.conf b/roccat-tools/default/uhid.conf new file mode 100644 index 00000000..e602abcb --- /dev/null +++ b/roccat-tools/default/uhid.conf @@ -0,0 +1 @@ +uhid