Skip to content

Commit 6000d15

Browse files
committed
Merge branch 'binary_packages' of github.com:gartung/spack into binary_packages
2 parents 53b15b5 + ac68a2d commit 6000d15

File tree

726 files changed

+35458
-14117
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

726 files changed

+35458
-14117
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,8 @@
1515
/share/spack/modules
1616
/share/spack/lmod
1717
/TAGS
18+
*.swp
1819
/htmlcov
1920
.coverage
21+
#*
22+
.#*

.mailmap

Lines changed: 56 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,56 @@
1-
Todd Gamblin <[email protected]> George Todd Gamblin <[email protected]>
2-
Todd Gamblin <[email protected]> Todd Gamblin <[email protected]>
3-
Adam Moody <[email protected]> Adam T. Moody <[email protected]>
4-
Alfredo Gimenez <[email protected]> Alfredo Gimenez <[email protected]>
5-
David Boehme <[email protected]> David Boehme <[email protected]>
6-
David Boehme <[email protected]> David Boehme <[email protected]>
7-
Kevin Brandstatter <[email protected]> Kevin Brandstatter <[email protected]>
8-
Luc Jaulmes <[email protected]> Luc Jaulmes <[email protected]>
9-
Saravan Pantham <[email protected]> Saravan Pantham <[email protected]>
10-
Tom Scogland <[email protected]> Tom Scogland <[email protected]>
11-
Tom Scogland <[email protected]> Tom Scogland <[email protected]>
12-
Joachim Protze <[email protected]> jprotze <[email protected]>
13-
Gregory L. Lee <[email protected]> Gregory L. Lee <[email protected]>
14-
Gregory L. Lee <[email protected]> Gregory L. Lee <[email protected]>
15-
Gregory L. Lee <[email protected]> Gregory L. Lee <[email protected]>
16-
Gregory L. Lee <[email protected]> Gregory L. Lee <[email protected]>
17-
Gregory L. Lee <[email protected]> Gregory Lee <[email protected]>
18-
Massimiliano Culpo <[email protected]> Massimiliano Culpo <[email protected]>
19-
Massimiliano Culpo <[email protected]> alalazo <[email protected]>
20-
Mark Miller <[email protected]> miller86 <[email protected]>
1+
Abhinav Bhatele <[email protected]> Abhinav Bhatele <[email protected]>
2+
Adam Moody <[email protected]> Adam T. Moody <[email protected]>
3+
Alfredo Gimenez <[email protected]> Alfredo Gimenez <[email protected]>
4+
Alfredo Gimenez <[email protected]> Alfredo Adolfo Gimenez <[email protected]>
5+
Andrew Williams <[email protected]> Andrew Williams <[email protected]>
6+
Ben Boeckel <[email protected]> Ben Boeckel <[email protected]>
7+
Ben Boeckel <[email protected]> Ben Boeckel <[email protected]>
8+
Benedikt Hegner <[email protected]> Benedikt Hegner <[email protected]>
9+
Brett Viren <[email protected]> Brett Viren <[email protected]>
10+
David Boehme <[email protected]> David Boehme <[email protected]>
11+
David Boehme <[email protected]> David Boehme <[email protected]>
12+
David Poliakoff <[email protected]> David Poliakoff <[email protected]>
13+
Dhanannjay Deo <[email protected]> Dhanannjay 'Djay' Deo <[email protected]>
14+
Elizabeth Fischer <[email protected]> Elizabeth F <[email protected]>
15+
Elizabeth Fischer <[email protected]> Elizabeth F <[email protected]>
16+
Elizabeth Fischer <[email protected]> Elizabeth Fischer <[email protected]>
17+
Elizabeth Fischer <[email protected]> citibeth <[email protected]>
18+
Geoffrey Oxberry <[email protected]> Geoffrey Oxberry <[email protected]>
19+
Glenn Johnson <[email protected]> Glenn Johnson <[email protected]>
20+
Glenn Johnson <[email protected]> Glenn Johnson <[email protected]>
21+
Gregory Becker <[email protected]> Gregory Becker <becker33.llnl.gov>
22+
Gregory Becker <[email protected]> becker33 <becker33.llnl.gov>
23+
Gregory Becker <[email protected]> becker33 <[email protected]>
24+
Gregory L. Lee <[email protected]> Greg Lee <[email protected]>
25+
Gregory L. Lee <[email protected]> Gregory L. Lee <[email protected]>
26+
Gregory L. Lee <[email protected]> Gregory L. Lee <[email protected]>
27+
Gregory L. Lee <[email protected]> Gregory L. Lee <[email protected]>
28+
Gregory L. Lee <[email protected]> Gregory L. Lee <[email protected]>
29+
Gregory L. Lee <[email protected]> Gregory Lee <[email protected]>
30+
31+
James Wynne III <[email protected]> James Riley Wynne III <[email protected]>
32+
James Wynne III <[email protected]> James Wynne III <[email protected]>
33+
Joachim Protze <[email protected]> jprotze <[email protected]>
34+
Kelly (KT) Thompson <[email protected]> <[email protected]>
35+
Kelly (KT) Thompson <[email protected]> Kelly Thompson <[email protected]>
36+
Kevin Brandstatter <[email protected]> Kevin Brandstatter <[email protected]>
37+
Luc Jaulmes <[email protected]> Luc Jaulmes <[email protected]>
38+
Mario Melara <[email protected]> Mario Melara <[email protected]>
39+
Mark Miller <[email protected]> miller86 <[email protected]>
40+
Massimiliano Culpo <[email protected]> Massimiliano Culpo <[email protected]>
41+
Massimiliano Culpo <[email protected]> alalazo <[email protected]>
42+
Mayeul d'Avezac <[email protected]> Mayeul d'Avezac <[email protected]>
43+
Mitchell Devlin <[email protected]> Mitchell Devlin <[email protected]>
44+
Nicolas Richart <[email protected]> Nicolas <[email protected]>
45+
Nicolas Richart <[email protected]> Nicolas Richart <[email protected]>
46+
Peter Scheibel <[email protected]> scheibelp <[email protected]>
47+
Robert D. French <[email protected]> Robert D. French <[email protected]>
48+
Robert D. French <[email protected]> Robert.French <[email protected]>
49+
Robert D. French <[email protected]> robertdfrench <[email protected]>
50+
Saravan Pantham <[email protected]> Saravan Pantham <[email protected]>
51+
Stephen Herbein <[email protected]> Stephen Herbein <[email protected]>
52+
Todd Gamblin <[email protected]> George Todd Gamblin <[email protected]>
53+
Todd Gamblin <[email protected]> Todd Gamblin <[email protected]>
54+
Tom Scogland <[email protected]> Tom Scogland <[email protected]>
55+
Tom Scogland <[email protected]> Tom Scogland <[email protected]>
56+
Tzanio Kolev <[email protected]> Tzanio <[email protected]>

