summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Joldasov <bratishkaerik@getgoogleoff.me>2022-10-24 19:13:53 +0600
committerFlorian Schmaus <flow@gentoo.org>2022-11-14 08:06:07 +0100
commit2823535dcd83bf79c4b9b1d7bd5b9bdd0e19165b (patch)
treead220a125e4e7f3d7d36ea6b187fdefff73a0ec6 /app-misc/piper
parentapp-misc/piper: enable py3.11, fix tests for 0.6 (diff)
downloadgentoo-2823535dcd83bf79c4b9b1d7bd5b9bdd0e19165b.tar.gz
gentoo-2823535dcd83bf79c4b9b1d7bd5b9bdd0e19165b.tar.bz2
gentoo-2823535dcd83bf79c4b9b1d7bd5b9bdd0e19165b.zip
app-misc/piper: add 0.7
Closes: https://bugs.gentoo.org/866035 Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me> Signed-off-by: Florian Schmaus <flow@gentoo.org>
Diffstat (limited to 'app-misc/piper')
-rw-r--r--app-misc/piper/Manifest1
-rw-r--r--app-misc/piper/files/piper-0.7-fix-tests.patch66
-rw-r--r--app-misc/piper/piper-0.7.ebuild70
3 files changed, 137 insertions, 0 deletions
diff --git a/app-misc/piper/Manifest b/app-misc/piper/Manifest
index 4ad3156d2a6e..61d71da61cf6 100644
--- a/app-misc/piper/Manifest
+++ b/app-misc/piper/Manifest
@@ -1 +1,2 @@
DIST piper-0.6.tar.gz 254653 BLAKE2B ea621e556e2ee6a98e334f2e61df70d700a9cb371dcd5bddc690b4a4c97543a6957bc339bddbde2cf91ac3b201d3bd70fe336974f17e36cfdcbb4895257af993 SHA512 9d76cbc5f3a91c68d10355a1b429c05873effcaa80086fb51c7d4a7bdbbb3e0faf42ec8ccad611a15f5c954d3014a8416e4a497c86167c227818771a24d108a0
+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/piper-0.7.ebuild b/app-misc/piper/piper-0.7.ebuild
new file mode 100644
index 000000000000..e888d4b38086
--- /dev/null
+++ b/app-misc/piper/piper-0.7.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit meson python-single-r1 xdg
+
+DESCRIPTION="GTK application to configure gaming devices"
+HOMEPAGE="https://github.com/libratbag/piper"
+SRC_URI="https://github.com/libratbag/piper/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+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/lxml[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[cairo,${PYTHON_USEDEP}]
+ dev-python/python-evdev[${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/
+}