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 *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Autoconf(Package):
|
class Autoconf(Package):
|
||||||
"""Autoconf -- system configuration part of autotools"""
|
"""
|
||||||
homepage = "https://www.gnu.org/software/autoconf/"
|
Autoconf -- system configuration part of autotools
|
||||||
url = "http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz"
|
"""
|
||||||
|
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.69', '82d05e03b93e45f5a39b828dc9c6c29b')
|
||||||
version('2.62', '6c1f3b3734999035d77da5024aab4fbd')
|
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):
|
def install(self, spec, prefix):
|
||||||
configure("--prefix=%s" % prefix)
|
configure("--prefix=%s" % prefix)
|
||||||
|
|
||||||
make()
|
make()
|
||||||
make("install")
|
make("install")
|
||||||
|
@ -24,10 +24,13 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
from spack import *
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
class Automake(Package):
|
class Automake(Package):
|
||||||
"""Automake -- make file builder part of autotools"""
|
"""
|
||||||
homepage = "http://www.gnu.org/software/automake/"
|
Automake -- make file builder part of autotools
|
||||||
url = "http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz"
|
"""
|
||||||
|
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.15', '716946a105ca228ab545fc37a70df3a3')
|
||||||
version('1.14.1', 'd052a3e884631b9c7892f2efce542d75')
|
version('1.14.1', 'd052a3e884631b9c7892f2efce542d75')
|
||||||
@ -35,8 +38,17 @@ class Automake(Package):
|
|||||||
|
|
||||||
depends_on('autoconf')
|
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):
|
def install(self, spec, prefix):
|
||||||
configure("--prefix=%s" % prefix)
|
configure("--prefix=%s" % prefix)
|
||||||
|
|
||||||
make()
|
make()
|
||||||
make("install")
|
make("install")
|
||||||
|
@ -24,18 +24,30 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
from spack import *
|
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')
|
class Libtool(Package):
|
||||||
version('2.4.2' , 'd2f3b7d4627e69e13514a40e72a24d50')
|
"""
|
||||||
|
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')
|
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):
|
def install(self, spec, prefix):
|
||||||
configure("--prefix=%s" % prefix)
|
configure("--prefix=%s" % prefix)
|
||||||
|
|
||||||
make()
|
make()
|
||||||
make("install")
|
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