summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-01-25h5cpp: Download from github release instead of git repo (#14573)Erik Schnetter1-3/+4
* h5cpp: Download from github release instead of git repo * Correct typo in package description
2020-01-25Add TensorFlow 2.0.1 (#14623)Adam J. Stewart1-0/+1
2020-01-25Get vtk-8.2.0 to build (#14562)Glenn Johnson1-2/+17
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-25acts-core: Add and adapt to ACTS v0.14.0 and v0.15.0 (#14580)Hadrien G1-1/+7
* Add and adapt to ACTS v0.14.0 * Add v0.15.0 too
2020-01-25Removing flang variant from llvm package (#14600)Brian Homerding1-83/+6
2020-01-25libcircle: add v0.3 (#14611)Adam Moody1-0/+1
2020-01-24configure z3+python to build python libraries in its own prefix (#14604)Greg Becker1-3/+13
2020-01-24Get py-torch to build caffe2 (#14619)Glenn Johnson1-2/+31
* 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-24py-opppy package: add version 0_1_2 (#14229)Mathew Cleveland1-1/+2
2020-01-24py-pygdal package: 2.4.0 depends on gdal 2.4.1 (#14075)iarspider1-0/+1
2020-01-24libhio: remove autoreconf method (#14283)plamborn1-4/+0
The autoreconf is not necessary and can cause errors.
2020-01-24New package: MBDyn (#14438)健美猞猁1-0/+19
2020-01-24harfbuzz package: add conflict for @2.3.1: with intel compiler (#14386)Glenn Johnson1-0/+3
harfbuzz 2.3.1 (and presumably all future versions after it) does not build with the Intel compiler
2020-01-24Add spack config list command for tab completion (#14474)Adam J. Stewart4-8/+29
* Add spack config list command for tab completion * Update tab completion scripts
2020-01-24New package: p3dfft3 (#14508)Sajid Ali1-0/+103
2020-01-24sbang: Fix perl binary detectionMichael Kuhn1-3/+3
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-24Fixing GCC compiler setting for PDT packageKevin Huck1-0/+4
2020-01-24IOR package: add version 3.2.1 (#14582)Kevin Manalo1-2/+3
2020-01-24charliecloud package: add version 0.13; remove older versions (#14591)Jordan Ogas1-23/+12
* 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-24bugfix: make `_source_single_file` work in venvs (#14569)Massimiliano Culpo2-6/+10
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-24magma: add new version 2.5.2Piotr Luszczek1-0/+1
2020-01-24Add version 0.6.3 of yaml-cpp.Jon Rood1-0/+1
2020-01-24Updated and cleaned up the recipe for the LBANN and Hydrogen packages. (#14612)Brian Van Essen2-9/+16
* Updated and cleaned up the recipe for the LBANN and Hydrogen packages. * Flake8 * Added type test for catch2
2020-01-24Added version for 10.2 compatibility (#14613)Brian Van Essen1-2/+7
* Added version for 10.2 compatibility * Updated the preferred version
2020-01-24Use Spack target architecture to determine OpenBLAS target (#14380)Seth R. Johnson2-52/+93
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-23openPMD-api: adios_config to run env (#14610)Axel Huebl1-0/+1
Popular CMake find-scripts for ADIOS1 search for this binary instead of looking up `CMAKE_PREFIX_PATH`.
2020-01-23commands: add simple `spack commands --update-completion` argument (#14607)Todd Gamblin4-27/+96
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-23Add TensorFlow 1.15.1 (#14614)Adam J. Stewart1-1/+2
2020-01-23ftgl: Move to frankheckenbach fork + CMakePackage (#14221)Hadrien G5-186/+40
* 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-23root: Fix root+x breakage from #11129 (#14224)Hadrien G1-0/+29
* 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-22shell support: `spack load` no longer needs modules (#14062)Greg Becker17-184/+516
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-22binutils, libiberty: add version 2.33.1Mark W. Krentel2-1/+5
2020-01-22Use `spack commands --format=bash` to generate shell completion (#14393)Adam J. Stewart52-1080/+2155
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-22bugfix: gpg2 is called 'gpg' on macOSTodd Gamblin3-13/+89
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-22openPMD-api: Default +adios1 (#14599)Axel Huebl1-1/+1
Enable the ADIOS1 backend by default.
2020-01-22tests: removed code duplication (#14596)Massimiliano Culpo6-83/+37
- [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-22MPark.Variant: Patch NVCC C++14 Build 2 (#14434)Axel Huebl2-20/+33
Update the patch to fix builds with NVCC <= 10.2.89 with the accepted PR for upcoming releases of the library.
2020-01-22libquo: Update default version from 1.3 to 1.3.1. (#14585)Sam Gutiérrez1-1/+2
2020-01-21bugfix: hashes should use ordered dictionaries (#14390)Todd Gamblin3-8/+81
Despite trying very hard to keep dicts out of our hash algorithm, we seem to still accidentally add them in ways that the tests can't catch. This can cause errors when hashes are not computed deterministically. This fixes an error we saw with Python 3.5, where dictionary iteration order is random. In this instance, we saw a bug when reading Spack environment lockfiles -- The load would fail like this: ``` ... File "/sw/spack/lib/spack/spack/environment.py", line 1249, in concretized_specs yield (s, self.specs_by_hash[h]) KeyError: 'qcttqplkwgxzjlycbs4rfxxladnt423p' ``` This was because the hashes differed depending on whether we wrote `path` or `module` first when recomputing the build hash as part of reading a Spack lockfile. We can fix it by ensuring a determistic iteration order. - [x] Fix two places (one that caused an issue, and one that did not... yet) where our to_node_dict-like methods were using regular python dicts. - [x] Also add a check that statically analyzes our to_node_dict functions and flags any that use Python dicts. The test found the two errors fixed here, specifically: ``` E AssertionError: assert [] == ['Use syaml_dict instead of ...pack/spack/spec.py:1495:28'] E Right contains more items, first extra item: 'Use syaml_dict instead of dict at /Users/gamblin2/src/spack/lib/spack/spack/spec.py:1495:28' E Full diff: E - [] E + ['Use syaml_dict instead of dict at ' E + '/Users/gamblin2/src/spack/lib/spack/spack/spec.py:1495:28'] ``` and ``` E AssertionError: assert [] == ['Use syaml_dict instead of ...ack/architecture.py:359:15'] E Right contains more items, first extra item: 'Use syaml_dict instead of dict at /Users/gamblin2/src/spack/lib/spack/spack/architecture.py:359:15' E Full diff: E - [] E + ['Use syaml_dict instead of dict at ' E + '/Users/gamblin2/src/spack/lib/spack/spack/architecture.py:359:15'] ```
2020-01-21pipelines: `spack ci` command with env-based workflow (#12854)Scott Wittenburg16-778/+2166
Rework Spack's continuous integration workflow to be environment-based. - Add the `spack ci` command, which replaces the many scripts in `bin/` - `spack ci` decouples the CI workflow from the spack instance: - CI is defined in a spack environment - environment is in its own (single) git repository, separate from Spack - spack instance used to run the pipeline is up to the user - A new `gitlab-ci` section in environments allows users to configure how specs in the environment should be mapped to runners - Compilers can be bootstrapped in the new pipeline workflow - Add extensive documentation on pipelines (see `pipelines.rst` for further details) - Add extensive tests for pipeline code
2020-01-21python: add `debug` variant to enable pydebug (#14584)Todd Gamblin1-0/+10
2020-01-21Add py-scipy 1.2.3 (#14583)Adam J. Stewart1-0/+1
2020-01-21Update and fix samtools (#14507)Glenn Johnson1-12/+25
* Update and fix samtools This PR adds samtools-1.10 and sets the htlib directory so that the spack built htslib can be used. This PR also arranges the dependencies so that the htslib sequence is grouped on its own. Finally, the bzip2 dependency is removed and python and perl run dependencies are added. * Fix samtools when built with ncurses+termlib * The CI flake8 tests require lowercase variable Interestingly, this did not show up when I ran `spack flake8` locally.
2020-01-21Use util.url.join for URLs in GNU Mirrors / reorder Mirrors (#14395)Dr. Christian Tacke1-4/+4
* Reorder GNU mirrors (#14395) As @adamjstewart commented in #14395, GNU suggests to use their mirror. So reorder the mirror to the top. GNU Doc: https://www.gnu.org/prep/ftp.en.html * Use spack.util.url.join for URLs in GNU mirrors (#14395) One should not use os.path.join for URLs. This does only work on POSIX systems. Instead use spack.util.url.join. So every part in spack uses the same url joining method.
2020-01-21cmake: Fix patch checksum (#14542)Michael Kuhn2-1/+146
Add patch locally to make sure checksum cannot change again.
2020-01-21Use CudaPackage mixin for py-theano (#14577)Glenn Johnson1-8/+5
This PR adds the CudaPackage mixin class to py-theano. This replaces the `gpu` variant with the `cuda` variant.
2020-01-20Add new kcov package (#14574)Adam J. Stewart1-0/+33
* Add new kcov package * Fix linking error and add test
2020-01-20Update AWS ParallelCluster to 2.5.1 (#14571)Sean Smith1-1/+4
Signed-off-by: Sean Smith <seaam@amazon.com>
2020-01-19add conduit 0.5.1 release and allow conduit to build against statically ↵Cyrus Harrison1-4/+3
linked python (#14559)
2020-01-19capnproto: New package. (#14557)Olaf Mersmann1-0/+21
* capnproto: New package. * capnproto: Fix flake8 errors. * Remove characters invalid in Python 2.