public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/guru:master commit in: games-util/input-remapper/files/, games-util/input-remapper/
@ 2025-07-25 10:49 David Roman
  0 siblings, 0 replies; only message in thread
From: David Roman @ 2025-07-25 10:49 UTC (permalink / raw
  To: gentoo-commits

commit:     a475078f4d32e66d6e3e2595c6ed5d2e7056e60a
Author:     Erica Nebula <EricaNebula <AT> Proton <DOT> me>
AuthorDate: Wed Jul 23 22:11:10 2025 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Thu Jul 24 19:09:10 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=a475078f

games-util/input-remapper: new package, add 2.1.1, 9999

Upstream still expects you to use setup.py. Ebuild is updated to be
PEP517 compatible. All non-python files are patched out of setup.py and
manually installed during src_install() instead.

Signed-off-by: Erica Nebula <EricaNebula <AT> Proton.me>

 games-util/input-remapper/Manifest                 |  1 +
 .../files/remove-non-python-files-from-setup.patch | 30 +++++++
 .../input-remapper/input-remapper-2.1.1.ebuild     | 93 +++++++++++++++++++++
 .../input-remapper/input-remapper-9999.ebuild      | 94 ++++++++++++++++++++++
 games-util/input-remapper/metadata.xml             | 13 +++
 5 files changed, 231 insertions(+)

diff --git a/games-util/input-remapper/Manifest b/games-util/input-remapper/Manifest
new file mode 100644
index 0000000000..71b8f4ee32
--- /dev/null
+++ b/games-util/input-remapper/Manifest
@@ -0,0 +1 @@
+DIST input-remapper-2.1.1.tar.gz 705287 BLAKE2B 22e9058c3d7308a2dd0e2404fb9cc78a188a0c8b68859de860856c4146f9722d927facbd6db225436f28782c331eff4fb9fad80dd021ec5607710e72c6db96a3 SHA512 a7e38f32fda5f0e03cc0b750f8ec30780c2c7708b1170703fa54ede19a3a7124384ab98751fb94f303c03fa829972e61f7ff85e284278e8b7688f000b81242a7

diff --git a/games-util/input-remapper/files/remove-non-python-files-from-setup.patch b/games-util/input-remapper/files/remove-non-python-files-from-setup.patch
new file mode 100644
index 0000000000..42684a7eb0
--- /dev/null
+++ b/games-util/input-remapper/files/remove-non-python-files-from-setup.patch
@@ -0,0 +1,30 @@
+diff --git a/setup.py b/setup.py
+index a36cdf1..d854fad 100644
+--- a/setup.py
++++ b/setup.py
+@@ -110,24 +110,7 @@ setup(
+     packages=get_packages(),
+     include_package_data=True,
+     data_files=[
+-        # see development.md#files
+-        *lang_data,
+-        ("/usr/share/input-remapper/", glob.glob("data/*")),
+-        ("/usr/share/applications/", ["data/input-remapper-gtk.desktop"]),
+-        (
+-            "/usr/share/metainfo/",
+-            ["data/io.github.sezanzeb.input_remapper.metainfo.xml"],
+-        ),
+-        ("/usr/share/icons/hicolor/scalable/apps/", ["data/input-remapper.svg"]),
+-        ("/usr/share/polkit-1/actions/", ["data/input-remapper.policy"]),
+-        ("/usr/lib/systemd/system", ["data/input-remapper.service"]),
+-        ("/usr/share/dbus-1/system.d/", ["data/inputremapper.Control.conf"]),
+-        ("/etc/xdg/autostart/", ["data/input-remapper-autoload.desktop"]),
+-        ("/usr/lib/udev/rules.d", ["data/99-input-remapper.rules"]),
+-        ("/usr/bin/", ["bin/input-remapper-gtk"]),
+-        ("/usr/bin/", ["bin/input-remapper-service"]),
+-        ("/usr/bin/", ["bin/input-remapper-control"]),
+-        ("/usr/bin/", ["bin/input-remapper-reader-service"]),
++        # Gentoo Ebuild will handle these manually
+     ],
+     install_requires=["setuptools", "evdev", "pydbus", "pygobject", "pydantic"],
+     cmdclass={

diff --git a/games-util/input-remapper/input-remapper-2.1.1.ebuild b/games-util/input-remapper/input-remapper-2.1.1.ebuild
new file mode 100644
index 0000000000..948e7a34fc
--- /dev/null
+++ b/games-util/input-remapper/input-remapper-2.1.1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..13} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 systemd udev desktop
+
+DESCRIPTION="A tool to change and program the mapping of your input device buttons"
+HOMEPAGE="https://github.com/sezanzeb/input-remapper"
+SRC_URI="https://github.com/sezanzeb/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+PATCHES=(
+	"${FILESDIR}/remove-non-python-files-from-setup.patch"
+)
+
+RDEPEND="x11-libs/gtk+:3
+x11-libs/gtksourceview
+x11-apps/xmodmap
+$(python_gen_cond_dep '
+	dev-python/pygobject[${PYTHON_USEDEP}]
+	dev-python/pydbus[${PYTHON_USEDEP}]
+	dev-python/pydantic[${PYTHON_USEDEP}]
+	dev-python/psutil[${PYTHON_USEDEP}]
+	>=dev-python/evdev-1.3.0[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+')
+virtual/udev"
+
+distutils_enable_tests pytest
+
+src_install() {
+	# Install data files
+	insinto /usr/share/input-remapper/
+	doins -r "${S}"/data/*
+
+	# Install lang files
+	insinto /usr/share/input-remapper/lang
+	doins -r "${S}"/mo/*
+
+	# Install udev rules
+	udev_dorules data/99-input-remapper.rules
+
+	# Install systemd service
+	systemd_dounit data/input-remapper.service
+
+	# Install desktop file
+	domenu data/input-remapper-gtk.desktop
+
+	# Install icon file
+	doicon -s scalable data/input-remapper.svg
+
+	# Install audoload file
+	insinto /etc/xdg/autostart
+	newins data/input-remapper-autoload.desktop input-remapper-autoload.desktop
+
+	# Install dbus config
+	insinto /usr/share/dbus-1/system.d
+	newins data/inputremapper.Control.conf inputremapper.Control.conf
+
+	# Install polkit policy
+	insinto /usr/share/polkit-1/actions
+	newins data/input-remapper.policy input-remapper.policy
+
+	# Install metainfo
+	insinto /usr/share/metainfo
+	newins data/io.github.sezanzeb.input_remapper.metainfo.xml io.github.sezanzeb.input_remapper.metainfo.xml
+
+	# Install bin files
+	exeinto /usr/bin
+	newexe bin/input-remapper-gtk input-remapper-gtk
+	newexe bin/input-remapper-service input-remapper-service
+	newexe bin/input-remapper-control input-remapper-control
+	newexe bin/input-remapper-reader-service input-remapper-reader-service
+
+	# Install python site-packages files
+	distutils-r1_src_install
+}
+
+pkg_postinst() {
+	udev_reload
+}
+
+pkg_postrm() {
+	udev_reload
+}

diff --git a/games-util/input-remapper/input-remapper-9999.ebuild b/games-util/input-remapper/input-remapper-9999.ebuild
new file mode 100644
index 0000000000..68c581f6b2
--- /dev/null
+++ b/games-util/input-remapper/input-remapper-9999.ebuild
@@ -0,0 +1,94 @@
+# Copyright 2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..13} )
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 systemd git-r3 udev desktop
+
+DESCRIPTION="A tool to change and program the mapping of your input device buttons"
+HOMEPAGE="https://github.com/sezanzeb/input-remapper"
+EGIT_REPO_URI="https://github.com/sezanzeb/input-remapper.git"
+EGIT_BRANCH="main"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+
+PATCHES=(
+	"${FILESDIR}/remove-non-python-files-from-setup.patch"
+)
+
+RDEPEND="x11-libs/gtk+:3
+x11-libs/gtksourceview
+x11-apps/xmodmap
+$(python_gen_cond_dep '
+	dev-python/pygobject[${PYTHON_USEDEP}]
+	dev-python/pydbus[${PYTHON_USEDEP}]
+	dev-python/pydantic[${PYTHON_USEDEP}]
+	dev-python/psutil[${PYTHON_USEDEP}]
+	>=dev-python/evdev-1.3.0[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+')
+virtual/udev"
+
+distutils_enable_tests pytest
+
+src_install() {
+	# Install data files
+	insinto /usr/share/input-remapper/
+	doins -r "${S}"/data/*
+
+	# Install lang files
+	insinto /usr/share/input-remapper/lang
+	doins -r "${S}"/mo/*
+
+	# Install udev rules
+	udev_dorules data/99-input-remapper.rules
+
+	# Install systemd service
+	systemd_dounit data/input-remapper.service
+
+	# Install desktop file
+	domenu data/input-remapper-gtk.desktop
+
+	# Install icon file
+	doicon -s scalable data/input-remapper.svg
+
+	# Install audoload file
+	insinto /etc/xdg/autostart
+	newins data/input-remapper-autoload.desktop input-remapper-autoload.desktop
+
+	# Install dbus config
+	insinto /usr/share/dbus-1/system.d
+	newins data/inputremapper.Control.conf inputremapper.Control.conf
+
+	# Install polkit policy
+	insinto /usr/share/polkit-1/actions
+	newins data/input-remapper.policy input-remapper.policy
+
+	# Install metainfo
+	insinto /usr/share/metainfo
+	newins data/io.github.sezanzeb.input_remapper.metainfo.xml io.github.sezanzeb.input_remapper.metainfo.xml
+
+	# Install bin files
+	exeinto /usr/bin
+	newexe bin/input-remapper-gtk input-remapper-gtk
+	newexe bin/input-remapper-service input-remapper-service
+	newexe bin/input-remapper-control input-remapper-control
+	newexe bin/input-remapper-reader-service input-remapper-reader-service
+
+	# Install python site-packages files
+	distutils-r1_src_install
+}
+
+pkg_postinst() {
+	udev_reload
+}
+
+pkg_postrm() {
+	udev_reload
+}

diff --git a/games-util/input-remapper/metadata.xml b/games-util/input-remapper/metadata.xml
new file mode 100644
index 0000000000..67b984879a
--- /dev/null
+++ b/games-util/input-remapper/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'https://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+	<maintainer type="person">
+		<email>ericanebula@proton.me</email>
+		<name>Erica Nebula</name>
+	</maintainer>
+	<upstream>
+		<bugs-to>https://github.com/sezanzeb/input-remapper/issues</bugs-to>
+		<changelog>https://github.com/sezanzeb/input-remapper/releases</changelog>
+		<remote-id type="github">sezanzeb/input-remapper</remote-id>
+	</upstream>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2025-07-25 10:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-25 10:49 [gentoo-commits] repo/proj/guru:master commit in: games-util/input-remapper/files/, games-util/input-remapper/ David Roman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox