Skip to content

Commit 8830cfc

Browse files
committed
Merge remote-tracking branch 'llnl/develop' into binary_packages
2 parents b2019a6 + e78e87f commit 8830cfc

File tree

1,341 files changed

+45675
-9884
lines changed

Some content is hidden

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

1,341 files changed

+45675
-9884
lines changed

.codecov.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
coverage:
2+
precision: 2
3+
round: nearest
4+
range: 60...90
5+
status:
6+
project:
7+
default: true
8+
llnl:
9+
threshold: 0.5
10+
paths:
11+
- lib/spack/llnl
12+
commands:
13+
threshold: 0.5
14+
paths:
15+
- lib/spack/spack/cmd
16+
core:
17+
threshold: 0.5
18+
paths:
19+
- "!lib/spack/llnl"
20+
- "!lib/spack/spack/cmd"
21+
22+
ignore:
23+
- lib/spack/spack/test/.*
24+
- lib/spack/env/.*
25+
- lib/spack/docs/.*
26+
- lib/spack/external/.*
27+
28+
comment: off

.flake8

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@
1111
# - E272: multiple spaces before keyword
1212
#
1313
# Let people use terse Python features:
14-
# - E731 : lambda expressions
14+
# - E731: lambda expressions
1515
#
1616
# Spack allows wildcard imports:
1717
# - F403: disable wildcard import
1818
#
19-
# These are required to get the package.py files to test clean.
19+
# These are required to get the package.py files to test clean:
2020
# - F405: `name` may be undefined, or undefined from star imports: `module`
2121
# - F821: undefined name `name` (needed for cmake, configure, etc.)
2222
# - F999: syntax error in doctest

.travis.yml

Lines changed: 47 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
#=============================================================================
22
# Project settings
33
#=============================================================================
4-
language: python
5-
64
# Only build master and develop on push; do not build every branch.
75
branches:
86
only:
@@ -13,29 +11,52 @@ branches:
1311
#=============================================================================
1412
# Build matrix
1513
#=============================================================================
16-
python:
17-
- 2.6
18-
- 2.7
19-
20-
env:
21-
- TEST_SUITE=unit
22-
- TEST_SUITE=flake8
23-
- TEST_SUITE=doc
24-
2514
matrix:
26-
# Flake8 and Sphinx no longer support Python 2.6, and one run is enough.
27-
exclude:
28-
- python: 2.6
29-
env: TEST_SUITE=flake8
30-
- python: 2.6
31-
env: TEST_SUITE=doc
32-
# Explicitly include an OS X build with homebrew's python.
33-
# Works around Python issues on Travis for OSX, described here:
34-
# http://blog.fizyk.net.pl/blog/running-python-tests-on-traviss-osx-workers.html
15+
fast_finish: true
3516
include:
36-
- os: osx
37-
language: generic
38-
env: TEST_SUITE=unit
17+
- python: '2.6'
18+
os: linux
19+
language: python
20+
env: TEST_SUITE=unit
21+
- python: '2.7'
22+
os: linux
23+
language: python
24+
env: [ TEST_SUITE=unit, COVERAGE=true ]
25+
- python: '2.7'
26+
os: linux
27+
language: python
28+
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=hypre^mpich' ]
29+
- python: '3.3'
30+
os: linux
31+
language: python
32+
env: TEST_SUITE=unit
33+
- python: '3.4'
34+
os: linux
35+
language: python
36+
env: TEST_SUITE=unit
37+
- python: '3.5'
38+
os: linux
39+
language: python
40+
env: TEST_SUITE=unit
41+
- python: '3.6'
42+
os: linux
43+
language: python
44+
env: [ TEST_SUITE=unit, COVERAGE=true ]
45+
- python: '3.6'
46+
os: linux
47+
language: python
48+
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=hypre^mpich' ]
49+
- python: '2.7'
50+
os: linux
51+
language: python
52+
env: TEST_SUITE=flake8
53+
- python: '2.7'
54+
os: linux
55+
language: python
56+
env: TEST_SUITE=doc
57+
- os: osx
58+
language: generic
59+
env: [ TEST_SUITE=unit, PYTHON_VERSION=2.7, COVERAGE=true ]
3960

4061
#=============================================================================
4162
# Environment
@@ -48,8 +69,8 @@ addons:
4869
apt:
4970
packages:
5071
- gfortran
72+
- mercurial
5173
- graphviz
52-
- libyaml-dev
5374

