Merge pull request #1118 from epfl-scitas/packages/swift_durham
swift : added new package
This commit is contained in:
		| @@ -24,18 +24,36 @@ | ||||
| ############################################################################## | ||||
| from spack import * | ||||
|  | ||||
|  | ||||
| class Autoconf(Package): | ||||
|     """Autoconf -- system configuration part of autotools""" | ||||
|     homepage = "https://www.gnu.org/software/autoconf/" | ||||
|     url      = "http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz" | ||||
|     """ | ||||
|     Autoconf -- system configuration part of autotools | ||||
|     """ | ||||
|     homepage = 'https://www.gnu.org/software/autoconf/' | ||||
|     url = 'http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz' | ||||
|  | ||||
|     version('2.69', '82d05e03b93e45f5a39b828dc9c6c29b') | ||||
|     version('2.62', '6c1f3b3734999035d77da5024aab4fbd') | ||||
|  | ||||
|     depends_on("m4") | ||||
|     depends_on('m4') | ||||
|  | ||||
|     def _make_executable(self, name): | ||||
|         return Executable(join_path(self.prefix.bin, name)) | ||||
|  | ||||
|     def setup_dependent_package(self, module, dependent_spec): | ||||
|         # Autoconf is very likely to be a build dependency, | ||||
|         # so we add the tools it provides to the dependent module | ||||
|         executables = ['autoconf', | ||||
|                        'autoheader', | ||||
|                        'autom4te', | ||||
|                        'autoreconf', | ||||
|                        'autoscan', | ||||
|                        'autoupdate', | ||||
|                        'ifnames'] | ||||
|         for name in executables: | ||||
|             setattr(module, name, self._make_executable(name)) | ||||
|  | ||||
|     def install(self, spec, prefix): | ||||
|         configure("--prefix=%s" % prefix) | ||||
|  | ||||
|         make() | ||||
|         make("install") | ||||
|   | ||||
| @@ -24,10 +24,13 @@ | ||||
| ############################################################################## | ||||
| from spack import * | ||||
|  | ||||
|  | ||||
| class Automake(Package): | ||||
|     """Automake -- make file builder part of autotools""" | ||||
|     homepage = "http://www.gnu.org/software/automake/" | ||||
|     url      = "http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz" | ||||
|     """ | ||||
|     Automake -- make file builder part of autotools | ||||
|     """ | ||||
|     homepage = 'http://www.gnu.org/software/automake/' | ||||
|     url      = 'http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz' | ||||
|  | ||||
|     version('1.15',   '716946a105ca228ab545fc37a70df3a3') | ||||
|     version('1.14.1', 'd052a3e884631b9c7892f2efce542d75') | ||||
| @@ -35,8 +38,17 @@ class Automake(Package): | ||||
|  | ||||
|     depends_on('autoconf') | ||||
|  | ||||
|     def _make_executable(self, name): | ||||
|         return Executable(join_path(self.prefix.bin, name)) | ||||
|  | ||||
|     def setup_dependent_package(self, module, dependent_spec): | ||||
|         # Automake is very likely to be a build dependency, | ||||
|         # so we add the tools it provides to the dependent module | ||||
|         executables = ['aclocal', 'automake'] | ||||
|         for name in executables: | ||||
|             setattr(module, name, self._make_executable(name)) | ||||
|  | ||||
|     def install(self, spec, prefix): | ||||
|         configure("--prefix=%s" % prefix) | ||||
|  | ||||
|         make() | ||||
|         make("install") | ||||
|   | ||||
| @@ -24,18 +24,30 @@ | ||||
| ############################################################################## | ||||
| from spack import * | ||||
|  | ||||
| class Libtool(Package): | ||||
|     """libtool -- library building part of autotools""" | ||||
|     homepage = "https://www.gnu.org/software/libtool/" | ||||
|     url      = "http://ftpmirror.gnu.org/libtool/libtool-2.4.2.tar.gz" | ||||
|  | ||||
|     version('2.4.6' , 'addf44b646ddb4e3919805aa88fa7c5e') | ||||
|     version('2.4.2' , 'd2f3b7d4627e69e13514a40e72a24d50') | ||||
| class Libtool(Package): | ||||
|     """ | ||||
|     libtool -- library building part of autotools | ||||
|     """ | ||||
|     homepage = 'https://www.gnu.org/software/libtool/' | ||||
|     url = 'http://ftpmirror.gnu.org/libtool/libtool-2.4.2.tar.gz' | ||||
|  | ||||
|     version('2.4.6', 'addf44b646ddb4e3919805aa88fa7c5e') | ||||
|     version('2.4.2', 'd2f3b7d4627e69e13514a40e72a24d50') | ||||
|  | ||||
|     depends_on('m4') | ||||
|  | ||||
|     def _make_executable(self, name): | ||||
|         return Executable(join_path(self.prefix.bin, name)) | ||||
|  | ||||
|     def setup_dependent_package(self, module, dependent_spec): | ||||
|         # Automake is very likely to be a build dependency, | ||||
|         # so we add the tools it provides to the dependent module | ||||
|         executables = ['libtoolize', 'libtool'] | ||||
|         for name in executables: | ||||
|             setattr(module, name, self._make_executable(name)) | ||||
|  | ||||
|     def install(self, spec, prefix): | ||||
|         configure("--prefix=%s" % prefix) | ||||
|  | ||||
|         make() | ||||
|         make("install") | ||||
|   | ||||
							
								
								
									
										79
									
								
								var/spack/repos/builtin/packages/swiftsim/package.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								var/spack/repos/builtin/packages/swiftsim/package.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,79 @@ | ||||
