Commit graph

21061 commits

Author SHA1 Message Date
Vanessasaurus
b44bb952eb
first set of work to allow for saving local results with spack monitor (#23804)
This work will come in two phases. The first here is to allow saving of a local result
with spack monitor, and the second will add a spack monitor command so the user can
do spack monitor upload.

Signed-off-by: vsoch <vsoch@users.noreply.github.com>

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-05-25 11:29:34 -07:00
Hervé Yviquel
e22da8df05
extrae package: add variant for cuda and cupti (#23522) 2021-05-25 10:34:28 -07:00
Robert Cohn
c5389c430b
Fix cross references in inteloneapipackage doc (#23744)
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-05-25 09:57:49 -07:00
Seth R. Johnson
a284edb852
ForTrilinos: add smoke test (#23664) 2021-05-25 10:10:19 -06:00
Michael Kuhn
29deb399b4
iwyu: link clang resources in the right location (#23885)
iwyu cannot find clang's headers if they are installed in separate
prefixes, see:
https://github.com/include-what-you-use/include-what-you-use#how-to-install
2021-05-25 09:01:44 -06:00
eugeneswalker
c9b957b71a
variorum: unpin hwloc dependency (#23742) 2021-05-25 16:57:30 +02:00
Tamara Dahlgren
929d1de3e5
Stand-alone/Smoke tests: copy cached test sources to test stage (#23713) 2021-05-25 07:24:32 -07:00
Harmen Stoppels
56e7e2a406
MesonPackage: make "default_library" a multi-valued variant (#23540)
Currently if one package does `depends_on('pkg default_library=shared')`
and another does `depends_on('pkg default_library=both')`, you'd get a
concretization error.

With this PR one package can do `depends_on('pkg default_library=shared')` 
and another depends_on('default_library=static'), and it would concretize to 
`pkg default_library=shared,static`

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-05-25 12:07:00 +02:00
Harmen Stoppels
6d29f0d61f
strace: add v5.8-5.12 (#23883) 2021-05-25 12:02:24 +02:00
Harmen Stoppels
cb13ba0fd8
rpm: overhaul package recipe (#23819) 2021-05-25 11:59:19 +02:00
Olivier Cessenat
7c73a786b3
qucs: add new package (#23849)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-05-25 09:10:52 +02:00
estewart08
cbd46be21b
[AMD] - Update rocm-openmp-extras to 4.2.0. (#23870) 2021-05-25 08:58:49 +02:00
Tamara Dahlgren
bed1644d52
Fix packaging guide table's build system links (#23879) 2021-05-25 07:13:00 +02:00
HDF-EOS Tools Information Center
00963149e1
Fix hyperlink formatting in docs (#23846) 2021-05-25 07:09:07 +02:00
Chris White
fb2c3cce6d
Add tools and example variants to axom (#23877) 2021-05-25 01:01:58 +00:00
Cyrus Harrison
231490ce9a
ascent package: capture spack global flags in host config (#23826) 2021-05-24 16:50:38 -07:00
Cyrus Harrison
9426b26c22
dray package: capture spack global flags in host config (#23827) 2021-05-24 16:43:02 -07:00
Michael Kuhn
bb13ce308a
iwyu: add 0.15 (#23876) 2021-05-24 23:28:49 +00:00
Chris Richardson
51a0228aed
Fenicsx packages: updates for 0.1.0 releases (#23836) 2021-05-24 15:57:04 -07:00
Desmond Orton
b7bcd31d9b
raxml-ng update to version 1.0.2 (#23764)
* Package update to version 1.0.2

* switched submodule boolean to string

* switched from string to bools

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-05-24 13:54:31 -05:00
Seth R. Johnson
d46e49ef7a
SuperLU: add v5.2.2 and cmake tweaks (#23863)
- Changed to cmake package with backward compatibility with older
  makefile
- Removed unused cmake variable 'blas_blas_libs'
- Added new version 5.2.2 which change to external blas variable
- Remove unused tcsh dependency
- Change URL to use git repository for current and future versions
- Add older 4.2 version
- Add conflict for older versions with apple-clang
2021-05-24 13:04:21 +02:00
Andreas Baumbach
b7d0b3ea75
gdk-pixbuf: restrict patch application to meson packages (#23838) 2021-05-24 09:36:12 +02:00
Andreas Baumbach
4153c2e319
libedit: add missing pkgconfig dependency (#23839) 2021-05-24 09:35:24 +02:00
Andreas Baumbach
7f56394af9
ncdu: add v1.15.1 (#23840) 2021-05-24 09:34:45 +02:00
Valentin Volkl
b6416376db
alpaka: add new package (#23576) 2021-05-24 09:28:49 +02:00
Hang Yan
e952aa890e
chapel: add versions up to 1.24.1 (#23365) 2021-05-24 09:27:42 +02:00
Robert Mijakovic
9a185b1d0b
ucx: add v1.10.1 (#23858)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-05-24 09:16:08 +02:00
Filippo Spiga
b793422e12
CUDA: add v11.3.1 (#23864) 2021-05-24 08:48:44 +02:00
Valentin Volkl
27e9f02d32
chaplin: add new package (#23866) 2021-05-24 08:47:52 +02:00
Vanessasaurus
ec00d68ba1
updating debugedit to be built from its production repository (#23851)
Signed-off-by: vsoch <vsoch@users.noreply.github.com>

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-05-22 21:27:32 -07:00
Todd Gamblin
d45674c1cb
Spack can Use RHEL8's platform-python if nothing else is available. (#23857)
This adds RHEL8's `/usr/libexec/platform-python` to Spack's list of preferred
pythons. It will only be used if no other `python` is available in the `PATH`.

We have been testing with this python for a while now, and it seems to do all
that we need. If Spack one day isn't able to work with it, we'll take it out,
but for now it is useful to allow Spack to be used on RHEL8 without a dedicated
`python` installation.
2021-05-22 15:35:07 -07:00
Todd Gamblin
17473a08ff Merge tag 'v0.16.2' into develop 2021-05-22 15:22:34 -07:00
Todd Gamblin
f1fe03cd59 Update CHANGELOG and release version for v0.16.2 2021-05-22 14:57:30 -07:00
Massimiliano Culpo
80f0c78f00 Style fixes for v0.16.2 release 2021-05-22 14:57:30 -07:00
Todd Gamblin
818664d55a performance: speed up existence checks in packages (#23661)
Spack doesn't require users to manually index their repos; it reindexes the indexes automatically when things change. To determine when to do this, it has to `stat()` all package files in each repository to make sure that indexes up to date with packages. We currently index virtual providers, patches by sha256, and tags on packages.

When this was originally implemented, we ran the checker all the time, at startup, but that was slow (see #7587). But we didn't go far enough -- it still consults the checker and does all the stat operations just to see if a package exists (`Repo.exists()`).  That might've been a wash in 2018, but as the number of packages has grown, it's gotten slower -- checking 5k packages is expensive and users see this for small operations.  It's a win now to make `Repo.exists()` check files directly.

**Fix:**

This PR does a number of things to speed up `spack load`, `spack info`, and other commands:

- [x] Make `Repo.exists()` check files directly again with `os.path.exists()` (this is the big one)
- [x] Refactor `Spec.satisfies()` so that a checking for virtual packages only happens if needed
      (avoids some calls to exists())
- [x] Avoid calling `Repo.exists(spec)` in `Repo.get()`. `Repo.get()` will ultimately try to load
      a `package.py` file anyway; we can let the failure to load it indicate that the package doesn't
      exist, and avoid another call to exists().
- [x] Fix up some comments in spec parsing
- [x] Call `UnknownPackageError` more consistently in `repo.py`
2021-05-22 14:57:30 -07:00
Massimiliano Culpo
76c5a02125 ASP-based solve: minimize compiler mismatches (#23016)
fixes #22718

Instead of trying to maximize the number of
matches (preferred behavior), try to minimize
the number of mismatches (unwanted behavior).
2021-05-22 14:57:30 -07:00
Drew Whitehouse
0fd94d4486
new package for openvdb (#23581) 2021-05-22 23:05:10 +02:00
Olivier Cessenat
fb156ae4bc
New package: sparskit (#23848) 2021-05-22 16:25:28 -04:00
Massimiliano Culpo
30dd61264a ASP-based solver: no intermediate package for concretizing together (#23307)
The ASP-based solver can natively manage cases where more than one root spec is given, and is able to concretize all the roots together (ensuring one spec per package at most).

Modifications:
- [x] When concretising together an environment the ASP-based solver calls directly its `solve` method rather than constructing a temporary fake root package.
2021-05-22 11:51:21 -07:00
Massimiliano Culpo
13fed376f2 Import hooks using Python's built-in machinery (#23288)
The function we coded in Spack to load Python modules with arbitrary
names from a file seem to have issues with local imports. For
loading hooks though it is unnecessary to use such functions, since
we don't care to bind a custom name to a module nor we have to load
it from an unknown location.

This PR thus modifies spack.hook in the following ways:

- Use __import__ instead of spack.util.imp.load_source (this
  addresses #20005)
- Sync module docstring with all the hooks we have
- Avoid using memoization in a module function
- Marked with a leading underscore all the names that are supposed
  to stay local
2021-05-22 11:51:21 -07:00
Harmen Stoppels
fb27c7ad0c spack location: fix usage without args (#22755) 2021-05-22 11:51:21 -07:00
Harmen Stoppels
4a7581eda3 Add "spack [cd|location] --source-dir" (#22321) 2021-05-22 11:51:20 -07:00
Massimiliano Culpo
0d173bb32b Use Python's built-in machinery to import compilers (#23290) 2021-05-22 11:51:20 -07:00
Massimiliano Culpo
8a7bfe97c3 ASP-based solver: suppress warnings when constructing facts (#23090)
fixes #22786

Trying to get optimization flags for a specific target from
a compiler may trigger warnings. In the context of constructing
facts for the ASP-based solver we don't want to show these
warnings to the user, so here we simply ignore them.
2021-05-22 11:51:20 -07:00
Peter Scheibel
f1f94ad31a Externals with merged prefixes (#22653)
We remove system paths from search variables like PATH and 
from -L options because they may contain many packages and
could interfere with Spack-built packages. External packages 
may be installed to prefixes that are not actually system paths 
but are still "merged" in the sense that many other packages are
installed there. To avoid conflicts, this PR places all external
packages at the end of search paths.
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
2655e21bd0 ASP-based solver: assign OS correctly with inheritance from parent (#22896)
fixes #22871

When in presence of multiple choices for the operating system
we were lacking a rule to derive the node OS if it was
inherited.
2021-05-22 11:51:20 -07:00
Peter Scheibel
5546b22c70 "spack build-env" searches env for relevant spec (#21642)
If you install packages using spack install in an environment with
complex spec constraints, and the install fails, you may want to
test out the build using spack build-env; one issue (particularly
if you use concretize: together) is that it may be hard to pass
the appropriate spec that matches what the environment is
attempting to install.

This updates the build-env command to default to pulling a matching
spec from the environment rather than concretizing what the user
provides on the command line independently.

This makes a similar change to spack cd.

If the user-provided spec matches multiple specs in the environment,
then these commands will now report an error and display all
matching specs (to help the user specify).

Co-authored-by: Gregory Becker <becker33@llnl.gov>
2021-05-22 11:51:20 -07:00
Adam J. Stewart
2496c7b514 Remove erroneous warnings about quotes for from_source_file (#22767) 2021-05-22 11:51:20 -07:00
Massimiliano Culpo
43cea1b354 Bootstrapping: swap store before configuration (#22631)
fixes #22294

A combination of the swapping order for global variables and
the fact that most of them are lazily evaluated resulted in
custom install tree not being taken into account if clingo
had to be bootstrapped.

This commit fixes that particular issue, but a broader refactor
may be needed to ensure that similar situations won't affect us
in the future.
2021-05-22 11:51:20 -07:00
Harmen Stoppels
cbd55332e3 Bootstrap: add _builtin config scope (#22610)
(cherry picked from commit a37c916dff)
2021-05-22 11:51:20 -07:00