summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml25
-rw-r--r--lib/spack/llnl/util/filesystem.py18
-rw-r--r--lib/spack/spack/cmd/create.py2
-rw-r--r--lib/spack/spack/concretize.py12
-rw-r--r--lib/spack/spack/config.py13
-rw-r--r--lib/spack/spack/operating_systems/cnl.py24
-rw-r--r--lib/spack/spack/platforms/cray.py105
-rw-r--r--lib/spack/spack/platforms/cray_xc.py72
-rw-r--r--lib/spack/spack/preferred_packages.py4
-rw-r--r--lib/spack/spack/spec.py53
-rw-r--r--lib/spack/spack/stage.py113
-rw-r--r--lib/spack/spack/test/__init__.py6
-rw-r--r--lib/spack/spack/test/architecture.py4
-rw-r--r--lib/spack/spack/test/cmd/test_install.py39
-rw-r--r--lib/spack/spack/test/concretize_preferences.py106
-rwxr-xr-xshare/spack/qa/run-unit-tests20
-rw-r--r--var/spack/repos/builtin.mock/packages/mpileaks/package.py3
-rw-r--r--var/spack/repos/builtin/packages/R/package.py44
-rw-r--r--var/spack/repos/builtin/packages/ack/package.py51
-rw-r--r--var/spack/repos/builtin/packages/arpack-ng/package.py39
-rw-r--r--var/spack/repos/builtin/packages/atlas/package.py68
-rw-r--r--var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.c49
-rw-r--r--var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.output12
-rw-r--r--var/spack/repos/builtin/packages/cask/package.py53
-rw-r--r--var/spack/repos/builtin/packages/cp2k/package.py161
-rw-r--r--var/spack/repos/builtin/packages/hypre/package.py4
-rw-r--r--var/spack/repos/builtin/packages/jdk/package.py2
-rw-r--r--var/spack/repos/builtin/packages/kdiff3/package.py44
-rw-r--r--var/spack/repos/builtin/packages/libhio/package.py45
-rw-r--r--var/spack/repos/builtin/packages/libxau/package.py4
-rw-r--r--var/spack/repos/builtin/packages/libxsmm/package.py66
-rw-r--r--var/spack/repos/builtin/packages/mkl/package.py12
-rw-r--r--var/spack/repos/builtin/packages/mvapich2/package.py1
-rw-r--r--var/spack/repos/builtin/packages/nextflow/package.py42
-rw-r--r--var/spack/repos/builtin/packages/opencv/package.py177
-rw-r--r--var/spack/repos/builtin/packages/openssl/package.py2
-rw-r--r--var/spack/repos/builtin/packages/p4est/package.py40
-rw-r--r--var/spack/repos/builtin/packages/perl/package.py75
-rw-r--r--var/spack/repos/builtin/packages/pgi/package.py1
-rw-r--r--var/spack/repos/builtin/packages/plumed/package.py84
-rw-r--r--var/spack/repos/builtin/packages/py-h5py/package.py1
-rw-r--r--var/spack/repos/builtin/packages/py-networkx/package.py5
-rw-r--r--var/spack/repos/builtin/packages/py-nose/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-pytables/package.py6
-rw-r--r--var/spack/repos/builtin/packages/py-scikit-image/package.py1
-rw-r--r--var/spack/repos/builtin/packages/r-base64enc/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-boot/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-brew/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-car/package.py48
-rw-r--r--var/spack/repos/builtin/packages/r-caret/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-chron/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-class/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-cluster/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-codetools/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-crayon/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-cubature/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-curl/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-datatable/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-devtools/package.py16
-rw-r--r--var/spack/repos/builtin/packages/r-diagrammer/package.py49
-rw-r--r--var/spack/repos/builtin/packages/r-doparallel/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-dplyr/package.py17
-rw-r--r--var/spack/repos/builtin/packages/r-dt/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-dygraphs/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-e1071/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-foreach/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-gdata/package.py59
-rw-r--r--var/spack/repos/builtin/packages/r-geosphere/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-ggmap/package.py57
-rw-r--r--var/spack/repos/builtin/packages/r-ggplot2/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-ggvis/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-glmnet/package.py49
-rw-r--r--var/spack/repos/builtin/packages/r-googlevis/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-gridbase/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-gridextra/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-gtools/package.py60
-rw-r--r--var/spack/repos/builtin/packages/r-htmltools/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-htmlwidgets/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-httpuv/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-httr/package.py10
-rw-r--r--var/spack/repos/builtin/packages/r-igraph/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-influencer/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-irlba/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-iterators/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-jpeg/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-jsonlite/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-leaflet/package.py54
-rw-r--r--var/spack/repos/builtin/packages/r-lme4/package.py53
-rw-r--r--var/spack/repos/builtin/packages/r-lmtest/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-lubridate/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-magic/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-mapproj/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-maps/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-maptools/package.py49
-rw-r--r--var/spack/repos/builtin/packages/r-markdown/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-matrix/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-matrixmodels/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-memoise/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-mgcv/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-mime/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-minqa/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-multcomp/package.py51
-rw-r--r--var/spack/repos/builtin/packages/r-munsell/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-mvtnorm/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-ncdf4/package.py56
-rw-r--r--var/spack/repos/builtin/packages/r-networkd3/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-nlme/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-nloptr/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-nmf/package.py60
-rw-r--r--var/spack/repos/builtin/packages/r-nnet/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-np/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-pbkrtest/package.py49
-rw-r--r--var/spack/repos/builtin/packages/r-pkgmaker/package.py53
-rw-r--r--var/spack/repos/builtin/packages/r-plotrix/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-plyr/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-png/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-praise/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-proto/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-quantmod/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-quantreg/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-randomforest/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-raster/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-rcpp/package.py3
-rw-r--r--var/spack/repos/builtin/packages/r-rcppeigen/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-registry/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-reshape2/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-rgooglemaps/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-rjson/package.py41
-rw-r--r--var/spack/repos/builtin/packages/r-rjsonio/package.py55
-rw-r--r--var/spack/repos/builtin/packages/r-rmysql/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-rngtools/package.py49
-rw-r--r--var/spack/repos/builtin/packages/r-roxygen2/package.py48
-rw-r--r--var/spack/repos/builtin/packages/r-rpostgresql/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-rsqlite/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-rstan/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-rstudioapi/package.py1
-rw-r--r--var/spack/repos/builtin/packages/r-sandwich/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-scales/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-shiny/package.py14
-rw-r--r--var/spack/repos/builtin/packages/r-sp/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-sparsem/package.py43
-rw-r--r--var/spack/repos/builtin/packages/r-stringr/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-survey/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-survival/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-tarifx/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-testthat/package.py48
-rw-r--r--var/spack/repos/builtin/packages/r-thdata/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-threejs/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-tibble/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-tidyr/package.py12
-rw-r--r--var/spack/repos/builtin/packages/r-ttr/package.py44
-rw-r--r--var/spack/repos/builtin/packages/r-vcd/package.py50
-rw-r--r--var/spack/repos/builtin/packages/r-visnetwork/package.py47
-rw-r--r--var/spack/repos/builtin/packages/r-xlconnect/package.py8
-rw-r--r--var/spack/repos/builtin/packages/r-xlconnectjars/package.py6
-rw-r--r--var/spack/repos/builtin/packages/r-xlsx/package.py4
-rw-r--r--var/spack/repos/builtin/packages/r-xlsxjars/package.py2
-rw-r--r--var/spack/repos/builtin/packages/r-xml/package.py45
-rw-r--r--var/spack/repos/builtin/packages/r-xts/package.py46
-rw-r--r--var/spack/repos/builtin/packages/r-yaml/package.py42
-rw-r--r--var/spack/repos/builtin/packages/r-zoo/package.py47
-rw-r--r--var/spack/repos/builtin/packages/texlive/package.py57
-rw-r--r--var/spack/repos/builtin/packages/tree/package.py46
-rw-r--r--var/spack/repos/builtin/packages/trilinos/package.py15
164 files changed, 5454 insertions, 395 deletions
diff --git a/.travis.yml b/.travis.yml
index 904143a00f..b376a33490 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,17 @@
language: python
+
python:
- "2.6"
- "2.7"
+env:
+ - TEST_TYPE=unit
+ - TEST_TYPE=flake8
+
+# Exclude flake8 from python 2.6
+matrix:
+ exclude:
+ - python: "2.6"
+ env: TEST_TYPE=flake8
# Use new Travis infrastructure (Docker can't sudo yet)
sudo: false
@@ -20,20 +30,13 @@ before_install:
- git fetch origin develop:develop
script:
- # Regular spack setup and tests
- - . share/spack/setup-env.sh
- - spack compilers
- - spack config get compilers
- - spack install -v libdwarf
-
- # Run unit tests with code coverage
- - coverage run bin/spack test
-
+ # Run unit tests with code coverage plus install libdwarf
+ - 'if [ "$TEST_TYPE" = "unit" ]; then share/spack/qa/run-unit-tests; fi'
# Run flake8 code style checks.
- - share/spack/qa/run-flake8
+ - 'if [ "$TEST_TYPE" = "flake8" ]; then share/spack/qa/run-flake8; fi'
after_success:
- - coveralls
+ - 'if [ "$TEST_TYPE" = "unit" ] && [ "$TRAVIS_PYTHON_VERSION" = "2.7" ]; then coveralls; fi'
notifications:
email:
diff --git a/lib/spack/llnl/util/filesystem.py b/lib/spack/llnl/util/filesystem.py
index 6e4cd338fe..2478f5c159 100644
--- a/lib/spack/llnl/util/filesystem.py
+++ b/lib/spack/llnl/util/filesystem.py
@@ -29,8 +29,9 @@ import shutil
import stat
import errno
import getpass
-from contextlib import contextmanager, closing
+from contextlib import contextmanager
import subprocess
+import fileinput
import llnl.util.tty as tty
@@ -85,13 +86,14 @@ def filter_file(regex, repl, *filenames, **kwargs):
if ignore_absent and not os.path.exists(filename):
continue
- shutil.copy(filename, backup_filename)
+ # Create backup file. Don't overwrite an existing backup
+ # file in case this file is being filtered multiple times.
+ if not os.path.exists(backup_filename):
+ shutil.copy(filename, backup_filename)
+
try:
- with closing(open(backup_filename)) as infile:
- with closing(open(filename, 'w')) as outfile:
- for line in infile:
- foo = re.sub(regex, repl, line)
- outfile.write(foo)
+ for line in fileinput.input(filename, inplace=True):
+ print(re.sub(regex, repl, line.rstrip()))
except:
# clean up the original file on failure.
shutil.move(backup_filename, filename)
@@ -189,7 +191,7 @@ def install(src, dest):
def install_tree(src, dest, **kwargs):
- """Manually install a file to a particular location."""
+ """Manually install a directory tree to a particular location."""
tty.debug("Installing %s to %s" % (src, dest))
shutil.copytree(src, dest, **kwargs)
diff --git a/lib/spack/spack/cmd/create.py b/lib/spack/spack/cmd/create.py
index da74ceb2f6..51bf17a44b 100644
--- a/lib/spack/spack/cmd/create.py
+++ b/lib/spack/spack/cmd/create.py
@@ -165,7 +165,7 @@ install_dict = {
'python': """\
# FIXME: Add logic to build and install here.
- python('setup.py', 'install', '--prefix={0}'.format(prefix))""",
+ setup_py('install', '--prefix={0}'.format(prefix))""",
'R': """\
# FIXME: Add logic to build and install here.
diff --git a/lib/spack/spack/concretize.py b/lib/spack/spack/concretize.py
index 5180f3cf04..eced9917c9 100644
--- a/lib/spack/spack/concretize.py
+++ b/lib/spack/spack/concretize.py
@@ -336,14 +336,18 @@ class DefaultConcretizer(object):
spack.pkgsort.compiler_compare, other_spec.name)
matches = sorted(compiler_list, cmp=cmp_compilers)
if not matches:
- raise UnavailableCompilerVersionError(other_compiler)
+ arch = spec.architecture
+ raise UnavailableCompilerVersionError(other_compiler,
+ arch.platform_os)
# copy concrete version into other_compiler
index = 0
while not _proper_compiler_style(matches[index], spec.architecture):
index += 1
if index == len(matches) - 1:
- raise NoValidVersionError(spec)
+ arch = spec.architecture
+ raise UnavailableCompilerVersionError(spec.compiler,
+ arch.platform_os)
spec.compiler = matches[index].copy()
assert(spec.compiler.concrete)
return True # things changed.
@@ -489,9 +493,9 @@ class UnavailableCompilerVersionError(spack.error.SpackError):
"""Raised when there is no available compiler that satisfies a
compiler spec."""
- def __init__(self, compiler_spec):
+ def __init__(self, compiler_spec, operating_system):
super(UnavailableCompilerVersionError, self).__init__(
- "No available compiler version matches '%s'" % compiler_spec,
+ "No available compiler version matches '%s' on operating_system %s" % compiler_spec, operating_system, # NOQA: ignore=E501
"Run 'spack compilers' to see available compiler Options.")
diff --git a/lib/spack/spack/config.py b/lib/spack/spack/config.py
index e2e7dbc0ee..31f0eb3a56 100644
--- a/lib/spack/spack/config.py
+++ b/lib/spack/spack/config.py
@@ -266,6 +266,19 @@ section_schemas = {
], },
},},},},},},
+ 'targets': {
+ '$schema': 'http://json-schema.org/schema#',
+ 'title': 'Spack target configuration file schema',
+ 'type': 'object',
+ 'additionalProperties': False,
+ 'patternProperties': {
+ r'targets:?': {
+ 'type': 'object',
+ 'default': {},
+ 'additionalProperties': False,
+ 'patternProperties': {
+ r'\w[\w-]*': { # target name
+ 'type': 'string' ,},},},},},
'modules': {
'$schema': 'http://json-schema.org/schema#',
'title': 'Spack module file configuration file schema',
diff --git a/lib/spack/spack/operating_systems/cnl.py b/lib/spack/spack/operating_systems/cnl.py
index c160a60be8..dbd2775861 100644
--- a/lib/spack/spack/operating_systems/cnl.py
+++ b/lib/spack/spack/operating_systems/cnl.py
@@ -7,11 +7,12 @@ import spack.spec
from spack.util.multiproc import parmap
import spack.compilers
+
class Cnl(OperatingSystem):
""" Compute Node Linux (CNL) is the operating system used for the Cray XC
series super computers. It is a very stripped down version of GNU/Linux.
Any compilers found through this operating system will be used with
- modules. If updated, user must make sure that version and name are
+ modules. If updated, user must make sure that version and name are
updated to indicate that OS has been upgraded (or downgraded)
"""
def __init__(self):
@@ -19,17 +20,19 @@ class Cnl(OperatingSystem):
version = '10'
super(Cnl, self).__init__(name, version)
+ def __str__(self):
+ return self.name
def find_compilers(self, *paths):
types = spack.compilers.all_compiler_types()
- compiler_lists = parmap(lambda cmp_cls: self.find_compiler(cmp_cls, *paths), types)
+ compiler_lists = parmap(
+ lambda cmp_cls: self.find_compiler(cmp_cls, *paths), types)
# ensure all the version calls we made are cached in the parent
# process, as well. This speeds up Spack a lot.
- clist = reduce(lambda x,y: x+y, compiler_lists)
+ clist = reduce(lambda x, y: x + y, compiler_lists)
return clist
-
def find_compiler(self, cmp_cls, *paths):
compilers = []
if cmp_cls.PrgEnv:
@@ -45,13 +48,16 @@ class Cnl(OperatingSystem):
if paths:
module_paths = ':' + ':'.join(p for p in paths)
os.environ['MODULEPATH'] = module_paths
-
- output = modulecmd('avail', cmp_cls.PrgEnv_compiler, output=str, error=str)
- matches = re.findall(r'(%s)/([\d\.]+[\d])' % cmp_cls.PrgEnv_compiler, output)
+
+ output = modulecmd(
+ 'avail', cmp_cls.PrgEnv_compiler, output=str, error=str)
+ matches = re.findall(
+ r'(%s)/([\d\.]+[\d])' % cmp_cls.PrgEnv_compiler, output)
for name, version in matches:
v = version
- comp = cmp_cls(spack.spec.CompilerSpec(name + '@' + v), self,
- ['cc', 'CC', 'ftn'], [cmp_cls.PrgEnv, name +'/' + v])
+ comp = cmp_cls(
+ spack.spec.CompilerSpec(name + '@' + v), self,
+ ['cc', 'CC', 'ftn'], [cmp_cls.PrgEnv, name + '/' + v])
compilers.append(comp)
diff --git a/lib/spack/spack/platforms/cray.py b/lib/spack/spack/platforms/cray.py
new file mode 100644
index 0000000000..2a3b81cf9c
--- /dev/null
+++ b/lib/spack/spack/platforms/cray.py
@@ -0,0 +1,105 @@
+import os
+import re
+import spack.config
+import llnl.util.tty as tty
+from spack.util.executable import which
+from spack.architecture import Platform, Target, NoPlatformError
+from spack.operating_systems.linux_distro import LinuxDistro
+from spack.operating_systems.cnl import Cnl
+from llnl.util.filesystem import join_path
+
+# Craype- module prefixes that are not valid CPU targets.
+NON_TARGETS = ('hugepages', 'network', 'target', 'accel', 'xtpe')
+
+
+def _target_from_clean_env(name):
+ '''Return the default back_end target as loaded in a clean login session.
+
+ A bash subshell is launched with a wiped environment and the list of loaded
+ modules is parsed for the first acceptable CrayPE target.
+ '''
+ # Based on the incantation:
+ # echo "$(env - USER=$USER /bin/bash -l -c 'module list -lt')"
+ targets = []
+ if name != 'front_end':
+ env = which('env')
+ env.add_default_arg('-')
+ # CAUTION - $USER is generally needed to initialize the environment.
+ # There may be other variables needed for general success.
+ output = env('USER=%s' % os.environ['USER'],
+ '/bin/bash', '--noprofile', '--norc', '-c',
+ '. /etc/profile; module list -lt',
+ output=str, error=str)
+ default_modules = [i for i in output.splitlines()
+ if len(i.split()) == 1]
+ tty.debug("Found default modules:",
+ *[" " + mod for mod in default_modules])
+ pattern = 'craype-(?!{0})(\S*)'.format('|'.join(NON_TARGETS))
+ for mod in default_modules:
+ if 'craype-' in mod:
+ targets.extend(re.findall(pattern, mod))
+ return targets[0] if targets else None
+
+
+class Cray(Platform):
+ priority = 10
+
+ def __init__(self):
+ ''' Create a Cray system platform.
+
+ Target names should use craype target names but not include the
+ 'craype-' prefix. Uses first viable target from:
+ self
+ envars [SPACK_FRONT_END, SPACK_BACK_END]
+ configuration file "targets.yaml" with keys 'front_end', 'back_end'
+ scanning /etc/bash/bashrc.local for back_end only
+ '''
+ super(Cray, self).__init__('cray')
+
+ # Get targets from config or make best guess from environment:
+ conf = spack.config.get_config('targets')
+ for name in ('front_end', 'back_end'):
+ _target = getattr(self, name, None)
+ if _target is None:
+ _target = os.environ.get('SPACK_' + name.upper())
+ if _target is None:
+ _target = conf.get(name)
+ if _target is None:
+ _target = _target_from_clean_env(name)
+ setattr(self, name, _target)
+
+ if _target is not None:
+ self.add_target(name, Target(_target, 'craype-' + _target))
+ self.add_target(_target, Target(_target, 'craype-' + _target))
+
+ if self.back_end is not None:
+ self.default = self.back_end
+ self.add_target(
+ 'default', Target(self.default, 'craype-' + self.default))
+ else:
+ raise NoPlatformError()
+
+ front_distro = LinuxDistro()
+ back_distro = Cnl()
+
+ self.default_os = str(back_distro)
+ self.back_os = self.default_os
+ self.front_os = str(front_distro)
+
+ self.add_operating_system(self.back_os, back_distro)
+ self.add_operating_system(self.front_os, front_distro)
+
+ @classmethod
+ def setup_platform_environment(self, pkg, env):
+ """ Change the linker to default dynamic to be more
+ similar to linux/standard linker behavior
+ """
+ env.set('CRAYPE_LINK_TYPE', 'dynamic')
+ cray_wrapper_names = join_path(spack.build_env_path, 'cray')
+ if os.path.isdir(cray_wrapper_names):
+ env.prepend_path('PATH', cray_wrapper_names)
+ env.prepend_path('SPACK_ENV_PATHS', cray_wrapper_names)
+
+ @classmethod
+ def detect(self):
+ return os.environ.get('CRAYPE_VERSION') is not None
diff --git a/lib/spack/spack/platforms/cray_xc.py b/lib/spack/spack/platforms/cray_xc.py
deleted file mode 100644
index 03d0383cc5..0000000000
--- a/lib/spack/spack/platforms/cray_xc.py
+++ /dev/null
@@ -1,72 +0,0 @@
-import os
-import spack
-from spack.architecture import Platform, Target
-from spack.operating_systems.linux_distro import LinuxDistro
-from spack.operating_systems.cnl import Cnl
-from spack.util.executable import which
-from llnl.util.filesystem import join_path
-
-
-class CrayXc(Platform):
- priority = 20
- front_end = 'sandybridge'
- back_end = 'ivybridge'
- default = 'ivybridge'
-
- back_os = "CNL10"
- default_os = "CNL10"
-
- def __init__(self):
- ''' Since cori doesn't have ivybridge as a front end it's better
- if we use CRAY_CPU_TARGET as the default. This will ensure
- that if we're on a XC-40 or XC-30 then we can detect the target
- '''
- super(CrayXc, self).__init__('cray_xc')
-
- # Handle the default here so we can check for a key error
- if 'CRAY_CPU_TARGET' in os.environ:
- self.default = os.environ['CRAY_CPU_TARGET']
-
- # Change the defaults to haswell if we're on an XC40
- if self.default == 'haswell':
- self.front_end = self.default
- self.back_end = self.default
-
- # Could switch to use modules and fe targets for front end
- # Currently using compilers by path for front end.
- self.add_target('sandybridge', Target('sandybridge'))
- self.add_target('ivybridge',
- Target('ivybridge', 'craype-ivybridge'))
- self.add_target('haswell',
- Target('haswell', 'craype-haswell'))
-
- # Front end of the cray platform is a linux distro.
- linux_dist = LinuxDistro()
- self.front_os = str(linux_dist)
- self.add_operating_system(str(linux_dist), linux_dist)
- self.add_operating_system('CNL10', Cnl())
-
- @classmethod
- def setup_platform_environment(self, pkg, env):
- """ Change the linker to default dynamic to be more
- similar to linux/standard linker behavior
- """
- env.set('CRAYPE_LINK_TYPE', 'dynamic')
- cray_wrapper_names = join_path(spack.build_env_path, 'cray')
- if os.path.isdir(cray_wrapper_names):
- env.prepend_path('PATH', cray_wrapper_names)
- env.prepend_path('SPACK_ENV_PATHS', cray_wrapper_names)
-
- @classmethod
- def detect(self):
- try:
- cc_verbose = which('ftn')
- text = cc_verbose('-craype-verbose',
- output=str, error=str,
- ignore_errors=True).split()
- if '-D__CRAYXC' in text:
- return True
- else:
- return False
- except:
- return False
diff --git a/lib/spack/spack/preferred_packages.py b/lib/spack/spack/preferred_packages.py
index 5f18e212b6..f079c1ef8b 100644
--- a/lib/spack/spack/preferred_packages.py
+++ b/lib/spack/spack/preferred_packages.py
@@ -162,8 +162,8 @@ class PreferredPackages(object):
"""Return a VariantMap of preferred variants and their values"""
variants = self.preferred.get(pkgname, {}).get('variants', '')
if not isinstance(variants, basestring):
- variants = "".join(variants)
- return spack.spec.Spec(pkgname + variants).variants
+ variants = " ".join(variants)
+ return spack.spec.Spec("%s %s" % (pkgname, variants)).variants
def version_compare(self, pkgname, a, b):
"""Return less-than-0, 0, or greater than 0 if version a of pkgname is
diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py
index 8bdae0445e..c6277fc8d2 100644
--- a/lib/spack/spack/spec.py
+++ b/lib/spack/spack/spec.py
@@ -95,32 +95,30 @@ thing. Spack uses ~variant in directory names and in the canonical form of
specs to avoid ambiguity. Both are provided because ~ can cause shell
expansion when it is the first character in an id typed on the command line.
"""
-import sys
-import hashlib
import base64
+import hashlib
import imp
+import sys
from StringIO import StringIO
from operator import attrgetter
-import yaml
-from yaml.error import MarkedYAMLError
import llnl.util.tty as tty
-from llnl.util.lang import *
-from llnl.util.tty.color import *
-from llnl.util.filesystem import join_path
-
import spack
import spack.architecture
-import spack.parse
-import spack.error
import spack.compilers as compilers
-
-from spack.version import *
-from spack.util.string import *
-from spack.util.prefix import Prefix
+import spack.error
+import spack.parse
+import yaml
+from llnl.util.filesystem import join_path
+from llnl.util.lang import *
+from llnl.util.tty.color import *
+from spack.build_environment import get_path_from_module, load_module
from spack.util.naming import mod_to_class
+from spack.util.prefix import Prefix
+from spack.util.string import *
+from spack.version import *
from spack.virtual import ProviderIndex
-from spack.build_environment import get_path_from_module, load_module
+from yaml.error import MarkedYAMLError
# Valid pattern for an identifier in Spack
identifier_re = r'\w[\w-]*'
@@ -161,19 +159,6 @@ special_types = {
}
-def index_specs(specs):
- """Take a list of specs and return a dict of lists. Dict is
- keyed by spec name and lists include all specs with the
- same name.
- """
- spec_dict = {}
- for spec in specs:
- if spec.name not in spec_dict:
- spec_dict[spec.name] = []
- spec_dict[spec.name].append(spec)
- return spec_dict
-
-
def colorize_spec(spec):
"""Returns a spec colorized according to the colors specified in
color_formats."""
@@ -1036,7 +1021,7 @@ class Spec(object):
"""
try:
yfile = yaml.load(stream)
- except MarkedYAMLError, e:
+ except MarkedYAMLError as e:
raise SpackYAMLError("error parsing YAML spec:", str(e))
nodes = yfile['spec']
@@ -1350,7 +1335,7 @@ class Spec(object):
return flat_deps
- except UnsatisfiableSpecError, e:
+ except UnsatisfiableSpecError as e:
# Here, the DAG contains two instances of the same package
# with inconsistent constraints. Users cannot produce
# inconsistent specs like this on the command line: the
@@ -1385,7 +1370,7 @@ class Spec(object):
dep = Spec(name)
try:
dep.constrain(dep_spec)
- except UnsatisfiableSpecError, e:
+ except UnsatisfiableSpecError as e:
e.message = ("Conflicting conditional dependencies on"
"package %s for spec %s" % (self.name, self))
raise e
@@ -1471,7 +1456,7 @@ class Spec(object):
try:
changed |= spec_deps[dep.name].spec.constrain(dep)
- except UnsatisfiableSpecError, e:
+ except UnsatisfiableSpecError as e:
e.message = "Invalid spec: '%s'. "
e.message += "Package %s requires %s %s, but spec asked for %s"
e.message %= (spec_deps[dep.name].spec, dep.name,
@@ -2405,7 +2390,7 @@ class SpecParser(spack.parse.Parser):
# errors now?
specs.append(self.spec(None, True))
- except spack.parse.ParseError, e:
+ except spack.parse.ParseError as e:
raise SpecParseError(e)
# If the spec has an os or a target and no platform, give it
@@ -2850,4 +2835,4 @@ class AmbiguousHashError(SpecError):
def __init__(self, msg, *specs):
super(AmbiguousHashError, self).__init__(msg)
for spec in specs:
- print ' ', spec.format('$.$@$%@+$+$=$#')
+ print(' ', spec.format('$.$@$%@+$+$=$#'))
diff --git a/lib/spack/spack/stage.py b/lib/spack/spack/stage.py
index b08cce43b8..553c4ad05f 100644
--- a/lib/spack/spack/stage.py
+++ b/lib/spack/spack/stage.py
@@ -37,6 +37,7 @@ import spack
import spack.config
import spack.fetch_strategy as fs
import spack.error
+from spack.version import *
STAGE_PREFIX = 'spack-stage-'
@@ -51,10 +52,12 @@ class Stage(object):
lifecycle looks like this:
```
- with Stage() as stage: # Context manager creates and destroys the stage directory
+ with Stage() as stage: # Context manager creates and destroys the
+ # stage directory
stage.fetch() # Fetch a source archive into the stage.
stage.expand_archive() # Expand the source archive.
- <install> # Build and install the archive. (handled by user of Stage)
+ <install> # Build and install the archive. (handled by
+ # user of Stage)
```
When used as a context manager, the stage is automatically
@@ -71,7 +74,8 @@ class Stage(object):
stage.create() # Explicitly create the stage directory.
stage.fetch() # Fetch a source archive into the stage.
stage.expand_archive() # Expand the source archive.
- <install> # Build and install the archive. (handled by user of Stage)
+ <install> # Build and install the archive. (handled by
+ # user of Stage)
finally:
stage.destroy() # Explicitly destroy the stage directory.
```
@@ -120,13 +124,17 @@ class Stage(object):
elif isinstance(url_or_fetch_strategy, fs.FetchStrategy):
self.fetcher = url_or_fetch_strategy
else:
- raise ValueError("Can't construct Stage without url or fetch strategy")
+ raise ValueError(
+ "Can't construct Stage without url or fetch strategy")
self.fetcher.set_stage(self)
- self.default_fetcher = self.fetcher # self.fetcher can change with mirrors.
- self.skip_checksum_for_mirror = True # used for mirrored archives of repositories.
+ # self.fetcher can change with mirrors.
+ self.default_fetcher = self.fetcher
+ # used for mirrored archives of repositories.
+ self.skip_checksum_for_mirror = True
- # TODO : this uses a protected member of tempfile, but seemed the only way to get a temporary name
- # TODO : besides, the temporary link name won't be the same as the temporary stage area in tmp_root
+ # TODO : this uses a protected member of tempfile, but seemed the only
+ # TODO : way to get a temporary name besides, the temporary link name
+ # TODO : won't be the same as the temporary stage area in tmp_root
self.name = name
if name is None:
self.name = STAGE_PREFIX + next(tempfile._get_candidate_names())
@@ -143,7 +151,6 @@ class Stage(object):
# Flag to decide whether to delete the stage folder on exit or not
self.keep = keep
-
def __enter__(self):
"""
Entering a stage context will create the stage directory
@@ -154,7 +161,6 @@ class Stage(object):
self.create()
return self
-
def __exit__(self, exc_type, exc_val, exc_tb):
"""
Exiting from a stage context will delete the stage directory unless:
@@ -173,12 +179,10 @@ class Stage(object):
if exc_type is None and not self.keep:
self.destroy()
-
def _need_to_create_path(self):
"""Makes sure nothing weird has happened since the last time we
looked at path. Returns True if path already exists and is ok.
- Returns False if path needs to be created.
- """
+ Returns False if path needs to be created."""
# Path doesn't exist yet. Will need to create it.
if not os.path.exists(self.path):
return True
@@ -196,7 +200,8 @@ class Stage(object):
if spack.use_tmp_stage:
# If we're using a tmp dir, it's a link, and it points at the
# right spot, then keep it.
- if (real_path.startswith(real_tmp) and os.path.exists(real_path)):
+ if (real_path.startswith(real_tmp) and
+ os.path.exists(real_path)):
return False
else:
# otherwise, just unlink it and start over.
@@ -204,7 +209,8 @@ class Stage(object):
return True
else:
- # If we're not tmp mode, then it's a link and we want a directory.
+ # If we're not tmp mode, then it's a link and we want a
+ # directory.
os.unlink(self.path)
return True
@@ -215,10 +221,12 @@ class Stage(object):
"""Possible archive file paths."""
paths = []
if isinstance(self.fetcher, fs.URLFetchStrategy):
- paths.append(os.path.join(self.path, os.path.basename(self.fetcher.url)))
+ paths.append(os.path.join(
+ self.path, os.path.basename(self.fetcher.url)))
if self.mirror_path:
- paths.append(os.path.join(self.path, os.path.basename(self.mirror_path)))
+ paths.append(os.path.join(
+ self.path, os.path.basename(self.mirror_path)))
return paths
@@ -227,10 +235,12 @@ class Stage(object):
"""Path to the source archive within this stage directory."""
paths = []
if isinstance(self.fetcher, fs.URLFetchStrategy):
- paths.append(os.path.join(self.path, os.path.basename(self.fetcher.url)))
+ paths.append(os.path.join(
+ self.path, os.path.basename(self.fetcher.url)))
if self.mirror_path:
- paths.append(os.path.join(self.path, os.path.basename(self.mirror_path)))
+ paths.append(os.path.join(
+ self.path, os.path.basename(self.mirror_path)))
for path in paths:
if os.path.exists(path):
@@ -262,7 +272,8 @@ class Stage(object):
return None
def chdir(self):
- """Changes directory to the stage path. Or dies if it is not set up."""
+ """Changes directory to the stage path. Or dies if it is not set
+ up."""
if os.path.isdir(self.path):
os.chdir(self.path)
else:
@@ -306,6 +317,20 @@ class Stage(object):
fetchers.insert(0, fs.URLFetchStrategy(url, digest))
fetchers.insert(0, spack.cache.fetcher(self.mirror_path, digest))
+ # Look for the archive in list_url
+ package_name = os.path.dirname(self.mirror_path)
+ pkg = spack.repo.get(package_name)
+ if pkg.list_url is not None and pkg.url is not None:
+ archive_version = spack.url.parse_version(
+ self.default_fetcher.url)
+ versions = pkg.fetch_remote_versions()
+ try:
+ url_from_list = versions[Version(archive_version)]
+ fetchers.append(fs.URLFetchStrategy(url_from_list, digest))
+ except KeyError:
+ tty.msg("Can not find version %s in url_list" %
+ archive_version)
+
for fetcher in fetchers:
try:
fetcher.set_stage(self)
@@ -321,11 +346,11 @@ class Stage(object):
self.fetcher = self.default_fetcher
raise fs.FetchError(errMessage, None)
-
def check(self):
"""Check the downloaded archive against a checksum digest.
No-op if this stage checks code out of a repository."""
- if self.fetcher is not self.default_fetcher and self.skip_checksum_for_mirror:
+ if self.fetcher is not self.default_fetcher and \
+ self.skip_checksum_for_mirror:
tty.warn("Fetching from mirror without a checksum!",
"This package is normally checked out from a version "
"control system, but it has been archived on a spack "
@@ -335,16 +360,13 @@ class Stage(object):
else:
self.fetcher.check()
-
def cache_local(self):
spack.cache.store(self.fetcher, self.mirror_path)
-
def expand_archive(self):
"""Changes to the stage directory and attempt to expand the downloaded
- archive. Fail if the stage is not set up or if the archive is not yet
- downloaded.
- """
+ archive. Fail if the stage is not set up or if the archive is not yet
+ downloaded."""
archive_dir = self.source_path
if not archive_dir:
self.fetcher.expand()
@@ -386,8 +408,8 @@ class Stage(object):
# Create the top-level stage directory
mkdirp(spack.stage_path)
remove_dead_links(spack.stage_path)
- # If a tmp_root exists then create a directory there and then link it in the stage area,
- # otherwise create the stage directory in self.path
+ # If a tmp_root exists then create a directory there and then link it
+ # in the stage area, otherwise create the stage directory in self.path
if self._need_to_create_path():
if self.tmp_root:
tmp_dir = tempfile.mkdtemp('', STAGE_PREFIX, self.tmp_root)
@@ -409,6 +431,7 @@ class Stage(object):
class ResourceStage(Stage):
+
def __init__(self, url_or_fetch_strategy, root, resource, **kwargs):
super(ResourceStage, self).__init__(url_or_fetch_strategy, **kwargs)
self.root_stage = root
@@ -418,12 +441,15 @@ class ResourceStage(Stage):
super(ResourceStage, self).expand_archive()
root_stage = self.root_stage
resource = self.resource
- placement = os.path.basename(self.source_path) if resource.placement is None else resource.placement
+ placement = os.path.basename(self.source_path) \
+ if resource.placement is None \
+ else resource.placement
if not isinstance(placement, dict):
placement = {'': placement}
# Make the paths in the dictionary absolute and link
for key, value in placement.iteritems():
- target_path = join_path(root_stage.source_path, resource.destination)
+ target_path = join_path(
+ root_stage.source_path, resource.destination)
destination_path = join_path(target_path, value)
source_path = join_path(self.source_path, key)
@@ -437,21 +463,23 @@ class ResourceStage(Stage):
if not os.path.exists(destination_path):
# Create a symlink
- tty.info('Moving resource stage\n\tsource : {stage}\n\tdestination : {destination}'.format(
- stage=source_path, destination=destination_path
- ))
+ tty.info('Moving resource stage\n\tsource : '
+ '{stage}\n\tdestination : {destination}'.format(
+ stage=source_path, destination=destination_path
+ ))
shutil.move(source_path, destination_path)
-@pattern.composite(method_list=['fetch', 'create', 'check', 'expand_archive', 'restage', 'destroy', 'cache_local'])
+@pattern.composite(method_list=['fetch', 'create', 'check', 'expand_archive',
+ 'restage', 'destroy', 'cache_local'])
class StageComposite:
- """
- Composite for Stage type objects. The first item in this composite is considered to be the root package, and
- operations that return a value are forwarded to it.
- """
+ """Composite for Stage type objects. The first item in this composite is
+ considered to be the root package, and operations that return a value are
+ forwarded to it."""
#
# __enter__ and __exit__ delegate to all stages in the composite.
#
+
def __enter__(self):
for item in self:
item.__enter__()
@@ -496,8 +524,11 @@ class DIYStage(object):
raise ChdirError("Setup failed: no such directory: " + self.path)
# DIY stages do nothing as context managers.
- def __enter__(self): pass
- def __exit__(self, exc_type, exc_val, exc_tb): pass
+ def __enter__(self):
+ pass
+
+ def __exit__(self, exc_type, exc_val, exc_tb):
+ pass
def chdir_to_source(self):
self.chdir()
diff --git a/lib/spack/spack/test/__init__.py b/lib/spack/spack/test/__init__.py
index a849d5f350..3439764ee6 100644
--- a/lib/spack/spack/test/__init__.py
+++ b/lib/spack/spack/test/__init__.py
@@ -39,9 +39,9 @@ test_names = [
'pattern', 'python_version', 'git_fetch', 'svn_fetch', 'hg_fetch',
'mirror', 'modules', 'url_extrapolate', 'cc', 'link_tree', 'spec_yaml',
'optional_deps', 'make_executable', 'build_system_guess', 'lock',
- 'database', 'namespace_trie', 'yaml', 'sbang', 'environment', 'cmd.find',
- 'cmd.uninstall', 'cmd.test_install', 'cmd.test_compiler_cmd',
- 'cmd.module'
+ 'database', 'namespace_trie', 'yaml', 'sbang', 'environment',
+ 'concretize_preferences', 'cmd.find', 'cmd.uninstall', 'cmd.test_install',
+ 'cmd.test_compiler_cmd', 'cmd.module'
]
diff --git a/lib/spack/spack/test/architecture.py b/lib/spack/spack/test/architecture.py
index 09bdb021af..42dd9f4c04 100644
--- a/lib/spack/spack/test/architecture.py
+++ b/lib/spack/spack/test/architecture.py
@@ -31,7 +31,7 @@ import platform as py_platform
import spack
import spack.architecture
from spack.spec import *
-from spack.platforms.cray_xc import CrayXc
+from spack.platforms.cray import Cray
from spack.platforms.linux import Linux
from spack.platforms.bgq import Bgq
from spack.platforms.darwin import Darwin
@@ -76,7 +76,7 @@ class ArchitectureTest(MockPackagesTest):
def test_platform(self):
output_platform_class = spack.architecture.platform()
if os.path.exists('/opt/cray/craype'):
- my_platform_class = CrayXc()
+ my_platform_class = Cray()
elif os.path.exists('/bgsys'):
my_platform_class = Bgq()
elif 'Linux' in py_platform.system():
diff --git a/lib/spack/spack/test/cmd/test_install.py b/lib/spack/spack/test/cmd/test_install.py
index a94d3c8bba..39287d5d6d 100644
--- a/lib/spack/spack/test/cmd/test_install.py
+++ b/lib/spack/spack/test/cmd/test_install.py
@@ -22,18 +22,24 @@
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
+import StringIO
import collections
-from contextlib import contextmanager
+import os
+import unittest
+import contextlib
-import StringIO
+import spack
+import spack.cmd
FILE_REGISTRY = collections.defaultdict(StringIO.StringIO)
+
# Monkey-patch open to write module files to a StringIO instance
-@contextmanager
+@contextlib.contextmanager
def mock_open(filename, mode):
if not mode == 'wb':
- raise RuntimeError('test.test_install : unexpected opening mode for monkey-patched open')
+ message = 'test.test_install : unexpected opening mode for mock_open'
+ raise RuntimeError(message)
FILE_REGISTRY[filename] = StringIO.StringIO()
@@ -44,19 +50,14 @@ def mock_open(filename, mode):
FILE_REGISTRY[filename] = handle.getvalue()
handle.close()
-import os
-import itertools
-import unittest
-
-import spack
-import spack.cmd
-
-# The use of __import__ is necessary to maintain a name with hyphen (which cannot be an identifier in python)
+# The use of __import__ is necessary to maintain a name with hyphen (which
+# cannot be an identifier in python)
test_install = __import__("spack.cmd.test-install", fromlist=['test_install'])
class MockSpec(object):
+
def __init__(self, name, version, hashStr=None):
self._dependencies = {}
self.name = name
@@ -88,10 +89,6 @@ class MockSpec(object):
for _, spec in self._dependencies.items():
yield spec.spec
yield self
- #from_iterable = itertools.chain.from_iterable
- #allDeps = from_iterable(i.traverse()
- # for i in self.dependencies())
- #return set(itertools.chain([self], allDeps))
def dag_hash(self):
return self.hash
@@ -102,6 +99,7 @@ class MockSpec(object):
class MockPackage(object):
+
def __init__(self, spec, buildLogPath):
self.name = spec.name
self.spec = spec
@@ -113,6 +111,7 @@ class MockPackage(object):
class MockPackageDb(object):
+
def __init__(self, init=None):
self.specToPkg = {}
if init:
@@ -133,6 +132,7 @@ pkgY = MockPackage(specY, 'logY')
class MockArgs(object):
+
def __init__(self, package):
self.package = package
self.jobs = None
@@ -168,7 +168,7 @@ class TestInstallTest(unittest.TestCase):
test_install.open = mock_open
# Clean FILE_REGISTRY
- FILE_REGISTRY = collections.defaultdict(StringIO.StringIO)
+ FILE_REGISTRY.clear()
pkgX.installed = False
pkgY.installed = False
@@ -194,7 +194,7 @@ class TestInstallTest(unittest.TestCase):
spack.repo = self.saved_db
def test_installing_both(self):
- test_install.test_install(None, MockArgs('X') )
+ test_install.test_install(None, MockArgs('X'))
self.assertEqual(len(FILE_REGISTRY), 1)
for _, content in FILE_REGISTRY.items():
self.assertTrue('tests="2"' in content)
@@ -210,4 +210,5 @@ class TestInstallTest(unittest.TestCase):
self.assertTrue('tests="2"' in content)
self.assertTrue('failures="0"' in content)
self.assertTrue('errors="0"' in content)
- self.assertEqual(sum('skipped' in line for line in content.split('\n')), 2)
+ self.assertEqual(
+ sum('skipped' in line for line in content.split('\n')), 2)
diff --git a/lib/spack/spack/test/concretize_preferences.py b/lib/spack/spack/test/concretize_preferences.py
new file mode 100644
index 0000000000..2c8bedc33f
--- /dev/null
+++ b/lib/spack/spack/test/concretize_preferences.py
@@ -0,0 +1,106 @@
+##############################################################################
+# 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
+##############################################################################
+import spack
+import spack.architecture
+from spack.test.mock_packages_test import *
+from tempfile import mkdtemp
+
+
+class ConcretizePreferencesTest(MockPackagesTest):
+ """Test concretization preferences are being applied correctly.
+ """
+
+ def setUp(self):
+ """Create config section to store concretization preferences
+ """
+ super(ConcretizePreferencesTest, self).setUp()
+ self.tmp_dir = mkdtemp('.tmp', 'spack-config-test-')
+ spack.config.ConfigScope('concretize',
+ os.path.join(self.tmp_dir, 'concretize'))
+
+ def tearDown(self):
+ super(ConcretizePreferencesTest, self).tearDown()
+ shutil.rmtree(self.tmp_dir, True)
+ spack.pkgsort = spack.PreferredPackages()
+
+ def concretize(self, abstract_spec):
+ return Spec(abstract_spec).concretized()
+
+ def update_packages(self, pkgname, section, value):
+ """Update config and reread package list"""
+ conf = {pkgname: {section: value}}
+ spack.config.update_config('packages', conf, 'concretize')
+ spack.pkgsort = spack.PreferredPackages()
+
+ def assert_variant_values(self, spec, **variants):
+ concrete = self.concretize(spec)
+ for variant, value in variants.items():
+ self.assertEqual(concrete.variants[variant].value, value)
+
+ def test_preferred_variants(self):
+ """Test preferred variants are applied correctly
+ """
+ self.update_packages('mpileaks', 'variants',
+ '~debug~opt+shared+static')
+ self.assert_variant_values('mpileaks', debug=False, opt=False,
+ shared=True, static=True)
+
+ self.update_packages('mpileaks', 'variants',
+ ['+debug', '+opt', '~shared', '-static'])
+ self.assert_variant_values('mpileaks', debug=True, opt=True,
+ shared=False, static=False)
+
+ def test_preferred_compilers(self):
+ """Test preferred compilers are applied correctly
+ """
+ self.update_packages('mpileaks', 'compiler', ['clang@3.3'])
+ spec = self.concretize('mpileaks')
+ self.assertEqual(spec.compiler, spack.spec.CompilerSpec('clang@3.3'))
+
+ self.update_packages('mpileaks', 'compiler', ['gcc@4.5.0'])
+ spec = self.concretize('mpileaks')
+ self.assertEqual(spec.compiler, spack.spec.CompilerSpec('gcc@4.5.0'))
+
+ def test_preferred_versions(self):
+ """Test preferred package versions are applied correctly
+ """
+ self.update_packages('mpileaks', 'version', ['2.3'])
+ spec = self.concretize('mpileaks')
+ self.assertEqual(spec.version, spack.spec.Version('2.3'))
+
+ self.update_packages('mpileaks', 'version', ['2.2'])
+ spec = self.concretize('mpileaks')
+ self.assertEqual(spec.version, spack.spec.Version('2.2'))
+
+ def test_preferred_providers(self):
+ """Test preferred providers of virtual packages are applied correctly
+ """
+ self.update_packages('all', 'providers', {'mpi': ['mpich']})
+ spec = self.concretize('mpileaks')
+ self.assertTrue('mpich' in spec)
+
+ self.update_packages('all', 'providers', {'mpi': ['zmpi']})
+ spec = self.concretize('mpileaks')
+ self.assertTrue('zmpi', spec)
diff --git a/share/spack/qa/run-unit-tests b/share/spack/qa/run-unit-tests
new file mode 100755
index 0000000000..33fb1bfae2
--- /dev/null
+++ b/share/spack/qa/run-unit-tests
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+#
+# This script runs Spack unit tests.
+#
+# It should be executed from the top-level directory of the repo,
+# e.g.:
+#
+# share/spack/qa/run-unit-tests
+#
+# To run it, you'll need to have the Python coverage installed locally.
+#
+
+# Regular spack setup and tests
+. ./share/spack/setup-env.sh
+spack compilers
+spack config get compilers
+spack install -v libdwarf
+
+# Run unit tests with code coverage
+coverage run bin/spack test
diff --git a/var/spack/repos/builtin.mock/packages/mpileaks/package.py b/var/spack/repos/builtin.mock/packages/mpileaks/package.py
index bc26f539ba..10fbf3845e 100644
--- a/var/spack/repos/builtin.mock/packages/mpileaks/package.py
+++ b/var/spack/repos/builtin.mock/packages/mpileaks/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Mpileaks(Package):
homepage = "http://www.llnl.gov"
url = "http://www.llnl.gov/mpileaks-1.0.tar.gz"
@@ -35,6 +36,8 @@ class Mpileaks(Package):
variant('debug', default=False, description='Debug variant')
variant('opt', default=False, description='Optimized variant')
+ variant('shared', default=True, description='Build shared library')
+ variant('static', default=True, description='Build static library')
depends_on("mpi")
depends_on("callpath")
diff --git a/var/spack/repos/builtin/packages/R/package.py b/var/spack/repos/builtin/packages/R/package.py
index ad06c2ca48..e880a3aa66 100644
--- a/var/spack/repos/builtin/packages/R/package.py
+++ b/var/spack/repos/builtin/packages/R/package.py
@@ -22,10 +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
##############################################################################
-import os
-
from spack import *
from spack.util.environment import *
+import shutil
class R(Package):
@@ -74,6 +73,10 @@ class R(Package):
depends_on('pcre')
depends_on('jdk')
+ @property
+ def etcdir(self):
+ return join_path(prefix, 'rlib', 'R', 'etc')
+
def install(self, spec, prefix):
rlibdir = join_path(prefix, 'rlib')
configure_args = ['--prefix=%s' % prefix,
@@ -88,6 +91,12 @@ class R(Package):
make()
make('install')
+ # Make a copy of Makeconf because it will be needed to properly build R
+ # dependencies in Spack.
+ src_makeconf = join_path(self.etcdir, 'Makeconf')
+ dst_makeconf = join_path(self.etcdir, 'Makeconf.spack')
+ shutil.copy(src_makeconf, dst_makeconf)
+
self.filter_compilers(spec, prefix)
def filter_compilers(self, spec, prefix):
@@ -98,18 +107,16 @@ class R(Package):
cc and c++. We want them to be bound to whatever compiler
they were built with."""
- etcdir = join_path(prefix, 'rlib', 'R', 'etc')
-
kwargs = {'ignore_absent': True, 'backup': False, 'string': True}
- filter_file(env['CC'], self.compiler.cc,
- join_path(etcdir, 'Makeconf'), **kwargs)
+ filter_file(env['CC'], self.compiler.cc,
+ join_path(self.etcdir, 'Makeconf'), **kwargs)
filter_file(env['CXX'], self.compiler.cxx,
- join_path(etcdir, 'Makeconf'), **kwargs)
+ join_path(self.etcdir, 'Makeconf'), **kwargs)
filter_file(env['F77'], self.compiler.f77,
- join_path(etcdir, 'Makeconf'), **kwargs)
+ join_path(self.etcdir, 'Makeconf'), **kwargs)
filter_file(env['FC'], self.compiler.fc,
- join_path(etcdir, 'Makeconf'), **kwargs)
+ join_path(self.etcdir, 'Makeconf'), **kwargs)
# ========================================================================
# Set up environment to make install easy for R extensions.
@@ -117,7 +124,7 @@ class R(Package):
@property
def r_lib_dir(self):
- return os.path.join('rlib', 'R', 'library')
+ return join_path('rlib', 'R', 'library')
def setup_dependent_environment(self, spack_env, run_env, extension_spec):
# Set R_LIBS to include the library dir for the
@@ -125,15 +132,21 @@ class R(Package):
r_libs_path = []
for d in extension_spec.traverse(deptype=nolink, deptype_query='run'):
if d.package.extends(self.spec):
- r_libs_path.append(os.path.join(d.prefix, self.r_lib_dir))
+ r_libs_path.append(join_path(d.prefix, self.r_lib_dir))
r_libs_path = ':'.join(r_libs_path)
spack_env.set('R_LIBS', r_libs_path)
+ spack_env.set('R_MAKEVARS_SITE',
+ join_path(self.etcdir, 'Makeconf.spack'))
+
+ # Use the number of make_jobs set in spack. The make program will
+ # determine how many jobs can actually be started.
+ spack_env.set('MAKEFLAGS', '-j{0}'.format(make_jobs))
# For run time environment set only the path for extension_spec and
# prepend it to R_LIBS
if extension_spec.package.extends(self.spec):
- run_env.prepend_path('R_LIBS', os.path.join(
+ run_env.prepend_path('R_LIBS', join_path(
extension_spec.prefix, self.r_lib_dir))
def setup_environment(self, spack_env, run_env):
@@ -147,13 +160,14 @@ class R(Package):
def setup_dependent_package(self, module, ext_spec):
"""Called before R modules' install() methods. In most cases,
extensions will only need to have one line:
- R('CMD', 'INSTALL', '--library=%s' % self.module.r_lib_dir, '%s' %
- self.stage.source_path)"""
+ R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
+ self.stage.source_path)"""
+
# R extension builds can have a global R executable function
module.R = Executable(join_path(self.spec.prefix.bin, 'R'))
# Add variable for library directry
- module.r_lib_dir = os.path.join(ext_spec.prefix, self.r_lib_dir)
+ module.r_lib_dir = join_path(ext_spec.prefix, self.r_lib_dir)
# Make the site packages directory for extensions, if it does not exist
# already.
diff --git a/var/spack/repos/builtin/packages/ack/package.py b/var/spack/repos/builtin/packages/ack/package.py
new file mode 100644
index 0000000000..70249aebac
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ack/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 Ack(Package):
+ """ack 2.14 is a tool like grep, optimized for programmers.
+
+ Designed for programmers with large heterogeneous trees of
+ source code, ack is written purely in portable Perl 5 and takes
+ advantage of the power of Perl's regular expressions."""
+
+ homepage = "http://beyondgrep.com/"
+ url = "http://beyondgrep.com/ack-2.14-single-file"
+
+ version('2.14', 'e74150a1609d28a70b450ef9cc2ed56b', expand=False)
+
+ depends_on('perl')
+
+ def install(self, spec, prefix):
+ mkdirp(prefix.bin)
+ ack = 'ack-{0}-single-file'.format(self.version)
+
+ # rewrite the script's #! line to call the perl dependency
+ shbang = '#!' + join_path(spec['perl'].prefix.bin, 'perl')
+ filter_file(r'^#!/usr/bin/env perl', shbang, ack)
+
+ install(ack, join_path(prefix.bin, "ack"))
+ set_executable(join_path(prefix.bin, "ack"))
diff --git a/var/spack/repos/builtin/packages/arpack-ng/package.py b/var/spack/repos/builtin/packages/arpack-ng/package.py
index d5dc703c06..2874930cdd 100644
--- a/var/spack/repos/builtin/packages/arpack-ng/package.py
+++ b/var/spack/repos/builtin/packages/arpack-ng/package.py
@@ -86,10 +86,19 @@ class ArpackNg(Package):
options.extend(std_cmake_args)
options.append('-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % prefix)
- # TODO:
- # Arpack calls directly find_package(BLAS REQUIRED) and
- # find_package(LAPACK REQUIRED). Make sure correct Blas/Lapack are
- # picked up.
+ # Make sure we use Spack's blas/lapack:
+ options.extend([
+ '-DLAPACK_FOUND=true',
+ '-DLAPACK_INCLUDE_DIRS=%s' % spec['lapack'].prefix.include,
+ '-DLAPACK_LIBRARIES=%s' % (
+ spec['lapack'].lapack_shared_lib if '+shared' in spec else
+ spec['lapack'].lapack_static_lib),
+ '-DBLAS_FOUND=true',
+ '-DBLAS_INCLUDE_DIRS=%s' % spec['blas'].prefix.include,
+ '-DBLAS_LIBRARIES=%s' % (
+ spec['blas'].blas_shared_lib if '+shared' in spec else
+ spec['blas'].blas_static_lib)
+ ])
if '+mpi' in spec:
options.append('-DMPI=ON')
@@ -101,9 +110,8 @@ class ArpackNg(Package):
cmake('.', *options)
make()
- # TODO: make test does not work
- # make('test')
-
+ if self.run_tests:
+ make('test')
make('install')
@when('@3.3.0')
@@ -120,10 +128,23 @@ class ArpackNg(Package):
'F77=%s' % spec['mpi'].mpif77
])
- if '~shared' in spec:
- options.append('--enable-shared=no')
+ if '+shared' in spec:
+ options.extend([
+ '--with-blas=%s' % to_link_flags(
+ spec['blas'].blas_shared_lib),
+ '--with-lapack=%s' % to_link_flags(
+ spec['lapack'].lapack_shared_lib)
+ ])
+ else:
+ options.extend([
+ '--with-blas=%s' % spec['blas'].blas_static_lib,
+ '--with-lapack=%s' % spec['lapack'].lapack_static_lib,
+ '--enable-shared=no'
+ ])
bootstrap()
configure(*options)
make()
+ if self.run_tests:
+ make('check')
make('install')
diff --git a/var/spack/repos/builtin/packages/atlas/package.py b/var/spack/repos/builtin/packages/atlas/package.py
index c43d92c34f..f9d5da6166 100644
--- a/var/spack/repos/builtin/packages/atlas/package.py
+++ b/var/spack/repos/builtin/packages/atlas/package.py
@@ -23,20 +23,24 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
+from spack.package_test import *
from spack.util.executable import Executable
import os.path
+
class Atlas(Package):
- """
- Automatically Tuned Linear Algebra Software, generic shared ATLAS is an approach for the automatic generation and
- optimization of numerical software. Currently ATLAS supplies optimized versions for the complete set of linear
- algebra kernels known as the Basic Linear Algebra Subroutines (BLAS), and a subset of the linear algebra routines
- in the LAPACK library.
+ """Automatically Tuned Linear Algebra Software, generic shared ATLAS is an
+ approach for the automatic generation and optimization of numerical
+ software. Currently ATLAS supplies optimized versions for the complete set
+ of linear algebra kernels known as the Basic Linear Algebra Subroutines
+ (BLAS), and a subset of the linear algebra routines in the LAPACK library.
"""
homepage = "http://math-atlas.sourceforge.net/"
version('3.10.2', 'a4e21f343dec8f22e7415e339f09f6da',
- url='http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.2/atlas3.10.2.tar.bz2', preferred=True)
+ url='https://sourceforge.net/projects/math-atlas/files/Stable/3.10.2/atlas3.10.2.tar.bz2', preferred=True)
+ # not all packages (e.g. Trilinos@12.6.3) stopped using deprecated in 3.6.0
+ # Lapack routines. Stick with 3.5.0 until this is fixed.
resource(name='lapack',
url='http://www.netlib.org/lapack/lapack-3.5.0.tgz',
md5='b1d3e3e425b2e44a06760ff173104bdf',
@@ -44,7 +48,7 @@ class Atlas(Package):
when='@3:')
version('3.11.34', '0b6c5389c095c4c8785fd0f724ec6825',
- url='http://sourceforge.net/projects/math-atlas/files/Developer%20%28unstable%29/3.11.34/atlas3.11.34.tar.bz2/download')
+ url='http://sourceforge.net/projects/math-atlas/files/Developer%20%28unstable%29/3.11.34/atlas3.11.34.tar.bz2')
variant('shared', default=True, description='Builds shared library')
@@ -66,9 +70,24 @@ class Atlas(Package):
options = []
if '+shared' in spec:
- options.append('--shared')
+ options.extend([
+ '--shared'
+ ])
+ # TODO: for non GNU add '-Fa', 'alg', '-fPIC' ?
+
+ # configure for 64-bit build
+ options.extend([
+ '-b', '64'
+ ])
- # Lapack resource
+ # set compilers:
+ options.extend([
+ '-C', 'ic', spack_cc,
+ '-C', 'if', spack_f77
+ ])
+
+ # Lapack resource to provide full lapack build. Note that
+ # ATLAS only provides a few LAPACK routines natively.
lapack_stage = self.stage[1]
lapack_tarfile = os.path.basename(lapack_stage.fetcher.url)
lapack_tarfile_path = join_path(lapack_stage.path, lapack_tarfile)
@@ -81,4 +100,35 @@ class Atlas(Package):
make('check')
make('ptcheck')
make('time')
+ if '+shared' in spec:
+ with working_dir('lib'):
+ make('shared_all')
+
make("install")
+ self.install_test()
+
+ def setup_dependent_package(self, module, dspec):
+ # libsatlas.[so,dylib,dll ] contains all serial APIs (serial lapack,
+ # serial BLAS), and all ATLAS symbols needed to support them. Whereas
+ # libtatlas.[so,dylib,dll ] is parallel (multithreaded) version.
+ name = 'libsatlas.%s' % dso_suffix
+ libdir = find_library_path(name,
+ self.prefix.lib64,
+ self.prefix.lib)
+
+ if '+shared' in self.spec:
+ self.spec.blas_shared_lib = join_path(libdir, name)
+ self.spec.lapack_shared_lib = self.spec.blas_shared_lib
+
+ def install_test(self):
+ source_file = join_path(os.path.dirname(self.module.__file__),
+ 'test_cblas_dgemm.c')
+ blessed_file = join_path(os.path.dirname(self.module.__file__),
+ 'test_cblas_dgemm.output')
+
+ include_flags = ["-I%s" % join_path(self.spec.prefix, "include")]
+ link_flags = ["-L%s" % join_path(self.spec.prefix, "lib"),
+ "-lsatlas"]
+
+ output = compile_c_and_execute(source_file, include_flags, link_flags)
+ compare_output_file(output, blessed_file)
diff --git a/var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.c b/var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.c
new file mode 100644
index 0000000000..2cb90fb883
--- /dev/null
+++ b/var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.c
@@ -0,0 +1,49 @@
+#include <cblas.h>
+#include <stdio.h>
+
+double m[] = {
+ 3, 1, 3,
+ 1, 5, 9,
+ 2, 6, 5
+};
+
+double x[] = {
+ -1, 3, -3
+};
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ void dgesv_(int *n, int *nrhs, double *a, int *lda,
+ int *ipivot, double *b, int *ldb, int *info);
+
+#ifdef __cplusplus
+}
+#endif
+
+int main(void) {
+ int i;
+ // blas:
+ double A[6] = {1.0, 2.0, 1.0, -3.0, 4.0, -1.0};
+ double B[6] = {1.0, 2.0, 1.0, -3.0, 4.0, -1.0};
+ double C[9] = {.5, .5, .5, .5, .5, .5, .5, .5, .5};
+ cblas_dgemm(CblasColMajor, CblasNoTrans, CblasTrans,
+ 3, 3, 2, 1, A, 3, B, 3, 2, C, 3);
+ for (i = 0; i < 9; i++)
+ printf("%f\n", C[i]);
+
+ // lapack:
+ int ipiv[3];
+ int j;
+ int info;
+ int n = 1;
+ int nrhs = 1;
+ int lda = 3;
+ int ldb = 3;
+ dgesv_(&n,&nrhs, &m[0], &lda, ipiv, &x[0], &ldb, &info);
+ for (i=0; i<3; ++i)
+ printf("%5.1f\n", x[i]);
+
+ return 0;
+}
diff --git a/var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.output b/var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.output
new file mode 100644
index 0000000000..01404462c4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/atlas/test_cblas_dgemm.output
@@ -0,0 +1,12 @@
+11.000000
+-9.000000
+5.000000
+-9.000000
+21.000000
+-1.000000
+5.000000
+-1.000000
+3.000000
+ -0.3
+ 3.0
+ -3.0
diff --git a/var/spack/repos/builtin/packages/cask/package.py b/var/spack/repos/builtin/packages/cask/package.py
new file mode 100644
index 0000000000..67cc48ab2a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cask/package.py
@@ -0,0 +1,53 @@
+##############################################################################
+# 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
+##############################################################################
+#
+# Based on Homebrew's formula:
+# https://github.com/Homebrew/homebrew-core/blob/master/Formula/cask.rb
+#
+from spack import *
+from glob import glob
+
+
+class Cask(Package):
+ """Cask is a project management tool for Emacs Lisp to automate the package
+ development cycle; development, dependencies, testing, building,
+ packaging and more."""
+ homepage = "http://cask.readthedocs.io/en/latest/"
+ url = "https://github.com/cask/cask/archive/v0.7.4.tar.gz"
+
+ version('0.7.4', 'c973a7db43bc980dd83759a5864a1260')
+
+ depends_on('emacs', type=nolink)
+
+ def install(self, spec, prefix):
+ mkdirp(prefix.bin)
+ install('bin/cask', prefix.bin)
+ install_tree('templates', join_path(prefix, 'templates'))
+ for el_file in glob("*.el"):
+ install(el_file, prefix)
+ for misc_file in ['COPYING', 'cask.png', 'README.md']:
+ install(misc_file, prefix)
+ # disable cask's automatic upgrading feature
+ touch(join_path(prefix, ".no-upgrade"))
diff --git a/var/spack/repos/builtin/packages/cp2k/package.py b/var/spack/repos/builtin/packages/cp2k/package.py
new file mode 100644
index 0000000000..8fdd1e0ca3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cp2k/package.py
@@ -0,0 +1,161 @@
+##############################################################################
+# 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
+##############################################################################
+import os
+import shutil
+import copy
+
+from spack import *
+
+
+class Cp2k(Package):
+ """CP2K is a quantum chemistry and solid state physics software package
+ that can perform atomistic simulations of solid state, liquid, molecular,
+ periodic, material, crystal, and biological systems
+ """
+ homepage = 'https://www.cp2k.org'
+ url = 'https://sourceforge.net/projects/cp2k/files/cp2k-3.0.tar.bz2'
+
+ version('3.0', 'c05bc47335f68597a310b1ed75601d35')
+
+ variant('mpi', default=True, description='Enable MPI support')
+
+ depends_on('python') # Build dependency
+
+ depends_on('lapack')
+ depends_on('blas')
+ depends_on('fftw')
+
+ depends_on('mpi', when='+mpi')
+ depends_on('scalapack', when='+mpi')
+
+ # TODO : add dependency on libint
+ # TODO : add dependency on libsmm, libxsmm
+ # TODO : add dependency on elpa
+ # TODO : add dependency on CUDA
+ # TODO : add dependency on PEXSI
+ # TODO : add dependency on QUIP
+ # TODO : add dependency on plumed
+ # TODO : add dependency on libwannier90
+
+ parallel = False
+
+ def install(self, spec, prefix):
+ # Construct a proper filename for the architecture file
+ cp2k_architecture = '{0.architecture}-{0.compiler.name}'.format(spec)
+ cp2k_version = 'sopt' if '~mpi' in spec else 'popt'
+ makefile_basename = '.'.join([cp2k_architecture, cp2k_version])
+ makefile = join_path('arch', makefile_basename)
+
+ # Write the custom makefile
+ with open(makefile, 'w') as mkf:
+ mkf.write('CC = {0.compiler.cc}\n'.format(self))
+ if '%intel' in self.spec:
+ # CPP is a commented command in Intel arch of CP2K
+ # This is the hack through which cp2k developers avoid doing :
+ #
+ # ${CPP} <file>.F > <file>.f90
+ #
+ # and use `-fpp` instead
+ mkf.write('CPP = # {0.compiler.cc} -P\n'.format(self))
+ mkf.write('AR = xiar -r\n')
+ else:
+ mkf.write('CPP = {0.compiler.cc} -E\n'.format(self))
+ mkf.write('AR = ar -r\n')
+ fc = self.compiler.fc if '~mpi' in spec else self.spec['mpi'].mpifc
+ mkf.write('FC = {0}\n'.format(fc))
+ mkf.write('LD = {0}\n'.format(fc))
+ # Optimization flags
+ optflags = {
+ 'gcc': ['-O2',
+ '-ffast-math',
+ '-ffree-form',
+ '-ffree-line-length-none',
+ '-ftree-vectorize',
+ '-funroll-loops',
+ '-mtune=native'],
+ 'intel': ['-O2',
+ '-pc64',
+ '-unroll',
+ '-heap-arrays 64']
+ }
+ cppflags = [
+ '-D__FFTW3',
+ '-I' + spec['fftw'].prefix.include
+ ]
+ fcflags = copy.deepcopy(optflags[self.spec.compiler.name])
+ fcflags.extend([
+ '-I' + spec['fftw'].prefix.include
+ ])
+ ldflags = ['-L' + spec['fftw'].prefix.lib]
+ libs = []
+ # Intel
+ if '%intel' in self.spec:
+ cppflags.extend([
+ '-D__INTEL_COMPILER',
+ '-D__MKL'
+ ])
+ fcflags.extend([
+ '-diag-disable 8290,8291,10010,10212,11060',
+ '-free',
+ '-fpp'
+ ])
+ # MPI
+ if '+mpi' in self.spec:
+ cppflags.extend([
+ '-D__parallel',
+ '-D__SCALAPACK'
+ ])
+ ldflags.extend([
+ '-L' + spec['scalapack'].prefix.lib
+ ])
+ libs.extend(spec['scalapack'].scalapack_shared_libs)
+
+ # LAPACK / BLAS
+ ldflags.extend([
+ '-L' + spec['lapack'].prefix.lib,
+ '-L' + spec['blas'].prefix.lib
+ ])
+ libs.extend([
+ join_path(spec['fftw'].prefix.lib, 'libfftw3.so'),
+ spec['lapack'].lapack_shared_lib,
+ spec['blas'].blas_shared_lib
+ ])
+
+ # Write compiler flags to file
+ mkf.write('CPPFLAGS = {0}\n'.format(' '.join(cppflags)))
+ mkf.write('FCFLAGS = {0}\n'.format(' '.join(fcflags)))
+ mkf.write('LDFLAGS = {0}\n'.format(' '.join(ldflags)))
+ mkf.write('LIBS = {0}\n'.format(' '.join(libs)))
+
+ with working_dir('makefiles'):
+ # Apparently the Makefile bases its paths on PWD
+ # so we need to set PWD = os.getcwd()
+ pwd_backup = env['PWD']
+ env['PWD'] = os.getcwd()
+ make('ARCH={0}'.format(cp2k_architecture),
+ 'VERSION={0}'.format(cp2k_version))
+ env['PWD'] = pwd_backup
+ exe_dir = join_path('exe', cp2k_architecture)
+ shutil.copytree(exe_dir, self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/hypre/package.py b/var/spack/repos/builtin/packages/hypre/package.py
index 65fef57559..b339e068bf 100644
--- a/var/spack/repos/builtin/packages/hypre/package.py
+++ b/var/spack/repos/builtin/packages/hypre/package.py
@@ -62,10 +62,10 @@ class Hypre(Package):
'--prefix=%s' % prefix,
'--with-lapack-libs=%s' % to_lib_name(
spec['lapack'].lapack_shared_lib),
- '--with-lapack-lib-dirs=%s/lib' % spec['lapack'].prefix,
+ '--with-lapack-lib-dirs=%s' % spec['lapack'].prefix.lib,
'--with-blas-libs=%s' % to_lib_name(
spec['blas'].blas_shared_lib),
- '--with-blas-lib-dirs=%s/lib' % spec['blas'].prefix
+ '--with-blas-lib-dirs=%s' % spec['blas'].prefix.lib
]
if '+shared' in self.spec:
diff --git a/var/spack/repos/builtin/packages/jdk/package.py b/var/spack/repos/builtin/packages/jdk/package.py
index 593a6d8340..794966f1c3 100644
--- a/var/spack/repos/builtin/packages/jdk/package.py
+++ b/var/spack/repos/builtin/packages/jdk/package.py
@@ -25,7 +25,7 @@
#
# Author: Justin Too <too1@llnl.gov>
#
-import distutils
+import distutils.dir_util
import spack
from spack import *
diff --git a/var/spack/repos/builtin/packages/kdiff3/package.py b/var/spack/repos/builtin/packages/kdiff3/package.py
new file mode 100644
index 0000000000..48f4b9c379
--- /dev/null
+++ b/var/spack/repos/builtin/packages/kdiff3/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 Kdiff3(Package):
+ """Compare and merge 2 or 3 files or directories."""
+ homepage = "http://kdiff3.sourceforge.net/"
+ url = "https://downloads.sourceforge.net/project/kdiff3/kdiff3/0.9.98/kdiff3-0.9.98.tar.gz"
+
+ version('0.9.98', 'b52f99f2cf2ea75ed5719315cbf77446')
+
+ depends_on("qt@5.2.0:")
+
+ def install(self, spec, prefix):
+ # make is done inside
+ configure('qt4')
+
+ # there is no make install, bummer...
+ mkdirp(self.prefix.bin)
+ install(join_path(self.stage.source_path, 'releaseQt', 'kdiff3'),
+ self.prefix.bin)
diff --git a/var/spack/repos/builtin/packages/libhio/package.py b/var/spack/repos/builtin/packages/libhio/package.py
new file mode 100644
index 0000000000..17bd86d310
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libhio/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 Libhio(Package):
+ """
+ A library for writing to hierarchical data store systems.
+ """
+
+ homepage = "https://github.com/hpc/libhio/"
+ url = "https://github.com/hpc/libhio/releases/download/hio.1.3.0.1/libhio-1.3.0.1.tar.gz"
+
+ version('1.3.0.1', 'c073541de8dd70aeb8878bd00d6d877f')
+
+ depends_on("libjson-c")
+ depends_on("bzip2")
+ depends_on("pkg-config", type="build")
+
+ def install(self, spec, prefix):
+ configure('--prefix=%s' % prefix)
+ make()
+ make("install")
diff --git a/var/spack/repos/builtin/packages/libxau/package.py b/var/spack/repos/builtin/packages/libxau/package.py
index 55816ecdbd..b9215bc601 100644
--- a/var/spack/repos/builtin/packages/libxau/package.py
+++ b/var/spack/repos/builtin/packages/libxau/package.py
@@ -24,6 +24,7 @@
##############################################################################
from spack import *
+
class Libxau(Package):
"""The libXau package contains a library implementing the X11
Authorization Protocol. This is useful for restricting client
@@ -34,11 +35,10 @@ class Libxau(Package):
version('1.0.8', '685f8abbffa6d145c0f930f00703b21b')
depends_on('xproto')
+ depends_on('pkg-config', type='build')
def install(self, spec, prefix):
- # FIXME: Modify the configure line to suit your build system here.
configure('--prefix=%s' % prefix)
- # FIXME: Add logic to build and install here
make()
make("install")
diff --git a/var/spack/repos/builtin/packages/libxsmm/package.py b/var/spack/repos/builtin/packages/libxsmm/package.py
new file mode 100644
index 0000000000..a736490600
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libxsmm/package.py
@@ -0,0 +1,66 @@
+##############################################################################
+# 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 Libxsmm(Package):
+ '''LIBXSMM is a library for small dense and small sparse matrix-matrix
+ multiplications targeting Intel Architecture (x86).'''
+
+ homepage = 'https://github.com/hfp/libxsmm'
+ url = 'https://github.com/hfp/libxsmm/archive/1.4.3.tar.gz'
+
+ version('1.4.3', '9839bf0fb8be7badf1e97ce4c817149b')
+ version('1.4.2', 'ea025761437f3b5c936821b9ca21ec31')
+ version('1.4.1', '71648500ea4510529845d329091917df')
+ version('1.4', 'b42f91bf5285e7ad0463446e55ebdc2b')
+
+ def patch(self):
+ kwargs = {'ignore_absent': False, 'backup': False, 'string': True}
+ makefile = FileFilter('Makefile.inc')
+
+ # Spack sets CC, CXX, and FC to point to the compiler wrappers
+ # Don't let Makefile.inc overwrite these
+ makefile.filter('CC = icc', 'CC ?= icc', **kwargs)
+ makefile.filter('CC = gcc', 'CC ?= gcc', **kwargs)
+ makefile.filter('CXX = icpc', 'CXX ?= icpc', **kwargs)
+ makefile.filter('CXX = g++', 'CXX ?= g++', **kwargs)
+ makefile.filter('FC = ifort', 'FC ?= ifort', **kwargs)
+ makefile.filter('FC = gfortran', 'FC ?= gfortran', **kwargs)
+
+ def manual_install(self, prefix):
+ install_tree('include', prefix.include)
+ install_tree('lib', prefix.lib)
+ install_tree('documentation', prefix.share + '/libxsmm/doc')
+
+ def install(self, spec, prefix):
+ make_args = [
+ 'ROW_MAJOR=0',
+ 'INDICES_M={0}'.format(' '.join(str(i) for i in range(1, 25))),
+ 'INDICES_N={0}'.format(' '.join(str(i) for i in range(1, 25))),
+ 'INDICES_K={0}'.format(' '.join(str(i) for i in range(1, 25)))
+ ]
+ make(*make_args)
+ self.manual_install(prefix)
diff --git a/var/spack/repos/builtin/packages/mkl/package.py b/var/spack/repos/builtin/packages/mkl/package.py
index 6ea64f5313..71a233ff3e 100644
--- a/var/spack/repos/builtin/packages/mkl/package.py
+++ b/var/spack/repos/builtin/packages/mkl/package.py
@@ -12,9 +12,9 @@ class Mkl(IntelInstaller):
mirror, see http://software.llnl.gov/spack/mirrors.html.
To set the threading layer at run time set MKL_THREADING_LAYER
- variable to one of the following values: INTEL, SEQUENTIAL, PGI.
+ variable to one of the following values: INTEL (default), SEQUENTIAL, PGI.
To set interface layer at run time, use set the MKL_INTERFACE_LAYER
- variable to LP64 or ILP64.
+ variable to LP64 (default) or ILP64.
"""
homepage = "https://software.intel.com/en-us/intel-mkl"
@@ -38,6 +38,13 @@ class Mkl(IntelInstaller):
for f in os.listdir(mkl_dir):
os.symlink(os.path.join(mkl_dir, f), os.path.join(self.prefix, f))
+ # Unfortunately MKL libs are natively distrubted in prefix/lib/intel64.
+ # To make MKL play nice with Spack, symlink all files to prefix/lib:
+ mkl_lib_dir = os.path.join(prefix, "lib", "intel64")
+ for f in os.listdir(mkl_lib_dir):
+ os.symlink(os.path.join(mkl_lib_dir, f),
+ os.path.join(self.prefix, "lib", f))
+
def setup_dependent_package(self, module, dspec):
# For now use Single Dynamic Library:
# To set the threading layer at run time, use the
@@ -53,6 +60,7 @@ class Mkl(IntelInstaller):
name = 'libmkl_rt.%s' % dso_suffix
libdir = find_library_path(name, self.prefix.lib64, self.prefix.lib)
+ # Now set blas/lapack libs:
self.spec.blas_shared_lib = join_path(libdir, name)
self.spec.lapack_shared_lib = self.spec.blas_shared_lib
diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py
index da386445bb..0fa5821b08 100644
--- a/var/spack/repos/builtin/packages/mvapich2/package.py
+++ b/var/spack/repos/builtin/packages/mvapich2/package.py
@@ -76,6 +76,7 @@ class Mvapich2(Package):
##########
# FIXME : CUDA support is missing
+ depends_on('libpciaccess')
def url_for_version(self, version):
base_url = "http://mvapich.cse.ohio-state.edu/download"
diff --git a/var/spack/repos/builtin/packages/nextflow/package.py b/var/spack/repos/builtin/packages/nextflow/package.py
new file mode 100644
index 0000000000..54f3dbf915
--- /dev/null
+++ b/var/spack/repos/builtin/packages/nextflow/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 Nextflow(Package):
+ """Data-driven computational pipelines"""
+
+ homepage = "http://www.nextflow.io"
+
+ version('0.20.1', '0e4e0e3eca1c2c97f9b4bffd944b923a',
+ url='https://github.com/nextflow-io/nextflow/releases/download/v0.20.1/nextflow',
+ expand=False)
+
+ depends_on('jdk')
+
+ def install(self, spec, prefix):
+ mkdirp(prefix.bin)
+ install("nextflow", join_path(prefix.bin, "nextflow"))
+ set_executable(join_path(prefix.bin, "nextflow"))
diff --git a/var/spack/repos/builtin/packages/opencv/package.py b/var/spack/repos/builtin/packages/opencv/package.py
index ff551d0b92..8f592342b0 100644
--- a/var/spack/repos/builtin/packages/opencv/package.py
+++ b/var/spack/repos/builtin/packages/opencv/package.py
@@ -23,51 +23,186 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
+from glob import glob
class Opencv(Package):
+ """OpenCV is released under a BSD license and hence it's free for both
+ academic and commercial use. It has C++, C, Python and Java interfaces and
+ supports Windows, Linux, Mac OS, iOS and Android. OpenCV was designed for
+ computational efficiency and with a strong focus on real-time applications.
+ Written in optimized C/C++, the library can take advantage of multi-core
+ processing. Enabled with OpenCL, it can take advantage of the hardware
+ acceleration of the underlying heterogeneous compute platform. Adopted all
+ around the world, OpenCV has more than 47 thousand people of user community
+ and estimated number of downloads exceeding 9 million. Usage ranges from
+ interactive art, to mines inspection, stitching maps on the web or through
+ advanced robotics.
"""
- OpenCV is released under a BSD license and hence it's free for both academic and commercial use. It has C++, C,
- Python and Java interfaces and supports Windows, Linux, Mac OS, iOS and Android. OpenCV was designed for
- computational efficiency and with a strong focus on real-time applications. Written in optimized C/C++, the library
- can take advantage of multi-core processing. Enabled with OpenCL, it can take advantage of the hardware
- acceleration of the underlying heterogeneous compute platform. Adopted all around the world, OpenCV has more than
- 47 thousand people of user community and estimated number of downloads exceeding 9 million. Usage ranges from
- interactive art, to mines inspection, stitching maps on the web or through advanced robotics.
- """
+
homepage = 'http://opencv.org/'
url = 'https://github.com/Itseez/opencv/archive/3.1.0.tar.gz'
version('3.1.0', '70e1dd07f0aa06606f1bc0e3fa15abd3')
- variant('shared', default=True, description='Enables the build of shared libraries')
- variant('debug', default=False, description='Builds a debug version of the libraries')
+ variant('shared', default=True,
+ description='Enables the build of shared libraries')
+ variant('debug', default=False,
+ description='Builds a debug version of the libraries')
variant('eigen', default=True, description='Activates support for eigen')
variant('ipp', default=True, description='Activates support for IPP')
+ variant('jasper', default=True, description='Activates support for JasPer')
+ variant('cuda', default=False, description='Activates support for CUDA')
+ variant('gtk', default=False, description='Activates support for GTK')
+ variant('vtk', default=False, description='Activates support for VTK')
+ variant('qt', default=False, description='Activates support for QT')
+ variant('python', default=False,
+ description='Enables the build of Python extensions')
+ variant('java', default=False,
+ description='Activates support for Java')
+
+ depends_on('cmake', type='build')
+ depends_on('eigen', when='+eigen', type='build')
depends_on('zlib')
depends_on('libpng')
depends_on('libjpeg-turbo')
depends_on('libtiff')
- depends_on('python')
- depends_on('py-numpy')
+ depends_on('jasper', when='+jasper')
+ depends_on('cuda', when='+cuda')
+ depends_on('gtkplus', when='+gtk')
+ depends_on('vtk', when='+vtk')
+ depends_on('qt', when='+qt')
+ depends_on('jdk', when='+java')
+ depends_on('py-numpy', when='+python')
- depends_on('eigen', when='+eigen', type='build')
- depends_on('cmake', type='build')
-
- # FIXME : GUI extensions missing
- # FIXME : CUDA extensions still missing
+ extends('python', when='+python')
def install(self, spec, prefix):
cmake_options = []
cmake_options.extend(std_cmake_args)
- cmake_options.extend(['-DCMAKE_BUILD_TYPE:STRING=%s' % ('Debug' if '+debug' in spec else 'Release'),
- '-DBUILD_SHARED_LIBS:BOOL=%s' % ('ON' if '+shared' in spec else 'OFF'),
- '-DENABLE_PRECOMPILED_HEADERS:BOOL=OFF',
- '-DWITH_IPP:BOOL=%s' % ('ON' if '+ipp' in spec else 'OFF')])
+ cmake_options.extend([
+ '-DCMAKE_BUILD_TYPE:STRING={0}'.format((
+ 'Debug' if '+debug' in spec else 'Release')),
+ '-DBUILD_SHARED_LIBS:BOOL={0}'.format((
+ 'ON' if '+shared' in spec else 'OFF')),
+ '-DENABLE_PRECOMPILED_HEADERS:BOOL=OFF',
+ '-DWITH_IPP:BOOL={0}'.format((
+ 'ON' if '+ipp' in spec else 'OFF')),
+ '-DWITH_CUDA:BOOL={0}'.format((
+ 'ON' if '+cuda' in spec else 'OFF')),
+ '-DWITH_QT:BOOL={0}'.format((
+ 'ON' if '+qt' in spec else 'OFF')),
+ '-DWITH_VTK:BOOL={0}'.format((
+ 'ON' if '+vtk' in spec else 'OFF')),
+ '-DBUILD_opencv_java:BOOL={0}'.format((
+ 'ON' if '+java' in spec else 'OFF')),
+ ])
+
+ # Media I/O
+ zlib = spec['zlib']
+ cmake_options.extend([
+ '-DZLIB_LIBRARY_{0}:FILEPATH={1}'.format((
+ 'DEBUG' if '+debug' in spec else 'RELEASE'),
+ join_path(zlib.prefix.lib,
+ 'libz.{0}'.format(dso_suffix))),
+ '-DZLIB_INCLUDE_DIR:PATH={0}'.format(zlib.prefix.include)
+ ])
+
+ libpng = spec['libpng']
+ cmake_options.extend([
+ '-DPNG_LIBRARY_{0}:FILEPATH={1}'.format((
+ 'DEBUG' if '+debug' in spec else 'RELEASE'),
+ join_path(libpng.prefix.lib,
+ 'libpng.{0}'.format(dso_suffix))),
+ '-DPNG_INCLUDE_DIR:PATH={0}'.format(libpng.prefix.include)
+ ])
+
+ libjpeg = spec['libjpeg-turbo']
+ cmake_options.extend([
+ '-DJPEG_LIBRARY:FILEPATH={0}'.format(
+ join_path(libjpeg.prefix.lib,
+ 'libjpeg.{0}'.format(dso_suffix))),
+ '-DJPEG_INCLUDE_DIR:PATH={0}'.format(libjpeg.prefix.include)
+ ])
+
+ libtiff = spec['libtiff']
+ cmake_options.extend([
+ '-DTIFF_LIBRARY_{0}:FILEPATH={1}'.format((
+ 'DEBUG' if '+debug' in spec else 'RELEASE'),
+ join_path(libtiff.prefix.lib,
+ 'libtiff.{0}'.format(dso_suffix))),
+ '-DTIFF_INCLUDE_DIR:PATH={0}'.format(libtiff.prefix.include)
+ ])
+
+ jasper = spec['jasper']
+ cmake_options.extend([
+ '-DJASPER_LIBRARY_{0}:FILEPATH={1}'.format((
+ 'DEBUG' if '+debug' in spec else 'RELEASE'),
+ join_path(jasper.prefix.lib,
+ 'libjasper.{0}'.format(dso_suffix))),
+ '-DJASPER_INCLUDE_DIR:PATH={0}'.format(jasper.prefix.include)
+ ])
+
+ # GUI
+ if '+gtk' not in spec:
+ cmake_options.extend([
+ '-DWITH_GTK:BOOL=OFF',
+ '-DWITH_GTK_2_X:BOOL=OFF'
+ ])
+ elif '^gtkplus@3:' in spec:
+ cmake_options.extend([
+ '-DWITH_GTK:BOOL=ON',
+ '-DWITH_GTK_2_X:BOOL=OFF'
+ ])
+ elif '^gtkplus@2:3' in spec:
+ cmake_options.extend([
+ '-DWITH_GTK:BOOL=OFF',
+ '-DWITH_GTK_2_X:BOOL=ON'
+ ])
+
+ # Python
+ if '+python' in spec:
+ python = spec['python']
+
+ try:
+ python_lib = glob(join_path(
+ python.prefix.lib, 'libpython*.{0}'.format(dso_suffix)))[0]
+ except KeyError:
+ raise InstallError('Cannot find libpython')
+
+ try:
+ python_include_dir = glob(join_path(python.prefix.include,
+ 'python*'))[0]
+ except KeyError:
+ raise InstallError('Cannot find python include directory')
+
+ if '^python@3:' in spec:
+ python_exe = join_path(python.prefix.bin, 'python3')
+ cmake_options.extend([
+ '-DBUILD_opencv_python3=ON',
+ '-DPYTHON3_EXECUTABLE={0}'.format(python_exe),
+ '-DPYTHON3_LIBRARY={0}'.format(python_lib),
+ '-DPYTHON3_INCLUDE_DIR={0}'.format(python_include_dir),
+ '-DBUILD_opencv_python2=OFF',
+ ])
+ elif '^python@2:3' in spec:
+ python_exe = join_path(python.prefix.bin, 'python2')
+ cmake_options.extend([
+ '-DBUILD_opencv_python2=ON',
+ '-DPYTHON2_EXECUTABLE={0}'.format(python_exe),
+ '-DPYTHON2_LIBRARY={0}'.format(python_lib),
+ '-DPYTHON2_INCLUDE_DIR={0}'.format(python_include_dir),
+ '-DBUILD_opencv_python3=OFF',
+ ])
+ else:
+ cmake_options.extend([
+ '-DBUILD_opencv_python2=OFF',
+ '-DBUILD_opencv_python3=OFF'
+ ])
with working_dir('spack_build', create=True):
cmake('..', *cmake_options)
diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py
index b9eada9e83..78bdd88d9c 100644
--- a/var/spack/repos/builtin/packages/openssl/package.py
+++ b/var/spack/repos/builtin/packages/openssl/package.py
@@ -52,7 +52,7 @@ class Openssl(Package):
if '@system' in self.spec:
return '@system (reserved version for system openssl)'
else:
- return super(Openssl, self).url_for_version(self.spec)
+ return super(Openssl, self).url_for_version(self.version)
def handle_fetch_error(self, error):
tty.warn("Fetching OpenSSL failed. This may indicate that OpenSSL has "
diff --git a/var/spack/repos/builtin/packages/p4est/package.py b/var/spack/repos/builtin/packages/p4est/package.py
index 4bbf0c1311..114fd00011 100644
--- a/var/spack/repos/builtin/packages/p4est/package.py
+++ b/var/spack/repos/builtin/packages/p4est/package.py
@@ -24,46 +24,42 @@
##############################################################################
from spack import *
+
class P4est(Package):
- """Dynamic management of a collection (a forest) of adaptive octrees in parallel"""
+ """Dynamic management of a collection (a forest) of adaptive octrees in
+ parallel"""
homepage = "http://www.p4est.org"
url = "http://p4est.github.io/release/p4est-1.1.tar.gz"
version('1.1', '37ba7f4410958cfb38a2140339dbf64f')
- variant('tests', default=True, description='Run small tests')
-
# build dependencies
depends_on('automake', type='build')
depends_on('autoconf', type='build')
depends_on('libtool@2.4.2:', type='build')
# other dependencies
- depends_on('lua') # Needed for the submodule sc
+ depends_on('lua') # Needed for the submodule sc
depends_on('mpi')
depends_on('zlib')
def install(self, spec, prefix):
- options = ['--enable-mpi',
- '--enable-shared',
- '--disable-vtk-binary',
- '--without-blas',
- 'CPPFLAGS=-DSC_LOG_PRIORITY=SC_LP_ESSENTIAL',
- 'CFLAGS=-O2',
- 'CC=%s' % self.spec['mpi'].mpicc,
- 'CXX=%s' % self.spec['mpi'].mpicxx,
- 'FC=%s' % self.spec['mpi'].mpifc,
- 'F77=%s' % self.spec['mpi'].mpif77
- ]
+ options = [
+ '--enable-mpi',
+ '--enable-shared',
+ '--disable-vtk-binary',
+ '--without-blas',
+ 'CPPFLAGS=-DSC_LOG_PRIORITY=SC_LP_ESSENTIAL',
+ 'CFLAGS=-O2',
+ 'CC=%s' % self.spec['mpi'].mpicc,
+ 'CXX=%s' % self.spec['mpi'].mpicxx,
+ 'FC=%s' % self.spec['mpi'].mpifc,
+ 'F77=%s' % self.spec['mpi'].mpif77
+ ]
configure('--prefix=%s' % prefix, *options)
make()
- # Make tests optional as sometimes mpiexec can't be run with an error:
- # mpiexec has detected an attempt to run as root.
- # Running at root is *strongly* discouraged as any mistake (e.g., in
- # defining TMPDIR) or bug can result in catastrophic damage to the OS
- # file system, leaving your system in an unusable state.
- if '+tests' in self.spec:
- make("check")
+ if self.run_tests:
+ make("check")
make("install")
diff --git a/var/spack/repos/builtin/packages/perl/package.py b/var/spack/repos/builtin/packages/perl/package.py
new file mode 100644
index 0000000000..d71a7492ba
--- /dev/null
+++ b/var/spack/repos/builtin/packages/perl/package.py
@@ -0,0 +1,75 @@
+##############################################################################
+# 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
+##############################################################################
+#
+# Author: George Hartzell <hartzell@alerce.com>
+# Date: July 21, 2016
+# Author: Justin Too <justin@doubleotoo.com>
+# Date: September 6, 2015
+#
+from spack import *
+
+
+class Perl(Package):
+ """Perl 5 is a highly capable, feature-rich programming language with over
+ 27 years of development."""
+ homepage = "http://www.perl.org"
+ url = "http://www.cpan.org/src/5.0/perl-5.22.2.tar.gz"
+
+ version('5.24.0', 'c5bf7f3285439a2d3b6a488e14503701')
+ version('5.22.2', '5767e2a10dd62a46d7b57f74a90d952b')
+ version('5.20.3', 'd647d0ea5a7a8194c34759ab9f2610cd')
+ # 5.18.4 fails with gcc-5
+ # https://rt.perl.org/Public/Bug/Display.html?id=123784
+ # version('5.18.4' , '1f9334ff730adc05acd3dd7130d295db')
+
+ # Installing cpanm alongside the core makes it safe and simple for
+ # people/projects to install their own sets of perl modules. Not
+ # having it in core increases the "energy of activation" for doing
+ # things cleanly.
+ variant('cpanm', default=True,
+ description='Optionally install cpanm with the core packages.')
+
+ resource(
+ name="cpanm",
+ url="http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7042.tar.gz",
+ md5="e87f55fbcb3c13a4754500c18e89219f",
+ destination="cpanm",
+ placement="cpanm"
+ )
+
+ def install(self, spec, prefix):
+ configure = Executable('./Configure')
+ configure("-des", "-Dprefix=" + prefix)
+ make()
+ if self.run_tests:
+ make("test")
+ make("install")
+
+ if '+cpanm' in spec:
+ with working_dir(join_path('cpanm', 'cpanm')):
+ perl = Executable(join_path(prefix.bin, 'perl'))
+ perl('Makefile.PL')
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/pgi/package.py b/var/spack/repos/builtin/packages/pgi/package.py
index 7170c65303..c58d563682 100644
--- a/var/spack/repos/builtin/packages/pgi/package.py
+++ b/var/spack/repos/builtin/packages/pgi/package.py
@@ -41,6 +41,7 @@ class Pgi(Package):
homepage = "http://www.pgroup.com/"
url = "file://%s/pgi-16.3.tar.gz" % os.getcwd()
+ version('16.5', 'a40e8852071b5d600cb42f31631b3de1')
version('16.3', '618cb7ddbc57d4e4ed1f21a0ab25f427')
variant('network', default=True,
diff --git a/var/spack/repos/builtin/packages/plumed/package.py b/var/spack/repos/builtin/packages/plumed/package.py
new file mode 100644
index 0000000000..32571455eb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/plumed/package.py
@@ -0,0 +1,84 @@
+##############################################################################
+# 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 Plumed(Package):
+ """PLUMED is an open source library for free energy calculations in
+ molecular systems which works together with some of the most popular
+ molecular dynamics engines.
+
+ Free energy calculations can be performed as a function of many order
+ parameters with a particular focus on biological problems, using state
+ of the art methods such as metadynamics, umbrella sampling and
+ Jarzynski-equation based steered MD.
+
+ The software, written in C++, can be easily interfaced with both fortran
+ and C/C++ codes.
+ """
+ homepage = 'http://www.plumed.org/'
+ url = 'https://github.com/plumed/plumed2/archive/v2.2.3.tar.gz'
+
+ version('2.2.3', 'a6e3863e40aac07eb8cf739cbd14ecf8')
+
+ variant('shared', default=True, description='Builds shared libraries')
+ variant('mpi', default=True, description='Activates MPI support')
+ variant('gsl', default=True, description='Activates GSL support')
+
+ depends_on('zlib')
+ depends_on('blas')
+ depends_on('lapack')
+
+ depends_on('mpi', when='+mpi')
+ depends_on('gsl', when='+gsl')
+
+ def setup_dependent_package(self, module, ext_spec):
+ # Make plumed visible from dependent packages
+ module.plumed = Executable(join_path(self.spec.prefix.bin, 'plumed'))
+
+ def install(self, spec, prefix):
+ # From plumed docs :
+ # Also consider that this is different with respect to what some other
+ # configure script does in that variables such as MPICXX are
+ # completely ignored here. In case you work on a machine where CXX is
+ # set to a serial compiler and MPICXX to a MPI compiler, to compile
+ # with MPI you should use:
+ #
+ # > ./configure CXX="$MPICXX"
+ configure_opts = [
+ 'CXX={0}'.format(spec['mpi'].mpicxx)
+ ] if '+mpi' in self.spec else []
+
+ configure_opts.extend([
+ '--prefix={0}'.format(prefix),
+ '--enable-shared={0}'.format('yes' if '+shared' in spec else 'no'), # NOQA: ignore=E501
+ '--enable-mpi={0}'.format('yes' if '+mpi' in spec else 'no'),
+ '--enable-gsl={0}'.format('yes' if '+gsl' in spec else 'no')
+ ])
+
+ configure(*configure_opts)
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/py-h5py/package.py b/var/spack/repos/builtin/packages/py-h5py/package.py
index f96cb9b4cd..90a67c51bd 100644
--- a/var/spack/repos/builtin/packages/py-h5py/package.py
+++ b/var/spack/repos/builtin/packages/py-h5py/package.py
@@ -43,6 +43,7 @@ class PyH5py(Package):
# Build dependencies
depends_on('py-cython@0.19:', type='build')
depends_on('pkg-config', type='build')
+ depends_on('py-setuptools', type='build')
depends_on('hdf5@1.8.4:')
depends_on('hdf5+mpi', when='+mpi')
depends_on('mpi', when='+mpi')
diff --git a/var/spack/repos/builtin/packages/py-networkx/package.py b/var/spack/repos/builtin/packages/py-networkx/package.py
index d545717628..79ad420f8f 100644
--- a/var/spack/repos/builtin/packages/py-networkx/package.py
+++ b/var/spack/repos/builtin/packages/py-networkx/package.py
@@ -24,8 +24,10 @@
##############################################################################
from spack import *
+
class PyNetworkx(Package):
- """NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks."""
+ """NetworkX is a Python package for the creation, manipulation, and study
+ of the structure, dynamics, and functions of complex networks."""
homepage = "http://networkx.github.io/"
url = "https://pypi.python.org/packages/source/n/networkx/networkx-1.11.tar.gz"
@@ -34,6 +36,7 @@ class PyNetworkx(Package):
extends('python')
depends_on('py-decorator', type=nolink)
+ depends_on('py-setuptools', type='build')
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/repos/builtin/packages/py-nose/package.py b/var/spack/repos/builtin/packages/py-nose/package.py
index d15a1784d1..eb3dd77219 100644
--- a/var/spack/repos/builtin/packages/py-nose/package.py
+++ b/var/spack/repos/builtin/packages/py-nose/package.py
@@ -36,7 +36,7 @@ class PyNose(Package):
version('1.3.6', '0ca546d81ca8309080fc80cb389e7a16')
version('1.3.7', '4d3ad0ff07b61373d2cefc89c5d0b20b')
- extends('python', ignore=r'bin/nosetests.*$')
+ extends('python')
depends_on('py-setuptools', type='build')
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/py-pytables/package.py b/var/spack/repos/builtin/packages/py-pytables/package.py
index 58ed067b21..f87e74211f 100644
--- a/var/spack/repos/builtin/packages/py-pytables/package.py
+++ b/var/spack/repos/builtin/packages/py-pytables/package.py
@@ -23,10 +23,11 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
-import re
+
class PyPytables(Package):
- """PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope with extremely large amounts of data."""
+ """PyTables is a package for managing hierarchical datasets and designed to
+ efficiently and easily cope with extremely large amounts of data."""
homepage = "http://www.pytables.org/"
url = "https://github.com/PyTables/PyTables/archive/v.3.2.2.tar.gz"
@@ -37,6 +38,7 @@ class PyPytables(Package):
depends_on('py-numpy', type=nolink)
depends_on('py-numexpr', type=nolink)
depends_on('py-cython', type=nolink)
+ depends_on('py-setuptools', type='build')
def install(self, spec, prefix):
env["HDF5_DIR"] = spec['hdf5'].prefix
diff --git a/var/spack/repos/builtin/packages/py-scikit-image/package.py b/var/spack/repos/builtin/packages/py-scikit-image/package.py
index 26c286e4be..fbeb5c95ca 100644
--- a/var/spack/repos/builtin/packages/py-scikit-image/package.py
+++ b/var/spack/repos/builtin/packages/py-scikit-image/package.py
@@ -42,6 +42,7 @@ class PyScikitImage(Package):
depends_on('py-six', type=nolink)
depends_on('py-scipy', type=nolink)
depends_on('py-matplotlib', type=nolink)
+ depends_on('py-setuptools', type='build')
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/repos/builtin/packages/r-base64enc/package.py b/var/spack/repos/builtin/packages/r-base64enc/package.py
new file mode 100644
index 0000000000..4c5d14a90f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-base64enc/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 RBase64enc(Package):
+ """This package provides tools for handling base64 encoding. It is more
+ flexible than the orphaned base64 package."""
+
+ homepage = "http://www.rforge.net/base64enc"
+ url = "https://cran.r-project.org/src/contrib/base64enc_0.1-3.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/base64enc"
+
+ version('0.1-3', '0f476dacdd11a3e0ad56d13f5bc2f190')
+
+ 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-boot/package.py b/var/spack/repos/builtin/packages/r-boot/package.py
new file mode 100644
index 0000000000..1f2f541fec
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-boot/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 RBoot(Package):
+ """Functions and datasets for bootstrapping from the book "Bootstrap
+ Methods and Their Application" by A. C. Davison and D. V. Hinkley (1997,
+ CUP), originally written by Angelo Canty for S."""
+
+ homepage = "https://cran.r-project.org/package=boot"
+ url = "https://cran.r-project.org/src/contrib/boot_1.3-18.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/boot"
+
+ version('1.3-18', '711dd58af14e1027eb8377d9202e9b6f')
+
+ 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-brew/package.py b/var/spack/repos/builtin/packages/r-brew/package.py
new file mode 100644
index 0000000000..111606d576
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-brew/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 RBrew(Package):
+ """brew implements a templating framework for mixing text and R code for
+ report generation. brew template syntax is similar to PHP, Ruby's erb
+ module, Java Server Pages, and Python's psp module."""
+
+ homepage = "https://cran.r-project.org/package=brew"
+ url = "https://cran.r-project.org/src/contrib/brew_1.0-6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/brew"
+
+ version('1.0-6', '4aaca5e6ec145e0fc0fe6375ce1f3806')
+
+ 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-car/package.py b/var/spack/repos/builtin/packages/r-car/package.py
new file mode 100644
index 0000000000..f4a3824983
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-car/package.py
@@ -0,0 +1,48 @@
+##############################################################################
+# 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 RCar(Package):
+ """Functions and Datasets to Accompany J. Fox and S. Weisberg, An R
+ Companion to Applied Regression, Second Edition, Sage, 2011."""
+
+ homepage = "https://r-forge.r-project.org/projects/car/"
+ url = "https://cran.r-project.org/src/contrib/car_2.1-2.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/car"
+
+ version('2.1-2', '0f78ad74ef7130126d319acec23951a0')
+
+ extends('R')
+
+ depends_on('r-mass', type=nolink)
+ depends_on('r-mgcv', type=nolink)
+ depends_on('r-nnet', type=nolink)
+ depends_on('r-pbkrtest', type=nolink)
+ depends_on('r-quantreg', 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-caret/package.py b/var/spack/repos/builtin/packages/r-caret/package.py
new file mode 100644
index 0000000000..460526c7d3
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-caret/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 RCaret(Package):
+ """Misc functions for training and plotting classification and regression
+ models."""
+
+ homepage = "https://github.com/topepo/caret/"
+ url = "https://cran.r-project.org/src/contrib/caret_6.0-70.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/caret"
+
+ version('6.0-70', '202d7abb6a679af716ea69fb2573f108')
+
+ extends('R')
+
+ depends_on('r-lattice', type=nolink)
+ depends_on('r-ggplot2', type=nolink)
+ depends_on('r-car', type=nolink)
+ depends_on('r-foreach', type=nolink)
+ depends_on('r-plyr', type=nolink)
+ depends_on('r-nlme', type=nolink)
+ depends_on('r-reshape2', 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-chron/package.py b/var/spack/repos/builtin/packages/r-chron/package.py
new file mode 100644
index 0000000000..9cd9d76e9e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-chron/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RChron(Package):
+ """Chronological objects which can handle dates and times."""
+
+ homepage = "https://cran.r-project.org/package=chron"
+ url = "https://cran.r-project.org/src/contrib/chron_2.3-47.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/chron"
+
+ version('2.3-47', 'b8890cdc5f2337f8fd775b0becdcdd1f')
+
+ 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-class/package.py b/var/spack/repos/builtin/packages/r-class/package.py
new file mode 100644
index 0000000000..f541ea3611
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-class/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 RClass(Package):
+ """Various functions for classification, including k-nearest neighbour,
+ Learning Vector Quantization and Self-Organizing Maps."""
+
+ homepage = "http://www.stats.ox.ac.uk/pub/MASS4/"
+ url = "https://cran.r-project.org/src/contrib/class_7.3-14.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/class"
+
+ version('7.3-14', '6a21dd206fe4ea29c55faeb65fb2b71e')
+
+ extends('R')
+
+ depends_on('r-mass', 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-cluster/package.py b/var/spack/repos/builtin/packages/r-cluster/package.py
new file mode 100644
index 0000000000..0fdf2ce5de
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-cluster/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 RCluster(Package):
+ """Methods for Cluster analysis. Much extended the original from Peter
+ Rousseeuw, Anja Struyf and Mia Hubert, based on Kaufman and Rousseeuw
+ (1990) "Finding Groups in Data"."""
+
+ homepage = "https://cran.r-project.org/web/packages/cluster/index.html"
+ url = "https://cran.r-project.org/src/contrib/cluster_2.0.4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/cluster"
+
+ version('2.0.4', 'bb4deceaafb1c42bb1278d5d0dc11e59')
+
+ 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-codetools/package.py b/var/spack/repos/builtin/packages/r-codetools/package.py
new file mode 100644
index 0000000000..bea2f78c82
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-codetools/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RCodetools(Package):
+ """Code analysis tools for R."""
+
+ homepage = "https://cran.r-project.org/web/packages/codetools/index.html"
+ url = "https://cran.r-project.org/src/contrib/codetools_0.2-14.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/codetools"
+
+ version('0.2-14', '7ec41d4f8bd6ba85facc8c5e6adc1f4d')
+
+ 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-crayon/package.py b/var/spack/repos/builtin/packages/r-crayon/package.py
new file mode 100644
index 0000000000..1e0befbca9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-crayon/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 RCrayon(Package):
+ """Colored terminal output on terminals that support 'ANSI' color and
+ highlight codes. It also works in 'Emacs' 'ESS'. 'ANSI' color support is
+ automatically detected. Colors and highlighting can be combined and nested.
+ New styles can also be created easily. This package was inspired by the
+ 'chalk' 'JavaScript' project."""
+
+ homepage = "https://github.com/gaborcsardi/crayon"
+ url = "https://cran.r-project.org/src/contrib/crayon_1.3.2.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/crayon"
+
+ version('1.3.2', 'fe29c6204d2d6ff4c2f9d107a03d0cb9')
+
+ 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-cubature/package.py b/var/spack/repos/builtin/packages/r-cubature/package.py
new file mode 100644
index 0000000000..1d8f837922
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-cubature/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RCubature(Package):
+ """Adaptive multivariate integration over hypercubes"""
+
+ homepage = "https://cran.r-project.org/package=cubature"
+ url = "https://cran.r-project.org/src/contrib/cubature_1.1-2.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/cubature"
+
+ version('1.1-2', '5617e1d82baa803a3814d92461da45c9')
+
+ 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-curl/package.py b/var/spack/repos/builtin/packages/r-curl/package.py
index c6e8f22a94..24c0eadb2d 100644
--- a/var/spack/repos/builtin/packages/r-curl/package.py
+++ b/var/spack/repos/builtin/packages/r-curl/package.py
@@ -38,8 +38,9 @@ class RCurl(Package):
homepage = "https://github.com/jeroenooms/curl"
url = "https://cran.r-project.org/src/contrib/curl_0.9.7.tar.gz"
- list_url = "https://cran.r-project.org/src/contrib/Archive/RCurl"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/curl"
+ version('1.0', '93d34926d6071e1fba7e728b482f0dd9')
version('0.9.7', 'a101f7de948cb828fef571c730f39217')
extends('R')
diff --git a/var/spack/repos/builtin/packages/r-datatable/package.py b/var/spack/repos/builtin/packages/r-datatable/package.py
new file mode 100644
index 0000000000..8b50643341
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-datatable/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 RDatatable(Package):
+ """Fast aggregation of large data (e.g. 100GB in RAM), fast ordered joins,
+ fast add/modify/delete of columns by group using no copies at all, list
+ columns and a fast file reader (fread). Offers a natural and flexible
+ syntax, for faster development."""
+
+ homepage = "https://github.com/Rdatatable/data.table/wiki"
+ url = "https://cran.r-project.org/src/contrib/data.table_1.9.6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/data.table"
+
+ version('1.9.6', 'b1c0c7cce490bdf42ab288541cc55372')
+
+ extends('R')
+
+ depends_on('r-chron')
+
+ 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-devtools/package.py b/var/spack/repos/builtin/packages/r-devtools/package.py
index 5f0b7b8779..75506dd257 100644
--- a/var/spack/repos/builtin/packages/r-devtools/package.py
+++ b/var/spack/repos/builtin/packages/r-devtools/package.py
@@ -36,14 +36,14 @@ class RDevtools(Package):
extends('R')
- depends_on('r-httr')
- depends_on('r-memoise')
- depends_on('r-whisker')
- depends_on('r-digest')
- depends_on('r-rstudioapi')
- depends_on('r-jsonlite')
- depends_on('r-git2r')
- depends_on('r-withr')
+ depends_on('r-httr', type=nolink)
+ depends_on('r-memoise', type=nolink)
+ depends_on('r-whisker', type=nolink)
+ depends_on('r-digest', type=nolink)
+ depends_on('r-rstudioapi', type=nolink)
+ depends_on('r-jsonlite', type=nolink)
+ depends_on('r-git2r', type=nolink)
+ depends_on('r-withr', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-diagrammer/package.py b/var/spack/repos/builtin/packages/r-diagrammer/package.py
new file mode 100644
index 0000000000..7ff3b8548b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-diagrammer/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 RDiagrammer(Package):
+ """Create graph diagrams and flowcharts using R."""
+
+ homepage = "https://github.com/rich-iannone/DiagrammeR"
+ url = "https://cran.r-project.org/src/contrib/DiagrammeR_0.8.4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/DiagrammeR"
+
+ version('0.8.4', '9ee295c744f5d4ba9a84289ca7bdaf1a')
+
+ extends('R')
+
+ depends_on('r-htmlwidgets', type=nolink)
+ depends_on('r-igraph', type=nolink)
+ depends_on('r-influencer', type=nolink)
+ depends_on('r-rstudioapi@0.6:', type=nolink)
+ depends_on('r-stringr', type=nolink)
+ depends_on('r-visnetwork', type=nolink)
+ depends_on('r-scales', 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-doparallel/package.py b/var/spack/repos/builtin/packages/r-doparallel/package.py
new file mode 100644
index 0000000000..7cebfd9e58
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-doparallel/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 RDoparallel(Package):
+ """Provides a parallel backend for the %dopar% function using the parallel
+ package."""
+
+ homepage = "https://cran.r-project.org/web/packages/doParallel/index.html"
+ url = "https://cran.r-project.org/src/contrib/doParallel_1.0.10.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/doParallel"
+
+ version('1.0.10', 'd9fbde8f315d98d055483ee3493c9b43')
+
+ extends('R')
+
+ depends_on('r-foreach', type=nolink)
+ depends_on('r-iterators', 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-dplyr/package.py b/var/spack/repos/builtin/packages/r-dplyr/package.py
index b065e0b817..ded7651278 100644
--- a/var/spack/repos/builtin/packages/r-dplyr/package.py
+++ b/var/spack/repos/builtin/packages/r-dplyr/package.py
@@ -36,14 +36,15 @@ class RDplyr(Package):
version('0.5.0', '1fcafcacca70806eea2e6d465cdb94ef')
extends('R')
- depends_on('r-assertthat')
- depends_on('r-R6')
- depends_on('r-rcpp')
- depends_on('r-tibble')
- depends_on('r-magrittr')
- depends_on('r-lazyeval')
- depends_on('r-dbi')
- depends_on('r-bh')
+
+ depends_on('r-assertthat', type=nolink)
+ depends_on('r-R6', type=nolink)
+ depends_on('r-rcpp', type=nolink)
+ depends_on('r-tibble', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-lazyeval', type=nolink)
+ depends_on('r-dbi', type=nolink)
+ depends_on('r-bh', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-dt/package.py b/var/spack/repos/builtin/packages/r-dt/package.py
new file mode 100644
index 0000000000..f134ee8913
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-dt/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 RDt(Package):
+ """Data objects in R can be rendered as HTML tables using the JavaScript
+ library 'DataTables' (typically via R Markdown or Shiny). The 'DataTables'
+ library has been included in this R package. The package name 'DT' is an
+ abbreviation of 'DataTables'."""
+
+ homepage = "http://rstudio.github.io/DT"
+ url = "https://cran.r-project.org/src/contrib/DT_0.1.tar.gz"
+
+ version('0.1', '5c8df984921fa484784ec4b8a4fb6f3c')
+
+ extends('R')
+
+ depends_on('r-htmltools', type=nolink)
+ depends_on('r-htmlwidgets', type=nolink)
+ depends_on('r-magrittr', 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-dygraphs/package.py b/var/spack/repos/builtin/packages/r-dygraphs/package.py
new file mode 100644
index 0000000000..9b01d7aa18
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-dygraphs/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 RDygraphs(Package):
+ """An R interface to the 'dygraphs' JavaScript charting library (a copy of
+ which is included in the package). Provides rich facilities for charting
+ time-series data in R, including highly configurable series- and
+ axis-display and interactive features like zoom/pan and series/point
+ highlighting."""
+
+ homepage = "https://cran.r-project.org/web/packages/dygraphs/index.html"
+ url = "https://cran.r-project.org/src/contrib/dygraphs_0.9.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/dygraphs"
+
+ version('0.9', '7f0ce4312bcd3f0a58b8c03b2772f833')
+
+ extends('R')
+
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-htmlwidgets', type=nolink)
+ depends_on('r-zoo', type=nolink)
+ depends_on('r-xts', 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-e1071/package.py b/var/spack/repos/builtin/packages/r-e1071/package.py
new file mode 100644
index 0000000000..c2e7166403
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-e1071/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 RE1071(Package):
+ """Functions for latent class analysis, short time Fourier transform, fuzzy
+ clustering, support vector machines, shortest path computation, bagged
+ clustering, naive Bayes classifier, ..."""
+
+ homepage = "https://cran.r-project.org/package=e1071"
+ url = "https://cran.r-project.org/src/contrib/e1071_1.6-7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/e1071"
+
+ version('1.6-7', 'd109a7e3dd0c905d420e327a9a921f5a')
+
+ extends('R')
+
+ depends_on('r-class', 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-foreach/package.py b/var/spack/repos/builtin/packages/r-foreach/package.py
new file mode 100644
index 0000000000..2a7324ae99
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-foreach/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 RForeach(Package):
+ """Support for the foreach looping construct. Foreach is an idiom that
+ allows for iterating over elements in a collection, without the use of an
+ explicit loop counter. This package in particular is intended to be used
+ for its return value, rather than for its side effects. In that sense, it
+ is similar to the standard lapply function, but doesn't require the
+ evaluation of a function. Using foreach without side effects also
+ facilitates executing the loop in parallel."""
+
+ homepage = "https://cran.r-project.org/web/packages/foreach/index.html"
+ url = "https://cran.r-project.org/src/contrib/foreach_1.4.3.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/foreach"
+
+ version('1.4.3', 'ef45768126661b259f9b8994462c49a0')
+
+ extends('R')
+
+ depends_on('r-codetools', type=nolink)
+ depends_on('r-iterators', 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-gdata/package.py b/var/spack/repos/builtin/packages/r-gdata/package.py
new file mode 100644
index 0000000000..0a09a1145b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-gdata/package.py
@@ -0,0 +1,59 @@
+##############################################################################
+# 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 RGdata(Package):
+ """Various R programming tools for data manipulation, including: - medical
+ unit conversions ('ConvertMedUnits', 'MedUnits'), - combining objects
+ ('bindData', 'cbindX', 'combine', 'interleave'), - character vector
+ operations ('centerText', 'startsWith', 'trim'), - factor manipulation
+ ('levels', 'reorder.factor', 'mapLevels'), - obtaining information about R
+ objects ('object.size', 'elem', 'env', 'humanReadable', 'is.what', 'll',
+ 'keep', 'ls.funs', 'Args','nPairs', 'nobs'), - manipulating MS-Excel
+ formatted files ('read.xls', 'installXLSXsupport', 'sheetCount',
+ 'xlsFormats'), - generating fixed-width format files ('write.fwf'), -
+ extricating components of date & time objects ('getYear', 'getMonth',
+ 'getDay', 'getHour', 'getMin', 'getSec'), - operations on columns of data
+ frames ('matchcols', 'rename.vars'), - matrix operations ('unmatrix',
+ 'upperTriangle', 'lowerTriangle'), - operations on vectors ('case',
+ 'unknownToNA', 'duplicated2', 'trimSum'), - operations on data frames
+ ('frameApply', 'wideByFactor'), - value of last evaluated expression
+ ('ans'), and - wrapper for 'sample' that ensures consistent behavior for
+ both scalar and vector arguments ('resample')."""
+
+ homepage = "https://cran.r-project.org/package=gdata"
+ url = "https://cran.r-project.org/src/contrib/gdata_2.17.0.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/gdata"
+
+ version('2.17.0', 'c716b663b9dc16ad8cafe6acc781a75f')
+
+ extends('R')
+
+ depends_on('r-gtools', 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-geosphere/package.py b/var/spack/repos/builtin/packages/r-geosphere/package.py
new file mode 100644
index 0000000000..21ae07fd41
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-geosphere/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 RGeosphere(Package):
+ """Spherical trigonometry for geographic applications. That is, compute
+ distances and related measures for angular (longitude/latitude)
+ locations."""
+
+ homepage = "https://cran.r-project.org/package=geosphere"
+ url = "https://cran.r-project.org/src/contrib/geosphere_1.5-5.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/geosphere"
+
+ version('1.5-5', '28efb7a8e266c7f076cdbcf642455f3e')
+
+ extends('R')
+
+ depends_on('r-sp', 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-ggmap/package.py b/var/spack/repos/builtin/packages/r-ggmap/package.py
new file mode 100644
index 0000000000..2dfca19b51
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-ggmap/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 RGgmap(Package):
+ """A collection of functions to visualize spatial data and models on top of
+ static maps from various online sources (e.g Google Maps and Stamen Maps).
+ It includes tools common to those tasks, including functions for
+ geolocation and routing."""
+
+ homepage = "https://github.com/dkahle/ggmap"
+ url = "https://cran.r-project.org/src/contrib/ggmap_2.6.1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/ggmap"
+
+ version('2.6.1', '25ad414a3a1c6d59a227a9f22601211a')
+
+ extends('R')
+
+ depends_on('r-ggplot2', type=nolink)
+ depends_on('r-proto', type=nolink)
+ depends_on('r-rgooglemaps', type=nolink)
+ depends_on('r-png', type=nolink)
+ depends_on('r-plyr', type=nolink)
+ depends_on('r-reshape2', type=nolink)
+ depends_on('r-rjson', type=nolink)
+ depends_on('r-mapproj', type=nolink)
+ depends_on('r-jpeg', type=nolink)
+ depends_on('r-geosphere', type=nolink)
+ depends_on('r-digest', type=nolink)
+ depends_on('r-scales', 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-ggplot2/package.py b/var/spack/repos/builtin/packages/r-ggplot2/package.py
index 2d1f53af26..a8cf21930f 100644
--- a/var/spack/repos/builtin/packages/r-ggplot2/package.py
+++ b/var/spack/repos/builtin/packages/r-ggplot2/package.py
@@ -42,12 +42,12 @@ class RGgplot2(Package):
extends('R')
- depends_on('r-digest')
- depends_on('r-gtable')
- depends_on('r-mass')
- depends_on('r-plyr')
- depends_on('r-reshape2')
- depends_on('r-scales')
+ depends_on('r-digest', type=nolink)
+ depends_on('r-gtable', type=nolink)
+ depends_on('r-mass', type=nolink)
+ depends_on('r-plyr', type=nolink)
+ depends_on('r-reshape2', type=nolink)
+ depends_on('r-scales', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-ggvis/package.py b/var/spack/repos/builtin/packages/r-ggvis/package.py
index 8fc1f397c8..29b2069ae9 100644
--- a/var/spack/repos/builtin/packages/r-ggvis/package.py
+++ b/var/spack/repos/builtin/packages/r-ggvis/package.py
@@ -38,13 +38,13 @@ class RGgvis(Package):
extends('R')
- depends_on('r-assertthat')
- depends_on('r-jsonlite')
- depends_on('r-shiny')
- depends_on('r-magrittr')
- depends_on('r-dplyr')
- depends_on('r-lazyeval')
- depends_on('r-htmltools')
+ depends_on('r-assertthat', type=nolink)
+ depends_on('r-jsonlite', type=nolink)
+ depends_on('r-shiny', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-dplyr', type=nolink)
+ depends_on('r-lazyeval', type=nolink)
+ depends_on('r-htmltools', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-glmnet/package.py b/var/spack/repos/builtin/packages/r-glmnet/package.py
new file mode 100644
index 0000000000..af6e1d1b63
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-glmnet/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 RGlmnet(Package):
+ """Extremely efficient procedures for fitting the entire lasso or
+ elastic-net regularization path for linear regression, logistic and
+ multinomial regression models, Poisson regression and the Cox model. Two
+ recent additions are the multiple-response Gaussian, and the grouped
+ multinomial. The algorithm uses cyclical coordinate descent in a path-wise
+ fashion, as described in the paper linked to via the URL below."""
+
+ homepage = "http://www.jstatsoft.org/v33/i01/"
+ url = "https://cran.r-project.org/src/contrib/glmnet_2.0-5.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/glmnet"
+
+ version('2.0-5', '049b18caa29529614cd684db3beaec2a')
+
+ extends('R')
+
+ depends_on('r-matrix', type=nolink)
+ depends_on('r-foreach', 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-googlevis/package.py b/var/spack/repos/builtin/packages/r-googlevis/package.py
new file mode 100644
index 0000000000..bcb7caa0fb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-googlevis/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 RGooglevis(Package):
+ """R interface to Google Charts API, allowing users to create interactive
+ charts based on data frames. Charts are displayed locally via the R HTTP
+ help server. A modern browser with an Internet connection is required and
+ for some charts a Flash player. The data remains local and is not uploaded
+ to Google."""
+
+ homepage = "https://github.com/mages/googleVis#googlevis"
+ url = "https://cran.r-project.org/src/contrib/googleVis_0.6.0.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/googleVis"
+
+ version('0.6.0', 'ec36fd2a6884ddc7baa894007d0d0468')
+
+ extends('R')
+
+ 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-gridbase/package.py b/var/spack/repos/builtin/packages/r-gridbase/package.py
new file mode 100644
index 0000000000..a2f55b4470
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-gridbase/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RGridbase(Package):
+ """Integration of base and grid graphics."""
+
+ homepage = "https://cran.r-project.org/web/packages/gridBase/index.html"
+ url = "https://cran.r-project.org/src/contrib/gridBase_0.4-7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/gridBase"
+
+ version('0.4-7', '6d5064a85f5c966a92ee468ae44c5f1f')
+
+ 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-gridextra/package.py b/var/spack/repos/builtin/packages/r-gridextra/package.py
index d215d10678..537426d42f 100644
--- a/var/spack/repos/builtin/packages/r-gridextra/package.py
+++ b/var/spack/repos/builtin/packages/r-gridextra/package.py
@@ -37,7 +37,7 @@ class RGridextra(Package):
extends('R')
- depends_on('r-gtable')
+ depends_on('r-gtable', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-gtools/package.py b/var/spack/repos/builtin/packages/r-gtools/package.py
new file mode 100644
index 0000000000..367bb30f87
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-gtools/package.py
@@ -0,0 +1,60 @@
+##############################################################################
+# 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 RGtools(Package):
+ """Functions to assist in R programming, including: - assist in developing,
+ updating, and maintaining R and R packages ('ask', 'checkRVersion',
+ 'getDependencies', 'keywords', 'scat'), - calculate the logit and inverse
+ logit transformations ('logit', 'inv.logit'), - test if a value is missing,
+ empty or contains only NA and NULL values ('invalid'), - manipulate R's
+ .Last function ('addLast'), - define macros ('defmacro'), - detect odd and
+ even integers ('odd', 'even'), - convert strings containing non-ASCII
+ characters (like single quotes) to plain ASCII ('ASCIIfy'), - perform a
+ binary search ('binsearch'), - sort strings containing both numeric and
+ character components ('mixedsort'), - create a factor variable from the
+ quantiles of a continuous variable ('quantcut'), - enumerate permutations
+ and combinations ('combinations', 'permutation'), - calculate and convert
+ between fold-change and log-ratio ('foldchange', 'logratio2foldchange',
+ 'foldchange2logratio'), - calculate probabilities and generate random
+ numbers from Dirichlet distributions ('rdirichlet', 'ddirichlet'), - apply
+ a function over adjacent subsets of a vector ('running'), - modify the
+ TCP\_NODELAY ('de-Nagle') flag for socket objects, - efficient 'rbind' of
+ data frames, even if the column names don't match ('smartbind'), - generate
+ significance stars from p-values ('stars.pval'), - convert characters
+ to/from ASCII codes."""
+
+ homepage = "https://cran.r-project.org/package=gtools"
+ url = "https://cran.r-project.org/src/contrib/gtools_3.5.0.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/gtools"
+
+ version('3.5.0', '45f8800c0336d35046641fbacc56bdbb')
+
+ 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-htmltools/package.py b/var/spack/repos/builtin/packages/r-htmltools/package.py
index 0aea564372..21cdbe9184 100644
--- a/var/spack/repos/builtin/packages/r-htmltools/package.py
+++ b/var/spack/repos/builtin/packages/r-htmltools/package.py
@@ -36,8 +36,8 @@ class RHtmltools(Package):
extends('R')
- depends_on('r-digest')
- depends_on('r-rcpp')
+ depends_on('r-digest', type=nolink)
+ depends_on('r-rcpp', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-htmlwidgets/package.py b/var/spack/repos/builtin/packages/r-htmlwidgets/package.py
new file mode 100644
index 0000000000..8090776f06
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-htmlwidgets/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 RHtmlwidgets(Package):
+ """A framework for creating HTML widgets that render in various contexts
+ including the R console, 'R Markdown' documents, and 'Shiny' web
+ applications."""
+
+ homepage = "https://github.com/ramnathv/htmlwidgets"
+ url = "https://cran.r-project.org/src/contrib/htmlwidgets_0.6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/htmlwidgets"
+
+ version('0.6', '7fa522d2eda97593978021bda9670c0e')
+
+ extends('R')
+
+ depends_on('r-htmltools', type=nolink)
+ depends_on('r-jsonlite', 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-httpuv/package.py b/var/spack/repos/builtin/packages/r-httpuv/package.py
index 6ab12bcf9d..57025d3a3c 100644
--- a/var/spack/repos/builtin/packages/r-httpuv/package.py
+++ b/var/spack/repos/builtin/packages/r-httpuv/package.py
@@ -42,7 +42,7 @@ class RHttpuv(Package):
extends('R')
- depends_on('r-rcpp')
+ depends_on('r-rcpp', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-httr/package.py b/var/spack/repos/builtin/packages/r-httr/package.py
index 77ec34ab03..227594fc0d 100644
--- a/var/spack/repos/builtin/packages/r-httr/package.py
+++ b/var/spack/repos/builtin/packages/r-httr/package.py
@@ -38,11 +38,11 @@ class RHttr(Package):
extends('R')
- depends_on('r-jsonlite')
- depends_on('r-mime')
- depends_on('r-curl')
- depends_on('r-openssl')
- depends_on('r-R6')
+ depends_on('r-jsonlite', type=nolink)
+ depends_on('r-mime', type=nolink)
+ depends_on('r-curl', type=nolink)
+ depends_on('r-openssl', type=nolink)
+ depends_on('r-R6', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-igraph/package.py b/var/spack/repos/builtin/packages/r-igraph/package.py
new file mode 100644
index 0000000000..37925d4e02
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-igraph/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 RIgraph(Package):
+ """Routines for simple graphs and network analysis. It can handle large
+ graphs very well and provides functions for generating random and regular
+ graphs, graph visualization, centrality methods and much more."""
+
+ homepage = "http://igraph.org/"
+ url = "https://cran.r-project.org/src/contrib/igraph_1.0.1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/igraph"
+
+ version('1.0.1', 'ea33495e49adf4a331e4ba60ba559065')
+
+ extends('R')
+
+ depends_on('r-matrix', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-nmf', type=nolink)
+ depends_on('r-irlba', type=nolink)
+ depends_on('gmp')
+ depends_on('libxml2')
+
+ 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-influencer/package.py b/var/spack/repos/builtin/packages/r-influencer/package.py
new file mode 100644
index 0000000000..dd525daf2b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-influencer/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 RInfluencer(Package):
+ """Provides functionality to compute various node centrality measures on
+ networks. Included are functions to compute betweenness centrality (by
+ utilizing Madduri and Bader's SNAP library), implementations of Burt's
+ constraint and effective network size (ENS) metrics, Borgatti's algorithm
+ to identify key players, and Valente's bridging metric. On Unix systems,
+ the betweenness, Key Players, and bridging implementations are parallelized
+ with OpenMP, which may run faster on systems which have OpenMP
+ configured."""
+
+ homepage = "https://github.com/rcc-uchicago/influenceR"
+ url = "https://cran.r-project.org/src/contrib/influenceR_0.1.0.tar.gz"
+
+ version('0.1.0', '6c8b6decd78c341364b5811fb3050ba5')
+
+ extends('R')
+
+ depends_on('r-igraph', type=nolink)
+ depends_on('r-matrix', 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-irlba/package.py b/var/spack/repos/builtin/packages/r-irlba/package.py
new file mode 100644
index 0000000000..42cc142e8a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-irlba/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 RIrlba(Package):
+ """Fast and memory efficient methods for truncated singular and eigenvalue
+ decompositions and principal component analysis of large sparse or dense
+ matrices."""
+
+ homepage = "https://cran.r-project.org/web/packages/irlba/index.html"
+ url = "https://cran.r-project.org/src/contrib/irlba_2.0.0.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/irlba"
+
+ version('2.0.0', '557674cf8b68fea5b9f231058c324d26')
+
+ extends('R')
+
+ depends_on('r-matrix', 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-iterators/package.py b/var/spack/repos/builtin/packages/r-iterators/package.py
new file mode 100644
index 0000000000..f5a3489e7d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-iterators/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 RIterators(Package):
+ """Support for iterators, which allow a programmer to traverse through all
+ the elements of a vector, list, or other collection of data."""
+
+ homepage = "https://cran.r-project.org/web/packages/iterators/index.html"
+ url = "https://cran.r-project.org/src/contrib/iterators_1.0.8.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/iterators"
+
+ version('1.0.8', '2ded7f82cddd8174f1ec98607946c6ee')
+
+ 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-jpeg/package.py b/var/spack/repos/builtin/packages/r-jpeg/package.py
new file mode 100644
index 0000000000..ef940720f8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-jpeg/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 RJpeg(Package):
+ """This package provides an easy and simple way to read, write and display
+ bitmap images stored in the JPEG format. It can read and write both files
+ and in-memory raw vectors."""
+
+ homepage = "http://www.rforge.net/jpeg/"
+ url = "https://cran.r-project.org/src/contrib/jpeg_0.1-8.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/jpeg"
+
+ version('0.1-8', '696007451d14395b1ed1d0e9af667a57')
+
+ extends('R')
+
+ depends_on('jpeg')
+
+ 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-jsonlite/package.py b/var/spack/repos/builtin/packages/r-jsonlite/package.py
index 6e231ed345..d1cb4b52c1 100644
--- a/var/spack/repos/builtin/packages/r-jsonlite/package.py
+++ b/var/spack/repos/builtin/packages/r-jsonlite/package.py
@@ -38,9 +38,10 @@ class RJsonlite(Package):
use with dynamic data in systems and applications."""
homepage = "https://github.com/jeroenooms/jsonlite"
- url = "https://cran.r-project.org/src/contrib/jsonlite_0.9.21.tar.gz"
+ url = "https://cran.r-project.org/src/contrib/jsonlite_1.0.tar.gz"
list_url = "https://cran.r-project.org/src/contrib/Archive/jsonlite"
+ version('1.0', 'c8524e086de22ab39b8ac8000220cc87')
version('0.9.21', '4fc382747f88a79ff0718a0d06bed45d')
extends('R')
diff --git a/var/spack/repos/builtin/packages/r-leaflet/package.py b/var/spack/repos/builtin/packages/r-leaflet/package.py
new file mode 100644
index 0000000000..2a91100c34
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-leaflet/package.py
@@ -0,0 +1,54 @@
+##############################################################################
+# 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 RLeaflet(Package):
+ """Create and customize interactive maps using the 'Leaflet' JavaScript
+ library and the 'htmlwidgets' package. These maps can be used directly from
+ the R console, from 'RStudio', in Shiny apps and R Markdown documents."""
+
+ homepage = "http://rstudio.github.io/leaflet/"
+ url = "https://cran.r-project.org/src/contrib/leaflet_1.0.1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/leaflet"
+
+ version('1.0.1', '7f3d8b17092604d87d4eeb579f73d5df')
+
+ extends('R')
+
+ depends_on('r-base64enc', type=nolink)
+ depends_on('r-htmlwidgets', type=nolink)
+ depends_on('r-htmltools', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-markdown', type=nolink)
+ depends_on('r-png', type=nolink)
+ depends_on('r-rcolorbrewer', type=nolink)
+ depends_on('r-raster', type=nolink)
+ depends_on('r-scales', type=nolink)
+ depends_on('r-sp', 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-lme4/package.py b/var/spack/repos/builtin/packages/r-lme4/package.py
new file mode 100644
index 0000000000..c52d9d0e27
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-lme4/package.py
@@ -0,0 +1,53 @@
+##############################################################################
+# 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 RLme4(Package):
+ """Fit linear and generalized linear mixed-effects models. The models and
+ their components are represented using S4 classes and methods. The core
+ computational algorithms are implemented using the 'Eigen' C++ library for
+ numerical linear algebra and 'RcppEigen' "glue"."""
+
+ homepage = "https://github.com/lme4/lme4/"
+ url = "https://cran.r-project.org/src/contrib/lme4_1.1-12.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/lme4"
+
+ version('1.1-12', 'da8aaebb67477ecb5631851c46207804')
+
+ extends('R')
+
+ depends_on('r-matrix', type=nolink)
+ depends_on('r-mass', type=nolink)
+ depends_on('r-lattice', type=nolink)
+ depends_on('r-nlme', type=nolink)
+ depends_on('r-minqa', type=nolink)
+ depends_on('r-nloptr', type=nolink)
+ depends_on('r-rcpp', type=nolink)
+ depends_on('r-rcppeigen', 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-lmtest/package.py b/var/spack/repos/builtin/packages/r-lmtest/package.py
new file mode 100644
index 0000000000..31a36f1f7e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-lmtest/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 RLmtest(Package):
+ """A collection of tests, data sets, and examples for diagnostic checking
+ in linear regression models. Furthermore, some generic tools for inference
+ in parametric models are provided."""
+
+ homepage = "https://cran.r-project.org/package=lmtest"
+ url = "https://cran.r-project.org/src/contrib/lmtest_0.9-34.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/lmtest"
+
+ version('0.9-34', 'fcdf7286bb5ccc2ca46be00bf25ac2fe')
+
+ extends('R')
+
+ depends_on('r-zoo', 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-lubridate/package.py b/var/spack/repos/builtin/packages/r-lubridate/package.py
index 88576911f0..2e5661fa4d 100644
--- a/var/spack/repos/builtin/packages/r-lubridate/package.py
+++ b/var/spack/repos/builtin/packages/r-lubridate/package.py
@@ -40,7 +40,8 @@ class RLubridate(Package):
version('1.5.6', 'a5dc44817548ee219d26a10bae92e611')
extends('R')
- depends_on('r-stringr')
+
+ depends_on('r-stringr', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-magic/package.py b/var/spack/repos/builtin/packages/r-magic/package.py
index f6ba97740b..2b8f95351a 100644
--- a/var/spack/repos/builtin/packages/r-magic/package.py
+++ b/var/spack/repos/builtin/packages/r-magic/package.py
@@ -39,7 +39,7 @@ class RMagic(Package):
extends('R')
- depends_on('r-abind')
+ depends_on('r-abind', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-mapproj/package.py b/var/spack/repos/builtin/packages/r-mapproj/package.py
new file mode 100644
index 0000000000..0f8bbe199b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-mapproj/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 RMapproj(Package):
+ """Converts latitude/longitude into projected coordinates."""
+
+ homepage = "https://cran.r-project.org/package=mapproj"
+ url = "https://cran.r-project.org/src/contrib/mapproj_1.2-4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/mapproj"
+
+ version('1.2-4', '10e22bde1c790e1540672f15ddcaee71')
+
+ extends('R')
+
+ depends_on('r-maps', 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-maps/package.py b/var/spack/repos/builtin/packages/r-maps/package.py
new file mode 100644
index 0000000000..1e0bfd2d43
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-maps/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 RMaps(Package):
+ """Display of maps. Projection code and larger maps are in separate
+ packages ('mapproj' and 'mapdata')."""
+
+ homepage = "https://cran.r-project.org/"
+ url = "https://cran.r-project.org/src/contrib/maps_3.1.1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/maps"
+
+ version('3.1.1', 'ff045eccb6d5a658db5a539116ddf764')
+
+ 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-maptools/package.py b/var/spack/repos/builtin/packages/r-maptools/package.py
new file mode 100644
index 0000000000..8d045a4ed4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-maptools/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 RMaptools(Package):
+ """Set of tools for manipulating and reading geographic data, in particular
+ ESRI shapefiles; C code used from shapelib. It includes binary access to
+ GSHHG shoreline files. The package also provides interface wrappers for
+ exchanging spatial objects with packages such as PBSmapping, spatstat,
+ maps, RArcInfo, Stata tmap, WinBUGS, Mondrian, and others."""
+
+ homepage = "http://r-forge.r-project.org/projects/maptools/"
+ url = "https://cran.r-project.org/src/contrib/maptools_0.8-39.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/maptools"
+
+ version('0.8-39', '3690d96afba8ef22c8e27ae540ffb836')
+
+ extends('R')
+
+ depends_on('r-sp', type=nolink)
+ depends_on('r-foreign', type=nolink)
+ 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-markdown/package.py b/var/spack/repos/builtin/packages/r-markdown/package.py
new file mode 100644
index 0000000000..c34727d2b0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-markdown/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 RMarkdown(Package):
+ """Provides R bindings to the 'Sundown' 'Markdown' rendering library
+ (https://github.com/vmg/sundown). 'Markdown' is a plain-text formatting
+ syntax that can be converted to 'XHTML' or other formats. See
+ http://en.wikipedia.org/wiki/Markdown for more information about
+ 'Markdown'."""
+
+ homepage = "https://github.com/rstudio/markdown"
+ url = "https://cran.r-project.org/src/contrib/markdown_0.7.7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/markdown"
+
+ version('0.7.7', '72deca9c675c7cc9343048edbc29f7ff')
+
+ extends('R')
+
+ depends_on('r-mime', 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-matrix/package.py b/var/spack/repos/builtin/packages/r-matrix/package.py
index fbd8a7b4df..1b45dc55ca 100644
--- a/var/spack/repos/builtin/packages/r-matrix/package.py
+++ b/var/spack/repos/builtin/packages/r-matrix/package.py
@@ -37,7 +37,7 @@ class RMatrix(Package):
extends('R')
- depends_on('r-lattice')
+ depends_on('r-lattice', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-matrixmodels/package.py b/var/spack/repos/builtin/packages/r-matrixmodels/package.py
new file mode 100644
index 0000000000..3cdce6fea6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-matrixmodels/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 RMatrixmodels(Package):
+ """Modelling with sparse and dense 'Matrix' matrices, using modular
+ prediction and response module classes."""
+
+ homepage = "http://matrix.r-forge.r-project.org/"
+ url = "https://cran.r-project.org/src/contrib/MatrixModels_0.4-1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/MatrixModels"
+
+ version('0.4-1', '65b3ab56650c62bf1046a3eb1f1e19a0')
+
+ extends('R')
+
+ depends_on('r-matrix', 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-memoise/package.py b/var/spack/repos/builtin/packages/r-memoise/package.py
index 6a0fb78650..81f3ff1dab 100644
--- a/var/spack/repos/builtin/packages/r-memoise/package.py
+++ b/var/spack/repos/builtin/packages/r-memoise/package.py
@@ -37,7 +37,7 @@ class RMemoise(Package):
extends('R')
- depends_on('r-digest')
+ depends_on('r-digest', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-mgcv/package.py b/var/spack/repos/builtin/packages/r-mgcv/package.py
new file mode 100644
index 0000000000..4c49462ba2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-mgcv/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 RMgcv(Package):
+ """GAMs, GAMMs and other generalized ridge regression with multiple
+ smoothing parameter estimation by GCV, REML or UBRE/AIC. Includes a gam()
+ function, a wide variety of smoothers, JAGS support and distributions
+ beyond the exponential family."""
+
+ homepage = "https://cran.r-project.org/package=mgcv"
+ url = "https://cran.r-project.org/src/contrib/mgcv_1.8-13.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/mgcv"
+
+ version('1.8-13', '30607be3aaf44b13bd8c81fc32e8c984')
+
+ extends('R')
+
+ depends_on('r-nlme', type=nolink)
+ depends_on('r-matrix', 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-mime/package.py b/var/spack/repos/builtin/packages/r-mime/package.py
index fb079f44c5..5e78889a76 100644
--- a/var/spack/repos/builtin/packages/r-mime/package.py
+++ b/var/spack/repos/builtin/packages/r-mime/package.py
@@ -30,9 +30,10 @@ class RMime(Package):
from /etc/mime.types in UNIX-type systems."""
homepage = "https://github.com/yihui/mime"
- url = "https://cran.r-project.org/src/contrib/mime_0.4.tar.gz"
+ url = "https://cran.r-project.org/src/contrib/mime_0.5.tar.gz"
list_url = "https://cran.r-project.org/src/contrib/Archive/mime"
+ version('0.5', '87e00b6d57b581465c19ae869a723c4d')
version('0.4', '789cb33e41db2206c6fc7c3e9fbc2c02')
extends('R')
diff --git a/var/spack/repos/builtin/packages/r-minqa/package.py b/var/spack/repos/builtin/packages/r-minqa/package.py
new file mode 100644
index 0000000000..16cff20b41
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-minqa/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 RMinqa(Package):
+ """Derivative-free optimization by quadratic approximation based on an
+ interface to Fortran implementations by M. J. D. Powell."""
+
+ homepage = "http://optimizer.r-forge.r-project.org/"
+ url = "https://cran.r-project.org/src/contrib/minqa_1.2.4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/minqa"
+
+ version('1.2.4', 'bcaae4fdba60a33528f2116e2fd51105')
+
+ 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-multcomp/package.py b/var/spack/repos/builtin/packages/r-multcomp/package.py
new file mode 100644
index 0000000000..54416502d9
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-multcomp/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 RMultcomp(Package):
+ """Simultaneous tests and confidence intervals for general linear
+ hypotheses in parametric models, including linear, generalized linear,
+ linear mixed effects, and survival models. The package includes demos
+ reproducing analyzes presented in the book "Multiple Comparisons Using R"
+ (Bretz, Hothorn, Westfall, 2010, CRC Press)."""
+
+ homepage = "http://multcomp.r-forge.r-project.org/"
+ url = "https://cran.r-project.org/src/contrib/multcomp_1.4-6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/multcomp"
+
+ version('1.4-6', 'f1353ede2ed78b23859a7f1f1f9ebe88')
+
+ extends('R')
+
+ depends_on('r-mvtnorm', type=nolink)
+ depends_on('r-survival', type=nolink)
+ depends_on('r-thdata', type=nolink)
+ depends_on('r-sandwich', type=nolink)
+ depends_on('r-codetools', 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-munsell/package.py b/var/spack/repos/builtin/packages/r-munsell/package.py
index 3216c95e00..b96b90f9c7 100644
--- a/var/spack/repos/builtin/packages/r-munsell/package.py
+++ b/var/spack/repos/builtin/packages/r-munsell/package.py
@@ -40,7 +40,7 @@ class RMunsell(Package):
extends('R')
- depends_on('r-colorspace')
+ depends_on('r-colorspace', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-mvtnorm/package.py b/var/spack/repos/builtin/packages/r-mvtnorm/package.py
new file mode 100644
index 0000000000..b3f7db60c6
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-mvtnorm/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 RMvtnorm(Package):
+ """Computes multivariate normal and t probabilities, quantiles, random
+ deviates and densities."""
+
+ homepage = "http://mvtnorm.r-forge.r-project.org/"
+ url = "https://cran.r-project.org/src/contrib/mvtnorm_1.0-5.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/mvtnorm"
+
+ version('1.0-5', '5894dd3969bbfa26f4862c45f9a48a52')
+
+ 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-ncdf4/package.py b/var/spack/repos/builtin/packages/r-ncdf4/package.py
new file mode 100644
index 0000000000..11bf7abb38
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-ncdf4/package.py
@@ -0,0 +1,56 @@
+##############################################################################
+# 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 RNcdf4(Package):
+ """Provides a high-level R interface to data files written using Unidata's
+ netCDF library (version 4 or earlier), which are binary data files that are
+ portable across platforms and include metadata information in addition to
+ the data sets. Using this package, netCDF files (either version 4 or
+ "classic" version 3) can be opened and data sets read in easily. It is also
+ easy to create new netCDF dimensions, variables, and files, in either
+ version 3 or 4 format, and manipulate existing netCDF files. This package
+ replaces the former ncdf package, which only worked with netcdf version 3
+ files. For various reasons the names of the functions have had to be
+ changed from the names in the ncdf package. The old ncdf package is still
+ available at the URL given below, if you need to have backward
+ compatibility. It should be possible to have both the ncdf and ncdf4
+ packages installed simultaneously without a problem. However, the ncdf
+ package does not provide an interface for netcdf version 4 files."""
+
+ homepage = "http://cirrus.ucsd.edu/~pierce/ncdf"
+ url = "https://cran.r-project.org/src/contrib/ncdf4_1.15.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/ncdf4"
+
+ version('1.15', 'cd60dadbae3be31371e1ed40ddeb420a')
+
+ extends('R')
+
+ depends_on('netcdf')
+
+ 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-networkd3/package.py b/var/spack/repos/builtin/packages/r-networkd3/package.py
new file mode 100644
index 0000000000..8884f7cf1b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-networkd3/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 RNetworkd3(Package):
+ """Creates 'D3' 'JavaScript' network, tree, dendrogram, and Sankey graphs
+ from 'R'."""
+
+ homepage = "http://cran.r-project.org/package=networkD3"
+ url = "https://cran.r-project.org/src/contrib/networkD3_0.2.12.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/networkD3"
+
+ version('0.2.12', '356fe4be59698e6fb052644bd9659d84')
+
+ extends('R')
+
+ depends_on('r-htmlwidgets', type=nolink)
+ depends_on('r-igraph', type=nolink)
+ depends_on('r-magrittr', 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-nlme/package.py b/var/spack/repos/builtin/packages/r-nlme/package.py
new file mode 100644
index 0000000000..1b6bb114e1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-nlme/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 RNlme(Package):
+ """Fit and compare Gaussian linear and nonlinear mixed-effects models."""
+
+ homepage = "https://cran.r-project.org/package=nlme"
+ url = "https://cran.r-project.org/src/contrib/nlme_3.1-128.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/nlme"
+
+ version('3.1-128', '3d75ae7380bf123761b95a073eb55008')
+
+ 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-nloptr/package.py b/var/spack/repos/builtin/packages/r-nloptr/package.py
new file mode 100644
index 0000000000..58cb585c49
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-nloptr/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 RNloptr(Package):
+ """nloptr is an R interface to NLopt. NLopt is a free/open-source library
+ for nonlinear optimization, providing a common interface for a number of
+ different free optimization routines available online as well as original
+ implementations of various other algorithms. See
+ http://ab-initio.mit.edu/wiki/index.php/NLopt_Introduction for more
+ information on the available algorithms. During installation on Unix the
+ NLopt code is downloaded and compiled from the NLopt website."""
+
+ homepage = "https://cran.r-project.org/package=nloptr"
+ url = "https://cran.r-project.org/src/contrib/nloptr_1.0.4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/nloptr"
+
+ version('1.0.4', '9af69a613349b236fd377d0a107f484c')
+
+ 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-nmf/package.py b/var/spack/repos/builtin/packages/r-nmf/package.py
new file mode 100644
index 0000000000..c30a1ac101
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-nmf/package.py
@@ -0,0 +1,60 @@
+##############################################################################
+# 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 RNmf(Package):
+ """Provides a framework to perform Non-negative Matrix Factorization (NMF).
+ The package implements a set of already published algorithms and seeding
+ methods, and provides a framework to test, develop and plug new/custom
+ algorithms. Most of the built-in algorithms have been optimized in C++, and
+ the main interface function provides an easy way of performing parallel
+ computations on multicore machines.."""
+
+ homepage = "http://renozao.github.io/NMF"
+ url = "https://cran.r-project.org/src/contrib/NMF_0.20.6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/NMF"
+
+ version('0.20.6', '81df07b3bf710a611db5af24730ff3d0')
+
+ extends('R')
+
+ depends_on('r-pkgmaker', type=nolink)
+ depends_on('r-registry', type=nolink)
+ depends_on('r-rngtools', type=nolink)
+ depends_on('r-cluster', type=nolink)
+ depends_on('r-stringr', type=nolink)
+ depends_on('r-digest', type=nolink)
+ depends_on('r-gridbase', type=nolink)
+ depends_on('r-colorspace', type=nolink)
+ depends_on('r-rcolorbrewer', type=nolink)
+ depends_on('r-foreach', type=nolink)
+ depends_on('r-doparallel', type=nolink)
+ depends_on('r-ggplot2', type=nolink)
+ depends_on('r-reshape2', 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-nnet/package.py b/var/spack/repos/builtin/packages/r-nnet/package.py
new file mode 100644
index 0000000000..be048f5ad0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-nnet/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 RNnet(Package):
+ """Software for feed-forward neural networks with a single hidden layer,
+ and for multinomial log-linear models."""
+
+ homepage = "http://www.stats.ox.ac.uk/pub/MASS4/"
+ url = "https://cran.r-project.org/src/contrib/nnet_7.3-12.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/nnet"
+
+ version('7.3-12', 'dc7c6f0d0de53d8fc72b44554400a74e')
+
+ 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-np/package.py b/var/spack/repos/builtin/packages/r-np/package.py
new file mode 100644
index 0000000000..bff7d0f195
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-np/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 RNp(Package):
+ """This package provides a variety of nonparametric (and semiparametric)
+ kernel methods that seamlessly handle a mix of continuous, unordered, and
+ ordered factor data types. We would like to gratefully acknowledge support
+ from the Natural Sciences and Engineering Research Council of Canada
+ (NSERC:www.nserc.ca), the Social Sciences and Humanities Research Council
+ of Canada (SSHRC:www.sshrc.ca), and the Shared Hierarchical Academic
+ Research Computing Network (SHARCNET:www.sharcnet.ca)."""
+
+ homepage = "https://github.com/JeffreyRacine/R-Package-np/"
+ url = "https://cran.r-project.org/src/contrib/np_0.60-2.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/np"
+
+ version('0.60-2', 'e094d52ddff7280272b41e6cb2c74389')
+
+ extends('R')
+
+ depends_on('r-boot', type=nolink)
+ depends_on('r-cubature', 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-pbkrtest/package.py b/var/spack/repos/builtin/packages/r-pbkrtest/package.py
new file mode 100644
index 0000000000..40b6f96927
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-pbkrtest/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 RPbkrtest(Package):
+ """Test in mixed effects models. Attention is on mixed effects models as
+ implemented in the 'lme4' package. This package implements a parametric
+ bootstrap test and a Kenward Roger modification of F-tests for linear mixed
+ effects models and a parametric bootstrap test for generalized linear mixed
+ models."""
+
+ homepage = "http://people.math.aau.dk/~sorenh/software/pbkrtest/"
+ url = "https://cran.r-project.org/src/contrib/pbkrtest_0.4-6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/pbkrtest"
+
+ version('0.4-6', '0a7d9ff83b8d131af9b2335f35781ef9')
+
+ extends('R')
+
+ depends_on('r-lme4', type=nolink)
+ depends_on('r-matrix', type=nolink)
+ depends_on('r-mass', 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-pkgmaker/package.py b/var/spack/repos/builtin/packages/r-pkgmaker/package.py
new file mode 100644
index 0000000000..87daec5ad0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-pkgmaker/package.py
@@ -0,0 +1,53 @@
+##############################################################################
+# 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 RPkgmaker(Package):
+ """This package provides some low-level utilities to use for package
+ development. It currently provides managers for multiple package specific
+ options and registries, vignette, unit test and bibtex related utilities.
+ It serves as a base package for packages like NMF, RcppOctave, doRNG, and
+ as an incubator package for other general purposes utilities, that will
+ eventually be packaged separately. It is still under heavy development and
+ changes in the interface(s) are more than likely to happen."""
+
+ homepage = "https://renozao.github.io/pkgmaker"
+ url = "https://cran.r-project.org/src/contrib/pkgmaker_0.22.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/pkgmaker"
+
+ version('0.22', '73a0c6d3e84c6dadf3de7582ef7e88a4')
+
+ extends('R')
+
+ depends_on('r-registry', type=nolink)
+ depends_on('r-codetools', type=nolink)
+ depends_on('r-digest', type=nolink)
+ depends_on('r-stringr', type=nolink)
+ depends_on('r-xtable', 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-plotrix/package.py b/var/spack/repos/builtin/packages/r-plotrix/package.py
new file mode 100644
index 0000000000..d1d61dbc4d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-plotrix/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RPlotrix(Package):
+ """Lots of plots, various labeling, axis and color scaling functions."""
+
+ homepage = "https://cran.r-project.org/package=plotrix"
+ url = "https://cran.r-project.org/src/contrib/plotrix_3.6-3.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/plotrix"
+
+ version('3.6-3', '23e3e022a13a596e9b77b40afcb4a2ef')
+
+ 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-plyr/package.py b/var/spack/repos/builtin/packages/r-plyr/package.py
index 192e7e8b18..fe4512347a 100644
--- a/var/spack/repos/builtin/packages/r-plyr/package.py
+++ b/var/spack/repos/builtin/packages/r-plyr/package.py
@@ -42,7 +42,7 @@ class RPlyr(Package):
extends('R')
- depends_on('r-rcpp')
+ depends_on('r-rcpp', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-png/package.py b/var/spack/repos/builtin/packages/r-png/package.py
new file mode 100644
index 0000000000..d3a80a4e16
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-png/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 RPng(Package):
+ """This package provides an easy and simple way to read, write and display
+ bitmap images stored in the PNG format. It can read and write both files
+ and in-memory raw vectors."""
+
+ homepage = "http://www.rforge.net/png/"
+ url = "https://cran.r-project.org/src/contrib/png_0.1-7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/png"
+
+ version('0.1-7', '1ebc8b8aa5979b12c5ec2384b30d649f')
+
+ extends('R')
+
+ depends_on('libpng')
+
+ 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-praise/package.py b/var/spack/repos/builtin/packages/r-praise/package.py
new file mode 100644
index 0000000000..102d86d2fa
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-praise/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RPraise(Package):
+ """Build friendly R packages that praise their users if they have done
+ something good, or they just need it to feel better."""
+
+ homepage = "https://github.com/gaborcsardi/praise"
+ url = "https://cran.r-project.org/src/contrib/praise_1.0.0.tar.gz"
+
+ version('1.0.0', '9318724cec0454884b5f762bee2da6a1')
+
+ 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-proto/package.py b/var/spack/repos/builtin/packages/r-proto/package.py
new file mode 100644
index 0000000000..07ace3ad29
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-proto/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 RProto(Package):
+ """An object oriented system using object-based, also called
+ prototype-based, rather than class-based object oriented ideas."""
+
+ homepage = "http://r-proto.googlecode.com/"
+ url = "https://cran.r-project.org/src/contrib/proto_0.3-10.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/proto"
+
+ version('0.3-10', 'd5523943a5be6ca2f0ab557c900f8212')
+
+ 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-quantmod/package.py b/var/spack/repos/builtin/packages/r-quantmod/package.py
new file mode 100644
index 0000000000..ecfbf49055
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-quantmod/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 RQuantmod(Package):
+ """Specify, build, trade, and analyse quantitative financial trading
+ strategies."""
+
+ homepage = "http://www.quantmod.com/"
+ url = "https://cran.r-project.org/src/contrib/quantmod_0.4-5.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/quantmod"
+
+ version('0.4-5', 'cab3c409e4de3df98a20f1ded60f3631')
+
+ extends('R')
+
+ depends_on('r-xts', type=nolink)
+ depends_on('r-zoo', type=nolink)
+ depends_on('r-ttr', 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-quantreg/package.py b/var/spack/repos/builtin/packages/r-quantreg/package.py
new file mode 100644
index 0000000000..89a26070ba
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-quantreg/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 RQuantreg(Package):
+ """Estimation and inference methods for models of conditional quantiles:
+ Linear and nonlinear parametric and non-parametric (total variation
+ penalized) models for conditional quantiles of a univariate response
+ and several methods for handling censored survival data. Portfolio
+ selection methods based on expected shortfall risk are also
+ included."""
+
+ homepage = "https://cran.r-project.org/package=quantreg"
+ url = "https://cran.r-project.org/src/contrib/quantreg_5.26.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/quantreg"
+
+ version('5.26', '1d89ed932fb4d67ae2d5da0eb8c2989f')
+
+ extends('R')
+
+ depends_on('r-sparsem', type=nolink)
+ depends_on('r-matrix', type=nolink)
+ depends_on('r-matrixmodels', 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-randomforest/package.py b/var/spack/repos/builtin/packages/r-randomforest/package.py
new file mode 100644
index 0000000000..1066c217f4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-randomforest/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 RRandomforest(Package):
+ """Classification and regression based on a forest of trees using random
+ inputs."""
+
+ homepage = "https://www.stat.berkeley.edu/~breiman/RandomForests/"
+ url = "https://cran.r-project.org/src/contrib/randomForest_4.6-12.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/randomForest"
+
+ version('4.6-12', '071c03af974198e861f1475c5bab9e7a')
+
+ 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-raster/package.py b/var/spack/repos/builtin/packages/r-raster/package.py
new file mode 100644
index 0000000000..39f4256703
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-raster/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 RRaster(Package):
+ """Reading, writing, manipulating, analyzing and modeling of gridded
+ spatial data. The package implements basic and high-level functions.
+ Processing of very large files is supported."""
+
+ homepage = "http://cran.r-project.org/package=raster"
+ url = "https://cran.r-project.org/src/contrib/raster_2.5-8.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/raster"
+
+ version('2.5-8', '2a7db931c74d50516e82d04687c0a577')
+
+ extends('R')
+
+ depends_on('r-sp', 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-rcpp/package.py b/var/spack/repos/builtin/packages/r-rcpp/package.py
index 2428f4af3b..94580a8700 100644
--- a/var/spack/repos/builtin/packages/r-rcpp/package.py
+++ b/var/spack/repos/builtin/packages/r-rcpp/package.py
@@ -37,9 +37,10 @@ class RRcpp(Package):
last two."""
homepage = "http://dirk.eddelbuettel.com/code/rcpp.html"
- url = "https://cran.r-project.org/src/contrib/Rcpp_0.12.5.tar.gz"
+ url = "https://cran.r-project.org/src/contrib/Rcpp_0.12.6.tar.gz"
list_url = "https://cran.r-project.org/src/contrib/Archive/Rcpp"
+ version('0.12.6', 'db4280fb0a79cd19be73a662c33b0a8b')
version('0.12.5', 'f03ec05b4e391cc46e7ce330e82ff5e2')
extends('R')
diff --git a/var/spack/repos/builtin/packages/r-rcppeigen/package.py b/var/spack/repos/builtin/packages/r-rcppeigen/package.py
index 3175628a73..ecf9256ab3 100644
--- a/var/spack/repos/builtin/packages/r-rcppeigen/package.py
+++ b/var/spack/repos/builtin/packages/r-rcppeigen/package.py
@@ -48,8 +48,8 @@ class RRcppeigen(Package):
extends('R')
- depends_on('r-matrix')
- depends_on('r-rcpp')
+ depends_on('r-matrix', type=nolink)
+ depends_on('r-rcpp', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-registry/package.py b/var/spack/repos/builtin/packages/r-registry/package.py
new file mode 100644
index 0000000000..119a84718a
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-registry/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RRegistry(Package):
+ """Provides a generic infrastructure for creating and using registries."""
+
+ homepage = "https://cran.r-project.org/web/packages/registry/index.html"
+ url = "https://cran.r-project.org/src/contrib/registry_0.3.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/registry"
+
+ version('0.3', '85345b334ec81eb3da6edcbb27c5f421')
+
+ 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-reshape2/package.py b/var/spack/repos/builtin/packages/r-reshape2/package.py
index a96a314008..769e82aff9 100644
--- a/var/spack/repos/builtin/packages/r-reshape2/package.py
+++ b/var/spack/repos/builtin/packages/r-reshape2/package.py
@@ -37,9 +37,9 @@ class RReshape2(Package):
extends('R')
- depends_on('r-plyr')
- depends_on('r-stringr')
- depends_on('r-rcpp')
+ depends_on('r-plyr', type=nolink)
+ 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),
diff --git a/var/spack/repos/builtin/packages/r-rgooglemaps/package.py b/var/spack/repos/builtin/packages/r-rgooglemaps/package.py
new file mode 100644
index 0000000000..0d28b68b94
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rgooglemaps/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 RRgooglemaps(Package):
+ """This package serves two purposes: (i) Provide a comfortable R interface
+ to query the Google server for static maps, and (ii) Use the map as a
+ background image to overlay plots within R. This requires proper coordinate
+ scaling."""
+
+ homepage = "https://cran.r-project.org/package=RgoogleMaps"
+ url = "https://cran.r-project.org/src/contrib/RgoogleMaps_1.2.0.7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/RgoogleMaps"
+
+ version('1.2.0.7', '2e1df804f0331b4122d841105f0c7ea5')
+
+ extends('R')
+
+ depends_on('r-png', type=nolink)
+ depends_on('r-rjsonio', 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-rjson/package.py b/var/spack/repos/builtin/packages/r-rjson/package.py
new file mode 100644
index 0000000000..94ca45f485
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rjson/package.py
@@ -0,0 +1,41 @@
+##############################################################################
+# 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 RRjson(Package):
+ """Converts R object into JSON objects and vice-versa."""
+
+ homepage = "https://cran.r-project.org/package=rjson"
+ url = "https://cran.r-project.org/src/contrib/rjson_0.2.15.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/rjson"
+
+ version('0.2.15', '87d0e29bc179c6aeaf312b138089f8e9')
+
+ 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-rjsonio/package.py b/var/spack/repos/builtin/packages/r-rjsonio/package.py
new file mode 100644
index 0000000000..b56dfbe21d
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rjsonio/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 RRjsonio(Package):
+ """This is a package that allows conversion to and from data in Javascript
+ object notation (JSON) format. This allows R objects to be inserted into
+ Javascript/ECMAScript/ActionScript code and allows R programmers to read
+ and convert JSON content to R objects. This is an alternative to rjson
+ package. Originally, that was too slow for converting large R objects to
+ JSON and was not extensible. rjson's performance is now similar to this
+ package, and perhaps slightly faster in some cases. This package uses
+ methods and is readily extensible by defining methods for different
+ classes, vectorized operations, and C code and callbacks to R functions for
+ deserializing JSON objects to R. The two packages intentionally share the
+ same basic interface. This package (RJSONIO) has many additional options to
+ allow customizing the generation and processing of JSON content. This
+ package uses libjson rather than implementing yet another JSON parser. The
+ aim is to support other general projects by building on their work,
+ providing feedback and benefit from their ongoing development."""
+
+ homepage = "https://cran.r-project.org/package=RJSONIO"
+ url = "https://cran.r-project.org/src/contrib/RJSONIO_1.3-0.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/RJSONIO"
+
+ version('1.3-0', '72c395622ba8d1435ec43849fd32c830')
+
+ 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-rmysql/package.py b/var/spack/repos/builtin/packages/r-rmysql/package.py
index 086374df07..bc42c51ca9 100644
--- a/var/spack/repos/builtin/packages/r-rmysql/package.py
+++ b/var/spack/repos/builtin/packages/r-rmysql/package.py
@@ -36,7 +36,7 @@ class RRmysql(Package):
extends('R')
- depends_on('r-dbi')
+ depends_on('r-dbi', type=nolink)
depends_on('mariadb')
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/r-rngtools/package.py b/var/spack/repos/builtin/packages/r-rngtools/package.py
new file mode 100644
index 0000000000..2f33cd9f88
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-rngtools/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 RRngtools(Package):
+ """This package contains a set of functions for working with Random Number
+ Generators (RNGs). In particular, it defines a generic S4 framework for
+ getting/setting the current RNG, or RNG data that are embedded into objects
+ for reproducibility. Notably, convenient default methods greatly facilitate
+ the way current RNG settings can be changed."""
+
+ homepage = "https://renozao.github.io/rngtools"
+ url = "https://cran.r-project.org/src/contrib/rngtools_1.2.4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/rngtools"
+
+ version('1.2.4', '715967f8b3af2848a76593a7c718c1cd')
+
+ extends('R')
+
+ depends_on('r-pkgmaker', type=nolink)
+ depends_on('r-stringr', 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-roxygen2/package.py b/var/spack/repos/builtin/packages/r-roxygen2/package.py
new file mode 100644
index 0000000000..4f4b8dcafa
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-roxygen2/package.py
@@ -0,0 +1,48 @@
+##############################################################################
+# 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 RRoxygen2(Package):
+ """A 'Doxygen'-like in-source documentation system for Rd, collation, and
+ 'NAMESPACE' files."""
+
+ homepage = "https://github.com/klutometis/roxygen"
+ url = "https://cran.r-project.org/src/contrib/roxygen2_5.0.1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/roxygen2"
+
+ version('5.0.1', 'df5bdbc12fda372e427710ef1cd92ed7')
+
+ extends('R')
+
+ depends_on('r-stringr', type=nolink)
+ depends_on('r-stringi', type=nolink)
+ depends_on('r-brew', type=nolink)
+ depends_on('r-digest', 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-rpostgresql/package.py b/var/spack/repos/builtin/packages/r-rpostgresql/package.py
index 53e1978ffe..999fb4a1b9 100644
--- a/var/spack/repos/builtin/packages/r-rpostgresql/package.py
+++ b/var/spack/repos/builtin/packages/r-rpostgresql/package.py
@@ -44,7 +44,7 @@ class RRpostgresql(Package):
extends('R')
- depends_on('r-dbi')
+ depends_on('r-dbi', type=nolink)
depends_on('postgresql')
def install(self, spec, prefix):
diff --git a/var/spack/repos/builtin/packages/r-rsqlite/package.py b/var/spack/repos/builtin/packages/r-rsqlite/package.py
index 7c03ab8950..c7d41f0fb3 100644
--- a/var/spack/repos/builtin/packages/r-rsqlite/package.py
+++ b/var/spack/repos/builtin/packages/r-rsqlite/package.py
@@ -38,7 +38,7 @@ class RRsqlite(Package):
extends('R')
- depends_on('r-dbi')
+ depends_on('r-dbi', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-rstan/package.py b/var/spack/repos/builtin/packages/r-rstan/package.py
index 00fd5116d9..1d0052563b 100644
--- a/var/spack/repos/builtin/packages/r-rstan/package.py
+++ b/var/spack/repos/builtin/packages/r-rstan/package.py
@@ -44,13 +44,13 @@ class RRstan(Package):
extends('R')
- depends_on('r-ggplot2')
- depends_on('r-stanheaders')
- depends_on('r-inline')
- depends_on('r-gridextra')
- depends_on('r-rcpp')
- depends_on('r-rcppeigen')
- depends_on('r-bh')
+ depends_on('r-ggplot2', type=nolink)
+ depends_on('r-stanheaders', type=nolink)
+ depends_on('r-inline', type=nolink)
+ depends_on('r-gridextra', type=nolink)
+ depends_on('r-rcpp', type=nolink)
+ depends_on('r-rcppeigen', type=nolink)
+ depends_on('r-bh', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-rstudioapi/package.py b/var/spack/repos/builtin/packages/r-rstudioapi/package.py
index 0ef2d9b987..bf9b35fe5b 100644
--- a/var/spack/repos/builtin/packages/r-rstudioapi/package.py
+++ b/var/spack/repos/builtin/packages/r-rstudioapi/package.py
@@ -33,6 +33,7 @@ class RRstudioapi(Package):
url = "https://cran.r-project.org/src/contrib/rstudioapi_0.5.tar.gz"
list_url = "https://cran.r-project.org/src/contrib/Archive/rstudioapi"
+ version('0.6', 'fdb13bf46aab02421557e713fceab66b')
version('0.5', '6ce1191da74e7bcbf06b61339486b3ba')
extends('R')
diff --git a/var/spack/repos/builtin/packages/r-sandwich/package.py b/var/spack/repos/builtin/packages/r-sandwich/package.py
new file mode 100644
index 0000000000..ffd62b1b14
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-sandwich/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 RSandwich(Package):
+ """Model-robust standard error estimators for cross-sectional, time series,
+ and longitudinal data."""
+
+ homepage = "https://cran.r-project.org/package=sandwich"
+ url = "https://cran.r-project.org/src/contrib/sandwich_2.3-4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/sandwich"
+
+ version('2.3-4', 'a621dbd8a57b6e1e036496642aadc2e5')
+
+ extends('R')
+
+ depends_on('r-zoo', 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-scales/package.py b/var/spack/repos/builtin/packages/r-scales/package.py
index 046a05d48e..44bd5a5a2a 100644
--- a/var/spack/repos/builtin/packages/r-scales/package.py
+++ b/var/spack/repos/builtin/packages/r-scales/package.py
@@ -37,12 +37,12 @@ class RScales(Package):
extends('R')
- depends_on('r-rcolorbrewer')
- depends_on('r-dichromat')
- depends_on('r-plyr')
- depends_on('r-munsell')
- depends_on('r-labeling')
- depends_on('r-rcpp')
+ depends_on('r-rcolorbrewer', type=nolink)
+ depends_on('r-dichromat', type=nolink)
+ depends_on('r-plyr', type=nolink)
+ depends_on('r-munsell', type=nolink)
+ depends_on('r-labeling', type=nolink)
+ depends_on('r-rcpp', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-shiny/package.py b/var/spack/repos/builtin/packages/r-shiny/package.py
index a9a9532910..a80860f4a5 100644
--- a/var/spack/repos/builtin/packages/r-shiny/package.py
+++ b/var/spack/repos/builtin/packages/r-shiny/package.py
@@ -39,13 +39,13 @@ class RShiny(Package):
extends('R')
- depends_on('r-httpuv')
- depends_on('r-mime')
- depends_on('r-jsonlite')
- depends_on('r-xtable')
- depends_on('r-digest')
- depends_on('r-htmltools')
- depends_on('r-R6')
+ depends_on('r-httpuv', type=nolink)
+ depends_on('r-mime', type=nolink)
+ depends_on('r-jsonlite', type=nolink)
+ depends_on('r-xtable', type=nolink)
+ depends_on('r-digest', type=nolink)
+ depends_on('r-htmltools', type=nolink)
+ depends_on('r-R6', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-sp/package.py b/var/spack/repos/builtin/packages/r-sp/package.py
new file mode 100644
index 0000000000..bb7589d490
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-sp/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 RSp(Package):
+ """Classes and methods for spatial data; the classes document where the
+ spatial location information resides, for 2D or 3D data. Utility functions
+ are provided, e.g. for plotting data as maps, spatial selection, as well as
+ methods for retrieving coordinates, for subsetting, print, summary, etc."""
+
+ homepage = "https://github.com/edzer/sp/"
+ url = "https://cran.r-project.org/src/contrib/sp_1.2-3.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/sp"
+
+ version('1.2-3', 'f0e24d993dec128642ee66b6b47b10c1')
+
+ 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-sparsem/package.py b/var/spack/repos/builtin/packages/r-sparsem/package.py
new file mode 100644
index 0000000000..c4dabf5c15
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-sparsem/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 RSparsem(Package):
+ """Some basic linear algebra functionality for sparse matrices is provided:
+ including Cholesky decomposition and backsolving as well as standard R
+ subsetting and Kronecker products."""
+
+ homepage = "http://www.econ.uiuc.edu/~roger/research/sparse/sparse.html"
+ url = "https://cran.r-project.org/src/contrib/SparseM_1.7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/SparseM"
+
+ version('1.7', '7b5b0ab166a0929ef6dcfe1d97643601')
+
+ 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-stringr/package.py b/var/spack/repos/builtin/packages/r-stringr/package.py
index 01fd969522..08ded95833 100644
--- a/var/spack/repos/builtin/packages/r-stringr/package.py
+++ b/var/spack/repos/builtin/packages/r-stringr/package.py
@@ -40,8 +40,8 @@ class RStringr(Package):
extends('R')
- depends_on('r-stringi')
- depends_on('r-magrittr')
+ depends_on('r-stringi', type=nolink)
+ depends_on('r-magrittr', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-survey/package.py b/var/spack/repos/builtin/packages/r-survey/package.py
new file mode 100644
index 0000000000..646793f7a4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-survey/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 RSurvey(Package):
+ """Summary statistics, two-sample tests, rank tests, generalised linear
+ models, cumulative link models, Cox models, loglinear models, and general
+ maximum pseudolikelihood estimation for multistage stratified,
+ cluster-sampled, unequally weighted survey samples. Variances by Taylor
+ series linearisation or replicate weights. Post-stratification,
+ calibration, and raking. Two-phase subsampling designs. Graphics. PPS
+ sampling without replacement. Principal components, factor analysis."""
+
+ homepage = "http://r-survey.r-forge.r-project.org/survey/"
+ url = "https://cran.r-project.org/src/contrib/survey_3.30-3.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/survey"
+
+ version('3.30-3', 'c70cdae9cb43d35abddd11173d64cad0')
+
+ 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-survival/package.py b/var/spack/repos/builtin/packages/r-survival/package.py
new file mode 100644
index 0000000000..cfba9298fe
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-survival/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 RSurvival(Package):
+ """Contains the core survival analysis routines, including definition of
+ Surv objects, Kaplan-Meier and Aalen-Johansen (multi-state) curves, Cox
+ models, and parametric accelerated failure time models."""
+
+ homepage = "https://cran.r-project.org/package=survival"
+ url = "https://cran.r-project.org/src/contrib/survival_2.39-5.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/survival"
+
+ version('2.39-5', 'a3cc6b5762e8c5c0bb9e64a276710be2')
+
+ extends('R')
+
+ depends_on('r-matrix', 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-tarifx/package.py b/var/spack/repos/builtin/packages/r-tarifx/package.py
new file mode 100644
index 0000000000..a85aa8baef
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-tarifx/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 RTarifx(Package):
+ """A collection of various utility and convenience functions."""
+
+ homepage = "https://cran.r-project.org/package=taRifx"
+ url = "https://cran.r-project.org/src/contrib/taRifx_1.0.6.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/taRifx"
+
+ version('1.0.6', '7e782e04bd69d929b29f91553382e6a2')
+
+ extends('R')
+
+ depends_on('r-reshape2', type=nolink)
+ depends_on('r-plyr', 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-testthat/package.py b/var/spack/repos/builtin/packages/r-testthat/package.py
new file mode 100644
index 0000000000..60dfd2afcd
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-testthat/package.py
@@ -0,0 +1,48 @@
+##############################################################################
+# 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 RTestthat(Package):
+ """A unit testing system designed to be fun, flexible and easy to set
+ up."""
+
+ homepage = "https://github.com/hadley/testthat"
+ url = "https://cran.r-project.org/src/contrib/testthat_1.0.2.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/testthat"
+
+ version('1.0.2', '6c6a90c8db860292df5784a70e07b8dc')
+
+ extends('R')
+
+ depends_on('r-digest', type=nolink)
+ depends_on('r-crayon', type=nolink)
+ depends_on('r-praise', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-R6', 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-thdata/package.py b/var/spack/repos/builtin/packages/r-thdata/package.py
new file mode 100644
index 0000000000..e1cf050181
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-thdata/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 RThdata(Package):
+ """Contains data sets used in other packages Torsten Hothorn maintains."""
+
+ homepage = "https://cran.r-project.org/package=TH.data"
+ url = "https://cran.r-project.org/src/contrib/TH.data_1.0-7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/TH.data"
+
+ version('1.0-7', '3e8b6b1a4699544f175215aed7039a94')
+
+ extends('R')
+
+ depends_on('r-survival', type=nolink)
+ depends_on('r-mass', 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-threejs/package.py b/var/spack/repos/builtin/packages/r-threejs/package.py
new file mode 100644
index 0000000000..89ecce8bfc
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-threejs/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 RThreejs(Package):
+ """Create interactive 3D scatter plots, network plots, and globes using the
+ 'three.js' visualization library ("http://threejs.org")."""
+
+ homepage = "http://bwlewis.github.io/rthreejs"
+ url = "https://cran.r-project.org/src/contrib/threejs_0.2.2.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/threejs"
+
+ version('0.2.2', '35c179b10813c5e4bd3e7827fae6627b')
+
+ extends('R')
+
+ depends_on('r-htmlwidgets', type=nolink)
+ depends_on('r-base64enc', type=nolink)
+ depends_on('r-matrix', 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-tibble/package.py b/var/spack/repos/builtin/packages/r-tibble/package.py
index 837c3df603..c601de3c88 100644
--- a/var/spack/repos/builtin/packages/r-tibble/package.py
+++ b/var/spack/repos/builtin/packages/r-tibble/package.py
@@ -37,9 +37,9 @@ class RTibble(Package):
extends('R')
- depends_on('r-assertthat')
- depends_on('r-lazyeval')
- depends_on('r-rcpp')
+ depends_on('r-assertthat', type=nolink)
+ depends_on('r-lazyeval', type=nolink)
+ depends_on('r-rcpp', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-tidyr/package.py b/var/spack/repos/builtin/packages/r-tidyr/package.py
index 2db7b174c2..d82ae278fe 100644
--- a/var/spack/repos/builtin/packages/r-tidyr/package.py
+++ b/var/spack/repos/builtin/packages/r-tidyr/package.py
@@ -37,12 +37,12 @@ class RTidyr(Package):
version('0.5.1', '3cadc869510c054ed93d374ab44120bd')
extends('R')
- depends_on('r-tibble')
- depends_on('r-dplyr')
- depends_on('r-stringi')
- depends_on('r-lazyeval')
- depends_on('r-magrittr')
- depends_on('r-rcpp')
+ depends_on('r-tibble', type=nolink)
+ depends_on('r-dplyr', type=nolink)
+ depends_on('r-stringi', type=nolink)
+ depends_on('r-lazyeval', type=nolink)
+ depends_on('r-magrittr', type=nolink)
+ depends_on('r-rcpp', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-ttr/package.py b/var/spack/repos/builtin/packages/r-ttr/package.py
new file mode 100644
index 0000000000..c9b40a8262
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-ttr/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 RTtr(Package):
+ """Functions and data to construct technical trading rules with R."""
+
+ homepage = "https://github.com/joshuaulrich/TTR"
+ url = "https://cran.r-project.org/src/contrib/TTR_0.23-1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/TTR"
+
+ version('0.23-1', '35f693ac0d97e8ec742ebea2da222986')
+
+ extends('R')
+
+ depends_on('r-xts', type=nolink)
+ depends_on('r-zoo', 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-vcd/package.py b/var/spack/repos/builtin/packages/r-vcd/package.py
new file mode 100644
index 0000000000..06e609b1ef
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-vcd/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 RVcd(Package):
+ """Visualization techniques, data sets, summary and inference procedures
+ aimed particularly at categorical data. Special emphasis is given to highly
+ extensible grid graphics. The package was package was originally inspired
+ by the book "Visualizing Categorical Data" by Michael Friendly and is now
+ the main support package for a new book, "Discrete Data Analysis with R" by
+ Michael Friendly and David Meyer (2015)."""
+
+ homepage = "https://cran.r-project.org/package=vcd"
+ url = "https://cran.r-project.org/src/contrib/vcd_1.4-1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/vcd"
+
+ version('1.4-1', '7db150a77f173f85b69a1f86f73f8f02')
+
+ extends('R')
+
+ depends_on('r-mass', type=nolink)
+ depends_on('r-colorspace', type=nolink)
+ depends_on('r-lmtest', 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-visnetwork/package.py b/var/spack/repos/builtin/packages/r-visnetwork/package.py
new file mode 100644
index 0000000000..90d55bbb2f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-visnetwork/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 RVisnetwork(Package):
+ """Provides an R interface to the 'vis.js' JavaScript charting library. It
+ allows an interactive visualization of networks."""
+
+ homepage = "https://github.com/datastorm-open/visNetwork"
+ url = "https://cran.r-project.org/src/contrib/visNetwork_1.0.1.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/visNetwork"
+
+ version('1.0.1', 'dfc9664a5165134d8dbdcd949ad73cf7')
+
+ extends('R')
+
+ depends_on('r-htmlwidgets', type=nolink)
+ depends_on('r-htmltools', type=nolink)
+ depends_on('r-jsonlite', type=nolink)
+ depends_on('r-magrittr', 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-xlconnect/package.py b/var/spack/repos/builtin/packages/r-xlconnect/package.py
index 4ee7163be1..332c80fb92 100644
--- a/var/spack/repos/builtin/packages/r-xlconnect/package.py
+++ b/var/spack/repos/builtin/packages/r-xlconnect/package.py
@@ -33,13 +33,13 @@ class RXlconnect(Package):
url = "https://cran.r-project.org/src/contrib/XLConnect_0.2-11.tar.gz"
list_url = "https://cran.r-project.org/src/contrib/Archive/XLConnect"
- version('0.2-11', '9d1769a103cda05665df399cc335017d',
- url='https://cran.r-project.org/src/contrib/Archive/XLConnect/XLConnect_0.2-11.tar.gz')
+ version('0.2-12', '3340d05d259f0a41262eab4ed32617ad')
+ version('0.2-11', '9d1769a103cda05665df399cc335017d')
extends('R')
- depends_on('r-xlconnectjars')
- depends_on('r-rjava')
+ depends_on('r-xlconnectjars', type=nolink)
+ depends_on('r-rjava', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-xlconnectjars/package.py b/var/spack/repos/builtin/packages/r-xlconnectjars/package.py
index c1fb365883..26e822d2b7 100644
--- a/var/spack/repos/builtin/packages/r-xlconnectjars/package.py
+++ b/var/spack/repos/builtin/packages/r-xlconnectjars/package.py
@@ -32,12 +32,12 @@ class RXlconnectjars(Package):
url = "https://cran.r-project.org/src/contrib/XLConnectJars_0.2-9.tar.gz"
list_url = "https://cran.r-project.org/src/contrib/Archive/XLConnectJars"
- version('0.2-9', 'e6d6b1acfede26acaa616ee421bd30fb',
- url='https://cran.r-project.org/src/contrib/Archive/XLConnectJars/XLConnectJars_0.2-9.tar.gz')
+ version('0.2-12', '6984e5140cd1c887c017ef6f88cbba81')
+ version('0.2-9', 'e6d6b1acfede26acaa616ee421bd30fb')
extends('R')
- depends_on('r-rjava')
+ depends_on('r-rjava', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-xlsx/package.py b/var/spack/repos/builtin/packages/r-xlsx/package.py
index 99d41dbb94..6fed09296d 100644
--- a/var/spack/repos/builtin/packages/r-xlsx/package.py
+++ b/var/spack/repos/builtin/packages/r-xlsx/package.py
@@ -37,8 +37,8 @@ class RXlsx(Package):
extends('R')
- depends_on('r-rjava')
- depends_on('r-xlsxjars')
+ depends_on('r-rjava', type=nolink)
+ depends_on('r-xlsxjars', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-xlsxjars/package.py b/var/spack/repos/builtin/packages/r-xlsxjars/package.py
index 80e86d0c73..19f0006ce9 100644
--- a/var/spack/repos/builtin/packages/r-xlsxjars/package.py
+++ b/var/spack/repos/builtin/packages/r-xlsxjars/package.py
@@ -37,7 +37,7 @@ class RXlsxjars(Package):
extends('R')
- depends_on('r-rjava')
+ depends_on('r-rjava', type=nolink)
def install(self, spec, prefix):
R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
diff --git a/var/spack/repos/builtin/packages/r-xml/package.py b/var/spack/repos/builtin/packages/r-xml/package.py
new file mode 100644
index 0000000000..591c887f32
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-xml/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 RXml(Package):
+ """Many approaches for both reading and creating XML (and HTML) documents
+ (including DTDs), both local and accessible via HTTP or FTP. Also offers
+ access to an 'XPath' "interpreter"."""
+
+ homepage = "http://www.omegahat.net/RSXML"
+ url = "https://cran.r-project.org/src/contrib/XML_3.98-1.4.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/XML"
+
+ version('3.98-1', '1a7f3ce6f264eeb109bfa57bedb26c14')
+
+ extends('R')
+
+ depends_on('libxml2')
+
+ 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-xts/package.py b/var/spack/repos/builtin/packages/r-xts/package.py
new file mode 100644
index 0000000000..d8a4b62d27
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-xts/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 RXts(Package):
+ """Provide for uniform handling of R's different time-based data classes by
+ extending zoo, maximizing native format information preservation and
+ allowing for user level customization and extension, while simplifying
+ cross-class interoperability."""
+
+ homepage = "http://r-forge.r-project.org/projects/xts/"
+ url = "https://cran.r-project.org/src/contrib/xts_0.9-7.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/xts"
+
+ version('0.9-7', 'a232e94aebfa654653a7d88a0503537b')
+
+ extends('R')
+
+ depends_on('r-zoo', 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-yaml/package.py b/var/spack/repos/builtin/packages/r-yaml/package.py
new file mode 100644
index 0000000000..b68f26e9b8
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-yaml/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 RYaml(Package):
+ """This package implements the libyaml YAML 1.1 parser and emitter
+ (http://pyyaml.org/wiki/LibYAML) for R."""
+
+ homepage = "https://cran.r-project.org/web/packages/yaml/index.html"
+ url = "https://cran.r-project.org/src/contrib/yaml_2.1.13.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/yaml"
+
+ version('2.1.13', 'f2203ea395adaff6bd09134666191d9a')
+
+ 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-zoo/package.py b/var/spack/repos/builtin/packages/r-zoo/package.py
new file mode 100644
index 0000000000..d889cacbee
--- /dev/null
+++ b/var/spack/repos/builtin/packages/r-zoo/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 RZoo(Package):
+ """An S3 class with methods for totally ordered indexed observations. It is
+ particularly aimed at irregular time series of numeric vectors/matrices and
+ factors. zoo's key design goals are independence of a particular
+ index/date/time class and consistency with ts and base R by providing
+ methods to extend standard generics."""
+
+ homepage = "http://zoo.r-forge.r-project.org/"
+ url = "https://cran.r-project.org/src/contrib/zoo_1.7-13.tar.gz"
+ list_url = "https://cran.r-project.org/src/contrib/Archive/zoo"
+
+ version('1.7-13', '99521dfa4c668e692720cefcc5a1bf30')
+
+ 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/texlive/package.py b/var/spack/repos/builtin/packages/texlive/package.py
new file mode 100644
index 0000000000..d44a6e311e
--- /dev/null
+++ b/var/spack/repos/builtin/packages/texlive/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 *
+import os
+
+
+class Texlive(Package):
+ """TeX Live is a free software distribution for the TeX typesetting
+ system"""
+
+ homepage = "http://www.tug.org/texlive"
+
+ version('live', 'e671eea7f142c438959493cc42a2a59b', url="http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz")
+
+ # There does not seem to be a complete list of schemes.
+ # Examples include:
+ # full scheme (everything)
+ # medium scheme (small + more packages and languages)
+ # small scheme (basic + xetex, metapost, a few languages)
+ # basic scheme (plain and latex)
+ # minimal scheme (plain only)
+ # See:
+ # https://www.tug.org/texlive/doc/texlive-en/texlive-en.html#x1-25025r6
+ variant('scheme', default="small",
+ description='Package subset to install (e.g. full, small, basic)')
+
+ depends_on('perl')
+
+ def install(self, spec, prefix):
+ env = os.environ
+ env['TEXLIVE_INSTALL_PREFIX'] = prefix
+ perl = which('perl')
+ scheme = spec.variants['scheme'].value
+ perl('./install-tl', '-scheme', scheme,
+ '-portable', '-profile', '/dev/null')
diff --git a/var/spack/repos/builtin/packages/tree/package.py b/var/spack/repos/builtin/packages/tree/package.py
new file mode 100644
index 0000000000..8e0e176c4c
--- /dev/null
+++ b/var/spack/repos/builtin/packages/tree/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 Tree(Package):
+ """Tree is a recursive directory listing command that produces a depth
+ indented listing of files, which is colorized ala dircolors if
+ the LS_COLORS environment variable is set and output is to
+ tty. Tree has been ported and reported to work under the
+ following operating systems: Linux, FreeBSD, OS X, Solaris,
+ HP/UX, Cygwin, HP Nonstop and OS/2."""
+
+ homepage = "http://mama.indstate.edu/users/ice/tree/"
+ url = "http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.tgz"
+
+ version('1.7.0', 'abe3e03e469c542d8e157cdd93f4d8a6')
+
+ def install(self, spec, prefix):
+ filter_file(r'^prefix =.*', 'prefix = %s' % prefix, 'Makefile')
+ filter_file(r'^CFLAGS', '# use spack settings instead... CFLAGS',
+ 'Makefile')
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py
index 77589bb8f9..4d1d27e74a 100644
--- a/var/spack/repos/builtin/packages/trilinos/package.py
+++ b/var/spack/repos/builtin/packages/trilinos/package.py
@@ -138,16 +138,23 @@ class Trilinos(Package):
'-DTPL_ENABLE_LAPACK=ON',
'-DLAPACK_LIBRARY_NAMES=%s' % to_lib_name(
spec['lapack'].lapack_shared_lib),
- '-DLAPACK_LIBRARY_DIRS=%s' % spec['lapack'].prefix,
+ '-DLAPACK_LIBRARY_DIRS=%s' % spec['lapack'].prefix.lib,
'-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON',
'-DTrilinos_ENABLE_CXX11:BOOL=ON',
'-DTPL_ENABLE_Netcdf:BOOL=ON',
'-DTPL_ENABLE_HYPRE:BOOL=%s' % (
- 'ON' if '+hypre' in spec else 'OFF'),
- '-DTPL_ENABLE_HDF5:BOOL=%s' % (
- 'ON' if '+hdf5' in spec else 'OFF'),
+ 'ON' if '+hypre' in spec else 'OFF')
])
+ if '+hdf5' in spec:
+ options.extend([
+ '-DTPL_ENABLE_HDF5:BOOL=ON',
+ '-DHDF5_INCLUDE_DIRS:PATH=%s' % spec['hdf5'].prefix.include,
+ '-DHDF5_LIBRARY_DIRS:PATH=%s' % spec['hdf5'].prefix.lib
+ ])
+ else:
+ options.extend(['-DTPL_ENABLE_HDF5:BOOL=OFF'])
+
if '+boost' in spec:
options.extend([
'-DTPL_ENABLE_Boost:BOOL=ON',