5475
# Work around Travis's lack of support for Python on OSX
5576
before_install:
@@ -61,10 +82,9 @@ before_install:
6182

6283
# Install various dependencies
6384
install:
64-
- pip install --upgrade coveralls
85+
- pip install --upgrade codecov
6586
- pip install --upgrade flake8
6687
- pip install --upgrade sphinx
67-
- pip install --upgrade mercurial
6888

6989
before_script:
7090
# Need this for the git tests to succeed.
@@ -80,7 +100,7 @@ before_script:
80100
script: share/spack/qa/run-$TEST_SUITE-tests
81101

82102
after_success:
83-
- if [[ $TEST_SUITE == unit && $TRAVIS_PYTHON_VERSION == 2.7 && $TRAVIS_OS_NAME == "linux" ]]; then coveralls; fi
103+
- codecov --env PY_VERSION
84104

85105
#=============================================================================
86106
# Notifications

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
============
33

44
[![Build Status](https://travis-ci.org/LLNL/spack.svg?branch=develop)](https://travis-ci.org/LLNL/spack)
5-
[![Coverage Status](https://coveralls.io/repos/github/LLNL/spack/badge.svg?branch=develop)](https://coveralls.io/github/LLNL/spack?branch=develop)
5+
[![codecov](https://codecov.io/gh/LLNL/spack/branch/develop/graph/badge.svg)](https://codecov.io/gh/LLNL/spack)
66

77
Spack is a package management tool designed to support multiple
88
versions and configurations of software on a wide variety of platforms
@@ -23,7 +23,8 @@ See the
2323
[Feature Overview](http://spack.readthedocs.io/en/latest/features.html)
2424
for examples and highlights.
2525

26-
To install spack and install your first package:
26+
To install spack and install your first package, make sure you have
27+
Python (2 or 3). Then:
2728

2829
$ git clone https://github.com/llnl/spack.git
2930
$ cd spack/bin

bin/spack

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,12 @@
2424
# License along with this program; if not, write to the Free Software
2525
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
2626
##############################################################################
27+
from __future__ import print_function
28+
2729
import sys
28-
if (sys.version_info[0] > 2) or (sys.version_info[:2] < (2, 6)):
30+
if sys.version_info[:2] < (2, 6):
2931
v_info = sys.version_info[:3]
30-
sys.exit("Spack requires Python 2.6 or 2.7. "
32+
sys.exit("Spack requires Python 2.6 or higher."
3133
"This is Python %d.%d.%d." % v_info)
3234

3335
import os
@@ -46,6 +48,13 @@ sys.path.insert(0, SPACK_LIB_PATH)
4648
SPACK_EXTERNAL_LIBS = os.path.join(SPACK_LIB_PATH, "external")
4749
sys.path.insert(0, SPACK_EXTERNAL_LIBS)
4850

51+
# Handle vendoring of YAML specially, as it has two versions.
52+
if sys.version_info[0] == 2:
53+
SPACK_YAML_LIBS = os.path.join(SPACK_EXTERNAL_LIBS, "yaml/lib")
54+
else:
55+
SPACK_YAML_LIBS = os.path.join(SPACK_EXTERNAL_LIBS, "yaml/lib3")
56+
sys.path.insert(0, SPACK_YAML_LIBS)
57+
4958
# Quick and dirty check to clean orphaned .pyc files left over from
5059
# previous revisions. These files were present in earlier versions of
5160
# Spack, were removed, but shadow system modules that Spack still
@@ -67,8 +76,8 @@ for pyc_file in orphaned_pyc_files:
6776
try:
6877
os.remove(pyc_file)
6978
except OSError as e:
70-
print ("WARNING: Spack may fail mysteriously. "
71-
"Couldn't remove orphaned .pyc file: %s" % pyc_file)
79+
print("WARNING: Spack may fail mysteriously. "
80+
"Couldn't remove orphaned .pyc file: %s" % pyc_file)
7281

7382
# If there is no working directory, use the spack prefix.
7483
try:
@@ -102,19 +111,19 @@ spec expressions:
102111
[^DEPENDENCY [CONSTRAINTS] ...]"""))
103112

104113
parser.add_argument('-d', '--debug', action='store_true',
105-
help="Write out debug logs during compile")
114+
help="write out debug logs during compile")
106115
parser.add_argument('-D', '--pdb', action='store_true',
107-
help="Run spack under the pdb debugger")
116+
help="run spack under the pdb debugger")
108117
parser.add_argument('-k', '--insecure', action='store_true',
109-
help="Do not check ssl certificates when downloading.")
118+
help="do not check ssl certificates when downloading")
110119
parser.add_argument('-m', '--mock', action='store_true',
111-
help="Use mock packages instead of real ones.")
120+
help="use mock packages instead of real ones")
112121
parser.add_argument('-p', '--profile', action='store_true',
113-
help="Profile execution using cProfile.")
122+
help="profile execution using cProfile")
114123
parser.add_argument('-v', '--verbose', action='store_true',
115-
help="Print additional output during builds")
124+
help="print additional output during builds")
116125
parser.add_argument('-s', '--stacktrace', action='store_true',
117-
help="Add stacktrace information to all printed statements")
126+
help="add stacktrace information to all printed statements")
118127
parser.add_argument('-V', '--version', action='version',
119128
version="%s" % spack.spack_version)
120129

@@ -199,8 +208,7 @@ def main(args):
199208

200209
if args.profile:
201210
import cProfile
202-
cProfile.runctx('_main(args, unknown)', globals(), locals(),
203-
sort='time')
211+
cProfile.runctx('_main(args, unknown)', globals(), locals())
204212
elif args.pdb:
205213
import pdb
206214
pdb.runctx('_main(args, unknown)', globals(), locals())

etc/spack/defaults/config.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,9 @@ config:
6666
# If set to true, `spack install` and friends will NOT clean
6767
# potentially harmful variables from the build environment. Use wisely.
6868
dirty: false
69+
70+
71+
# The default number of jobs to use when running `make` in parallel.
72+
# If set to 4, for example, `spack install` will run `make -j4`.
73+
# If not set, all available cores are used by default.
74+
# build_jobs: 4

etc/spack/defaults/packages.yaml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,17 @@ packages:
1717
all:
1818
compiler: [gcc, intel, pgi, clang, xl, nag]
1919
providers:
20-
mpi: [openmpi, mpich]
20+
awk: [gawk]
2121
blas: [openblas]
22+
daal: [intel-parallel-studio+daal]
23+
elf: [elfutils]
24+
golang: [gcc]
25+
ipp: [intel-parallel-studio+ipp]
2226
lapack: [openblas]
27+
mkl: [intel-parallel-studio+mkl]
28+
mpe: [mpe2]
29+
mpi: [openmpi, mpich]
30+
opencl: [pocl]
31+
openfoam: [foam-extend]
2332
pil: [py-pillow]
33+
scalapack: [netlib-scalapack]

lib/spack/docs/.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
package_list.rst
22
command_index.rst
33
spack*.rst
4-
modules.rst
4+
llnl*.rst
55
_build

lib/spack/docs/Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ PAPER =
99
BUILDDIR = _build
1010

1111
export PYTHONPATH := ../../spack:$(PYTHONPATH)
12-
APIDOC_FILES = spack*.rst
12+
APIDOC_FILES = spack*.rst llnl*.rst
1313

1414
# Internal variables.
1515
PAPEROPT_a4 = -D latex_paper_size=a4
@@ -58,7 +58,8 @@ upload:
5858
git push -f github gh-pages
5959

6060
apidoc:
61-
sphinx-apidoc -T -o . $(PYTHONPATH)/spack
61+
sphinx-apidoc -f -T -o . ../spack
62+
sphinx-apidoc -f -T -o . ../llnl
6263

6364
help:
6465
@echo "Please use \`make <target>' where <target> is one of"
@@ -83,7 +84,7 @@ help:
8384
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
8485

8586
clean:
86-
-rm -f package_list.rst command_index.rst modules.rst
87+
-rm -f package_list.rst command_index.rst
8788
-rm -rf $(BUILDDIR)/* $(APIDOC_FILES)
8889

8990
html:

lib/spack/docs/build_settings.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@ package lacks a spec component, such as missing a compiler or
7171
package version, then Spack will guess the missing component based
7272
on its most-favored packages, and it may guess incorrectly.
7373

74-
Each package version and compilers listed in an external should
74+
Each package version and compiler listed in an external should
7575
have entries in Spack's packages and compiler configuration, even
76-
though the package and compiler may not every be built.
76+
though the package and compiler may not ever be built.
7777

7878
The packages configuration can tell Spack to use an external location
7979
for certain package versions, but it does not restrict Spack to using

0 commit comments

Comments
 (0)