diff options
author | Patrick McLean <chutzpah@gentoo.org> | 2024-08-27 10:29:21 -0700 |
---|---|---|
committer | Patrick McLean <chutzpah@gentoo.org> | 2024-08-27 10:30:13 -0700 |
commit | 9bc5eb110a8c86181c81eaf8feb75393d8e166d4 (patch) | |
tree | 27ecb539f130c145f46e3144c995f36d537c96e9 /dev-python | |
parent | dev-python/lxml: Bump to 5.3.0 (diff) | |
download | gentoo-9bc5eb110a8c86181c81eaf8feb75393d8e166d4.tar.gz gentoo-9bc5eb110a8c86181c81eaf8feb75393d8e166d4.tar.bz2 gentoo-9bc5eb110a8c86181c81eaf8feb75393d8e166d4.zip |
dev-python/pyudev: add 0.24.3
Signed-off-by: Patrick McLean <chutzpah@gentoo.org>
Diffstat (limited to 'dev-python')
-rw-r--r-- | dev-python/pyudev/Manifest | 1 | ||||
-rw-r--r-- | dev-python/pyudev/files/pyudev-0.24.3-tests.patch | 13 | ||||
-rw-r--r-- | dev-python/pyudev/pyudev-0.24.3.ebuild | 77 |
3 files changed, 91 insertions, 0 deletions
diff --git a/dev-python/pyudev/Manifest b/dev-python/pyudev/Manifest index b2322adc55a9..874c438f922a 100644 --- a/dev-python/pyudev/Manifest +++ b/dev-python/pyudev/Manifest @@ -1 +1,2 @@ DIST pyudev-0.24.1.tar.gz 85963 BLAKE2B 86c6d04691c99671735915564f58b4ef892e45925047487500bc7005343db7145941dde270f4ce9279881bd9bbf203965082d54b34b396febff52f387a1c26ac SHA512 10e32d9a74884000fbf8b86bee60530f6e7b936b990e7ae3b76099ace71834602de404721101c1076ef57365622a9a8f4819d57f58508ced09a21b7d50326886 +DIST pyudev-0.24.3.gh.tar.gz 80807 BLAKE2B 8b047c1d44f9bbb9ace782b690e0859eb3cdc2c1a994a398513e7cc2288803f8cfcdc227546de22275d47961f880bd76e0dec244e46abf451534f5648682febe SHA512 9075437f6fdba0fc1921e252c0a49e1a5eeed8c5cf598856a32aa9f9fcb8885dc0727258d2965241b2e044acfdf70561d5aa3f1380b84e013afc7cb8dcbfce2b diff --git a/dev-python/pyudev/files/pyudev-0.24.3-tests.patch b/dev-python/pyudev/files/pyudev-0.24.3-tests.patch new file mode 100644 index 000000000000..a21327df2394 --- /dev/null +++ b/dev-python/pyudev/files/pyudev-0.24.3-tests.patch @@ -0,0 +1,13 @@ +diff --git a/tests/_device_tests/_attributes_tests.py b/tests/_device_tests/_attributes_tests.py +index 71b3a7a..9136cea 100644 +--- a/tests/_device_tests/_attributes_tests.py ++++ b/tests/_device_tests/_attributes_tests.py +@@ -49,7 +49,7 @@ def test_getitem(self, a_context, device_datum): + device = Devices.from_path(a_context, device_datum.device_path) + assert all( + isinstance(device.attributes.get(key), bytes) +- for key in device_datum.attributes.keys() ++ for key in device_datum.attributes.keys() if key is not None + ) + + @given(strategies.sampled_from(_DEVICES)) diff --git a/dev-python/pyudev/pyudev-0.24.3.ebuild b/dev-python/pyudev/pyudev-0.24.3.ebuild new file mode 100644 index 000000000000..29d6755427f4 --- /dev/null +++ b/dev-python/pyudev/pyudev-0.24.3.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{9..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 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="qt5" + +# 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}] + dev-python/hypothesis[${PYTHON_USEDEP}] + ) +" + +DOCS=( CHANGES.rst README.rst ) + +PATCHES=( + "${FILESDIR}/pyudev-0.24.3-tests.patch" +) + +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 + + # tests are known to pass then fail on alternate runs + # tests: fix run_path + sed -e "s|== \('/run/udev'\)|in (\1,'/dev/.udev')|g" \ + -i tests/test_core.py || die + + # disable usage of hypothesis timeouts (too short) + sed -e '/@settings/s/(/(deadline=None,/' -i tests{,/_device_tests}/*.py || die + + # remove GUI tests that require a display server + rm tests/test_observer.py tests/test_observer_deprecated.py || die + + 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 + ) + epytest tests +} + +pkg_postinst() { + optfeature "PyQt5 bindings" "dev-python/PyQt5" +} |