summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/attrs')
-rw-r--r--dev-python/attrs/Manifest2
-rw-r--r--dev-python/attrs/attrs-21.2.0.ebuild30
-rw-r--r--dev-python/attrs/attrs-23.2.0.ebuild44
-rw-r--r--dev-python/attrs/files/attrs-23.2.0-py313.patch93
-rw-r--r--dev-python/attrs/files/attrs-23.2.0-pytest-8.patch44
-rw-r--r--dev-python/attrs/metadata.xml3
6 files changed, 184 insertions, 32 deletions
diff --git a/dev-python/attrs/Manifest b/dev-python/attrs/Manifest
index c365823bb8e8..70c2501690a0 100644
--- a/dev-python/attrs/Manifest
+++ b/dev-python/attrs/Manifest
@@ -1 +1 @@
-DIST attrs-21.2.0.tar.gz 184694 BLAKE2B 5c960f7c1a4623186c7a0cec8a9096df8df8e7d3022b67b281dcdd3a512ce6f105dfdd5ec10dc85a2b9971564f44e7b4474d760667e53cd2cf0f0543153eb6e2 SHA512 35863f599076357e40f72a62968f4a2f9bc2af9f59f484fef051be4f9730ce9e28e11568915d690ade7980df8998af22e2ff8b9568a205d7745e246ba5f3a7e1
+DIST attrs-23.2.0.tar.gz 780820 BLAKE2B a06f4f17a81fc173c37661bcf518367a1cdc9a333d2783bd2cd1ac5f0a72bd20ec1afdd964e10255624bcfa027e3a152375cd21472c177428d29bd06b29984a1 SHA512 d8b178072a028b95d8424cd3ce0c8b4e6da8558fbcbcaaef91fbd03cf51e6190aa248aa0bff853e6f7c9595bbd5a8eef9d6f68ae2830cc1cc6d826ab0dda2378
diff --git a/dev-python/attrs/attrs-21.2.0.ebuild b/dev-python/attrs/attrs-21.2.0.ebuild
deleted file mode 100644
index 9dc86dc85f16..000000000000
--- a/dev-python/attrs/attrs-21.2.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Attributes without boilerplate"
-HOMEPAGE="
- https://github.com/python-attrs/attrs/
- https://attrs.readthedocs.io/
- https://pypi.org/project/attrs/"
-SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-RDEPEND="
- dev-python/zope-interface[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- >=dev-python/hypothesis-3.6.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-4.3.0[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
diff --git a/dev-python/attrs/attrs-23.2.0.ebuild b/dev-python/attrs/attrs-23.2.0.ebuild
new file mode 100644
index 000000000000..6e858669ffbc
--- /dev/null
+++ b/dev-python/attrs/attrs-23.2.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Attributes without boilerplate"
+HOMEPAGE="
+ https://github.com/python-attrs/attrs/
+ https://attrs.readthedocs.io/
+ https://pypi.org/project/attrs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-23.2.0[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ $(python_gen_cond_dep '
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ ' python3_{10..12})
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ ' python3_{10..12} pypy3)
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/python-attrs/attrs/pull/1249
+ "${FILESDIR}/${P}-pytest-8.patch"
+ # https://github.com/python-attrs/attrs/pull/1255
+ "${FILESDIR}/${P}-py313.patch"
+)
diff --git a/dev-python/attrs/files/attrs-23.2.0-py313.patch b/dev-python/attrs/files/attrs-23.2.0-py313.patch
new file mode 100644
index 000000000000..f7ea8f5e659f
--- /dev/null
+++ b/dev-python/attrs/files/attrs-23.2.0-py313.patch
@@ -0,0 +1,93 @@
+From f9ff9135b472c78a7333d6272c62b92217897464 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Lum=C3=ADr=20=27Frenzy=27=20Balhar?=
+ <frenzy.madness@gmail.com>
+Date: Thu, 7 Mar 2024 10:23:46 +0100
+Subject: [PATCH] Fix test_ne in test_cmp.py for Python 3.13 (#1255)
+
+* Fix test_ne in test_cmp.py for Python 3.13
+
+Compiler in Python 3.13+ strips indents from docstrings
+so they need to be compared without it for new Pythons.
+
+Fixes: https://github.com/python-attrs/attrs/issues/1228
+
+* [pre-commit.ci] auto fixes from pre-commit.com hooks
+
+for more information, see https://pre-commit.ci
+
+---------
+
+Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
+---
+ src/attr/_compat.py | 1 +
+ tests/test_cmp.py | 11 +++++++----
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/src/attr/_compat.py b/src/attr/_compat.py
+index 46b05ca..9010047 100644
+--- a/src/attr/_compat.py
++++ b/src/attr/_compat.py
+@@ -14,6 +14,7 @@ PY_3_8_PLUS = sys.version_info[:2] >= (3, 8)
+ PY_3_9_PLUS = sys.version_info[:2] >= (3, 9)
+ PY310 = sys.version_info[:2] >= (3, 10)
+ PY_3_12_PLUS = sys.version_info[:2] >= (3, 12)
++PY_3_13_PLUS = sys.version_info[:2] >= (3, 13)
+
+
+ if sys.version_info < (3, 8):
+diff --git a/tests/test_cmp.py b/tests/test_cmp.py
+index 07bfc52..b84b66f 100644
+--- a/tests/test_cmp.py
++++ b/tests/test_cmp.py
+@@ -4,10 +4,10 @@
+ Tests for methods from `attrib._cmp`.
+ """
+
+-
+ import pytest
+
+ from attr._cmp import cmp_using
++from attr._compat import PY_3_13_PLUS
+
+
+ # Test parameters.
+@@ -54,6 +54,9 @@ order_ids = [c[0].__name__ for c in order_data]
+ cmp_data = eq_data + order_data
+ cmp_ids = eq_ids + order_ids
+
++# Compiler strips indents from docstrings in Python 3.13+
++indent = "" if PY_3_13_PLUS else " " * 8
++
+
+ class TestEqOrder:
+ """
+@@ -325,7 +328,7 @@ class TestDundersUnnamedClass:
+ method = self.cls.__ne__
+ assert method.__doc__.strip() == (
+ "Check equality and either forward a NotImplemented or\n"
+- " return the result negated."
++ f"{indent}return the result negated."
+ )
+ assert method.__name__ == "__ne__"
+
+@@ -393,7 +396,7 @@ class TestDundersPartialOrdering:
+ method = self.cls.__ne__
+ assert method.__doc__.strip() == (
+ "Check equality and either forward a NotImplemented or\n"
+- " return the result negated."
++ f"{indent}return the result negated."
+ )
+ assert method.__name__ == "__ne__"
+
+@@ -465,7 +468,7 @@ class TestDundersFullOrdering:
+ method = self.cls.__ne__
+ assert method.__doc__.strip() == (
+ "Check equality and either forward a NotImplemented or\n"
+- " return the result negated."
++ f"{indent}return the result negated."
+ )
+ assert method.__name__ == "__ne__"
+
+--
+2.45.0
+
diff --git a/dev-python/attrs/files/attrs-23.2.0-pytest-8.patch b/dev-python/attrs/files/attrs-23.2.0-pytest-8.patch
new file mode 100644
index 000000000000..68e4c86c1315
--- /dev/null
+++ b/dev-python/attrs/files/attrs-23.2.0-pytest-8.patch
@@ -0,0 +1,44 @@
+From b9084fab02c009a593b604562a69f36a5915c8e5 Mon Sep 17 00:00:00 2001
+From: Denis Laxalde <denis@laxalde.org>
+Date: Sat, 2 Mar 2024 07:40:36 +0100
+Subject: [PATCH] Remove pytest.deprecated_call() in TestAssoc::test_unknown
+ (#1249)
+
+assoc() no longer raises a deprecation warning since commit
+22ae8473fb88d6e585b05c709e81e1a46398a649 but the 'with
+pytest.deprecated_call():' in that test was not removed then (in
+contrast with other test cases).
+
+Maybe this got unnoticed due to a pytest bug?
+In any case, using pytest 8+ (and keeping deprecated_call()) shows that
+no warning is raised and the test fails.
+
+Removing the upper bound on pytest in dev dependencies as tests now
+pass with pytest 8.0.
+
+Fix #1233.
+
+Co-authored-by: Hynek Schlawack <hs@ox.cx>
+---
+ pyproject.toml | 3 +--
+ tests/test_funcs.py | 4 +---
+ 2 files changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/tests/test_funcs.py b/tests/test_funcs.py
+index 044aaab..398ba35 100644
+--- a/tests/test_funcs.py
++++ b/tests/test_funcs.py
+@@ -600,9 +600,7 @@ class TestAssoc:
+ AttrsAttributeNotFoundError.
+ """
+ # No generated class will have a four letter attribute.
+- with pytest.raises(
+- AttrsAttributeNotFoundError
+- ) as e, pytest.deprecated_call():
++ with pytest.raises(AttrsAttributeNotFoundError) as e:
+ assoc(C(), aaaa=2)
+
+ assert (f"aaaa is not an attrs attribute on {C!r}.",) == e.value.args
+--
+2.44.0
+
diff --git a/dev-python/attrs/metadata.xml b/dev-python/attrs/metadata.xml
index 57a4968ece0e..0c65494d24bd 100644
--- a/dev-python/attrs/metadata.xml
+++ b/dev-python/attrs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="cpe">cpe:/a:attrs_project:attrs</remote-id>
<remote-id type="pypi">attrs</remote-id>
<maintainer status="unknown">
<email>hs@ox.cx</email>