From cd0524b5b75d598feebcc2a485aa3d8b9232dd84 Mon Sep 17 00:00:00 2001 From: Elizabeth Fischer Date: Mon, 5 Dec 2016 13:08:52 -0500 Subject: py-rtree: Added package (#1548) * py-rtree: Added package * py-rtree = RTree (spatial indexing) data structure for Python * libspatialindex = Underlying C library wrapped by py-rtree * Flake8 and Copyright issues. * Fix Python syntax error. * Fixed dependency type error. * Added new version, based on updates requested in upstream PR * 1. Change cmake to build dependency. 2. Updated to CMakePackage --- .../builtin/packages/libspatialindex/package.py | 34 ++++++++++++ .../repos/builtin/packages/py-rtree/package.py | 61 ++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 var/spack/repos/builtin/packages/libspatialindex/package.py create mode 100644 var/spack/repos/builtin/packages/py-rtree/package.py (limited to 'var') diff --git a/var/spack/repos/builtin/packages/libspatialindex/package.py b/var/spack/repos/builtin/packages/libspatialindex/package.py new file mode 100644 index 0000000000..910bb09c5e --- /dev/null +++ b/var/spack/repos/builtin/packages/libspatialindex/package.py @@ -0,0 +1,34 @@ +############################################################################## +# Copyright (c) 2016, 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/llnl/spack +# Please also see the LICENSE file 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 Libspatialindex(CMakePackage): + homepage = "http://http://libspatialindex.github.io" + url = "https://github.com/libspatialindex/libspatialindex/tarball/1.8.5" + + version('1.8.5', 'a95d8159714dbda9a274792cd273d298') + + depends_on("cmake", type='build') diff --git a/var/spack/repos/builtin/packages/py-rtree/package.py b/var/spack/repos/builtin/packages/py-rtree/package.py new file mode 100644 index 0000000000..dfb69f6983 --- /dev/null +++ b/var/spack/repos/builtin/packages/py-rtree/package.py @@ -0,0 +1,61 @@ +############################################################################## +# Copyright (c) 2016, 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/llnl/spack +# Please also see the LICENSE file 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 * +import os + + +class PyRtree(Package): + """Python interface to the RTREE.4 Library.""" + homepage = "http://toblerity.org/rtree/" + url = "https://github.com/Toblerity/rtree/tarball/0.8.2" + + # Not an official release yet. But changes in here are required + # to work with Spack. As it does with all packages, Spack + # installs libspatialindex in a non-system location. Without the + # changes in this fork, py-rtree requires an environment variables + # to be set *at runtime*, in order to find libspatialindex. That + # is not feasible within the Spack worldview. + version('0.8.2.2', 'b1fe96a73153db49ea6ce45a063d82cb', + url='https://github.com/citibeth/rtree/tarball/95a678cc7350857a1bb631bc41254efcd1fc0a0d') + + version('0.8.2.1', '394696ca849dd9f3a5ef24fb02a41ef4', + url='https://github.com/citibeth/rtree/tarball/3a87d86f66a3955676b2507d3bf424ade938a22b') + + # Does not work with Spack + # version('0.8.2', '593c7ac6babc397b8ba58f1636c1e0a0') + + extends('python') + + depends_on('py-setuptools', type='build') + depends_on('libspatialindex') + + def install(self, spec, prefix): + lib = os.path.join(spec['libspatialindex'].prefix, 'lib') + os.environ['SPATIALINDEX_LIBRARY'] = \ + os.path.join(lib, 'libspatialindex.%s' % dso_suffix) + os.environ['SPATIALINDEX_C_LIBRARY'] = \ + os.path.join(lib, 'libspatialindex_c.%s' % dso_suffix) + + setup_py('install', '--prefix=%s' % prefix) -- cgit v1.2.3-60-g2f50