summaryrefslogtreecommitdiff
path: root/dev-python
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/pyudev/Manifest1
-rw-r--r--dev-python/pyudev/pyudev-0.24.4.ebuild74
2 files changed, 75 insertions, 0 deletions
diff --git a/dev-python/pyudev/Manifest b/dev-python/pyudev/Manifest
index c847ea977f96..8070bad28169 100644
--- a/dev-python/pyudev/Manifest
+++ b/dev-python/pyudev/Manifest
@@ -1 +1,2 @@
DIST pyudev-0.24.3.gh.tar.gz 80807 BLAKE2B 8b047c1d44f9bbb9ace782b690e0859eb3cdc2c1a994a398513e7cc2288803f8cfcdc227546de22275d47961f880bd76e0dec244e46abf451534f5648682febe SHA512 9075437f6fdba0fc1921e252c0a49e1a5eeed8c5cf598856a32aa9f9fcb8885dc0727258d2965241b2e044acfdf70561d5aa3f1380b84e013afc7cb8dcbfce2b
+DIST pyudev-0.24.4.gh.tar.gz 80770 BLAKE2B 27e6c3fe8d9ee5088f459981e0a2e69baa124a7d427c08e133e13dc56603c58adc39c8e42fef28b9c26dd724b4ddda0568db234ced65ba7f787381b5f3110411 SHA512 d0edd89a9b024fd166d6286920a37baac5a739f89101a6d7c4dca3dad0b6d8d4a61e93c0ef1ca3795a677558579bdfecf49a5d5b61837345eed90a31fed4aa20
diff --git a/dev-python/pyudev/pyudev-0.24.4.ebuild b/dev-python/pyudev/pyudev-0.24.4.ebuild
new file mode 100644
index 000000000000..98473419d9a8
--- /dev/null
+++ b/dev-python/pyudev/pyudev-0.24.4.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..13} )
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python binding to libudev"
+HOMEPAGE="https://pyudev.readthedocs.io/en/latest/ https://github.com/pyudev/pyudev"
+SRC_URI="https://github.com/pyudev/pyudev/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+# Known to fail on test system that aren't exactly the same devices as on CI
+#RESTRICT="test"
+
+RDEPEND="
+ virtual/udev
+"
+BDEPEND="
+ test? (
+ dev-python/docutils[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( CHANGES.rst README.rst )
+
+EPYTEST_PLUGINS=( hypothesis )
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ if use test; then
+ ewarn "If your PORTAGE_TMPDIR is longer in length then '/var/tmp/',"
+ ewarn "change it to /var/tmp to ensure tests will pass."
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -a EPYTEST_DESELECT=(
+ # tests that require root access
+ tests/test_device.py::TestAttributes::test_asint
+ tests/test_device.py::TestAttributes::test_asbool
+ tests/test_device.py::TestAttributes::test_getitem
+ tests/test_device.py::TestAttributes::test_asstring
+
+ # tests don't work on systems that differ from the upstream CI
+ tests/test_monitor.py::TestMonitorObserver::test_deprecated_handler
+ tests/test_monitor.py::TestMonitorObserver::test_fake
+ )
+ local -a EPYTEST_IGNORE=(
+ tests/test_observer.py
+ tests/test_observer_deprecated.py
+ )
+ epytest tests
+}
+
+src_test() {
+ local virt=$(systemd-detect-virt 2>/dev/null)
+ if [[ ${virt} == systemd-nspawn ]] ; then
+ ewarn "Skipping tests because in systemd-nspawn container"
+ else
+ distutils-r1_src_test
+ fi
+}
+
+pkg_postinst() {
+ optfeature "PyQt5 bindings" "dev-python/pyqt5"
+}