summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc/piper')
-rw-r--r--app-misc/piper/Manifest2
-rw-r--r--app-misc/piper/files/piper-0.7-fix-tests.patch66
-rw-r--r--app-misc/piper/metadata.xml40
-rw-r--r--app-misc/piper/piper-0.5.1.ebuild52
-rw-r--r--app-misc/piper/piper-0.7-r1.ebuild76
-rw-r--r--app-misc/piper/piper-9999.ebuild69
6 files changed, 236 insertions, 69 deletions
diff --git a/app-misc/piper/Manifest b/app-misc/piper/Manifest
index 9a1f22519818..c049b2ea7d14 100644
--- a/app-misc/piper/Manifest
+++ b/app-misc/piper/Manifest
@@ -1 +1 @@
-DIST piper-0.5.1.tar.gz 234944 BLAKE2B 1df33ca6e2d0dae95b34f8e3a98c6829a8f113ae68fb60980ff40374090b9272f86d69103c33fe0a4e1b0ac21a84724e7cabccca4ce8dd23d02f6d56e67d072b SHA512 13368521a9c32b2dc3300b129ed3bb07a6204623fa750f8f75ca31d2a3b60f43ae5f5066ef755814960d4890a489bdfd21b0e1b8f456b3445e0ba35ac06bc877
+DIST piper-0.7.tar.gz 271658 BLAKE2B 8d3d411cc771a286ae0d7654b6d70f394e11edb182924619195b947d0d54df4db308e94aceebe0754ddd446538f1dce2ccb88dbf1cd44595b614d852e7394698 SHA512 fcbc30a4954ea6b0aa67c66052eab1e6b2d3039c927eeddcfc8b03d00f1c91e8f0ae80788ba0e4f053a612b03f594e74fd119dd11f52dd47608c99602e7e4940
diff --git a/app-misc/piper/files/piper-0.7-fix-tests.patch b/app-misc/piper/files/piper-0.7-fix-tests.patch
new file mode 100644
index 000000000000..ffd550c50728
--- /dev/null
+++ b/app-misc/piper/files/piper-0.7-fix-tests.patch
@@ -0,0 +1,66 @@
+Upstream commit https://github.com/libratbag/piper/commit/603d68726364cea5e71ef1f0153e3641ec889063, backported to 0.7
+
+From 603d68726364cea5e71ef1f0153e3641ec889063 Mon Sep 17 00:00:00 2001
+From: Tobias Kortkamp <tobias.kortkamp@gmail.com>
+Date: Mon, 1 Aug 2022 15:57:28 +0200
+Subject: [PATCH] Fix tests for out-of-source builds
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+When the build directory is not _under_ the source directory then
+flake8 cannot find the local config file and it will try to check
+piper.in which fails per 1ed66262b77ebd9fe188894d36842527da39508a
+
+To fix this I propose to
+
+1. pass the config to flake8 explicitly
+2. remove piper.in from the args list since it is excluded in the
+ flake8 config anyway
+3. check the generated $build/piper.devel and $build/piper too per
+ 1ed66262b77ebd9fe188894d36842527da39508a
+4. merge the --ignore in meson.build with the config
+
+Steps to reproduce:
+
+```
+$ meson ../build
+$ ninja -C../build test
+...
+[17/18] Running all tests.
+1/5 piper:all / files-in-git SKIP 0.01s exit status 77
+2/5 piper / validate appdata file OK 0.04s
+3/5 piper / svg-lookup-check OK 0.10s
+4/5 piper / check-svg OK 0.18s
+5/5 piper / flake8 FAIL 1.00s exit status 1
+>>> MALLOC_PERTURB_=32 /gnu/store/yhhvrj6bns3ws85d338ah3bsc8jv4x64-profile/bin/flake8 --ignore=E501,W504 /home/tobias/ghq/github.com/libratbag/piper/piper /home/tobias/ghq/github.com/libratbag/piper/piper.in
+――――――――――――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――――――――――――
+/home/tobias/ghq/github.com/libratbag/piper/piper.in:11:19: E999 SyntaxError: invalid syntax
+――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
+```
+diff --git a/.flake8 b/.flake8
+index 8f1ba6f..170b294 100644
+--- a/.flake8
++++ b/.flake8
+@@ -1,3 +1,3 @@
+ [flake8]
+-ignore = E402,E501
++ignore = E402,E501,W504
+ exclude = .git,__pycache__,build,data,piper/piper.py,piper.in
+diff --git a/piper-0.7/meson.build b/piper-0.7/meson.build
+index 21963d8..03f0c3e 100644
+--- a/meson.build
++++ b/meson.build
+@@ -115,9 +115,10 @@ if enable_tests
+ flake8 = find_program('flake8')
+ if flake8.found()
+ test('flake8', flake8,
+- args: ['--ignore=E501,W504',
++ args: ['--config=' + join_paths(meson.current_source_dir(), '.flake8'),
+ join_paths(meson.current_source_dir(), 'piper'),
+- join_paths(meson.current_source_dir(), 'piper.in')])
++ join_paths(meson.current_build_dir(), 'piper'),
++ join_paths(meson.current_build_dir(), 'piper.devel')])
+ endif
+
+ test_svg_files = find_program('tests/check-svg.py')
diff --git a/app-misc/piper/metadata.xml b/app-misc/piper/metadata.xml
index a307a9b7cfef..ffb5815bc938 100644
--- a/app-misc/piper/metadata.xml
+++ b/app-misc/piper/metadata.xml
@@ -1,19 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>alex@1stleg.com</email>
- <name>Alex Barker</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="person" proxied="proxy">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
- <upstream>
- <remote-id type="github">libratbag/piper</remote-id>
- </upstream>
+ <maintainer type="person" proxied="yes">
+ <email>alex@1stleg.com</email>
+ <name>Alex Barker</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ Piper is a graphical user interface to configure gaming mice.
+ Configuration options include changing the resolution (DPI) of the
+ mouse, adding and removing profiles, setting LED colors and changing
+ button behaviors.
+
+ Piper requires <pkg>dev-libs/libratbag</pkg>’s ratbagd, the daemon to actually communicate with the
+ mice. Piper is merely a front end to ratbagd, ratbagd must be
+ installed and running when Piper is launched.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">libratbag/piper</remote-id>
+ <bugs-to>https://github.com/libratbag/piper/issues</bugs-to>
+ <doc lang="en">https://github.com/libratbag/piper/wiki</doc>
+ </upstream>
</pkgmetadata>
diff --git a/app-misc/piper/piper-0.5.1.ebuild b/app-misc/piper/piper-0.5.1.ebuild
deleted file mode 100644
index 52f2296ede2c..000000000000
--- a/app-misc/piper/piper-0.5.1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8} )
-
-inherit meson python-single-r1 udev
-
-DESCRIPTION="GTK configuration application for libratbag"
-HOMEPAGE="https://github.com/libratbag/piper"
-SRC_URI="https://github.com/libratbag/piper/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-BDEPEND="
- ${PYTHON_DEPS}
- virtual/pkgconfig
-"
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/gobject-introspection
- >=dev-libs/libratbag-0.13
- gnome-base/librsvg[introspection]
- x11-libs/gdk-pixbuf[introspection]
- x11-libs/gtk+:3[introspection]
- $(python_gen_cond_dep '
- dev-python/lxml[${PYTHON_MULTI_USEDEP}]
- dev-python/pycairo[${PYTHON_MULTI_USEDEP}]
- dev-python/pygobject:3[${PYTHON_MULTI_USEDEP}]
- dev-python/python-evdev[${PYTHON_MULTI_USEDEP}]
- ')
-"
-DEPEND="
- ${RDEPEND}
- dev-libs/libevdev
- virtual/libudev
-"
-
-src_configure() {
- python_setup
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
- python_optimize
- python_fix_shebang "${ED}"/usr/bin/
-}
diff --git a/app-misc/piper/piper-0.7-r1.ebuild b/app-misc/piper/piper-0.7-r1.ebuild
new file mode 100644
index 000000000000..ec2d208c5f69
--- /dev/null
+++ b/app-misc/piper/piper-0.7-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit meson python-single-r1 xdg
+
+DESCRIPTION="GTK application to configure gaming devices"
+HOMEPAGE="https://github.com/libratbag/piper"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/libratbag/piper.git"
+else
+ SRC_URI="https://github.com/libratbag/piper/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/lxml[${PYTHON_USEDEP}]
+ ')
+ virtual/pkgconfig
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/flake8[${PYTHON_USEDEP}]
+ ')
+ dev-libs/appstream
+ )
+"
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/gobject-introspection
+ >=dev-libs/libratbag-0.14
+ gnome-base/librsvg[introspection]
+ x11-libs/gdk-pixbuf[introspection]
+ x11-libs/gtk+:3[introspection]
+ $(python_gen_cond_dep '
+ dev-python/evdev[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+ ')
+"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/libevdev
+ virtual/libudev
+"
+
+PATCHES=( "${FILESDIR}/${P}-fix-tests.patch" )
+
+src_configure() {
+ python_setup
+
+ local emesonargs=(
+ $(meson_use test tests)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ python_optimize
+ python_fix_shebang "${ED}"/usr/bin/
+}
diff --git a/app-misc/piper/piper-9999.ebuild b/app-misc/piper/piper-9999.ebuild
new file mode 100644
index 000000000000..0631b1a08ae6
--- /dev/null
+++ b/app-misc/piper/piper-9999.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit meson python-single-r1 xdg
+
+DESCRIPTION="GTK application to configure gaming devices"
+HOMEPAGE="https://github.com/libratbag/piper"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/libratbag/piper.git"
+else
+ SRC_URI="https://github.com/libratbag/piper/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/lxml[${PYTHON_USEDEP}]
+ ')
+ virtual/pkgconfig
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/flake8[${PYTHON_USEDEP}]
+ ')
+ dev-libs/appstream
+ )
+"
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/gobject-introspection
+ >=dev-libs/libratbag-0.14
+ gnome-base/librsvg[introspection]
+ x11-libs/gdk-pixbuf[introspection]
+ x11-libs/gtk+:3[introspection]
+ $(python_gen_cond_dep '
+ dev-python/evdev[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+ ')
+"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/libevdev
+ virtual/libudev
+"
+
+src_configure() {
+ python_setup
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ python_optimize
+ python_fix_shebang "${ED}"/usr/bin/
+}