.travis.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
language: python
22

3+
# Only build master and develop on push; do not build every branch.
4+
branches:
5+
only:
6+
- master
7+
- develop
8+
39
# Construct build matrix
410
python:
511
- 2.6
612
- 2.7
713

814
env:
9-
- TEST_SUITE=unit
15+
- TEST_SUITE=unit CYAML=true
16+
- TEST_SUITE=unit CYAML=false
1017
- TEST_SUITE=flake8
1118
- TEST_SUITE=doc
1219

@@ -24,13 +31,15 @@ addons:
2431
apt:
2532
packages:
2633
- graphviz
34+
- libyaml-dev
2735

2836
# Install various dependencies
2937
install:
3038
- pip install coveralls
3139
- pip install flake8
3240
- pip install sphinx
3341
- pip install mercurial
42+
- if [[ $CYAML == true ]]; then pip install --global-option "--with-libyaml" pyyaml; fi
3443

3544
before_script:
3645
# Need this for the git tests to succeed.
@@ -43,7 +52,7 @@ before_script:
4352
script: share/spack/qa/run-$TEST_SUITE-tests
4453

4554
after_success:
46-
- if [[ $TEST_SUITE == unit && $TRAVIS_PYTHON_VERSION == 2.7 ]]; then coveralls; fi
55+
- if [[ $TEST_SUITE == unit && $CYAML == false && $TRAVIS_PYTHON_VERSION == 2.7 ]]; then coveralls; fi
4756

4857
notifications:
4958
email:

