diff options
author | Adam J. Stewart <ajstewart426@gmail.com> | 2018-08-29 12:35:56 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-29 12:35:56 -0500 |
commit | 1383834d155479131fe1a845592652aa31713034 (patch) | |
tree | b543fe20714d9f26b637fdf9a6ebf064a993a3a9 /var | |
parent | 1e0c337fe9398cfd41e247dfc1caf2fb095cabc7 (diff) | |
download | spack-1383834d155479131fe1a845592652aa31713034.tar.gz spack-1383834d155479131fe1a845592652aa31713034.tar.bz2 spack-1383834d155479131fe1a845592652aa31713034.tar.xz spack-1383834d155479131fe1a845592652aa31713034.zip |
Add MDB driver support to GDAL (#8614)
Diffstat (limited to 'var')
5 files changed, 216 insertions, 5 deletions
diff --git a/var/spack/repos/builtin/packages/commons-lang/package.py b/var/spack/repos/builtin/packages/commons-lang/package.py new file mode 100644 index 0000000000..cdb1316c44 --- /dev/null +++ b/var/spack/repos/builtin/packages/commons-lang/package.py @@ -0,0 +1,50 @@ +############################################################################## +# Copyright (c) 2013-2018, 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 CommonsLang(Package): + """The standard Java libraries fail to provide enough methods for + manipulation of its core classes. Apache Commons Lang provides these + extra methods. + + Lang provides a host of helper utilities for the java.lang API, notably + String manipulation methods, basic numerical methods, object reflection, + concurrency, creation and serialization and System properties. Additionally + it contains basic enhancements to java.util.Date and a series of utilities + dedicated to help with building methods, such as hashCode, toString and + equals.""" + + homepage = "http://commons.apache.org/proper/commons-lang/" + url = "https://archive.apache.org/dist/commons/lang/binaries/commons-lang-2.6-bin.tar.gz" + + version('2.6', '444075803459bffebfb5e28877861d23') + version('2.4', '5ff5d890e46021a2dbd77caba80f90f2') + + extends('jdk') + depends_on('java@2:', type='run') + + def install(self, spec, prefix): + install('commons-lang-{0}.jar'.format(self.version), prefix) diff --git a/var/spack/repos/builtin/packages/commons-lang3/package.py b/var/spack/repos/builtin/packages/commons-lang3/package.py new file mode 100644 index 0000000000..21959b3a61 --- /dev/null +++ b/var/spack/repos/builtin/packages/commons-lang3/package.py @@ -0,0 +1,49 @@ +############################################################################## +# Copyright (c) 2013-2018, 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 CommonsLang3(Package): + """The standard Java libraries fail to provide enough methods for + manipulation of its core classes. Apache Commons Lang provides these + extra methods. + + Lang provides a host of helper utilities for the java.lang API, notably + String manipulation methods, basic numerical methods, object reflection, + concurrency, creation and serialization and System properties. Additionally + it contains basic enhancements to java.util.Date and a series of utilities + dedicated to help with building methods, such as hashCode, toString and + equals.""" + + homepage = "http://commons.apache.org/proper/commons-lang/" + url = "https://archive.apache.org/dist/commons/lang/binaries/commons-lang3-3.7-bin.tar.gz" + + version('3.7', 'c7577443639dc6efadc80f1cbc7fced5') + + extends('jdk') + depends_on('java@7:', type='run') + + def install(self, spec, prefix): + install('commons-lang3-{0}.jar'.format(self.version), prefix) diff --git a/var/spack/repos/builtin/packages/commons-logging/package.py b/var/spack/repos/builtin/packages/commons-logging/package.py new file mode 100644 index 0000000000..f634a98773 --- /dev/null +++ b/var/spack/repos/builtin/packages/commons-logging/package.py @@ -0,0 +1,51 @@ +############################################################################## +# Copyright (c) 2013-2018, 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 CommonsLogging(Package): + """When writing a library it is very useful to log information. However + there are many logging implementations out there, and a library cannot + impose the use of a particular one on the overall application that the + library is a part of. + + The Logging package is an ultra-thin bridge between different logging + implementations. A library that uses the commons-logging API can be used + with any logging implementation at runtime. Commons-logging comes with + support for a number of popular logging implementations, and writing + adapters for others is a reasonably simple task.""" + + homepage = "http://commons.apache.org/proper/commons-logging/" + url = "http://archive.apache.org/dist/commons/logging/binaries/commons-logging-1.2-bin.tar.gz" + + version('1.2', 'ac043ce7ab3374eb4ed58354a6b2c3de') + version('1.1.3', 'b132f9a1e875677ae6b449406cff2a78') + version('1.1.1', 'e5de09672af9b386c30a311654d8541a') + + extends('jdk') + depends_on('java', type='run') + + def install(self, spec, prefix): + install('commons-logging-{0}.jar'.format(self.version), prefix) diff --git a/var/spack/repos/builtin/packages/gdal/package.py b/var/spack/repos/builtin/packages/gdal/package.py index cce78ae22d..f29d4b8709 100644 --- a/var/spack/repos/builtin/packages/gdal/package.py +++ b/var/spack/repos/builtin/packages/gdal/package.py @@ -83,6 +83,7 @@ class Gdal(AutotoolsPackage): variant('perl', default=False, description='Enable perl bindings') variant('python', default=False, description='Enable python bindings') variant('java', default=False, description='Include Java support') + variant('mdb', default=False, description='Include MDB driver') variant('armadillo', default=False, description='Include Armadillo support for faster TPS transform computation') variant('cryptopp', default=False, description='Include cryptopp support') variant('crypto', default=False, description='Include crypto (from openssl) support') @@ -117,7 +118,7 @@ class Gdal(AutotoolsPackage): depends_on('hdf5', when='+hdf5') depends_on('kealib', when='+kea @2:') depends_on('netcdf', when='+netcdf') - depends_on('jasper@1.900.1', patches=patch('uuid.patch'), when='+jasper') + depends_on('jasper@1.900.1', patches='uuid.patch', when='+jasper') depends_on('openjpeg', when='+openjpeg') depends_on('xerces-c', when='+xerces') depends_on('expat', when='+expat') @@ -136,7 +137,8 @@ class Gdal(AutotoolsPackage): # swig/python/setup.py depends_on('py-setuptools', type='build', when='+python') depends_on('py-numpy@1.0.0:', type=('build', 'run'), when='+python') - depends_on('java', type=('build', 'run'), when='+java') + depends_on('java', type=('build', 'link', 'run'), when='+java') + depends_on('jackcess@1.2.0:1.2.999', type='run', when='+mdb') depends_on('armadillo', when='+armadillo') depends_on('cryptopp', when='+cryptopp @2.1:') depends_on('openssl', when='+crypto @2.3:') @@ -149,6 +151,8 @@ class Gdal(AutotoolsPackage): conflicts('%xl@:13.0', msg=msg) conflicts('%xl_r@:13.0', msg=msg) + conflicts('+mdb', when='~java', msg='MDB driver requires Java') + def setup_environment(self, spack_env, run_env): # Needed to install Python bindings to GDAL installation # prefix instead of Python installation prefix. @@ -355,11 +359,24 @@ class Gdal(AutotoolsPackage): else: args.append('--with-python=no') + # https://trac.osgeo.org/gdal/wiki/GdalOgrInJava if '+java' in spec: - args.append('--with-java={0}'.format(spec['java'].prefix)) + args.extend([ + '--with-java={0}'.format(spec['java'].home), + '--with-jvm-lib={0}'.format( + spec['java'].libs.directories[0]), + '--with-jvm-lib-add-rpath' + ]) else: args.append('--with-java=no') + # https://trac.osgeo.org/gdal/wiki/mdbtools + # http://www.gdal.org/drv_mdb.html + if '+mdb' in spec: + args.append('--with-mdb=yes') + else: + args.append('--with-mdb=no') + if '+armadillo' in spec: args.append('--with-armadillo={0}'.format( spec['armadillo'].prefix)) @@ -410,8 +427,6 @@ class Gdal(AutotoolsPackage): '--with-pam=no', '--with-podofo=no', '--with-php=no', - # https://trac.osgeo.org/gdal/wiki/mdbtools - '--with-mdb=no', '--with-rasdaman=no', ]) diff --git a/var/spack/repos/builtin/packages/jackcess/package.py b/var/spack/repos/builtin/packages/jackcess/package.py new file mode 100644 index 0000000000..62b7279c11 --- /dev/null +++ b/var/spack/repos/builtin/packages/jackcess/package.py @@ -0,0 +1,46 @@ +############################################################################## +# Copyright (c) 2013-2018, 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 Jackcess(Package): + """Jackcess is a pure Java library for reading from and writing to + MS Access databases (currently supporting versions 2000-2016).""" + + homepage = "http://jackcess.sourceforge.net/" + url = "https://sourceforge.net/projects/jackcess/files/jackcess/2.1.12/jackcess-2.1.12.jar" + + version('2.1.12', '7d051d8dd93f2fe7e5e86389ea380619', expand=False) + version('1.2.14.3', 'ef778421c1385ac9ab4aa7edfb954caa', expand=False) + + extends('jdk') + depends_on('java', type='run') + depends_on('commons-lang@2.6', when='@2.1.12', type='run') + depends_on('commons-lang@2.4', when='@1.2.14.3', type='run') + depends_on('commons-logging@1.1.3', when='@2.1.12', type='run') + depends_on('commons-logging@1.1.1', when='@1.2.14.3', type='run') + + def install(self, spec, prefix): + install('jackcess-{0}.jar'.format(self.version), prefix) |