commit:     2823535dcd83bf79c4b9b1d7bd5b9bdd0e19165b
Author:     Eric Joldasov <bratishkaerik <AT> getgoogleoff <DOT> me>
AuthorDate: Mon Oct 24 13:13:53 2022 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Mon Nov 14 07:06:07 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2823535d

app-misc/piper: add 0.7

Closes: https://bugs.gentoo.org/866035
Signed-off-by: Eric Joldasov <bratishkaerik <AT> getgoogleoff.me>
Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>

 app-misc/piper/Manifest                        |  1 +
 app-misc/piper/files/piper-0.7-fix-tests.patch | 66 ++++++++++++++++++++++++
 app-misc/piper/piper-0.7.ebuild                | 70 ++++++++++++++++++++++++++
 3 files changed, 137 insertions(+)

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 <[email protected]>
+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/
+}

Reply via email to