commit:     dc42b1f95ba7b2c2c5a0075ff300b87e729adf62
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 10 05:07:21 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Oct 10 05:07:26 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dc42b1f9

dev-python/shapely: fix cython-3, skip known-bad test w/ new geos

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

 .../shapely/files/shapely-2.0.1-cython3.patch      | 30 ++++++++++++
 dev-python/shapely/shapely-2.0.1-r1.ebuild         | 56 ++++++++++++++++++++++
 2 files changed, 86 insertions(+)

diff --git a/dev-python/shapely/files/shapely-2.0.1-cython3.patch 
b/dev-python/shapely/files/shapely-2.0.1-cython3.patch
new file mode 100644
index 000000000000..23fb0384e3f4
--- /dev/null
+++ b/dev-python/shapely/files/shapely-2.0.1-cython3.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/898708
+https://github.com/shapely/shapely/pull/1872
+https://github.com/shapely/shapely/commit/fea6d0351a4422b1f9fefb508db7924981c18e43
+
+From fea6d0351a4422b1f9fefb508db7924981c18e43 Mon Sep 17 00:00:00 2001
+From: Joris Van den Bossche <[email protected]>
+Date: Sun, 8 Oct 2023 11:12:28 +0200
+Subject: [PATCH] Fix for cython 3 compatibility (#1872)
+
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -1,6 +1,6 @@
+ [build-system]
+ requires = [
+-    "Cython~=0.29",
++    "Cython",
+     "oldest-supported-numpy",
+     "setuptools>=61.0.0",
+ ]
+--- a/shapely/_geos.pyx
++++ b/shapely/_geos.pyx
+@@ -8,7 +8,7 @@ import warnings
+ from shapely import GEOSException
+ 
+ 
+-cdef void geos_message_handler(const char* message, void* userdata):
++cdef void geos_message_handler(const char* message, void* userdata) noexcept:
+     snprintf(<char *>userdata, 1024, "%s", message)
+ 
+ 

diff --git a/dev-python/shapely/shapely-2.0.1-r1.ebuild 
b/dev-python/shapely/shapely-2.0.1-r1.ebuild
new file mode 100644
index 000000000000..122e81e460f3
--- /dev/null
+++ b/dev-python/shapely/shapely-2.0.1-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="Geometric objects, predicates, and operations"
+HOMEPAGE="
+       https://pypi.org/project/shapely/
+       https://github.com/shapely/shapely/
+"
+SRC_URI="
+       https://github.com/shapely/shapely/archive/${PV/_p/.post}.tar.gz
+               -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+DEPEND="
+       >=sci-libs/geos-3.9
+"
+RDEPEND="
+       ${DEPEND}
+       dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+       ${DEPEND}
+       >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
+       dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.0.1-cython3.patch
+)
+
+EPYTEST_DESELECT=(
+       # Should be able to drop these in next release (>2.0.1)
+       # https://github.com/shapely/shapely/issues/1670
+       # https://github.com/shapely/shapely/issues/1855
+       
tests/test_parallel_offset.py::OperationsTestCase::test_parallel_offset_linestring
+)
+
+distutils_enable_tests pytest
+
+python_compile_all() {
+       rm -r shapely || die
+}

Reply via email to