diff options
author | Gregory Lee <lee218@llnl.gov> | 2019-04-05 11:27:23 -0700 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2019-04-05 11:27:23 -0700 |
commit | af3e91926adb3e259526c90307bb0f5d2e91ff7f (patch) | |
tree | f003e680c1372a3b185cf80ff2784d838cb1f523 | |
parent | 320e00276fa7f3cee2af6992f863f36a5b855d3d (diff) | |
download | spack-af3e91926adb3e259526c90307bb0f5d2e91ff7f.tar.gz spack-af3e91926adb3e259526c90307bb0f5d2e91ff7f.tar.bz2 spack-af3e91926adb3e259526c90307bb0f5d2e91ff7f.tar.xz spack-af3e91926adb3e259526c90307bb0f5d2e91ff7f.zip |
fixes py-basemap package (#11104)
* fixes py-basemap package
* remove basemap mpl_toolkit __init__.py
-rw-r--r-- | var/spack/repos/builtin/packages/py-basemap/package.py | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/py-basemap/package.py b/var/spack/repos/builtin/packages/py-basemap/package.py index 44c68f9086..834a8b8bd4 100644 --- a/var/spack/repos/builtin/packages/py-basemap/package.py +++ b/var/spack/repos/builtin/packages/py-basemap/package.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack import * +import os class PyBasemap(PythonPackage): @@ -11,8 +12,8 @@ class PyBasemap(PythonPackage): 2D data on maps in Python.""" homepage = "http://matplotlib.org/basemap/" - url = "https://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-1.0.7/basemap-1.0.7.tar.gz" - version('1.2.0', 'f8e64bd150590223701a48d60408e939', url='https://github.com/matplotlib/basemap/archive/v1.2.0rel.tar.gz') + + version('1.2.0', 'f8e64bd150590223701a48d60408e939') version('1.0.7', '48c0557ced9e2c6e440b28b3caff2de8') # Per Github issue #3813, setuptools is required at runtime in order @@ -21,8 +22,31 @@ class PyBasemap(PythonPackage): depends_on('py-setuptools', type=('run')) depends_on('py-numpy', type=('build', 'run')) depends_on('py-matplotlib', type=('build', 'run')) + depends_on('py-pyproj', type=('build', 'run')) + depends_on('py-pyshp', type=('build', 'run')) depends_on('pil', type=('build', 'run')) depends_on('geos') + def url_for_version(self, version): + if version >= Version('1.2.0'): + return 'https://github.com/matplotlib/basemap/archive/v{0}rel.tar.gz'.format(version) + else: + return 'https://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-{0}/basemap-{0}.tar.gz'.format(version) + def setup_environment(self, spack_env, run_env): spack_env.set('GEOS_DIR', self.spec['geos'].prefix) + + def install(self, spec, prefix): + """Install everything from build directory.""" + args = self.install_args(spec, prefix) + + self.setup_py('install', *args) + + # namespace packages should not create an __init__.py file. This has + # been reported to the basemap project in + # https://github.com/matplotlib/basemap/issues/456 + for root, dirs, files in os.walk(spec.prefix.lib): + for filename in files: + if (filename == '__init__.py' and + os.path.basename(root) == 'mpl_toolkits'): + os.remove(os.path.join(root, filename)) |