Add CGNS package
This commit is contained in:
		
							
								
								
									
										73
									
								
								var/spack/repos/builtin/packages/cgns/package.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								var/spack/repos/builtin/packages/cgns/package.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,73 @@ | ||||
| ############################################################################## | ||||
| # Copyright (c) 2013-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 Cgns(Package): | ||||
|     """The CFD General Notation System (CGNS) provides a general, portable, | ||||
|     and extensible standard for the storage and retrieval of computational | ||||
|     fluid dynamics (CFD) analysis data.""" | ||||
|  | ||||
|     homepage = "http://cgns.github.io/" | ||||
|     url      = "https://github.com/CGNS/CGNS/archive/v3.3.0.tar.gz" | ||||
|  | ||||
|     version('3.3.0', '64e5e8d97144c1462bee9ea6b2a81d7f') | ||||
|  | ||||
|     variant('hdf5', default=True, description='Enable HDF5 interface') | ||||
|  | ||||
|     depends_on('cmake', type='build') | ||||
|     depends_on('hdf5', when='+hdf5') | ||||
|  | ||||
|     def install(self, spec, prefix): | ||||
|         cmake_args = std_cmake_args[:] | ||||
|  | ||||
|         if self.compiler.f77 and self.compiler.fc: | ||||
|             cmake_args.append('-DCGNS_ENABLE_FORTRAN=ON') | ||||
|         else: | ||||
|             cmake_args.append('-DCGNS_ENABLE_FORTRAN=OFF') | ||||
|  | ||||
|         if '+hdf5' in spec: | ||||
|             cmake_args.extend([ | ||||
|                 '-DCGNS_ENABLE_HDF5=ON', | ||||
|                 '-DHDF5_NEEDS_ZLIB=ON' | ||||
|             ]) | ||||
|  | ||||
|             if spec.satisfies('^hdf5+mpi'): | ||||
|                 cmake_args.append('-DHDF5_NEEDS_MPI=ON') | ||||
|             else: | ||||
|                 cmake_args.append('-DHDF5_NEEDS_MPI=OFF') | ||||
|  | ||||
|             if spec.satisfies('^hdf5+szip'): | ||||
|                 cmake_args.append('-DHDF5_NEEDS_SZIP=ON') | ||||
|             else: | ||||
|                 cmake_args.append('-DHDF5_NEEDS_SZIP=OFF') | ||||
|         else: | ||||
|             cmake_args.append('-DCGNS_ENABLE_HDF5=OFF') | ||||
|  | ||||
|         with working_dir('spack-build', create=True): | ||||
|             cmake('..', *cmake_args) | ||||
|  | ||||
|             make() | ||||
|             make('install') | ||||
		Reference in New Issue
	
	Block a user
	 Adam J. Stewart
					Adam J. Stewart