README.md

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ Documentation
3535
[**Full documentation**](http://spack.readthedocs.io/) for Spack is
3636
the first place to look.
3737

38+
We've also got a [**Spack 101 Tutorial**](http://spack.readthedocs.io/en/latest/tutorial_sc16.html),
39+
so you can learn Spack yourself, or teach users at your own site.
40+
3841
See also:
3942
* [Technical paper](http://www.computer.org/csdl/proceedings/sc/2015/3723/00/2807623.pdf) and
4043
[slides](https://tgamblin.github.io/files/Gamblin-Spack-SC15-Talk.pdf) on Spack's design and implementation.
@@ -63,17 +66,11 @@ Contributing to Spack is relatively easy. Just send us a
6366
When you send your request, make ``develop`` the destination branch on the
6467
[Spack repository](https://github.com/LLNL/spack).
6568

66-
Before you send a PR, your code should pass the following checks:
67-
68-
* Your contribution will need to pass the `spack test` command.
69-
Run this before submitting your PR.
70-
71-
* Also run the `share/spack/qa/run-flake8-tests` script to check for PEP8 compliance.
72-
To encourage contributions and readability by a broad audience,
73-
Spack uses the [PEP8](https://www.python.org/dev/peps/pep-0008/) coding
74-
standard with [a few exceptions](https://github.com/LLNL/spack/blob/develop/.flake8).
75-
69+
Your PR must pass Spack's unit tests and documentation tests, and must be
70+
[PEP 8](https://www.python.org/dev/peps/pep-0008/) compliant.
7671
We enforce these guidelines with [Travis CI](https://travis-ci.org/LLNL/spack).
72+
To run these tests locally, and for helpful tips on git, see our
73+
[Contribution Guide](http://spack.readthedocs.io/en/latest/contribution_guide.html).
7774

7875
Spack uses a rough approximation of the [Git
7976
Flow](http://nvie.com/posts/a-successful-git-branching-model/)

bin/spack

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,31 @@
2525
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
2626
##############################################################################
2727
import sys
28-
if not sys.version_info[:2] >= (2, 6):
28+
if (sys.version_info[0] > 2) or (sys.version_info[:2] < (2, 6)):
2929
v_info = sys.version_info[:3]
30-
sys.exit("Spack requires Python 2.6 or higher. "
30+
sys.exit("Spack requires Python 2.6 or 2.7. "
3131
"This is Python %d.%d.%d." % v_info)
3232

3333
import os
3434

3535
# Find spack's location and its prefix.
36-
SPACK_FILE = os.path.realpath(os.path.expanduser(sys.argv[0]))
36+
SPACK_FILE = os.path.realpath(os.path.expanduser(__file__))
3737
os.environ["SPACK_FILE"] = SPACK_FILE
3838
SPACK_PREFIX = os.path.dirname(os.path.dirname(SPACK_FILE))
3939

4040
# Allow spack libs to be imported in our scripts
4141
SPACK_LIB_PATH = os.path.join(SPACK_PREFIX, "lib", "spack")
4242
sys.path.insert(0, SPACK_LIB_PATH)
43+
44+
# Try to use system YAML if it is available, as it might have libyaml
45+
# support (for faster loading via C). Load it before anything in
46+
# lib/spack/external so it will take precedence over Spack's PyYAML.
47+
try:
48+
import yaml
49+
except ImportError:
50+
pass # ignore and use slow yaml
51+
52+
# Add external libs
4353
SPACK_EXTERNAL_LIBS = os.path.join(SPACK_LIB_PATH, "external")
4454
sys.path.insert(0, SPACK_EXTERNAL_LIBS)
4555

@@ -62,7 +72,8 @@ orphaned_pyc_files = [
6272
os.path.join(SPACK_LIB_PATH, 'spack', 'platforms', 'cray_xc.pyc'),
6373
os.path.join(SPACK_LIB_PATH, 'spack', 'cmd', 'package-list.pyc'),
6474
os.path.join(SPACK_LIB_PATH, 'spack', 'cmd', 'test-install.pyc'),
65-
os.path.join(SPACK_LIB_PATH, 'spack', 'cmd', 'url-parse.pyc')
75+
os.path.join(SPACK_LIB_PATH, 'spack', 'cmd', 'url-parse.pyc'),
76+
os.path.join(SPACK_LIB_PATH, 'spack', 'test', 'yaml.pyc')
6677
]
6778

6879
for pyc_file in orphaned_pyc_files:
@@ -161,7 +172,7 @@ def main():
161172
# If the user asked for it, don't check ssl certs.
162173
if args.insecure:
163174
tty.warn("You asked for --insecure. Will NOT check SSL certificates.")
164-
spack.curl.add_default_arg('-k')
175+
spack.insecure = True
165176

166177
# Try to load the particular command asked for and run it
167178
command = spack.cmd.get_command(args.command.replace('-', '_'))

etc/spack/defaults/config.yaml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# -------------------------------------------------------------------------
2+
# This is the default spack configuration file.
3+
#
4+
# Settings here are versioned with Spack and are intended to provide
5+
# sensible defaults out of the box. Spack maintainers should edit this
6+
# file to keep it current.
7+
#
8+
# Users can override these settings by editing the following files.
9+
#
10+
# Per-spack-instance settings (overrides defaults):
11+
# $SPACK_ROOT/etc/spack/config.yaml
12+
#
13+
# Per-user settings (overrides default and site settings):
14+
# ~/.spack/config.yaml
15+
# -------------------------------------------------------------------------
16+
config:
17+
# This is the path to the root of the Spack install tree.
18+
# You can use $spack here to refer to the root of the spack instance.
19+
install_tree: $spack/opt/spack
20+
21+
22+
# Locations where different types of modules should be installed.
23+
module_roots:
24+
tcl: $spack/share/spack/modules
25+
lmod: $spack/share/spack/lmod
26+
dotkit: $spack/share/spack/dotkit
27+
28+
29+
# Temporary locations Spack can try to use for builds.
30+
#
31+
# Spack will use the first one it finds that exists and is writable.
32+
# You can use $tempdir to refer to the system default temp directory
33+
# (as returned by tempfile.gettempdir()).
34+
#
35+
# A value of $spack/var/spack/stage indicates that Spack should run
36+
# builds directly inside its install directory without staging them in
37+
# temporary space.
38+
#
39+
# The build stage can be purged with `spack purge --stage`.
40+
build_stage:
41+
- $tempdir
42+
- /nfs/tmp2/$user
43+
- $spack/var/spack/stage
44+
45+
46+
# Cache directory already downloaded source tarballs and archived
47+
# repositories. This can be purged with `spack purge --downloads`.
48+
source_cache: $spack/var/spack/cache
49+
50+
51+
# Cache directory for miscellaneous files, like the package index.
52+
# This can be purged with `spack purge --misc-cache`
53+
misc_cache: ~/.spack/cache
54+
55+
56+
# If this is false, tools like curl that use SSL will not verify
57+
# certifiates. (e.g., curl will use use the -k option)
58+
verify_ssl: true
59+
60+
61+
# If set to true, Spack will always check checksums after downloading
62+
# archives. If false, Spack skips the checksum step.
63+
checksum: true
64+
65+
66+
# If set to true, `spack install` and friends will NOT clean
67+
# potentially harmful variables from the build environment. Use wisely.
68+
dirty: false
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# -------------------------------------------------------------------------
2+
# This file controls default concretization preferences for Spack.
3+
#
4+
# Settings here are versioned with Spack and are intended to provide
5+
# sensible defaults out of the box. Spack maintainers should edit this
6+
# file to keep it current.
7+
#
8+
# Users can override these settings by editing the following files.
9+
#
10+
# Per-spack-instance settings (overrides defaults):
11+
# $SPACK_ROOT/etc/spack/packages.yaml
12+
#
13+
# Per-user settings (overrides default and site settings):
14+
# ~/.spack/packages.yaml
15+
# -------------------------------------------------------------------------
16+
packages:
17+
all:
18+
compiler: [clang, gcc, intel]

etc/spack/defaults/packages.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
# -------------------------------------------------------------------------
1616
packages:
1717
all:
18+
compiler: [gcc, intel, pgi, clang, xl, nag]
1819
providers:
1920
mpi: [openmpi, mpich]
2021
blas: [openblas]
2122
lapack: [openblas]
23+
pil: [py-pillow]

lib/spack/docs/Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
#
33

44
# You can set these variables from the command line.
5-
SPHINXOPTS =
6-
SPHINXBUILD = sphinx-build
5+
SPHINXOPTS = -E
6+
JOBS ?= $(shell python -c 'import multiprocessing; print multiprocessing.cpu_count()')
7+
SPHINXBUILD = sphinx-build -j $(JOBS)
78
PAPER =
89
BUILDDIR = _build
910

0 commit comments

Comments
 (0)