diff options
author | Michał Górny <mgorny@gentoo.org> | 2022-07-02 18:03:06 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2022-07-02 18:08:01 +0200 |
commit | daf66d27731db24d18b30f0cbf7018da57ed0851 (patch) | |
tree | 6824236da79213b85d9e3cd9c0bebf55cc608835 /dev-python/shapely | |
parent | dev-python/click-default-group: Mark ALLARCHES (diff) | |
download | gentoo-daf66d27731db24d18b30f0cbf7018da57ed0851.tar.gz gentoo-daf66d27731db24d18b30f0cbf7018da57ed0851.tar.bz2 gentoo-daf66d27731db24d18b30f0cbf7018da57ed0851.zip |
Move {sci-libs → dev-python}/shapely
Shapely is really primarily a Python package, and it seems that
the Python team is effectively going to maintain it going forward,
so it fits more naturally in dev-python than sci-libs.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/shapely')
-rw-r--r-- | dev-python/shapely/Manifest | 2 | ||||
-rw-r--r-- | dev-python/shapely/files/shapely-1.7.1-tests-support-geos-3.9.patch | 61 | ||||
-rw-r--r-- | dev-python/shapely/metadata.xml | 23 | ||||
-rw-r--r-- | dev-python/shapely/shapely-1.7.1-r1.ebuild | 31 | ||||
-rw-r--r-- | dev-python/shapely/shapely-1.8.2.ebuild | 50 |
5 files changed, 167 insertions, 0 deletions
diff --git a/dev-python/shapely/Manifest b/dev-python/shapely/Manifest new file mode 100644 index 000000000000..0145b67b8f00 --- /dev/null +++ b/dev-python/shapely/Manifest @@ -0,0 +1,2 @@ +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 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 +} |