New technique parses output of `module list` in clean login environment
in order to let convoluted initialization scripts to work for us rather
than against us as when trying to parse them directly.
The list of default environment modules is obtained by calling
`module list -lt`
from a subshell with a wiped environment. This allows `/etc/profile` and other
init scripts to be fully sourced which should generally include loading the
default modules.
The list of default modules is then parsed for the first acceptable CPU target,
assumed to be the back_end target.
WIP: I started trying to build gtkplus@3.20, but this package has many more
dependencies than v2 and it requires newer versions of existing packages. This
commit provides updates for 5 packages that are required by GTK+3. This is not
the complete set of changes required for GTK+3.
atk - move default version from 2.14 -> 2.20.
glib - move default version from 2.42 -> 2.49
- v2.49 requires pcre+utf as a new dependency.
pcre - if variant +utf is selected, add '--enable-unicode-properties' to the
configure options.
libepoxy - new package to spack
- manages OpenGL function pointers.
pango - move default version from 1.36 -> 1.40
A platform to generically cover all Cray systems is introduced to avoid having
specific platforms for each of XK (XE, XT), XC, and future systems using CrayPE
and CNL.
The platform searches for 'front_end' and 'back_end' targets, in order, from:
* Environment variables 'SPACK_FRONT_END' and 'SPACK_BACK_END'
* A spack configuration file 'targets.yaml'
* Parsing `/etc/bash.bashrc.local` for first loaded CrayPE CPU target.
If a back_end target is not found through one of these methods, an exception is
raised. Otherwise, the back_end is set as the default target. The shell init
script search is based on recommendations in Crayports case #144359.
No automagic way of determining front_end targets has been found (to date) so if
a front_end is not specified through configuration, it is ignored which should
leave a spack instance in a consistant state.
Add a package for [tree](http://mama.indstate.edu/users/ice/tree/).
It has a Makefile that hardcodes a prefix and some CFLAGS. Used
filter_file to:
- set the make variable *prefix* to `prefix`; and
- comment out their CFLAGS, just use ours....
It installs, runs on CentOS7, and uninstalls cleanly.