add package py-cartopy and dependencies (#8406)

* add package py-cartopy

Change-Id: Ifbe541e852921c384a381594a2c1110814556311

* fix comments and flake8

Change-Id: I8d5e994580e8252e00654e68ad79d74e06089939

* remove pip dependency... not sure why added in the first place

Change-Id: Ie2a788887dac30778cc43931a0732980a347514d

* move build, link, run to default dependencies

Change-Id: I1ec0cb7dc4a697c4ca9e68a0cc0d8694cc21c100
This commit is contained in:
healther 2018-06-07 15:10:39 +02:00 committed by Adam J. Stewart
parent c97d058ce3
commit 7e649c1205
5 changed files with 224 additions and 0 deletions

View File

@ -0,0 +1,63 @@
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/spack/spack
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
class PyCartopy(PythonPackage):
"""Cartopy - a cartographic python library with matplotlib support."""
homepage = "http://scitools.org.uk/cartopy/"
url = "https://github.com/SciTools/cartopy/archive/v0.16.0.tar.gz"
version('0.16.0', 'f9e2e528d7758da7c64f824548a53f32')
depends_on('py-setuptools@0.7.2:', type='build')
depends_on('py-cython@0.15.1:', type='build')
depends_on('py-numpy@1.10.0:', type=('build', 'run'))
depends_on('py-shapely@1.5.6:', type=('build', 'run'))
depends_on('py-pyshp@1.1.4:', type=('build', 'run'))
depends_on('py-six@1.3.0:', type=('build', 'run'))
depends_on('geos@3.3.3:')
depends_on('proj@4.9.0:')
# optional dependecies
depends_on('py-matplotlib@1.5.1:', type=('build', 'run'))
depends_on('gdal@1.10.0:+python', type=('build', 'run'))
depends_on('py-pillow@1.7.8:', type=('build', 'run'))
depends_on('py-pyepsg@0.2.0:', type=('build', 'run'))
depends_on('py-scipy@0.10:', type=('build', 'run'))
depends_on('py-owslib@0.8.11:', type=('build', 'run'))
# testing dependencies
depends_on('py-mock@1.0.1', type='test')
depends_on('py-pytest@3.0.0:', type='test')
phases = ['build_ext', 'install']
def build_ext_args(self, spec, prefix):
args = ['-I{0}'.format(spec['proj'].prefix.include),
'-L{0}'.format(spec['proj'].prefix.lib)
]
return args

View File

@ -0,0 +1,42 @@
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/spack/spack
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
class PyOwslib(PythonPackage):
"""OWSLib is a Python package for client programming with Open Geospatial
Consortium (OGC) web service (hence OWS) interface standards, and their
related content models."""
homepage = "http://http://geopython.github.io/OWSLib/#installation"
url = "https://pypi.io/packages/source/O/OWSLib/OWSLib-0.16.0.tar.gz"
version('0.16.0', '7ff9c9edde95eadeb27ea8d8fbd1a2cf')
depends_on('py-setuptools', type='build')
depends_on('py-dateutil@1.5:', type=('build', 'run'))
depends_on('py-pytz', type=('build', 'run'))
depends_on('py-requests@1.0:', type=('build', 'run'))
depends_on('py-proj', type=('build', 'run'))

View File

@ -0,0 +1,37 @@
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/spack/spack
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
class PyPyepsg(PythonPackage):
"""Provides simple access to http://epsg.io/."""
homepage = "https://pyepsg.readthedocs.io/en/latest/"
url = "https://pypi.io/packages/source/p/pyepsg/pyepsg-0.3.2.tar.gz"
version('0.3.2', 'b0644187068a9b58378a5c58ad55b991')
depends_on('py-setuptools', type='build')
depends_on('py-requests', type=('build', 'run'))

View File

@ -0,0 +1,37 @@
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/spack/spack
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
class PyPyshp(PythonPackage):
"""The Python Shapefile Library (pyshp) reads and writes ESRI Shapefiles in
pure Python."""
homepage = "https://github.com/GeospatialPython/pyshp"
url = "https://pypi.io/packages/source/p/pyshp/pyshp-1.2.12.tar.gz"
version('1.2.12', '63d33d151ac308f1db71ea0f22c30d8b')
depends_on('py-setuptools', type='build')

View File

@ -0,0 +1,45 @@
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/spack/spack
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
class PyShapely(PythonPackage):
"""Manipulation and analysis of geometric objects in the Cartesian plane.
"""
homepage = "https://github.com/Toblerity/Shapely"
url = "https://pypi.io/packages/source/S/Shapely/Shapely-1.6.4.tar.gz"
version('1.6.4', '7581ef2d0fb346f9ed157f3efc75f6a4')
depends_on('python@2.6.0:2.8,3.4.0:', type=('build', 'run'))
depends_on('py-setuptools', type='build')
depends_on('py-cython@0.19:', type='build')
depends_on('py-numpy@1.4.1:', type=('build', 'run'))
depends_on('geos@3.3:')
def setup_environment(self, spack_env, run_env):
spack_env.set('GEOS_CONFIG', self.spec['geos'].prefix)
spack_env.prepend_path('LD_LIBRARY_PATH', self.spec['geos'].prefix.lib)