summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/R/package.py8
-rw-r--r--var/spack/repos/builtin/packages/autoconf/package.py3
-rw-r--r--var/spack/repos/builtin/packages/automake/package.py14
-rw-r--r--var/spack/repos/builtin/packages/cairo/package.py6
-rw-r--r--var/spack/repos/builtin/packages/flex/package.py46
-rw-r--r--var/spack/repos/builtin/packages/go-bootstrap/package.py12
-rw-r--r--var/spack/repos/builtin/packages/go/misc-cgo-testcshared.patch11
-rw-r--r--var/spack/repos/builtin/packages/go/package.py16
-rw-r--r--var/spack/repos/builtin/packages/go/time_test.patch18
-rw-r--r--var/spack/repos/builtin/packages/hdf5/package.py4
-rw-r--r--var/spack/repos/builtin/packages/help2man/package.py37
-rw-r--r--var/spack/repos/builtin/packages/icet/package.py47
-rw-r--r--var/spack/repos/builtin/packages/jemalloc/package.py1
-rw-r--r--var/spack/repos/builtin/packages/libsigsegv/package.py11
-rw-r--r--var/spack/repos/builtin/packages/libtool/package.py14
-rw-r--r--var/spack/repos/builtin/packages/llvm-lld/package.py2
-rw-r--r--var/spack/repos/builtin/packages/m4/package.py27
-rw-r--r--var/spack/repos/builtin/packages/netcdf/package.py58
-rw-r--r--var/spack/repos/builtin/packages/petsc/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-pyqt/package.py2
-rw-r--r--var/spack/repos/builtin/packages/qt/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-bitops/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-c50/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-catools/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-deoptim/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-evaluate/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-formatr/package.py51
-rw-r--r--var/spack/repos/builtin/packages/r-formula/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-gistr/package.py55
-rw-r--r--var/spack/repos/builtin/packages/r-hexbin/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-highr/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-irdisplay/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-irkernel/package.py51
-rw-r--r--var/spack/repos/builtin/packages/r-knitr/package.py52
-rw-r--r--var/spack/repos/builtin/packages/r-lattice/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-partykit/package.py52
-rw-r--r--var/spack/repos/builtin/packages/r-pbdzmq/package.py51
-rw-r--r--var/spack/repos/builtin/packages/r-pryr/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-rbokeh/package.py55
-rw-r--r--var/spack/repos/builtin/packages/r-repr/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-rinside/package.py57
-rw-r--r--var/spack/repos/builtin/packages/r-rmarkdown/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-rsnns/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-rzmq/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-testit/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-uuid/package.py43
-rw-r--r--var/spack/repos/builtin/packages/scotch/package.py35
-rw-r--r--var/spack/repos/builtin/packages/sowing/package.py42
-rw-r--r--var/spack/repos/builtin/packages/superlu/package.py77
-rw-r--r--var/spack/repos/builtin/packages/tetgen/package.py34
-rw-r--r--var/spack/repos/builtin/packages/tetgen/tetgen-1.5.0-free.patch49
-rw-r--r--var/spack/repos/builtin/packages/tk/package.py3
-rw-r--r--var/spack/repos/builtin/packages/yaml-cpp/package.py49
53 files changed, 1682 insertions, 98 deletions
diff --git a/var/spack/repos/builtin/packages/R/package.py b/var/spack/repos/builtin/packages/R/package.py
index a0899084d0..000e337ce0 100644
--- a/var/spack/repos/builtin/packages/R/package.py
+++ b/var/spack/repos/builtin/packages/R/package.py
@@ -50,6 +50,8 @@ class R(Package):
variant('external-lapack', default=False,
description='Links to externally installed BLAS/LAPACK')
+ variant('X', default=True,
+ description='Enable X11 support (call configure --with-x)')
# Virtual dependencies
depends_on('blas', when='+external-lapack')
@@ -65,10 +67,16 @@ class R(Package):
depends_on('libtiff')
depends_on('jpeg')
depends_on('cairo')
+ depends_on('cairo+X', when='+X')
+ depends_on('cairo~X', when='~X')
depends_on('pango')
depends_on('freetype')
depends_on('tcl')
depends_on('tk')
+ depends_on('tk+X', when='+X')
+ depends_on('tk~X', when='~X')
+ depends_on('libx11', when='+X')
+ depends_on('libxt', when='+X')
depends_on('curl')
depends_on('pcre')
depends_on('jdk')
diff --git a/var/spack/repos/builtin/packages/autoconf/package.py b/var/spack/repos/builtin/packages/autoconf/package.py
index b6aba8c03f..d812350ae8 100644
--- a/var/spack/repos/builtin/packages/autoconf/package.py
+++ b/var/spack/repos/builtin/packages/autoconf/package.py
@@ -27,6 +27,7 @@ from spack import *
class Autoconf(AutotoolsPackage):
"""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'
@@ -35,7 +36,7 @@ class Autoconf(AutotoolsPackage):
version('2.59', 'd4d45eaa1769d45e59dcb131a4af17a0')
version('2.13', '9de56d4a161a723228220b0f425dc711')
- depends_on('m4', type='build')
+ depends_on('m4@1.4.6:', type='build')
def _make_executable(self, name):
return Executable(join_path(self.prefix.bin, name))
diff --git a/var/spack/repos/builtin/packages/automake/package.py b/var/spack/repos/builtin/packages/automake/package.py
index 78b0a5b34f..6c0a47ff95 100644
--- a/var/spack/repos/builtin/packages/automake/package.py
+++ b/var/spack/repos/builtin/packages/automake/package.py
@@ -25,10 +25,9 @@
from spack import *
-class Automake(Package):
- """
- Automake -- make file builder part of autotools
- """
+class Automake(AutotoolsPackage):
+ """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'
@@ -36,7 +35,7 @@ class Automake(Package):
version('1.14.1', 'd052a3e884631b9c7892f2efce542d75')
version('1.11.6', '0286dc30295b62985ca51919202ecfcc')
- depends_on('autoconf')
+ depends_on('autoconf', type='build')
def _make_executable(self, name):
return Executable(join_path(self.prefix.bin, name))
@@ -47,8 +46,3 @@ class Automake(Package):
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/cairo/package.py b/var/spack/repos/builtin/packages/cairo/package.py
index 12c7838f63..fce7da3f17 100644
--- a/var/spack/repos/builtin/packages/cairo/package.py
+++ b/var/spack/repos/builtin/packages/cairo/package.py
@@ -33,6 +33,12 @@ class Cairo(AutotoolsPackage):
version('1.14.0', 'fc3a5edeba703f906f2241b394f0cced')
+ variant('X', default=True, description="Build with X11 support")
+
+ depends_on('libx11', when='+X')
+ depends_on('libxext', when='+X')
+ depends_on('libxrender', when='+X')
+ depends_on('libxcb', when='+X')
depends_on("libpng")
depends_on("glib")
depends_on("pixman")
diff --git a/var/spack/repos/builtin/packages/flex/package.py b/var/spack/repos/builtin/packages/flex/package.py
index 9b173bb0dd..a2e0c85903 100644
--- a/var/spack/repos/builtin/packages/flex/package.py
+++ b/var/spack/repos/builtin/packages/flex/package.py
@@ -25,20 +25,44 @@
from spack import *
-class Flex(Package):
+class Flex(AutotoolsPackage):
"""Flex is a tool for generating scanners."""
- homepage = "http://flex.sourceforge.net/"
- url = "http://download.sourceforge.net/flex/flex-2.5.39.tar.gz"
+ homepage = "https://github.com/westes/flex"
+ url = "https://github.com/westes/flex/releases/download/v2.6.2/flex-2.6.2.tar.gz"
- version('2.6.0', '5724bcffed4ebe39e9b55a9be80859ec')
- version('2.5.39', 'e133e9ead8ec0a58d81166b461244fde')
+ version('2.6.2', 'cc6d76c333db7653d5caf423a3335239')
+ version('2.6.1', '05bcd8fb629e0ae130311e8a6106fa82')
+ version('2.6.0', '760be2ee9433e822b6eb65318311c19d')
+ version('2.5.39', '5865e76ac69c05699f476515592750d7')
- depends_on("bison", type='build')
- depends_on("m4", type='build')
+ depends_on('bison', type='build')
+ depends_on('gettext@0.19:', type='build')
+ depends_on('help2man', type='build')
- def install(self, spec, prefix):
- configure("--prefix=%s" % prefix)
+ # Older tarballs don't come with a configure script
+ depends_on('m4', type='build', when='@:2.6.0')
+ depends_on('autoconf', type='build', when='@:2.6.0')
+ depends_on('automake', type='build', when='@:2.6.0')
+ depends_on('libtool', type='build', when='@:2.6.0')
- make()
- make("install")
+ def url_for_version(self, version):
+ url = "https://github.com/westes/flex"
+ if version >= Version('2.6.1'):
+ url += "/releases/download/v{0}/flex-{0}.tar.gz".format(version)
+ elif version == Version('2.6.0'):
+ url += "/archive/v{0}.tar.gz".format(version)
+ elif version >= Version('2.5.37'):
+ url += "/archive/flex-{0}.tar.gz".format(version)
+ else:
+ url += "/archive/flex-{0}.tar.gz".format(version.dashed)
+
+ return url
+
+ def autoreconf(self, spec, prefix):
+ pass
+
+ @when('@:2.6.0')
+ def autoreconf(self, spec, prefix):
+ libtoolize('--install', '--force')
+ autoreconf('--install', '--force')
diff --git a/var/spack/repos/builtin/packages/go-bootstrap/package.py b/var/spack/repos/builtin/packages/go-bootstrap/package.py
index d48c7c9756..77a074e809 100644
--- a/var/spack/repos/builtin/packages/go-bootstrap/package.py
+++ b/var/spack/repos/builtin/packages/go-bootstrap/package.py
@@ -41,14 +41,17 @@ class GoBootstrap(Package):
extendable = True
- # NOTE: Go@1.4.2 is the only supported bootstrapping compiler because all
+ # NOTE: Go@1.4.x is the only supported bootstrapping compiler because all
# later versions require a Go compiler to build.
- # See: https://golang.org/doc/install/source
- version('1.4.2', git='https://go.googlesource.com/go', tag='go1.4.2')
+ # See: https://golang.org/doc/install/source#go14 and
+ # https://github.com/golang/go/issues/17545 and
+ # https://github.com/golang/go/issues/16352
+ version('1.4-bootstrap-20161024', '76e42c8152e8560ded880a6d1d1f53cb',
+ url='https://storage.googleapis.com/golang/go1.4-bootstrap-20161024.tar.gz')
variant('test', default=True, description='Build and run tests as part of the build.')
- provides('golang@:1.4.2')
+ provides('golang@:1.4-bootstrap-20161024')
depends_on('git', type='alldeps')
@@ -69,6 +72,7 @@ class GoBootstrap(Package):
pass
def install(self, spec, prefix):
+ env['CGO_ENABLED'] = '0'
bash = which('bash')
with working_dir('src'):
bash('{0}.bash'.format('all' if '+test' in spec else 'make'))
diff --git a/var/spack/repos/builtin/packages/go/misc-cgo-testcshared.patch b/var/spack/repos/builtin/packages/go/misc-cgo-testcshared.patch
new file mode 100644
index 0000000000..17751df816
--- /dev/null
+++ b/var/spack/repos/builtin/packages/go/misc-cgo-testcshared.patch
@@ -0,0 +1,11 @@
+--- misc/cgo/testcshared/test.bash.orig 2016-11-19 00:00:11.917000000 +0000
++++ misc/cgo/testcshared/test.bash 2016-11-19 00:00:22.081000000 +0000
+@@ -107,7 +107,7 @@
+
+ # test0: exported symbols in shared lib are accessible.
+ # TODO(iant): using _shared here shouldn't really be necessary.
+-$(go env CC) ${GOGCCFLAGS} -I ${installdir} -o testp main0.c libgo.$libext
++$(go env CC) ${GOGCCFLAGS} -I ${installdir} -o testp main0.c ./libgo.$libext
+ binpush testp
+
+ output=$(run LD_LIBRARY_PATH=. ./testp)
diff --git a/var/spack/repos/builtin/packages/go/package.py b/var/spack/repos/builtin/packages/go/package.py
index 5fa3017ab5..7f4d509466 100644
--- a/var/spack/repos/builtin/packages/go/package.py
+++ b/var/spack/repos/builtin/packages/go/package.py
@@ -32,13 +32,12 @@ from spack import *
class Go(Package):
"""The golang compiler and build environment"""
homepage = "https://golang.org"
- url = "https://go.googlesource.com/go"
+ url='https://storage.googleapis.com/golang/go1.7.3.src.tar.gz'
extendable = True
- version('1.6.2', git='https://go.googlesource.com/go', tag='go1.6.2')
- version('1.5.4', git='https://go.googlesource.com/go', tag='go1.5.4')
- version('1.4.2', git='https://go.googlesource.com/go', tag='go1.4.2')
+ version('1.7.3', '83d1b7bd4281479ab7d153e5152c9fc9')
+ version('1.6.2', 'd1b50fa98d9a71eeee829051411e6207')
variant('test', default=True, description='Build and run tests as part of the build.')
@@ -49,6 +48,12 @@ class Go(Package):
# should be a dep on external go compiler
depends_on('go-bootstrap', type='build')
+ # https://github.com/golang/go/issues/17545
+ patch('time_test.patch', when='@1.6.2:1.7.3')
+
+ # https://github.com/golang/go/issues/17986
+ patch('misc-cgo-testcshared.patch', level=0, when='@1.6.2:1.7.3')
+
# NOTE: Older versions of Go attempt to download external files that have
# since been moved while running the test suite. This patch modifies the
# test files so that these tests don't cause false failures.
@@ -65,6 +70,9 @@ class Go(Package):
def patch(self):
pass
+ def url_for_version(self, version):
+ return "https://storage.googleapis.com/golang/go{0}.src.tar.gz".format(version)
+
def install(self, spec, prefix):
bash = which('bash')
with working_dir('src'):
diff --git a/var/spack/repos/builtin/packages/go/time_test.patch b/var/spack/repos/builtin/packages/go/time_test.patch
new file mode 100644
index 0000000000..c3e0697c91
--- /dev/null
+++ b/var/spack/repos/builtin/packages/go/time_test.patch
@@ -0,0 +1,18 @@
+diff --git a/src/time/time_test.go b/src/time/time_test.go
+index 68236fd..2e47d08 100644
+--- a/src/time/time_test.go
++++ b/src/time/time_test.go
+@@ -943,8 +943,11 @@ func TestLoadFixed(t *testing.T) {
+ // but Go and most other systems use "east is positive".
+ // So GMT+1 corresponds to -3600 in the Go zone, not +3600.
+ name, offset := Now().In(loc).Zone()
+- if name != "GMT+1" || offset != -1*60*60 {
+- t.Errorf("Now().In(loc).Zone() = %q, %d, want %q, %d", name, offset, "GMT+1", -1*60*60)
++ // The zone abbreviation is "-01" since tzdata-2016g, and "GMT+1"
++ // on earlier versions; we accept both. (Issue #17276).
++ if !(name == "GMT+1" || name == "-01") || offset != -1*60*60 {
++ t.Errorf("Now().In(loc).Zone() = %q, %d, want %q or %q, %d",
++ name, offset, "GMT+1", "-01", -1*60*60)
+ }
+ }
+
diff --git a/var/spack/repos/builtin/packages/hdf5/package.py b/var/spack/repos/builtin/packages/hdf5/package.py
index 2820a3a304..75aa239be3 100644
--- a/var/spack/repos/builtin/packages/hdf5/package.py
+++ b/var/spack/repos/builtin/packages/hdf5/package.py
@@ -175,7 +175,9 @@ HDF5 version {version} {version}
# TODO: Automate these path and library settings
cc('-c', "-I%s" % join_path(spec.prefix, "include"), "check.c")
cc('-o', "check", "check.o",
- "-L%s" % join_path(spec.prefix, "lib"), "-lhdf5",
+ "-L%s" % join_path(spec.prefix, "lib"),
+ "-L%s" % join_path(spec.prefix, "lib64"),
+ "-lhdf5",
"-lz")
try:
check = Executable('./check')
diff --git a/var/spack/repos/builtin/packages/help2man/package.py b/var/spack/repos/builtin/packages/help2man/package.py
new file mode 100644
index 0000000000..506b1c1465
--- /dev/null
+++ b/var/spack/repos/builtin/packages/help2man/package.py
@@ -0,0 +1,37 @@
+##############################################################################
+# 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 Help2man(AutotoolsPackage):
+ """help2man produces simple manual pages from the '--help' and '--version'
+ output of other commands."""
+
+ homepage = "https://www.gnu.org/software/help2man/"
+ url = "http://gnu.askapache.com/help2man/help2man-1.47.4.tar.xz"
+
+ version('1.47.4', '544aca496a7d89de3e5d99e56a2f03d3')
+
+ depends_on('gettext', type='build')
diff --git a/var/spack/repos/builtin/packages/icet/package.py b/var/spack/repos/builtin/packages/icet/package.py
new file mode 100644
index 0000000000..cdace1481f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/icet/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# 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 Icet(CMakePackage):
+ """The Image Composition Engine for Tiles (IceT) is a high-performance
+ sort-last parallel rendering library."""
+
+ homepage = "http://icet.sandia.gov"
+ url = "https://example.com/icet-1.2.3.tar.gz"
+
+ version('develop', branch='master',
+ git='https://gitlab.kitware.com/icet/icet.git')
+ version('2.1.1', '4f971c51105a64937460d482adca2a6c')
+
+ depends_on('cmake', type='build')
+ depends_on('mpi')
+
+ def url_for_version(self, version):
+ return ("https://gitlab.kitware.com/icet/icet/repository/"
+ "archive.tar.bz2?ref=IceT-{0}".format(version.dotted))
+
+ def cmake_args(self):
+ return ['-DICET_USE_OPENGL:BOOL=OFF']
diff --git a/var/spack/repos/builtin/packages/jemalloc/package.py b/var/spack/repos/builtin/packages/jemalloc/package.py
index e13d4292f8..839251f47b 100644
--- a/var/spack/repos/builtin/packages/jemalloc/package.py
+++ b/var/spack/repos/builtin/packages/jemalloc/package.py
@@ -31,6 +31,7 @@ class Jemalloc(Package):
homepage = "http://www.canonware.com/jemalloc/"
url = "https://github.com/jemalloc/jemalloc/releases/download/4.0.4/jemalloc-4.0.4.tar.bz2"
+ version('4.3.1', 'f204c0ea1aef92fbb339dc640de338a6')
version('4.2.1', '094b0a7b8c77c464d0dc8f0643fd3901')
version('4.2.0', 'e6b5d5a1ea93a04207528d274efdd144')
version('4.1.0', 'c4e53c947905a533d5899e5cc3da1f94')
diff --git a/var/spack/repos/builtin/packages/libsigsegv/package.py b/var/spack/repos/builtin/packages/libsigsegv/package.py
index 6c8b27478a..a5a3e8eb5f 100644
--- a/var/spack/repos/builtin/packages/libsigsegv/package.py
+++ b/var/spack/repos/builtin/packages/libsigsegv/package.py
@@ -25,8 +25,9 @@
from spack import *
-class Libsigsegv(Package):
+class Libsigsegv(AutotoolsPackage):
"""GNU libsigsegv is a library for handling page faults in user mode."""
+
homepage = "https://www.gnu.org/software/libsigsegv/"
url = "ftp://ftp.gnu.org/gnu/libsigsegv/libsigsegv-2.10.tar.gz"
@@ -34,9 +35,5 @@ class Libsigsegv(Package):
version('2.10', '7f96fb1f65b3b8cbc1582fb7be774f0f')
- def install(self, spec, prefix):
- configure('--prefix=%s' % prefix,
- '--enable-shared')
-
- make()
- make("install")
+ def configure_args(self):
+ return ['--enable-shared']
diff --git a/var/spack/repos/builtin/packages/libtool/package.py b/var/spack/repos/builtin/packages/libtool/package.py
index a0070d72d0..cd12503681 100644
--- a/var/spack/repos/builtin/packages/libtool/package.py
+++ b/var/spack/repos/builtin/packages/libtool/package.py
@@ -25,17 +25,16 @@
from spack import *
-class Libtool(Package):
- """
- libtool -- library building part of autotools
- """
+class Libtool(AutotoolsPackage):
+ """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', type='build')
+ depends_on('m4@1.4.6:', type='build')
def _make_executable(self, name):
return Executable(join_path(self.prefix.bin, name))
@@ -46,8 +45,3 @@ class Libtool(Package):
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/llvm-lld/package.py b/var/spack/repos/builtin/packages/llvm-lld/package.py
index 1dcf88e3c0..6a167cca33 100644
--- a/var/spack/repos/builtin/packages/llvm-lld/package.py
+++ b/var/spack/repos/builtin/packages/llvm-lld/package.py
@@ -38,7 +38,7 @@ class LlvmLld(Package):
depends_on('cmake', type='build')
def install(self, spec, prefix):
- env['CXXFLAGS'] = self.compier.cxx11_flag
+ env['CXXFLAGS'] = self.compiler.cxx11_flag
with working_dir('spack-build', create=True):
cmake('..',
diff --git a/var/spack/repos/builtin/packages/m4/package.py b/var/spack/repos/builtin/packages/m4/package.py
index f7150727fe..15dbf4793b 100644
--- a/var/spack/repos/builtin/packages/m4/package.py
+++ b/var/spack/repos/builtin/packages/m4/package.py
@@ -26,8 +26,9 @@ from spack import *
import sys
-class M4(Package):
+class M4(AutotoolsPackage):
"""GNU M4 is an implementation of the traditional Unix macro processor."""
+
homepage = "https://www.gnu.org/software/m4/m4.html"
url = "ftp://ftp.gnu.org/gnu/m4/m4-1.4.17.tar.gz"
@@ -40,19 +41,19 @@ class M4(Package):
depends_on('libsigsegv', when='+sigsegv')
- def install(self, spec, prefix):
- configure_args = []
- if 'libsigsegv' in spec:
- configure_args.append('--with-libsigsegv-prefix=%s' %
- spec['libsigsegv'].prefix)
+ def configure_args(self):
+ spec = self.spec
+ args = ['--enable-c++']
+
+ if '+sigsegv' in spec:
+ args.append('--with-libsigsegv-prefix={0}'.format(
+ spec['libsigsegv'].prefix))
else:
- configure_args.append('--without-libsigsegv-prefix')
+ args.append('--without-libsigsegv-prefix')
# http://lists.gnu.org/archive/html/bug-m4/2016-09/msg00002.html
- if (sys.platform == "darwin") and (spec.satisfies('%gcc')) and \
- (spec.architecture.platform_os.version == "10.12"):
- configure_args.append('ac_cv_type_struct_sched_param=yes')
+ if (sys.platform == 'darwin') and (spec.satisfies('%gcc')) and \
+ (spec.architecture.platform_os.version == '10.12'):
+ args.append('ac_cv_type_struct_sched_param=yes')
- configure("--prefix=%s" % prefix, *configure_args)
- make()
- make("install")
+ return args
diff --git a/var/spack/repos/builtin/packages/netcdf/package.py b/var/spack/repos/builtin/packages/netcdf/package.py
index b1e406157b..38bbc4e5ba 100644
--- a/var/spack/repos/builtin/packages/netcdf/package.py
+++ b/var/spack/repos/builtin/packages/netcdf/package.py
@@ -39,8 +39,12 @@ class Netcdf(Package):
version('4.4.0', 'cffda0cbd97fdb3a06e9274f7aef438e')
version('4.3.3', '5fbd0e108a54bd82cb5702a73f56d2ae')
- variant('mpi', default=True, description='Enables MPI parallelism')
- variant('hdf4', default=False, description='Enable HDF4 support')
+ variant('mpi', default=True, description='Enables MPI parallelism')
+ variant('hdf4', default=False, description='Enable HDF4 support')
+ variant('shared', default=True, description='Enable shared library')
+ variant('parallel-netcdf', default=False, description='Enable PnetCDF support')
+ variant('dap', default=False, description='Enable DAP support')
+ variant('cdmremote', default=False, description='Enable CDM Remote support')
# These variants control the number of dimensions (i.e. coordinates and
# attributes) and variables (e.g. time, entity ID, number of coordinates)
# that can be used in any particular NetCDF file.
@@ -51,9 +55,9 @@ class Netcdf(Package):
depends_on("m4", type='build')
depends_on("hdf", when='+hdf4')
-
- # Required for DAP support
- depends_on("curl@7.18.0:")
+ depends_on("curl@7.18.0:", when='+dap')
+ depends_on("curl@7.18.0:", when='+cdmremote')
+ depends_on('parallel-netcdf', when='@4.2.1.1:+parallel-netcdf')
# Required for NetCDF-4 support
depends_on("zlib@1.2.5:")
@@ -84,6 +88,7 @@ class Netcdf(Package):
'hdf5+mpi, but spec asked for hdf5~mpi.')
# Environment variables
+ CFLAGS = []
CPPFLAGS = []
LDFLAGS = []
LIBS = []
@@ -93,23 +98,38 @@ class Netcdf(Package):
"--enable-fsync",
"--enable-v2",
"--enable-utilities",
- "--enable-shared",
"--enable-static",
"--enable-largefile",
# necessary for HDF5 support
"--enable-netcdf-4",
"--enable-dynamic-loading",
- # necessary for DAP support
- "--enable-dap"
]
- # Make sure Netcdf links against Spack's curl, otherwise
- # otherwise it may pick up system's curl, which can give link
- # errors, e.g.:
- # undefined reference to `SSL_CTX_use_certificate_chain_file`
- LIBS.append("-lcurl")
- CPPFLAGS.append("-I%s" % spec['curl'].prefix.include)
- LDFLAGS.append("-L%s" % spec['curl'].prefix.lib)
+ if '+shared' in spec:
+ config_args.append('--enable-shared')
+ else:
+ config_args.append('--disable-shared')
+ # We don't have shared libraries but we still want it to be
+ # possible to use this library in shared builds
+ CFLAGS.append('-fPIC')
+
+ if '+dap' in spec:
+ config_args.append('--enable-dap')
+ else:
+ config_args.append('--disable-dap')
+
+ if '+cdmremote' in spec:
+ config_args.append('--enable-cdmremote')
+ else:
+ config_args.append('--disable-cdmremote')
+
+ if '+dap' in spec or '+cdmremote' in spec:
+ # Make sure Netcdf links against Spack's curl, otherwise it may
+ # pick up system's curl, which can give link errors, e.g.:
+ # undefined reference to `SSL_CTX_use_certificate_chain_file`
+ LIBS.append("-lcurl")
+ CPPFLAGS.append("-I%s" % spec['curl'].prefix.include)
+ LDFLAGS.append("-L%s" % spec['curl'].prefix.lib)
if '+mpi' in spec:
config_args.append('--enable-parallel4')
@@ -131,10 +151,18 @@ class Netcdf(Package):
LDFLAGS.append("-L%s/lib" % spec['szip'].prefix)
LIBS.append("-l%s" % "sz")
+ # PnetCDF support
+ if '+parallel-netcdf' in spec:
+ config_args.append('--enable-pnetcdf')
+ config_args.append('CC=%s' % spec['mpi'].mpicc)
+ CPPFLAGS.append("-I%s/include" % spec['parallel-netcdf'].prefix)
+ LDFLAGS.append("-L%s/lib" % spec['parallel-netcdf'].prefix)
+
# Fortran support
# In version 4.2+, NetCDF-C and NetCDF-Fortran have split.
# Use the netcdf-fortran package to install Fortran support.
+ config_args.append('CFLAGS=%s' % ' '.join(CFLAGS))
config_args.append('CPPFLAGS=%s' % ' '.join(CPPFLAGS))
config_args.append('LDFLAGS=%s' % ' '.join(LDFLAGS))
config_args.append('LIBS=%s' % ' '.join(LIBS))
diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py
index 4ac96b8127..276237a536 100644
--- a/var/spack/repos/builtin/packages/petsc/package.py
+++ b/var/spack/repos/builtin/packages/petsc/package.py
@@ -37,6 +37,7 @@ class Petsc(Package):
homepage = "http://www.mcs.anl.gov/petsc/index.html"
url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-3.5.3.tar.gz"
+ version('develop', git='https://bitbucket.org/petsc/petsc.git', tag='master')
version('3.7.4', 'aaf94fa54ef83022c14091f10866eedf')
version('3.7.2', '50da49867ce7a49e7a0c1b37f4ec7b34')
version('3.6.4', '7632da2375a3df35b8891c9526dbdde7')
@@ -67,6 +68,9 @@ class Petsc(Package):
description='Activates support for SuperluDist (only parallel)')
# Virtual dependencies
+ # Git repository needs sowing to build Fortran interface
+ depends_on('sowing', when='@develop')
+
depends_on('blas')
depends_on('lapack')
depends_on('mpi', when='+mpi')
@@ -127,6 +131,7 @@ class Petsc(Package):
def install(self, spec, prefix):
options = ['--with-ssl=0',
'--download-c2html=0',
+ '--download-sowing=0',
'--download-hwloc=0']
options.extend(self.mpi_dependent_options())
options.extend([
diff --git a/var/spack/repos/builtin/packages/py-pyqt/package.py b/var/spack/repos/builtin/packages/py-pyqt/package.py
index de68bfaa90..43f2e2630b 100644
--- a/var/spack/repos/builtin/packages/py-pyqt/package.py
+++ b/var/spack/repos/builtin/packages/py-pyqt/package.py
@@ -39,7 +39,7 @@ class PyPyqt(Package):
# TODO: allow qt5 when conditional deps are supported.
# TODO: Fix version matching so that @4 works like @:4
- depends_on('qt@:4')
+ depends_on('qt@:4+phonon+dbus')
def install(self, spec, prefix):
python('configure.py',
diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py
index 6447d7d6d4..1db651c02b 100644
--- a/var/spack/repos/builtin/packages/qt/package.py
+++ b/var/spack/repos/builtin/packages/qt/package.py
@@ -51,6 +51,7 @@ class Qt(Package):
variant('webkit', default=False, description="Build the Webkit extension")
variant('examples', default=False, description="Build examples.")
variant('dbus', default=False, description="Build with D-Bus support.")
+ variant('phonon', default=False, description="Build with phonon support.")
patch('qt3krell.patch', when='@3.3.8b+krellpatch')
@@ -179,7 +180,7 @@ class Qt(Package):
if '~examples' in self.spec:
config_args.extend(['-nomake', 'examples'])
- if '@4' in self.spec:
+ if '@4' in self.spec and '~phonon' in self.spec:
config_args.append('-no-phonon')
if '+dbus' in self.spec:
diff --git a/var/spack/repos/builtin/packages/r-bitops/package.py b/var/spack/repos/builtin/packages/r-bitops/package.py
new file mode 100644
index 0000000000..6399202aba
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-bitops/package.py
@@ -0,0 +1,42 @@
+##############################################################################
+# 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 RBitops(Package):
+ """Functions for bitwise operations on integer vectors."""
+
+ homepage = "https://cran.r-project.org/package=bitops"
+ url = "https://cran.r-project.org/src/contrib/bitops_1.0-6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/bitops"
+
+ version('1.0-6', 'fba16485a51b1ccd354abde5816b6bdd')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-c50/package.py b/var/spack/repos/builtin/packages/r-c50/package.py
new file mode 100644
index 0000000000..e9b582b52f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-c50/package.py
@@ -0,0 +1,44 @@
+##############################################################################
+# 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 RC50(Package):
+ """C5.0 decision trees and rule-based models for pattern recognition."""
+
+ homepage = "https://cran.r-project.org/package=C50"
+ url = "https://cran.r-project.org/src/contrib/C50_0.1.0-24.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/C50"
+
+ version('0.1.0-24', '42631e65c5c579532cc6edf5ea175949')
+
+ extends('R')
+
+ depends_on('r-partykit', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-catools/package.py b/var/spack/repos/builtin/packages/r-catools/package.py
new file mode 100644
index 0000000000..adc64e269c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-catools/package.py
@@ -0,0 +1,47 @@
+##############################################################################
+# 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 RCatools(Package):
+ """Contains several basic utility functions including: moving (rolling,
+ running) window statistic functions, read/write for GIF and ENVI binary
+ files, fast calculation of AUC, LogitBoost classifier, base64
+ encoder/decoder, round-off-error-free sum and cumsum, etc."""
+
+ homepage = "https://cran.r-project.org/package=caTools"
+ url = "https://cran.r-project.org/src/contrib/caTools_1.17.1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/caTools"
+
+ version('1.17.1', '5c872bbc78b177b306f36709deb44498')
+
+ extends('R')
+
+ depends_on('r-bitops', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-deoptim/package.py b/var/spack/repos/builtin/packages/r-deoptim/package.py
new file mode 100644
index 0000000000..16aacccd0e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-deoptim/package.py
@@ -0,0 +1,43 @@
+##############################################################################
+# 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 RDeoptim(Package):
+ """Implements the differential evolution algorithm for global optimization
+ of a real-valued function of a real-valued parameter vector."""
+
+ homepage = "https://cran.r-project.org/package=DEoptim"
+ url = "https://cran.r-project.org/src/contrib/DEoptim_2.2-3.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/DEoptim"
+
+ version('2.2-3', 'ed406e6790f8f1568aa9bec159f80326')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-evaluate/package.py b/var/spack/repos/builtin/packages/r-evaluate/package.py
new file mode 100644
index 0000000000..5583c0ed68
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-evaluate/package.py
@@ -0,0 +1,46 @@
+##############################################################################
+# 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 REvaluate(Package):
+ """Parsing and evaluation tools that make it easy to recreate the command
+ line behaviour of R."""
+
+ homepage = "https://github.com/hadley/evaluate"
+ url = "https://cran.rstudio.com/src/contrib/evaluate_0.9.tar.gz"
+ list_url = "https://cran.rstudio.com/src/contrib/Archive/evaluate"
+
+ version('0.9', '877d89ce8a9ef7f403b1089ca1021775')
+
+ extends('R')
+
+ depends_on('r-stringr', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-formatr/package.py b/var/spack/repos/builtin/packages/r-formatr/package.py
new file mode 100644
index 0000000000..4c92e1f34b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-formatr/package.py
@@ -0,0 +1,51 @@
+##############################################################################
+# 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 RFormatr(Package):
+ """Provides a function tidy_source() to format R source code. Spaces and
+ indent will be added to the code automatically, and comments will be
+ preserved under certain conditions, so that R code will be more
+ human-readable and tidy. There is also a Shiny app as a user interface in
+ this package."""
+
+ homepage = "http://yihui.name/formatR"
+ url = "https://cran.r-project.org/src/contrib/formatR_1.4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/formatR"
+
+ version('1.4', '98b9b64b2785b35f9df403e1aab6c73c')
+
+ extends('R')
+
+ depends_on('r-codetools', type=nolink)
+ depends_on('r-shiny', type=nolink)
+ depends_on('r-testit', type=nolink)
+ # depends_on('r-knitr', type=nolink) - mutual dependency
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-formula/package.py b/var/spack/repos/builtin/packages/r-formula/package.py
new file mode 100644
index 0000000000..3c4347ee50
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-formula/package.py
@@ -0,0 +1,43 @@
+##############################################################################
+# 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 RFormula(Package):
+ """Infrastructure for extended formulas with multiple parts on the right-hand
+ side and/or multiple responses on the left-hand side."""
+
+ homepage = "https://cran.r-project.org/package=Formula"
+ url = "https://cran.r-project.org/src/contrib/Formula_1.2-1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/Formula"
+
+ version('1.2-1', '2afb31e637cecd0c1106317aca1e4849')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-gistr/package.py b/var/spack/repos/builtin/packages/r-gistr/package.py
new file mode 100644
index 0000000000..646299b97b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-gistr/package.py
@@ -0,0 +1,55 @@
+##############################################################################
+# 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 RGistr(Package):
+ """Work with 'GitHub' 'gists' from 'R'. This package allows the user to
+ create new 'gists', update 'gists' with new files, rename files, delete
+ files, get and delete 'gists', star and 'un-star' 'gists', fork 'gists',
+ open a 'gist' in your default browser, get embed code for a 'gist', list
+ 'gist' 'commits', and get rate limit information when 'authenticated'. Some
+ requests require authentication and some do not."""
+
+ homepage = "https://github.com/ropensci/gistr"
+ url = "https://cran.r-project.org/src/contrib/gistr_0.3.6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/gistr"
+
+ version('0.3.6', '49d548cb3eca0e66711aece37757a2c0')
+
+ extends('R')
+
+ depends_on('r-jsonlite', type=nolink)
+ depends_on('r-httr', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-assertthat', type=nolink)
+ depends_on('r-knitr', type=nolink)
+ depends_on('r-rmarkdown', type=nolink)
+ depends_on('r-dplyr', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-hexbin/package.py b/var/spack/repos/builtin/packages/r-hexbin/package.py
new file mode 100644
index 0000000000..5d2972ff96
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-hexbin/package.py
@@ -0,0 +1,45 @@
+##############################################################################
+# 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 RHexbin(Package):
+ """Binning and plotting functions for hexagonal bins. Now uses and relies
+ on grid graphics and formal (S4) classes and methods."""
+
+ homepage = "http://github.com/edzer/hexbin"
+ url = "https://cran.r-project.org/src/contrib/hexbin_1.27.1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/hexbin"
+
+ version('1.27.1', '7f380390c6511e97df10a810a3b3bb7c')
+
+ extends('R')
+
+ depends_on('r-lattice', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-highr/package.py b/var/spack/repos/builtin/packages/r-highr/package.py
new file mode 100644
index 0000000000..f977a7302f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-highr/package.py
@@ -0,0 +1,44 @@
+##############################################################################
+# 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 RHighr(Package):
+ """Provides syntax highlighting for R source code. Currently it supports
+ LaTeX and HTML output. Source code of other languages is supported via
+ Andre Simon's highlight package."""
+
+ homepage = "https://github.com/yihui/highr"
+ url = "https://cran.r-project.org/src/contrib/highr_0.6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/highr"
+
+ version('0.6', 'bf47388c5f57dc61962362fb7e1d8b16')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-irdisplay/package.py b/var/spack/repos/builtin/packages/r-irdisplay/package.py
new file mode 100644
index 0000000000..a3c49feb93
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-irdisplay/package.py
@@ -0,0 +1,45 @@
+##############################################################################
+# 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 RIrdisplay(Package):
+ """An interface to the rich display capabilities of Jupyter front-ends
+ (e.g. 'Jupyter Notebook') Designed to be used from a running IRkernel
+ session"""
+
+ homepage = "https://irkernel.github.io"
+ url = "https://cran.rstudio.com/src/contrib/IRdisplay_0.4.4.tar.gz"
+
+ version('0.4.4', '5be672fb82185b90f23bd99ac1e1cdb6')
+
+ extends('R')
+
+ depends_on('r-repr', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-irkernel/package.py b/var/spack/repos/builtin/packages/r-irkernel/package.py
new file mode 100644
index 0000000000..34b5c3c363
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-irkernel/package.py
@@ -0,0 +1,51 @@
+##############################################################################
+# 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 RIrkernel(Package):
+ """R kernel for Jupyter"""
+
+ homepage = "https://irkernel.github.io/"
+
+ # Git repository
+ version('master', git='https://github.com/IRkernel/IRkernel.git',
+ tag='0.7')
+
+ extends('R')
+
+ depends_on('r-repr', type=nolink)
+ depends_on('r-irdisplay', type=nolink)
+ depends_on('r-evaluate', type=nolink)
+ depends_on('r-crayon', type=nolink)
+ depends_on('r-pbdzmq', type=nolink)
+ depends_on('r-devtools', type=nolink)
+ depends_on('r-uuid', type=nolink)
+ depends_on('r-digest', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-knitr/package.py b/var/spack/repos/builtin/packages/r-knitr/package.py
new file mode 100644
index 0000000000..4976e12b45
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-knitr/package.py
@@ -0,0 +1,52 @@
+##############################################################################
+# 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 RKnitr(Package):
+ """Provides a general-purpose tool for dynamic report generation in R using
+ Literate Programming techniques."""
+
+ homepage = "http://yihui.name/knitr/"
+ url = "https://cran.rstudio.com/src/contrib/knitr_1.14.tar.gz"
+ list_url = "https://cran.rstudio.com/src/contrib/Archive/knitr"
+
+ version('1.14', 'ef0fbeaa9372f99ffbc57212a7781511')
+ version('0.6' , 'c67d6db84cd55594a9e870c90651a3db')
+
+ extends('R')
+
+ depends_on('r-evaluate', type=nolink)
+ depends_on('r-digest', type=nolink)
+ depends_on('r-formatr', type=nolink)
+ depends_on('r-highr', type=nolink)
+ depends_on('r-stringr', type=nolink)
+ depends_on('r-markdown', type=nolink)
+ depends_on('r-yaml', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-lattice/package.py b/var/spack/repos/builtin/packages/r-lattice/package.py
index ba29feefc4..a798b1ce65 100644
--- a/var/spack/repos/builtin/packages/r-lattice/package.py
+++ b/var/spack/repos/builtin/packages/r-lattice/package.py
@@ -32,10 +32,10 @@ class RLattice(Package):
handle most nonstandard requirements. See ?Lattice for an introduction."""
homepage = "http://lattice.r-forge.r-project.org/"
- url = "https://cran.r-project.org/src/contrib/lattice_0.20-33.tar.gz"
+ url = "https://cran.r-project.org/src/contrib/lattice_0.20-34.tar.gz"
list_url = "https://cran.r-project.org/src/contrib/Archive/lattice"
- version('0.20-33', 'd487c94db1bfe00a27270f4c71baf53e')
+ version('0.20-34', 'c2a648b22d4206ae7526fb70b8e90fed')
extends('R')
diff --git a/var/spack/repos/builtin/packages/r-partykit/package.py b/var/spack/repos/builtin/packages/r-partykit/package.py
new file mode 100644
index 0000000000..dff9099c07
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-partykit/package.py
@@ -0,0 +1,52 @@
+##############################################################################
+# 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 RPartykit(Package):
+ """A toolkit with infrastructure for representing, summarizing, and
+ visualizing tree-structured regression and classification models. This
+ unified infrastructure can be used for reading/coercing tree models from
+ different sources ('rpart', 'RWeka', 'PMML') yielding objects that share
+ functionality for print()/plot()/predict() methods. Furthermore, new and
+ improved reimplementations of conditional inference trees (ctree()) and
+ model-based recursive partitioning (mob()) from the 'party' package are
+ provided based on the new infrastructure."""
+
+ homepage = "http://partykit.r-forge.r-project.org/partykit"
+ url = "https://cran.r-project.org/src/contrib/partykit_1.1-1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/partykit"
+
+ version('1.1-1', '8fcb31d73ec1b8cd3bcd9789639a9277')
+
+ extends('R')
+
+ depends_on('r-survival', type=nolink)
+ depends_on('r-formula', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-pbdzmq/package.py b/var/spack/repos/builtin/packages/r-pbdzmq/package.py
new file mode 100644
index 0000000000..b5a9546124
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-pbdzmq/package.py
@@ -0,0 +1,51 @@
+##############################################################################
+# 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 RPbdzmq(Package):
+ """'ZeroMQ' is a well-known library for high-performance asynchronous
+ messaging in scalable, distributed applications. This package provides
+ high level R wrapper functions to easily utilize 'ZeroMQ'. We mainly focus
+ on interactive client/server programming frameworks. For convenience, a
+ minimal 'ZeroMQ' library (4.1.0 rc1) is shipped with 'pbdZMQ', which can
+ be used if no system installation of 'ZeroMQ' is available. A few wrapper
+ functions compatible with 'rzmq' are also provided."""
+
+ homepage = "http://r-pbd.org/"
+ url = "https://cran.r-project.org/src/contrib/pbdZMQ_0.2-4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/pbdZMQ"
+
+ version('0.2-4', 'e5afb70199aa54d737ee7a0e26bde060')
+
+ extends('R')
+
+ depends_on('r-R6', type=nolink)
+ depends_on('zeromq')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-pryr/package.py b/var/spack/repos/builtin/packages/r-pryr/package.py
new file mode 100644
index 0000000000..acd502b536
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-pryr/package.py
@@ -0,0 +1,46 @@
+##############################################################################
+# 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 RPryr(Package):
+ """Useful tools to pry back the covers of R and understand the language
+ at a deeper level."""
+
+ homepage = "https://github.com/hadley/pryr"
+ url = "https://cran.r-project.org/src/contrib/pryr_0.1.2.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/pryr"
+
+ version('0.1.2', '66b597a762aa15a3b7037779522983b6')
+
+ extends('R')
+
+ depends_on('r-stringr', type=nolink)
+ depends_on('r-rcpp', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-rbokeh/package.py b/var/spack/repos/builtin/packages/r-rbokeh/package.py
new file mode 100644
index 0000000000..074c545534
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rbokeh/package.py
@@ -0,0 +1,55 @@
+##############################################################################
+# 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 RRbokeh(Package):
+ """R interface for creating plots in Bokeh. Bokeh by Continuum
+ Analytics."""
+
+ homepage = "https://hafen.github.io/rbokeh"
+ url = "https://cran.r-project.org/src/contrib/rbokeh_0.5.0.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/rbokeh"
+
+ version('0.5.0', '4e14778c3fbd9286460ca28c68f57d10')
+
+ extends('R')
+
+ depends_on('r-htmlwidgets', type=nolink)
+ depends_on('r-maps', type=nolink)
+ depends_on('r-jsonlite', type=nolink)
+ depends_on('r-digest', type=nolink)
+ depends_on('r-hexbin', type=nolink)
+ depends_on('r-lazyeval', type=nolink)
+ depends_on('r-pryr', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-ggplot2', type=nolink)
+ depends_on('r-scales', type=nolink)
+ depends_on('r-gistr', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-repr/package.py b/var/spack/repos/builtin/packages/r-repr/package.py
new file mode 100644
index 0000000000..2e1f6126f9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-repr/package.py
@@ -0,0 +1,43 @@
+##############################################################################
+# 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 RRepr(Package):
+ """String and binary representations of objects for several formats and
+ mime types."""
+
+ homepage = "https://github.com/IRkernel/repr"
+ url = "https://cran.r-project.org/src/contrib/repr_0.9.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/repr"
+
+ version('0.9', 'db5ff74893063b492f684e42283070bd')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-rinside/package.py b/var/spack/repos/builtin/packages/r-rinside/package.py
new file mode 100644
index 0000000000..41af3a4392
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rinside/package.py
@@ -0,0 +1,57 @@
+##############################################################################
+# 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 RRinside(Package):
+ """C++ classes to embed R in C++ applications The 'RInside' packages makes
+ it easier to have "R inside" your C++ application by providing a C++
+ wrapperclass providing the R interpreter. As R itself is embedded into
+ your application, a shared library build of R is required. This works on
+ Linux, OS X and even on Windows provided you use the same tools used to
+ build R itself. Numerous examples are provided in the eight subdirectories
+ of the examples/ directory of the installed package: standard, mpi (for
+ parallel computing) qt (showing how to embed 'RInside' inside a Qt GUI
+ application), wt (showing how to build a "web-application" using the Wt
+ toolkit), armadillo (for 'RInside' use with 'RcppArmadillo') and eigen (for
+ 'RInside' use with 'RcppEigen'). The example use GNUmakefile(s) with GNU
+ extensions, so a GNU make is required (and will use the GNUmakefile
+ automatically). Doxygen-generated documentation of the C++ classes is
+ available at the 'RInside' website as well."""
+
+ homepage = "http://dirk.eddelbuettel.com/code/rinside.html"
+ url = "https://cran.r-project.org/src/contrib/RInside_0.2.13.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/RInside"
+
+ version('0.2.13', '2e3c35a7bd648e9bef98d0afcc02cf88')
+
+ extends('R')
+
+ depends_on('r-rcpp', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-rmarkdown/package.py b/var/spack/repos/builtin/packages/r-rmarkdown/package.py
new file mode 100644
index 0000000000..c379388314
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rmarkdown/package.py
@@ -0,0 +1,50 @@
+##############################################################################
+# 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 RRmarkdown(Package):
+ """Convert R Markdown documents into a variety of formats."""
+
+ homepage = "http://rmarkdown.rstudio.com/"
+ url = "https://cran.r-project.org/src/contrib/rmarkdown_1.0.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/rmarkdown"
+
+ version('1.0', '264aa6a59e9680109e38df8270e14c58')
+
+ extends('R')
+
+ depends_on('r-knitr', type=nolink)
+ depends_on('r-yaml', type=nolink)
+ depends_on('r-htmltools', type=nolink)
+ depends_on('r-catools', type=nolink)
+ depends_on('r-evaluate', type=nolink)
+ depends_on('r-base64enc', type=nolink)
+ depends_on('r-jsonlite', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-rsnns/package.py b/var/spack/repos/builtin/packages/r-rsnns/package.py
new file mode 100644
index 0000000000..7684792ba1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rsnns/package.py
@@ -0,0 +1,50 @@
+##############################################################################
+# 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 RRsnns(Package):
+ """The Stuttgart Neural Network Simulator (SNNS) is a library containing
+ many standard implementations of neural networks. This package wraps the
+ SNNS functionality to make it available from within R. Using the RSNNS
+ low-level interface, all of the algorithmic functionality and flexibility
+ of SNNS can be accessed. Furthermore, the package contains a convenient
+ high-level interface, so that the most common neural network topologies
+ and learning algorithms integrate seamlessly into R."""
+
+ homepage = "http://sci2s.ugr.es/dicits/software/RSNNS"
+ url = "https://cran.r-project.org/src/contrib/RSNNS_0.4-7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/RSNNS"
+
+ version('0.4-7', 'ade7736611c456effb5f72e0ce0a1e6f')
+
+ extends('R')
+
+ depends_on('r-rcpp', type=nolink)
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-rzmq/package.py b/var/spack/repos/builtin/packages/r-rzmq/package.py
new file mode 100644
index 0000000000..472e706e72
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rzmq/package.py
@@ -0,0 +1,44 @@
+##############################################################################
+# 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 RRzmq(Package):
+ """Interface to the ZeroMQ lightweight messaging kernel."""
+
+ homepage = "http://github.com/armstrtw/rzmq"
+ url = "https://cran.r-project.org/src/contrib/rzmq_0.7.7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/rzmq"
+
+ version('0.7.7', '8ba18fd1c222d1eb25bb622ccd2897e0')
+
+ depends_on('zeromq')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-testit/package.py b/var/spack/repos/builtin/packages/r-testit/package.py
new file mode 100644
index 0000000000..a10b55d66c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-testit/package.py
@@ -0,0 +1,43 @@
+##############################################################################
+# 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 RTestit(Package):
+ """Provides two convenience functions assert() and test_pkg() to facilitate
+ testing R packages."""
+
+ homepage = "https://github.com/yihui/testit"
+ url = "https://cran.r-project.org/src/contrib/testit_0.5.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/testit"
+
+ version('0.5', 'f206d3cbdc5174e353d2d05ba6a12e59')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/r-uuid/package.py b/var/spack/repos/builtin/packages/r-uuid/package.py
new file mode 100644
index 0000000000..97541bc3b8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-uuid/package.py
@@ -0,0 +1,43 @@
+##############################################################################
+# 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 RUuid(Package):
+ """Tools for generating and handling of UUIDs (Universally Unique
+ Identifiers)."""
+
+ homepage = "http://www.rforge.net/uuid"
+ url = "https://cran.rstudio.com/src/contrib/uuid_0.1-2.tar.gz"
+ list_url = "https://cran.rstudio.com/src/contrib/Archive/uuid"
+
+ version('0.1-2', 'f97d000c0b16bca455fb5bf2cd668ddf')
+
+ extends('R')
+
+ def install(self, spec, prefix):
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)
diff --git a/var/spack/repos/builtin/packages/scotch/package.py b/var/spack/repos/builtin/packages/scotch/package.py
index 94a323ce90..58bbcd8383 100644
--- a/var/spack/repos/builtin/packages/scotch/package.py
+++ b/var/spack/repos/builtin/packages/scotch/package.py
@@ -85,16 +85,29 @@ class Scotch(Package):
'-DIDXSIZE64'
]
+ if self.spec.satisfies('platform=darwin'):
+ cflags.extend([
+ '-Drestrict=__restrict'
+ ])
+
# Library Build Type #
if '+shared' in self.spec:
- makefile_inc.extend([
- # todo change for Darwin systems
- 'LIB = .so',
- 'CLIBFLAGS = -shared -fPIC',
- 'RANLIB = echo',
- 'AR = $(CC)',
- 'ARFLAGS = -shared $(LDFLAGS) -o'
- ])
+ if self.spec.satisfies('platform=darwin'):
+ makefile_inc.extend([
+ 'LIB = .dylib',
+ 'CLIBFLAGS = -dynamiclib -fPIC',
+ 'RANLIB = echo',
+ 'AR = $(CC)',
+ 'ARFLAGS = -dynamiclib $(LDFLAGS) -Wl,-install_name -Wl,%s/$(notdir $@) -undefined dynamic_lookup -o ' % prefix.lib # noqa
+ ])
+ else:
+ makefile_inc.extend([
+ 'LIB = .so',
+ 'CLIBFLAGS = -shared -fPIC',
+ 'RANLIB = echo',
+ 'AR = $(CC)',
+ 'ARFLAGS = -shared $(LDFLAGS) -o'
+ ])
cflags.append('-fPIC')
else:
makefile_inc.extend([
@@ -126,7 +139,11 @@ class Scotch(Package):
ldflags.append('-L%s -lz' % (self.spec['zlib'].prefix.lib))
cflags.append('-DCOMMON_PTHREAD')
- ldflags.append('-lm -lrt -pthread')
+ if self.spec.satisfies('platform=darwin'):
+ cflags.append('-DCOMMON_PTHREAD_BARRIER')
+ ldflags.append('-lm -pthread')
+ else:
+ ldflags.append('-lm -lrt -pthread')
makefile_inc.append('LDFLAGS = %s' % ' '.join(ldflags))
diff --git a/var/spack/repos/builtin/packages/sowing/package.py b/var/spack/repos/builtin/packages/sowing/package.py
new file mode 100644
index 0000000000..f7f6297488
--- /dev/null
+++ b/var/spack/repos/builtin/packages/sowing/package.py
@@ -0,0 +1,42 @@
+##############################################################################
+# 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 Sowing(Package):
+ """Sowing generates Fortran interfaces and documentation for PETSc
+ and MPICH.
+ """
+
+ homepage = "http://www.mcs.anl.gov/petsc/index.html"
+ url = "http://ftp.mcs.anl.gov/pub/petsc/externalpackages/sowing-1.1.23-p1.tar.gz"
+
+ version('1.1.23-p1', '65aaf3ae2a4c0f30d532fec291702e16')
+
+ def install(self, spec, prefix):
+ configure('--prefix=%s' % prefix)
+ make('ALL', parallel=False)
+ make("install")
diff --git a/var/spack/repos/builtin/packages/superlu/package.py b/var/spack/repos/builtin/packages/superlu/package.py
index d9cff650b6..8e23a2a14e 100644
--- a/var/spack/repos/builtin/packages/superlu/package.py
+++ b/var/spack/repos/builtin/packages/superlu/package.py
@@ -23,6 +23,8 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
+import glob
+import os
class Superlu(Package):
@@ -34,21 +36,90 @@ class Superlu(Package):
url = "http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_5.2.1.tar.gz"
version('5.2.1', '3a1a9bff20cb06b7d97c46d337504447')
+ version('4.3', 'b72c6309f25e9660133007b82621ba7c')
+ variant('fpic', default=False,
+ description='Build with position independent code')
+
+ depends_on('cmake', when='@5.2.1:', type='build')
depends_on('blas')
+ # CMake installation method
+ @when('@5.2.1:')
def install(self, spec, prefix):
cmake_args = [
- '-DCMAKE_POSITION_INDEPENDENT_CODE=ON',
- # BLAS support
'-Denable_blaslib=OFF',
'-DBLAS_blas_LIBRARY={0}'.format(spec['blas'].blas_libs.joined())
]
+ if '+fpic' in spec:
+ cmake_args.extend([
+ '-DCMAKE_POSITION_INDEPENDENT_CODE=ON'
+ ])
+
cmake_args.extend(std_cmake_args)
with working_dir('spack-build', create=True):
cmake('..', *cmake_args)
-
make()
make('install')
+
+ # Pre-cmake installation method
+ @when('@4.3')
+ def install(self, spec, prefix):
+ config = []
+
+ # Define make.inc file
+ config.extend([
+ 'PLAT = _x86_64',
+ 'SuperLUroot = %s' % self.stage.source_path,
+ # 'SUPERLULIB = $(SuperLUroot)/lib/libsuperlu$(PLAT).a',
+ 'SUPERLULIB = $(SuperLUroot)/lib/libsuperlu_{0}.a' \
+ .format(self.spec.version),
+ 'BLASDEF = -DUSE_VENDOR_BLAS',
+ 'BLASLIB = {0}'.format(spec['blas'].blas_libs.ld_flags),
+ # or BLASLIB = -L/usr/lib64 -lblas
+ 'TMGLIB = libtmglib.a',
+ 'LIBS = $(SUPERLULIB) $(BLASLIB)',
+ 'ARCH = ar',
+ 'ARCHFLAGS = cr',
+ 'RANLIB = {0}'.format('ranlib' if which('ranlib') else 'echo'),
+ 'CC = {0}'.format(os.environ['CC']),
+ 'FORTRAN = {0}'.format(os.environ['FC']),
+ 'LOADER = {0}'.format(os.environ['CC']),
+ 'CDEFS = -DAdd_'
+ ])
+
+ if '+fpic' in spec:
+ config.extend([
+ # Use these lines instead when pic_flag capability arrives
+ # 'CFLAGS = -O3 {0}'.format(self.compiler.pic_flag),
+ # 'NOOPTS = {0}'.format(self.compiler.pic_flag),
+ # 'FFLAGS = -O2 {0}'.format(self.compiler.pic_flag),
+ # 'LOADOPTS = {0}'.format(self.compiler.pic_flag)
+ 'CFLAGS = -O3 -fPIC',
+ 'NOOPTS = -fPIC',
+ 'FFLAGS = -O2 -fPIC',
+ 'LOADOPTS = -fPIC'
+ ])
+ else:
+ config.extend([
+ 'CFLAGS = -O3',
+ 'NOOPTS = ',
+ 'FFLAGS = -O2',
+ 'LOADOPTS = '
+ ])
+
+ # Write configuration options to make.inc file
+ with open('make.inc', 'w') as inc:
+ for option in config:
+ inc.write('{0}\n'.format(option))
+
+ make(parallel=False)
+
+ # Install manually
+ install_tree('lib', prefix.lib)
+ headers = glob.glob(join_path('SRC', '*.h'))
+ mkdir(prefix.include)
+ for h in headers:
+ install(h, prefix.include)
diff --git a/var/spack/repos/builtin/packages/tetgen/package.py b/var/spack/repos/builtin/packages/tetgen/package.py
index 7ac55a6785..6e5ed79c36 100644
--- a/var/spack/repos/builtin/packages/tetgen/package.py
+++ b/var/spack/repos/builtin/packages/tetgen/package.py
@@ -22,7 +22,9 @@
# 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 glob
class Tetgen(Package):
@@ -33,13 +35,35 @@ class Tetgen(Package):
"""
homepage = "http://www.tetgen.org"
- url = "http://www.tetgen.org/files/tetgen1.4.3.tar.gz"
- version('1.4.3', 'd6a4bcdde2ac804f7ec66c29dcb63c18')
- version('1.5.0', '3b9fd9cdec121e52527b0308f7aad5c1',
- url='http://www.tetgen.org/1.5/src/tetgen1.5.0.tar.gz')
+ version('1.5.0', '3b9fd9cdec121e52527b0308f7aad5c1', url='http://www.tetgen.org/1.5/src/tetgen1.5.0.tar.gz')
+ version('1.4.3', 'd6a4bcdde2ac804f7ec66c29dcb63c18', url='http://www.tetgen.org/files/tetgen1.4.3.tar.gz')
+
+ variant('debug', default=False, description='Builds the library in debug mode.')
+ variant('except', default=False, description='Replaces asserts with exceptions for better C++ compatibility.')
+
+ patch('tetgen-1.5.0-free.patch', when='@1.5.0')
+
+ def patch(self):
+ cflags = '-g -O0' if '+debug' in self.spec else '-g0 -O3'
+
+ mff = FileFilter('makefile')
+ mff.filter(r'^(C(XX)?FLAGS\s*=)(.*)$', r'\1 {0}'.format(cflags))
+
+ if '+except' in self.spec:
+ hff = FileFilter('tetgen.h')
+ hff.filter(r'(\b)(throw)(\b)(.*);', r'\1assert_throw(false);')
+ hff.filter(r'^(#define\s*tetgenH\s*)$', r'\1{0}'.format("""\n
+#include <stdexcept>
+
+inline void assert_throw(bool assertion)
+{
+ if(!assertion)
+ throw std::runtime_error("Tetgen encountered a problem (assert failed)!");
+}\n"""))
- depends_on('cmake@2.8.7:', when='@1.5.0:', type='build')
+ sff = FileFilter(*(glob.glob('*.cxx')))
+ sff.filter(r'(\b)(assert)(\b)', r'\1assert_throw\3')
def install(self, spec, prefix):
make('tetgen', 'tetlib')
diff --git a/var/spack/repos/builtin/packages/tetgen/tetgen-1.5.0-free.patch b/var/spack/repos/builtin/packages/tetgen/tetgen-1.5.0-free.patch
new file mode 100644
index 0000000000..009ccd834f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/tetgen/tetgen-1.5.0-free.patch
@@ -0,0 +1,49 @@
+diff --git a/tetgen.h b/tetgen.h
+index 3196e03..2ff3138 100644
+--- a/tetgen.h
++++ b/tetgen.h
+@@ -2206,6 +2206,44 @@ public:
+ if (highordertable != NULL) {
+ delete [] highordertable;
+ }
++
++ bgm = NULL;
++
++ points = NULL;
++ dummypoint = NULL;
++
++ tetrahedrons = NULL;
++
++ subfaces = NULL;
++ subsegs = NULL;
++
++ tet2segpool = NULL;
++ tet2subpool = NULL;
++
++ flippool = NULL;
++ unflipqueue = NULL;
++
++ cavetetlist = NULL;
++ cavebdrylist = NULL;
++ caveoldtetlist = NULL;
++ cavetetvertlist = NULL;
++
++ caveshlist = NULL;
++ caveshbdlist = NULL;
++ cavesegshlist = NULL;
++ cavetetshlist = NULL;
++ cavetetseglist = NULL;
++ caveencshlist = NULL;
++ caveencseglist = NULL;
++
++ subsegstack = NULL;
++ subfacstack = NULL;
++ subvertstack = NULL;
++
++ idx2facetlist = NULL;
++ facetverticeslist = NULL;
++ segmentendpointslist = NULL;
++ highordertable = NULL;
+ }
+
+ ~tetgenmesh()
diff --git a/var/spack/repos/builtin/packages/tk/package.py b/var/spack/repos/builtin/packages/tk/package.py
index 894d3af6cc..12a7049e72 100644
--- a/var/spack/repos/builtin/packages/tk/package.py
+++ b/var/spack/repos/builtin/packages/tk/package.py
@@ -37,7 +37,10 @@ class Tk(Package):
version('8.6.5', '11dbbd425c3e0201f20d6a51482ce6c4')
version('8.6.3', '85ca4dbf4dcc19777fd456f6ee5d0221')
+ variant('X', default=True, description='Enable X11 support')
+
depends_on("tcl")
+ depends_on("libx11", when='+X')
def url_for_version(self, version):
base_url = "http://prdownloads.sourceforge.net/tcl"
diff --git a/var/spack/repos/builtin/packages/yaml-cpp/package.py b/var/spack/repos/builtin/packages/yaml-cpp/package.py
new file mode 100644
index 0000000000..0ffedb30cd
--- /dev/null
+++ b/var/spack/repos/builtin/packages/yaml-cpp/package.py
@@ -0,0 +1,49 @@
+##############################################################################
+# 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 YamlCpp(Package):
+ """A YAML parser and emitter in C++"""
+
+ homepage = "https://github.com/jbeder/yaml-cpp"
+ url = \
+ "https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-0.5.3.tar.gz"
+
+ version('0.5.3', '4e47733d98266e46a1a73ae0a72954eb')
+
+ variant('fpic', default=False,
+ description='Build with position independent code')
+
+ depends_on('cmake', type='build')
+
+ def install(self, spec, prefix):
+ with working_dir('spack-build', create=True):
+ args = std_cmake_args
+ if '+fpic' in spec:
+ args += ['-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true']
+ cmake('..', *args)
+ make()
+ make("install")