commit:     a4beea7769ceee4da95127da60dfbae27a127617
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  3 21:29:36 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun  3 21:29:36 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a4beea77

dev-python/kiwisolver: add Python 3.11 patch

Closes: https://bugs.gentoo.org/849563
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/kiwisolver-1.4.2-python311.patch         | 31 ++++++++++++++++++++++
 dev-python/kiwisolver/kiwisolver-1.4.2.ebuild      |  4 +++
 2 files changed, 35 insertions(+)

diff --git a/dev-python/kiwisolver/files/kiwisolver-1.4.2-python311.patch 
b/dev-python/kiwisolver/files/kiwisolver-1.4.2-python311.patch
new file mode 100644
index 000000000000..a03af53a0280
--- /dev/null
+++ b/dev-python/kiwisolver/files/kiwisolver-1.4.2-python311.patch
@@ -0,0 +1,31 @@
+https://github.com/nucleic/kiwi/commit/f14059f532d6b5c6b505d9803b36a77b75546b18.patch
+https://bugs.gentoo.org/849563
+
+From f14059f532d6b5c6b505d9803b36a77b75546b18 Mon Sep 17 00:00:00 2001
+From: Matthieu Dartiailh <[email protected]>
+Date: Fri, 3 Jun 2022 09:11:18 +0200
+Subject: [PATCH] py: use nullptr instead of 0 in PyTuple_SET_ITEM
+
+--- a/py/src/symbolics.h
++++ b/py/src/symbolics.h
+@@ -123,7 +123,7 @@ PyObject* BinaryMul::operator()( Expression* first, double 
second )
+               return 0;
+       Py_ssize_t end = PyTuple_GET_SIZE( first->terms );
+       for( Py_ssize_t i = 0; i < end; ++i )  // memset 0 for safe error return
+-              PyTuple_SET_ITEM( terms.get(), i, 0 );
++              PyTuple_SET_ITEM( terms.get(), i, nullptr );
+       for( Py_ssize_t i = 0; i < end; ++i )
+       {
+               PyObject* item = PyTuple_GET_ITEM( first->terms, i );
+--- a/py/src/util.h
++++ b/py/src/util.h
+@@ -117,7 +117,7 @@ make_terms( const std::map<PyObject*, double>& coeffs )
+         return 0;
+     Py_ssize_t size = PyTuple_GET_SIZE( terms.get() );
+     for( Py_ssize_t i = 0; i < size; ++i ) // zero tuple for safe early return
+-        PyTuple_SET_ITEM( terms.get(), i, 0 );
++        PyTuple_SET_ITEM( terms.get(), i, nullptr );
+     Py_ssize_t i = 0;
+     iter_t it = coeffs.begin();
+     iter_t end = coeffs.end();
+

diff --git a/dev-python/kiwisolver/kiwisolver-1.4.2.ebuild 
b/dev-python/kiwisolver/kiwisolver-1.4.2.ebuild
index 2f943c1f7e14..e29fa7eee534 100644
--- a/dev-python/kiwisolver/kiwisolver-1.4.2.ebuild
+++ b/dev-python/kiwisolver/kiwisolver-1.4.2.ebuild
@@ -32,6 +32,10 @@ BDEPEND="
        >=dev-python/setuptools_scm-3.4.3[${PYTHON_USEDEP}]
 "
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.4.2-python311.patch
+)
+
 distutils_enable_tests pytest
 
 export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}

Reply via email to