PKG Add shapely and geos (#2725)

Co-authored-by: Hood <hood@mit.edu>
This commit is contained in:
Gyeongjae Choi 2022-06-17 11:26:09 +09:00 committed by GitHub
parent ef5f80bf07
commit 38fae6e9cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 72 additions and 1 deletions

View File

@ -173,7 +173,8 @@ substitutions:
- New packages: opencv-python v4.5.5.64 {pr}`2305`, ffmpeg {pr}`2305`, libwebp {pr}`2305`,
h5py, pkgconfig and libhdf5 {pr}`2411`, bitarray {pr}`2459`, gsw {pr}`2511`, cftime {pr}`2504`,
svgwrite, jsonschema, tskit {pr}`2506`, xarray {pr}`2538`, demes, libgsl, newick,
ruamel, msprime {pr}`2548`, gmpy2 {pr}`2665`, xgboost {pr}`2537`, galpy {pr}`2676`.
ruamel, msprime {pr}`2548`, gmpy2 {pr}`2665`, xgboost {pr}`2537`, galpy {pr}`2676`,
shapely, geos {pr}`2725`.
## Version 0.20.0

29
packages/geos/meta.yaml Normal file
View File

@ -0,0 +1,29 @@
package:
name: geos
version: 3.10.3
source:
url: http://download.osgeo.org/geos/geos-3.10.3.tar.bz2
sha256: 3c141b07d61958a758345d5f54e3c735834b2f4303edb9f67fb26914f0d44770
build:
sharedlibrary: true
script: |
echo "set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)" > SupportSharedLib.cmake
LDFLAGS="${SIDE_MODULE_LDFLAGS}" emcmake cmake \
-DDISABLE_GEOS_INLINE=ON \
-DBUILD_TESTING=OFF \
-DBUILD_BENCHMARKS=OFF \
-DBUILD_DOCUMENTATION=OFF \
-DCMAKE_C_FLAGS="-fPIC" \
-DCMAKE_CXX_FLAGS="-fPIC" \
-DCMAKE_PROJECT_INCLUDE=SupportSharedLib.cmake \
-DCMAKE_INSTALL_PREFIX=${WASM_LIBRARY_DIR} \
./
emmake make -j ${PYODIDE_JOBS:-3}
emmake make install
mkdir -p dist
cp ${WASM_LIBRARY_DIR}/lib/libgeos* dist/

View File

@ -0,0 +1,22 @@
package:
name: shapely
version: 1.8.2
source:
url: https://files.pythonhosted.org/packages/93/3c/cda77e57a08c49569de5bd90376c547bcb981420100adcb0f3770ed681b1/Shapely-1.8.2.tar.gz
sha256: 572af9d5006fd5e3213e37ee548912b0341fb26724d6dc8a4e3950c10197ebb6
build:
script: |
export GEOS_CONFIG=${WASM_LIBRARY_DIR}/bin/geos-config
requirements:
run:
- geos
- numpy
test:
imports:
- shapely
- shapely.geos
- shapely.geometry
- shapely.ops
- shapely.prepared
- shapely.validation
- shapely.strtree

View File

@ -0,0 +1,19 @@
from pyodide_test_runner import run_in_pyodide
@run_in_pyodide(packages=["shapely"])
def test_shapely(selenium):
from shapely.geometry import MultiLineString
coords = [((0, 0), (1, 1)), ((-1, 0), (1, 0))]
lines = MultiLineString(coords)
assert lines.area == 0.0
assert round(lines.length, 2) == 3.41
@run_in_pyodide(packages=["shapely"])
def test_shapely_geos(selenium):
import shapely.geos
assert shapely.geos.geos_version
assert shapely.geos.geos_version_string