File input-remapper.spec of Package input-remapper

#
# spec file for package input-remapper
#
# Compatible with: openSUSE Leap 15.6 and Tumbleweed
#

Name:           input-remapper
Version:        2.1.1
Release:        0
Summary:        Tool for remapping keyboard, mouse and gamepad input on Linux
License:        GPL-3.0-only
Group:          System/Daemons
URL:            https://github.com/sezanzeb/input-remapper
Source0:        %{name}-%{version}.tar.gz

BuildArch:      noarch

BuildRequires:  python3
BuildRequires:  python3-setuptools
BuildRequires:  python3-wheel
BuildRequires:  python3-pydbus
BuildRequires:  python3-evdev
BuildRequires:  python3-gobject
BuildRequires:  systemd-rpm-macros

Requires:       python3-pydbus
Requires:       python3-evdev
Requires:       python3-gobject
Requires:       systemd

%{?systemd_requires}

# Für Kompatibilität zwischen Leap und TW
%if 0%{?sle_version} >= 150000 && 0%{?sle_version} < 160000
# Leap 15.x verwendet klassische Python-Makros
%define pybuild  %python3_build
%define pyinstall %python3_install
%else
# Tumbleweed (neue PyProject-Makros)
%define pybuild  %pyproject_wheel
%define pyinstall %pyproject_install
%endif

%description
Input Remapper allows you to rebind and modify keyboard, mouse and gamepad
inputs on Linux. It can remap keys, axes and buttons and apply profiles per device.

%prep
%autosetup -p1

%build
%{pybuild}

%install
%{pyinstall}

# Udev und systemd-Verzeichnisse erstellen, falls nötig
install -d %{buildroot}%{_udevrulesdir}
install -d %{buildroot}%{_unitdir}

# Beispiel: falls das Projekt eigene Regeln mitliefert
# install -m 0644 data/99-input-remapper.rules %{buildroot}%{_udevrulesdir}/

# Beispielsystemdienst
# install -m 0644 data/input-remapper.service %{buildroot}%{_unitdir}/

%check
# optional: rudimentärer Test, falls vorhanden
# python3 -m unittest discover -s tests || true

%files -n input-remapper
%license LICENSE
%doc README.md
%{_bindir}/input-remapper-control
%{_bindir}/input-remapper-gtk
%{_bindir}/input-remapper-reader-service
%{_bindir}/input-remapper-service

%{_datadir}/applications/input-remapper-gtk.desktop
%{_datadir}/dbus-1/system.d/inputremapper.Control.conf
%{_datadir}/icons/hicolor/scalable/apps/input-remapper.svg
%{_datadir}/metainfo/io.github.sezanzeb.input_remapper.metainfo.xml
%{_datadir}/polkit-1/actions/input-remapper.policy
%{_sysconfdir}/xdg/autostart/input-remapper-autoload.desktop
%{_udevrulesdir}/99-input-remapper.rules
%{_unitdir}/input-remapper.service

%{python3_sitelib}/inputremapper
%{python3_sitelib}/input_remapper-*.dist-info

%files lang -f %{name}.lang

%changelog
* Fri Oct 31 2025 Your Name <you@example.com>
- Adapted spec for openSUSE Leap 15.6:
  * replaced unsupported %pyproject_* macros
  * added missing Python dependencies
  * ensured compatibility with systemd/udev paths
openSUSE Build Service is sponsored by