Skip to content

Commit 6f7bcd2

Browse files
committed
Merge remote-tracking branch 'origin/develop' into binary_packages
Conflicts: lib/spack/spack/test/__init__.py
2 parents 20953d7 + 0185226 commit 6f7bcd2

File tree

138 files changed

+5300
-816
lines changed

Some content is hidden

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

138 files changed

+5300
-816
lines changed

.flake8

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@
1919
# - F999: name name be undefined or undefined from star imports.
2020
#
2121
[flake8]
22-
ignore = E221,E241,E731,F403,F821,F999
22+
ignore = E221,E241,E731,F403,F821,F999,F405
2323
max-line-length = 79

bin/sbang

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,15 @@
7979
# Obviously, for this to work, `sbang` needs to have a short enough
8080
# path that *it* will run without hitting OS limits.
8181
#
82+
# For Lua, scripts the second line can't start with #!, as # is not
83+
# the comment character in lua (even though lua ignores #! on the
84+
# *first* line of a script). So, instrument a lua script like this,
85+
# using -- instead of # on the second line:
86+
#
87+
# 1 #!/bin/bash /path/to/sbang
88+
# 2 --!/long/path/to/lua with arguments
89+
# 3
90+
# 4 print "success!"
8291
#
8392
# How it works
8493
# -----------------------------
@@ -95,6 +104,8 @@ lines=0
95104
while read line && ((lines < 2)) ; do
96105
if [[ "$line" = '#!'* ]]; then
97106
interpreter="${line#\#!}"
107+
elif [[ "$line" = '--!'*lua* ]]; then
108+
interpreter="${line#--!}"
98109
fi
99110
lines=$((lines+1))
100111
done < "$script"

bin/spack

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ import llnl.util.tty as tty
7777
from llnl.util.tty.color import *
7878
import spack
7979
from spack.error import SpackError
80-
from external import argparse
80+
import argparse
8181

8282
# Command parsing
8383
parser = argparse.ArgumentParser(

etc/spack/modules.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ modules:
2222
include:
2323
- CPATH
2424
lib/pkgconfig:
25-
- PKGCONFIG
25+
- PKG_CONFIG_PATH
2626
lib64/pkgconfig:
27-
- PKGCONFIG
27+
- PKG_CONFIG_PATH
2828
'':
2929
- CMAKE_PREFIX_PATH

lib/spack/docs/basic_usage.rst

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,29 @@ Spack can install:
2424

2525
.. command-output:: spack list
2626

27-
The packages are listed by name in alphabetical order. You can also
28-
do wildcats searches using ``*``:
27+
The packages are listed by name in alphabetical order. If you specify a
28+
pattern to match, it will follow this set of rules. A pattern with no
29+
wildcards, ``*`` or ``?``, will be treated as though it started and ended with
30+
``*``, so ``util`` is equivalent to ``*util*``. A pattern with no capital
31+
letters will be treated as case-insensitive. You can also add the ``-i`` flag
32+
to specify a case insensitive search, or ``-d`` to search the description of
33+
the package in addition to the name. Some examples:
2934

30-
.. command-output:: spack list m*
35+
All packages whose names contain "sql" case insensitive:
3136

32-
.. command-output:: spack list *util*
37+
.. command-output:: spack list sql
38+
39+
All packages whose names start with a capital M:
40+
41+
.. command-output:: spack list 'M*'
42+
43+
All packages whose names or descriptions contain Documentation:
44+
45+
.. command-output:: spack list -d Documentation
46+
47+
All packages whose names contain documentation case insensitive:
48+
49+
.. command-output:: spack list -d documentation
3350

3451
.. _spack-info:
3552

lib/spack/docs/configuration.rst

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@ Here's an example packages.yaml file that sets preferred packages:
140140
packages:
141141
dyninst:
142142
compiler: [[email protected]]
143-
variants: +debug
144143
gperftools:
145144
version: [2.2, 2.4, 2.3]
146145
all:
@@ -150,8 +149,8 @@ Here's an example packages.yaml file that sets preferred packages:
150149
151150
152151
At a high level, this example is specifying how packages should be
153-
concretized. The dyninst package should prefer using gcc 4.9 and
154-
be built with debug options. The gperftools package should prefer version
152+
concretized. The dyninst package should prefer using gcc 4.9.
153+
The gperftools package should prefer version
155154
2.2 over 2.4. Every package on the system should prefer mvapich for
156155
its MPI and gcc 4.4.7 (except for Dyninst, which overrides this by preferring gcc 4.9).
157156
These options are used to fill in implicit defaults. Any of them can be overwritten
@@ -160,7 +159,7 @@ on the command line if explicitly requested.
160159
Each packages.yaml file begins with the string ``packages:`` and
161160
package names are specified on the next level. The special string ``all``
162161
applies settings to each package. Underneath each package name is
163-
one or more components: ``compiler``, ``variants``, ``version``,
162+
one or more components: ``compiler``, ``version``,
164163
or ``providers``. Each component has an ordered list of spec
165164
``constraints``, with earlier entries in the list being preferred over
166165
later entries.

lib/spack/docs/packaging_guide.rst

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1950,6 +1950,19 @@ instead of hard-coding ``join_path(self.spec['mpi'].prefix.bin, 'mpicc')`` for
19501950
the reasons outlined above.
19511951
19521952
1953+
Blas and Lapack libraries
1954+
~~~~~~~~~~~~~~~~~~~~~~~~~
1955+
Different packages provide implementation of ``Blas`` and ``Lapack`` routines.
1956+
The names of the resulting static and/or shared libraries differ from package
1957+
to package. In order to make ``install()`` method indifferent to the
1958+
choice of ``Blas`` implementation, each package which provides it
1959+
sets up ``self.spec.blas_shared_lib`` and ``self.spec.blas_static_lib `` to
1960+
point to the shared and static ``Blas`` libraries, respectively. The same
1961+
applies to packages which provide ``Lapack``. Package developers are advised to
1962+
use these variables, for example ``spec['blas'].blas_shared_lib`` instead of
1963+
hard-coding ``join_path(spec['blas'].prefix.lib, 'libopenblas.so')``.
1964+
1965+
19531966
Forking ``install()``
19541967
~~~~~~~~~~~~~~~~~~~~~
19551968

lib/spack/env/cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -324,8 +324,8 @@ fi
324324
if [[ $SPACK_DEBUG == TRUE ]]; then
325325
input_log="$SPACK_DEBUG_LOG_DIR/spack-cc-$SPACK_SHORT_SPEC.in.log"
326326
output_log="$SPACK_DEBUG_LOG_DIR/spack-cc-$SPACK_SHORT_SPEC.out.log"
327-
echo "[$mode] $command $input_command" >> $input_log
328-
echo "[$mode] ${full_command[@]}" >> $output_log
327+
echo "[$mode] $command $input_command" >> "$input_log"
328+
echo "[$mode] ${full_command[@]}" >> "$output_log"
329329
fi
330330

331331
exec "${full_command[@]}"

0 commit comments

Comments
 (0)