From 67cffd400bdfe25ddaa7cb70f294bea3053b4200 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9=20=28=D0=A5?= =?UTF-8?q?=D1=80=D0=B0=D0=BC=D1=8B=D1=87=D0=AA=29=20=D0=A5=D1=80=D0=B0?= =?UTF-8?q?=D0=BC=D0=BE=D0=B2?= Date: Fri, 30 May 2025 15:35:16 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BA=D0=B5=D0=B9=D1=81=20=D0=BC=D0=BD=D0=BE?= =?UTF-8?q?=D0=B3=D0=BE=D1=8F=D1=80=D1=83=D1=81=D0=BD=D0=BE=D0=B3=D0=BE=20?= =?UTF-8?q?=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 + libopenrazer/alr.sh | 40 +++++++++++++++++++ openrazer/alr.sh | 86 ++++++++++++++++++++++++++++++++++++++++ openrazer/postinstall.sh | 14 +++++++ razergenie/alr.sh | 41 +++++++++++++++++++ 5 files changed, 183 insertions(+) create mode 100644 .gitignore create mode 100644 libopenrazer/alr.sh create mode 100644 openrazer/alr.sh create mode 100644 openrazer/postinstall.sh create mode 100644 razergenie/alr.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e74f4dd --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.gigaide +.idea diff --git a/libopenrazer/alr.sh b/libopenrazer/alr.sh new file mode 100644 index 0000000..063e70f --- /dev/null +++ b/libopenrazer/alr.sh @@ -0,0 +1,40 @@ +name='libopenrazer' +version='0.4.0' +release='2' +desc='Qt wrapper around the D-Bus API from OpenRazer.' +desc_ru='Qt-обертка для D-Bus API от OpenRazer.' +homepage='https://github.com/z3ntu/libopenrazer' +maintainer='Evgeniy Khramov ' +maintainer_ru='Евгений Храмов ' +architectures=('amd64') +license=('GPL-3.0-or-later') + +conflicts=('libopenrazer') + +deps=("qt6-qtbase") +deps_arch=("qt6-base") + +build_deps=('meson' 'qt6-qttools') +build_deps_arch=('meson' 'qt6-tools') + + +sources=("https://github.com/z3ntu/libopenrazer/releases/download/v$version/libopenrazer-$version.tar.xz") +checksums=('SKIP') + +build() { + cd $srcdir/$name-$version + mkdir -p build + meson setup build . --prefix /usr + meson compile -C build -j$(($(nproc) - 1)) +} + +package() { + cd $srcdir/$name-$version + meson install -C build --destdir "$pkgdir" +} + +files() { + printf '"%s" ' ./usr/include/**/* + printf '"%s" ' ./usr/lib64/**/* + printf '"%s" ' ./usr/share/libopenrazer/translations/* +} \ No newline at end of file diff --git a/openrazer/alr.sh b/openrazer/alr.sh new file mode 100644 index 0000000..69f626b --- /dev/null +++ b/openrazer/alr.sh @@ -0,0 +1,86 @@ +basepkg_name='openrazer' +name=( + openrazer-daemon + openrazer-driver-dkms + python3-openrazer +) +version='3.10.2' +release='5' +desc='Community-led effort to support Razer peripherals on Linux' +desc_ru='Коммьюнити-проект, который поддерживает периферийные устройства Razer на Linux' +homepage='https://openrazer.github.io' +maintainer='Evgeny Khramov ' +maintainer_ru="Евгений Храмов " +architectures=('all') +license=('GPL') +provides=( 'openrazer-daemon') + +sources=("https://github.com/openrazer/openrazer/releases/download/v$version/openrazer-$version.tar.xz") +checksums=('SKIP') + +scripts=( + ['postinstall']='postinstall.sh' +) + +meta_openrazer-daemon() { + desc="Userspace daemon that abstracts access to the kernel driver. Provides a DBus service for applications to use." + desc_ru="Пользовательский демон, который абстрагирует доступ к драйверу ядра. Предоставляет D-Bus сервис для приложений для использования." + deps+=( + 'openrazer-driver-dkms' + 'python3-dbus' + 'python3-daemonize' + 'python3-gobject' + 'python3-pyudev' + 'python3-setproctitle' + 'xautomation' + ) + opt_deps+=('libnotify: for the battery notifier') +} + +package_openrazer-daemon() { + cd $srcdir/$basepkg_name-$version + make DESTDIR="$pkgdir" daemon_install +} + +files_openrazer-daemon() { + echo ./usr/bin/openrazer-daemon + printf '"%s" ' ./usr/lib/python3.11/site-packages/openrazer_daemon/**/* + printf '"%s" ' ./usr/lib/python3.11/site-packages/openrazer_daemon-$version-py3.11.egg-info/* + echo ./usr/lib/systemd/user/openrazer-daemon.service + printf '"%s" ' ./usr/share/**/* +} + +package_openrazer-driver-dkms() { + cd $srcdir/$basepkg_name-$version + make DESTDIR="$pkgdir" setup_dkms udev_install +} + +meta_openrazer-driver-dkms() { + deps+=('dkms') + desc="OpenRazer kernel modules sources." + desc_ru="Исходные коды модулей ядра OpenRazer." +} + +files_openrazer-driver-dkms() { + echo ./usr/lib/udev/rules.d/99-razer.rules + echo ./usr/lib/udev/razer_mount +} + +meta_python3-openrazer() { + deps+=( + 'openrazer-daemon' + 'python3-numpy' + ) + desc="Library for interacting with the OpenRazer daemon" + desc_ru="Библиотека для взаимодействия с OpenRazer демоном" +} + +package_python3-openrazer() { + cd $srcdir/$basepkg_name-$version + make DESTDIR="$pkgdir" python_library_install +} + +files_python-openrazer() { + printf '"%s" ' ./usr/lib/python3.11/site-packages/openrazer/**/* + printf '"%s" ' ./usr/lib/python3.11/site-packages/openrazer-$version-py3.11.egg-info/* +} diff --git a/openrazer/postinstall.sh b/openrazer/postinstall.sh new file mode 100644 index 0000000..3317880 --- /dev/null +++ b/openrazer/postinstall.sh @@ -0,0 +1,14 @@ +#!/usr/bin/bash + +getent group plugdev >/dev/null || groupadd -r plugdev + +cat << EOF +The daemon requires you add the user to the \`plugdev\` group: +# gpasswd -a \$USER plugdev + +Enable the OpenRazer daemon systemd service: +\$ systemctl --user enable openrazer-daemon.service + +Reboot for changes to take effect. +EOF + diff --git a/razergenie/alr.sh b/razergenie/alr.sh new file mode 100644 index 0000000..a2f565d --- /dev/null +++ b/razergenie/alr.sh @@ -0,0 +1,41 @@ +name='razergenie' +version='1.3.0' +release='4' +desc='Configure and control your Razer devices.' +desc_ru='Настройка и управление вашими устройствами Razer.' +homepage='https://github.com/z3ntu/RazerGenie' +maintainer='Evegeniy Khramov ' +maintainer_ru='Евгений Храмов ' +architectures=('amd64') +license=('GPL-3.0-or-later') + +deps=( + 'libopenrazer' + 'qt6-qtbase' + 'python3-openrazer' +) +build_deps=( + 'meson' + 'qt6-qtbase-devel' + 'qt6-qttools-devel' +) + +sources=("https://github.com/z3ntu/RazerGenie/releases/download/v$version/RazerGenie-$version.tar.xz") +checksums=('SKIP') + +build() { + meson "RazerGenie-$version" build + meson compile -C build +} + +package() { + meson install -C build --destdir "$pkgdir" +} + +files() { + echo ./usr/local/bin/razergenie + echo ./usr/local/share/applications/xyz.z3ntu.razergenie.desktop + echo ./usr/local/share/icons/hicolor/scalable/apps/xyz.z3ntu.razergenie.svg + echo ./usr/local/share/metainfo/xyz.z3ntu.razergenie.appdata.xml + printf '"%s" ' ./usr/local/share/razergenie/**/* +}