summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgy Yakovlev <gyakovlev@gentoo.org>2020-06-10 18:59:00 -0700
committerGeorgy Yakovlev <gyakovlev@gentoo.org>2020-06-10 19:00:04 -0700
commit49ee2e8f661fcfbd8b7cb001b35edf0091c39436 (patch)
tree76e652dea3ce54065b2cb2a185d332da8f3352d8 /dev-python/semver
parentapp-shells/loksh: drop old (diff)
downloadgentoo-49ee2e8f661fcfbd8b7cb001b35edf0091c39436.tar.gz
gentoo-49ee2e8f661fcfbd8b7cb001b35edf0091c39436.tar.bz2
gentoo-49ee2e8f661fcfbd8b7cb001b35edf0091c39436.zip
dev-python/semver: bump to 2.10.1
Package-Manager: Portage-2.3.100, Repoman-2.3.22 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Diffstat (limited to 'dev-python/semver')
-rw-r--r--dev-python/semver/Manifest1
-rw-r--r--dev-python/semver/files/2.10.1-getitem.patch147
-rw-r--r--dev-python/semver/semver-2.10.1.ebuild30
3 files changed, 178 insertions, 0 deletions
diff --git a/dev-python/semver/Manifest b/dev-python/semver/Manifest
index 233c2e9e5679..1a3b3b8f7a3b 100644
--- a/dev-python/semver/Manifest
+++ b/dev-python/semver/Manifest
@@ -1,2 +1,3 @@
+DIST semver-2.10.1.tar.gz 39327 BLAKE2B 867edb0690b07ac460a3c43465047479a4dd84ceadf0eaebaad3c9975994efbf97d51d94c5de2ba6b758b5785649a20acbc2b24a31ab8114b611ac9a24f915c2 SHA512 6abd02f109836c956967ef60c882269818402b771d25a5f243628b6b651bcf9246bbf5b09fac746e65d8c54ffc7b42f21be6cb6dd20487b987a5976995bae51c
DIST semver-2.9.0.tar.gz 24767 BLAKE2B 5fb9eda8c5ccc6b02997292eb6f7be0080480b21bc38bb629fa48af674ec7a356f2b9952459680281a187243acbde17968060c48e4c1af70d10f3bbdf984fbe2 SHA512 5ae9a4a66474fc82cf7e4612796a6c0e0280ad9969ff8c509e99cb266154f39a2c03c68f6167f8e17fda1ac16ce17a838e63d81bc2e78debfd07adbb7cbc098d
DIST semver-2.9.1.tar.gz 32437 BLAKE2B f87f6ad001b2e3752c59282714d0dfc258aa8a727517b5b7caeeb9ff2ebc2fb5fce308a96e7728e2f79cbd502bcde5cddc3422563b1c0eb588e41acaba1178c6 SHA512 3de661921d51b19fd4922605677790b7e83ab1e34ef76cd9d6d2147753c122686a801b4ddb0fec1b85018e7c60859885cc27f43bc5e337de1b69b9304b398175
diff --git a/dev-python/semver/files/2.10.1-getitem.patch b/dev-python/semver/files/2.10.1-getitem.patch
new file mode 100644
index 000000000000..1a86ad0449d1
--- /dev/null
+++ b/dev-python/semver/files/2.10.1-getitem.patch
@@ -0,0 +1,147 @@
+From f332326e54a5582092b50c8fa113d11bbdf1a9e6 Mon Sep 17 00:00:00 2001
+From: Thomas Laferriere <t.laferriere@hotmail.ca>
+Date: Wed, 10 Jun 2020 01:44:11 -0400
+Subject: [PATCH] Fix #260 __getitem__ returning `None` on falsy parts
+
+* Fix #260 and add tests for these special cases
+* Fix IndexError not being thrown every time it should
+* Update CHANGELOG.rst
+
+Co-authored-by: Tom Schraitle <tomschr@users.noreply.github.com>
+---
+ CHANGELOG.rst | 28 ++++++++++++++++++++++++++++
+ semver.py | 9 ++++-----
+ test_semver.py | 35 ++++++++++++++++++++++++++++-------
+ 3 files changed, 60 insertions(+), 12 deletions(-)
+
+diff --git a/CHANGELOG.rst b/CHANGELOG.rst
+index c28880e..2671ef2 100644
+--- a/CHANGELOG.rst
++++ b/CHANGELOG.rst
+@@ -7,6 +7,34 @@ All notable changes to this code base will be documented in this file,
+ in every released version.
+
+
++Version 2.10.2 (WIP)
++====================
++
++:Released: 2020-xx-yy
++:Maintainer:
++
++Features
++--------
++
++n/a
++
++Bug Fixes
++---------
++
++:gh:`260` (:pr:`261`): Fixed ``__getitem__`` returning None on wrong parts
++
++
++Additions
++---------
++
++n/a
++
++Removals
++--------
++
++n/a
++
++
+ Version 2.10.1
+ ==============
+
+diff --git a/semver.py b/semver.py
+index 00338e8..0c98af9 100644
+--- a/semver.py
++++ b/semver.py
+@@ -548,17 +548,16 @@ def __getitem__(self, index):
+
+ if (
+ isinstance(index, slice)
+- and (index.start is None or index.start < 0)
+- and (index.stop is None or index.stop < 0)
++ and (index.start is not None and index.start < 0)
++ or (index.stop is not None and index.stop < 0)
+ ):
+ raise IndexError("Version index cannot be negative")
+
+- # Could raise IndexError:
+- part = tuple(filter(None, self.to_tuple()[index]))
++ part = tuple(filter(lambda p: p is not None, self.to_tuple()[index]))
+
+ if len(part) == 1:
+ part = part[0]
+- if not part:
++ elif not part:
+ raise IndexError("Version part undefined")
+ return part
+
+diff --git a/test_semver.py b/test_semver.py
+index 8ecc81f..1fd87ee 100644
+--- a/test_semver.py
++++ b/test_semver.py
+@@ -774,6 +774,8 @@ def test_should_be_able_to_use_integers_as_prerelease_build():
+ ("1.2.3", 0, 1),
+ ("1.2.3", 1, 2),
+ ("1.2.3", 2, 3),
++ # Special cases
++ ("1.0.2", 1, 0),
+ ],
+ )
+ def test_version_info_should_be_accessed_with_index(version, index, expected):
+@@ -801,6 +803,7 @@ def test_version_info_should_be_accessed_with_index(version, index, expected):
+ ("1.2.3-rc.0+build.0", slice(0, 5, 2), (1, 3, "build.0")),
+ ("1.2.3-rc.0+build.0", slice(None, 5, 2), (1, 3, "build.0")),
+ ("1.2.3-rc.0+build.0", slice(5, 0, -2), ("build.0", 3)),
++ ("1.2.0-rc.0+build.0", slice(3), (1, 2, 0)),
+ ],
+ )
+ def test_version_info_should_be_accessed_with_slice_object(
+@@ -813,19 +816,37 @@ def test_version_info_should_be_accessed_with_slice_object(
+ @pytest.mark.parametrize(
+ "version, index",
+ [
+- ("1.2.3-rc.0+build.0", -1),
+- ("1.2.3-rc.0", -1),
+- ("1.2.3-rc.0", 4),
+- ("1.2.3", -1),
+ ("1.2.3", 3),
++ ("1.2.3", slice(3, 4)),
+ ("1.2.3", 4),
+- ("1.2.3", 10),
+- ("1.2.3", slice(-3)),
++ ("1.2.3", slice(4, 5)),
++ ("1.2.3", 5),
++ ("1.2.3", slice(5, 6)),
++ ("1.2.3-rc.0", 5),
++ ("1.2.3-rc.0", slice(5, 6)),
++ ("1.2.3-rc.0", 6),
++ ("1.2.3-rc.0", slice(6, 7)),
+ ],
+ )
+ def test_version_info_should_throw_index_error(version, index):
+ version_info = VersionInfo.parse(version)
+- with pytest.raises(IndexError):
++ with pytest.raises(IndexError, match=r"Version part undefined"):
++ version_info[index]
++
++
++@pytest.mark.parametrize(
++ "version, index",
++ [
++ ("1.2.3", -1),
++ ("1.2.3", -2),
++ ("1.2.3", slice(-2, 2)),
++ ("1.2.3", slice(2, -2)),
++ ("1.2.3", slice(-2, -2)),
++ ],
++)
++def test_version_info_should_throw_index_error_when_negative_index(version, index):
++ version_info = VersionInfo.parse(version)
++ with pytest.raises(IndexError, match=r"Version index cannot be negative"):
+ version_info[index]
+
+
diff --git a/dev-python/semver/semver-2.10.1.ebuild b/dev-python/semver/semver-2.10.1.ebuild
new file mode 100644
index 000000000000..b731e8febb6b
--- /dev/null
+++ b/dev-python/semver/semver-2.10.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2019-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="A Python module for semantic versioning"
+HOMEPAGE="https://github.com/python-semver/python-semver"
+SRC_URI="https://github.com/python-${PN}/python-${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="test"
+
+S="${WORKDIR}/python-${P}"
+
+PATCHES=( "${FILESDIR}/${PV}-getitem.patch" )
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # contains pytest/cov args we don't want
+ rm setup.cfg || die
+ distutils-r1_python_prepare_all
+}