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@Proton.me>
This commit is contained in:
Erica Nebula
2025-07-23 17:11:10 -05:00
parent f521f83029
commit a475078f4d
5 changed files with 231 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST input-remapper-2.1.1.tar.gz 705287 BLAKE2B 22e9058c3d7308a2dd0e2404fb9cc78a188a0c8b68859de860856c4146f9722d927facbd6db225436f28782c331eff4fb9fad80dd021ec5607710e72c6db96a3 SHA512 a7e38f32fda5f0e03cc0b750f8ec30780c2c7708b1170703fa54ede19a3a7124384ab98751fb94f303c03fa829972e61f7ff85e284278e8b7688f000b81242a7

View File

@@ -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={

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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>