Add MDB driver support to GDAL (#8614)
This commit is contained in:
		
							
								
								
									
										50
									
								
								var/spack/repos/builtin/packages/commons-lang/package.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								var/spack/repos/builtin/packages/commons-lang/package.py
									
									
									
									
									
										Normal file
									
								
							| @@ -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) | ||||
							
								
								
									
										49
									
								
								var/spack/repos/builtin/packages/commons-lang3/package.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								var/spack/repos/builtin/packages/commons-lang3/package.py
									
									
									
									
									
										Normal file
									
								
							| @@ -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) | ||||
							
								
								
									
										51
									
								
								var/spack/repos/builtin/packages/commons-logging/package.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								var/spack/repos/builtin/packages/commons-logging/package.py
									
									
									
									
									
										Normal file
									
								
							| @@ -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) | ||||
| @@ -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 @@ def configure_args(self): | ||||
|         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 @@ def configure_args(self): | ||||
|             '--with-pam=no', | ||||
|             '--with-podofo=no', | ||||
|             '--with-php=no', | ||||
|             # https://trac.osgeo.org/gdal/wiki/mdbtools | ||||
|             '--with-mdb=no', | ||||
|             '--with-rasdaman=no', | ||||
|         ]) | ||||
|  | ||||
|   | ||||
							
								
								
									
										46
									
								
								var/spack/repos/builtin/packages/jackcess/package.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								var/spack/repos/builtin/packages/jackcess/package.py
									
									
									
									
									
										Normal file
									
								
							| @@ -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) | ||||
		Reference in New Issue
	
	Block a user
	 Adam J. Stewart
					Adam J. Stewart