commit d8c1fcdaf1851822372f1b445e3c304afd88512cb7a5545c1545e98325b94195 Author: Callum Farmer Date: Sun Dec 7 14:20:31 2025 +0000 - Update to 0.13.1 * pyproject.toml: add pytest as dev dependency * Import Self from type_checking if needed to be compat with 3.9 * CI: run pytest via uv * CI: test against multiple python versions - from version 0.13 * CI: update to Fedora 42 * CI: drop now-unused ARCH_PKGS * test: skip tests if our hardcoded event3 device node isn't available * test: reduce max slot to 30 * test: skip MT test if run in the CI * CI: bump to latest ci-templates * CI: drop the flake8 job * Switch from setup.py to pyproject.toml * doc: update sources for current sphinx-apidocs * Format the code with ruff * examples: fix a badly named variable * Add re-exported symbols to __all__ * Install pre-commit hooks * CI: hook pre-commit into the CI * Add some type information * const: switch to using dataclasses for EvBit * Export all event codes on the libevdev module directly * Don't derive from object * test: convert from unittest tests to pytest * doc: update sources for current sphinx-apidoc * Remove the obsolete encoding declarations * device: replace pass with ... for empty class bodies * const: return NotImplemented from unsupported comparisons * pyproject: bump the python version to 3.9 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-libevdev?expand=0&rev=10 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/libevdev-0.12.tar.gz b/libevdev-0.12.tar.gz new file mode 100644 index 0000000..a1040da --- /dev/null +++ b/libevdev-0.12.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02e952632ec6c249cbb9c66f6fa00012ea448b06606c77cd139133bc2fe46b08 +size 27214 diff --git a/libevdev-0.13.1.tar.gz b/libevdev-0.13.1.tar.gz new file mode 100644 index 0000000..52294b1 --- /dev/null +++ b/libevdev-0.13.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc3369cd1401767b9ecb1117cd6b73faba9038e3bd9e1695a710a9e9d9415e8d +size 61523 diff --git a/python-libevdev.changes b/python-libevdev.changes new file mode 100644 index 0000000..a619863 --- /dev/null +++ b/python-libevdev.changes @@ -0,0 +1,106 @@ +------------------------------------------------------------------- +Thu Dec 4 10:15:43 UTC 2025 - John Paul Adrian Glaubitz + +- Update to 0.13.1 + * pyproject.toml: add pytest as dev dependency + * Import Self from type_checking if needed to be compat with 3.9 + * CI: run pytest via uv + * CI: test against multiple python versions +- from version 0.13 + * CI: update to Fedora 42 + * CI: drop now-unused ARCH_PKGS + * test: skip tests if our hardcoded event3 device node isn't available + * test: reduce max slot to 30 + * test: skip MT test if run in the CI + * CI: bump to latest ci-templates + * CI: drop the flake8 job + * Switch from setup.py to pyproject.toml + * doc: update sources for current sphinx-apidocs + * Format the code with ruff + * examples: fix a badly named variable + * Add re-exported symbols to __all__ + * Install pre-commit hooks + * CI: hook pre-commit into the CI + * Add some type information + * const: switch to using dataclasses for EvBit + * Export all event codes on the libevdev module directly + * Don't derive from object + * test: convert from unittest tests to pytest + * doc: update sources for current sphinx-apidoc + * Remove the obsolete encoding declarations + * device: replace pass with ... for empty class bodies + * const: return NotImplemented from unsupported comparisons + * pyproject: bump the python version to 3.9 + * Use f-strings over .format() + * Modernize super() invocations + * test: add another type hint + * pyproject: add some basic pytest configuration + * const: switch a list[0] to a generator + next + * Add a context manager to the UinputDevice + * test: remove some old camelCase test naming + * test: add a few "is not None" checks to satisfy the static checkers + * test: open device nodes as binary + * test: fix the is_identical check to actually compare two things + * clib: correct the return type for the fd property + * const: fix a doctest syntax + * clib: return the right file object from self.fd + * CI: drop the merge-request check + * clib: fix a typo + * const: drop EvdevBit and decouple its dependents + * const: add from_name/from_value for InputProperty/EventType/EventCode + * const: allow creating new InputProperties + * Sprinkle a lot of type-checks across the code + * device: don't return lists from generator methods + * device: enable the property on the new uinput device, not self + * device: fix an overly broad try/except + * device: use != instad of 'is not' for value check + * test: rename a variable to shut up some checkers + * Generate types for all known codes + * pre-commit: autoupdate to latest versions +- Update BuildRequires from pyproject.toml + +------------------------------------------------------------------- +Tue Jun 3 09:28:19 UTC 2025 - John Paul Adrian Glaubitz + +- Update to 0.12 + * doc: add a readthedocs config file + * docs: install the rtd sphinx theme for readthedocs + * readthedocs: fix path to requirements.txt + * setup.cfg: Replace dashes with underscores + * CI: add required workflow rules + * Fix intersphinx mapping +- Limit Python files matched in %files section +- Switch package to modern Python Stack on SLE-15 + * Use Python 3.11 on SLE-15 by default + * Drop support for older Python versions +- Switch build system from setuptools to pyproject.toml + * Add python-pip and python-wheel to BuildRequires + * Replace %python_build with %pyproject_wheel + * Replace %python_install with %pyproject_install + +------------------------------------------------------------------- +Mon Jan 6 13:13:38 UTC 2025 - Dominique Leuenberger + +- Avoid usage of %{_libdir}: a noarch package cannot rely on libdir + pointing to arch-specific packages. TWeak using + %{_prefix}/lib*/libevdev.so to find the correct library package + %name. + +------------------------------------------------------------------- +Sat Sep 24 10:52:33 UTC 2022 - Dirk Müller + +- upadte to 0.11: + * doc updates + * fix broken link +- use pypi tarballs + +------------------------------------------------------------------- +Mon Nov 22 14:59:29 UTC 2021 - Matej Cepl + +- BuildRequires on a binary library package is a bad idea as well + as the required SOVER needs to be calculated. + +------------------------------------------------------------------- +Fri Nov 19 09:14:29 UTC 2021 - Callum Farmer + +- initial packaging required by libwacom (bsc#1192852) diff --git a/python-libevdev.spec b/python-libevdev.spec new file mode 100644 index 0000000..bedcc6f --- /dev/null +++ b/python-libevdev.spec @@ -0,0 +1,66 @@ +# +# spec file for package python-libevdev +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?sle15_python_module_pythons} +%global modname libevdev +%define libevdev_reqver 1.6.0 +Name: python-%{modname} +Version: 0.13.1 +Release: 0 +Summary: Python wrapper around the libevdev C library +License: MIT +Group: Development/Libraries/Python +URL: https://python-libevdev.readthedocs.io/ +Source0: https://files.pythonhosted.org/packages/source/l/libevdev/libevdev-%{version}.tar.gz +BuildRequires: %{python_module hatchling} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: libevdev-devel >= %{libevdev_reqver} +BuildRequires: python-rpm-macros +%define libmodule %(rpm -q --qf "%%{name}" -f $(readlink -f %{_prefix}/lib*/libevdev.so)) +Requires: %{libmodule} >= %{libevdev_reqver} +BuildArch: noarch +%python_subpackages + +%description +python-libevdev is a wrapper around the libevdev C library, with a +pythonic API. + +%prep +%autosetup -p1 -n %{modname}-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +cd test +%pytest + +%files %{python_files} +%license COPYING +%doc README.md +%{python_sitelib}/libevdev +%{python_sitelib}/libevdev-%{version}.dist-info + +%changelog