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.
With the addition of dependency types and with `py-setuptools` set as
type='build' there are more packages that need to have `py-setuptools`
added as a dependency.
This PR adds that dependency for the following packages:
- py-h5py
- py-networkx
- py-pytables
- py-scikit-image
In addition to `list_url` make sure the package has the `url` attribute
set before attempting to add urls from a list. This is to cover the case
where there may be a `list_url` specified in tandem with a
`url_for_version`.
This commit will make urls from list_url only checked if `list_url` is
set in the package file. This makes more sense as there is no need to
check for those if the attribute is not present. If `url` is present and
`list_url` is not then it would result in the same url. If
`url_for_version` is used then that will not work anyway.
This PR adds the `nolink` dependency type to r- package dependencies.
This is needed due to the new dependency types in Spack. A couple of
packages were updated with new versions as well.
This PR allows archive file retrieval from urls derived from the
`list_url` setting in a package file. This allows for continued
retrieval of checksummed archive files even when they are moved to a new
remote location when a package is updated upstream.
This commit introduces a mechanism to insure that R package dependencies
are built with the Spack compiler wrapper. A copy of Makeconf is made
before `filter_compilers` is called. This is then pointed to by the
R_MAKEVARS_SITE environment variable set up in
`setup_dependent_environment`. With this the normal compilers are used
outside of spack and the spack wrapper compilers are used inside of
spack.
This commit also standardizes on the `join_path` call. It also sets the
commented build command to reflect what is actually used with the newer
string formatting.