summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-10-10 06:07:21 +0100
committerSam James <sam@gentoo.org>2023-10-10 06:07:26 +0100
commitdc42b1f95ba7b2c2c5a0075ff300b87e729adf62 (patch)
tree80a60e2df7290aacf04cd2b1e512e147cab15f5a /dev-python
parentdev-python/Levenshtein: Bump to 0.23.0 (diff)
downloadgentoo-dc42b1f95ba7b2c2c5a0075ff300b87e729adf62.tar.gz
gentoo-dc42b1f95ba7b2c2c5a0075ff300b87e729adf62.tar.bz2
gentoo-dc42b1f95ba7b2c2c5a0075ff300b87e729adf62.zip
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@gentoo.org>
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/shapely/files/shapely-2.0.1-cython3.patch30
-rw-r--r--dev-python/shapely/shapely-2.0.1-r1.ebuild56
2 files changed, 86 insertions, 0 deletions
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 <jorisvandenbossche@gmail.com>
+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
+}