Commit graph

15658 commits

Author SHA1 Message Date
Massimiliano Culpo
55f5afaf3c database: maintain in-memory consistency on remove (#15777)
The performance improvements done in #14693 where leaving the DB in an inconsistent state when specs were removed from it. This PR updates the DB internal state whenever the DB is written to a file.

Note that we still cannot properly enumerate installed dependents, so there is a TODO in this code. Fixing that will require the dependents dictionaries in specs to be re-keyed (either by hash, or not keyed at all -- a list would do).  See #11983 for details.
2020-04-15 12:47:16 -07:00
Andrew W Elble
6b559912c1 performance: add a verification file to the database (#14693)
Reading the database repeatedly can be quite slow.  We need a way to speed
up Spack when it reads the DB multiple times, but the DB has not been
modified between reads (which is nearly all the time).

- [x] Add a file containing a unique uuid that is regenerated at database
    write time. Use this uuid to suppress re-parsing the database
    contents if we know a previous uuid and the uuid has not changed.

- [x] Fix mutable_database fixture so that it resets the last seen
    verifier when it resets.

- [x] Enable not rereading the database immediately after a write. Make
    the tests reset the last seen verifier in between tests that use the
    database fixture.

- [x] make presence of uuid module optional
2020-04-15 12:47:00 -07:00
Peter Scheibel
9b5805a5cd Remove DB conversion of old index.yaml (#15298)
Removed the code that was converting the old index.yaml format into
index.json. Since the change happened in #2189 it should be
considered safe to drop this (untested) code.
2020-04-15 12:45:57 -07:00
Adam J. Stewart
c6c1d01ab6 Allow Spack Environments with '-h' in the name (#15429)
If a user invoked "spack env activate example-henv", Spack would
mistakenly interpret the "-h" from "example-henv" as the "-h" option.
This commit allows users to create and activate environments with
"-h" in the name.

This issue existed for bash shell support as well as csh support, and
this commit addresses both, along with some other unrelated csh
support issues.
2020-04-15 12:38:31 -07:00
Peter Scheibel
b9688a8c35 Environments/views: only override spec prefix for non-external packages (#15475)
* only override spec prefix for non-external packages

* add test that environment shell modifications respect explicitly-specified prefixes for external packages

* add clarifying comment
2020-04-15 12:37:37 -07:00
Jonathon Anderson
ed2781973c Source devnull in environment_after_sourcing_files (closes #15775) (#15791)
spack.util.environment_after_sourcing_files compares the local
environment against a shell environment after having sourced a
file; but this ends up including the default shell profile and
rc, which might differ from the local environment.

To change this, compare against the default shell environment,
expressed here as 'source /dev/null'.
2020-04-15 12:37:16 -07:00
Todd Gamblin
99bb88aead bugfix: TERM may not be in the environment on Cray (#15630) 2020-04-15 12:37:03 -07:00
Massimiliano Culpo
a85cce05a1 Blacklist Lmod variable modifications when sourcing files (#15778)
fixes #15775

Add all the variables listed here:

https://lmod.readthedocs.io/en/latest/090_configuring_lmod.html

to the list of those blacklisted when constructing environment
modifications by sourcing files.
2020-04-15 12:36:53 -07:00
Axel Huebl
e1e804168a Tests: Mirror Mixin Classes 2020-04-15 11:44:14 -07:00
Axel Huebl
7e5257e44a x.org: mirror mixin
According to my nightly CI/CD tests, x.org is another large provider
of software in common build chains that is often down.

Added a hand-selected amount of mirrors that is well up-to-sync.
Tested with `util-macros` that has a quite "recent" patch release.

Other packages to follow in an individual PR.
2020-04-15 11:44:14 -07:00
Todd Gamblin
a563884af3
spack install terminal output handling in foreground/background (#15723)
Makes the following changes:

* (Fixes #15620) tty configuration was failing when stdout was 
  redirected. The implementation now creates a pseudo terminal for
  stdin and checks stdout properly, so redirections of stdin/out/err
  should be handled now.
* Handles terminal configuration when the Spack process moves between
  the foreground and background (possibly multiple times) during a
  build.
* Spack adjusts terminal settings to allow users to to enable/disable
  build process output to the terminal using a "v" toggle, abnormal
  exit cases (like CTRL-C) could leave the terminal in an unusable
  state. This is addressed here with a special-case handler which
  restores terminal settings.

Significantly extend testing of process output logger:

* New PseudoShell object for setting up a master and child process
  and configuring file descriptor inheritance between the two
* Tests for "v" verbosity toggle making use of the added PseudoShell
  object
* Added `uniq` function which takes a list of elements and replaces
  any consecutive sequence of duplicate elements with a single
  instance (e.g. "112211" -> "121")

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-15 11:05:41 -07:00
Federico Ficarelli
94aa368af8
Fix grcp@1.27.0: (#16052)
Current default version was missing a dependency.
2020-04-15 11:32:08 -05:00
darmac
6eee7b6bb8
Add new package: mrbench (#16062) 2020-04-15 11:25:49 -05:00
darmac
c470a8da6a
Add new package: kinesis (#16063) 2020-04-15 11:25:21 -05:00
Robert Pavel
8935406756
Added Laghos v3 to Proxy Apps v3 (#16070)
Also fixed upper bound for v2 apps
2020-04-15 11:13:07 -05:00
Michael Kuhn
a157b479c8
julea: New package (#16071) 2020-04-15 11:12:28 -05:00
ilbiondo
4afdaa5f4b
IQ-TREE: added new package at v1.6.12 (#16064) 2020-04-15 16:37:25 +02:00
ilbiondo
666bc844be
Phylobayes MPI: added new package at v1.8b (#16065) 2020-04-15 13:26:37 +02:00
Massimiliano Culpo
ff0ec9cf61
openfoam: set run environment by sourcing bashrc (#15949) 2020-04-15 12:21:02 +02:00
ilbiondo
d41e366d0d
py-sonlib: added new package (#16058)
Co-Authored-By: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-04-15 10:35:01 +02:00
Dan Lipsa
fd2e6ee50f
Apply same patch to version 10. (#15963) 2020-04-14 22:30:45 -05:00
Adam J. Stewart
69f7bae8fe
libssh2: fix linking on macOS (#16012)
* libssh2: fix linking on macOS

* Fix libgit2 linkage to libssh2
2020-04-14 17:10:45 -05:00
Tyler Reddy
cba5f71eee
MAINT: Charliecloud OSX error (#16049)
* MAINT: Charliecloud OSX error

* raise an appropriate error when attempting to build
Charliecloud on Mac OSX, since it will otherwise fail
with a more confusing configure stage link check failure

* Update var/spack/repos/builtin/packages/charliecloud/package.py

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

* MAINT: PR 16049 revision

* remove an unused import

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-14 15:55:10 -06:00
Sajid Ali
9a18f8b1d7
fix typo (#16043) 2020-04-14 16:44:09 -05:00
Andrew W Elble
a031bc3166
new package: py-torch-nvidia-apex (#16050) 2020-04-14 16:43:30 -05:00
Carson Woods
993491c83c
Add new variants (#16047) 2020-04-14 16:01:57 -05:00
Adam J. Stewart
293e4e80f1
py-memory-profiler: add new version (#16048) 2020-04-14 14:54:28 -05:00
Tiziano Müller
f917f7149e
cp2k: add version 7.1 (#16037)
* cp2k: add version 7.1

* cp2k: add option to use COSMA for CP2K 8+
2020-04-14 13:33:49 -05:00
Carson Woods
8edd352c22
tau: remove deprecated variants (#16041)
* Add more tau variants

* Add more tau variants

* Remove deprecated packages

* Fix flake8 issue
2020-04-14 13:33:33 -05:00
Massimiliano Culpo
a11de1d29d
Package extensions: fixed a link in docs (#16040)
* Moved link to the right place in the docs

* Fixed a few minor issues in extensions docs

Fixed a typo, added a subsubsection for better
navigation, reworded "modules in Python" as
"Python packages"
2020-04-14 12:54:53 -05:00
Andrew Gaspar
98cdd8777a
Add support for pre-release builds of Rust (beta, master, nightly) (#16042) 2020-04-14 12:53:42 -05:00
Adam J. Stewart
94272cc7aa
py-tokenizers: add 0.5.2 (#16039) 2020-04-14 12:41:33 -05:00
Harmen Stoppels
f393355781
libtree: new package at 1.0.3 (#16036)
* Add new package libtree

* Fix linter issues
2020-04-14 11:39:52 -05:00
Tom Payerle
e10c134745
pfft: fix to handle 'precision' variant in fftw (#16029)
* pfft: fix to handle 'precision' variant in fftw

pfft had been checking for +double, etc. in fftw spec, which no longer
are present (replaced by Multivalued variant precision).

* pfft: fix to handle 'precision' variant in fftw

pfft had been checking for +double, etc. in fftw spec, which no
longer are present (replaced by Multivalued variant precision).

(amended to use more idiomatic checks as suggested by @alalazo)
2020-04-14 11:14:20 -05:00
Justin S
71fb29fccf
muscle: add 3.8.31 (#15974)
* muscle: add 3.8.31

* muscle: use build_directory property

* muscle: add url_for_version, fix version comparison
2020-04-14 11:13:16 -05:00
Axel Huebl
5acea35e82
sourceware.org: mirror urls (#15992)
sourceware.org is often quite overrun and times out or results in
certificate errors.

Since libffi, bzip2, elfutils, etc. are quite fundamental in
build chains, lets add some official mirrors.

libffi, bzip2, elfutils, lvm2, valgrind: add mirrors
2020-04-14 11:09:30 -05:00
Jordan Ogas
25e2548489
add charliecloud 0.15 (#16023) 2020-04-14 11:02:22 -05:00
Justin S
b131cc5ce0
py-vcf-kit: new package at 0.1.6 (#15976) 2020-04-14 15:51:52 +02:00
Antonio Arena
c6e257ae39
VMD: added new package at v1.9.3 (#16022) 2020-04-14 15:21:33 +02:00
darmac
5feed6bf6f
httpress: added new package at v1.1.0 (#15935) 2020-04-14 12:25:30 +02:00
Adam J. Stewart
723fd5a101
Rust: add missing dependencies (#16015)
* Rust: add missing dependencies

* 1.43.X won't support Python 3 either
2020-04-13 17:02:37 -05:00
Andrew W Elble
92edc68922
bazel: increase logging during build, set job limit (#16024)
To better help in troubleshooting build issues. Job limit might also
help with the memory limit issues we've been seeing.
2020-04-13 16:35:39 -05:00
Antonio Arena
0a6d9f4c55
Patch Mathematica (#16019)
* Patch Mathematica

Mathematica installer moves all files and directories from installation directory to a backup one. The problem is that it also moves .spack to this backup location. Once it's done it does not move .spack back where it was.

My patch creates a copy of .spack to /tmp then moves it back right before exiting the install call.

* Make lint happy

* Use Spack native copy()

As suggested in peer-review let's:
- Copy .spack to stage directory so I don't have to use random
- Use Spack native copy() to do these operations

* Use join_path to create paths

As per peer-review suggestion:
- Use join_path to create paths
- Use copy_tree since we're copying a directory that could have sub-directories
2020-04-13 13:22:29 -05:00
Kai Torben Ohlhus
0c28a271ae
suite-sparse: add version 5.7.2 (#16020)
Release notes: https://github.com/DrTimothyAldenDavis/SuiteSparse/releases/tag/v5.7.2
2020-04-13 11:03:30 -05:00
Jennifer Herting
0d364e71ec
New version: py-notebook@6.0.3 (#15975)
* Update package.py to include py-notebook 6.0.3 and sha

* Update package.py

* [py-notebook] updated py-tornado version requirements

* [py-notebook] reworked and reordered for readability

* [py-notebook] updated version requirement for py-jupyter-client

* [py-notebook] updated version requirements for py-jupyter-core

Co-authored-by: ehdeec <ehdeec@rit.edu>
2020-04-13 10:59:54 -05:00
Adam J. Stewart
b0a39bd905
py-sacremoses: add new version (#16018) 2020-04-12 23:03:19 -05:00
Dr. Christian Tacke
ab0101ec69
boost: Fix for Version Comparison on Newer Clang on Darwin (#16014)
Applying to boost @1.56.0:1.72.0 as that's the version
range, where this patch can be cleanly applied. I was not
able to test this myself, but got positive feedback.

See: https://github.com/boostorg/build/issues/440
See: https://github.com/macports/macports-ports/pull/6726
2020-04-12 22:26:57 -05:00
Glenn Johnson
9a0dd631d5
new package: BART (#16016)
* new package: BART

This PR adds the BART (Berkeley Advanced Reconstruction Toolset)
package.

Despite the presence of CMake files, this package builds with a
Makefile. It looks like the project is moving away from cmake. The patch
for MKL has been committed upstream so should only be necessary for this
version of BART.  The Makefile patch is meant for working with Spack and
would not be useful upstream. The bart scripts are still setup to use
bart with the subcommands being individual binaries. This patches those
to use the single binary with built-in subcommands and assumes that
spack is providing the TOOLBOX environment variable and setting PATH.

* Update var/spack/repos/builtin/packages/bart/package.py

Yes, '==' make more sense for a single string.

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

* The python dependencies are run time only.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-12 19:41:37 -05:00
Jose E. Roman
a1fc761f18
New patch release SLEPc 3.13.1 (#16013)
* New patch release SLEPc 3.13.1

* Update var/spack/repos/builtin/packages/slepc/package.py

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-04-12 16:35:40 -05:00
Massimiliano Culpo
7e46da73dd
database: maintain in-memory consistency on remove (#15777)
The performance improvements done in #14693 where leaving the DB in an inconsistent state when specs were removed from it. This PR updates the DB internal state whenever the DB is written to a file.

Note that we still cannot properly enumerate installed dependents, so there is a TODO in this code. Fixing that will require the dependents dictionaries in specs to be re-keyed (either by hash, or not keyed at all -- a list would do).  See #11983 for details.
2020-04-12 13:14:59 -07:00