Merge pull request #1118 from epfl-scitas/packages/swift_durham
swift : added new package
This commit is contained in:
commit
3bc4a38b78
@ -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")
|
Loading…
Reference in New Issue
Block a user