commit:     a475078f4d32e66d6e3e2595c6ed5d2e7056e60a
Author:     Erica Nebula <EricaNebula <AT> Proton <DOT> me>
AuthorDate: Wed Jul 23 22:11:10 2025 +0000
Commit:     Erica Nebula <EricaNebula <AT> proton <DOT> me>
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>[email protected]</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>

Reply via email to