| ############################################################################## | ||||
| # 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 * | ||||
|  | ||||
| import spack.environment | ||||
| import llnl.util.tty as tty | ||||
|  | ||||
| # Needed to be able to download from the Durham gitlab repository | ||||
| tty.warn('Setting "GIT_SSL_NO_VERIFY=1"') | ||||
| tty.warn('This is needed to clone SWIFT repository') | ||||
| gitlab_env = spack.environment.EnvironmentModifications() | ||||
| gitlab_env.set('GIT_SSL_NO_VERIFY', 1) | ||||
| gitlab_env.apply_modifications() | ||||
|  | ||||
|  | ||||
| class Swiftsim(Package): | ||||
|     """ | ||||
|     SPH With Inter-dependent Fine-grained Tasking (SWIFT) provides | ||||
|     astrophysicists with a state of the art framework to perform | ||||
|     particle based simulations. | ||||
|     """ | ||||
|  | ||||
|     homepage = 'http://icc.dur.ac.uk/swift/' | ||||
|     url = 'http://gitlab.cosma.dur.ac.uk/swift/swiftsim/repository/archive.tar.gz?ref=v0.3.0' | ||||
|  | ||||
|     version('0.3.0', git='https://gitlab.cosma.dur.ac.uk/swift/swiftsim.git', tag='v0.3.0') | ||||
|  | ||||
|     variant('mpi', default=True, description='Enable distributed memory parallelism') | ||||
|  | ||||
|     # Build dependencies | ||||
|     depends_on('autoconf') | ||||
|     depends_on('automake') | ||||
|     depends_on('libtool') | ||||
|     depends_on('m4') | ||||
|     # link-time / run-time dependencies | ||||
|     depends_on('mpi', when='+mpi') | ||||
|     depends_on('metis') | ||||
|     depends_on('hdf5~mpi', when='~mpi') | ||||
|     depends_on('hdf5+mpi', when='+mpi') | ||||
|  | ||||
|     def install(self, spec, prefix): | ||||
|         # Generate configure from configure.ac | ||||
|         # and Makefile.am | ||||
|         libtoolize() | ||||
|         aclocal() | ||||
|         autoconf() | ||||
|         autogen = Executable('./autogen.sh') | ||||
|         autogen() | ||||
|  | ||||
|         # Configure and install | ||||
|         options = ['--prefix=%s' % prefix, | ||||
|                    '--enable-mpi' if '+mpi' in spec else '--disable-mpi', | ||||
|                    '--enable-optimization'] | ||||
|         configure(*options) | ||||
|         make() | ||||
|         make("install") | ||||
		Reference in New Issue
	
	Block a user
	 Todd Gamblin
					Todd Gamblin