Commit graph

14028 commits

Author SHA1 Message Date
Patrick Gartung
9ffa053f18
Fix bug introduced by pull request 14467 being merged (#14639)
* Fix bug introduced by pull request 14467 being merged

* Only filter on platform and OS
2020-01-27 14:17:15 -06:00
Patrick Gartung
893b0792e4
Set module_roots in test/config/config.yaml to defaults. (#14517) 2020-01-27 14:03:15 -06:00
Massimiliano Culpo
b9629c36f2 Unified environment modifications in config files (#14372)
* Unified environment modifications in config files

fixes #13357

This commit factors all the code that is involved in
the validation (schema) and parsing of environment modifications
from configuration files in a single place. The factored out
code is then used for module files and compiler configuration.

Attributes were separated by dashes in `compilers.yaml` files and
by underscores in `modules.yaml` files. This PR unifies the syntax
on attributes separated by underscores.

Unit testing of environment modifications in compilers
has been refactored and simplified.
2020-01-27 08:40:47 -08:00
Erik Schnetter
0f3ae864a5 asdf-cxx: new package (#14637) 2020-01-27 14:50:18 +01:00
Erik Schnetter
b7b27d3862 amrex: Update to version 20.01 (#14635)
Now using Github releases instead of git commits.
2020-01-27 10:07:46 +01:00
Adam J. Stewart
eb79c82cba Fix Python version compatibility tests for vermin 0.10.0 (#14632) 2020-01-26 22:31:13 -08:00
Sinan
0e86961b84 pygdal and gdal versions should be in lockstep (#14630) 2020-01-26 18:35:16 -06:00
Adam J. Stewart
71f47b3b26
Add py-vermin package (#14631) 2020-01-26 18:34:56 -06:00
Erik Schnetter
02e077a7fa simulationio: Correct HDF5 dependency bounds (#14626)
The HDF5 dependency bound was inverted. (How did this ever compile? There is a cmake check.)
2020-01-26 17:22:43 -06:00
Erik Schnetter
87c55b79c5 hwloc: New version 2.1.0 (#14627) 2020-01-26 17:22:26 -06:00
Erik Schnetter
06e100d5cc curl: New version 7.68.0 (#14625) 2020-01-26 17:06:38 -06:00
Adam J. Stewart
f8be90cf3f
Add TensorFlow 1.15.2 (#14624) 2020-01-26 15:41:09 -06:00
Patrick Gartung
d2098d337a
When spack install checks for buildcaches only add urls for current arch. (#14467) 2020-01-25 21:15:12 -06:00
Erik Schnetter
a26e5caa57 h5cpp: Download from github release instead of git repo (#14573)
* h5cpp: Download from github release instead of git repo

* Correct typo in package description
2020-01-25 18:39:36 -06:00
Adam J. Stewart
cb3f4081a0
Add TensorFlow 2.0.1 (#14623) 2020-01-25 12:45:09 -06:00
Glenn Johnson
c700200959 Get vtk-8.2.0 to build (#14562)
This PR adds some extra dependencies needed for vtk-8.2.0. It also
handles the variable name changes to turn off some of the external
libraries.
2020-01-25 12:44:51 -06:00
Hadrien G
f569577747 acts-core: Add and adapt to ACTS v0.14.0 and v0.15.0 (#14580)
* Add and adapt to ACTS v0.14.0

* Add v0.15.0 too
2020-01-25 12:35:53 -06:00
Brian Homerding
1fd335d654 Removing flang variant from llvm package (#14600) 2020-01-25 12:26:11 -06:00
Adam Moody
1e09de73b7 libcircle: add v0.3 (#14611) 2020-01-25 12:22:21 -06:00
Greg Becker
a57edb7029 configure z3+python to build python libraries in its own prefix (#14604) 2020-01-24 21:16:48 -08:00
Glenn Johnson
71243f3f7b Get py-torch to build caffe2 (#14619)
* Get py-torch to build caffe2

This PR gets the py-torch package to build with caffe2, and closes
issue #14576. If building on a machine with CUDA but no GPU the build
will try to build with all compute capabilities. Older compute
capabilities are not supported so the build will fail. The list of
capabilities can be passed to the build using values set in the
cuda_arch variant. Likewise, conflicts are also set to catch if the
unsupported capabilities are listed in cuda_arch.

This PR also sets version constraints on using an external mkldnn for
newer versions. Currenly, only versions up to 0.4 use an external mkldnn
library. Also, the cuda variant is set to True, which restores
previous behavior.

* Update var/spack/repos/builtin/packages/py-torch/package.py

Fix typo.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Adjust conflicts

This commit adjusts the conflicts. There is an issue with the
cuda_arch=20 conflicts directive as there is a conflicting dependency
with any version >=1.1 and a cuda_arch=20 dependency specified in
CudaPackage that gets trapped first.

* Use a common message for conflicts

This commit adds a variable to contain the bulk of the message stringi
for the cuda_arch conflicts. This is used along with a version string
in the conflicts directives messages.

* Fix the strings

- Use a multiline string for the cuda_arch_conflict variable.
- No need for format() in the msg value.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-24 22:57:16 -06:00
Mathew Cleveland
35db2d05b7 py-opppy package: add version 0_1_2 (#14229) 2020-01-24 18:58:22 -08:00
iarspider
bb29932362 py-pygdal package: 2.4.0 depends on gdal 2.4.1 (#14075) 2020-01-24 18:34:37 -08:00
plamborn
f8e0f4251d libhio: remove autoreconf method (#14283)
The autoreconf is not necessary and can cause errors.
2020-01-24 18:20:02 -08:00
健美猞猁
9a6b3b3a07 New package: MBDyn (#14438) 2020-01-24 18:14:14 -08:00
Glenn Johnson
80745128b3 harfbuzz package: add conflict for @2.3.1: with intel compiler (#14386)
harfbuzz 2.3.1 (and presumably all future versions after it) does
not build with the Intel compiler
2020-01-24 18:05:50 -08:00
Adam J. Stewart
dcd8d7a620 Add spack config list command for tab completion (#14474)
* Add spack config list command for tab completion
* Update tab completion scripts
2020-01-24 17:28:20 -08:00
Sajid Ali
12a261523e New package: p3dfft3 (#14508) 2020-01-24 17:20:36 -08:00
Michael Kuhn
95ddd3d6f2 sbang: Fix perl binary detection
The perl binary can also be called `perlX.Y.Z` if using a development
build or simply using the versioned binary.

We were also dropping all sbang arguments, since `exec $interpreter_v`
was only using the first element of the `interpreter_v` array.
2020-01-24 17:06:51 -08:00
Kevin Huck
33d35768e6 Fixing GCC compiler setting for PDT package 2020-01-24 17:03:52 -08:00
Kevin Manalo
6fd2c66022 IOR package: add version 3.2.1 (#14582) 2020-01-24 16:56:59 -08:00
Jordan Ogas
1c9337a5e4 charliecloud package: add version 0.13; remove older versions (#14591)
* Add version 0.13 and update to use Autotools build system
* Remove all versions prior to 0.13 (which do not use Autotools)
2020-01-24 16:55:55 -08:00
Massimiliano Culpo
4d7d657366 bugfix: make _source_single_file work in venvs (#14569)
Using `sys.executable` to run Python in a sub-shell doesn't always work in a virtual environment as the `sys.executable` Python is not necessarily compatible with any loaded spack/other virtual environment.

- revert use of sys.executable to print out subshell environment (#14496)
- try instead to use an available python, then if there *is not* one, use `sys.executable`
- this addresses RHEL8 (where there is no `python` and `PYTHONHOME` issue in a simpler way
2020-01-24 16:49:45 -08:00
Piotr Luszczek
d646c8d8d5 magma: add new version 2.5.2 2020-01-24 15:27:01 -08:00
Jon Rood
d58390dbf7 Add version 0.6.3 of yaml-cpp. 2020-01-24 15:26:33 -08:00
Brian Van Essen
36fca2c29a Updated and cleaned up the recipe for the LBANN and Hydrogen packages. (#14612)
* Updated and cleaned up the recipe for the LBANN and Hydrogen packages.

* Flake8

* Added type test for catch2
2020-01-24 14:49:05 -06:00
Brian Van Essen
4a5835ef2c Added version for 10.2 compatibility (#14613)
* Added version for 10.2 compatibility

* Updated the preferred version
2020-01-24 09:30:38 -06:00
Seth R. Johnson
ca6e75c9f6 Use Spack target architecture to determine OpenBLAS target (#14380)
Openblas target is now determined automatically upon inspection of
`TargetList.txt`. If the spack target is a generic architecture family
(like x86_64 or aarch64) the DYNAMIC_ARCH setting is used
instead of targeting a specific microarchitecture.
2020-01-24 15:19:05 +01:00
Axel Huebl
b0fce56d5b
openPMD-api: adios_config to run env (#14610)
Popular CMake find-scripts for ADIOS1 search for this binary instead
of looking up `CMAKE_PREFIX_PATH`.
2020-01-23 17:35:45 -08:00
Todd Gamblin
04a6a55cf8
commands: add simple spack commands --update-completion argument (#14607)
Instead of another script, this adds a simple argument to `spack
commands` that updates the completion script.  Developers can now just
run:

    spack commands --update-completion

This should make it simpler for developers to remember to run this
*before* the tests fail.  Also, this version tab-completes.
2020-01-23 14:48:06 -08:00
Adam J. Stewart
031fdfd7ca
Add TensorFlow 1.15.1 (#14614) 2020-01-23 16:25:30 -06:00
Hadrien G
80ea96312f ftgl: Move to frankheckenbach fork + CMakePackage (#14221)
* Try to switch to a newer fork of ftgl

* Allow ROOT to be more flexible about ftgl versions

* Turn ftgl into a CMakePackage

* Update ROOT ftgl dep since 2.1.3 isn't a thing anymore

* Please flake8

* Try to bring back the doc variant

* Comment it out instead of removing it
2020-01-23 11:43:11 -06:00
Hadrien G
1a385a5178 root: Fix root+x breakage from #11129 (#14224)
* Fix root+x breakage from #11129

* Separate out +opengl breakage

* Not strictly X11-related, but more breakage from  #11129

* Another X11 breakage found while building 6.08.x

* Don't put system headers in SPACK_INCLUDE_DIRS + deduplicate

* xextproto is only a dependency in +x builds
2020-01-23 11:42:25 -06:00
Greg Becker
c9e01ff9d7 shell support: spack load no longer needs modules (#14062)
Previously the `spack load` command was a wrapper around `module load`. This required some bootstrapping of modules to make `spack load` work properly.

With this PR, the `spack` shell function handles the environment modifications necessary to add packages to your user environment. This removes the dependence on environment modules or lmod and removes the requirement to bootstrap spack (beyond using the setup-env scripts).

Included in this PR is support for MacOS when using Apple's System Integrity Protection (SIP), which is enabled by default in modern MacOS versions. SIP clears the `LD_LIBRARY_PATH` and `DYLD_LIBRARY_PATH` variables on process startup for executables that live in `/usr` (but not '/usr/local', `/System`, `/bin`, and `/sbin` among other system locations. Spack cannot know the `LD_LIBRARY_PATH` of the calling process when executed using `/bin/sh` and `/usr/bin/python`. The `spack` shell function now manually forwards these two variables, if they are present, as `SPACK_<VAR>` and recovers those values on startup.

- [x] spack load/unload no longer delegate to modules
- [x] refactor user_environment modification calculations
- [x] update documentation for spack load/unload

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-01-22 22:36:02 -08:00
Mark W. Krentel
5053dfa259 binutils, libiberty: add version 2.33.1 2020-01-22 21:50:10 -08:00
Adam J. Stewart
11f2b61261 Use spack commands --format=bash to generate shell completion (#14393)
This PR adds a `--format=bash` option to `spack commands` to
auto-generate the Bash programmable tab completion script. It can be
extended to work for other shells.

Progress:

- [x] Fix bug in superclass initialization in `ArgparseWriter`
- [x] Refactor `ArgparseWriter` (see below)
- [x] Ensure that output of old `--format` options remains the same
- [x] Add `ArgparseCompletionWriter` and `BashCompletionWriter`
- [x] Add `--aliases` option to add command aliases
- [x] Standardize positional argument names
- [x] Tests for `spack commands --format=bash` coverage
- [x] Tests to make sure `spack-completion.bash` stays up-to-date
- [x] Tests for `spack-completion.bash` coverage
- [x] Speed up `spack-completion.bash` by caching subroutine calls

This PR also necessitates a significant refactoring of
`ArgparseWriter`. Previously, `ArgparseWriter` was mostly a single
`_write` method which handled everything from extracting the information
we care about from the parser to formatting the output. Now, `_write`
only handles recursion, while the information extraction is split into a
separate `parse` method, and the formatting is handled by `format`. This
allows subclasses to completely redefine how the format will appear
without overriding all of `_write`.

Co-Authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-01-22 21:31:12 -08:00
Todd Gamblin
8011fedd9c bugfix: gpg2 is called 'gpg' on macOS
The gpg2 command isn't always around; it's sometimes called gpg.  This is
the case with the brew-installed version, and it's breaking our tests.

- [x] Look for both 'gpg2' and 'gpg' when finding the command
- [x] If we find 'gpg', ensure the version is 2 or higher
- [x] Add tests for version detection.
2020-01-22 17:34:31 -08:00
Axel Huebl
910df8cb4e openPMD-api: Default +adios1 (#14599)
Enable the ADIOS1 backend by default.
2020-01-22 15:49:27 -08:00
Massimiliano Culpo
74266ea789 tests: removed code duplication (#14596)
- [x] Factored to a common place the fixture `testing_gpg_directory`, renamed it as 
      `mock_gnupghome`
- [x] Removed altogether the function `has_gnupg2`

For `has_gnupg2`, since we were not trying to parse the version from the output of:
```console
$ gpg2 --version
```
this is effectively equivalent to check if `spack.util.gpg.GPG.gpg()` was found. If we need to ensure version is `^2.X` it's probably better to do it in `spack.util.gpg.GPG.gpg()` than in a separate function.
2020-01-22 14:04:16 -08:00
Axel Huebl
7a0990903f MPark.Variant: Patch NVCC C++14 Build 2 (#14434)
Update the patch to fix builds with NVCC <= 10.2.89 with
the accepted PR for upcoming releases of the library.
2020-01-22 11:29:02 -08:00