summaryrefslogtreecommitdiff
path: root/dev-python/shapely
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-07-09 15:43:36 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-07-09 15:43:36 +0100
commit2719f73b6813d11d13a9650cdd2ab8ec6e69385d (patch)
tree8c816148bcbd22757d892089c989ae614eae4f5a /dev-python/shapely
parent0f558761aa2dee1017b4751e4017205e015a9560 (diff)
gentoo resync : 09.07.2022
Diffstat (limited to 'dev-python/shapely')
-rw-r--r--dev-python/shapely/Manifest6
-rw-r--r--dev-python/shapely/files/shapely-1.7.1-tests-support-geos-3.9.patch61
-rw-r--r--dev-python/shapely/metadata.xml23
-rw-r--r--dev-python/shapely/shapely-1.7.1-r1.ebuild31
-rw-r--r--dev-python/shapely/shapely-1.8.2.ebuild50
5 files changed, 171 insertions, 0 deletions
diff --git a/dev-python/shapely/Manifest b/dev-python/shapely/Manifest
new file mode 100644
index 000000000000..78e3c9958245
--- /dev/null
+++ b/dev-python/shapely/Manifest
@@ -0,0 +1,6 @@
+AUX shapely-1.7.1-tests-support-geos-3.9.patch 2130 BLAKE2B 2785926f41a8d9486b9591616acf1f9b2dd76c2b009a7a51fefcb664733b304e7fc59b247a87fa36f4b4301132f157a16153f78dc68c2102901c4eea46c020ba SHA512 64c5ecd44ee7b6020e9605825b8af78ba0dfcaa5b0358c8f76af4104869ce027eb059331fa8c488add3ac1e360e41f46346d24e702c54858fe2f9bbef0b929a6
+DIST shapely-1.7.1.tar.gz 293368 BLAKE2B 14d9cb0c2b486a3a20b71c0cde7260ec357287ea020352c0320eea07b91674605bdcd22512b33c5ac5a71b89c3d811946f8dd6d3b90c61398203a4c68f30d067 SHA512 72070437960a8c1cf6504b5f4ccc8ec509f87fb6a90178e291aff14889f5add89f9ed4f7e9a19799ce0835c1aea3f0241eaa6efd4d8ea5b879f2167f7c1de50a
+DIST shapely-1.8.2.gh.tar.gz 322064 BLAKE2B f21f91eb58818aa30464c719b1079d382c5a00f13eda70c532e4a12f1612284240e5c8c110a867c74eaa4aac5f3a21fd10b23c7ce781808d4adc871d038b8b2b SHA512 c85323f180622235257aed28c85640c63bb43cbcb2bd7ed9b354a0f23a92e0ca8becf7a94e85edea3a90cfd01017ddfc6f268f4bb2945639c2cae29a73292bd6
+EBUILD shapely-1.7.1-r1.ebuild 766 BLAKE2B 653241ac95f61191086bfc143da76f3962c534922ae513ef59b69bac7722763e909b45bfc2c87194c7558512898d469f4b537d844a05b45f888ce31aa35cdc4c SHA512 c54533c77431cc69e6e810b6a538eeca5776d54aeaf19d81416091052bec84e5b57fc7be214f22ff5d3328baf55f2cb7bad98219eaa66f5e2c4655f6f408c5a9
+EBUILD shapely-1.8.2.ebuild 925 BLAKE2B 88029c2701243b54cc6694e04e966cf413586212044494909643e9fa6d411dc1a9fd5b52d98a3e3af5a21be681d9537e519f062e596e303379b0b9d38568df7c SHA512 607331e93d9e5860a63a85a0534e1dbd407445d62110634f02f7b3cdb2733bcb76e92e09d72e4526f14eb0474fc9e26ea424c2153f71fec8d8089b6fb286a876
+MISC metadata.xml 1000 BLAKE2B 13d49473b11208e3e050b3d0c5b55751c50b0d29c9bf1a71d73867a3b8a7620b2e3755babee05a09696a55b09e61e440e8e1b5878bc9e3819a5ad38e98de1770 SHA512 77d8c1f9a0c2bfa12acc04f7374d0b633dbd859b3f506c92bc1c1749bd630371a18255ddfb04f323d24740253d1cdffef26bcf3e766d45b4f9c3df5e588f6901
diff --git a/dev-python/shapely/files/shapely-1.7.1-tests-support-geos-3.9.patch b/dev-python/shapely/files/shapely-1.7.1-tests-support-geos-3.9.patch
new file mode 100644
index 000000000000..18b6c5ad9a46
--- /dev/null
+++ b/dev-python/shapely/files/shapely-1.7.1-tests-support-geos-3.9.patch
@@ -0,0 +1,61 @@
+diff --git a/tests/test_svg.py b/tests/test_svg.py
+--- a/tests/test_svg.py (revision 56c0f97a80e75308cf62e0bc4883238c10f56fdf)
++++ b/tests/test_svg.py (date 1615044742785)
+@@ -174,7 +174,8 @@
+ self.assertSVG(GeometryCollection(), '<g />')
+ # Valid
+ self.assertSVG(
+- Point(7, 3).union(LineString([(4, 2), (8, 4)])),
++ GeometryCollection(
++ [Point(7, 3), LineString([(4, 2), (8, 4)])]),
+ '<g><circle cx="7.0" cy="3.0" r="3.0" stroke="#555555" '
+ 'stroke-width="1.0" fill="#66cc99" opacity="0.6" />'
+ '<polyline fill="none" stroke="#66cc99" stroke-width="2.0" '
+--- a/tests/test_wkb.py (revision 56c0f97a80e75308cf62e0bc4883238c10f56fdf)
++++ b/tests/test_wkb.py (date 1615044817079)
+@@ -1,6 +1,11 @@
++import binascii
++
++import pytest
++
++from shapely import wkt
+ from shapely.wkb import dumps, loads
+ from shapely.geometry import Point
+-import binascii
++from shapely.geos import geos_version
+
+
+ def bin2hex(value):
+@@ -49,3 +54,20 @@
+ # replace geometry srid with another
+ result = dumps(geom, srid=27700)
+ assert bin2hex(result) == "0101000020346C0000333333333333F33F3333333333330B40"
++
++
++requires_geos_39 = pytest.mark.xfail(
++ geos_version < (3, 9, 0), reason="GEOS >= 3.9.0 is required", strict=True)
++
++
++@requires_geos_39
++def test_point_empty():
++ g = wkt.loads("POINT EMPTY")
++ assert g.wkb_hex == "0101000000000000000000F87F000000000000F87F"
++
++
++@requires_geos_39
++def test_point_z_empty():
++ g = wkt.loads("POINT Z EMPTY")
++ assert g.wkb_hex == \
++ "0101000080000000000000F87F000000000000F87F000000000000F87F"
+diff --git a/shapely/geos.py b/shapely/geos.py
+--- a/shapely/geos.py (revision 56c0f97a80e75308cf62e0bc4883238c10f56fdf)
++++ b/shapely/geos.py (date 1615044673942)
+@@ -84,7 +84,7 @@
+ 'libgeos_c.so.1',
+ 'libgeos_c.so',
+ ]
+- _lgeos = load_dll('geos_c', fallbacks=alt_paths)
++ _lgeos = load_dll('libgeos_c', fallbacks=alt_paths)
+ # Necessary for environments with only libc.musl
+ c_alt_paths = [
+ 'libc.musl-x86_64.so.1'
diff --git a/dev-python/shapely/metadata.xml b/dev-python/shapely/metadata.xml
new file mode 100644
index 000000000000..6432c651184e
--- /dev/null
+++ b/dev-python/shapely/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>3dprint@gentoo.org</email>
+ <name>Gentoo 3D Printer Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription>
+ Shapely is a BSD-licensed Python package for manipulation and analysis of planar geometric objects.
+ It is based on the widely deployed GEOS (the engine of PostGIS) and JTS (from which GEOS is ported) libraries.
+ Shapely is not concerned with data formats or coordinate systems, but can be readily integrated with packages that are.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/shapely/shapely/issues</bugs-to>
+ <doc>https://shapely.readthedocs.io</doc>
+ <remote-id type="github">shapely/shapely</remote-id>
+ <remote-id type="pypi">Shapely</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/shapely/shapely-1.7.1-r1.ebuild b/dev-python/shapely/shapely-1.7.1-r1.ebuild
new file mode 100644
index 000000000000..c3f37aa5b3d8
--- /dev/null
+++ b/dev-python/shapely/shapely-1.7.1-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit distutils-r1
+
+DESCRIPTION="Geometric objects, predicates, and operations"
+HOMEPAGE="https://pypi.org/project/Shapely/ https://github.com/Toblerity/Shapely"
+SRC_URI="https://github.com/Toblerity/Shapely/archive/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${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[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-tests-support-geos-3.9.patch"
+)
+
+distutils_enable_tests --install pytest
+distutils_enable_sphinx docs dev-python/matplotlib
diff --git a/dev-python/shapely/shapely-1.8.2.ebuild b/dev-python/shapely/shapely-1.8.2.ebuild
new file mode 100644
index 000000000000..e123057db79a
--- /dev/null
+++ b/dev-python/shapely/shapely-1.8.2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit distutils-r1
+
+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}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+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[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs dev-python/matplotlib
+
+src_prepare() {
+ rm -r _vendor || die
+ sed -i -e 's:_vendor\.::' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ rm -rf shapely || die
+ epytest
+}