summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/autoconf/package.py28
-rw-r--r--var/spack/repos/builtin/packages/automake/package.py20
-rw-r--r--var/spack/repos/builtin/packages/libtool/package.py24
-rw-r--r--var/spack/repos/builtin/packages/swiftsim/package.py79
4 files changed, 136 insertions, 15 deletions
diff --git a/var/spack/repos/builtin/packages/autoconf/package.py b/var/spack/repos/builtin/packages/autoconf/package.py
index d920855a2f..770ceed48b 100644
--- a/var/spack/repos/builtin/packages/autoconf/package.py
+++ b/var/spack/repos/builtin/packages/autoconf/package.py
@@ -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")
diff --git a/var/spack/repos/builtin/packages/automake/package.py b/var/spack/repos/builtin/packages/automake/package.py
index 331b364496..78b0a5b34f 100644
--- a/var/spack/repos/builtin/packages/automake/package.py
+++ b/var/spack/repos/builtin/packages/automake/package.py
@@ -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")
diff --git a/var/spack/repos/builtin/packages/libtool/package.py b/var/spack/repos/builtin/packages/libtool/package.py
index 90e7b3b643..0e410a5061 100644
--- a/var/spack/repos/builtin/packages/libtool/package.py
+++ b/var/spack/repos/builtin/packages/libtool/package.py
@@ -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"
+ """
+ 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')
+ 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")
diff --git a/var/spack/repos/builtin/packages/swiftsim/package.py b/var/spack/repos/builtin/packages/swiftsim/package.py
new file mode 100644
index 0000000000..e4607d9146
--- /dev/null
+++ b/var/spack/repos/builtin/packages/swiftsim/package.py
@@ -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")