diff options
author | Sam James <sam@gentoo.org> | 2023-02-17 06:04:18 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-02-17 06:22:16 +0000 |
commit | 485262e28f2aae4d6718cdbd8717841a1a0aa038 (patch) | |
tree | 441a447b1fd9faa0c716f97894774ba89a408f55 /dev-python/pyusb | |
parent | dev-python/pychroot: enable py3.11 (diff) | |
download | gentoo-485262e28f2aae4d6718cdbd8717841a1a0aa038.tar.gz gentoo-485262e28f2aae4d6718cdbd8717841a1a0aa038.tar.bz2 gentoo-485262e28f2aae4d6718cdbd8717841a1a0aa038.zip |
dev-python/pyusb: enable py3.11, use pypi.eclass, fix w/ newer setuptools
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-python/pyusb')
-rw-r--r-- | dev-python/pyusb/files/pyusb-1.2.1-setuptools.patch | 37 | ||||
-rw-r--r-- | dev-python/pyusb/pyusb-1.2.1.ebuild | 9 |
2 files changed, 43 insertions, 3 deletions
diff --git a/dev-python/pyusb/files/pyusb-1.2.1-setuptools.patch b/dev-python/pyusb/files/pyusb-1.2.1-setuptools.patch new file mode 100644 index 000000000000..26b5e204d648 --- /dev/null +++ b/dev-python/pyusb/files/pyusb-1.2.1-setuptools.patch @@ -0,0 +1,37 @@ +https://github.com/pyusb/pyusb/commit/777dea9d718e70d7323c821d4497c706b35742da + +From 777dea9d718e70d7323c821d4497c706b35742da Mon Sep 17 00:00:00 2001 +From: Jonas Malaco <jonas@protocubo.io> +Date: Tue, 12 Jul 2022 03:12:50 -0300 +Subject: [PATCH] version: handle when patch component is missing + +actions/checkout@v3 (by default) no longer fetches the tags while +checking out the repository. This, combined with our use of +setuptools_scm post-release scheme, results in tox trying to run the +tests with version strings that look something like + + pyusb-0.0.post1+g3678fc1.zip + +and breaking _get_extended_version_info(). + +Make _get_extended_version_info() robust against this case. This is +preferable to configuring actions/checkout@v3 to fetch the tags as, +being related shallow clones, it might also happen in other contexts. + +Fixes: 678fc1867f4 ("github: update to actions/checkout@v3") +--- a/usb/__init__.py ++++ b/usb/__init__.py +@@ -55,9 +55,9 @@ + + def _get_extended_version_info(version): + import re +- m = re.match(r'(\d+)\.(\d+)\.(\d+)[.-]?(.*)', version) +- major, minor, patch, suffix = m.groups() +- return int(major), int(minor), int(patch), suffix ++ m = re.match(r'(\d+)\.(\d+)(\.(\d+))?[.-]?(.*)', version) ++ major, minor, _, patch, suffix = m.groups() ++ return int(major), int(minor), int(patch or "0"), suffix + + extended_version_info = _get_extended_version_info(__version__) + version_info = extended_version_info[:3] + diff --git a/dev-python/pyusb/pyusb-1.2.1.ebuild b/dev-python/pyusb/pyusb-1.2.1.ebuild index 900eb0c4252d..d7c303722986 100644 --- a/dev-python/pyusb/pyusb-1.2.1.ebuild +++ b/dev-python/pyusb/pyusb-1.2.1.ebuild @@ -3,12 +3,11 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..10} ) -inherit distutils-r1 +PYTHON_COMPAT=( python3_{9..11} ) +inherit distutils-r1 pypi DESCRIPTION="USB support for Python" HOMEPAGE="https://pyusb.github.io/pyusb/ https://pypi.org/project/pyusb/" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" LICENSE="BSD" SLOT="0" @@ -20,6 +19,10 @@ RDEPEND="${DEPEND}" DOCS=( README.rst docs/tutorial.rst ) +PATCHES=( + "${FILESDIR}"/${P}-setuptools.patch +) + python_test() { cd tests || die "${EPYTHON}" testall.py || die "Tests failed with ${EPYTHON}" |