Commit graph

18375 commits

Author SHA1 Message Date
Scott Wittenburg
594512bdb3
ci: fixes for compiler bootstrapping (#17563)
This PR addresses a number of issues related to compiler bootstrapping.

Specifically:
1. Collect compilers to be bootstrapped while queueing in installer
Compiler tasks currently have an incomplete list in their task.dependents,
making those packages fail to install as they think they have not all their
dependencies installed. This PR collects the dependents and sets them on
compiler tasks.

2. allow boostrapped compilers to back off target
Bootstrapped compilers may be built with a compiler that doesn't support
the target used by the rest of the spec.  Allow them to build with less
aggressive target optimization settings.

3. Support for target ranges
Backing off the target necessitates computing target ranges, so make Spack
handle those properly.  Notably, this adds an intersection method for target
ranges and fixes the way ranges are satisfied and constrained on Spec objects.

This PR also:
- adds testing
- improves concretizer handling of target ranges

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
Co-authored-by: Gregory Becker <becker33@llnl.gov>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-12-18 02:05:06 -08:00
eugeneswalker
13e4d9ee3a
py-greenlet: add version 0.4.17 (#20457)
* py-greenlet: add version 0.4.17

* py-greenlet depends on python for build, link, and run
2020-12-17 19:38:43 -08:00
Chuck Atkins
c5b4a667d3
meson: Add cmake runtime dependency (#20449) 2020-12-17 16:56:39 -05:00
Harmen Stoppels
a879c875dd
New package: cray-mpich (#20076)
Cray's version of MPICH uses a different versioning system than
MPICH, so it has been split into its own package. It is an
external-only package (always provided by the system, never
installed by Spack).
2020-12-17 13:13:21 -08:00
eugeneswalker
105ee757bc
superlu depends on tcsh for build (#20381) 2020-12-17 12:26:18 -08:00
Dr. Christian Tacke
e858bb2961
cmake: Add Version 3.19.2 (#20448) 2020-12-17 20:25:51 +01:00
psakievich
093a247b25
View location resolve environment variables (#20420) 2020-12-17 10:25:08 -08:00
manifest
888c456ece
add py-gemini (#16950)
* py-gemini +

* dep py-setuptools +

* deps grabix+

* py-gemini dep version fix

* grabix compiler fix

* Update package.py

Typo correction
2020-12-17 12:17:01 -06:00
takanori-ihara
a0843e9634
biobambam2: new package at v2.0.177 (#20392) 2020-12-17 17:47:01 +01:00
Adam J. Stewart
120e5cdcc4
pangolin: add new package (#20388) 2020-12-17 17:45:26 +01:00
Ryan S. Elliott
12378db0d8
kim-api: added v2.2.1 (#20382) 2020-12-17 17:44:33 +01:00
ketsubouchi
4677674667
suite-sparse: add flags for Fujitsu compilers (#20393) 2020-12-17 17:40:01 +01:00
Tamara Dahlgren
b7d9e269ef
docs: add single node concurrent build example (#20416) 2020-12-17 17:23:55 +01:00
Adam J. Stewart
860a945de6
OpenCV: add versions up to v4.5.0, variants (#20378) 2020-12-17 17:06:28 +01:00
Michael Kuhn
c79647d66b
flexi: new package (#20313) 2020-12-17 17:02:49 +01:00
Michael Kuhn
8f8c9b34a9
openblas: added v0.3.13 (#20357) 2020-12-17 17:01:49 +01:00
Ryan Mast
3d7fe28966
mbedtls: added v2.16.9 (#20422) 2020-12-17 16:55:20 +01:00
Adam J. Stewart
b86743c879
DBoW2: add new package (#20387) 2020-12-17 16:54:34 +01:00
Hadrien G
e61fb96e96
acts: added v3.00.0 (#20402) 2020-12-17 14:27:06 +01:00
Massimiliano Culpo
076ea2fe4c
arm: added new package (#18019)
The package is at the moment not installable, just detectable.
2020-12-17 10:02:36 +01:00
Massimiliano Culpo
045afc8788
xlc, xlf: added new packages (#18154) 2020-12-17 10:00:06 +01:00
Massimiliano Culpo
76f1548fe2
unit-tests: ensure that installed packages can be reused (#20307)
refers #20292

Added a unit test that ensures we can reuse installed
packages even if in the repository variants have been
removed or added.
2020-12-17 00:31:59 -08:00
Ryan Mast
9692017d59
help2man: update to 1.47.16 (#20397) 2020-12-17 09:07:56 +01:00
Ryan Mast
e0e6a0199e
sundials: add versions up to 5.6.1 (#20436) 2020-12-16 18:26:47 -08:00
Ben Cowan
ed740fb654
Added PyAMG package. (#20414) 2020-12-16 17:58:41 -08:00
Ryan Mast
2bc5516a95
cli11: add new package (#20398) 2020-12-16 15:26:37 -08:00
Adam J. Stewart
826cd07cf7
PythonPackage: add import module smoke tests (#20023) 2020-12-16 15:15:03 -08:00
Ryan Mast
cd496a20e9
ninja: update to version 1.10.2 (#20399) 2020-12-16 14:49:12 -08:00
arjun-raj-kuppala
620fbf6e90
AMD ROCm release for mivisionx Bump up versions - 3.9.0 and 3.10.0 (#20401) 2020-12-16 16:46:23 -06:00
Adam J. Stewart
4d09dc4c61
dlib: add new package (#20386) 2020-12-16 14:28:39 -08:00
Thomas Gruber
2bb9116219
pylikwid: New recipe (#20408) 2020-12-16 14:17:37 -08:00
Ryan Mast
046e3fcae3
automake: update to 1.16.3 (#20421) 2020-12-16 14:12:04 -08:00
Zhiyi Wu
8539fcfd70
Update the plumed 2.6.2 (#20425) 2020-12-16 14:02:41 -08:00
Greg Becker
3840c0ac45
docs: fix spack install debug arg order (#20428) 2020-12-16 13:57:08 -08:00
Desmond Orton
3ff600b1cf
Version update to 5.3.0 (#20433) 2020-12-16 13:49:57 -08:00
David Beckingsale
dcc67dad15
Add RAJA v0.13.0 (#20431) 2020-12-16 13:45:57 -08:00
Adam J. Stewart
20752db103
Docs: add more Command Reference links to spack test (#20413) 2020-12-16 12:08:32 -08:00
Ethan Stam
86f006ffa9
Match master version instead of develop for PARAVIEW_VTK_DIR (#20427) 2020-12-16 12:29:35 -06:00
Tamara Dahlgren
cb01981628
docs: fix spack command for unit-test pytest help (#20415) 2020-12-16 10:13:22 -08:00
Danny Taller
d505ef8217
loop fuser option (#20417) 2020-12-16 10:44:43 +01:00
thelfer
c52d9dc445
Added TFEL v3.4 and MGIS v1.2 (#20234) 2020-12-16 10:40:34 +01:00
Greg Becker
352dc0624c
Fix comparisons for abstract specs (#20341)
bug only relevant for python3
2020-12-15 14:44:58 -08:00
Ben Cowan
c02625eb53
Kluge to get the gfortran linker to work correctly for SciPy on Big Sur. (#20367)
* Kluge to get the gfortran linker to work correctly on Big Sur.

* Fixed formatting error; stetting the other.

* Removed spaces.

* Added comment, mainly to re-trigger Spack CI.
2020-12-15 14:25:23 -06:00
Todd Gamblin
b6089ac691
concretizer: don't use one_of_iff for range constraints (#20383)
Currently, version range constraints, compiler version range constraints,
and target range constraints are implemented by generating ground rules
from `asp.py`, via `one_of_iff()`.  The rules look like this:

```
version_satisfies("python", "2.6:") :- 1 { version("python", "2.4"); ... } 1.
1 { version("python", "2.4"); ... } 1. :- version_satisfies("python", "2.6:").
```

So, `version_satisfies(Package, Constraint)` is true if and only if the
package is assigned a version that satisfies the constraint. We
precompute the set of known versions that satisfy the constraint, and
generate the rule in `SpackSolverSetup`.

We shouldn't need to generate already-ground rules for this. Rather, we
should leave it to the grounder to do the grounding, and generate facts
so that the constraint semantics can be defined in `concretize.lp`.

We can replace rules like the ones above with facts like this:

```
version_satisfies("python", "2.6:", "2.4")
```

And ground them in `concretize.lp` with rules like this:

```
1 { version(Package, Version) : version_satisfies(Package, Constraint, Version) } 1
  :- version_satisfies(Package, Constraint).
version_satisfies(Package, Constraint)
  :- version(Package, Version), version_satisfies(Package, Constraint, Version).
```

The top rule is the same as before. It makes conditional dependencies and
other places where version constraints are used work properly. Note that
we do not need the cardinality constraint for the second rule -- we
already have rules saying there can be only one version assigned to a
package, so we can just infer from `version/2` `version_satisfies/3`.
This form is also safe for grounding -- If we used the original form we'd
have unsafe variables like `Constraint` and `Package` -- the original
form only really worked when specified as ground to begin with.

- [x] use facts instead of generating rules for package version constraints
- [x] use facts instead of generating rules for compiler version constraints
- [x] use facts instead of generating rules for target range constraints
- [x] remove `one_of_iff()` and `iff()` as they're no longer needed
2020-12-15 11:58:58 -08:00
Dr. Christian Tacke
a7a5fd3fa3
fmt: added v7.1.3, update URLs (#20404) 2020-12-15 18:15:25 +01:00
Ryan Mast
168f07181d
bison: added versions up to v3.7.4 (#20400) 2020-12-15 18:13:33 +01:00
AMD Toolchain Support
7dc56a293f
gromacs: removed mentions of non-existing variants (#20405) 2020-12-15 17:44:59 +01:00
Massimiliano Culpo
7501d9d150
dealii, piranha, trilinos: remove mentions of non-existing variants (#20406) 2020-12-15 17:44:20 +01:00
Tamara Dahlgren
21f30e3074
Bugfix/docs: correct and expand smoke test documentation (#20278) 2020-12-15 08:38:00 -08:00
Mark W. Krentel
d6bfc104bf
comgr: disable hip compile test from /opt/rocm (#20330) 2020-12-15 13:55:45 +01:00