Before I learned that I was stumbling over a real but (#1308), I thought
I needed to arrange for the fetcher to skip the unpack step.
This commit removes the useful `def unpack`.
Use the resource machinery to fetch/cache/unpack/... the App::cpanminus
tarball.
- this hardcodes the version, I can't figure out how to use a variant to
hold/set the value and access it in the resource().
- change up the install to use the `with working_dir()` meme.
Make running perl's tests conditional, one must now specify the
`--run-tests` flag to the `spack install` command in order to run the
tests.
On one system (8 core, 16GB Digital Ocean Droplet), installing without
tests takes 3 minutes, with tests takes 16 minutes.
Rather than hard-coding the verison of `cpanm` that's [optionally]
installed into the core, make it a variant with a default value of
'1.7042'.
Also discovered that `prefix + 'bin'` is the same as `prefix.bin`, so
embetter that bit of code.
Add perl package, based on [work by
justintoo](https://github.com/LLNL/spack/pull/105). He had too many
things pulled into that pull request, this just adds a perl package.
Support the current releases on the past three minor branches.
Run perl's tests before installing.
Install cpanm into the core (makes building on top of this perl *much*
simpler). Controlled by a variant.
I cargo culted that from my *nextflow* package. I [thought I] needed it
to work around Spack trying to use tar to unpack something that was
neither a tar ball nor unpackable.
This package works fine without it. In retrospect, the error that I was
seeing in the *nextflow* package was probably this problem #1308.
Add a package for [ack](http://beyondgrep.com/install/). Simply install
the fatpacked script.
It uses '#!/usr/bin/env perl' and it very much not choosy about what
perl it needs. For now just trust that there's one available, perhaps
someday we can/should uncomment the depends_on('perl').
Follows the methodolgy I used in nextflow. Has the same
uninstall/install problem that nextflow has, there is an issue in
progress for that: https://github.com/LLNL/spack/issues/1308.
Tested on CentOS7.
r-jsonlite 0.0.21 -> 1.0
r-mime 0.4 -> 0.5
rcpp 0.12.5 -> 0.12.6
CRAN is funny. The older versions of these packages are still available
in package specific directories but the current version is not there, so
I don't see any way to make the older versions work.
This is my first cut at a package to support nextflow. It's also my
first package. It works, but has issues. I'm going to submit a pull
request and get some coaching on how to deal with it.
One issue particular: if I install, then uninstall, then try to install
again (which uses the cached copy of the "distribution file"), it
explodes.
Assuming a bash interactive environment will be correctly formed on login, we
should prefer to probe the environment using a shell that reports itself as
`bash` instead of `sh` which may not source files that set the
environment modules in statements like:
```
case "$is" in
bash) test -s /etc/bash.bashrc.local && . /etc/bash.bashrc.local ;;
ksh) test -s /etc/ksh.kshrc.local && . /etc/ksh.kshrc.local ;;
zsh) test -s /etc/zsh.zshrc.local && . /etc/zsh.zshrc.local ;;
ash) test -s /etc/ash.ashrc.local && . /etc/ash.ashrc.local
esac
test -s /etc/sh.shrc.local && . /etc/sh.shrc.local
```