summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/py-shapely/package.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/py-shapely/package.py b/var/spack/repos/builtin/packages/py-shapely/package.py
index e609d61011..a6b2e8ceee 100644
--- a/var/spack/repos/builtin/packages/py-shapely/package.py
+++ b/var/spack/repos/builtin/packages/py-shapely/package.py
@@ -12,6 +12,7 @@ class PyShapely(PythonPackage):
homepage = "https://github.com/Toblerity/Shapely"
url = "https://pypi.io/packages/source/S/Shapely/Shapely-1.7.0.tar.gz"
+ git = "https://github.com/Toblerity/Shapely.git"
maintainers = ['adamjstewart']
import_modules = [
@@ -19,10 +20,12 @@ class PyShapely(PythonPackage):
'shapely.examples', 'shapely.speedups', 'shapely.vectorized',
]
+ version('master', branch='master')
version('1.7.0', sha256='e21a9fe1a416463ff11ae037766fe410526c95700b9e545372475d2361cc951e')
version('1.6.4.post2', sha256='c4b87bb61fc3de59fc1f85e71a79b0c709dc68364d9584473697aad4aa13240f')
version('1.6.4', sha256='b10bc4199cfefcf1c0e5d932eac89369550320ca4bdf40559328d85f1ca4f655')
+ depends_on('python@3.5:', when='@1.8:', type=('build', 'run'))
depends_on('python@2.7:2.8,3.4:', when='@1.7:', type=('build', 'run'))
depends_on('python@2.6:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
@@ -33,13 +36,24 @@ class PyShapely(PythonPackage):
depends_on('py-pytest', type='test')
depends_on('py-pytest-cov', type='test')
+ # https://github.com/Toblerity/Shapely/pull/891
+ patch('https://github.com/Toblerity/Shapely/commit/98f6b36710bbe05b4ab59231cb0e08b06fe8b69c.patch',
+ sha256='4984cd0590beb5091f213948a953f70cea08ea11c5db1de07ba98c19e3d13f06')
+
@when('^python@3.7:')
def patch(self):
# Python 3.7 changed the thread storage API, precompiled *.c files
# need to be re-cythonized
- os.remove('shapely/speedups/_speedups.c')
- os.remove('shapely/vectorized/_vectorized.c')
+ if os.path.exists('shapely/speedups/_speedups.c'):
+ os.remove('shapely/speedups/_speedups.c')
+ if os.path.exists('shapely/vectorized/_vectorized.c'):
+ os.remove('shapely/vectorized/_vectorized.c')
def setup_build_environment(self, env):
env.set('GEOS_CONFIG',
join_path(self.spec['geos'].prefix.bin, 'geos-config'))
+
+ def test(self):
+ # Tests fail when 'geos' library not found in usual search directories
+ # python('-m', 'pytest')
+ pass