commit:     9af5548823c1c8b8795f0e11d647670bd03245d5
Author:     Petr Vaněk <arkamar <AT> atlas <DOT> cz>
AuthorDate: Thu Feb 16 20:41:15 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Feb 17 09:40:21 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9af55488

dev-python/frozendict: enable py3.11

- applied patch which makes native extension optional for unsupported
  python versions
- skip tests of native extension for python versions where it is not
  available

Upstream-PR: https://github.com/Marco-Sulla/python-frozendict/pull/69
Signed-off-by: Petr Vaněk <arkamar <AT> atlas.cz>
Closes: https://github.com/gentoo/gentoo/pull/29623
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../frozendict-2.3.4-optional-extension.patch      | 20 +++++++++++
 dev-python/frozendict/frozendict-2.3.4-r1.ebuild   | 42 ++++++++++++++++++++++
 2 files changed, 62 insertions(+)

diff --git 
a/dev-python/frozendict/files/frozendict-2.3.4-optional-extension.patch 
b/dev-python/frozendict/files/frozendict-2.3.4-optional-extension.patch
new file mode 100644
index 000000000000..f64402b023e3
--- /dev/null
+++ b/dev-python/frozendict/files/frozendict-2.3.4-optional-extension.patch
@@ -0,0 +1,20 @@
+Autodetect availability of C extension. Taken from upstream PR.
+
+Upstream-PR: https://github.com/Marco-Sulla/python-frozendict/pull/69
+
+diff --git a/setup.py b/setup.py
+index 0325383..0667b59 100755
+--- a/setup.py
++++ b/setup.py
+@@ -163,7 +163,7 @@ if len(argv) > 1 and argv[1] in custom_args:
+ impl = python_implementation()
+ 
+ if custom_arg == None:
+-    if impl == "PyPy":
++    if impl == "PyPy" or not src_path.exists():
+         custom_arg = "py"
+     else:
+         custom_arg = "c"
+-- 
+2.39.1
+

diff --git a/dev-python/frozendict/frozendict-2.3.4-r1.ebuild 
b/dev-python/frozendict/frozendict-2.3.4-r1.ebuild
new file mode 100644
index 000000000000..986217d9dcee
--- /dev/null
+++ b/dev-python/frozendict/frozendict-2.3.4-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple immutable mapping for python"
+HOMEPAGE="
+       https://github.com/Marco-Sulla/python-frozendict/
+       https://pypi.org/project/frozendict/
+"
+SRC_URI="
+       https://github.com/Marco-Sulla/python-frozendict/archive/v${PV}.tar.gz
+               -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/python-${P}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+       "${FILESDIR}/${P}-optional-extension.patch"
+)
+
+python_test() {
+       local EPYTEST_IGNORE=()
+       # skip tests of native extension for python versions where it is not 
available
+       [[ ${EPYTHON} == python3.11 ]] && EPYTEST_IGNORE+=(
+               test/test_frozendict_c.py
+               test/test_frozendict_c_subclass.py
+       )
+
+       rm -rf frozendict || die
+       epytest
+}

Reply via email to