Compare commits

..

5252 Commits

Author SHA1 Message Date
Scott Wittenburg
28517deeeb Pipelines: pass relative artifact paths to child jobs (#24085)
Passing absolute paths from pipeline generate job to downstream rebuild jobs
causes problems when the CI_PROJECT_DIR is not the same for the generate and
rebuild jobs.  This has happened, for example, when gitlab checks out the
project into a runner-specific directory and different runners are chosen
for the generate and rebuild jobs.
2021-06-02 14:20:57 -06:00
Desmond Orton
194c8ee803 py-httplib2:Version update (#23966) 2021-06-02 13:35:09 -05:00
Danny McClanahan
b369ff461a ensure the staging dir exists for spack stage -p <PATH> (#23963)
* ensure that the stage root exists for `spack stage -p <PATH>`

* add test to verify `spack stage -p <PATH>` works!

* move out shared tmp staging path setup to a fixture to fix the test
2021-06-02 09:56:51 -07:00
Harmen Stoppels
281b0e8c92 py-msgpack: add v1.0.2, v1.0.1 (#24065) 2021-06-02 08:01:45 -06:00
Manuela Kuhn
29554d867f py-nilearn: add new package (#24055) 2021-06-02 08:37:07 -05:00
Vicente Bolea
410da48e81 vtk-m: add v1.6.0 (#24062)
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-06-02 12:28:44 +02:00
Nic McDonald
e37d663881 sst-core, sst-elements, sst-macro: add v11.0.0 (#24075) 2021-06-02 02:08:17 -06:00
Brian Van Essen
3356c5fc71 lbann, aluminum, hydrogen, dihydrogen: pass cuda_arch to cmake (#24074) 2021-06-02 10:02:23 +02:00
Filippo Spiga
622223823e Adding NVHPC 21.5 support (#24078) 2021-06-02 01:43:45 -06:00
Axel Huebl
ef47fe53ba WarpX: 21.06 (#24072)
* WarpX: 21.06

Also fix a little dependency issue in HIP.

* Fix openPMD dependency for no-MPI
2021-06-02 09:35:35 +02:00
Jean-Paul Pelteret
237ff4b2b2 dealii: add v9.3.0 (#24077) 2021-06-02 09:33:34 +02:00
Desmond Orton
90e92bee4c New package: py-gcs-oauth2-boto-plugin (#23969)
* New package: py-gcs-oauth2-boto-plugin

* Dep fixes
2021-06-01 20:13:44 -06:00
Desmond Orton
b082f12730 New Package:py-sierrapy@0.3.0 (#23768)
* New Package:py-sierrapy@0.3.0

* dep fixes to sierrapy

* further dep fixes
2021-06-01 20:13:27 -06:00
Harmen Stoppels
66013eecd7 Bump pip (#24073) 2021-06-01 20:48:18 -05:00
Jonathan R. Madsen
314329deea Create pykokkos-base package (#24054) 2021-06-01 19:50:03 +00:00
Harmen Stoppels
e8afc5db15 Fix bug where cmake prefix path on the command line does not include transitive deps (#23965) 2021-06-01 12:45:52 -07:00
Mikael Simberg
690558f927 umpire: add v5.0.1 (#24056) 2021-06-01 20:37:39 +02:00
Michael Kuhn
c90f24d908 gcc: add 9.4.0 (#24064)
This also enables bootstrapping by default since that is what GCC
recommends and what most distributions are doing as well.
2021-06-01 20:22:27 +02:00
Kevin Huck
73c78358a8 apex: updated package, added maintainer (#18569)
Adding versions: 2.2.0, 2.3.0, 2.3.1, 2.3.2, 2.4.0
2021-06-01 20:14:18 +02:00
Massimiliano Culpo
50dac14d10 axom: fix typo in conflicts where "^" is missing (#24058) 2021-06-01 19:06:15 +02:00
Massimiliano Culpo
707a3f7df8 Simplified the spack.util.gpg implementation (#23889)
* Simplified the spack.util.gpg implementation

All the classes defined in this Python module,
which were previously used to construct singleton
instances, have been removed in favor of four
global variables. These variables are initialized
lazily, like before.

The API of the module has been unchanged for the
most part. A few tests have been modified to use
the new global names.
2021-06-01 10:05:42 -07:00
Massimiliano Culpo
c6d21fa154 rocksdb: fix typo in dependency condition (#24061)
refers #23503

`spack audit` caught that the "bzip2" variant was not defined.
2021-06-01 08:11:12 -06:00
Massimiliano Culpo
c015e84291 py-elephant: fix typo in dependency condition (#24060)
refers #23503

`spack audit` caught that the "docs" variant was not defined.
2021-06-01 08:10:38 -06:00
Massimiliano Culpo
379482b653 paradiseo: remove dependency that cannot be triggered (#24059)
refers #23503

Spack audit caught that the "doc" variant was not defined,
and doxygen was conditional on it being set.
2021-06-01 15:55:02 +02:00
Manuela Kuhn
8fe2be0010 py-nipype: add new package (#24045) 2021-06-01 08:41:02 -05:00
Harmen Stoppels
4c3d58ad83 mpich: conflict no longer necessary with clang (#24013) 2021-06-01 06:16:25 -06:00
lpoirel
f8794afcbd petsc: add +hwloc and +openmp variants (#23675) 2021-06-01 03:37:19 -06:00
Mark W. Krentel
389b02cf71 hpctoolkit: update recipe, add v2021.05.15 (#24017)
1. add version 2021.05.15.
2. add patch to build old revs with gcc 11.x, version 2021.15.05
already has patch integrated, fixes #23667.
3. add variant +debug to build unoptimized, debug version.
4. add variant +viewer to include hpcviewer and add viewer path to
hpctoolkit module.
5. add dependency on memkind to workaround a glibc problem found on
some Cray platforms.
2021-06-01 02:31:48 -06:00
Matthieu Dorier
2cd8139cd7 spdlog: add v1.8.2-v1.8.5, adjusted required version of cmake (#23993) 2021-06-01 10:28:33 +02:00
iarspider
e4edbe89cc COOL: add new package (#23006)
Co-authored-by: George Hartzell <hartzell@alerce.com>
2021-06-01 10:12:55 +02:00
Michael Kuhn
f1d2ab38a0 enzo: add main branch (#24010)
We also keep around master for compatibility and map it to main.
2021-06-01 10:10:37 +02:00
Adam J. Stewart
ab254e7d86 py-numcodecs: fix import_modules tests (#24015) 2021-06-01 10:00:53 +02:00
Adam J. Stewart
c596dba039 py-psycopg2: need link dep on postgresql (#24016) 2021-06-01 10:00:35 +02:00
Harmen Stoppels
26e1a8287f Bump cmake (#24043) 2021-06-01 09:41:52 +02:00
Michael Kuhn
f35c3ef9ef perl: add 5.34.0 (and 5.35.0) (#24047) 2021-06-01 09:41:36 +02:00
Seth R. Johnson
976a97f045 formetis: add new package (#24048) 2021-06-01 09:32:20 +02:00
Harmen Stoppels
bb5fd5c567 Fix leading / during spack buildcache -f ... (#24028)
For me the buildcache force overwrite option does not work. It tries to
delete a file, but errors with a key error, apparently because the
leading / has to be removed.
2021-06-01 01:10:32 -06:00
Ben Darwin
40803365f3 cctools: add v7.2.10 (#24051) 2021-06-01 09:01:55 +02:00
Mark W. Krentel
5fb68b4441 elfutils: add v0.183 through v0.185 (#24052) 2021-06-01 09:01:32 +02:00
Hadrien G
175e6e8c1e acts: add v8.3.0 (#24053) 2021-06-01 08:59:33 +02:00
Tom Scogland
4a7b0afde2 Log performance improvement (#23925)
* util.tty.log: read up to 100 lines if ready

Rework to read up to 100 lines from the captured stdin as long as data
is ready to be read immediately.  Adds a helper function to poll with
`select` for ready data.  This showed a roughly 5-10x perf improvement
for high-rate writes through the logger with relatively short lines.

* util.tty.log: Defer flushes to end of ready reads

Rather than flush per line, flush per set of reads.  Since this is a
non-blocking loop, the total perceived wait is short.

* util.tty.log: only scan each line once, usually

Rather than always find all control characters then substitute them all,
use `subn` to count the number of control characters replaced.  Only if
control characters exist find out what they are.  This could be made
truly single pass with sub with a function, but it's a more intrusive
change and this got 99%ish of the performance improvement (roughly
another 2x in some cases).

* util.tty.log: remove check for `readable`

Python < 3 does not support a readable check on streams, should not be
necessary here since we control the only use and it's explicitly a
stream to be read.
2021-05-31 20:33:14 -07:00
Manuela Kuhn
ea4a2c9120 py-lxml: add 4.6.3 (#24037)
* py-lxml: add 4.6.3

Also add missing libxml2 and libxslt versions dependencies [1]

[1] https://github.com/lxml/lxml/blob/lxml-4.6.3/INSTALL.txt

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

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

* py-lxml: remove cython dependency again

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-05-31 17:34:28 -06:00
Manuela Kuhn
e5513f914e py-prov: add new package (#24040) 2021-05-31 17:10:29 -06:00
Manuela Kuhn
1fae271be8 py-click: add 8.0.1 (#24041) 2021-05-31 17:46:20 -05:00
Manuela Kuhn
c6da94473d py-traits: add 6.2.0 (#24044) 2021-05-31 16:48:19 -05:00
Manuela Kuhn
adf2e8230a py-simplejson: add 3.17.2 (#24042)
Also fix python version dependency.
2021-05-31 16:47:28 -05:00
Manuela Kuhn
f3d506b582 py-networkx: add 2.5.1 (#24038) 2021-05-31 16:42:12 -05:00
Manuela Kuhn
647bee732c py-nibabel: add new package (#24036) 2021-05-31 16:36:23 -05:00
Manuela Kuhn
9d0b8208e4 py-packaging: add 20.9 (#24034) 2021-05-31 16:35:04 -05:00
Manuela Kuhn
9a902b67a1 py-etelemetry: add new package (#24033) 2021-05-31 15:34:22 -06:00
Manuela Kuhn
444ba3d4cf py-ci-info: add new package (#24031) 2021-05-31 16:14:13 -05:00
Manuela Kuhn
bc78cf3a2c py-pydot: add v1.4.2 (#24039) 2021-05-31 19:26:55 +00:00
Manuela Kuhn
c8df8f2702 py-requests: add 2.25.1 (#24032) 2021-05-31 12:59:25 -05:00
Harmen Stoppels
7bae865c7e Propagate openmp to blas for sirius and spla (#24027)
And also update lowerbounds of dependencies
2021-05-31 14:16:00 +00:00
h-murai
8cdf42e1db Bugfix: not providing fftw-api@3 (#24024) 2021-05-31 04:01:42 -06:00
Valentin Volkl
ae2fc50861 xqilla: add patches for newer xerces-c, gcc (#24021) 2021-05-31 03:49:23 -06:00
Michael Kuhn
c4e4d3587b libfabric: add debug variant (#24018) 2021-05-31 09:50:32 +02:00
eugeneswalker
bd6145589d CI: E4S: enable full E4S (#24011)
* e4s ci: enable full e4s
* add llvm-amdgpu to list of specs needing an xlarge tagged runner
* comment out qt and qwt because of intermittent build failures
* remove +rocm specs because rocblas job consistently fails due to infrastructure
2021-05-30 13:09:07 -07:00
Valentin Volkl
7bdd906580 vbfnlo: add missing build dependencies (#24022) 2021-05-30 19:26:39 +02:00
Paul R. C. Kent
d4585f4328 New versions: py-sphinxcontrib-bibtex, py-sphinx-rtd-theme, py-pybtex-docutils, py-pybtex (#24009)
* New versions

* update deps

* py-sphinxcontrib-bibtex deps
2021-05-29 20:52:36 -05:00
Paul R. C. Kent
120c718da5 New versions: py-gpaw, py-ase (#24008)
* New gpaw and ase versions

* Update ase deps

* flask dep removed after 3.18.0
2021-05-29 23:05:16 +00:00
Seth R. Johnson
9936182f60 qt: skip multimedia when ~opengl (#23989)
* qt: skip multimedia when ~opengl

On 5.9 on macOS the multimedia option causes build errors; on other
platforms and versions it should probably be assumed inoperative anyway.

* qt: Omit flags when disabling multimedia

```
ERROR: Unknown command line option '-no-pulseaudio'.
```

* Work around another qt@5.9 error

* qt: Fix build error on darwin
2021-05-29 20:53:25 +02:00
Vanessasaurus
6f534acbef adding support for export of private gpg key (#22557)
This PR allows users to `--export`, `--export-secret`, or both to  export GPG keys
from Spack. The docs are updated that include a warning that this usually does not
need to be done.

This addresses an issue brought up in slack, and also represented in #14721.

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

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-05-28 23:32:57 -07:00
Harmen Stoppels
f6febd2ef5 Cache compiler lookup per package (#23988)
Before:

```
$ hyperfine '~/spack/bin/spack -e . build-env rocfft'
Benchmark #1: ~/spack/bin/spack -e . build-env rocfft
  Time (mean ± σ):      1.593 s ±  0.016 s    [User: 1.468 s, System: 0.126 s]
  Range (min … max):    1.575 s …  1.628 s    10 runs
```

After:

```
$ hyperfine '~/spack/bin/spack -e . build-env rocfft'
Benchmark #1: ~/spack/bin/spack -e . build-env rocfft
  Time (mean ± σ):      1.407 s ±  0.020 s    [User: 1.280 s, System: 0.127 s]
  Range (min … max):    1.393 s …  1.455 s    10 runs
```
2021-05-28 21:36:34 +00:00
Greg Becker
7490d63c38 Separable module configuration -- without the bugs this time (#23703)
Currently, module configurations are inconsistent because modulefiles are generated with the configs for the active environment, but are shared among all environments (and spack outside any environment).

This PR fixes that by allowing Spack environments (or other spack config scopes) to define additional sets of modules to generate. Each set of modules can enable either lmod or tcl modules, and contains all of the previously available module configuration. The user defines the name of each module set -- the set configured in Spack by default is named "default", and is the one returned by module manipulation commands in the absence of user intervention.

As part of this change, the module roots configuration moved from the config section to inside each module configuration.

Additionally, it adds a feature that the modulefiles for an environment can be configured to be relative to an environment view rather than the underlying prefix. This will not be enabled by default, as it should only be enabled within an environment and for non-default views constructed with separate projections per-spec.
2021-05-28 14:12:05 -07:00
Desmond Orton
9b99f85abf New Package:py-ucsf-pyem (#23961)
* New Package:py-ucsf-pyem

* Dep additions, eun env deletion

* extraction step change

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-05-28 13:28:14 -06:00
Ken Raffenetti
3c9c3c678d mpich: add v3.4.2 (#24002) 2021-05-28 12:34:29 -06:00
Desmond Orton
f8223303bb New Package: py-retry-decorator (#23967)
* New Package: py-retry-decorator

* pypi link correction

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-05-28 18:06:36 +00:00
Scott Wittenburg
91f66ea0a4 Pipelines: reproducible builds (#22887)
### Overview

The goal of this PR is to make gitlab pipeline builds (especially build failures) more reproducible outside of the pipeline environment.  The two key changes here which aim to improve reproducibility are: 

1. Produce a `spack.lock` during pipeline generation which is passed to child jobs via artifacts.  This concretized environment is used both by generated child jobs as well as uploaded as an artifact to be used when reproducing the build locally.
2. In the `spack ci rebuild` command, if a spec needs to be rebuilt from source, do this by generating and running an `install.sh` shell script which is then also uploaded as a job artifact to be run during local reproduction.  

To make it easier to take advantage of improved build reproducibility, this PR also adds a new subcommand, `spack ci reproduce-build`, which, given a url to job artifacts:

- fetches and unzips the job artifacts to a local directory
- looks for the generated pipeline yaml and parses it to find details about the job to reproduce
- attempts to provide a copy of the same version of spack used in the ci build
- if the ci build used a docker image, the command prints a `docker run` command you can run to get an interactive shell for reproducing the build

#### Some highlights

One consequence of this change will be much smaller pipeline yaml files.  By encoding the concrete environment in a `spack.lock` and passing to child jobs via artifacts, we will no longer need to encode the concrete root of each spec and write it into the job variables, greatly reducing the size of the generated pipeline yaml.

Additionally `spack ci rebuild` output (stdout/stderr) is no longer internally redirected to a log file, so job output will appear directly in the gitlab job trace.  With debug logging turned on, this often results in log files getting truncated because they exceed the maximum amount of log output gitlab allows.  If this is a problem, you still have the option to `tee` command output to a file in the within the artifacts directory, as now each generated job exposes a `user_data` directory as an artifact, which you can fill with whatever you want in your custom job scripts.

There are some changes to be aware of in how pipelines should be set up after this PR:

#### Pipeline generation

Because the pipeline generation job now writes a `spack.lock` artifact to be consumed by generated downstream jobs, `spack ci generate` takes a new option `--artifacts-root`, inside which it creates a `concrete_env` directory to place the lockfile.  This artifacts root directory is also where the `user_data` directory will live, in case you want to generate any custom artifacts.  If you do not provide `--artifacts-root`, the default is for it to create a `jobs_scratch_dir` within your `CI_PROJECT_DIR` (a gitlab predefined environment variable) or whatever is your current working directory if that variable isn't set. Here's the diff of the PR testing `.gitlab-ci.yml` taking advantage of the new option:

```
$ git diff develop..pipelines-reproducible-builds share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml
diff --git a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml
index 579d7b56f3..0247803a30 100644
--- a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml
+++ b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml
@@ -28,10 +28,11 @@ default:
     - cd share/spack/gitlab/cloud_pipelines/stacks/${SPACK_CI_STACK_NAME}
     - spack env activate --without-view .
     - spack ci generate --check-index-only
+      --artifacts-root "${CI_PROJECT_DIR}/jobs_scratch_dir"
       --output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/cloud-ci-pipeline.yml"
   artifacts:
     paths:
-      - "${CI_PROJECT_DIR}/jobs_scratch_dir/cloud-ci-pipeline.yml"
+      - "${CI_PROJECT_DIR}/jobs_scratch_dir"
   tags: ["spack", "public", "medium", "x86_64"]
   interruptible: true
```

Notice how we replaced the specific pointer to the generated pipeline file with its containing folder, the same folder we passed as `--artifacts-root`.  This way anything in that directory (the generated pipeline yaml, as well as the concrete environment directory containing the `spack.lock`) will be uploaded as an artifact and available to the downstream jobs.

#### Rebuild jobs

Rebuild jobs now must activate the concrete environment created by `spack ci generate` and provided via artifacts.  When the pipeline is generated, a directory called `concrete_environment` is created within the artifacts root directory, and this is where the `spack.lock` file is written to be passed to the generated rebuild jobs.  The artifacts root directory can be specified using the `--artifacts-root` option to `spack ci generate`, otherwise, it is assumed to be `$CI_PROJECT_DIR`.  The directory containing the concrete environment files (`spack.yaml` and `spack.lock`) is then passed to generated child jobs via the `SPACK_CONCRETE_ENV_DIR` variable in the generated pipeline yaml file.

When you don't provide custom `script` sections in your `mappings` within the `gitlab-ci` section of your `spack.yaml`, the default behavior of rebuild jobs is now to change into `SPACK_CONCRETE_ENV_DIR` and activate that environment.   If you do provide custom rebuild scripts in your `spack.yaml`, be aware those scripts should do the same thing: assume `SPACK_CONCRETE_ENV_DIR` contains the concretized environment to activate.  No other changes to existing custom rebuild scripts should be required as a result of this PR. 

As mentioned above, one key change made in this PR is the generation of the `install.sh` script by the rebuild jobs, as that same script is both run by the CI rebuild job as well as exported as an artifact to aid in subsequent attempts to reproduce the build outside of CI.  The generated `install.sh` script contains only a single `spack install` command with arguments computed by `spack ci rebuild`.  If the install fails, the job trace in gitlab will contain instructions on how to reproduce the build locally:

```
To reproduce this build locally, run:
  spack ci reproduce-build https://gitlab.next.spack.io/api/v4/projects/7/jobs/240607/artifacts [--working-dir <dir>]
If this project does not have public pipelines, you will need to first:
  export GITLAB_PRIVATE_TOKEN=<generated_token>
... then follow the printed instructions.
```

When run locally, the `spack ci reproduce-build` command shown above will download and process the job artifacts from gitlab, then print out instructions you  can copy-paste to run a local reproducer of the CI job.

This PR includes a few other changes to the way pipelines work, see the documentation on pipelines for more details.

This  PR erelies on 
~- [ ] #23194 to be able to refer to uninstalled specs by DAG hash~
EDIT: that is going to take longer to come to fruition, so for now, we will continue to install specs represented by a concrete `spec.yaml` file on disk.
- [x] #22657 to support install a single spec already present in the active, concrete environment
2021-05-28 09:38:07 -07:00
psakievich
4262de6a32 Add cxxstd to trilinos deps in nalu-wind (#23976)
Co-authored-by: Philip Sakievich <psakiev@sanida.gov>
2021-05-28 09:17:52 -07:00
Glenn Johnson
4171ee6650 armadillo: update and allow build with MKL (#23875) 2021-05-28 17:27:15 +02:00
Olivier Cessenat
0054e9bb08 argon2: ensure libraries are installed under lib (#21805)
Make a standard installation for libs in lib not lib/x86_64-linux-gnu for cmake
2021-05-28 17:26:15 +02:00
Greg Becker
405314195e aocc version detection (#23907) 2021-05-28 10:13:40 -05:00
Desmond Orton
e0fa0145e3 freebayes: add v1.3.5, move to MesonPackage (#23772) 2021-05-28 17:07:52 +02:00
Manuela Kuhn
a9197d6e6d r-boot: add v1.3-28 (#23992) 2021-05-28 14:54:50 +00:00
Adam J. Stewart
2507929308 opencv: add v4.5.2 (#23913) 2021-05-28 16:50:25 +02:00
Seth R. Johnson
a975cad6c6 root: disable afterimage when ~x (#23962) 2021-05-28 10:48:06 -04:00
Manuela Kuhn
27c8aac3b6 r-matrix: add v1.3-3 (#23995) 2021-05-28 14:47:56 +00:00
archxlith
4365ed9205 openfst: add v1.8.1, add "python" variant (#23850) 2021-05-28 16:46:00 +02:00
Manuela Kuhn
fe302893ae r-lattice: add v0.20-44 (#23994) 2021-05-28 14:39:29 +00:00
Seth R. Johnson
d593aa5048 vecgeom: add v1.1.15 (#23973) 2021-05-28 16:36:32 +02:00
Desmond Orton
ebf6f71355 modeltest-ng: add new package (#23765) 2021-05-28 16:35:18 +02:00
Manuela Kuhn
16d4b1ed32 r-mass: add v7.3-54 (#23996) 2021-05-28 14:34:21 +00:00
Manuela Kuhn
f0eb4ca2d8 r-nlme: add v3.1-152 (#23997) 2021-05-28 14:30:37 +00:00
Manuela Kuhn
e06a3b7d45 r-lme4: add v1.1-27 (#23998) 2021-05-28 14:26:21 +00:00
Manuela Kuhn
c2e1e48fdc r-pbkrtest: add v0.5.1 (#23999) 2021-05-28 14:21:21 +00:00
Robert Mijakovic
50ea1f8577 singularity: add v3.7.4 (#23954)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-05-28 15:56:40 +02:00
Martin Aumüller
0c290ef1c3 embree: add v3.13.0, fix build (#23986)
* embree: allow for compiling with gcc 7.3

strip out unsupported -mprefer-vector-width=256

* embree: fix build on AMD CPUs

The ISAs that embree is compiled for have to match the CPU
features enabled by the compiler, as embree derives theISA
that it compiles for from the latter.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-05-28 13:50:03 +02:00
Jose E. Roman
1dd6bc2725 SLEPc: add v3.15.1 (#23987) 2021-05-28 13:46:24 +02:00
Brian Van Essen
f1dc49bf42 lbann: add v0.102, add variant to enable address sanitizer. (#23981) 2021-05-28 11:31:24 +02:00
dependabot[bot]
de6e83f566 build(deps): bump actions/cache from 2.1.5 to 2.1.6 (#23983)
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.5...v2.1.6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-28 11:24:56 +02:00
Martin Aumüller
6a9e2eeb83 botan: add v2.17.3, v2.18.0 and v2.18.1 (#23984) 2021-05-28 11:24:15 +02:00
Martin Aumüller
c4063b11fe ispc: add v1.15.0 (#23985) 2021-05-28 11:23:46 +02:00
Todd Gamblin
6fc0e8dc9b Use AWS CloudFront for source mirror (#23978)
Spack's source mirror was previously in a plain old S3 bucket. That will still
work, but we can do better. This switches to AWS's CloudFront CDN for hosting
the mirror.

CloudFront is 16x faster (or more) than the old bucket.

- [x] change mirror to https://mirror.spack.io
2021-05-28 00:18:30 -07:00
plamborn
031ef00a1f libhio: added version 1.4.1.6 (#23975) 2021-05-28 00:19:12 -06:00
Ben Corbett
429b71bf57 Fix ZFP cuda build. (#23941) 2021-05-27 21:46:19 -06:00
Adam J. Stewart
850cac5ea3 py-cfgrib: add new version (#23916) 2021-05-28 03:14:44 +00:00
Adam J. Stewart
e2399bcd0e py-geocube: add new package (#23909) 2021-05-27 19:40:54 -05:00
Desmond Orton
b375500134 py-gql: Added version and deps for @0.4.0 (#23927)
* Added version and deps for @0.4.0

* Switched to pypi, fixed deps

* deprecation removal
2021-05-28 00:13:27 +00:00
Desmond Orton
b255c698d5 New Package: py-google-apitools (#23968)
* New Package: py-google-apitools

* proper python constraints

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-05-28 00:03:15 +00:00
Desmond Orton
53e4f32a31 New package:py-coveralls (#23930)
* New package:py-coveralls

* dep fixes

* added python constraint

* pyyaml version constraint

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-05-27 17:40:13 -06:00
Desmond Orton
e74d10fd78 py-healpy: added missing dep (#23960)
* py-healpy: added missing dep

* added healpix and pkgconfig
2021-05-27 23:33:03 +00:00
romerojosh
f31bc986a8 Update nvshmem package to use public URL (#23933) 2021-05-27 23:25:12 +02:00
Adam J. Stewart
ef56462867 Add fuse virtual dependency, new macfuse package (#23904) 2021-05-27 23:21:11 +02:00
Greg Becker
b91dff4aaf bugfix: mirror index shows missing packages (#23939)
- [x] add `in_buildcache` field to DB records to indicate what parts of an index, 
       which includes roots and dependencies, are in the buildcache.
- [x] add `mark()` method to DB for setting values on single nodes of the DAG.
2021-05-27 20:38:13 +00:00
Adam J. Stewart
214182529f wget: add new version, fix macOS build (#23921) 2021-05-27 13:23:17 -07:00
Michael Kuhn
dd0bd179c5 gtkplus: add 3.24.29 (#23896)
This also fixes the build with %gcc@11:. According to upstream, the
proper solution is to disable -Werror=array-bounds since the stable
branch will not receive a patch for newer compilers.
2021-05-27 15:17:13 -05:00
Adam J. Stewart
f92b7eca5e py-eccodes: add new package (#23906) 2021-05-27 13:16:44 -07:00
Adam J. Stewart
cc4029daab py-datacube: add new package (#23905)
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-05-27 13:14:59 -07:00
Adam J. Stewart
4e8d87e5cc plumed: add missing m4 dependency (#23957) 2021-05-27 14:45:31 -04:00
Sebastian Schmitt
30547f60d1 Update py-pint and fix runtime dependency on setuptools (#23950)
* Update py-pint and fix runtime dependency on setuptools

Without the runtime dependency on setuptools, importing pint yields:

0.11:

ModuleNotFoundError: No module named 'pkg_resources'

0.17:

ModuleNotFoundError: No module named 'packaging'

* Fix

* Address comments
2021-05-27 17:44:26 +00:00
Desmond Orton
84ad5e444a New package: py-promise (#23936)
* New package: py-promise

* removed test deps, added missing dep
2021-05-27 17:18:46 +00:00
Tamara Dahlgren
cf15c42c1e py-hatchet: update v1.3.0 checksum (#23902) 2021-05-27 09:40:34 -07:00
Adam J. Stewart
d990c93cab py-rasterio: add v1.2.3 (#23945) 2021-05-27 10:28:20 -06:00
Greg Becker
b9a66966a8 only readlink on links (#23948) 2021-05-27 09:20:57 -07:00
Ben Corbett
2b78b04dc5 Chai, LvArray, Umpire and py-scipy: update versions, variants, and or more (#23488)
* LvArray update.

* Style changes.

* Addressing PR comments.

* Bound scipy clang patch.

* Umpire an CHAI boolean fix.

* Changed lvarray python dependency types.
2021-05-27 00:23:37 +00:00
Desmond Orton
b120b51605 New package py-rx@3.2.0 (#23929)
* New package py-rx@3.2.0

* Removal of deps and added python constraint
2021-05-27 00:13:31 +00:00
Desmond Orton
7473388f25 py-graphql-core: switched url to pypi (#23928)
* switched url to use pypi

* Python dep constraint fix
2021-05-27 00:04:00 +00:00
Ben Bergen
c9355ad8a4 Added version 0.11.3 (#23940) 2021-05-26 23:40:42 +00:00
Adam J. Stewart
a40e39f1f4 py-findlibs: add new package (#23908) 2021-05-26 15:04:45 -07:00
Adam J. Stewart
578de4c505 py-rioxarray: add new package (#23910) 2021-05-26 15:00:01 -07:00
Adam J. Stewart
507ce17908 Add clarifying comments for import_modules usage (#23935) 2021-05-26 16:58:40 -05:00
Howard Pritchard
39a3dc4991 ucx: fix sha for 1.10.1 release (#23931)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2021-05-26 13:37:37 -07:00
Greg Becker
b7f7d901d1 allow whitespace formatting in variant descriptions (#23853) 2021-05-26 14:34:13 -06:00
Adam J. Stewart
f1e0053bf4 py-pint: fix import tests (#23918) 2021-05-26 20:27:05 +00:00
Adam J. Stewart
a9e3f21002 py-applicationinsights: fix import tests (#23914) 2021-05-26 20:23:17 +00:00
Adam J. Stewart
6d2d99d1fe py-azure-identity: fix import tests (#23915) 2021-05-26 20:19:38 +00:00
eugeneswalker
35f7959f54 defaults/cray: use modules.yaml from defaults/linux (#23932) 2021-05-26 20:16:13 +00:00
Adam J. Stewart
db65f458ec py-distributed: fix import tests (#23917) 2021-05-26 20:13:49 +00:00
Adam J. Stewart
9e03284758 py-prompt-toolkit: fix import tests (#23919) 2021-05-26 14:10:20 -06:00
Adam J. Stewart
2421e489e4 py-sqlalchemy: fix import tests (#23920) 2021-05-26 20:02:33 +00:00
lukebroskop
f3e3e5514d CrayPE update for libunwind (#23821) 2021-05-26 20:10:51 +02:00
Todd Gamblin
b596abe037 Switch from heroku to slack.spack.io for slack invite badge (#23924) 2021-05-26 08:07:57 +00:00
Harmen Stoppels
b75ad9f950 mbedtls: make perl a test dependency (#23897) 2021-05-26 09:15:09 +02:00
Vicente Bolea
051bcef697 Adds vtk-m release 1.6.0-rc2 (#23895) 2021-05-25 18:01:17 -07:00
Davide Mancusi
de27e6cbdd root: add CLING_CXX_PATH variable to CMake build (#23888)
Closes issue #23886.
2021-05-25 19:50:21 -05:00
Richarda Butler
1b6b5e1611 AML: Add submodules to develop and master versions (#23903)
Co-authored-by: Kayla Richarda Butler <butler59@quartz1916.llnl.gov>
2021-05-25 17:34:11 -07:00
Adam J. Stewart
dbde984de1 json-c: fix install on macOS (#23912) 2021-05-26 00:05:09 +00:00
Adam J. Stewart
3c587b14ad bash: add v5.1 and patches (#23911) 2021-05-26 00:00:37 +00:00
Harmen Stoppels
f2ce57bf77 Add xxd for hsa-rocr-dev build script (#23855) 2021-05-25 20:58:30 +00:00
Vanessasaurus
3cef5663d8 adding json export for spack blame (#23417)
I would like to be able to export (and save and then load programatically)
spack blame metadata, so this commit adds a spack blame --json argument,
along with developer docs for it

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

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-05-25 12:40:08 -06:00
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
Harmen Stoppels
c8a10e4910 Fix clearing cache of InternalConfigScope (#22609)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-05-22 11:51:20 -07:00
Cyrus Harrison
a5213dabb1 bugfix for active when pkg is already active error (#22587)
* bugfix for active when pkg is already active error

Co-authored-by: Greg Becker <becker33@llnl.gov>
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
6e714808fa Enforce uniqueness of the version_weight atom per node
fixes #22565

This change enforces the uniqueness of the version_weight
atom per node(Package) in the DAG. It does so by applying
FTSE and adding an extra layer of indirection with the
possible_version_weight/2 atom.

Before this change it may have happened that for the same
node two different version_weight/2 were in the answer set,
each of which referred to a different spec with the same
version, and their weights would sum up.

This lead to unexpected result like preferring to build a
new version of an external if the external version was
older.
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
9f99e8ad64 Externals are preferred even when they have non-default variant values
fixes #22596

Variants which are specified in an external spec are not
scored negatively if they encode a non-default value.
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
18880a668b clingo: modify recipe for bootstrapping (#22354)
* clingo: modify recipe for bootstrapping

Modifications:
- clingo builds with shared Python only if ^python+shared
- avoid building the clingo app for bootstrapping
- don't link to libpython when bootstrapping

* Remove option that breaks on linux

* Give more hints for the current Python

* Disable CLINGO_BUILD_PY_SHARED for bootstrapping

* bootstrapping: try to detect the current python from std library

This is much faster than calling external executables

* Fix compatibility with Python 2.6

* Give hints on which compiler and OS to use when bootstrapping

This change hints which compiler to use for bootstrapping clingo
(either GCC or Apple Clang on MacOS). On Cray platforms it also
hints to build for the frontend system, where software is meant
to be installed.

* Use spec_for_current_python to constrain module requirement

(cherry picked from commit d5fa509b07)
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
e7494b627b ASP-based solver: model disjoint sets for multivalued variants (#22534)
* ASP-based solver: avoid adding values to variants when they're set

fixes #22533
fixes #21911

Added a rule that prevents any value to slip in a variant when the
variant is set explicitly. This is relevant for multi-valued variants,
in particular for those that have disjoint sets of values.

* Ensure disjoint sets have a clear semantics for external packages
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
b11dd0478a Make SingleFileScope able to repopulate the cache after clearing it (#22559)
fixes #22547

SingleFileScope was not able to repopulate its cache before this
change. This was affecting the configuration seen by environments
using clingo bootstrapped from sources, since the bootstrapping
operation involved a few cache invalidation for config files.
2021-05-22 11:51:20 -07:00
Rémi Lacroix
31a07f9bc4 Channelflow: Fix the package. (#22483)
A search and replace went wrong in 2264e30d99.

Thanks to @wadudmiah who reported this issue.
2021-05-22 11:51:20 -07:00
Harmen Stoppels
61e619bb27 spack location: bugfix for out of source build dirs (#22348) 2021-05-22 11:51:20 -07:00
Todd Gamblin
4d148a430e bugfix: allow imposed constraints to be overridden in special cases
In most cases, we want condition_holds(ID) to imply any imposed
constraints associated with the ID. However, the dependency relationship
in Spack is special because it's "extra" conditional -- a dependency
*condition* may hold, but we have decided that externals will not have
dependencies, so we need a way to avoid having imposed constraints appear
for nodes that don't exist.

This introduces a new rule that says that constraints are imposed
*unless* we define `do_not_impose(ID)`. This allows rules like
dependencies, which rely on more than just spec conditions, to cancel
imposed constraints.

We add one special case for this: dependencies of externals.
2021-05-22 11:51:20 -07:00
Todd Gamblin
9717e0244f bugfix: do not generate dep conditions when no dependency
We only consider test dependencies some of the time. Some packages are
*only* test dependencies. Spack's algorithm was previously generating
dependency conditions that could hold, *even* if there was no potential
dependency type.

- [x] change asp.py so that this can't happen -- we now only generate
      dependency types for possible dependencies.
2021-05-22 11:51:20 -07:00
Todd Gamblin
a823cffc40 concretizer: unify logic for spec conditionals
This builds on #20638 by unifying all the places in the concretizer where
things are conditional on specs. Previously, we duplicated a common spec
conditional pattern for dependencies, virtual providers, conflicts, and
externals. That was introduced in #20423 and refined in #20507, and
roughly looked as follows.

Given some directives in a package like:

```python
depends_on("foo@1.0+bar", when="@2.0+variant")
provides("mpi@2:", when="@1.9:")
```

We handled the `@2.0+variant` and `@1.9:` parts by generating generated
`dependency_condition()`, `required_dependency_condition()`, and
`imposed_dependency_condition()` facts to trigger rules like this:

```prolog
dependency_conditions_hold(ID, Parent, Dependency) :-
  attr(Name, Arg1)             : required_dependency_condition(ID, Name, Arg1);
  attr(Name, Arg1, Arg2)       : required_dependency_condition(ID, Name, Arg1, Arg2);
  attr(Name, Arg1, Arg2, Arg3) : required_dependency_condition(ID, Name, Arg1, Arg2, Arg3);
  dependency_condition(ID, Parent, Dependency);
  node(Parent).
```

And we handled `foo@1.0+bar` and `mpi@2:` parts ("imposed constraints")
like this:

```prolog
attr(Name, Arg1, Arg2) :-
  dependency_conditions_hold(ID, Package, Dependency),
  imposed_dependency_condition(ID, Name, Arg1, Arg2).

attr(Name, Arg1, Arg2, Arg3) :-
  dependency_conditions_hold(ID, Package, Dependency),
  imposed_dependency_condition(ID, Name, Arg1, Arg2, Arg3).
```

These rules were repeated with different input predicates for
requirements (e.g., `required_dependency_condition`) and imposed
constraints (e.g., `imposed_dependency_condition`) throughout
`concretize.lp`. In #20638 it got to be a bit confusing, because we used
the same `dependency_condition_holds` predicate to impose constraints on
conditional dependencies and virtual providers. So, even though the
pattern was repeated, some of the conditional rules were conjoined in a
weird way.

Instead of repeating this pattern everywhere, we now have *one* set of
consolidated rules for conditions:

```prolog
condition_holds(ID) :-
  condition(ID);
  attr(Name, A1)         : condition_requirement(ID, Name, A1);
  attr(Name, A1, A2)     : condition_requirement(ID, Name, A1, A2);
  attr(Name, A1, A2, A3) : condition_requirement(ID, Name, A1, A2, A3).

attr(Name, A1)         :- condition_holds(ID), imposed_constraint(ID, Name, A1).
attr(Name, A1, A2)     :- condition_holds(ID), imposed_constraint(ID, Name, A1, A2).
attr(Name, A1, A2, A3) :- condition_holds(ID), imposed_constraint(ID, Name, A1, A2, A3).
```

this allows us to use `condition(ID)` and `condition_holds(ID)` to
encapsulate the conditional logic on specs in all the scenarios where we
need it. Instead of defining predicates for the requirements and imposed
constraints, we generate the condition inputs with generic facts, and
define predicates to associate the condition ID with a particular
scenario. So, now, the generated facts for a condition look like this:

```prolog
condition(121).
condition_requirement(121,"node","cairo").
condition_requirement(121,"variant_value","cairo","fc","True").
imposed_constraint(121,"version_satisfies","fontconfig","2.10.91:").
dependency_condition(121,"cairo","fontconfig").
dependency_type(121,"build").
dependency_type(121,"link").
```

The requirements and imposed constraints are generic, and we associate
them with their meaning via the id. Here, `dependency_condition(121,
"cairo", "fontconfig")` tells us that condition 121 has to do with the
dependency of `cairo` on `fontconfig`, and the conditional dependency
rules just become:

```prolog
dependency_holds(Package, Dependency, Type) :-
  dependency_condition(ID, Package, Dependency),
  dependency_type(ID, Type),
  condition_holds(ID).
```

Dependencies, virtuals, conflicts, and externals all now use similar
patterns, and the logic for generating condition facts is common to all
of them on the python side, as well. The more specific routines like
`package_dependencies_rules` just call `self.condition(...)` to get an id
and generate requirements and imposed constraints, then they generate
their extra facts with the returned id, like this:

```python
    def package_dependencies_rules(self, pkg, tests):
        """Translate 'depends_on' directives into ASP logic."""
        for _, conditions in sorted(pkg.dependencies.items()):
            for cond, dep in sorted(conditions.items()):
                condition_id = self.condition(cond, dep.spec, pkg.name)  # create a condition and get its id
                self.gen.fact(fn.dependency_condition(  # associate specifics about the dependency w/the id
                    condition_id, pkg.name, dep.spec.name
                ))
        # etc.
```

- [x] unify generation and logic for conditions
- [x] use unified logic for dependencies
- [x] use unified logic for virtuals
- [x] use unified logic for conflicts
- [x] use unified logic for externals

LocalWords:  concretizer mpi attr Arg concretize lp cairo fc fontconfig
LocalWords:  virtuals def pkg cond dep fn refactor github py
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
f1c7402c64 bootstrap: account for platform specific configuration scopes (#22489)
This change accounts for platform specific configuration scopes,
like ~/.spack/linux, during bootstrapping. These scopes were
previously not accounted for and that was causing issues e.g.
when searching for compilers.

(cherry picked from commit 413c422e53)
2021-05-22 11:51:20 -07:00
Massimiliano Culpo
16f7a02654 Bootstrap clingo from sources (#21446)
* Allow the bootstrapping of clingo from sources

Allow python builds with system python as external
for MacOS

* Ensure consistent configuration when bootstrapping clingo

This commit uses context managers to ensure we can
bootstrap clingo using a consistent configuration
regardless of the use case being managed.

* Github actions: test clingo with bootstrapping from sources

* Add command to inspect and clean the bootstrap store

 Prevent users to set the install tree root to the bootstrap store

* clingo: documented how to bootstrap from sources

Co-authored-by: Gregory Becker <becker33@llnl.gov>
(cherry picked from commit 10e9e142b7)
2021-05-22 11:50:59 -07:00
Seth R. Johnson
d8cbd37aaa Fix makefile filter suggestions (#23856)
Bash has a builtin `fc` that will override the compiler if you use "fc",
so it's better to use the full spack-supplied compiler path.

Additionally, the filter regex in the docs was wrong: it replaced the
entire assignment operation with the RHS.
2021-05-22 18:47:43 +00:00
Valentin Volkl
4e6a6e4f27 py-kubernetes: add new package (#23843)
* py-kubernetes: add new package

* Apply suggestions from code review

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

* py-kubernetes: remove alpha/beta versions, fix dependency types

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-05-22 18:41:58 +00:00
Glenn Johnson
1000deb5f9 Update abinit package (#23670)
This PR updates the abinit package. The underlying build system has
several changes from previous versions, which are reflected in the
package recipe.

- added version 9.4.2
- removed commented out code
- add new libxml2 variant, with dependency and conflicts
- add dependency on atompaw
- depend on fftw-api when ~openmp
  This allows other fftw implementations to be used. This PR adds MKL.
- depend on netcdf explicitly
- remove hdf5 variant as hdf5 is required
- only use wannier90 if +mpi as the wannier90 spack package is MPI only
- allow newer versions of libxc for abinit 9
- split configure options for versions before and after abinit 9
- always use MPI compiler wrappers
- add patch to remove march settings for version 9
- Set conflict for fftw~openmp if abinit+openmp
  This allows the virtual fftw-api to be used for the dependency. If fftw
  is the fftw-api provider then bail if fftw~openmp is set when
  abinit+openmp is used.
- Set conflicts for +openmp and mkl
- Be explicit about +mkl for intel-parallel-studio
- Add TODO entry for switching conflicts/depends_on logic
2021-05-22 15:35:58 +02:00
Richarda Butler
cd61b2352d Slepc: Add E4S testsuite smoke test (#21600) 2021-05-21 15:07:21 -07:00
Dan Bonachea
21fd449a03 upcxx: Install the example files (#23832)
This installs the example source files into $prefix/example, for use by the E4S Testsuite and other end users.

Also fixes a harmless copy/paste error.
2021-05-21 11:51:46 -07:00
Massimiliano Culpo
6c1b348d91 clingo-bootstrap: account for cray platform (#22460)
(cherry picked from commit 138312efab)
2021-05-21 19:42:12 +02:00
Maxim Belkin
68ef6fce92 clingo: fix typo (#22444) 2021-05-21 19:42:12 +02:00
Massimiliano Culpo
0b5c5b8068 clingo: added a package with option for bootstrapping clingo (#20652)
* clingo/clingo-bootstrap: added a package with option for bootstrapping clingo

package builds in Release mode
uses GCC options to link libstdc++ and libgcc statically

* clingo-bootstrap: apple-clang options to bootstrap statically on darwin

* clingo: fix the path of the Python interpreter

In case multiple Python versions are in the same prefix
(e.g. when clingo is built against an external Python),
it may happen that the Python used by CMake does not
match the corresponding node in the current spec.

This is fixed here by defining "Python_EXECUTABLE"
properly as a hint to CMake.

* clingo: the commit for "spack" version has been updated.
2021-05-21 19:42:12 +02:00
Adam J. Stewart
add339cbfe Clingo: fix missing import (#21364) 2021-05-21 19:42:12 +02:00
Todd Gamblin
316c292685 clingo: prefer master branch
Most people installing `clingo` with Spack are going to be doing it to
use the new concretizer, and that requires the `master` branch.

- [x] make `master` the default so we don't have to keep telling people
  to install `clingo@master`. We'll update the preferred version when
  there's a new release.
2021-05-21 19:42:12 +02:00
Andreas Baumbach
bd9929f9dc make spack fetch work with environments (#19166)
* make `spack fetch` work with environments
* previously: `spack fetch` required the explicit statement of
              the specs to be fetched, even when in an environment
* now: if there is no spec(s) provided to `spack fetch` we check
       if an environment is active and if yes we fetch all
       uninstalled specs.
2021-05-21 19:42:12 +02:00
Mansour Moufid
f8c2e1fc97 libffi: set target triplet to aarch64-apple-darwin on Mac M1. (#23750) 2021-05-21 19:17:58 +02:00
Sebastian Schmitt
6b1849b663 Update pylint to 2.8.2 (#23446)
* Update pylint to 2.8.2

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

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

* Address comments

* Update

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-05-21 12:13:33 -05:00
Andreas Baumbach
4d9607857b py-notebook: add older versions (#23720)
Change-Id: I34d1e14c071f91d9a451740abcbcc31701a47830
2021-05-21 16:36:00 +00:00
Andreas Baumbach
38fe1c55b5 py-lazy-object-proxy: add missing py-setuptools-scm dependency (#23842)
Change-Id: I76392841a9973aa7b5ec347b0405a78635989a79
2021-05-21 11:23:16 -05:00
Andreas Baumbach
d25026677d New package: py-pybind11-stubgen (#23732)
* New package: py-pybind11-stubgen

Change-Id: I865b92e08ecefa6eb1327ee0166544fd4ae22953

* fixup

Change-Id: I6030cebecce229d02ab1a20fe6fa501eec22b804
2021-05-21 11:17:12 -05:00
Massimiliano Culpo
2a5f46d8d3 Added a context manager to swap architectures
This solves a few FIXMEs in conftest.py, where
we were manipulating globals and seeing side
effects prior to registering fixtures.

This commit solves the FIXMEs, but introduces
a performance regression on tests that may need
to be investigated

(cherry picked from commit 4558dc06e2)
2021-05-21 18:06:49 +02:00
Greg Becker
095ace9028 bugfix for target adjustments on target ranges (#20537)
(cherry picked from commit 61c1b71d38)
2021-05-21 18:05:42 +02:00
Massimiliano Culpo
f30fc6cd33 Move context manager to swap the current configuration into spack.config
The context manager can be used to swap the current
configuration temporarily, for any use case that may need it.

(cherry picked from commit 553d37a6d6)
2021-05-21 18:00:05 +02:00
Massimiliano Culpo
4e5e1e8f35 Move context manager to swap the current store into spack.store
The context manager can be used to swap the current
store temporarily, for any use case that may need it.

(cherry picked from commit cb2c233a97)
2021-05-21 17:59:57 +02:00
Massimiliano Culpo
0678d5df90 repo: generalize "swap" context manager to also accept paths
The method is now called "use_repositories" and
makes it clear in the docstring that it accepts
as arguments either Repo objects or paths.

Since there was some duplication between this
contextmanager and "use_repo" in the testing framework,
remove the latter and use spack.repo.use_repositories
across the entire code base.

Make a few adjustment to MockPackageMultiRepo, since it was
stating in the docstring that it was supposed to mock
spack.repo.Repo and was instead mocking spack.repo.RepoPath.

(cherry picked from commit 1a8963b0f4)
2021-05-21 17:59:50 +02:00
Anton Kozhevnikov
a586fa6dd3 sirius: update to the latest version (#23835) 2021-05-21 15:04:35 +00:00
iarspider
9c179c7d0b Add new versions of giflib (#23588)
giflib 5.20+ no longer uses autotools

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2021-05-21 07:19:22 -06:00
Massimiliano Culpo
2a4d2f905c Run clingo-cffi tests in a container (#21913)
There clingo-cffi job has two issues to be solved:

1. It uses the default concretizer
2. It requires a package from https://test.pypi.org/simple/

The former can be fixed by setting the SPACK_TEST_SOLVER
environment variable to "clingo".

The latter though requires clingo-cffi to be pushed to a
more stable package index (since https://test.pypi.org/simple/
is meant as a scratch version of PyPI that can be wiped at
any time).

For the time being run the tests in a container. Switch back to
PyPI whenever a new official version of clingo will be released.
2021-05-21 15:09:08 +02:00
Josh Essman
14e179398f Updates to support clingo-cffi (#20657)
* Support clingo when used with cffi

Clingo recently merged in a new Python module option based on cffi.

Compatibility with this module requires a few changes to spack - it does not automatically convert strings/ints/etc to Symbol and clingo.Symbol.string throws on failure.

manually convert str/int to clingo.Symbol types
catch stringify exceptions
add job for clingo-cffi to Spack CI
switch to potassco-vendored wheel for clingo-cffi CI
on_unsat argument when cffi

(cherry picked from commit 93ed1a410c)
2021-05-21 15:09:08 +02:00
Massimiliano Culpo
8d13193434 Improve error message for inconsistencies in package.py (#21811)
* Improve error message for inconsistencies in package.py

Sometimes directives refer to variants that do not exist.
Make it such that:

1. The name of the variant
2. The name of the package which is supposed to have
   such variant
3. The name of the package making this assumption

are all printed in the error message for easier debugging.

* Add unit tests

(cherry picked from commit 7226bd64dc)
2021-05-21 15:09:08 +02:00
Massimiliano Culpo
94bb37c107 concretizer: simplify "fact" method (#21148)
The "fact" method before was dealing with multiple facts
registered per call, which was used when we were emitting
grounded rules from knowledge of the problem instance.

Now that the encoding is changed we can simplify the method
to deal only with a single fact per call.

(cherry picked from commit ba42c36f00)
2021-05-21 15:09:04 +02:00
Adam J. Stewart
a59fcd60f5 Python 3.10 support: collections.abc (#20441)
(cherry picked from commit 40a40e0265)
2021-05-21 14:55:18 +02:00
Hang Yan
e42b27de7e thrust: update repo and add new versions (#23364) 2021-05-21 09:50:33 +02:00
Hang Yan
586c08fb86 cub: update repo and add new versions (#23363) 2021-05-21 09:49:37 +02:00
Glenn Johnson
71b9e67b3c Modification to R environment (#23623)
* Modification to R environment

This PR modifies how the R environmnet is presented, and fixes
installing the standalone Rmath library.

- The Rmath build and install methods are combined into one
- Set parallel=False when installing Rmath
- remove the run environment that set up variables for libraries and
  headers that are not really needed, and pollute the environment.

* Add setup_run_environment back

- Add back the setup_run_environment with LD_LIBRARY_PATH and
  PKG_CONFIG_PATH.
- Adjust documentation to reflect the current code.
2021-05-21 09:34:15 +02:00
Olivier Cessenat
3dfb61116d openblas: update Intel patch directive (#23786) 2021-05-21 09:32:40 +02:00
Olivier Cessenat
5e782f6a23 gsl: update external-cblas patch directive (#23787) 2021-05-21 09:31:31 +02:00
Adam J. Stewart
2d69f63a9c ghostscript: add tesseract variant (#23794) 2021-05-21 09:22:03 +02:00
Cameron Rutherford
63ea0c8865 exago: enforcing PETSc version < 3.15 (#23774) 2021-05-21 09:20:58 +02:00
Adam J. Stewart
72b6014861 tk: add new version, add macOS patch (#23825) 2021-05-21 09:04:50 +02:00
arjun-raj-kuppala
b8fc1094ff rdc: add v4.2.0 (#23829) 2021-05-21 08:57:40 +02:00
Dan Bonachea
1242f10d11 Update the GASNet package (#23796)
The previous `gasnet` spack package was not vetted/approved by the GASNet library maintainers. This one is.

Notably adds build-time testing and smoke-testing.

Convert network variants into a multi-valued `conduits` variant has the minor advantage of enabling a concise `conduits=none` spec, but the major drawback that it degrades the `spack info gasnet` output.
2021-05-20 23:19:21 -07:00
Glenn Johnson
6e378102fd New package: py-reindent (#23828) 2021-05-20 21:27:59 -05:00
Seth R. Johnson
d2178fb47b swig: add smoke tests (#23662) 2021-05-20 17:00:20 -07:00
Olivier Cessenat
3f184b5874 New Package: visit-silo (#22907)
* New Package: visit-silo
* New Package: visit-$n as an extension to VisIt
* New Package: visit-$n only as an extension to VisIt
2021-05-20 15:20:49 -07:00
Olivier Cessenat
12dbae3b45 New Package: visit-cgns (#22905)
* New Package: visit-cgns
* visit-cgns: extends visit and modifies VISIT_PLUGIN_DIR with a trick
2021-05-20 15:20:19 -07:00
Massimiliano Culpo
4c4a584a9c spack: update archspec
This fixes the detection of Apple M1 and adds
virtual levels for x86_64 architectures
2021-05-20 14:56:04 -07:00
Ben Darwin
fcb8942c88 minc-toolkit: new package (#23818) 2021-05-20 21:36:06 +00:00
Cyrus Harrison
30991cd9cd add ascent 0.7.1 release (#23823) 2021-05-20 14:15:10 -07:00
Valentin Volkl
b27ccd524e versions: do not drop 2.0.X if 2.0 is a declared version in the package (#23217) 2021-05-20 19:16:46 +00:00
Cyrus Harrison
1d10245fd4 dray package: add version 0.1.6 (#23792) 2021-05-20 12:04:05 -07:00
Adam J. Stewart
ea5b5a6d3f py-torch: add patch to build on systems with glibc<2.12 (#23806) 2021-05-20 20:16:50 +02:00
Olivier Cessenat
f66f7faee1 opencascade: add v7.4.0p2 and v7.5.2 (#23807) 2021-05-20 20:16:29 +02:00
Ben Darwin
ef12b0cb8f ants: add v2.3.5 (#23752) 2021-05-20 17:01:21 +00:00
Valentin Volkl
7c8b5a4e3a py-awkward: add version 1.2.3 (#23808)
* dlpack: add tagged versions

* py-pybind11: add missing test dependency

* py-awkward: add version 1.2.3
2021-05-20 10:28:57 -06:00
Andreas Baumbach
2716791c7d py-lazyarray: add new version 0.3.2 (#23700)
* py-lazyarray: add new version 0.3.2

Change-Id: Ie8a40f3ff1fe7477e27f6085b9ad6673395258b2

* fixup dependencies

Change-Id: I4b2fb7a0abb462f8df74c383c67517065cd95b67

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-05-20 11:28:23 -05:00
Harmen Stoppels
3368e06bc6 gnupg: create a gpg2 symlink on install (#23789) 2021-05-20 18:28:13 +02:00
Andreas Baumbach
ed4de5a688 py-py-cpuinfo: add v6.0.0 and v8.0.0 (#23721) 2021-05-20 17:59:33 +02:00
Chris White
7055846ca1 Axom: Small updates and a new version (#23803)
* Tweak SCR variant, Add 0.5.0, Move flag to flag handler, Add new conduit/axom conflict

* flake
2021-05-20 08:26:33 -07:00
Andreas Baumbach
cf20ee0893 vim: add new version (#23730) 2021-05-20 15:08:53 +00:00
Harmen Stoppels
5846079028 Cray: fix extracting paths from module files (#23472)
Co-authored-by: Tiziano Müller <tm@dev-zero.ch>
2021-05-20 14:35:35 +02:00
arjun-raj-kuppala
6d42be5739 AMD ROCm 4.2.0: Bump up rocm recipes part 2 (#23779)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2021-05-20 10:58:55 +00:00
Sreenivasa Murthy Kolam
b57b473e51 bump up version for rocm-4.2.0 release (#23795) 2021-05-20 04:55:16 -06:00
Sreenivasa Murthy Kolam
fec9e5c7bd bump up the version for rocm-4.2.0 release (#23778) 2021-05-20 12:49:40 +02:00
Olivier Cessenat
bd47eaf0f8 visit: make it extendable for plugins 2021-05-20 00:16:03 -07:00
Jon Rood
6f75c6f3fa findutils: use homebrew trick to build findutils 4.8.0 with apple-clang (#23801)
* Use homebrew trick to build findutils 4.8.0 with apple-clang.

* Simplify.
2021-05-19 21:58:07 -05:00
Andreas Baumbach
d2e22d7fe4 py-pluggy: add versions 0.9.0 and 0.8.1 (#23719) 2021-05-19 15:15:13 -07:00
yellowhat
9784b1b0e9 fio: add 3.26 (#23788) 2021-05-19 16:07:17 -06:00
Andreas Baumbach
a3be77d02e py-mako: add version 1.1.4 (#23718) 2021-05-19 14:37:15 -07:00
Cyrus Harrison
7febe23ebc add vtk-h 0.7.1 release (#23791) 2021-05-19 14:05:24 -07:00
Cyrus Harrison
32b9bea06a add conduit 0.7.2 release (#23797) 2021-05-19 14:04:29 -07:00
plamborn
d17783ff70 libhio: add 1.4.15 (#23708)
adding checksum for new 1.4.1.5 version of libhio
2021-05-19 14:37:17 -06:00
Tamara Dahlgren
8c64a1cda6 umpire: preliminary stand-alone test simplification (#23627) 2021-05-19 13:28:30 -07:00
Andreas Baumbach
0a7a23068a py-setuptools: add older version 41.3.0 (#23725)
Change-Id: I0416a66b523472151d73433a12d38a5b2b225c69
2021-05-19 20:06:43 +00:00
Desmond Orton
e718a871f3 Updated Archives links for 3.X (#23763) 2021-05-19 14:24:57 -05:00
Desmond Orton
a0af8c9c65 libdeflate: new package (#23762)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-05-19 21:21:45 +02:00
Andreas Baumbach
944be7a568 py-checkm-genome: fix backportsdependency (#23690) 2021-05-19 12:21:10 -07:00
Andreas Baumbach
e7b11c3098 cquery package: patch for gcc@10: (#23679) 2021-05-19 12:15:02 -07:00
Andreas Baumbach
f3c3fc7493 new package: py-batchspawner (#23688)
* new package: py-batchspawner

Change-Id: I508bad7ba7f1fc32c2f6c0bfccf35d864cf47ced

* fixup

Change-Id: If183933ce40a8d12214ea24acc683cb046fcfbcb

* fix broken version

Change-Id: Ie4dd8d18465877cd8f9cb862112af37d85b1c30f

* fixup license

Change-Id: I51d92a6d229f6a6b56eea6e53c65ed31fe59f6af

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-05-19 14:12:53 -05:00
Andreas Baumbach
142c85fe22 py-git-review add version 1.27.0 (#23693)
* py-git-review add version 1.27.0

Change-Id: Ibf2c52009b8d218561a385a592a3fa1266305212

* fixup dependencies and add version 2:

Change-Id: I94e974158afba61d102b04a78634cc276881783c

* fixup

Change-Id: I05d8aab0ddb8c7bc18460ba2da1372cd282a4353
2021-05-19 14:08:17 -05:00
Andreas Baumbach
6d5cd24480 py-neo: add version 0.8.0 (#23717) 2021-05-19 11:58:42 -07:00
Andreas Baumbach
c666df5665 imagemagick: add missing pkg-config dependency (#23683) 2021-05-19 10:38:25 -07:00
Hadrien G
608d453c01 acts: add v8.2 and support master -> main branch naming switch (#23751) 2021-05-19 16:28:31 +00:00
Valentin Volkl
88192bfd4a Write junit-report to reports directory to allow installation from read-only spack (#20158) 2021-05-19 16:28:14 +00:00
Robert Mijakovic
9e3cb78fb1 singularity: add v3.7.3 (#23782)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-05-19 10:19:22 -06:00
Andreas Baumbach
46a1e0613e py-pytest: add v4.4.0 (#23723) 2021-05-19 14:13:34 +00:00
Andreas Baumbach
8cef30a181 py-regex: add older versions (#23724) 2021-05-19 14:08:34 +00:00
Andreas Baumbach
9759c7162e py-setuptools-scm: add v3.5.0 (#23726) 2021-05-19 14:01:41 +00:00
vsoch
f2b362b5b3 adding support to tag a build
This will be useful to run multiple build experiments and organize by name

Signed-off-by: vsoch <vsoch@users.noreply.github.com>
2021-05-19 07:01:18 -07:00
Andreas Baumbach
747e3cad1c scala: add v2.12.6 (#23731) 2021-05-19 07:58:22 -06:00
Andreas Baumbach
51e55381b9 py-slurm-pipeline: add v3.0.2 (#23727) 2021-05-19 13:53:13 +00:00
Andreas Baumbach
9b493e75a2 py-yapf: add v0.29.0 (#23729)
Change-Id: I2c24cbeeee0be0088dfa60bd83628a0f05272d1c
2021-05-19 13:48:52 +00:00
Robert Mijakovic
fbc20e0fe8 gdb: new version, 10.2 (#23754)
* gdb: new version, 10.2

* gdb: applies patch to the newer releases

Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-05-19 15:37:08 +02:00
G-Ragghianti
f5c7ab7f6c slate: add v2021.05.02 (#23784) 2021-05-19 15:28:40 +02:00
Harmen Stoppels
81d583e307 sirius: add v7.2.3 (#23785) 2021-05-19 15:26:36 +02:00
Andreas Baumbach
f9aa929082 verilator: add v4.108 and v4.020 (#23736) 2021-05-19 12:37:40 +00:00
Valentin Volkl
46a9dd1889 py-qtconsole: fix misnamed variant (#23746) 2021-05-19 12:15:04 +00:00
Seth R. Johnson
3d2cd48048 Use define_from_variant in numerous CMakePackages (#23655)
Example replacement:
```
'-D(\w+)(:BOOL)?=\{0\}'\.\s*format\s*\(\s*'(ON|YES|true|TRUE)' if '\+(\w+)' in (self\.)?spec else '(OFF|NO|false|FALSE)'\)
```
with
```
self.define_from_variant('\1', '\4')
```

This will cause failures if any variants were misspelled: I have already caught two packages with nonexistent variants.
2021-05-19 06:59:06 -04:00
albestro
33df3990de conflict for apple-clang building findutils (#23740) 2021-05-19 09:19:58 +00:00
Robert Mijakovic
2894c24125 r: add v4.1.0 (#23757)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-05-19 10:00:52 +02:00
Jamie Finney
b3004e1dd0 Add caret/hat to spack spec help documentation (#23758)
Co-authored-by: Jamie Finney <finneyjm@ornl.gov>
2021-05-19 09:49:07 +02:00
Massimiliano Culpo
8146c0d848 gawk: add support for external find (#23716) 2021-05-19 09:33:28 +02:00
Paul
ccbd1f1d79 Go: add v1.16.4 and v1.15.12 (#23745) 2021-05-19 09:26:19 +02:00
Brian Van Essen
932e916c59 RDKit: new package (#23761)
RDKit is a collection of cheminformatics and 
machine-learning software written in C++ and
Python.
2021-05-19 09:25:40 +02:00
David Hughes
1a8d18a2d3 mpich: Apply fallow-argument-mismatch parameter with clang (#23748) 2021-05-19 06:46:51 +00:00
Adam J. Stewart
f407539abb py-pygeos: add v0.10 (#23781) 2021-05-19 06:19:17 +00:00
Valentin Volkl
2e58d09303 py-qtpy: recipe bugfix (#23747) 2021-05-19 07:34:59 +02:00
Vanessasaurus
8bed109e41 monitor: fix issue with attribute lookup (#23773)
Signed-off-by: vsoch <vsoch@users.noreply.github.com>

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-05-19 07:33:09 +02:00
Massimiliano Culpo
1a5924f5fb gnupg: bumped versions, added maintainer (#23734) 2021-05-19 05:17:42 +00:00
Andreas Baumbach
77f155fec4 py-jinja2: add version 2.11.3 (#23698)
* py-jinja2: add version 2.11.3

Change-Id: If845ff512bafed4d911b03463cae2154357ae5c3

* fixup

Change-Id: Ie39a8b7225826547fcbdb68cb083311a191903ef
2021-05-19 04:57:23 +00:00
wspear
b21a4f5c89 TAU needs to specify pdt_c++ if built with intel. (#23775) 2021-05-19 02:08:14 +00:00
Tamara Dahlgren
5bd42d1b31 docs/packaging guide: Reference test stage directory (#23707) 2021-05-18 17:56:38 -07:00
Dan Bonachea
ce7516f25f upcxx: Add support for stand-alone post-install tests (#23714)
This uses the existing script which is always installed for this purpose in modern versions.
2021-05-18 17:40:51 -07:00
Michael Kuhn
f0d5d992e6 lmdb package: Fix build with other compilers (#23704)
lmdb hardcodes gcc in its Makefile, so override it.
2021-05-18 17:18:48 -07:00
Robert Mijakovic
79d8691dde mercurial: add version 5.8 (#23756) 2021-05-18 17:02:48 -07:00
Robert Mijakovic
18edf0f072 emacs: add version 27.2 (#23753) 2021-05-18 17:01:29 -07:00
Andreas Baumbach
60a6281c47 py-werkzeug: add versions including 0.15.6 (#23728) 2021-05-18 17:00:44 -07:00
Frédéric Simonis
6bf6567f9d precice: Add version 2.2.1 (#23743) 2021-05-18 16:37:40 -07:00
Michael Kuhn
9410d99153 Bugfix: fetching oddly-named resources from local mirrors (#23300)
Spack uses curl to fetch URL resources. For locally-stored resources
it uses curl's file protocol; when using this protocol, curl expects
that the URL encoding conforms to RFC 3986 (which reserves characters
like '?' and '=' for special use).

We were not performing this encoding, and found a resource where
curl was interpreting this in an unfavorable way (succeeding, but
producing an empty file). This commit properly encodes URLs when
using curl's file protocol.

This error did not likely come up before because in most contexts
Spack was either fetching via http or it was using URLs without
offending characters (for example, the sha-based URLs in mirrors
never contain these characters).
2021-05-18 15:26:49 -07:00
Robert Mijakovic
ba68cbc694 julia: new version, 1.6.1 (#23755)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-05-18 23:03:51 +02:00
Harmen Stoppels
4f6b4dcaac New package: ca-certificates-mozilla (#23632) 2021-05-18 12:50:45 -07:00
Andreas Baumbach
346e52de38 cppcheck: add versions including 2.0 and 1.88 (#23678) 2021-05-18 11:23:22 -07:00
Andreas Baumbach
b41ee03475 doxygen: fix build with gcc@10: for version 1.8.15 (#23680) 2021-05-18 11:21:54 -07:00
Desmond Orton
c22a5326d8 trinity: Version Update to 2.12.0 (#23430)
Added version requirements for deps
Changed url to get proper versions
2021-05-18 11:12:33 -07:00
Andreas Baumbach
13cb8ef2c2 fontconfig: add version 2.13.93 (#23681) 2021-05-18 11:03:40 -07:00
Justin M Wozniak
99cd09b2b2 Swift/T Release 1.5.0 (#23702)
Add versions to adlbx (1.0.0), exmcutils (0.6.0), stc (0.9.0),
and turbine (1.3.0).
2021-05-18 11:02:31 -07:00
Jim Galarowicz
977dad4c93 openspeedshop and cbtf packages: new versions and dependency updates (#23254)
* Add versions 1.9.4 and 1.9.4.1 for cbtf-* packages
* Add versions 2.4.2 and 2.4.2.1 for openspeedshop packages
* Remove older versions
* Switch from generic dependency on elf to a dependency on the
  elfutils implementation for cbtf-* and openspeedshop packages
* For llvm-openmp-ompt, relax dependency on libelf to elf (cbtf-krell
  now depends on elfutils, and llvm-openmp-ompt, so unless this
  dependency is relaxed there would be a conflict)
* Update CMake build_type to support Debug, Release, RelWithDebInfo
  in cbtf-* and openspeedshop packages
* Update libmonitor patches when building as a dependency of
  cbtf-krell
2021-05-18 09:40:01 -07:00
arjun-raj-kuppala
319f20d94f AMD ROCm release 4.2: core components part-1 (#23613) 2021-05-18 15:53:53 +02:00
Andreas Baumbach
20a99f4f04 git add older versions (#23682) 2021-05-18 10:50:55 +02:00
Harmen Stoppels
e3c59264d8 cray: fix builds on Alps/Eiger (CSCS) (#23470)
Co-authored-by: Tiziano Müller <tiziano.mueller@chem.uzh.ch>
2021-05-18 02:25:14 -06:00
eugeneswalker
4cd53cadb0 binutils: fix NameError from commit de8027 (#23715) 2021-05-18 09:03:08 +02:00
Andreas Baumbach
f1c849ca0f py-alembic: add new version 1.5.5 (#23686)
* py-alembic: add new version 1.5.5

Change-Id: I80f57c1f29a689bfa1718dd3500ccda6623acf76

* fixup

Change-Id: I551888c25ca7bc0b738c40d63d12974510b59ecf
2021-05-18 03:24:44 +00:00
Ross Miller
8f85d3b937 Fix minor build issue with UnifyFS. (#23709)
This commit updates the UnifyFS package.py script to include a patch
that fixes the build problems on new-ish Linux distributions.

Fixes issue #23292
2021-05-17 19:04:44 -04:00
Andreas Baumbach
0174936250 py-gitpython: add version 0.3.6 (#23695)
Change-Id: I3424409f8a7575c6a13592c05e1e940f960fe8fe
2021-05-17 13:07:18 -06:00
Jen Herting
193699f3c9 New package: r-assertive (#23637) 2021-05-17 12:04:15 -06:00
Andreas Baumbach
58751ac2e8 py-jsonpickle: restrict importlib dependency to appropriate python (#23699)
Change-Id: I538d72eb97d3cc91e2e6854b40c5b91b39df6f62
2021-05-17 12:47:20 -05:00
Andreas Baumbach
401f61c094 py-jedi: add older versions (#23697)
Change-Id: I56de34bace2fb04156700ffd4f1b34408920d702
2021-05-17 12:44:53 -05:00
Andreas Baumbach
84486be643 py-grpcio: add version 1.16.0 (#23696)
Change-Id: I4acb232e171ddec688eb7871da80caaa05bf637b
2021-05-17 12:44:20 -05:00
Andreas Baumbach
d577f25dcf py-google-pasta: add older versions (#23694)
Change-Id: I5846415b4953a5f12f995672e586cadb80857db2
2021-05-17 12:42:42 -05:00
Andreas Baumbach
b2bc0241eb py-astroid: add new versions and update dependencies (#23687)
Change-Id: I2c07e75b404ec289feebdbfb09f6b0e733404911
2021-05-17 12:31:34 -05:00
lukebroskop
dd350e83d3 CrayPE fix for axom (#23520)
Pass -ef to the cce fortran compiler, fix the build system to use the correct openmp flag for CCE

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-05-17 11:22:16 -06:00
Andreas Baumbach
9d251e51a1 py-bottleneck: add new versions (#23689)
Change-Id: I31a22fa1495cc2ceed33ba7084831c11120c03e7
2021-05-17 11:04:24 -06:00
Vicente Bolea
e56aa15d22 ParaView: add new release v5.9.1 (#23657) 2021-05-17 12:51:56 -04:00
lukebroskop
46e0869631 CrayPE fixes for the slepc package (#23503)
Use the gold linker for CCE (this may change later)

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-05-17 09:30:58 -07:00
Daniel Arndt
e34d996944 ArborX: Avoid calling mkdirp directly (#23691) 2021-05-17 18:28:55 +02:00
Andreas Baumbach
8ee8269ede py-coverage: add version and restrict newer python dependency (#23692)
Change-Id: I7e790014fd448eb203a1963c90e22afde041ba50
2021-05-17 11:28:29 -05:00
lukebroskop
de8027a820 CrayPE fix for binutils (#23500)
Allow for multiple definitions at link time (for CrayPE)

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2021-05-17 09:26:15 -07:00
lukebroskop
b462ccb565 CrayPE fix for trilinos (#23518)
Expand the use of cray_secas.patch and use the gold linker w/cce

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-05-17 09:23:24 -07:00
lukebroskop
87466df80f craype fixes for scr (#23510)
turn off static linking, add -ldl flag

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-05-17 09:14:08 -07:00
Harmen Stoppels
8446bebdd9 Revert "Separable module configurations (#22588)" (#23674)
This reverts commit cefbe48c89.
2021-05-17 06:42:48 -07:00
Michael Kuhn
213ef656c5 libfuse: add 3.10.3 (#23676)
This also adds a patch to make libfuse compile with gcc@11:
2021-05-17 13:28:57 +00:00
Bryan Herman
c7f269e2f9 trilinos: add scorec variant (#23117)
* add scorec feature to trilinos recipe
* used func to enable SCOREC
2021-05-17 07:26:59 -04:00
Harmen Stoppels
5157f4be7f ccache: add v4.3 (#23671) 2021-05-17 13:21:55 +02:00
Enrico Usai
5c3b761102 aws-parallelcluster: add v2.10.4 (#23672) 2021-05-17 13:02:36 +02:00
Robert Mijakovic
f0d48439c3 c-blosc2: new version, v2.0.0rc1 (#23560) 2021-05-17 12:12:27 +02:00
darmac
a24620bb65 bib2xhtml: add dependency to run bibtex (#22742) 2021-05-17 11:42:00 +02:00
Mark Olesen
defb487ed9 openfoam: update to OpenFOAM-v2012_210414 (patch release) (#23249) 2021-05-17 11:32:18 +02:00
Wouter Deconinck
5aaaa1c6e8 Docker: ignore var/spack/cache (source caches) when creating container (#23329) 2021-05-17 11:28:58 +02:00
Michael Kuhn
1b7e846434 gcc: add 8.5.0 (#23647) 2021-05-17 11:04:11 +02:00
Michael Kuhn
147d44450d libuv: add 1.41.0 (#23648) 2021-05-17 11:03:40 +02:00
Michael Kuhn
719d8f5142 netdata: add 1.30.1 (#23650)
This also changes the checksum for 1.22.1 because I switched the package
to use the proper upstream tarballs to get rid of the autotools
dependencies. Moreover, a few dependencies were missing. netdata also
requires a few directories to be created in its prefix to actually work.
2021-05-17 11:03:24 +02:00
Glenn Johnson
58c2997b84 Add version 4.1.1.0 to atompaw (#23659)
Also adjust the libxc constraints.
2021-05-17 10:22:45 +02:00
Todd Gamblin
fdfd1fed41 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-17 01:20:17 -07:00
Massimiliano Culpo
18b436bbb0 minisign: permit to build statically, add maintainer (#23653) 2021-05-17 10:18:43 +02:00
eugeneswalker
d4cfde2f3e geopm: py-tables build+run dep: allow versions past 3.5.2 (#23666) 2021-05-16 13:36:19 -04:00
Todd Gamblin
379a1fd23b some fixes for command help strings (#23658)
- [x] `analyze` isn't commonly used; move it to long help
      (`spack -H` vs `spack -h`). Give it its own section.

- [x] make it clear from `spack -h` that `spack module` can generate
      module files

- [x] shorten help for `spack style`
2021-05-15 20:48:00 +00:00
Greg Becker
2202ce27fa do not sort projections alphabetically (#23649)
* do not sort projections alphabetically
* add assertion for ordered dict
2021-05-15 10:19:10 -06:00
Francesco Di Natale
2a7fa295fb Addition of py-pyaestro package. (#23629) 2021-05-15 10:08:44 -05:00
Jen Herting
ef4215360c New package: py-pygetwindow (#23635)
* [py-pygetwindow] created template

* [py-pygetwindow] added dependencies

* [py-pygetwindow] Final cleanup

- added homepage
- added description
- removed fixmes
2021-05-15 02:33:23 +00:00
Jen Herting
42a77a1ff6 New package: py-pyrect (#23634)
* [py-pyrect] created template

* [py-pyrect] depends on setuptools

* [py-pyrect] Final cleanup

- added homepage
- added description
- removed fixmes
2021-05-14 21:06:23 -05:00
Jen Herting
8914085789 New package: py-word2number (#23638)
* [py-word2number] created template

* [py-word2number] requires setuptools

* [py-word2number] Final cleanup

- added homepage
- added long description
- removed fixmes
2021-05-14 21:03:56 -05:00
Jen Herting
bd389b0f95 New package: py-pymsgbox (#23639)
* [py-pymsgbox] created template

* [py-pymsgbox] depends on setuptools

* [py-pymsgbox] Final cleanup

- added homepage
- added description
- removed fixmes
2021-05-14 21:03:08 -05:00
Jen Herting
8813ce36b3 New package: py-pytweening (#23641)
* [py-pytweening] created template

* [py-pytweening] depends on setuptools

* [py-pytweening] final cleanup

- added homepage
- added description
- removed fixmes
2021-05-14 21:02:20 -05:00
Michael Kuhn
a66bca591c zstd: add 1.5.0 (#23646) 2021-05-14 22:42:09 +00:00
Harmen Stoppels
d80b008789 Bump coreutils (#23633) 2021-05-15 00:15:33 +02:00
Greg Becker
cefbe48c89 Separable module configurations (#22588)
Currently, module configurations are inconsistent because modulefiles are generated with the configs for the active environment, but are shared among all environments (and spack outside any environment).

This PR fixes that by allowing Spack environments (or other spack config scopes) to define additional sets of modules to generate. Each set of modules can enable either lmod or tcl modules, and contains all of the previously available module configuration. The user defines the name of each module set -- the set configured in Spack by default is named "default", and is the one returned by module manipulation commands in the absence of user intervention.

As part of this change, the module roots configuration moved from the `config` section to inside each module configuration.

Additionally, it adds a feature that the modulefiles for an environment can be configured to be relative to an environment view rather than the underlying prefix. This will not be enabled by default, as it should only be enabled within an environment and for non-default views constructed with separate projections per-spec.

TODO:
- [x] code changes to support multiple module sets
- [x] code changes to support modules relative to a view
- [x] Tests for multiple module configurations
- [x] Tests for modules relative to a view
- [x] Backwards compatibility for module roots from config section
- [x] Backwards compatibility for default module set without the name specified
- [x] Tests for backwards compatibility
2021-05-14 15:03:28 -07:00
iarspider
fc392d2f56 root: Add variants: dcache and oracle (#23441) 2021-05-14 21:08:35 +02:00
Michael Kuhn
59a520246b emacs: add texinfo build dependency on master (#23631)
It seems that building unreleased versions requires makeinfo, which is
part of texinfo.
2021-05-14 10:07:19 +02:00
Adam J. Stewart
14fc5604dd py-rarfile: add new package (#23622) 2021-05-14 10:06:39 +02:00
Pat McCormick
d64fd1238b legion: bug fix for flecsi use cases. (#23624) 2021-05-14 10:03:52 +02:00
Massimiliano Culpo
9e30e669d2 build tests: put an upper bound on the version of GCC being used (#23630) 2021-05-14 07:51:03 +00:00
Jacob Merson
117dfcae25 model-traits: add new package (#23589) 2021-05-14 07:45:04 +00:00
miheer vaidya
702f343fb1 emacs: add support for native compilation on master (#23493)
* Emacs native compilation on master

* emacs: Mark tools correctly as build dependency
2021-05-14 09:33:32 +02:00
natshineman
0d92c39d47 Update mvapich2 to 2.3.6 (#23574)
Co-authored-by: Nat Shineman <shineman.5@buckeyemail.osu.edu>
2021-05-14 09:32:21 +02:00
sebrowne
19c7188cbf netcdf-c: refactor fsync variant (#23477)
Simplify logic by just enabling or disabling fsync as user specified
(default to off currently).  Also remove the 4.1 version check, since
that version isn't actually supported in here.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-05-14 08:59:43 +02:00
Massimiliano Culpo
f47066967b spec: simplify __str__ implementation (#23593)
The implementation for __str__ has been simplified to traverse the spec directly, 
and doesn't call anymore the flat_dependencies method. Dead code has been 
removed.
2021-05-13 21:51:41 -07:00
Frank Willmore
b70bf073b5 cc: change mode to ccld for loopopt edit (#23482)
For configure (e.g. for hdf5) to pass, this option needs to be pulled out when invoked in ccld mode.

I thought it had fixed the issue but I still saw it after that. After some digging, my guess is that I was able
to get hdf5 to build with ifort instead of ifx. Lot of overlapping changes occurring at the time, as it were.
There are still outstanding issues building hdf5 with ifx, and Intel is looking into what appears to be a
compiler bug, but this manifests during build and is likely a separate issue.

I have verified that the making the edit in 'ccld' mode removes the -loopopt=0 and enables hdf5 to pass
configure. It should be fine to make the edit in 'ld' mode as well, but I have not tested that and didn't
include an -or- condition for it.
2021-05-13 21:31:20 -07:00
eugeneswalker
b91f24fa8a py-warpx: new version: 21.05 (#23628) 2021-05-14 02:35:14 +00:00
eugeneswalker
cce59095bf veloc: add v1.3 and v1.2 (#23626) 2021-05-13 18:32:13 -07:00
Axel Huebl
34ec69d140 openPMD-api: 0.13.4 (#23619)
Add the latest release.
2021-05-13 18:22:22 -07:00
Jon Rood
0cc42acbbd Add -DSTK_NO_BOOST_STACKTRACE to compile line in trilinos if +stk and on a Mac. (#23625) 2021-05-13 18:21:40 -07:00
Sreenivasa Murthy Kolam
8b25bdcf4d Enable image_support flag to fix the issues with hipMalloc3D,hipMallocPitch() (#23620) 2021-05-14 00:37:55 +02:00
Greg Sjaardema
98cf0f5e07 seacas: new version, update dependency versions (#23609)
Add new release of SEACAS.

Update netcdf-c version to recent release which fixes some issues that have caused problems in past

Use release version of CGNS instead of develop
2021-05-13 16:48:04 +02:00
Ben Boeckel
9ed1208650 libcatalyst: add package (#23595)
There are no official releases yet, so just use a git snapshot for now.
2021-05-13 16:47:18 +02:00
Davide Mancusi
98d1d40e46 libbsd: do not apply local-elf.h.patch after version 0.10 (#23565) 2021-05-13 11:58:45 +00:00
Adam J. Stewart
91b58112f1 py-cocotools: add new package (#23573) 2021-05-13 13:18:18 +02:00
Davide Mancusi
9a71bd3893 python: use CFLAGS=-fp-model=strict with %oneapi (#23575) 2021-05-13 11:04:21 +00:00
Sreenivasa Murthy Kolam
a4f03dba9c update the version for rocm packages comgr,hip-rocclr ,... for rocm-4.2.0 release (#23608) 2021-05-13 12:27:20 +02:00
dependabot[bot]
725bcd1e80 build(deps): bump actions/cache from 2.1.4 to 2.1.5 (#23584)
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.4 to 2.1.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.4...v2.1.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-13 11:51:30 +02:00
Michael Kuhn
ce0733a4c3 rocksdb: update pkg-config patch (#23601)
The previous version did not fix an error that only occured with clang.
2021-05-13 11:38:05 +02:00
Michael Kuhn
d294438c24 glib: add v2.68.2 (#23603) 2021-05-13 11:31:52 +02:00
Michael Kuhn
a88206de03 libbson: add v1.17.5 (#23604) 2021-05-13 11:31:36 +02:00
Michael Kuhn
4bc043da85 mongo-c-driver: add v1.17.5 (#23605) 2021-05-13 11:31:17 +02:00
Michael Kuhn
2df7947f02 lmdb: add v0.9.29 (#23606) 2021-05-13 11:31:02 +02:00
Michael Kuhn
52145be122 mariadb-c-client: add v3.1.13 (#23607) 2021-05-13 11:30:46 +02:00
Greg Becker
190b043161 config key error: fix format string (#23610) 2021-05-13 11:20:32 +02:00
Jon Rood
97e6c0fda4 nalu-wind: remove SuperLU dependency from Trilinos and simplify recipe (#23600)
* Update Nalu-Wind to remove SuperLU from Trilinos requirement. Also simplify Nalu-Wind package.

* Leave boost option in nalu-wind.

* Add git branches into TPL requirements. Update OpenFAST for change to main branch.
2021-05-13 11:18:43 +02:00
G-Ragghianti
8a40a3a70f slate: add v2021.05.01 (#23612)
Adds a new release version for SLATE and includes 
HIP/ROCm backend support. Now can build with either 
CUDA or ROCm support.
2021-05-13 10:32:31 +02:00
Greg Becker
f8740c8c75 env views: make view updates atomic (#23476)
Currently, environment views blink out of existence during the view regeneration, and are slowly built back up to their new and improved state. This is not good if other processes attempt to access the view -- they can see it in an inconsistent state.

This PR fixes makes environment view updates atomic. This requires a level of indirection (via symlink, similar to nix or guix) from the view root to the underlying implementation on the filesystem. 

Now, an environment view at `/path/to/foo` is a symlink to `/path/to/._foo/<hash>`, where `<hash>` is a hash of the contents of the view.  We construct the view in its content-keyed hash directory, create a new symlink to this directory, and atomically replace the symlink with one to the new view.

This PR has a couple of other benefits:
* It future-proofs environment views so that we can implement rollback.
* It ensures that we don't leave users in an inconsistent state if building a new view fails for some reason.

For background:
* there is no atomic operation in posix that allows for a non-empty directory to be replaced.
* There is an atomic `renameat2` in the linux kernel starting in version 3.15, but many filesystems don't support the system call, including NFS3 and NFS4, which makes it a poor implementation choice for an HPC tool, so we use the symlink approach that others tools like nix and guix have used successfully.
2021-05-13 06:56:20 +00:00
Desmond Orton
ee73f75239 New Package r-dexseq (#23457) 2021-05-12 19:56:56 -05:00
wspear
c2577275f5 tau: depend on provider of elf (#23602)
* tau: depend on provider of elf

* Depends on elf when +elf, not +libdwarf
2021-05-13 00:14:33 +00:00
Terry Cojean
735c48c4aa Update: Ginkgo ROCm setup and smoke tests (#23280)
Add Ginkgo ROCmPackage support and improve tests.
2021-05-12 17:04:08 -06:00
Robert Mijakovic
d19d81a3f4 sqlite3: new version, 3.35.5 (#23592)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-05-12 21:18:53 +02:00
Brian Van Essen
6b7c57ad47 High performance linkers for LBANN (#23594)
* Added the option to use high performance linkers: gold and lld, for
LBANN.  Including them as build flags causes unnecessary propagation
to all dependent packages, reducing package reuse.
2021-05-12 12:18:01 -07:00
Olivier Cessenat
3c05130258 gmsh: fix variant flags and dependencies (#23563)
* Package gmsh making clear dependencies
* Improvements from reviewer advise
2021-05-12 14:40:00 -04:00
Olivier Cessenat
6403f80a96 ngspice: enhanced to produce bin and more options. (#23495)
* Enhancing package ngspice to produce bin, take options

* Enhancing package ngspice, adding dependencies

* Enhancing package ngspice, typo
2021-05-12 11:04:43 -04:00
Massimiliano Culpo
fc2ac099cd ASP-based solver: account for deprecated versions (#23491)
fixes #22351

The ASP-based solver now accounts for the presence
in the DAG of deprecated versions and tries to minimize
their number at highest priority.
2021-05-12 07:17:38 -07:00
Harmen Stoppels
b768d7bb09 lzo, lz4, xz, binutils: add libs multi-valued variant (#23474) 2021-05-12 12:31:02 +02:00
Tamara Dahlgren
e7219db93d Bugfix for "Revert "craype fix for rempi"" (#23580)
This reverts and fixes commit 1ae28f66c6.

Co-authored-by: lukebroskop <luke.roskop@hpe.com>
2021-05-12 01:31:15 +00:00
Tamara Dahlgren
1ae28f66c6 Revert "craype fix for rempi (#23507)" (#23577)
This reverts commit 297f0e489a.
2021-05-11 17:35:41 -07:00
eugeneswalker
edd35eae71 mercury: flag_handler: fix incorrect indent on return statement (#23579) 2021-05-12 00:34:38 +00:00
eugeneswalker
1d3a4820f6 kvtree: flag_handler: fix incorrect indent on return statement (#23578) 2021-05-12 00:31:27 +00:00
lukebroskop
8d4c2d1c76 Fix cray-libsci package to find correct libraries (#23501) 2021-05-11 16:35:28 -07:00
lukebroskop
297f0e489a craype fix for rempi (#23507)
When comping with cce, use the mpi wrappers
2021-05-11 16:08:51 -07:00
lukebroskop
d549e3a600 CrayPE fix for kvtree (#23513)
Allow for multiple definitions at link time (with cce's linker)

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-05-11 16:01:49 -07:00
lukebroskop
a011564b19 CrayPE fix for mercury (#23514)
allow for multiple definitions at link time (for CCE's linker)


Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-05-11 16:00:34 -07:00
lukebroskop
d089409079 CrayPE fix for ascent (#23517)
Pass the -ef flag to the CCE fortran compiler

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-05-11 15:58:36 -07:00
Robert Mijakovic
444c5edf4d blis: new version, 0.8.1 (#23561)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-05-11 15:38:27 -07:00
Michael Kuhn
c18f87d419 meson: add 0.57.2, 0.58.0 (#23572) 2021-05-11 16:34:36 -06:00
Michael Kuhn
e763ac00fa rocksdb: add 6.20.3 (#23571)
This also adds a patch to fix the pkg-config file when used with C compilers, Clang etc.
2021-05-11 15:34:12 -07:00
lukebroskop
4a50e35262 CrayPE patch for conduit (#23516)
Pass -ef to the CCE Fortran compiler
2021-05-11 15:25:50 -07:00
Peter Scheibel
5230730941 Environments: add run deps to shell modifications (#23485)
When adding an Environment to a user's shell, Spack was only adding
root specs. This now includes run dependencies of root specs.
2021-05-11 14:30:57 -07:00
Robert Mijakovic
57ce5f390b gobject-introspection: fix for Python 3.9. (#22869)
* gobject-introspection: fix for Python 3.9.

* Fixes the too long line formatting issue.

* gobject-introspection: limits the scope of the patch

Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-05-11 21:40:21 +02:00
Massimiliano Culpo
2a509ea0bf ASP-based solver: variants set from cli are considered as defaults (#23542)
Variants explicitly set in an abstract root spec are considered
as defaults for the package they refer to, and they override
what is in packages.yaml and in package.py. This is relevant
only for multi-valued variants, where a constraint may extend
an already default value.
2021-05-11 12:38:17 -07:00
Harmen Stoppels
fe46a1ce5f Fixes to flex (#23408)
* Fixes to flex

- Prefer the version that doesn't need all the patches and extra build
tools
- Make dependency on gettext optional under the nls variant (off by
default)
- Drop the dependency on help2man if we don't have to regenerate the man
pages (when no patches are necessary)

* Bring back gettext dep as it is used during autoconf
2021-05-11 21:27:49 +02:00
Robert Mijakovic
bbc11f3d1c bison: new versions, 3.7.5 and 3.7.6 (#23559)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-05-11 21:24:31 +02:00
Simon Frasch
143304cea2 spfft: add version 1.0.3 and patch for missing include statement (#23557) 2021-05-11 20:54:07 +02:00
Howard Pritchard
f055a48445 cray: fix parsing of module list (#23566)
The code for guessing cpu archtype based on craype modules names got confused,
at least on LLNL RZ prototype systems.  In particular a (L) or (D) at the end of a craype-x86-xxx or other
cpu architecture module was geting the logic confused.

With this patch, any white space + remaining characters in the moduel name are removed.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2021-05-11 18:16:09 +00:00
Tamara Dahlgren
0368f8ae51 Updates and format tweaks to the release documentation (#22053) 2021-05-11 10:39:25 -07:00
Tamara Dahlgren
00fe243e9c tests/bugfix: Fix and clean up copied example checks (#23276) 2021-05-11 10:38:40 -07:00
Tamara Dahlgren
066d33b4b3 Documentation: Refinement of "Checking an installation" (#22210)
There have been a lot of questions and some confusion recently surrounding Spack installation test capabilities so this PR is intended to clean up and refine the documentation for "Checking an installation".

It aims to better distinguish between checks that are performed during an installation (i.e., build-time tests) and those that can be done days and weeks after the software has been installed (i.e., install (or smoke) tests).
2021-05-11 10:37:48 -07:00
Mikael Simberg
dee419c1d5 Use Ninja as generator in HPX package (#23558) 2021-05-11 18:50:28 +02:00
lukebroskop
766f99f130 CrayPE fix for libcircle (#23526)
Disable mpi search when using cce (the CCE compiler wrappers do not behave like the conventional mpi compiler wrappers).
2021-05-11 09:33:58 -07:00
shanedsnyder
b4e4e76872 darshan-runtime, darshan-util: darshan 3.3.0 release + other additions (#23552)
Add darshan-3.3.0 tags to darshan util/runtime, AutoPerf variants, AutoPerf XC variants, and HDF5 module support to darshan-runtime.
2021-05-11 10:04:23 -06:00
Olivier Cessenat
ec033d8922 gmsh: add variants and new version (#23544)
* Enhancing package gmsh to more options, new version
* Enhancing package gmsh, url from https
* Enhancing package gmsh, following reviewer 1
* Improving package gmsh from reviewer
* Adding MED dependency
* Removing env variables and unused dependency (netgen/tetgen)
2021-05-11 11:12:00 -04:00
Olivier Cessenat
fee5cf4e49 med: add HDF5 support and other variants (#23555)
Enhancing package med enlarged HDF5 compatibility, more options, new version
2021-05-11 09:01:49 -04:00
Tiziano Müller
aacba57e0a cp2k: update libvori and libxc dependencies (#23553) 2021-05-11 11:09:47 +02:00
Phil Tooley
566becbbfe use package supplied autogen.sh (#20319) 2021-05-10 23:11:29 -07:00
Greg Becker
8c05387ebc respect -k/verify-ssl-false in _existing_url method (#21864) 2021-05-10 23:11:29 -07:00
Valentin Volkl
fb207b80ce root: add first spack external find support
only parses the version, variant parsing will follow.
2021-05-10 21:59:38 -07:00
Jen Herting
d25455277b [py-pyjwt] added version 2.1.0 (#23547) 2021-05-10 19:57:05 -05:00
lukebroskop
b27ac37547 CrayPE fixes for MAGMA (#23497)
Force CCE to compile fortran modules with lower case names, allow for CCE to be the host compiler with nvcc
2021-05-10 17:42:56 -07:00
Vasileios Karakasis
b6c124572c Add ReFrame 3.6.0 (#23551) 2021-05-10 17:33:24 -07:00
darmac
795f5e4af1 New package: libmicrodns (#22145) 2021-05-10 16:45:29 -07:00
Tom Payerle
3b590177c9 zfp: Add python as explicit dependency (#23478)
A proposed fix for #23436
2021-05-10 16:35:06 -07:00
Jen Herting
ff4fd6c5bc [py-websocket-client] added version 0.48.0 (#23549) 2021-05-10 22:51:26 +00:00
eugeneswalker
ea2cba7b40 tau: revert depends_on generic elf provider (#23548) 2021-05-10 22:26:36 +00:00
Harmen Stoppels
3d2b1277e9 Bump fuse-overlayfs (#23541) 2021-05-10 14:35:06 -07:00
lukebroskop
829199a460 craype fix for omega-h (#23504)
add -Wno-final-dtor-non-final-class flag
2021-05-10 14:31:27 -07:00
Axel Huebl
2913000d92 WarpX: 21.05 (#23543)
Add the latest release of WarpX.
2021-05-10 15:04:33 -06:00
lukebroskop
e58d07a819 CrayPE fix for unifyfs (#23498)
When building with CCE, do not use the -Werror flag
2021-05-10 14:02:30 -07:00
lukebroskop
50eec40232 CrayPE fix for otf2 (#23499)
when using Cray's cs-prgenv, allow the build system to detect the systems as an XC
2021-05-10 13:16:41 -07:00
Tamara Dahlgren
2450ee0fb0 bugfix: correct force_autoreconf method syntax (#23546) 2021-05-10 19:31:11 +00:00
lukebroskop
57ccb6ea13 CrayPE fix for json-c (#23515)
remove -Werror flag when compiling with cce
2021-05-10 13:16:25 -06:00
eugeneswalker
a5422f8015 depend on elf provider in place of specifically libelf (#23524) 2021-05-10 11:04:18 -07:00
Adam J. Stewart
e219d89d33 py-numpy: add v1.20.3 (#23545) 2021-05-10 17:42:55 +00:00
eugeneswalker
4903eabc7a compare full old_prefix and new_prefix instead of layout_root (#23506) 2021-05-10 10:36:53 -07:00
eugeneswalker
ccdda9a74e metall: fix incorrect use of setup_build_environment (#23532) 2021-05-10 09:26:19 -07:00
darmac
ad44c3ad51 Add new package: ima-evm-utils (#22161) 2021-05-10 10:10:02 -06:00
Cameron Rutherford
c2cd597b45 Use define_from_variant for HiOp package (#23536) 2021-05-10 10:04:07 +02:00
Michael Kuhn
d2cc248192 binutils: Improve flag_handler (#22642)
`flag_handler` currently passes all flags via injection. This makes it
impossible to override the default flags provided by autotools (for
instance, `binutils cflags='-O2'` will still build with `-O2 -g`).
Instead, use injection for our workaround flags and pass other flags to
the build system.
2021-05-10 10:03:24 +02:00
Adam J. Stewart
ecb7d6dca1 py-matplotlib: add v3.4.2 (#23531) 2021-05-08 10:54:28 -07:00
Morten Kristensen
63d4d37c91 py-vermin: add latest version 1.2.0 (#23528) 2021-05-08 09:20:19 -05:00
Massimiliano Culpo
00a1418d10 clingo: don't skip tests that deal with file permissions
When we first merged the ASP-based solver, unit-tests
were run in a Docker container with root permissions
and that was preventing a few tests to succeed.

Since some time though, clingo is tested as a regular
user within Github Actions VMs, so we should start to
run checks again.
2021-05-08 06:14:44 -07:00
lukebroskop
daebf5caf8 craype fix for pdt (#23505)
* craype fix for pdt

adapt the pdt package for cce

* fix style issues
2021-05-07 17:16:13 -07:00
Jerome Soumagne
eb273f5c2f mercury: add version 2.0.1 (#23521) 2021-05-07 17:10:14 -07:00
lukebroskop
c1b314e564 CrayPE fix for pfunit (#23512)
allow cce to be the compiler
2021-05-07 17:08:41 -07:00
dsjense
45f84ee548 Bugfix/matplotlib clang lto (#23519)
* Disable link-time optimization for matplotlib when using Clang.

* Remove duplicated line.

* Disable LTO only for versions >= 3.3.0.
2021-05-07 23:56:28 +00:00
lukebroskop
c175d24c0e Add conflict for the CCE compiler (#23502)
Add conflict for the CCE compiler
2021-05-07 19:24:35 +00:00
Tom Payerle
5a7c339b0c geos: Fix config issues with python bindings using python3 (#23479) (#23480)
* geos: Fix config issues with python bindings using python3 (#23479)

This should fix some config issues when building geos with python
bindings and using python3 --- the geos configuration scripts had
a few python2-isms.

I only tested (lightly; geos built and I can import geos in python3)
on 3.8.1, but I did check that the patch can at least be applied
in 3.5.

I belatedly discovered that geos dropped all the SWIG bindings
in @3.9, so I also added some conflicts on the +python and +ruby
options to note that they are not supported in 3.9.

* geos: adding omitted patch file
2021-05-07 12:27:29 -05:00
Scott Wittenburg
91de23ce65 install cmd: --no-add in an env installs w/out concretize and add
In an active concretize environment, support installing one or more
cli specs only if they are already present in the environment.  The
`--no-add` option is the default for root specs, but optional for
dependency specs.  I.e. if you `spack install <depspec>` in an
environment, the dependency-only spec `depspec` will be added as a
root of the environment before being installed.  In addition,
`spack install --no-add <spec>` fails if it does not find an
unambiguous match for `spec`.
2021-05-07 10:07:53 -07:00
Peter Josef Scheibel
a3d58129ec return concrete spec (as is advertised in the docstring) 2021-05-07 10:07:53 -07:00
Peter Josef Scheibel
320eb4872d fix check when retrieving matching spec from environment when there is a match with a root spec as well as with a dependency of a root spec 2021-05-07 10:07:53 -07:00
Claire Guilbaud
d82a0c6799 Update py-hieroglyph (#23279) 2021-05-07 09:12:30 -05:00
Sergey Kosukhin
7c6f65d36b fdb: new package with deps (#23175) 2021-05-07 15:02:57 +02:00
Tiziano Müller
ccf9a11ff9 compilers: aocc is now also available as a Cray PrgEnv (#23289) 2021-05-07 14:55:32 +02:00
Adam J. Stewart
07ed432f27 GDAL: add v3.3.0 (#23426) 2021-05-07 14:54:12 +02:00
Harmen Stoppels
129de9083a Show useful error in build-env (#23458)
Instead of an out of bounds error tell the user to provide a spec
2021-05-07 14:53:08 +02:00
Mark W. Krentel
1698be3c3c libmonitor: add v2021.04.27 (#23460) 2021-05-07 14:37:20 +02:00
Robert Mijakovic
72f979a92b at-spi2-core: add v2.40.1 (#23467)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-05-07 14:32:39 +02:00
Robert Mijakovic
d9c149bb1a at-spi2-atk: add v2.38.0 (#23468)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-05-07 14:32:00 +02:00
Andrei Poenaru
8d016b87d2 gdbm: patch when using arm@21.0: (#23492) 2021-05-07 12:20:04 +00:00
Greg Sjaardema
b6b0fade46 CGNS:add v4.2.0, v4.1.2 and remove conflicting variant (#23481)
Added the checksum for 4.1.2 and 4.2.0

The `parallel` variant  did the exact same behavior as the `mpi` variant, but they had different default values than each other.  Both variants set the value of `-DCGNS_ENABLE_PARALLEL`, so it was unclear which variant was "winning" and could definitely result in a non-intuitive build.   Did a grep of the spack packages and none of them where using the `parallel` variant to control the cgns options.  Retained the `mpi` variant as that one is being used by multiple packages.

One issue that remains to be solved is that the default integer size has changed from 32-bit to 64-bit for the 4.2.0 release.  This is controlled by the `int64` variant which currently defaults to `OFF`.  There should maybe be some thought about changing the default to match the default of the current release, or maybe having a version-specific default...  For now, left the behavior as it has been for previous versions.
2021-05-07 14:14:56 +02:00
Howard Pritchard
4fb31be45d OpenMPI: dont apply atomic patch for 4.1.1 and later (#23483)
The patch available in spack does not patch
cleanly for the 4.1.1 and presumably later releases.

See Open MPI commit b8a8096a3f153380f95af8f285f48e926eb18bf1

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2021-05-07 14:12:46 +02:00
Olivier Cessenat
588bdb1ef9 adms: new package (#23466) 2021-05-07 13:42:55 +02:00
Steven Smith
c131f13006 silo: add "hzip" and "fzip" variants (#23447)
SILO has optional support for compression libraries that require 
C++ (hzip and fpzip). This patch exposes those options as variants
to enable configuration of SILO without the C++ libraries for C 
applications. hzip and fpzip are enabled by default to preserve 
current behavior.
2021-05-07 13:40:04 +02:00
Gilles Gouaillardet
474ec196e6 gromacs: add v2021.2 (#23487) 2021-05-07 13:30:06 +02:00
Massimiliano Culpo
4402f89e39 ASP-based solver: minimize mismatch of targets (#23462)
Like compilers targets now try to minimize
mismatches, instead of maximizing matches.

Deduction of mismatches is reworked to be
the opposite of a match, since computing
that is faster.
2021-05-06 12:39:30 -07:00
Massimiliano Culpo
f83ec4d46f 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-06 10:19:10 -07:00
Robert Mijakovic
2ba493cd63 py-keras: new version (#22711)
* py-keras: new version

* Adds missing dependencies.

* Removes the newline which is against formatting rules.

* py-keras: limits some dependencies to older versions

* py-keras: restricts dependencies

* pykeras: fixes dependency ranges :)

Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-05-06 11:35:28 -05:00
Sebastian Schmitt
be092e8625 py-brian2: Fix missing open range for python dependency (#23469) 2021-05-06 11:32:59 -05:00
Massimiliano Culpo
0fe3c5a07d amp: cleanup of the recipe (#23079) 2021-05-06 09:10:13 -06:00
Harmen Stoppels
e5d87b711d Reduce visual noise during distributed build (#23338) 2021-05-06 07:30:02 -07:00
Massimiliano Culpo
dfcd01f2c7 Delete spurious binary x.tgz (#23465) 2021-05-06 10:11:20 +00:00
Massimiliano Culpo
3761d9b3b9 mlperf-deepcam: fixed issue with cuda variant and deps (#23087) 2021-05-06 12:10:18 +02:00
Massimiliano Culpo
219eb09e59 Put a module object in sys.modules before executing module code (#23269)
The loading protocol mandates that the the module we are going
to import needs to be already in sys.modules before its code is
executed, so to prevent unbounded recursions and multiple loading.

Loading a module from file exits early if the module is already
in sys.modules
2021-05-06 11:53:40 +02:00
Dr. Christian Tacke
8f1b701660 boost: Switch download URL (#23422)
boost has moved its downloads from a bintray URL to a jfrog URL.

See: https://www.boost.org/users/news/boost_has_moved_downloads_to_jfr.html
2021-05-06 10:55:06 +02:00
Valentin Volkl
1127c9806f arrow: zstd+pic variant does not exist anymore (#23463) 2021-05-06 08:40:39 +00:00
Kai Torben Ohlhus
71c1d4c1f5 openblas: add version 0.3.15 (#23461) 2021-05-06 10:11:36 +02:00
Sreenivasa Murthy Kolam
946dc7b16a Enable cmake option -optimal for rocsolver (#23448) 2021-05-06 08:42:37 +02:00
Daniel Arndt
f9860de2d5 Update Kokkos for release 3.4.00 and add SYCL (#23433)
* Update Kokkos for release 3.4.00 and add SYCL

* add conflict if sycl was requested before 3.4
2021-05-05 14:13:16 -07:00
Robert Cohn
ab018c2081 intel-oneapi packages: support root installs (#23401)
When installing OneAPI packages as root (e.g. in a container), the
installer places cache files in /var/intel/installercache that
interfere with future Spack installs. This ensures that when
running an installation as a root user that this is removed.
2021-05-05 14:00:34 -07:00
Olivier Cessenat
d51deb4961 New version scorep 7.0 based on opari2-2.0.6 and otf2-2.3 +cube{w,lib}-4.6 (#23418) 2021-05-05 13:54:40 -07:00
Cyrus Harrison
a43939cafa conduit: change default ver to tagged release (#23451) 2021-05-05 13:52:44 -07:00
Jon Rood
9a3513b3ec Add parallel-netcdf version 1.12.2. (#23452) 2021-05-05 11:15:24 -07:00
Sebastian Schmitt
36a3bc465b Update Brian to 2.4.2 (#23442) 2021-05-05 11:44:13 -05:00
G-Ragghianti
a45cb952b7 Packages: BLAS++ and LAPACK++ (#23372)
* Adding hip support

* Added new blaspp version and rocm support.  Fixed error in mesa18 package.

* Correcting variant name.

* Code style fixes

* Change of name of library

* Change "make check" to correctly run from the build directory.

* Upgraded version to fix testing errors

* Fixed testing directory

* Removed unnecessary variant entry (already inherited from CudaPackage)

* Generalization of version matching logic

* Code style

* Corrected version requirement
2021-05-05 08:16:15 -07:00
Hadrien G
4f7bd11d61 acts: add v8.00.0 and v8.01.0 (#23438) 2021-05-05 13:09:53 +02:00
Ryan Mast
a96ef8baa0 helics: add v2.7.0 (#23437)
Adds v2.7.0 to the HELICS package versions.
2021-05-05 13:09:20 +02:00
Harmen Stoppels
43c74f2f17 Bump cmake (#23434) 2021-05-04 23:01:25 -07:00
Jen Herting
4b93323d82 New package: r-assertive-sets (#23427)
Co-authored-by: Alex Leute <acl2809@rit.edu>
Co-authored-by: Alex C Leute <aclrc@rit.edu>
2021-05-04 20:27:25 -05:00
Andrew W Elble
901f7c14fb py-tensorflow: continue to constrain h5py version (#23420)
cleanup from #23386
2021-05-04 12:52:27 -05:00
Jen Herting
16b720effb New package: py-pytorch-lightning (#23353)
* lightning with friends

* fixed style errors in lightning

* [py-pytorch-lightning] fixed homepage

* [py-pytorch-lightning] removed release canidate version

* [py-pytorch-lightning] fixing some dependency listing issues

* [py-pytorch-lightning] removed py-pydepreciate

* [py-pytorch-lightning] more dependency cleanup

Co-authored-by: Sid Pendelberry <sid@rit.edu>
2021-05-04 12:51:07 -05:00
Olivier Cessenat
2d9988c5b7 moreutils: add v0.65 and xsltproc(libxslt) dependency (#23419) 2021-05-04 19:42:29 +02:00
Paul
c748f5a765 Add Go 1.16.3 and 1.15.11 (#23423) 2021-05-04 08:26:34 -07:00
Robert Cohn
4ecfe7f09e sos: add package for sandia openshmem (#23414) 2021-05-04 15:12:22 +02:00
Andrew W Elble
6714ab9b57 rust: add v1.51.0 (#23064) 2021-05-04 15:09:46 +02:00
Robert Mijakovic
e2933b5c4b python: add v3.9.5 and v3.8.10 (#23421)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-05-04 14:54:25 +02:00
Harmen Stoppels
2efcfa9de1 autoconf, bison: drop dependency on help2man (#23407)
We don't have to rebuild their man pages
2021-05-04 11:46:38 +02:00
Tom Payerle
da2dbac794 hdf-eos2: add support for hdf+szip (#23346) 2021-05-04 10:07:29 +02:00
Stephen Hudson
acdcdcee75 libensemble: add v0.7.2 (#23416) 2021-05-04 09:28:16 +02:00
Massimiliano Culpo
8a65bcb7c9 archspec: updated external dependency (#23311)
Added support for Apple M1, extended support
for zen3 with more compiler flags.
2021-05-03 22:27:37 -07:00
Massimiliano Culpo
10389b2b51 Use Python's built-in machinery to import compilers (#23290) 2021-05-03 22:26:48 -07:00
Cameron Stanavige
88b30090ef scr: new release and dependency updates (#23378)
SCR moved to a component version some time ago, but never had a
release associated with these changes. SCR v2 is a legacy version
that is no longer being developed/supported. In preparation for an
upcoming SCR v3 release, there is now a 3.0rc1 release available to
users.
This adds the 3.0rc1 release to the spack package and deprecates the
older versions.

Additional changes include:
- Enforce using the main branches of the components when installing
scr@develop
- Enforce SCR v3 uses at least the recently released versions of each
of the components
- Use a simple `detect_scheduler()` function in an attempt to be
smarter about setting the default resource manager and not require
users to always manually provide the variant
- Add/update variants that were recently added to AXL and KVTree
components
- Fix cmake arg naming bug of setting `SCR_CONFIG_FILE`
- `SCR_ASYNC_API` is now being handled by a component and is only
needed by the legacy versions.
2021-05-03 17:19:37 -07:00
Chris White
6394604d0a hdf5: fix typo (#23415) 2021-05-03 16:58:35 -07:00
Chris White
c7fb93b1d7 remove rocm version that was causing failures due to being a weird point in BLT's develop history (#23377) 2021-05-03 16:11:44 -07:00
Chris White
fa12ca585a HDF5: Utilize flag_handler for handling all compiler flags (#23413)
* convert pic and compiler compat flags to flag_handler
2021-05-03 16:10:37 -07:00
Harmen Stoppels
28ef63bc1b help2man: drop gettext dependency (#23406) 2021-05-03 18:32:41 -04:00
Michael Kuhn
21ad8d4372 cmd: improve shell support help message (#23410)
Users sometimes set up Spack's shell support but still call `bin/spack`,
which results in the help message showing up again.
2021-05-03 18:28:28 -04:00
Greg Sjaardema
5a747b9183 Version update, new variant (#23409)
* Added checksum for recently released 4.8.0
* Added `enable-fsync` variant.  The `fsync` flag was added to the configuration as of version 4.1.0 and later.  Originally, it defaulted to `on`, but at version 4.3.0 and later, it was changed to default to `off` and a `enable-fsync` configuration flag was added to enable it.  

The spack package has the `--enable-fsync` specified with no way to disable for all builds of netcdf-c 4.1.0 and later.  This can cause horrendously slow I/O for certain use cases (e.g. 7 seconds with no-fsync versus 2300 seconds with fsync enabled).  With the new variant, the default build behavior matches the default of non-spack netCDF.
2021-05-03 14:21:07 -07:00
Olivier Cessenat
6ded2c38d1 Package cube has very tight dependencies on cubelib (#23395) 2021-05-03 22:47:41 +02:00
Jen Herting
c4c090ab65 [py-fsspec] added http variant (#23404)
* [py-fsspec] added http variant

* [py-fsspec] added conflict to enforce newer version for +http
2021-05-03 20:42:40 +00:00
mic84
435ecce2f5 amrex: add v21.05 (#23405) 2021-05-03 18:32:54 +00:00
Olivier Cessenat
bfab03088b otf2: add v2.3 (#23400) 2021-05-03 20:27:52 +02:00
Olivier Cessenat
08f7020e0a opari2: add v2.0.6 (#23397)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-05-03 20:13:01 +02:00
eugeneswalker
977eff4db2 flecsi: fix legion dependency specification so variants actually exist (#23391)
* flecsi: legion dependency has no variant +mpi, and +shared s.b. +shared_libs

* rename legion variant +shared_libs to +shared
2021-05-03 20:10:56 +02:00
Keita Iwabuchi
fc06c1e08f Metall package: add v0.13 and support test (#23403)
* Metall: add version 0.2

* Add Metall v0.3

* Update Metall package to v0.4 and v0.5.

* Metall package: add v0.6

* Metall package: add v0.7

* Metall package: add v0.8 and v0.9

* Add Metall package v0.10

* Metall package: set run_environment METALL_ROOT

* Metall package: removed blanks

* Metall package: add v0.11 and v0.12

* Metall package: change required cmake version

* Metall package: support build test

* Metall package: add v0.13

* Metall package: change to use setup_build_environment
2021-05-03 10:40:45 -07:00
Jen Herting
01eefa7519 New package: py-torchmetrics (#23352)
* lightning with friends

* [py-torchmetrics] added verison 0.2.0

Co-authored-by: Sid Pendelberry <sid@rit.edu>
2021-05-03 16:19:48 +00:00
Jen Herting
4723e426a6 New package: py-tensorflow-hub (#23034)
* orginal version of tensorflow-hub

* [py-tensorflow-hub] updated url to pypi.io

* [py-tensorflow-hub] added version 0.12.0

* [py-tensorflow-hub] flake8

* [py-tensorflow-hub] Full package rewrite from @aweits

* [py-tensorflow-hub] added @aweits as maintainer

* [py-tensorflow-hub] flake8

* [py-tensorflow-hub] lots of join_path

* [py-tensorflow-hub] cleanup tmp_path/insttmp_path post install

* [py-tensorflow-hub] depends on setuptools

* [py-tensorflow-hub] fixing quoting

Co-authored-by: Sid Pendelberry <sid@rit.edu>
2021-05-03 16:04:56 +00:00
Tiziano Müller
61232796da llvm-doe: fix typo breaking "spack external find" (#23399)
Fixes the following error when 'flang' is found on the system:

   $ ./bin/spack external find
   ==> Error: name 'compiler' is not defined
2021-05-03 08:12:51 -07:00
Harmen Stoppels
74ed861657 Make gettext find libxml2 (#23393)
gettext uses a test with <libxml2/libxml/someheader.h> to locate a header,
and libxml2 itself includes <libxml/otherheader.h>, so both have to be
in the include path.
2021-05-03 08:03:35 -07:00
Harmen Stoppels
9c1c7ab6ca Use an environment variable to set the default stacktrace behavior (#23357) 2021-05-03 16:22:30 +02:00
Erik Schnetter
94f66d8ef8 silo: correct clang-related patch (#23361) 2021-05-03 16:15:44 +02:00
shanedsnyder
913bff0f67 darshan: add v3.3.0-pre2 release (#23370) 2021-05-03 15:32:33 +02:00
Harmen Stoppels
60f38291c2 ccache: add v4.2.1 and earlier, zstd support (#23039) 2021-05-03 13:18:36 +00:00
Itaru Kitayama
c39b53ffb3 neuron: add dependency on py-numpy (#23375) 2021-05-03 15:18:27 +02:00
Michael Kuhn
aa24c0de4b rocksdb: add v6.19.3 (#23384) 2021-05-03 15:16:53 +02:00
Michael Kuhn
653fbcc937 qt: add patches for gcc@11 (#23387) 2021-05-03 15:14:11 +02:00
Michael Kuhn
abd3e2bbfa cube: add v4.6 and v4.5 (#23389) 2021-05-03 15:12:09 +02:00
eugeneswalker
d0e3c28f34 arborx: kokkos hip backend is actually now called rocm (#23390) 2021-05-03 15:10:48 +02:00
Seth R. Johnson
d3d3b97616 py-hdf5: restore py-h5py~mpi ^hdf5+mpi (#23386)
* Revert "py-tensorflow: disable h5py/hdf5 mpi variant(s) if tensorflow is ~mpi (#21955)"

This reverts commit 8071be81c4.

* Restore mpi restrictions to py-tensorflow
2021-05-03 09:00:08 -04:00
Olivier Cessenat
f62b8077ab silo: fix zlib when using system external (#23392) 2021-05-03 08:57:27 -04:00
lpoirel
76578af912 mumps: add v5.4.0 and OpenMP support (#23143) 2021-05-03 14:46:53 +02:00
Harmen Stoppels
3ae8147dca libfuse add v2.9.9 (#23396) 2021-05-03 12:42:50 +00:00
Harmen Stoppels
3578132e76 Another binutils fix (#23337)
* Building binutils with gold implies building ld

* add +ld to llvm to make the old concretizer happy and add +gas to gcc since that's used in the package.py

* Remove sys
2021-05-02 23:27:43 +02:00
Hang Yan
83c46748e6 erlang: add new packages (#23362)
Add new 23.1, 23.2, 23.3 Erlang releases.
2021-05-02 12:56:27 -07:00
Itaru Kitayama
0250a0d4ce scalasca: Update variant releases (#23383)
* Add 4.6

* Add Cubelib 4.6

Co-authored-by: Itaru Kitayama <itaru.kitayama@riken.jp>
2021-05-02 10:04:18 -06:00
Erik Schnetter
3729fcdb4b gcc: Explicitly disable bootstrapping (#23360)
We need to explicitly disable bootstrapping when `~bootstrap` since GCC bootstraps by default.
2021-05-02 00:56:14 +02:00
Andrew W Elble
bdfdba7d73 py-horovod: fix compilation with mxnet enabled (#23369) 2021-04-30 18:55:44 -05:00
Chris White
a618594c28 BLT version lockdown (#23356)
* lock down packages that export targets to pre-BLT 0.4.0 so that they can move forward when ready

* don't default to 0.4.0
2021-04-30 22:57:44 +00:00
Chris White
d8390ee2fb HDF5: Suppress promoted warning that causes build failure on clang and gcc (#23354)
* simplify compiler flag logic and suppress warning that gets promoted to an error on certain files in gcc/clang
2021-04-30 15:04:06 -07:00
Keita Iwabuchi
46bce56cef Metall package: add v0.11 and v0.12 (#23373)
* Metall: add version 0.2

* Add Metall v0.3

* Update Metall package to v0.4 and v0.5.

* Metall package: add v0.6

* Metall package: add v0.7

* Metall package: add v0.8 and v0.9

* Add Metall package v0.10

* Metall package: set run_environment METALL_ROOT

* Metall package: removed blanks

* Metall package: add v0.11 and v0.12

* Metall package: change required cmake version
2021-04-30 14:51:07 -07:00
Seth R. Johnson
e359249d7e qt: update versions and URLs (#23316)
* qt: update versions and URLs

- Add LTS releases of 5.12.10, 5.9.9, 5.6.3
- Mark other minor versions of 5 as deprecated
- Use https
- The URL for older QT versions changed recently to "new_archive"
- Prefer xz instead of gz for >=5.6 because 5.6.3 isn't available as
  gz. This invalidates the SHA of 5.7-5.8.
2021-04-30 13:21:47 -04:00
eugeneswalker
93d873b116 variorum: new versions: 0.4.1, 0.4.0, 0.3.0, 0.2.0 (#23367) 2021-04-30 09:57:26 -07:00
Jen Herting
3732c26bad [py-fsspec] added version 2021.4.0 (#23350) 2021-04-30 10:09:19 -05:00
Jen Herting
463daf36f4 lightning with friends (#23351)
Co-authored-by: Sid Pendelberry <sid@rit.edu>
2021-04-30 10:08:19 -05:00
Andrew W Elble
0a259ab934 mxnet: new version 1.8.0 (#23358)
* mxnet: new version 1.8.0

use submodules on master
introduce constraints on cuda versions supported
handle USE_MKLDNN->USE_ONEDNN conversion

* * use define for USE_CUTENSOR
* fix up dependencies for 2.0.0+
2021-04-30 09:55:17 -05:00
Martin Hilgeman
bb038c3b6c quantum espresso: fix OpenMP support (#23220) 2021-04-30 08:17:01 +02:00
Olivier Cessenat
b2d92bbb9f Silo: making the HDF5 dependency optional (#22908) 2021-04-29 18:46:07 -07:00
Jordan Ogas
cb82e4b088 add charliecloud 0.23 (#23344) 2021-04-29 14:25:07 -07:00
Sreenivasa Murthy Kolam
c27c70acd9 rocm-4.1.0 release-add git repo path, modify hipfft package recipe (#23119) 2021-04-29 21:24:47 +02:00
eugeneswalker
3103d4a5d8 py-natsort: new versions (#23343) 2021-04-29 12:06:35 -07:00
eugeneswalker
d4f4754655 py-astroid: properly select py-wrapt dependency w/ when clause (#23341) 2021-04-29 12:06:23 -07:00
genric
56eb66e79a py-luigi: add v3.0.1-3 (#23246)
* py-luigi: add v3.0.1-3

* address review comments

* more review comments
2021-04-29 11:52:03 -05:00
darmac
3959da5a68 Add new package: py-openidc-client (#23277) 2021-04-29 10:15:01 -05:00
genric
adc55498d3 py-xarray: add 0.17.0 (#23336) 2021-04-29 10:09:08 -05:00
Olivier Cessenat
087110bcb0 Package mesa compilation dependency on binutils+plugins (#23335) 2021-04-29 16:43:01 +02:00
Adam J. Stewart
6b12000a7c py-scikit-learn: add v0.24.2 (#23330) 2021-04-29 10:05:51 +02:00
Glenn Johnson
75705c9992 relion: fix typo in the homepage (#23331)
The Relion package recipe had an extra "http://" in the url for the
homepage.
2021-04-29 10:05:35 +02:00
Itaru Kitayama
5b5c56c7f1 neuron: add variant for caliper (#23271) 2021-04-29 10:03:30 +02:00
Vicente Bolea
15d2e60c16 Adds Paraview 5.9.1-RC2 (#23327)
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-04-28 15:30:21 -07:00
Tom Payerle
c0e53827aa libtirpc: Fix directories returned for header files (#23332)
libtirpc puts its header files under prefix/include/tirpc, but
spack was returning just prefix/include for location of headers.

This will cause spack to return both prefix/include and
prefix/include/tirpc for headers, so both

include <rpc/xdr.h>

or

include <tirpc/rpc/xdr.h>

should work.
2021-04-28 15:08:42 -07:00
Robert Cohn
239e8db319 intel-oneapi-dnn: fix header/lib paths (#23326)
Help dependents find libraries/headers. Like intel-oneapi-mkl, this
package offers several different versions of libraries that conflict.
This PR chooses one of those versions. When
https://github.com/spack/spack/discussions/22749 is resolved, this
package should be updated to choose which libraries to use.
2021-04-28 14:06:36 -07:00
Chris White
c8084991b4 Honor global compiler flags (#23305) 2021-04-28 12:11:19 -07:00
Tom Payerle
51509dbad0 bzip2: Fix python error introduced in #23230 (See #23318) (#23320) 2021-04-28 11:01:15 -06:00
Gregory Lee
b510464f04 mesa: fix build with upstream patch (#23302) 2021-04-28 16:22:00 +00:00
Jen Herting
d5b3d075d2 alembic: new package (#22223) 2021-04-28 17:03:30 +02:00
Massimiliano Culpo
5b12568c4f Make Spack able to apply gz compressed remote patches (#22823)
Modified ncbi-rmblastn to retrieve patches from remote
2021-04-28 17:00:58 +02:00
BenWeber42
5cb5aac57e Fix intersection if a version is a prefix of another (#22941)
* Added test for version intersections when one is prefix of another

* Fix version intersection for prefixes
2021-04-28 08:28:09 -06:00
Massimiliano Culpo
6ab859fb45 bzip2: fix typo in package (#23312)
A recently merged PR had a typo that slipped through CI. Here's a fix.
2021-04-28 14:19:10 +00:00
Scott McMillan
f5e6c32495 findutils: update package for nvhpc (#23145)
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-04-28 15:06:43 +02:00
Harmen Stoppels
3f4c9aeca7 Read colorization from environment variable, if command line is not set (#23130) 2021-04-28 13:03:25 +00:00
Christoph Junghans
9faa3221b3 py-espressopp: update to py3 (#23264) 2021-04-28 15:00:42 +02:00
Jen Herting
48d2ec99d8 ffmpeg: add v4.3.2 (#22573) 2021-04-28 14:53:06 +02:00
Michael Kuhn
20791b5882 gcc: add v11.1.0 (#23294) 2021-04-28 14:17:55 +02:00
Itaru Kitayama
b43ed76fa7 nest: depend on py-scipy when +python (#23306)
Co-authored-by: Itaru Kitayama <itaru.kitayama@riken.jp>
2021-04-28 12:17:09 +00:00
Itaru Kitayama
62a001dea6 scalasca: add v2.6 (#23299)
Co-authored-by: Itaru Kitayama <itaru.kitayama@riken.jp>
2021-04-28 14:14:05 +02:00
Jen Herting
13755d57c4 ghostscript: added v9.54.0, v9.53.3 + patch for freetype (#22393) 2021-04-28 13:54:41 +02:00
eugeneswalker
c27d7d7486 mesa18: depends on binutils+plugins for build (#23285) 2021-04-28 13:53:14 +02:00
Harmen Stoppels
94f894b1b2 binutils: default to +plugins (#23309) 2021-04-28 13:51:26 +02:00
Vicente Bolea
98f8689ccd paraview: add v5.9.1-RC1, make 5.9.0 preferred (#23226)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-04-28 13:39:34 +02:00
Peter Scheibel
10e4eeec9c bzip2: add pic/debug options (#23230)
* Add pic (for static) and debug variants

* explicitly add -g flag for +debug (even though it is in Makefile)
2021-04-28 13:16:57 +02:00
eugeneswalker
19c2ad8185 spath: zlib is a link dependency (#23303) 2021-04-28 12:52:45 +02:00
Cody Balos
d9804d31f9 sundials: fix cuda architectures typo and specify raja variants (#23293) 2021-04-28 06:49:14 -04:00
Seth R. Johnson
e14baffbcf vecgeom: add v1.1.13 (#23308) 2021-04-28 12:41:55 +02:00
Robert Underwood
159d3b3381 [tau]: Use compiler name instead of basename (#23247)
Previously the tau package got the cxx and cc names from
os.path.basename(self.compiler.cxx), however if the path to the compiler
looks like "/usr/bin/g++-10.2.0" then tau's custom build system doesn't
recognize it.  What we want instead is something that looks like "g++"
which is exactly what cxx_names[0] gives us.  We already did this for
fortran, so I am not sure why we didn't do it here.  Not doing this
causes a build failure when tau tries to use a polyfill (vector.h,
iostream.h) that doesn't seem to be packaged with tau.

Additionally, tau needs some help finding mpi include directories when
building with MPI, so we provide them.  Unfortunately, we can't just say
that the compilers are mpicc and mpicxx in the previous fix to have
these things found automatically.  This is because tau assumes we always
need the polyfill when the compilers are set to these values which again
causes a build failure.
2021-04-27 20:12:01 -07:00
Dmitri Smirnov
b23b126013 root: Add variant for veccore option (#23237) 2021-04-27 21:09:16 -05:00
Massimiliano Culpo
985e101507 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-04-27 16:55:07 -07:00
Pat McCormick
24c87e07b5 Legion package overhaul (#23252)
Complete overhaul of the Legion package to better capture a more
up-to-date set of configuration options and variants.  This update
adds additional flexibility and features that were requested by
users.

* Add version 21.03.0 and "stable" branch
* Remove all older numeric versions
* Add support for CUDA, Python, PAPI support and more
* Add maintainer
* This no longer uses the Spack `gasnet` package: it defaults to
  using an embedded gasnet or can be pointed to an external
2021-04-27 16:51:48 -07:00
Owen Solberg
6f0042b47b fix shadow checksum per #23263 (#23291) 2021-04-27 21:23:56 +00:00
Harmen Stoppels
e501f79d43 Make it possible to build git without man pages and native language support (#23066) 2021-04-27 22:47:59 +02:00
Vasileios Karakasis
99a5bf7892 Add ReFrame 3.5.3 (#23265) 2021-04-27 12:20:54 -07:00
Sreenivasa Murthy Kolam
b2d3d35528 Add git repo path for rocm packages (#23270) 2021-04-27 11:38:14 -07:00
Zack Galbreath
295377b2b4 Don't report configure errors to CDash for successful packages (#23286)
Convert configure errors detected by our log scraper into warnings when
the package being installed reports that it was successful.
2021-04-27 12:20:32 -06:00
Valentin Volkl
07e50c1732 prmon: add version 2.2.0 (#23207)
Switched to .zip source archives to avoid problems with spack checksum finding binary assets when excluding versions.
2021-04-27 10:56:18 -07:00
wspear
303e506f2b Add +plugins to binutils dependency (#23272)
Tau will build but instrumented applications will fail to link with tau if it is built with a binutils that does not include the plugins variant.
2021-04-27 10:36:17 -07:00
eugeneswalker
4179c8bd72 kvtree 1.1.1: updated checksum (#23262) 2021-04-27 09:34:24 -07:00
darmac
4f53975a2a Add new package: py-aiodns (#22138) 2021-04-27 07:16:39 -05:00
Tim Haines
cad06a15e0 Dyninst: add elfutils versioning (#19648) 2021-04-27 07:15:37 -05:00
Rémi Lacroix
42af3c16bf GLM: Add version 0.9.9.8. (#22467)
The CMake install target was removed in version 0.9.9.6 so update the package accordingly.
2021-04-26 16:58:12 -07:00
Jen Herting
0a6227870c New package: r-assertive-models (#23266) 2021-04-26 16:46:33 -06:00
Jen Herting
934d845806 New package: r-assertive-reflection (#23267) 2021-04-26 17:45:46 -05:00
Tim Haines
c23ffd89ff Dyninst: Add dependencies for v11.0.0 (#23121)
Also update the mpileaks unit test to avoid a conflict on CentOS 6
where Dyninst >=11.0.0 no longer builds due to a compiler version
conflict.
2021-04-26 13:53:53 -07:00
Drew Whitehouse
45b4dcb9ed add a package libcxxwrap-julia (#23076) 2021-04-26 14:04:11 -06:00
QuellynSnead
b7c4bfb2a7 hypre: Add a variant for unified memory support (#23258)
Enabling unified memory requires cuda to be enabled as well.
2021-04-26 12:55:37 -07:00
Chuck Atkins
7317b04318 ci: Remove leftover duplicate gitlab yaml (#23248) 2021-04-26 16:42:15 +00:00
Adam J. Stewart
418c78fdc9 py-scipy: add v1.6.3 (#23253) 2021-04-26 16:06:57 +00:00
Chuck Atkins
e3054c3318 ci: Generalize the GitLab CI pipeline yaml (#23225)
* ci: Generalize the GitLab CI pipeline yaml

* ci: Rename cloud_e4s_pipelines to the more general cloud_pipelines
2021-04-26 08:13:16 -06:00
Glenn Johnson
2473e0cc82 r-blavaan: new package (#23232) 2021-04-26 10:03:52 +02:00
miheer vaidya
d21339bae5 fasd: new package (#23238) 2021-04-26 02:02:20 -06:00
Glenn Johnson
7952a802ed r-brms: new package (#23233) 2021-04-26 10:01:47 +02:00
kurtsansom
4b62344163 p4est: add v2.3.1 (#23235) 2021-04-26 09:59:49 +02:00
Robert Mijakovic
afa3ddedba openmpi: add v4.1.1 (#23242)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-04-26 09:39:16 +02:00
Valentin Volkl
70955dbce3 py-hepunits: add v2.1.0 (#23244) 2021-04-26 09:37:26 +02:00
Valentin Volkl
40d8723d6d py-awkward: add v1.2.2, py-uproot: add v4.0.7 (#23245) 2021-04-26 09:37:07 +02:00
Massimiliano Culpo
d0eca2c639 clingo: add v5.5.0, v5.4.1 (#23239)
fixes #23236

Version 5.5.0 depends on Python 3.6 or later
and CFFI
2021-04-25 21:28:30 -07:00
Julius Plehn
0e43f52991 FLEXI: Updates cmake options according to recent changes (#23042)
* fixes cmake options

* adds several optional tools

* use tag & consistent names
2021-04-25 23:26:11 +02:00
Matthieu Dorier
769e549cd9 argobots: changed 'no' into 'none' for variant (#23171) 2021-04-23 14:47:42 -07:00
Glenn Johnson
5809ee6d26 New package: r-champ (#23221) 2021-04-23 14:45:42 -07:00
Andrew W Elble
2b2a26022b gcc package: fix build with +nvptx (#23165)
backport of 383400a6078d upstream to allow for cuda@11:
2021-04-23 14:45:18 -07:00
Glenn Johnson
94ef4e9eae New package: r-nonnest2 (#23222) 2021-04-23 14:29:52 -07:00
Glenn Johnson
e0c82fcf82 New package: r-shinystan (#23223) 2021-04-23 14:29:06 -07:00
Glenn Johnson
a5db2a7403 r-renv: new package (#23067) 2021-04-23 20:26:51 +00:00
Harmen Stoppels
fef05621a7 Bootstrap with -O3 in cmake (#23147) 2021-04-23 11:10:09 -06:00
romerojosh
ce664f6f5f Add NCCL 2.8.4 and 2.9.6. (#23219) 2021-04-23 16:57:06 +00:00
romerojosh
037e8deecb Add cuDNN 8.2.0 (#23214) 2021-04-23 16:41:43 +00:00
Rémi Lacroix
44136223f7 MUMPS: allow for more optimized builds (#23161)
* MUMPS: Use GEMMT BLAS extension when possible.

This should improve the performance and is recommanded by the developers.

* MUMPS: Add a new "openmp" variant.

* MUMPS: Add a "blr_mt" variant.

This improves performance when using OpenMP but might not be compatible with all multithreaded BLAS.
2021-04-23 18:19:15 +02:00
Miroslav Stoyanov
2c9068ead8 tasmanian: add v7.5, improved cuda and rocm support (#23148) 2021-04-23 16:48:08 +02:00
David Hadley
2f9bfd7e09 ROOT: fix pyroot build failure in v6.20.0 (#23038) 2021-04-23 16:46:27 +02:00
Andrew W Elble
c575b1ce9b openmm: add v7.5.0 (#23037) 2021-04-23 16:44:57 +02:00
Glenn Johnson
32368c7f46 r-rjava: set JAVAH environment variable (#23055)
Set the path to javah via the JAVAH environment variable. If it is
a version of java that does not have javah it will fall back to `javac
-h`. Without specifying this the build could pick up a javah from the
system.
2021-04-23 16:40:32 +02:00
Glenn Johnson
f246f6701a r-runjags: new package (#23058) 2021-04-23 16:39:44 +02:00
Glenn Johnson
675de93b32 r-lavaan: new package (#23138) 2021-04-23 08:39:25 -06:00
Glenn Johnson
7c6692b0cb r-colourpicker: new package (#23136) 2021-04-23 16:36:12 +02:00
Glenn Johnson
a7fb70853e r-isva: new package (#23137) 2021-04-23 16:35:40 +02:00
Glenn Johnson
0c56b59877 r-dmrcate: new package (#23151) 2021-04-23 16:28:24 +02:00
Gregory Lee
bcea5e7ba4 mpa and fgfs: add v1.1.1 (#23173) 2021-04-23 16:09:26 +02:00
snehring
c3fbe0f026 gmap-gsnap: add v2021-03-08 (#23178) 2021-04-23 16:02:56 +02:00
Glenn Johnson
a276f9405c augustus: add v3.4.0 and update package (#22879)
- add version 3.4.0
- add patch for bam2wig when version 3.4.0
- url format changed again, hopefully stable now
- added missing python dependency when version >3.3.1
- have older version compile with htslib, samtools ,bcftools
- new dependencies for version 3.4.0
    - sqlite
    - mysql-client
    - mysqlpp
    - lp-solve
    - suite-sparse
- refactored filtering code
- set python interpreter in scripts
2021-04-23 15:56:22 +02:00
Robert Mijakovic
ce6a617706 shadow: add v4.8.1 (#23185)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-04-23 15:51:35 +02:00
Tamara Dahlgren
19b9789b45 fontconfig: resolve tarball issue fcobjshash.h (#23190) 2021-04-23 15:37:25 +02:00
George Hartzell
6d789a5835 docs: be more precise on what spack add ... does (#23204)
This is as much a question as it is a minor fine-tuning of the docs.  I've been known to add things to an environment by editing the `spack.yaml` file directly.  When I read the previous version of this sentence, I was afraid that `spack add` was actually doing *two* things, modifying the `spack.yaml` and updating something else that defined the roots of the Environment.  A bit of experimentation suggests that editing the `spack.yaml` file is sufficient to change the roots.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-04-23 13:29:19 +00:00
Greg Becker
80c8b11d77 mpich: post-configure patch for cce (#23193) 2021-04-23 15:22:39 +02:00
Valentin Volkl
30c81b127c pythia8: add v8304, fix copy-paste errors in configure arguments (#23028) 2021-04-23 14:55:04 +02:00
Cameron Stanavige
93976d018d er: add v0.0.4 (#23022)
This adds that new version to the package, updates the url, and
updates the hash of v0.0.3 for the new url.

This also updates the KVTree dependency as MPI is required to be
enabled in KVTree for er to work.

rankstr is now also required by er for recently added tests.
2021-04-23 06:46:18 -06:00
Valentin Volkl
5641923dfa py-particle: add v0.14.1 (#23216) 2021-04-23 14:15:49 +02:00
Tamara Dahlgren
6f25e5242e Docs: Updated copyrights in files still using 2020 as ending year (#23215) 2021-04-22 22:23:09 -07:00
Robert Pavel
e64fe11506 Initial Version of Ascent Miniapp Spackage (#23170)
Initial version of ascent miniapp spackage
2021-04-22 18:35:43 -07:00
Mark W. Krentel
09028f7407 hpctoolkit: fix patch from #22864 (#23149)
PR #22864 added a patch to hpctoolkit to fix an issue with gcc 10.x, and the patch was applied to all revs unconditionally.  But this was fixed in hpctoolkit master on Aug 11, 2020, so the patch should only apply to old revs.

Fixes #22951.
2021-04-22 19:07:13 -06:00
Itaru Kitayama
010e5761d6 NEST package: add version @master; fix ~python (#23211) 2021-04-22 14:35:00 -07:00
estewart08
b0e4950555 [AMD] - rocm-openmp-extras 4.1 updates. (#22998)
Update package with 4.1 sha keys.
Use variant to disable openmp in the build of llvm-amdgpu.
Set CPATH, LIBRARY_PATH so that clang knows to look in the rocm-openmp-extras for headers/libraries.
Disable flang warnings as Spack thinks they are errors.
In ROCm 4.1, the plugin changed names from hsa -> amdgpu.
Update HSA_INCLUDE for 4.1.0.
2021-04-22 12:11:39 -07:00
Kelly (KT) Thompson
c3733771e4 Update patchfile to allow xl+cuda builds. (#23201) 2021-04-22 12:10:12 -06:00
Harmen Stoppels
b904e9aa1c SIRIUS 7.2.1 (#23199) 2021-04-22 11:40:25 -06:00
Massimiliano Culpo
89ae2cb365 minisign: add v0.9 and v0.8 (#23202) 2021-04-22 10:31:56 -07:00
Frank Willmore
60c909cee5 prepend missing self. to spec (#23172) 2021-04-22 11:40:17 -05:00
Massimiliano Culpo
46088aa5da qa: install clingo-cffi from pip (#23163)
Clingo has been released on PyPI, so there
are no more concerns on our CI depending
on pypy.test for installing the wheel.

Apparently we have parts of Spack which
are not compatible with kcov > 3.4
2021-04-22 09:35:17 +02:00
Gregory Lee
7322a9e3be boost: only apply boostrap-toolset.patch for version 1.75 (#23174) 2021-04-21 21:25:07 -06:00
Glenn Johnson
e0549f5e88 ncbi-rmblastn: add v2.11.0 (#22788) 2021-04-22 05:20:51 +02:00
Jen Herting
5bec197de1 New package: r-assertive-files (#23183)
Co-authored-by: Alex Leute <acl2809@rit.edu>
Co-authored-by: Alex C Leute <aclrc@rit.edu>
2021-04-21 17:24:22 -05:00
Jen Herting
ae045ac071 New package: r-assertive-matrices (#23184)
Co-authored-by: Alex Leute <acl2809@rit.edu>
Co-authored-by: Alex C Leute <aclrc@rit.edu>
2021-04-21 17:20:36 -05:00
Jen Herting
da520d7bb3 New package: r-assertive-datetimes (#23180)
Co-authored-by: Alex Leute <acl2809@rit.edu>
Co-authored-by: Alex C Leute <aclrc@rit.edu>
2021-04-21 17:18:45 -05:00
Harmen Stoppels
730fbae463 Disable multithreaded version of zstd by default (#23167)
* Disable multithreaded version of zstd by default

* zstd pthreads by default again! but configurable, and turned off in GCC
2021-04-21 22:17:08 +02:00
Jen Herting
ee76c329f8 New package: r-assertive-numbers (#23181)
Co-authored-by: Alex C Leute <aclrc@rit.edu>
2021-04-21 19:30:31 +00:00
Sergei Shudler
75fd886f62 MAGMA: Add e4s testsuite-inspired smoke test (#23011) 2021-04-21 11:12:59 -07:00
Massimiliano Culpo
d670f3aa40 lbann: remove deprecated variants in opencv (#23176) 2021-04-21 17:28:33 +00:00
Cameron Stanavige
0ea1b9705f axl: add version 0.4.0 (#23044)
* Swap .zip downloads with .tar.gz downloads (and update download
  hashes)
* New variants: intel_cppr and bbapi_fallback support
2021-04-21 10:24:30 -07:00
Cameron Stanavige
44d995b6d5 unifyfs: add version 0.9.2 (#22390)
UnifyFS has been integrated with updated versions of its mochi-margo
dependency (and mochi-margo's mercury and libfabric dependencies).

This removes support for version 0.9.0
2021-04-21 10:20:41 -07:00
Harmen Stoppels
febeca2b05 Fix GCC with zstd on CCentOS 7 where it doesn't consider the lib64 directory (#23169) 2021-04-21 10:25:14 -06:00
Cyrus Harrison
a97ef832d9 conduit package: avoid issue with subclass case (#23156)
* avoid issue with subclass case

* catch named exception
2021-04-21 10:21:21 -05:00
Adam J. Stewart
8182994cee OpenCV: overhaul package (#22340) 2021-04-21 03:01:04 -06:00
Massimiliano Culpo
3325eff486 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-04-21 01:02:43 -07:00
Massimiliano Culpo
9a473d6ab3 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-04-21 01:02:10 -07:00
Brian Van Essen
4ee3934fb3 lbann: requirements of the new variants for the legacy versions (#23159)
Fixed the range of conduit for legacy versions of LBANN.
2021-04-20 18:33:05 -07:00
Chris White
58a897be0e check for package in spec not variant (#23157) 2021-04-20 18:13:15 -06:00
Glenn Johnson
09e80604f5 Catch rstudio based URL for cran attribute in create.py (#23072) 2021-04-20 19:03:42 -05:00
Brian Van Essen
fd9918ab6f Removed unnecessary code to put cuda_arch in DiHydrogen (#23158)
These were deprecated when the custom cuda_arch list was
removed.  Also fixed up the Aluminum dependencies for Hydrogen and
DiHydrogen.  Turns out that Aluminum v0.6.0 didn't have a correct
version in CMake and thus the interaction with older versions of
Hydrogen and DiHydrogen needed to be corrected.
2021-04-20 16:54:12 -07:00
Mansour Moufid
73d1c0911c libsigsegv: update to version 2.13. (#23155) 2021-04-20 22:39:10 +00:00
Vanessasaurus
b9a2b1c096 Fixing typo tty.fail -> tty.die and monitor docstrings (#23152)
This isn't a significant issue, but I noticed that the docstring incorrectly references "tty.fail" and I wanted to quickly fix it to reflect the correct command, tty.die. I also wanted to fix the docstrings to not be large clumps, to what @tgamblin suggested after I wrote this - having one line at the top that is a quick summary, and more verbose after that.
2021-04-20 14:53:30 -07:00
Ethan Stam
293c8bf621 Use xz instead of lzma. XZ utils provides lzma dev files (#23144) 2021-04-20 15:39:47 -04:00
Cameron Stanavige
5931995364 redset: add versions 0.0.5 and 0.0.4 (#22977)
Also update the url and hash of v0.0.3.
2021-04-20 12:04:58 -07:00
Cameron Stanavige
f4d8382a4f shuffile: add version 0.0.4 (#22976)
Also update the url and hash for v0.0.3.
2021-04-20 12:03:58 -07:00
KoyamaSohei
fa06dbb324 New package: pmemkv 2021-04-20 11:52:36 -07:00
Sinan
d0dcde7c69 Package libsecret: turn off gobj variant by default (#23070)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2021-04-20 11:49:05 -07:00
miheer vaidya
58789130a8 emacs package: add version @master (#23075) 2021-04-20 11:37:38 -07:00
Shintaro Iwasaki
a42c11ff0b argobots: support new variants (#23133) 2021-04-20 18:23:30 +00:00
iarspider
0fec636bf4 oracle-instant-client package: add dependency on libaio (#23080) 2021-04-20 11:22:51 -07:00
Massimiliano Culpo
750fa8d810 etsf-io: added missing mpi variant (#23083)
The variant was mentioned in a depends_on directive,
but never declared
2021-04-20 11:21:30 -07:00
Massimiliano Culpo
67afe7016f angsd: fix typo in variants (#23081) 2021-04-20 11:20:23 -07:00
Massimiliano Culpo
7dc9a0082b geopm: remove reference to nonexistent variant (#23084) 2021-04-20 11:19:29 -07:00
Glenn Johnson
afd69866d1 New package: r-mcmcpack (#23139) 2021-04-20 11:17:49 -07:00
Glenn Johnson
25a9a40a12 New package: r-missmethyl (#23140) 2021-04-20 11:16:59 -07:00
Glenn Johnson
639d66720f New package: r-projpred (#23141) 2021-04-20 11:15:40 -07:00
Massimiliano Culpo
8058aecd2a lammps: fix typo in variant name (#23085)
In two conflicts we used +adios instead of +user-adios
2021-04-20 11:55:29 -06:00
Brian Van Essen
5461411f21 Set the minimum version of NCCL for aluminum (#23135) 2021-04-20 09:49:13 -07:00
Glenn Johnson
7925705d1d r-experimenthub: new package (#23095) 2021-04-20 10:31:11 -06:00
Ryan Marcellino
f1d66b767d add py-setuptools dependency (#23120) 2021-04-20 11:13:42 -05:00
Tom Payerle
0c0fa26b4c New package: py-pymumps (#19526)
* New package: py-pymumps

Python bindings for MUMPS, a parallel sparse direct solver

* py-pymumps: fixing flake issues

* py-pymumps: fix dependency types

Following suggestion of @adamjstewart

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

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

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

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

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

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

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

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

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-04-20 11:12:13 -05:00
Matthieu Dorier
448ac2c68d json-c: added two versions and converted to cmake package (#23129) 2021-04-20 14:05:06 +02:00
Glenn Johnson
c10944e8fd r-bayesplot: new package (#23091) 2021-04-20 11:36:48 +02:00
Glenn Johnson
e005250555 r-illuminahumanmethylation450kmanifest: new package (#23100) 2021-04-20 03:36:32 -06:00
Glenn Johnson
89838bae1d r-champdata: new package (#23093) 2021-04-20 11:36:08 +02:00
Glenn Johnson
7b54389e12 r-compquadform: new package (#23094) 2021-04-20 11:35:47 +02:00
Glenn Johnson
5a3a014aae r-illumina450probevariants-db: new package (#23099) 2021-04-20 03:35:30 -06:00
Glenn Johnson
cbf7ad8cc0 r-fastica: new package (#23096) 2021-04-20 11:35:03 +02:00
Glenn Johnson
80e60ceb91 r-gamm4: new package (#23097) 2021-04-20 11:34:38 +02:00
Glenn Johnson
6cf91449d4 r-globaltest: new package (#23098) 2021-04-20 11:34:13 +02:00
Glenn Johnson
ba9eb19e5d r-illuminahumanmethylationepicanno-ilm10b4-hg19: new package (#23101) 2021-04-20 11:31:05 +02:00
Glenn Johnson
7ed05b2e5e r-illuminahumanmethylationepicmanifest: new package (#23102) 2021-04-20 11:26:47 +02:00
Tim Haines
a9862ba859 Boost: add v1.76.0 (#23118) 2021-04-20 11:24:27 +02:00
Glenn Johnson
c655e76109 r-prettydoc: new package (#23109) 2021-04-20 03:19:35 -06:00
Glenn Johnson
de004857ff r-pbivnorm: new package (#23108) 2021-04-20 03:19:15 -06:00
Glenn Johnson
6b2f63310e r-jade: new package (#23103) 2021-04-20 11:16:06 +02:00
Glenn Johnson
971e215e25 r-kpmt: new package (#23104) 2021-04-20 11:15:36 +02:00
Glenn Johnson
41e0d95e99 r-marray: new package (#23105) 2021-04-20 11:15:21 +02:00
Glenn Johnson
2f3ded37e1 r-shinythemes: new package (#23115) 2021-04-20 03:14:38 -06:00
Glenn Johnson
2b3efb40ca r-mcmc: new package (#23106) 2021-04-20 11:14:18 +02:00
Glenn Johnson
54f919018d r-optimx: new package (#23107) 2021-04-20 11:13:55 +02:00
Glenn Johnson
f14edd2a78 r-rpmm: new package (#23110) 2021-04-20 11:10:58 +02:00
Glenn Johnson
ccb0be2f7f r-rsconnect: new package (#23111) 2021-04-20 11:10:26 +02:00
Glenn Johnson
37263d7b71 r-ruv: new package (#23113) 2021-04-20 11:09:48 +02:00
Glenn Johnson
11c529fddc r-shinyjs: new package (#23114) 2021-04-20 11:09:19 +02:00
Glenn Johnson
f1acdf5f88 r-bridgesampling: new package (#23116) 2021-04-20 11:08:17 +02:00
Harmen Stoppels
173954e568 binutils: drop overly strict conflicts for assembler/linker (#23122)
This has been checked with gcc on ubuntu 16.04, which ships binutils 2.26 by
default, using spack's binutils 2.36. Only the combination +gas and ~ld
seems to trigger this incompatibility with debug symbols (gcc -g -O2
main.c fails with the error in the comment above the conflict)
2021-04-20 09:27:12 +02:00
Filippo Spiga
7e6b76301a Adding CUDA SDK 11.3.0 (#23051)
* Adding CUDA SDK 11.3.0

* Complying with Flake8 style checks
2021-04-20 00:07:10 -06:00
Dmitri Smirnov
6b33595ebf genfit: Add an older version, update dependencies (#20892)
- Add dependency on eigen package
- Add last version known to work with ROOT 6.16.00. Until recently GenFit lacked
any tagged versions, therefore, we use a commit hash
2021-04-19 20:17:38 -05:00
Sinan
2a7322c43a increment preferred version (#23077)
* increment preferred version

* move comment

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2021-04-19 19:25:43 +00:00
Massimiliano Culpo
6ecec24105 nektools: add 'visit' variant (#23088) 2021-04-19 20:37:55 +02:00
Glenn Johnson
7fffa4a1e6 r-brobdingnag: add new package (#23092) 2021-04-19 17:20:44 +00:00
Billae
8fce9bef7b add debug variant for paraview (#22900)
* add debug variant for paraview

* add advanced_debug variant to set optionnal debug flags

Co-authored-by: Billae <eloise.billae@gmail.com>
2021-04-19 12:52:26 -04:00
Massimiliano Culpo
c144222d54 catalyst: mpi variant was never declared (#23082) 2021-04-19 12:41:44 -04:00
Harmen Stoppels
2d5f519d9b patchelf: add a patch from official repository (#23063) 2021-04-19 12:30:11 +02:00
Harmen Stoppels
0f47464df4 binutils: add option for assembler, constrain 'as' and 'ld' variants (#23065)
Avoid that the user builds the assembler without the linker, because you
may run into problems when the host linker is old:

https://wiki.gentoo.org/wiki/Binutils_2.32_upgrade_notes/elfutils_0.175:_unable_to_initialize_decompress_status_for_section_.debug_info
2021-04-19 11:55:39 +02:00
Harmen Stoppels
618edbe5d5 q-e-sirius: add dependency on pkgconfig (#23035) 2021-04-19 11:50:52 +02:00
Harmen Stoppels
4d48e09116 findutils: add v4.7.0 and v4.8.0, drop v4.6.0 patches (#23031) 2021-04-19 11:50:01 +02:00
Morten Kristensen
e47b1ff95c py-vermin: add latest version 1.1.1 (#23071) 2021-04-18 19:00:16 +00:00
Robert Mijakovic
7e56973d22 py-sip: fix for missing flex/bison (#22870) 2021-04-18 09:16:08 -05:00
arjun-raj-kuppala
181341c8b3 AMD ROCm 4.1 release: Add new package - hipfft (#23061) 2021-04-17 09:00:44 +02:00
Hadrien G
a4157173a0 acts: add v7.00.0 (#23024) 2021-04-17 08:03:57 +02:00
Jen Herting
e32cb16b5a New package: r-assertive-data-us (#23048) 2021-04-16 21:49:00 -06:00
Jen Herting
d5f07126cb New package: r-assertive-data (#23050) 2021-04-16 21:43:11 -06:00
Jen Herting
c017e4e2b0 New package: r-assertive-data-uk (#23047) 2021-04-17 03:38:10 +00:00
Jen Herting
70fadef7c2 New package: r-caretensemble (#23043) 2021-04-16 22:30:24 -05:00
Jen Herting
3f94fee04d New package: r-ggthemes (#23045) 2021-04-16 21:28:05 -06:00
Jen Herting
bf24bb3154 New package: r-assertive-code (#23046) 2021-04-16 22:21:11 -05:00
Pramod Kumbhar
ed9ec30176 Make OpenJDK portable for Mac OS (#23054)
* Add 11.02 and 11.0.1 versions for Mac OS
 * Update `install` method compatible for Mac OS

See also discussion in #21173
2021-04-16 21:10:38 -05:00
Cyrus Harrison
d22f4fc983 bugfix for conduit py module install path (#23057)
* add lost logic for setting python install dir

* conduit: fix missing pass of python install path during build
2021-04-16 19:16:09 -06:00
Chris Richardson
117857ec72 Updates for xtensor to 0.23.4 (#22898)
* Updates for xtensor

* Update package.py
2021-04-16 18:08:46 -07:00
Jen Herting
2347b723cc New package: r-assertive-strings (#22936) 2021-04-16 18:07:08 -06:00
Harmen Stoppels
7e49e74abd Depend on binutils with ld and plugins in GCC (#22989) 2021-04-17 01:16:08 +02:00
Bryan Herman
fbecd6d876 allow any Python 3.7 patch version for vtk@8 (#22912) 2021-04-16 15:44:50 -07:00
Scott McMillan
4919eac5d1 Update VASP package for NVIDIA compilers (#23020)
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-04-16 16:43:10 -06:00
Scott McMillan
212d33ecda Update readline package for NVIDIA compilers (#23019)
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-04-16 16:37:10 -06:00
Cameron Stanavige
c69b750a52 kvtree: add variant and new releases (#22852)
This updates the url and adds three versions to the package. This also adds a variant for the KVTree "file_lock" cmake option.
2021-04-16 15:32:38 -07:00
Robert Brunner
1a85c3cd43 str: When building @develop branch, use @master for several dependencies. (#22916) 2021-04-16 15:29:55 -07:00
Robert Mijakovic
4cca69f4ed llvm: new version, 12.0.0 (#23033)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-04-16 15:15:18 -07:00
Nichols A. Romero
d0a79fd80d QE April 2021 (#23049) 2021-04-16 15:10:11 -07:00
Jen Herting
363fa4242d New package: r-deriv (#22781)
Co-authored-by: Alex C Leute <aclrc@rit.edu>
2021-04-16 14:53:00 -07:00
Chris Richardson
cc5c44a695 Update to 2.6.2 (#23017) 2021-04-16 16:09:01 -05:00
Robert Cohn
89e9e44bf2 add maintainers to legacy intel product pacakges (#23030) 2021-04-16 16:07:59 -05:00
Pramod Kumbhar
546581aefe fix openjdk build error: Prefix import missing (#23014)
fixes #23013
2021-04-16 16:03:56 -05:00
Harmen Stoppels
b1ec5154db LLVM needs ld gold with plugin support (#22988)
See https://llvm.org/docs/GoldPlugin.html
2021-04-16 19:48:32 +01:00
Sergey Kosukhin
5d88f439f3 claw: bugfix for Cray compiler (#23027) 2021-04-16 15:11:57 +00:00
Sergey Kosukhin
06ca7f4f3e numactl: enable building with pgi@20: (#23026) 2021-04-16 16:34:48 +02:00
Vanessasaurus
e6de04d149 docs: spack does not have a variant debug for libelf (#23021)
Signed-off-by: vsoch <vsoch@users.noreply.github.com>

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-04-16 09:29:42 +02:00
Olivier Cessenat
5d42054483 octave-optim: more precise dependency constraints (#22909) 2021-04-16 09:17:40 +02:00
Zack Galbreath
080d9b094f Return non-zero from CDash reporter when errors are detected (#22962) 2021-04-15 15:11:08 -06:00
KoyamaSohei
e8454e498a update libpmemobj-cpp (#22897) 2021-04-15 13:51:03 -07:00
Evan Bollig
1a32f4a08c Added thread-MPI to build. (#22992) 2021-04-15 08:14:24 -07:00
AMD Toolchain Support
92291120cb Amdfftw and fftw: add variants and conflicts (#22940)
FFTW:
(1) Condition to ensure Quad precision is not supported in MPI under FFTW base class

AMDFFTW:
(1) Support for debug and quad precision for aocc compiler
(2) Dedicated variant for threads for enabling SMP threads
(3) Restricted simd features to 'sse2', 'avx' and 'avx2'
(4) Removed float simd features
(5) If debug option is enabled, configure option will be appended with --enable-debug option
(6) Condition to ensure amd-fast-planner is supported from 3.0 onwards under amdfftw derived class
(7) New variant amd-fast-planner - This option will reduce the planning time without much tradeoff in the performance.  It is supported for single and double precisions.
(8) Removed following flags for amdfftw - '--enable-threads', '--enable-fma' and '--enable-sse'
2021-04-15 07:00:40 -07:00
Marijn van Vliet
4ea1774be3 MDSplus: neww package (#21957)
MDSplus is a set of software tools for data acquisition and storage and
a methodology for management of complex scientific data.

https://www.mdsplus.org

Co-authored-by: Marijn van Vliet <marijn.vanvliet@aalto.fi>
2021-04-15 14:52:03 +02:00
Harmen Stoppels
1222493055 Update versions of several dependencies of Spack (#22990)
curl v7.76.1
expat v2.3.0 
file v5.4.0
libbsd v0.11.3 + add libmd dependency
pcre2 v10.36
sqlite v3.35.4
2021-04-15 11:49:31 +00:00
finkandreas
b0e5cce9c1 suite-sparse: fix building with CUDA 11 (#22971) 2021-04-15 13:28:45 +02:00
Harmen Stoppels
2638ac15e0 git: enable build without perl (#23005) 2021-04-15 13:11:27 +02:00
finkandreas
6c3bc63c1d trilinos: fix build with cuda-11 and cxxstd=14 variant (#22972) 2021-04-15 09:54:39 +00:00
iarspider
c122a22592 CORAL: new package at v3.3.3 (#22867) 2021-04-15 11:31:24 +02:00
Sergey Kosukhin
334e4f8685 hdf5: libtool patch for NAG compiler (#22935) 2021-04-15 03:23:37 -06:00
Glenn Johnson
df84a6a853 Bedtools2: add dependencies needed for latest version (#22999) 2021-04-15 11:21:08 +02:00
Adam J. Stewart
43939622ac cgal: fix typo in variant name (#23001) 2021-04-15 11:17:56 +02:00
Vanessasaurus
7f91c1a510 Merge pull request #21930 from vsoch/add/spack-monitor
This provides initial support for [spack monitor](https://github.com/spack/spack-monitor), a web application that stores information and analysis about Spack installations.  Spack can now contact a monitor server and upload analysis -- even after a build is already done.

Specifically, this adds:
- [x] monitor options for `spack install`
- [x] `spack analyze` command
- [x] hook architecture for analyzers
- [x] separate build logs (in addition to the existing combined log)
- [x] docs for spack analyze
- [x] reworked developer docs, with hook docs
- [x] analyzers for:
  - [x] config args
  - [x] environment variables
  - [x] installed files
  - [x] libabigail

There is a lot more information in the docs contained in this PR, so consult those for full details on this feature.

Additional tests will be added in a future PR.
2021-04-15 00:38:36 -07:00
Gregory Becker
393a105c06 update tutorial public key 2021-04-15 00:04:29 -07:00
Gregory Becker
a3714b3292 updates for new tutorial
update s3 bucket
update tutorial branch
2021-04-15 00:04:29 -07:00
vsoch
613348ec90 Use gethostname() instead of getfqdn() for lock debug mode
In debug mode, processes taking an exclusive lock write out their node name to
the lock file. We were using `getfqdn()` for this, but it seems to produce
inconsistent results when used from within some github actions containers.

We get this error because getfqdn() seems to return a short name in one place
and a fully qualified name in another:

```
  File "/home/runner/work/spack/spack/lib/spack/spack/test/llnl/util/lock.py", line 1211, in p1
    assert lock.host == self.host
AssertionError: assert 'fv-az290-764....cloudapp.net' == 'fv-az290-764'
  - fv-az290-764.internal.cloudapp.net
  + fv-az290-764
!!!!!!!!!!!!!!!!!!!! Interrupted: stopping after 1 failures !!!!!!!!!!!!!!!!!!!!
== 1 failed, 2547 passed, 7 skipped, 22 xfailed, 2 xpassed in 1238.67 seconds ==
```

This seems to stem from https://bugs.python.org/issue5004.

We don't really need to get a fully qualified hostname for debugging, so use
`gethostname()` because its results are more consistent. This seems to fix the
issue.

Signed-off-by: vsoch <vsoch@users.noreply.github.com>
2021-04-15 00:01:41 -07:00
Gregory Becker
393542064d updates for new tutorial
update s3 bucket
update tutorial branch
2021-04-14 23:53:07 -07:00
Gregory Becker
c4141e16a7 update tutorial public key 2021-04-14 23:53:07 -07:00
AMD Toolchain Support
a306129fb0 fixing the config issue (#22930) 2021-04-14 21:30:49 -07:00
Nichols A. Romero
c011e2156f QMCPACK: add version 3.11.0 (#22978)
Additional changes:

* Boost dependency is only needed for build
* Make serial HDF5 the default
2021-04-14 14:52:03 -07:00
Sergey Kosukhin
05ebe52643 claw package: support for cce11 (#22986) 2021-04-14 14:49:48 -07:00
Andrew W Elble
5309417f19 gdrcopy: fix install of version >= 2.2 (#22987)
'prefix' option must be lowercase for versions >= 2.2
2021-04-14 14:34:47 -07:00
Erik Schnetter
51421100cf m4: Apply macOS patch also on Big Sur (#22993)
Without this patch, `m4` aborts on startup, as for the previous macOS releases.
2021-04-14 14:32:39 -07:00
Dr. Christian Tacke
066caa1d2a root: Add Version 6.24.00 (#22996)
* 6.24 needs nlohmann-json (and disable the builtin one)
* Move the git url to the top (allows easier building of
  tags, etc)
2021-04-14 14:32:07 -07:00
Andrew W Elble
7175c213b5 py-gym: new package (#22983) 2021-04-14 13:55:33 -05:00
Adam J. Stewart
2cc9b00d26 py-arcgis: add new package (#22837) 2021-04-14 09:36:13 -07:00
Harmen Stoppels
b6be3d0c0b q-e-sirius: migrate to CMake (#22984) 2021-04-14 15:42:30 +00:00
Simon Frasch
67c666efd0 spla: add version 1.4.0 (#22985) 2021-04-14 14:52:58 +02:00
Glenn Johnson
13de22a198 New package: mysqlpp (mysql++) (#22877) 2021-04-13 17:31:25 -07:00
arjun-raj-kuppala
f76952572f AMD ROCm 4.1.0 release: Bump up the version of migraphx recipe (#22889)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2021-04-14 01:22:46 +02:00
Glenn Johnson
dca4893c11 New package: lp-solve (#22876) 2021-04-13 15:48:40 -07:00
Glenn Johnson
7960c05922 mariadb-c-client: fix location of libraries (#22873)
Override 'libs' property to search for expected library name:
default Spack implementation can only locate libraries if they
match the package name.
2021-04-13 15:48:01 -07:00
Glenn Johnson
757528d5fb genemark-et package: add version 4.65 and new dependencies (#22966)
New version has new dependencies (which are also added here as new
packages):

* perl-mce
* perl-threads
* perl-thread-queue

The new version of genemark-et also has a different URL scheme.
2021-04-13 15:02:21 -07:00
Tamara Dahlgren
0618b43847 rdma-core bugfix: help CMake find Python dependency (#22891) 2021-04-13 14:48:20 -07:00
Sergey Kosukhin
1379bcf680 eccodes: add version 2.21.0 (#22901)
The CMake option ENABLE_PYTHON has been renamed to ENABLE_PYTHON2
starting version 2.20.0
2021-04-13 14:34:10 -07:00
Andrew W Elble
c98a0f0bb2 elmerfem: add version 9.0; fix version 8.4; add +gui variant (#22931)
* Add a +gui variant (default off) which adds dependencies on
  qt, paraview, and qwt
* Backport upstream patch when installing version 8.4 (this patch
  is already applied for versions >= 9.0)
2021-04-13 14:31:39 -07:00
Jen Herting
29f748993d New package: r-tester (#22945)
Co-authored-by: Alex C Leute <aclrc@rit.edu>
2021-04-13 14:19:15 -07:00
Glenn Johnson
ab87f7451a BRAKER package: Add version 2.1.6 (#22965) 2021-04-13 14:18:07 -07:00
Robert Mijakovic
1f91409368 git: add version 2.31.1 (#22974) 2021-04-13 13:59:31 -07:00
Robert Mijakovic
a7547d8ee9 Python: add versions 3.8.9, 3.9.4 (#22975) 2021-04-13 13:58:59 -07:00
Tiziano Müller
c6a08981a7 gaussian-view/vmd: add deps on X11/GL libraries (#22322)
Both binary packages would otherwise require X11 and Mesa libraries to
be installed on the host to run. Make sure they use the Spack-provided
libraries by patching the `rpath` via `patchelf`.
2021-04-13 13:42:00 -07:00
Tiziano Müller
dee030618f Documentation: update intel-parallel-studio instructions (#22248)
* Clarify stub compiler definition in compilers.yaml
* Update explanation of why stub compiler definition is needed
* Add note about required module definition when using Spack-installed
  intel-parallel-studio as intel-compiler
* Add suggestion about updating package config preferences based on
  choice of variants when installing intel-parallel-studio to avoid
  reinstallation
2021-04-13 13:31:14 -07:00
shanedsnyder
c801b0cb40 add darshan 3.3.0-pre1 pre-release (#22942) 2021-04-13 19:44:42 +00:00
G-Ragghianti
f2169e1f17 netlib-lapack: New versions (#22964) 2021-04-13 12:34:09 -07:00
Gregory Lee
6054a97d0a added dyninst 11.0.0 (#22949) 2021-04-13 12:14:06 -07:00
mic84
cb53259306 amrex: allow builds with clang and apple-clang (#22967) 2021-04-13 11:18:19 -07:00
Vicente Bolea
e020f343de VTKM: change preferred version (#22950) 2021-04-13 11:14:15 -07:00
Glenn Johnson
7a224c583a bcftools: add v1.12 (#22883) 2021-04-13 12:04:16 -06:00
Glenn Johnson
43ece950e5 htslib: add version 1.12 (#22882) 2021-04-13 10:56:48 -07:00
Harmen Stoppels
17ea01fbce bump cmake (#22961) 2021-04-13 09:46:19 -07:00
Adam J. Stewart
af52b8e29e py-pandas: add v1.2.4 (#22944) 2021-04-13 16:39:47 +00:00
Sreenivasa Murthy Kolam
6c632dad71 changes to enable rocm builds using git repo (#22943) 2021-04-13 15:36:34 +00:00
Harmen Stoppels
e7d392c49a Fix issue where binutils builds ld with ~ld (#22959)
Let's be very explicit and always add --enable or --disable.
2021-04-13 16:31:44 +02:00
Matthieu Dorier
e320b1d7e4 berkeley-db: making +cxx and +stl default to True (#22960) 2021-04-13 13:18:28 +00:00
Simon Frasch
c11af21da2 spfft: add version 1.0.2 (#22958) 2021-04-13 13:35:37 +02:00
Tiziano Müller
a580788d86 intel-parallel-studio: fix vtune installation for 2020+ (#22255)
vtune_amplifier got renamed to vtune_profiler for the 2020+ suite
2021-04-13 13:01:58 +02:00
Harmen Stoppels
0b9bd92511 SIRIUS and SpFFT versions need ROCm < 4.1 (#22957)
FindHIP.cmake script is not working for both 4.0 and 4.1.

It's fixed in their develop branches
2021-04-13 11:58:19 +02:00
Tiziano Müller
1f1b568e95 spglib: fix libs property for some multilib distros (#22956)
on multilib distros with lib/lib64 (rather than lib32/lib) the library ends up in a dir lib64/ instead of lib/, breaking the libs property (and the cp2k+spglib build)
2021-04-13 11:01:15 +02:00
yellowhat
bff713aeb2 gcc: add v10.3 (#22894) 2021-04-13 08:14:43 +00:00
Jen Herting
85e70600ed New package: r-tictoc (#22937) 2021-04-12 21:53:36 +00:00
Robert Mijakovic
a7d7f4e98a vtk: new version, 9.0.1 (#22880)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-04-12 15:52:07 -06:00
Jen Herting
62e256d995 New Package: r-assertive-types (#22933) 2021-04-12 21:48:13 +00:00
Harmen Stoppels
782a7dc690 Add new versions of patchelf (#22939) 2021-04-12 21:42:38 +00:00
Asher Mancinelli
e30aff9b6b Bump hiop version (#22884) 2021-04-12 14:30:46 -07:00
Glenn Johnson
976cf4496b samtools: add version 1.12 (#22885) 2021-04-12 14:28:04 -07:00
arjun-raj-kuppala
24f4a39d0e ROCm relase 4.1.0: Bump up version of rocm-validation-suite (#22946) 2021-04-12 20:46:10 +00:00
Pramod Kumbhar
96c984e0ce Add conflict for Mac OS for STAT package (#22919)
See https://github.com/LLNL/STAT/issues/19
2021-04-12 12:14:15 -07:00
jthies
087015e1ac packages/phist: new version 1.9.4 (#22922)
fix version 1.7.4 checksum
re 22758: phist-1.9.4 should resolve this issue, once confirmed I will add a patch for older versions.
2021-04-12 11:18:01 -07:00
Axel Huebl
982d3abcfd openPMD-api: 0.13.3 (#22910) 2021-04-12 18:10:52 +02:00
Peter Scheibel
51df9b0c9c 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-04-12 11:19:29 +02:00
Glenn Johnson
0b472a91d1 maker: add v3.01.03 (#22915) 2021-04-12 11:15:03 +02:00
Chris White
edcd0703df blt: add v0.4.0 (#22917) 2021-04-12 11:14:05 +02:00
Glenn Johnson
7c06b472f5 bart: update package (#22926)
- add version 0.7.00
- make build work with intel-oneapi-mkl
- Add myself as maintainer
2021-04-12 11:05:53 +02:00
Martin Pokorny
e3b0d7ce0e casacore: change FFT variants for correct, version dependent, FFT choices (#22925)
Required dependency on FFTW for casacore@3.4.0:; optional for
casacore@:3.4.0, depending selection of FFTPack
2021-04-12 11:03:24 +02:00
Glenn Johnson
e27aa39427 mumax: constrain go version (#22927)
Mumax will not build with go-1.16.
2021-04-12 11:01:27 +02:00
Seth R. Johnson
b7f74f6ef6 qt: restrict python version when +webkit (#22928)
See #17270.

```
make[2]: Entering directory `/tmp/vavolkl/spack-stage/spack-stage-qt-5.14.2-63dapppjbq6vqh3le7pazsprijls7cfl/spack-src/qtwebengine/src'
/bin/sh: -c: line 0: syntax error near unexpected token `('
/bin/sh: -c: line 0: `echo Modules will not be built. Python version 2 (2.7.5 or later) is required to build QtWebEngine.'
make[2]: *** [errorbuild] Error 1
```
2021-04-12 11:00:32 +02:00
thelfer
9e702a3d44 tfel: add missing variant (#22558)
The variant was used but not defined.
2021-04-12 06:58:10 +00:00
Martin Pokorny
06f291a3cd libsakura: Change precision for fftw dependency depending on libsakura version (#22924)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2021-04-12 08:38:18 +02:00
Massimiliano Culpo
215d194482 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-04-11 01:01:09 -06:00
Sreenivasa Murthy Kolam
291a2b541b fix 22802- fix incorrect arch list for rocblas (#22881) 2021-04-10 11:17:21 +02:00
Harmen Stoppels
391ab10337 Drop cxx berkeley-db (#22899) 2021-04-09 19:30:22 -07:00
Peter Scheibel
f624ce0834 Build process output: handle UTF-8 for python 3.x to 3.7 (#22888)
We set LC_ALL=C to encourage a build process to generate ASCII
output (so our logger daemon can decode it). Most packages
respect this but it appears that intel-oneapi-compilers does
not in some cases (see #22813). This reads the output of the build
process as UTF-8, which still works if the build process respects
LC_ALL=C but also works if the process generates UTF-8 output.

For Python >= 3.7 all files are opened with UTF-8 encoding by
default. Python 2 does not support the encoding argument on
'open', so to support Python 2 the files would have to be
opened in byte mode and explicitly decoded (as a side note,
this would be the only way to handle other encodings without
being informed of them in advance).
2021-04-09 18:10:01 -07:00
Jen Herting
8d52200cbc New package: r-ca (#22913)
Co-authored-by: Alex C Leute <aclrc@rit.edu>
2021-04-09 14:13:21 -06:00
Jen Herting
35ed2b26b5 New package: r-assertive-properties (#22914)
Co-authored-by: Alex C Leute <aclrc@rit.edu>
Co-authored-by: Alex Leute <acl2809@rit.edu>
2021-04-09 15:08:18 -05:00
Robert Mijakovic
9e6ef0e697 Flatbuffers: fixes for GCC 10+ (#22829) 2021-04-09 10:46:48 -07:00
Seth R. Johnson
ca5c2de517 swig: mark conflict and add maintainer (#22911)
Closes #22407
2021-04-09 17:38:49 +00:00
Olivier Cessenat
4d288a802e New Package: STRIPACK (#22544) 2021-04-09 09:26:58 -07:00
Danny Taller
e21e26094e CARE and dependencies fixed to work with +cuda (#22874) 2021-04-08 20:54:37 +00:00
Ryan Marcellino
1c5c53f505 new package: py-pytest-qt (#22878) 2021-04-08 15:07:28 -05:00
Maciej Wójcik
4adb76c4c5 Gromacs CUDA patch + some version constraints (#22851) 2021-04-08 09:52:41 -07:00
darmac
4807956977 py-mo-pack: add LDFLAGS to fix build error (#22747) 2021-04-08 11:06:57 -05:00
darmac
8a0aec4c4d py-pyfftw: add LDFLAGS to fix build error (#22745) 2021-04-08 11:06:23 -05:00
Jen Herting
44d2444854 openal-soft: new package (#22265) 2021-04-08 16:55:45 +02:00
lpoirel
0ecce5797e petsc: forward +metis to mumps (#21291)
Co-authored-by: lpoirel <lpoirel@users.noreply.github.com>
2021-04-08 16:50:58 +02:00
darmac
e0f810956c libmcrypt: new package (#22144) 2021-04-08 16:48:47 +02:00
Todd Gamblin
19b6d3589a bugfix: spack config blame should print all lines of config (#22598)
* bugfix: fix representation of null in spack_yaml output

Nulls were previously printed differently by `spack config blame config`
and `spack config get config`.  Fix this in the `spack_yaml` dumpers.

* bugfix: `spack config blame` should print all lines of config

`spack config blame` was not printing all lines of configuration because
there were no annotations for empty lines in the YAML dump output. Fix
this by removing empty lines.
2021-04-08 16:37:16 +02:00
Robert Pavel
f27fefc3c1 Exodusii: added versions up to v2021-04-05 (#22819)
Fixed previously unspecified python dependency and ensured that spack's
python is what exodus@v2016 uses. Also, in the process, identified many
missing versions
2021-04-08 16:36:41 +02:00
Robert Mijakovic
7170c666a0 hpctoolkit: fix for GCC 10 (#22864)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-04-08 08:31:17 -06:00
Tomoyasu Nojiri
a0f9ffd80c manta: make it build on aarch64 (#22630) 2021-04-08 16:16:30 +02:00
Cyrus Harrison
68cec598dc glfw: make it build on MacOS (#22626) 2021-04-08 14:14:14 +02:00
Harmen Stoppels
65563946e3 squashfs: ensure we install with required options (#22863)
Currently the make install step uses the default variables, which causes
things to rebuild with default options.
2021-04-08 14:11:40 +02:00
lorddavidiii
5b77046e20 ncurses: add determine_variants for abi version (#22647) 2021-04-08 14:10:36 +02:00
Toyohisa Kameyama
d805be02ec autotools: ensure config.guess and config.sub are writeable before patching them (#19837) 2021-04-08 14:07:43 +02:00
iarspider
da88c0e6ff Add slightly older version of Oracle Instant Client (#22862) 2021-04-08 13:59:42 +02:00
darmac
70e132dd9a collectd: add v5.12.0 (#22746)
Changed url to use release tarball instead of repo snapshot
as this permits to drop build deps
2021-04-08 13:47:55 +02:00
Adam J. Stewart
cca5f260e5 py-python-certifi-win32: add new package (#22843) 2021-04-08 13:33:04 +02:00
Filippo Spiga
5500eed60c NVHPC: add v21.3 (#22860) 2021-04-08 09:06:53 +00:00
Scott McMillan
30153b1064 tar: make it build with nvhpc (#22853)
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-04-08 10:57:05 +02:00
Scott McMillan
2a7f588612 kim-api: support the NVIDIA compiler (#22857)
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-04-08 10:55:32 +02:00
Adam J. Stewart
e38aac8cb6 py-wincertstore: add new package (#22844) 2021-04-08 02:55:10 -06:00
Glenn Johnson
8246e4dde0 Patch to fix mariadb and mariadb-c-client packages for cmake-3.20 (#22854) 2021-04-08 10:50:17 +02:00
Vicente Bolea
f1f5f9bf5b vtkm: add v1.6.0-rc1, make v1.5.1 preferred (#22855)
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-04-08 10:45:05 +02:00
Dr. Christian Tacke
7e17fb1ae1 root: add conflict with intel-oneapi-tbb (#22850)
As originally noted, ROOT 6.22 does not work with intel's
TBB >= 2021.1. So we need to also conflict with the newer
package (intel-oneapi-tbb)
2021-04-08 10:38:46 +02:00
Sreenivasa Murthy Kolam
43bdbc8234 bumpup version for rocm-debug-agent,rocprofiler,rocsolver for rocm-4.… (#22722) 2021-04-07 21:16:56 +00:00
Kelly (KT) Thompson
33bcc0ac89 [package][new version] Provide draco-7.10.0. (#22846) 2021-04-07 21:03:46 +00:00
Sreenivasa Murthy Kolam
56418bac39 bump up version for rccl for rocm-4.1.0 release (#22762) 2021-04-07 22:55:20 +02:00
Adam J. Stewart
77a211dc46 py-requests-ntlm: add new package (#22842) 2021-04-07 13:53:58 -07:00
Dan Bonachea
f89b5e1e84 Add new UPC++ release version (#22849) 2021-04-07 20:36:45 +00:00
Martin Pokorny
355b7787d4 Remove ~mpi variant from fftw dependency (#22848) 2021-04-07 13:27:42 -07:00
Adam J. Stewart
e349ae26fc py-ntlm-auth: add new package (#22841) 2021-04-07 12:25:22 -07:00
Asher Mancinelli
f365cb4535 Add ExaGO develop branch (#22847) 2021-04-07 18:48:35 +00:00
Robert Mijakovic
9c86e919cd FFTW: update pfftw patch for FFTW 3.3.9 (#22801) 2021-04-07 11:23:07 -07:00
Glenn Johnson
e9c4123f97 Merge py-uproot4 into py-uproot (#22831) 2021-04-07 13:20:36 -05:00
Adam J. Stewart
995b6556c9 py-lerc: add new package (#22839) 2021-04-07 11:15:26 -07:00
Adam J. Stewart
868bc1db0a py-keyring: add new package (#22838) 2021-04-07 11:07:05 -07:00
Adam J. Stewart
86055cdbdd py-ujson: add new version (#22835) 2021-04-07 11:03:39 -07:00
Adam J. Stewart
ae43ecc7ba ImageMagick: specify how to find libraries (#22833) 2021-04-07 10:50:37 -07:00
Adam J. Stewart
e14e6fbbd2 py-importlib-metadata: add new version (#22836) 2021-04-07 10:46:01 -07:00
Erik Schnetter
db0f181ec1 New package: mmv (#22815) 2021-04-07 10:44:00 -07:00
Robert Mijakovic
64d8e4f5ad R: new version, 4.0.5 (#22840)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lxp.lu>
2021-04-07 10:41:13 -07:00
Erik Schnetter
c843a5b585 ssht: New versions 1.3.6, 1.3.7 (#22832) 2021-04-07 11:40:10 -06:00
Glenn Johnson
ef188a1e12 new package: gatetools (#22659)
* new package: gatetools

This PR adds the gatetools package and dependencies. The gatetools
package is a set of command line tools for gate. Since it is primarily a
CLI, although python modules can be loaded, it is named gatetools as
opposed to py-gatetools.

* Fix quote characterss to avoid test error

* Found another UTF8 character that was tripping up tests

* Another UTF-8 character to replace

* Remove py-python-box dependency and package file

* Make numpy a variant

- py-setuptools needs to be a run dependendency
  This was masked by py-numpy having py-setuptools as a run dependency.

* Add missing build depency on py-pytest-runner
2021-04-07 17:39:53 +00:00
Glenn Johnson
7c87ebeb91 Some improvements to gate package (#22656)
- set constraint for geant4 to version 10.6 as gate does not work with
  geant-10.7+
- set GATE_USE_ITK: Although RTK is built under ITK, there are some ITK
  macros that need to be set explicitly.
2021-04-07 12:13:05 -05:00
Sergey Kosukhin
253c0d0ebb hdf5: avoid compilation with -I/usr/include (#22808) 2021-04-07 09:49:16 -07:00
Vasily Danilin
ccc90e3a79 Integrate oneAPI 2021.2.0 release (#22821) 2021-04-07 09:44:12 -07:00
Robert Cohn
c8b4414230 [oneapi] fix mkl deps, externally installed, and docs (#22607) 2021-04-07 10:31:08 -06:00
Evili del Rio
6c16f5c5d5 Py py spy add libunwind 1 (#22827)
* Add missing libunwarp dependency

py-py-spy fails to build with:
  = note: /bin/ld: cannot find -lunwind
          /bin/ld: cannot find -lunwind-ptrace
          /bin/ld: cannot find -lunwind-x86_64
          collect2: error: ld returned 1 exit status

* Correct libunwind instead of libunwarp

* Change libunwind dependency to unwind
2021-04-07 16:10:08 +00:00
Evili del Rio
cfbb4abb79 Update package.py (#22826) 2021-04-07 10:44:02 -05:00
Mosè Giordano
ad3eb98c4b libblastrampoline: Add version 3.0.4 (#22830) 2021-04-07 15:33:27 +00:00
Cameron Rutherford
c4a83aa22c Create ExaGO Package (#22734)
Co-authored-by: Asher Mancinelli <asher.mancinelli@pnnl.gov>
2021-04-07 13:48:46 +02:00
Julius-Plehn
41ed95dbdf iozone: adds 3.491 and fixes permissions (#22817) 2021-04-07 12:15:21 +02:00
Severin Strobl
b7d72e26bb otf2: patch for uninitialized variable (#22719)
As pointed out in https://github.com/STEllAR-GROUP/hpx/issues/5239,
there is an issues in OTF2 <=2.2 where a variable is not properly
initialized. As currently no release of OTF2 is available fixing this,
the patch should be applied.
2021-04-07 11:55:24 +02:00
Vasileios Karakasis
58edc361be ReFrame: add v3.5.1 and v3.5.2 (#22820) 2021-04-07 09:06:34 +00:00
Scott McMillan
51ac05483d Update packages for NVIDIA HPC SDK 21.1 (#21975)
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-04-07 09:41:43 +02:00
arjun-raj-kuppala
c188575cfe roctracer-dev: add v4.1.0 (#22812) 2021-04-07 09:26:01 +02:00
Harmen Stoppels
3caf531f04 Add libxc 5.1.3 (#22816) 2021-04-07 09:23:26 +02:00
Brian Van Essen
4d417dcf2d lbann: remove the specification of the high performance linkers (#22818)
Allow the user to put them on the command line.
2021-04-07 09:14:06 +02:00
archxlith
97d237dafa py-scikit-image: add new version (#22363)
* [py-scikit-image] Added py-setuptools back into depends_on. Otherwise it is putting skimage in scikit_image-version-pyX.Y-arch.egg dir under site-packages

* [py-scikit-image] Added latest version

* [py-scikit-image] Added py-numpy version dependency when package version greater than 0.18

* [py-scikit-image] Updates to python dependency

* Fix typo

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-04-07 03:32:38 +00:00
Adam J. Stewart
dbdb72d0ea py-statsmodels: add v0.12.2 (#22620) 2021-04-06 14:44:33 -07:00
Robert Mijakovic
50f5ec7abf valgrind: add version 3.17.0 (#22752) 2021-04-06 13:57:48 -07:00
iarspider
0166f7db08 New package: Oracle instant client (#22797) 2021-04-06 13:56:33 -07:00
darmac
23422dcc59 tcpdump: add version 4.99.0 (#22803) 2021-04-06 13:33:43 -07:00
Xavier Delaruelle
9505af42ff environment-modules: add version 4.7.1 (#22811) 2021-04-06 20:23:01 +00:00
Desmond Orton
838bba70c6 salmon: New patch (#22686) 2021-04-06 12:37:32 -07:00
Glenn Johnson
442241d477 new package: py-python-box (#22814) 2021-04-06 14:36:53 -05:00
Harmen Stoppels
a989521052 Squashfuse: Enable or disable static and shared libs, and allow min size builds too, useful for appimages (#22669)
* Enable or disable static and shared libs, and allow min size builds too, useful for appimages

* Fix master version
2021-04-06 14:00:32 -05:00
Harmen Stoppels
bbc666a1d2 meson: added variants, changed defaults for the build system (#22715)
- Use debugoptimized as default build type, just like RelWithDebInfo for cmake
- Do not strip by default, and add a default_library variant which conveniently support both shared and static
2021-04-06 17:57:31 +02:00
Jen Herting
a4c3bc9893 New package: py-ilmbase (#22783)
* [py-ilmbase] created template

* [py-ilmbase] added dependencies and configuration options as necessary

* [py-ilmbase] added homepage and description removed fixmes

* [py-ilmbase] shortened lines for flake8
2021-04-06 09:55:40 -05:00
Robert Mijakovic
b6668a1146 paraview: adds new cuda target, ampere (#22750)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-04-06 16:54:35 +02:00
Seth R. Johnson
1ed44f20f2 m4: force path where to look for autoconf (#22765)
Uses the M4 environment variable
2021-04-06 10:21:38 +00:00
Michael Kuhn
85cdb3d250 xfsprogs: add 5.11.0 and fix build with newer versions of gcc (#22665)
xfsdump depends on an older version of xfsprogs that does not build with
recent versions of gcc.
2021-04-06 11:21:48 +02:00
ravil-mobile
8b4cf24ba7 hipsycl: add v0.9.1 which partially implements SYCL 2020 standard (#22770)
Co-authored-by: ravil <ravil.dorozhinskii@tum.de>
2021-04-06 11:21:05 +02:00
Gregory Lee
5b1fa20f87 stat: deprecate versions prior to 4.0 (#22650) 2021-04-06 11:16:54 +02:00
Sergey Kosukhin
47c13bc6ca cdo: help libtool to find the correct paths to libraries (#22670)
- Add a maintainer
- Help libtool to find the correct paths to libraries
- Handle externals from system directories
- Enable eccodes for older versions
2021-04-06 11:15:29 +02:00
Gilles Grospellier
fbed5d1eb5 dotnet-core-sdk: add v5.0.4 and v3.1.13. (#22217) 2021-04-06 03:06:50 -06:00
Glenn Johnson
a586b8df20 itk: add v5.1.2 (#22655) 2021-04-06 11:03:53 +02:00
Harmen Stoppels
d2bf74242e libtree: add v1.2.1 (#22795) 2021-04-06 09:01:08 +00:00
Thomas Gruber
cac8646e1c likwid: add v5.1.1 (#22672) 2021-04-06 10:59:38 +02:00
Robert Mijakovic
f9837d8c66 qwt: add v6.1.6 (#22713)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-04-06 10:45:09 +02:00
Robert Mijakovic
1424dc6147 rdma-core: add v34.0 (#22710)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-04-06 10:44:46 +02:00
Axel Huebl
710d096b43 Update mailmap (#22739) 2021-04-06 10:32:35 +02:00
darmac
239be21391 libpcap: add v1.10.0, v1.9.1 (#22741) 2021-04-06 10:31:15 +02:00
darmac
4668f34682 capnproto: add v0.8.0 (#22743) 2021-04-06 10:23:49 +02:00
Harmen Stoppels
0fcda35a71 spack location: fix usage without args (#22755) 2021-04-06 08:17:58 +00:00
Robert Mijakovic
8c5f4c9c94 spark: add v3.1.1, v3.0.2, v3.0.2, v2.4.7 (#22753)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-04-06 10:14:28 +02:00
Tiziano Müller
d0a2e354bb anaconda3: add v2020.11 (#22576) 2021-04-06 10:02:57 +02:00
Jen Herting
91bd16a850 r-assertive-base: new package (#22780)
Co-authored-by: Alex C Leute <aclrc@rit.edu>
2021-04-06 09:46:06 +02:00
Amiya Maji
7e6386803e fltk: add explicit dependency on gl and a variant to activate it (#22761)
* The fltk package can build libraries with opengl support. By default, the configure script looks for opengl headers in the sytem include paths. If 'devel' packages have not been installed on the system it omits the 'ftlk_gl.so' library. This can break packages like 'octave' which expects 'fltk' to have opengl support and looks for the library 'fltk_gl'.

Make opengl support explicit in fltk by adding a dependency on 'gl' and adding a new variant of the same name 'gl' (default On).

With these modifications 'fltk_gl' and 'octave' build successfully on CentOS8.

The default behavior is to always enable opengl.

https://www.fltk.org/doc-1.3/intro.html
2021-04-06 09:45:00 +02:00
Greg Sjaardema
8dab9f0a81 seacas: add v2021-04-05 (#22784) 2021-04-06 09:41:11 +02:00
Andrew W Elble
a57f56c5b9 openmpi: allow to build with ^slurm ~pmi for >3.0.0 with PMIx (#22086) 2021-04-06 09:40:33 +02:00
Brian Van Essen
023524365c hydrogen, lbann: forward the CXXFLAGS to the HIP_HIPCC_FLAGS variable. (#22744) 2021-04-06 09:38:37 +02:00
Harmen Stoppels
802f4d9ffa zstd: add v1.4.9, switch to cmake to configure more easily (#22668)
Also:
- Add variants to control the build
- Add a maintainer
- Add master version
2021-04-06 09:37:08 +02:00
Robert Mijakovic
fc5a50aa83 hdf5: patch for BOZ literal constant error when compiled with GCC 10. (#22509) 2021-04-06 01:13:11 -06:00
Seth R. Johnson
26c7f02873 doxygen: add version restriction (#22773)
This triggered on my mac because clingo seems to have bootstrapped a
very old version distributed by apple.
2021-04-06 09:09:01 +02:00
Andrew W Elble
e5c7723276 stress-ng: new package (#22777) 2021-04-06 09:07:56 +02:00
Harmen Stoppels
eb6f4c740b Add patch for latest hwloc@:1 to locate ncurses (#22776)
* Add patch for latest hwloc@:1 to locate ncurses

This way we don't have to depend on ncurses~termlib, which may run into
issues when another package explicitly depends on ncurses+termlib

* Move termcap to the back, cause it's a system symlink on macos and isn't set by spack
2021-04-06 09:00:22 +02:00
Andrew W Elble
6e48e29c75 gpu-burn: add v1.1 and "master" (#22778) 2021-04-06 08:57:03 +02:00
Desmond Orton
1c0230f7d0 rnaquast: add new package (#22648) 2021-04-06 08:49:58 +02:00
Glenn Johnson
65b03a9f03 trf: add v4.09.1 and other updates (#22782)
- add new version, 4.09.1
- use github url
- convert to autotools package
- deprecate version 4.07b: This version requires manual download and is
  a binary only installation.
2021-04-06 08:48:04 +02:00
Glenn Johnson
6df1b509fa repeatmasker: update and fix package (#22785)
- version 4.0.7 was not building
- version 4.0.9 was not setting search correctly due to an extra "return"
  in config
- added version 4.1.2-p1
- new version needs py-h5py
- new version does not need utf8 patch
- url format changed
2021-04-06 08:35:51 +02:00
Glenn Johnson
a4f19853b8 hmmer: add v3.3.2 (#22787) 2021-04-06 08:26:22 +02:00
Andrew W Elble
b924440f79 exabayes: add v1.5.1 (#22789) 2021-04-06 08:11:48 +02:00
Adam J. Stewart
3336fff229 Remove erroneous warnings about quotes for from_source_file (#22767) 2021-04-06 07:13:54 +02:00
Axel Huebl
c1cf643780 libfabric: add v1.12.1 (#22790)
Add latest patch release to fix build issues with unconditional
usage of `infiniband/ib.h`
2021-04-06 07:06:01 +02:00
Valentin Volkl
1908e6834d qt: backport build issue fix on 5.14 due to isystem (#22772) 2021-04-04 09:55:42 -04:00
Cameron Stanavige
bfb3b55414 rankstr: add v0.0.3 (#22763) 2021-04-03 21:11:37 +02:00
Jen Herting
3a36ca4b36 New package: r-anytime (#22624)
Co-authored-by: Alex C Leute <aclrc@rit.edu>
2021-04-02 21:09:50 -05:00
Jen Herting
b51363e0ac New package: r-pheatmap (#22617)
Co-authored-by: Alex C Leute <aclrc@rit.edu>
2021-04-02 20:57:09 -05:00
Jen Herting
0d4e0b8198 New package: r-amelia (#22623)
Co-authored-by: Alex C Leute <aclrc@rit.edu>
2021-04-02 20:54:29 -05:00
Zack Galbreath
7cc2db1b4e Check against a list of known-broken specs in ci generate (#22690)
* Strip leading slash from S3 key in url_exists()

* Check against a list of known-broken specs in `ci generate`
2021-04-02 17:40:47 -06:00
Harmen Stoppels
69d123a1a0 Document unzip (#22723) 2021-04-02 20:56:24 +00:00
Desmond Orton
76b54816cf New package py-gffutils (#22552) 2021-04-02 22:33:20 +02:00
Axel Huebl
2dbaf23fca Ascent: CUDA ~shared (#22760)
Add a conflict for CUDA and shared libraries in Ascent.
The new concretizer will automatically change the default for
Ascent in that case. Until then, dependencies like WarpX need
to hint the `~shared` wish explicitly.
2021-04-02 12:16:27 -07:00
Axel Huebl
5a75f7e0d6 WarpX: 21.04 (#22740)
Update WarpX: add first tagged version.
2021-04-02 14:37:56 -04:00
Robert Mijakovic
d978d72e19 py-wheel: new version (#22751)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-04-02 09:56:16 -05:00
iarspider
9f90659aa7 igprof: new package (#22666) 2021-04-02 15:41:58 +02:00
darmac
d528ff6e5a sandbox: add build dependency on gawk (#22748) 2021-04-02 14:45:05 +02:00
Thilina Rathnayake
bbaf6e05d2 nekRS: new package (#22519)
This initial package recipe uses a custom-built wrapper to drive an internal CMake file. Since nekRS also includes built-in copies of several dependencies such as BLAS and HYPRE, it cannot be linked with other such dependencies. However, to work with the `ceed` metapackage, we cannot add `^blas` conflicts to nekRS.

See https://github.com/spack/spack/pull/22519 for discussion.
2021-04-02 07:50:31 -04:00
Todd Gamblin
0d387678b7 concretizer: improve display of optimization criteria (#22433)
By default, clingo doesn't show any optimization criteria (maximized or
minimized sums) if the set they aggregate is empty. Per the clingo
mailing list, we can get around that by adding, e.g.:

```
 #minimize{ 0@2 : #true }.
```

for the 2nd criterion. This forces clingo to print out the criterion but
does not affect the optimization.

This PR adds directives as above for all of our optimization criteria, as
well as facts with descriptions of each criterion,like this:

```
opt_criterion(2, "number of non-default variants")
```

We use facts in `concretize.lp` rather than hard-coding these in `asp.py`
so that the names can be maintained in the same place as the other
optimization criteria.

The now-displayed weights and the names are used to display optimization
output like this:

```console
(spackle):solver> spack solve --show opt zlib
==> Best of 0 answers.
==> Optimization Criteria:
  Priority  Criterion                                            Value
  1         version weight                                           0
  2         number of non-default variants (roots)                   0
  3         multi-valued variants + preferred providers for roots    0
  4         number of non-default variants (non-roots)               0
  5         number of non-default providers (non-roots)              0
  6         count of non-root multi-valued variants                  0
  7         compiler matches + number of nodes                       1
  8         version badness                                          0
  9         non-preferred compilers                                  0
  10        target matches                                           0
  11        non-preferred targets                                    0

zlib@1.2.11%apple-clang@12.0.0+optimize+pic+shared arch=darwin-catalina-skylake
```

Note that this is all hidden behind a `--show opt` option to `spack
solve`. Optimization weights are no longer shown by default, but you can
at least inspect them and more easily understand what is going on.

- [x] always show optimization criteria in `clingo` output
- [x] add `opt_criterion()` facts for all optimizationc criteria
- [x] make display of opt criteria optional in `spack solve`
- [x] rework how optimization criteria are displayed, and add a `--show opt`
      optiong to `spack solve`
2021-04-02 08:54:49 +00:00
Chris White
45c616529c axom: convert to Cached CMakePackage
This updates axom to use the new CachedCMakePackage superclass.

Co-authored-by: Greg Becker <becker33@llnl.gov>
2021-04-01 20:06:39 -07:00
Greg Becker
fb062428f9 add CachedCMakePackage for using CMake initial config files
CachedCMakePackage is a CMakePackage subclass for using CMake initial
cache. This feature of CMake allows packages to increase reproducibility,
especially between spack builds and manual builds. It also allows
packages to sidestep certain parsing bugs in extremely long cmake
commands, and to avoid system limits on the length of the command line.

Co-authored by: Chris White <white238@llnl.gov>
2021-04-01 20:06:39 -07:00
Todd Gamblin
fc48c63355 Revert "CachedCMakePackage for using *.cmake initial config files (#19316)""
This reverts commit 7daf582357.
2021-04-01 20:06:39 -07:00
Robert Pavel
3f7c111e29 Added ML Suite to ECP Proxy App Suite (#22728) 2021-04-01 17:52:17 -07:00
Shintaro Iwasaki
7e6048fef5 argobots: add Argobots 1.1 and 1.0.1 (#22729) 2021-04-01 18:49:11 -06:00
Jose E. Roman
49b222442f Update SLEPc and slepc4py to version 3.15 (#22714)
Co-authored-by: Satish Balay <balay@mcs.anl.gov>
2021-04-01 17:38:47 -07:00
AMD Toolchain Support
252f42f115 Fix for static library export issue in blis package (#22673) 2021-04-01 16:57:46 -07:00
Amiya Maji
73a4a5d394 gdal package needs to import the 'os' module (#22731)
* 'gdal+java' build needs to import the 'os' module (line 191).

* Make style-check happy.
2021-04-01 17:52:04 -06:00
Michael Kuhn
c89fa98b16 Fix pkgconfig dependencies (#22702)
pkgconfig is the correct virtual provider.
2021-04-01 23:45:01 +00:00
Simon Bolding
9c139bf7a2 mpark-variant: ICC Patch (#22727)
* Add patch for Intel C++ compiler

- On some machines (in particular MacOSX Catalina), the icpc in some way
utilizes the preprocessor of the associated "developer tools" used by
icpc. This leads to, in some cases, a preprocessor claiming support for
__tuple_element_packs, even though icpc (as of version 21.1) can't
actually parse such code. Just use the MPARK_TUPLE_ELEMENT_PACK impl
with __icc until icpc supports it, to avoid issues with developer tools
that are untested.
- The same patch has been PRed against mpark-variant
2021-04-01 23:15:25 +00:00
mic84
2ae7e25501 amrex: new version 21.04 (#22730) 2021-04-01 14:11:14 -07:00
Elizabeth Fischer
82e97124c8 bugfix: compiler wrappers should handle extra spaces between arguments (#22725)
In the face of two consecutive spaces in the command line, the compiler wrapper would skip all remaining arguments, causing problems building py-scipy with Intel compiler. This PR solves the problem.

* Fixed compiler wrapper in the face of extra spaces between arguments

Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2021-04-01 18:39:06 +00:00
Daniel Arndt
cf1b8dd72b xSDK: add ArborX (#22619) 2021-04-01 11:59:05 -05:00
iarspider
1e70ee38a2 New version of OpenLoops (#22240)
New version of OpenLoops; new list of processes; update lcg process collection
Add script to scrape openloops website for process list
2021-04-01 17:06:03 +02:00
Nick Forrington
e22b2ff5c9 arm-forge: cleanup and upgrade to forge v21.0 (#22015)
Backwards incompatible cleanup to target single-tarball-per-arch builds
going forwards.

* Replace per-distro versions with new per-arch builds, and add
  url_for_version to avoid specifying per tarball.
* Customise environment setup to avoid adding lib to LD_LIBRARY_PATH.
* Update homepage and licensing URLs.
* Avoid shell interpretation when running textinstall.sh.
* Added NickRF as maintainer.
2021-04-01 15:47:32 +02:00
iarspider
034211f993 Extra environment variables for Qt (#22717) 2021-04-01 12:40:56 +00:00
Chris Richardson
5ed00560cd Fenicsx package updates for basix install (#22679)
Co-authored-by: Garth N. Wells <gnw20@cam.ac.uk>
2021-04-01 14:35:01 +02:00
Robert Mijakovic
efaa2c160f py-cython: new version (#22712)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-04-01 14:28:12 +02:00
William Downs
db87f62aa5 gchp: add version 13.0.1 and remove release candidate (#22572) 2021-04-01 14:07:13 +02:00
Rémi Lacroix
67f182bb6d MUMPS: Various improvements to the package (#22575)
Use `conflicts` directive whenever possible.
This allows failing early when conflicting variants are used.

Do not silently ignore `+parmetis` variant when `~metis`.
Instead throw an error during concretization.

Simplify the "Makefile.inc" generation.
This will make easier to add new variants in the future.
2021-04-01 14:06:22 +02:00
Michael Kuhn
4a059aad17 libfabric: add 1.12.0 (#22694) 2021-04-01 06:01:19 -06:00
Michael Kuhn
76424c1a91 sqlite: add 3.35.3 (#22697) 2021-04-01 13:57:20 +02:00
Michael Kuhn
2556490cb0 leveldb: add 1.23 (#22695) 2021-04-01 13:56:25 +02:00
Michael Kuhn
5a10c6f822 glib: add 2.66.8 (#22691) 2021-04-01 13:44:09 +02:00
Amiya Maji
09dcb16a70 qt: restrict patch to 5.12.7 (#22705) 2021-04-01 04:38:06 +00:00
Michael Kuhn
bfece29858 pkgconf: add 1.7.4 (#22696) 2021-03-31 21:37:02 -07:00
Michael Kuhn
f7d7cbfacf readline: add 8.1 (#22698) 2021-03-31 21:36:40 -07:00
Michael Kuhn
487ea02044 tar: add 1.34 (#22700) 2021-03-31 21:36:20 -07:00
Michael Kuhn
2922068fdc curl: add 7.76.0 (#22693) 2021-03-31 21:36:01 -07:00
Anthony J. Zukaitis
1c084cd4dd Added version patch for 1.4.0 tag on mpark-variant (#22496)
* Added version patch for 1.4.0 tag on mpark-variant

Redirected urls to git and github tags.

* Updated to commit hashes

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

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>

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

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>

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

Co-authored-by: Anthony J Zukaitis <zukaitis@lanl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-03-31 22:35:00 -06:00
Michael Kuhn
4f2a972c2f util-linux(-uuid): add 2.36.2 (#22701) 2021-03-31 21:32:07 -07:00
takanori-ihara
3e532db04d fujitsu-ssl2: Add the headers method (#22629)
* fujitsu-ssl2: Add the headers method

* fujitsu-ssl2: Fix for comments

* fujitsu-ssl2: Fix for comments
2021-04-01 03:59:10 +00:00
Greg Becker
7daf582357 CachedCMakePackage for using *.cmake initial config files (#19316)"
Original commit message:
This feature of CMake allows packages to increase reproducibility, especially between
Spack- and manual builds. It also allows packages to sidestep certain parsing bugs in
extremely long ``cmake`` commands, and to avoid system limits on the length of the
command line.

Adding:
Co-authored by: Chris White <white238@llnl.gov>

This reverts commit c4f0a3cf6c.
2021-03-31 18:38:22 -07:00
Chris White
c4f0a3cf6c Revert "CachedCMakePackage for using *.cmake initial config files (#19316)"
This reverts commit 764c170530.
2021-03-31 18:34:45 -07:00
Sreenivasa Murthy Kolam
3b59af8b2b Changes to packages for rocm-4.1.0 release (#22687) 2021-04-01 00:30:56 +00:00
Greg Becker
764c170530 CachedCMakePackage for using *.cmake initial config files (#19316)
CachedCMakePackage is a specialized class for packages built using CMake initial cache.

This feature of CMake allows packages to increase reproducibility, especially between
Spack- and manual builds. It also allows packages to sidestep certain parsing bugs in
extremely long ``cmake`` commands, and to avoid system limits on the length of the
command line.
2021-03-31 23:55:19 +00:00
Satish Balay
6242f102fb petsc@3.15.0, py-petsc4py@3.15.0 (#22688)
* petsc@3.15.0, py-petsc4py@3.15.0

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

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-03-31 23:04:23 +00:00
Asher Mancinelli
3205c6f940 Bump HiOp version to v0.4 (#22689) 2021-03-31 22:50:14 +00:00
Adam J. Stewart
315124e219 py-matplotlib: add v3.4.1 (#22680) 2021-03-31 16:01:16 -06:00
Todd Gamblin
cf9adfd748 hotfix: make ifx work with autoconf <= 2.69 in Spack (#22683)
Autoconf before 2.70 will erroneously pass ifx's -loopopt argument to the
linker, requiring all packages to use autoconf 2.70 or newer to use ifx.

This is a hotfix enabling ifx to be used in Spack. Instead of bothering
to upgrade autoconf for every package, we'll just strip out the
problematic flag if we're in `ld` mode.

- [x] Add a conditional to the `cc` wrapper to skip `-loopopt` in `ld`
      mode. This can probably be generalized in the future to strip more
      things (e.g., via an environment variable we can constrol from
      Spack) but it's good enough for now.

- [x] Add a test ensuring that `-loopopt` arguments are stripped in link
      mode, but not in compile mode.
2021-03-31 21:47:38 +00:00
Todd Gamblin
a1d9a56a43 specs: remove "or ''" from Spec comparisons
Since `lazy_lexicographic_ordering` handles `None` comparison for us, we
don't need to adjust the spec comparators to return empty strings or
other type-specific empty types. We can just leverage the None-awareness
of `lazy_lexicographic_ordering`.

- [x] remove "or ''" from `_cmp_iter` in `Spec`
- [x] remove setting of `self.namespace` to `''` in `MockPackage`
2021-03-31 14:39:23 -07:00
Todd Gamblin
01a6adb5f7 specs: use lazy lexicographic comparison instead of key_ordering
We have been using the `@llnl.util.lang.key_ordering` decorator for specs
and most of their components. This leverages the fact that in Python,
tuple comparison is lexicographic. It allows you to implement a
`_cmp_key` method on your class, and have `__eq__`, `__lt__`, etc.
implemented automatically using that key. For example, you might use
tuple keys to implement comparison, e.g.:

```python
class Widget:
    # author implements this
    def _cmp_key(self):
        return (
            self.a,
            self.b,
            (self.c, self.d),
            self.e
        )

    # operators are generated by @key_ordering
    def __eq__(self, other):
        return self._cmp_key() == other._cmp_key()

    def __lt__(self):
        return self._cmp_key() < other._cmp_key()

    # etc.
```

The issue there for simple comparators is that we have to bulid the
tuples *and* we have to generate all the values in them up front. When
implementing comparisons for large data structures, this can be costly.

This PR replaces `@key_ordering` with a new decorator,
`@lazy_lexicographic_ordering`. Lazy lexicographic comparison maps the
tuple comparison shown above to generator functions. Instead of comparing
based on pre-constructed tuple keys, users of this decorator can compare
using elements from a generator. So, you'd write:

```python
@lazy_lexicographic_ordering
class Widget:
    def _cmp_iter(self):
        yield a
        yield b
        def cd_fun():
            yield c
            yield d
        yield cd_fun
        yield e

    # operators are added by decorator (but are a bit more complex)

There are no tuples that have to be pre-constructed, and the generator
does not have to complete. Instead of tuples, we simply make functions
that lazily yield what would've been in the tuple. If a yielded value is
a `callable`, the comparison functions will call it and recursively
compar it. The comparator just walks the data structure like you'd expect
it to.

The ``@lazy_lexicographic_ordering`` decorator handles the details of
implementing comparison operators, and the ``Widget`` implementor only
has to worry about writing ``_cmp_iter``, and making sure the elements in
it are also comparable.

Using this PR shaves another 1.5 sec off the runtime of `spack buildcache
list`, and it also speeds up Spec comparison by about 30%. The runtime
improvement comes mostly from *not* calling `hash()` `_cmp_iter()`.
2021-03-31 14:39:23 -07:00
Todd Gamblin
fd12cba18b specs: speed up traversal by avoiding redundant canonicalization 2021-03-31 14:39:23 -07:00
Rémi Lacroix
bb60dbd2ad OpenFOAM-org: Add version 2.3.1. (#22473) 2021-03-31 23:19:37 +02:00
Rémi Lacroix
772dd7bcb2 Molden: Add new versions (#22685)
Fix the download URL and add new versions.
2021-03-31 13:28:06 -07:00
Scott McMillan
25747a037a Do not set CPATH in nvhpc package (#22652)
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-03-31 12:19:17 -06:00
Jungwon Kim
2196c24e97 papyrus: setup environment variables #22681 (#22682) 2021-03-31 11:08:18 -07:00
kurtsansom
904867703e fix: modify for change in meson options (#22678) 2021-03-31 11:25:18 -06:00
Glenn Johnson
1ed7762327 new package: py-uproot (#22658) 2021-03-31 10:57:34 -05:00
Michael Kuhn
bee9e34b50 wget: add 1.21 (#22675) 2021-03-31 10:55:15 -05:00
AMD Toolchain Support
1144666c09 AOCC support for QE 6.7 (#22664)
Adding qe_6.7_aocc_support
2021-03-31 09:34:21 -06:00
yellowhat
802f5afac0 hpl: FIX ^intel-oneapi-mkl (#22674) 2021-03-31 08:17:27 -07:00
AMD Toolchain Support
9a453b2e74 adding AOCC support for CP2K 7.1 (#22641) 2021-03-31 13:22:04 +02:00
Harmen Stoppels
fa6e30c6a7 squashfuse: add v0.1.104 and variants (#22605) 2021-03-31 10:17:35 +02:00
Harmen Stoppels
64d4ab85e7 There is no symlink fusermount->fusermount3 by default (#22638) 2021-03-30 14:05:37 -07:00
Rémi Lacroix
2747af6000 SRILM: Add new package. (#22640) 2021-03-30 20:53:31 +00:00
Desmond Orton
c57a74e3b0 New package py-flexmock (#22549)
* New package py-flexmock

* Switched to proper deps

* Changed setuptools type
2021-03-30 14:49:07 -06:00
Desmond Orton
3ce4dae1bf New package py-argh (#22551)
* New package py-argh

* Fixed deps

* Changed setuptools type

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-30 19:45:04 +00:00
Desmond Orton
2e6cdd3ec1 New package py-iocapture (#22550)
* New package py-iocapture

* Added the proper deps

* Changed setuptools type
2021-03-30 19:21:47 +00:00
Harmen Stoppels
1db6cd5d16 Make -j flag less exceptional (#22360)
* Make -j flag less exceptional

The -j flag in spack behaves differently from make, ctest, ninja, etc,
because it caps the number of jobs to an arbitrary number 16.
Spack will behave like other tools if `spack install` uses a reasonable
default, and `spack install -j <num>` *overrides* that default.

This will be particularly useful for Spack usage outside of a traditional
HPC context and for HPC centers that encourage users to compile on
login nodes with many cores instead of on compute nodes, which has
become increasingly common as individual nodes have more cores.

This maintains the existing default value of min(num_cpus, 16). However, 
as it is right now, Spack does a poor job at determining the number of 
cpus on linux, since it doesn't take cgroups into account. This is
particularly problematic when using distributed builds with slurm. This PR
also introduces `spack.util.cpus.cpus_available()` to consolidate
knowledge on determining the number of available cores, and improves
core detection for linux. This should also improve core detection for Docker/
Kubernetes, which also use cgroups.
2021-03-30 12:03:50 -07:00
Rémi Lacroix
d3a9824ea2 libLBFGS: Add new package. (#22639) 2021-03-30 18:54:12 +00:00
Gregory Lee
c1f1dc163e stat: new version 4.1.0 (#22523)
* fix issue #22228 build of gdk-pixbuf
* added stat 4.1.0 and GUI variant
2021-03-30 12:52:06 -06:00
Scott McMillan
a78677a835 Add setup_dependent_build_environment() method to nvhpc package (#22578)
Fix #22520

Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-03-30 11:37:26 -07:00
Sergey Kosukhin
eb48b29375 claw: support for gcc10 (#22618) 2021-03-30 11:33:31 -07:00
Hao Lyu
db37e67c3b Correct the sha256 ioapi v3.2 (#22633)
The sha256 of [ioapi-3.2](https://www.cmascenter.org/ioapi/download/ioapi-3.2.tar.gz) should be `0a3cbf236ffbd9fb5f6509e35308c3353f1f53096efe0c51b84883d2da86924b`
2021-03-30 10:33:46 -07:00
Sreenivasa Murthy Kolam
711d22c9fe New recipe for rocm-opencl-runtime ,bump up version for rdc for rocm-4.1.0 Release (#22645) 2021-03-30 17:20:07 +00:00
Harmen Stoppels
37b439152d Add sshfs (#22636) 2021-03-30 11:16:54 -06:00
Harmen Stoppels
176c27f194 New versions of SIRIUS (#22637) 2021-03-30 11:13:14 -06:00
Harmen Stoppels
b848fab3ec SpackCommand objects can set global args (#22318)
This commit extends the API of the __call__ method of the
SpackCommand class to permit passing global arguments 
like those interposed between the main "spack" command 
and the subsequent subcommand.

The functionality is used to fix an issue where running

```spack -e . location -b some_package```

ends up printing the name of the environment instead of 
the build directory of the package, because the location arg 
parser also stores this value as `arg.env`.
2021-03-30 18:47:36 +02:00
Massimiliano Culpo
c3bab11ee1 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-03-30 17:23:32 +02:00
lorddavidiii
220c0d9cfc cuda: add dev variant and ABI variant for ncurses (#22536)
* ncurses: add variant +abi5 for version 5 ABI
* cuda: add variant dev, which makes cuda-gdb useable

- cuda-gdb needs libncurses.so.5, which most distros doesn't have
 see also https://docs.nvidia.com/cuda/cuda-gdb/index.html#common-issues-oss
2021-03-30 10:57:15 -04:00
Yan Hang
1bd0964ed3 curl package: add new stable version 7.75.0 (#22635) 2021-03-30 15:28:19 +02:00
Harmen Stoppels
a37c916dff Bootstrap: add _builtin config scope (#22610) 2021-03-30 13:41:34 +02:00
Harmen Stoppels
2a4c06b1e6 Fix clearing cache of InternalConfigScope (#22609)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-03-30 11:23:39 +00:00
Asher Mancinelli
e3bcb0ec1e Update hiop package (#22232)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2021-03-30 02:13:04 -06:00
takanori-ihara
a63a3c1d3d py-numpy: Add the setting to use fujitsu-ssl2 (#22604)
* py-numpy: Add the setting to use fujitsu-ssl2

* py-numpy: Fix for comments
2021-03-30 04:24:42 +00:00
Brian Van Essen
9d42381d38 Bugfixes in LBANN software stack identified by clingo (#22554)
* Fixed a bug in the DiHydrogen package where the variant legacy was
changed to distconv and wasn't fully propagated.  Cleaned up the
openmp variants on the blas library packages in DiHydrogen and
Elemental.  Extended support for Aluminum v1.0 in LBANN, Hydrogen, and
DiHydrogen.  Fixed a when clause in the LBANN dependencies.

* Removed the upper range limit for the Aluminum library dependence

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-30 02:25:56 +00:00
Cameron Stanavige
846cf954f0 spath: new releases (#22625)
This commit adds the url and the two releases/versions to the package.
2021-03-30 02:02:33 +00:00
Danny McClanahan
f67d4774ea move binary indices are stored into the misc_cache (#22500)
Remote buildcache indices need to be stored in a place that does not
require writing to the Spack prefix. Move them from the install_tree to
the misc_cache.
2021-03-29 17:20:04 -07:00
Cyrus Harrison
79193dc37c bugfix for active when pkg is already active error (#22587)
* bugfix for active when pkg is already active error

Co-authored-by: Greg Becker <becker33@llnl.gov>
2021-03-29 17:09:34 -07:00
Massimiliano Culpo
4079bbce97 Externals are preferred even when they have non-default variant values
fixes #22596

Variants which are specified in an external spec are not
scored negatively if they encode a non-default value.
2021-03-29 16:06:11 -07:00
Massimiliano Culpo
4ed5c366fa Enforce uniqueness of the version_weight atom per node
fixes #22565

This change enforces the uniqueness of the version_weight
atom per node(Package) in the DAG. It does so by applying
FTSE and adding an extra layer of indirection with the
possible_version_weight/2 atom.

Before this change it may have happened that for the same
node two different version_weight/2 were in the answer set,
each of which referred to a different spec with the same
version, and their weights would sum up.

This lead to unexpected result like preferring to build a
new version of an external if the external version was
older.
2021-03-29 16:06:11 -07:00
Sreenivasa Murthy Kolam
ebbce40a88 bumpup version for hipify-clang,rocm-gdb-api,rocm-gdb for rocm-4.1.rel (#22622) 2021-03-29 22:49:07 +00:00
Harmen Stoppels
e89c9ec082 Make stage use concrete specs from environment (#22320)
* Make stage use concrete specs from environment

Same as in https://github.com/spack/spack/pull/21642, the idea is that
we want to easily stage a package that fails to build in a complex
environment. Instead of making the user create a spec by hand (basically
transforming all the rules in the environment manifest into a spec,
defying the purpose of the environment...), use the provided spec as a
filter for the already concretized specs. This also speeds up things,
cause we don't have to reconcretize.
2021-03-29 11:10:44 -07:00
Rémi Lacroix
f9cc073be0 ELPA: Add missing Python build dependency. (#22466)
Also patch the "manual_cpp" Python script with proper shebang to ensure the Spack provided Python is used instead of the system Python.
2021-03-29 17:47:02 +02:00
Harmen Stoppels
8b16728fd9 Add "spack [cd|location] --source-dir" (#22321) 2021-03-29 17:31:24 +02:00
Tomoki, Karatsu
3d7069e039 hdf5: fix link error in dependent packages with %fj (#22512) 2021-03-29 09:12:59 -04:00
Harmen Stoppels
1a080b9a00 libfuse: run system install script based on a variant (#22518) 2021-03-29 09:33:55 +00:00
Adam J. Stewart
e5d106c9ce py-matplotlib: add v3.4.0 (#22574) 2021-03-29 10:39:17 +02:00
Adam J. Stewart
22e3620021 py-numpy: add v1.20.2 (#22603) 2021-03-29 09:43:40 +02:00
darmac
43131526e5 graphite2: add python@3.6: as dependency (#22126)
* graphite2: add python@3.6: as dependency

* graphite2: refine python type to run

* graphite2: change phthon to test type
2021-03-28 21:30:35 -05:00
Nichols A. Romero
14c7a13893 Flang default is False. Include a warning to deter people from using it. (#22524)
* Flang default is False. Include a warning to deter people from using it.

* Fix flake8 issue.
2021-03-28 10:06:46 -07:00
Adam J. Stewart
d17b6c4601 mpich: fix device detection (#22502) 2021-03-28 09:52:37 -04:00
Adam J. Stewart
f9be95cb2e py-joblib: add v1.0.1 (#22501) 2021-03-28 09:51:38 -04:00
Hervé Yviquel
5451e2edeb gdrcopy: add v2.2 (#22528) 2021-03-28 09:37:33 -04:00
Seth R. Johnson
579d97117d qt: fix qt@4+gui on darwin (#22602) 2021-03-28 08:34:50 -05:00
Robert Mijakovic
666240cdf8 mpfr: new version 4.1.0 (#22541)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-28 07:28:42 -06:00
Adam J. Stewart
aa59bc87d5 py-scipy: add v1.6.2 (#22543) 2021-03-28 07:25:56 -06:00
Robert Mijakovic
f760d00db6 mumps: new version 5.3.5 (#22542)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-28 09:23:09 -04:00
Valentin Volkl
e4aad43b93 hepmc3: add version 3.2.3 (#22601) 2021-03-28 09:08:05 -04:00
Valentin Volkl
598e4e77a7 edm4hep: add version 0.3.1 (#22600) 2021-03-28 09:07:32 -04:00
Valentin Volkl
63915de99b [dd4hep] add new version (#22599) 2021-03-28 09:06:51 -04:00
Jen Herting
11584f3cb1 gmp: add version 6.2.1 (#22570) 2021-03-27 13:17:40 -04:00
Jen Herting
ec2abbafa3 opensubdiv: add version 3.4.3 and change version number format (#22571) 2021-03-27 13:16:27 -04:00
Phil Carns
cc0b3017ea mochi-margo: add v0.9.2, v0.9.3 and v0.9.4 (#22368)
Also mark a margo version deprecated that was previously omitted by mistake
2021-03-27 14:29:51 +01:00
darmac
c365e1e7b2 liblouis: new package (#22141) 2021-03-27 13:02:38 +01:00
Desmond Orton
ddce89e4ce New R package vcfr (#22495) 2021-03-27 02:26:01 +00:00
Hervé Yviquel
f59ac045d4 ucx: add v1.9.0, v1.10.0 (#22527) 2021-03-26 17:01:18 -06:00
Adam J. Stewart
07cf420acb py-torchvision: add v0.9.1 (#22556) 2021-03-26 15:56:35 -07:00
Adam J. Stewart
3e2698b860 py-torch: add v1.8.1 (#22546) 2021-03-26 15:54:49 -07:00
Robert Mijakovic
2f053d3051 mesa: new version (#22538)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-26 15:52:08 -07:00
Robert Mijakovic
9188498a84 llvm: new version (#22540)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-26 15:49:32 -07:00
Stephen Sachs
23b19b55b4 [intel-oneapi-mpi] Add compiler wrappers to dependent build stage (#22468)
This adds MPICC=/path/to/intel-oneapi/mpicc etc to he dependents build stage enabling the use of the compiler wrappers.

Co-authored-by: Stephen Sachs <stesachs@amazon.com>
2021-03-26 15:19:26 -07:00
Desmond Orton
a7d36cab5b revbayes: Version updated to 1.1.1 (#22555) 2021-03-26 15:55:05 -06:00
Jungwon Kim
58ad774773 Update var/spack/repos/builtin/packages/papyrus/package.py (#22560) 2021-03-26 14:43:17 -07:00
Jan Ciesko
d606cf93bd llvm-amdgpu: Fixes "UnboundLocalError: local variable referenced before assignment" (#22562)
Co-authored-by: Jan Ciesko <jciesko@sandia.gov>
2021-03-26 14:24:08 -07:00
Dr. Christian Tacke
f713ebcb01 cmake: Add Version 3.20.0 (#22569) 2021-03-26 15:22:14 -06:00
Robert Cohn
7ecaeba33a Add select mkl libs (#22580) 2021-03-26 14:16:06 -07:00
Matthias Diener
110b50676d charmpp: rename master to main (#22582)
See https://github.com/UIUC-PPL/charm/pull/3303 for context.
2021-03-26 14:13:07 -07:00
Cyrus Harrison
513d3bac04 update ascent and friends for the ascent 0.7.0 release (#22428) 2021-03-26 13:47:46 -07:00
Massimiliano Culpo
d5fa509b07 clingo: modify recipe for bootstrapping (#22354)
* clingo: modify recipe for bootstrapping

Modifications:
- clingo builds with shared Python only if ^python+shared
- avoid building the clingo app for bootstrapping
- don't link to libpython when bootstrapping

* Remove option that breaks on linux

* Give more hints for the current Python

* Disable CLINGO_BUILD_PY_SHARED for bootstrapping

* bootstrapping: try to detect the current python from std library

This is much faster than calling external executables

* Fix compatibility with Python 2.6

* Give hints on which compiler and OS to use when bootstrapping

This change hints which compiler to use for bootstrapping clingo
(either GCC or Apple Clang on MacOS). On Cray platforms it also
hints to build for the frontend system, where software is meant
to be installed.

* Use spec_for_current_python to constrain module requirement
2021-03-26 12:43:41 -05:00
Massimiliano Culpo
35c3a25ca6 ASP-based solver: model disjoint sets for multivalued variants (#22534)
* ASP-based solver: avoid adding values to variants when they're set

fixes #22533
fixes #21911

Added a rule that prevents any value to slip in a variant when the
variant is set explicitly. This is relevant for multi-valued variants,
in particular for those that have disjoint sets of values.

* Ensure disjoint sets have a clear semantics for external packages
2021-03-26 09:22:38 -05:00
Robert Mijakovic
730c030ee5 julia: new version (#22537)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-26 15:03:13 +01:00
Sreenivasa Murthy Kolam
f08842e05d bump up version for rocm-4.1. release (#22531) 2021-03-26 14:18:01 +01:00
Massimiliano Culpo
5b238ef1c1 Revert "gdbm: new version (#22505)" (#22568)
This reverts commit d56c629932.
2021-03-26 12:23:47 +00:00
Tomoyasu Nojiri
1be0bf95b3 hdf-eos2: fix build when hdf is built without szip (#21788) 2021-03-26 12:52:22 +01:00
Rémi Lacroix
3084bd76c1 mumps: add v5.3.5. (#22564) 2021-03-26 12:50:41 +01:00
Harmen Stoppels
995c978f52 SquashFUSE: add new package, add libfuse detection (#22511) 2021-03-26 11:23:46 +01:00
Robert Mijakovic
d56c629932 gdbm: new version (#22505)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-26 11:00:44 +01:00
Howard Pritchard
098bf6a386 openmpi: add another maintainer (#22563)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2021-03-26 09:00:11 +01:00
Massimiliano Culpo
0bed64503d Make SingleFileScope able to repopulate the cache after clearing it (#22559)
fixes #22547

SingleFileScope was not able to repopulate its cache before this
change. This was affecting the configuration seen by environments
using clingo bootstrapped from sources, since the bootstrapping
operation involved a few cache invalidation for config files.
2021-03-26 01:16:11 -06:00
Desmond Orton
728f62ec8d New R package memuse (#22494) 2021-03-25 18:22:09 -06:00
Brian Van Essen
a2a29f8789 zstr: new package, update lbann dependency (#22309) 2021-03-25 19:13:44 +01:00
dmageeLANL
f7a880f868 Libwhich: which for libraries. (#22461)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2021-03-25 17:14:03 +00:00
Andrew W Elble
feb6f85af7 openssl: new version 1.1.1k (#22545)
also deprecates <1.1.1k since they are affected by high severity issues
2021-03-25 16:45:45 +00:00
Robert Mijakovic
ae0f6d5a67 mercurial: new version (#22539)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-25 11:31:19 -05:00
Mosè Giordano
04a02f8665 libblastrampoline: Add version 3.0.3 (#22529) 2021-03-25 09:10:29 +01:00
Desmond Orton
0105a83d6f New R package pinfsc50 (#22493) 2021-03-24 19:57:59 -05:00
a-saitoh-fj
9c91aeffa8 py-dask-glm: Added document build (#22293)
* py-dask-glm: Push again for testing with git.

* py-dask-glm: Fixed the pointed out OSS dependency setting to type=build.

* py-dask-glm: Set depends_on to type=build in the OSS to be built when building the document.

* py-dask-glm: Fix type of depends_on (py-scikit-learn)

Co-authored-by: miura <miura@fx7-pg01.cm.cluster>
2021-03-25 00:32:29 +00:00
Ethan Stam
6997991ad2 Llvm 7 intel patch (#22516)
* llvm@7 add patch for intel

* Fix invalid version specifier
2021-03-24 14:43:20 -07:00
kurtsansom
138417174b mesa: add gcc 10.1.0 conflict (#22514) 2021-03-24 15:10:12 -06:00
Frédéric Simonis
38841ad746 Add doc for mirror of env (#22525) 2021-03-24 20:55:15 +00:00
Gregory Lee
8c3d929d23 fix issue #18853 build of gdk-pixbuf (#22517)
* fix issue #22228 build of gdk-pixbuf

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-24 19:36:30 +00:00
Robert Mijakovic
1803070d3d intel-parallel-studio: new version (#22510)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-24 10:43:13 -06:00
Howard Pritchard
1f050993bc openmpi: do not over specify hwloc version dep (#22498)
related to #22497

Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2021-03-24 09:29:26 -07:00
Robert Mijakovic
51d81af750 go: add v1.16.2 (#22506)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-24 16:00:42 +01:00
Robert Mijakovic
dbe210522c gromacs: add v2021.1 (#22507)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-24 16:00:12 +01:00
Robert Mijakovic
fc12fb46a1 hadoop: add v3.3.0, v3.2.2 (#22508)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-24 15:59:13 +01:00
Robert Mijakovic
0722f59cb2 gdb: resolve issue with libintl_gettext (#22478)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-24 11:55:19 +01:00
Vanessasaurus
c41c7ce638 adding debugedit package. (#22458)
This package used to be a part of rpm, but now is being developed separately.
It will supposedly be moved to a sourceware branch (it is maintained by
redhat) but I do not know if this will happen soon. We need it in order
to change locations in binaries that are built in /tmp and then moved
elsewhere. I will ping @woodard who might be able to give us an estimate
if we should include this development repository or wait for it to be
moved elsewhere. Once this is merged, we will want to use the bootstrap
approach to install and use the library from spack.

Signed-off-by: vsoch <vsoch@users.noreply.github.com>
2021-03-23 22:59:34 -07:00
Desmond Orton
95ad5b882c new package py-pyem (#22425)
* new package py-pyem

* Added patch note and removed homepage

* Style fixes

* Moved the version above deps

* Style fix on line 20
2021-03-23 21:25:57 +01:00
Sergey Kosukhin
a1aec1450b Add stdcxx_libs for PGI and Cray compilers (#22491) 2021-03-23 14:19:03 -06:00
Rémi Lacroix
45e076dd20 Grace: new package (#22476) 2021-03-23 14:13:03 -06:00
Daniel Arndt
73311bc6cd Allow DataTransferKit to be built with external ArborX package (#22486) 2021-03-23 20:07:14 +00:00
Robert Rosca
3d74592be2 Add older versions fo py-msgpack-numpy (#22490) 2021-03-23 14:07:10 -06:00
Massimiliano Culpo
413c422e53 bootstrap: account for platform specific configuration scopes (#22489)
This change accounts for platform specific configuration scopes,
like ~/.spack/linux, during bootstrapping. These scopes were
previously not accounted for and that was causing issues e.g.
when searching for compilers.
2021-03-23 14:29:13 -05:00
Rémi Lacroix
3d0adf3a8a OpenFOAM-org: Fix compilation of version 2.4.0. (#22472)
Fix "isnan" errors when compiling version 2.4.0 with recent compilers.
2021-03-23 11:34:30 -07:00
Rémi Lacroix
4d02439820 OpenFOAM: Depend on CGAL 4.X. (#22474)
CGAL 5.X is currently not supported.
2021-03-23 11:33:01 -07:00
Martin Pokorny
c4b38e5102 Initial version of libsakura (#22488) 2021-03-23 18:05:41 +00:00
Rémi Lacroix
495b9bcb60 VAPOR: new package (#22477) 2021-03-23 11:01:32 -07:00
Robert Mijakovic
5bc1ac6ca1 cryptsetup: new version (#22470)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-23 11:00:49 -07:00
Robert Mijakovic
9e316b30d1 intel: new version, 20.0.4 (#22484)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-23 11:40:13 -06:00
Rémi Lacroix
dca23f3c37 Channelflow: Fix the package. (#22483)
A search and replace went wrong in 2264e30d99.

Thanks to @wadudmiah who reported this issue.
2021-03-23 12:04:40 -05:00
Robert Mijakovic
0c699d7494 git: new version (#22479)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-23 10:58:12 -06:00
Michael Kuhn
a4e18a9544 flexiblas: add 3.0.4 (#22485) 2021-03-23 17:52:33 +01:00
Robert Mijakovic
76bfdbfb96 cuda: add v11.2.2 (#22471)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-23 15:55:17 +01:00
Harmen Stoppels
8899a08263 OpenMPI: require ssh run dependency (#22115)
* Bump gdbm
* Add libedit 3.1
* Bump OpenSSH to 8.5p1
* Bump lz4
* Add openssh as a runtime dep of openmpi
2021-03-23 10:44:22 -04:00
Robert Mijakovic
6a3bef4bb0 gmake: add v4.3 (#22480)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-23 12:47:21 +00:00
Robert Mijakovic
982d1afd01 cmake: new version (#22469)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-23 12:59:21 +01:00
Desmond Orton
6bfc0504cb orthofinder: retrieve sources, overhaul recipes (#22423) 2021-03-23 09:27:52 +01:00
takanori-ihara
adf19379cc fujitsu-ssl2: fix to library list and env variables (#22462) 2021-03-23 08:33:05 +01:00
Robert Cohn
f57626a7c4 Oneapi packages: update URLs, environment management, and dependencies (#22202)
* Replace URL computation in base IntelOneApiPackage class with
  defining URLs in component packages (this is expected to be
  simpler for now)
* Add component_dir property that all oneAPI component packages must
  define. This property names a directory that should exist after
  installation completes (useful for making sure the install was
  successful) and also defines the search location for the
  component's environment update script.
* Add needed dependencies for components (e.g. intel-oneapi-dnn
  requires intel-oneapi-tbb). The compilers provided by
  intel-oneapi-compilers need some components under certain
  circumstances (e.g. when enabling SYCL support) but these were
  omitted since the libraries should only be linked when a
  dependent package requests that feature
* Remove individual setup_run_environment implementations and use
  IntelOneApiPackage superclass method which sources vars.sh 
  (located in a subdirectory of component_dir)
* Add documentation for IntelOneApiPackge build system

Co-authored-by: Vasily Danilin <vasily.danilin@yandex.ru>
2021-03-22 17:35:45 -07:00
Massimiliano Culpo
138312efab clingo-bootstrap: account for cray platform (#22460) 2021-03-22 17:57:32 -05:00
Jan Ciesko
364b359c68 Add Kokkos smoke test support (#22071)
Co-authored-by: Jan Ciesko (-EXP) <jciesko@sandia.gov>
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-03-22 12:51:59 -06:00
Aurelien Bouteiller
623edc6674 Invoke ctest -j1 from spack install --test, and build_with_parsec from spack test run (#22070)
Signed-off-by: Aurelien Bouteiller <bouteill@icl.utk.edu>
2021-03-22 12:34:03 -06:00
Harmen Stoppels
22425da038 IPython: add v7.21.0 and updated dependencies accordingly (#22448) 2021-03-22 19:22:41 +01:00
Vanessasaurus
c2a9b7aa08 rpm: add new package. (#22382)
For rpm to build with lua, we additionally need to add a lua.pc file
that the configure script can find.

Patch from : dcaf70897a/gnu/packages/patches/lua-pkgconfig.patch

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-03-22 17:47:56 +01:00
AMD Toolchain Support
2fba3e2bd3 Spack recipes for AOCL 3.0 (#22376)
Added Spack recipes for AOCL 3.0 blis, ambles, amdlibflame, amdlibm, amdscalapack, aocl-sparce.
2021-03-22 09:30:08 -07:00
Seth R. Johnson
3a33d45d6d openssh: support spack external find (#22445) 2021-03-22 10:19:07 -06:00
David Hadley
20fc160f21 GENIE: new package package (#22438)
Add GENIE MC (https://www.genie-mc.org) package.
2021-03-22 12:04:43 -04:00
Greg Becker
95880d0dac use link/run deps only to compare extensions (#22396) 2021-03-22 10:28:14 -05:00
André Brandenburger
01ea3e3469 py-tensorflow: remove bazel restriction to /tmp (#22250) 2021-03-22 10:06:05 -05:00
TZ
6e3f7781d4 lammps: add most recent stable and patch release (#22435) 2021-03-22 08:37:46 -06:00
TZ
951c4a6cf2 lammps: patch for CUDA-11.x with lammps 21 Jul 2020 (#22434)
apply upstream patch to make lammps 21 Jul 2020 work with CUDA-11.x (support for compute_30 removed)
2021-03-22 15:34:04 +01:00
Robert Mijakovic
62f9de535c freetype: new version (#22454) 2021-03-22 14:07:08 +00:00
Robert Mijakovic
af15801649 extrae: new version (#22453)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-22 15:03:03 +01:00
Robert Mijakovic
155c378406 blis: new version (#22449) 2021-03-22 15:02:44 +01:00
Robert Mijakovic
28f2349d1e doxygen: new version (#22452) 2021-03-22 15:00:31 +01:00
Robert Mijakovic
c128c58a93 cryptsetup: new version (#22451)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-22 14:56:15 +01:00
Robert Mijakovic
29e36e7a17 cmake: new version (#22450)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-22 14:54:54 +01:00
Glenn Johnson
d18de945b7 r-lwgeom: new package (#22437) 2021-03-22 12:52:07 +01:00
Glenn Johnson
2741b69791 r-s2: new package plus new dependency r-wk (#22443) 2021-03-22 12:48:06 +01:00
Glenn Johnson
d203456790 r-pool: new package (#22441) 2021-03-22 12:47:21 +01:00
Glenn Johnson
c9043b6258 r-microbenchmark: new package (#22440) 2021-03-22 12:46:52 +01:00
Glenn Johnson
346d880384 r-mapview: added packages and dependencies (#22439) 2021-03-22 12:45:58 +01:00
Robert Mijakovic
d838b8f518 pegtl: add v3.2.0 and a patch for <2.8.3 with gcc 10. (#22422)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-22 10:25:12 +00:00
Toyohisa Kameyama
c77267f0a1 dtf: new package. (#22446) 2021-03-22 04:07:07 -06:00
a-saitoh-fj
d49c0148b8 py-s3fs: new package (#22260) 2021-03-22 08:46:16 +01:00
Maxim Belkin
8c04354056 clingo: fix typo (#22444) 2021-03-22 00:52:46 +01:00
Valentin Volkl
e56e72d910 [py-awkward1] add dlpack dependency (#22220)
* [py-awkward1] add dlpack dependency

* [py-awkward] rename package

* [py-awkward] address comments from [22220]

* [py-awkward] address comments from [22220]
2021-03-21 12:42:13 -05:00
Keita Iwabuchi
718e65492e Metall: add v0.10, remove old versions prior to v0.7 (#21893) 2021-03-21 12:41:28 +01:00
darmac
fa5ddcaa41 libmpdclient: new package (#22146) 2021-03-21 11:33:47 +01:00
darmac
5e0aa8c2e7 libndp: new package (#22147) 2021-03-21 11:32:06 +01:00
darmac
8eb5f017df libnetfilter-cthelper: new package (#22148) 2021-03-21 11:22:15 +01:00
darmac
2b22d855b0 libnetfilter-cttimeout: new package (#22149) 2021-03-21 11:17:31 +01:00
darmac
c9ce5a3292 libnetfilter-queue: new package (#22150) 2021-03-21 11:16:30 +01:00
Greg Becker
f4b56620e5 Document cli syntax for environment scopes (#20344)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-21 10:14:13 +00:00
Chuck Atkins
df8dcef963 ecp-data-vis-sdk: disable sz python bindings (#22271) 2021-03-21 11:12:31 +01:00
darmac
622b6d761d net-snmp: new package (#22154) 2021-03-21 11:11:44 +01:00
Jen Herting
404d4dde48 opus: add v1.3.1 (#22308) 2021-03-21 08:42:15 +00:00
darmac
3688f7aea0 hwdata: new package (#22128) 2021-03-21 09:28:21 +01:00
darmac
bc127ec53e mozjs: add zip and unzip as dependencies (#22274) 2021-03-21 09:27:12 +01:00
darmac
26bf91c690 fullock: new package (#22139) 2021-03-21 09:20:50 +01:00
darmac
b48fbeed69 brynet: new package (#22133) 2021-03-21 09:19:58 +01:00
darmac
83fde4e849 libnfs: new package (#22151) 2021-03-20 22:36:04 +01:00
darmac
4a957509db libnfsidmap: new package (#22152) 2021-03-20 22:35:00 +01:00
Robert Pavel
9af0b11b86 MiniAMR: add v1.6.6 and v1.6.5 (#22227) 2021-03-20 22:31:06 +01:00
Matthew Kelsey
0c4f140d88 professor: add new package at v2.3.3 (#22043)
Co-authored-by: Matthew Kelsey <matt@Matthews-MacBook-Pro.local>
Co-authored-by: Matthew Kelsey <mkelsey@rcas6015.rcf.bnl.gov>
2021-03-20 19:28:03 +00:00
darmac
5a30e5795f libapreq2: add package at v2.13 (#22136) 2021-03-20 18:23:04 +00:00
Robert Mijakovic
4bdd014c82 bazel: new versions, 4.0.0 and 3.7.2 (#22420)
* bazel: new versions, 4.0.0 and 3.7.2

* Updates bazel 4.0.0 hash

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

Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-20 12:17:49 -05:00
Vinícius
b052ff9be0 pajeng: add dependency on fmt for @develop (#22432) 2021-03-20 16:57:40 +00:00
Olivier Cessenat
1acaaea34e silo: adding the library spec for dependents (#22431) 2021-03-20 15:22:38 +00:00
Tom Scogland
48023b2932 notify and error out on more unsupported versions (#22389)
This is to help debug situations like #22383, where python3.4 is
accidentally preferred over python2.  It will also help on systems where
there is no python2 available or some other issue.
2021-03-20 08:01:23 -07:00
Olivier Cessenat
86fad97165 minizip: reduce scope of applied patch (#21909) 2021-03-20 14:51:03 +00:00
Rohit Goswami
ac15e3ec96 SymEngine: add v0.7.0 (#22367) 2021-03-20 14:50:43 +00:00
Massimiliano Culpo
06cd29ad58 QA: don't run build tests on each commit (#22430)
This applies the same rules on push to develop
that we use for PRs
2021-03-20 07:17:47 -07:00
Massimiliano Culpo
03e10b3cde QA: reduce number of unit tests for jobs not in the matrix (#22426)
* QA: reduce number of unit tests for jobs not in the matrix

* Fixup for CentOS6 dependencies

* Put correct conditions back in place

* Add dependency on changes
2021-03-20 07:16:52 -07:00
darmac
46469786d8 libtorrent: add new package at v0.13.8 (#22130) 2021-03-20 15:16:09 +01:00
darmac
17e51b2989 args: add new package at v6.2.3 (#22132) 2021-03-20 15:14:40 +01:00
darmac
806f02438d libao: add new package at v1.2.2 (#22135) 2021-03-20 15:11:52 +01:00
darmac
44e70f40ce libasr: new package at v1.0.4 (#22137) 2021-03-20 15:07:09 +01:00
Martin Pokorny
c84c0187ea casacore: fft implementation default (#22226)
* Change default FFT implementation to FFTW

To account for the default changing with casacore v3.4.0, as well as the
CMake logic for getting the FFTPack implementation.

* Switch to using spec.satisfies() for Python CMake values
2021-03-20 14:58:56 +01:00
Rohit Goswami
ec0dc67e73 eigen: add v3.3.9 (#22369) 2021-03-20 12:55:06 +00:00
Michael Kuhn
dfb0da2c85 zlib-ng: new package (#22346) 2021-03-20 12:43:04 +00:00
Jen Herting
f8ea3c5285 libvorbis: add v1.3.7 (#22266) 2021-03-20 13:36:27 +01:00
Pramod Kumbhar
222666e400 neuron: fix issue with assignment operator during build (#22278) 2021-03-20 06:31:23 -06:00
darmac
a4fbaf2f89 hivex: new package (#22158) 2021-03-20 13:30:20 +01:00
darmac
f8a17371f6 hyphen: new package (#22157) 2021-03-20 13:23:41 +01:00
darmac
aa79689c78 libmbim: add new package (#22143) 2021-03-20 13:17:59 +01:00
darmac
8a9af11403 liblognorm: new package (#22140)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-03-20 13:16:39 +01:00
Adam J. Stewart
d4516057e1 py-azureml-sdk: Python 3.9 not yet supported (#22388) 2021-03-20 12:08:58 +00:00
Scot Halverson
e1abb5cbc8 kokkos: add ampere80 cuda arch (#22397)
Adding support for Ampere (SM_80) GPUs.
2021-03-20 11:54:48 +00:00
Vanessasaurus
c055ffc79b singularity: update packages (#22281)
This PR will update the urls to not have www (not needed),
the repository user should be hpcng instead of sylabs (technically
GitHub maintains the old links but this might not be forever) and
also added 3.7.1 and 3.7.2 versions of Singularity, newly released

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

Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-03-20 12:50:35 +01:00
Cody Balos
ac6976dee5 sundials: use CudaPackage and ROCmPackage and add spack tests (#22183)
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-03-20 11:43:31 +00:00
Kai Torben Ohlhus
9b5df573c0 openblas: add v0.3.14 (#22371)
New OpenBLAS 0.3.14 release
- https://github.com/xianyi/OpenBLAS/releases/tag/v0.3.14
2021-03-20 11:41:04 +00:00
Rao Garimella
c7e481de77 Update R3D package (#22327)
Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2021-03-20 12:12:48 +01:00
Jen Herting
9d5937725e py-jsonpointer: add v1.9 (#22394) 2021-03-20 11:07:53 +00:00
Vinícius
ce64a4170f pajeng: new package (#22398) 2021-03-20 10:35:43 +00:00
Robert Pavel
bba41f16d4 libristra: add new package (#22343) 2021-03-20 10:38:13 +01:00
Hadrien G
32f6fdce7c acts: add v6.00.0 (#22347) 2021-03-20 03:34:14 -06:00
Jen Herting
6d8f59e6bc libogg: add v1.3.4 (#22395) 2021-03-20 10:22:06 +01:00
Harmen Stoppels
ece71f1648 hip: shorten shebang before cmake phase because it is used there (#22391) 2021-03-20 09:52:22 +01:00
Michael Kuhn
07a9723c63 cube-blade: new package (#22411) 2021-03-20 09:47:48 +01:00
Nick Denissen
4aa24095c0 zoltan: add nvhpc fortran libraries to the linker (#22413) 2021-03-20 09:46:25 +01:00
Robert Mijakovic
c4e81b9cdb autoconf: add v2.71 (#22415)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-20 09:44:53 +01:00
Glenn Johnson
cbb64156cb bowtie2: fix python interpreter line (#22417)
Beginning with version 2.4.1, the python interpreter line changed from

"#!/usr/bin/env python" to "#!/usr/bin/env python3"

That caused the bowtie2-build and bowtie2-inspect scripts to have a
trailing '3' at the end of the interpreter line. This PR fixes that. I
also observed that older versions do not build with intel-oneapi-tbb
so added a conflicts statement for that.
2021-03-20 09:43:19 +01:00
Chris Richardson
381da114f0 xtensor: add v0.23.2 (#22378)
Also updated version of dependencies
2021-03-20 08:41:56 +00:00
William Downs
ab6c543948 gchp: add v13.0.0 (#22387) 2021-03-20 09:41:29 +01:00
Toyohisa Kameyama
b8815e577b boost: fixed detect system icu bug on version 1.65.0 or older. (#22375) 2021-03-20 01:52:38 +00:00
Robert Mijakovic
187c23d3c5 Slurm: add v20-11-[4,5]-1 (#22416)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-03-20 00:09:32 +01:00
Massimiliano Culpo
0209d15ffd CI: treat push to develop in the same way as PRs (#22421) 2021-03-19 15:08:32 -07:00
Sinan
4c57c88d9e py-zarr: add v2.4.0,v2.5.0,v2.6.1 (#22403)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-19 22:06:30 +00:00
Tiziano Müller
3305a39c55 CP2K: update libxc dep, SIRIUS: update spla dep for 7+ (#22249) 2021-03-19 14:52:07 -06:00
Massimiliano Culpo
629f94b4e1 CI: drastically reduce the number of tests for package only PRs (#22410)
PRs that change only package recipes will only run tests under "package_sanity.py" and without coverage. This should result in a huge drop the cpu-time spent in CI for most PRs.
2021-03-19 11:04:53 -07:00
Daniel Arndt
245d67ed5c Add ArborX smoke tests (#22356) 2021-03-19 12:39:06 +00:00
m-shunji
020c60649e abinit: fix detection of Fujitsu compiler (#22239) 2021-03-19 12:27:31 +00:00
Gregory Lee
43f4d2da99 updated deps to get gtkplus to build (#22228)
* updated deps to get gtkplus to build

* gtk-doc requires docbook-xml 4.3

* patch gtk-doc build to find xml catalogs

* patch gtk-doc build to find xml catalogs

* patch gtk-doc build to find xml catalogs

* add new version, fix macOS build error

* reorder docbook versions from newest to oldest

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-19 09:31:14 +00:00
tilne
22a93300b4 Add aws-parallelcluster v2.10.3 (#22402)
Signed-off-by: Tim Lane <tilne@amazon.com>
2021-03-19 09:09:18 +00:00
Robert Mijakovic
396936d241 Adds new versions of cuDNN package (#22385) 2021-03-19 02:42:44 +00:00
Benjamin Tovar
818b416742 CCTools to version 7.2.4 (#22384) 2021-03-19 02:13:30 +00:00
Cyrus Harrison
4df1f62fd3 updates to conduit to add hostcfg and use cmake base (#22233) 2021-03-18 18:44:29 -07:00
AMD Toolchain Support
4f1a76a0d1 fixing the perf regression issues with OpenMPI v4.0.x till v4.1.0 for x86_64 (#22350) 2021-03-18 17:09:20 -07:00
Dr. Christian Tacke
d07cb59bef root/intel-tbb interaction (#22366)
root 6.22 does not work with intel-tbb 2021.1.1.

So:
* Introduce conflicts()
  (a fitting depends_on in the comments, but does not help with the classic conretizer.)
* Mark 2020.3 as preferred to help concretizer, when newer versions come up.
* Previous discussion:
  https://github.com/spack/spack/pull/22263#issuecomment-797606475
* Relevant ROOT issue:
  https://github.com/root-project/root/issues/6933
2021-03-18 17:19:08 -06:00
Cody Balos
02c3b23a15 xsdk-examples: add new version (#22090) 2021-03-18 15:25:43 -07:00
Olivier Cessenat
628f9eadb5 perl-tk: creating package (#21586) 2021-03-18 11:20:18 -05:00
Paul Kuberry
a405811bfe xyce: add new package (#22345) 2021-03-18 14:49:42 +00:00
Harmen Stoppels
196db55855 Fix broken spack -c flag (#22361) 2021-03-18 15:26:30 +01:00
Ryan Honeyager
c6f3f57c31 Add udunits2 v2.2.28 and target the new UCAR repository (#22370) 2021-03-18 12:47:20 +00:00
Axel Huebl
f901c61e68 py-yt: 3.6.1 (#22329)
* py-yt: 3.6.1

The latest bugfix release of yt-project fixes issues with matplotlib
version 3.3.0+.

* py-yt: add many more version constrains
2021-03-18 11:19:58 +00:00
Massimiliano Culpo
8cf6ad9917 archspec: update to latest version (#22357) 2021-03-18 00:23:09 -07:00
Benjamin Tovar
4c9c5393f1 CCTools: add v7.2.3 (#22355) 2021-03-18 08:10:08 +01:00
Harmen Stoppels
15645147ed Tab to spaces (#22362) 2021-03-18 06:20:06 +00:00
Hector Martinez-Seara
441d09cc27 Amber (#22275)
* Improved amber package. Added amber20

* Corrected description link between ambertools and amber versions

* Fixed ambertools handling

* Apply pathes only when problematic traget requested

* fixed style issue

* Added amber20 sha256 checksum

* Improved documentation

* Removed preferred amber18

* Changef f-string to str.format()

* Changef f-string to str.format()

* removed url_for_version fuction
2021-03-18 05:45:24 +00:00
Seth R. Johnson
e5103b6914 openblas: fix older versions (#22358) 2021-03-18 03:21:58 +00:00
Harmen Stoppels
e57053bd32 Fix indentation compiler wrapper issue (#22352) 2021-03-17 18:45:10 +00:00
Tomoki, Karatsu
d934363ae5 intel-mpi-benchmarks: Take in upstream bugfix patches. (#22317) 2021-03-17 11:09:25 -07:00
Adam J. Stewart
251e4282f1 GDAL: add v3.2.2 (#22224) 2021-03-17 11:28:06 -06:00
Adam J. Stewart
2d623bab31 tidy-html5: add new package (#22286) 2021-03-17 16:14:39 +01:00
Dr. Christian Tacke
96e394845b root: add v6.22.08 (#22263) 2021-03-17 16:14:12 +01:00
AMD Toolchain Support
e6c8fa1311 aocc: add support for v3.0 compilers (#22219)
A mitigation of a known issue that affects v3.0 is added, see
https://developer.amd.com/wp-content/resources/AOCC-3.0-Install-Guide.pdf
2021-03-17 15:06:25 +00:00
Harmen Stoppels
43dd7b84c0 spack location: bugfix for out of source build dirs (#22348) 2021-03-17 14:38:14 +00:00
Erik Schnetter
9a565e0ec7 shtools: add v4.8 (#22305) 2021-03-17 13:20:46 +01:00
Erik Schnetter
bac3ac4fdb fasttransforms: add v0.5.0 (#22304) 2021-03-17 13:20:09 +01:00
Jen Herting
8d2944bf77 flac: add v1.3.3 (#22307) 2021-03-17 12:18:52 +01:00
Harmen Stoppels
889e83a9b5 boost: fix unicode bugs in Boost recipe (#22301) 2021-03-17 11:22:21 +01:00
Benjamin Tovar
047bb490cb cctools: add v7.2.2 (#22325) 2021-03-17 11:19:01 +01:00
Erik Schnetter
2032c608e8 ssht: add v1.3.5 (#22306) 2021-03-17 11:16:56 +01:00
David Hadley
9e62eadce0 pythia6: fix wrong patch (#22338)
See #22330
2021-03-17 03:25:09 -06:00
Bryan Herman
364b9e7a27 add maintainer to py-h5py (#22332) 2021-03-16 18:46:16 -06:00
Tomoyasu Nojiri
857f6392a2 r-v8: Fix build error (#22314) 2021-03-16 19:39:30 -05:00
eugeneswalker
b75b029706 amrex: add gcc 8 conflicts (#22339) 2021-03-16 23:54:40 +00:00
Tiziano Müller
12cad38aef llvm: enable ncurses patch for building on SUSE in 11.0.1 (#22319)
fixes #19625 again
2021-03-16 16:22:10 -07:00
Danny McClanahan
18fbd58fe6 fix weird failure in variant values (#22328) 2021-03-16 16:04:51 -07:00
AMD Toolchain Support
912606ad9a spack recipe for aocl-sparse (#22079) 2021-03-16 14:34:25 -07:00
Wouter Deconinck
c9ba95cc5c containerize: fix typo in documentation (#22331)
Before this fix, `spack containerize` complains that `centos/7` is invalid
(should have been `centos:7`)
2021-03-16 21:02:26 +00:00
AMD Toolchain Support
603331e669 WRF package: add aocc 3.0 support for WRF 3.9.1.1 and 4.2 (#22285)
* Added 2 new configure patch files to build WRF 3.9.1.1 and 4.2
  with aocc@3.0
* Renamed patch files used for building WRF 3.9.1.1 and 4.2 with
  aocc@2.3 (mostly, this also removes -march=native from AOCCOPT
  and updates LIBMVEC options for aocc@2.3)
2021-03-16 12:59:43 -07:00
Massimiliano Culpo
2aab415f3d The action to detect changes needs a repository to be checked out on push event (#22324) 2021-03-16 17:27:41 +00:00
Massimiliano Culpo
b304b4bdb0 Speed-up CI by reorganizing tests (#22247)
* unit tests: mark slow tests as "maybeslow"

This commit also removes the "network" marker and
marks every "network" test as "maybeslow". Tests
marked as db are maintained, but they're not slow
anymore.

* GA: require style tests to pass before running unit-tests

* GA: make MacOS unit tests fail fast

* GA: move all unit tests into the same workflow, run style tests as a prerequisite

All the unit tests have been moved into the same workflow so that a single
run of the dorny/paths-filter action can be used to ask for coverage based
on the files that have been changed in a PR. The basic idea is that for PRs
that introduce only changes to packages coverage is not necessary, this
resulting in a faster execution of the tests.

Also, for package only PRs slow unit tests are skipped.

Finally, MacOS and linux unit tests are now conditional on style tests passing
meaning that e.g. we won't waste a MacOS worker if we know that the PR has
flake8 issues.

* Addressed review comments

* Skipping slow tests on MacOS for package only recipes

* QA: make tests on changes correct before merging
2021-03-16 08:16:31 -07:00
a-saitoh-fj
d36de79ba0 py-aiobotocore: New package (#22258)
* py-aiobotocore: New package

* py-aiobotocore: Added python dependencies, and Removed unnecessary whitespace
2021-03-16 08:57:54 -05:00
Todd Gamblin
3e570ce694 bugfix: allow imposed constraints to be overridden in special cases
In most cases, we want condition_holds(ID) to imply any imposed
constraints associated with the ID. However, the dependency relationship
in Spack is special because it's "extra" conditional -- a dependency
*condition* may hold, but we have decided that externals will not have
dependencies, so we need a way to avoid having imposed constraints appear
for nodes that don't exist.

This introduces a new rule that says that constraints are imposed
*unless* we define `do_not_impose(ID)`. This allows rules like
dependencies, which rely on more than just spec conditions, to cancel
imposed constraints.

We add one special case for this: dependencies of externals.
2021-03-16 12:50:14 +01:00
Todd Gamblin
e7cba04b95 bugfix: do not generate dep conditions when no dependency
We only consider test dependencies some of the time. Some packages are
*only* test dependencies. Spack's algorithm was previously generating
dependency conditions that could hold, *even* if there was no potential
dependency type.

- [x] change asp.py so that this can't happen -- we now only generate
      dependency types for possible dependencies.
2021-03-16 12:50:14 +01:00
Todd Gamblin
ada6ecc797 concretizer: unify logic for spec conditionals
This builds on #20638 by unifying all the places in the concretizer where
things are conditional on specs. Previously, we duplicated a common spec
conditional pattern for dependencies, virtual providers, conflicts, and
externals. That was introduced in #20423 and refined in #20507, and
roughly looked as follows.

Given some directives in a package like:

```python
depends_on("foo@1.0+bar", when="@2.0+variant")
provides("mpi@2:", when="@1.9:")
```

We handled the `@2.0+variant` and `@1.9:` parts by generating generated
`dependency_condition()`, `required_dependency_condition()`, and
`imposed_dependency_condition()` facts to trigger rules like this:

```prolog
dependency_conditions_hold(ID, Parent, Dependency) :-
  attr(Name, Arg1)             : required_dependency_condition(ID, Name, Arg1);
  attr(Name, Arg1, Arg2)       : required_dependency_condition(ID, Name, Arg1, Arg2);
  attr(Name, Arg1, Arg2, Arg3) : required_dependency_condition(ID, Name, Arg1, Arg2, Arg3);
  dependency_condition(ID, Parent, Dependency);
  node(Parent).
```

And we handled `foo@1.0+bar` and `mpi@2:` parts ("imposed constraints")
like this:

```prolog
attr(Name, Arg1, Arg2) :-
  dependency_conditions_hold(ID, Package, Dependency),
  imposed_dependency_condition(ID, Name, Arg1, Arg2).

attr(Name, Arg1, Arg2, Arg3) :-
  dependency_conditions_hold(ID, Package, Dependency),
  imposed_dependency_condition(ID, Name, Arg1, Arg2, Arg3).
```

These rules were repeated with different input predicates for
requirements (e.g., `required_dependency_condition`) and imposed
constraints (e.g., `imposed_dependency_condition`) throughout
`concretize.lp`. In #20638 it got to be a bit confusing, because we used
the same `dependency_condition_holds` predicate to impose constraints on
conditional dependencies and virtual providers. So, even though the
pattern was repeated, some of the conditional rules were conjoined in a
weird way.

Instead of repeating this pattern everywhere, we now have *one* set of
consolidated rules for conditions:

```prolog
condition_holds(ID) :-
  condition(ID);
  attr(Name, A1)         : condition_requirement(ID, Name, A1);
  attr(Name, A1, A2)     : condition_requirement(ID, Name, A1, A2);
  attr(Name, A1, A2, A3) : condition_requirement(ID, Name, A1, A2, A3).

attr(Name, A1)         :- condition_holds(ID), imposed_constraint(ID, Name, A1).
attr(Name, A1, A2)     :- condition_holds(ID), imposed_constraint(ID, Name, A1, A2).
attr(Name, A1, A2, A3) :- condition_holds(ID), imposed_constraint(ID, Name, A1, A2, A3).
```

this allows us to use `condition(ID)` and `condition_holds(ID)` to
encapsulate the conditional logic on specs in all the scenarios where we
need it. Instead of defining predicates for the requirements and imposed
constraints, we generate the condition inputs with generic facts, and
define predicates to associate the condition ID with a particular
scenario. So, now, the generated facts for a condition look like this:

```prolog
condition(121).
condition_requirement(121,"node","cairo").
condition_requirement(121,"variant_value","cairo","fc","True").
imposed_constraint(121,"version_satisfies","fontconfig","2.10.91:").
dependency_condition(121,"cairo","fontconfig").
dependency_type(121,"build").
dependency_type(121,"link").
```

The requirements and imposed constraints are generic, and we associate
them with their meaning via the id. Here, `dependency_condition(121,
"cairo", "fontconfig")` tells us that condition 121 has to do with the
dependency of `cairo` on `fontconfig`, and the conditional dependency
rules just become:

```prolog
dependency_holds(Package, Dependency, Type) :-
  dependency_condition(ID, Package, Dependency),
  dependency_type(ID, Type),
  condition_holds(ID).
```

Dependencies, virtuals, conflicts, and externals all now use similar
patterns, and the logic for generating condition facts is common to all
of them on the python side, as well. The more specific routines like
`package_dependencies_rules` just call `self.condition(...)` to get an id
and generate requirements and imposed constraints, then they generate
their extra facts with the returned id, like this:

```python
    def package_dependencies_rules(self, pkg, tests):
        """Translate 'depends_on' directives into ASP logic."""
        for _, conditions in sorted(pkg.dependencies.items()):
            for cond, dep in sorted(conditions.items()):
                condition_id = self.condition(cond, dep.spec, pkg.name)  # create a condition and get its id
                self.gen.fact(fn.dependency_condition(  # associate specifics about the dependency w/the id
                    condition_id, pkg.name, dep.spec.name
                ))
        # etc.
```

- [x] unify generation and logic for conditions
- [x] use unified logic for dependencies
- [x] use unified logic for virtuals
- [x] use unified logic for conflicts
- [x] use unified logic for externals

LocalWords:  concretizer mpi attr Arg concretize lp cairo fc fontconfig
LocalWords:  virtuals def pkg cond dep fn refactor github py
2021-03-16 12:50:14 +01:00
Tomoyasu Nojiri
ce7bde24d4 amdlibflame: Fix build error (#22316) 2021-03-16 10:32:51 +00:00
Tomoyasu Nojiri
475c877fc9 libflame: Fix build error (#22315) 2021-03-16 10:03:32 +00:00
Harmen Stoppels
8ffeb96c77 hwloc: add dependency on ncurses (#22300)
Co-authored-by: Michal Sudwoj <msudwoj@student.ethz.ch>
2021-03-16 08:34:41 +01:00
Adam J. Stewart
d7f1ff68fb OpenCV: add new version, simplify package (#22292) 2021-03-15 14:41:24 -07:00
Harmen Stoppels
195341113e Expand relative dev paths in environment files (#22045)
* Rewrite relative dev_spec paths internally to absolute paths in case of relocation of the environment file

* Test relative paths for dev_path in environments

* Add a --keep-relative flag to spack env create

This ensures that relative paths of develop paths are not expanded to
absolute paths when initializing the environment in a different location
from the spack.yaml init file.
2021-03-15 15:38:35 -05:00
Harmen Stoppels
4f1d9d6095 Propagate --test= for environments (#22040)
* Propagate --test= for environments

* Improve help comment for spack concretize --test flag

* Add tests for --test with environments
2021-03-15 15:34:18 -05:00
Chuck Atkins
f949ae772d vtk-h: Fix missing trailing-colon in CMake version (#22302) 2021-03-15 20:16:56 +00:00
Harmen Stoppels
6ba7632d2b Make py-boto3 installable again with old concretizer (#22298) 2021-03-15 18:21:11 +00:00
Adam J. Stewart
d166ca91f1 dos2unix: gettext needed for linking (#22288) 2021-03-15 12:19:15 -06:00
Adam J. Stewart
70c505a0b8 Fix use of quotes in Python build system (#22279) 2021-03-15 11:11:27 -07:00
Adam J. Stewart
78d1b28b72 py-tqdm: add new version, variants (#22290) 2021-03-15 10:03:52 -07:00
Adam J. Stewart
3c493ae629 PyTorch: add missing tqdm dependency (#22289) 2021-03-15 09:55:31 -07:00
Tomoyasu Nojiri
9c7669ed67 fortrilinos: Fix trilinos depend (#22295) 2021-03-15 10:31:10 -06:00
Christoph Junghans
0c8df39fce votca-*: add v2021 (#22282) 2021-03-15 11:38:55 +01:00
a-saitoh-fj
3e4a24c878 py-aioitertools: New package (#22256)
* py-aioitertools: New package

* py-aioitertools: Fixed python dependencies, and Fixed style of code

* switch to the source build
2021-03-15 04:58:14 +00:00
Vanessasaurus
6ff717f395 do not validate variants of concrete specs in solver setup (#22272)
Currently, regardless of a spec being concrete or not, we validate its variants in `spec_clauses` (part of `SpackSolverSetup`).  

This PR skips the check if the spec is concrete.

The reason we want to do this is so that the solver setup class (really, `spec_clauses`) can be used for cases when we just want the logic statements / facts (is that what they are called?) and we don't need to re-validate an already concrete spec.  We can't change existing concrete specs, and we have to be able to handle them *even if they violate constraints in the current spack*.  This happens in practice if we are doing the validation for a spec produced by a different spack install.

Signed-off-by: vsoch <vsoch@users.noreply.github.com>
2021-03-14 19:00:15 +00:00
a-saitoh-fj
d22bad13b1 py-botocore: Update version to install py-s3fs (#22257)
* Update version to install py-s3fs

* Update the required version of py-urllib3, and Set the dependent conditions of py-docutils
2021-03-14 06:29:50 +00:00
Seth R. Johnson
5b2a54952c openblas: prevent microarch flags for generic targets (#22270)
As of OpenBLAS 0.3.13, leaving off `TARGET` by default optimizes most
code for the host system -- adding flags that cause the resulting
library to fail (SIGILL) on older systems.  This change should ensure
that a "x86_64" target for example will work across deployment systems.

https://github.com/xianyi/OpenBLAS/issues/3139
2021-03-13 11:00:15 +00:00
Vanessasaurus
746081e933 adding spack -c to set one off config arguments (#22251)
This pull request will add the ability for a user to add a configuration argument on the fly, on the command line, e.g.,:

```bash
$ spack -c config:install_tree:root:/path/to/config.yaml -c packages:all:compiler:[gcc] list --help
```
The above command doesn't do anything (I'm just getting help for list) but you can imagine having another root of packages, and updating it on the fly for a command (something I'd like to do in the near future!)

I've moved the logic for config_add that used to be in spack/cmd/config.py into spack/config.py proper, and now both the main.py (where spack commands live) and spack/cmd/config.py use these functions. I only needed spack config add, so I didn't move the others. We can move the others if there are also needed in multiple places.
2021-03-13 05:31:26 +00:00
Bryan Herman
839af2bd70 fixed ^python in py-rich, py-dvc (#22264) 2021-03-12 22:53:31 +00:00
Bryan Herman
f213cf8349 py-h5py: offline installation and deps fix (#22262)
* added h5py patch file for offline installs to work

* h5py v3+ deps consistent with setup.py, add patch
2021-03-12 19:44:37 +00:00
Chuck Atkins
474e616a5b ascent: Relax CMake version constraints (#22253) 2021-03-12 11:37:43 -08:00
Valentin Volkl
cf29ee6b2b [dd4hep] update env var (#22218) 2021-03-12 11:10:07 -07:00
Tamara Dahlgren
61baa40160 bugfix: ensure spack test list still works (#22203)
Was getting the following error:

```
$ spack test list
==> Error: issubclass() arg 1 must be a class
```

This PR adds a check in `has_test_method` (in case it is re-used elsewhere such as #22097) and ensures a class is passed to the method from `spack test list`.
2021-03-12 09:56:17 -08:00
iarspider
b2ece3abba Rivet: syntax fixes (#22225) 2021-03-12 09:52:07 -08:00
Desmond Orton
24b7aff837 Version update to 1.9.4 (#22231) 2021-03-12 09:44:10 -08:00
Brian Van Essen
8a8fad8474 LBANN software stack: new versions and dependencies (#22234)
Updated the versions for DiHydrogen and Aluminum. Added new constraints on versions of Aluminum that are used across the software stack.  Cleaned up the dependency on DiHydrogen for LBANN.
2021-03-12 10:43:13 -07:00
Sinan
650f24f4d3 add hints for dependency resolution (#22238)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2021-03-12 09:36:11 -08:00
a-saitoh-fj
5790ec5359 py-fsspec: Update version to install py-s3fs (#22259) 2021-03-12 11:31:00 -06:00
Bryan Herman
a2e9a9076f fixed when python dep in ftfy dep for py benedict (#22261) 2021-03-12 10:28:13 -07:00
Tomoyasu Nojiri
19b163e49d chai: Add 2.3.0 version (#22254) 2021-03-12 10:16:06 -07:00
a-saitoh-fj
c6440eb23c py-chainer: Add test method for ChainerMN (continued #21848, #21940) (#22189)
* py-chainer: Add test method for ChainerMN (continued #21848, #21940)

* py-chainer: Fixed the word in the message

* py-chainer: Delete unnecessary imports

* py-chainer: Incorporation of the measures pointed out in #21940 was insufficient.
2021-03-12 11:40:25 +00:00
kuramoto-fj
40147d9955 mptensor: Add test method (#21712)
* mptensor: Add test method

* mptensor: Reverted the receipe on merged style

* mptensor: Changed """ to #
2021-03-12 06:13:38 +00:00
Sergei Shudler
21b2d7109a superlu-dist: Add e4s testsuite-inspired smoke test (#22237)
* Added a smoke test for superlu-dist recipe

* Fixed small issues following a PR review
2021-03-12 04:22:34 +00:00
Paul Kuberry
e13ce390fe Add internal package options to Trilinos (#22205)
Adds several EpetraExt_BUILD_* options as well as an Amesos2_ENABLE_Basker option. Adds `none` as an option to `gotype=`, which should be among the options since 'none' is specifically handled later in the package definition.

Adds `stokhos` and `trilinoscouplings` as options in spack which already are available in CMake for Trilinos (e.g. Trilinos_ENABLE_Stokhos:BOOL=)
2021-03-11 18:23:24 -08:00
BerengerBerthoul
ca4a566443 py-pytest-html recipe (#22221)
* py-pytest-html recipe

* added missing deps + copyright

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-12 02:17:12 +00:00
Thomas Kluyver
bb4ccdfa91 Add newest versions of py-h5py (#22245)
* Add newest versions of py-h5py

* Update dependencies for py-h5py
2021-03-12 00:39:25 +00:00
Tomoyasu Nojiri
952f76bda3 r-rhdf5filters: Fix for aarch64 (#22074) 2021-03-11 17:56:55 +00:00
Tomoyasu Nojiri
ab9580c168 bind9: add missing dependencies (#22212) 2021-03-11 16:32:29 +00:00
Tomoyasu Nojiri
e11f5df7dc ctffind: update url and version directive (#22039) 2021-03-11 15:23:41 +00:00
Ye Luo
d0610f7a39 elpa: fix build of versions before 2020 with GCC >= 10 (#22182) 2021-03-11 09:43:53 +00:00
Andrew W Elble
31cf0e9c0d py-imageio: new version 2.9.0 (#22229) 2021-03-11 04:41:13 +00:00
Gabriel Rockefeller
821769c95e eospac: add patch to fix selection of compiler flags (#21626)
Patch eospac's Makefile.-linux-gnu.hashes to consider only `$(notdir
$(F90))` when constructing a key to look up compiler flags in the
_F90-CPUINFO_COMP_FLAGS associative array.

This patch was accepted into eospac itself after the release of
6.4.2beta, so apply it only to 6.4.2beta and earlier releases.
2021-03-11 01:47:13 +00:00
Benjamin Tovar
f346db83ac cctools: add v7.2.1 (#22193) 2021-03-10 21:48:29 +00:00
David Pape
f73182fd98 gearshifft: fix patch, add support for mkl and rocm (#22195)
- Fix faulty patch
- Only use GEARSHIFFT_BACKEND_FFTW_PTHREADS if ~openmp
- Explicitly disable float16 support
- Use correct minimum required Boost version
- Add variants for Intel MKL and ROCm rocfft
2021-03-10 21:03:06 +00:00
Scott Wittenburg
7b97fe206b Pipelines: Fix issue that allowed failing jobs to pass (#22199)
This is a workaround for an issue with how "spack install" is invoked from within "spack ci rebuild".  The fact that we don't get an exception or even the actual returncode when using the object returned by spack.util.executable.which('spack') to install the target spec means we get no indication of failures about the install command itself.  Instead we rely on the subsequent buildcache creation failure to fail the job.
2021-03-10 11:11:30 -08:00
Michael Kuhn
43473995ad meson: apply rpath patch for current versions (#22216)
meson now only selectively strips rpaths but can still strip required
ones (like glib's pcre dependency).
2021-03-10 18:42:39 +00:00
darmac
d2ce4b565c vigra: add master branch (#22037) 2021-03-10 17:57:35 +00:00
Danny McClanahan
f0275e84ad fix setup-env.sh on older linux zsh (#21721) 2021-03-10 09:44:50 -08:00
darmac
05dfd94ed7 haveged: new package at v1.9.13 (#22127) 2021-03-10 17:36:27 +00:00
Michael Kuhn
c65e660fbe gdk-pixbuf: add v2.42.2 (#22215) 2021-03-10 16:44:15 +00:00
Michael Kuhn
ed4a468941 gcc: fix nvptx conflict (#22214)
In the past, we only had the binutils variant, which included the
bootstrapping flag. Now that we have a separate bootstrap variant, fix
the nvptx conflict accordingly.
2021-03-10 14:52:40 +00:00
darmac
df92f73c72 mii: add v1.0.4 (#21754)
mii: 1.0.3 and 1.0.2 is deprecated, and v1.0.4 can replace them safely
2021-03-10 14:22:21 +00:00
h-denpo
fc15f85986 gearshifft: add v0.4.0, remove v0.2.1-lw (#21437)
Changed maintainer

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-03-10 11:00:36 +01:00
Andrew W Elble
81e3978759 gnutls: add v3.6.15 (#22192) 2021-03-10 10:53:35 +01:00
Andrew W Elble
f7c234f14c salmon: add v1.4.0 (#22201)
devendored (most) dependencies, added missing dependencies.
added resources and bypassed external fetching.
2021-03-10 10:30:03 +01:00
Paul Kuberry
d2e759e614 compadre: add new package (#22119) 2021-03-10 10:25:59 +01:00
h-denpo
8849312e68 pocl: updated llvm dependency to require not having flang (#22190)
depends_on("llvm +clang +shared_libs -flang @6.0:11.0", when="@1.6")
2021-03-10 10:25:10 +01:00
Tomoyasu Nojiri
8de96cde08 lxc: fix install error (#22206) 2021-03-10 10:18:34 +01:00
Tomoyasu Nojiri
114bc95526 rsyslog: fix install error (#22207) 2021-03-10 10:17:50 +01:00
Tomoyasu Nojiri
6da24dee91 satsuma2: fix install error (#22208) 2021-03-10 10:16:59 +01:00
Tomoyasu Nojiri
8ff898a95e warpx: add libs attribute to fix build on aarch64 (#22072)
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-03-10 09:13:44 +00:00
Axel Huebl
8c613fadf0 BLAS++: OpenMP for AppleClang (#22211)
We need to install OpenMP for Apple's Clang.
2021-03-10 10:12:04 +01:00
m-shunji
55c1e76408 abinit: updated patch for Fujitsu compilers (#22009) 2021-03-10 09:58:38 +01:00
eugeneswalker
1492461b8e netcdf-c@4.7.3:4.7.4 patch detection of pnetcdf for spectrum-mpi (#22180) 2021-03-09 15:11:49 -08:00
Fabian Brandt
3006da8197 Bump version libnetworkit/networkit 8.0 -> 8.1 (#22194)
Co-authored-by: FBT <fabian.brandt-tumescheit@hu-berlin.de>
2021-03-09 13:40:03 -07:00
eugeneswalker
d001a8945a nalu-wind: add cuda variant (#22184) 2021-03-09 14:19:59 -06:00
Vasileios Karakasis
efecb22845 ReFrame 3.5.0 recipe (#22196) 2021-03-09 20:12:39 +01:00
Paul Kuberry
303230fe7f Add pthread variant to kokkos-kernels (#22120) 2021-03-09 06:36:21 -07:00
Evan Felix
4d1d435330 Pacifica spack integration work (#20485)
* Add intel cluster package update2 for 2020

* add pacifica cli tools, and pager

* remove boilerplate code

* update flake8 lints

* update flake8 lint, missed one

* add a description for pager

* Shorten a line

* Remove whitespace

* check on dependencies and move urls to proper place

* Remove import package as it seems it is not required

* add requests to the uploader config

* remove blank Line

* change to build and run for packages

* add run and build to the packages

* move from url method to pypi method

* adjust requirements based on feedback from adamjstewart

* remove python 3 requirement, and add setuptools-scm

* remove dependence on python

Co-authored-by: Evan Felix <evan.felix@pnnl.gov>
2021-03-09 13:13:51 +00:00
Andrew W Elble
1fa16c1b9b kicad: add v5.1.9 (#22123)
ngspice to v34
2021-03-09 09:45:45 +01:00
darmac
26e73e848d iptraf-ng: new package at v1.2.1 (#22155) 2021-03-09 09:38:49 +01:00
darmac
2ba00262e5 hw-probe: new package at v1.5 (#22156) 2021-03-09 09:37:52 +01:00
darmac
bf4c4e9b32 ike-scan: new package at v1.9 (#22160) 2021-03-09 09:36:13 +01:00
darmac
4e185d48d1 libmacaroons: new package at v0.3.0 (#22142) 2021-03-09 09:32:35 +01:00
Adam Moody
d6fbf8ad57 scr: require dtcmp, switch from /tmp to /dev/shm (#22073) 2021-03-08 17:22:47 -08:00
a-saitoh-fj
8395df6b5b DSQSS: Add test function, and Continuation of # 21666. (#22103) 2021-03-08 17:12:25 -08:00
Harmen Stoppels
1659beb220 Fix spack graph when deptypes are filtered (#22121) 2021-03-08 16:47:00 -08:00
Glenn Johnson
ccc7ed0af9 Add --vanilla flag to r build system (#22166)
Unlike the other commands of the `R CMD` interface, the `INSTALL` command
will read `Renviron` files. This can potentially break builds of r-
packages, depending on what is set in the `Renviron` file. This PR adds
the `--vanilla` flag to ensure that neither `Rprofile` nor `Renviron` files
are read during Spack builds of r- packages.
2021-03-08 15:53:12 -07:00
Martin Pokorny
68d5f348e5 casacore: add v3.4.0 (#22163) 2021-03-08 21:26:44 +01:00
James Elliott
126ab70420 Update Cmake 3.19.x to support crayftn preprocessing (cce 11+) (#22122)
Cray added necessary functionality for CMake to support fortran preprocessing using crayftn. This patch is necessary for the current release of cmake (3.19), with this patched expected to be in the 3.20 release of Cmake. The included patch is from kitware.

see https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5882

Co-authored-by: James Elliott <jjellio@sandia.govv>
2021-03-08 10:54:46 -08:00
Phil Carns
3d17936866 v0.9.1 release of mochi-margo (#22164) 2021-03-08 11:22:03 -07:00
Thomas Madlener
bc40c3af91 Add latest versions for lcio and sio (#22173) 2021-03-08 10:17:55 -08:00
David Poliakoff
a52beca2cf Tuning variant for Kokkos packages (#22176) 2021-03-08 10:13:07 -08:00
Andrew W Elble
16adb5dd8f py-tensorflow-probability: run install from correct working dir (#22175) 2021-03-08 09:58:08 -06:00
Kai Torben Ohlhus
b642871b23 suite-sparse: add v5.9.0 (#22168)
Update homepage URL and see release notes:

- https://github.com/DrTimothyAldenDavis/SuiteSparse/releases/tag/v5.9.0
2021-03-08 10:37:08 +00:00
Tomoyasu Nojiri
c25a723d74 kmod: add --with-bashcompletiondir option (#22167) 2021-03-08 10:21:15 +01:00
Axel Huebl
90ace2d0ec catch2: add v2.13.4 (#22170)
Add the latest release of Catch2.
2021-03-08 10:20:21 +01:00
Tomoyasu Nojiri
2648fe902d bpp-seq: add v2.4.1 (#22171) 2021-03-08 10:19:54 +01:00
Tomoyasu Nojiri
39e30520ce bpp-core: add v2.4.1 (#22172) 2021-03-08 10:19:19 +01:00
Andrew W Elble
a0b5dcca3c py-tensorflow-probability: new package (#22165)
* py-tensorflow-probability: new package

* setuptools dep, quoting syntax
2021-03-08 02:23:49 +00:00
Todd Gamblin
8d3272f82d spack python: add --path option (#22006)
This adds a `--path` option to `spack python` that shows the `python`
interpreter that Spack is using.

e.g.:

```console
$ spack python --path
/Users/gamblin2/src/spack/var/spack/environments/default/.spack-env/view/bin/python
```

This is useful for debugging, and we can ask users to run it to
understand what python Spack is picking up via preferences in `bin/spack`
and via the `SPACK_PYTHON` environment variable introduced in #21222.
2021-03-07 13:37:26 -08:00
Todd Gamblin
7aa5cc241d add spack test list --all (#22032)
`spack test list` will show you which *installed* packages can be tested
but it won't show you which packages have tests.

- [x] add `spack test list --all` to show which packages have test methods
- [x] update `has_test_method()` to handle package instances *and*
      package classes.
2021-03-07 11:44:17 -08:00
darmac
e9c399110e Add new package: r-mockery (#22125) 2021-03-06 13:51:53 -06:00
darmac
18ba1b8923 Add new package: r-lobstr (#22069) 2021-03-06 03:49:39 +00:00
Vanessasaurus
ef9a607c4c libabigail: new package (#22092)
* adding package for libabigail, which we likely will need to use it for an analysis!
* includes variant for documentation (doxygen and pysphinx are associated dependencies)
2021-03-05 22:09:08 +00:00
Glenn Johnson
b5916451fd Improve R package creation (#21861)
* Improve R package creation

This PR adds the `list_url` attribute to CRAN R packages when using
`spack create`. It also adds the `git` attribute to R Bioconductor
packages upon creation.

* Switch over to using cran/bioc attributes

The cran/bioc entries are set to have the '=' line up with homepage
entry, but homepage does not need to exist in the package file. If it
does not, that could affect the alignment.

* Do not have to split bioc

* Edit R package documentation

Explain Bioconductor packages and add `cran` and `bioc` attributes.

* Update lib/spack/docs/build_systems/rpackage.rst

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

* Update lib/spack/docs/build_systems/rpackage.rst

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

* Simplify the cran attribute

The version can be faked so that the cran attribute is simply equal to
the CRAN package name.

* Edit the docs to reflect new `cran` attribute format

* Use the first element of self.versions() for url

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-05 21:19:15 +00:00
Adam J. Stewart
89a4c9bb6d gtkplus: add new version, convert to meson (#21914)
* gtkplus: add new version, convert to meson

* Add suggestions from aweits
2021-03-05 16:04:40 -05:00
Asher Mancinelli
da69f6eda8 Added support for disabling mumps in ipopt (#21592) 2021-03-05 11:32:11 -08:00
Martin Pokorny
4097a0c93f casacore: use a modern CMake's version of FindHDF5.cmake (#21882)
Remove casacore's old version of the file with a package patch()
function, and depend on a modern CMake for the build.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-03-05 16:05:37 +00:00
iarspider
ad9db839cf syscalc: fix recipe and URL (extension) (#22112) 2021-03-05 16:21:12 +01:00
David Böhme
098b7b2e50 Add Caliper 2.5.0 and Adiak 0.3.0 (#20718) 2021-03-05 15:30:57 +01:00
emai-imcs
71dd8ed265 FEniCS: update of packages to support 2019.1.0 (#21207) 2021-03-05 07:27:35 -07:00
Vasileios Karakasis
3b1b51e90d reframe: add v3.4.2 and v3.4.1, enable autocompletion (#22114) 2021-03-05 13:57:21 +00:00
Mathew Cleveland
ca3171d002 py-oppy: add v0_1_5 (#22061)
Co-authored-by: Cleveland <cleveland@lanl.gov>
2021-03-05 06:09:35 -07:00
thelfer
aa8079556a tfel: add v3.3.1, fix typo in checksum of v3.4.0 (#22062) 2021-03-05 12:27:05 +01:00
iarspider
ea45b95039 pythia6: extra patch provided by CERN's EP-SFT (#22055) 2021-03-05 04:14:36 -07:00
snehring
daf2ef9682 mcl: fixing missing extern in global variables (#22094)
Revealed by GCC 10 see https://gcc.gnu.org/gcc-10/porting_to.html
2021-03-05 12:01:18 +01:00
darmac
3c1b305752 rtags: add v2.20 (#22068) 2021-03-05 11:28:45 +01:00
Valentin Volkl
70cd948852 dd4hep: add v0.16 and geant4units variant (#22064) 2021-03-05 11:28:05 +01:00
Mark W. Krentel
290df7a14a hpcviewer: add version 2021.03 (#22107) 2021-03-05 10:08:09 +00:00
Tomoyasu Nojiri
d7c4f7b7e6 xfsprogs: add --with-systemd-unit-dir option (#22075) 2021-03-05 10:39:36 +01:00
Tomoyasu Nojiri
d3b10b04c1 freeipmi: add --with-systemdsystemunitdir option (#22096) 2021-03-05 10:38:19 +01:00
Tomoyasu Nojiri
97afb34ac3 keepalived: add --with-systemdsystemunitdir option (#22098) 2021-03-05 10:37:39 +01:00
Tomoyasu Nojiri
dc275e1f83 moosefs: add --with-systemdsystemunitdir option (#22099) 2021-03-05 10:36:32 +01:00
Tomoyasu Nojiri
346e6b3b77 rrdtool: add --with-systemdsystemunitdir option (#22100) 2021-03-05 10:30:34 +01:00
Adam J. Stewart
5fb0ff3906 py-torch: add v1.8.0 (#22101) 2021-03-05 10:21:39 +01:00
Adam J. Stewart
4261de5434 py-torchvision: add v0.9.0 (#22102) 2021-03-05 10:21:15 +01:00
Axel Huebl
c2925a1704 SLATE: Default ~cuda (#22110)
Same as BLAS++ since more GPU backends are coming and cuda
is usually off as a variant default in Spack, unless requested.
2021-03-05 10:11:16 +01:00
Tomoyasu Nojiri
03756583c3 py-python-ldap: add link dependency on cyrus-sasl (#22105) 2021-03-05 10:07:02 +01:00
Mark W. Krentel
c6b632a1f9 hpctoolkit: add version 2021.03.01 (#22106)
1. Add version 2021.03.01.
2. Cleanup the binutils dependencies now that 2.35.2 and 2.36 are available.
3. Require gcc 7.x or later for current 2021 version.
4. Simplify the xz depends to always require +pic.
   This works around a glitch in the original concretizer.
2021-03-05 10:06:11 +01:00
h-denpo
c460013a91 flexi: allow building on aarch64 (#22109) 2021-03-05 10:02:15 +01:00
Valentin Volkl
e112a26513 py-awkward1: add v1.1.2 (#22081)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-03-05 09:52:57 +01:00
Greg Becker
92b7805e40 Allow relative paths in config files (relative to file dirname) (#21996)
This allows users to use relative paths for mirrors and repos and other things that may be part of a Spack environment.  There are two ways to do it.

1. Relative to the file

    ```yaml
    spack:
      repos:
      - local_dir/my_repository
    ```

    Which will refer to a repository like this in the directory where `spack.yaml` lives:

    ```
    env/
      spack.yaml  <-- the config file above
      local_dir/
        my_repository/  <-- this repository
          repo.yaml
          packages/
    ```

2. Relative to the environment

    ```yaml
    spack:
      repos:
      - $env/local_dir/my_repository
    ```

Both of these would refer to the same directory, but they differ for included files.  For example, if you had this layout:

```
env/
    spack.yaml
    repository/
    includes/
        repos.yaml
        repository/
```

And this `spack.yaml`:

```yaml
spack:
    include: includes/repos.yaml
```

Then, these two `repos.yaml` files are functionally different:

```yaml
repos:
    - $env/repository    # refers to env/repository/ above

repos:
    - repository    # refers to env/includes/repository/ above
```
    
The $env variable will not be evaluated if there is no active environment. This generally means that it should not be used outside of an environment's spack.yaml file. However, if other aspects of your workflow guarantee that there is always an active environment, it may be used in other config scopes.
2021-03-04 22:29:48 -08:00
Larry Knox
8bdd6c6f6d hdf5: add v1.8.22. (#22089) 2021-03-04 20:04:52 +00:00
darmac
10c7831366 Add new package: perl-test-more (#22076)
* Add new package: perl-test-more

* perl-test-more: refine description
2021-03-04 10:04:57 -08:00
darmac
459b991e78 perl-test-output: new package at v1.033 (#22077) 2021-03-04 18:11:28 +01:00
Michael Kuron
7f01d1dc40 py-ase: add a build dependency on py-setuptools (#22078) 2021-03-04 18:09:37 +01:00
darmac
e9dfc50d1b py-sqlparse: add v0.4.1 (#22080) 2021-03-04 17:44:33 +01:00
Dr. Christian Tacke
04cd884c95 poke: new package at v1.0 (#22085) 2021-03-04 17:41:48 +01:00
Dr. Christian Tacke
71954d9665 xrootd: add v5.1.0 (#22084) 2021-03-04 17:39:58 +01:00
Tomoyasu Nojiri
d7dd12edab unifyfs: Fix strncpy build error of version 0.9.1 (#22066) 2021-03-04 07:46:18 -08:00
Axel Huebl
49c015e391 BLAS++: CUDA default (false) (#22067)
For opt-in packages in Spack, its common that the `cuda` variant
is disabled by default.

This also simplifies downstream usage in multi-variants for
backends in user code.
2021-03-04 12:07:48 +01:00
Mosè Giordano
7e143bab6a libblastrampoline: Add version 3.0.2 (#22065) 2021-03-04 11:05:32 +01:00
darmac
f1d0a819e9 py-adb-enhanced: update version to fix runtime error (#22036)
* py-adb-enhanced: update version to fix runtime error

* py-adb-enhanced: fix dependencies
2021-03-03 20:57:41 -06:00
Andrew W Elble
631598014a py-pycuda: new version 2020.1 (#22057)
* py-pycuda: new version 2020.1

* dep updates

* deal with lib/lib64 issue
2021-03-03 22:06:02 +00:00
Massimiliano Culpo
10e9e142b7 Bootstrap clingo from sources (#21446)
* Allow the bootstrapping of clingo from sources

Allow python builds with system python as external
for MacOS

* Ensure consistent configuration when bootstrapping clingo

This commit uses context managers to ensure we can
bootstrap clingo using a consistent configuration
regardless of the use case being managed.

* Github actions: test clingo with bootstrapping from sources

* Add command to inspect and clean the bootstrap store

 Prevent users to set the install tree root to the bootstrap store

* clingo: documented how to bootstrap from sources

Co-authored-by: Gregory Becker <becker33@llnl.gov>
2021-03-03 09:37:46 -08:00
Frédéric Simonis
6d54df1ba4 precice: add pkgconfig as a build dependency (#22059) 2021-03-03 17:10:00 +00:00
Anton Kozhevnikov
58d9f5c114 libxc: add v5.1.2 (#22056) 2021-03-03 16:52:41 +00:00
ajaust
ac66624196 py-pyprecice: Add version 2.1.1.2 and 2.2.0.1 (#22012) 2021-03-03 07:44:04 -06:00
Adam J. Stewart
d343304bdc py-pandas: add v1.2.3 (#22048) 2021-03-03 14:31:22 +01:00
Massimiliano Culpo
796588b2fd zig: add new package at v0.7.1 (#22046) 2021-03-03 13:30:41 +01:00
Olivier Cessenat
25fb753cd2 New Package: keepassxc (#21878) 2021-03-02 18:37:18 -08:00
Mark Olesen
0c38c86403 openfoam: disable FPE handling for Fujitsu compiler (#21769)
- as outlined in merge-request #21336 some clang compilers
  can trigger erroneous floating point exceptions.

  OpenFOAM normally traps FPE, but disable this in the etc/controlDict
  for specific compilers:

      change "trapFpe digit;" -> "trapFpe 0;"

  Eliminate previous use of FOAM_SGIFPE env variable in favour of
  using the etc/controlDict setting - cleaner and robuster.

Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2021-03-02 22:01:20 +01:00
rexcsn
16c07e6abd aws-parallelcluster v2.10.2 (#22047)
Signed-off-by: Rex <shuningc@amazon.com>
2021-03-02 13:55:49 -06:00
Desmond Orton
8e1b62ee68 New package at r-spades at 2.0.6 (#21784) 2021-03-02 11:10:02 -07:00
Dr. Christian Tacke
c7306db061 geant4(-data): Add version 10.7.1 (#22044)
Notably, this patch release adds a new version of
g4particlexs.
2021-03-02 16:57:46 +00:00
Seth R. Johnson
136fa9c203 vecgeom: add v1.1.12 (#22041) 2021-03-02 14:29:16 +00:00
Harmen Stoppels
dc5022a9d9 openssl: introduce ~docs to make installation smaller (#21962) 2021-03-02 14:58:59 +01:00
Phil Carns
eeff906ccc bmi: update url and repo location (#21992) 2021-03-02 10:38:52 +00:00
Phil Carns
ae19ddbfcb mochi-margo: the official repo is on github now (#22029) 2021-03-02 10:28:33 +00:00
Eisuke Kawashima
1e0d311547 dftd4: add new package at v3.1.0 (#22007) 2021-03-02 10:11:45 +00:00
Adam J. Stewart
50ffb4b868 Assert the use of the patch directive with a non-existing file will fail (#21524) 2021-03-02 09:58:47 +00:00
Massimiliano Culpo
61e00ac1e1 nim: add v1.4.4 (#22004) 2021-03-02 09:42:05 +00:00
a-saitoh-fj
71df23406d eigenexa : use an interpreter explicitly to execute test script (#21896) 2021-03-02 10:02:56 +01:00
ketsubouchi
60e64bac0a virtuoso: add new package (#21793) 2021-03-02 09:50:49 +01:00
Olivier Cessenat
880bb06cbf octave: provides fltk with opengl, adds qscintilla (#21903) 2021-03-02 09:47:00 +01:00
h-denpo
fac785914b py-fava: Removed the importlib dependencyfrom py-fava. (#22035)
It isn't needed.
2021-03-01 23:10:02 -06:00
h-denpo
9575531f2a py-importlib: Python 2.7 is needed to build. (#22034)
* py-importlib: Python 2.7 is needed to build.

added     depends_on('python@2.7.0:2.7.99')

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-01 23:09:31 -06:00
h-denpo
83ca1b153f py-azureml-dataprep-rslex: install only x86_64 (#22033)
* py-azureml-dataprep-rslex: install only x86_64

* py-azureml-dataprep-rslex:  Moved the conflit part.
2021-03-02 03:39:56 +00:00
Desmond Orton
671878740c Version update with url to checksum all versions (#22027) 2021-03-01 16:23:49 -08:00
Paul Ferrell
88f7a00f2d Paraview compatibility with PugiXML varies by version. (#21732) 2021-03-01 16:06:34 -08:00
Ethan Stam
b2e0bc1ae7 paraview: add python to rpath (#21768) 2021-03-01 16:00:44 -08:00
Paul
bd94458552 Added Go versions 1.16 and 1.15.8 (#22016) 2021-03-01 15:22:12 -08:00
eugeneswalker
36ae5ac6ef kokkos package: +cuda requires +wrapper when compiler is not clang (#21941)
This check is performed in cmake_args rather than with a 'conflicts'
statement because matching on !clang (i.e. any compiler that is not
clang) cannot currently be done with our spec syntax.
2021-03-01 14:54:14 -08:00
mic84
d7595d6703 amrex: new version 21.03 (#22028) 2021-03-01 14:46:37 -08:00
ketsubouchi
f1ef260b47 alps: add smoke test (#21834) 2021-03-01 14:40:01 -08:00
Andrew W Elble
4d37b384f5 py-torch-geometric: new version 1.6.3 (#22024)
* py-torch-geometric: new version 1.6.3

* setuptools
2021-03-01 20:33:23 +00:00
Simon Frasch
df42c0b4b6 spla: added version 1.3.0 (#22013) 2021-03-01 20:15:16 +00:00
Andrew W Elble
f5beee76c8 py-tensorboardx: update package (#22026)
v2.1
2021-03-01 13:58:29 -06:00
Andrew W Elble
20fdab7f02 py-yacs: new package (#22020) 2021-03-01 13:56:54 -06:00
mic84
651df70213 amrex: must use AMReX_CUDA_ARCH for version > 20.11 (#22025) 2021-03-01 11:45:04 -08:00
William Downs
1ac2cc5081 intel-mpi: add version 2019.9.304 and 2019.10.317 (#22017) 2021-03-01 11:40:41 -08:00
Andrew W Elble
81b77873e7 py-lap: new package (#22021)
* py-lap: new package

* dep versions
2021-03-01 19:24:36 +00:00
Andrew W Elble
987b5a5b6f py-motmetrics: new package (#22023)
* py-motmetrics: new package

* dep updates
2021-03-01 19:03:03 +00:00
Andrew W Elble
1abfebb5e9 py-cython-bbox: new package (#22022)
* py-cython-bbox: new package

* pypi url fix
2021-03-01 19:01:57 +00:00
Brian Van Essen
44ed19daa4 Put a guard in to check if a match was found (#21576) 2021-03-01 10:12:51 -08:00
Mark W. Krentel
14c1d58b5a binutils: add versions 2.35.2 and 2.36.1 (#22019)
Starting with 2.36, the Makefiles are missing some dependencies for
linking libctf and thus require serial make install.
2021-03-01 08:53:55 -08:00
AMD Toolchain Support
afb7e57d20 ucx: added variants to support IB, mlx etc (#21876)
Co-authored-by: mohan babu <mohbabul@amd.com>
2021-03-01 16:11:37 +01:00
Adam J. Stewart
c529ccaab0 py-geopandas: add v0.9.0 (#22005) 2021-03-01 14:35:16 +01:00
h-denpo
890a93bbcd gchp: patch for aarch64 (#22010) 2021-03-01 09:06:08 +01:00
Mosè Giordano
62f8087716 libblastrampoline: Add version 3.0.1 (#22002) 2021-02-27 18:31:59 +01:00
Scott Wittenburg
704eadbda1 Temporarily reduce pr stack size (#21998)
Gitlab pipelines fixes

* add arch tag to avoid picking up UO power9 runners
* temporarily reduce PR workload
2021-02-27 09:43:29 -07:00
Robert Pavel
d5f50203d1 Removed MPI variant from ebms (#21938) 2021-02-27 13:15:57 +01:00
iarspider
5abc7e59d1 Rivet updates and improvements (#21843) 2021-02-27 13:13:08 +01:00
iarspider
edeb6c52f0 Openblas: add experimental BIGNUMA flag (#21393) 2021-02-27 13:06:29 +01:00
Tamara Dahlgren
e775cbb0c0 Raise InstallError if any explicit specs is skipped (#21980) 2021-02-27 09:21:56 +01:00
Adam J. Stewart
ede100bf16 kcov: elfutils not needed on macOS (#21993) 2021-02-26 19:25:59 -06:00
Satish Balay
a87aa49fbf petsc/petsc4py/slepc: switch default git branch from 'master' to 'main' (#22001) 2021-02-27 01:17:37 +00:00
Sebastian Mobo
4f84721dc1 boost: Patch B2 bootstrap step to use correct toolchain (#21408) 2021-02-26 17:46:37 -06:00
Andrew W Elble
f2f58b70b1 nccl-tests: respect cuda_arch variant during build (#21995) 2021-02-26 15:38:20 -08:00
Ryan Viertel
f957f1936c adds flag to turn off NLOPT_OCTAVE in CMAKE when -octave (#21997) 2021-02-26 15:35:09 -08:00
Desmond Orton
5492e549a5 New package r-spades-tools at 0.3.6 (#21783) 2021-02-26 23:25:47 +00:00
Gregory Lee
b56d65fce5 Compilers: make oneapi ifx version_regex tolerant to wrappers (#21742)
If a user creates a wrapper for the ifx binary called ifx_orig,
this causes the ifx --version command to produce:

$ ifx --version
ifx_orig (IFORT) 2021.1 Beta 20201113
Copyright (C) 1985-2020 Intel Corporation. All rights reserved.

The regex for ifx currently expects the output to begin with
"ifx (IFORT)..." so the wrapper would not be detected as ifx. This
PR removes the need for the static "ifx" string which allows wrappers
to be detected as ifx.

In general, the Intel compiler regexes do not include the invoked
executable name (i.e., ifort, icc, icx, etc.), so this is not
expected to cause any issues.
2021-02-26 14:57:40 -08:00
eugeneswalker
590457cf7f amrex: use right cmake_args for @develop; depends_on(hypre) for link (#21892)
* amrex package: use right cmake_args for @develop; depends_on(hypre)

* add explicit depends_on for petsc, for link, when +petsc
2021-02-26 13:53:31 -08:00
mic84
2fd8612f21 amrex: +hypre and +petsc do not need +fortran from version 20.08 (#21994) 2021-02-26 13:52:57 -08:00
Desmond Orton
f22caeca36 Package/r circstats (#21966) 2021-02-26 14:57:56 -06:00
iarspider
1a45bdb036 FastJet: fix patch level (#21936) 2021-02-26 19:21:08 +00:00
Adam J. Stewart
a6396d6190 py-metpy: add new package (#21971) 2021-02-26 18:51:16 +00:00
Olivier Cessenat
2484ed0281 Qscintilla: added v2.12.0, fixed build (#21902) 2021-02-26 18:13:25 +00:00
Olivier Cessenat
5578c07b51 asciidoc: sourceforge a2x needs python2, adds more recent for py3 (#21807)
* asciidoc: current sourceforge a2x needs python2, new github release python3

* asciidoc: current sourceforge a2x needs python2, new github release python3

* asciidoc: making python 2.3 to 2.7 able to cope with asciidoc

* asciidoc: current sourceforge a2x needs python2, new github release python3

* asciidoc: current sourceforge a2x needs python2, new github release python3

* asciidoc: current sourceforge a2x needs python2, new github release python3

* asciidoc: current sourceforge a2x needs python2, new github release python3
2021-02-26 10:04:36 -06:00
Adam J. Stewart
046861c4ef xkbcomp: add v 1.4.4 (#21981) 2021-02-26 15:55:06 +00:00
Dan Lipsa
18f094efe9 sensei: add versions and fix dependencies (#21452)
* Fix sensei@develop

Should work with all options but libsim.
Current releases don't work with ~catalyst
See
https://gitlab.kitware.com/sensei/sensei/-/merge_requests/240
for the fix for develop.
Current releases work only with paraview 5.7 and 5.6
See
https://gitlab.kitware.com/sensei/sensei/-/merge_requests/239
for the fix for develop (which works with 5.9)

* Fix libsim.

* Fix warnings.

* Fix python runtime.

* Many changes:

* Reworked cmake options top use the CMakePackage option helpers
* Simplified and consolidated options
* Replaced adios with adios2 variant
* Added vtkm variant (not yet working)

* paraview: Fix downstream consumers getting the wrong FindMPI

* vtk: Fix downstream consumers getting the wrong FindMPI

* Add +ascent, +adios2; remove +adios; variants off by default

* Fix catalyst python logic

* sensei: cleanup formatting

Co-authored-by: Chuck Atkins <chuck.atkins@kitware.com>
2021-02-26 10:52:41 -05:00
Tomoyasu Nojiri
b6ac3bb6d7 ncl: allow building on aarch64 (#21984) 2021-02-26 15:39:08 +00:00
eugeneswalker
c2784b2d41 amr-wind: new package (#21883)
* amr-wind: new package

* amr-wind: simplify cuda_arch mapping

* simplify
2021-02-26 07:15:08 -08:00
Tomoyasu Nojiri
5900bf6890 warpx: fix typos in a few dependency conditions (#21982) 2021-02-26 11:15:46 +00:00
Harmen Stoppels
459171b973 berkeley-db: do not install docs by default (#21960)
* Add an option to not install 100MB of docs

* Add deprecations of versions that are removed and add conflicts for 5.3
2021-02-26 10:44:14 +01:00
Adam J. Stewart
7cfde8f514 py-xarray: add new variant 'io' (#21945) 2021-02-26 10:41:14 +01:00
Adam J. Stewart
b4520676dd c-blosc: add v1.21.0 (#21968) 2021-02-26 10:33:39 +01:00
Adam J. Stewart
2e178be890 Python: add new versions (#21969) 2021-02-26 10:31:57 +01:00
Adam J. Stewart
f87f006e7b py-importlib-resources: add v5.1.0 (#21970) 2021-02-26 10:31:36 +01:00
Adam J. Stewart
229c6ae277 py-pooch: add new package (#21972) 2021-02-26 10:30:18 +01:00
Axel Huebl
46905bb445 openPMD-api: use cmake helpers (#21973)
Modernize the `openpmd-api` package to use fancy new `CMakePackage`
helpers when setting options from variants :-)
2021-02-26 10:29:52 +01:00
Erik Schnetter
f28ca41d02 hwloc: add v2.4.1 (#21978) 2021-02-26 10:19:32 +01:00
h-denpo
19d34b0afa dbow2: add a dependency on eigen (#21663) 2021-02-26 10:19:03 +01:00
eugeneswalker
e88fc38cfe hypre: enable cuda variants (#21885) 2021-02-26 10:17:35 +01:00
Harmen Stoppels
27ef9f0e07 CMake: add a "build_type" variant (#21958)
This permits to use MinSizeRel or other build types
where they are a better fit.
2021-02-26 09:49:00 +01:00
ketsubouchi
b13a506090 cpmd: add expected smoke test check output (#21668) 2021-02-26 09:29:10 +01:00
Andreas Baumbach
bbed6dc9a1 make spack fetch work with environments (#19166)
* make `spack fetch` work with environments
* previously: `spack fetch` required the explicit statement of
              the specs to be fetched, even when in an environment
* now: if there is no spec(s) provided to `spack fetch` we check
       if an environment is active and if yes we fetch all
       uninstalled specs.
2021-02-26 08:02:17 +00:00
Gregory Lee
6c12b64873 added waylaynd-protocols package (#21979) 2021-02-26 07:24:53 +00:00
Glenn Johnson
c6413c8925 Revert "New package r-circstat@0.2-6 (#21777)" (#21974)
This reverts commit 61c8bc2b19.
2021-02-26 03:39:58 +00:00
Greg Becker
cedbded9d7 typo fix (#21967) 2021-02-25 19:10:55 -08:00
Daryl W. Grunau
55eae72bb0 pegtl: manage options to build examples and tests when run_tests (#21866)
Co-authored-by: Daryl W. Grunau <dwg@lanl.gov>
2021-02-25 17:06:02 -08:00
Michael Kuron
4453058862 Old concretizer: prevent unexpected propagation of external config (#20976)
When using an external package with the old concretizer, all
dependencies of that external package were severed. This was not
performed bidirectionally though, so for an external package W with
a dependency on Z, if some other package Y depended on Z, Z could
still pull properties (e.g. compiler) from W since it was not
severed as a parent dependency.

This performs the severing bidirectionally, and adds tests to
confirm expected behavior when using config from DAG-adjacent
packages during concretization.
2021-02-25 15:42:40 -08:00
Valentin Churavy
476444c592 [flux-core] add -Wno-errpr=maybe-uninitialized (#21943)
Co-authored-by: Stephen Herbein <SteVwonder@users.noreply.github.com>
2021-02-25 22:55:42 +00:00
Desmond Orton
87dd060c20 New package r-spades-addins at 0.1.2 (#21781) 2021-02-25 22:12:54 +00:00
Andrew W Elble
8071be81c4 py-tensorflow: disable h5py/hdf5 mpi variant(s) if tensorflow is ~mpi (#21955) 2021-02-25 22:08:00 +00:00
eugeneswalker
e8f51c6892 tioga: add variants: +cuda and more (#21884) 2021-02-25 12:47:01 -08:00
Sergey Kosukhin
177117745f hdf5: drop support for libtool files (#21900) 2021-02-25 20:41:41 +00:00
Michael Kuhn
0754d101d2 meson: add 0.57.1 (#21959) 2021-02-25 20:29:56 +00:00
Harmen Stoppels
e25a7be5b8 openmpi: add perl as a build dependency (#21956) 2021-02-25 19:00:43 +00:00
Axel Huebl
d05e0dfeef WarpX: CMake (#21787)
* New Package: py-picmistandard

* New Package: py-warpx

* WarpX: Transition to CMake
2021-02-25 19:54:52 +01:00
Adam J. Stewart
62662591ea py-pydap: add new package (#21948) 2021-02-25 12:13:21 -06:00
Olivier Cessenat
b48de4baa7 harfbuzz: dependency assumed cairo was compiled with +pdf and +ft (#21954) 2021-02-25 17:42:57 +00:00
h-denpo
f0e5c96746 libpulsar: added dependency on curl (#21950) 2021-02-25 13:39:38 +00:00
iarspider
22539f443e Fix recipe for evtgen 2.0; add variant for hepmc3 (#21814) 2021-02-25 14:13:04 +01:00
Steven Smith
3c26084d2e gridlab-d: specify xerces prefix (#21867) 2021-02-25 13:59:36 +01:00
ronin-gw
f9f5f8676e w3m: new package at v0.5.3 (#21641) 2021-02-25 13:42:26 +01:00
Harmen Stoppels
a8808b473a Update fuse packages (#21901)
Allow libfuse to build without setuid binary and bump versions of both
libfuse and fuse-overlayfs.

Still doesn't solve the issue where this package tries to install things
into /etc/init.d though.
2021-02-25 13:40:01 +01:00
Harmen Stoppels
cf6aeace42 openblas: add perl as a build dependency (#21908) 2021-02-25 13:38:15 +01:00
Harmen Stoppels
a42d5357c3 libxc: add perl as a build dependency (#21906) 2021-02-25 13:34:09 +01:00
Harmen Stoppels
a258d40c28 kcov: add missing dependency (#21932)
kcov CMakeLists.txt generates the "kcov" executable only if
certain dependencies are found. These dependencies are 
"libbfd", "libopcodes" and "libiberty", hence the dependency 
on binutils.
2021-02-25 11:55:56 +01:00
Adam J. Stewart
127a630ba3 py-numcodecs: add v0.7.3, apple clang patch (#21944)
* py-numcodecs: add new version, apple clang patch

* py-numcodecs: add new version, apple clang patch
2021-02-25 11:33:38 +01:00
Adam J. Stewart
719bdb1673 py-cfgrib: new package at v0.9.8.5 (#21946) 2021-02-25 11:32:56 +01:00
Adam J. Stewart
7a3d216318 py-h5netcdf: new package at v0.10.0 (#21947) 2021-02-25 11:32:26 +01:00
Adam J. Stewart
8ec646b6b1 py-webob: new package at v1.8.7 (#21949) 2021-02-25 10:31:33 +00:00
Mosè Giordano
1a11a17453 libblastrampoline: Add version 3.0.0 (#21939) 2021-02-25 05:08:37 +00:00
Desmond Orton
ce5e2b5368 New package r-spades-core at 1.0.5 (#21782) 2021-02-25 05:04:04 +00:00
eugeneswalker
1d7fc4cbe1 llvm-doe+lldb: @doe: fix improper set of LLDB_ENABLE_PYTHON (#21935) 2021-02-24 19:59:12 -08:00
Adam J. Stewart
2b201ba401 Overhaul xgboost packages (#21661)
* Overhaul xgboost packages
* Don't deprecate xgboost 0.90
* Add py-xgboost@0.90, but deprecate it
* extras_require added in 1.0.0
* Deprecate py-dask-xgboost
* Simplify setting cuda arch
2021-02-25 03:42:17 +00:00
Matthijs van Waveren
d55384a46d libjpeg: add version 9d (#21819)
* Update package libjpeg

* Change order and remove empty line.

* emove space
2021-02-25 03:20:04 +00:00
Adam J. Stewart
79e575067c font-util: fix typo in default fonts (#21933) 2021-02-25 03:10:27 +00:00
Adam J. Stewart
f74670e210 py-azureml-dataprep: add new version (#21919) 2021-02-25 00:31:05 +00:00
Desmond Orton
e554433ca9 New package r-qs at 0.23.5 (#21779) 2021-02-24 23:12:56 +00:00
Olivier Cessenat
92a4576644 Silo: fix build errors with +silex on ubuntu18.04(#21877) 2021-02-24 15:45:53 -05:00
Rémi Lacroix
d153978fc7 Silo: Update URLs (#21880) 2021-02-24 20:41:04 +00:00
Massimiliano Culpo
29201814cc Run clingo-cffi tests in a container (#21913)
There clingo-cffi job has two issues to be solved:

1. It uses the default concretizer
2. It requires a package from https://test.pypi.org/simple/

The former can be fixed by setting the SPACK_TEST_SOLVER
environment variable to "clingo".

The latter though requires clingo-cffi to be pushed to a
more stable package index (since https://test.pypi.org/simple/
is meant as a scratch version of PyPI that can be wiped at
any time).

For the time being run the tests in a container. Switch back to
PyPI whenever a new official version of clingo will be released.
2021-02-24 12:33:14 -08:00
Adam J. Stewart
58241c2bbd py-azureml-train: add new version (#21929) 2021-02-24 21:15:35 +01:00
Adam J. Stewart
c54f3aca39 py-azureml-train-restclients-hyperdrive: add new version (#21928) 2021-02-24 21:15:24 +01:00
Adam J. Stewart
7e6b3344d8 py-azureml-train-core: add new version (#21927) 2021-02-24 21:15:02 +01:00
Adam J. Stewart
ec81005716 py-azureml-train-automl-client: add new version (#21926) 2021-02-24 21:14:52 +01:00
Adam J. Stewart
7ca5eb8976 py-azureml-telemetry: add new version (#21925) 2021-02-24 21:14:30 +01:00
Adam J. Stewart
64d44f2fa4 py-azureml-sdk: add new version (#21924) 2021-02-24 21:14:12 +01:00
Adam J. Stewart
5506777052 py-azureml-pipeline: add new version (#21923) 2021-02-24 21:13:56 +01:00
Adam J. Stewart
c947b5e43e py-azureml-pipeline-steps: add new version (#21922) 2021-02-24 21:13:43 +01:00
Adam J. Stewart
d11052603e py-azureml-pipeline-core: add new version (#21921) 2021-02-24 21:13:29 +01:00
Adam J. Stewart
a470064a6a py-azureml-dataset-runtime: add new version (#21920) 2021-02-24 21:13:11 +01:00
Adam J. Stewart
ae09be9cdc py-azureml-dataprep-native: add new version (#21918) 2021-02-24 21:11:39 +01:00
Adam J. Stewart
b9e445cb56 py-azureml-core: add new version (#21917) 2021-02-24 21:11:13 +01:00
Adam J. Stewart
49985316ab py-azureml-automl-core: add new version (#21916) 2021-02-24 21:10:39 +01:00
Adam J. Stewart
86d3b062fe py-azureml-dataprep-rslex: add new package (#21915) 2021-02-24 21:10:22 +01:00
eugeneswalker
dff08f327f libcircle: needs libpciaccess (link dep) (#21648) 2021-02-24 20:35:00 +01:00
eugeneswalker
e3b3faca70 rempi-needs-libpciaccess (link dep) (#21652) 2021-02-24 20:34:22 +01:00
Desmond Orton
369e6e25ac New package r-rapiserialize at 0.1.0 (#21780) 2021-02-24 19:15:49 +00:00
Paul Ferrell
e85a8cde37 Config prefer upstream (#21487)
This allows for quickly configuring a spack install/env to use upstream packages by default. This is particularly important when upstreaming from a set of officially supported spack installs on a production cluster. By configuring such that package preferences match the upstream, you ensure maximal reuse of existing package installations.
2021-02-24 10:57:50 -08:00
kuramoto-fj
d65002a676 n2p2: Add new package (#21709)
* n2p2: Add new package

* remove ,

* Resurrection of , and changed " to single

* changed example.command to example.co

* n2p2: Added v2.1.1

* n2p2: Changed the type of depends_on.
2021-02-24 10:35:27 -06:00
Harmen Stoppels
e53595c0dc Fix target selection in rocfft (#21858) 2021-02-24 10:42:09 +01:00
Harmen Stoppels
4a9c8ec1ad HIP: document variables, apply patches to older versions, fix build issues (#21852)
Since there are many variables being set I thought it would be a good idea to document them better and slightly simplify the logic for external vs not-external.
2021-02-24 10:37:16 +01:00
Robert Blake
0389f51bd7 numactl: no-op needed if configure can't find TLS (#21894)
* numactl: Bash needs no-op if configure can't find TLS

* Upstream has fix, will be out in next version.

https://github.com/numactl/numactl/pull/103
2021-02-23 19:13:22 -08:00
Desmond Orton
61c8bc2b19 New package r-circstat@0.2-6 (#21777) 2021-02-23 20:57:22 -06:00
Desmond Orton
df3caef9aa New package r-fastdigest at 0.6-3 (#21778) 2021-02-23 20:54:19 -06:00
Scott Wittenburg
ee5992783c Gitlab fix pr workflow (#21786)
Fixes for gitlab pipelines

* Remove accidentally retained testing branch name
* Generate pipeline w/out debug mode
* Make jobs interruptible for auto-cancel pending
* Work around concretization conflicts
2021-02-23 19:19:06 -07:00
Desmond Orton
a7ddaa67de New version r-stringfish at 0.14.2 (#21785) 2021-02-23 20:16:08 -06:00
Rémi Lacroix
f6b61621e5 Sph2pipe: Update URL (#21886) 2021-02-23 18:13:08 -08:00
Carlos Bederián
e841a41357 julia: Add 1.5.3 (#21891) 2021-02-23 18:06:29 -08:00
Josh Essman
93ed1a410c Updates to support clingo-cffi (#20657)
* Support clingo when used with cffi

Clingo recently merged in a new Python module option based on cffi.

Compatibility with this module requires a few changes to spack - it does not automatically convert strings/ints/etc to Symbol and clingo.Symbol.string throws on failure.

manually convert str/int to clingo.Symbol types
catch stringify exceptions
add job for clingo-cffi to Spack CI
switch to potassco-vendored wheel for clingo-cffi CI
on_unsat argument when cffi
2021-02-23 23:46:37 +00:00
Phil Tooley
6622856076 use package supplied autogen.sh (#20319) 2021-02-23 15:20:49 -08:00
Nathan Hanford
8ef67e2b15 New splice method in class Spec. (#20262)
* Spec.splice feature

Construct a new spec with a dependency swapped out. Currently can only swap dependencies of the same name, and can only apply to concrete specs.

This feature is not yet attached to any install functionality, but will eventually allow us to "rewire" a package to depend on a different set of dependencies.

Docstring is reformatted for git below

Splices dependency "other" into this ("target") Spec, and return the result as a concrete Spec.

If transitive, then other and its dependencies will be extrapolated to a list of Specs and spliced in accordingly.

For example, let there exist a dependency graph as follows:

        T
        | \
        Z<-H

In this example, Spec T depends on H and Z, and H also depends on Z.

Suppose, however, that we wish to use a differently-built H, known as H'. This function will splice in the new H' in one of two ways:

1. transitively, where H' depends on the Z' it was built with, and the new T* also directly depends on this new Z', or
2. intransitively, where the new T* and H' both depend on the original Z.

Since the Spec returned by this splicing function is no longer deployed the same way it was built, any such changes are tracked by setting the build_spec to point to the corresponding dependency from the original Spec.

Co-authored-by: Nathan Hanford <hanford1@llnl.gov>
2021-02-23 13:56:00 -08:00
ketsubouchi
21349a4d25 redland bindings: new package at v1.0.17.1 (#21838) 2021-02-23 21:36:34 +01:00
Peter Scheibel
76b1d97ca5 "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-02-23 11:45:50 -08:00
Peter Scheibel
e72ad6223a reduce strictness of directory layout spec-equality check (#21869) 2021-02-23 09:53:07 -08:00
Brian Van Essen
f9ff80e213 lbann: updated python dependencies and new variants (#21863)
* Made DiHydrogen a required dependencies on newer versions of LBANN.
Added an explicit variant for enabling Boost-dependent callbacks.
Updated the separation for embedded Python and the Python front end
code and associated dependencies.

* Bugfix on ROCm include in DiHydrogen
2021-02-23 17:09:46 +00:00
Olivier Cessenat
9f9de3bcba octave-arduino: new package at v0.2.0 (#21874) 2021-02-23 13:55:22 +01:00
Harmen Stoppels
0664b90751 Drop compiler variables from spack load (#21699)
Drops:

* C_INCLUDE_PATH
* CPLUS_INCLUDE_PATH
* LIBRARY_PATH
* INCLUDE

We already decided to use C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, INCLUDE over CPATH here:

https://github.com/spack/spack/pull/14749

However, none of these flags apply to Fortran on Linux. So for consistency it seems better to make the user use -I and -L flags by hand or through pkgconfig.
2021-02-23 13:35:19 +01:00
eugeneswalker
b1ae7592ca margo is now mochi-margo (#21851)
unifyfs dependency margo is now mochi-margo following deprecation commit c55406a
2021-02-23 11:15:32 +01:00
Olivier Cessenat
b185a2c24c octave-instrctl: new package at v0.3.1 (#21845) 2021-02-23 11:14:07 +01:00
Olivier Cessenat
ccb4e3da05 octave-optim: add v1.6.1 (#21844) 2021-02-23 11:13:38 +01:00
Olivier Cessenat
837917be53 octave-struct: add v1.0.17 (#21846) 2021-02-23 11:13:17 +01:00
Olivier Cessenat
8ebbf80d15 octave-splines: new version 1.3.3 (#21847) 2021-02-23 10:40:04 +01:00
Satish Balay
a3c9d1b501 xsdk: update build to follow strumpack change (#21871)
Change happened in 671f0ff32b
2021-02-23 10:22:44 +01:00
Olivier Cessenat
56af6ac79f octave-signal: new package at v1.4.1 (#21872) 2021-02-23 10:20:04 +01:00
Olivier Cessenat
ce7cb8bfc7 octave-statistics: new package at v1.4.2 (#21873) 2021-02-23 10:17:07 +01:00
Axel Huebl
bcc370102f openblas: add "locking" variant, updated blaspp (#21770)
BlasPP by ECP SLATE will fail to install by default
(`spack install blaspp`) because:
- the default BLAS installation in Spack is OpenBLAS
- BlasPP conflicts with `threads=none` for all recent OpenBLAS releases

OpenBLAS introduced a threadsafe compile option
with 0.3.7+ aka `USE_LOCKING`:
```
   61 # If you want to build a single-threaded OpenBLAS, but expect to call this
   62 # from several concurrent threads in some other program, comment this in for
   63 # thread safety. (This is done automatically for USE_THREAD=1 , and should not
   64 # be necessary when USE_OPENMP=1)
   65 # USE_LOCKING = 1
```

According to tests, with `spack install --test root blaspp`,
this exactly addresses the issues in BlasPP tests.

It also seems to be a good option to set by default for OpenBLAS and
users that do not need this safety net can always disable it.

Solve issues with newer OpenBLAS by requiring
`+locking` over none-default threading options.
2021-02-23 09:16:02 +01:00
Massimiliano Culpo
7226bd64dc Improve error message for inconsistencies in package.py (#21811)
* Improve error message for inconsistencies in package.py

Sometimes directives refer to variants that do not exist.
Make it such that:

1. The name of the variant
2. The name of the package which is supposed to have
   such variant
3. The name of the package making this assumption

are all printed in the error message for easier debugging.

* Add unit tests
2021-02-22 19:09:43 -08:00
Todd Gamblin
56e57769bd Merge tag 'v0.16.1' into develop 2021-02-22 17:41:46 -08:00
Brian Van Essen
c9246af112 Adding support for ROCm for the LBANN software stack. (#21716)
* Also removed LBANN CUDA CMake flags that are set by the
version of Hydrogen that is compiled against.

* Updated recipes to use HWLOC 2.3 with ROCm to enable
topology awareness.

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2021-02-22 23:35:58 +01:00
Greg Becker
482a1a86be respect -k/verify-ssl-false in _existing_url method (#21864) 2021-02-22 22:00:59 +00:00
emai-imcs
73da7b6de6 py-fenics-ffc: new package to support fenics (#21862)
* new Python FFC package to support FEniCS 2018 onwards

* added py-dijitso dependency

* added fenics python ffc package
2021-02-22 15:10:28 -06:00
Andrew W Elble
08054ffce7 py-torch: ensure libtorch_global_deps is linked with the c++ library (#21860)
* py-torch: ensure libtorch_global_deps is linked with the c++ library

* add comment with upstream issue
2021-02-22 19:02:10 +00:00
eugeneswalker
04a8e59872 amrex: add +pic variant (#21849) 2021-02-22 10:54:00 -08:00
Sergei Shudler
671f0ff32b STRUMPACK: Add e4s testsuite-inspired smoke test (#21705) 2021-02-22 10:46:04 -08:00
Olivier Cessenat
0dbb90b565 New Package: octave-quaternion (#21855) 2021-02-22 10:08:45 -08:00
Olivier Cessenat
3069512b13 New Package: octave-io (#21850) 2021-02-22 10:06:57 -08:00
Olivier Cessenat
6aacdbbc76 New Package: octave-gsl (#21854) 2021-02-22 09:46:29 -08:00
Olivier Cessenat
f7dae98eed New Package: octave-quaternion (#21856) 2021-02-22 09:43:46 -08:00
Olivier Cessenat
7e144b6841 New Package: octave-symbolic (#21857) 2021-02-22 09:42:50 -08:00
Harmen Stoppels
3d051ef5b3 Fix typo (#21859) 2021-02-22 09:23:04 -08:00
a-saitoh-fj
920a65a765 New package: py-dask-xgboost (#21583)
* New package: py-dask-xgboost

* py-dask-xgboost: Fixed what was pointed out
2021-02-22 10:39:48 -06:00
Tomoki, Karatsu
f6b0f52fb2 py-dask-ml: add new package. (#21831)
* py-dask-ml: add new package.

* Modified to PythonPackage.

* Remove test-related dependencies.

* Changed to execute docs build after install.
2021-02-22 10:32:39 -06:00
ketsubouchi
251e4e30b3 redland: new package at v 1.0.17 (#21837) 2021-02-22 12:29:59 +00:00
ketsubouchi
3a5ee398f4 rasqal: add new package at v0.9.33 (#21836) 2021-02-22 09:51:45 +00:00
Olivier Cessenat
074a6f224f harfbuzz: allows compilation standard being set properly for gcc (#21810) 2021-02-22 10:50:25 +01:00
Olivier Cessenat
075bb3bb96 mapnik: now compiles smoothly on recent gcc thanks to harfbuzz package altered (#21812) 2021-02-22 10:39:50 +01:00
takanori-ihara
10c9cac498 eigenexa: fix build error and add test method (#21692) 2021-02-22 10:36:44 +01:00
iarspider
4f65f60045 yoda: add v1.8.5, tighten cython dependency (#21832) 2021-02-22 10:20:08 +01:00
Olivier Cessenat
830ee07874 qrupdate: use the requested compiler from Spack (#21841)
qrupdate did hard set FC=gfortran

Parallel compilation is now allowed calling $(MAKE) instead of 
make for subprocess see:
https://stackoverflow.com/questions/24818095/warning-forced-in-submake-in-parallel-execution-of-make

The build phase is split since the process always requires a target.
2021-02-22 09:17:46 +00:00
Olivier Cessenat
7c65f03db7 octave: add v6.2.0 (#21833) 2021-02-22 10:15:20 +01:00
kuramoto-fj
8e8c599299 pfapack: forbid building in parallel (#21826)
There are cases where parallel build fails.
2021-02-22 10:04:29 +01:00
ketsubouchi
14ad4fe5fb raptor2: new package at v2.0.15 (#21835) 2021-02-22 10:01:05 +01:00
Tomoyasu Nojiri
b61607e3c4 nim: add v1.4.2, deprecated old versions (#21790) 2021-02-22 09:30:39 +01:00
takanori-ihara
26d2356ad4 genesis: New package. (#21183)
* genesis: New package.

* fujitsu-ssl2: fix unit test error

* genesis: Fix for comments and add test method

* genesis: Fix for comments

* genesis: Fix for comments
2021-02-22 04:06:56 +00:00
Tomoki, Karatsu
2d1fbddebe py-dask-glm: Add new package. (#21828) 2021-02-22 01:03:05 +00:00
Tomoki, Karatsu
e66b1d4596 py-nbconvert: add function 'setup_dependent_build_environment'. (#21827)
* py-nbconvert: add function 'setup_dependent_build_environment'.

* add 'setup_dependent_run_environment'

* add 'setup_run_environment'.
2021-02-21 11:13:23 -06:00
Mosè Giordano
f4e4dba4ef libblastrampoline: new package (#21825)
* libblastrampoline: new package

* Apply suggestions from code review

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-02-20 23:14:16 +00:00
iarspider
0cc5f629a6 Add checksum for form 4.1 (#21808) 2021-02-20 15:00:29 -06:00
downloadico
1fc4213bd5 masurca: add version 4.0.1 (#21816)
Now using the install.sh script to install into the prefix.
2021-02-20 14:54:39 -06:00
Howard Pritchard
4bd8cd1916 openmpi: add variant for using internal hwloc (#19109)
It turns out there are certain cases where having Open MPI use an external hwloc messes up other
applications that also rely on hwloc, but a different version.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2021-02-20 09:52:34 +01:00
Axel Huebl
aa01123bba VTK-m: fixed inconsistencies in directives (#21820)
* VTK-m: No `pic` variant

A leftover conflict between `shared` and `pic` variants, the
latter is not part of the package anymore, leads to a solver
error with clingo.

This removes the outdated conflict section.

* VTK-m: Kokkos AMD GPU variant changed
2021-02-20 09:47:55 +01:00
Patrick Schratz
f65e6ae4e6 update R to v4.0.4 (#21815) 2021-02-19 19:12:30 -06:00
Andrew W Elble
e49383cdc1 py-unshare: new package (#21817) 2021-02-19 14:59:56 -06:00
Tamara Dahlgren
8dd2d740b1 Update CHANGELOG and release version 2021-02-19 11:06:33 -08:00
Tamara Dahlgren
d0798160cf Resolve (post-cherry-picking) flake8 errors 2021-02-19 11:05:53 -08:00
Olivier Cessenat
29d1e1ba87 libqrencode: new package at v4.1.1 (#21801) 2021-02-19 15:49:45 +00:00
iarspider
550459ad41 njet: add v2.0.0 (#21809) 2021-02-19 16:37:50 +01:00
iarspider
0880d2572d Add new variants to tauola (hepmc3, lhapdf) (#21802) 2021-02-19 16:29:17 +01:00
Olivier Cessenat
e8c2a1085a proj: adding recent DATA and recent release up to 7.2.1 (#21804) 2021-02-19 08:57:35 -06:00
iarspider
256f6fedd9 Add checksum for version 0.29.20 (#21806) 2021-02-19 08:56:34 -06:00
Sergey Kosukhin
2ca24a208a cdo: switch to fftw-api (#21803) 2021-02-19 14:36:38 +00:00
iarspider
95fd9ff6c1 Add photos 3.64; add hepmc2/hepmc3 variants (#21795) 2021-02-19 14:55:04 +01:00
Tom Payerle
f5e65e94e6 documentation: correct precedence of included configs in environment spack.yaml (#18663)
fixes #17993
2021-02-19 13:31:47 +00:00
iarspider
3d2b08a971 py-parso: add v0.8.1 (#21798) 2021-02-19 14:14:01 +01:00
Filippo Spiga
048adfdc1b Adding CUDA SDK 11.2.1 (#21800) 2021-02-19 12:11:51 +00:00
Xavier Delaruelle
36f0154130 environment-modules: add v4.7.0 (#21799) 2021-02-19 13:03:46 +01:00
BerengerBerthoul
201000daca Update scotch package for int32 (#21728) 2021-02-19 12:14:36 +01:00
Bryan Herman
2019d1deb7 CGNS: set parallel build to False to fix cp error (#21766) 2021-02-19 12:11:07 +01:00
iarspider
802ac63991 MCUtils: migration to gitlab (#21771) 2021-02-19 11:35:27 +01:00
Filippo Spiga
eff59ba9d6 nvhpc: add v21.2 (#21796) 2021-02-19 10:31:09 +00:00
holrock
e1c5952130 ruby: remove unwanted dependencies (#21797)
ruby/tk is removed from stdlib at ruby2.4.0
2021-02-19 10:28:22 +00:00
iarspider
554e736a14 gperftools: add v2.8.1 (#21794) 2021-02-19 11:09:46 +01:00
Greg Becker
de5a396ecb bugfix: add build deps to 'full hash' (#21735)
The "full hash" was only including the link/run deps, but it should include build deps as well.
2021-02-19 00:51:00 -08:00
iarspider
14897df02b davix: add v0.7.6 (#21773) 2021-02-19 09:37:56 +01:00
Brian Van Essen
23e22ae623 Updates to the LBANN software stack (#21733)
Set the minimun C++ standard for LBANN, Hydrogen, and DiHydrogen to
C++17.  The minumim C++ standard for Aluminum is C++14.  Add new
versions for Aluminum, Hydrogen, and DiHydrogen.  Added support for
high performance linkers in LBANN recipe (gold and lld).  Added
variants to LBANN for enabling embedded Python support independently
from the Python front end.
2021-02-19 09:32:17 +01:00
h-denpo
e772291df1 blast2go: conflicts for platforms other than x86_64 (#21693) 2021-02-19 08:29:33 +00:00
Tomoyasu Nojiri
310e82c863 hdf-eos5: fix hdf5 dependency (#21789) 2021-02-19 09:16:13 +01:00
darmac
901aefc6a5 librelp: add test dependency on valgrind (#21752) 2021-02-19 07:47:50 +01:00
darmac
43cf529594 py-sip: change url because some old package is missing (#21402) 2021-02-18 19:52:00 -06:00
Scott Wittenburg
6b509a95da Pipelines: Move PR testing stacks (currently only E4S) into spack (#21714) 2021-02-18 18:50:57 -07:00
Severin Strobl
0da2b82df2 Fixed conditional in match_flag for fish env (#21679)
An attempt to fix the conditional was made in 5a771bc8ad, yet this broke
the conditional completely.
2021-02-18 23:29:23 +00:00
emai-imcs
70b81dc48d py-fenics-instant: new package for legacy fenics 2016 and 2017 versions (#21775)
* py-fenics-instant: new package for legacy fenics 2016 and 2017 versions

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-02-18 23:02:39 +00:00
Tom Payerle
362a4bb8b9 Fix template for Rpackage in spack create command (#21776)
The signature for configure_args in the template for new
RPackage packages was incorrect (different than what is
defined and used in lib/spack/spack/build_systems/r.py)

See issue #21774
2021-02-18 22:40:21 +00:00
Massimiliano Culpo
f2e3edf6db Testing: use spack.store.use_store everywhere (#21656)
Keep spack.store.store and spack.store.db consistent in unit tests

* Remove calls to monkeypatch for spack.store.store and spack.store.db:
  tests that used these called one or the other, which lead to
  inconsistencies (the tests passed regardless but were fragile as a
  result)
* Fixtures making use of monkeypatch with mock_store now use the
  updated use_store function, which sets store.store and store.db
  consistently
* subprocess_context.TestState now transfers the serializes and
  restores spack.store.store (without the monkeypatch changes this
  would have created inconsistencies)
2021-02-18 13:22:49 -08:00
Satish Balay
cbcf8d208b xsdk: fix @develop build (#21749)
- petsc4py: update @develop build from petsc repo
- omega-h: develop branch is now main branch
2021-02-18 14:41:36 -06:00
Seth R. Johnson
2d917e17d9 flibcpp: Activate SWIG rebuild when +swig (#21767)
This option allows downstream packages to build with SWIG and the flibcpp-exported SWIG interfaces.
2021-02-18 19:12:18 +00:00
Tom Payerle
b448b639e6 Documentation fix: build_system configure_args for #21760 (#21761)
Corrects the signature for configure_args (and therefore configure_vars)
in documentation on RPackage build system to match the code
See issue #21760
2021-02-18 18:08:48 +00:00
Gregory Lee
3364e5550f patches to apply to gdbm and m4 when using oneapi compiler (#21740) 2021-02-18 09:39:20 -08:00
Sebastian Schmitt
8e3ac8577f Arbor: rely on spack's compiler wrapper to set architecture (#21758) 2021-02-18 15:02:09 +00:00
ketsubouchi
432625ca26 openrasmol: new package (#21530) 2021-02-18 13:09:38 +01:00
Freifrau von Bleifrei
ed1540efa3 sgpp: use spack compiler instead of default gcc (#21756)
Co-authored-by: Theresa Pollinger <pollinta@ipvs.uni-stuttgart.de>
2021-02-18 11:28:42 +00:00
Mikael Simberg
651c6ea350 hpx: add v1.6.0 (#21757) 2021-02-18 10:42:19 +00:00
Sergey Kosukhin
3273529936 eccodes: add v2.20.0 (#21703) 2021-02-18 11:20:53 +01:00
Tomoyasu Nojiri
93d9bed192 enzo: fix for aarch64 (#21715) 2021-02-18 11:14:18 +01:00
Xavier Delaruelle
54ee955b76 tcl: add v8.6.11 (#21678) 2021-02-18 11:04:38 +01:00
h-denpo
20fd4e35de dlib: fix dependency on opencv (#21718)
Since a variant (imgcodecs,default=False) has been added to opencv,
+imgcodecs is now required in dlib's opencv dependency.
2021-02-18 11:02:24 +01:00
m-shunji
9771903533 quantum-espresso: fix ldflags for scalapack (#21719) 2021-02-18 11:00:19 +01:00
Harmen Stoppels
1e16fcfd91 cmake: add v3.18.6, v3.19.5 (#21725) 2021-02-18 10:53:05 +01:00
Michael Kuhn
fd85f79e18 osu-micro-benchmarks: add v5.7 (#21729) 2021-02-18 10:48:41 +01:00
Erik Schnetter
7fe131e444 nsimd: add v2.2 (#21743) 2021-02-18 10:33:09 +01:00
holrock
5f6d77f4c4 ruby: add v2.7.2, v3.0.0 (#21745) 2021-02-18 10:17:41 +01:00
Desmond Orton
94e2eee778 sratoolkit: add v2.10.9 (#21746) 2021-02-18 10:17:12 +01:00
darmac
76304595d5 ctpl: add dependency on gettext (#21747) 2021-02-18 10:07:38 +01:00
Adam J. Stewart
7ac156fb12 py-scipy: add v1.6.1 (#21748) 2021-02-18 10:06:44 +01:00
darmac
598f0c89fd vcsh: add bin as a directory (#21750) 2021-02-18 10:06:03 +01:00
ketsubouchi
b3e5df1049 cbflib: new package (#21531) 2021-02-18 10:05:32 +01:00
darmac
de68646c6e openfst: fix conflicts version for gcc (#21753) 2021-02-18 10:01:43 +01:00
Todd Gamblin
7d586234ee bugfix: relax racy test in fg/bg output (#21755)
Since signals are fundamentally racy, We can't bound the amount of time
that the `test_foreground_background_output` test will take to get to
'on', we can only observe that it transitions to 'on'. So instead of
using an arbitrary limit, just adjust the test to allow either 'on' or
'off' followed by 'on'.

This should eliminate the spurious errors we see in CI.
2021-02-18 08:33:08 +00:00
Massimiliano Culpo
8aaf31b166 Avoid spurious warning from clingo (#21731)
There's a spurious warning that occurs whenever a spec being concretized 
does not depend on a virtual provider under any possible configuration.
2021-02-18 08:13:50 +01:00
emai-imcs
acc7169fdc py-fenics-ufl: inclusion of version 2016.2.0 (#21738)
* fix to pre 2019.1.0 version and support for 2016.1.0 added

* added 2016.2.0 version for retro dolfin support
2021-02-17 21:44:48 -06:00
emai-imcs
0082750f86 fix to compiliation error with fenics in pre 2019 versions and support for 2016.2.0 version of fiat added (#21708) 2021-02-17 21:44:12 -06:00
emai-imcs
827262df89 update to dijisto to support 2019.1.0 version (#21707) 2021-02-17 21:42:44 -06:00
eugeneswalker
1dc161095a openblas@0.13.3 cannot be built with gcc<10.2 on power (#21711) 2021-02-17 18:34:54 -08:00
Adam J. Stewart
3256f018eb apple-clang: add correct path to compiler wrappers (#21662)
Follow-up to #17110

### Before
```bash
CC=/Users/Adam/spack/lib/spack/env/clang/clang; export CC
SPACK_CC=/usr/bin/clang; export SPACK_CC
PATH=...:/Users/Adam/spack/lib/spack/env/apple-clang:/Users/Adam/spack/lib/spack/env/case-insensitive:/Users/Adam/spack/lib/spack/env:...; export PATH
```

### After
```bash
CC=/Users/Adam/spack/lib/spack/env/clang/clang; export CC
SPACK_CC=/usr/bin/clang; export SPACK_CC
PATH=...:/Users/Adam/spack/lib/spack/env/clang:/Users/Adam/spack/lib/spack/env/case-insensitive:/Users/Adam/spack/lib/spack/env:...; export PATH
```

`CC` and `SPACK_CC` were being set correctly, but `PATH` was using the name of the compiler `apple-clang` instead of `clang`. For most packages, since `CC` was set correctly, nothing broke. But for packages using `Makefiles` that set `CC` based on `which clang`, it was using the system compilers instead of the compiler wrappers. Discovered when working on `py-xgboost@0.90`.

An alternative fix would be to copy the symlinks in `env/clang` to `env/apple-clang`. Let me know if you think there's a better way to do this, or to test this.
2021-02-17 17:07:48 -08:00
Frank Willmore
2607bc5cff intel-oneapi-compilers/mpi: add module support (#20808)
Facilitate running intel-oneapi-mpi outside of Spack (set PATH,
LD_LIBRARY_PATH, etc. appropriately).

Co-authored-by: Robert Cohn <rscohn2@gmail.com>
2021-02-17 17:07:47 -08:00
Frank Willmore
863f455cf9 intel-oneapi-compilers: add to LD_LIBRARY_PATH so that it finds libimf.so (#20717)
* add  to LD_LIBRARY_PATH so that it finds libimf.so

* amrex: fix handling of CUDA arch (#20786)

* amrex: fix handling of CUDA arch
* amrex: fix style
* amrex: fix bug
* Update var/spack/repos/builtin/packages/amrex/package.py
* Update var/spack/repos/builtin/packages/amrex/package.py

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>

* ecp-data-vis-sdk: Combine the vis and io SDK packages (#20737)

This better enables the collective set to be deployed togethor satisfying
eachothers dependencies

* r-sf: fix dependency error (#20898)

* improve documentation for Rocm (hip amd builds) (#20812)

* improve documentation

* astyle: Fix makefile for install parameter (#20899)

* llvm-doe: added new package (#20719)

The package contains duplicated code from llvm/package.py,
will supersede solve.

* r-e1071: added v1.7-4 (#20891)

* r-diffusionmap: added v1.2.0 (#20881)

* r-covr: added v3.5.1 (#20868)

* r-class: added v7.3-17 (#20856)

* py-h5py: HDF5_DIR is needed for ~mpi too (#20905)

For the `~mpi` variant, the environment variable `HDF5_DIR` is still required.  I moved this command out of the `+mpi` conditional.

* py-hovorod: fix typo on variant name in conflicts directive (#20906)

* fujitsu-fftw: Add new package (#20824)

* pocl: added v1.6 (#20932)

Made version 1.5 or lower conflicts with a64fx.

* PCL: add new package (#20933)

* r-rle: new package (#20916)

Common 'base' and 'stats' methods for 'rle' objects, aiming to make it
possible to treat them transparently as vectors.

* r-ellipsis: added v0.3.1 (#20913)

* libconfig: add build dependency on texinfo (#20930)

* r-flexmix: add v2.3-17 (#20924)

* r-fitdistrplus: add v1.1-3 (#20923)

* r-fit-models: add v0.64 (#20922)

* r-fields: add v11.6 (#20921)

* r-fftwtools: add v0.9-9 (#20920)

* r-farver: add v2.0.3 (#20919)

* r-expm: add v0.999-6 (#20918)

* cln: add build dependency on texinfo (#20928)

* r-expint: add v0.1-6 (#20917)

* r-envstats: add v2.4.0 (#20915)

* r-energy: add v1.7-7 (#20914)

* r-ellipse: add v0.4.2 (#20912)

* py-fiscalyear: add v0.3.0 (#20911)

* r-ecp: add v3.1.3 (#20910)

* r-plotmo: add v3.6.0 (#20909)

* Improve gcc detection in llvm. (#20189)

Co-authored-by: Tom Scogland <tom.scogland@gmail.com>
Co-authored-by: Thomas Green <ca-tgreen@gw4a64fxlogin00.head.gw4.metoffice.gov.uk>

* hatchet: updated urls (#20908)

* py-anuga: add new package (#20782)

* libvips: added v8.10.5 (#20902)

* libzmq: add platform conditions to libbsd dependency (#20893)

* r-dtw: add v1.22-3 (#20890)

* r-dt: add v0.17 (#20889)

* r-dosnow: add v1.0.19 (#20888)

* add version 1.0.16 to r-doparallel (#20886)

* add version 1.3.7 to r-domc (#20885)

* add version 0.9-15 to r-diversitree (#20884)

* add version 1.3-3 to r-dismo (#20883)

* add version 0.6.27 to r-digest (#20882)

* add version 1.5 to r-rngtools (#20887)

* add version 1.5.8 to r-dicekriging (#20877)

* add version 1.4.2 to r-httr (#20876)

* add version   1.28 to r-desolve (#20875)

* add version   2.2-5 to r-deoptim (#20874)

* add version   0.2-3 to r-deldir (#20873)

* add version   1.0.0 to r-crul (#20870)

* add version   1.1.0.1 to r-crosstalk (#20869)

* add version   1.0-1 to r-copula (#20867)

* add version 5.0.2 to r-rcppparallel (#20866)

* add version   2.0-1 to r-compositions (#20865)

* add version 0.4.10 to r-rlang (#20796)

* add version 0.3.6 to r-vctrs (#20878)

* amrex: add ROCm support (#20809)

* add version 2.0-0 to r-colorspace (#20864)

* add version 1.3-1 to r-coin (#20863)

* add version   0.19-4 to r-coda (#20862)

* add version 1.3.7 to r-clustergeneration (#20861)

* add version 0.3-58 to r-clue (#20860)

* add version 0.7.1 to r-clipr (#20859)

* add version 2.2.0 to r-cli (#20858)

* add version 0.4-3 to r-classint (#20857)

* add version 0.1.2 to r-globaloptions (#20855)

* add version 2.3-56 to r-chron (#20854)

* add version 0.4.10 to r-checkpoint (#20853)

* add version 2.0.0 to r-checkmate (#20852)

* add version 1.18.1 to r-catools (#20850)

* add version 1.2.2.2 to r-modelmetrics (#20849)

* add version 3.0-4 to r-cardata (#20847)

* add version 1.0.1 to r-caracas (#20846)

* r-lifecycle: new package at v0.2.0 (#20845)

* add version 3.0-10 to r-car (#20844)

* add version 3.4.5 to r-processx (#20843)

* add version 1.5-12.2 to r-cairo (#20842)

* add version 0.2.3 to r-cubist (#20841)

* add version 2.6 to r-rmarkdown (#20838)

* add version 1.2.1 to r-blob (#20819)

* add version 4.0.4 to r-bit (#20818)

* add version 2.4-1 to r-bio3d (#20816)

* add version 0.4.2.3 to r-bibtex (#20815)

* add version 3.1-4 to r-bayesm (#20807)

* add version 1.2.1 to r-backports (#20806)

* add version 2.0.3 to r-argparse (#20805)

* add version 5.4-1 to r-ape (#20804)

* add version 0.8-18 to r-amap (#20803)

* r-pixmap: added new package (#20795)

* zoltan: source code location change (#20787)

* refactor path logic

* added some paths to make compilers and libs discoverable

* add  to LD_LIBRARY_PATH so that it finds libimf.so
and cleanup PEP8

* refactor path logic

* adding paths to LIBRARY_PATH so compiler wrappers will find -lmpi

* added vals for CC=icx, CXX=icpx, FC=ifx to generated module

* back out changes to intel-oneapi-mpi, save for separate PR

* Update var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py

path is joined in _ld_library_path()

Co-authored-by: Robert Cohn <rscohn2@gmail.com>

* set absolute paths to icx,icpx,ifx

* dang close parenthesis

Co-authored-by: Robert Cohn <rscohn2@gmail.com>
Co-authored-by: mic84 <mrosso@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Chuck Atkins <chuck.atkins@kitware.com>
Co-authored-by: darmac <xiaojun2@hisilicon.com>
Co-authored-by: Danny Taller <66029857+dtaller@users.noreply.github.com>
Co-authored-by: Tomoyasu Nojiri <68096132+t-nojiri@users.noreply.github.com>
Co-authored-by: Shintaro Iwasaki <siwasaki@anl.gov>
Co-authored-by: Glenn Johnson <glenn-johnson@uiowa.edu>
Co-authored-by: Kelly (KT) Thompson <KineticTheory@users.noreply.github.com>
Co-authored-by: Henrique Mendonça <henrique@users.noreply.github.com>
Co-authored-by: h-denpo <57649496+h-denpo@users.noreply.github.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Thomas Green <tomgreen66@hotmail.com>
Co-authored-by: Tom Scogland <tom.scogland@gmail.com>
Co-authored-by: Thomas Green <ca-tgreen@gw4a64fxlogin00.head.gw4.metoffice.gov.uk>
Co-authored-by: Abhinav Bhatele <bhatele@cs.umd.edu>
Co-authored-by: a-saitoh-fj <63334055+a-saitoh-fj@users.noreply.github.com>
Co-authored-by: QuellynSnead <quellyn@lanl.gov>
2021-02-17 17:07:47 -08:00
Frank Willmore
805b412bb6 adding environment to OneMKL packages so that examples will build (#21377) 2021-02-17 17:07:46 -08:00
Greg Becker
240726a2e1 add intel oneapi to compiler/pkg translations (#21448) 2021-02-17 17:07:46 -08:00
eugeneswalker
e1dc4ba370 llvm: "master" branch is now "main" branch (#21411) 2021-02-17 17:07:45 -08:00
Yang Zongze
40d32890d0 Print groups properly for spack find -d (#20028) 2021-02-17 17:07:45 -08:00
eugeneswalker
18022050f2 store sbang_install_path in buildinfo, use for subsequent relocation (#20768) 2021-02-17 17:07:44 -08:00
Nathan Hanford
cdd86bddec [WIP] relocate.py: parallelize test replacement logic (#19690)
* sbang pushed back to callers;
star moved to util.lang

* updated unit test

* sbang test moved; local tests pass

Co-authored-by: Nathan Hanford <hanford1@llnl.gov>
2021-02-17 17:07:44 -08:00
Henrique Mendonça
58d167bce9 py-hovorod: fix typo on variant name in conflicts directive (#20906) 2021-02-17 17:07:43 -08:00
Massimiliano Culpo
488a08b464 concretizer: require at least a dependency type to say the dependency holds
fixes #20784

Similarly to the previous bug, here we were deducing
conditions to be imposed on nodes that were not part
of the DAG.
2021-02-17 17:07:43 -08:00
Massimiliano Culpo
7162e15531 concretizer: dependency conditions cannot hold if package is external
fixes #20736

Before this one line fix we were erroneously deducing
that dependency conditions hold even if a package
was external.

This may result in answer sets that contain imposed
conditions on a node without the node being present
in the DAG, hence #20736.
2021-02-17 17:07:42 -08:00
Massimiliano Culpo
ffa8479004 libyogrt: remove conflicts triggered by an invalid value (#20794)
fixes #20611

The conflict was triggered by an invalid value of the
'scheduler' variant. This causes Spack to error when libyogrt
facts are validated by the ASP-based concretizer.
2021-02-17 17:07:41 -08:00
Robert Underwood
c99850dd58 restore ability of dev-build to skip patches (#20351)
At some point in the past, the skip_patch argument was removed
from the call to package.do_install() this broke the --skip-patch
flag on the dev-build command.
2021-02-17 17:07:41 -08:00
Robert Cohn
1df8e1daca intel-oneapi-mpi: virtual provider support (#20732)
Set up environment and dependent packages properly when building
with intel-oneapi-mpi as a dependency MPI provider (e.g. point to
mpicc compiler wrapper).
2021-02-17 17:07:41 -08:00
Frank Willmore
7e5f72817c intel-oneapi-compilers package: correct module file (#20686)
This properly sets PATH/CPATH/LIBRARY_PATH etc. to make the
Spack-generated module file for intel-oneapi-compilers useful
(without this, 'icx' would not be found after loading the module
file for intel-oneapi-compilers).
2021-02-17 17:07:40 -08:00
Robert Cohn
41e7293884 fix mpi lib paths, add virtual provides (#20693) 2021-02-17 17:07:40 -08:00
Ye Luo
d0594ba302 Remove hard-coded standard C++ library selection and add more releases in llvm package (#19933)
* Restore OS based Clang default choice of C++ standard library.

* Add LLVM 11.0.1 release
2021-02-17 17:07:39 -08:00
Massimiliano Culpo
ddd9c86ce0 concretizer: make rules on virtual packages more linear
fixes #20679

In this refactor we have a single cardinality rule on the
provider, which triggers a rule transforming a dependency
on a virtual package into a dependency on the provider of
the virtual.
2021-02-17 17:07:39 -08:00
Todd Gamblin
8e442d6dc1 concretizer: use consistent naming for compiler predicates (#20677)
Every other predicate in the concretizer uses a `_set` suffix to
implement user- or package-supplied settings, but compiler settings use a
`_hard` suffix for this. There's no difference in how they're used, so
make the names the same.

- [x] change `node_compiler_hard` to `node_compiler_set`
- [x] change `node_compiler_version_hard` to `node_compiler_version_set`
2021-02-17 17:07:38 -08:00
Todd Gamblin
9393d97139 concretizer: simplify handling of virtual version constraints
Previously, the concretizer handled version constraints by comparing all
pairs of constraints and ensuring they satisfied each other. This led to
INCONSISTENT ressults from clingo, due to ambiguous semantics like:

    version_constraint_satisfies("mpi", ":1", ":3")
    version_constraint_satisfies("mpi", ":3", ":1")

To get around this, we introduce possible (fake) versions for virtuals,
based on their constraints. Essentially, we add any Versions,
VersionRange endpoints, and all such Versions and endpoints from
VersionLists to the constraint. Virtuals will have one of these synthetic
versions "picked" by the solver. This also allows us to remove a special
case from handling of `version_satisfies/3` -- virtuals now work just
like regular packages.
2021-02-17 17:07:38 -08:00
Todd Gamblin
8f85ab88c0 concretizer: remove rule generation code from concretizer
Our program only generates facts now, so remove all unused code related
to generating cardinality constraints and rules.
2021-02-17 17:07:37 -08:00
Todd Gamblin
247e73e85a concretizer: convert virtuals to facts; move all rules to concretize.lp
This converts the virtual handling in the new concretizer from
already-ground rules to facts. This is the last thing that needs to be
refactored, and it converts the entire concretizer to just use facts.

The previous way of handling virtuals hinged on rules involving
`single_provider_for` facts that were tied to the virtual and a version
range. The new method uses the condition pattern we've been using for
dependencies, externals, and conflicts.

To handle virtuals as conditions, we impose constraints on "fake" virtual
specs in the logic program. i.e., `version_satisfies("mpi", "2.0:",
"2.0")` is legal whereas before we wouldn't have seen something like
this. Currently, constriants are only handled on versions -- we don't
handle variants or anything else yet, but they key change here is that we
*could*. For a long time, virtual handling in Spack has only dealt with
versions, and we'd like to be able to handle variants as well. We could
easily add an integrity constraint to handle variants like the one we use
for versions.

One issue with the implementation here is that virtual packages don't
actually declare possible versions like regular packages do. To get
around that, we implement an integrity constraint like this:

    :- virtual_node(Virtual),
       version_satisfies(Virtual, V1), version_satisfies(Virtual, V2),
       not version_constraint_satisfies(Virtual, V1, V2).

This requires us to compare every version constraint to every other, both
in program generation and within the concretizer -- so there's a
potentially quadratic evaluation time on virtual constraints because we
don't have a real version to "anchor" things to. We just say that all the
constraints need to agree for the virtual constraint to hold.

We can investigate adding synthetic versions for virtuals in the future,
to speed this up.
2021-02-17 17:07:37 -08:00
Todd Gamblin
6056cb71d3 concretizer: consolidate handling of virtuals into spec_clauses 2021-02-17 17:07:36 -08:00
Todd Gamblin
66376ab971 concretizer: make _condtion_id_counter an iterator 2021-02-17 17:07:36 -08:00
Todd Gamblin
9bb0375443 concretizer: more detailed section headers in concretize.lp 2021-02-17 17:07:35 -08:00
Todd Gamblin
56acb5a0c7 bugfix: infinite loop when building a set from incomplete specs (#20649)
This code in `SpecBuilder.build_specs()` introduced in #20203, can loop
seemingly interminably for very large specs:

```python
set([spec.root for spec in self._specs.values()])
```

It's deceptive, because it seems like there must be an issue with
`spec.root`, but that works fine. It's building the set afterwards that
takes forever, at least on `r-rminer`. Currently if you try running
`spack solve r-rminer`, it loops infinitely and spins up your fan.

The issue (I think) is that the spec is not yet complete when this is
run, and something is going wrong when constructing and comparing so many
values produced by `_cmp_key()`. We can investigate the efficiency of
`_cmp_key()` separately, but for now, the fix is:

```python
roots = [spec.root for spec in self._specs.values()]
roots = dict((id(r), r) for r in roots)
```

We know the specs in `self._specs` are distinct (they just came out of
the solver), so we can just use their `id()` to unique them here. This
gets rid of the infinite loop.
2021-02-17 17:07:35 -08:00
Massimiliano Culpo
ec42016241 concretizer: generate facts for externals
Generate only facts for external specs. Substitute the
use of already grounded rules with non-grounded rules
in concretize.lp
2021-02-17 17:07:35 -08:00
Greg Becker
f7195123d4 bugfix: do not write empty default dicts/lists in envs (#20526)
Environment yaml files should not have default values written to them.

To accomplish this, we change the validator to not add the default values to yaml. We rely on the code to set defaults for all values (and use defaulting getters like dict.get(key, default)).

Includes regression test.
2021-02-17 17:07:34 -08:00
Robert Cohn
290043b72a Add Intel oneAPI packages (#20411)
This creates a set of packages which all use the same script to install
components of Intel oneAPI. This includes:

* An inheritable IntelOneApiPackage which knows how to invoke the
  installation script based on which components are requested
* For components which include headers/libraries, an inheritable
  IntelOneApiLibraryPackage is provided to locate them
* Individual packages for DAL, DNN, TBB, etc.
* A package for the Intel oneAPI compilers (icx/ifx). This also includes
  icc/ifortran but these are not currently detected in this PR
2021-02-17 17:07:33 -08:00
Todd Gamblin
1a1babe185 concretizer: refactor conditional rules to be less repetitious (#20507)
We have to repeat all the spec attributes in a number of places in
`concretize.lp`, and Spack has a fair number of spec attributes. If we
instead add some rules up front that establish equivalencies like this:

```
    node(Package) :- attr("node", Package).
    attr("node", Package) :- node(Package).

    version(Package, Version) :- attr("version", Package, Version).
    attr("version", Package, Version) :- version(Package, Version).
```

We can rewrite most of the repetitive conditions with `attr` and repeat
only for each arity (there are only 3 arities for spec attributes so far)
as opposed to each spec attribute. This makes the logic easier to read
and the rules easier to follow.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-02-17 17:07:32 -08:00
Massimiliano Culpo
acd523c7f3 concretizer: optimize loop on compiler version
Similar to the optimization on platform
2021-02-17 17:07:32 -08:00
Massimiliano Culpo
4bbc6eec51 concretizer: optimized loop on node platforms
We can speed-up the computation by avoiding a
double loop in a cardinality constraint and
enforcing the rule instead as an integrity
constraint.
2021-02-17 17:07:31 -08:00
Massimiliano Culpo
cb76c5a90d concretizer: fix failing unit tests 2021-02-17 17:07:31 -08:00
Massimiliano Culpo
ab3f53d781 concretizer: emit facts for integrity constraints 2021-02-17 17:07:30 -08:00
Massimiliano Culpo
364c5b636c concretizer: emit facts for constraints on imposed dependencies 2021-02-17 17:07:30 -08:00
Massimiliano Culpo
02e0ea6105 concretizer: avoid redundant grounding on dependency types 2021-02-17 17:07:30 -08:00
Todd Gamblin
ff9ee9f243 concretizer: move conditional dependency logic into concretize.lp
Continuing to convert everything in `asp.py` into facts, make the
generation of ground rules for conditional dependencies use facts, and
move the semantics into `concretize.lp`.

This is probably the most complex logic in Spack, as dependencies can be
conditional on anything, and we need conditional ASP rules to accumulate
and map all the dependency conditions to spec attributes.

The logic looks complicated, but essentially it accumulates any
constraints associated with particular conditions into a fact associated
with the condition by id. Then, if *any* condition id's fact is True, we
trigger the dependency.

This simplifies the way `declared_dependency()` works -- the dependency
is now declared regardless of whether it is conditional, and the
conditions are handled by `dependency_condition()` facts.
2021-02-17 17:07:29 -08:00
Todd Gamblin
6c6631cfdc concretizer: spec_clauses should traverse dependencies
There are currently no places where we do not want to traverse
dependencies in `spec_clauses()`, so simplify the logic by consolidating
`spec_traverse_clauses()` with `spec_clauses()`.
2021-02-17 17:07:29 -08:00
Todd Gamblin
ea617f807f concretizer: pull _develop_specs_from_env out of main setup loop 2021-02-17 17:07:28 -08:00
Todd Gamblin
d0dfd3cb82 concretizer: add #defined statements to avoid warnings.
`version_satisfies/2` and `node_compiler_version_satisfies/3` are
generated but need `#defined` directives to avoid " info: atom does not
occur in any rule head:" warnings.
2021-02-17 17:07:28 -08:00
Massimiliano Culpo
a4066a52be asp: memoize the list of all target_specs to speed-up setup phase (#20473)
* asp: memoize the list of all target_specs to speed-up setup phase

* asp: memoize using a cache per solver object
2021-02-17 17:07:28 -08:00
Scott Wittenburg
18c5f10ae7 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>
2021-02-17 17:07:27 -08:00
Massimiliano Culpo
d82d2bb2db 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.
2021-02-17 17:07:27 -08:00
Greg Becker
378af922a2 Fix comparisons for abstract specs (#20341)
bug only relevant for python3
2021-02-17 17:07:27 -08:00
Todd Gamblin
12d035b225 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
2021-02-17 17:07:26 -08:00
Massimiliano Culpo
bf3a873a42 package sanity: ensure all variant defaults are allowed values (#20373) 2021-02-17 17:07:26 -08:00
Todd Gamblin
27f6b3df92 concretizer: remove clingo command-line driver (#20362)
I was keeping the old `clingo` driver code around in case we had to run
using the command line tool instad of through the Python interface.

So far, the command line is faster than running through Python, but I'm
working on fixing that.  I found that if I do this:

```python
control = clingo.Control()
control.load("concretize.lp")
control.load("hdf5.lp")       # code from spack solve --show asp hdf5
control.load("display.lp")

control.ground([("base", [])])
control.solve(...)
```

It's just as fast as the command line tool. So we can always generate the
code and load it manually if we need to -- we don't need two drivers for
clingo. Given that the python interface is also the only way to get unsat
cores, I think we pretty much have to use it.

So, I'm removing the old command line driver and other unused code. We
can dig it up again from the history if it is needed.
2021-02-17 17:07:25 -08:00
Tamara Dahlgren
802c5bdff7 Tests: enable re-use of post-install tests in smoke tests (#20298) 2021-02-17 17:07:25 -08:00
Andrew W Elble
ab3f1b10db concretizer: try hard to obtain all needed variant_possible_value()'s (#20102)
Track all the variant values mentioned when emitting constraints, validate them
and emit a fact that allows them as possible values.

This modification ensures that open-ended variants (variants accepting any string 
or any integer) are projected to the finite set of values that are relevant for this 
concretization.
2021-02-17 17:07:24 -08:00
Massimiliano Culpo
30a9e6462f bugfix: work around issue handling packages not in any repo 2021-02-17 17:07:24 -08:00
Todd Gamblin
0e725f0ab1 concretizer: refactor handling of special variants dev_build and patches
Other parts of the concretizer code build up lists of things we can't
know without traversing all specs and packages, and they output these
list at the very end.

The code for this for variant values from spec literals was intertwined
with the code for traversing the input specs. This only covers the input
specs and misses variant values that might come from directives in
packages.

- [x] move ad-hoc value handling code into spec_clauses so we do it in
  one place for CLI and packages

- [x] move handling of `variant_possible_value`, etc. into
  `concretize.lp`, where we can automatically infer variant existence
  more concisely.

- [x] simplify/clarify some of the code for variants in `spec_clauses()`
2021-02-17 17:07:23 -08:00
Robert Maynard
9499dc4a7e VTK-m: update to specify correct requirements to kokkos (#20097) 2021-02-17 17:07:23 -08:00
Massimiliano Culpo
ecfba13d89 concretizer: each external version is allowed by definition (#20247)
Registering external versions among the lists of allowed ones
generates the correct rules for `version_satisfies`
2021-02-17 17:07:22 -08:00
Massimiliano Culpo
a6d433b937 concretizer: restrict maximizing variant values to MV variants (#20194) 2021-02-17 17:07:22 -08:00
Matthias Wolf
b4f79f3cb7 environment installs: fix reporting. (#20004)
PR #15702 changed the invocation of the report context when installing
specs, do the same when building environments.
2021-02-17 17:07:22 -08:00
Greg Becker
30290acf67 avoid circular import (#20236) 2021-02-17 17:07:21 -08:00
Andrew W Elble
92de484228 concretizer: call inject_patches_variants() on the roots of the specs (#20203)
As was done in the old concretizer. Fixes an issue where conditionally
patched dependencies did not show up in spec (gdal+jasper)
2021-02-17 17:07:21 -08:00
Massimiliano Culpo
b78cc5b43d concretizer: try hard to infer the real version of compilers (#20099)
fixes #20055

Compiler with custom versions like gcc@foo are not currently
matched to the appropriate targets. This is because the
version of spec doesn't match the "real" version of the
compiler.

This PR replicates the strategy used in the original
concretizer to deal with that and tries to detect the real
version of compilers if the version in the spec returns no
results.
2021-02-17 17:07:21 -08:00
Harmen Stoppels
571e36787b Fix hipcc once more (#20095) 2021-02-17 17:07:20 -08:00
Massimiliano Culpo
63d75cd089 boost: disable find_package's config mode for boost prior to v1.70.0 (#20198) 2021-02-17 17:07:20 -08:00
Andrew W Elble
598c25b434 concretizer: don't optimize emitting version_satisfies() (#20128)
When all versions were allowed a version_satisfies rule was not emitted,
and this caused conditional directives to fail.
2021-02-17 17:07:19 -08:00
MichaelLaufer
24fb43cc43 Fixes compile time errors (#20006)
Co-authored-by: michael laufer <michael.laufer@toganetworks.com>
2021-02-17 17:07:19 -08:00
Massimiliano Culpo
0b7a22dea2 spec: return early from concretization if a spec is already concrete (#20196) 2021-02-17 17:07:18 -08:00
Massimiliano Culpo
1e1a6f4e30 concretizer: remove ad-hoc rule for external packages (#20193)
fixes #20040

Matching compilers among nodes has been prioritized
in #20020. Selection of default variants has been
tuned in #20182. With this setup there is no need
to have an ad-hoc rule for external packages. On
the contrary it should be removed to prefer having
default variant values over more external nodes in
the DAG.
2021-02-17 17:07:18 -08:00
Massimiliano Culpo
22d7937c50 concretizer: swap priority of selecting provider and default variant (#20182)
refers #20040

Before this PR optimization rules would have selected default
providers at a higher priority than default variants. Here we
swap this priority and we consider variants that are forced by
any means (root spec or spec in depends_on clause) the same as
if they were with a default value.

This prevents the solver from avoiding expected configurations
just because they contain directives like:

depends_on('pkg+foo')

and `+foo` is not the default variant value for pkg.
2021-02-17 17:07:18 -08:00
George Hartzell
96283867d6 Typos: add missing closing parens (#20174) 2021-02-17 17:07:17 -08:00
Massimiliano Culpo
d7ffdd76f6 concretizer: treat target ranges in directives correctly (#19988)
fixes #19981

This commit adds support for target ranges in directives,
for instance:

conflicts('+foo', when='target=x86_64:,aarch64:')

If any target in a spec body is not a known target the
following clause will be emitted:

node_target_satisfies(Package, TargetConstraint)

when traversing the spec and a definition of
the clause will then be printed at the end similarly
to what is done for package and compiler versions.
2021-02-17 17:07:17 -08:00
Massimiliano Culpo
b326d59e10 concretizer: prioritize matching compilers over newer versions (#20020)
fixes #20019

Before this modification having a newer version of a node came
at higher priority in the optimization than having matching
compilers. This could result in unexpected configurations for
packages with conflict directives on compilers of the type:

conflicts('%gcc@X.Y:', when='@:A.B')

where changing the compiler for just that node is preferred to
lower the node version to less than 'A.B'. Now the priority has
been switched so the solver will try to lower the version of the
nodes in question before changing their compiler.
2021-02-17 17:07:16 -08:00
Massimiliano Culpo
0ae49821e2 concretizer: allow a bool to be passed as argument for tests dependencies (#20082)
refers #20079

Added docstrings to 'concretize' and 'concretized' to
document the format for tests.

Added tests for the activation of test dependencies.
2021-02-17 17:07:16 -08:00
Massimiliano Culpo
8e1b5f734f concretizer: treat conditional providers correctly (#20086)
refers #20040

This modification emits rules like:

provides_virtual("netlib-lapack","blas") :- variant_value("netlib-lapack","external-blas","False").

for packages that provide virtual dependencies conditionally instead
of a fact that doesn't account for the condition.
2021-02-17 17:07:16 -08:00
Adam J. Stewart
ad84351c43 Docs: remove duplication in Command Reference (#20021) 2021-02-17 17:07:15 -08:00
Martin Aumüller
508534aad9 recognize macOS 11.1 as big sur (#20038)
Big Sur versions go 11.0, 11.0.1, 11.1 (vs. prior versions that
only used the minor component)

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2021-02-17 17:07:15 -08:00
Adam J. Stewart
cda34ba20a py-ipykernel: fix bug in phase method (#19986)
* py-ipykernel: fix bug in phase method

* Fix bug in executable calling
2021-02-17 17:07:15 -08:00
Greg Becker
38cf4f9fc2 fix error handling for spack test results command (#19987) 2021-02-17 17:07:14 -08:00
Danny Taller
c42ce439e4 hip support for umpire, chai, raja, camp (#19715)
* create HipPackage base class and do some refactoring

* comments and added conflict to raja for openmp with hip
2021-02-17 17:07:14 -08:00
Axel Huebl
d6bd95db2e py-ipykernel: fix install (#19617)
There is a post-install routine in `ipykernel` that needs to be
called for proper registration with jupyter.
2021-02-17 17:07:14 -08:00
Tomoki, Karatsu
1a32aaa10e py-numpydoc: Add new version, and care for old version. (#21713) 2021-02-18 00:36:26 +00:00
Adam J. Stewart
d04f9a1ae3 apple-clang: add correct path to compiler wrappers (#21662)
Follow-up to #17110

### Before
```bash
CC=/Users/Adam/spack/lib/spack/env/clang/clang; export CC
SPACK_CC=/usr/bin/clang; export SPACK_CC
PATH=...:/Users/Adam/spack/lib/spack/env/apple-clang:/Users/Adam/spack/lib/spack/env/case-insensitive:/Users/Adam/spack/lib/spack/env:...; export PATH
```

### After
```bash
CC=/Users/Adam/spack/lib/spack/env/clang/clang; export CC
SPACK_CC=/usr/bin/clang; export SPACK_CC
PATH=...:/Users/Adam/spack/lib/spack/env/clang:/Users/Adam/spack/lib/spack/env/case-insensitive:/Users/Adam/spack/lib/spack/env:...; export PATH
```

`CC` and `SPACK_CC` were being set correctly, but `PATH` was using the name of the compiler `apple-clang` instead of `clang`. For most packages, since `CC` was set correctly, nothing broke. But for packages using `Makefiles` that set `CC` based on `which clang`, it was using the system compilers instead of the compiler wrappers. Discovered when working on `py-xgboost@0.90`.

An alternative fix would be to copy the symlinks in `env/clang` to `env/apple-clang`. Let me know if you think there's a better way to do this, or to test this.
2021-02-17 15:54:50 -08:00
Glenn Johnson
c11c5df738 Update the deps for the r package (#21654)
The dependencies needed a little clean up as several dependencies are
only needed for the +X variant. This PR consolidates all of the
dependencies that actually require +X and explicitly disables them when
~X to prevent accidentally picking up system libraries.

- modified the description of the +X variant
- arranges dependencies to group them
- added missing dependency on xz
- removed unneeded dependencies
	- freetype
	- glib
- set dependencies when +X
	- cairo
	- jpeg
	- libpng
	- libtiff
	- tcl/tk
- R uses tcl/tk together, so only tk needs to be depended on, and only
  when +X
- moved tcl/tk resources to with/without-x test
- added explicit with/without settings for
	- cairo
	- jpeglib
	- libpng
	- libtiff
	- tcltk
2021-02-17 17:39:05 -06:00
Andrew W Elble
151003a469 openssl: 1.1.1j (#21726) 2021-02-17 11:14:53 -06:00
Evan Bollig
d429265d8b Bugfix for x86_64 skylake and other archs where SIMD features are disabled by Fall back option. (#21727) 2021-02-17 08:09:34 -08:00
Tomoki, Karatsu
3e72a12bfd py-llvmlite: Specified llvm version for aarch64. (#21695)
* py-llvmlite: Specified llvm version for aarch64.

* Add ~flang variant to llvm dependencies.
2021-02-17 10:07:05 -05:00
Massimiliano Culpo
ee1b0b9fb9 Delete unused "mutable_mock_store" fixture (#21632)
The fixture was introduced in #19690 maybe accidentally.

It's not used in unit tests, and though it should be
mutable it seems an exact copy of it's immutable version.
2021-02-16 17:26:16 -08:00
Scott Wittenburg
5b0507cc65 Pipelines: Temporary buildcache storage (#21474)
Before this change, in pipeline environments where runners do not have access
to persistent shared file-system storage, the only way to pass buildcaches to
dependents in later stages was by using the "enable-artifacts-buildcache" flag
in the gitlab-ci section of the spack.yaml.  This change supports a second
mechanism, named "temporary-storage-url-prefix", which can be provided instead
of the "enable-artifacts-buildcache" feature, but the two cannot be used at the
same time.  If this prefix is provided (only "file://" and "s3://" urls are
supported), the gitlab "CI_PIPELINE_ID" will be appended to it to create a url
for a mirror where pipeline jobs will write buildcache entries for use by jobs
in subsequent stages.  If this prefix is provided, a cleanup job will be
generated to run after all the rebuild jobs have finished that will delete the
contents of the temporary mirror.  To support this behavior a new mirror
sub-command has been added: "spack mirror destroy" which can take either a
mirror name or url.

This change also fixes a bug in generation of "needs" list for each job.  Each
jobs "needs" list is supposed to only contain direct dependencies for scheduling
purposes, unless "enable-artifacts-buildcache" is specified.  Only in that case
are the needs lists supposed to contain all transitive dependencies.  This
changes fixes a bug that caused the needs lists to always contain all transitive
dependencies, regardless of whether or not "enable-artifacts-buildcache" was
specified.
2021-02-16 18:21:18 -07:00
ketsubouchi
1fe51ffe18 povray: add smoke test (#21667) 2021-02-16 22:54:20 +00:00
Andrew W Elble
aed52d7e79 py-typing: new version, avoid issues with newer versions of python (#21684)
* py-typing: new version, avoid issues with newer versions of python

https://pypi.org/project/typing/

"For package maintainers, it is preferred to use
typing;python_version<"3.5" if your package requires it to support
earlier Python versions."

* update conflict version / more message detail

* change the depends_on, leave a comment suggesting correct usage
2021-02-16 20:17:22 +00:00
Ryan S. Elliott
67874420c7 bump openkim-models to 2021.01.28 (#21637) 2021-02-16 11:01:06 -08:00
Chuck Atkins
2870cc4c92 Add RHEL8 Universal Base Image with platform-python to CI unit tests (#21655) 2021-02-16 13:49:05 -05:00
Michael Kuhn
c8406bd303 enzo: new package (#21634) 2021-02-16 10:42:01 -08:00
Andrew W Elble
0107d71b93 py-horovod: new versions (#21681)
* py-horovod: new versions

* 0.21.3

* dep changes

* fixes
2021-02-16 18:40:53 +00:00
Martin Pokorny
95ea54103f Remove minimum version for cfitsio dependency (#21630)
The actual, documented minimum version of the cfitsio dependency,
v3.181, is now neither available for (easy) download from NASA, nor as
a Spack package. No upper bound on version number exists (at this time).
2021-02-16 10:17:16 -08:00
Sergey Kosukhin
7538444a03 NAG compiler: disable forcing RPATH/RUNPATH (#21701) 2021-02-16 18:31:51 +01:00
Harmen Stoppels
145a435100 Add hfp as a maintainer (#21671) 2021-02-16 11:23:01 -06:00
Scott Wittenburg
428f831899 Pipelines: DAG Pruning (#20435)
Pipelines: DAG pruning

During the pipeline generation staging process we check each spec against all configured mirrors to determine whether it is up to date on any of the mirrors.  By default, and with the --prune-dag argument to "spack ci generate", any spec already up to date on at least one remote mirror is omitted from the generated pipeline.  To generate jobs for up to date specs instead of omitting them, use the --no-prune-dag argument.  To speed up the pipeline generation process, pass the --check-index-only argument.  This will cause spack to check only remote buildcache indices and avoid directly fetching any spec.yaml files from mirrors.  The drawback is that if the remote buildcache index is out of date, spec rebuild jobs may be scheduled unnecessarily.

This change removes the final-stage-rebuild-index block from gitlab-ci section of spack.yaml.  Now rebuilding the buildcache index of the mirror specified in the spack.yaml is the default, unless "rebuild-index: False" is set.  Spack assigns the generated rebuild-index job runner attributes from an optional new "service-job-attributes" block, which is also used as the source of runner attributes for another generated non-build job, a no-op job, which spack generates to avoid gitlab errors when DAG pruning results in empty pipelines.
2021-02-16 09:12:37 -07:00
Glenn Johnson
60ee4199f5 Add manual_download attribute to packages (#21687)
Add `manual_download = True` to packages that need to do manual
downloads but do not have the `manual_download attribute set. This
provides a message when installing these packages rather than a generic
fetch error.
2021-02-16 17:10:19 +01:00
Glenn Johnson
8456a73a87 Add manual_download = True to genemark-et package (#21686) 2021-02-16 17:09:22 +01:00
ketsubouchi
04cff1136b cqrlib: new package (#21532) 2021-02-16 17:03:48 +01:00
iarspider
cec1f9bd47 rsync: add support for external detection (#21669) 2021-02-16 16:57:55 +01:00
iarspider
d2a0235d4b gruff: add support for external detection (#21646) 2021-02-16 16:57:02 +01:00
vvolkl
c0490ab30f add hep tags to some newly added hep packages (#21653) 2021-02-16 16:34:14 +01:00
Mark W. Krentel
bd9289f99d hpcviewer: add versions 2020.12 and 2021.01 (#21659)
Add versions 2020.12 and 2021.01.  The viewer and trace viewer are now
integrated into a single program and one tar ball.  Now available on
arm/aarch64 and now uses Java 11.
2021-02-16 16:33:54 +01:00
Andrew W Elble
6b521a3a5b qcachegrind/valgrind: new versions (#21673) 2021-02-16 16:32:45 +01:00
Michael Kuhn
7f8b62620d meson: add 0.57.0 (#21690) 2021-02-16 16:27:31 +01:00
Sergey Kosukhin
3cc2d91638 cdo: update PROJ dependency constraints (#21700) 2021-02-16 16:25:17 +01:00
Massimiliano Culpo
ca69e7cd43 Add .idea folder to the list of ignored files (#21685) 2021-02-16 07:32:27 -06:00
Olivier Cessenat
e63b34ff77 New Package: hevea (#21616) 2021-02-16 11:49:23 +00:00
Sebastian Schmitt
bc9baac720 Update package for Arbor 0.5 (#21565) 2021-02-16 09:30:20 +00:00
Mark W. Krentel
f9831b5f65 hpctoolkit: pre-release update (#21613)
Update some things in hpctoolkit to prepare for a 2021.02.x release:

  1. allow binutils to be built with +nls.
  2. require libmonitor to be built with +dlopen.
  3. allow rocm in more than just develop branch.
  4. remove some conflicting setenv's in hpctoolkit module.
2021-02-16 08:47:37 +01:00
Desmond Orton
c1cc4ab1b8 New R Package: Chipseq@1.40.0 (#21689) 2021-02-15 16:36:44 -08:00
Michael Kuhn
c805b168d3 glib: add 2.66.7 (#21691) 2021-02-15 16:29:39 -08:00
a-saitoh-fj
e3bf23e292 py-dask: add v2020.12.0 (#20541) 2021-02-15 17:32:17 +00:00
Phil Carns
c55406abdf deprecate margo package (all versions) (#21680)
- this is maintained in the "mochi-margo" package now instead
2021-02-15 11:16:12 -06:00
eugeneswalker
e2c16bfe22 llvm-doe: add +flang variant (#21610) 2021-02-15 11:13:32 -06:00
Tomoyasu Nojiri
6e18188d43 fujitsu-fftw: Add version 1.0.0 (#21664) 2021-02-15 10:26:21 +01:00
Tomoki, Karatsu
b6e2e731bc py-numpy: check if execute commands are feasible. (#21507)
* py-numpy: check if execute commands are feasible.

* Apply patch to all versions.
2021-02-14 12:22:48 -06:00
Michael Kuhn
155bbab44b py-questionary: new package (#21658) 2021-02-14 11:46:52 -06:00
Michael Kuhn
b111ef48da py-prompt-toolkit: add 3.0.16 (#21657) 2021-02-14 08:36:18 -06:00
Tamara Dahlgren
851490bd54 Correct the reference to the staged examples files (#21557) 2021-02-13 08:14:38 -08:00
Jen Herting
871fdc12b6 New package: py-hyperopt (#21603)
* py-hyperopt for ...

* updates to hyperopt

* updates for mypy

* removed versions

* removed url

* fixed checksum

* fixed version of pyspark

* added 3:

* removed pyspark constraints and untested versions

* [py-hyperopt] removed version 0.2.4

* [py-hyperopt] added vairants spark, mongo, and atpe

* [py-hyperopt] added dependency on py-lightgbm

Co-authored-by: Sid Pendelberry <sid@rit.edu>
2021-02-12 20:13:19 +00:00
Jen Herting
4649a251e6 New package: py-lightgbm (#21649)
* [py-lightgbm] created template

* [py-lightgbm] added homepage and description

* [py-lightgbm] added dependencies

* [py-lightgbm] build requires cmake

* [py-lightgbm] added mpi variant

* [py-lightgbm] removed fixmes

* [py-lightgbm] removed more fixmes
2021-02-12 13:34:08 -06:00
Chuck Atkins
5a771bc8ad Introduce a SPACK_PYTHON environment variable (#21222)
The SPACK_PYTHON environment variable can be set to a python interpreter to be
used by the spack command.  This allows the spack command itself to use a
consistent and separate interpreter from whatever python might be used for package
building.
2021-02-12 10:52:44 -08:00
ketsubouchi
7add9de2e5 neartree: new package at v3.1 (#21534) 2021-02-12 19:00:54 +01:00
ketsubouchi
1e7fe89e1d cvector: new package at v1.0.3 (#21533) 2021-02-12 17:07:25 +01:00
shanedsnyder
ad0ba8ce68 darshan-util" add "shared" variant (#21640) 2021-02-12 17:06:26 +01:00
Olivier Cessenat
ca7d1c29bc ocamlbuild: new package (#21559) 2021-02-12 07:42:43 -06:00
iarspider
5d9c17d2bf popt: depend on virtual iconv package (#21645) 2021-02-12 10:58:20 +00:00
AMD Toolchain Support
b53bf7cefd xpmem: Added RHEL 8.3 support (#21563) 2021-02-12 11:01:55 +01:00
Cyrus Harrison
13852986a4 conduit: add v0.7.1 (#21639) 2021-02-12 10:35:14 +01:00
Ryan S. Elliott
f92580240e Add support for KIM package in LAMMPS (#21638) 2021-02-11 19:10:45 -07:00
Tom Epperly
58b9c6dadd Fix mumps compilation with gcc@10 (i.e., gfortran) (#21631)
* add new flag when compiling mumps with %gcc@10.

* Fix style

* Try to fix formatting

* Use flag_handler approach suggested by @michaelkuhn
	in the PR review.

* Delete former approach

* Another style issue

* Add another space

* More fixes
2021-02-12 01:14:09 +00:00
Daryl W. Grunau
0724467ad2 caliper: version upgrade to 2.5.0 (#21606)
Co-authored-by: Daryl W. Grunau <dwg@lanl.gov>
2021-02-11 20:34:22 +01:00
Dr. Christian Tacke
437d92155d mesa18: Do not deprecate for now (#21627)
We still need mesa18 for some of our builds.
Those builds require python@2, normal mesa only works with
python@3.

* Remove the deprecation tag
* Add myself as a maintainer: I volunteer to help with this
  package for the time being.
* There is only one version, no need to prefer it.
2021-02-11 19:12:38 +00:00
Massimiliano Culpo
113073ceed unit test: refactored bindist.py (#21497)
Modifications:
- Make use of SpackCommand objects wherever possible
- Deduplicated code when possible
- Moved cleaning of mirrors to fixtures
- Ensure mock configuration has a clear initialization order
2021-02-11 10:29:56 -08:00
Jen Herting
0dcb0d885f [py-py4j] added version 0.10.9 (#21625) 2021-02-11 18:16:38 +00:00
Jen Herting
f7a05e0c61 [py-pyspark] new version and limited python for old versions (#21602)
* fixed install with ver 3 and python 3.0

* replaced @3 with @2.999

* [py-pyspark] added version requirements for py-py4j

* [py-pyspark] all versions require at least version 2.7 of python

* [py-pyspark] fixed comma syntax

Co-authored-by: Sid Pendelberry <sid@rit.edu>
2021-02-11 11:16:29 -06:00
vvolkl
3d6e9e172d genfit: set the ROOT prefix when building genfit (#21589)
Co-authored-by: lintao <lintao51@gmail.com>
2021-02-11 17:03:20 +01:00
Harmen Stoppels
f255c3eb76 libxc: add v5.1.0 (#21593) 2021-02-11 17:01:21 +01:00
Harmen Stoppels
882b8f9d42 spglib: add versions up to v1.16.1 (#21624) 2021-02-11 15:58:15 +00:00
Michael Kuhn
91d2c4f7db meson: add 0.56.2 (#21608) 2021-02-11 16:46:01 +01:00
Erik Schnetter
7f003a77dd nsimd: add v2.1 (#21623)
Updated variants and conflicts accordingly
2021-02-11 15:41:46 +00:00
Michael Kuhn
3268cf4b96 libfyaml: new package (#21604) 2021-02-11 16:41:16 +01:00
Michael Kuhn
ef5b15be40 libcyaml: new package (#21598) 2021-02-11 16:40:28 +01:00
Michael Kuhn
da46da1c2a libyaml: add 0.2.5 (#21597) 2021-02-11 16:40:06 +01:00
Chuck Atkins
a57598defe doxygen: fix gcc getting stuck in an infinite loop (#21614) 2021-02-11 16:35:51 +01:00
Michael Kuhn
e2084ea6fd glib: add 2.66.6 (#21605) 2021-02-11 16:27:57 +01:00
M. Eric Irrgang
dea9334189 Apply compiler filters to GROMACS installation. (#21621)
The GROMACS package embeds references to its build tool chain.
Use the Spack utilities to make sure these references are correct
outside of the isolated Spack build environment.
2021-02-11 14:52:32 +00:00
victorusu
fd8eac7052 Add sanity checks to reframe recipe (#21622) 2021-02-11 15:35:57 +01:00
Todd Gamblin
3b3314802e database: don't create a date object in query() unless it's necessary
`query()` calls `datetime.datetime.fromtimestamp` regardless of whether a
date query is being done. Guard this with an if statement to avoid the
unnecessary work.
2021-02-11 15:30:57 +01:00
Todd Gamblin
c81ca37dfc version: precompile regexes in Version constructor 2021-02-11 15:30:57 +01:00
Todd Gamblin
e3e913ef8f spack_json: _strify should be a no-op in Python 3
_strify traverses *all* of the read-in data and converts strings, but
only for Python 2.  Ignore it in Python 3.
2021-02-11 15:30:57 +01:00
Todd Gamblin
52508e6ee7 database: do not redundantly mark specs concrete
Speed up reads by not traversing each spec recursively when marking them
concrete.
2021-02-11 15:30:57 +01:00
Todd Gamblin
6fe931ccb1 spec performance: don't parse in from_node_dict
Constructing a spec from a name instead of setting name directly forces
from_node_dict to call Spec.parse(), which is slow. Avoid this by using a
zero-arg constructor and setting name directly.
2021-02-11 15:30:57 +01:00
victorusu
2fbc8caf86 pygelf: add v0.4.0 (#21620) 2021-02-11 15:23:55 +01:00
M. Eric Irrgang
944cb5dec6 Update GROMACS package (#21617)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2021-02-11 15:16:27 +01:00
Michael Kuhn
fc00944900 meson: remove cmake dependency (#21607)
cmake was added as a runtime dependency to meson in #20449. This
introduces an unnecessary implicit cmake dependency, which increases
build time for meson considerably. cmake is only one of many methods for
finding dependencies (pkg-config, qmake etc.), which are also not
runtime dependencies of meson. Add cmake as a build dependency to mesa
instead.
2021-02-10 23:46:52 -05:00
Axel Huebl
48af2ac8f9 adios2: Add 2.7.1 release (#21584)
Add the latest release of ADIOS2.
2021-02-10 23:44:42 -05:00
Massimiliano Culpo
4558dc06e2 Added a context manager to swap architectures
This solves a few FIXMEs in conftest.py, where
we were manipulating globals and seeing side
effects prior to registering fixtures.

This commit solves the FIXMEs, but introduces
a performance regression on tests that may need
to be investigated
2021-02-10 16:50:09 -08:00
Massimiliano Culpo
553d37a6d6 Move context manager to swap the current configuration into spack.config
The context manager can be used to swap the current
configuration temporarily, for any use case that may need it.
2021-02-10 16:50:09 -08:00
Massimiliano Culpo
cb2c233a97 Move context manager to swap the current store into spack.store
The context manager can be used to swap the current
store temporarily, for any use case that may need it.
2021-02-10 16:50:09 -08:00
Massimiliano Culpo
1a8963b0f4 repo: generalize "swap" context manager to also accept paths
The method is now called "use_repositories" and
makes it clear in the docstring that it accepts
as arguments either Repo objects or paths.

Since there was some duplication between this
contextmanager and "use_repo" in the testing framework,
remove the latter and use spack.repo.use_repositories
across the entire code base.

Make a few adjustment to MockPackageMultiRepo, since it was
stating in the docstring that it was supposed to mock
spack.repo.Repo and was instead mocking spack.repo.RepoPath.
2021-02-10 16:50:09 -08:00
Scott McMillan
0007ed72c3 Fix: Add a space between -isystem and the directory (#21599)
Some compilers, such as the NV compilers, do not recognize -isystem
dir when specified without a space.

Works: -isystem ../include
Does not work: -isystem../include

This PR updates the compiler wrapper to include the space with -isystem.
2021-02-10 15:56:42 -08:00
Greg Becker
2b6f896ca7 Bugfix: environments/views on separate mounts (#20720)
Environment views fail when the tmpdir used for view generation is
on a separate mount from the install_tree because the files cannot
by symlinked between the two. The fix is to use an alternative
tmpdir located alongside the view.
2021-02-10 13:39:11 -08:00
Jen Herting
5828a2cd31 [py-chalice] py-typing causes issues with python >= 3.5 (#21202)
* [py-chalice] py-typing causes issues with python >= 3.5

* [py-chalice] changed upperbound on typing
2021-02-10 21:31:02 +00:00
eugeneswalker
e15a3438a8 ascent: add version v0.6.0 (#21573) 2021-02-10 10:14:16 -08:00
a-saitoh-fj
24dd5d12a5 py-llvmlite: Changing build options when using the FUJITSU compiler (#21585) 2021-02-10 09:58:10 -06:00
vvolkl
08972014f8 [py-uproot4] add new versions (#21588) 2021-02-10 09:57:10 -06:00
a-saitoh-fj
bd836540f2 New package: py-dask-sphinx-theme (#21582) 2021-02-10 10:22:03 +01:00
a-saitoh-fj
cf9a7bc7f6 pandoc modified:package.py (#21581) 2021-02-10 10:20:47 +01:00
h-denpo
7d48bbfd3a raxml-ng: Fixed typo: (#21580) 2021-02-10 10:17:28 +01:00
Matt Schramm
175d614bc6 Update package.py (#21577) 2021-02-10 10:16:22 +01:00
Shintaro Iwasaki
ca6ec59a86 sollve: deprecate the sollve package (#21578) 2021-02-10 01:49:20 +00:00
Jen Herting
a938cc512b New package: py-moviepy (#20751)
* [py-moviepy] created template

* [py-moviepy] added dependencies

* [py-moviepy] removed fixmes, added homepage and description

* [py-moviepy] updated to pypi and updated checksum

* [py-moviepy] added setuptools dependency

* [py-moviepy] more specific version limit

* [py-moviepy] added checksum for version 1.0.1

* [py-moviepy] numpy restriction not nesessary here
2021-02-09 23:18:51 +00:00
kean-smullen-nnl
32056da93b New Package: py-xgboost (#21470)
* new python package py-xgboost added

* py-xgboost spack style applied

* py-xgboost: Addressing PR #21470 comments. Added variant descriptions and fixed scikit-learn when clause
2021-02-09 23:12:20 +00:00
Satish Balay
42e8a64660 xsdk: update petsc4py, strumpack dependencies (#21569) 2021-02-10 00:10:09 +01:00
Adam J. Stewart
d580ac302d 3DTK: add new package (#20931)
* 3DTK: add new package

* Add missing opencv variants

Co-authored-by: Michael Kuhn <michael@ikkoku.de>

* Fix cmake version req, add eigen dep

* Prefer trunk version

* Tell 3dtk where to find eigen

* Fix installation

* Fix installation

Co-authored-by: Michael Kuhn <michael@ikkoku.de>
2021-02-09 16:45:41 -06:00
Ethan Stam
865d38afa7 ParaView, LLVM: add -shared-intel to solve intel linking failures (#18195) 2021-02-09 23:26:49 +01:00
Desmond Orton
2697c73097 New Package r-reproducible (#21434) 2021-02-09 14:11:14 -08:00
Glenn Johnson
d01edbb48e Fix groff build with long interpeter line (#21549)
This PR fixes the case where groff fails to build if the spack install
path is really long. There are a couple of perl scripts that get built,
and used, during the build phase that will fail when the perl
interpreter line is too long. Filtering the lines will not work because
the files don not exist after the configure phase and patching after the
build phase is too late.  This PR runs the scripts explicitly with the
spack perl via the $(PERL) variable in the call to the script.
2021-02-09 13:54:51 -08:00
Glenn Johnson
f7a9fbc688 Update the Spack R BioConductor packages to Bioconductor-3.12 (#21575) 2021-02-09 15:35:30 -06:00
Adam J. Stewart
e341a76543 Clean up .gitignore, add Python.gitignore (#20613)
* Clean up .gitignore, add Python.gitignore

* Ignore `spack debug create-db-tarball` logs

* lib/ and var/ need to be tracked

* Add editor- and OS-specific ignores

* Add PyCharm ignores

* Add JetBrains editors like PyCharm
2021-02-09 20:55:03 +00:00
takanori-ihara
fe863b68b2 biobambam2: Add test method and test scripts. (#21504)
Co-Authored-By: Tamara Dahlgren <dahlgren1@llnl.gov>
2021-02-09 12:33:55 -08:00
Jordan Ogas
02a4abadfa add charliecloud 0.22 (#21574) 2021-02-09 12:15:03 -08:00
Dr. Christian Tacke
11711fcbe5 root: 6.22.04 works with xrootd 5 (#21572)
ROOT version 6.22.04 has been ported to support xrootd 5.
So let's support that.

See: https://github.com/root-project/root/commit/a33b156e3bf809343eda08150666154a
2021-02-09 11:33:14 -08:00
Evan Bollig
cc6d055786 Relion 3.1.1 patch for Ubuntu18.04 (#21556) 2021-02-09 11:07:06 -08:00
Cyrus Harrison
533d4bbc3c add conduit 0.7.0 release (#21558) 2021-02-09 11:02:30 -08:00
Adam J. Stewart
7ccb9992a6 Procedure to deprecate old versions of software (#20767)
* Procedure to deprecate old versions of software

* Add documentation

* Fix bug in logic

* Update tab completion

* Deprecate legacy packages

* Deprecate old mxnet as well

* More explicit docs
2021-02-09 13:51:18 -05:00
BenWeber42
e5ab686d77 Changed stages permissions to 750 (#21425) 2021-02-09 10:12:43 -08:00
BenWeber42
e4d74825f3 Fixed uninstall rm parent folder race condition (#21424) 2021-02-09 10:05:06 -08:00
Toyohisa Kameyama
b802e75274 penblas: fix link error in dependent packages. (#21561) 2021-02-09 09:53:09 -08:00
Harmen Stoppels
0760c7c704 Add more cmake patch releases (#21562) 2021-02-09 09:48:34 -08:00
Adam J. Stewart
341eec8dfb py-pandas: add v1.2.2 (#21568) 2021-02-09 09:32:58 -08:00
Mark Meredith
784b421eda Fix typo (#21567) 2021-02-09 15:34:42 +00:00
Shintaro Iwasaki
3c874e22b5 bolt: add new versions (#21550) 2021-02-09 09:43:12 +01:00
Sreenivasa Murthy Kolam
bff4469d8f replace libelf with elfutils in hip-rocclr (#21421) 2021-02-09 08:21:05 +01:00
Jen Herting
58f3d0986d New package: py-msgpack-numpy (#21548)
* [py-msgpack-numpy] created template

* [py-msgpack-numpy] added dependencies

* [py-msgpack-numpy] added homepage and description. removed fixmes. fixed copyright date

* [py-msgpack-numpy] url -> pypi
2021-02-08 21:20:07 +00:00
Andrew W Elble
dc1a05d273 py-tensorflow-estimator: update for 2.4.0 (#21546)
* py-tensorflow-estimator: update for 2.4.0

* build/run deptypes, switch to common tmpfile logic
2021-02-08 21:14:20 +00:00
Andrew W Elble
7fd8b775ad py-tensorboard: add new versions (#21545) 2021-02-08 14:38:09 -06:00
ketsubouchi
0e3b12776c xforms: new package (#21535) 2021-02-08 12:27:36 -08:00
Jen Herting
843e1993ae New package: py-imageio-ffmpeg (#20749)
* [py-imageio-ffmpeg] created template

* [py-imageio-ffmpeg] added dependencies

* [py-imageio-ffmpeg] added runtime dependency

* [py-imageio-ffmpeg] removed fixmes, added homepage and description

* [py-imageio-ffmpeg] url -> pypi and updated checksum
2021-02-08 13:30:45 -06:00
AMD Toolchain Support
fc374febf2 amdtoolchain support for openfoam (#21536) 2021-02-08 13:22:59 -06:00
Sergei Shudler
6447ec6ff5 Smoke test for parallel-netcdf package (#21400) 2021-02-08 11:21:52 -08:00
Satish Balay
c01065ee73 petsc: update to version 3.14.4, and petsc4py to 3.14.1 (#21544) 2021-02-08 13:05:52 -06:00
Adam J. Stewart
48954a5a3e Restore verbosity of patching (#21233) 2021-02-08 10:29:19 -08:00
Pieter Ghysels
b37c601a01 Strumpack slate variant (#21542)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2021-02-08 18:27:41 +00:00
Toyohisa Kameyama
512c8a1f1a ldak: build only x86_64 linux. (#21414) 2021-02-08 10:22:47 -08:00
Howard Pritchard
45040589c8 paraview: disable VTK_PYTHON_OPTIONAL_LINK for cce (#21357)
when building paraview 5.8 or newer.

See https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7482for background info.

Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2021-02-08 09:53:06 -08:00
Satish Balay
66dc7d8c53 petsc4py: workaround LDSHARED change in 3cc5b7adc7 (#21541) 2021-02-08 11:43:46 -06:00
victorusu
9d8b8553f1 Add ReFrame 3.4 (#21540) 2021-02-08 17:00:12 +01:00
Andrew-Dunning-NNL
aba9207254 py-dvc: new package (#21516)
* py-dvc: new package

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

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

* py-dvc: add version dependency for py-networkx

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-02-08 09:54:28 -06:00
AMD Toolchain Support
9eb5c8f843 cp2k: added support for AMD toolchain (#21371) 2021-02-08 11:03:56 +01:00
Tomoyasu Nojiri
83f7541420 libqglviewer: add dependency on glu (#21438) 2021-02-08 10:55:56 +01:00
Tomoyasu Nojiri
b760dbc502 pangolin: add dependency on glu (#21439) 2021-02-08 10:46:24 +01:00
lpoirel
aa86523aaa mumps: don't put absolute path in soname (#21247) 2021-02-08 10:30:27 +01:00
dependabot[bot]
652fef2c76 build(deps): bump actions/cache from v2 to v2.1.4 (#21529)
Bumps [actions/cache](https://github.com/actions/cache) from v2 to v2.1.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2...26968a09c0ea4f3e233fdddbafd1166051a095f6)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-08 09:57:45 +01:00
Adam J. Stewart
824f6ad3f4 py-matplotlib: clarify backend variant description (#21520) 2021-02-08 09:36:35 +01:00
Adam J. Stewart
8a2fc484fa py-fiscalyear: add v0.3.1 (#21523) 2021-02-08 09:30:50 +01:00
Adam J. Stewart
480e4f0b4c py-numpy: add v1.20.1 (#21525) 2021-02-08 09:27:31 +01:00
darmac
f4f2647134 libproxy: add v0.4.17 (#21526)
Added dependency on Python and zlib
2021-02-08 09:25:10 +01:00
darmac
1bee682d67 pciutils: add a PREFIX parameter to make invocation (#21527) 2021-02-08 09:22:55 +01:00
darmac
ca24b6c740 bird: add build dependencies (#21528) 2021-02-08 09:20:48 +01:00
Desmond Orton
de99535f9a Package/r require and subpackage dep fix (#21433) 2021-02-07 13:48:14 -06:00
Sreenivasa Murthy Kolam
fef79b7e9b fix build failure with boost-1.58.0 by using higher revision (#21376) 2021-02-07 13:32:59 +01:00
Mark Abraham
9414b11490 Clarify GROMACS relaxed double option (#21510)
* Clarify relaxed double precision option

This is only intended for use on the Fujitsu PRIMEHPC platform

* Fix typo

* Shorten line to keep linter happy
2021-02-07 05:29:53 -07:00
Richarda Butler
5f75221522 Bugfix: Install font-util (#20179)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Greg Becker <becker33@llnl.gov>
2021-02-07 12:52:07 +01:00
m-shunji
6e29a36d88 mpas-model: add a necessary resource (#21478) 2021-02-07 12:47:54 +01:00
Aurelien Bouteiller
eb3338ed1b Parsec: new release (#21481) 2021-02-07 12:47:20 +01:00
Hanqi Guo
4f73dff204 adding new package FTK (the feature tracking kit) (#21493) 2021-02-07 12:46:08 +01:00
Robert Pavel
3387cefe1e Fixed xsbench~mpi Spec (#21498) 2021-02-07 12:45:43 +01:00
Christoph Junghans
d5953d75bf libecpint: add v1.0.5 (#21502) 2021-02-07 12:44:23 +01:00
Adam J. Stewart
f37ffbe932 py-xarray: fix smoke tests (#21503) 2021-02-07 12:43:40 +01:00
marvinbernhardt
d58ed20239 handle other architectures than Intel (#21509) 2021-02-07 12:37:56 +01:00
Robert Pavel
d630d63755 Added Conflict for macsio@1.1 ~mpi (#21513)
Added conflict for macsio@1.1~mpi after investigating source code. As of
1.1 tag macsio does not properly guard out MPI commands. This is
verified as corrected in @develop
2021-02-07 12:34:00 +01:00
Filippo Spiga
7d371e5b55 Adding NVIDIA HPC SDK 21.1 (#21514) 2021-02-07 12:33:08 +01:00
Robert Pavel
35b5d37f10 Fixed Typo in Examinimd Spackage (#21515) 2021-02-07 12:29:24 +01:00
darmac
adb350c23c collectd: add test dependency (#21522) 2021-02-07 12:28:49 +01:00
Phil Carns
b54e9b0b31 mercury variant to control checksumming feature (#21467) 2021-02-07 12:26:49 +01:00
Adam Moody
121e55832a mpifileutils: add v0.11 (#21432) 2021-02-07 12:18:42 +01:00
darmac
7bfb4a2d7d gobject-introspection: enable gobject option in cairo (#21404) 2021-02-07 12:09:20 +01:00
kkauder
1b9be33f84 Removed boost dependence and other outdated bits (#21394) 2021-02-07 12:06:59 +01:00
darmac
7b38221798 aspcud: update version to fix build error (#21521) 2021-02-07 11:55:37 +01:00
darmac
7020c86874 r-rmariadb: add mariadb library path (#21406) 2021-02-07 02:49:42 +00:00
eugeneswalker
f3f8a72bbd trilinos: @develop requires cxxstd>=14 (#21519) 2021-02-06 13:24:30 -05:00
Jean-Paul Pelteret
a544030517 Add package: py-fava (#21275)
* Add package: py-beancount-fava

* Rename package; fixes

* Fixes

* Cleanup; simplify regex used to ignore files
2021-02-05 21:12:29 +00:00
Adam J. Stewart
c3206656bc mxnet: convert to CMakePackage (#21385)
* mxnet: convert to CMakePackage

* Package isn't installed yet, can't find libs

* Fix bug with GCC 8+ and CUDA 10 on PowerPC

* Add space

* Add patch to fix cmake cuda flags

* Space no longer needed

* Add patch to fix OpenBLAS linking

* Add missing CMake flag

* Fix env set, default to Distribution

* Add new version, patch
2021-02-05 12:48:20 -06:00
albestro
02b64c8903 let intel consider cray-mpich as mpich (#21512) 2021-02-05 17:55:39 +00:00
Bryan Herman
67667c96db py-python-benedict: new package (#21501)
* added py-python-benedict recipe

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-02-05 10:38:17 -06:00
Evan Bollig
204e8f4fa4 gromacs: added v2021 (#21473)
Fixed broken gromacs builds. gmxapi requires mpicxx to link properly

Gromacs requires mpicc override on CMAKE_C_COMPILER, not MPI_C_COMPILER
2021-02-05 11:47:22 +01:00
Evan Bollig
52058ad5a7 New versions of libfabric (1.11.1, 1.11.2) (#21496) 2021-02-04 16:36:57 -08:00
Evan Bollig
38e6d411a3 libjwt: Added openssl to resolve broken CICD pipeline (#21443) 2021-02-04 16:35:43 -08:00
Robert Pavel
87512df699 Disabled Non-Existant miniamr~mpi Variant (#21495)
Identified build error for miniamr~mpi. Upon further investigation, the
MPI dependencies are hard coded in that tag
2021-02-04 22:13:15 +00:00
Tom Payerle
935ad53649 lammps: Add support for a number of new LAMMPS add-on packages (#21494)
mliap
user-adios
user-awpmd
user-bocs
user-cgsdk
user-colvars
user-diffraction
user-dpd
user-drude
user-eff
user-fep
user-manifold
user-mesodpd
user-mesont
user-mgpt
user-mofff
user-phonon
user-plumed
user-ptm
user-qtb
user-reaction
user-sdpd
user-smd
user-smtbq
user-sph
user-tally
user-uef
user-yaff
2021-02-04 21:29:49 +00:00
Cody Balos
4ec044817b sundials: add new version (#21488) 2021-02-04 12:19:12 -08:00
Sergei Shudler
10204826db superlu: Add e4s testsuite-inspired smoke test (#21230) 2021-02-04 12:10:15 -08:00
Laurent Aphecetche
e0b7ca47d8 config: (darwin only) change prefix of external libuuid (#21480) 2021-02-04 14:01:40 -06:00
Adam J. Stewart
6fdb9309d6 py-xarray: add v0.16.2 (#21489) 2021-02-04 11:15:50 -08:00
Kelly (KT) Thompson
473f075896 [pkg][new version] Provide draco@7.9.1 (#21486)
+ Provide optional variant `pythontools` (default False) that adds a run-time dependency on
  `py-matplotlib`.
+ Latest versions require `cmake@3.18:` to support cuda features.
+ Enable a cmake option that forcibly disables qt support.  Previously, draco would enable qt
  support if it was available in the local build environment (outside of spack).
2021-02-04 10:37:36 -08:00
Kurt Sansom
f506b9c7f8 update: update pfunit releases (#21485) 2021-02-04 10:29:52 -08:00
m-shunji
0910f37f45 parallelio: add necessary resources (#21477)
Co-authored-by: Toyohisa Kameyama <kameyama@riken.jp>
2021-02-04 10:13:30 -08:00
Kelly (KT) Thompson
331a1b59b1 Provide eospac-6.4.2. (#21476) 2021-02-04 10:07:34 -08:00
Adam J. Stewart
ba70f90ee0 Fix usage of PythonPackage.test outside of PythonPackage (#20555) 2021-02-04 11:00:37 -06:00
Tomoki, Karatsu
f0cafd21ce py-numpy: Fix for new version of numpy with Fujitsu compiler. (#21479)
* Change the version to apply patches.

* Change the name of the Fujitsu compiler to 'fujitsu' in numpy.
2021-02-04 10:58:48 -06:00
Adam J. Stewart
df5992293a Python: add maintainer(s) (#21125)
* Python: add maintainer(s)

* Fix unit tests
2021-02-04 10:00:21 -06:00
Adam J. Stewart
d14a6dc1f7 py-mypy: add v0.800 (#21386) 2021-02-04 10:00:03 -06:00
Seth R. Johnson
31722ac994 Graphviz: don't build ghostscript when ~ghostscript (#19615)
* graphviz: Remove ghostscript requirement when ~ghostscript

* Add doc variant and patch for 2.44.1

* Patch does not apply

* Update graphviz versions, using archives rather than git hash

* Complete implementation of doc variant

* Fix typo
2021-02-04 09:59:24 -06:00
Harmen Stoppels
39a429b2a3 dbcsr: add opencl as a third backend (#21468) 2021-02-04 13:44:59 +00:00
Massimiliano Culpo
694d633a2c spack external find: allow to search by tags (#21407)
This commit adds an option to the `external find`
command that allows it to search by tags. In this
way group of executables with common purposes can
be grouped under a single name and a simple command
can be used to detect all of them.

As an example introduce the 'build-tools' tag to
search for common development tools on a system
2021-02-04 13:17:32 +01:00
Andrew-Dunning-NNL
e9ae44fd8c py-flufl-lock: new recipe (#21334)
* py-flufl-lock: new recipe

* py-flufl-lock: fix typing extension when no longer provisional
2021-02-03 21:15:48 -06:00
Greg Becker
457fc4c095 link gettext properly for git when gettext does not provide libintl (#21472) 2021-02-04 01:45:53 +00:00
Frank Willmore
beb4d968ef intel-oneapi-compilers/mpi: add module support (#20808)
Facilitate running intel-oneapi-mpi outside of Spack (set PATH,
LD_LIBRARY_PATH, etc. appropriately).

Co-authored-by: Robert Cohn <rscohn2@gmail.com>
2021-02-03 16:21:54 -08:00
Frank Willmore
eb345faa57 intel-oneapi-compilers: add to LD_LIBRARY_PATH so that it finds libimf.so (#20717)
* add  to LD_LIBRARY_PATH so that it finds libimf.so

* amrex: fix handling of CUDA arch (#20786)

* amrex: fix handling of CUDA arch
* amrex: fix style
* amrex: fix bug
* Update var/spack/repos/builtin/packages/amrex/package.py
* Update var/spack/repos/builtin/packages/amrex/package.py

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>

* ecp-data-vis-sdk: Combine the vis and io SDK packages (#20737)

This better enables the collective set to be deployed togethor satisfying
eachothers dependencies

* r-sf: fix dependency error (#20898)

* improve documentation for Rocm (hip amd builds) (#20812)

* improve documentation

* astyle: Fix makefile for install parameter (#20899)

* llvm-doe: added new package (#20719)

The package contains duplicated code from llvm/package.py,
will supersede solve.

* r-e1071: added v1.7-4 (#20891)

* r-diffusionmap: added v1.2.0 (#20881)

* r-covr: added v3.5.1 (#20868)

* r-class: added v7.3-17 (#20856)

* py-h5py: HDF5_DIR is needed for ~mpi too (#20905)

For the `~mpi` variant, the environment variable `HDF5_DIR` is still required.  I moved this command out of the `+mpi` conditional.

* py-hovorod: fix typo on variant name in conflicts directive (#20906)

* fujitsu-fftw: Add new package (#20824)

* pocl: added v1.6 (#20932)

Made version 1.5 or lower conflicts with a64fx.

* PCL: add new package (#20933)

* r-rle: new package (#20916)

Common 'base' and 'stats' methods for 'rle' objects, aiming to make it
possible to treat them transparently as vectors.

* r-ellipsis: added v0.3.1 (#20913)

* libconfig: add build dependency on texinfo (#20930)

* r-flexmix: add v2.3-17 (#20924)

* r-fitdistrplus: add v1.1-3 (#20923)

* r-fit-models: add v0.64 (#20922)

* r-fields: add v11.6 (#20921)

* r-fftwtools: add v0.9-9 (#20920)

* r-farver: add v2.0.3 (#20919)

* r-expm: add v0.999-6 (#20918)

* cln: add build dependency on texinfo (#20928)

* r-expint: add v0.1-6 (#20917)

* r-envstats: add v2.4.0 (#20915)

* r-energy: add v1.7-7 (#20914)

* r-ellipse: add v0.4.2 (#20912)

* py-fiscalyear: add v0.3.0 (#20911)

* r-ecp: add v3.1.3 (#20910)

* r-plotmo: add v3.6.0 (#20909)

* Improve gcc detection in llvm. (#20189)

Co-authored-by: Tom Scogland <tom.scogland@gmail.com>
Co-authored-by: Thomas Green <ca-tgreen@gw4a64fxlogin00.head.gw4.metoffice.gov.uk>

* hatchet: updated urls (#20908)

* py-anuga: add new package (#20782)

* libvips: added v8.10.5 (#20902)

* libzmq: add platform conditions to libbsd dependency (#20893)

* r-dtw: add v1.22-3 (#20890)

* r-dt: add v0.17 (#20889)

* r-dosnow: add v1.0.19 (#20888)

* add version 1.0.16 to r-doparallel (#20886)

* add version 1.3.7 to r-domc (#20885)

* add version 0.9-15 to r-diversitree (#20884)

* add version 1.3-3 to r-dismo (#20883)

* add version 0.6.27 to r-digest (#20882)

* add version 1.5 to r-rngtools (#20887)

* add version 1.5.8 to r-dicekriging (#20877)

* add version 1.4.2 to r-httr (#20876)

* add version   1.28 to r-desolve (#20875)

* add version   2.2-5 to r-deoptim (#20874)

* add version   0.2-3 to r-deldir (#20873)

* add version   1.0.0 to r-crul (#20870)

* add version   1.1.0.1 to r-crosstalk (#20869)

* add version   1.0-1 to r-copula (#20867)

* add version 5.0.2 to r-rcppparallel (#20866)

* add version   2.0-1 to r-compositions (#20865)

* add version 0.4.10 to r-rlang (#20796)

* add version 0.3.6 to r-vctrs (#20878)

* amrex: add ROCm support (#20809)

* add version 2.0-0 to r-colorspace (#20864)

* add version 1.3-1 to r-coin (#20863)

* add version   0.19-4 to r-coda (#20862)

* add version 1.3.7 to r-clustergeneration (#20861)

* add version 0.3-58 to r-clue (#20860)

* add version 0.7.1 to r-clipr (#20859)

* add version 2.2.0 to r-cli (#20858)

* add version 0.4-3 to r-classint (#20857)

* add version 0.1.2 to r-globaloptions (#20855)

* add version 2.3-56 to r-chron (#20854)

* add version 0.4.10 to r-checkpoint (#20853)

* add version 2.0.0 to r-checkmate (#20852)

* add version 1.18.1 to r-catools (#20850)

* add version 1.2.2.2 to r-modelmetrics (#20849)

* add version 3.0-4 to r-cardata (#20847)

* add version 1.0.1 to r-caracas (#20846)

* r-lifecycle: new package at v0.2.0 (#20845)

* add version 3.0-10 to r-car (#20844)

* add version 3.4.5 to r-processx (#20843)

* add version 1.5-12.2 to r-cairo (#20842)

* add version 0.2.3 to r-cubist (#20841)

* add version 2.6 to r-rmarkdown (#20838)

* add version 1.2.1 to r-blob (#20819)

* add version 4.0.4 to r-bit (#20818)

* add version 2.4-1 to r-bio3d (#20816)

* add version 0.4.2.3 to r-bibtex (#20815)

* add version 3.1-4 to r-bayesm (#20807)

* add version 1.2.1 to r-backports (#20806)

* add version 2.0.3 to r-argparse (#20805)

* add version 5.4-1 to r-ape (#20804)

* add version 0.8-18 to r-amap (#20803)

* r-pixmap: added new package (#20795)

* zoltan: source code location change (#20787)

* refactor path logic

* added some paths to make compilers and libs discoverable

* add  to LD_LIBRARY_PATH so that it finds libimf.so
and cleanup PEP8

* refactor path logic

* adding paths to LIBRARY_PATH so compiler wrappers will find -lmpi

* added vals for CC=icx, CXX=icpx, FC=ifx to generated module

* back out changes to intel-oneapi-mpi, save for separate PR

* Update var/spack/repos/builtin/packages/intel-oneapi-compilers/package.py

path is joined in _ld_library_path()

Co-authored-by: Robert Cohn <rscohn2@gmail.com>

* set absolute paths to icx,icpx,ifx

* dang close parenthesis

Co-authored-by: Robert Cohn <rscohn2@gmail.com>
Co-authored-by: mic84 <mrosso@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Chuck Atkins <chuck.atkins@kitware.com>
Co-authored-by: darmac <xiaojun2@hisilicon.com>
Co-authored-by: Danny Taller <66029857+dtaller@users.noreply.github.com>
Co-authored-by: Tomoyasu Nojiri <68096132+t-nojiri@users.noreply.github.com>
Co-authored-by: Shintaro Iwasaki <siwasaki@anl.gov>
Co-authored-by: Glenn Johnson <glenn-johnson@uiowa.edu>
Co-authored-by: Kelly (KT) Thompson <KineticTheory@users.noreply.github.com>
Co-authored-by: Henrique Mendonça <henrique@users.noreply.github.com>
Co-authored-by: h-denpo <57649496+h-denpo@users.noreply.github.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Thomas Green <tomgreen66@hotmail.com>
Co-authored-by: Tom Scogland <tom.scogland@gmail.com>
Co-authored-by: Thomas Green <ca-tgreen@gw4a64fxlogin00.head.gw4.metoffice.gov.uk>
Co-authored-by: Abhinav Bhatele <bhatele@cs.umd.edu>
Co-authored-by: a-saitoh-fj <63334055+a-saitoh-fj@users.noreply.github.com>
Co-authored-by: QuellynSnead <quellyn@lanl.gov>
2021-02-03 12:04:23 -08:00
Andrew-Dunning-NNL
22ee367794 py-atpublic: new recipe (#21332) 2021-02-03 13:53:54 -06:00
Hadrien G
91d64dd223 acts: Add version 5.0 (#21466) 2021-02-03 11:50:28 -08:00
Brian Van Essen
db402ed2e3 Set the variant to alway be true since it is requires cuda. (#21358) 2021-02-03 20:44:53 +01:00
Massimiliano Culpo
ba42c36f00 concretizer: simplify "fact" method (#21148)
The "fact" method before was dealing with multiple facts
registered per call, which was used when we were emitting
grounded rules from knowledge of the problem instance.

Now that the encoding is changed we can simplify the method
to deal only with a single fact per call.
2021-02-03 10:12:03 -08:00
Frank Willmore
8be833b242 adding environment to OneMKL packages so that examples will build (#21377) 2021-02-03 09:50:37 -08:00
Josh Essman
61641ecff2 sundials: expose monitoring build option (#21429) 2021-02-03 09:39:57 -08:00
Harmen Stoppels
b597e01e33 Add cuda as opencl provider (#21464) 2021-02-03 09:06:49 -08:00
Tomoyasu Nojiri
2b7547c03c http-load: Fix checksum error (#21459) 2021-02-03 11:03:50 -06:00
Tomoyasu Nojiri
1a6fe52486 http-post: Fix checksum error (#21460) 2021-02-03 11:03:28 -06:00
Tomoyasu Nojiri
4d194dc5e4 http-get: Fix checksum error (#21458) 2021-02-03 11:03:00 -06:00
Tomoyasu Nojiri
6f4b7870f2 http-ping: Fix checksum error (#21457) 2021-02-03 11:02:42 -06:00
Tomoyasu Nojiri
0a0e0b9b67 symlinks: Fix checksum error (#21456) 2021-02-03 11:02:07 -06:00
Tomoyasu Nojiri
54763a16f4 py-dulwich: Fix python depend (#21461) 2021-02-03 11:00:45 -06:00
iarspider
95fcd9ac13 superchic: added new package (#21463)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-02-03 15:29:52 +01:00
sameershende
d5d1cb09ad Updated TAU v2.30.1. (#21453) 2021-02-02 15:21:30 -08:00
mic84
e2294ea0b0 amrex: new version 21.02 (#21426) 2021-02-02 14:49:51 -08:00
iarspider
4691177bbf New package: apfel (#21440) 2021-02-02 14:42:07 -08:00
Axel Huebl
d8ba71993c openPMD-api: 0.13.2 (#21450) 2021-02-02 14:25:18 -08:00
Andrew-Dunning-NNL
09190c0876 py-bash-kernel: new package (#21441)
* py-bash-kernel: new package

* py-bash-kernel: remove git bash kernel dependency
2021-02-02 15:42:08 -06:00
Bryan Herman
182ab78940 add py-python-fsutil recipe (#21449) 2021-02-02 15:41:21 -06:00
Mark W. Krentel
040204c261 intel-xed: add patch to 12.0.1 to fix segfault (#21436)
Fix segfault due to uninitialized data when trying to decode some cases of data that aren't a valid instruction.
2021-02-02 12:40:24 -08:00
Greg Becker
7dcf3f7aed add intel oneapi to compiler/pkg translations (#21448) 2021-02-02 19:11:51 +00:00
bryanherman
d048048911 py-nbsphinx: new package (#21444)
* added py-nbsphinx package

* added a comment about nbsphinx use
2021-02-02 11:24:28 -06:00
Andrew-Dunning-NNL
959df6bb12 py-grandalf: new recipe (#21348)
* py-grandalf: new recipe

* py-grandalf: add runtime dependency

* py-grandalf: add runtime dependency)
2021-02-02 11:22:36 -06:00
Andrew-Dunning-NNL
59a54905ea py-dictdiffer: fix offline dependencies (#21345)
* py-dictdiffer: fix offline dependencies

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-02-02 11:21:58 -06:00
Andrew-Dunning-NNL
8b6c468cdf py-ftfy: new recipe (#21333)
* py-ftfy: new recipe

* py-ftfy: depend on python>3.5
2021-02-02 11:19:02 -06:00
Andrew-Dunning-NNL
71309f75b2 py-dulwich: new recipe (#21330)
* py-dulwich: new recipe

* py-dulwhich: add python dependency

* py-dulwich: fix flake8 whitespace
2021-02-02 11:15:34 -06:00
Andrew-Dunning-NNL
49b3ab684e py-flatten-dict: new recipe (#21329)
* py-flatten-dict: new recipe

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

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

* py-flatten-dict: fix dependencies

* py-flatten-dict: fix dependency

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-02-02 11:14:12 -06:00
apreifsteck
df0cc9ee02 OSU mvapich2 GDR 2.3.5 package.py update (#21270)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Co-authored-by: NOWLAB PACKAGER <mvapich-help@cse.ohio-state.edu>
2021-02-01 18:48:16 -08:00
Sergei Shudler
8f2acc3123 mfem: Add e4s testsuite-inspired smoke test (#21228) 2021-02-01 17:49:20 -08:00
Desmond Orton
71b12e9b27 New R Package Pegas@0.14 (#21359) 2021-02-01 16:42:44 -08:00
Desmond Orton
6cc23e6137 New Feature r-quickplot (#21430) 2021-02-01 18:02:14 -06:00
iarspider
eac95c866a FastJet: add optional patch to make random generator thread-local (#21395) 2021-02-01 11:18:04 -08:00
Adam J. Stewart
b597cbe1c0 PythonPackage: fewer phases (#20738) 2021-02-01 12:48:45 -06:00
Phil Carns
03fce1f0c9 replace margo pkg with updated mochi-margo pkg (#20273) 2021-02-01 12:38:02 -06:00
iarspider
586ff05af1 New package: frontier-client (#21405) 2021-02-01 10:23:56 -08:00
iarspider
5add6c4e03 New package: unigen (#21338) 2021-02-01 10:21:02 -08:00
Ryan Mast
5cb8d1894b libgcrypt: add versions up to 1.9.1 (#21401) 2021-02-01 10:11:51 -08:00
Jose E. Roman
4523cce791 SLEPc: add v3.14.2 (#21422) 2021-02-01 09:42:13 -08:00
Adam J. Stewart
1d636bed6a R: add maintainer(s) (#21119)
* R: add maintainer(s)

* Add maintainer to base class
2021-02-01 11:33:33 -06:00
Adam J. Stewart
40a40e0265 Python 3.10 support: collections.abc (#20441) 2021-02-01 11:30:25 -06:00
Andrew-Dunning-NNL
f781403615 py-colored-traceback: new package (#21423) 2021-02-01 11:14:00 -06:00
eugeneswalker
0b58499d7a llvm: "master" branch is now "main" branch (#21411) 2021-02-01 08:32:36 -06:00
iarspider
af988fc32d sqlite: add v3.32.03 (#21417) 2021-02-01 15:04:19 +01:00
Tomoki, Karatsu
6feb697b62 abinit: fix build with Fujitsu compilers (#21213) 2021-02-01 15:03:03 +01:00
iarspider
260706c186 coin3d: depend on gl/glu (virtual packages), not on opengl/openglu (#21419) 2021-02-01 15:01:05 +01:00
Tomoyasu Nojiri
c279983c10 cgdb: add a few build dependencies (#20927) 2021-02-01 15:00:52 +01:00
Jean-Paul Pelteret
a04e0d2525 Add package: py-beancount (#21274)
* Add package: py-beancount

* Fixes
2021-01-31 12:29:29 -06:00
darmac
f7929aaeb1 chrony: add missing dependency (#21403) 2021-01-31 12:21:23 -05:00
Jean-Paul Pelteret
6ac3d98f4c Add package: py-flask-babel (#21272) 2021-01-31 10:50:16 -06:00
Jean-Paul Pelteret
6c03c9996a Add package: py-markdown2 (#21273) 2021-01-31 10:49:49 -06:00
Adam J. Stewart
c950f4a4ff py-numpy: add v1.20.0 (#21409) 2021-01-31 06:28:21 +01:00
Toyohisa Kameyama
c175c05af9 quantum-expresso: fix for Fujitsu compiler (#21368) 2021-01-29 17:36:58 -08:00
Harmen Stoppels
371247c14a Fix https://github.com/spack/spack/pull/21391#issuecomment-769961025 (#21397) 2021-01-29 17:21:56 -08:00
Massimiliano Culpo
13ac7198d3 clingo: added a package with option for bootstrapping clingo (#20652)
* clingo/clingo-bootstrap: added a package with option for bootstrapping clingo

package builds in Release mode
uses GCC options to link libstdc++ and libgcc statically

* clingo-bootstrap: apple-clang options to bootstrap statically on darwin

* clingo: fix the path of the Python interpreter

In case multiple Python versions are in the same prefix
(e.g. when clingo is built against an external Python),
it may happen that the Python used by CMake does not
match the corresponding node in the current spec.

This is fixed here by defining "Python_EXECUTABLE"
properly as a hint to CMake.

* clingo: the commit for "spack" version has been updated.
2021-01-29 12:22:57 -08:00
Robert Underwood
0611036abd doxygen: add support for external detection (#20642) 2021-01-29 21:05:48 +01:00
Yang Zongze
f8124369f9 Print groups properly for spack find -d (#20028) 2021-01-29 11:05:36 -08:00
Peter Lindstrom
0f82fa5151 zfp: several package improvements (#21244)
- add variants for build targets, language bindings, backends
- ensure selected variants are compatible with zfp version
- point to GitHub (not LLNL) tar balls
- add dependencies
- update link to homepage
- add maintainers

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-01-29 17:51:30 +01:00
albestro
47c85059fb it seems like there was a bug in the version of APEX that we set by default in 1.5.x (#21391) 2021-01-29 16:51:28 +01:00
a-saitoh-fj
9761c13878 dssp: added smoke tests (#21366) 2021-01-29 10:29:42 +01:00
Tomoyasu Nojiri
e3a0c48599 py-cheetah: restrict valid python interpreter to 2.7.X, add v2.4.4 (#21363) 2021-01-29 09:43:43 +01:00
Tomoyasu Nojiri
7b6c99655c py-cheetah3: add new package at v3.2.6 (#21387) 2021-01-29 09:41:32 +01:00
Tomoyasu Nojiri
bc639fe60b wtdbg2: enable build for aarch64 (#21390)
Use sse2neon to maintain the same API calls for aarch64
2021-01-29 09:37:00 +01:00
Tomoyasu Nojiri
b18479a2bd swarm: add v3.0.0 (#21389) 2021-01-29 09:18:41 +01:00
Adam J. Stewart
519ba5590c py-graphviz: add v0.8.4 (#21383) 2021-01-28 18:25:07 -08:00
Cyrus Harrison
57c23b964a add new package: bloaty (#21355) 2021-01-28 16:44:07 -08:00
Dan Lipsa
5a9da90d07 Use utf8 for latex build. (#21360)
Patch provided by @Billae

Avoid the following error:
  File "/home/danlipsa/projects/spack/lib/spack/llnl/util/tty/log.py", line 768, in _writer_daemon
    line = _retry(in_pipe.readline)()
  File "/home/danlipsa/projects/spack/lib/spack/llnl/util/tty/log.py", line 830, in wrapped
    return function(*args, **kwargs)
  File "/usr/lib/python3.8/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x97 in position 220: invalid start byte
2021-01-28 15:58:55 -05:00
Massimiliano Culpo
f523ea8c4e perl: add v5.32.1 (#21375)
Make it such that BigSur is seen as 10.16 rather than 11.1, since the latter causes troubles with Perl configuration
2021-01-28 21:54:28 +01:00
Desmond Orton
b095dfb44b New Package r-fpCompare@0.2.3 (#21380) 2021-01-28 14:29:57 -06:00
iarspider
f28026c040 pacparser: new package at v1.3.7 (#21372)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-01-28 20:42:53 +01:00
Adam J. Stewart
eeddaaea52 Make git fetching even quieter (for git v1.7.2+)(#21013) 2021-01-28 20:41:05 +01:00
Tomoyasu Nojiri
6ae8d5c380 openmx: Fix for aarch64 (#21367) 2021-01-28 10:20:18 -08:00
Ali Ahmed
b6d52fa466 New package: libpulsar (#21369) 2021-01-28 10:12:12 -08:00
Adam J. Stewart
aa15246280 py-matplotlib: add v3.3.4 (#21378) 2021-01-28 10:09:17 -08:00
bryanherman
ff8ef48806 New package: py-pytest-doctestplus (#21335)
* added package py-pytest-doctestplus

* setuptools required for run
2021-01-28 11:00:03 -06:00
bryanherman
ff0a92e6a8 New package: py-pytest-openfiles (#21339)
* added package py-pytest-openfiles

* remove wheel dep
2021-01-28 10:59:35 -06:00
bryanherman
bf33fe4805 openmc: add v0.11.0, v0.12.0 (#21349)
Also added new variants to fine tune the build
2021-01-28 17:04:34 +01:00
iarspider
9baecd0d78 umesimd: add new package (#21370) 2021-01-28 16:22:21 +01:00
Sergey Kosukhin
d577b6fcdf autoconf: fix v2.70 and patching procedure of bin/autom4te.in (#21255)
This PR adds:

1.  A patch that fixes a bug in version 2.70 
    (will be fixed upstream in the next release: https://savannah.gnu.org/support/?110396).
2. A fix for the way we patch shebang in bin/autom4te.in. 

For 2, we need to keep the original modification timestamp of the file. 
Otherwise, we either get an empty man page for autom4te (versions 2.69 and before)
or a failure at the build time (versions 2.70 and after). 

The difference has to do with the update of the missing script: https://git.savannah.gnu.org/cgit/automake.git/commit/lib/missing?id=a22717dffe37f30ef2ad2c355b68c9b3b5e4b8c7

It will take time until developers of Autotools-based packages adjust their scripts 
to the new version, therefore, 2.69 is marked as preferred.
2021-01-28 11:21:04 +01:00
Adam J. Stewart
5b4d636d73 Clingo: fix missing import (#21364) 2021-01-28 00:38:01 -08:00
Tomoyasu Nojiri
181f921c1a libpeas: restrict python version range, use pkgconfig virtual dependency (#21313) 2021-01-28 09:31:54 +01:00
Tomoyasu Nojiri
bcb0e80548 fox: add dependency to glu virtual package (#21280) 2021-01-28 09:29:36 +01:00
Jen Herting
0ebefcc92b New package: py-proglog (#20750)
* [py-proglog] created template

* [py-proglog] added dependencies

* [py-proglog] fixed pypi url

* [py-proglog] removed fixmes, added homepage and description

* [py-proglog] url -> pypi

* [py-proglog] added dependency on setuptools
2021-01-27 20:59:19 -06:00
Rao Garimella
3dc5ffaf65 Update MSTK version (#21356)
* New interface reconstruction package

* forgot to put in CMake option for Jali

* cleanup whitespace

* fix lines with more than 79 chars

* more long line cleanup

* fix typo WONTON_ENABLE_Kokkos ---> TANGRAM_ENABLE_Kokkos

* New interface reconstruction package

* forgot to put in CMake option for Jali

* cleanup whitespace

* fix lines with more than 79 chars

* more long line cleanup

* fix typo WONTON_ENABLE_Kokkos ---> TANGRAM_ENABLE_Kokkos

* fix bugs in CMake section

* more compact cmake block

* update hash for 1.2.10 and add 1.2.11

* update recipe for Portage 3.0.0

* removing old versions - they won't build with the new recipe and the url specification doesn't work for them

* update version to 3.3.6

Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2021-01-27 20:58:02 -06:00
bryanherman
fe05b16922 New package: py-pytest-benchmark (#21324)
* added pytest-benchmark recipe

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

Added Python2 dependence.

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-27 20:57:24 -06:00
bryanherman
d1ce461a81 New package: py-pytest-cpp (#21328)
* added package py-pytest-cpp

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

package is !=5.4.0 use @:5.3.999

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-27 20:57:09 -06:00
bryanherman
4efeb39e95 New package: py-pytest-timeout (#21340)
* added package py-pytest-timeout

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

Added Python2.

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-27 20:56:52 -06:00
bryanherman
f7a47e4048 New package: py-openmc (#21351)
* added package py-openmc

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

specify branch when using branch names for versions

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

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

use run after fixture to install openmc lib

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

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

Simplify copying openmc library to py-openmc prefix using install

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

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

NumPy should be 1.9+

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

* fix paren missing

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

fixed parens

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

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

use v0.11.0 in URL

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-27 20:56:35 -06:00
eugeneswalker
74fbad4742 autoconf: add version 2.70 (#21362) 2021-01-27 17:59:03 -08:00
Stephen Herbein
71375b3446 flux: update to latest releases (#21306) 2021-01-27 17:56:45 -08:00
bryanherman
cc28bcddd1 fix cpio for intel@18 (#21322) 2021-01-27 17:48:26 -08:00
Harmen Stoppels
3172fc3681 Add conflict for mpich 3.4.x for clang <= 7" (#21326) 2021-01-27 17:45:38 -08:00
Michael Kuhn
f9fef22ce8 rdma-core: add 33.1 (#21361) 2021-01-27 17:31:01 -08:00
Greg Becker
0d521d56ec openmpi find external fixup (#21354) 2021-01-27 15:27:17 -08:00
Desmond Orton
18b3688cd1 Package/spades (#21227)
Co-authored-by: codeandkey <jtst@iastate.edu>
2021-01-27 23:28:37 +01:00
bryanherman
71bac42357 added gawk version 5.1.0 (#21342) 2021-01-27 13:48:53 -08:00
Christoph Junghans
6b63441281 libecpint: initial add (#21353)
* libecpint: initial add

* flake8
2021-01-27 14:19:48 -07:00
Rémi Lacroix
5ef2daaa4a ELPA: Switch to HTTPS links. (#21352) 2021-01-27 22:06:44 +01:00
Andrew-Dunning-NNL
895c8b33d9 py-dpath: new recipe (#21331) 2021-01-27 14:46:40 -06:00
bryanherman
68a144eaa3 added package py-pytest-flakes (#21337) 2021-01-27 14:38:30 -06:00
Andrew-Dunning-NNL
52c32047ad py-mailchecker: new recipe (#21346) 2021-01-27 14:33:23 -06:00
Andrew-Dunning-NNL
54f163f7dc py-jsonpath-ng: new recipe (#21347) 2021-01-27 14:23:20 -06:00
Brian Van Essen
3cbc35dbdd LBANN: add support for building with OneDNN. (#21305) 2021-01-27 21:11:31 +01:00
Brian Van Essen
aac3699748 OneDNN: add versions up to v2.1-rc (#21304) 2021-01-27 21:10:16 +01:00
Sergey Kosukhin
4d7a9df810 Add a context wrapper for mtime preservation (#21258)
Sometimes we need to patch a file that is a dependency for some other
automatically generated file that comes in a release tarball. As a
result, make tries to regenerate the dependent file using additional
tools (e.g. help2man), which would not be needed otherwise.

In some cases, it's preferable to avoid that (e.g. see #21255). A way
to do that is to save the modification timestamps before patching and
restoring them afterwards. This PR introduces a context wrapper that
does that.
2021-01-27 11:41:07 -08:00
Rao Garimella
f2c98a8537 portage: added v3.0.0, deleted old versions (#21293)
old versions won't build with the new recipe and the url 
specification doesn't work for them

Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2021-01-27 20:13:22 +01:00
Ben Morgan
5667759bf5 vecgeom: add v1.1.9 release (#21341) 2021-01-27 19:50:31 +01:00
Sergey Kosukhin
3cc5b7adc7 Python extensions: consistently set LDSHARED to get Spack RPATHs (#21149)
Python extensions use CC and LDSHARED from the sysconfig module to
build. When Spack installs Python, it replaces the Spack compiler
wrappers in these values with the underlying compilers (since these
wrappers are not useful outside of the context of running Spack).
In order to use the Spack compiler wrappers when building Python
extensions with Spack, Spack sets the LDSHARED environment variable
when running `Python.setup_py` (which overrides sysconfig). However,
many Python extensions use an alternative method to build (namely
PythonPackage.setup_py), which meant that LDSHARED was not set (and
RPATHs were not inserted for dependencies).

This commit makes the following changes:

* Sets LDSHARED in the environment: this applies to all commands
  executed during the build, rather than for a single command
  invocation
* Updates the logic to set LDSHARED: this replaces the compiler
  executable in LDSHARED with the Spack compiler wrapper. This
  means that for some externally-built instances of Python,
  Spack will now switch to using the Spack wrappers when building
  extensions. The behavior is expected to be the same for Spack-
  built instances of Python.
* Performs similar modifications for LDCXXSHARED (to ensure RPATHs
  are included for C++ codes)
2021-01-27 10:20:36 -08:00
Mark C. Miller
f766585882 Doc default behavior of install tests (#21309)
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-01-27 09:08:27 -08:00
William Downs
6ba2e3ee5d gchp: added new package (#21310)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-01-27 18:02:55 +01:00
Luca Heltai
8a7487773b dealii: added support for simplices, updated sundials (#20621) 2021-01-27 17:02:15 +01:00
bryanherman
c52e95d681 cxxtest: added new package (#21323) 2021-01-27 16:26:26 +01:00
bryanherman
fbdc8b65b1 mesa: add dependency on zlib (#21325)
When installing mesa in an offline environment, mesa tries to download zlib.
2021-01-27 15:19:03 +01:00
Baptiste Jonglez
0efe54f722 mxnet: Fix python lib installation (#21298) 2021-01-27 07:53:09 -06:00
Ben Morgan
561557d2f5 py-h5py: add build dependency on py-wheel (#21320)
h5py requires wheel at build time from version 3.0.0, based on
the project's pyproject.toml.
2021-01-27 08:43:21 -05:00
Brian Van Essen
b8b432c3aa lbann: add support for building just the LBANN core library (#21235)
Variants to disable vision libraries and NumPy support.
2021-01-27 13:42:49 +01:00
bryanherman
cbdf87cd28 boost: restrict lower bound of ranges for two patches (#21321) 2021-01-27 13:28:29 +01:00
Mohan
4977dcfe9b knem: added a patch for v1.1.4 (#21312)
Co-authored-by: amd-toolchain-support <toolchainsupport@amd.com>
2021-01-27 13:27:10 +01:00
Brian Spilner
258bfff1da cdo: add v1.9.10 (#21315) 2021-01-27 11:32:49 +01:00
takanori-ihara
e83cce313b fujitsu-ssl2: remove mentions of libfj90rt2.a (#21308) 2021-01-27 11:32:23 +01:00
Glenn Johnson
84234e224c mafft: add v7.475 and build extensions (#21301) 2021-01-27 10:55:51 +01:00
darmac
88325cada8 r-xvector: add dependency on zlib (#21286) 2021-01-27 10:22:34 +01:00
Tomoyasu Nojiri
503f2f1bbc xterm: add dependency on termcap (#21314) 2021-01-27 09:50:21 +01:00
Brian Van Essen
46153a8201 NVSHMEM package (#21279) 2021-01-27 09:49:53 +01:00
Baptiste Jonglez
3626ab2697 libsodium: Fix build on ppc64le (#21256)
On ppc64le and aarch64, Spack tries to execute any "config.guess" and
"config.sub" scripts it finds in the source package.

However, in the libsodium tarball, these files are present but not
executable.  This causes the following error when trying to install
libsodium with spack:

    Error: RuntimeError: Failed to find suitable substitutes for config.sub, config.guess

Fix this by chmod-ing the scripts in the patch() function of libsodium.
2021-01-27 09:40:10 +01:00
Adam J. Stewart
aa8e026242 spack setup: remove the command for v0.17.0 (#20277)
spack setup was deprecated in 0.16 and will be removed in 0.17

Follow-up to #18240
2021-01-27 09:24:09 +01:00
Michael Kuhn
0366d49c6e mpich: add 3.4.1 (#21302) 2021-01-26 23:13:14 +01:00
Anton Loukianov
fe35ada685 nextflow: new version (#21276) 2021-01-26 22:59:49 +01:00
Vicente Bolea
104c826e33 ParaView: add ParaView-5.9.0 new release (#21268) 2021-01-26 22:58:48 +01:00
bryanherman
5cd0a9ab8e Update var/spack/repos/builtin/packages/py-shtab/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-26 15:24:18 -06:00
bryanherman
86c906e24f Update var/spack/repos/builtin/packages/py-shtab/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-26 15:24:18 -06:00
bryanherman
52630d9b96 Update var/spack/repos/builtin/packages/py-shtab/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-26 15:24:18 -06:00
Bryan Herman
430b7f3ebd added package py-shtab 2021-01-26 15:24:18 -06:00
bryanherman
4a6676c441 Update var/spack/repos/builtin/packages/py-paramiko/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-26 15:23:17 -06:00
Bryan Herman
b527e43615 added invoke variant to py-paramiko 2021-01-26 15:23:17 -06:00
Bryan Herman
3455647011 added package py-sortedcollections 2021-01-26 15:23:02 -06:00
bryanherman
4e465e230e Update var/spack/repos/builtin/packages/py-rich/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-26 15:22:48 -06:00
bryanherman
93a7f57299 Update var/spack/repos/builtin/packages/py-rich/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-26 15:22:48 -06:00
bryanherman
eb1270d917 Update var/spack/repos/builtin/packages/py-rich/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-26 15:22:48 -06:00
Bryan Herman
53f299d0d5 dont cap future python versions 2021-01-26 15:22:48 -06:00
Bryan Herman
08413844f1 added py-rich package 2021-01-26 15:22:48 -06:00
Paul
c03a2d0697 Added Go versions 1.15.7 and 1.14.14 (#21294) 2021-01-26 22:19:13 +01:00
Harsh Bhatia
04225d3cef new package: callflow 2021-01-26 14:40:28 -06:00
Harsh Bhatia
a4e67c35de added flask-cors 2021-01-26 14:40:28 -06:00
kean-smullen-nnl
889c86bdb1 dakota: fix build dependencies (#20697) 2021-01-26 19:04:39 +01:00
Erik Schnetter
325510da5c qthreads: New version 1.16 (#21159) 2021-01-26 18:53:46 +01:00
Tomoyasu Nojiri
90009d67a9 py-prompt-toolkit: Add version 2.0.10 for py-spatialist (#21281) 2021-01-26 11:26:26 -06:00
bryanherman
6b16d61a80 Added package py-nanotime (#21287) 2021-01-26 11:22:19 -06:00
bryanherman
a678c1966f added version 2.4.7 to py-pyparsing (#21290) 2021-01-26 11:18:03 -06:00
bryanherman
fbf13e19ed added missing dep, py-wheel, to py-pynacl (#21292) 2021-01-26 11:16:26 -06:00
Claire Guilbaud
31cf77aec6 recipe: add version 6.1.1 for pytest (#20831)
* recipe: add version 6.1.1 for pytest

add recipe for new dependency py-iniconfig
recipe: add version 6.1.1 for pytest

add recipe for new dependency py-iniconfig

* fix: 'SyntaxError: invalid syntax' during unittests

* requested changes on the pull request done

* requested changes on dep for py-pytest

* change constaint on python for importlib-metadata

* undo change on py-importlib-metada as requested

* bug fix

* bug fix on py-wcwidth

* fix as requested

* forget @ in when param

* forget a colon

* add new versions py-pytest and py-py

* fix setuptools* version

* add rule for more-itertools
2021-01-26 09:08:36 -06:00
Harmen Stoppels
feaaa8b194 umpire's device allocator exports device functions, which requires static libs (#21264) 2021-01-26 15:57:10 +01:00
Baptiste Jonglez
79afe20bb0 mxnet: Add optional cuda_arch spec support, enable CUDA by default (#21266) 2021-01-26 07:58:41 -06:00
vvolkl
b45a31aefe [dd4hep] fix assimp variant (#21226) 2021-01-26 08:57:13 +01:00
Jen Herting
eb60c858a0 New package: py-intel-openmp (#20748)
* [py-intel-openmp] created template

* [py-intel-openmp] is wheel

* [py-intel-openmp] fixed version for linux

* [py-intel-openmp] removed fixmes, added homepage and description

* [py-intel-openmp] added macos support

* [py-intel-openmp] style fix
2021-01-25 22:34:10 -06:00
Jen Herting
f536ded328 New package: py-bayesian-optimization (#20746)
* [py-bayesian-optimization] created template

* [py-bayesian-optimization] added dependencies

* [py-bayesian-optimization] removed fixmes, added homepage and description

* [py-bayesian-optimization] added dependency on setuptools

* [py-bayesian-optimization] changed url to pypi and updated checksum

* [py-bayesian-optimization] url -> pypi
2021-01-25 22:32:55 -06:00
Jean-Paul Pelteret
b5c9318160 Py-cheroot: Add dependency (#21271) 2021-01-25 22:31:51 -06:00
Tomoyasu Nojiri
48310e8988 process-in-process: Add systemtap depend (#21164) 2021-01-25 22:28:25 -06:00
Michael Kuhn
26d4d54a42 mpich: add 3.4 (#21007)
This also switches the default device to ch4 and the default netmod to
ofi (tcp does not exist for ch4).
2021-01-25 18:00:30 -06:00
Adam J. Stewart
5447dd6fb8 py-geopandas: add v0.8.2 (#21269) 2021-01-25 16:51:12 -06:00
Evan Bollig
cc006a7847 Updated gromacs for 2021.rc1. Updated GMX_GPU values (#20797) 2021-01-25 22:40:55 +01:00
ketsubouchi
ddf022d308 Itensor: Add new package (#20689) 2021-01-25 22:33:23 +01:00
albestro
3a8e04bfab add drafts variant (#20643) 2021-01-25 22:32:13 +01:00
Thomas Madlener
4e6b5282c9 Delphes: add 3.4.3pre08 tag as version (#21221) 2021-01-25 22:29:29 +01:00
Chris Richardson
ced55fbfe7 Fenicsx: update for basix (#21220) 2021-01-25 22:29:06 +01:00
Tomoyasu Nojiri
5af2b1a933 gdl: Add libtirpc and libgeotiff depend (#21212) 2021-01-25 22:28:15 +01:00
Peter Scheibel
fd8d14f7c5 Kokkos package: rocm support (#21157) 2021-01-25 22:19:54 +01:00
Baptiste Jonglez
7bed6a7077 mxnet: Fix cuda build (#21267) 2021-01-25 22:09:56 +01:00
Axel Huebl
ef2e1bc3f7 WarpX: Increase openPMD-api Dependency (#21263) 2021-01-25 22:08:53 +01:00
Baptiste Jonglez
7d7315ba93 libsodium: Fix download URLs for older versions (#21257) 2021-01-25 22:07:53 +01:00
Adam J. Stewart
37bbe21692 expect: add v5.45.4 and fix build with Apple Clang (#21232) 2021-01-25 22:04:09 +01:00
darmac
3893ce8f71 es-shell: add missing dependency on YACC (#21234) 2021-01-25 16:32:28 +01:00
Vicente Bolea
bfa480d87d pugixml: add v1.11.4 (#21224) 2021-01-25 14:16:50 +01:00
iarspider
2378376aa9 py-pythonsollya: new package (#21241) 2021-01-25 13:44:28 +01:00
iarspider
9d1d37c432 sollya: new package at v7.0 (#21240) 2021-01-25 09:33:56 +01:00
Adam J. Stewart
05c4506b62 py-pygeos: add v0.9 (#21243) 2021-01-25 09:25:33 +01:00
lpoirel
dd505e2269 petsc: forward variant +int64 to parmetis (#21245) 2021-01-25 08:41:29 +01:00
ketsubouchi
b2f89f8157 imake: add run dependency to xorg-cf-files (#21251) 2021-01-25 08:18:06 +01:00
Pariksheet Nanda
91db8c5234 picard: add v2.24.0 (#21249) (#21250) 2021-01-25 08:12:58 +01:00
Phil Carns
f269b4d7c1 opa-psm2: add v11.2.185 (#21208)
- also update to reflect Cornelis Networks as source maintainer rather Intel
- also replace explicit install prefix patch with edit step file filter
2021-01-25 07:33:59 +01:00
iarspider
577f6e8ade New package: mpfi (#21238) 2021-01-24 17:54:52 -06:00
Glenn Johnson
cf35661d3c Updates of R CRAN packages (#21223) 2021-01-24 17:54:25 -06:00
lpoirel
88cafacd09 petsc: add a +mkl-pardiso variant (#21219)
* petsc: add a +mkl-pardiso variant

mkl_pardiso solver is distributed with intel-mkl

* petsc: depend on mkl instead of intel-mkl

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-24 12:09:35 -06:00
iarspider
8f45b27836 New package: py-bigfloat (#21239)
* New package: py-bigfloat

* Changes from review
2021-01-23 16:27:42 -06:00
iarspider
e791725180 New package: fplll (#21236)
* New package: fplll

* Change from review
2021-01-23 16:26:48 -06:00
bryanherman
5a2fe8add3 Fix git svn modules (#21169)
* added Git run env to support svn variant modules

* perl-alien-svn needs arp-util to be link

* Update var/spack/repos/builtin/packages/git/package.py
2021-01-23 10:33:39 -05:00
Pieter Ghysels
dba6a26920 Add strumpack v5.1.0, add support for ROCm/HIP (#21203) 2021-01-23 09:31:23 +01:00
Tom Scogland
12eb4a146f use module and package flags to get more correct mypy behavior (#21225)
The first of my two upstream patches to mypy landed in the 0.800 tag that was released this morning, which lets us use module and package parameters with a .mypy.ini file that has a files key. This uses those parameters to check all of spack in style, but leaves the packages out for now since they are still very, very broken. If no package has been modified, the packages are not checked, but if one has they are. Includes some fixes for the log tests since they were not type checking.

Should also fix all failures related to "duplicate module named package" errors.

Hopefully the next drop of mypy will include my other patch so we can just specify the modules and packages in the config file to begin with, but for now we'll have to live with a bare mypy doing a check of the libs but not the packages.

* use module and package flags to check packages properly
* stop checking package files, use package flag for libs

The packages are not type checkable yet, need to finish out another PR
before they can be.  The previous commit also didn't check the libraries
properly, this one does.
2021-01-22 16:24:15 -08:00
Nicholas Sly
82ada16668 Add flang variant to llvm package. (#21229)
Co-authored-by: sly <sly@lanl.gov>
2021-01-22 15:39:44 -08:00
Baptiste Jonglez
49f0e9640d cuda: add installation workaround for version 10.1.243 on ppc64le (#21200)
Fixes #21170
2021-01-22 14:27:14 -08:00
arjun-raj-kuppala
cdb9b10e27 Bump up rocm version 4.0.0: rocm-gdb and mivisionx (#21137) 2021-01-22 18:04:01 +01:00
ketsubouchi
2d6fea86d6 py-pygit2, libgit2: add new versions (#21160) 2021-01-22 09:59:01 -06:00
AMD Toolchain Support
2c1bb64594 Added @property stdcxx_libs to return -lstdc++ for AOCC compiler (#21145) 2021-01-22 09:58:04 -06:00
Chuck Atkins
14f6d64edf adios2: Fix dependency issues (#21211)
- Typo in the SZ version (:ver should have been ver:)
- Patch to fix python dependency when testing is disabled
2021-01-22 10:31:21 -05:00
René Widera
1026eb2186 isaac-server: add v1.5.1 and v1.5.2 (#21217)
Add latest releases of isaac-server and adjust jansson requirements.
2021-01-22 15:30:57 +01:00
Adam J. Stewart
99e36bcef6 py-scikit-learn: add v0.24.1 (#21158) 2021-01-22 14:32:23 +01:00
Adam J. Stewart
551105749b py-pandas: add v1.2.1 (#21176) 2021-01-22 14:28:24 +01:00
Adam J. Stewart
ccb5cc50f7 TensorFlow: add v2.4.1 (#21205) 2021-01-22 14:12:37 +01:00
Dr. Christian Tacke
1961dc5f51 xrootd: add v4.12.6, v5.0.3; drop preferred (#21199)
Add version 4.12.6, 5.0.3

I think, the preferred was there to keep version 4.
But that's why we have spack, because people can install
whatever version they want.

And root has a properly versioned dependency.
2021-01-22 14:10:54 +01:00
Jen Herting
f50f67f4db py-memprof: new package (#20730) 2021-01-22 14:07:16 +01:00
Jen Herting
3b38e4345f py-filterpy: new package (#20747) 2021-01-22 14:06:34 +01:00
Tomoyasu Nojiri
f6db2f4da4 cnvnator: add -lcrypto to Makefile. (#21209) 2021-01-22 13:50:05 +01:00
René Widera
4b466d06f4 isaac: add v1.5.1 and v1.5.2 (#21216) 2021-01-22 13:11:28 +01:00
arjun-raj-kuppala
f41317d8b2 AMD ROCm: Bump rocm-tensile with 3.9.0, 3.10.0, 4.0.0 releases (#20439) 2021-01-22 13:07:36 +01:00
Dominik Gresch
ec7caefc69 Add Quantum ESPRESSO version 6.7. (#21192) 2021-01-22 09:58:30 +01:00
Harmen Stoppels
d42d9a619a add patch for not linking to clang rt bulitin lib, and apply patches to 3.9.0 too (#20937) 2021-01-22 09:55:46 +01:00
Tom Payerle
f7064fa181 mumps: Fix for problematic src/makefile patch (#20590) (#20758)
* mumps: Fix for problematic src/makefile patch (#20590)

Minor change in src/Makefile between 5.2.0 and 5.3.3 causing patch to
break.  Split into 2 patchfiles

* mumps: Additional patch for fixing #20590

This is to fix issue wherein build fails on Ubuntu due to undefined
symbols, despite symbols being included in other libraries referenced
on the compilation line.  I believe the issue is that the inclusion
of libsmumps.so was (due to my original patch) causing
libmumps_common.so to be automatically loaded, but since libpords.so
was not also required, the error was occuring.  I have added libpords.so
along with libmumps_common.so to be explicit dependencies of
libsmumps.so, etc., which seems to resolve the issue.
2021-01-21 20:41:11 -08:00
mic84
9ed4eb7a9a amrex: fix missing hdf5 dependency (#20714)
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-01-21 16:16:55 -08:00
Kurt Sansom
06f65afdd5 hdf: build with gcc10 (#20773) 2021-01-21 17:07:28 -06:00
Tamara Dahlgren
6b13909cc1 docs: Update the CudaPackage (build system) description (#20742)
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-01-21 12:43:21 -08:00
Chuck Atkins
3d54ca4d5a ecp-data-vis-sdk: Disable broken cinema variant (#21204) 2021-01-21 15:42:25 -05:00
Baptiste Jonglez
af1eda5359 miniconda3: add ppc64le package version (#21196)
It requires reorganizing version definitions to facilitate adding new architectures.

This is inspired from the cuda package.
2021-01-21 14:36:36 -06:00
Omar Padron
b76d21710b Add develop versions of faodel and zfp (#21201)
* add master version of faodel

* add develop version of zfp
2021-01-21 14:12:21 -05:00
Tamara Dahlgren
25bab31bc8 Added ROCmPackage (build system) documentation (#20743) 2021-01-21 10:46:39 -08:00
Sreenivasa Murthy Kolam
85ea52acd1 fix build failure due to #20759 change (#21185) 2021-01-21 18:13:28 +01:00
Tomoyasu Nojiri
6e258ca6ca catalyst: Fix for aarch64 (#21187) 2021-01-21 10:50:08 -06:00
Brian Van Essen
d3a078c7da Add support for building with an FFT layer in LBANN. Updated the (#21184)
HWLOC requirements to properly include CUDA and NVML variants as
appropriate.
2021-01-21 10:49:53 -06:00
arjun-raj-kuppala
90a7c846f6 install lib/headers option support (#21186) 2021-01-21 10:47:55 -06:00
Tomoki, Karatsu
2957f76cb1 abinit: add version 8.10.2. (#21188) 2021-01-21 10:46:12 -06:00
vvolkl
2c6c6756a8 [assimp] add new version 5.0.1 (#21191) 2021-01-21 10:45:21 -06:00
Harmen Stoppels
0cf0be588b Always set SPLA_OMP and SPLA_STATIC (#21195) 2021-01-21 10:43:57 -06:00
Gerasimos Chourdakis
1ceab34fc8 precice: Add version 2.2.0 (#21166) 2021-01-21 09:38:53 -06:00
Jen Herting
d9a8ff455e [py-numba] added version 0.51.1 (#21182)
* [py-numba] added version 0.51.1

* [py-numba] updated llvmlite dependencies
2021-01-21 09:38:35 -06:00
Rémi Lacroix
afa536fc1d Plumed: Add a new ArrayFire variant. (#20624) 2021-01-21 09:29:11 -06:00
Rémi Lacroix
6f166283ca ArrayFire improvements (#20615)
* ArrayFire: Add version 3.7.2.

* ArrayFire: Allow using MKL as the FFTW provider.

* ArrayFire: Ensure the libraries are properly found.

The required backend(s) can be specified in the library query.
2021-01-21 09:29:00 -06:00
Simon Frasch
10baa48d95 spfft: add version 1.0.1 (#21193) 2021-01-21 15:23:01 +01:00
Scott McMillan
fcf99be939 openssl: remove preprocessor flags incompatible with NVIDIA HPC SDK (#21180)
* openssl: remove preprocessor flags incompatible with NVIDIA HPC SDK

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

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

Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-20 21:42:53 -06:00
Toyohisa Kameyama
c5ed46e026 libcap-ng: fix detect python. (#21162)
* libcap-ng: fix detect python.

- add python variant.
- add --with-python and --with-python3 configure option.

* fix style.

* - Add python variant.
- change - to --
2021-01-20 21:42:36 -06:00
Tomoyasu Nojiri
bf3fb8428d util-linux: Add ncurses depend (#21165) 2021-01-20 21:40:03 -06:00
Tomoyasu Nojiri
644b8b52e2 systemtap: Add depend (#21163)
* systemtap: Add depend

* systemtap: Fix depend
2021-01-20 21:31:04 -06:00
Scott McMillan
2ea336e6aa libevent: Remove compiler flags incompatible with NVIDIA HPC SDK (#21181)
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-01-20 17:38:34 -06:00
Greg Sjaardema
6ecc3fc06f SEACAS: New version v2021-01-20 (#21178)
Added a new version due to new application `nas2exo` and also adding the build of `slice` if `+applications` is specified.
2021-01-20 17:07:38 -06:00
Jen Herting
69bfdb0843 [py-statsmodels] added version 0.12.1 and updated dependencies accord… (#21175)
* [py-statsmodels] added version 0.12.1 and updated dependencies accordingly

* [py-statsmodels] added python requirements for new version and fixed formatting for readability
2021-01-20 17:07:10 -06:00
Sergei Shudler
a95bf8df43 Mirror current E4S hypre test suite test as a smoke test (#20484) 2021-01-20 15:05:25 -08:00
bryanherman
a6ea16ded5 Fix PVM dependencies (#20951)
* added m4 dep to PVM recipe

* added libtirpc dep to PVM recipe

* decode str or bytestr string to unicode

* Resolved comments from @adamjstewart on setup_build_environment
2021-01-20 15:52:22 -06:00
Robert Brunner
966f6bc2d2 Propagate SCR resource_manager flag to libyogrt dependency (#21168)
* When the SCR spec specifies a resource_manager=SLURM or LSF flag, propagate the spec through to
the libyogrt scheduler=slurm or lsf

* Use libyogrt default scheduler option when the SCR spec does not specify LSF or SLURM
2021-01-20 15:51:46 -06:00
Scott McMillan
0e2fa561f3 Perl: NVIDIA HPC SDK updates (#21177)
* Perl: NVIDIA HPC SDK updates

* fix indentation

Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-01-20 15:51:06 -06:00
eugeneswalker
7f86cc87b0 store sbang_install_path in buildinfo, use for subsequent relocation (#20768) 2021-01-20 12:43:07 -08:00
Rémi Lacroix
bef250535a Plumed: Ensure the Python interfaces are also built with Spack's wrappers. (#20625) 2021-01-20 14:12:27 -06:00
Rémi Lacroix
23181d24a2 PETSc: Add a new ptscotch variant. (#20699)
Currently the Parmetis wrapper is disabled which means nested dissection cannot be used with PTScotch.
2021-01-20 14:11:23 -06:00
Evan Bollig
2d9e36c4f0 updated relion package for new versions (#21155)
* updated relion for new versions

* Switched to checksum versions

* Enabled spack tracking for MKL and TBB when CPU optimizations are enabled

* Added variants to control MKL FFT and Ppatent feature

* Replaced tags with sha256 for older versions an and switched to virtual packages
2021-01-20 13:53:59 -06:00
Andrew-Dunning-NNL
28c0f20214 py-funcy: new recipe (#21136)
* py-funcy: new recipe

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

add build and run python dependencies

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-20 13:53:13 -06:00
Tomoyasu Nojiri
085360ec0b qwt: Fix qt depend (#21161) 2021-01-20 13:47:03 -06:00
Erik Schnetter
d11ba90198 z3: New version 4.8.9 (#21167) 2021-01-20 13:36:46 -06:00
Baptiste Jonglez
95b974707b openjdk: Add ppc64le package (#21173) 2021-01-20 13:30:39 -06:00
Omar Padron
43935b4917 fix an issue where some variants were not being concatenated correctly (#21174) 2021-01-20 13:27:41 -06:00
darmac
6f3027b9fb py-iminuit: update version to fix test error (#21143)
* py-iminuit: update version to fix test error

* py-iminuit: update py-numpy limitation

* py-iminuit: fix dependency mistake
2021-01-20 13:22:35 -06:00
Tomoyasu Nojiri
a187b2fb09 py-mikado: Add version 1.2.4 (#20678)
* py-pysam: Add version 0.15.3

* py-biopython: Add version 1.78

* py-mikado: Add version 1.2.4

* py-mikado: Reflection of review points.

* py-biopython: Add python depend

* py-mikado: Fix depend

* py-mikado: Add py-tabulate depend
2021-01-20 13:21:59 -06:00
Nathan Hanford
ebc871abbf [WIP] relocate.py: parallelize test replacement logic (#19690)
* sbang pushed back to callers;
star moved to util.lang

* updated unit test

* sbang test moved; local tests pass

Co-authored-by: Nathan Hanford <hanford1@llnl.gov>
2021-01-20 09:17:47 -08:00
Tomoyasu Nojiri
c63f680d2a r-farver: Fix checksum for 2.0.1 (#20897) 2021-01-19 17:45:51 -08:00
Omar Padron
49141f9528 fix typo in ec-data-vis-sdk package (#21156) 2021-01-19 17:09:42 -06:00
mlawsonca
881ca8406c fixing outdated metis link (#21003)
* fixing outdated metis link

* updated url to the official website since the previous url was a GitHub repo that is an unofficial mirror that only contains the latest version
2021-01-19 16:58:38 -06:00
Andrew-Dunning-NNL
8a92ebd504 py-pyjnius: new recipie (#21150) 2021-01-19 16:57:10 -06:00
Andrew-Dunning-NNL
c6cb0d7869 py-dictdiffer: new recipe (#21151)
* py-dictdiffer: new recipie

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

add correct setuptools dependency

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-19 16:56:53 -06:00
Andrew-Dunning-NNL
6de193fd27 py-pytest-arraydiff: new recipie (#21152) 2021-01-19 16:56:38 -06:00
Andrew-Dunning-NNL
7a913582f2 py-phonenumbers: new recipie (#21153) 2021-01-19 16:56:24 -06:00
Andrew-Dunning-NNL
d3b04f7704 py-pygtrie: new recipie (#21154) 2021-01-19 16:56:09 -06:00
Erik Schnetter
0c5602dc4e amrex: remove build_type variant (#20938)
This variant is already provided by CMakePackage.
2021-01-19 19:17:37 +01:00
William Downs
35a51760a8 esmf: Add versions 8.0.0 and 8.0.1 (#21147) 2021-01-19 10:52:47 -06:00
Harmen Stoppels
034debeba5 Always set cmake args because defaults change across versions (#21146) 2021-01-19 09:57:12 -06:00
ketsubouchi
8a6e7c8687 cpmd: new package (#21138) 2021-01-19 09:02:09 -06:00
Tomoyasu Nojiri
ab83b6689e sortmerna: Fix for aarch64 (#21126) 2021-01-19 09:01:16 -06:00
yellowhat
89b9d07efa gromacs: add v2020.5 (#21144) 2021-01-19 10:26:35 +01:00
Robert Brunner
91f65b9772 libyogrt: add lsf scheduler support, create yogrt.conf file (#19960)
Tell the libyogrt installer to create a yogrt.conf file, specifying whatever 
scheduler was specified in the scheduler=XXX parameter.
2021-01-19 10:01:48 +01:00
Adam J. Stewart
86e9d93859 libidn2:use http for download (#21001)
This is needed since libidn is used to bootstrap curl
2021-01-19 09:54:25 +01:00
Pramod Kumbhar
908528f2f1 NEURON: add v7.8.2, move to CMake and remove all old versions (#20582)
* Update NEURON simulator package
  - update recipe to support autoconf as well as cmake
  - new versions >=7.8 support cmake
  - remove old variants
  - added patch for latest bug fix release 7.8.2

Co-authored-by: Kumbhar Pramod Shivaji <kumbhar@bbpv1.epfl.ch>
Co-authored-by: Kumbhar Pramod Shivaji <kumbhar@bb-c02vf1h0hv2r.epfl.ch>
2021-01-19 09:42:50 +01:00
Thomas Madlener
a92bb5400e lcio, sio: add sio dependency, update versions and expose zlib version for sio (#20839) 2021-01-19 09:20:43 +01:00
Glenn Johnson
82b10583f9 r-grbase: added v1.8-6.7 (#21033) 2021-01-19 09:10:21 +01:00
Tomoki, Karatsu
5033250140 specfem3d-globe: add new package (#20830) 2021-01-19 08:55:18 +01:00
h-denpo
f781fd1878 universal-ctags: added link dependency on libiconv (#21141) 2021-01-19 08:47:26 +01:00
darmac
a567b73108 py-numexpr: added v2.7.2 (#21142) 2021-01-19 08:42:16 +01:00
Robert Cohn
09ee3f8d8e add required libs for sycl programs (#20728) 2021-01-18 23:15:24 -06:00
yellowhat
83eec2d170 NAMD: FIX build +cuda and mpi ~smp (#20778)
* NAMD: FIX build +cuda

Hi,
If I try to compile NAMD with CUDA support, it fails because cannot file the file "{self.arch}.cuda" because it is undet the "arch" folder.

* NAMD: FIX mpi ~smp

Fix `spack install namd ^charmpp backend=mpi ~smp`
2021-01-18 23:12:06 -06:00
Rao Garimella
a36c40b61d Update versions of Wonton and Tangram packages (#20813) 2021-01-18 23:06:26 -06:00
Michael Kuron
2e299c5008 siesta: fix build with gfortran (#20840)
Avoid Error: Line truncated at (1) [-Werror=line-truncation]
2021-01-18 22:59:53 -06:00
Erik Schnetter
a2d8023e2a ssht: New version 1.3.4 (#20880)
* ssht: New version 1.3.4

ssht changed configuration mechanism from "home-grown" to "cmake. The previously current version 1.2b1 (a beta release) is thus unfortunately not available any more.

* ssht: Don't set build type

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-01-18 22:57:53 -06:00
Vicente Bolea
94f1e838b2 ParaView: add new ParaView-5.9.0-RC4 release (#21132)
* ParaView: add new ParaView-5.9.0-RC4 release

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>

* ParaView: add official maintainer @vicentebolea

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-01-18 22:53:17 -06:00
Toyohisa Kameyama
3143222d87 salmon-tddft: add eigenexa variant (#21140) 2021-01-18 22:52:50 -06:00
Thomas Madlener
d1174bd40f Make sure sio library is properly propagated (#20940) 2021-01-18 22:52:27 -06:00
darmac
fe32d256d2 ceres-solver: add v2.0.0 (#21005) 2021-01-18 22:51:57 -06:00
Harmen Stoppels
1dab789504 Don't use CUDA for hipblas (#20935)
* Don't use CUDA for hipblas

* old versions use TRY_CUDA

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-18 22:49:59 -06:00
Glenn Johnson
85838e98fb add version 2.2-2 to r-gwmodel (#21121)
* add version 2.2-2 to r-gwmodel

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

Fix comma, space issue.

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-18 16:59:05 -06:00
Glenn Johnson
c7d3651356 add version 0.3.17 to r-inline (#21053)
* add version 0.3.17 to r-inline

* Drop R version constraint

A really old version of R was specified in the 0.3.14 and 0.3.15
versions of r-inline. This constraint was dropped in the 0.3.17 version.
Drop it from the spack recipe as well.
2021-01-18 16:58:08 -06:00
Michael Kuron
cec784bb10 vasp: fix build with gfortran 10 and add version 6.1.1 (#20900)
* vasp: fix build with gfortran 10

Avoid Error: Type mismatch between actual argument at (1) and actual argument at (2)

* vasp: add version 6.1.1

* vasp 6: allow building without CUDA
2021-01-18 16:54:52 -06:00
kuramoto-fj
bd51f81e20 Mapsplice2: Add new package (#20901) 2021-01-18 16:53:50 -06:00
Thomas Madlener
e960721c65 Use shared=True to find libraries, since this is the default (#20907)
package also does not expose a shared variant
2021-01-18 16:51:44 -06:00
Atsushi Hori
777901843f New Package: Process-in-Process (PiP) -- 2nd trial (#20925)
* Adding PiP recipe

* pip@1 recipe (it seems working)

* change install dir hierarchy

* installing PiP man pages

* add pip-glibc & pip-gdb

* fix configure option designations, fix dependency types

* fix dependency type of pip

* use AutotoolsPackage in pip recipe

* add patch for pip-glibc & pip-gdb to enable 'disable-werror'

* change glibc install directory

* add linux distro check to pip-gdb

* create process-in-process package

* use flag_handler and join_path

* add gcc version constraint, change install-test to check-installed

* fix gcc version designations on conflicts()

* add constraint of target cpu, fix flake8 warnings

* add version constraint to resource()

* Some fixes to adapt the current version
	not to execute 'piplnlibs'
	change documentation install command

* Update
	new branch name of PiP-gdb
	adapting PiP-Testsuite

* update pip-gdb github urls

* The very first commit of Process-in-Process (PiP)
	details can be found at https://github.com/RIKEN-SysSoft/PiP

* Fix comment style issues

* New Package: Process-in-Process (PiP) -- 2nd trial

* fix style issue

* change inline comments style (required to have two spaces)

Co-authored-by: Daiki Matsunaga <daikim@axe.bz>
2021-01-18 16:50:48 -06:00
Tomoyasu Nojiri
b7badf2447 gengetopt: Add texinfo depend (#20929) 2021-01-18 16:40:34 -06:00
bryanherman
c500ea80c3 Add SVN extension to Git (#20939)
* added package for svn extension to perl

* added svn variant to git recipe
2021-01-18 16:39:56 -06:00
takanori-ihara
a5963d686c eigenexa: new package. (#20934) 2021-01-18 23:37:09 +01:00
G-Ragghianti
335c5ed5cb Updated with requirements for openblas dependency (#20956)
* Updated with requirements for openblas dependency

* Python style fixes
2021-01-18 16:34:21 -06:00
Simon Frasch
e91ff86882 spfft: add version 1.0.0 (#20959) 2021-01-18 16:33:18 -06:00
Glenn Johnson
699df81a95 add version 1.2-9 to r-aer (#20965) 2021-01-18 12:57:28 -06:00
Glenn Johnson
5fb647d17c The latest version of imagemagick needs libtool linking (#20969)
Imagemagick-7.0.8 needs to link against libltdl. Otherwise, the build will fail with:

```
2 errors found in build log:
     503    checking for libltdl...
     504    checking ltdl.h usability... no
     505    checking ltdl.h presence... no
     506    checking for ltdl.h... no
     507    checking for lt_dlinit in -lltdl... no
     508    checking if libltdl package is complete... no
  >> 509    configure: error: in `/tmp/gpjohnsn/spack-stage/spack-stage-imagemagick-7.0.8-7-4y44gaklhhciiwjzhfpxjfwdj5q
            ltjp3/spack-src':
  >> 510    configure: error: libltdl is required for modules and OpenCL builds
     511    See `config.log' for more details
```
2021-01-18 12:57:15 -06:00
Glenn Johnson
8f5651e63e add version 3.3.3 to r-ggplot2 (#21021) 2021-01-18 12:56:36 -06:00
Glenn Johnson
e879c4176d add version 0.6-2 to r-gmp (#21028) 2021-01-18 12:56:21 -06:00
Glenn Johnson
bd404d8ff8 add version 0.5-1 to r-gridgraphics (#21034) 2021-01-18 12:56:06 -06:00
Glenn Johnson
7f7f9a7bfb add version 3.8.2 to r-gtools (#21038)
* add version 3.8.2 to r-gtools

* Improve formatting of description

In case the list gets formatted as a non-list:
- added semicolons to end of list items
- replaced dashes with [#]
2021-01-18 12:55:51 -06:00
Glenn Johnson
415cff5061 add version 1.30 to r-knitr (#21061)
* add version 1.30 to r-knitr

* Fix version constraints

- r-digest
- r-formatr

The version constraints on those packages should actually be in the `when`
clause.
2021-01-18 12:55:33 -06:00
Glenn Johnson
91fcd49484 add version 1.0-6 to r-libcoin (#21075) 2021-01-18 12:55:18 -06:00
Glenn Johnson
978f74eac7 add version 1.2.0 to r-gh (#21112) 2021-01-18 12:55:04 -06:00
Glenn Johnson
2c3550ae18 add version 1.1.2 to r-tidyr (#21113) 2021-01-18 12:54:51 -06:00
Glenn Johnson
b424dbfead new package: r-rcppdate (#21114)
'date' is a C++ header library offering extensive date and time
functionality for the C++11, C++14 and C++17 standards written by Howard
Hinnant and released under the MIT license. A slightly modified version
has been accepted (along with 'tz.h') as part of C++20. This package
regroups all header files from the upstream repository by Howard Hinnant
so that other R packages can use them in their C++ code. At present, few
of the types have explicit 'Rcpp' wrapper though these may be added as
needed.
2021-01-18 12:54:35 -06:00
Glenn Johnson
563d939804 add version 2.0.2 to r-mnormt (#21115) 2021-01-18 12:54:22 -06:00
Glenn Johnson
e132195d6c add version 3.12.0 to r-mice (#21116) 2021-01-18 12:54:06 -06:00
Glenn Johnson
ca9e103994 new package: r-mutoss (#21117)
Designed to ease the application and comparison of multiple hypothesis
testing procedures for FWER, gFWER, FDR and FDX. Methods are
standardized and usable by the accompanying 'mutossGUI'.
2021-01-18 12:53:53 -06:00
Glenn Johnson
5a42df5944 add version 2.0.4.1 to r-leaflet (#21118) 2021-01-18 12:53:38 -06:00
Glenn Johnson
a693a56459 add version 2.1.0 to r-janitor (#21120) 2021-01-18 12:53:23 -06:00
Glenn Johnson
42748f389f new package: r-parallelly (#21122)
Utility functions that enhance the 'parallel' package and support the
built-in parallel backends of the 'future' package. For example,
availableCores() gives the number of CPU cores available to your R
process as given by the operating system, 'cgroups' and Linux
containers, R options, and environment variables, including those set by
job schedulers on high-performance compute clusters. If none is set, it
will fall back to parallel::detectCores(). Another example is
makeClusterPSOCK(), which is backward compatible with
parallel::makePSOCKcluster() while doing a better job in setting up
remote cluster workers without the need for configuring the firewall to
do port-forwarding to your local computer.
2021-01-18 12:53:09 -06:00
Glenn Johnson
b9c5a73a48 add version 2.0.0 to r-dbplyr (#21123) 2021-01-18 12:52:55 -06:00
vvolkl
93740d5600 [genfit] add tags and first version (#21127) 2021-01-18 12:49:58 -06:00
Hadrien G
d996fc080a [acts] Add version 4.1, bump minimal dependencies (#21128) 2021-01-18 12:49:19 -06:00
Michael Kuron
98788aa4bd py-mdanalysis: correctly depend on py-gsd (#21133) 2021-01-18 12:45:50 -06:00
Sergey Kosukhin
723f132531 python: improve building with Intel (#21134) 2021-01-18 12:44:22 -06:00
dithwick
fa53838d2f ibm-java: new version (#21135) 2021-01-18 12:43:18 -06:00
darmac
3b064b3a96 py-pycairo: update version and fix setup.py test error (#21004)
* py-pycairo: update version and fix setup.py test error

* py-pycairo: update dependency
2021-01-18 12:34:41 -06:00
Tomoyasu Nojiri
385ca1529a hssp: Fix checksum for 3.0.10 (#20894)
* hssp: Fix checksum for 3.0.10

* hssp: Fix checksum for 3.0.1 to 3.0.9
2021-01-18 12:21:49 -06:00
Toyohisa Kameyama
3ee8c11910 mpas-model: New package. (#21124)
* mpas-model: New package.

* remove pnetcdf variant.
remove debug print.

* remove unnessesary line.

* style fix.
2021-01-18 12:10:21 -06:00
bryanherman
2cfe349828 added new python package py-f90wrap (#20957) 2021-01-17 22:38:16 -06:00
darmac
5b75dde872 Libconfuse: refine autoreconf and add some dependencies (#21006)
* libconfuse: add some build dependencies

* libconfuse: use autogen.sh to do the autoreconf
2021-01-17 22:30:42 -06:00
Robert Underwood
16ee9dc110 sz: version 2.1.11.1 (#21008) 2021-01-17 22:28:51 -06:00
Glenn Johnson
aeb6c63ea6 add version 0.4.2 to r-labeling (#21063) 2021-01-17 14:09:08 -06:00
Glenn Johnson
733c6767f5 add version 1.2.4 to r-lambda-r (#21064) 2021-01-17 14:08:54 -06:00
Glenn Johnson
840e072bbe add version 16.1.4 to r-laplacesdemon (#21065) 2021-01-17 14:08:39 -06:00
Glenn Johnson
6793f3fd55 add version 1.1.0.1 to r-later (#21066) 2021-01-17 14:08:24 -06:00
Glenn Johnson
9feb2572fb add version 0.20-41 to r-lattice (#21067) 2021-01-17 14:08:08 -06:00
Glenn Johnson
36a547aff4 add version 0.6-29 to r-latticeextra (#21068) 2021-01-17 14:07:54 -06:00
Glenn Johnson
41ca013069 add version 1.6.8.1 to r-lava (#21069) 2021-01-17 14:07:40 -06:00
Glenn Johnson
a54e4322e5 add version 1.0-4 to r-ldheatmap (#21070) 2021-01-17 14:07:27 -06:00
Glenn Johnson
e316cde706 new package: r-leaflet-providers (#21071)
Contains third-party map tile provider information from 'Leaflet.js',
<https://github.com/leaflet-extras/leaflet-providers>, to be used with
the 'leaflet' R package. Additionally, 'leaflet.providers' enables users
to retrieve up-to-date provider information between package updates.
2021-01-17 14:07:15 -06:00
Glenn Johnson
716a094c08 add version 3.1 to r-leaps (#21072) 2021-01-17 14:07:00 -06:00
Glenn Johnson
a1d894e30a add version 0.3.6 to r-leiden (#21073) 2021-01-17 14:06:46 -06:00
Glenn Johnson
e98d5bd143 add version 4.0.5 to r-bit64 (#20964) 2021-01-17 14:05:05 -06:00
Glenn Johnson
76878dbbee add version 0.8-81 to r-foreign (#20975)
* add version 0.8-81 to r-foreign

* fix line length too long error
2021-01-17 14:01:48 -06:00
Glenn Johnson
1a8c0eedb9 add version 3.3.2 to r-geomorph (#21010) 2021-01-17 14:00:43 -06:00
Glenn Johnson
5acf07b4c8 add version 3.11.0 to r-ergm (#21011) 2021-01-17 13:59:46 -06:00
Glenn Johnson
f714dfc226 add version 1.3-0 to r-lsei (#21083) 2021-01-17 13:58:08 -06:00
Glenn Johnson
1d1d4a5796 new package: r-cpp11 (#21015)
Provides a header only, C++11 interface to R's C interface. Compared to
other approaches 'cpp11' strives to be safe against long jumps from the
C API as well as C++ exceptions, conform to normal R function semantics
and supports interaction with 'ALTREP' vectors.
2021-01-17 13:57:53 -06:00
Glenn Johnson
8a2ee437a2 add version 1.0.3 to r-dplyr (#21012) 2021-01-17 13:57:12 -06:00
Glenn Johnson
afb17db324 add version 2.2.0 to r-remotes (#21016) 2021-01-17 13:55:46 -06:00
Glenn Johnson
ef128e50e1 add version 1.2.0 to r-pkgbuild (#21017) 2021-01-17 13:55:04 -06:00
Glenn Johnson
2a342b7541 add version 1.1.0 to r-pkgload (#21018) 2021-01-17 13:54:15 -06:00
Glenn Johnson
0d0d52050b add version 2.0.2 to r-rversions (#21019) 2021-01-17 13:53:31 -06:00
Glenn Johnson
0efce74027 add version 7.1.1 to r-roxygen2 (#21020) 2021-01-17 13:52:31 -06:00
Glenn Johnson
54bab50b47 new package: r-gitcreds (#21022)
Query, set, delete credentials from the 'git' credential store. Manage
'GitHub' tokens and other 'git' credentials. This package is to be used
by other packages that need to authenticate to 'GitHub' and/or other
'git' repositories.
2021-01-17 13:49:36 -06:00
Glenn Johnson
9295019928 add version 0.9.0 to r-gistr (#21023) 2021-01-17 13:48:55 -06:00
Glenn Johnson
ce14d627a6 add version 0.28.0 to r-git2r (#21024) 2021-01-17 13:48:07 -06:00
Glenn Johnson
c8e52aaa9c add version 4.1 to r-glmnet (#21025) 2021-01-17 13:47:11 -06:00
Glenn Johnson
c204b94927 add version 0.14.0 to r-globals (#21026) 2021-01-17 13:46:31 -06:00
Glenn Johnson
56fd340231 add version 1.4.2 to r-glue (#21027) 2021-01-17 13:45:54 -06:00
Glenn Johnson
cf4feccefc add version 0.6.9 to r-googlevis (#21029) 2021-01-17 13:44:30 -06:00
Glenn Johnson
8c7e4b9d22 add version 0.2.2 to r-gower (#21030) 2021-01-17 13:43:53 -06:00
Glenn Johnson
84674ec696 add version 3.1.1 to r-gplots (#21031) 2021-01-17 13:43:16 -06:00
Glenn Johnson
eb250ec23d add version 0.7.1 to r-graphlayouts (#21032) 2021-01-17 13:42:31 -06:00
Glenn Johnson
6a7611c4c2 add version 2.1.2 to r-gsodr (#21035) 2021-01-17 13:39:56 -06:00
Glenn Johnson
d9b1a8bf45 add version 2.2-2 to r-gss (#21036) 2021-01-17 13:39:06 -06:00
Glenn Johnson
251f16358b add version 2.0-6 to r-gstat (#21037) 2021-01-17 13:38:28 -06:00
Glenn Johnson
879a662278 add version 1.4-5 to r-sp (#21039) 2021-01-17 13:36:13 -06:00
Glenn Johnson
c2cc650943 add version 2.3.1 to r-haven (#21040) 2021-01-17 13:35:35 -06:00
Glenn Johnson
055be03518 add version 1.3.3 to r-hdf5r (#21041) 2021-01-17 13:34:38 -06:00
Glenn Johnson
9df65902e7 add version 1.28.2 to r-hexbin (#21042) 2021-01-17 13:33:35 -06:00
Glenn Johnson
fb1776ceca add version 3.1-43 to r-hh (#21043) 2021-01-17 13:32:56 -06:00
Glenn Johnson
974c0dcc62 add version 4.4-2 to r-hmisc (#21044) 2021-01-17 13:32:02 -06:00
Glenn Johnson
26933550f7 add version 1.0.0 to r-hms (#21045) 2021-01-17 13:30:50 -06:00
Glenn Johnson
e4f9c5d213 add version 2.1.0 to r-htmltable (#21046) 2021-01-17 13:30:01 -06:00
Glenn Johnson
44c58ad727 add version 0.5.1 to r-htmltools (#21047) 2021-01-17 13:29:14 -06:00
Glenn Johnson
f0ae5cf235 add version 1.5.3 to r-htmlwidgets (#21048) 2021-01-17 13:28:26 -06:00
Glenn Johnson
6864bfc6f0 add version 0.3.0 to r-httpcode (#21049) 2021-01-17 13:27:40 -06:00
Glenn Johnson
311068354a add version 1.5.5 to r-httpuv (#21050) 2021-01-17 13:27:02 -06:00
Glenn Johnson
8e514a04d0 add version 1.2.6 to r-igraph (#21051) 2021-01-17 13:26:03 -06:00
Glenn Johnson
63662be724 add version 0.42.3 to r-imager (#21052) 2021-01-17 13:24:48 -06:00
Glenn Johnson
0a64b616ca add version 0.15.2 to r-intervals (#21054) 2021-01-17 13:22:43 -06:00
Glenn Johnson
061fa01dcb add version 0.4.0 to r-isdparser (#21055) 2021-01-17 13:22:03 -06:00
Glenn Johnson
665f297067 add version 0.0-18.1 to r-iso (#21056) 2021-01-17 13:21:15 -06:00
Glenn Johnson
1b997bde77 add version 1.0.13 to r-iterators (#21057) 2021-01-17 13:20:36 -06:00
Glenn Johnson
a118404fbf add version 2.7-2 to r-jomo (#21058) 2021-01-17 11:55:45 -06:00
Glenn Johnson
9b90640f9a add version 0.9-29 to r-kernlab (#21059) 2021-01-17 11:54:57 -06:00
Glenn Johnson
d84b401d38 add version 2.23-18 to r-kernsmooth (#21060) 2021-01-17 11:54:17 -06:00
Glenn Johnson
a64eaacc0d add version 1.11.7 to r-ks (#21062) 2021-01-17 11:49:58 -06:00
Glenn Johnson
d4dadcfa10 add version 1.1.1 to r-lhs (#21074) 2021-01-17 11:39:42 -06:00
Glenn Johnson
1af0aeee7b add version 0.8.0 to r-listenv (#21076) 2021-01-17 11:38:14 -06:00
Glenn Johnson
7e3120a9c5 add version 1.1-26 to r-lme4 (#21077) 2021-01-17 11:37:32 -06:00
Glenn Johnson
16166223e8 add version 0.9-38 to r-lmtest (#21078) 2021-01-17 11:35:59 -06:00
Glenn Johnson
6f27d20a58 add version 1.5-9.4 to r-locfit (#21079) 2021-01-17 11:35:23 -06:00
Glenn Johnson
92a665e07d add version 0.3.2 to r-log4r (#21080) 2021-01-17 11:34:42 -06:00
Glenn Johnson
e19464979f add version 2.4.1 to r-loo (#21081) 2021-01-17 11:33:55 -06:00
Glenn Johnson
6606eb6a96 add version 5.6.15 to r-lpsolve (#21082) 2021-01-17 11:32:33 -06:00
Glenn Johnson
efd1536e36 add version 1.7.9.2 to r-lubridate (#21084) 2021-01-17 11:30:50 -06:00
Glenn Johnson
b0bf2c4c99 add version 2.0.1 to r-magrittr (#21085) 2021-01-17 11:30:04 -06:00
Glenn Johnson
68845f6b23 add version 0.10.1 to r-manipulatewidget (#21086) 2021-01-17 11:29:22 -06:00
Glenn Johnson
9dee70eea5 add version 1.2.7 to r-mapproj (#21087) 2021-01-17 11:28:30 -06:00
Glenn Johnson
a9574b0180 add version 1.0-2 to r-maptools (#21088) 2021-01-17 11:27:44 -06:00
Glenn Johnson
c3a1900fe9 add version 7.3-53 to r-mass (#21089) 2021-01-17 11:26:52 -06:00
Glenn Johnson
1b281948e4 add version 1.3-2 to r-matrix (#21090) 2021-01-17 11:26:14 -06:00
Glenn Johnson
8abe261359 add version 0.57.0 to r-matrixstats (#21091) 2021-01-17 11:25:09 -06:00
Glenn Johnson
b8296aedf3 add version 5.4.7 to r-mclust (#21092) 2021-01-17 11:24:20 -06:00
Glenn Johnson
7a109269f5 add version 2.30 to r-mcmcglmm (#21093) 2021-01-17 11:23:41 -06:00
Glenn Johnson
27f3bcecee add version 1.15.6 to r-mco (#21094) 2021-01-17 11:22:54 -06:00
Glenn Johnson
158c6da440 add version 0.5-2 to r-mda (#21095) 2021-01-17 11:22:15 -06:00
Glenn Johnson
505dc3c0cf new package: r-mathjaxr (#21096)
Provides 'MathJax' and macros to enable its use within Rd files for
rendering equations in the HTML help files.
2021-01-17 11:21:33 -06:00
Glenn Johnson
ef9a0ed08d add version 1.8-33 to r-mgcv (#21097) 2021-01-17 11:20:38 -06:00
Glenn Johnson
679f6b3dfc add version 0.9 to r-mime (#21098) 2021-01-17 11:19:52 -06:00
Glenn Johnson
ed87d83bce add version 0.9-0 to r-misc3d (#21099) 2021-01-17 11:19:11 -06:00
Glenn Johnson
53984edf2e add version 1.2.0 to r-mixtools (#21100) 2021-01-17 11:18:22 -06:00
Glenn Johnson
6f3c53e12e add version 2.18.0 to r-mlr (#21101) 2021-01-17 11:17:29 -06:00
Glenn Johnson
010daebf50 add version 1.1.5 to r-mlrmbo (#21102) 2021-01-17 11:15:45 -06:00
Glenn Johnson
2d8b8c395e add version 0.1.3 to r-mmwrweek (#21103) 2021-01-17 11:14:30 -06:00
Glenn Johnson
8ebf242e8f new package: r-tmvnsim (#21104)
Importance sampling from the truncated multivariate normal using the GHK
(Geweke-Hajivassiliou-Keane) simulator. Unlike Gibbs sampling which can
get stuck in one truncation sub-region depending on initial values, this
package allows truncation based on disjoint regions that are created by
truncation of absolute values. The GHK algorithm uses simple Cholesky
transformation followed by recursive simulation of univariate truncated
normals hence there are also no convergence issues. Importance sample is
returned along with sampling weights, based on which, one can calculate
integrals over truncated regions for multivariate normals.
2021-01-17 11:13:47 -06:00
Glenn Johnson
ee0221d973 add version 0.1.8 to r-modelr (#21105) 2021-01-17 11:12:57 -06:00
Glenn Johnson
eefdadfe7e add version 0.2-23 to r-modeltools (#21106) 2021-01-17 11:11:18 -06:00
Glenn Johnson
40700930ea add version 1.4-15 to r-multcomp (#21107) 2021-01-17 11:10:34 -06:00
Glenn Johnson
3213dbf27f add version 0.1-10 to r-multicool (#21108) 2021-01-17 11:09:22 -06:00
Glenn Johnson
b756df13d7 add version 1.0-15 to r-multitaper (#21109) 2021-01-17 11:08:38 -06:00
Glenn Johnson
50a361f75e add version 1.1-1 to r-mvtnorm (#21110) 2021-01-17 11:07:54 -06:00
Glenn Johnson
15afce3f8b add version 0.2.9 to r-rcppcctz (#21111) 2021-01-17 11:06:59 -06:00
Adam J. Stewart
fc7e48daf0 util-linux-uuid: don't install to system directories (#21000) 2021-01-16 22:01:05 +01:00
Glenn Johnson
255df2455c r-cubature: added v2.0.4.1 (#20871) 2021-01-16 17:44:47 +01:00
Glenn Johnson
3193817b27 r-data-table: add v1.13.6 (#20872) 2021-01-16 17:31:07 +01:00
Glenn Johnson
74144d44d8 R geor (#20990) 2021-01-16 15:27:59 +01:00
Glenn Johnson
9c4c558e2a add version 2.0.3.2 to r-gdalutils (#20985) 2021-01-16 15:27:47 +01:00
Glenn Johnson
a539cfc857 add version 2.1.8 to r-gbm (#20983) 2021-01-16 15:27:37 +01:00
Glenn Johnson
ebce4325e8 add version 5.1-7 to r-gamlss-dist (#20982) 2021-01-16 15:27:26 +01:00
Glenn Johnson
72218aeebb add version 5.2-0 to r-gamlss (#20981) 2021-01-16 15:27:12 +01:00
Glenn Johnson
e56d4826b7 add version 1.5.0 to r-fs (#20980) 2021-01-16 15:27:02 +01:00
Glenn Johnson
85d6620ce0 add version 1.5-1 to r-fracdiff (#20979) 2021-01-16 15:26:47 +01:00
Glenn Johnson
bf91917f99 add version 2.2-9 to r-fpc (#20978) 2021-01-16 15:26:38 +01:00
Glenn Johnson
5e9aac9c1f add version 1.2-4 to r-formula (#20977) 2021-01-16 15:26:27 +01:00
Glenn Johnson
7f2742ecd4 add version 8.13 to r-forecast (#20974) 2021-01-16 15:25:54 +01:00
Glenn Johnson
35232bc38c add version 1.5.1 to r-foreach (#20973) 2021-01-16 15:25:44 +01:00
Glenn Johnson
38199ce9cf add version 0.5.0 to r-forcats (#20972) 2021-01-16 15:25:30 +01:00
Glenn Johnson
e65551a158 add version 1.7.2 to r-jsonlite (#20971) 2021-01-16 15:25:17 +01:00
Glenn Johnson
89009c10af new package: r-proc (#20970) 2021-01-16 15:25:07 +01:00
Glenn Johnson
2eed811a1f add version 1.1.0 to r-tidyselect (#20968) 2021-01-16 15:24:07 +01:00
Glenn Johnson
fae1c812e4 add version 1.7-16 to r-ade4 (#20967) 2021-01-16 15:23:47 +01:00
Glenn Johnson
c0ad6ab46c add version 2.1.3 to r-adegenet (#20966) 2021-01-16 15:23:35 +01:00
Glenn Johnson
700d7f3f6c add version 0.21 to r-bookdown (#20963) 2021-01-16 15:22:31 +01:00
Glenn Johnson
6f7b939e07 add version 0.1.3.1 to r-c50 (#20962) 2021-01-16 15:22:17 +01:00
Glenn Johnson
db37d0ab12 add version 3.5.1 to r-callr (#20961) 2021-01-16 15:22:05 +01:00
Glenn Johnson
d291612c59 add version 0.9.2 to r-cdcfluview (#20960) 2021-01-16 15:21:53 +01:00
Glenn Johnson
d2e0a2448f add version 1.0.4 to r-construct (#20954) 2021-01-16 15:21:18 +01:00
Glenn Johnson
ad034af7dc add version 0.4.12 to r-circlize (#20958) 2021-01-16 15:20:26 +01:00
Glenn Johnson
184fb792f5 fix list_url for r packages (#20955) 2021-01-16 15:20:09 +01:00
Glenn Johnson
9bb4503be1 add version 1.1.1 to r-cowplot (#20953) 2021-01-16 15:18:55 +01:00
Glenn Johnson
98bebba0d8 add version 1.14.0 to r-dendextend (#20952) 2021-01-16 15:18:34 +01:00
Glenn Johnson
c00c145f4e add version 1.0.6.1 to r-diagrammer (#20950) 2021-01-16 15:18:21 +01:00
Glenn Johnson
6683921988 add version 1.8.2 to r-dorng (#20949) 2021-01-16 15:18:05 +01:00
Glenn Johnson
4d8eb48a40 add version 5.3.0 to r-earth (#20948) 2021-01-16 15:17:47 +01:00
Glenn Johnson
6a9d0b53a6 add version 0.4 to r-europepmc (#20947) 2021-01-16 15:17:26 +01:00
Glenn Johnson
8108501aca add version 0.5.1 to r-exactextractr (#20946) 2021-01-16 15:17:08 +01:00
Glenn Johnson
0dbdfa20ae add version 1.0.7 to r-factoextra (#20945) 2021-01-16 15:16:49 +01:00
Glenn Johnson
7c5ea8d3b4 add version 2.4 to r-factominer (#20943) 2021-01-16 15:16:35 +01:00
Glenn Johnson
47a4727ac5 add version 4.0.4 to r-ff (#20942) 2021-01-16 15:15:30 +01:00
Glenn Johnson
d9ef32ceff add version 4.4.1 to r-statnet-common (#20941) 2021-01-16 15:15:13 +01:00
Glenn Johnson
41cc3404a4 add version 0.9-7 to r-sf (#20851) 2021-01-16 15:13:54 +01:00
Alberto Chiusole
bf660bff04 Update IOR to 3.3.0 + set as preferred (#20986) 2021-01-16 15:13:15 +01:00
Glenn Johnson
d3f78eacdf add version 0.1.0 to r-generics (#20987) 2021-01-16 15:12:21 +01:00
Glenn Johnson
ba024fdb7d add version 1.0.5 to r-getoptlong (#20988) 2021-01-16 15:12:08 +01:00
Glenn Johnson
fa33c534f7 add version 0.1-8.1 to r-jpeg (#20989) 2021-01-16 15:11:53 +01:00
Glenn Johnson
5abf70d48d add version 0.1.22 to r-ggdendro (#20991) 2021-01-16 15:11:28 +01:00
Glenn Johnson
74418d1aed add version 0.3.2 to r-ggforce (#20992) 2021-01-16 15:11:13 +01:00
Glenn Johnson
d409004f70 new package: r-isoband (#20993) 2021-01-16 15:10:57 +01:00
Glenn Johnson
6acfca4635 add version 0.0.5 to r-ggplotify (#20994) 2021-01-16 15:10:37 +01:00
Glenn Johnson
9bb72ea946 add version 0.9.0 to r-ggrepel (#20995) 2021-01-16 15:10:21 +01:00
Glenn Johnson
e87b1b7aa4 add version 0.5.3 to r-ggridges (#20996) 2021-01-16 15:10:08 +01:00
Glenn Johnson
a98e48525d add version 0.4.7 to r-ggvis (#20997) 2021-01-16 15:09:46 +01:00
Cyrus Harrison
710fe02a9a update dray package with new versions and to fix issue with test variant (#19583)
* update dray package with new versions and to fix issue with test variant

* fix comment typo

* flake8 remove trailing white space on last line
2021-01-15 17:14:06 -06:00
QuellynSnead
330c48b244 zoltan: source code location change (#20787) 2021-01-15 10:59:38 +01:00
Glenn Johnson
ad0c0e81fd r-pixmap: added new package (#20795) 2021-01-15 10:51:35 +01:00
Glenn Johnson
59cf4c9039 add version 0.8-18 to r-amap (#20803) 2021-01-15 10:50:33 +01:00
Glenn Johnson
9756167049 add version 5.4-1 to r-ape (#20804) 2021-01-15 10:50:08 +01:00
Glenn Johnson
ee7ce1f44f add version 2.0.3 to r-argparse (#20805) 2021-01-15 10:49:40 +01:00
Glenn Johnson
1798ae9b39 add version 1.2.1 to r-backports (#20806) 2021-01-15 10:47:38 +01:00
Glenn Johnson
8599480ed9 add version 3.1-4 to r-bayesm (#20807) 2021-01-15 10:47:14 +01:00
Glenn Johnson
13d0618f03 add version 0.4.2.3 to r-bibtex (#20815) 2021-01-15 10:46:49 +01:00
Glenn Johnson
8f7b50b01f add version 2.4-1 to r-bio3d (#20816) 2021-01-15 10:46:17 +01:00
Glenn Johnson
3d3761f8f0 add version 4.0.4 to r-bit (#20818) 2021-01-15 10:45:52 +01:00
Glenn Johnson
0024c8df08 add version 1.2.1 to r-blob (#20819) 2021-01-15 10:45:26 +01:00
Glenn Johnson
d2c3fb5e45 add version 2.6 to r-rmarkdown (#20838) 2021-01-15 10:44:54 +01:00
Glenn Johnson
46c71d070f add version 0.2.3 to r-cubist (#20841) 2021-01-15 10:44:27 +01:00
Glenn Johnson
df29b9f55e add version 1.5-12.2 to r-cairo (#20842) 2021-01-15 10:43:21 +01:00
Glenn Johnson
699a1e7c86 add version 3.4.5 to r-processx (#20843) 2021-01-15 10:42:57 +01:00
Glenn Johnson
bbc733b84c add version 3.0-10 to r-car (#20844) 2021-01-15 10:42:28 +01:00
Glenn Johnson
84f5f8437f r-lifecycle: new package at v0.2.0 (#20845) 2021-01-15 10:42:06 +01:00
Glenn Johnson
0d27aa685d add version 1.0.1 to r-caracas (#20846) 2021-01-15 10:41:26 +01:00
Glenn Johnson
0fe9fa6a75 add version 3.0-4 to r-cardata (#20847) 2021-01-15 10:40:46 +01:00
Glenn Johnson
c270629d23 add version 1.2.2.2 to r-modelmetrics (#20849) 2021-01-15 10:40:28 +01:00
Glenn Johnson
319a3c93f8 add version 1.18.1 to r-catools (#20850) 2021-01-15 10:39:37 +01:00
Glenn Johnson
ec307c83a6 add version 2.0.0 to r-checkmate (#20852) 2021-01-15 10:38:27 +01:00
Glenn Johnson
3ad021eef5 add version 0.4.10 to r-checkpoint (#20853) 2021-01-15 10:38:04 +01:00
Glenn Johnson
33325609be add version 2.3-56 to r-chron (#20854) 2021-01-15 10:37:35 +01:00
Glenn Johnson
aea0740cdc add version 0.1.2 to r-globaloptions (#20855) 2021-01-15 10:35:18 +01:00
Glenn Johnson
5cfb19fb34 add version 0.4-3 to r-classint (#20857) 2021-01-15 10:34:55 +01:00
Glenn Johnson
89b745ed3f add version 2.2.0 to r-cli (#20858) 2021-01-15 10:34:33 +01:00
Glenn Johnson
d2f99bb42b add version 0.7.1 to r-clipr (#20859) 2021-01-15 10:34:09 +01:00
Glenn Johnson
5eec0e418c add version 0.3-58 to r-clue (#20860) 2021-01-15 10:33:48 +01:00
Glenn Johnson
532ca134f3 add version 1.3.7 to r-clustergeneration (#20861) 2021-01-15 10:30:48 +01:00
Glenn Johnson
c654ce7557 add version 0.19-4 to r-coda (#20862) 2021-01-15 10:20:44 +01:00
Glenn Johnson
d2f7e6d020 add version 1.3-1 to r-coin (#20863) 2021-01-15 10:16:32 +01:00
Glenn Johnson
e0f75b6fc3 add version 2.0-0 to r-colorspace (#20864) 2021-01-15 10:15:55 +01:00
mic84
7762b8acdd amrex: add ROCm support (#20809) 2021-01-15 01:14:55 -08:00
Glenn Johnson
3b9144a4a4 add version 0.3.6 to r-vctrs (#20878) 2021-01-15 10:07:58 +01:00
Glenn Johnson
c8e4ded260 add version 0.4.10 to r-rlang (#20796) 2021-01-15 10:07:26 +01:00
Glenn Johnson
bf6b8cfe6e add version 2.0-1 to r-compositions (#20865) 2021-01-15 10:06:45 +01:00
Glenn Johnson
1b78ca678a add version 5.0.2 to r-rcppparallel (#20866) 2021-01-15 10:06:23 +01:00
Glenn Johnson
1973a01c9c add version 1.0-1 to r-copula (#20867) 2021-01-15 10:06:04 +01:00
Glenn Johnson
faa1f84d57 add version 1.1.0.1 to r-crosstalk (#20869) 2021-01-15 10:05:37 +01:00
Glenn Johnson
a7316a24ca add version 1.0.0 to r-crul (#20870) 2021-01-15 10:05:17 +01:00
Glenn Johnson
e596e6ba3a add version 0.2-3 to r-deldir (#20873) 2021-01-15 10:02:47 +01:00
Glenn Johnson
878d071974 add version 2.2-5 to r-deoptim (#20874) 2021-01-15 10:02:16 +01:00
Glenn Johnson
5a29444ac4 add version 1.28 to r-desolve (#20875) 2021-01-15 10:01:56 +01:00
Glenn Johnson
0c617d81cb add version 1.4.2 to r-httr (#20876) 2021-01-15 10:01:34 +01:00
Glenn Johnson
b7d992dd03 add version 1.5.8 to r-dicekriging (#20877) 2021-01-15 10:01:03 +01:00
Glenn Johnson
1e9eae7c1c add version 1.5 to r-rngtools (#20887) 2021-01-15 09:59:52 +01:00
Glenn Johnson
9a2155f7b1 add version 0.6.27 to r-digest (#20882) 2021-01-15 09:55:55 +01:00
Glenn Johnson
53c9b0232b add version 1.3-3 to r-dismo (#20883) 2021-01-15 09:55:28 +01:00
Glenn Johnson
d1c815ddb9 add version 0.9-15 to r-diversitree (#20884) 2021-01-15 09:55:06 +01:00
Glenn Johnson
7b80796882 add version 1.3.7 to r-domc (#20885) 2021-01-15 09:54:49 +01:00
Glenn Johnson
8697cf826d add version 1.0.16 to r-doparallel (#20886) 2021-01-15 09:54:26 +01:00
Glenn Johnson
e1fd840ccc r-dosnow: add v1.0.19 (#20888) 2021-01-15 09:53:29 +01:00
Glenn Johnson
52d2d24a4a r-dt: add v0.17 (#20889) 2021-01-15 09:52:28 +01:00
Glenn Johnson
1df3d65127 r-dtw: add v1.22-3 (#20890) 2021-01-15 09:51:58 +01:00
a-saitoh-fj
de085efd7d libzmq: add platform conditions to libbsd dependency (#20893) 2021-01-15 09:50:49 +01:00
darmac
1998630ca2 libvips: added v8.10.5 (#20902) 2021-01-15 09:48:56 +01:00
Adam J. Stewart
92b6d3ac67 py-anuga: add new package (#20782) 2021-01-15 09:47:18 +01:00
Abhinav Bhatele
2c44e62813 hatchet: updated urls (#20908) 2021-01-15 09:23:54 +01:00
Thomas Green
58d5b73ba4 Improve gcc detection in llvm. (#20189)
Co-authored-by: Tom Scogland <tom.scogland@gmail.com>
Co-authored-by: Thomas Green <ca-tgreen@gw4a64fxlogin00.head.gw4.metoffice.gov.uk>
2021-01-15 09:22:58 +01:00
Glenn Johnson
56904d5834 r-plotmo: add v3.6.0 (#20909) 2021-01-15 09:16:59 +01:00
Glenn Johnson
1dc48dc92a r-ecp: add v3.1.3 (#20910) 2021-01-15 09:16:35 +01:00
Adam J. Stewart
ac2b9a3e24 py-fiscalyear: add v0.3.0 (#20911) 2021-01-15 09:16:08 +01:00
Glenn Johnson
3233debf1b r-ellipse: add v0.4.2 (#20912) 2021-01-15 09:15:33 +01:00
Glenn Johnson
a438828ec9 r-energy: add v1.7-7 (#20914) 2021-01-15 09:14:56 +01:00
Glenn Johnson
fca652ab65 r-envstats: add v2.4.0 (#20915) 2021-01-15 09:14:02 +01:00
Glenn Johnson
05906ab57e r-expint: add v0.1-6 (#20917) 2021-01-15 09:13:30 +01:00
Tomoyasu Nojiri
ed4dea2dc2 cln: add build dependency on texinfo (#20928) 2021-01-15 09:07:18 +01:00
Glenn Johnson
e160f649b8 r-expm: add v0.999-6 (#20918) 2021-01-15 09:03:58 +01:00
Glenn Johnson
4bab89bbff r-farver: add v2.0.3 (#20919) 2021-01-15 09:03:20 +01:00
Glenn Johnson
7fe5430d0c r-fftwtools: add v0.9-9 (#20920) 2021-01-15 09:02:49 +01:00
Glenn Johnson
3e93175b65 r-fields: add v11.6 (#20921) 2021-01-15 09:02:13 +01:00
Glenn Johnson
266132c06d r-fit-models: add v0.64 (#20922) 2021-01-15 09:01:14 +01:00
Glenn Johnson
71615632de r-fitdistrplus: add v1.1-3 (#20923) 2021-01-15 09:00:27 +01:00
Glenn Johnson
0f40d8b59f r-flexmix: add v2.3-17 (#20924) 2021-01-15 08:59:49 +01:00
Tomoyasu Nojiri
863bdd5115 libconfig: add build dependency on texinfo (#20930) 2021-01-15 08:45:14 +01:00
Glenn Johnson
a23404c7a7 r-ellipsis: added v0.3.1 (#20913) 2021-01-15 08:40:41 +01:00
Glenn Johnson
7cb4a8afe0 r-rle: new package (#20916)
Common 'base' and 'stats' methods for 'rle' objects, aiming to make it
possible to treat them transparently as vectors.
2021-01-15 08:39:44 +01:00
Adam J. Stewart
1e22b5a00b PCL: add new package (#20933) 2021-01-15 08:38:56 +01:00
h-denpo
ef764deb54 pocl: added v1.6 (#20932)
Made version 1.5 or lower conflicts with a64fx.
2021-01-15 08:29:27 +01:00
Tomoyasu Nojiri
03f6717c38 fujitsu-fftw: Add new package (#20824) 2021-01-14 19:34:12 +01:00
Henrique Mendonça
7dde96b795 py-hovorod: fix typo on variant name in conflicts directive (#20906) 2021-01-14 19:27:41 +01:00
Kelly (KT) Thompson
040f69f931 py-h5py: HDF5_DIR is needed for ~mpi too (#20905)
For the `~mpi` variant, the environment variable `HDF5_DIR` is still required.  I moved this command out of the `+mpi` conditional.
2021-01-14 13:27:04 -05:00
Glenn Johnson
89fd0faa40 r-class: added v7.3-17 (#20856) 2021-01-14 19:24:05 +01:00
Glenn Johnson
5d62b369de r-covr: added v3.5.1 (#20868) 2021-01-14 19:23:25 +01:00
Glenn Johnson
1a99c2ee46 r-diffusionmap: added v1.2.0 (#20881) 2021-01-14 19:22:40 +01:00
Glenn Johnson
49bdbfe08b r-e1071: added v1.7-4 (#20891) 2021-01-14 19:21:40 +01:00
Shintaro Iwasaki
94cb97e849 llvm-doe: added new package (#20719)
The package contains duplicated code from llvm/package.py,
will supersede solve.
2021-01-14 19:20:04 +01:00
Tomoyasu Nojiri
d0891d5d26 astyle: Fix makefile for install parameter (#20899) 2021-01-14 11:56:24 -06:00
Danny Taller
74b2c85b41 improve documentation for Rocm (hip amd builds) (#20812)
* improve documentation
2021-01-14 08:54:58 -08:00
darmac
b423db6ddb r-sf: fix dependency error (#20898) 2021-01-14 09:20:59 -06:00
Chuck Atkins
08e5baccef ecp-data-vis-sdk: Combine the vis and io SDK packages (#20737)
This better enables the collective set to be deployed togethor satisfying
eachothers dependencies
2021-01-14 08:24:27 -05:00
mic84
f6dd85b2b0 amrex: fix handling of CUDA arch (#20786)
* amrex: fix handling of CUDA arch
* amrex: fix style
* amrex: fix bug
* Update var/spack/repos/builtin/packages/amrex/package.py
* Update var/spack/repos/builtin/packages/amrex/package.py

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-01-13 18:53:57 -08:00
Chuck Atkins
4f49b1a930 adios2: Define custom libs property (#20848) 2021-01-13 17:42:36 -05:00
Chuck Atkins
fc4e66ef3c adios2: Add 2.7.0 release (#20800)
This release also includes the HDF5 VOL plugin so I've added an additional
funciton to ensure the HDF5_PLUGIN_PATH env var gets updated with the adios
install prefix
2021-01-13 15:02:30 -05:00
Mark W. Krentel
54a4f0fc35 intel-xed: add version 12.0.1 (#20676)
* intel-xed: add version 12.0.1

Rework the version numbers for intel-xed, now that xed has actual
releases and tags.  Add releases 11.2.0 and 12.0.1.  Rename 2019.03.01
to 10.2019.03 as a legacy version that fits in the new order.

Add variant +pic to compile libxed.a with PIC code so that it can be
linked into another shared library.

Add conflict for aarch64.
Add mwkrentel as maintainer.
2021-01-13 11:46:38 -08:00
Kurt Sansom
21a0a2f6bb Miniconda: update (#20814) 2021-01-13 13:03:34 -06:00
steffen-AEI
bf0993c0d9 Add version 1.14.0 (#20836)
1.14.0 compiles with gcc@10.2.0, while 1.13.0 doesn't
2021-01-13 13:02:59 -06:00
Andrew-Dunning-NNL
a91dbcfa8c py-pyfiglet:new recipe (#20792)
* py-pyfiglet:new recipe

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

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

* py-pyfiglet: use pypi url

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-13 12:54:40 -06:00
Harmen Stoppels
3f1c264148 dbcsr: added rocm support (#20835)
Co-authored-by: Tiziano Müller <tm@dev-zero.ch>
2021-01-13 15:54:23 +01:00
Glenn Johnson
b9dfda19c1 r-blockmodeling: added v1.0.0 (#20820) 2021-01-13 15:45:59 +01:00
Glenn Johnson
661b94eba5 r-xfun: added v0.20 (#20821) 2021-01-13 15:19:14 +01:00
Glenn Johnson
241c8a0695 r-boot: added v1.3-25 (#20823) 2021-01-13 15:18:36 +01:00
Harmen Stoppels
dec35566d2 hipblas: add dependency on rocsolver (#20832) 2021-01-13 15:14:58 +01:00
Christoph Junghans
8af010ce5d votca-*: add v1.6.4 (#20822)
* votca-tools: add v1.6.4

* votca-csg: add v1.6.4

* votca-csg-tutorials: add v1.6.4

* votca-csgapps: add v1.6.4

* votca-xtp: add v1.6.4

* csgapps: master/stable version got merged into votca-csg
2021-01-13 07:07:53 -07:00
darmac
ccc1bb7324 libtomlc99: added v0.2020.12.23 (#20825) 2021-01-13 09:55:06 +01:00
Mark W. Krentel
991ff2fd94 hpctoolkit: add variant to support rocm (#20826)
Add early support for ROCM on AMD GPUs, for develop branch only.
Requires ROCM packages to be specified as external packages.
2021-01-13 09:54:17 +01:00
darmac
8b9f4d53da solr: add java as runtime dependency (#20827) 2021-01-13 09:52:00 +01:00
a-saitoh-fj
5cfa3d5c59 libzmq: add libbsd as a dependency (#20828)
libzmq started using strlcpy from v4.3.3
2021-01-13 09:48:03 +01:00
Tiziano Müller
5443558717 cp2k: add v8.1 (#20829) 2021-01-13 09:39:35 +01:00
Massimiliano Culpo
0bd76ac9e6 concretizer: require at least a dependency type to say the dependency holds
fixes #20784

Similarly to the previous bug, here we were deducing
conditions to be imposed on nodes that were not part
of the DAG.
2021-01-12 22:23:39 -08:00
Massimiliano Culpo
ed8fe68cf2 concretizer: dependency conditions cannot hold if package is external
fixes #20736

Before this one line fix we were erroneously deducing
that dependency conditions hold even if a package
was external.

This may result in answer sets that contain imposed
conditions on a node without the node being present
in the DAG, hence #20736.
2021-01-12 22:23:39 -08:00
Robert Blake
a2eb587a95 py-torchvision@0.5.0 depends on py-torch@1.4.1 (#20811) 2021-01-12 17:13:43 -06:00
Massimiliano Culpo
b3419c06c5 libyogrt: remove conflicts triggered by an invalid value (#20794)
fixes #20611

The conflict was triggered by an invalid value of the
'scheduler' variant. This causes Spack to error when libyogrt
facts are validated by the ASP-based concretizer.
2021-01-12 17:11:50 -06:00
Robert Underwood
823ab32c10 restore ability of dev-build to skip patches (#20351)
At some point in the past, the skip_patch argument was removed
from the call to package.do_install() this broke the --skip-patch
flag on the dev-build command.
2021-01-12 14:32:04 -06:00
archxlith
e10c0a6a34 New package [py-pylops] (#20777)
* New package [py-pylops]

* [py-pylops] Seperated optional dependecies into a variant called advanced
2021-01-12 12:36:53 -06:00
Harmen Stoppels
1d7babe955 dbcsr, cp2k: fix cuda arch conflicts in asp concretizer (#20784) 2021-01-12 18:01:32 +01:00
christopher coffey
ecc59de51d kraken2: added v2.1.1 (#20785) 2021-01-12 10:43:55 +01:00
downloadico
1a45ce132d hybrid-lambda: added new package (#20754)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-12 10:42:23 +01:00
ketsubouchi
506da6891a dsqss: new package at v2.0.3 (#20723)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-01-12 10:00:30 +01:00
a-saitoh-fj
c6f13cb20f py-distributed: added v2020.12.0 (#20722) 2021-01-12 09:57:53 +01:00
Harmen Stoppels
a2a0262f79 hip: fix naming of libraries when installing from tarballs (#20780)
There's two issues with hip where it tries to autodetect the patch
version number from git (when installed), but it does not check if it
even is inside of a git repo. The result is we end up with a shared lib
with a trailing dash in the library suffix: `libamd64.so.x.y.z-`, which
confuses GCC. The patch tries to check if the `.git` folder exists, and
if it does not, it handles version numbering the same as when git was
not installed previously.
2021-01-12 09:48:03 +01:00
archxlith
60a58d89e7 New package [py-scikit-fmm] (#20775)
* New package [py-scikit-fmm]

* [py-scikit-fmm] Removed redundant depends_on
2021-01-11 16:36:29 -06:00
AMD Toolchain Support
e7ed832c8d spack recipe for amdlibm (#20487) 2021-01-11 12:13:54 -08:00
archxlith
8066ca8a8e New package [py-spgl1] (#20776) 2021-01-11 12:49:36 -06:00
AMD Toolchain Support
de3504ca29 wrf: add AOCC support for v4.2 (#20772) 2021-01-11 12:13:59 +01:00
Adam J. Stewart
ec0226ec6e libquo: add maintainer (#20583) 2021-01-11 11:55:53 +01:00
lorddavidiii
a9d6e69789 New versions of opencl-c-headers, opencl-clhpp and ocl-icd (#20724)
* opencl-c-headers: add new version 2020.12.18

* opencl-clhpp: add new version 2.0.13

* opencl-headers: now supports OpenCL 3.0 with new versions of opencl-c-headers and opencl-clhpp

* ocl-icd: add new version 2.2.14 add now can provide OpenCL 3.0
2021-01-11 11:39:02 +01:00
Erik Schnetter
e9c2bc5d7f gsl: added v2.6 (#20726) 2021-01-11 11:13:44 +01:00
Adam J. Stewart
881bdd5b9e Package Repositories docs: num packages has grown (#20735) 2021-01-11 11:00:14 +01:00
darmac
c199f37e94 ply: added new package (#20764) 2021-01-11 10:46:04 +01:00
Erik Schnetter
9049829c8e asdf-cxx: correct swig dependency details (#20752) 2021-01-11 10:29:55 +01:00
Axel Huebl
53b70451fd openPMD-api: added v0.13.1 (#20761) 2021-01-11 09:55:26 +01:00
Aurelien Bouteiller
63eabae0ec PaRSEC: added new package (#20170)
PaRSEC: the Parallel Runtime Scheduler and Execution Controller for micro-tasks on distributed heterogeneous systems.

Signed-off-by: Aurelien Bouteiller <bouteill@icl.utk.edu>
2021-01-11 09:25:26 +01:00
Keita Iwabuchi
9a1ab9a8a3 metall: added v0.8 and v0.9 (#20763) 2021-01-11 09:11:09 +01:00
Tamara Dahlgren
31f26daf10 Update the docs footer copyright (#20741) 2021-01-11 08:00:08 +01:00
Erik Schnetter
dc0deb3e3d hwloc: New version 2.4.0 (#20727)
New versions 1.11.12, 1.11.13, 2.3.0, 2.4.0.
2021-01-10 22:21:26 +01:00
Teodor Nikolov
a190876bdc COSMA: latest version (#20760) 2021-01-10 19:58:30 +01:00
eugeneswalker
d6ba623669 llvm-amdgpu: add variant: openmp (bool) (#20759) 2021-01-10 19:57:28 +01:00
Erik Schnetter
5dacb1b550 libjpeg-turbo: added v2.05 and v2.06 (#20770) 2021-01-10 10:36:27 +01:00
Erik Schnetter
dc52168feb libevent: added v2.1.12, v2.1.11 and v2.1.10 (#20771) 2021-01-10 10:35:50 +01:00
Andrew W Elble
0c1e99b3c8 py-tensorflow: version updates, add 2.4.0 (#20702)
* py-tensorflow: 2.4.0 and dependency updates

* minor version updates

* fix numpy dependency

* dependency rework: compatible release issues, start to clarify cuda versions

* --incompatible_no_support_tools_in_action_inputs was removed in bazel 3.6

* adjustment to versions of cuda dependency, also make sure that
patches/filters still apply to certain release trains.

* python 3.8 and tf < 2.2 have issues

* missed py-grpcio version bump
2021-01-09 12:03:49 -06:00
Seth R. Johnson
1e3f6489c4 ForTrilinos: add version 2.0.0 (#20695)
I finally figured out how to get version 2.0.0 to play nice with the dev
versions. Yuck.
2021-01-08 15:48:23 -05:00
Jamie Finney
3f0f79d2c9 Remove ascent gitlab trigger (#20755)
Remove the ORNL Ascent gitlab trigger 

CI will now be done internally via periodic builds.
2021-01-08 12:57:50 -07:00
Robert Cohn
ea0b001597 intel-oneapi-mpi: virtual provider support (#20732)
Set up environment and dependent packages properly when building
with intel-oneapi-mpi as a dependency MPI provider (e.g. point to
mpicc compiler wrapper).
2021-01-08 10:47:03 -08:00
mic84
1d4cbcd93f amrex: expand CUDA support (#20740)
* amrex: expand CUDA support
2021-01-08 09:44:59 -08:00
Robert Underwood
2f19346c9a py-scikit-learn: do parallel builds of C extension (#20733)
Enabled parallel builds of the C-extension upto the parallelism allowed
by spack.

https://scikit-learn.org/stable/developers/advanced_installation.html#parallel-builds
2021-01-07 14:58:33 -06:00
Jen Herting
b6e32a265b New package: py-testfixtures (#20432)
* [py-testfixtures] copied from slpits

* [py-testfixtures] removed extends('python')

* [py-testfixtures] removed unnecessary dependencies
2021-01-07 12:29:33 -06:00
Andrew W Elble
1ada637613 py-six: 1.15.0 (#20710)
* py-six: 1.15.0

* depend on specific python version(s)
2021-01-06 19:21:39 -06:00
Joshua S Brown
b933454250 Fix dependencies and https address of gitpython (#20669)
* Fix dependencies and https address of gitpython

* Fix gitpython, use pypi repo, fix checksums

* Use pypi

* Revert to python 3.4 dependency
2021-01-06 19:21:11 -06:00
Gabriel Rockefeller
f1a4ac5c37 eospac: add version 6.4.2beta (#20681)
* eospac: add version 6.4.2beta

* eospac: clarify EOSPAC "beta" versions

Compared to 6.4.1, EOSPAC 6.4.2beta contains only one change, a fix
for an inability to read some SESAME files in ASCII format.  From the
release announcement,

    EOSPAC 6.4.2beta has been released for general use as the latest
    (i.e., eospac6-latest) versions.  This is a small patch to the
    previously-released version 6.4.1, which was requested by an
    affected user.

But the "beta" label can cause confusion, especially when a beta
version is the new preferred version, as is the case here.  As
suggested by reviewers, add a comment clarifying EOSPAC's use of
"beta".
2021-01-06 18:06:17 -06:00
Andrew W Elble
61fc26e197 py-wheel: 0.35.1 (#20713) 2021-01-06 16:04:31 -06:00
Andrew W Elble
559c64c365 flatbuffers: python variant (#20706) 2021-01-06 15:59:09 -06:00
Andrew W Elble
820840d448 py-wrapt: 1.12.1 (#20707) 2021-01-06 15:56:59 -06:00
Andrew W Elble
8e04217672 py-opt-einsum: 3.3.0 (#20712) 2021-01-06 15:56:03 -06:00
Andrew W Elble
136753ccd9 py-absl-py: 0.10.0 (#20709) 2021-01-06 15:55:48 -06:00
Andrew W Elble
8968123dae py-google-pasta: 0.2.0 (#20711) 2021-01-06 15:53:23 -06:00
Andrew W Elble
0bb495ce6f nccl: 2.8.3-1 (#20708) 2021-01-06 15:47:25 -06:00
Erik Schnetter
682c31d380 qthreads: New version 1.15 (#20704) 2021-01-06 13:09:57 -08:00
Robert Maynard
2c04bebc32 Update kokkos amd gpu archs and required C++ level (#20096)
* Remove unsupported AMD GPU archs
* Kokkos requires C++14 now
2021-01-06 13:08:07 -08:00
eugeneswalker
6157854de6 fix gpg user rundir check (#20705) 2021-01-06 12:29:00 -08:00
Jordan Ogas
e2f2417a31 add charliecloud/0.21 (#20703) 2021-01-06 12:13:31 -08:00
Rémi Lacroix
4e12cab9e3 SLEPc: Set SLEPC_DIR in the module file. (#20698) 2021-01-06 11:05:35 -08:00
Greg Sjaardema
ac3f8656fb SEACAS: Update to lastest version (#20701) 2021-01-06 10:53:45 -08:00
Frank Willmore
c3fad97487 intel-oneapi-compilers package: correct module file (#20686)
This properly sets PATH/CPATH/LIBRARY_PATH etc. to make the
Spack-generated module file for intel-oneapi-compilers useful
(without this, 'icx' would not be found after loading the module
file for intel-oneapi-compilers).
2021-01-06 10:45:42 -08:00
Robert Cohn
74a54077f5 fix mpi lib paths, add virtual provides (#20693) 2021-01-06 10:37:24 -08:00
Ye Luo
844d98f727 Remove hard-coded standard C++ library selection and add more releases in llvm package (#19933)
* Restore OS based Clang default choice of C++ standard library.

* Add LLVM 11.0.1 release
2021-01-06 12:17:20 -06:00
Toyohisa Kameyama
587d25ad45 parallelio: New Package. (#20673) 2021-01-06 10:05:43 -08:00
Dr. Christian Tacke
dabee2cee8 libc: Return empty libs (#20338)
The C-Library for the current compiler should already be used by the compiler. So there is no point in returning any libs for this package.

Without this patch: if one uses this as an external package (as intended), then this will can inject system library paths into the build process at the wrong place.
2021-01-06 10:01:07 -08:00
jkelling
8956c8c7b7 magma: remove -W args from CMakeLists.txt when using nvhpc (#20516) 2021-01-06 10:51:05 +01:00
Erik Schnetter
8860db4021 arrayfire: added v3.7.3 (#20612) 2021-01-06 10:46:02 +01:00
Rémi Lacroix
89b94d968d libtheora: fetch a patch instead of storing it in Spack (#20620) 2021-01-06 10:44:05 +01:00
Rémi Lacroix
d30f9e5806 Blitz: added v1.0.2 (#20614) 2021-01-06 10:35:21 +01:00
Josh Essman
1cd4b134cb mfem: link to nveccuda when +sundials+cuda (#20588) 2021-01-06 10:34:42 +01:00
Rémi Lacroix
c2411117f3 r-genefilter: added v1.72. (#20627) 2021-01-06 10:23:25 +01:00
Rémi Lacroix
83697161b4 Nek5000: Improve support for OpenMPI without legacy launchers. (#20622)
Use "srun" for the nekmpi wrapper when we know "mpiexec" won't be available.
2021-01-06 10:20:41 +01:00
Rémi Lacroix
3f40d15c84 Gromacs: simplify hwloc dependency. (#20619)
Additionaly remove the version constraint as newer versions work with OpenMPI 4.X.Y and the new experimental concretizer is now available for testing.
2021-01-06 10:19:48 +01:00
Adam J. Stewart
5aabd59335 py-scipy: add v1.6.0 (#20637) 2021-01-06 10:17:36 +01:00
Adam J. Stewart
4da57e8afa GDAL: add v3.2.1 (#20664) 2021-01-06 10:06:32 +01:00
Tao Lin
05ab114ff9 GenFit: added new package (#20653)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-01-06 09:55:49 +01:00
Brian Van Essen
385c503d8e lbann: make catch2 a "build" and "test" dependency (#20666) 2021-01-06 09:53:30 +01:00
Luca Heltai
812a3fb0ae dealii: fix concretization problem between trilinos and adol-c (#20606) 2021-01-06 09:51:21 +01:00
Adam J. Stewart
c247999c65 py-sphinx-rtd-theme: remove npm dependency (#20675) 2021-01-06 09:39:06 +01:00
Adam J. Stewart
0a69cf5936 py-numpy: add v1.19.5 (#20684) 2021-01-06 09:16:46 +01:00
Massimiliano Culpo
3ae4a5d3cf qa: use dependabot to update Github Actions 2021-01-06 00:00:33 -08:00
Adam J. Stewart
323667ce2a fakexrandr: add new package (#20687) 2021-01-06 08:59:12 +01:00
Adam J. Stewart
564aebdb1a Xorg proto: type build -> link (#20685) 2021-01-06 08:56:22 +01:00
Desmond Orton
8d0f5c0a6f py-picrust2: added new package (#20455) 2021-01-06 08:54:36 +01:00
Gregory Lee
7dbc4d32db update stat and deps with bug fixes (#20690) 2021-01-06 08:36:56 +01:00
Sinan
1f2f82d388 libspatialite: added v5.0.0 (#20293)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2021-01-06 08:16:25 +01:00
estewart08
7faa0a9e43 Rocm-openmp-extras 4.0 version updates (#20692) 2021-01-05 22:48:54 -06:00
Sreenivasa Murthy Kolam
023cb7ab7f bump up version for rocm-4.0.0 release (#20691) 2021-01-05 22:25:45 -06:00
ketsubouchi
15a7723645 alps: fix for latest gcc and test bug (#20462)
* gcc build OK

* gcc mc-01 OK

* time test problem

* remove comment and debug

* use climit

* TAB to spaces

* comment
2021-01-05 22:24:50 -06:00
Massimiliano Culpo
0111a18b23 concretizer: make rules on virtual packages more linear
fixes #20679

In this refactor we have a single cardinality rule on the
provider, which triggers a rule transforming a dependency
on a virtual package into a dependency on the provider of
the virtual.
2021-01-05 16:59:15 -08:00
Vanessasaurus
67ce1939a3 spack python: allow use of IPython (#20329)
This adds a -i option to "spack python" which allows use of the
IPython interpreter; it can be used with "spack python -i ipython".
This assumes it is available in the Python instance used to run
Spack (i.e. that you can "import IPython").
2021-01-05 16:54:47 -08:00
andymwood
35d81a9006 VTK: add -no-ipo for builds using intel compiler (#20480)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-05 13:11:29 -08:00
Greg Becker
61c1b71d38 bugfix for target adjustments on target ranges (#20537) 2021-01-05 12:27:13 -08:00
Ethan Stam
18110346c8 Mesa: use auto when llvm is built shared (#20683) 2021-01-05 13:04:57 -07:00
estewart08
32c7241089 Updates and Enhancements to AOMP Recipe. Added version 3.10.0. (#20464)
* Update recipe for AOMP.
Reduced repitition with version hashes.
Expanded dependency versioning.
Reduced repitition with cmake args.
Added version 3.10.0

* Update dependency versions and remove uneeded quotes.

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-05 13:39:57 -06:00
estewart08
c55b3bf2d9 AMD ROCm 3.10 Release: Add new package recipe for rocm-openmp-extras. (#20204)
* AMD ROCm 3.9 Release: Add new package recipe for openmp-extras.

* Updated openmp-extras recipe.

Changed name to rocm-openmp-extras.
Reduced repitition with component hashes.
Adjusted the removal of CMAKE_BUILD_TYPE.
Reduced repitition in cmake args.
Added 3.10.0 to recipe.

* Update python/py-setuptools dependency versions.

* Expand dependency versions, fix the openmp cmake args.

* Remove double formats.

* Substitute escape characters with string=True for filter_file(s).

* Remove CMAKE_VERBOSE_MAKEFILE, already present in standard args.
2021-01-05 13:39:38 -06:00
Rémi Lacroix
072d21ad96 Berkeley-DB: Fix compilation with NVIDIA HPC Compilers on Red Hat 8. (#20616) 2021-01-05 10:45:22 -08:00
Luca Heltai
155a3b3a08 Fix compilation for boost@1.72: (#20618) 2021-01-05 10:42:11 -08:00
Rémi Lacroix
18d14eb765 ParaView: Allow choosing a CUDA architecture. (#20623)
This is useful when the "native" architecture cannot be guessed.
2021-01-05 10:37:00 -08:00
Harmen Stoppels
4a7c4e6667 Add cray-fftw (#20654) 2021-01-05 10:22:49 -08:00
Robert Cohn
a1e4465c59 compiler version format changed (#20671) 2021-01-05 09:37:46 -08:00
MBlaschek
4d3c9da872 Update of Eccodes to 2.19.1 (#20368)
* Update of Eccodes to 2.19.1

* PEP8

* PEP8

* PEP8-whitespace

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

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

Co-authored-by: Michael Blaschek <michael.blaschek@univie.ac.at>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-01-05 10:09:11 -06:00
AMD Toolchain Support
350418ec35 AOCC support for WRFv3.9.1.1 (#20568)
* AOCC support for WRFv3.9.1.1

* r' as prefix for string literal
2021-01-05 10:06:24 -06:00
Todd Gamblin
5ac05db917 concretizer: use consistent naming for compiler predicates (#20677)
Every other predicate in the concretizer uses a `_set` suffix to
implement user- or package-supplied settings, but compiler settings use a
`_hard` suffix for this. There's no difference in how they're used, so
make the names the same.

- [x] change `node_compiler_hard` to `node_compiler_set`
- [x] change `node_compiler_version_hard` to `node_compiler_version_set`
2021-01-05 08:41:01 +01:00
Axel Huebl
e6d462589f OpenMPI: Depends on hwlock & libevent (#20658)
* OpenMPI: Depends on hwlock & libevent

Both hwlock & libevent are required dependencies of Open MPI.
While they are also shipped internally, newer releases (>=4.0)
will start looking for external packages by default.

This caused build issues of Open MPI 4.0.5 with Fortran on macOS
10.15.

* Open MPI 4.0: libevent external

Internally shipped libevent just works fine for prior releases.
2021-01-04 21:05:11 -06:00
Jim Huang
e5b03770ed SS2NEON transition to new repository; update headers and patch (#20647) 2021-01-04 18:45:47 -08:00
mic84
ad29f2148e amrex: new version 21.01 (#20659) 2021-01-04 18:41:06 -08:00
Stephanie Brink
dec98ed754 py-hatchet: added latest versions up to 1.3.0 (#20667) 2021-01-04 18:38:44 -08:00
Peter Scheibel
22a45e010a Bugfix: Support old installations using Cray MPICH (#20663)
#20076 moved Cray-specific MPICH support from the Spack MPICH package
to a new cray-mpich Package. This broke existing package installs
using external mpich on Cray systems. This PR keeps the cray-mpich
package but restores the Cray-specific MPICH support for older
installations.

In the future this support should be removed from the Spack mpich
package and users should be directed to use cray-mpich on Cray.
2021-01-04 17:19:08 -08:00
Sreenivasa Murthy Kolam
f4acf74091 bump up rocm math libs recipes for rocm-4.0.0 release (#20651) 2021-01-05 00:02:03 +01:00
Todd Gamblin
9c941bb706 concretizer: simplify handling of virtual version constraints
Previously, the concretizer handled version constraints by comparing all
pairs of constraints and ensuring they satisfied each other. This led to
INCONSISTENT ressults from clingo, due to ambiguous semantics like:

    version_constraint_satisfies("mpi", ":1", ":3")
    version_constraint_satisfies("mpi", ":3", ":1")

To get around this, we introduce possible (fake) versions for virtuals,
based on their constraints. Essentially, we add any Versions,
VersionRange endpoints, and all such Versions and endpoints from
VersionLists to the constraint. Virtuals will have one of these synthetic
versions "picked" by the solver. This also allows us to remove a special
case from handling of `version_satisfies/3` -- virtuals now work just
like regular packages.
2021-01-04 14:51:10 -08:00
Todd Gamblin
a1ed71f7e4 concretizer: remove rule generation code from concretizer
Our program only generates facts now, so remove all unused code related
to generating cardinality constraints and rules.
2021-01-04 14:51:10 -08:00
Todd Gamblin
0ce08640e0 concretizer: convert virtuals to facts; move all rules to concretize.lp
This converts the virtual handling in the new concretizer from
already-ground rules to facts. This is the last thing that needs to be
refactored, and it converts the entire concretizer to just use facts.

The previous way of handling virtuals hinged on rules involving
`single_provider_for` facts that were tied to the virtual and a version
range. The new method uses the condition pattern we've been using for
dependencies, externals, and conflicts.

To handle virtuals as conditions, we impose constraints on "fake" virtual
specs in the logic program. i.e., `version_satisfies("mpi", "2.0:",
"2.0")` is legal whereas before we wouldn't have seen something like
this. Currently, constriants are only handled on versions -- we don't
handle variants or anything else yet, but they key change here is that we
*could*. For a long time, virtual handling in Spack has only dealt with
versions, and we'd like to be able to handle variants as well. We could
easily add an integrity constraint to handle variants like the one we use
for versions.

One issue with the implementation here is that virtual packages don't
actually declare possible versions like regular packages do. To get
around that, we implement an integrity constraint like this:

    :- virtual_node(Virtual),
       version_satisfies(Virtual, V1), version_satisfies(Virtual, V2),
       not version_constraint_satisfies(Virtual, V1, V2).

This requires us to compare every version constraint to every other, both
in program generation and within the concretizer -- so there's a
potentially quadratic evaluation time on virtual constraints because we
don't have a real version to "anchor" things to. We just say that all the
constraints need to agree for the virtual constraint to hold.

We can investigate adding synthetic versions for virtuals in the future,
to speed this up.
2021-01-04 14:51:10 -08:00
Todd Gamblin
49ac3471cf concretizer: consolidate handling of virtuals into spec_clauses 2021-01-04 14:51:10 -08:00
Todd Gamblin
fa411e7c07 concretizer: make _condtion_id_counter an iterator 2021-01-04 14:51:10 -08:00
Todd Gamblin
3cc89726ee concretizer: more detailed section headers in concretize.lp 2021-01-04 14:51:10 -08:00
Rémi Lacroix
39b77e1b39 r-codetools: Update package (#20626) 2021-01-04 14:46:47 -08:00
Mark W. Krentel
735d5c3769 libunwind: add version 1.5.0 (#20632)
Add version 1.5.0, remove 1.4-rc1 (use 1.4.0) and 1.5-rc1 (use 1.5.0).
2021-01-04 14:37:52 -08:00
Fabian Brandt
0c6641abd0 Update libnetworkit, py-networkit to 8.0 (#20478) 2021-01-04 16:14:06 -06:00
yellowhat
4dd6ba44f2 fftw: bump to 3.3.9 (#20634) 2021-01-04 23:01:42 +01:00
Massimiliano Culpo
cfd0ff52d1 ci: fix issue with latest sphinx (#20661) 2021-01-04 22:10:49 +01:00
Dave Love
11dd7ffad6 Add procenv (#20121)
* Add procenv

* procenv: Only buildrequire check

* procenv:  Patch for gcc 10

* procenv:  Add omitted patch

* Indent doc string
2021-01-04 22:08:54 +01:00
darmac
1b33008705 libthai: new package at v0.1.28 (#19916) 2021-01-04 17:36:12 +01:00
Sreenivasa Murthy Kolam
c9e6a4d18b Bumpup version for rocm 4.0.0 release (#20640) 2021-01-04 17:16:26 +01:00
Sreenivasa Murthy Kolam
efb1e19339 bumpup version for rocm stage1 recipes for rocm-4.0.0 release (#20635) 2021-01-04 17:06:44 +01:00
Rémi Lacroix
47998b3f47 Libnsl: added v1.3.0 and v1.1.0. (#20645) 2021-01-04 16:34:42 +01:00
Rémi Lacroix
573d2ce2e1 Plumed: added v2.7.0. (#20646) 2021-01-04 16:34:09 +01:00
Axel Huebl
a3fb8e55d5 openPMD-api: 0.13.0 (#20648)
Add the latest release of openPMD-api.

Remove a selection of unsupported, pre-beta releases.
2021-01-04 16:29:46 +01:00
Tomoyasu Nojiri
a5611e0466 exciting: fix build on aarch64 (#20505) 2021-01-04 16:26:18 +01:00
Todd Gamblin
16ce207481 bugfix: infinite loop when building a set from incomplete specs (#20649)
This code in `SpecBuilder.build_specs()` introduced in #20203, can loop
seemingly interminably for very large specs:

```python
set([spec.root for spec in self._specs.values()])
```

It's deceptive, because it seems like there must be an issue with
`spec.root`, but that works fine. It's building the set afterwards that
takes forever, at least on `r-rminer`. Currently if you try running
`spack solve r-rminer`, it loops infinitely and spins up your fan.

The issue (I think) is that the spec is not yet complete when this is
run, and something is going wrong when constructing and comparing so many
values produced by `_cmp_key()`. We can investigate the efficiency of
`_cmp_key()` separately, but for now, the fix is:

```python
roots = [spec.root for spec in self._specs.values()]
roots = dict((id(r), r) for r in roots)
```

We know the specs in `self._specs` are distinct (they just came out of
the solver), so we can just use their `id()` to unique them here. This
gets rid of the infinite loop.
2021-01-04 10:28:16 +01:00
Tomoyasu Nojiri
4c23d99e7d fdupes: Add pcre2 depend (#20466)
* fdupes: Add pcre2 depend

* fdupes: Fix depend for pcre2
2021-01-04 10:12:13 +01:00
darmac
221e680e2b Add new package: xfsdump (#19914)
* Add new package: xfsdump

* fix Description and Homepage
2021-01-03 11:20:57 -06:00
darmac
5d1bcf67cf Add new package: py-holland (#19924)
* Add new package: py-holland

* rename py-holland to py-holland-backup

* fix dependencies
2021-01-03 11:07:37 -06:00
Sajid Ali
d685e47fb7 bump py-h5py (#20482)
* rebase and fix merge conflict

* address reviewer comments

* rework dependency handling as per reviewer comments

* incorporate reviewer feedback

* incorporate reviewer feedback

* fix phases

* address reviewer comments

* minor
2021-01-02 17:32:36 -06:00
Todd Gamblin
a8ccb8e116 copyrights: update all files with license headers for 2021
- [x] add `concretize.lp`, `spack.yaml`, etc. to licensed files
- [x] update all licensed files to say 2013-2021 using
      `spack license update-copyright-year`
- [x] appease mypy with some additions to package.py that needed
      for oneapi.py
2021-01-02 12:12:00 -08:00
Todd Gamblin
78f39bdfee commands: add spack license update-copyright-year
This adds a new subcommand to `spack license` that automatically updates
the copyright year in files that should have a license header.

- [x] add `spack license update-copyright-year` command
- [x] add test
2021-01-02 12:12:00 -08:00
Todd Gamblin
4d94c4c460 linguist: update .gitattributes for better linguist parsing (#20639)
This adds two lines to `.gitattributes`:
- [x] exclude vendored code from GitHub's language calculation
- [x] recognize `.lp` files as Prolog (closest language to ASP that
      linguist supports)

It looks like there have been two attempts
(https://github.com/github/linguist/issues/3867,
https://github.com/github/linguist/issues/4860) to add ASP as a language
to Linguist, but it's not widespread enough to be standard yet (or at
least the people who submitted the PRs haven't been able to show enough
stats to prove it). We'll settle for calling ASP "Prolog" for now as
that'll get us some syntax highlighting for `concretize.lp`.
2020-12-31 16:48:50 -08:00
Tom Payerle
a1cf000655 hdf-eos5: new package (HDF for Earth Observing Sytem using hdf v5) (#20274)
* hdf-eos5: new package (HDF for Earth Observing Sytem using hdf v5)

* hdf-eos5: flake8 fixes

* hdf-eos5: trying to fix flake8 errors

* hdf-eos5: flake8 fix

* hdf-eos5: Fix to support Fortran codes

The -Df2cFortran compilation flag needed to support Fortran
2020-12-30 17:55:29 -06:00
Tom Payerle
a30ba0b836 hdf-eos2: new package (HDF for Earth Observing System using hdf5) (#20275)
* hdf-eos2: new package (HDF for Earth Observing System using hdf5)

* hdf-eos2: flake8 fixes

* hdf-eos2: fix to support Fortran

Need the compilation flag -Df2cFortran to allow support for Fortran
codes
2020-12-30 17:54:55 -06:00
Adam J. Stewart
0d95fd6d52 extends: add type kwarg (#20045)
* extends: add type kwarg

* Flake8 fix
2020-12-30 11:09:58 -06:00
eugeneswalker
717b653bdd nalu-wind: add variant to build wind-utils (#20587) 2020-12-30 11:07:43 -06:00
Adam J. Stewart
5964cb49d9 Use system libuuid on macOS (#20608) 2020-12-30 10:13:34 -06:00
Massimiliano Culpo
eca1dd8738 concretizer: generate facts for externals
Generate only facts for external specs. Substitute the
use of already grounded rules with non-grounded rules
in concretize.lp
2020-12-29 23:51:20 -08:00
Adam J. Stewart
a4accff266 PythonPackage: url -> pypi (#20610)
* Convert all `url` attributes in `PythonPackage`s to `pypi` attributes
* add `pypi =` to flake8 exceptions
2020-12-29 16:44:04 -08:00
Michael Kuhn
c22141f444 Introduce virtual provider uuid (#18322)
libuuid is currently contained in util-linux, libuuid and uuid. This
change introduces a new virtual provider `uuid` and renames the existing
`uuid` package to `ossp-uuid`.

util-linux's libuuid is provided in the form of a separate package
util-linux-uuid to make sure that packages depending on uuid and
util-linux can use a separate uuid implementation, which the concretizer
does not allow if libuuid is contained in util-linux.
2020-12-29 10:12:26 -06:00
Adam J. Stewart
b421080c03 GDB: Better Python debugging support (#20486)
* GDB: Better Python debugging support

* Auto-load safe path

* Use gdbinit instead
2020-12-29 10:04:58 -06:00
Adam J. Stewart
8f92970714 py-geoplot: add new package at v0.4.1 (#20603) 2020-12-29 11:56:24 +01:00
Adam J. Stewart
03844b581a OpenVSLAM: add new package (#20389) 2020-12-29 11:18:34 +01:00
Adam J. Stewart
50e9501124 py-contextily: add new package at v1.0.1 (#20602) 2020-12-29 11:17:24 +01:00
Yang Zongze
d41bb54729 automake: fix shebang substitution for v1.16.3 and later (#20579) 2020-12-29 11:16:34 +01:00
Adam J. Stewart
8babd5345f py-geopy: add new package at v2.1.0 (#20601) 2020-12-29 09:11:12 +01:00
Adam J. Stewart
05f8e08067 PythonPackage: add pypi attribute to infer homepage/url/list_url (#17587) 2020-12-29 09:03:08 +01:00
John Wohlbier
76d23d9ee4 squashfs: fix build with GCC 10 (#20592) 2020-12-29 08:46:00 +01:00
Adam J. Stewart
e62676b245 Fix deptypes for some geospatial Python packages (#20593) 2020-12-29 08:40:23 +01:00
Adam J. Stewart
08ba1148e2 py-pygeos: add new package at v0.8 (#20594) 2020-12-29 08:39:45 +01:00
Glenn Johnson
747f7decc4 fsl: updated package, added v6.0.4 (#20201)
- added several patches
- added some missing dependencies
- remove unneeded dependencies
- add CUDA support
- disable queue support, which was limited, and broken anyway
- move package text that was specific to the package to a comment, so it
  does not show up the environment module
- set conflicts for cuda and compilers

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-12-29 08:27:26 +01:00
Adam J. Stewart
6c9272677b py-cartopy: specify where deps are found (#20597) 2020-12-29 08:04:13 +01:00
Adam J. Stewart
a13b9d8a7d py-geographiclib: add new package at v1.50 (#20600) 2020-12-29 07:57:59 +01:00
Adam J. Stewart
89262fbd23 py-mercantile: add new package at v1.1.6 (#20598) 2020-12-29 07:56:56 +01:00
Adam J. Stewart
f1a4810ac7 py-mapclassify: add new package at v2.4.2 (#20599) 2020-12-29 07:56:21 +01:00
Michael Kuhn
49b5ce954a python: add 3.8.7 and 3.9.1 (#20589) 2020-12-28 16:21:20 -06:00
Ryan Mast
1e971b62de libarchive: add version 3.5.1 (#20586) 2020-12-28 22:48:20 +01:00
Massimiliano Culpo
60f4621a73 archspec: fixed a typo in the vendored library (#20584) 2020-12-28 12:09:02 -06:00
Rémi Lacroix
8919226dc6 Update OpenMPI package (#20492)
* OpenMPI: Add version 4.1.0

* OpenMPI: Prefer version 4.0.5.

* OpenMPI: Update links

The download links changed, there is currently a redirection but it might not work forever. The website also switched to https.
2020-12-28 10:56:15 -06:00
perrymil
22e8672394 nvtop: new package at v1.1.0 (#20272) 2020-12-28 17:43:36 +01:00
Adam J. Stewart
808f55fa1f minizip: fix build with Apple Clang 12 (#20554) 2020-12-28 08:43:37 -06:00
Tomoyasu Nojiri
7f997f82c2 sionlib: fix for aarch64 (#20525) 2020-12-28 15:21:49 +01:00
h-denpo
0fcedea1d8 gnupg: added versions up to v2.2.5 (#20465) 2020-12-28 13:28:33 +01:00
h-denpo
680971650c frontistr: add v5.1.1, need trilinos version 12 (#20334) 2020-12-28 13:17:18 +01:00
Tiziano Müller
e2dcec8e43 libvori: added v201224 (#20577) 2020-12-28 12:59:16 +01:00
QuellynSnead
39a5c75a83 libquo: add pic flags for PGI (#20528)
Enforce PIC for PGI ((https://github.com/lanl/libquo/issues/41))
2020-12-28 12:57:03 +01:00
a-saitoh-fj
0f6ddacc98 py-multipledispatch: new package at v0.6.0 (#20571) 2020-12-28 12:54:36 +01:00
ravil-mobile
82c74c49ea zoltan: forward +int64 to parmetis, if active (#20572) 2020-12-28 12:53:08 +01:00
a-saitoh-fj
b6ed75f1b2 py-sparse: new package at v0.11.2 (#20573) 2020-12-28 12:51:39 +01:00
Yang Zongze
e4c41080b7 gmsh: added versions up to v4.7.1 (#20336) 2020-12-28 12:47:54 +01:00
Adam J. Stewart
69b9741e67 py-scikit-learn: add v0.24.0 (#20519) 2020-12-28 12:47:02 +01:00
Mark W. Krentel
025990a9c2 libmonitor: added v2020.10.15 (#20574)
Add version 2020.10.15, and add variant +dlopen to control overriding
dlopen and dlclose.
2020-12-28 11:12:45 +01:00
Adam J. Stewart
98cb74f2d1 py-geopandas: add v0.8.1 and master (#20576) 2020-12-28 11:11:50 +01:00
Christoph Junghans
22b56e75c4 legion: add streichler as maintainer (#20575)
* legion: add streichler as maintainer

* gasnet: add maintainers
2020-12-27 23:22:46 -07:00
Morten Kristensen
aff2a3a8e1 py-vermin: add latest version 1.1.0 (#20569) 2020-12-27 14:03:36 -06:00
Tomoki, Karatsu
95f63b506c openfoam: expand 'make_fujitsu_rules' process for Ver.1812. (#20468) 2020-12-27 13:41:37 +01:00
ketsubouchi
0a241b2414 boost: backport python3 import fix (#20301) 2020-12-27 13:38:54 +01:00
Ryan Mast
2cda9ea7fd libzmq: added v4.3.3 (#20467)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-12-27 13:37:32 +01:00
Adam J. Stewart
e27237c0bc Fix import tests for a few packages (#20560) 2020-12-27 13:24:55 +01:00
Adam J. Stewart
f82c515bbc Add missing setuptools dependencies (#20561) 2020-12-27 13:24:00 +01:00
Adam J. Stewart
fa56b9b1e2 py-sphinxcontrib-*: fix recursive imports (#20556) 2020-12-27 11:58:34 +01:00
Adam J. Stewart
0ed654aa70 py-pandas: add v1.2.0 (#20557) 2020-12-27 11:57:37 +01:00
Adam J. Stewart
e3cc50b2ba py-fiona: add v1.8.18 and master (#20558) 2020-12-27 11:57:13 +01:00
Adam J. Stewart
6bd4e29c65 py-rasterio: add v1.1.8 (#20559) 2020-12-27 11:49:54 +01:00
Adam J. Stewart
b9402094a1 py-black: add v20.8b1 (#20565) 2020-12-27 11:48:45 +01:00
Adam J. Stewart
c199e3f33f py-pathspec: add v0.8.1 (#20564) 2020-12-27 11:48:04 +01:00
Adam J. Stewart
d74cfa4c68 py-regex: add v2020.11.13 (#20563) 2020-12-27 11:47:33 +01:00
Adam J. Stewart
d8b265ba17 py-toml: add v0.10.2 (#20562) 2020-12-27 11:47:03 +01:00
Robert Underwood
860825ee14 llvm: provide fix for python dependencies (#20356)
Previously compiler-rt didn't correctly passthrough cmake
variables for python when building the various santizers.
This patch passes these variables through.

This patch may also correctly apply to any version of LLVM
to any version of LLVM that uses the newer monorepo style organization,
and any older llvm newer than 7.0.0 as long as the paths were set
appropriately.  However, this was not done so because it was not
tested with older LLVM releases.

Fixes #19908
See also: https://bugs.llvm.org/show_bug.cgi?id=48180
2020-12-26 09:47:37 -06:00
h-denpo
dd06c86559 dpdk: add conflicts('target=aarch64:') (#20550) 2020-12-25 16:43:05 -06:00
Tomoyasu Nojiri
f1d0ec7fc1 molden: Fix for aarch64 (#20549) 2020-12-25 16:41:52 -06:00
kuramoto-fj
d86c345413 PFAPACK: Add new package (#20365)
* PFAPACK: Add new package

* PFAPACK : fix flake8 errors

* add type=(build, run) to the recipe
2020-12-25 09:16:38 -06:00
kuramoto-fj
b56d1a77ad Lis: Add new package (#20548)
* Lis: Add new package

* delete unnecessary inner quotes
2020-12-25 09:15:13 -06:00
Toyohisa Kameyama
1daf6d3df7 openwsman: fix detect python executable (#20317)
* openwsman: fix detect python executable

- use spack's python insted of system's python
- Add variant to use python.
- fix dependency.
- support python2.

* format fixed.

* fix python command.
2020-12-25 09:13:31 -06:00
Tomoyasu Nojiri
a7017f8e38 openfdtd: Add version 2.6.0 (#20460) 2020-12-25 09:12:42 -06:00
Tomoyasu Nojiri
db5c6e8215 openstf: Add version 1.7.0 (#20461) 2020-12-25 09:12:11 -06:00
a-saitoh-fj
637620a408 New package: py-pydmd (#19809)
* New package: py-pydmd

* modified:package.py

* modified: package.py
2020-12-25 00:01:21 -06:00
lorddavidiii
9c03ddbb44 cfitsio: new versions and new url sheme (#20084)
* cfitsio: new versions and new url sheme

* cfitsio: fix version order
2020-12-24 23:59:28 -06:00
Tom Payerle
0150b394d7 mumps: Fix dependency issues in shared licenses (#20197)
See issue #19644
This script makes lib[cdsz]mumps.so explicitly depend on
libmumps_common.so (and libmpiseq.so if ~mpi)
2020-12-24 23:50:27 -06:00
Cameron Stanavige
52e03b5528 unifyfs: dependency changes and new release (#20271)
This updates the UnifyFS packages to account for the latest v0.9.1
release.

Updates required and optional dependencies for the respective
releases.

Locks margo and mercury dependencies at specific versions while
integration with their latest versions is still in progress.
2020-12-24 23:46:11 -06:00
Toyohisa Kameyama
5e0376bb3b openipmi: fix dependency and add version 2.0.29 (#20276)
* openipmi: fix dependency and add version 2.0.29

- Add perl and readline dependency
- fix dependency type
- Fix readline bug in 2.0.27 (d1dd570cf7/)
- Add 2.0.29

* Add patch file.
2020-12-24 23:34:30 -06:00
Asher Mancinelli
09f6bd2a0f adding cce to compilers that patch gdbm (#20353) 2020-12-24 23:07:22 -06:00
Sreenivasa Murthy Kolam
ba62dc3dce fix rocm_3.8.0 build error for rocprim,rocrand,rocfft packages (#20446)
* fix rocm_3.8.0 build error for rocprim,rocrand,rocfft packages

* fix flake8 errors
2020-12-24 22:54:59 -06:00
Joshua S Brown
4c8b773a42 Add pem package file (#20447)
* Add pem package file

* Cleanup formatting

* Replace homepage with url to ReadtheDocs

* Simplify package description
2020-12-24 22:54:23 -06:00
Chuck Atkins
0a32e57e51 mesa: Add missing expat dependency (#20459) 2020-12-24 22:53:01 -06:00
Tomoyasu Nojiri
ac68113406 libjson: Fix install parameters (#20470) 2020-12-24 22:46:47 -06:00
Hadrien G
58cf6d7dbd [acts] Add version 4 (#20472)
* Add acts v4

* Please flake8
2020-12-24 22:45:50 -06:00
Gilles Gouaillardet
c2ce7c65b3 xios: add support for Fujitsu compilers (#20474) 2020-12-24 22:44:56 -06:00
Filippo Spiga
de068f0b52 Adding CUDA 11.2.0 (#20477) 2020-12-24 22:42:47 -06:00
Toyohisa Kameyama
edb25911e8 salmon-tddft: new package. (#20543)
* salmon-tddft: new package.

* remove debug print.

* remove duplicate line.
2020-12-24 22:41:11 -06:00
QuellynSnead
6684cb165a Starting with HDF5 1.10.0, the H5FD_class_t structure has a new (#20529)
"terminate" member.  Initialize it to NULL.
2020-12-24 22:35:19 -06:00
QuellynSnead
c214e4dd2d fftw: PGI compiler has trouble with avx2/avx-512 SIMD support (#20546)
* PGI compiler has trouble with avx2 SIMD support
(https://github.com/FFTW/fftw3/issues/78)

* Hew to the project's preferred indentation standard.

* Expand '%nvhpc' logic to include '%pgi'.

* Exceeded the max line-length.

* Break up the long compound statement into nested if's.

* Inadvertently picked up an extraneous file.

* PGI compiler has trouble with avx2/avx-512 SIMD support, too.
2020-12-24 22:33:57 -06:00
QuellynSnead
e9f0473e26 zoltan: Add PGI runtime libs to LDFLAGS (#20547)
* Add PGI runtime libs to LDFLAGS when '%pgi' in spec.

* Revert "Add PGI runtime libs to LDFLAGS when '%pgi' in spec."

This reverts commit 31c3ef8ea2.

* Add PGI runtime libs to LDFLAGS when '%pgi' in spec.
2020-12-24 22:32:58 -06:00
Kody J. Everson
5add3a2f4d Dropped parametis dependency in 0.82 release (#20481) 2020-12-24 17:32:33 -06:00
Tomoyasu Nojiri
81f91de50e nbdkit: Fix configure arg (#20488) 2020-12-24 17:18:05 -06:00
Tiziano Müller
5d2c09e19e Add libvori and support for libvori (and spglib) in CP2K (#20508)
* packages: initial commit of libvori

* cp2k: add support for libvori

* cp2k: add support for spglib
2020-12-24 17:12:34 -06:00
Mark Olesen
999b35cf5f openfoam: update for version 20.12 (#20533)
Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-12-24 17:05:43 -06:00
a-saitoh-fj
4ef3fb9434 Fixed for merging patches for Fujitsu compiler in version 0.3.13 (#20539) 2020-12-24 17:05:01 -06:00
a-saitoh-fj
9066982168 Update to the latest version (1.6.0) (#20540) 2020-12-24 17:04:04 -06:00
kuramoto-fj
7d267e1440 mptensor: Add new package (#20542) 2020-12-24 16:59:02 -06:00
Tomoyasu Nojiri
b1a6e583c0 babelflow: Add spec (#20544) 2020-12-24 16:54:24 -06:00
Omri Mor
cfbe3aa056 Remove more variables from build environment (#20156)
GCC looks for included files based on several env vars.
Remove C_INCLUDE_PATH, CPLUS_INCLUDE_PATH, and OBJC_INCLUDE_PATH
from the build environment to ensure it's clean and prevent
accidental clobbering.
2020-12-24 16:48:53 -06:00
Alexander Baumgarten
91e106ae7c libgff: new package at version 2.0.0 (#20233)
* libgff: new package at version 2.0.0

* Removed default cmake function, fixed flake8 error

* Fixed errors
2020-12-24 16:48:01 -06:00
Michael Kuhn
2d1c4e4b5d sqlite: add 3.34.0 (#20354) 2020-12-24 16:47:17 -06:00
Dr. Christian Tacke
741a0b498a py-lxml: Add Version 4.6.1 (#20361)
Also switch homepage to https.
2020-12-24 16:46:43 -06:00
Paul R. C. Kent
763fc989c5 New versions: py-sphinxcontrib-bibtex 2.2.0 and py-pybtex-docutils 0.2.2 (#20438)
* Add v2.0.0

* Add 0.2.2

* Improve packages

* No trailing
2020-12-24 16:46:28 -06:00
Brian Van Essen
6c00ebab16 Add lbann cmake flags (#20452)
* Adding support for the CMake flags in LBANN that are missing.

* Added new flag to OpenCV dependency and removed negative variants
since OpenCV no longer turns on everything by default.  Removed CMake
flags in LBANN that have been deprecated.

* Removed type='build' flags from dependencies so that they get linked
into a environment's view.

* Removed type='build' flags from dependencies so that they get linked
into a environment's view.  Fixed DiHydrogen variant to enable
DistConv feature, renamed to +distconv from +legacy.  Added conflicts
line to indicated that DistConv and ROCm don't work with +half
support.

* Fixed Flake8 and cleaned up ordering of variants.

* Flake8

* Backed out changes to not mark and cmake and ninja as build
dependencies, which was introduced to make sure that they appear in
a spack environment.

* Backed out changes to not mark doc related packages as build
dependencies, which was introduced to make sure that they appear
in a spack environment.

* Fixed how recipe communicates the intent to build and run tests to the
package CMake.
2020-12-24 16:46:12 -06:00
Joshua S Brown
ee0ec12603 Add py-ez-setup package file (#20520)
* Add py-ez-setup package file

* Cleanup formatting

* Cleanup formatting take 2
2020-12-24 16:43:15 -06:00
tilne
805cc61036 Update ParallelCluster to v2.10.1 (#20524)
Signed-off-by: Tim Lane <tilne@amazon.com>
2020-12-24 16:42:53 -06:00
zorun
f2c523db1e [gcc] Make ISL optional by adding a +graphite variant (#20531)
Fixes: #20515

Co-authored-by: Baptiste Jonglez <git@bitsofnetworks.org>
2020-12-24 20:17:35 +01:00
zorun
4ef33a4cd7 [gcc] Explicitly disable libs when they are not required (#20532)
This is to make sure that the build system doesn't pick up a library that
would happen to be available.

Co-authored-by: Baptiste Jonglez <git@bitsofnetworks.org>
2020-12-24 19:39:46 +01:00
Greg Becker
6947951aaf bugfix: do not write empty default dicts/lists in envs (#20526)
Environment yaml files should not have default values written to them.

To accomplish this, we change the validator to not add the default values to yaml. We rely on the code to set defaults for all values (and use defaulting getters like dict.get(key, default)).

Includes regression test.
2020-12-23 20:29:38 -08:00
Massimiliano Culpo
91e86f9d0d concretizer: remove vestigial code and comment 2020-12-23 16:40:47 -08:00
Todd Gamblin
1571d6240b style: ensure that all packages pass spack style -a
- fix trailing whitespace and other issues uncovered by better flake8
  checking.

- fix extra whitespace printed by `spack style` command
2020-12-23 16:17:54 -08:00
Robert Cohn
0bb18d8a38 Add Intel oneAPI packages (#20411)
This creates a set of packages which all use the same script to install
components of Intel oneAPI. This includes:

* An inheritable IntelOneApiPackage which knows how to invoke the
  installation script based on which components are requested
* For components which include headers/libraries, an inheritable
  IntelOneApiLibraryPackage is provided to locate them
* Individual packages for DAL, DNN, TBB, etc.
* A package for the Intel oneAPI compilers (icx/ifx). This also includes
  icc/ifortran but these are not currently detected in this PR
2020-12-23 15:39:40 -08:00
Howard Pritchard
88a608a26c papi: patch fortran tests for Cray FTN compiler (#20339)
Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2020-12-23 09:31:19 -06:00
Tom Scogland
857749a9ba add mypy to style checks; rename spack flake8 to spack style (#20384)
I lost my mind a bit after getting the completion stuff working and
decided to get Mypy working for spack as well. This adds a 
`.mypy.ini` that checks all of the spack and llnl modules, though
not yet packages, and fixes all of the identified missing types and
type issues for the spack library.

In addition to these changes, this includes:

* rename `spack flake8` to `spack style`

Aliases flake8 to style, and just runs flake8 as before, but with
a warning.  The style command runs both `flake8` and `mypy`,
in sequence. Added --no-<tool> options to turn off one or the
other, they are on by default.  Fixed two issues caught by the tools.

* stub typing module for python2.x

We don't support typing in Spack for python 2.x. To allow 2.x to
support `import typing` and `from typing import ...` without a
try/except dance to support old versions, this adds a stub module
*just* for python 2.x.  Doing it this way means we can only reliably
use all type hints in python3.7+, and mypi.ini has been updated to
reflect that.

* add non-default black check to spack style

This is a first step to requiring black.  It doesn't enforce it by
default, but it will check it if requested.  Currently enforcing the
line length of 79 since that's what flake8 requires, but it's a bit odd
for a black formatted project to be quite that narrow.  All settings are
in the style command since spack has no pyproject.toml and I don't
want to add one until more discussion happens. Also re-format
`style.py` since it no longer passed the black style check
with the new length.

* use style check in github action

Update the style and docs action to use `spack style`, adding in mypy
and black to the action even if it isn't running black right now.
2020-12-22 21:39:10 -08:00
Harsh Bhatia
a93f6ca619 Add patch to fix bazel build on power9 (#20512)
* fix bazel on power9

* small fix in tensorflow package

* removed import not needed anymore
2020-12-22 16:50:03 -06:00
Todd Gamblin
5f2a821183 concretizer: refactor conditional rules to be less repetitious (#20507)
We have to repeat all the spec attributes in a number of places in
`concretize.lp`, and Spack has a fair number of spec attributes. If we
instead add some rules up front that establish equivalencies like this:

```
    node(Package) :- attr("node", Package).
    attr("node", Package) :- node(Package).

    version(Package, Version) :- attr("version", Package, Version).
    attr("version", Package, Version) :- version(Package, Version).
```

We can rewrite most of the repetitive conditions with `attr` and repeat
only for each arity (there are only 3 arities for spec attributes so far)
as opposed to each spec attribute. This makes the logic easier to read
and the rules easier to follow.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-12-22 19:49:36 +01:00
Ben Bergen
97aa455f14 Patch meson.build llvm config strategy (#20451)
This patch logic resovles a linking issue with ncurses in the mesa
package. This appears to be a recurring problem that was identified in
the mesa gitlab issues here:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/2843

Using `_llvm_method = 'auto'` is broken. This patch replaces that with
`_llvm_method = 'config-tool'`, which is a hack, but makes it possible
to build.

I have commented on the closed issue (2843), referencing the original
author of the bug, and one of the mesa developers, so perhaps they will
fix the problem.
2020-12-22 10:39:56 -07:00
Tom Scogland
c1e4f3e131 Refactor flake8 handling and tool compatibility (#20376)
This PR does three related things to try to improve developer tooling quality of life:

1. Adds new options to `.flake8` so it applies the rules of both `.flake8` and `.flake_package` based on paths in the repository.
2. Adds a re-factoring of the `spack flake8` logic into a flake8 plugin so using flake8 directly, or through editor or language server integration, only reports errors that `spack flake8` would.
3. Allows star import of `spack.pkgkit` in packages, since this is now the thing that needs to be imported for completion to work correctly in package files, it's nice to be able to do that.

I'm sorely tempted to sed over the whole repository and put `from spack.pkgkit import *` in every package, but at least being allowed to do it on a per-package basis helps.

As an example of what the result of this is:

```
~/Workspace/Projects/spack/spack develop* ⇣
❯ flake8 --format=pylint ./var/spack/repos/builtin/packages/kripke/package.py
./var/spack/repos/builtin/packages/kripke/package.py:6: [F403] 'from spack.pkgkit import *' used; unable to detect undefined names
./var/spack/repos/builtin/packages/kripke/package.py:25: [E501] line too long (88 > 79 characters)

~/Workspace/Projects/spack/spack refactor-flake8*
1 ❯ flake8 --format=spack ./var/spack/repos/builtin/packages/kripke/package.py

~/Workspace/Projects/spack/spack refactor-flake8*
❯ flake8 ./var/spack/repos/builtin/packages/kripke/package.py
```

* qa/flake8: update .flake8, spack formatter plugin

Adds:
* Modern flake8 settings for per-path/glob error ignores, allows
  packages to use the same `.flake8` as the rest of spack
* A spack formatter plugin to flake8 that implements the behavior of
  `spack flake8` for direct invocations.  Makes integration with
  developer tooling nicer, linting with flake8 reports only errors that
  `spack flake8` would report.  Using pyls and pyls-flake8, or any other
  non-format-dependent flake8 integration, now works with spack's rules.

* qa/flake8: allow star import of spack.pkgkit

To get working completion of directives and spack components it's
necessary to import the contents of spack.pkgkit.  At the moment doing
this makes flake8 displeased.  For now, allow spack.pkgkit and spack
both, next step is to ban spack * and require spack.pkgkit *.

* first cut at refactoring spack flake8

This version still copies all of the files to be checked as befire, and
some other things that probably aren't necessary, but it relies on the
spack formatter plugin to implement the ignore logic.

* keep flake8 from rejecting itself

* remove separate packages flake8 config

* fix failures from too many files

I ran into this in the PR converting pkgkit to std.  The solution in
that branch does not work in all cases as it turns out, and all the
workarounds I tried to use generated configs to get a single invocation
of flake8 with a filename optoion to work failed.  It's an astonishingly
frustrating config option.

Regardless, this removes all temporary file creation from the command
and relies on the plugin instead.  To work around the huge number of
files in spack and still allow the command to control what gets checked,
it scans files in batches of 100.  This is a completely arbitrary number
but was chosen to be safely under common line-length limits.  One
side-effect of this is that every 100 files the command will produce
output, rather than only at the end, which doesn't seem like a terrible
thing.
2020-12-22 09:28:46 -08:00
Massimiliano Culpo
cde6ffe369 concretizer: optimize loop on compiler version
Similar to the optimization on platform
2020-12-22 00:02:54 -08:00
Massimiliano Culpo
635c6c29fa concretizer: optimized loop on node platforms
We can speed-up the computation by avoiding a
double loop in a cardinality constraint and
enforcing the rule instead as an integrity
constraint.
2020-12-22 00:02:54 -08:00
Paul
32f0bf9057 Corrected Go dependent build environment. (#18493)
* Dependencies of Go will now correctly set the GOPATH for the
  appropriate spec to avoid using the user's default path.
* Bumped version to latest releases(1.15.6 & 1.14.13).
2020-12-21 19:47:53 -06:00
Vicente Bolea
a9925036df ParaView: add new ParaView-5.9.0-RC3 release (#20500)
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-12-21 19:46:01 -06:00
Todd Gamblin
1d8aa34f52 clingo: prefer master branch
Most people installing `clingo` with Spack are going to be doing it to
use the new concretizer, and that requires the `master` branch.

- [x] make `master` the default so we don't have to keep telling people
  to install `clingo@master`. We'll update the preferred version when
  there's a new release.
2020-12-21 16:02:09 -08:00
downloadico
4654a8a557 New package: PMERGE (#20390) 2020-12-21 12:55:22 -08:00
Karen C. Tsai
4a6269319e upstream dependencies changes (#20493)
* update dependencies and cmake options

* add blank line
2020-12-21 12:20:49 -07:00
amd-toolchain-support
e73a65db9a Added support for AOCC compiler 2020-12-21 00:27:37 -08:00
Dr. Christian Tacke
5df6418b64 geant4-vmc: Add version 5-3, switch to https (#20379) 2020-12-20 10:47:53 -06:00
Massimiliano Culpo
19fba3ae06 concretizer: fix failing unit tests 2020-12-20 07:00:46 -08:00
Massimiliano Culpo
72569a0198 concretizer: emit facts for integrity constraints 2020-12-20 07:00:46 -08:00
Massimiliano Culpo
e644255770 concretizer: emit facts for constraints on imposed dependencies 2020-12-20 07:00:46 -08:00
Massimiliano Culpo
d8dc4b141e concretizer: avoid redundant grounding on dependency types 2020-12-20 07:00:46 -08:00
Todd Gamblin
bb78a73ed3 concretizer: move conditional dependency logic into concretize.lp
Continuing to convert everything in `asp.py` into facts, make the
generation of ground rules for conditional dependencies use facts, and
move the semantics into `concretize.lp`.

This is probably the most complex logic in Spack, as dependencies can be
conditional on anything, and we need conditional ASP rules to accumulate
and map all the dependency conditions to spec attributes.

The logic looks complicated, but essentially it accumulates any
constraints associated with particular conditions into a fact associated
with the condition by id. Then, if *any* condition id's fact is True, we
trigger the dependency.

This simplifies the way `declared_dependency()` works -- the dependency
is now declared regardless of whether it is conditional, and the
conditions are handled by `dependency_condition()` facts.
2020-12-20 07:00:46 -08:00
Todd Gamblin
d7fe2d5678 concretizer: spec_clauses should traverse dependencies
There are currently no places where we do not want to traverse
dependencies in `spec_clauses()`, so simplify the logic by consolidating
`spec_traverse_clauses()` with `spec_clauses()`.
2020-12-20 07:00:46 -08:00
Todd Gamblin
87a9e1c951 concretizer: pull _develop_specs_from_env out of main setup loop 2020-12-20 07:00:46 -08:00
Todd Gamblin
950fb0948b concretizer: add #defined statements to avoid warnings.
`version_satisfies/2` and `node_compiler_version_satisfies/3` are
generated but need `#defined` directives to avoid " info: atom does not
occur in any rule head:" warnings.
2020-12-20 07:00:46 -08:00
Massimiliano Culpo
4901728c5b asp: memoize the list of all target_specs to speed-up setup phase (#20473)
* asp: memoize the list of all target_specs to speed-up setup phase

* asp: memoize using a cache per solver object
2020-12-19 07:07:22 -08:00
Tom Scogland
71c77fa8fa minimal zsh completion (#20253)
Since zsh can load bash completion files natively, seems reasonable to just turn this on.
The only changes are to switch from `type -t` which zsh doesn't support to using `type`
with a regex and adding a new arm to the sourcing of the completions to allow it to work
for zsh as well as bash.

Could use more bash/dash/etc testing probably, but everything I've thought to try has
worked so far.

Notes:
* unit-test zsh support, fix issues
Specifically fixed word splitting in completion-test, use a different
method to apply sh emulation to zsh loaded bash completion, and fixed
an incompatibility in regex operator quoting requirements.

* compinit now ignores insecure directories
Completion isn't meant to be enabled in non-interactive environments, so
by default compinit will ask the user if they want to ignore insecure
directories or load them anyway.  To pass the spack unit tests in GH
actions, this prompt must be disabled, so ignore explicitly until a
better solution can be found.

* debug functions test also requires bash emulation
COMP_WORDS is a bash-ism that zsh doesn't natively support, turn on
emulation for just that section of tests to allow the comparison to
work.  Does not change the behavior of the functions themselves since
they are already pinned to sh emulation elsewhere.

* propagate change to .in file

* fix comment and update script based on .in
2020-12-18 17:26:15 -08:00
Jan Ciesko
517413c125 Add spack test support for Qthreads (#20437) 2020-12-18 13:38:40 -08:00
eugeneswalker
2314a20fbd slepc: set --with-arpack-dir correctly (#20463) 2020-12-18 11:03:26 -08:00
Chuck Atkins
8755d577c9 mesa: drop use of shared variant (#20453)
Mesa no longer supports building static libraries so it doesn't
even make sense to add the variant.
2020-12-18 09:58:51 -06:00
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
Tamara Dahlgren
d67ca265a3 outputs: restore default output of fetch/build/total times (#20394) 2020-12-15 01:46:30 -08:00
Massimiliano Culpo
e7f4c2b49e package sanity: ensure all variant defaults are allowed values (#20373) 2020-12-15 10:22:15 +01:00
Tamara Dahlgren
c6c1af4969 Bugfix: Correct the git URL (#20391) 2020-12-14 19:11:06 -08:00
Vicente Bolea
e3fa8d9f52 ParaView: add new ParaView-5.9.0-RC2 release (#20222)
* ParaView: add new ParaView-5.9.0-RC2 release

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>

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

Indeed, I misunderstood the previous review. This looks good to me too.

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-12-14 15:23:50 -06:00
Ryan Mast
86ae63b648 bazel: add latest versions up to 3.7.1 (#20355) 2020-12-14 12:27:38 -06:00
Tim Haines
7e93240b97 boost: added v1.75.0 (#20366) 2020-12-14 19:20:33 +01:00
Andre Sailer
d1bebb4d05 mysql: fixed variant mismatch with boost (#20370)
Require boost at cxxstd=14 if cxxstd=14 is selected, not 11
2020-12-14 14:31:57 +01:00
Thomas Gruber
8fd4719291 likwid: Add variant for Nvidia GPU profiling feature (#20337) 2020-12-14 10:20:07 +01:00
Axel Huebl
f0b7be8263 WarpX: PSATD on (#20342)
Enabling PSATD is not mutually exclusive with other runtime options
anymore, so we can always compile with support for it to ease
usability.
2020-12-14 10:15:50 +01:00
Brian Van Essen
b7aea9f3b1 Propagate cuda_arch downstream from LBANN, Hydrogen and DiHydrogen (#20345) 2020-12-14 10:14:49 +01:00
Ryan Mast
fc8c07df2f gradle: updated versions up to v6.7.1 (#20358) 2020-12-14 10:03:00 +01:00
Todd Gamblin
495e8cfb8e concretizer: remove clingo command-line driver (#20362)
I was keeping the old `clingo` driver code around in case we had to run
using the command line tool instad of through the Python interface.

So far, the command line is faster than running through Python, but I'm
working on fixing that.  I found that if I do this:

```python
control = clingo.Control()
control.load("concretize.lp")
control.load("hdf5.lp")       # code from spack solve --show asp hdf5
control.load("display.lp")

control.ground([("base", [])])
control.solve(...)
```

It's just as fast as the command line tool. So we can always generate the
code and load it manually if we need to -- we don't need two drivers for
clingo. Given that the python interface is also the only way to get unsat
cores, I think we pretty much have to use it.

So, I'm removing the old command line driver and other unused code. We
can dig it up again from the history if it is needed.
2020-12-14 09:35:53 +01:00
takanori-ihara
5c43be7694 libmaus2: new package at v2.0.767 (#20300) 2020-12-14 09:29:58 +01:00
Tomoyasu Nojiri
12c8be73b3 wps: fix build for aarch64 (#20363) 2020-12-14 09:18:19 +01:00
Ben Cowan
cf37e9276d Debugging support: fix compiler wrapper log on Mac OS (#20333)
This fixes a logging error observed on macOS 11.0.1 (Big Sur).
When performing a Spack install in debugging mode (e.g.
`spack -d install py-scipy`) Spack is supposed to write a log of
compiler wrapper command line invocations to the current working
directory.

Due to a regression error introduced by #18205, these files were
no-longer generated, and Spack was printing errors such as
"No such file or directory: None/." This is because the log file
directory gets set from `spack.main.spack_working_dir`, but that
variable is not set in the spawned process.

This PR ensures that the working directory (at the time of the
"spack install" invocation) is persisted to the subprocess.
2020-12-11 15:54:11 -08:00
yellowhat
0924b20984 fio: added v3.25 (#20302) 2020-12-11 15:16:28 +01:00
vvolkl
e6f2fa34d0 dd4hep: added v01-15, edm4hep variant and updated url_for_version (#20304) 2020-12-11 15:15:41 +01:00
Levi Baber
d55dfe07d9 albert: added v4.0a (#20306) 2020-12-11 14:35:50 +01:00
Dr. Christian Tacke
3be8a5e007 root: added v6.22.06 (#20309) 2020-12-11 14:23:46 +01:00
vvolkl
047bf4d902 prmon: added v2.1.1 (#20318) 2020-12-11 11:27:28 +01:00
Christian Kniep
e4bb85cd27 Add amazonlinux (x86/arm) dockerfile (#20320)
Co-authored-by: Christian Kniep <kniec@amazon.com>
2020-12-11 11:11:33 +01:00
Desmond Orton
ea7d14af10 py-dadi: added new package at v2020-12-02 (#20314) 2020-12-11 10:26:01 +01:00
Ryan Marcellino
9721e0fdec openjdk: bump version 1.8 and 11 (#20315) 2020-12-11 10:24:25 +01:00
QuellynSnead
dcfd22cca9 caliper: add a variant to enable Fortran support (#20332) 2020-12-11 10:10:21 +01:00
manifest
955a5c0fc8 py-angel: new package at v3.0 (#20331) 2020-12-11 10:02:18 +01:00
Adam J. Stewart
207f71246a py-torchvision: add v0.8.2 (#20328) 2020-12-11 09:53:12 +01:00
Adam J. Stewart
28def448ff py-torch: add v1.7.1 (#20327) 2020-12-11 09:52:51 +01:00
Tomoyasu Nojiri
6672278e68 py-pyarrow: fix build for aarch64 (#20335) 2020-12-11 09:37:36 +01:00
Robert Pavel
1728b0ea25 flux: added v0.20.0 and v0.21.0 (#20322)
Fixed hard tab in flux-sched edit and unbound hwloc in flux-core after
testing to better support modern MPIs in spack environments

Verified that flux-core@0.17 is when hwloc@2: became viable
2020-12-11 09:08:02 +01:00
Dr. Christian Tacke
6f6855d437 curl: added v7.64.0, v7.74.0 (#20321) 2020-12-11 09:06:54 +01:00
Tamara Dahlgren
59628cd9e8 Tests: enable re-use of post-install tests in smoke tests (#20298) 2020-12-10 10:35:27 -08:00
Dr. Christian Tacke
6c26203f95 hepmc: Add 2.06.11, switch to https (#20286) 2020-12-10 11:40:02 -05:00
Itaru Kitayama
9bcf99358e Add a new NEST version, 2.20.0. (#20316)
* Add a new NEST version, 2.20.0.

* Scalasca requires Score-P as a 'run' dependency.

Co-authored-by: Itaru Kitayama <itaru.kitayama@riken.jp>
2020-12-10 06:43:16 -06:00
arjun-raj-kuppala
3d568d1553 AMD ROCm Release: Bump up versions(3.9.0 and 3.10.0) for miopen-hip (#20296) 2020-12-10 11:55:07 +01:00
Christoph Junghans
e117e087eb votca-*: add v1.6.3 (#20308) 2020-12-09 15:06:54 -07:00
Filippo Spiga
5b1739da72 Adding NVIDIA HPC SDK 20.11 (#20287) 2020-12-09 09:53:05 -08:00
Filippo Spiga
adbbd6f28f Adding CUDA 11.1.1 (#20289) 2020-12-09 09:47:03 -08:00
arjun-raj-kuppala
8f8f83620d AMD ROCm Release: Bump up migraphx recipe with 3.9.0 and 3.10.0 (#20299) 2020-12-09 09:40:54 -08:00
AMD Toolchain Support
0b62b33d18 Below changes were added to lammps recipe: (#20288)
1) amdfftw library support
 2) opt added in supported packages
2020-12-09 09:36:59 -08:00
Jose E. Roman
af307d3120 New patch release SLEPc 3.14.1 (#20291) 2020-12-09 09:29:24 -08:00
Michael Kuhn
1969af2440 openssl: add 1.1.1i (#20294) 2020-12-09 07:52:15 -05:00
Adam J. Stewart
3f5f80956e Command Reference: add link to spack test docs (#20054) 2020-12-08 09:26:03 -08:00
Tim Moon
90b3f7f259 Make sure py-protobuf package can link to libprotobuf when building (#20280) 2020-12-08 09:52:57 -06:00
lorddavidiii
15fd386a20 arpack-ng: added v3.8.0 (#20270) 2020-12-08 16:37:53 +01:00
Andrew W Elble
a90026fb89 concretizer: try hard to obtain all needed variant_possible_value()'s (#20102)
Track all the variant values mentioned when emitting constraints, validate them
and emit a fact that allows them as possible values.

This modification ensures that open-ended variants (variants accepting any string 
or any integer) are projected to the finite set of values that are relevant for this 
concretization.
2020-12-08 15:46:52 +01:00
Alexander Baumgarten
5dcd0c9076 r-vctrs: added v0.3.5 (#20267) 2020-12-08 14:09:09 +01:00
Adam J. Stewart
0344648149 py-pandas: add v1.1.5 (#20268) 2020-12-08 14:08:36 +01:00
Alexander Baumgarten
09aa1b2092 r-fansi: added v0.4.1 (#20269) 2020-12-08 14:08:11 +01:00
Dan Bonachea
1681c19d04 UPC++: added v2020.11.0 and v2020.10.0 (#20279)
2020.10.0 is the latest stable release, and the preferred version
for general use (when the user does not specify otherwise).

2020.11.0 is a prototype for the memory kinds feature that is also
available when requested.
2020-12-08 11:23:32 +01:00
Tomoki, Karatsu
46ec233a7d ghostscript: limited fujitsu compiler's version to apply patch. (#20281) 2020-12-08 11:05:30 +01:00
Harmen Stoppels
50f8332d95 Compiler wrapper linting (#20249)
* Fix duplicate entries in case
* make sure the arg is not interpreted as two items in a list
* use -n over ! -z
2020-12-07 18:58:19 -08:00
Massimiliano Culpo
98c2627132 bugfix: work around issue handling packages not in any repo 2020-12-07 17:18:33 -08:00
Todd Gamblin
1343a815c0 concretizer: refactor handling of special variants dev_build and patches
Other parts of the concretizer code build up lists of things we can't
know without traversing all specs and packages, and they output these
list at the very end.

The code for this for variant values from spec literals was intertwined
with the code for traversing the input specs. This only covers the input
specs and misses variant values that might come from directives in
packages.

- [x] move ad-hoc value handling code into spec_clauses so we do it in
  one place for CLI and packages

- [x] move handling of `variant_possible_value`, etc. into
  `concretize.lp`, where we can automatically infer variant existence
  more concisely.

- [x] simplify/clarify some of the code for variants in `spec_clauses()`
2020-12-07 17:18:33 -08:00
vvolkl
8035a52f7b edm4hep: added package at v0.3, updated podio at v0.13 (#20241) 2020-12-07 18:58:10 +01:00
vvolkl
ed258ca9e9 Add "spack versions --new" flag to only show new versions (#20030)
* [cmd versions] add spack versions --new flag to only fetch new versions

format

[cmd versions] rename --latest to --newest and add --remote-only

[cmd versions] add tests for --remote-only and --new

format

[cmd versions] update shell tab completion

[cmd versions] remove test for --remote-only --new which gives empty output

[cmd versions] final rename

format

* add brillig mock package

* add test for spack versions --new

* [brillig] format

* [versions] increase test coverage

* Update lib/spack/spack/cmd/versions.py

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

* Update lib/spack/spack/cmd/versions.py

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-12-07 09:29:10 -06:00
ketsubouchi
b4ed4fb226 povray: model mkl dependency correctly (#20265)
Added the correct depends_on directive if the mkl variant is active.
Added conflicts for archs that don't support mkl
2020-12-07 15:45:56 +01:00
Owen Solberg
af9bf816fe py-xopen: added v1.0.1 and v0.8.4 (#20245) 2020-12-07 10:25:53 +01:00
Robert Maynard
039d4a81be VTK-m: update to specify correct requirements to kokkos (#20097) 2020-12-07 10:16:44 +01:00
Martin Oberzalek
a5b3a77741 krb5: added 'shared' variant and support to build static library (#20017)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-12-07 10:13:01 +01:00
Adam J. Stewart
401fe7179f OpenCV: disable variants by default (#20162) 2020-12-07 10:10:28 +01:00
Jacob Merson
1f73c87157 ccls: new package at v0.20201025 (#20251) 2020-12-07 09:53:34 +01:00
Jacob Merson
89c54ff01e spdlog: added versions up to v1.8.1 (#20252) 2020-12-07 09:49:23 +01:00
Paul R. C. Kent
ec3a506414 curl: added v7.73.0 (#20246) 2020-12-07 09:23:02 +01:00
iulian787
bb27b05b24 tempestremap: added new package at v2.0.5, updated moab to v5.2.1 (#20014) 2020-12-07 09:21:32 +01:00
h-denpo
3c2392554b apr: add depends_on ('libuuid', type='link') (#20261) 2020-12-07 09:02:40 +01:00
Sreenivasa Murthy Kolam
0fc36844b0 atmi, rccl: added v3.10.0 (rocm-3.10.0) (#20264) 2020-12-07 08:52:33 +01:00
Massimiliano Culpo
3843f43e69 concretizer: each external version is allowed by definition (#20247)
Registering external versions among the lists of allowed ones
generates the correct rules for `version_satisfies`
2020-12-06 10:29:05 +01:00
perrymil
fbb127c46a raxml-ng: new package at v1.0.1 (#20223) 2020-12-04 22:56:24 +01:00
Ben Morgan
0dd628d0d3 geant4, geant4-data: versions 10.6.3 and 10.7.0 (#20250)
Update geant4-data and individual datasets for Geant4 versions 10.6.3
and 10.7.0.

Update geant4 package with new versions 10.6.3 and 10.7.0. Update
dependencies on CLHEP and VecGeom with versions required for Geant4
10.7.

Add GEANT4_INSTALL_PACKAGE_CACHE=OFF to CMake args for 10.6 onwards.
Prevents install of the "package cahce" file that contains hard-coded
paths for dependencies, improving relocatability. It relies on Spack
setting CMAKE_PREFIX_PATH correctly in build/use environments that
consume the geant4 package.
2020-12-04 13:22:47 -05:00
Harmen Stoppels
984ae7e695 Also allow --rpath as rpath linker flags (#18473) 2020-12-04 12:29:55 -05:00
Massimiliano Culpo
8b74b50cff concretizer: restrict maximizing variant values to MV variants (#20194) 2020-12-04 16:27:03 +01:00
TAKAHASHI Shuuji
98517af024 postgresql: added xml variant (#20224) 2020-12-04 12:27:52 +01:00
arjun-raj-kuppala
321298b115 AMD ROCm - Bump up rocalution with 3.9.0 and 3.10.0 releases (#20243) 2020-12-04 11:23:55 +01:00
Sreenivasa Murthy Kolam
5c0ac61a95 Added v3.10.0 for miopengemm, rocm-opencl and rocm (#20235) 2020-12-04 10:21:10 +01:00
Erik Schnetter
2d3e491845 amrex: constrain cmake if using cuda 11 (#20237)
`cmake @3.17:` is necessary to handle `cuda @11:` correctly. Earlier versions of `cmake` do not know that `cuda @11:` does not support `compute_30` any more, and list that compute capability as supported. This is handled in `cmake`'s file `Modules/FindCUDA/select_compute_arch.cmake`.
2020-12-04 10:16:35 +01:00
Ethan Stam
f391b2e8e5 py-cinemasci: new package at v1.3 (#20239) 2020-12-04 10:13:45 +01:00
Howard Pritchard
61f0f840d4 libtheora: patch for png_sizeof issue (#20240)
See

https://gitlab.freedesktop.org/gstreamer/cerbero/blob/master/recipes/libtheora/0004-examples-Don-t-use-png_sizeof.patch

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-12-04 10:12:44 +01:00
George Hartzell
9afaaa3c25 bowtie2: fix installation prefix (#20205)
The bowtie2 Makefile uses `prefix`, not `PREFIX`, for versions before v2.4.

Credit to @tkameyama

Co-authored-by: george.hartzell <george.hartzell@sana.com>
2020-12-04 09:59:59 +01:00
eugeneswalker
badf3368ad allow install of build-deps from cache via --include-build-deps switch (#19955)
* allow install of build-deps from cache via --include-build-deps switch

* make clear that --include-build-deps is useful for CI pipeline troubleshooting
2020-12-03 15:27:01 -08:00
Matthias Wolf
794b60f7e7 environment installs: fix reporting. (#20004)
PR #15702 changed the invocation of the report context when installing
specs, do the same when building environments.
2020-12-03 15:04:13 -08:00
Greg Becker
d6765fe95d avoid circular import (#20236) 2020-12-03 13:54:09 -08:00
Andrew W Elble
09aae616c7 concretizer: call inject_patches_variants() on the roots of the specs (#20203)
As was done in the old concretizer. Fixes an issue where conditionally
patched dependencies did not show up in spec (gdal+jasper)
2020-12-03 16:28:34 +01:00
Sreenivasa Murthy Kolam
39be60ab92 bump up version for rocm_3.10.0 rel (#20229) 2020-12-03 14:28:51 +01:00
Sreenivasa Murthy Kolam
a1b9a00a13 bumpup the version for rocm-3.10.0 release (#20227) 2020-12-03 12:40:54 +01:00
Danny Taller
e22e037e30 Add CARE package, fixes for ROCmPackage and subclasses (#20070)
* use develop version of blt with fixes for rocm

* package updates for care+rocm

* fixes for plain cpu build

* add camp dependency on raja
2020-12-02 17:07:56 -08:00
Danny Taller
f37adc71f0 fix harmen branch (#20216) 2020-12-02 22:49:24 +01:00
Massimiliano Culpo
05848c87c5 concretizer: try hard to infer the real version of compilers (#20099)
fixes #20055

Compiler with custom versions like gcc@foo are not currently
matched to the appropriate targets. This is because the
version of spec doesn't match the "real" version of the
compiler.

This PR replicates the strategy used in the original
concretizer to deal with that and tries to detect the real
version of compilers if the version in the spec returns no
results.
2020-12-02 20:30:28 +01:00
fcannini
007ff2a6b0 namd: added cuda support (#20143) 2020-12-02 20:22:12 +01:00
Justin S
651bd50d86 py-mikado: new package at 20201016 (#20186) 2020-12-02 20:20:27 +01:00
Desmond Orton
c65090bac1 blast-plus: added v2.11.0 (#20024)
Co-authored-by: Dan Han <las_danhan@iastate.edu>
2020-12-02 20:02:14 +01:00
Andrew W Elble
881c4e87df pmix/openpmix: added v3.2.1 and v3.1.5 (#20087) 2020-12-02 19:36:30 +01:00
Sreenivasa Murthy Kolam
ff4c45289e bump up version for rocm-3.10.0 release (#20214)
* bump up version for rocm-3.10.0 release

* bump up version for rocm-3.10.0

* remove duplicate version addition for 3.9.0

* bump up version for rocm-3.10.0 release

* bump up version for rocm-3.10.0 release

* bump up version for rocm-debug-agent and rocm-dbgapi

* bump up version for rocm-bandwidth-test,rocm-gdb,rocprofiler,roctracer for rocm-3.10.0
2020-12-02 12:33:40 -06:00
Justin S
6d0e8d760a r-loo: added v2.3.1 (#20075) 2020-12-02 19:33:21 +01:00
Adam J. Stewart
80b6b768df G2O: add new package (#20165) 2020-12-02 19:30:26 +01:00
Adam J. Stewart
898ac9f9c2 libqglviewer: build dylib instead of Framework (#20178) 2020-12-02 19:23:31 +01:00
Andrew W Elble
3c25ae5130 py-ucx-py: added new package at v0.16.0 (#20093)
Added also py-pynvml
2020-12-02 19:15:23 +01:00
mic84
5deeff89f3 amrex: added v20.12 (#20200) 2020-12-02 19:05:55 +01:00
Howard Pritchard
d84c59c9a0 libtheora: patch autogen.sh to avoid (#20008)
configure problem when spack runs the configure stage of its build/install pipeline

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-12-02 10:24:37 -06:00
Harmen Stoppels
b0baf42988 Fix hipcc once more (#20095) 2020-12-02 15:58:58 +01:00
Toyohisa Kameyama
e575a38d96 py-tensorlow: use mkdtemp for temporary directory. (#20212) 2020-12-02 08:45:30 -06:00
Ghorban M. Tavakoly
954a3aab62 gdbm: fix link errors with aocc (#20206) 2020-12-02 13:53:29 +01:00
ketsubouchi
d9ccce9689 py-numpy: add fj Fortran library options (#20210) 2020-12-02 13:45:03 +01:00
Massimiliano Culpo
44c1beaf3a boost: disable find_package's config mode for boost prior to v1.70.0 (#20198) 2020-12-02 12:25:57 +01:00
ketsubouchi
47ac7da244 openexr: changed build system to autotools (#20209) 2020-12-02 11:10:47 +01:00
Nichols A. Romero
0d988700ba QMCPACK: added v3.10.0 and updates to package recipe (#20199)
* cuda_arch value must be explictly set.

* QMCPACK LaTeX manual now converted to reStructuredText and directory no longer exists.
2020-12-02 11:07:46 +01:00
Nithin Senthil Kumar
a3005d4a7c mvapich2: added v2.3.5 (#20211)
Co-authored-by: nithintsk <nithintsk@github.com>
2020-12-02 11:01:49 +01:00
Andrew W Elble
0c326e87a9 concretizer: don't optimize emitting version_satisfies() (#20128)
When all versions were allowed a version_satisfies rule was not emitted,
and this caused conditional directives to fail.
2020-12-02 09:53:53 +01:00
AMD Toolchain Support
721fdddde4 namd, charmpp: patch to allow build with AMD Toolchain support (#20083)
Co-authored-by: mohan babu <mohbabul@amd.com>
2020-12-02 09:46:54 +01:00
Jieyang Chen
c0bbf5454c Add smoke test to VTK-m package (#19816)
* add smoke test

* remove whitespaces

* fix minimum version issue

* reorder decorators & replace make with cmake build

* merge cmake build into one line

* reorganize smoke test function

Co-authored-by: Jieyang Chen <chenj3@ornl.gov>
2020-12-01 17:59:44 -06:00
MichaelLaufer
59106c4dec Fixes compile time errors (#20006)
Co-authored-by: michael laufer <michael.laufer@toganetworks.com>
2020-12-01 16:21:19 -06:00
Christian Goll
235558df11 dockerfiles: add dockerfile for opensuse leap 15 (#20091)
* added dockerfile for opensuse leap 15
* updated maintainer info
* Update share/spack/docker/leap-15.dockerfile
* move copies and symlinks after package install
also use ${SPACK_ROOT} for spack calls as
this works with buildah

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-12-01 14:03:35 -08:00
Seth R. Johnson
42ed6e25e1 pugixml: add 1.11 and update variants (#20175) 2020-12-01 14:26:08 -05:00
Tom Payerle
5d248a3c67 New package: py-qsymm (#19455)
* New package: py-qsymm

* py-qsymm: Convert to using tarballs from PyPi instead of git checkouts

* py-qsymm: add missing dependencies

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

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

* py-qsymm: Fix url to use pypi hidden download interface

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-12-01 13:25:12 -06:00
Harmen Stoppels
32e23f5324 mpich: fix autotools deps for mpich 3.3.x (#20176)
Issue is fixed in 3.4.x
2020-12-01 18:46:32 +01:00
Massimiliano Culpo
7c01ba8fea spec: return early from concretization if a spec is already concrete (#20196) 2020-12-01 18:09:14 +01:00
Justin S
b43202f433 mummer4: add 4.0.0rc1 (#20183) 2020-12-01 17:42:15 +01:00
AMD Toolchain Support
ec1eddb6e7 AOCC-2.3.0 is now added to spack (#20089)
* AOCC-2.3.0 is now added to spack

Change-Id: I18fd9606e6fd9a288cc7dc6c6ead11ea17839a7c

* Added flag and version tests for AOCC-2.3.0

* Addressed review comments

Co-authored-by: vkallesh <Vijay-teekinavar.Kallesh@amd.com>
2020-12-01 08:07:58 -06:00
fcannini
2530d53ac6 quantum-espresso: Enables build with Environ library. (#20131) 2020-12-01 10:44:19 +01:00
Massimiliano Culpo
e2033566bf concretizer: remove ad-hoc rule for external packages (#20193)
fixes #20040

Matching compilers among nodes has been prioritized
in #20020. Selection of default variants has been
tuned in #20182. With this setup there is no need
to have an ad-hoc rule for external packages. On
the contrary it should be removed to prefer having
default variant values over more external nodes in
the DAG.
2020-12-01 10:11:40 +01:00
Massimiliano Culpo
7fd777c3d9 concretizer: swap priority of selecting provider and default variant (#20182)
refers #20040

Before this PR optimization rules would have selected default
providers at a higher priority than default variants. Here we
swap this priority and we consider variants that are forced by
any means (root spec or spec in depends_on clause) the same as
if they were with a default value.

This prevents the solver from avoiding expected configurations
just because they contain directives like:

depends_on('pkg+foo')

and `+foo` is not the default variant value for pkg.
2020-12-01 07:45:48 +01:00
Justin S
8edc831e43 r-v8: new package at 3.4.0 (#20056)
* r-v8: new package at 3.4.0

* r-v8: remove duplicate line
2020-11-30 18:10:03 -06:00
Axel Huebl
535acdcdb1 OpenBLAS: More Precise GCC Conflicts (#20101)
* OpenBLAS: More Precise GCC Conflicts

Add more precise GCC conflicts so e.g. GCC 6 and GCC 7.5 don't fail.

* Compact syntax

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-30 18:09:37 -06:00
Chuck Atkins
7d79db2de7 Fix Mesa GLES conflicts (#20184) 2020-11-30 23:54:24 +01:00
George Hartzell
bb9f5d613c Typos: add missing closing parens (#20174) 2020-11-30 10:28:07 -06:00
Adam J. Stewart
868dbb24c1 libQGLViewer: add new package (#20164) 2020-11-30 10:25:40 -05:00
manifest
2072c93dc8 Added bedtools2 v2.29.2 and and py-bedtools versions up to v0.8.0 (#19744) 2020-11-30 15:55:49 +01:00
Adam J. Stewart
2a7a6d472b CMake should be a build dependency (#20160) 2020-11-30 14:55:44 +01:00
Toyohisa Kameyama
87adda1bad bowtie2: change to MakefilePackage and add simde dependency. (#20166) 2020-11-30 14:19:47 +01:00
Harmen Stoppels
8c8e9b71a7 New versions of reframe, singularity and slurm (#20119)
Adds new versions of reframe (3.2, 3.3), singularity (3.7.0) and slurm (20-11-0-1).

Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2020-11-30 14:01:19 +01:00
Chuck Atkins
80624213f4 llvm: conflict for CMake breaking change when treating ASM files as C (#20105) 2020-11-30 13:47:00 +01:00
Kai Torben Ohlhus
e1a35540ee intel-mkl: added v2020.4.304 (#20167)
2020 Update 4, Build date: 21 Oct 2020.
2020-11-30 13:38:59 +01:00
Tim Moon
f139fff796 Hydrogen: disabling CPU half support also disables GPU half support (#20077)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2020-11-30 11:44:37 +01:00
Andrew W Elble
499ada708e kicad: new package (#20074) 2020-11-30 10:43:45 +01:00
h-denpo
7b587bdda3 ffb: Fixed a recipe error when using the Intel compiler. (#20133) 2020-11-30 09:04:14 +01:00
h-denpo
4e3fd2687a r-rpostgresql: update config.guess reusing logic from autotools (#18917) 2020-11-30 08:58:14 +01:00
fcannini
447ba23fac dalton: New package. (#20130) 2020-11-30 08:57:26 +01:00
Andrew W Elble
8130ac3acb gnuradio: add gui support (#20073) 2020-11-30 08:54:55 +01:00
Tom Payerle
1c2424ac29 New package: povray (#20071) 2020-11-30 08:54:05 +01:00
Dave Love
c15755e88d memkind: Add versions :1.10.1 (#20122) 2020-11-30 08:47:45 +01:00
Toyohisa Kameyama
0d25a48a13 py-pyscf: add version 1.7.5. (#20135) 2020-11-30 08:46:38 +01:00
Kai Torben Ohlhus
52986f3b0c octave: add version 6.1.0 (#20168) 2020-11-30 08:38:32 +01:00
Adam J. Stewart
aca8508056 Add libs properties to a few packages (#20163) 2020-11-30 08:34:13 +01:00
Adam J. Stewart
a2d156902b freeglut: prevent linking to system deps (#20161) 2020-11-30 08:31:56 +01:00
Angel de Vicente
08c9a6e2b0 Qt: fix GCC (#19948)
tested only for gcc8.3.0 but should be safe for other compilers
2020-11-29 17:45:41 -05:00
Michael Kuhn
cc53ff162f go: added v1.15.5 and v1.14.12 (#20142) 2020-11-29 20:08:31 +01:00
Geoffrey Oxberry
073e7569db mfem: apply patches from #19452 when mfem@4.1: (#20151)
As part of pull request #19452, a patch method was added to the mfem
package to delete byte order marks from 3 mfem source files. These
files first appeared in a stable release of mfem as of version
4.1. Consequently, attempts to install mfem 3.4 or mfem 4.0 fail
because no files exist at the path arguments of the filter_file
commands used to execute this operation. Decorating the patch method
so it runs only on mfem versions 4.1 and later resolves the errors
that were thrown due to files not found.

This commit adds that decorator.
2020-11-29 20:04:16 +01:00
Michael Kuhn
b96a251c3d librsvg: added v2.50.2 (#20150) 2020-11-29 20:02:44 +01:00
Michael Kuhn
117000f607 node-js: added v15.3.0 and v14.15.1 (#20145) 2020-11-29 20:02:15 +01:00
Michael Kuhn
c473741bea npm: added v6.14.9 (#20146) 2020-11-29 20:01:13 +01:00
Michael Kuhn
1fc687e9f6 rust: Add 1.48.0 (#20149) 2020-11-29 11:39:11 -06:00
vvolkl
bd6b83c81e [catch2] add versions and fix github branch (#20157) 2020-11-29 14:44:34 +01:00
Chuck Atkins
ada781cc8f mesa: Require at least one front-end and back-end to be selected (#20144) 2020-11-29 14:37:45 +01:00
Seth R. Johnson
58babe81e1 Qt: add options to disable docs and gui (#20078)
* Qt: add options to disable docs and gui

- Add `~gui` option for minimal build
- Add `+doc` option to install docs, and attempt to disable the implicit
  llvm dependency if not
- Removes the 'freetype' option which hasn't worked reliably in qt5, as
  many of the gui components implicitly rely on freetype.
- Add and test version 5.15 (and skip qtlocation if disabling opengl)
- Refactor some of the dependency logic

I've tested this on linux with 5.15.2 and 4.8.7 in a couple of different
configurations.

* Address reviewer feedback and correctly disable llvm

* Fix qt doc generation
2020-11-29 02:10:25 +01:00
vvolkl
795611b652 Set default to range-v3~doc (#20153)
This is a more sensible default, I think, as it avoids the doxygen dependency.
2020-11-28 22:17:48 +01:00
Adam J. Stewart
7c26a10de8 py-rosinstall: add new package (#20110) 2020-11-28 11:01:33 -06:00
Adam J. Stewart
6f3bb73dd3 py-rosinstall-generator: add new package (#20109) 2020-11-28 11:01:18 -06:00
Adam J. Stewart
9daed27dc0 py-rosdep: add new package (#20107)
* py-rosdep: add new package

* setuptools needed at run-time

Co-authored-by: Andrew W Elble <aweits@rit.edu>

Co-authored-by: Andrew W Elble <aweits@rit.edu>
2020-11-28 11:01:05 -06:00
Adam J. Stewart
98460b6f47 py-rosdistro: add new package (#20108) 2020-11-27 20:37:15 -06:00
Adam J. Stewart
d49912a8a1 py-rospkg: add new package (#20111)
* py-rospkg: add new package

* setuptools needed at run-time

Co-authored-by: Andrew W Elble <aweits@rit.edu>

Co-authored-by: Andrew W Elble <aweits@rit.edu>
2020-11-27 17:01:36 -06:00
Adam J. Stewart
e2669eddb9 py-catkin-pkg: add new package (#20106)
* py-catkin-pkg: add new package

* setuptools is needed at run-time

Co-authored-by: Andrew W Elble <aweits@rit.edu>

Co-authored-by: Andrew W Elble <aweits@rit.edu>
2020-11-27 14:43:43 -06:00
Adam J. Stewart
77aca8153d py-wstool: add new package (#20115) 2020-11-27 14:43:27 -06:00
Massimiliano Culpo
8dd3797d32 concretizer: treat target ranges in directives correctly (#19988)
fixes #19981

This commit adds support for target ranges in directives,
for instance:

conflicts('+foo', when='target=x86_64:,aarch64:')

If any target in a spec body is not a known target the
following clause will be emitted:

node_target_satisfies(Package, TargetConstraint)

when traversing the spec and a definition of
the clause will then be printed at the end similarly
to what is done for package and compiler versions.
2020-11-27 20:53:39 +01:00
Adam J. Stewart
e6641065af py-vcstool: add new package (#20112) 2020-11-26 18:06:10 -06:00
Adam J. Stewart
d2a83b8318 py-vcstools: add new package (#20114) 2020-11-26 18:05:39 -06:00
Massimiliano Culpo
44665cb4e6 archspec: added support for aocc (#20124) 2020-11-26 16:18:40 +01:00
AMD Toolchain Support
3252fb05fa spack recipe for gromacs with aocc compiler support (#19745)
* spack recipe for gromacs with aocc compiler support

Change-Id: I364aab4a0aa2dcd44bc47eb50c81b2d94c99cfbd

* Removed arch and other associated compilers flags

Added cycle_subcounters variant

Co-authored-by: vkallesh <Vijay-teekinavar.Kallesh@amd.com>
2020-11-26 09:07:56 -06:00
Massimiliano Culpo
03ff89fee6 concretizer: prioritize matching compilers over newer versions (#20020)
fixes #20019

Before this modification having a newer version of a node came
at higher priority in the optimization than having matching
compilers. This could result in unexpected configurations for
packages with conflict directives on compilers of the type:

conflicts('%gcc@X.Y:', when='@:A.B')

where changing the compiler for just that node is preferred to
lower the node version to less than 'A.B'. Now the priority has
been switched so the solver will try to lower the version of the
nodes in question before changing their compiler.
2020-11-26 13:10:48 +01:00
Harmen Stoppels
adccaa7af5 Add cmake 3.19.1 (#20118) 2020-11-26 10:18:22 +01:00
Mark W. Krentel
7e2ce24060 llvm-amdgpu: fix the build for version 3.9.0 (#20029)
* llvm-amdgpu: fix the build for version 3.9.0

Adapt the fix-system-zlib-ncurses.patch for version 3.9.0.  Without
the patch, llvm-amdgpu builds, but then rocm-device-libs fails with
"cannot find -ltinfo."

Tighten the version requirements for cmake according to the
llvm/CMakeLists.txt file.

* Add a conflict for cmake 3.19.0.
2020-11-26 09:32:24 +01:00
Massimiliano Culpo
8991cc4632 concretizer: allow a bool to be passed as argument for tests dependencies (#20082)
refers #20079

Added docstrings to 'concretize' and 'concretized' to
document the format for tests.

Added tests for the activation of test dependencies.
2020-11-26 08:55:17 +01:00
Massimiliano Culpo
983fb11dee concretizer: treat conditional providers correctly (#20086)
refers #20040

This modification emits rules like:

provides_virtual("netlib-lapack","blas") :- variant_value("netlib-lapack","external-blas","False").

for packages that provide virtual dependencies conditionally instead
of a fact that doesn't account for the condition.
2020-11-25 22:03:42 +01:00
Martin Aumüller
b33969598a intel-tbb: patch for arm64 on macOS (#20039)
* intel-tbb: patch for arm64 on macOS

as submitted upstream and used in homebrew

* intel-tbb: check patchable versions

* intel-tbb: avoid patch breakage when 2021.1 is released

2021.1-beta05 would be considered newer than 2021.1
2020-11-25 10:05:50 -06:00
downloadico
8b2c7a6c65 Add the 'exciting' package. (#20060)
* Add the 'exciting' package.
Version 14 (latest available) is defined.
An as-of-yet unpublished patch (dfgather.patch) from the developers is also
included.

* fixed flake8 errors (I *thought* I had already gotten them!  OOPS!)

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

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

* fixed install method to just do the install, and no build method is needed.

* *Actually* added the lapack dependency!

* removed variant from blas dependency

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-25 09:59:35 -06:00
Harmen Stoppels
f40492b7d4 concretizer: remove debug statement (#20085) 2020-11-25 14:09:52 +01:00
Tomoyasu Nojiri
164fc4ee95 powertop: Add depend ncurses (#20080) 2020-11-25 10:15:51 +01:00
Erik Schnetter
408824f365 h5cpp: Correct checksum and build instructions (#20053)
* h5cpp: Correct checksum and build instructions

Closes https://github.com/spack/spack/issues/20046.

* h5cpp: Update to 1.10.4-6

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

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

* h5cpp: Correct formatting

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-24 13:37:29 -06:00
Dr. Christian Tacke
f6549849e5 root: Add 6.22.02, remove preferred label (#20002)
Drop the preferred label from 6.20.x.
Let's just default to the latest (production) version.
2020-11-24 11:08:56 -06:00
Scott Wittenburg
348cbe143c phist needs sbang fix for build script (#20063) 2020-11-24 07:07:34 -08:00
Ricardo Silva
87689f7cc8 sqlcipher: new package at v4.4.1 (#20009)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-11-24 15:54:27 +01:00
Ben Morgan
d9f6ef9df4 clhep: new version 2.4.4.0 (#20066) 2020-11-24 08:53:22 -06:00
Ben Morgan
2c0091df3f vecgeom: new version 1.1.8 (#20067) 2020-11-24 08:32:33 -05:00
vvolkl
28a3b30c53 [root] fix rootfit/roofit variant (#20051)
* [root] fix rootfit/roofit variant

fix typo

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

Co-authored-by: Hadrien G. <knights_of_ni@gmx.com>

Co-authored-by: Hadrien G. <knights_of_ni@gmx.com>
2020-11-24 11:19:10 +00:00
vvolkl
4e35df4b61 [gaudi] clhep is not optional (#20052) 2020-11-24 11:17:28 +00:00
Justin S
c468d6bed2 r-stanheaders: add 2.21.0-6 (#20057) 2020-11-23 20:56:48 -06:00
Andrew W Elble
3f0984e5e1 py-tensorboard: force use of spack's python, force build of ijar (#20059)
(same fix for py-tensorboard-plugin-wit)
2020-11-23 20:56:33 -06:00
Martin Oberzalek
fd07decd27 Also build static library (#20016) 2020-11-23 20:46:14 -06:00
Dmitri Smirnov
aa8dd782cd mysql: Add sasl as dependency for versions <5.7.999 (#20027) 2020-11-23 20:43:37 -06:00
Matthias Diener
617f2ac714 charmpp: fix tests (#20047) 2020-11-23 20:27:55 -06:00
Justin S
aee3b4a1e8 r-bh: add 1.72.0-3 (#20058) 2020-11-23 20:18:14 -06:00
Axel Huebl
01c9f3edc3 pybind11: 2.6.1 (#20061)
Add the latest pybind11 release.
Since release 2.6.0 was a major release with many changes in the
build system, prefer 2.5.0 for now.
2020-11-23 20:12:24 -06:00
Seth R. Johnson
5c623b03b1 flibcpp: update version and deps (#20048) 2020-11-23 10:40:57 -05:00
iulian787
cb4a08b3e0 moab: added v5.2.1, v5.2.0, v5.1.0 (#20010)
Also added maintainers for the package recipe.
2020-11-23 13:17:52 +01:00
vvolkl
fa66d683e4 delphes: updated pre-release version (#20011) 2020-11-23 13:16:14 +01:00
Adam J. Stewart
fb2ac2077d Docs: remove duplication in Command Reference (#20021) 2020-11-23 12:38:34 +01:00
Martin Aumüller
b62401ec8f ispc: external find support, added master branch version (#20033)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-11-23 12:28:11 +01:00
Cyrus Harrison
8a54817d4e vtk-h: added v0.6.6 (#20026) 2020-11-23 11:21:42 +01:00
Martin Aumüller
5088d799eb openscenegraph: remove dependency on Qt for >= 3.5.4 (#20032) 2020-11-23 11:18:41 +01:00
Michael Kuhn
c25f15b7d5 libx11: added v1.7.0 (#20035) 2020-11-23 11:13:33 +01:00
Michael Kuhn
d7db6068c5 libxcb, xcb-proto: added v1.14 versions (#20036)
At least xcb-proto 1.14.1 is only avaiable from the new URL, so change
both to be future-proof.
2020-11-23 11:13:09 +01:00
Martin Aumüller
236796577d botan: added v2.17.0, v2.17.1 and v2.17.2 (#20037) 2020-11-23 11:11:51 +01:00
Martin Aumüller
b490d65f28 recognize macOS 11.1 as big sur (#20038)
Big Sur versions go 11.0, 11.0.1, 11.1 (vs. prior versions that
only used the minor component)

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-11-23 08:37:40 +01:00
Pramod Kumbhar
92d540fde7 Add sionlib and linktest packages (#20034)
* Add sionlib and linktest packages

* fix flake8
2020-11-22 09:22:26 -06:00
Thomas Gruber
4609a126ba Add new release 5.1.0 and change homepage (#20022) 2020-11-21 00:02:08 +01:00
Shahzeb Siddiqui
f30aeb35ae [WIP] nersc e4s pipeline trigger (#19688)
* nersc e4s pipeline trigger

* Update nersc_pipeline.yml

* Update nersc_pipeline.yml
2020-11-20 13:31:25 -08:00
Martin Oberzalek
439b329c38 openldap: enable creation of static libraries (#20013) 2020-11-20 13:51:25 +01:00
psakievich
f613e10f24 Trilinos: Add CUDA relocatable code flag (#19993)
* Add relocatable code flag to trilinos

* Make CUDA RDC and varainat

* adjust default of cuda_rdc
2020-11-19 19:24:42 -05:00
Josh Essman
f92e52cdc8 mfem: Add support for AmgX, fix to version extensions (#19990)
* fix: leading . is not needed in extension kwarg

* mfem: add support for NVIDIA AmgX

fix: proper spacing

* mfem: use conflict to indicate that AmgX is expected to depend on CUDA
2020-11-19 14:03:22 -06:00
Axel Huebl
16d5cc2c99 ADIOS2: ~dataman default (#20003)
Disable dataman by default. It pulls heavy dependencies that are
often not needed for HPC (ZMQ) and it currently does not link
with popular compilers.
2020-11-19 13:56:51 -06:00
Massimiliano Culpo
d6e44b94d6 globalarrays: added v5.8 and earlier, simplified recipe (#19999)
fixes #19966

Global arrays supports GCC 10 since version 5.7.1,
therefore a conflict has been added to avoid old
releases to error at build-time.

Removed the 'blas' and 'lapack' variant since
BLAS and LAPACK are always a dependency, and
if not specified during configure, a version
of these APIs vendored with Global Arrays is
built.

Fixed a few options in configuration.
2020-11-19 11:58:54 -06:00
Brian Van Essen
5015635506 Removed accidental command to not expand the tarball. (#20001) 2020-11-19 11:58:25 -06:00
Dr. Christian Tacke
c417827954 cmake: Add Version 3.19.0 (#19996) 2020-11-19 10:43:52 -06:00
Sreenivasa Murthy Kolam
e75b76f433 bump up version for rocm 3.9.0 (#19995) 2020-11-19 07:40:24 -06:00
Toyohisa Kameyama
1522d1fac6 simde: New package (#19992)
* simde: New package

* remove 0.5.0.
2020-11-19 07:38:50 -06:00
Nithin Senthil Kumar
5129d84304 mvapich2: extended the fabrics variant description (#19860)
The point of this variant is to give the end user an option to use system
installed fabrics such as mofed instead of upstream fabrics such as rdma-core.
This was found to avoid run time errors on some systems.

Co-authored-by: nithintsk <nithintsk@github.com>
2020-11-19 13:47:57 +01:00
Adam J. Stewart
14a9359395 spack debug report: print concretizer (#19983) 2020-11-19 11:12:28 +01:00
Tomoki, Karatsu
8f3594564c fujitsu compiler: added / fixed support for compiler flags (#19967)
Added flags for:
- Debug symbols
- C++17 standard

Fixed the list of flags for generic optimizations
2020-11-19 11:09:34 +01:00
Michael Kuhn
1b7a5e53a6 clang/llvm: fix version detection (#19978)
This PR fixes two problems with clang/llvm's version detection. clang's
version output looks like this:

```
clang version 11.0.0
Target: x86_64-unknown-linux-gnu
```

This caused clang's version to be misdetected as:

```
clang@11.0.0
Target:
```

This resulted in errors when trying to actually use it as a compiler.

When using `spack external find`, we couldn't determine the compiler
version, resulting in errors like this:

```
==> Warning: "llvm@11.0.0+clang+lld+lldb" has been detected on the system but will not be added to packages.yaml [reason=c compiler not found for llvm@11.0.0+clang+lld+lldb]
```

Changing the regex to only match until the end of the line fixes these
problems.

Fixes: #19473
2020-11-19 11:06:45 +01:00
Michael Kuhn
dd54cb4c7a llvm: add missing pkgconfig dependency (#19982)
When building llvm with CUDA support, it needs to find libffi. Without
pkg-config, libffi will not be found.
2020-11-19 10:34:13 +01:00
Brian Van Essen
db9b7a509a cuDNN Refactor to accommodate architecture and CUDA version (#19989)
* Updated the cuDNN recipe to generate the proper version names for only
the arhcitecture that you are on.  This prevents the concretizer from
selecting a source code version that is incompatible with your current
architecture.  Additionally, add constraints to ensure that the
corresponding CUDA version is properly set as well.

* Added maintainer

* Fixed renaming for darwin systems

* Fixed flake8

* Fixed flake8

* Fixed range typo

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

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

* Fixed style issues

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-18 22:56:39 -06:00
eugeneswalker
a2801a1384 openblas@0.3.11 conflicts with gcc less than 8.3.0 (#19975) 2020-11-18 22:52:31 -06:00
Andreas Baumbach
cb22bcf6f1 drop unnecessary tk dependency of py-git-review (#19969)
* seems to have been introduced errorously by users using gitk-based
  workflows. This should be handled by the git package
* fixes build problems on OSX bigsur
2020-11-18 22:51:47 -06:00
t-nojiri
c9aac3e221 openloops: Fix for aarch64 (#19965) 2020-11-18 22:49:04 -06:00
arjun-raj-kuppala
a680df8453 AMD ROCm 3.9.0 release: Bump up version for aomp, roctracer-dev (#19957)
* AMD ROCm 3.9.0 release: Bump up version for aomp, roctracer-dev and updates to hip/hip-rocclr

* Update package.py
2020-11-18 22:47:10 -06:00
Matthias Diener
932f128bc8 charmpp: various fixes (#19956)
* charmpp: various fixes

- change URLs to https
- address deprecated/renamed versions
- make it build with the cmake build system

* flake8

* Apply suggestions from code review

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-18 22:45:57 -06:00
Adam J. Stewart
95f5419502 py-ipykernel: fix bug in phase method (#19986)
* py-ipykernel: fix bug in phase method

* Fix bug in executable calling
2020-11-18 18:45:29 -08:00
Enrico Usai
bc5c475909 aws-parallelcluster: 2.10.0 release (#19976)
Updated boto3 dependency and removed useless comments.
2020-11-18 19:27:04 -06:00
Greg Becker
10f784338b fix error handling for spack test results command (#19987) 2020-11-18 16:16:34 -08:00
Danny Taller
3b9155239b hip support for umpire, chai, raja, camp (#19715)
* create HipPackage base class and do some refactoring

* comments and added conflict to raja for openmp with hip
2020-11-18 11:52:21 -08:00
Cyrus Harrison
676d68a979 add 0.6.0 conduit release and update for branch changes (#19696) 2020-11-18 12:34:14 -06:00
vvolkl
3069631f37 Add "hep" label to high energy physics packages (#19968)
* [hep] add hep tag to relevant packages

* [lcio] add hep label
2020-11-18 17:07:35 +00:00
Dr. Christian Tacke
eca1370abc root: Add +spectrum variant to enable TSpectrum (#19971) 2020-11-18 16:37:37 +00:00
Massimiliano Culpo
b1dc3e787b Merge tag 'v0.16.0' into develop 2020-11-18 15:23:35 +01:00
Axel Huebl
8b431d1774 py-ipykernel: fix install (#19617)
There is a post-install routine in `ipykernel` that needs to be
called for proper registration with jupyter.
2020-11-18 07:34:12 -06:00
Wouter Deconinck
a0a15b5cd0 qt: patch missing includes when +opengl %gcc@10: (#19963) 2020-11-18 07:51:51 -05:00
Todd Gamblin
77d9acb071 update CHANGELOG.md for v0.16.0 2020-11-18 04:22:09 -08:00
Todd Gamblin
82383093ee bump version number to 0.16.0 2020-11-18 04:22:09 -08:00
Massimiliano Culpo
532fc40e94 clingo: add master branch version (#19958)
* updated @master to point to the master branch
* also added a @spack that points to a fixed commit
2020-11-18 04:21:55 -08:00
Michael Kuhn
20367e472d cmd: add spack mark command (#16662)
This adds a new `mark` command that can be used to mark packages as either
explicitly or implicitly installed. Apart from fixing the package
database after installing a dependency manually, it can be used to
implement upgrade workflows as outlined in #13385.

The following commands demonstrate how the `mark` and `gc` commands can be
used to only keep the current version of a package installed:
```console
$ spack install pkgA
$ spack install pkgB
$ git pull # Imagine new versions for pkgA and/or pkgB are introduced
$ spack mark -i -a
$ spack install pkgA
$ spack install pkgB
$ spack gc
```

If there is no new version for a package, `install` will simply mark it as
explicitly installed and `gc` will not remove it.

Co-authored-by: Greg Becker <becker33@llnl.gov>
2020-11-18 03:20:56 -08:00
Greg Becker
77b2e578ec spack test (#15702)
Users can add test() methods to their packages to run smoke tests on
installations with the new `spack test` command (the old `spack test` is
now `spack unit-test`). spack test is environment-aware, so you can
`spack install` an environment and then run `spack test run` to run smoke
tests on all of its packages. Historical test logs can be perused with
`spack test results`. Generic smoke tests for MPI implementations, C,
C++, and Fortran compilers as well as specific smoke tests for 18
packages.

Inside the test method, individual tests can be run separately (and
continue to run best-effort after a test failure) using the `run_test`
method. The `run_test` method encapsulates finding test executables,
running and checking return codes, checking output, and error handling.

This handles the following trickier aspects of testing with direct
support in Spack's package API:

- [x] Caching source or intermediate build files at build time for
      use at test time.
- [x] Test dependencies,
- [x] packages that require a compiler for testing (such as library only
      packages).

See the packaging guide for more details on using Spack testing support.
Included is support for package.py files for virtual packages. This does
not change the Spack interface, but is a major change in internals.

Co-authored-by: Tamara Dahlgren <dahlgren1@llnl.gov>
Co-authored-by: wspear <wjspear@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-18 02:39:02 -08:00
sameershende
b81bbfb6e9 Added -level_zero -rocm -opencl flags and sha256 for TAU v2.30. (#19962)
* Added -level_zero -rocm -opencl flags and sha256 for TAU v2.30.

* Removed the depends_on clause for OpenCL and added a variant for OneAPI level_zero.

* remove depends_on rocm

* remove depends_on rocprofiler

Co-authored-by: eugeneswalker <eugenesunsetwalker@gmail.com>
2020-11-17 19:09:24 -08:00
Massimiliano Culpo
89181f253b Improve warning message for deprecated attributes in "packages.yaml"
The deprecatedProperties custom validator now can accept a function
to compute a better error message.

Improve error/warning message for deprecated properties
2020-11-17 17:34:27 -08:00
Peter Scheibel
c9ad2affcc Documentation: spack load/environments prefix inspections (#19961)
As of #18260, `spack load` and `spack env activate` now use
`prefix_inspections` from the modules configuration to decide
how to modify environment variables.

This updates the modules configuration documentation to describe
how to update environment variables with the `prefix_inspections`
section. This also updates the `spack load` and environments
documentation to refer to the new `prefix_inspections` documentation.
2020-11-17 15:24:00 -08:00
Dr. Christian Tacke
d65f078f66 spack load/environments: allow customization of prefix inspections (#18260)
`spack load` and `spack env activate` now use the prefix inspections
defined in `modules.yaml`. This allows users to customize/override
environment variable modifications if desired.

If no `prefix_inspections` configuration is present, Spack uses the
values in the default configuration.
2020-11-17 14:04:13 -08:00
Massimiliano Culpo
5f636fc317 spack containerize: allow users to customize the base image (#15028)
This PR reworks a few attributes in the container subsection of
spack.yaml to permit the injection of custom base images when
generating containers with Spack. In more detail, users can still
specify the base operating system and Spack version they want to use:

  spack:
    container:
      images:
        os: ubuntu:18.04
        spack: develop

in which case the generated recipe will use one of the Spack images
built on Docker Hub for the build stage and the base OS image in the
final stage. Alternatively, they can specify explicitly the two
base images:

  spack:
    container:
      images:
        build: spack/ubuntu-bionic:latest
        final: ubuntu:18.04

and it will be up to them to ensure their consistency.

Additional changes:

* This commit adds documentation on the two approaches.
* Users can now specify OS packages to install (e.g. with apt or yum)
  prior to the build (previously this was only available for the
  finalized image).
* Handles to avoid an update of the available system packages have been
  added to the configuration to facilitate the generation of recipes
  permitting deterministic builds.
2020-11-17 11:25:13 -08:00
Massimiliano Culpo
7ffad278d3 concretizer: modified weights for providers and matching for externals
This commit address the case of concretizing a root spec with a
transitive conditional dependency on a virtual package, provided
by an external. Before these modifications default variant values
for the dependency bringing in the virtual package were not
respected, and the external package providing the virtual was added
to the DAG.

The issue stems from two facts:
- Selecting a provider has higher precedence than selecting default variants
- To ensure that an external is preferred, we used a negative weight

To solve it we shift all the providers weight so that:
- External providers have a weight of 0
- Non external provider have a weight of 10 or more

Using a weight of zero for external providers is such that having
an external provider, if present, or not having a provider at all
has the same effect on the higher priority minimization.

Also fixed a few minor bugs in concretize.lp, that were causing
spurious entries in the final answer set.

Cleaned concretize.lp from leftover rules.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
ca31f52be3 concretizer: maximize the number of default values used for a single variant
If a the default of a multi-valued variant is set to
multiple values either in package.py or in packages.yaml
we need to ensure that all the values are present in the
concretized spec.

Since each default value has a weight of 0 and the
variant value is set implicitly by the concretizer
we need to add a rule to maximize on the number of
default values that are used.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
9a03fd2834 concretizer: don't require a provider for virtual deps if spec is external
This commit introduces a new rule:

real_node(Package) :- not external(Package), node(Package).

that permits to distinguish between an external node and a
real node that shouldn't trim dependency. It solves the
case of concretizing ninja with an external Python.
2020-11-17 10:04:13 -08:00
Todd Gamblin
44aa94a210 concretizer: spec_clauses() shouldn't emit node_compiler_hard for rule bodies.
`node_compiler_hard()` means that something explicitly asked for a node's
compiler to be set -- i.e., it's not inherited, it's required. We're
generating this in spec_clauses even for specs in rule bodies, which
results in conditions like this for optional dependencies:

In py-torch/package.py:

    depends_on('llvm-openmp', when='%apple-clang +openmp')

In the generated ASP:

    declared_dependency("py-torch","llvm-openmp","build")
      :- node("py-torch"),
         variant_value("py-torch","openmp","True"),
         node_compiler("py-torch","apple-clang"),
         node_compiler_hard("py-torch","apple-clang"),
         node_compiler_version_satisfies("py-torch","apple-clang",":").

The `node_compiler_hard` there means we would have to *explicitly* set
py-torch's compiler to trigger the llvm-openmp dependency, rather than
just letting it be set by preferences. This is wrong; the dependency
should be there regardless of how the compiler was set.

- [x] remove fn.node_compiler_hard() call from spec_clauses when
      generating rule body clauses.
2020-11-17 10:04:13 -08:00
Todd Gamblin
0620d954f5 concretizer: don't generate rules for empty version lists
If the version list passed to one_of_iff is empty, it still generates a
rule like this:

    node_compiler_version_satisfies("fujitsu-mpi", "arm", ":") :- 1 {  } 1.
    1 {  } 1 :- node_compiler_version_satisfies("fujitsu-mpi", "arm", ":").

The cardinality rules on the right and left above are never
satisfiale, and these rules do nothing.

- [x] Skip generating any rules at all for empty version lists.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
2231dfc898 concretizer: add a rule to avoid cycles in the graph of dependencies 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
522be6cadf External packages have a consistent hash across different concretizers 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
5c5a44988e Don't fail if MV variants have a tuple as default value 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
1b0338befb Fixup for target preferences 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
e0ae60edc4 Added unit tests to for regressions on open concretizer bugs 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
63327d1eea Changed clingo options 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
577676106c Reworked optimization rules 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
6baa8157c7 concretizer: set target preference for inheritance from root 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
ccb537479a install: one less concretization when installing from file 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
27bb970a97 Fixed branch after rebase (port to archspec)
TODO: Investigate the need to remove
memoization on Spec.patches (infinite
recursion when testing `__contains__`)
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
930b05fab4 Add unit tests for dependencies being patched by parent 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
e226523aeb concretizer: handle dependencies conditional on other dependencies 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
e7208b1598 tests: verify to handle dependencies conditional on other dependencies 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
d00e8394f8 concretizer: handle conflicts with compiler ranges correctly
As reported, conflicts with compiler ranges were not treated
correctly. This commit adds tests to verify the expected behavior
for the new concretizer.

The new rules to enforce a correct behavior involve:
- Adding a rule to prefer the compiler selected for
  the root package, if no other preference is set
- Give a strong negative weight to compiler preferences
  expressed in packages.yaml
- Maximize on compiler AND compiler version match
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
0a56b7cfd6 Github actions: add CI for ASP based solver 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
7753d58e7e Make all tests pass
Fixed a couple of tests and marked a few xfails
to solve them later.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
8a855ddac5 concretizer: added handling for dev_path variant
This variant is currently either set from command line, in
which case it enters the concretization, or attached from
environment after concretization.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
a0e8ad7a8b concretizer: ensure upfront that variants are valid 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
ae1ef85af5 concretizer: account for test dependencies only when required 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
346beedfd4 Fix installer.py unit tests that check output 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
87c87ff767 Compute the correct package name for hierarchies that change class names 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
116f6b30eb concretizer: handle variants defined through validators
Variant of this kind don't have a list of possible
values encoded in the ASP facts. Since all we have
is a validator the list of possible values just includes
just the default value and possibly the value passed
from packages.yaml or cli.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
ada2fa36a9 concretizer: account for patches variant
This is done after the builder has actually built
the specs, to respect the semantics use with the
old concretizer.

Later we could move this to the solver as
a multivalued variant.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
a1fe88c95b concretizer: ensure that no deprecated spec is being used
This is done after the builder has actually built
the specs, to respect the semantics use with the
old concretizer.

A better approach is to substitute the spec
directly in concretization.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
58683b9e56 conftest: hook the new solver in the config fixture 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
3e4fd64169 concretizer: handle "none" value and '*' wildcard
The "none" variant value cannot be combined with
other values.

The '*' wildcard matches anything, including "none".
It's thus relevant in queries, but disregarded in
concretization.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
8b055ac8d8 Fixed failing unit tests
- The test on concretization of anonymous dependencies
  has been fixed by raising the expected exception.
- The test on compiler bootstrap has been fixed by
  updating the version of GCC used in the test.
  Since gcc@2.0 does not support targets later than
  x86_64, the new concretizer was looking for a
  non-existing spec, i.e. it was correctly trying
  to retrieve 'gcc target=x86_64' instead of
  'gcc target=core2'.
- The test on gitlab CI needed an update of the target
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
c047495981 concretizer: virtual entry in packages.yaml, external modules
This commit adds support for specifying rules in
packages.yaml that refer to virtual packages.

The approach is to normalize in memory each
configuration and turn it into an equivalent
configuration without rules on virtual. This
is possible if the set of packages to be handled
is considered fixed.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
4fe527cd3b concretizer: concretize a virtual root
Before this modification the root of a DAG has to be
a real package. This commit adds rules to concretize
virtual roots.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
1b115e200b concretizer: handle version preferences from packages.yaml 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
9c23ed6484 concretizer: handle target preferences from packages.yaml
The weight of the target used in concretization is, in order:
1. A specific per package weight, if set in packages.yaml
2. Inherited from the parent, if possible
3. The default target weight (always set)
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
67344326c3 concretizer: fixed test on compiler preferences 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
d4b83daa48 concretizer: added logic for preferred variants
If preferred variants are present, they'll
set the default value of a variant. Otherwise
the default value is what is encoded
in package.py
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
81c7cf45e1 concretizer: refine compiler logic
Concrete versions for compilers are respected
verbatim.

Permit to use a non-existing compiler if the
appropriate configuration option has been
set.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
c065245f14 Fixed failing unit tests
- Tests based on TestArchitecture
- Tests on non-buildable external
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
2ea8bd0b19 concretizer: prefer using the same compiler over using newer versions 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
28afdb9530 concretizer: added support for versioned virtual specs 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
48eb50921a concretizer: added rules and code for externals
Generate facts on externals by inspecting
packages.yaml. Added rules in concretize.lp

Added extra logic so that external specs
disregard any conflict encoded in the
package.

In ASP this would be a simple addition to
an integrity constraint:

:- c1, c2, c3, not external(pkg)

Using the the Backend API from Python it
requires some scaffolding to obtain a default
negated statement.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
b92659c3bf package_sanity: fixed wrong string format 2020-11-17 10:04:13 -08:00
Massimiliano Culpo
1cdee03c4b concretizer: add conflict rules from packages
Conflict rules from packages are added as integrity
constraints in the ASP formulation. Most of the code
to generate them has been reused from PyclingoDriver.rules
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
2595b58503 test_noversion_pkg: generalized the error to be caught
The new concretizer and the old concretizer solve constraints
in a different way. Here we ensure that a SpackError is raised,
instead of a specific error that made sense in the old concretizer
but probably not in the new.
2020-11-17 10:04:13 -08:00
Massimiliano Culpo
aaa75b831f compiler constraints: deduplicate the list of compilers before encoding one_of_iff rules
This fixes 8 bugs in test/concretize.py
2020-11-17 10:04:13 -08:00
Todd Gamblin
e56f90c3ef concretizer: add compiler version constraints
Add rules to account for compiler version
constraints in concretize.lp.
2020-11-17 10:04:13 -08:00
Todd Gamblin
115384afbd concretizer: use cardinality constraints for versions
Instead of python callbacks, use cardinality constraints for package
versions. This is slightly faster and has the advantage that it can be
written to an ASP program to be executed *outside* of Spack. We can use
this in the future to unify the pyclingo driver and the clingo text
driver.

This makes use of add_weight_rule() to implement cardinality constraints.
add_weight_rule() only has a lower bound parameter, but you can implement
a strict "exactly one of" constraint using it. In particular, wee want to
define:

    1 {v1; v2; v3; ...} 1 :- version_satisfies(pkg, constraint).
    version_satisfies(pkg, constraint) :- 1 {v1; v2; v3; ...} 1.

And we do that like this, for every version constraint:

    atleast1(pkg, constr) :- 1 {version(pkg, v1); version(pkg, v2); ...}.
    morethan1(pkg, constr) :- 2 {version(pkg, v1); version(pkg, v2); ...}.
    version_satisfies(pkg, constr) :- atleast1, not morethan1(pkg, constr).
    :- version_satisfies(pkg, constr), morethan1.
    :- version_satisfies(pkg, constr), not atleast1.

v1, v2, v3, etc. are computed on the Python side by comparing every
possible package version with the constraint.

Computing things like this has the added advantage that if v1, v2, v3,
etc. comprise *all* possible versions of a package, we can just omit the
rules for the constraint under consideration. This happens pretty
frequently in the Spack mainline.
2020-11-17 10:04:13 -08:00
Todd Gamblin
0ed019d4ef concretizer: first working version with pyclingo interface
- [x] Solver now uses the Python interface to clingo
- [x] can extract unsatisfiable cores from problems when things go wrong
- [x] use Python callbacks for versions instead of choice rules (this may
      ultimately hurt performance)
2020-11-17 10:04:13 -08:00
Todd Gamblin
14ab63f97c concretizer: add a configuration option to use new or old concretizer
- [x] spec.py can call out to the new concretizer
- [x] config.yaml now has an option to choose a concretizer (original, clingo)
2020-11-17 10:04:13 -08:00
Todd Gamblin
2dd06f14f9 concretizer: use repository names, not specs with is_virtual 2020-11-17 10:04:13 -08:00
Todd Gamblin
ac9405a80e concretizer: refactor to support multiple solver backends
There are now three parts:

- `SpackSolverSetup`
  - Spack-specific logic for generating constraints. Calls methods on
    `AspTextGenerator` to set up the solver with a Spack problem. This
    shouln't change much from solver backend to solver backend.

- ClingoDriver
  - The solver driver provides methods for SolverSetup to generates an ASP
    program, send it to `clingo` (run as an external tool), and parse the
    output into function tuples suitable for `SpecBuilder`.
  - The interface is generic and should not have to change much for a
    driver for, say, the Clingo Python interface.

- SpecBuilder
  - Builds Spack specs from function tuples parsed by the solver driver.
2020-11-17 10:04:13 -08:00
Todd Gamblin
5bb83be827 concretizer: set spec constraints correctly for body and head 2020-11-17 10:04:13 -08:00
Todd Gamblin
cd55fd4bd3 concretizer: allow non-default OS, inherit OS along dependencies 2020-11-17 10:04:13 -08:00
Todd Gamblin
51cb49743e tests: add framework to mock targets 2020-11-17 10:04:13 -08:00
Todd Gamblin
43e7255e19 concretizer: split platforms, OS, and targets apart in Python and ASP 2020-11-17 10:04:13 -08:00
Todd Gamblin
cb919c2e39 concretizer: targets are inherited like compilers 2020-11-17 10:04:13 -08:00
Todd Gamblin
afa74ea155 concretizer: change single-letter variables to descriptive names
The original implementation was difficult to read, as it only had
single-letter variable names.  This converts all of them to descriptive
names, e.g., P -> Package, V -> Virtual/Version/Variant, etc.
2020-11-17 10:04:13 -08:00
Todd Gamblin
35ae4c0ddd concretizer: handle compiler existence check settings
To handle unknown compilers propely in tests (and elsewhere), we need to
add unknown compilers from the spec to the list of possible compilers.

Rework how the compiler list is generated and includes compilers from
specs if the existence check is disabled.
2020-11-17 10:04:13 -08:00
Todd Gamblin
3b648c294e concretizer: add initial package existence check 2020-11-17 10:04:13 -08:00
Todd Gamblin
520b71e89b concretizer: handle virtual spec constraints better
Specs like hdf5 ^mpi were unsatisfiable because we added a requierment
for `node("mpi").`.  This can't be resolved because "mpi" is not a
package.

- [x] Introduce `virtual_node()`, which says *some* provider must be in
      the DAG.
2020-11-17 10:04:13 -08:00
Todd Gamblin
3ef7c06a48 concretizer: solve with compiler flags but preserve order
This adds compiler flags to the ASP solve so that we can have conditions
based on them in the solve.  But, it keeps order out of the solve to
avoid unneeded complexity and combinatorial explosions.

The solver determines which flags are on a spec, but the order is
determined by DAG precedence (childrens' flags take precedence over
parents' and are added on the right) and order (order flags were
specified on the command line is respected).

The solver is responsible for determining when to propagate flags, when
to inheit them from other nodes, when to take them from compiler
preferences, etc.
2020-11-17 10:04:13 -08:00
Todd Gamblin
7a1b5ca65e concretizer: add timers around phases 2020-11-17 10:04:13 -08:00
Todd Gamblin
5185ed1d28 concretizer: optimize microarchitectures, constrained by compiler support
Weight microarchitectures and prefers more rercent ones.  Also disallow
nodes where the compiler does not support the selected target.

We should revisit this at some point as it seems like if I play around
with the compiler support for different architectures, the solver runs
very slowly.  See notes in comments -- the bad case was gcc supporting
broadwell and skylake with clang maxing out at haswell.
2020-11-17 10:04:13 -08:00
Todd Gamblin
71726a9b33 concretizer bugfix: require at least one value for multi-value variants
We didn't have a cardinality constraint for multi-valued variants, so the
solver wasn't filling them in.

- [x] add a requirement for at least one value for multi-valued variants
2020-11-17 10:04:13 -08:00
Todd Gamblin
309ae856ab commands: add --json argument to spack solve 2020-11-17 10:04:13 -08:00
Todd Gamblin
cb8ca505ef concretizer: make some rules into facts 2020-11-17 10:04:13 -08:00
Todd Gamblin
810542d4fe concretizer bugfix: all variants need possible values
Variants like `cpu_target` on `openblas` don't have defineed values, but
they have a default.  Ensure that the default is always a possible value
for the solver.
2020-11-17 10:04:13 -08:00
Todd Gamblin
9b1f05df00 concretizer bugfix: fix generations of conditionals for dependencies
Spack was generating the same dependency connstraints twice in the output ASP:

```
declared_dependency("abinit", "hdf5", "link")
    :- node("abinit"),
       variant_value("abinit", "mpi", "True"),
       variant_value("abinit", "mpi", "True").
```

This was because `AspFunction` was modifying itself when called.

- [x] fix `AspFunction` so that every call returns a new object
2020-11-17 10:04:13 -08:00
Todd Gamblin
e31be3da56 concretizer bugfix: *at most* one provider for any virtual 2020-11-17 10:04:13 -08:00
Todd Gamblin
04295f6531 concretizer: optimized for preferred virtuals before recent versions 2020-11-17 10:04:13 -08:00
Todd Gamblin
f365373a3d concretizer: handle compiler preferences with optimization
- [x] Add support for packages.yaml and command-line compiler preferences.
- [x] Rework compiler version propagation to use optimization rather than
  hard logic constraints
2020-11-17 10:04:13 -08:00
Todd Gamblin
1859ff31c9 concretizer: deterministic order for asp output for better diffs
Technically the ASP output order does not matter, but it's hard to diff
two different solve fomulations unless we order it.

- [x] make sure ASP output is emitted in a deterministic order (by
      sorting all hash keys)
2020-11-17 10:04:13 -08:00
Todd Gamblin
36dae9ee05 concretizer: rename --dump to --show 2020-11-17 10:04:13 -08:00
Todd Gamblin
da215b50a3 concretizer: handle package namespaces 2020-11-17 10:04:13 -08:00
Todd Gamblin
4d34363c1d concretizer: handle constraints on dependencies, adjust optimization
This needs more thought, as I am pretty sure the weights are not correct.
Or, at least, I'm not convinced that they do what we want in all cases.
See note in concretize.lp.
2020-11-17 10:04:13 -08:00
Todd Gamblin
db62b00d58 concretizer: handle dependency types 2020-11-17 10:04:13 -08:00
Todd Gamblin
cde10692b0 concretizer: prioritize versions by package pref, newest, preferred, actual
Solver now prefers newer versions like the old concretizer.  Prefer
package preferences from packages.yaml, preferred=True, package
definition, and finally each version itself.
2020-11-17 10:04:13 -08:00
Todd Gamblin
18fba433f6 concretizer: Use "competition" output format to avoid extra parsing
Competition output only prints out one model, so we do not have to
unnecessarily parse all the non-optimal models.  We'll just look at the
best model and bring that in.

In practice, this saves a lot of JSON parsing and spec construction time.
2020-11-17 10:04:13 -08:00
Todd Gamblin
b4e6d9d28e concretizer: handle virtual provider preferences from packages.yaml 2020-11-17 10:04:13 -08:00
Todd Gamblin
36ec66d997 concretizer: use clingo json output instead of text
Clingo actually has an option to output JSON -- use that instead of
parsing the raw otuput ourselves.

This also allows us to pick the best answer -- modify the parser to
*only* construct a spec for that one rather than building all of them
like we did before.
2020-11-17 10:04:13 -08:00
Todd Gamblin
a332981f2f concretizer: require only one provider for any virtual in the DAG 2020-11-17 10:04:13 -08:00
Todd Gamblin
501cb371c9 concretizer: handle variant defaults with optimization
- Instead of using default logic, handle variant defaults by minimizing
  the number of non-default variants in the solution.

- This actually seems to be pretty fast, and it fixes the long-standing
  issue that writing this:

      spack install hdf5 ^mpich

  will fail if you don't specify hdf5+mpi.  With optimization and
  allowing enums to be enumerated, the solver seems to be able to quickly
  discover that +mpi is the only way hdf5 can depend on mpich, and it
  forces the switch to be thrown.
2020-11-17 10:04:13 -08:00
Todd Gamblin
1cab1b1994 concretizer: support conditional dependencies 2020-11-17 10:04:13 -08:00
Todd Gamblin
51af590e64 variants: allow MultiValuedVariants to be constructed incrementally 2020-11-17 10:04:13 -08:00
Todd Gamblin
be10568a6a concretizer: initial support for virtual dependencies
Add initial support for virtual dependencies.  Solver now knows about all
virtuals and can choose one to resolve a dependency.
2020-11-17 10:04:13 -08:00
Todd Gamblin
3f93553a08 concretizer: print out virtuals 2020-11-17 10:04:13 -08:00
Todd Gamblin
8a6207aa70 concretizer: handle versions with choice construct rather than conflicts
Use '1 { version(x); version(y); version(z) } 1.' instead of declaring
conflicts for non-matching versions.  This keeps the sense of version
clauses positive, which will allow them to be used more easily in
conditionals later.

Also refactor `spec_clauses()` method to return clauses that can be used
in conditions, etc. instead of just printing out facts.
2020-11-17 10:04:13 -08:00
Todd Gamblin
6e31430bec concretizer: add another definition pragma.
- single_value_variant may not be defined by the generated program.  Mark
  it to avoid warnings.
2020-11-17 10:04:13 -08:00
Todd Gamblin
a81258663c concretizer: cleanup 2020-11-17 10:04:13 -08:00
Todd Gamblin
6bbc64555b concretizer: use conditional literals for versions. 2020-11-17 10:04:13 -08:00
Todd Gamblin
4288639770 concretizer: mark depends_on/2 defined for solves without dependencies. 2020-11-17 10:04:13 -08:00
Todd Gamblin
60cf3fdb34 concretizer: add basic semantics for compilers
- This handles setting the compiler and falling back to a default
  compiler, as well as providing default values for compilers/compiler
  versions.

- Versions still aren't quite right -- you can't properly override
  versions on compiler specs.
2020-11-17 10:04:13 -08:00
Todd Gamblin
f7dce19754 concretizer: simplify and move architecture semantics into concretize.lp
- Model architecture default settings and propagation off of variants

- Leverage ASP default logic to set architecture to default if it's not
  set otherwise.

- Move logic out of Python and into concretize.lp as first-order rules.
2020-11-17 10:04:13 -08:00
Todd Gamblin
34ea3d20cf concretizer: break output up into easier-to-understand sections 2020-11-17 10:04:13 -08:00
Todd Gamblin
d94d957536 concretizer: simplify and suppress warnings for variant handling
We are relying on default logic in the variant handling in that we set a
default value if we never see `variant_set(P, V, X)`.

- Move the logic for this into `concretize.lp` instead of generating it
  for every package.

- For programs that don't have explicit variant settings, clingo warns
  that variant_set(P, V, X) doesn't appear in any rule head, because a
  setting is never generated.

  - Specifically suppress this warning.
2020-11-17 10:04:13 -08:00
Todd Gamblin
b171ac5050 concretizer: split long lines in ASP programs 2020-11-17 10:04:13 -08:00
Todd Gamblin
573a2612dc concretizer: split main logic program out into files
- Add `concretize.lp` and `display.lp` as independent files
- Dump them instead of embedded strings
2020-11-17 10:04:13 -08:00
Todd Gamblin
8bc1092f41 concretizer: colorize ASP output 2020-11-17 10:04:13 -08:00
Todd Gamblin
3637b611a7 concretizer: move dump logic into solver.asp
- moving the dump logic into spack.solver.asp.solve() allows us to print
  out useful debug info sooner

- prior approach required a successful solve to print out anyhting.
2020-11-17 10:04:13 -08:00
Todd Gamblin
81e187e410 concretizer: first rudimentary round-trip with asp-based solver 2020-11-17 10:04:13 -08:00
Todd Gamblin
c7812f7e10 concretizer: add rudimentary variants with defaults to ASP solve 2020-11-17 10:04:13 -08:00
Todd Gamblin
a8a6d943d6 concretizer: beginnings of solve() command
- `spack solve` command outputs a really basic ASP program that handles
  unconditional dependencies, architecture and versions

- doesn't yet handle conflicts, picking latest versions, preferred
  versions, compilers, etc.

- doesn't handle variants
2020-11-17 10:04:13 -08:00
Todd Gamblin
5b725a37bc repo: Add all_package_classes() method.
- We were able to get names and instances previously
- Add a convenience function to get package classes
2020-11-17 10:04:13 -08:00
Themos Tsikas
72bc6cdf61 Build 7036 of Nag Fortran Compiler (#19954)
updated sha256sum of download .tgz
2020-11-17 11:14:22 -06:00
Robert Underwood
f359664493 include share/pkgconfig in user environments (#19909)
According to the documentation for spack and pkg-config,
$view/share/pkgconfig should also be a valid place to look
for package config files.  This commit ensures that when
spack activate env $dir is called, the environment has this
directory in PKG_CONFIG_PATH.
2020-11-17 11:10:28 -06:00
t-nojiri
7562e53a5a clfft: Fix for aarch64 (#19873)
* clfft: Fix for aarch64

* clfft: Changed the patch application conditions.

* clfft: Changed Patch file
2020-11-17 09:59:14 -06:00
Keita Iwabuchi
8ba0ee7a0e Metall package: add v0.7 (#19950)
* Metall: add version 0.2

* Add Metall v0.3

* Update Metall package to v0.4 and v0.5.

* Metall package: add v0.6

* Metall package: add v0.7
2020-11-17 09:58:36 -06:00
Tamara Dahlgren
6fa6af1070 Support parallel environment builds (#18131)
As of #13100, Spack installs the dependencies of a _single_ spec in parallel.
Environments, when installed, can only get parallelism from each individual
spec, as they're installed in order.  This PR makes entire environments build
in parallel by extending Spack's package installer to accept multiple root
specs.  The install command and Environment class have been updated to use
the new parallel install method.

The specs and kwargs for each *uninstalled* package (when not force-replacing
installations) of an environment are collected, passed to the `PackageInstaller`,
and processed using a single build queue.

This introduces a `BuildRequest` class to track install arguments, and it
significantly cleans up the code used to track package ids during installation.
Package ids in the build queue are now just DAG hashes as you would expect,

Other tasks:

- [x] Finish updating the unit tests based on `PackageInstaller`'s use of
      `BuildRequest` and the associated changes
- [x] Change `environment.py`'s `install_all` to use the `PackageInstaller` directly
- [x] Change the `install` command to leverage the new installation process for multiple specs
- [x] Change install output messages for external packages, e.g.:
       `[+] /usr` -> `[+] /usr (external bzip2-1.0.8-<dag-hash>`
- [x] Fix incomplete environment install's view setup/update and not confirming all 
       packages are installed (?)
- [x] Ensure externally installed package dependencies are properly accounted for in 
       remaining build tasks
- [x] Add tests for coverage (if insufficient and can identity the appropriate, uncovered non-comment lines)
- [x] Add documentation
- [x] Resolve multi-compiler environment install issues
- [x] Fix issue with environment installation reporting (restore CDash/JUnit reports)
2020-11-17 02:41:07 -08:00
Wouter Deconinck
423e80af23 spack edit: accept readonly packages (#19949) 2020-11-16 17:14:46 -08:00
Scott Wittenburg
ef0a555ca2 pipelines: support testing PRs from forks (#19248)
This change makes improvements to the `spack ci rebuild` command
which supports running gitlab pipelines on PRs from forks.  Much
of this has to do with making sure we can run without the secrets
previously required for running gitlab pipelines (e.g signing key,
aws credentials, etc).  Specific improvements in this PR:

Check if spack has precisely one signing key, and use that information
as an additional constraint on whether or not we should attempt to sign
the binary package we create.

Also, if spack does not have at least one public key, add the install
option "--no-check-signature"

If we are running a pipeline without any profile or environment
variables allowing us to push to S3, the pipeline could still
successfully create a buildcache in the artifacts and move on.  So
just print a message and move on if pushing either the buildcache
entry or cdash id file to the remote mirror fails.

When we attempt to generate a pacakge or gpg key index on an S3
mirror, and there is nothing to index, just print a warning and
exit gracefully rather than throw an exception.

Support the use of PR-specific mirrors for temporary binary pkg
storage.  This will allow quality-of-life improvement for developers,
providing a place to store binaries over the lifetime of a PR, so
that they must only wait for packages to rebuild from source when
they push a new commit that causes it to be necessary.

Replace two-pass install with a single pass and the new option:
 --require-full-hash-match.  Doing this also removes the need to
save a copy of the spack.yaml to be copied over the one spack
rewrites in between the two spack install passes.

Work around a mirror configuration issue caused by using
spack.util.executable to do the package installation.

* Update pipeline trigger jobs for PRs from forks

Moving to PRs from forks relies on external synchronization script
pushing special branch names.  Also secrets will only live on the
spack mirror project, and must be propagated to the E4S project via
variables on the trigger jobs.

When this change is merged, pipelines will not run until we update
the "Custom CI configuration path" in the Gitlab CI Settings, as the
name of the file has changed to better reflect its purpose.

* Arg to MirrorCollection is used exclusively, so add main remote mirror to it

* Compute full hash less frequently

* Add tests covering index generation error handling code
2020-11-16 15:16:24 -08:00
vvolkl
ee5ae14a3b [xerces-c] add netaccessor variant, new version (#19927)
* [xerces-c] add netaccessor variant, new version

* [geant4] add xerces-c netaccessor requirement

* [xerces-c] format
2020-11-16 16:12:53 -06:00
Wouter Deconinck
8752fc5872 [pythia6] needs CFLAGS/FFLAGS=-fcommon when %gcc@10: (#19947) 2020-11-16 16:12:20 -06:00
Jordan Ogas
385f5b8c53 node-js add gcc 4.8 conflict (#19945)
* add gcc 4.8 conflict

* commit suggestion

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-16 16:11:26 -06:00
eugeneswalker
81a7ae2c27 llvm: add variant: llvm_dylib (LLVM_BUILD_LLVM_DYLIB:Bool) (#19701) 2020-11-16 14:10:20 -08:00
Phil Tooley
42008e532f WRF: Add version 3.9.1.1 and improve recipe robustness (#19882)
* Add WRF 3.9.1.1 and improve recipe robustness

* Include version 3.9.1.1 as common benchmarking workload
* Fix compilation against recent glibc (detect spack installed libtirpc)
* Detect and handle failed compilation (upstream use make -i)

* WRF: PR changes round 1
fix build jobs
fix maintainers
fix pkgconfig dependency
use Executable to run compile stage
repair some overzealous autoformatting by black

* WRF: make recipe py26 compatible

* wrf: recipe review changes round 2

* more python 26 fixes
2020-11-16 15:56:39 -06:00
Dr. Christian Tacke
8d50427c45 vgm: Switch all URLs to https (#19943) 2020-11-16 13:31:53 -06:00
Hadrien G
c512d0f408 [acts] Add versions 1.2.1 and 2.0.0 (#19936) 2020-11-16 13:28:55 -06:00
Ruben Di Battista
1fb8ae42e0 texlive: Fix install of @live version (#19941)
The unattended install using the pre-compiled binaries (tl-install)
needs a .profile file or it goes in interactive mode blocking the
install process forever
2020-11-16 13:26:31 -06:00
Satish Balay
6142ab56c7 Trilinos: update 13.0.1 (#19944) 2020-11-16 13:55:48 -05:00
Andreas Baumbach
a8fccdbddd add new version py-wavelets@1.1.1 (#19930)
* add new version py-wavelets@1.1.1

* also update dependencies

* Update package.py
2020-11-16 10:41:17 -06:00
t-nojiri
793af74eb4 graphmap: Fix for aarch64 (#19935) 2020-11-16 10:41:00 -06:00
Matthieu Dorier
59d0c17654 Added new versions for the py-attrs package (#19938) 2020-11-16 10:39:49 -06:00
vvolkl
b6843e1a82 [dd4hep] switch to ninja generator to avoid running out of memory … (#19940)
* [dd4hep] switch to ninja generator to avoid running out of memory while compiling ddparsers

* [dd4hep] format
2020-11-16 10:38:50 -06:00
Dr. Christian Tacke
0aa55d426c vmc: Add Version 1-0-p3 (#19942) 2020-11-16 10:36:32 -06:00
Andreas Baumbach
6aaa44c929 add new version py-tifffile@2020.10.1 (#19929)
* add new version py-tifffile@2020.10.1

* also update dependencies

* Update package.py
2020-11-16 10:08:40 -06:00
Tomoki, Karatsu
9c4733ab59 py-numpy: Add Fujitsu Fortran compiler to compiler type. (#19858)
* py-numpy: Add Fujitsu Fortran compiler to compiler type.

py-scipy: Specify Fujitsu to fcompiler types.

* Create patches applicable to each version.
2020-11-16 10:05:45 -06:00
Dr. Christian Tacke
5e904e37bb singularity: added v3.6.4 (#19939) 2020-11-16 13:33:54 +01:00
Adam J. Stewart
3536433c41 macOS: Big Sur reports as either 10.16 or 11.0 (#19900) 2020-11-15 11:54:39 -06:00
Joseph Wang
b218991283 fix a typo in podio package script (#19928) 2020-11-15 11:33:19 -06:00
Xavier Delaruelle
9f24a4b783 environment-modules: add version 4.6.1 (#19926) 2020-11-14 20:24:54 -06:00
Brian Van Essen
55ec18a580 Bugfixes for lbann sw stack (#19903)
* Added guard for setting CUB_DIR to only when cuda variant is true

* Added support for OpenMP on OSX platforms

* Updated the way that LBANN, Hydrogen, and DiHydrogen handle
apple-clang with OpenMP and Clang installed on OS X via brew.

* Fixed bug in spec resolution

* Fixed merge conflict

* Fixed typo

* Fixed flake8
2020-11-14 18:59:12 -06:00
darmac
35511c178b Add new package: druid (#19911) 2020-11-14 09:45:10 -06:00
ilbiondo
e6972c9d37 bpp-phyl-omics package (#19734) 2020-11-14 09:40:49 -06:00
G-Ragghianti
19b26f2938 PAPI package: added cuda and nvml support (#19896)
* Added cuda support

* Added cuda and nvml variants

* Refined version conflict logic.
2020-11-14 09:39:14 -06:00
ilbiondo
d439573c60 bpp-seq-omics package (#19733) 2020-11-14 08:35:27 -06:00
Adam J. Stewart
168dd6d03a Don't use prefix.lib in tcl/tk/glib/etc (#19761) 2020-11-14 12:42:51 +01:00
darmac
cd7c2fca02 nbdkit: new package at v1.23.7 (#19922) 2020-11-14 12:39:13 +01:00
darmac
e549c32033 ncompress: new package at v4.2.4.6 (#19923) 2020-11-14 12:32:15 +01:00
Tomoki, Karatsu
e6b0019271 openblas: fix to build v0.3.11 or later with Fujitsu compiler. (#19853) 2020-11-14 12:29:30 +01:00
darmac
192bede002 libjson: new package at v0.8 (#19921) 2020-11-14 10:41:23 +01:00
darmac
3d6866cc1c iproute2: new package at v5.9.0 (#19920) 2020-11-14 10:28:50 +01:00
darmac
a8cf529791 httping: new package at v2.5 (#19919) 2020-11-14 10:14:47 +01:00
darmac
ec13fe2216 hashcat: new package at v6.1.1 (#19918) 2020-11-14 10:14:12 +01:00
darmac
4a75871d70 argon2: new package at v20190702 (#19917) 2020-11-14 10:04:08 +01:00
darmac
2c43cf5b22 newt: new package at v0.52.21 (#19915) 2020-11-14 09:50:02 +01:00
Antonio Arena
ecc5ef3e7b mathematica : added v12.1.1 (#19842) 2020-11-14 09:47:13 +01:00
Edoardo Aprà
6be5289e56 nwchem: remove patches for v6.6 (no longer supported) (#19906)
Since spack no longer offers NWChem 6.6, there is no need of the patch lines.
2020-11-14 09:45:18 +01:00
darmac
9ba6d485aa ipcalc: new package at v0.2.3 (#19912) 2020-11-14 09:37:04 +01:00
Wouter Deconinck
98ac13619e [gcc] depends_on diffutils (for all versions) (#19907) 2020-11-13 22:07:52 -08:00
Alexander Baumgarten
5f9de810ff Updated STAR to version 2.7.6a (#19904) 2020-11-13 14:59:03 -06:00
Alexander Baumgarten
c0486f6768 Feature/r tximportdata (#19902)
* # FIXME: Add a list of GitHub accounts to
    # FIXME: Add a list of GitHub accounts to
Package for r-tximportData

* Fixed file format / flake8 errors
2020-11-13 14:14:36 -06:00
fodinabor
472c365b58 binutils: Fix checksum for 2.35.1 (#19901)
As noted in #19899 and introduced by #19827
2020-11-13 12:55:58 -06:00
Thomas Madlener
d5b89b422d Add sio and add it as possible dependency for podio (#19875)
Newest podio can use SIO as backend
2020-11-13 12:43:43 -06:00
arjun-raj-kuppala
fbde1abc8c AMD ROCm - HIP update and bump up version to 3.9.0 for rccl,debug agent, hip-rocclr and atmi (#19832)
* AMD - Bumped up version for hip-rocclr, rocm-opencl, rocm-smi-lib

* AMD ROCm - HIP update and bump up version to 3.9.0 for rccl,debug agent, hip-rocclr and atmi

* Update package.py

* Update package.py

* Update package.py

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-13 12:25:57 -06:00
eugeneswalker
3a3bf5387e suite-sparse: mpfr, gmp needed for @5.8.0: (#19898) 2020-11-13 10:12:02 -08:00
Sreenivasa Murthy Kolam
b08744566d bump up version for 3.9.0 (#19894) 2020-11-13 10:59:18 -06:00
t-nojiri
d2673ac56c openfoam: Fix for aarch64 (#19803)
* openfoam: Fix for aarch64

* openfoam: Add comment for openfoam-org
2020-11-13 10:45:42 -06:00
Ganesh Kumar
d40a35e8d7 ROCm 3.9 Stage2 recipe (#19838)
Co-authored-by: root <root@mlseqa-hyd-virt-srv-07.amd.com>
2020-11-12 23:04:19 -06:00
Joseph Schoonover
d346e877ef Add feq-parse package (#19891)
Co-authored-by: Joe Schoonover <joe@fluidnumerics.com>
2020-11-12 22:31:04 -06:00
Tim Haines
a1e9d584e1 binutils: add version 2.35.1 (#19827) 2020-11-12 19:05:24 -06:00
Greg Becker
fafff0c6c0 move sbang to unpadded install tree root (#19640)
Since #11598 sbang has been installed within the install_tree. This doesn’t play
nicely with install_tree padding, since sbang can’t do its job if it is installed in a
long path (this is the whole point of sbang).

This PR changes the padding specification.  Instead of $padding inside paths,
we now have a separate `padding:` field in the `install_tree` configuration.

Previously, the `install_tree` looked like this:

```
    /path/to/opt/spack_padding_padding_padding_padding_padding/
        bin/
            sbang
        .spack-db/
            ...
        linux-rhel7-x86_64/
            ...
```

```
This PR updates things to look like this:

    /path/to/opt/
        bin/
            sbang
        spack_padding_padding_padding_padding_padding/
            .spack-db/
                ...
            linux-rhel7-x86_64/
                ...

So padding is added at the start of all install prefixes *within* the unpadded
root.  The database and all installations still go under the padded root.

This ensures that `sbang` is in the shorted possible path while also allowing
us to make long paths for relocatable binaries.
2020-11-12 16:08:55 -08:00
Peter Scheibel
32bfe0a001 Testing: ensure that all packages can be pickled (#19890)
As of #18205, all packages must be pickle-able to be installed by
Spack.

This adds a test to check that each package can be pickled. If any
package fails to pickle, the test keeps going and collects the names
of all failed packages; it then takes the first one that failed and
attempts to re-pickle it, generating the full stack trace for the
failed pickle attempt.
2020-11-12 15:55:34 -08:00
Peter Scheibel
ca3b912703 run unit tests on 3.8 only for Mac OS vs. both 3.8 and 3.9 (#19889) 2020-11-12 13:22:41 -08:00
Robert Blake
aeafe18b49 openmpi: external detection support (#18600) 2020-11-12 13:03:35 -08:00
Adam J. Stewart
02281a891d MavenPackage: allow additional build args (#19676) 2020-11-12 12:57:49 -08:00
Adam J. Stewart
f46bd411f4 py-cython: python is a link dep (#19768) 2020-11-12 12:53:13 -08:00
Adam J. Stewart
2fc2a4cd2a py-matplotlib: set LIBRARY_PATH to locate link deps (#19855)
* py-matplotlib: set LIBRARY_PATH to locate link deps

* py-matplotlib: add v3.3.3
2020-11-12 12:50:44 -08:00
Adam J. Stewart
37e51eb2a5 OpenSSL: libs may be in lib64 directory (#19862) 2020-11-12 12:45:45 -08:00
vvolkl
72e66bd01f [gaudi] v35r0 (#19878)
* [gaudi] v35r0

* [gaudi] format

* [gaudi] comments from #19878
2020-11-12 14:43:06 -06:00
tcojean
978e85d669 Add smoke tests to Ginkgo. (#19888) 2020-11-12 14:42:34 -06:00
Peter Scheibel
bb42470211 macos: update build process to use spawn instead of fork (#18205)
Spack creates a separate process to do package installation. Different
operating systems and Python versions use different methods to create
it but up until Python 3.8 both Linux and Mac OS used "fork" (which
duplicates process memory, file descriptor table, etc.).

Python >= 3.8 on Mac OS prefers creating an entirely new process
(referred to as the "spawn" start method) because "fork" was found to
cause issues (in other words "spawn" is the default start method used
by multiprocessing.Process). Spack was dependent on the particular
behavior of fork to replicate process memory and transmit file
descriptors.

This PR refactors the Spack internals to support starting a child
process with the "spawn" method. To achieve this, it makes the
following changes:

- ensure that the package repository and other global state are
  transmitted to the child process
- ensure that file descriptors are transmitted to the child process in
  a way that works with multiprocessing and spawn
- make all the state needed for the build process and tests picklable
  (package, stage, etc.)
- move a number of locally-defined functions into global scope so that
  they can be pickled
- rework tests where needed to avoid using local functions

This PR also reworks sbang tests to work on macOS, where temporary
directories are deeper than the Linux sbang limit. We make the limit
platform-dependent (macOS supports 512-character shebangs)

See: #14102
2020-11-12 12:26:23 -08:00
eugeneswalker
81cab3b271 suite-sparse: add deps: mpfr, gmp (#19883) 2020-11-12 11:29:07 -08:00
Morten Kristensen
8cf2806f00 py-vermin: add latest version 1.0.3 (#19886) 2020-11-12 13:23:38 -06:00
Wouter Deconinck
b0d2586f52 [acts] conflicts with %gcc@:7 since @0.23: due to c++17 <charconv> (#19881) 2020-11-12 13:08:12 -06:00
Scott Wittenburg
fbbd71d3d7 Pipelines: Compare target family instead of architecture (#19884)
In compiler bootstrapping pipelines, we add an artificial dependency
between jobs for packages to be built with a bootstrapped compiler
and the job building the compiler.  To find the right bootstrapped
compiler for each spec, we compared not only the compiler spec to
that required by the package spec, but also the architectures of
the compiler and package spec.

But this prevented us from finding the bootstrapped compiler for a
spec in cases where the architecture of the compiler wasn't exactly
the same as the spec.  For example, a gcc@4.8.5 might have 
bootstrapped a compiler with haswell as the architecture, while the 
spec had broadwell.  By comparing the families instead of the architecture
 itself, we know that we can build the zlib for broadwell with the gcc for 
haswell.
2020-11-12 10:46:15 -08:00
Brian Spilner
2a8dba48da new release: cdo-1.9.9 (#19876) 2020-11-12 11:29:57 -06:00
t-nojiri
301b94d338 elpa: Fix for aarch64 (#19872) 2020-11-12 11:24:45 -06:00
Satish Balay
757b74aeff xsdk@0.6.0 (#19846)
Update:
 hypre@2.20.0
 mfem@4.2.0
 superlu-dist@6.4.0
 trilinos@13.0.1
 datatransferkit@3.1-rc2
 petsc@3.14.1
 dealii@9.2.0
 pflotran@xsdk-0.6.0
 alquimia@xsdk-0.6.0
 sundials@5.5.0
 plasma@20.9.20
 magma@2.5.4
 amrex@20.10
 slepc@3.14.0
 omega-h@9.32.5
 strumpack@5.0.0
 pumi@2.2.5
 tasmanian@7.3
 phist@1.9.3
 ginkgo@1.3.0
 py-libensemble@0.7.1
 precice@2.1.1
 butterflypack@1.2.1

New:
 heffte@2.0.0
 slate@2020.10.00

Variants:
 datatransferkit
 heffte
 slate

petsc: enable +cuda
sundials: enable +cuda +trilinos
strumpack: enable +cuda
2020-11-12 11:15:29 -06:00
Desmond
9f7ad82665 Package/r bigalgebra (#19826)
* py-json-get: new package at 1.1.1

* py-json-get: new package at 1.1.1

* r-bigalgebra: new package at 0.8.4

* r-bigalgebra: new package at 0.8.4 with corrections

* Added an additional change to tarball and dependencies

* removing accidentally added file

* Added tarball that uses mirror and removed redundant dependencies

* Fixed version and added dep.

* Updated checksum

* Fixed urls

* Added list_url

Co-authored-by: las_djorton <las_djorton@build.las.iastate.edu>
2020-11-12 11:13:20 -06:00
Pieter Ghysels
d1493fb3d8 SuperLU-Dist: Add CUDA variant (#19847)
* Add CUDA support to superlu-dist

* Use spec['cuda'].libs.directories[0] iso spec['cuda'].prefix.lib
so it works for both lib and lib64

The suggested:
args.append('-DTPL_CUDA_LIBRARIES=' +
            spec['cuda'].libs.ld_flags)
did not work because it does not link with cuBLAS.
2020-11-12 08:57:44 -06:00
Jean-Paul Pelteret
821b195ba4 Fix scalapack build error (#19824) 2020-11-12 08:55:58 -06:00
Satish Balay
a99cc0fac0 kokkos add "graviton" to spack_micro_arch_map (#19869)
* kokkos add "graviton" to spack_micro_arch_map

* also add "graviton2"
2020-11-12 08:55:37 -06:00
Greg Becker
527a81b469 Keep output machine readable using spack find --format in an env (#19698)
Currently, full JSON output is the only machine readable option for `spack find`
in an environment.

`spack find --format` is also designed to be machine readable, but we print extra
headers in environments.

-[x] don't print headers in `spack find` output when in an environment
2020-11-11 22:13:51 -08:00
Dr. Christian Tacke
b9f20c2351 yaml-cpp: Improve shared library building (#19866)
* No version of yaml-cpp in spack can build shared AND
  static libraries at the same time.  So drop the "static"
  variant and let "shared" handle that alone.

  Or in other words: No version handles the
  BUILD_STATIC_LIBS flag.

* The flag for building shared libraries changed from
  BUILD_SHARED_LIBS to YAML_BUILD_SHARED_LIBS at some
  point. So just pass both flags.

* Use the newer define_from_variant.
2020-11-11 20:05:58 -06:00
Satish Balay
33469414a5 fix typo wrt target=graviton (#19865)
* fix typo wrt target=graviton

This fixes spack build on aarch64 box

* update archspec hash
2020-11-11 19:29:13 -06:00
Massimiliano Culpo
e80276cd14 spack env deactivate/spack unload: demote warning message to debug message (#19864) 2020-11-11 12:02:03 -08:00
Dr. Christian Tacke
2929f59c03 msgpack-c: Add Version 3.1.1 (#19863) 2020-11-11 12:27:28 -06:00
Jen Herting
3dab441986 New package: py-cuml (#19474)
* [py-cuml] created template

* [py-cuml] setup phases and added build_directory

* [py-cuml] added dependencies

* [py-cuml] depends on libcumlprims

* [py-cuml] requiring multigpu version

* [py-cuml] figuring out the best way to get concretization to happen cleanly

* [py-cuml] removed singlegpu variat from libcuml

* [py-cuml] depends on py-cudf

* [py-cuml] depends on cupy

* [py-cuml] fixed typoo

* [py-cuml] depends on py-scipy

* [py-cuml] depends on py-treelite

* [py-cuml] py-treelite is now a variant of treelite

* [py-cuml] depends on joblib

* [py-cuml] depends on py-scikit-learn

* [py-cuml] flake8

* [py-cuml] added homepage and description. removed fixmes

* [py-cuml] updated checksum
2020-11-11 12:27:12 -06:00
Adam J. Stewart
d1ca322aef Restore spack checksum verbosity (#19480) 2020-11-11 11:26:17 -06:00
Filippo Spiga
e828641d80 Adding support to build ucx development branch (#18089)
* Enabling build of v1.9.x development branch.

* v1.8.1 is the preferred (stable) version.

* Fixing code style

Co-authored-by: Filippo Spiga <fspiga@nvidia.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-11 10:58:29 -06:00
Jen Herting
b660a2112f New package: libcuml (#19471)
* [libcuml] created template

* [libcuml] set cmake list dir

* [libcuml] added some dependencies

* [libcuml] adding some default cmake args

* [libcuml] depends on nccl

* [libcuml] temporarily disabling cuml prims building

* [libcuml] building internal faiss?

* [libcuml] added dependency treelite

* [libcuml] depends on google_test

* [libcuml] forcing single gpu per: https://github.com/rapidsai/cuml/issues/2528#issuecomment-657675957

* [libcuml] added prims?

* [libcuml] adding libcumlcomms ?

* Revert "[libcuml] adding libcumlcomms ?"

This reverts commit 0e0765b7d4d27bdc01d54d24e8c2f9eac1cb4eb2.

* Revert "[libcuml] added prims?"

This reverts commit d0b1f868ea5e425cc7d1a5ce7adc642258dfc38e.

* [libcuml] added varient single gpu

* [libcuml] removed variant singlegpu

* [libcuml] added homepage and description. removed fixmes

* [libcuml] flake8

* [libcuml] cleaning up leftover commented out code

* [libcuml] updated checksum added ucx dependency
2020-11-11 10:55:57 -06:00
Sreenivasa Murthy Kolam
f5c7a3619a add spack recipe for rocm version of the tensile (#19669)
* add spack recipe for rocm version of the tensile

* fix flake8 error
2020-11-11 10:55:23 -06:00
Greg Becker
229fc11fdb axom: devtools require llvm clang-format (#19740)
* follow-up to previous PR

* build type
2020-11-11 10:54:24 -06:00
vvolkl
2c55d47c1e [podio] set pythonpath correctly (#19779)
* [podio] put python dir in python path

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-11 10:53:56 -06:00
Kai Torben Ohlhus
a6011ccbb7 suite-sparse: add versions 5.8.0 and 5.8.1 (#19812)
Update homepage URL and see release notes:
- https://github.com/DrTimothyAldenDavis/SuiteSparse/releases/tag/v5.8.1
- https://github.com/DrTimothyAldenDavis/SuiteSparse/releases/tag/v5.8.0
2020-11-11 10:53:27 -06:00
t-nojiri
48093350c6 arbor: Add version 0.4 (#19839) 2020-11-11 10:50:32 -06:00
Stephen Hudson
56df3fcbaa Add optional deps mpmath and deap to py-libensemble (#19852) 2020-11-11 10:45:16 -06:00
Keita Iwabuchi
8edd245bb3 Metall package: add v0.6 (#19854)
* Metall: add version 0.2

* Add Metall v0.3

* Update Metall package to v0.4 and v0.5.

* Metall package: add v0.6
2020-11-11 10:43:00 -06:00
t-nojiri
3167aec0ab ace: Add version 6.5.12 (#19856) 2020-11-11 10:42:30 -06:00
Mark Olesen
a90324a5b2 openfoam: remove mplibUSER provisioning (#19861)
- has never been used by the spack package or by the upstream package

Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-11-11 10:38:50 -06:00
Ganesh Kumar
b1ca2a4346 ROCm3.9 recipe for rocblas, hipblas & rocsolver (#19841)
* ROCm3.9 recipe for rocblas, hipblas & rocsolver

* review comments

* review comments

Co-authored-by: root <root@mlseqa-hyd-virt-srv-07.amd.com>
2020-11-11 10:24:25 -06:00
Peter Scheibel
9d5f4f9c6f Binary caching: fix buildcache list (multiple invocations) (#19848)
When invoking "buildcache list" multiple times, the command was
reporting no specs in the cache the second time around. The
presence of an up-to-date index was causing the internal
representation to be left un-initialized.
2020-11-10 23:24:18 -08:00
Justin S
15fbbdea7d soapdenovo2: add 242 (#19849) 2020-11-10 20:12:28 -06:00
Christoph Junghans
f7e3ef1b5c votca-xtp: update deps (#19850) 2020-11-10 15:01:25 -07:00
t-nojiri
dd96a86511 abi-dumper: Add phases (#19807) 2020-11-10 12:53:39 -06:00
Phil Tooley
db5aa927db py-torchvision: gather correct cuda_arch setting from py-torch (#19845)
* py-torchvision: gather correct cuda_arch setting from py-torch dependency

* py-torchvision: remove unneeded variant
2020-11-10 12:28:01 -06:00
Daryl W. Grunau
f7f4171d4e py-scipy: set F90 for all compilers (#19818)
* set F90 when compiling with Intel

* set F90 for all compilers

Co-authored-by: Daryl W. Grunau <dwg@lanl.gov>
2020-11-10 10:52:54 -06:00
Wouter Deconinck
2913903e6a [geant4] depends_on glu when +opengl (#19821) 2020-11-10 10:29:21 +00:00
Greg Becker
0183a51c6c tutorial cmd: fix gpg invocation (#19829) 2020-11-09 21:09:36 -08:00
Adam J. Stewart
228a4d353c Fix minor typo in function comment (#19804) 2020-11-09 20:25:45 -05:00
Adam J. Stewart
65cef0a3ad py-gpytorch: add v1.2.1 (#19796) 2020-11-09 20:24:35 -05:00
h-denpo
d8d0935a24 saga-gis: add "depends_on('libsm', type='link')" (#19805) 2020-11-09 16:46:33 -06:00
Kai Torben Ohlhus
4e2f27141c openblas: Add versions 0.3.11 and 0.3.12 (#19811)
[OpenBLAS 0.3.11](https://github.com/xianyi/OpenBLAS/releases/tag/v0.3.11) and [OpenBLAS 0.3.12](https://github.com/xianyi/OpenBLAS/releases/tag/v0.3.12) were released.
2020-11-09 16:33:54 -06:00
Emir İşman
98e709da3b [docs] getting_started.rst: fix typo (#19815) 2020-11-09 16:31:53 -06:00
Wouter Deconinck
f69643512c [opencascade] depends_on libxext, libxmu, libxt, libxi (#19823)
* [opencascade] depends_on libxmu and libxi

* [opencascade] depends_on libxext and libxt
2020-11-09 16:24:51 -06:00
Satish Balay
01188396da Trilinos: add 13.0.1 (#19822) 2020-11-09 16:06:27 -05:00
Erik Schnetter
9619f77550 spiral: new version 8.2.0 (#19794)
* spiral: new version 8.2.0

* spiral: Sort versions anti-chronologically
2020-11-09 14:32:49 -06:00
Toyohisa Kameyama
52eecad65c py-pygps: new package. (#19774)
* py-pygps: new package.

* fixed url.
2020-11-09 14:32:10 -06:00
Morten Kristensen
a047ea84a3 py-vermin: add latest version 1.0.2 (#19820) 2020-11-09 14:31:21 -06:00
Satish Balay
a0216922f1 add sundials 5.5.0 (#19819)
(with xsdk build fixes, including mkl, superlu-dist)

Co-authored-by: Cody J. Balos <balos1@llnl.gov>
2020-11-09 13:59:55 -06:00
Amjad Kotobi
04fdcbed09 ruby-narray: Added git master branch (#19817) 2020-11-09 13:04:22 -06:00
ilbiondo
740cc4058b tskit package (#19725)
* tskit package

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

I can't see any hard requirement for 3.6:

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

* fixes following PR review

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-09 13:03:09 -06:00
Ethan Stam
e73e7cf0ad ParaView: correct path for PARAVIEW_VTK_DIR (#19770)
* ParaView: correct path for PARAVIEW_VTK_DIR

* Update formatting
2020-11-09 13:02:00 -06:00
Todd Gamblin
4092c90b57 commands: add spack tutorial command (#19808)
Added a command to set up Spack for our tutorial at
https://spack-tutorial.readthedocs.io.

The command does some common operations we need first-time users to do.
Specifically:

- checks out a particular branch of Spack
- deletes spurious configuration in `~/.spack` that might be
  left over from prior parts of the tutorial
- adds a mirror and trusts its public key
2020-11-09 12:47:08 +01:00
Mark Olesen
ac8a07ef4a openfoam / openfoam-org : handle arch naming differences #19777 (#19778)
- issue caused by the openfoam-org internal naming for their
  newly added support for aarch64

Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-11-08 20:26:51 -06:00
Michael Kuhn
0857648313 perl: make 5.32.0 the preferred version (#19799)
Version 5.32.0 has been out for quite a while and Linux distributions
are shipping it. I have also done a rebuild of some common packages with
the new version. Let's make it the preferred version.
2020-11-08 10:54:22 -06:00
Adam J. Stewart
1e35faa932 Bash: add new patches, maintainer (#19798) 2020-11-07 20:13:35 -06:00
mic84
765b4c5d2f amrex: new options names for version > 20.11 (#19769)
* amrex: new options names for version > 20.11

* amrex: change option name DIM -> AMReX_SPACEDIM

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-07 14:10:08 -06:00
Brian Van Essen
9cd0f00607 Added code to help DiHydrogen find cuDNN and CUB (#19783)
* Added code to help DiHydrogen find cuDNN and CUB

* Cleaning up dependencies on CUB and adding guards for when newer
versions of CUDA include CUB and it should be excluded.

* Changed Hydrogen to disable half support by default.

* Have LBANN force Hydrogen and DiHydrogen to build without half when the variant is disabled.

* Added explicit variants to enusre that if LBANN is build without Cuda,
Aluminum, or Half support, it enforces those constraints for Hydrogen
and DiHydrogen.  Cleaned up the use of Python extend versus append in
LBANN and DiHydrogen recipes.

* Fixed Flake8
2020-11-07 14:09:00 -06:00
Michael Kuhn
887bf734e4 fdupes: new package (#19747) 2020-11-07 14:08:15 -06:00
vvolkl
1d7d4a9071 [evtgen] add env var (#19787)
* [evtgen] add env var

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-07 14:06:41 -06:00
Itaru Kitayama
e87266c646 Add the scorep package dependency. (#19742)
Co-authored-by: Itaru Kitayama <itaru.kitayama@riken.jp>
2020-11-06 21:18:49 -06:00
Dr. Christian Tacke
c8b92ef34b fmt: Add Version 7.1.2 (#19756) 2020-11-06 21:12:45 -06:00
Dr. Christian Tacke
3b4558fe6c fairlogger: Add Version 1.9.0 (#19758) 2020-11-06 21:12:19 -06:00
Chen Wang
d085d53ebc New version of Recorder: 2.1.6 (#19760) 2020-11-06 21:11:49 -06:00
eugeneswalker
fbc7cefcf7 make TIMER compatible with LLVM F18 (#19765) 2020-11-06 21:11:13 -06:00
Thomas Madlener
381305da0f [root] fix package definition (#19775) 2020-11-06 21:04:23 -06:00
darmac
1d52bbdf17 Add new package: predixy (#19776) 2020-11-06 21:03:33 -06:00
Andrew W Elble
dcf3d8332a cp2k: fix lmax variant to use tuple (#19780)
* cp2k: fix lmax variant to use tuple

discovered during testing #19501

@dev-zero

* retain conversion to string
2020-11-06 20:58:38 -06:00
Cyrus Harrison
ef9b8da282 add new vtk-h versions (#19785) 2020-11-06 20:53:36 -06:00
eugeneswalker
8dc8155ed5 fast-global-file-status needs elf (#19789) 2020-11-06 20:52:19 -06:00
eugeneswalker
73773ef9f3 spot: add v2.9.4 (#19790) 2020-11-06 20:51:48 -06:00
Michael Kuhn
f447657395 expat: add 2.2.10 (#19791) 2020-11-06 20:51:04 -06:00
Michael Kuhn
d8f2e54ebf py-setuptools: add 50.3.2 (#19792) 2020-11-06 20:50:17 -06:00
Michael Kuhn
010ad6011e glib: add 2.66.2 and 2.64.6 (#19793) 2020-11-06 20:49:21 -06:00
Tom Payerle
07b1ddee23 virtualgl: Change virtual jpeg dependency to libjpeg-turbo dep (#19795)
See #19784

virtualgl CMake system is looking for a specific libjpeg-turbo include
file, not present in libjpeg (currently the only other jpeg provider)
2020-11-06 20:47:09 -06:00
Adam J. Stewart
319c4f2e9e meson: set STRIP on macOS (#19677)
* at-spi2-core: add new version

* Add strip hacks

* meson: set STRIP on macOS
2020-11-07 00:34:47 +01:00
ilbiondo
a3854700fb cget package (#19728)
* cget package

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

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

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-06 16:39:42 -06:00
Frank Willmore
2df73cae38 Mumps oneapi (#19786)
added oneapi compiler to directives for mumps package

Co-authored-by: Frank Willmore <willmore@anl.gov>
2020-11-06 13:56:42 -08:00
Andrew W Elble
f59bbf9c3a py-grpcio: workaround build failures pending new release (#19710)
https://github.com/grpc/grpc/pull/24449 grpc/grpc#24248
2020-11-06 15:02:11 -05:00
Jen Herting
1f8ca07f46 New package: code-server (#16076)
* [code-server] created template

* [code-server] installing base server

* [code-server] added description and homepage

* [code-server] removed fixmes

* [code-server] git version > 2 is recommended

* [code-server] added version 3.1.1

* [code-server] flake8

* [code-server] added version 3.4.1

* [code-server] cp() -> install_tree()

* [code-server] removes predefined utilies

* [code-server] ln() -> symlink()
2020-11-06 12:56:45 -06:00
Jen Herting
1b18e8fbad New Package: libcumlprims (#19108)
* [libcumlprims] created template

* [libcumlprims] setting up version urls and added versions

* [libcumlprims] added dependencies

* [libcumlprims] installing prebuild binaries

* [libcumlprims] fixing dependencies

* [libcumlprims] trying to fix cumlprims includedir

* [libcumlprims] updated envvar to SPACK_INCLUDE_DIRS

* [libcumlprims] typoo

* [libcumlprims] added homepage and description. removed fixmes

* [libcumlprims] cp -> install_tree

* [libcumlprims] removed unused import

* [libcumlprims] using new version of updating header files env vars

* [libcumlprims] flake8
2020-11-06 12:55:29 -06:00
Adam J. Stewart
3953f6af95 oneDNN: add v1.7 (#19718) 2020-11-06 11:45:33 -06:00
Adam J. Stewart
3c4ee6d3cb py-scipy: add v1.5.4 and master (#19757) 2020-11-06 11:45:14 -06:00
Adam J. Stewart
df3cc079eb GDAL: add v3.2.0 (#19685)
* GDAL: add v3.2.0

* Fix typo: satisfes -> satisfies

Co-authored-by: Andrew W Elble <aweits@rit.edu>

Co-authored-by: Andrew W Elble <aweits@rit.edu>
2020-11-06 11:42:46 -06:00
Adam J. Stewart
e26d01022e py-numpy: add v1.19.4 (#19678) 2020-11-06 11:41:48 -06:00
Sheng Di
2cb676e8d7 add z-checker (#19738)
* revise z-checker's package.py

* add mpi dependency to z-checker

* add one whitespace required by Flake8

* trailing whitespace

Co-authored-by: Sheng Di <sdi1@anl.gov>
2020-11-06 07:48:11 -06:00
Brian Van Essen
f041876470 Added CUB dependency to Aluminum (#19737)
* Added CUB dependency to Aluminum

* Added hash for version 0.6.0

* Added a maintainer field and slight cleanup.

* Cleanup extend versus append
2020-11-05 18:01:49 -06:00
Brian Van Essen
16c8cdaef7 LBANN update HWLOC versions (#19683)
* Updates in LBANN an Aluminum code now allow working with versions
HWLOC 1.11.x and 2.x and up.

* Updating the minimum CMake version to address a pending PR in LBANN
that will require C++17 support and needs CMake to properly separate
the compiler flags from nvcc.

* Clarified the support for different versions of HWLOC in LBANN
2020-11-05 16:28:27 -06:00
Greg Becker
8b96e10ecc Remove hardcoded version numbers from container logic (#19716)
Previously, we hardcoded a list of Spack versions which could be used by the containerize command.

This PR removes that list. It's a maintenance burden when cutting a release, and prevents older versions of Spack from creating containers to be used by newer versions.
2020-11-05 18:59:44 +01:00
ilbiondo
dcd514c321 filtlong package (#19732)
* filtlong package

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-05 11:04:24 -06:00
ilbiondo
4c254c6c9f bamaddrg package (#19729)
* bamaddrg package

* Change version to URL rather than git
2020-11-05 11:02:43 -06:00
Andrew W Elble
08e825f474 kokkos-legacy: fix host_arch/gpu_arch variants (#19754)
'default' specifies a value that is not present in 'values'.
2020-11-05 17:31:11 +01:00
Andrew W Elble
6dc25e7dbf py-pykwalify: fix conflict directive (missing '^') (#19753) 2020-11-05 17:30:32 +01:00
Andrew W Elble
fa7ba11d1a py-quantities: fix conflict directive (missing '^') (#19752) 2020-11-05 17:30:08 +01:00
Andrew W Elble
9bca9611c5 py-flye: fix conflict directive (missing '%') (#19751) 2020-11-05 16:53:24 +01:00
Andrew W Elble
9908e7a590 pfunit: fix conflict directive (missing '+') (#19750) 2020-11-05 16:26:26 +01:00
Andrew W Elble
d7335185e3 heffte: fix conflict directive (missing '^') (#19749) 2020-11-05 16:26:03 +01:00
Adam J. Stewart
09ec3e9268 Update packages.yaml format references in packages (#19741) 2020-11-05 15:44:00 +01:00
Tamara Dahlgren
619eb6c08b bug fix: Display error when curl is missing even in non-debug mode (#19695) 2020-11-04 15:47:08 -08:00
Andrew W Elble
c4b4cd4973 py-llvmlite: fix llvm compatibility version (#19739)
won't build with llvm 11
2020-11-04 15:17:19 -06:00
Chris White
4cd711cb79 Axom: update package (#19717)
* update spack package from axom's main repo

* flake8, plus loop over possible clangformat paths
2020-11-04 14:37:24 -06:00
Jeremy
6f4e2e58c3 10.1 release and various bug fixes for SST packages (#19719) 2020-11-04 12:47:41 -06:00
arjun-raj-kuppala
cc0a585816 AMD - Bumped up version for hip-rocclr, rocm-opencl, rocm-smi-lib (#19721) 2020-11-04 12:44:59 -06:00
Sreenivasa Murthy Kolam
3daa7b7b40 update rocm-bandwidth-test,rocm-dbgapi,rocprofiler for rocm 3.9.0 (#19724)
* update rocm-bandwidth-test,rocm-dbgapi,rocprofiler for rocm 3.9.0

* bump up rocm-gdb for rocm-3.9.0
2020-11-04 12:43:40 -06:00
ilbiondo
ab046403f6 admixtools package (#19727) 2020-11-04 12:37:15 -06:00
Satish Balay
5b02910e9c petsc add version 3.14.1 (#19730) 2020-11-04 12:27:11 -06:00
Veselin Dobrev
5511c29869 New MFEM version: 4.2 (#19684) 2020-11-04 12:26:39 -06:00
Robert Maynard
823a3fa646 Added HIP support to VTK-m package (#19523) 2020-11-04 12:25:17 -06:00
Satish Balay
c2b943c209 Trilinos: fix error when configuring downstream dependency 2020-11-04 11:28:14 -05:00
darmac
44d406a1aa Add new package: abi-compliance-checker (#18737)
* Add new package: abi-compliance-checker

* refine dependencies

* change exuberant-ctags to universal-ctags
2020-11-04 14:37:24 +01:00
Andrew W Elble
efb26bb14f libusb: disable udev (#19713)
* libusb: disable udev

spack has no libudev/systemd package currently

* convert to AutotoolsPackage

* remove spack import
2020-11-03 16:47:38 -06:00
Andrew W Elble
ddd2aa0ffc sirius,spfft: fix defaults for amdgpu_target to be str, not tuple (#19660) 2020-11-03 12:43:16 -06:00
Glenn Johnson
6bcb7128e6 Regenerate patch for gate to include SGE script (#19663)
The previous patch left out the SGE.script file.
2020-11-03 12:42:40 -06:00
Glenn Johnson
4ba7ad5162 New package - gatepet2stir (#19664) 2020-11-03 12:41:47 -06:00
Sreenivasa Murthy Kolam
e93ac1a8bd bump up hsakmt-roct ,hsa-rocr-dev,llvm-amdgpu version for 3.9.0 release (#19668)
* bump up version for 3.9.0 release

* update version of rocminfo for rocm-3.9.0

* bump up rocm-cmake version for rocm-3.9.0

* bump up rocm-smi and rocmdevice-libs for 3.9.0

* bumpup comgr version for rocm_ 3.9.0

* bump rocm-clang-ocl for rocm-3.9.0

* bump hipify-clang for rocm-3.9.0
2020-11-03 12:39:40 -06:00
Andrew W Elble
886ae9a83f speexdsp: fix link dependency on FFT library (#19714)
without this, the library does not have a dependency
on the fft lib it was built with.
2020-11-03 12:36:24 -06:00
Desmond
95d63afa58 Package/py json get (#19689)
* py-json-get: new package at 1.1.1

* py-json-get: new package at 1.1.1

Co-authored-by: las_djorton <las_djorton@build.las.iastate.edu>
2020-11-03 12:35:26 -06:00
Andrew W Elble
b9d12c93ef disable tests to fix build. (#19697) 2020-11-03 12:34:17 -06:00
mic84
001f90f411 amrex: new version 20.11 (#19691)
* amrex: new version 20.11

* Fix formatting issues
2020-11-03 12:33:45 -06:00
Geoffrey Oxberry
2c511a7dd0 new package: fprettify 0.3.6 (#19699) 2020-11-03 12:31:29 -06:00
Andrew W Elble
11fb0e17b0 py-pygobject: new version 3.38.0 (#19709)
fix to allow Gtk and others work from 'import gi' etc.
2020-11-03 12:29:59 -06:00
darmac
cefbc39356 Add new package: libbinio (#19706) 2020-11-03 12:27:45 -06:00
darmac
ffec64ce30 Add new package: jose (#19707) 2020-11-03 12:27:22 -06:00
darmac
b7421c1476 Add new package: libdatrie (#19708) 2020-11-03 12:26:54 -06:00
Daniel Arndt
6492b9a84e Use commit instead of branch as version for dtk 3.1-rc2 (#19712) 2020-11-03 12:25:26 -06:00
Char Aznable
859fbae4fa Trilinos: support cuda, hwloc, Kokkos_ARCH_* and c++ std (#19119) 2020-11-03 12:07:20 -06:00
Elliot Saba
771e8b6294 [julia]: CPU names are LLVM-style, must map across (#19549)
In this case, the `zen2` architecture is unknown; Spack must use the
LLVM-style `znver2` target instead.
2020-11-03 12:04:29 -06:00
Pieter Ghysels
8cc08bd88b Trilinos: Add STRUMPACK dependency (#19560)
* Trilinos: Add STRUMPACK dependency

* break long lines, flake8 cleanup

* Use spec['strumpack'].libs.directories[0]
instead of spec['strumpack'].prefix.lib
because libraries may be in lib or lib64.

Likewise use headers.directories[0] iso prefix.include.

Suggested by adamjstewart
2020-11-03 12:04:12 -06:00
Wouter Deconinck
cd625e5974 [dire] dire is included in pythia8@8300: so dire depends_on adjusted (#19628) 2020-11-03 12:03:48 -06:00
Geoffrey Gunter
125b80d193 range-v3: add version 0.11.0 (#19639)
* range-v3: add version 0.11.0

This release drops support for llvm-3.9 per the release notes.

https://github.com/ericniebler/range-v3/releases/tag/0.11.0

* range-v3: rename 'develop' version to 'master'

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-03 12:03:19 -06:00
Satish Balay
dc3d03ed30 superlu-dist: update to version 6.4.0 (#19682) 2020-11-03 12:02:53 -06:00
Satish Balay
5b33157a45 petsc@3.14 update superlu-dist dependency [keep it open-ended for both petsc and superlu-dist future versions] (#19686) 2020-11-03 12:01:14 -06:00
Satish Balay
294715282a py-petsc4py: add version 3.14.0 (#19681) 2020-11-03 12:00:50 -06:00
Tim Haines
7649186988 Elfutils: added v0.182 (#19700) 2020-11-03 16:37:35 +01:00
darmac
a920ef50dd Add new package: istio (#17829) 2020-11-03 08:19:43 -06:00
darmac
5a54e39d71 Add new package: py-boom (#18811)
* Add new package: py-boom

* change name to py-boom-boot-manager
2020-11-03 08:18:28 -06:00
Shahzeb Siddiqui
75e73d7fcc documentation: fix formatting of code-block section (#19693) 2020-11-03 12:15:46 +01:00
dunatotatos
4637d97d41 snakemake: add upper limit to allowed python versions (#19705)
Running v3.1.2 with Python 3.7 returns a SyntaxError close to `async=True`.
2020-11-03 12:13:00 +01:00
darmac
03b7404316 Add new package: abi-dumper (#18738)
* Add new package: abi-dumper

* refine dependencies
2020-11-03 11:20:06 +01:00
Brian Van Essen
d38fdb3854 Update cuDNN packages to check Power installation (#19620)
* Updated cuDNN package to check to make sure that target directory
exists before linking it.

* Fixed flake8

* Fixed Flake8
2020-11-02 20:08:44 -06:00
Hervé Yviquel
b4ea74c11b allow ucx to build with more recent version of gdrcopy (#19606)
* allows UCX since v1.7 to build with more recent version of gdrcopy (v2.X)

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-02 15:53:11 -06:00
Todd Gamblin
ecc3bfd484 Bugfix - hashing: don't recompute full_hash or build_hash (#19672)
There was an error introduced in #19209 where `full_hash()` and
`build_hash()` are called on older specs that we've read in from the DB;
older specs may not be able to compute these hashes (e.g. if they have
removed patches used in computing the full_hash).

When serializing a Spec, we want to generate the full/build hash when
possible, but we need a mechanism to skip it for Specs that have
themselves been read from YAML (and may not support this).

To get around this ambiguity and to fix the issue, we:

- Add an attribute to the spec called `_hashes_final`, that is `True`
  if we can't lazily compute `build_hash` and `full_hash`.
- Set `_hashes_final` to `False` for new specs (i.e., lazily
  computing hashes is ok)
- Set `_hashes_final` to `True` for concrete specs read in via
  `from_node_dict`, as it may be too late to recompute hashes.
- Compute and write out all hashes in `node_dict_with_hashes` *if
  possible*.

Effectively what this means is that we can round-trip specs that are
missing `_build_hash` and `_full_hash` without recomputing them, but for
all new specs, we'll compute them and store them. So Spack should work
fine with old DBs now.
2020-11-02 13:21:11 -08:00
Satish Balay
2ca894bd1e pumi add version 2.2.5 (#19680) 2020-11-02 14:02:50 -06:00
Satish Balay
4d6c9a8f29 omega-h: add version 9.32.5 (#19679) 2020-11-02 12:50:10 -06:00
Seth R. Johnson
62eab8923e ROOT: use native CMakePackage functions in packages.py (#19642)
* root: update to built-in CMakePackage functions

* root: Disable options from missing variants

* Remove modification of CMAKE_PROGRAM_PATH
2020-11-02 16:21:44 +00:00
Scott McMillan
f621e97f47 Fix issue with NAMD patch not applying cleanly (#19675)
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2020-11-02 10:12:15 -06:00
Tiziano Müller
acc075d79d llvm: fix +lldb build with external ncurses on openSUSE (#19627)
fixes #19625
2020-11-02 07:39:21 -06:00
Harmen Stoppels
4fe56de72e hip: revert using libs.directories[0] instead of prefix.lib (#19671)
Currently fails with:

 Error: NoLibrariesError: Unable to recursively locate rocm-device-libs libraries
2020-11-02 09:54:29 +01:00
eugeneswalker
b2d6c63421 hip: setup run environments (#19637)
* hip: rocminfo is a runtime requirement

* hip: +setup_run_environment, +setup_dependent_run_environment

* hip: run environment: get lib dir using libs.directories[0], not prefix.lib

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-01 21:52:06 -06:00
Todd Gamblin
a80d221bfa sbang: fixes for sbang relocation
This fixes sbang relocation when using old binary packages, and updates
code in `relocate.py`.

There are really two places where we would want to handle an `sbang`
relocation:

1. Installing an old package that uses `sbang` with shebang lines like
   `#!/bin/bash $spack_prefix/sbang`
2. Installing a *new* package that uses `sbang` with shebang lines like
   `#!/bin/sh $install_tree/sbang`

The second case is actually handled automatically by our text relocation;
we don't need any special relocation logic for new shebangs, as our
relocation logic already changes references to the build-time
`install_tree` to point to the `install_tree` at intall-time.

Case 1 was not properly handled -- we would not take an old binary
package and point its shebangs at the new `sbang` location. This PR fixes
that and updates the code in `relocation.py` with some notes.

There is one more case we don't currently handle: if a binary package is
created from an installation in a short prefix that does *not* need
`sbang` and is installed to a long prefix that *does* need `sbang`, we
won't do anything. We should just patch the file as we would for a normal
install. In some upcoming PR we should probably change *all* `sbang`
relocation logic to be idempotent and to apply to any sort of shebang'd
file. Then we'd only have to worry about which files to `sbang`-ify at
install time and wouldn't need to care about these special cases.
2020-11-01 16:23:48 -08:00
Adam J. Stewart
a4dd8d5582 Scalapack: don't apply patches twice (#19662) 2020-11-01 15:15:04 -08:00
Adam J. Stewart
ea8ba48a32 meson: add new version, external find support (#19658) 2020-11-01 15:33:14 -06:00
Adam J. Stewart
750027e80f libepoxy: remove meson dependency (#19659) 2020-11-01 16:11:46 -05:00
Adam J. Stewart
854aed2571 krb5: fix build with Apple Clang 12 (#19657) 2020-11-01 16:11:40 -05:00
Hervé Yviquel
f62efe5e2e Fix rdma-core package installation (#19643)
* add python-docutils dependency

* adds symlink to script for better compatibility if py-docutils installation

* Improve post_install phase of py-docutils

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

* fix review of rdma-core package

* improve formating of py-docutils package

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-11-01 10:08:06 -06:00
Andrew W Elble
ffd5f6b196 arborx: fix depends_on conditional (missing '+') (#19655) 2020-11-01 10:07:45 -06:00
Andrew W Elble
68ab6b252a hpl: fix conflict directive (missing '^') (#19656) 2020-11-01 10:07:08 -06:00
Andrew W Elble
3630a8a87a root: conflict is with a dependency (#19654) 2020-11-01 15:11:38 +01:00
Massimiliano Culpo
e4a5a06e87 gromacs: simplified use of targets (#19646) 2020-11-01 13:16:59 +01:00
Massimiliano Culpo
77fc458d29 opencv: fixed conflict firectives (missing '^') (#19645)
See https://github.com/spack/spack/pull/19501#issuecomment-718406357
2020-10-31 19:05:13 -05:00
Tim Haines
6b35324cf3 elfutils: add support for version 0.181 (#19634)
This also includes handling of the new libdebuginfod flags.
2020-10-31 13:03:04 -05:00
Jerome Soumagne
2cf1606896 mercury: update to v2.0.0 (#19635)
Remove deprecated selfforward option, on by default

Rename verbose option to debug option
2020-10-31 13:02:03 -05:00
Geoffrey Gunter
826ed5ff24 fmt: add version 7.1.0 (#19638) 2020-10-31 12:58:37 -05:00
vijay kallesh
51a9473bf8 [NEW] Added amdfftw, amdlibflame and amdscalapack recipes (#19457)
* [NEW] Added amdfftw, amdlibflame and amdscalapack recipes

Updated base fftw, libflame and netlib-scalapack recipes
to accommodate the above listed AMD Optimizing CPU Libraries
which are a set of numerical routines optimized for AMD platforms.

Updated amdblis spack recipe

amdblis:
	1. updated with amdblis 2.2 release
amdfftw:
	1. "--enable-single" now work as synonym for "--enable-float"
amdlibflame:
	1. Added enable_or_disable_threads() to set value for "--enable-multithreading" flag
Libflame:
	1. Added enable_or_disable_threads() to set value for "--enable-multithreading" flag
	2. Corrected invocation of "enable_or_disable('threads')"

Change-Id: I9da0a2c2c4e2075b7fa2776e7cfe6548a2e0b32f

* Added amd-toolchain-support as maintainers

Added team github account amd-toolchain-support
as maintainers for all the recipes owned by
AMD Optimizing CPU Libraries (AOCL) team

Change-Id: I9a7969bd48fc42cfbb88dd7bd93e0802c6138582

* Incorporated review comments

Updated packages.yaml with aocl components
Handled Flake8 test failures

Change-Id: I0a03f02d8c9f326b2434ec907958c3de3a8e18eb

* Readded accidental removal of stream recipe

amdfftw:
	1. Updated the aocc clang selection as per spack standards
fftw:
	1. Currently apple-clang section is redundant,
	already it is handled in the conflict checks.

Change-Id: Idef4a3f61717eb81f321e0cd16e7ba9619eac846

* Fix for style and docs/validate (pull_request) test

unnumbered format placeholders from {} to {0}

Change-Id: If67a3374177ec067573e5504462d257712fafc05

* changed compiler references to Spack's compiler wrapper:spack_cc, spack_cxx, spack_fc

Change-Id: I7ae29c978fff16e37773913f14c84df232499763

* Removed 'single' variant from amdfftw recipe

Instead of conflict for apple-clang + openmp, handled this senario
via below available feature:
depends_on('llvm-openmp', when='%apple-clang +openmp')

Change-Id: I701b23d83e822a500ca3aaf2b60cc9ace09e13dc

* Added relevant info for users who prefers to use single precision

Change-Id: I3506e21da428ddef5fb7895b5aaed32c2a061ef6

* Minor changes on fftw, amdfftw and libflame

amdfftw:
	1. Removed escape symbol to the single quotes
	2. Rewording the conflict line from Recommended
	to Required

fftw:
	1. Reorded to following recommended sections:
	versions, variants, dependencies, providers,
	patches

libflame:
	1. Added provides entry for 5.1.0 version

Change-Id: I21ebff99b6dfde031763154693ecb3f1fa47b476

* Removed single quote from amdfftw docstring to fix style failures

Change-Id: Ife939a5a2f5ccbc8879b730c7bebfe2fcfef9332
2020-10-31 11:57:17 -05:00
Morten Kristensen
08f4ba0c98 py-vermin: add latest version 1.0.1 (#19641) 2020-10-31 11:55:32 -05:00
Adam J. Stewart
d855ad2abb py-pandas: add v1.1.4 (#19632) 2020-10-30 20:12:47 -04:00
Andrew W Elble
dee92f9b42 New package: gqrx (#19633)
* gqrx and dependencies

* changes

* forgot log4cpp

* misc dep fixes
2020-10-30 19:01:29 -05:00
Danny Taller
9fb2d5521d changes to support hip build of camp (#19502)
* camp: changes to support hip build

* hip: add fallback path for external hip to detect other rocm components

Co-authored-by: Greg Becker <becker33@llnl.gov>
2020-10-30 13:33:54 -07:00
Massimiliano Culpo
c4aa5cb5bc Update documentation on containers (#19631)
fixes #15183

- Moved the container related content from
  workflows.rst into containers.rst
- Deleted the docker_for_developers.rst file,
  since it describes an outdated procedure

Co-authored-by: Axel Huebl <a.huebl@hzdr.de>
Co-authored-by: Omar Padron <omar.padron@kitware.com>
2020-10-30 21:17:15 +01:00
Massimiliano Culpo
33c3c3c700 Config: cache results of get_config (#19605)
`config.get_config` now caches the results and returns the same
configuration if called multiple times with the same arguments
(i.e. the same section and scope).

As a consequence, it is expected that users will always call
update methods provided in the `config` module after changing
the configuration (even if manipulating it as a Python nested
dictionary). The following two examples should cover most
scenarios:

* Most configuration update logic in the core (e.g. relating to
  adding new compiler) should call `Configuration.update_config`
* Tests that need to change the global configuration should use the
  newly-provided `config.replace_config` function.

(if neither of these methods apply, then the essential requirement
is to use a method marked as `_config_mutator`)

Failure to call such a function after modifying the configuration
will lead to unexpected results (e.g. calling `get_config` after
changing the configuration will not reflect the changes since the
first call to get_config).
2020-10-30 13:10:45 -07:00
Massimiliano Culpo
458d88eaad Make archspec a vendored dependency (#19600)
- Added archspec to the list of vendored dependencies
- Removed every reference to llnl.util.cpu
- Removed tests from Spack code base
2020-10-30 13:02:14 -07:00
Mathew Cleveland
f82e858238 update to OPPPY-0_1_4 release (#17716)
Co-authored-by: Cleveland <cleveland@lanl.gov>
2020-10-30 14:58:09 -05:00
darmac
d0ad622272 Add new package: wayland (#18826)
* Add new package: wayland

* remove duplicated dependency
2020-10-30 14:56:31 -05:00
David M. Rogers
d6f0cb0461 Patched hypre to better add flags based on compiler. (#19498)
* Patched hypre to better add flags based on compiler.

* Update package.py

This file seems to have lots of edits, so the patch may succeed with offsets.  Has anyone checked with spack patch to be sure it'll work with versions 2.15 - 2.20?
2020-10-30 14:55:21 -05:00
t-nojiri
ae3178f4eb py-pycbc: Fix for aarch64 (#19563)
* py-pycbc: Fix for aarch64

* py-pycbc: Change patch application conditions
2020-10-30 14:54:04 -05:00
Scott Wittenburg
31f57e56bb Binary caching: use full hashes (#19209)
* "spack install" now has a "--require-full-hash-match" option, which
  forces Spack to skip an available binary package when the full hash
  doesn't match. Normally only a DAG-hash match is required, which
  ensures equivalent Specs, but does not account for changing logic
  inside the associated package.
* Add a local binary cache index which tracks specs that have a binary
  install available in a remote binary cache. It is updated with
  "spack buildcache list" or for a given spec when a binary package
  is retrieved for that Spec.
2020-10-30 12:53:33 -07:00
Dr. Christian Tacke
124d654337 glew: Refactor as CMakePackage (#19588)
In #18394 it was noted, that this package should be changed
from a generic "Package" to a "CMakePackage".
It makes a bunch of things easier.

And it uses all the common cmake code.
2020-10-30 14:52:15 -05:00
t-nojiri
e1c1967b54 diamond: The version 2.0.4 file name has been changed. (#19595)
* diamond: The version 2.0.4 file name has been changed.

* diamond: Removed v2.0.4 URL.
2020-10-30 14:51:57 -05:00
Brian Van Essen
7dea225fce Update lbann version and simplify installation (#19579)
* Added hash values for LBANN v0.101 and Hydrogen v1.5.0.  Updated the
LBANN package to be more successful in resolving a legal configuration
of MPI and HWLOC packages.  This required the removal of the MPI
virtual package since it is unable to resolve dependencies with
minimum version requirements. As a result to enable a reasonable
install line for LBANN this requires explicit forwarding of MPI
variants to Hydrogen and Aluminum.  Due to the lack of variant
forwarding, there are many explicitly replicated dependencies for both
LBANN and Hydrogen.  Fixed the error in LBANN where gpu variant was
replaced by the cuda variant, but not all dependencies were fixed.

* Fixed the minumum cuDNN version for newer versions of LBANN.

* Added explicit versioning of the MPI libraries for DiHydrogen to avoid
all of the conflicts with minimum required versions of the OpenMPI library.

* Removed explicit MPI versions and went back to using the MPI virtual
dependency.  Updated construction of variant forwarding to use
iterative construction of constraints and variants.  This exacerbates
the challenges with backtracking in the current concretizer, but
should be fixed in the new concretizer.

* Added support for including the DiHydrogen library in LBANN as well as
support for the distributed convolution (DistConv) parallel
algorithms.  Also include support for building with half precision.

* Moving dependencies around

* Added conflict statement to ensure that the variant dihydrogen is
required for distconv.

* Removed the preferred field

* Fixed Flake8 and cuDNN version bounds
2020-10-30 14:51:10 -05:00
Hervé Yviquel
a04e7686f8 add recent versions of rdma-core package (#19604) 2020-10-30 14:50:20 -05:00
Dr. Christian Tacke
c3630ed26e hepmc: Add variants for length and momemtum (#19609) 2020-10-30 14:46:19 -05:00
Toyohisa Kameyama
5a5c220d0a py-dotnetcore2: Add conflict non x86_64 targets. (#19623) 2020-10-30 14:44:15 -05:00
Robert Underwood
f2318d80d2 sz: version bump 2.1.11 (#19613) 2020-10-30 14:41:21 -05:00
Jen Herting
05cd3c4380 New package: py-cudf (#19111)
* [py-cudf] created template

* [py-cudf] set build directory

* [py-cudf] adding dependencies

* [py-cudf] fixed phases

* [py-cudf] added cmake to fetch some third party dependencies

* [py-cudf] flake8

* [py-cudf] added homepage and description. removed fixmes

* [py-cudf] added dependency of py-cupy

* [py-cudf] depends on py-fsspec

* [py-cudf] py-pyarrow requires +orc

* [py-cudf] py-pyarrow requires +parquet

* [py-cudf] removed upper python limit

* [py-cudf] checksum changed
2020-10-30 14:36:49 -05:00
Tiziano Müller
724325f789 molden: adding the package (#19626) 2020-10-30 14:35:24 -05:00
Teodor Nikolov
fef20524f9 clingo: compilation error - needs a patch (#19624)
* Add a patch to clingo

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-30 11:36:53 -07:00
Adam J. Stewart
3d7e8ff399 PyTorch: add v1.7.0 (#19555) 2020-10-30 12:42:15 -05:00
Adam J. Stewart
cb877e2a28 py-pillow-simd: add older version (#19500) 2020-10-30 12:23:12 -05:00
Adam J. Stewart
be14679719 GDAL: add new version (#19504) 2020-10-30 12:22:53 -05:00
Adam J. Stewart
bea65aacda py-torchvision: add v0.8.0 (#19556)
* py-torchvision: add v0.8.0

* py-torchvision: add v0.8.1
2020-10-30 12:22:38 -05:00
Adam J. Stewart
bfab98d41e oneDNN: add v1.6.5 (#19557) 2020-10-30 12:22:07 -05:00
Adam J. Stewart
9dd2ddb7db py-numpy: add v1.19.3 (#19593) 2020-10-30 12:21:52 -05:00
Seth R. Johnson
f6189031b9 ninja: support spack find external (#19616) 2020-10-30 11:53:30 -05:00
manifest
fc1d39dedc gemini dep cyordereddict + (#19333)
* gemini dep py-cyordereddict +

* dep ipyparallel +

* py-ipython-cluster +

* py-cyordereddict URL+dep fix

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

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

* py-ipython-cluster-helper dep fix

* py-ipyparallel dep fix

* ipython-cluster-helper debug

* ipython-cluster-helper debug

* ipyparallel dep fix

* ipython-cluster-helper dep fix

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-30 11:43:03 -05:00
ajaust
e4851d1a89 New package: py-pyprecice (#19558)
* added initial version of package and patch for precice-bindings

* updated package name

* cleanup in script; added version requirement to cython

* Remove unnecessary part of patch

* cleanup package

* added initial version of package and patch for precice-bindings

* updated package name

* cleanup in script; added version requirement to cython

* Remove unnecessary part of patch

* cleanup package

* update style of package

* reformatting to fullfil style requirements

* reformatting again

* fixing some of the issues mention in PR; working on fixing install stage

* readded py-wheel as dependency

Co-authored-by: Benjamin Rüth <benjamin.rueth@tum.de>
2020-10-30 11:39:59 -05:00
Chuck Atkins
aaa1afe9ec mesa: Retire older autotools mesa as mesa18 and create current meson mesa (#19528) 2020-10-30 11:16:17 -04:00
Morten Kristensen
6a381940ae py-vermin: added v1.0.0 (#19618) 2020-10-30 10:26:56 +01:00
t-nojiri
11ea2be74a openfoam-org: added v8.0 (#19622)
openfoam:  fixed build on aarch64
2020-10-30 10:19:40 +01:00
Michael Kuhn
aa14a0aec7 graphviz: fix implicit patch (#19621)
The patch seems to be included in version 2.44.1 already. Moreover, it
is necessary to specify `level=0` to make it apply.
2020-10-30 10:16:40 +01:00
Peter Scheibel
3a863020f0 CI: disable vermin check for deprecated hash (#19612)
Spack has a fallback for hash checking with m55sums that may not be
supported in earlier versions of Python 3.x. The comments in the
Spack code acknowledge that this is best effort and may fail, but
recent vermin checks (running as part of our CI) reject this. This
disables vermin checks for that fallback.
2020-10-29 22:23:36 -07:00
t-nojiri
52379d87fe caliper: Fix for aarch64 (#19564) 2020-10-29 22:01:05 -05:00
Chris Chambreau
ebe1c6badd mpip: add v3.5 release (#19559)
* Update for mpip-3.5 release

* Additional changes to support 3.5 and 3.4.1 releases

* Specify python deptype
2020-10-29 16:56:54 -07:00
Frank Willmore
c954d50998 Oneapi add compiler (#19330)
* enable flatcc to be built with gcc/9.X.X

* add static option for building libyogrt

* cleanup

* Initial working version

* rework new oneapi wrappers

* tested and removed my initials from source

* cleanup

* Update __init__.py

* remove whitespace

* working now with mods for testing, detection. Detection for oneapi is working, but entry needs to be modified to add link path for libimf.so. Cleared cruft for old Intel versions

* fixed some formatting

* cleanup

* flake8 cleanup

* flake8

* fixed syntax of compiler version detection tests

* fixed syntax of compiler version detection tests

	modified:   detection.py

* fix typo

* fixes for compilers tests

* remove erroneous tests for outdated -std= flags, remove ifx version check (output won't parse)

Co-authored-by: Frank Willmore <willmore@anl.gov>
2020-10-29 16:52:54 -05:00
Jean-Paul Pelteret
52959528a2 Suite-sparse: Fix Darwin install name (#19507) 2020-10-29 15:29:39 -05:00
Geoffrey Oxberry
af057e0196 yapf: add version 0.30.0 (#19598) 2020-10-29 14:14:55 -05:00
Ben Corbett
305d8d9b1b Adds a package for LvArray (#19221)
* RAJA and CHAI changes.

* Added LvArray package.
2020-10-29 13:52:10 -05:00
David Beckingsale
e2a720930a Patch CMake version check in Umpire (#19590)
* Patch CMake version check in Umpire

* Update version constraint for cmake_version_check patch

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

* Add maintainers to Umpire

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-29 11:32:56 -07:00
Jen Herting
518124c14a [py-torch-nvidia-apex] added version 201019 and added dependency on p… (#19548)
* [py-torch-nvidia-apex] added version 201019 and added dependency on py-pybind11

* [py-torch-nvidia-apex] changed versioning format

* [py-torch-nvidia-apex] removed redundent version condition

* [py-torch-nvidia-apex] removed condition on dependency
2020-10-29 11:20:18 -05:00
Jen Herting
0fc79293c6 New package: py-cupy (#19468)
* [py-cupy] created template

* [py-cupy] added dependencies

* [py-cupy] switched to git based download for submodules

* [py-cupy] added dependencies

* [py-cupy] added homepage and description. removed fixmes

* [py-cupy] updated to tarball from pypi
2020-10-29 11:17:14 -05:00
h-denpo
c2e6610948 plplot:fix: add: depends_on('libsm', type='link') (#19594) 2020-10-29 11:10:57 -05:00
Rémi Lacroix
a4a64e1fbd Gromacs: Remove a dependency that could never be enabled. (#19599)
The `fft` variant was removed but not the associated dependency.
2020-10-29 11:08:13 -05:00
Greg Becker
71cb46afde clingo+python extends python (#19585) 2020-10-29 10:38:17 -05:00
AMD Toolchain Support
09b63ae3d1 Adding AOCC support for M4 (#19572)
* Adding AOCC support for M4

* combining 4 if-statements into a single if-statement with or conditions

* keeping parentheses around the or expressions

* fixing flake8 test failures

Co-authored-by: mohan babu <mohbabul@amd.com>
2020-10-29 10:13:30 -05:00
G-Ragghianti
0bed9a1990 SLATE package: New versions of slate, blaspp, and lapackpp with CMake build support (#19587)
* New versions of slate, blaspp, and lapackpp with CMake build support

* Fixing formatting
2020-10-29 10:13:02 -05:00
t-nojiri
ad87eece17 launchmon: Fix for aarch64 (#19562) 2020-10-28 21:11:36 -05:00
Seth R. Johnson
ef9c80de23 qt: Silence build and force xmlpatterns library on for Qt4 (#19591)
For some mysterious reason Qt4 stopped building the xmlpatterns
component, needed by some downstream packages. With this patch, the
component successfully builds with
```
qt@4.8.7~dbus~debug~examples~framework~gtk~opengl~phonon+shared~sql~ssl~tools~webkit freetype=none arch=linux-rhel7-haswell %gcc@10.2.0
```
2020-10-28 20:47:16 -05:00
manifest
f7269ffd0a pest suit + (#19458)
* pestpp +

* build -f default
2020-10-28 20:46:04 -05:00
manifest
b4a0a43d98 PopLDdecay package + (#17802)
* poplddecay bio

* flake8 debug

* bin PATH correction

* build step opt

* BUILD_PATH fix

* retro implementation + style fix
2020-10-28 20:45:24 -05:00
manifest
3243e904a8 Pbbam debug (#17803)
* pbbam path fix

* pbbam flake8 fix

* sys var build_directory sub

* pbbam flake8 fix
2020-10-28 20:44:38 -05:00
Todd Gamblin
aebf20ebdc sbang: vendor sbang
`sbang` now lives at https://github.com/spack/sbang, and it has its own
test suite that's more extensive than what's in Spack. We'll leave sbang
tests to sbang from now on, and just vendor `bin/sbang` directly.
Remaining `sbang` tests have to do with patching files, not with
`sbang`'s functionality.

This update also fixes a bug with `sbang` and multiple command line
arguments that was introduced in #19529. See:
  * https://github.com/spack/sbang/pull/1
  * https://github.com/spack/sbang/pull/2

- [x] include latest `sbang` from https://github.com/spack/sbang
- [x] remove old `sbang` tests from Spack
- [x] update `COPYRIGHT` and `cmd/license.py`
2020-10-28 17:43:23 -07:00
David Beckingsale
44bacefb27 RAJA package: Don't set both CUDA_ARCH and CMAKE_CUDA_FLAGS (#19589) 2020-10-28 16:54:23 -07:00
dunatotatos
f028079564 Update strelka (#19565)
* Update package.py

Remove breaking patch.

Patching the shebang is useless is the dependencies are properly loaded before execution. Furthermore, the long paths which can be generated when installing with Spack can exceed the maximum length of the shebang.

* Add newer versions of strelka.
2020-10-28 10:58:30 -05:00
dunatotatos
1dd7370885 Remove unused dependency. (#19566)
Boost is not used to build Manta.
2020-10-28 10:57:19 -05:00
Toyohisa Kameyama
f320a650d8 py-mmcv: fix Opencv detection. (#19567) 2020-10-28 10:56:52 -05:00
Roberto Di Remigio
98a1771590 Do not build XCFun tests (#19568) 2020-10-28 10:56:11 -05:00
Roberto Di Remigio
f4b63db78f Do not build MRCPP tests (#19569) 2020-10-28 10:55:46 -05:00
Roberto Di Remigio
85e6334d6f Add new package: mrchem (#19571) 2020-10-28 10:55:19 -05:00
Dr. Christian Tacke
674fb16828 openssl: Add version 1.1.1h (#19574) 2020-10-28 10:53:33 -05:00
Pieter Ghysels
9b809e01b4 Add new minor version 1.2.1 for ButterflyPACK (#19554) 2020-10-27 20:28:24 -05:00
lorddavidiii
6a5d399f55 asciidoc-py3 add docbook dependency and fix a enviroment variable problem for docbook-{xml,xsl} (#19547)
* asciidoc-py3: add docbook-{xml,xsl} dependency

* docbook-{xsl,xml}: fix XML_CATALOG_FILES enviroment variable
2020-10-27 20:11:37 -05:00
Jen Herting
79b0eab2af New package: libcudf (#19110)
* [libcudf] created template

* [libcudf] depends on cuda

* [libcudf] set cmake dir

* [libcudf] depends on boost

* [libcudf] depends on py-pyarrow

* [libcudf] depends on librmm

* [libcudf] depends on dlpack

* [libcudf] added more dependency information from https://github.com/rapidsai/libcudf/blob/v0.15.0/CONTRIBUTING.md#customizing-the-build

* [libcudf] removed python dependencies

* [libcudf] fixed url that got mangled in package renaming

* [libcudf] added default build options from build.sh

* [libcudf] added version 0.16.0a

* [libcudf] removed version 0.16.0a as it's an alpha version

* [libcudf] added homepage and description. removed fixmes

* [libcudf] flake8

* [libcudf] arrow requires +orc

* [libcudf] requires +parquet

* [libcudf] checksum changed
2020-10-27 20:11:06 -05:00
Jen Herting
7bd5397aca New Package: py-rmm (#19104)
* [py-rmm] created template

* [py-rmm] added dependencies

* [py-rmm] setting build_directory

* [py-rmm] added dependencies cuda and spdlog

* [py-rmm] added homepage and description. removed fixmes

* [py-rmm] added for loop for dependency versions

* [py-rmm] flake8

* [py-rmm] updating upper range of python version

* [py-rmm] removing python upper limit
2020-10-27 20:10:40 -05:00
t-nojiri
429f49a1e4 bowtie2: Add version 2.4.2 (#19537) 2020-10-27 20:09:05 -05:00
Todd Gamblin
965ccb78cf sbang: use bashcov in sbang on Linux 2020-10-27 13:59:46 -07:00
Todd Gamblin
ec9456feb8 sbang: convert sbang script to POSIX shell
`sbang` was previously a bash script but did not need to be. This
converts it to a plain old POSIX shell script and adds some options. This
also allows us to simplify sbang shebangs to `#!/bin/sh /path/to/sbang`
instead of `#!/bin/bash /path/to/sbang`.

The new script passes shellcheck (with a few exceptions noted in the file)

- [x] `SBANG_DEBUG` env var enables printing what *would* be executed
- [x] `sbang` checks whether it has been passed an option and fails gracefully
- [x] `sbang` will now fail if it can't find a second shebang line, or if
      the second line happens to be sbang (avoid infinite loops)
- [x] add more rigorous tests for `sbang` behavior using `SBANG_DEBUG`
2020-10-27 13:59:46 -07:00
adityakavalur
9f89a7e9f7 Update package.py (#19513)
On Cori(Cray-XC40), I need to pass the entire path for the compilers, this is what is saved in c_compiler, cpp_compiler, f_compiler. Therefore, when for the MPI wrappers only the binary name is provided I run into the same issue. There is no drawback of passing the entire path, this is set by the user through the compiler path anyways.
2020-10-27 13:24:09 -05:00
Roberto Di Remigio
7313cf5ea5 Update MRCPP package.py (#19541) 2020-10-27 09:58:24 -05:00
h-denpo
78a759129a ghostscript: fix: add: depends_on('krb5', type='link') (#19536) 2020-10-27 09:54:33 -05:00
t-nojiri
f6c51efa85 diamond: Add version 2.0.4 (#19535) 2020-10-27 09:53:38 -05:00
Jungwon Kim
64974c43c7 added -lpthread flag in kv/tests/CMakeLists.txt (#19533)
* added -lpthread flag in kv/tests/CMakeLists.txt

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-27 09:53:22 -05:00
daichi-nishi
e214deec5b modified:var/spack/repos/builtin/packages/ppopen-appl-bem-at/package.py (#19538) 2020-10-27 09:53:04 -05:00
Chuck Atkins
57200f01fd camp: Add missing checksum (#19543) 2020-10-27 09:52:28 -05:00
Toyohisa Kameyama
bb00b1a7c9 sbang: add support for php (#18299)
PHP supports an initial shebang, but its comment syntax can't handle our 2-line
shebangs. So, we need to embed the 2nd-line shebang comment to look like a
PHP comment:

    <?php #!/path/to/php ?>

This adds patching support to the sbang hook and support for
instrumenting php shebangs.

This also patches `phar`, which is a tool used to create php packages.
`phar` itself has to add sbangs to those packages (as phar archives
apparently contain UTF-8, as well as binary blobs), and `phar` sets a
checksum based on the contents of the package.

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-10-26 22:11:43 -07:00
t-nojiri
cb07d9ddb1 netgauge: Fix for aarch64 (#19462)
* netgauge: Fix for aarch64

* netgauge: Revise the points indicated by the review.
2020-10-26 20:20:18 -05:00
Geoffrey Gunter
e9223062a8 New package: date (#19515)
* Add new package: date

* date: resolve style conformance issues

* date: explicitly disable some cmake options

Explicitly disable CMake options corresponding to variant
'tzdb=download'

* date: make more cmake options explicit

* date: simplify defining cmake cli args
2020-10-26 20:18:34 -05:00
Todd Gamblin
bc4e7eabfe coverage: add bin directory to coverage (#19530) 2020-10-26 16:23:22 -07:00
iarspider
93c985e5a9 New package: py-minrpc (#19524)
* New package: py-minrpc

* Delete package.py.save

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-26 16:20:45 -05:00
jthies
5d5711621a packages/phist: fix incorrect git url (#19527)
Co-authored-by: Thies <thie_jo@fe-store01.sc.bs.dlr.de>
2020-10-26 16:19:53 -05:00
Sinan
4f720fb9ba package/gunrock add v1.2 (#19516)
* package/gunrock add v1.2

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

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

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-26 16:17:27 -05:00
David Beckingsale
4f9c621284 Add camp & BLT dependencies to Umpire (#19411)
* Add camp & BLT dependencies to Umpire

* Remove tests variant
2020-10-26 16:12:03 -05:00
Patrick Gartung
1c2c30a139 sbang: put sbang in the install_tree (#11598)
`sbang` is not always accessible to users of packages, e.g., if Spack
is installed in someone's home directory and they deploy software
for others.  Avoid this by:

1. Always installing the `sbang` script in the `install_tree`
2. Relocating binaries to point to the copy in the `install_tree` 
   and not the one in the Spack installation.

This PR also:
- ensures that `sbang` is reinstalled if it is modified in Spack
- adds tests
- updates the way `gobject-introspection` patches Makefiles
   to support `sbang`

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-10-26 12:37:54 -07:00
dunatotatos
718150b997 Update GATK versions. (#19521) 2020-10-26 13:32:35 -05:00
takanori-ihara
b9d3d668d9 fujitsu-ssl2: update package.py (#19519) 2020-10-26 13:31:45 -05:00
Geoffrey Gunter
7ce4518cc0 abseil-cpp: add versions 20200923.{1,2} (#19517) 2020-10-26 13:29:16 -05:00
Jen Herting
7649c652c0 New package: py-visdom (#19479)
* [py-visdom] created template

* [py-visdom] added dependencies

* [py-visdom] added homepage and description. removed fixmes

* [py-visdom] added dependency on py-torchfile

* [py-visdom] py-pillow -> pil

* [py-visdom] fixed url format

* [py-visdom] fixed url format
2020-10-26 13:24:30 -05:00
David Beckingsale
7ca1f6c5d5 Add BLT package (#19410)
* Add BLT package

* Switch install function

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

* Add type='run' to cmake dependency

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

* Add git attribute to BLT

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-26 12:15:55 -05:00
Tiziano Müller
f921bcbe0b cp2k, libxc, libint: fix builds with %intel, resp. intel-parallel-studio+mkl (#19522)
* cp2k: locate correct include dir when using intel-parallel-studio+mkl for fftw-api

* libxc: drop arch-specific intel opt. flags

fixes #17794

* libint: drop arch-specific intel opt. flags, always build Fortran example with FC

fixes #17509
2020-10-26 16:32:15 +01:00
Todd Gamblin
fd6c163e02 bugfix: test_push_and_fetch_keys should be skipped w/o gpg (#19511)
- [x] add a `@pytest.skipif` decorator
2020-10-26 07:24:49 -07:00
Sinan
2e3355d2f9 package/pmdk add variants, version 1.9 (#19512)
* package/pmdk add variants, version 1.9

* add dependency

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

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

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-25 20:39:44 -05:00
jthies
182ca4cb68 phist: two new versions and disable ccache because we don't have a dependency on ccache. (#19510)
Otherwise, phist would look for ccache via cmake, which is not the spack way to do it.

Co-authored-by: Thies <thie_jo@be-cpu03.sc.bs.dlr.de>
2020-10-25 16:35:43 -05:00
Todd Gamblin
01953dc513 bugfix: fix config merge order for OrderdDicts (#18482)
The logic in `config.py` merges lists correctly so that list elements
from higher-precedence config files come first, but the way we merge
`dict` elements reverses the precedence.

Since `mirrors.yaml` relies on `OrderedDict` for precedence, this bug
causes mirrors in lower-precedence config scopes to be checked before
higher-precedence scopes.

We should probably convert `mirrors.yaml` to use a list at some point,
but in the meantie here's a fix for `OrderedDict`.

- [x] ensuring that keys are ordered correctly in `OrderedDict` by
      re-inserting keys from the destination `dict` after adding the keys from
      the source `dict`.

- [x] also simplify the logic in `merge_yaml` by always reinserting
      common keys -- this preserves mark information without all the special
      cases, and makes it simpler to preserve insertion order.

Assuming a default spack configuration, if we run this:

```console
$ spack mirror add foo https://bar.com
```

Results before this change:

```console
$ spack config blame mirrors
---                                                          mirrors:
/Users/gamblin2/src/spack/etc/spack/defaults/mirrors.yaml:2    spack-public: https://spack-llnl-mirror.s3-us-west-2.amazonaws.com/
/Users/gamblin2/.spack/mirrors.yaml:2                          foo: https://bar.com
```

Results after:

```console
$ spack config blame mirrors
---                                                          mirrors:
/Users/gamblin2/.spack/mirrors.yaml:2                          foo: https://bar.com
/Users/gamblin2/src/spack/etc/spack/defaults/mirrors.yaml:2    spack-public: https://spack-llnl-mirror.s3-us-west-2.amazonaws.com/
```
2020-10-24 16:48:04 -07:00
Massimiliano Culpo
6752a39629 py-coverage: added v5.3 (#19509) 2020-10-24 22:29:48 +02:00
Todd Gamblin
2893c23e7c docs: update docs on shell support and using packages (#19486)
Shell integration no longer requires setting `SPACK_ROOT`, so we can
simplify the documentation on it. The docs on shell support and using
packages are getting a bit old, and information on `spack load` (which
seems to be everyone's most common way of using packages) is hard to
find.

This PR simplifies the shell documentation to remove SPACK_ROOT, and also
moves some sections around for clearer organization.

- [x] make docs on sourcing setup scripts clearer and simpler

- [x] introduce `spack load` early in the basic usage guide instead of
      burying it in the module docs

- [x] clean up module docs so that spack module tcl loads comes later

- [x] be clear about the different ways to use packages so that the users
      can find the docs better.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-10-23 22:16:01 -07:00
Todd Gamblin
560beb098e csh: don't require SPACK_ROOT for sourcing setup-env.csh (#18225)
Don't require SPACK_ROOT for sourcing setup-env.csh and make output more consistent
2020-10-23 18:54:34 -07:00
Marty Kandes
4cf85ed5f7 Fix GROMACS to require FFTW when using cuda (#19505)
GROMACS still requires a version of FFTW when compiling it to utilize
NVIDIA GPUs. In fact, the type of calculation that depends on FFTW --
Particle-Mesh Ewald (PME) -- is generally run on the host system's CPUs,
even when GPUs are available.
2020-10-23 18:58:13 -05:00
iarspider
978d8ad0af New package: py-rise (#19496)
* New package: py-rise

* Fix URL and add description

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-23 14:59:52 -05:00
Tiziano Müller
bbc048e615 let intel-parallel-studio provide fftw-api for +mkl (#19497) 2020-10-23 11:02:56 -05:00
Scott McMillan
ccc331af26 CMake fix: narrow versions that the PGI patch is applied to (#19495)
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2020-10-23 11:00:16 -05:00
iarspider
1d56ad0cdb New package: py-gsi (#19494)
* New package: py-gsi

* Add dependency on py-setuptools
2020-10-23 10:59:31 -05:00
lorddavidiii
4d414e58b9 Update asciidoc-py3 and fix build problem (#19491)
* asciidoc-py3: add new version 9.0.3

* asciidoc-py3: fix build

- add libxml2 and libxslt as dependency
2020-10-23 10:47:38 -05:00
daichi-nishi
270c647e71 modified:var/spack/repos/builtin/packages/ppopen-appl-fem/package.py (#19489) 2020-10-23 10:46:57 -05:00
daichi-nishi
5e3e3672f6 modified:var/spack/repos/builtin/packages/ppopen-appl-fdm/package.py (#19488) 2020-10-23 10:46:30 -05:00
Tiziano Müller
33989341bd gaussian-src: initial commit, gaussian-view: update to 6.1.1 (#17711)
* gaussian-src: initial commit to build from source

* do not install the source to ensure to not accidentally distribute
  it to users
* set required runtime env vars based on the login.profile

* gaussian-view: update to 6.1.1
2020-10-23 10:43:34 -05:00
Michael Kuhn
dcf8cf317b gcc: Fix zstd patch version range (#19490)
PR #19482 updated gcc to only apply the zstd patch until @10.2 but the
releases/gcc-10 branch actually does not contain the patch yet, that is,
gcc@10.3 will most likely have the same problem. Apply the patch for all
10.x releases instead.
2020-10-23 07:37:15 -05:00
darmac
4d4f7393a3 Add new package: acpica-tools (#18739)
* Add new package: acpica-tools

* refine build dependencies
2020-10-23 10:17:46 +02:00
Thomas Green
fe04f06896 gcc: fix build of gcc@master by limiting the version range of a patch (#19482)
Co-authored-by: Thomas Green <ca-tgreen@gw4a64fxlogin00.head.gw4.metoffice.gov.uk>
2020-10-23 09:32:05 +02:00
Todd Gamblin
7b7907077f graphviz: add patch for XCode 12 (#19485)
- [x] Add a patch to fix an implicit declaration error with apple-clang 12
2020-10-23 09:26:55 +02:00
darmac
a381b44b75 openipmi: added new package at v2.0.28 (#18790)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-23 09:24:05 +02:00
daichi-nishi
98a7cf7654 modified:var/spack/repos/builtin/packages/ppopen-appl-fvm/package.py (#19487) 2020-10-22 23:06:37 -05:00
manifest
8ac4284e66 Bcolz (#19331)
* gemini dep -py-bcolz +

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

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

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

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

* py-bcolz URL fix

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-22 23:04:38 -05:00
iarspider
625136b5da Syscalc hash (#19323)
* Update syscalc hash

* Tiny fix

* Change URL and update hash as advised by the devs

Co-authored-by: iarspider <iarpsider@gmail.com>
2020-10-22 16:55:52 -05:00
Jen Herting
971d13e9bd New package: py-dominate (#19483)
* [py-dominate] created template

* [py-dominate] added dependencies

* [py-dominate] added homepage and description. removed fixmes

* [py-dominate] fixed url format
2020-10-22 16:53:01 -05:00
Scott McMillan
0015dd0bf8 Enable packages to use the NVIDIA HPC SDK (#19452)
* Enable packages to use the NVIDIA HPC SDK

* fix linter and review items

* fix linter issue

Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2020-10-22 16:42:48 -05:00
Jen Herting
fd3dbb2493 New package: py-torchfile (#19481)
* [py-torchfile] created template

* [py-torchfile] set python versions

* [py-torchfile] depends on py-numpy

* [py-torchfile] fixed url format

* [py-torchfile] added homepage and description. removed fixmes

* [py-torchfile] fixed url format
2020-10-22 16:36:34 -05:00
Massimiliano Culpo
4ec404dfc0 Add scratch module roots to test configuration (#19477)
fixes #19476

Module file content is written to file in a
temporary location and read back to be analyzed
by unit tests.

The approach to patch "open" and write to a
StringIO in memory has been abandoned, since
over time other operations insisting on the
filesystem have been added to the module file
generator.
2020-10-22 13:59:39 -07:00
Jen Herting
d6f19eeed2 [py-pyarrow] cuda and orc support (#19445)
* [py-pyarrow] telling setup.py that we want cuda support

* [py-pyarrow] added orc variant

* [py-pyarrow] passing the orc variant down the line

* [py-pyarrow] added variant description
2020-10-22 15:19:16 -05:00
Jen Herting
0baaeec58d Arrow: add orc support (#19442)
* [arrow] added orc support variant

* [arrow] depends on orc

* [arrow] added explicit disable of features for variants
2020-10-22 15:18:54 -05:00
daichi-nishi
5407a74f2b modified:var/spack/repos/builtin/packages/ppopen-appl-amr-fdm/package.py (#19459) 2020-10-22 15:03:09 -05:00
daichi-nishi
680c0ac06d modified : var/spack/repos/builtin/packages/ppopen-appl-bem/package.py (#19460) 2020-10-22 15:02:41 -05:00
daichi-nishi
fb82810d50 ppopen-appl-dem-util:change download site to github. (#19461)
* modified:var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py

* modified:var/spack/repos/builtin/packages/ppopen-appl-dem-util/package.py:deleted whitespace
2020-10-22 15:02:11 -05:00
lorddavidiii
6a82b2260f Add opencl-headers and use ocl-icd as OpenCL provider (#19463)
* ocl-icd: fix build problems

* New package: opencl-c-headers

* New package: opencl-clhpp

* New bundled package: opencl-headers

- bundle C and C++ header files

* ocl-icd: Add +headers variant to use this as opencl provider

* ocl-icd: add new upstream release 2.2.13

* ocl-icd: add asciidoc-py3 and xmlto dependency needed for manpage generation

* ocl-icd and opencl-headers provides OpenCL 3.0

- also add more explicit version providing for older ocl-icd versions

* opencl-headers: add maximum of supported opencl versions for all versions

* opencl-headers: there aren't final releases with OpenCL 3.0
2020-10-22 15:00:40 -05:00
daichi-nishi
7c78d15e74 modified:var/spack/repos/builtin/packages/ppopen-appl-fdm-at/package.py (#19464) 2020-10-22 14:57:37 -05:00
dunatotatos
61a7900573 Restrict Python version for Strelka to Python 2. (#19466)
Fix #19465
2020-10-22 14:56:54 -05:00
Jen Herting
32a68fbbd4 New Package: py-fastrlock (#19467)
* [py-fastrlock] created template

* [py-fastrlock] added dependencies and setting --with-cython

* [py-fastrlock] added homepage and description. removed fixmes
2020-10-22 14:55:14 -05:00
Andrew W Elble
e4ce123ddf hercules (#19434) 2020-10-22 15:20:30 -04:00
darmac
0d46531791 Add new package: py-cantoolz (#18812)
* Add new package: py-cantoolz

* refine depends
2020-10-22 14:11:06 -05:00
Jen Herting
e1e0bbb4cb New package: orc (#19441)
* [orc] created template

* [orc] depends on maven

* [orc] building with -fPIC

* [orc] fixed name of c flags option

* [orc] depends on openssl

* [orc] added dependencies and disableing installing vendored libs

* [orc] disabling hdfs

* [orc] depending on specific versions of dependencies

* [orc] no building of third party libs

* [orc] helping cmake find the dependencies

* [orc] disabling features that would require static protobuf libraries

* [orc] dependency versions are ranges

* [orc] added homepage and description. removed fixmes

* [orc] flake8

* [orc] switching to compilier indipendent code
2020-10-22 14:05:18 -05:00
Jen Herting
bd0b53f4fb [treelite] added python and protobuf support (#19444)
* [treelite] added protobuf variant

* [treelite] adding python support

* [treelite] disable protobuf by default

* [treelite] flake8

* [treelite] reordered phases
2020-10-22 14:03:05 -05:00
Justin S
121a8a5cd9 transrate: new package at 1.0.3 (#19295)
* transrate: new package at 1.0.3

* transrate: add macOS binary distribution

* transrate: fix platform switching
2020-10-22 14:01:49 -05:00
Justin S
db167897f4 py-tomlkit: new package at 0.7.0 (#19450)
* py-tomlkit: new package at 0.7.0

* py-tomlkit: add dependencies
2020-10-22 14:01:14 -05:00
Andrew W Elble
f4049a71c2 New package: py-labours (#19433)
* py-labours

* fix dep version constraints
2020-10-22 14:14:57 -04:00
Andrew W Elble
b77279e9cc py-seriate (#19432) 2020-10-22 12:36:12 -04:00
Andrew W Elble
745875b008 New package: py-or-tools (#19431)
* py-or-tools

* python is, of course, a runtime dep

* more dependency fixes, use extends.

* protobuf is >= 3.12.2
2020-10-22 11:59:48 -04:00
darmac
646af81263 r-sf: fix build error (#19386)
* r-sf: fix build error

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-22 10:57:28 -05:00
iarspider
601636b755 Add herwig3 (#19406)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Add herwig3

* Prepare fixes based on MR (needs checking)

* Set all dependencies (except python) as build-type

* OK now

* Move import to the top of the file

* Fix dependency name

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-22 10:56:53 -05:00
Andrew W Elble
019205ec7a cbc (#19419) 2020-10-22 11:20:19 -04:00
Andrew W Elble
7935ec501f cgl (#19420) 2020-10-22 10:47:23 -04:00
Andrew W Elble
caab89b9c9 New package: py-lifelines (#19429)
* py-lifelines

* also carry the newer version of lifelines

* 0.25.5 needs python >= 3.6
2020-10-21 22:33:02 -05:00
Andrew W Elble
e800b6029f clp (#19418) 2020-10-21 22:32:44 -05:00
iarspider
74e93aff41 Add Gosam (#19401)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Add gosam

* Flake-8

* Flake-8

* Delete gosam-1.2.4.patch

Remove patch

* Remove patch from recipe

* Changes from MR

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-21 22:32:29 -05:00
Todd Gamblin
8060cca494 tests: increase tolerance of termios tests (#19456)
Synchronization on GitHub macOS runners seems to be very slow, and
frequently the foreground/background tests fail due to the race this
causes. This increases the tolerance for slowness a bit more, to allow up
to 4 spurious output lines in the tests.

This should hopefully result in no more false negatives on these tests
for macOS on GitHub.
2020-10-21 18:12:48 -07:00
Tamara Dahlgren
e78764caa1 Added _poll_lock exception tests (#19446) 2020-10-21 17:32:04 -07:00
Tom Payerle
94221fa225 new package: py-tinyarray (#19454) 2020-10-21 19:28:34 -05:00
Andrew W Elble
ec068f8070 New package: py-autograd-gamma (#19426)
* py-autograd-gamma

* missing dependencies
2020-10-21 19:19:46 -05:00
iarspider
27211ba90b Add Njet (#19399)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Add NJet

* flake-8

* Flake-8

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-21 19:16:29 -05:00
iarspider
399ca3b671 Add qgraf (#19404)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Add qgraf

* Update package.py

Changes from review

* Changes from MR

* Fix for URLs containing @ symbol

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-21 19:16:11 -05:00
Andrew W Elble
5a0303860d osi (#19424) 2020-10-21 19:15:34 -05:00
Todd Gamblin
16e75ecac0 shell support: make which spack output intelligible (#19256)
Zsh and newer versions of bash have a builtin `which` function that will
show you if a command is actually an alias or a function. For functions,
the entire function is printed, and our `spack()` function is quite long.
Instead of printing out all that, make the `spack()` function a wrapper
around `_spack_shell_wrapper()`, and include some no-ops in the
definition so that users can see where it was created and where Spack is
installed.

Here's what the new output looks like in zsh:

```console
$ which spack
spack () {
	: this is a shell function from: /Users/gamblin2/src/spack/share/spack/setup-env.sh
	: the real spack script is here: /Users/gamblin2/src/spack/bin/spack
	_spack "$@"
	return $?
}
```

Note that `:` is a no-op in Bourne shell; it just discards anything after
it on the line. We use it here to embed paths in the function definition
(as comments are stripped).
2020-10-21 17:04:42 -07:00
Todd Gamblin
93e7267dcc unzip: fix build for XCode 12 on macosx (#19453)
- [x] `build_targets` should use `macosx` on macOS, `generic` on other systems
- [x] enable `LARGE_FILE_SUPPORT` by default
2020-10-21 15:31:29 -07:00
iarspider
a1278bfba0 Add Madgraph 2.8.1 (#19400)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Update madgraph to 2.8.1

* Changes from MR

* Changes from MR

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-21 17:13:00 -05:00
Andrew W Elble
935aa06838 New package: py-fastdtw (#19427)
* py-fastdtw

* cython is buildtime dep
2020-10-21 17:09:41 -05:00
G-Ragghianti
d61c236db4 Lapackpp package update (#19447)
* Updated blaspp package

* Modified lapackpp for newest release

* Formatting

* Updates to lapackpp package for new version

* Added dependency on cblas

* Removed cblas dependency

* updated to lapackpp

* Added new version for blaspp and lapackpp

* Removed debugging output

* Converted version matching logic for for loop
2020-10-21 17:09:25 -05:00
Justin S
05df3c3225 py-drmaa: new package at 0.7.9 (#19451) 2020-10-21 17:09:08 -05:00
Justin S
2b3ead0b72 py-sqlalchemy-utils: new package at 0.36.8 (#19449) 2020-10-21 16:52:37 -05:00
Justin S
bbc9c5533e py-jsonref: new package at 0.2 (#19448) 2020-10-21 16:51:39 -05:00
Simon Frasch
44a81bf914 spla: Add version 1.2.1 (#19436) 2020-10-21 16:50:44 -05:00
Massimiliano Culpo
c696518efd Skip malformed spec strings when searching for externals (#19438)
fixes #19266

fzf search method has also been updated

Co-authored-by: Tom Scogland <tom.scogland@gmail.com>
2020-10-21 21:35:02 +02:00
Sajid Ali
2bb775496e mpich : add python build-only dependency (#19403)
* mpich: yaksa configure fix

	modified:   var/spack/repos/builtin/packages/mpich/package.py

* typo

* python is not needed when building from preconfigured tarballs

* add maintainers
2020-10-21 13:38:09 -05:00
Andrew W Elble
b616dbc56b New package: py-autograd (#19425)
* py-autograd

* add missing dependencies
2020-10-21 13:37:05 -05:00
Lígia Diana Amorim
947ba7e8bf Added FFLAGS for apple-clang:11 (#17935)
* Added FFLAGS for apple-clang:11

* Added issue #

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-21 12:34:45 -05:00
Massimiliano Culpo
bd178ead14 gromacs: fix SIMD argument for ppc64le (#19435)
fixes #19414
2020-10-21 11:33:51 -05:00
Chuck Atkins
fdf0cde5b9 veloc: Add missing openssl dependency (#19437) 2020-10-21 12:32:35 -04:00
Andrew W Elble
d4a6efd021 scipoptsuite (#19430) 2020-10-21 10:56:16 -05:00
Andrew W Elble
e9eb9cdc41 py-hdbscan (#19428) 2020-10-21 10:53:43 -05:00
Andrew W Elble
c678f119ba glog (#19423) 2020-10-21 10:48:07 -05:00
Andrew W Elble
70cfdab372 gflags (#19422) 2020-10-21 10:47:31 -05:00
Andrew W Elble
a26b744b65 coinutils (#19421) 2020-10-21 10:46:50 -05:00
albestro
f006a54db2 Update git to 2.29.0 (#19415) 2020-10-21 11:39:43 -04:00
darmac
f4ecc8bad7 update version to avoid compile error (#19363)
* update version to avoid compile error

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-21 10:39:02 -05:00
Kelly (KT) Thompson
490105ea20 Provide doxygen@1.8.20. (#19412) 2020-10-21 10:38:40 -05:00
darmac
1a57787686 py-cvxopt: refine dependency @1.1.9 and update version to @1.2.5 (#19385)
* refine dependency @1.1.9 and update version to @1.2.5

* refine depends_on() for python
2020-10-21 10:22:26 -05:00
iarspider
640d1a0034 Add FORM (#19397)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Add FORM

* Update package.py

Changes from review

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-21 10:20:26 -05:00
iarspider
cf733b2dd2 Add QD (#19402)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Add QD

* Update package.py

Changes from review

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-21 10:18:15 -05:00
Chris Richardson
f0712bde48 Add Allinea to cray-libsci (#19232) 2020-10-21 10:06:31 -05:00
Toyohisa Kameyama
35ad3bb0fc quantum-espresso: fix build fail @6.6 and add conflicts a64fx. (#19383)
* quantum-espresso: fix build fail @6.6 and add conflicts a64fx.

* get patch to gitlab.

* Add +patch
2020-10-21 10:03:54 -05:00
Omri Mor
1147220b9b CMakePackage: added 'ipo' variant (#18374)
+ipo sets CMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
The option is not supported for CMake < 3.9
2020-10-21 11:09:45 +02:00
Massimiliano Culpo
bed929e7a9 Make url_fetch test independent of locale settings (#19390) 2020-10-21 09:18:50 +02:00
Greg Becker
a5faf7d27a Change 'any' to wildcard for variants (#19381) 2020-10-21 08:05:29 +02:00
Martin Aumüller
0e6b818c52 Add new packages: ispc & embree (#19361)
* Add new package: ispc

* Add new package: embree
2020-10-20 19:00:45 -05:00
iarspider
03611f2e89 Thepeg fix (#19405)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* Fixes for thepeg

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-20 16:33:17 -05:00
Josh Essman
cee5c2e755 mfem: Fix support for SUNDIALS and PETSc features (#19326)
* mfem: specify PETSC_DIR, link correct sundials libraries

* fix: only use PETSC_DIR directly for static builds

* fix: only use sundials nvecmpiplusx for MFEM 4.2+
2020-10-20 16:26:34 -05:00
eugeneswalker
fa9ad0a3da tau unwind patch: only patch 2.29, not 2.29.1 (#19409) 2020-10-20 16:25:52 -05:00
iarspider
d9bb90d06e Lhapdf extends python (#19398)
* Add recipe for qgraf

* Revert "Add recipe for qgraf"

This reverts commit 76783f7386.

* LHAPDF should extend Python to get env variables correct

Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-10-20 14:59:54 -05:00
Jean-Paul Pelteret
3a56248eba deal.II: Add more conflicts due to symbol clashes between dependencies (#19408) 2020-10-20 14:55:22 -05:00
Massimiliano Culpo
a51702e3a2 py-archspec: added new package at v0.1.1 (#19395) 2020-10-20 18:40:31 +02:00
darmac
53fc4f92b7 axel: fix build error (#19387) 2020-10-20 11:01:26 -05:00
Chuck Atkins
9241cad299 mesa: Restrict llvm to < 11 (#19393) 2020-10-20 11:59:50 -04:00
darmac
0d1002750e refine setuptools version to avoid spec conflict (#19384) 2020-10-20 10:56:05 -05:00
GaneshPrasadMA
0253f0af29 Adding AOCC compiler to SPACK community (#19345)
* Adding AOCC compiler to SPACK community

The AOCC compiler system offers a high level of advanced optimizations, multi-threading and processor support that includes global optimization, vectorization, inter-procedural analyses, loop transformations, and code generation. AMD also provides highly optimized libraries, which extract the optimal performance from each x86 processor core when utilized. The AOCC Compiler Suite simplifies and accelerates development and tuning for x86 applications.

* Added unit tests for detection and flags for AOCC

* Addressed reviewers comments w.r.t version checks and url,checksum related line lengths

Co-authored-by: Test User <spack@example.com>
2020-10-20 10:50:09 -05:00
ketsubouchi
f68287afe9 boost: fix building old versions with non-system glib and bzip2 (#19389) 2020-10-20 15:39:57 +02:00
Toyohisa Kameyama
9beadc3c14 krims: disable float80 when non x86_64. (#19388) 2020-10-20 15:37:47 +02:00
Roberto Di Remigio
bac1f94046 MRCPP: added new versions up to v1.3.5 (#19257)
Removed all alpha versions too
2020-10-20 14:07:22 +02:00
Seth R. Johnson
18960435af py-pyqt4: Require older version of PySIP (#19391)
Fixes #19322, thanks sto @Sinan81.
2020-10-20 14:05:11 +02:00
Greg Becker
bf47045302 Fix python scripts relying on external python in env (#19241) 2020-10-20 10:09:13 +02:00
Glenn Johnson
87da91cef6 add updated version of py-dnaio (#19374)
* add updated version of py-dnaio

* Add py-setuptools-scm build dependency

* Fine tune the py-xopen dependency constraint

The needed version of xopen does not become specific until v0.4 of
dnaio.

* Set constraint on py-setuptools-scm

The py-setuptools-scm dependency is needed beginning with v0.4.
2020-10-19 19:53:12 -05:00
Glenn Johnson
bb87c1ff54 updated version of py-cutadapt (#19373)
* updated version of py-cutadapt

* Update dependency specs

* Add py-setuptools-scm build dependency

* More constraint fixes

* Fix version range for py-xopen
2020-10-19 19:52:27 -05:00
Martin Aumüller
b5ff28522a Add new package: botan (#19362) 2020-10-19 19:51:15 -05:00
Sajid Ali
3fd3676fc0 gdbm patch (#19380)
* gdbm patching

* compiler name fix

* rename patch
2020-10-19 19:49:31 -05:00
Sajid Ali
7052c65031 external find for cpio (#19379)
* external find for cpio

* address reviewer comments
2020-10-19 17:48:27 -05:00
wspear
92bbc2e789 Added tau version 2.29.1 hash (#19329)
* Added tau version 2.29.1 hash

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

Make version name match branch name (master)

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-19 16:25:58 -05:00
Scott Wittenburg
f561d3845b Fix "buildcache update-index --keys ..." when mirror is S3 (#19141) 2020-10-19 15:24:41 -06:00
Glenn Johnson
449604bfe8 add updated version of py-xopen (#19375)
* add updated version of py-xopen

* Update dependency constraints

* Further refine the python constraints

Also, put them all together.

* Put python constraints at top of list
2020-10-19 16:15:20 -05:00
Sergey Kosukhin
75bfdc7335 netcdf-fortran: support for Cray compiler (#18971) 2020-10-19 16:12:09 -05:00
Glenn Johnson
c31e96dcd7 New package - pulseaudio (#19378)
This PR adds the pulseaudio package and the speexdsp package as a
dependency. In addition, this PR adds a `libs` property to the libtool
package.
2020-10-19 16:11:45 -05:00
Glenn Johnson
95b9875e95 New package - Gate (#19377)
* New package - Gate

This PR adds the Gate package as well as the ITK dependency.

* Fix flake 8 errors

* Be more explicit with CMake options

Make sure Cmake values related to variants are explicitly set to either
ON/OFF.

The ITK_USE_MKL flag will turn on the following:
- USE_FFTWD=ON
- USE_FFTWF=ON
- USE_SYSTEM_FFTW=ON

Since the package depends on fftw-api, those options will always be set.
2020-10-19 16:07:47 -05:00
Glenn Johnson
152144f17a add updated version of trimgalore (#19376) 2020-10-19 14:53:12 -05:00
Glenn Johnson
302c69eb55 Add updated version of fastqc (#19372) 2020-10-19 13:57:43 -05:00
Dr. Christian Tacke
765b41fd34 util-linux: Add version 2.33.1 (#19370) 2020-10-19 13:27:40 -05:00
Robert Pavel
c3f3cea516 Added thrust@1.8.3 (#19368)
Added version 1.8.3 to thrust
2020-10-19 13:26:58 -05:00
Sebastian Schmitt
aef1ff7ec5 Remove version in extends (#19366)
extends expects the package name only.

Cf. #12480.
2020-10-19 13:26:37 -05:00
Andrew W Elble
0df70e217f A collection of tensorflow fixes and updates (#19371)
* A collection of tensorflow fixes and updates

* tensorflow 2.3.1 requires the workaround for external protobuf as well
* Update tensorflow-estimator to 2.3.0
* Update tensorboard to 2.3.0
* Update tensorboard-plugin-wit to use actual releases
* Patch that potentially fixes #16073

* add myself to maintainer list
2020-10-19 13:15:49 -05:00
G-Ragghianti
9cd2ab48ab Slate package: resolves missing header issue (#19032)
* Changed make command to support new slate build variable 'blas='

* Updated to use package's "make install" target

* Added variant 'blas' to support switching blas provider and removed legacy 'mkl' variant.

* Fixed problem caused by systems which use a non-bash /bin/sh

* Removed blas= variant in preference for setting blas provider via spec syntax (e.g., ^openblas).

* Fixed formating

* Changed to MakefilePackage and cleaned up make argument generation

* Implemented "edit" method

* Removed blank line

* Sqitched to using mpi compiler wrapper variables

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-19 12:16:10 -05:00
darmac
761b79e34f r-rgeos: fix build error (#19360) 2020-10-19 10:33:32 -05:00
Amjad Kotobi
432772dbb6 openssh: new version 8.4p1 (#19358) 2020-10-19 10:32:43 -05:00
Amjad Kotobi
cbd100819a anaconda3: new versions (#19357) 2020-10-19 10:31:58 -05:00
darmac
68b05b43e0 Add new package: py-mido (#19355) 2020-10-19 10:22:08 -05:00
darmac
b4f254df5d Add new package: py-cekit (#18813)
* Add new package: py-cekit

* refine dependencies
2020-10-19 10:21:08 -05:00
darmac
ced73019de Add new package: tpm2-tss (#18824)
* Add new package: tpm2-tss

* remove patch(), there's no need to use it
2020-10-19 10:14:51 -05:00
darmac
78986c5575 Add new package: percona-server (#18818) 2020-10-19 10:13:55 -05:00
darmac
d48b186500 py-coapthon3: added new package at v1.0.1 (#18990)
* Add new package: py-coapthon3

* remove mistake version
2020-10-19 11:42:48 +02:00
darmac
3807ceec0b premake-core: added new package at v5.0.0-alpha15 (#18807) 2020-10-19 10:39:40 +02:00
darmac
9799c553e8 wsmancli: added new package at v2.6.0 (#18906) 2020-10-19 10:30:41 +02:00
darmac
fb2aba6f0f junit4: added new package at v4.13 (#18769)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-19 10:11:00 +02:00
Sergey Kosukhin
fd7bfb1a50 filter_compiler_wrappers: a fix for NAG (#17133) 2020-10-18 23:18:18 -05:00
elsagermann
4750d479a0 Add testing option to dev-build command (#17293)
* ADD: testing to dev-build command

* RM: mutally exclusive group for testing in parser

* FIX: test option to subparser and not testing

* ADD: spack-completion.bash

* RM: local devbuildcosmo cmd

* FIX: bad merge --drop-in -b --before options forgotten

* FIX: --test place in spack-completion.bash

* FIX: typo

* FIX: blank line removing

* FIX: trailing white space

Co-authored-by: Elsa Germann <egermann@tsa-ln002.cm.cluster>
2020-10-18 23:17:07 -05:00
ketsubouchi
05ffbbc0be butterflypack: Support fj Fortran (#17514)
* butterflypack: Support fj Fortran

* butterflypack: split patch

* butteflypack: add ieee_support_nan
2020-10-18 23:16:19 -05:00
Massimiliano Culpo
008b77a2a7 nag: added external detection capabilities (#18153) 2020-10-18 23:12:05 -05:00
Wouter Deconinck
9471e9cb03 [docs] Pkg list: current version, not latest release (#18213)
The package list at https://spack.readthedocs.io/en/latest/package_list.html claims "it is automatically generated based on the packages in the latest Spack release" but it is actually based on the develop branch. This leads to confusion when users find that e.g. herwigpp is included in the list, but it cannot be found when they install the latest release. That latest release has a package list at https://spack.readthedocs.io/en/stable/package_list.html which does indeed not include herwigpp.

Changing the language from "the latest Spack release" to "this Spack version" might make that clearer. Maybe.
2020-10-18 23:11:20 -05:00
Robert Blake
1b558aaa81 mpich: Add external find support (#18330)
* Adding external support to mpich

* Removing debugging print statement.
2020-10-18 23:09:13 -05:00
Omar Padron
747151c3b7 remove package: libglvnd (#18363) 2020-10-18 23:08:03 -05:00
Miranda Mundt
29e2196340 Add new package: vvtest (#18701)
* Adding vvtest to spack

* Fixing flake8 failures

* Adding suggestions

* Removing unnecessary import

* Incorporating suggested changes
2020-10-18 23:06:18 -05:00
darmac
e88e6466e2 Add new package: soci (#18816) 2020-10-18 23:04:22 -05:00
arjun-raj-kuppala
761348a3af AMD ROCm rccl - numa.h issue fix (#19317) 2020-10-18 23:01:25 -05:00
Chuck Atkins
7d546a0145 Dataviz sdk update dep variants (#19327)
* ecp-io-sdk: Add preferred variants to all dependencies

* ecp-viz-sdk: Add preferred variants to all dependencies
2020-10-18 22:59:34 -05:00
Massimiliano Culpo
104eee7a7e Revert "ipopt: Add condition for 'aarch64' to Ipopt/config.guess (#13499)" (#19341)
This reverts commit e7f574aad5.
2020-10-18 22:59:18 -05:00
darmac
ea7273a93e Add new package: e2fsprogs (#18763)
* Add new package: e2fsprogs

* refine setup_run_environment()
2020-10-18 22:58:34 -05:00
t-nojiri
d16a980640 vdt: Removed the -mfpu=neon option for aarch64. (#18134) 2020-10-18 22:57:46 -05:00
t-nojiri
18391eef58 coevp: use libquadmath only x86_64 and ppcle. (#18130) 2020-10-18 21:07:04 -05:00
t-nojiri
567caafc58 dmtcp: Fix for aarch64 (#19246) 2020-10-18 20:24:51 -05:00
Jason Miller
25f817b8ae Fix for buildcache -o (#19354)
* Fix for buildcache -o

The method has more positional arguments than the caller expects.

* Address length issue.

Fix pylint/flake errors.
2020-10-18 19:40:28 -05:00
Adam J. Stewart
02575cb3bb bash: add ssh flag (#18992)
* bash: add flag on macOS

* Add flag unconditionally
2020-10-18 17:40:32 -04:00
Adam J. Stewart
c3f8df7c52 py-scipy: added v1.5.3 (#19353) 2020-10-18 16:15:23 +02:00
Stephen Hudson
c8581989d5 Update libensemble to v0.7.1 (#19349)
* Update libensemble to v0.7.1

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-17 19:00:54 -05:00
Nichols A. Romero
8619e5b5ab Removing classic flang. (#19350) 2020-10-17 15:27:09 -05:00
Ryan Mast
1a63baef4d helics: Add version 2.6.1 (#19348) 2020-10-17 15:23:40 -05:00
Omri Mor
bff0291dac Spec: fix multiple generator iteration in satisfies_dependencies (#18527) (#18559) 2020-10-17 11:40:31 +02:00
Nichols A. Romero
1a6c5ff541 Add LLVM 11.0.0 (#19309)
* Add LLVM 11.0.0

* This longdouble patch was merged in.
2020-10-16 23:02:57 -05:00
manifest
89332361ba gemini dep py-geneimpacts + (#19334) 2020-10-16 16:32:59 -05:00
iarspider
da71e9e88e Fix tar detection (missing import: re) (#19338)
Co-authored-by: iarspider <iarpsider@gmail.com>
2020-10-16 16:31:40 -05:00
iarspider
7296f8c628 Add external package support to xz (#19339)
* Add external package support to xz

* Flake-8

Co-authored-by: iarspider <iarpsider@gmail.com>
2020-10-16 16:30:57 -05:00
iarspider
e9da8d1633 Add external package support to bzip2 (#19343)
* Add external package support to bzip2

* Flake-8

* Flake-8 part 2

Co-authored-by: iarspider <iarpsider@gmail.com>
2020-10-16 16:28:31 -05:00
Scott McMillan
a612be1c98 New compiler: nvhpc (NVIDIA HPC SDK) (#19294)
* Add nvhpc compiler definition: "spack compiler add" will now look
  for instances of the NVIDIA HPC SDK compiler executables
  (nvc, nvc++, nvfortran) in supplied paths
* Add the nvhpc package which installs the nvhpc compiler
* Add testing for nvhpc detection and C++-standard/pic flags

Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2020-10-16 14:04:27 -07:00
iarspider
78f349c635 ghostscript: add external package detection (#19346)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-10-16 20:13:39 +02:00
Pieter Ghysels
f0b1f93d12 Fix for MKL ScaLAPACK (#19336) 2020-10-16 11:08:38 -05:00
darmac
01cf1d79db parquet-format: added new package at v2.8.0 (#18544)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-10-16 17:54:42 +02:00
manifest
506d2795a8 py-inheritance: added new package at v0.1.5 (#19337) 2020-10-16 17:07:23 +02:00
iarspider
8c7385096e spack external find: fix debug output (#19342)
Output was, e.g. `Executables in /bin and /,u,s,r,/,b,i,n are both associated with the same spec xz@5.2.2`, will be `Executables in /bin and /usr/bin are both associated with the same spec xz@5.2.2`.
2020-10-16 16:46:41 +02:00
iarspider
d34b612052 diffutils: added support for external detection (#19344) 2020-10-16 16:10:07 +02:00
t-nojiri
4b9701a195 opium : convert to be an autotools package (#18708) 2020-10-16 12:08:59 +02:00
Toyohisa Kameyama
a481087695 autotools: recursively patch config.guess and config.sub (#18347)
Previously config.guess and config.sub were patched only
in the root of the source path. 

This modification extend the previous behavior to patch every
config.guess or config.sub file even in subfolders, if need be.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-10-16 11:30:06 +02:00
dunatotatos
cdeecf2507 GenomeWorks: added new package at v0.5.3 (#19263) 2020-10-16 10:17:32 +02:00
Harsh Bhatia
878e89ecea faiss: added new package at v1.6.3 (#17290)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-10-16 09:47:22 +02:00
Greg Becker
7a6268593c Environments: specify packages for developer builds (#15256)
* allow environments to specify dev-build packages

* spack develop and spack undevelop commands

* never pull dev-build packges from bincache

* reinstall dev_specs when code has changed; reinstall dependents too

* preserve dev info paths and versions in concretization as special variant

* move install overwrite transaction into installer

* move dev-build argument handling to package.do_install

now that specs are dev-aware, package.do_install can add
necessary args (keep_stage=True, use_cache=False) to dev
builds. This simplifies driving logic in cmd and env._install

* allow 'any' as wildcard for variants

* spec: allow anonymous dependencies

raise an error when constraining by or normalizing an anonymous dep
refactor concretize_develop to remove dev_build variant
refactor tests to check for ^dev_path=any instead of +dev_build

* fix variant class hierarchy
2020-10-15 17:23:16 -07:00
Omar Padron
2ed39dfd8e make opengl and spectrum-mpi set has_code = False (#19133)
* make opengl and spectrum-mpi set has_code = False
2020-10-15 15:13:21 -04:00
Sreenivasa Murthy Kolam
0b6f995187 Update migraphx for rocm 3.8 (#19300)
* update to migraphx for rocm_3.7.0 and rocm_3.8.0

* fix flake8 errors

* address review comments

* review changes

* removed the msgpack,mentioned twice
2020-10-15 10:41:48 -05:00
darmac
9240058c0d Add new package: bdii (#18732)
* Add new package: bdii

* bdii: refine dependents
2020-10-15 16:47:06 +02:00
darmac
a9d25ea01b py-acme-tiny: added new package at v4.0.4 (#18808) 2020-10-15 16:14:13 +02:00
Jean-Paul Pelteret
c1f2d6a73b GiNaC: added new package at v1.7.11, updated cln (#15730) 2020-10-15 16:03:12 +02:00
Tom Payerle
d034d622c0 papi: restrict +sde to @6.0.0: (#19290)
Software defined events (SDE) appear to have been introduced only in
@6.0.0 (see e.g. http://icl.utk.edu/papi/software/view.html?id=275)
See #19289
2020-10-15 15:44:10 +02:00
Tom Payerle
9a554769a3 pexsi: add openmp flags to fortran flags if dependencies use OpenMP (#19274)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-15 15:41:58 +02:00
Cody Balos
a9dfa89c89 xbraid: added v2.3.0 and v3.0.0 (#19280) 2020-10-15 15:38:05 +02:00
Adam J. Stewart
d1423e21fb CMake: added v3.18.3 and v3.18.4 (#19302) 2020-10-15 15:28:09 +02:00
manifest
4b9bdea26b blasr-libcpp: improved setup_run_environment (#18038)
Added non standard paths to LD_LIBRARY_PATH
2020-10-15 15:26:39 +02:00
Thomas Gruber
f45e8ac70b LIKWID: added v5.0.2, new depends_on clauses and a patch for Lua (#19164) 2020-10-15 15:20:04 +02:00
G-Ragghianti
1bf87447ad Blaspp: added v2020.10.0, v2020.09.0, reworked recipe (#19311) 2020-10-15 14:58:31 +02:00
Hadrien G
298e18dbf3 acts: added v1.02.0 (#19305) 2020-10-15 14:13:55 +02:00
Axel Huebl
d1bfc426b0 Py-Pillow: added v8.0.0 (#19320) 2020-10-15 14:13:04 +02:00
Erik Schnetter
e4c1cb380b amrex: Add CUDA variant (#19306)
* amrex: Add CUDA variant

* amrex: require at least cuda 9
2020-10-14 21:24:20 -05:00
Jean-Paul Pelteret
50c7bc8cfd deal.II: Fix broken include and library path concatenation (#19315) 2020-10-14 21:23:55 -05:00
Nichols A. Romero
71d2ce7403 Removing f18 package. (#19307) 2020-10-14 13:44:22 -05:00
Tomoki, Karatsu
72f431b67b autotools.py: fix the list of objects to be removed from libtool (Fujitsu). (#19303) 2020-10-14 19:01:49 +02:00
vvolkl
a9bc5f7751 [delphes] new version, new env var (#19304) 2020-10-14 11:55:44 -05:00
Tomoki, Karatsu
48b14c4ac6 uqtk: Add version and fixes for Fujitsu compiler. (#19288)
* uqtk: Add version and fixes for Fujitsu compiler.

* Fixed order of versions.

* Add condition to execute function.
2020-10-14 11:44:27 -05:00
Nichols A. Romero
2651fab8d1 Flang NVidia offload fix (#18965)
* Make release_90 preferred version.

* Be more explicity about CUDA dependencies.

* Remove duplicate CUDA dependency in Flang package and introduce nvptx variant.

* Fix nvptx variant message.
2020-10-14 11:35:25 -05:00
Chuck Atkins
383b5b70cc adios2: Remove rogue zmq dependency for ssc engine (#19293) 2020-10-14 00:47:15 -07:00
Edoardo Aprà
c60cbab215 new release 7.0.2 (#19297) 2020-10-13 23:06:21 -05:00
Justin S
721efc62d1 busco: add 4.1.3 (#19296) 2020-10-13 23:05:43 -05:00
David M. Rogers
beeab6e1b9 Make DEAL_II_MPI_WITH_CUDA_SUPPORT conditional on mpi package option. (#19279) 2020-10-13 13:23:04 -05:00
hhoeflin
74a30bc624 Update neovim build and libvterm (#19015)
* Fixed wrong link to version 0.0.0 and add hash for version 0.1.4

* Fix failing build for neovim@master and neovim@stable and add hash for version 0.4.0

* Fix flake8 issues

* Removed unnecessary newline

* Depedency conditions restriction to neovim >= 0.2.0 as previous versions fail to compile

* Removed build dependency on git

* Removed master from all conditions
2020-10-13 13:18:08 -05:00
Massimiliano Culpo
b84812256d autotools: add attribute to delete libtool archives .la files (#18850)
* autotools: add attribute to delete libtool archives .la files

According to Autotools Mythbuster (https://autotools.io/libtool/lafiles.html)
libtool archive files are mostly vestigial, but they might create issues
when relocating binary packages as shown in #18694.

For GCC specifically, most distributions remove these files with
explicit commands:

https://git.stg.centos.org/rpms/gcc/blob/master/f/gcc.spec#_1303

Considered all of that, this commit adds an easy way for each
AutotoolsPackage to remove every .la file that has been installed.
The default, for the time being, is to maintain them - to be consistent
with what Spack was doing previously.

* autotools: delete libtool archive files by default

Following review this commit changes the default for
libtool archive files deletion and adds test to verify
the behavior.
2020-10-13 09:15:48 -07:00
vvolkl
c40de7c895 [acts] fix boost dependency (#19286)
@HadrienG2  the dependency is definitely there in all versions, but I did not check if the variants need to be adapted for the newer variants of acts
2020-10-13 10:09:14 -05:00
Toyohisa Kameyama
edfbfc8962 ppopen-math-vis: change download site to github. (#19285) 2020-10-13 10:08:21 -05:00
darmac
e65bb455eb talloc: update version and dependencies (#18817) 2020-10-13 09:58:41 -05:00
darmac
4402506527 Add new package: py-rbtools (#18963)
* Add new package: py-rbtools

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

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

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

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

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-13 09:57:50 -05:00
darmac
8e1e6585c4 Add new package: dnstracer (#18933)
* Add new package: dnstracer

* refine package class
2020-10-13 09:55:55 -05:00
darmac
97be7e7dd3 Add new package: libopts (#18836)
* Add new package: libopts

* fix flake8 error
2020-10-13 09:55:09 -05:00
darmac
d302d546a4 Add new package: py-eg (#18885)
* Add new package: py-eg

* refine dependency
2020-10-13 09:54:35 -05:00
darmac
3834bdfc27 Add new package: symlinks (#18925)
* Add new package: symlinks

* refine edit()
2020-10-13 09:54:06 -05:00
darmac
3b5cdf2f68 Add new package: xfsprogs (#18829)
* Add new package: xfsprogs

* remove lib64 path
2020-10-13 09:52:33 -05:00
Chuck Atkins
6084529eff paraview: Fix external dependencies for various versions (#19236) 2020-10-13 09:51:23 -05:00
darmac
08e30a21b0 py-adb-enhanced: new package at v2.5.4 (#19010) 2020-10-13 16:14:31 +02:00
darmac
5bddc652c5 Add new package: byteman (#18736) 2020-10-13 14:19:47 +02:00
Toyohisa Kameyama
9f6086e5c8 ppopen-math-mp: change download site to github. (#19284) 2020-10-13 10:31:21 +02:00
Adam J. Stewart
021cad1521 zip: add patches (#18994)
* zip: add patches

* Add .patch suffix

* Simplify build targets
2020-10-13 09:47:25 +02:00
Ganesh Kumar
cfd69da839 mivisionx: added package at v3.8.0 (#19042) 2020-10-13 09:30:53 +02:00
Toyohisa Kameyama
ae5c0054b3 ppopen-at: change download site to github (#19282) 2020-10-13 08:36:03 +02:00
Pieter Ghysels
cb9e0d5297 STRUMPACK: added v5.0.0 (#19283) 2020-10-13 08:21:59 +02:00
Adam J. Stewart
cb4e30b477 Python: add both lib and lib64 to PYTHONPATH (#18523) 2020-10-12 17:59:20 -07:00
Tomoki, Karatsu
82a224b0da octave: Specify fortran calling-convention for Fujitsu compiler. (#19218) 2020-10-12 16:53:37 -05:00
Michael Kuhn
a062517d3d gcc: Restrict permitted cuda versions (#19267)
gcc seems to use sm_30, which has been dropped in cuda@11.
2020-10-12 14:15:51 -05:00
Tom Payerle
7c12ca1d83 m4: Fix issue compiling with new intel compilers (#18894) (#19273)
Original version added --no-gcc to CFLAGS when compiling with intel
compilers.  This does not appear to be needed and indeed causes problems
(see #18894) with newer intel compilers; I have modified so it is not
added for intel@19: (I confirmed it is needed/works for intel@20, based
on comments in #18854 looks like holds for intel@19 as well).

(Also fix old formatting issue flake8 was complaining about)
2020-10-12 14:13:11 -05:00
Mark Olesen
7a562d4045 openfoam: update for version 20.06 patch 2020-10-12 (#19275)
Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-10-12 14:09:32 -05:00
Joe Koning
7a8974c2d8 Update py-redis (#19063)
* Update of py-redis for merlin-1.7.5

* Add hiredis variant and python versions for 3.5.x versions.

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-12 14:05:09 -05:00
Evan Bollig
7b0e628016 Added slurm version 20-02-4-1 and support to build slurmrestd (#19249)
* Added slurm version 20-02-4-1 and support to build slurmrestd

* cleanup formatting

* cleanup libjwt to pass unittests

* missed one boilerplate

* hacking a pass in unittests

* defer to default install routine in libjwt
2020-10-12 13:52:23 -05:00
Dr. Christian Tacke
7a28b91bb8 singularity: added v3.6.3 (#19272) 2020-10-12 19:28:28 +02:00
darmac
b50fe3cb6b evemu: added new package at v2.7.0 (#19013) 2020-10-12 18:14:55 +02:00
darmac
7083a542b6 libnetfilter-conntrack: new package at v1.0.4 (#19012) 2020-10-12 18:13:29 +02:00
Thomas Madlener
bead81fab5 [whizard] Disable parallel builds to avoid race condition (#19270) 2020-10-12 17:07:21 +02:00
Massimiliano Culpo
2399c2e78d autotools: refactor search paths for aclocal in its own method (#19258)
This commit refactors the computation of the search path
for aclocal in its own method, so that it's easier to reuse
for packages that need to have a custom autoreconf phase.

Co-authored-by: Toyohisa Kameyama <kameyama@riken.jp>
2020-10-12 16:35:52 +02:00
Harmen Stoppels
2d9f692d6c libamd_comgr.so.1 is linked to by libamdhip64.so.3, so it should be a link dep (#19025) 2020-10-12 16:28:48 +02:00
darmac
99278d9863 rng-tools: added new package at v6.10 (#19011) 2020-10-12 16:23:35 +02:00
darmac
c2517a31bf openwsman: added new package at v2.7.0 (#19009) 2020-10-12 16:20:35 +02:00
darmac
89cd3cfdb7 glib-networking: added new package at v2.66.0 (#19008) 2020-10-12 16:19:57 +02:00
darmac
39ded3fa0f ecdsautils: new package at v0.3.2 (#19007) 2020-10-12 16:18:32 +02:00
darmac
c49e66a06e conserver: added new package at v8.2.5 (#18988) 2020-10-12 15:17:32 +02:00
darmac
e929cb4d51 cc65: added new package at v2.18 (#18989) 2020-10-12 15:03:46 +02:00
Tomoki, Karatsu
db16f3e0d4 autotools.py: removed some options from libtool only for Fujitsu. (#19217) 2020-10-12 14:42:49 +02:00
darmac
93f8b14de5 console-bridge: added new package at v1.0.1 (#18986) 2020-10-12 14:39:41 +02:00
Dr. Christian Tacke
fe984b994d root: added more 6.20.* versions, switch preferred (#19265) 2020-10-12 14:12:19 +02:00
darmac
3a914f83c3 cmark: added new package at v0.29.0 (#18985) 2020-10-12 14:07:10 +02:00
Glenn Johnson
9915ce0315 Change how CUDA variants are handled for libbeagle (#18984)
- Override the cuda_arch variant setup, with multi=False to ensure one
  value is selected
- Use a conflicts statement rather than InstallError
2020-10-12 14:06:26 +02:00
Glenn Johnson
bd8c73ef18 Change how CUDA variants are handled (#18983)
- Override the cuda_arch variant setup, with multi=False to ensure one
  value is selected
- Use a conflicts statement rather than InstallError
2020-10-12 14:00:56 +02:00
Frédéric Simonis
3107f0367b precice: added v2.1.1 (#19264) 2020-10-12 13:25:51 +02:00
darmac
023db4696e asciidoc-py3: new patckage at v9.0.2 (#18920) 2020-10-12 13:23:48 +02:00
Glenn Johnson
eb03e648ec Fix r-devtools package (#18981)
The r-devtools package was not installable due to a few issues.

- The rstudioapi spec was for 0.11.0 but the rstudioapi version is
  actually 0.11. This caused an error during concretization.
- Set r-usethis to depend on rlang@0.4.3: rather than r-lang@0.4.3.
- Set r-usethis to depend on r-gh@1.1.0: rather than r-gh@1.1.0.
- Added version r-gh-1.1.0 as it is not currently present in spack.
2020-10-12 13:22:41 +02:00
David M. Rogers
d431fcd904 Added CUDAHOSTCXX variable needed to compile with cuda and mpi. (#19254)
* Added CUDAHOSTCXX variable needed to compile with cuda and mpi.

* Added guard for setting CUDAHOSTCXX with MPI.

* Acceptable working version of dealii+cuda+mpi.
2020-10-12 02:28:06 -07:00
h-denpo
88794f56ed itstool: modify depends_on('libxml2+python', type=('build', 'run')) (#19020) 2020-10-12 10:29:30 +02:00
Adam J. Stewart
1b9dce6b26 Python: add v3.9.0 (#19260) 2020-10-11 21:16:51 -07:00
Adam J. Stewart
372ac4a073 Add testing for Python 3.9 (#19261) 2020-10-11 21:16:00 -07:00
Adam J. Stewart
759e8ee4c2 CUDA: update maintainers (#19262) 2020-10-11 21:11:17 -07:00
Toyohisa Kameyama
683ecb3f6e mpifileutils: Add patch for aarch64. (#18724)
* mpifileutils: Add patch for aarch64.

* Update patch and limit version for apply patch.
2020-10-11 18:49:38 -05:00
Jean-Paul Pelteret
fe239c83fc deal.II: Further modernisation and improvements (#19253) 2020-10-11 15:48:09 -04:00
Adam J. Stewart
cc136c27a9 Fix failing mpich build tests (#19259)
By default Spack uses the latest (highest version) GCC 
compiler available, which might change across updates
of the Github CI environment.

Since a C compiler is always installed and `mpich~fortran`
will result in faster build times, avoid building the FORTRAN
interface as part of the test.
2020-10-11 20:49:59 +02:00
Daniel Arndt
46cae921b9 Update datatransferkit (#19239)
Conflicts:
	var/spack/repos/builtin/packages/datatransferkit/package.py
	var/spack/repos/builtin/packages/xsdk/package.py
2020-10-11 13:27:54 -05:00
Roberto Di Remigio
7f46c11fda Update XCFun with stable releases (#18784)
* Update XCFun with stable releases

* Fix lint
2020-10-10 21:14:15 -05:00
darmac
0ed8bbe765 Add new package: libgssglue (#18774) 2020-10-10 21:11:31 -05:00
darmac
be530949bb Add new package: pinfo (#18806) 2020-10-10 21:11:03 -05:00
darmac
794f2c7510 Add new package: xdelta (#18827) 2020-10-10 21:09:55 -05:00
tcojean
a691e75af3 Ginkgo: new version and HIP support (#18842)
* Bump the Ginkgo version and add HIP support.

* Add the HIP variant to Ginkgo.

* Make HIP support work, check C++ compatibility.
2020-10-10 21:08:58 -05:00
Tom Payerle
793ffd8d9c cpio: Fix issue compiling with newer intel compilers (#18854) (#18855)
* cpio: Fix issue compiling with newer intel compilers (#18854)

Do not add --no-gcc for recent intel compilers (e.g. 20.x)

* cpio: Remove --no-gcc flag for intel@19 as well as intel@20

Based on comments from @nrichart, removing --no-gcc option for intel@19
as well as intel@20
2020-10-10 21:07:04 -05:00
Toyohisa Kameyama
a408400619 audacious: add link type build to glib. (#18884) 2020-10-10 21:05:18 -05:00
Kelly (KT) Thompson
933aacf7b6 Provide draco-7_8_0. (#18947)
* Provide draco-7_8_0.

+ Also provide a patchfile for draco-7_6_0 to support CrayPE builds.
+ Version 7.8.0 has a new variant `+caliper`.
+ Sort dependencies alphabetically after grouping by required and optional.

* Remove patchfile that is no longer needed.

+ Newer versions of draco do not require this patch.
+ Older versions of draco are not supported for spectrum-mpi.

* Change new variant +caliper to default to False.
2020-10-10 21:02:00 -05:00
darmac
e8306e8f22 Add new package: less (#18952) 2020-10-10 21:00:54 -05:00
darmac
ec6f13aefa Add new package: lsscsi (#18953) 2020-10-10 20:59:21 -05:00
darmac
6e4cf08984 Add new package: libnftnl (#18954) 2020-10-10 20:58:53 -05:00
darmac
edfac1a04f Add new package: authd (#18955) 2020-10-10 20:58:29 -05:00
darmac
ff5d95da95 Add new package: backupninja (#18957) 2020-10-10 20:55:58 -05:00
darmac
3a59057f74 Add new package: universal-ctags (#18962) 2020-10-10 20:55:33 -05:00
darmac
28564620f6 Add new package: vtable-dumper (#18964) 2020-10-10 20:54:43 -05:00
Derek Ryan Strong
c9bee59bc3 pandoc: add variant for texlive (#18967)
* pandoc: add variant for texlive

Modifies the pandoc package by adding a variant for texlive, which is only needed for PDF output. Enables this variant by default.

* Fix whitespace
2020-10-10 20:53:51 -05:00
Toyohisa Kameyama
6383ef808d poplpler: fix patch for 0.90.1. (#18969) 2020-10-10 20:53:05 -05:00
Sergey Kosukhin
5a49c2bcaf parallel-netcdf: patch for PGI on Cray (#18972) 2020-10-10 20:50:25 -05:00
t-nojiri
b7ed6b4fe0 jellyfish@1.1.11: Change the type of the array dna_codes to the signed type. (#19019)
* jellyfish@1.1.11: Change the type of the array dna_codes to the signed type.

* jellyfish@1.1.11: Add patch file
2020-10-10 20:33:08 -05:00
Michael Kuhn
588cf7e03c julea: Fix dependency typo and add new optional rocksdb dependency (#19045) 2020-10-10 20:28:56 -05:00
vvolkl
e37e66abd1 [dd4hep] update version v1.14.1 (#19056)
up
2020-10-10 20:26:44 -05:00
t-nojiri
1bd825674a fl: Fix for aarch64 (#19089)
* fl: Fix for aarch64

* fl: Revise the points indicated by the review.
2020-10-10 20:25:36 -05:00
Tom Payerle
b3eb07cae0 superlu-mt: Add openmp flag to link command when using OpenMP (#19096)
Fix for #19095

When given +openmp, add the correct compiler openmp flag to the link
stage.  This seems to be required for %intel compilers.
I do this for all compilers, not just %intel, because it does not seem
to harm anything and might be beneficial for others (and just seems
'correct').
2020-10-10 20:24:08 -05:00
Pariksheet Nanda
9c5f0cab1d meme: newer tarballs use a hyphen (#19222)
* meme: newer tarballs use a hyphen

* meme: remove trailing whitespace for flake8
2020-10-10 20:12:39 -05:00
Keita Iwabuchi
ea101daf81 Update Metall package to v0.4 and v0.5 (#19223)
* Metall: add version 0.2

* Add Metall v0.3

* Update Metall package to v0.4 and v0.5.
2020-10-10 20:11:40 -05:00
Dingwen Tao
03b9f0452c Add cuSZ (#19228)
Co-authored-by: Dingwen Tao <tao@cs.ua.edu>
2020-10-10 20:10:55 -05:00
Melven Roehrig-Zoellner
ac91328c69 eigen: add a patch for 3.3.8 (#19229)
* eigen: add a patch for 3.3.8

* eigen: try to fix indenting
2020-10-10 20:09:21 -05:00
Hadrien G
528f86ddc4 [acts] Add version 1.1 (#19230) 2020-10-10 20:08:19 -05:00
Thomas Madlener
31772844d8 [whizard] Add compiler constraints and minimal ocaml version (#19231) 2020-10-10 20:07:43 -05:00
MichaelLaufer
ba04e8b890 parallel-netcdf: added burst buffer variant (#19237)
Co-authored-by: michael laufer <michael.laufer@toganetworks.com>
2020-10-10 19:56:51 -05:00
Andrew Gaspar
08a61006a5 Rust 1.47.0 (#19240) 2020-10-10 17:01:38 -05:00
h-denpo
cd800c20d3 asdcplib: Added PATH of openssl installed by spack to configure_args. (#19243) 2020-10-10 16:59:19 -05:00
Stan Tomov
160c00e3f7 Add MAGMA v2.5.4 release (#19245)
This release does not have conflict with CUDA 11.
2020-10-10 16:58:37 -05:00
darmac
3dd41548f6 Add new package: powertop (#18904) 2020-10-10 16:52:44 -05:00
Sajid Ali
9c56495503 py-scikit-image: bump version (#19153)
* py-scikit-image: bump version

* address reviewer comments

* address reviewer comments

* address reviewer comments

* py-scikit-image : update dependencies : part 2

* cloudpicke is a docs only dependency, enable it with a variant if necessary

* address reviewer comments

* cleanup build vs run deps

* address reviewer comments
2020-10-10 16:52:00 -05:00
Andrew Gaspar
ac7c3a1305 make py-pillow the default for pil (#19251)
py-pillow-simd is not portable to other architectures.
2020-10-10 12:55:07 -05:00
Jean-Paul Pelteret
69eb51dbfe dealii: Reorganize package and add some new settings (#19137)
New variants:
- cxxstd
- examples
2020-10-10 09:20:53 -04:00
Geoff Womeldorff
35a9626ae9 Add package for FLCL (#19252)
* Initial cut at FLCL spackage. Works with GCC so far.

* Update spackage to list release which supports spack. Add @agaspar as a maintainer. Default unit tests to disabled when building with spack.

* Change url to 0.2.

* Nope, 0.3.
2020-10-09 17:37:17 -06:00
Danny Taller
012b4279b6 camp: new package (#19235) 2020-10-09 15:25:06 -07:00
Brian Van Essen
9a46ee0085 Fixed the dependency of newer OpenMPI on current hwloc. Pathch (#17917)
contributed by Thorsten Kurth.
2020-10-09 15:29:58 -05:00
谭九鼎
5e9f4dc982 Use https for links (#19244) 2020-10-09 11:24:09 -05:00
Andreas Baumbach
47e253f7fe Add new package: bitsery (#19090) 2020-10-09 11:17:33 -05:00
Andreas Baumbach
830b30b8d5 Patch cereal (#19091)
Change-Id: I9fe2a1490c8c31a4174aca4ed2e270aa1efa1a50

Co-authored-by: Eric Müller <mueller@kip.uni-heidelberg.de>
2020-10-09 11:17:11 -05:00
Shahzeb Siddiqui
796561ed82 add package py-lmodule version 0.1.0 (#18856)
* add package py-lmodule version 0.1.0

Lmodule is tested with lmod >= 7.x. Lmod 6 has different json
structure in spider which is not supported by lmodule
2020-10-08 17:52:42 -05:00
Tom Payerle
47a7cd6a93 py-charm4py: new package (#18666)
* py-charm4py: new package

Charm++ for python

Installation notes:

1) charm4py ships with its own charm++ tarball.  It really wants
to use the version it ships with. It also builds charm++ in a special way to
produce libcharm.so (but not charmc, etc), so it does not seem
worthwhile to try to hack to build using a spack installed charmpp.

2) Originally, the installation was failing due to unresolved cuda
symbols when setup.py was doing a ctypes.CDLL of libcharm.so (in order
to verify version?).  This appears to be due to the fact that
libcharm.so had undefined cuda symbols, but did not show libcudart.so as
a dependency (in e.g. ldd output).  To fix this, I had to add
libcudart.so explicitly when linking libcharm.so, but since setup.py
untars a tarball to build libcharm, the solution was a tad convoluted:
2a) Add a patch in spack to py-charm4py which creates a patchfile
"spack-charm4py-setup.py.patch" which will modify a Makefile file (after it
is untarred) to add the flags in env var SPACK_CHARM4PY_EXTRALIBS to
the link command for libcharm.so
2b) The spack patch file also patches setup.py to run patch using the
aforementioned patchfile to patch the Makefile after it is untarred, and
sets the SPACK_CHARM4PY_EXTRALIBS variable appropriately in the setup
environment.

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

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

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

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

* py-charm4py: flake8 fixes

remove useless import

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-08 16:29:47 -05:00
perrymil
adf0ac1902 Pymol 2.4 package update (#18618)
* Update Package, Pymol 2.4

* Fixed flake8 stuff

* more style fixes

* missing ( at EOF

* added py-pymol 2.3 back this

* extra line removal

* white space in empty line removal

* added libpng and py-pyqt5 to prefix_path
2020-10-08 15:13:03 -05:00
darmac
f0e6d6619b Add new package: py-bmap-tools (#18810) 2020-10-08 15:11:01 -05:00
darmac
7de890fe22 Add new package: py-azote (#18960) 2020-10-08 15:09:30 -05:00
darmac
9366fe261b Add new package: py-walinuxagent (#18961) 2020-10-08 15:08:38 -05:00
Joe Koning
a7de469f58 Update of py-merlin for merlin-1.7.5 (#19069) 2020-10-08 14:56:10 -05:00
Andrew Gaspar
ee8d225757 Update py-fortran-language-server (#19156)
* Update py-fortran-language-server

* Restore v1.11.1
2020-10-08 14:44:32 -05:00
takanori-ihara
cbaa78cb4a fujitsu-ssl2: Add new package (#18498)
fujisu-ssl2: Add new package with thread-parallel, SVE and scalapack support
2020-10-08 09:36:00 -07:00
rvinaybharadwaj
cb11a58fdd Add mlperf-deepcam (#19206)
* Add mlperf-deepcam

* Change mlperf-deepcam to reflect updated name of dependency
2020-10-08 08:24:50 -06:00
rvinaybharadwaj
8b0a9f482f Add py-wandb (#19168) 2020-10-08 07:46:07 -06:00
rvinaybharadwaj
865e483abc Add py-sentry-sdk (#19173) 2020-10-08 07:04:01 -06:00
rvinaybharadwaj
bd8e307e82 Add py-sanic (#19174)
* Add py-sanic

* Update package.py

Co-authored-by: Christoph Junghans <christoph.junghans@gmail.com>
2020-10-08 05:59:06 -06:00
t-nojiri
d0bb991838 openimageio: added v2.2.7.0 (#19227) 2020-10-08 13:02:12 +02:00
rvinaybharadwaj
dc6132ff70 Add py-apache-beam (#19204) 2020-10-07 22:07:39 -06:00
rvinaybharadwaj
e70d9e3971 Add py-avro-python3 (#19202)
* Add py-avro-python3

* Adding deprecation warning

* Updating python versions

* Fixing docstring indentation

* Update package.py

Co-authored-by: Christoph Junghans <christoph.junghans@gmail.com>
2020-10-07 21:28:13 -06:00
rvinaybharadwaj
a83f6bdb46 Add py-httpx (#19185) 2020-10-07 20:59:51 -06:00
rvinaybharadwaj
2c387a3674 Add py-fastavro (#19196) 2020-10-07 20:17:05 -06:00
rvinaybharadwaj
26c1eb57db Add py-h2 (#19191) 2020-10-07 20:13:58 -06:00
rvinaybharadwaj
804b5f33f4 Add py-httpcore (#19187) 2020-10-07 20:13:34 -06:00
rvinaybharadwaj
11bcdc6ad1 Add py-falcon (#19197) 2020-10-07 14:37:23 -06:00
rvinaybharadwaj
d1bc0b6925 Add py-mlperf_logging (#19182)
* Add py-mlperf_logging

* replacing _ by - in package name
2020-10-07 14:32:11 -06:00
rvinaybharadwaj
3401404a26 Add py-uvloop (#19169) 2020-10-07 14:14:47 -06:00
rvinaybharadwaj
5580dbd899 Add py-crcmod (#19207)
* Add py-crcmod

* Updating homepage
2020-10-07 14:14:19 -06:00
rvinaybharadwaj
fe728a9741 Add py-future (#19195) 2020-10-07 13:39:10 -06:00
rvinaybharadwaj
6266ce9a9f Add py-rfc3986 (#19176) 2020-10-07 13:34:30 -06:00
rvinaybharadwaj
0a363b4c5d Add py-snappy (#19171) 2020-10-07 13:32:47 -06:00
rvinaybharadwaj
406491e239 Add py-grpcio (#19193) 2020-10-07 13:30:16 -06:00
rvinaybharadwaj
2d44d135fd Add py-gitpython (#19194)
* Add py-gitpython

* removing 3.1.7 checksum
2020-10-07 13:27:51 -06:00
rvinaybharadwaj
2b5bef3685 Add py-pytorch-gradual-warmup-lr (#19178)
* Add py-pytorch-gradual-warmup-lr

* Fixed license header

Co-authored-by: Robert Pavel <rspavel@lanl.gov>
2020-10-07 13:26:26 -06:00
zhiyuanzhai
38bfb81e2b macOS 11 version check for Perl (#19210)
* Fix 'unexpected product version' error for macOS 11.0

* Adjustment: add the minimum version that this macOS patch is necessary.

* Adding a keyword to prevent the patch being applied to systems other than darwin (macOS)

* Deleting quotation marks
2020-10-07 13:55:35 -05:00
rvinaybharadwaj
215183524c Add py-backports-lzma (#19201)
* Add py-backports-lzma

* Fixing python version compatibility
2020-10-07 10:38:29 -06:00
rvinaybharadwaj
91047a9722 Add py-sniffio (#19170) 2020-10-07 10:36:33 -06:00
rvinaybharadwaj
59c8761b9e Add py-shortuuid (#19172) 2020-10-07 10:34:42 -06:00
rvinaybharadwaj
5938a5d751 Add py-rq (#19175) 2020-10-07 10:33:25 -06:00
rvinaybharadwaj
7e4c8907da Add py-redis (#19177) 2020-10-07 10:30:42 -06:00
rvinaybharadwaj
77919e6693 Add py-pyspark (#19179) 2020-10-07 10:29:20 -06:00
rvinaybharadwaj
8956ee3bd8 Add py-pure-eval (#19180) 2020-10-07 10:28:56 -06:00
rvinaybharadwaj
a9de94bbd4 Add py-hyperframe (#19184) 2020-10-07 10:27:47 -06:00
rvinaybharadwaj
cde510b5f1 Add py-httptools (#19186) 2020-10-07 10:27:14 -06:00
rvinaybharadwaj
7d82276d0c Add py-h11 (#19192) 2020-10-07 10:25:57 -06:00
rvinaybharadwaj
f8d4c74d8c Add py-bottle (#19200)
* Add py-bottle

* fixing python versions
2020-10-07 10:24:28 -06:00
rvinaybharadwaj
a24844a206 Add py-hpack (#19189) 2020-10-07 10:20:47 -06:00
rvinaybharadwaj
8c9187c3b3 Add py-lz4 (#19183) 2020-10-07 10:20:14 -06:00
rvinaybharadwaj
09f910902a Add py-chalice (#19199)
* Add py-chalice

* fixing python versions
2020-10-07 10:18:56 -06:00
rvinaybharadwaj
f98aa5f336 Add py-dockerpy-creds (#19198)
* Add py-dockerpy-creds

* fixing python versions
2020-10-07 10:17:31 -06:00
rvinaybharadwaj
1ee6e4f993 Add py-hstspreload (#19188) 2020-10-07 10:16:58 -06:00
rvinaybharadwaj
50c3e9ffea Add py-watchdog (#19167) 2020-10-07 10:16:25 -06:00
arjun-raj-kuppala
09d0623be9 AMD ROCm 3.8.0 - roctracer-dev (#19086)
* AMD ROCm 3.8.0 - roctracer-dev

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

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

* added py-ply dependency

* remove py-ply

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-07 08:55:29 -05:00
arjun-raj-kuppala
4d45aca3ea AMD ROCm rocm-gdb update with its dependency package - babeltrace (#19142) 2020-10-07 08:54:38 -05:00
Toyohisa Kameyama
a12b03b8d4 sollve: build on aarch64 (#19123) 2020-10-07 08:54:07 -05:00
Robert Underwood
f83bd360c6 sz: fix fetch url for SZ for older releases (#19215)
fixes #19213
2020-10-06 18:12:53 -07:00
rvinaybharadwaj
0553ef32d9 py-arrow: add version 0.16.0 (#19203) 2020-10-06 17:44:26 -07:00
rvinaybharadwaj
7dbc07373d New package: py-aiofiles (#19205) 2020-10-06 17:43:13 -07:00
Christoph Junghans
6b70597271 gromacs: add v2020.4 (#19208) 2020-10-06 14:52:48 -05:00
Melven Roehrig-Zoellner
d43522deeb eigen: added v3.3.8 (#19165) 2020-10-06 16:00:26 +02:00
g-mathias
e2e018b68f package cuda: fix for chmod error (#17596)
* fix if cached cuda  is only rx

* use shell to install; rm chmod commands

* flake8 fix

* flake8 fix

Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-10-06 07:45:27 -05:00
Robert Underwood
87ac0ae3e3 SZ package: add switch for builtin profiling support (#19127) 2020-10-05 22:30:16 -07:00
Adam J. Stewart
bfb9e8f667 py-pandas: add version 1.1.3 (#19152) 2020-10-05 22:27:45 -07:00
Mark C. Miller
460bd695a3 VisIt package: improve info message (#19159) 2020-10-05 22:26:32 -07:00
Erik Schnetter
630f1fe2b8 New package: FastTransforms (#19160) 2020-10-05 22:12:11 -07:00
Sheng Di
eabfea2e49 SZ package: update URL; add 2.1.10 (#19161) 2020-10-05 22:11:32 -07:00
Kelly (KT) Thompson
e36bb89b33 Extend patch for XL to also support XL+cuda. (#19116) 2020-10-05 20:21:17 -05:00
Jean-Paul Pelteret
9bd83636e4 New package: Taskflow (#19138) 2020-10-05 20:13:51 -05:00
Hervé Yviquel
7d4663ea5d add gdrcopy 2.1 (#19151) 2020-10-05 20:08:17 -05:00
Chris de Graaf
95a46de7cb Add Julia 1.5.2 (#19154) 2020-10-05 20:07:26 -05:00
arjun-raj-kuppala
b91d501f12 AMD ROCm - aomp 3.7.0/3.8.0 and rccl 3.8.0 update (#19034)
* aomp 3.7.0 and rccl 3.8.0 update

* Bump up to ROCm 3.8.0 support on AOMP

* Create 0001-Add-amdgcn-to-devicelibs-bitcode-names-3.8.patch

* Create 0001-Add-amdgcn-to-devicelibs-bitcode-names.patch

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-05 19:57:00 -05:00
arjun-raj-kuppala
dbba74debd bump up rocm-debug-agent to ROCm 3.8.0 (#19037)
* bump up rocm-debug-agent to ROCm 3.8.0

* removed extra url

* re-added url with new path
2020-10-05 19:54:17 -05:00
Scott Wittenburg
438f80d19e Revert binary distribution cache manager (#19158)
This reverts #18359 and follow-on PRs intended to address issues with
#18359 because that PR changes the hash of all specs. A future PR will
reintroduce the changes.

* Revert "Fix location in spec.yaml where we look for full_hash (#19132)"
* Revert "Fix fetch of spec.yaml files from buildcache (#19101)"
* Revert "Merge pull request #18359 from scottwittenburg/add-binary-distribution-cache-manager"
2020-10-05 16:02:37 -07:00
Jonathan Maack
aabe210689 Closes #16303: Julia build fails with "ERROR: Invalid CPU name skylake_avx512." (#18745)
* Fix 'Invalid CPU name' error for skylake avx512 #16303

* Change new julia versions to use tarballs

* Remove setting of MARCH
2020-10-05 17:23:14 -05:00
Dr. Christian Tacke
4d586c598b ftgl: Improve shared library building on macOS (#18970)
Add -DCMAKE_MACOSX_RPATH=ON to cmake.
2020-10-05 09:56:52 -05:00
Adam J. Stewart
5d70096e44 bazel: add latest version (#18991) 2020-10-05 09:53:10 -05:00
Adam J. Stewart
0d64020007 py-horovod: added versions up to v0.20.3 (#18977) 2020-10-05 16:22:33 +02:00
Adam J. Stewart
cb7a1ac2bf py-ray: added new package at v0.8.7 (#19006) 2020-10-05 15:44:51 +02:00
Adam J. Stewart
a9c6964a1d py-opencensus: added new package at v0.7.10 (#19004) 2020-10-05 15:10:42 +02:00
Adam J. Stewart
7ac96e63d2 py-opencensus-context: added new package at v0.1.1 (#19003) 2020-10-05 11:57:33 +02:00
Adam J. Stewart
1450038f92 py-gpustat: added new package at v0.6.0 (#18999) 2020-10-05 09:55:09 +02:00
Adam J. Stewart
3e7d9b4279 py-aioredis: added new package at v1.3.1 (#18996) 2020-10-05 09:54:40 +02:00
Adam J. Stewart
8ba3f30f5c py-contextvars: added new package at v2.4 (#19149) 2020-10-05 09:20:48 +02:00
Adam J. Stewart
25cb2a68d3 py-immutables: added new package at v0.14 (#19148) 2020-10-05 07:32:03 +02:00
Joe Koning
eabfdba08f Fix for py-cffi sha256sum issue (#19143)
* Update of py-cffi for merlin-1.7.5

* Add new sha256sum for version 1.14.3
2020-10-04 15:38:09 -05:00
Adam J. Stewart
80bbeaf629 TensorFlow: added new versions up to v2.3.1 (#18945) 2020-10-04 20:50:45 +02:00
Adam J. Stewart
6acdc52f06 py-msgpack: added v1.0.0 (#18993) 2020-10-04 20:49:44 +02:00
Adam J. Stewart
a0cc5b78c8 py-grpcio: added v1.32.0 (#18995) 2020-10-04 20:48:35 +02:00
Adam J. Stewart
688dee861a py-colorful: added new package at v0.5.4 (#18997) 2020-10-04 20:46:23 +02:00
Adam J. Stewart
a99c9f93a1 py-google: added new package at v3.0.0 (#18998) 2020-10-04 20:45:05 +02:00
Adam J. Stewart
9a6ac5e809 py-hiredis: added new package at v1.1.0 (#19000) 2020-10-04 20:44:09 +02:00
Adam J. Stewart
e9d8804309 py-nvidia-ml-py: added new package at v11.450.51 (#19001) 2020-10-04 20:42:01 +02:00
Adam J. Stewart
aa3e88739f py-nvidia-ml-py3: added new package at v7.352.0 (#19002) 2020-10-04 20:39:49 +02:00
Adam J. Stewart
d2b3ea24e4 py-py-spy: added new package at v0.3.3 (#19005) 2020-10-04 20:38:34 +02:00
Adam J. Stewart
8cf42b3e71 unrar: added v5.9.4, fix macOS build (#19136) 2020-10-04 20:36:31 +02:00
Adam J. Stewart
0cd2728843 py-vermin: added v0.10.5, fixed compilation on MacOS (#19017) 2020-10-04 20:32:56 +02:00
Simon Frasch
543008069d spla: added v1.2.0 (#19146) 2020-10-04 20:30:42 +02:00
Sinan
fd8fd189c7 package/qgis: add new versions (#19014)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2020-10-03 21:59:17 -05:00
MichaelLaufer
b9b0d1c2cb Added WPS package, cleaned up WRF package (#18711)
Co-authored-by: michael laufer <michael.laufer@toganetworks.com>
2020-10-03 21:26:33 -05:00
Joe Koning
2b56707b7e Py-celery: update for merlin-1.7.5 (#19079) 2020-10-03 20:29:29 -04:00
Scott Wittenburg
7cfdf61979 Fix location in spec.yaml where we look for full_hash (#19132)
When we attempt to determine whether a remote spec (in a binary mirror)
is up-to-date or needs to be rebuilt, we compare the full_hash stored in
the remote spec.yaml file against the full_hash computed from the local
concrete spec.  Since the full_hash moved into the spec (and is no longer
at the top level of the spec.yaml), we need to look there for it.  This
oversight from #18359 was causing all specs to get rebuilt when the
full_hash wasn't fouhd at the expected location.
2020-10-02 15:37:47 -06:00
Seth R. Johnson
670f3a5e4c Trilinos: restrict SuperLU-dist version (#19044)
SuperLU v6.3.0 changes the name of numerous structures, causing errors
in Amesos up through Trilinos 13.
2020-10-02 14:20:49 -07:00
Jonathan Maack
42c3327e5b Coin HSL package: add version 2019.05.21 (#19047) 2020-10-02 14:19:00 -07:00
Jerome Soumagne
1ca753e5a6 mercury package: turn off post limit by default (#19048)
Prevents potential deadlocks
2020-10-02 14:14:55 -07:00
Tom Payerle
a07c3d2aa8 metis: Ignore pragma omp warnings/errors with %intel (#19049)
It looks like intel compilers generate warnings for omp pragmas when
openmp flag is not given, which due to other flags set get promoted to
errors.

This adds a flag to ignore the pragma omp warnings (icc diagnostic
number 3180 on %intel@14:).
2020-10-02 14:08:48 -07:00
codeandkey
c4a0c50036 trimmomatic: add 0.39 2020-10-02 14:01:45 -07:00
Jed Brown
ba18675bd1 libceed 0.7 and occa 1.1.0 (#19055) 2020-10-02 14:00:53 -07:00
Andreas Baumbach
9644332a13 openblas: patch to build with apple-clang@12.0.0 (#19057) 2020-10-02 13:57:46 -07:00
Jose E. Roman
b18d597c8b SLEPc: add version 3.14 (#19058) 2020-10-02 13:54:23 -07:00
Sajid Ali
9ba83e6cc6 lammps: choose FFT implementation based on provider (#19060) 2020-10-02 13:53:50 -07:00
Joe Koning
3052e003e0 py-sqlalchemy: add version 1.3.19 (#19062) 2020-10-02 13:36:15 -07:00
Joe Koning
640d5a9a63 py-pytz: add version 2020.1 (#19064) 2020-10-02 13:34:42 -07:00
Joe Koning
ac94bc9ed3 py-pycparser: add version 2.20 (#19065) 2020-10-02 13:33:44 -07:00
Joe Koning
84791e1051 py-psutil: add version 5.7.2 (#19066) 2020-10-02 13:32:49 -07:00
Joe Koning
f067bdd522 py-prompt-toolkit: add version 3.0.7 (#19067) 2020-10-02 13:32:03 -07:00
Joe Koning
18165b6d88 py-parse: add version 1.18.0 (#19068) 2020-10-02 13:31:24 -07:00
Joe Koning
addedd9a82 py-maestrowf: add version 1.1.7dev0 (#19070) 2020-10-02 13:30:21 -07:00
Joe Koning
57d36426bd py-kombu: add versions 4.6.11 and 5.0.2 (#19071) 2020-10-02 13:29:00 -07:00
Joe Koning
d4410e45d5 py-cffi: add version 1.14.3 (#19078) 2020-10-02 13:25:46 -07:00
Joe Koning
1ef7da295f py-importlib-metadata: add version 2.0.0 (#19072) 2020-10-02 13:19:28 -07:00
Joe Koning
92853598e9 py-humanfriendly: add version 8.2 (#19073) 2020-10-02 13:18:49 -07:00
Joe Koning
898f9c8838 py-filelock: add version 3.0.12 (#19074) 2020-10-02 13:18:02 -07:00
Joe Koning
4482f20900 py-coloredlogs: add version 14.0 (#19075) 2020-10-02 13:17:04 -07:00
Joe Koning
bc17b78b47 New package: py-click-repl (#19076) 2020-10-02 13:16:24 -07:00
Joe Koning
d8dadd1435 New package py-click-didyoumean (#19077) 2020-10-02 13:15:21 -07:00
Joe Koning
2682c32d50 py-cached-property: add version 1.5.2 (#19080) 2020-10-02 12:17:06 -07:00
Joe Koning
0e30179d0a py-billiard: add version 3.6.3.0 (#19081) 2020-10-02 12:16:12 -07:00
Joe Koning
861586ce86 py-amqp: add versions 5.0.1 and 2.6.1 (#19082) 2020-10-02 12:15:17 -07:00
Joe Koning
76218fab04 py-tabulate: add version 0.8.7 (#19083) 2020-10-02 12:14:01 -07:00
Joe Koning
4ac13cb322 py-vine: add version 5.0.0 (#19084) 2020-10-02 12:13:19 -07:00
Michael Kuhn
e47b725d8e New package: libisal (#19098) 2020-10-02 12:12:18 -07:00
Jen Herting
c21a65b73a New package: librmm (#19103) 2020-10-02 12:10:49 -07:00
Andreas Baumbach
145e3c7215 New package: Icarus (#19092)
Co-authored-by: Philipp Spilger <philipp.spilger@kip.uni-heidelberg.de>
Co-authored-by: Eric Müller <mueller@kip.uni-heidelberg.de>
2020-10-02 12:06:01 -07:00
Satish Balay
569eb866fc Add hypre@2.20.0 petsc@3.14.0 [and 3.13.6,3.13.5] (#19105) 2020-10-02 12:02:23 -07:00
Justin S
28265d31ee New package: perl-file-slurp (starting at 9999.32) (#19112) 2020-10-02 11:41:22 -07:00
Adam J. Stewart
db794ea201 p7zip: fix build on macOS 2020-10-02 11:38:11 -07:00
arjun-raj-kuppala
e760f16cf8 New package: rdc (ROCm Data Center Tool) (#19118) 2020-10-02 11:24:22 -07:00
Miroslav Stoyanov
1ad405d649 heffte: added v2.0.0 with Python an Fortran bindings (#19129) 2020-10-02 20:13:44 +02:00
h-denpo
c71c509f05 sbml: fix configuration with ~python (#19120) 2020-10-02 11:07:24 -07:00
Michael Kuhn
f7a2412626 go: Add 1.15.2 and 1.14.9 2020-10-02 11:05:29 -07:00
Michael Kuhn
65fe75d978 node-js: Add 14.13.0 and 12.18.4 2020-10-02 11:05:07 -07:00
aurianer
e996f29f25 Add HPX 1.5.1 release 2020-10-02 11:04:18 -07:00
Adam J. Stewart
ee61f6b772 oneDNN: add versions including 1.6.4 (#19130) 2020-10-02 11:00:18 -07:00
Scott Wittenburg
a44135dccf Update buildcache key index when we update the package index (#19117)
This changes makes sure that when we run the pipeline job that updates
the buildcache package index on the remote mirror, we also update the
key index.  The public keys corresponding to the signing keys used to
sign the package was pushed to the mirror as a part of creating the
buildcache index, so this is just ensuring those keys are reflected
in the key index.

Also, this change makes sure the "spack buildcache update-index"
job runs even when there may have been pipeline failures, since we
would like the index always to reflect the true state of the mirror.
2020-10-02 11:00:42 -06:00
Harmen Stoppels
0e8be35c25 Bump rocblas to 3.8.0 (#19027)
* Add rocblas 3.8.0 and add all Tensile deps

* Deploy rocm_smi to the bin/ folder so that it is in $PATH

* BUILD_WITH_TENSILE_HOST=ON on 3.7.0+ and fix flake8
2020-10-02 11:14:12 -05:00
vvolkl
d1ae087960 add py-hepunits and py-particle (#19030)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

[py-particle] format

[py-particle] switch to pypi downloads

[py-particle] specify dependencies in more details

[py-particle] format

Update var/spack/repos/builtin/packages/py-particle/package.py

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

Update var/spack/repos/builtin/packages/py-particle/package.py

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

Update var/spack/repos/builtin/packages/py-particle/package.py

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-10-02 10:59:47 -05:00
Harmen Stoppels
04f48034fb Add sirius@6.5.7 (#19026) 2020-10-02 17:59:31 +02:00
Brian Van Essen
d2da7e6671 Added initial version hash (#19053) 2020-10-02 10:56:06 -05:00
Miroslav Stoyanov
7f2f2a01ff new release for Tasmanian (#19113) 2020-10-02 15:47:58 +02:00
vvolkl
a1482be8f2 [whizard] add version 2.8.5 (#19125) 2020-10-02 15:15:23 +02:00
Scott Wittenburg
d3d98075c5 Fix fetch of spec.yaml files from buildcache (#19101)
Since those files currently exist in buildcaches (in S3 buckets) with
potentially different content types, we should be less restrictive in
what content types we accept when attempting to fetch them.  This PR
removes the content type constraint so any file with the matching
name will be found.
2020-10-01 14:32:43 -06:00
Patrick Gartung
a2795519df Binary caching: avoid duplicate RPATHs, unnecessary updates (#19061)
* Remove duplication of reconstructed RPATHs caused by multiple
  identical entries in prefixes dictionary
* Don't rewrite RPATHs if relative RPATHs are unchanged because the
  directory layout is unchanged
2020-10-01 13:21:02 -07:00
Andrew Gaspar
6aa9866b79 Add yacc provider and add dependency to swig (#19087)
* Add byacc dependency to swig when building an autoconf version

* Add yacc provider

Removed extra sycl provider default
2020-10-01 16:09:24 -04:00
Michael Kuhn
252031a9f8 nasm: added v2.15.05 (#19099) 2020-10-01 21:58:27 +02:00
Carson Woods
e2626b8438 ucx: added v1.9.0 (#19100) 2020-10-01 21:56:19 +02:00
Sajid Ali
c4b9febcb2 blis : added v0.7.0 (#19102) 2020-10-01 21:47:39 +02:00
Satish Balay
d49bdac859 PLASMA: added v20.9.20 (#19106)
Co-authored-by: Piotr Luszczek <luszczek@icl.utk.edu>
2020-10-01 21:46:49 +02:00
mic84
21c3acf34d amrex: added v20.10 (#19107) 2020-10-01 21:44:36 +02:00
Patrick Gartung
a380ceb139 Buildcache: Need to check the binary is not a Mach-o binary in a linux package or an ELF binary in a macOS package. (#18670)
* Need to check the binary is not a Mach-o binary in a linux package or an ELF binary in a macOS package.

* use sys.platform

* Darwin -> darwin for sys.platform
2020-10-01 12:39:59 -05:00
Todd Kordenbrock
e0c7f5ae3d FAODEL: apply a patch to fix CMake failures on NERSC Cori in faodel@1.1906.1 (#19093)
Co-authored-by: Todd Kordenbrock <thkorde@sandia.gov>
2020-10-01 10:38:40 -07:00
Ganesh Kumar
03790a4f36 ROCm3.8 miopen-opencl (#19022)
* ROCm3.8 miopen

* ROCm3.8 miopen

* review comments

* setting OCL_ICD_VENDORS path
2020-10-01 07:48:04 -05:00
Jonathan R. Madsen
5c6153ce0d timemory: created +python_deps variant (#18472)
* Created +python_deps variant

- the timemory python bindings can still be imported without these runtime packages and forcing a dependence by default significantly increases the spack install time

* Added conflict

- added conflicts('+python_deps', when='~python')
2020-09-30 19:24:26 -05:00
Scott Wittenburg
075c3e0d92 Merge pull request #18359 from scottwittenburg/add-binary-distribution-cache-manager
Add binary distribution cache manager
2020-09-30 16:37:35 -06:00
Sreenivasa Murthy Kolam
5558bc2b50 rocm-3.8.0 updates for hipblas, rocsolver, miopen-hip, rocalution, rocmvalidationsuite (#19031)
* rocm-3.8.0 updates for hipblas,rocsolver,rocm-opencl

* rocm-3.8.0 updates to rocalution and rename and change rocmvalidationsuite

* rocm-3.8.0 update to miopen-hip

* Revert "rocm-3.8.0 updates for hipblas,rocsolver,rocm-opencl"

This reverts commit 2542e8b1be.

* rocm-3.8.0 changes for rocsolver and hipblas
2020-09-30 17:27:40 -05:00
Christoph Junghans
9431a67a27 ecp proxy apps: add v4.0 (#19059)
* ecp-proxy-apps: add v4.0

* miniamr: add v1.6.4
2020-09-30 11:22:15 -06:00
t-nojiri
70a3626af7 optipng: allow build on aarch64 (#19039)
Added a patch to allow building on aarch64
2020-09-30 17:59:40 +02:00
Brian Van Essen
c23d79c6d2 cuDNN: add version 8.0.4 (#19054) 2020-09-29 23:21:08 -05:00
Sinan
59720e0ef9 new package: py-gitpython (#18387)
* new package: py-gitpython

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

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

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Sinan81 <Sinan81@earth>
2020-09-29 11:19:34 -05:00
Axel Huebl
1e01518ef4 py-(re)commonmark: dependency types (#18743)
* py-(re)commonmark: dependency types

fix the python dependency types for python packages.

* py-(re)commonmark: add missing deps

* Remove unused `py-future`
2020-09-29 11:15:50 -05:00
Toyohisa Kameyama
609f361f93 texstudio: added v3.0.0 and v3.0.1. (#19040) 2020-09-29 14:12:55 +02:00
Axel Huebl
8edb31e934 CUDA: added v11.1.0 (#19036)
Compiler conflicts have been updated accordingly
2020-09-29 11:38:56 +02:00
David Beckingsale
04771ad9f8 Fixup conflicts for CUDA 11.0.2 and GCC (#19035)
* Fixup conflicts for CUDA 11.0.2 and GCC
* Updates for ppc64le
* Fix missing "or newer"

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2020-09-28 18:01:20 -07:00
Adam J. Stewart
d183d16abb macOS CI: replace jupyter with jupyterlab (#19029) 2020-09-28 17:43:56 -07:00
QuellynSnead
977117b502 Paraview 5.6.2's version of VTK (8.2.0) is incompatible with Python 3.8 (#18881)
* Paraview 5.6.2's version of VTK (8.2.0) is incompatible with Python 3.8.
(see https://gitlab.kitware.com/vtk/vtk/-/issues/17670)

* Trailing whitespace
2020-09-28 19:30:18 -05:00
Sreenivasa Murthy Kolam
60644f889e rocfft ,rocrand changes for rocm-3.8.0 (#18879)
* rocfft changes for rocm-3.8.0

* changes to the version

* rocrand recipe changes for rocm-3.8.0
2020-09-28 17:08:29 -05:00
Massimiliano Culpo
971e0049b1 EnTT: added new package at v3.5.2 (#19021) 2020-09-28 12:07:28 -05:00
Harmen Stoppels
496d83a26a Kokkos nvcc wrapper 3.2.00 (#19023)
* Add more updates for kokkos 3.2 release, particularly nvcc-wrapper

* Use an ordinary Package

Co-authored-by: Jeremiah J Wilke <jjwilke@kokkos-dev-2.sandia.gov>
2020-09-28 10:24:18 -06:00
Adam J. Stewart
c62c94d521 APR: fix build with Apple Clang 12 (#19016) 2020-09-28 12:22:31 -04:00
Ganesh Kumar
7d965f7bb1 ROCm3.8 hipcub, hipsparse, rocprim, rocsparse & rocthrust (#18936)
* ROCm3.8 atmi, hipify-clang, rocm-clang-ocl, rocm-dbgapi, rocprofiler

* ROCm3.8 hipcub, hipsparse, rocprim, rocsparse & rocthrust

* review comments

* Review comments

Co-authored-by: root <root@mlseqa-hyd-virt-srv-07.amd.com>
2020-09-28 11:10:34 -05:00
Ganesh Kumar
a3d290a248 ROCm3.8 hipfort recipe (#19024)
* ROCm3.8 hipfort recipe

* review comments
2020-09-28 10:26:20 -05:00
Pariksheet Nanda
a50b3323a9 librsvg: added v2.50.0 (#18865) (#18869) 2020-09-28 13:29:48 +02:00
Tomoki, Karatsu
b76189a2e5 autotools: patch 'libtool' recursively in subdirectories (#18620)
Previous version was doing it only in the root build directory.
2020-09-28 10:53:56 +02:00
Adam J. Stewart
c8ac61979b Fix usage of builtin file as variable name (#19018) 2020-09-28 07:14:39 +02:00
Massimiliano Culpo
ac7c69e62e libuv: added v1.40.0 and v1.39.0 (#18974) 2020-09-25 16:52:29 -05:00
Omar Padron
2d93154119 Streamline key management for build caches (#17792)
* Rework spack.util.web.list_url()

list_url() now accepts an optional recursive argument (default: False)
for controlling whether to only return files within the prefix url or to
return all files whose path starts with the prefix url.  Allows for the
most effecient implementation for the given prefix url scheme.  For
example, only recursive queries are supported for S3 prefixes, so the
returned list is trimmed down if recursive == False, but the native
search is returned as-is when recursive == True.  Suitable
implementations for each case are also used for file system URLs.

* Switch to using an explicit index for public keys

Switches to maintaining a build cache's keys under build_cache/_pgp.
Within this directory is an index.json file listing all the available
keys and a <fingerprint>.pub file for each such key.

 - Adds spack.binary_distribution.generate_key_index()
   - (re)generates a build cache's key index

 - Modifies spack.binary_distribution.build_tarball()
   - if tarball is signed, automatically pushes the key used for signing
     along with the tarball
   - if regenerate_index == True, automatically (re)generates the build
     cache's key index along with the build cache's package index; as in
     spack.binary_distribution.generate_key_index()

 - Modifies spack.binary_distribution.get_keys()
   - a build cache's key index is now used instead of programmatic
     listing

 - Adds spack.binary_distribution.push_keys()
   - publishes keys from Spack's keyring to a given list of mirrors

 - Adds new spack subcommand: spack gpg publish
   - publishes keys from Spack's keyring to a given list of mirrors

 - Modifies spack.util.gpg.Gpg.signing_keys()
   - Accepts optional positional arguments for filtering the set of keys
     returned

 - Adds spack.util.gpg.Gpg.public_keys()
   - As spack.util.gpg.Gpg.signing_keys(), except public keys are
     returned

 - Modifies spack.util.gpg.Gpg.export_keys()
   - Fixes an issue where GnuPG would prompt for user input if trying to
     overwrite an existing file

 - Modifies spack.util.gpg.Gpg.untrust()
   - Fixes an issue where GnuPG would fail for input that were not key
     fingerprints

 - Modifies spack.util.web.url_exists()
   - Fixes an issue where url_exists() would throw instead of returning
     False

* rework gpg module/fix error with very long GNUPGHOME dir

* add a shim for functools.cached_property

* handle permission denied error in gpg util

* fix tests/make gpgconf optional if no socket dir is available
2020-09-25 12:54:24 -04:00
darmac
421f4e12a7 Add new package: 3proxy (#18831) 2020-09-25 11:33:51 -05:00
eugeneswalker
7bf0ebc5eb veloc: add v1.4, unconstrain dependency on boost (#18938)
* veloc: add v1.4

* veloc: unconstrain boost dependency
2020-09-25 11:24:56 -05:00
Greg Becker
f616422fd7 refactor install_tree to use projections format (#18341)
* refactor install_tree to use projections format

* Add update method for config.yaml

* add test for config update config
2020-09-25 11:15:49 -05:00
t-nojiri
51b90edd78 sgpp: allow building on aarch64 (#18968) 2020-09-25 17:20:35 +02:00
Matthias Diener
9c5a47183e pyopencl: add new package (#18899)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-25 10:19:56 +02:00
Sergey Kosukhin
54517e571a eccodes: update and a add new version (#18864) 2020-09-25 09:44:37 +02:00
t-nojiri
9cc0bc9ca3 steps:allow building on aarch64 (#18966) 2020-09-25 09:33:03 +02:00
Kelly (KT) Thompson
a7cbd6074e lcov: added v1.15 (#18959) 2020-09-25 09:28:01 +02:00
Matthias Diener
8ac1d62159 oclgrind: added new package at v19.10 (#18943) 2020-09-25 09:07:07 +02:00
egreen77
c9c2bac373 umap: added v2.1.0 (#18946) 2020-09-25 08:57:47 +02:00
Cody Balos
aab8c45a34 sundials: added v5.4.0 (#18949) 2020-09-25 08:51:34 +02:00
t-nojiri
78b304c0c3 minimd: allow building on aarch64 (#18951) 2020-09-25 08:49:50 +02:00
Ganesh Kumar
a9c9501a47 ROCm3.8 atmi, hipify-clang, rocm-clang-ocl, rocm-dbgapi, rocprofiler (#18871)
Co-authored-by: root <root@mlseqa-hyd-virt-srv-07.amd.com>
2020-09-25 08:26:04 +02:00
Brian Van Essen
ce5d0cb951 Updated cuDNN to include hash codes for 8.0.3. (#18948) 2020-09-24 20:16:14 -05:00
Sinan
878f7cbf14 package py-psycopg2: add new version, specify python versions (#18877)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2020-09-24 14:41:02 -05:00
darmac
906fa5f50d Add new package: cachefilesd (#18907) 2020-09-24 11:53:51 -05:00
darmac
420bfa41a2 Add new package: dhtest (#18908) 2020-09-24 11:52:23 -05:00
darmac
c8989e2247 Add new package: cronie (#18909) 2020-09-24 11:51:58 -05:00
darmac
8aa06154dc Add new package: dcap (#18910) 2020-09-24 11:51:29 -05:00
darmac
c5f5b7273d Add new package: ctpl (#18911) 2020-09-24 11:51:05 -05:00
darmac
2a2d90f9cd Add new package: chrony (#18912) 2020-09-24 11:50:36 -05:00
darmac
e4699cbc54 Add new package: duperemove (#18913) 2020-09-24 11:50:07 -05:00
darmac
9e06e56634 Add new package: dracut (#18914) 2020-09-24 11:49:43 -05:00
darmac
b9e7db3447 Add new package: distcc (#18915) 2020-09-24 11:49:20 -05:00
darmac
72203e529f Add new package: libuser (#18916) 2020-09-24 11:48:50 -05:00
t-nojiri
93e989316e lcals: Fix for aarch64 (#18918) 2020-09-24 11:47:21 -05:00
darmac
9288091963 Add new package: rrdtool (#18919) 2020-09-24 11:46:45 -05:00
darmac
928e46088c Add new package: procps-ng (#18921) 2020-09-24 11:43:06 -05:00
darmac
c4d3b59166 Add new package: quota (#18922) 2020-09-24 11:42:42 -05:00
darmac
a0c32e6ed7 Add new package: slang (#18923) 2020-09-24 11:42:18 -05:00
darmac
e0dd5ce68a Add new package: acct (#18924) 2020-09-24 11:41:53 -05:00
darmac
fb7f07b27c Add new package: smartmontools (#18926) 2020-09-24 11:40:26 -05:00
darmac
af162498f0 Add new package: geoip (#18927) 2020-09-24 11:39:41 -05:00
darmac
b01aea2cec Add new package: libtheora (#18928) 2020-09-24 11:38:42 -05:00
darmac
65ea663fd4 Add new package: setserial (#18929) 2020-09-24 11:38:05 -05:00
darmac
cf4e468ed2 Add new package: diffmark (#18930) 2020-09-24 11:37:38 -05:00
darmac
b04ee99315 Add new package: debbuild (#18931) 2020-09-24 11:37:01 -05:00
darmac
ae05e73bc8 Add new package: turnserver (#18932) 2020-09-24 11:36:33 -05:00
darmac
6b3116516e Add new package: disktype (#18934) 2020-09-24 11:33:31 -05:00
darmac
a9a25acdb9 Add new package: dnstop (#18935) 2020-09-24 11:32:17 -05:00
Nichols A. Romero
89cca23840 Classic Flang Master Update (#18748)
* Flang master branch is now the preferred version.

* Flang master branch can now use LLVM 9

* Remove master as this was never used by Flang.

* Add LLVM-Flang release_90 and release_90.
2020-09-24 11:27:43 -05:00
Sreenivasa Murthy Kolam
6ec3c4d35e renaming of Rocclr ,rocgdb to hip-rocclr and rocm-gdb ,fix build error for rocm-opencl (#18900)
* renaming of rocclr , rocgdb to hip-rocclr and rocm-gdb

* fix flake8 errors and fix build error for luma
2020-09-24 10:49:46 -05:00
Dr. Christian Tacke
69d618e90d pythia8: Add version 8303, make default (#18874)
* Add version 8303
* Until now, the latest 82xx release was the `preferred` version.
  We agreed to let the latest version be the preferred one now.
2020-09-24 08:40:07 +02:00
Michael Kuhn
7810f73653 Fix pkgconfig dependency (#18750)
pkgconfig is the virtual dependency, pkg-config is one provider.
2020-09-23 21:29:47 -05:00
darmac
0fabbff03e Add new package: usbutils (#18825) 2020-09-23 21:15:06 -05:00
darmac
3b76217e8a Add new package: abduco (#18725) 2020-09-23 21:11:18 -05:00
darmac
aec8cf1602 Add new package: aeskeyfind (#18726) 2020-09-23 21:09:39 -05:00
darmac
3e61d3c536 Add new package: bannergrab (#18730)
* Add new package: bannergrab

* refine installation flow
2020-09-23 21:06:50 -05:00
darmac
ae6834311b Add new package: beakerlib (#18734) 2020-09-23 21:05:45 -05:00
darmac
b9e79ee99d Add new package: bitlbee (#18735) 2020-09-23 21:05:15 -05:00
darmac
7fcd32aa6c Add new package: libcap-ng (#18752) 2020-09-23 21:02:22 -05:00
darmac
5e8ac6c261 Add new package: ck (#18753) 2020-09-23 21:01:52 -05:00
darmac
7c8cb01179 Add new package: cracklib (#18755) 2020-09-23 21:01:29 -05:00
darmac
0b8fb43e3e Add new package: cunit (#18757) 2020-09-23 21:00:57 -05:00
darmac
ddf27b56ad Add new package: ding-libs (#18758) 2020-09-23 21:00:19 -05:00
darmac
dec8da9257 Add new package: dmidecode (#18759) 2020-09-23 20:59:51 -05:00
darmac
3cdb79f569 Add new package: dnsmap (#18760) 2020-09-23 20:59:11 -05:00
darmac
84f111ff85 Add new package: dotconf (#18761) 2020-09-23 20:58:27 -05:00
darmac
74e4b41008 Add new package: dropwatch (#18762) 2020-09-23 20:58:06 -05:00
darmac
56270b229f Add new package: audacity (#18764) 2020-09-23 20:56:50 -05:00
darmac
4664221576 Add new package: earlyoom (#18765) 2020-09-23 20:56:09 -05:00
darmac
1662251b77 Add new package: libuecc (#18766) 2020-09-23 20:55:40 -05:00
darmac
2bc6997418 Maven: add version 3.0.4 for some special package (#18767) 2020-09-23 20:55:15 -05:00
darmac
d4fe61f770 Add new package: gsettings-desktop-schemas (#18768) 2020-09-23 20:54:48 -05:00
darmac
3f892a7722 Add new package: libproxy (#18770) 2020-09-23 20:51:42 -05:00
darmac
dc0cff5eb2 Add new package: libatasmart (#18771) 2020-09-23 20:51:20 -05:00
darmac
c4f57890b5 Add new package: libbytesize (#18772)
* Add new package: libbytesize

* libbytesize: refine url
2020-09-23 20:50:55 -05:00
darmac
bbb3d94599 Add new package: libdaemon (#18773) 2020-09-23 20:50:13 -05:00
darmac
ce10e4ea03 Add new package: libnet (#18776) 2020-09-23 20:47:57 -05:00
darmac
6f48ac5eb6 Add new package: libkcapi (#18777) 2020-09-23 20:47:19 -05:00
darmac
92fe14cc47 Add new package: libp11 (#18778) 2020-09-23 20:46:57 -05:00
darmac
b69643de7f Add new package: librelp (#18779) 2020-09-23 20:46:28 -05:00
darmac
527ea798c5 Add new package: librtlsdr (#18780) 2020-09-23 20:45:47 -05:00
darmac
f2093dc3c4 Add new package: libtar (#18781) 2020-09-23 20:45:22 -05:00
darmac
8ae3ccdea4 Add new package: libtommath (#18782) 2020-09-23 20:44:51 -05:00
darmac
63d45b975d Add new package: libxcrypt (#18783) 2020-09-23 20:44:23 -05:00
darmac
e70c20f13f Add new package: libverto (#18785) 2020-09-23 20:43:55 -05:00
darmac
28c6f1ddc2 Add new package: logrotate (#18786) 2020-09-23 20:43:29 -05:00
darmac
4a2b56122c Add new package: mcpp (#18787) 2020-09-23 20:42:45 -05:00
darmac
17c55f3d91 Add new package: mlocate (#18788) 2020-09-23 20:42:21 -05:00
darmac
16c0375d70 Add new package: mokutil (#18789) 2020-09-23 20:41:12 -05:00
darmac
1b707988c5 Add new package: openslp (#18791) 2020-09-23 20:38:38 -05:00
darmac
f87d032228 Add new package: sblim-sfcc (#18792) 2020-09-23 20:38:02 -05:00
darmac
d1d5ee395d Add new package: p11-kit (#18793) 2020-09-23 20:37:36 -05:00
darmac
6970e0da69 Add new package: patchutils (#18794)
* Add new package: patchutils

* patchutils: refine url
2020-09-23 20:37:06 -05:00
darmac
83c1f035a2 Add new package: pciutils (#18795) 2020-09-23 20:35:50 -05:00
darmac
9577ed71fe Add new package: oci-systemd-hook (#18805) 2020-09-23 20:35:14 -05:00
darmac
8c3b081147 Add new package: py-asyncio (#18809) 2020-09-23 20:30:17 -05:00
darmac
9263f56b6d Add new package: py-robotframework (#18814) 2020-09-23 20:19:36 -05:00
darmac
dd4f55cb46 Add new package: py-chronyk (#18815) 2020-09-23 20:17:11 -05:00
darmac
0dcfd8909a Add new package: sysfsutils (#18819)
* Add new package: sysfsutils

* fix flake8 error
2020-09-23 20:12:52 -05:00
darmac
16d4bc59ba Add new package: tcpdump (#18820) 2020-09-23 20:12:24 -05:00
darmac
0aafdcfadb Add new package: tdengine (#18821) 2020-09-23 20:11:57 -05:00
darmac
15e75c03ff Add new package: systemtap (#18822) 2020-09-23 20:11:21 -05:00
darmac
733a8ee77b Add new package: timedatex (#18823)
* Add new package: timedatex

* timedatex: fix flake8 error
2020-09-23 20:10:54 -05:00
darmac
72e03161e4 Add new package: xmlrpc-c (#18828) 2020-09-23 20:06:23 -05:00
darmac
3b9ba5a9ab Add new package: authselect (#18832) 2020-09-23 20:02:56 -05:00
darmac
d72c73cd60 Add new package: bird (#18833) 2020-09-23 20:02:15 -05:00
darmac
5cf8fd4cb3 Add new package: libmetalink (#18834) 2020-09-23 20:01:50 -05:00
darmac
d796566605 Add new package: libnfnetlink (#18835) 2020-09-23 20:01:22 -05:00
darmac
6539d45ad6 Add new package: mesa-demos (#18839) 2020-09-23 19:59:36 -05:00
darmac
a0228d6f94 Add new package: zabbix (#18840) 2020-09-23 19:59:05 -05:00
darmac
63340a1fac Add new package: libevdev (#18886) 2020-09-23 19:56:23 -05:00
darmac
653344a9f1 Add new package: fakechroot (#18887) 2020-09-23 19:55:47 -05:00
darmac
3690a81aa4 Add new package: f2c (#18889) 2020-09-23 19:55:21 -05:00
darmac
e294a1e0a6 fasttext: new package at v0.9.2 (#18890) 2020-09-23 18:53:31 +02:00
eugeneswalker
9eb87d1026 OLCF Ascent gitlab ci trigger: pass SPACK_REF (#18875) 2020-09-23 09:35:29 -07:00
vvolkl
394a23d392 py-uproot4: added new package at v0.0.27 (#18891) 2020-09-23 18:17:57 +02:00
vvolkl
3c418d9faa py-awkward1: added new package at v0.3.1 (#18892) 2020-09-23 18:15:32 +02:00
Matthieu Dorier
4277bc6429 nlohmann-json-schema-validator: new package at v2.1.0 (#18837) 2020-09-23 17:28:33 +02:00
Howard Pritchard
aedc056f9a trilinos: patch for cray cce fortran compiler (#18164)
two patchfiles needed since this file changed between 12.12.1 and 12.14.1

Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2020-09-23 09:54:51 -05:00
darmac
562f504000 Add new package: addrwatch (#18728)
* Add new package: addrwatch

* addrwatch: refine url
2020-09-23 14:02:03 +02:00
Andre Sailer
8fac02e437 LCIO: added v2.15.[0123] (#18841) 2020-09-23 13:55:01 +02:00
Mathias Anselmann
b578d55d12 setting old GO default values for older trilinos versioins to (hopefully) not break the installation. Adjusting dealii package to just explicitly set GO if trilinos >= 12.18.1 is installed (#15439) 2020-09-22 18:52:05 -05:00
Jen Herting
bbb6b14540 treelite: new package at v0.93 (#18861) 2020-09-22 22:30:04 +02:00
Massimiliano Culpo
92b8177b77 gromacs: remove 'rdtscp' variant, deduce the flag from the target (#18868)
refers #18858
2020-09-22 13:11:35 -06:00
Miroslav Stoyanov
acf4dc2e12 Heffte: add magma variant (#18849) 2020-09-22 15:05:00 -04:00
Martin Pokorny
a23d67f7ea casacore: added v3.3.0 (#18870) 2020-09-22 20:55:58 +02:00
Andrew Gaspar
0d0ba79bfb Rust: added v1.46.0 (#18863) 2020-09-22 20:54:54 +02:00
Jordan Ogas
435c8862a6 charliecloud: added v0.19 (#18866) 2020-09-22 20:45:29 +02:00
Glenn Johnson
84dbf6948e Set conflicts parameter for cuda-11 (#18847)
Magma is not currently compatible with CUDA-11. While this is reflected
in the package, it is done with a comment in a `depends_on` directive,
which has the effect of trying to install a version of CUDA that may be
different from the one in the current environment, without any message
to the end user. A `conflicts` is a better way to handle this.
2020-09-22 12:35:13 -04:00
Adam J. Stewart
9558377f0f Bash: fix build with Xcode 12 (#18843) 2020-09-22 12:25:54 -04:00
Ganesh Kumar
9e906e2d47 ROCm 3.8 Stage1 Components (#18830)
* ROCm 3.8 Stage1 Components

* version review comments

* 3.5 dependency restrictions

Co-authored-by: root <root@mlseqa-hyd-virt-srv-07.amd.com>
2020-09-22 11:09:03 -05:00
Simon Pintarelli
7d0ae0f295 sirius: use -DCUDA_ARCH for develop, version >7.0.0 (#18852)
Also remove master branch
2020-09-22 17:35:11 +02:00
victorusu
a078e2ba13 ReFrame: added v3.1 (#18860) 2020-09-22 17:19:51 +02:00
Chris White
30d24db116 Added RAJA v0.12.1`and Umpire v4.0.1 (#18756)
Also renamed 'master' to 'main'
2020-09-22 15:40:16 +02:00
Hadrien G
a1e19de8e1 acts: added v1.0 (#18859) 2020-09-22 15:05:59 +02:00
Christoph Junghans
bdefac6964 miniqmc: fix install (#18857) 2020-09-21 18:15:27 -06:00
Robert Blake
b272e00d6a util-linux: fix bash completion install errors. (#18696)
* Disable bash completion by default.

* flake8

* Adding explicit dependence on libuuid

* Adding explicit dependence on cryptsetup

This way we don't pick up host crypto packages by mistake.

* Fixing the completion directory.

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

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

* flake8

* Removing libuuid linkage according to @michaelkuhn on #18696

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-21 16:11:44 -05:00
Christoph Junghans
0dd7f140b0 nut: fix install (#18848)
* nut: fix install

* flake8
2020-09-21 16:09:53 -05:00
Christoph Junghans
165dbf719d fix spack-build usages (#18846) 2020-09-21 12:19:06 -05:00
Greg Becker
5565b6494d typo (#18845) 2020-09-21 11:54:23 -05:00
Joseph Wang
88187bc63c add groff and ghostscript (#18803)
Without these packages, graphviz will set groff/ghostscript to false which will cause the build to fail.
2020-09-21 17:39:13 +02:00
Adam J. Stewart
678e9f5ad2 libksba: add new version (#18798) 2020-09-20 08:53:42 -04:00
Adam J. Stewart
7d5ddb1fc6 readline: simplify linking to ncurses (#18801) 2020-09-19 16:32:42 -05:00
Adam J. Stewart
489377d051 SciPy: add patch to fix XCode 12 build (#18800) 2020-09-19 16:32:26 -05:00
Adam J. Stewart
458dc81878 ncurses: fix libs method (#18799) 2020-09-19 16:32:05 -05:00
Adam J. Stewart
f570d7a45c graphviz: fix build with Apple Clang 12.0.0 (#18797) 2020-09-19 16:29:42 -05:00
Adam J. Stewart
36e9c1eba3 fish: relax ncurses dependency constraints (#18796) 2020-09-19 16:29:27 -05:00
Massimiliano Culpo
fcb4dfc307 Ensure variant defaults are parsable from CLI. (#18661)
- Add a unit test to check if there are unparsable defaults
- Fix 'rust' and 'nsimd' variants
2020-09-19 07:54:26 +02:00
Larry Knox
fff2f34de8 Hdf5 1.10.7 (#18712)
* Update hdf5/package.py for HDF5 1.10.7 release and obsolete home url.
Add maintainer to hdf/package.py.

* remove stray space.

* Remove unnecessary /diplay/support from homepage urls.
2020-09-18 21:38:56 -05:00
Tom Payerle
e36498cb46 bedtools2: Add missing python build dependency (#18744) (#18746)
Makefile invokes python to build some scripts
See #18744
2020-09-18 21:38:21 -05:00
Michael Kuhn
6198963ede popt: Add missing libiconv dependency (#18731)
Without this dependency, the build fails due to undefined references.
2020-09-18 18:00:00 -04:00
Adam J. Stewart
b44cf08cb2 py-notebook: add new version (#18638) 2020-09-18 14:46:12 -05:00
Greg Becker
7585b37865 do out of source builds in hashed directories (#18574) 2020-09-18 12:21:13 -07:00
Shahzeb Siddiqui
58fb6cdaad trigger ascent e4s pipeline on merge to spack develop (#18655)
* trigger ascent e4s pipeline on merge to spack develop

* change pipeline name ecpcitest/e4s is the pipeline that will be triggered for merge on develop its the E4S use-case.
2020-09-18 10:38:29 -07:00
Glenn Johnson
6e82776773 Add mumax-3.10 release version (#18740)
This PR adds the current release version of mumax and tweaks the install
of the previous beta version.

- Set the url parameter to reflect the release version over the beta
  version. Hopefully, this will be consistent going forward.
- Set an explicit url for the previous beta version.
- Accept values for `cuda_arch`. The previous version had its own list
  but the release version does not.
- Replace the built in cuda compute capabilities list with the one
  provided by Spack for the 3.10beta version.
2020-09-18 13:36:00 -04:00
Seth R. Johnson
71c7e28ca7 swig: add version 4.0.2 and 4.0.2-fortran (#18741) 2020-09-18 13:35:33 -04:00
Greg Becker
2e4892c111 env view failures: print underlying error message (#18713) 2020-09-18 10:21:14 -07:00
Jen Herting
44c7826892 [py-pyarrow] added variant cuda (#18716)
* [py-pyarrow] added variant cuda

* [py-pyarrow] simplifying variant dependencies
2020-09-18 10:28:28 -05:00
darmac
8cb1192050 util-linux: fix build error (#18647)
* util-linux: fix build error

* refine install stage
2020-09-18 10:04:28 -05:00
darmac
a4cdf664c6 Add new package: shiro (#18541)
* Add new package: shiro

* refine description and dependencies
2020-09-18 10:03:32 -05:00
ketsubouchi
403ea4384e ocaml: support 4.11 (#18705) 2020-09-18 10:02:50 -05:00
Toyohisa Kameyama
7d0a46c051 iwyu: Require llvm+all_targets on non-x86_64 systems (#18710) 2020-09-18 10:31:03 -04:00
Axel Huebl
a8b6faf430 py-recommonmark: fix URL and docutils version (#18714) 2020-09-18 12:07:57 +02:00
Axel Huebl
275583c02f py-breathe: added v4.21.0 (#18722) 2020-09-18 07:44:54 +02:00
Mark W. Krentel
80fe51046c libpfm4: add version 4.11.0 (#18720)
Add version 4.11.0 for libpfm4.
Add myself as maintainer.
2020-09-17 15:58:23 -05:00
Jen Herting
e329e13f32 [arrow] added cuda variant (#18715) 2020-09-17 15:26:51 -05:00
Glenn Johnson
4b41d56bc3 Add bart-0.6.00 (#18717)
This PR adds version 0.6.00 of bart.
2020-09-17 15:25:08 -05:00
Adam J. Stewart
f9699fd3ff py-nbconvert: add new version (#18636) 2020-09-17 15:23:59 -05:00
Adam J. Stewart
69d8417d8a py-nbclient: add new package (#18628) 2020-09-17 12:54:03 -07:00
Adam J. Stewart
01df552149 py-matplotlib: add v3.2.2 (#18681) 2020-09-17 12:46:20 -07:00
t-nojiri
b66d756da6 bowtie : Fix for aarch64 (#18709) 2020-09-17 11:42:32 -05:00
Glenn Johnson
7c01c64d53 gpu-burn: allow to build with non-gcc compilers (#18707)
This PR modifies the patch to use $(CXX) rather than g++ to allow the
spack compiler to be used.
2020-09-17 17:24:22 +02:00
Glenn Johnson
2576d8d767 Update libbeagle (#18703)
This PR fixes a couple of things with the libbeagle package.

- libbeagle can only be built for one GPU type. Add a test for that.
- version 2 had the arch statement in
  libhmsbeagle/GPU/kernels/Makefile.am but version 3 has it in
  configure.ac. Put the variant specified value in configure.ac for
  consistency.
2020-09-17 10:04:21 -05:00
Ganesh Kumar
0f332c73a6 Rocm 3.7 miopen, miopengemm, rocalution and rocm-opencl (#18690)
* ROCm 3.5 miopen recipe

* fixing flake8 issues

* cmake variant fix

* min support fix

* variant possible values

* rocm3.7 change for miopen, rocalution and rocm-opencl

* review comments
2020-09-17 10:00:45 -05:00
Enrico Usai
91bd99b4b2 aws-parallelcluster: add 2.9.1 and 2.9.0 releases (#18676)
Checked all the third party dependencies for all the versions.
2020-09-17 09:59:11 -05:00
arjun-raj-kuppala
7fb83047fd Hipify clang with AMD rocm 3.7.0 update (#18672)
* Hipify clang with rocm 3.7.0 update

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

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2020-09-16 22:18:48 -05:00
Greg Sjaardema
9a5f043ce6 seacas: Force use of non-mpi-enabled hdf5 (#18702)
Due to recent changes in the `netcdf-c` package, it is now necessary to explicitly request a non-mpi-enabled hdf5 build if building a non-mpi-enabled seacas.
2020-09-16 16:37:13 -05:00
Robert Blake
f95d7959b2 lustre: Adding external support. Closing #18698 (#18700) 2020-09-16 16:29:59 -05:00
Simon Frasch
91649763ab spla: Add version 1.1.1 and fix cmake flag when build with +cuda (#18699) 2020-09-16 16:27:00 -05:00
Sajid Ali
7c23498f1d bump CGAL version (#18693)
* bump CGAL version

* Address reviewer comments

* flake8 fix

* Address reviewer comments

* Address reviewer comments
2020-09-16 16:22:40 -05:00
Andre Sailer
635b8243fe [dd4hep]: add variant lcio (#18691) 2020-09-16 17:33:14 +01:00
Tiziano Müller
0d5c065678 libvdwxc: unbreak concretization, request fftw-api (#18688)
* libvdwxc: unbreak concretization, request fftw-api

mixing both fftw and fftw-api in a dependency tree can trigger the
following:

```
$ spack spec cp2k@master +sirius
==> [2020-09-16-12:36:06.552981] sirius applying constraint gsl
==> [2020-09-16-12:36:06.554270] sirius applying constraint openblas@0.3.10%gcc@7.5.0~consistent_fpcsr~ilp64+pic+shared threads=none arch=linux-opensuse_leap15-sandybridge
Traceback (most recent call last):
  File "./bin/spack", line 64, in <module>
    sys.exit(spack.main.main())
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/main.py", line 762, in main
    return _invoke_command(command, parser, args, unknown)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/main.py", line 490, in _invoke_command
    return_val = command(parser, args)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/cmd/spec.py", line 103, in spec
    spec.concretize()
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/spec.py", line 2228, in concretize
    user_spec_deps=user_spec_deps),
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/spec.py", line 2716, in normalize
    visited, all_spec_deps, provider_index, tests)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/spec.py", line 2654, in _normalize_helper
    dep, visited, spec_deps, provider_index, tests)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/spec.py", line 2613, in _merge_dependency
    visited, spec_deps, provider_index, tests)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/spec.py", line 2654, in _normalize_helper
    dep, visited, spec_deps, provider_index, tests)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/spec.py", line 2554, in _merge_dependency
    provider = self._find_provider(dep, provider_index)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/spec.py", line 2489, in _find_provider
    providers = provider_index.providers_for(vdep)
  File "/data/tiziano/debug-spack/spack2/lib/spack/spack/provider_index.py", line 80, in providers_for
    return sorted(s.copy() for s in result)
  File "/data/tiziano/debug-spack/spack2/lib/spack/llnl/util/lang.py", line 249, in <lambda>
    lambda s, o: o is not None and s._cmp_key() < o._cmp_key())
TypeError: '<' not supported between instances of 'str' and 'NoneType'
```

while at the same point disallowing MKL as a fftw provider.
Solving both issues by depending on `fftw-api@3` instead and adding a
conflict on `^fftw~mpi` when using `+mpi` (thanks to alalazo).

* cp2k: use conflicts instead of runtime checks for fftw/openblas variants
2020-09-16 10:41:46 -05:00
t-nojiri
cb218058bc fraggenescan: Modify build_targets for aarch64 (#18687) 2020-09-16 10:40:33 -05:00
Xavier Delaruelle
0b3e860608 environment-modules: add version 4.6.0 (#18686) 2020-09-16 10:39:55 -05:00
Robert Pavel
2f0565de64 Added spackage for cosmoflow-benchmark proxy app (#18685)
* Initial Draft of Cosmoflow Spackage

Need to add in logic to streamline cpu/gpu builds

* Added ~cuda logic to cosmoflow spackage

Added logic to support a ~cuda build for cosmoflow

* Requested Changes to Cosmoflow Spackage

Made requested changes to cosmoflow spackage
2020-09-16 10:18:01 -05:00
Severin Strobl
e41c3ad1fc Likwid versions >= 5.0.0 depend on Lua 5.2. (#18675)
* Likwid versions >= 5.0.0 depend on Lua 5.2.

According to https://github.com/RRZE-HPC/likwid/issues/324 recent
versions of Likwid require Lua 5.2.

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-16 10:16:08 -05:00
Jason Lee
1a9f97fd0d jemalloc: Use AutotoolsPackage and allow for arbitrary public API prefixes (#18680)
Removed je variant
2020-09-15 20:37:05 -05:00
Greg Sjaardema
6a3583f181 MatIO: Update repository and add new versions (#18683)
MatIO development has switched to github from sourceforge.  Updated the `git` and `url` variables and added the four new versions (1.5.14 -- 1.5.17) that have been released since the last update of this package.
2020-09-15 16:43:45 -05:00
arjun-raj-kuppala
bad9f2bc28 AMD ROCmValidationSuite recipe for 3.5.0 and 3.7.0 (#18678)
* AMD ROCmValidationSuite recipe for 3.5.0 and 3.7.0

* Updated the PR comments for rocmvalidationsuite recipe
2020-09-15 13:16:41 -05:00
Nikolay Simakov
1b1bfd883a namd: Added optimization auto-selection for skylake-X+ CPU for 2.14 and 2.15a1 (AVX512 tile) (#18671) 2020-09-15 10:08:26 -05:00
Sergey Kosukhin
5cff304809 CLAW: update the package (#18673) 2020-09-15 10:04:59 -05:00
Tom Payerle
6752a1c377 Qbox minor issues 18664 (#18665)
* qbox: install to correct directory structure

* qbox: Have qb executable put in bin rather than src subdir

* qbox: Fix python script shebangs to use python from path

* qbox: Add dependencies on gnuplot, python2 for utilities

* qbox: fix flake8 issue

* qbox: Add $prefix/util to PATH
2020-09-15 09:54:26 -05:00
ketsubouchi
33e8dcad99 nseg: add return 0; to void functions (#18481) 2020-09-15 10:24:51 +02:00
Adam J. Stewart
5e6875008c fish: add dependencies, patch MacOS (#18526) 2020-09-15 08:43:53 +02:00
Adam J. Stewart
5f0c3427ae py-cmocean: added new package at v2.0 (#18614) 2020-09-15 08:36:26 +02:00
Adam J. Stewart
2af9e44340 Add setuptools run-time dependency to various Python packages (#18616) 2020-09-15 08:30:59 +02:00
Adam J. Stewart
b3ee04c6ef py-jupyterlab-pygments: added new package at v0.1.1 (#18627) 2020-09-15 08:30:08 +02:00
Adam J. Stewart
f7030287d3 py-nest-asyncio: add new package at v1.4.0 (#18629) 2020-09-15 08:28:51 +02:00
Adam J. Stewart
445988011c py-ipykernel: added v5.3.4, moved url to PyPI (#18630) 2020-09-15 08:28:17 +02:00
Adam J. Stewart
ef37852bb4 py-ipython: added v7.18.1 (#18631) 2020-09-15 08:26:27 +02:00
Adam J. Stewart
40a66317e8 py-jupyter-client: added v6.1.7, moved url to PyPI (#18632) 2020-09-15 08:25:39 +02:00
Adam J. Stewart
792c48a558 py-jupyter-core: updated the type of the setuptools dependency (#18633) 2020-09-15 07:42:28 +02:00
Adam J. Stewart
0448ade7b5 py-jupyterlab-server: added v1.2.0 (#18634) 2020-09-15 07:39:30 +02:00
Adam J. Stewart
defde398c4 py-argon2-cffi: added new package at v20.1.0 (#18626) 2020-09-15 07:38:16 +02:00
Adam J. Stewart
77d20906c0 py-jupyterlab: added v2.2.7 (#18635) 2020-09-15 07:20:15 +02:00
Adam J. Stewart
682223f1f4 py-nbformat: add v5.0.7, moved url to PyPI (#18637) 2020-09-15 07:18:12 +02:00
Adam J. Stewart
60a5a176fb py-terminado: added v0.8.3 (#18639) 2020-09-15 07:15:38 +02:00
Adam J. Stewart
c59836222e py-traitlets: added v5.0.4, moved url to PyPI (#18640) 2020-09-15 07:15:00 +02:00
Robert Pavel
4fc2370559 Added Missing Tag to Cradl Spackage (#18669)
Added missing proxy apps tag to cradl spackage
2020-09-14 18:55:53 -06:00
Robert Pavel
a2673aeddd CRADL Machine Learning Proxy Spackage (#18668)
* Initial CRADL Spackage Work

Currently resolving ```--single-version-externally-managed``` error

* Fixed GPUtil Issues

Thanks to Vinay Ramakrishnaiah for overwriting install

* Finished CRADL Install Function

Finished CRADL install function which is basically copying the scripts
to the install directory. Also resolved flake8 issues for PR purposes
2020-09-14 14:25:49 -06:00
Simon Frasch
49512e21ab SIRIUS: Update dependencies (#18622)
* sirius: Fixed dependency spfft when build with +rocm

* sirius: Added new dependency spla for develop build

* sirius: Added maintainer
2020-09-14 12:23:32 -05:00
Scott Wittenburg
f537d5bb58 Make sure each develop pipeline tests associated commit 2020-09-14 10:37:42 -06:00
Scott Wittenburg
28ef5b1204 Do not assume we sit in the directory where the env file lives. 2020-09-14 10:37:42 -06:00
Scott Wittenburg
031490f6aa Remove :<name> interpolation, add SPACK_VERSION variables
Also fix issues with documentation to reflect changes
2020-09-14 10:37:42 -06:00
Scott Wittenburg
bf90cdd6c7 Document pipeline keys which can be global but overridden
Update pipelines documentation to describe how 'tags', 'variables',
'image', 'before_script', 'script', and 'after_script' can be
supplied at the top level, to be used by any of the runner mappings,
and also overridden by any of the runner mappings.

Also show an example of capturing the custom spack SHA at pipeline
generation time, so all jobs are sure to run with the same version
of spack, as a means to illustrate the $env:VARIABLE_NAME syntax.
2020-09-14 10:37:42 -06:00
Scott Wittenburg
d9e0718c9d Allow overridable global runner attributes 2020-09-14 10:37:42 -06:00
Scott Wittenburg
e686f1500e Update pipeline documentation to describe user-provided scripts 2020-09-14 10:37:42 -06:00
Scott Wittenburg
e18612a321 Add test for variable interpolation and scripts 2020-09-14 10:37:42 -06:00
Scott Wittenburg
2386f7582a Support variable interpolation at pipeline generation time 2020-09-14 10:37:42 -06:00
Scott Wittenburg
ace52bd476 Provide your own script, before_script, and after_script 2020-09-14 10:37:42 -06:00
Massimiliano Culpo
4ca7d46e15 Fix a typo in test/concretize.pyi (#18662) 2020-09-14 09:58:14 -05:00
darmac
5f47170492 Add new package: webbench (#18650)
* Add new package: webbench

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-14 09:57:40 -05:00
ketsubouchi
41b68741ec cpio: add --rtlib=compiler-rt for %fj (#18619)
* cpio: add --rtlib=compiler-rt for %fj

* cpio: simplify if

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

This seems better.

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-14 09:55:47 -05:00
t-nojiri
a250006449 ngmlr: support for aarch64 (#18621)
* ngmlr: support for aarch64

* ngmlr: Fixed patch file
2020-09-13 23:14:59 -05:00
ketsubouchi
3cfce42563 nek5000: Support Fujitsu fortran (#18659) 2020-09-13 23:14:04 -05:00
Paul
c29b74e7ad Updated FZF package for newer versions. (#18608)
* Support for external find.
* Added latest version (0.22.0) and conditions to package to continue
support for older versions.
2020-09-13 11:27:56 -05:00
Joseph Wang
58f101de88 use github for download (#18657) 2020-09-13 10:23:46 -05:00
Andrew W Elble
a734dabf2b new package: py-reproject (#18641)
* new package: py-reproject
add setuptools build/run dep to py-astropy-healpix

* fixes

* fix
2020-09-12 15:37:34 -05:00
darmac
85f7a8bf71 Add new package: delta (#18648) 2020-09-12 15:37:14 -05:00
darmac
10dab474ce cvs: add a patch for segv issue (#18649) 2020-09-12 09:47:39 -05:00
darmac
e355fc16ad Add new package: dbxtool (#18651) 2020-09-12 09:45:05 -05:00
darmac
3211ac5136 Add new package: geoip-api-c (#18653) 2020-09-12 09:44:28 -05:00
darmac
cde4654525 Add new package: libspiro (#18654) 2020-09-12 09:44:02 -05:00
darmac
6d39e6ebea Add new package: hping (#18311)
* Add new package: hping

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

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

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

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

* Update package.py

Fix flake8 errors

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-12 09:36:30 -05:00
darmac
128731ec74 Add new package: jetty-project (#18555)
* Add new package: jetty-project

* refine dependency

* refine maven version
2020-09-12 09:35:38 -05:00
Richarda Butler
8116153f2a bugfix: include configuration ignoring files with the same basename (#18487)
* Use the config path instead of the basename

* Removing unused variables

Co-authored-by: Greg Becker <becker33@llnl.gov>

* Test
Making sure if there are 2 include config files with the same basename they are both implemented

* Edit test assert

Co-authored-by: Greg Becker <becker33@llnl.gov>
2020-09-11 16:45:36 -07:00
Robert Blake
afb0883762 ncurses: adding external support. (#18609)
* ncurses: adding external support.

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

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

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

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

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

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

* Fixing includes.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-11 16:00:11 -05:00
Massimiliano Culpo
8ad2cc2acf Environments: Avoid inconsistent state on failed write (#18538)
Fixes #18441 

When writing an environment, there are cases where the lock file for
the environment may be removed. In this case there was a period 
between removing the lock file and writing the new manifest file
where an exception could leave the manifest in its old state (in
which case the lock and manifest would be out of sync).

This adds a context manager which is used to restore the prior lock
file state in cases where the manifest file cannot be written.
2020-09-11 10:57:29 -07:00
Adam J. Stewart
e7040467f2 NumPy: added v1.19.2 (#18615) 2020-09-11 15:38:24 +02:00
srekolam
1aceb38b89 Changes for hipsparse, rocthrust recipes for rocm_3.7.0 (#18497)
* changes for hipsparse,rocthrust recipes for rocm_3.7.0

* changes to rocrand for 3.7.0

* version changes
2020-09-10 17:33:21 -05:00
srekolam
4a474d9d67 recipes changes for hipblas, rocprim, rocfft, rocsolver for rocm3.7.0 (#18495)
* recipes changes for rocprim,rocfft,rocsolver for rocm3.7.0

* changes to hipcub recipe for rocm-3.7.0

* changes to address review comments
2020-09-10 17:32:41 -05:00
Robert Pavel
29645ceba5 Adding Missing Versions for Flux-Sched/Flux-Core and Compiler Flags (#18612)
* Checksummed New Flux Versions

Checksummed new flux versions to let spack detect them

* Added CXXFlags to build Flux-sched

Added missing cxxflags to build flux-sched
2020-09-10 16:53:28 -05:00
Robert Pavel
3fabdb6e9b Adding Cuda Variant to SW4Lite (#18590)
* Adding Cuda Variant to SW4Lite

Added cuda variant of sw4lite  as per guidance in README

* Updated SW4Lite+cuda to Current Header Conventions

Updated sw4lite+cuda to use current conventions for spackage include
dirs

* Fixing FLake8 Issue with Sw4lite+cuda Fix

Fixed overly long line and further underlined sticky note reminding me
to run flake8 BEFORE pushing

* Switching to Spack Compiler Wrapper

Switching to spack compiler wrapper for consistency
2020-09-10 16:53:13 -05:00
Tim Haines
ff6ca57dda Dyninst: add v10.2.1 (#18611) 2020-09-10 16:09:06 -05:00
Rémi Lacroix
114317464b Orca: update the package. (#18593)
* Orca: Add new versions.

* Orca: Support OpenMPI without the legacy wrappers.

By default, Spack builds OpenMPI without the legacy wrappers when using the Slurm scheduler. This breaks Orca since its binaries are hardcoded to call "mpirun". To workaround this issue, add a "mpirun" wrapper which calls "srun" when required.
2020-09-10 11:55:13 -05:00
Johannes Blaschke
757dad370f Bugfix for fish support: overly zealous arg matching (#18528)
* bugfix for issue 18369

* fix typo

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-10 10:01:44 -05:00
Tiziano Müller
2bc9821c43 update CP2K pkg for 8+ (#18607)
* cp2k: do not support ~openmp for v8+

* sirius: version bump

* cp2k: fix overlapping deps for elpa

fixes #18029

* cp2k: update SIRIUS dependency for v8+

* spfft: requires CMake 3.11+

* cp2k: fix build with +sirius
2020-09-10 10:00:31 -05:00
Toyohisa Kameyama
34f4049815 dpdk: Avoid option conflicts between spack wrappers and Makefiles on aarch64 gcc. (#18603) 2020-09-10 09:59:18 -05:00
t-nojiri
e13e2b0d54 prism: support for aarch64 (#18562)
* prism: support for aarch64

* prism: Change patch file.
2020-09-10 09:56:19 -05:00
Adam J. Stewart
25291cf01c GDAL: fixed Java bindings, added v3.1.3 (#18494) 2020-09-10 15:08:24 +02:00
Tomoki, Karatsu
778e659a03 openfoam: Set 'FOAM_SIGFPE' when using Fujitsu compiler. (#18601) 2020-09-10 15:01:50 +02:00
Tomoki, Karatsu
d4535f3115 fj: fixed homepage URL. (#18602) 2020-09-10 14:55:52 +02:00
Fabian Brandt
fc919e490e NetworKit: update to v7.1, including dependencies (#18604) 2020-09-10 14:53:16 +02:00
srekolam
651cffae0a Rocprofiler changes for rocm-3.7.0 release (#18599)
* rocprofiler changes for rocm-3.7.0 release

* fix flake8 errors
2020-09-09 21:43:07 -05:00
Brian Van Essen
87dc324f36 Support older cuda arch capabilties. (#18597) 2020-09-09 21:42:34 -05:00
ketsubouchi
b014ffcd3d darshan-util: remove return(-1) from void function (#18504)
* darshan-util: remove return(-1) from void function

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-09 21:03:59 -05:00
psakievich
7b2c59e6cf Fix typo in nalu-wind package (#18596) 2020-09-09 19:12:14 -05:00
Paul
9eac1ed6a8 Support external find for gpgme. (#18594) 2020-09-09 17:39:33 -05:00
Christoph Junghans
691e46c4f5 Packages/gamess ri mp2 mini app (#18595)
* gamess-ri-mp2-miniapp: initial import

* flake8

* Update var/spack/repos/builtin/packages/gamess-ri-mp2-miniapp/package.py

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-09 16:10:59 -06:00
Glenn Johnson
f1652e89af Add new versions of intel-mkl (#18592) 2020-09-09 15:27:36 -05:00
arjun-raj-kuppala
9c8cfcca0f Adding hipify-clang and aomp recipe for rocm (#18333)
* Adding aomp recipe for rocm 3.5.0 release

* hipify-clang rocm recipe

* incorporated suggested changes on PR#18333 for rocm aomp recipe

* remove binutils dependency and update to devicelibs tar path
2020-09-09 13:47:51 -05:00
Jen Herting
857530c5ae [parallel] added version 20200822 (#18591) 2020-09-09 10:58:07 -07:00
Robert Brunner
1ae50f8022 Added specific "@master" version specifier for component libraries when building (#18579)
the develop version of SCR
2020-09-09 12:52:36 -05:00
Jen Herting
f7d1f845f4 [py-thinc] fixed checksum (#18571) 2020-09-09 11:25:06 -05:00
Rémi Lacroix
fa04ad5d92 tcl module files: fix configuration overriding (#18514)
This is a special case of overriding since each section is being matched with the current spec.

The trailing ':' for sections with override is now removed when parsing the configuration so the special handling for the modules configuration stopped working but it went unnoticed.
2020-09-09 18:05:58 +02:00
Garth N. Wells
3dedd2e321 (py-)fenics-dolfinx: fix dependencies (#18586)
* Fix (py-)fenics-dolfinx dependencies

* flake8 updates
2020-09-09 10:55:06 -05:00
Ganesh Kumar
4c5151327f Rocm 3.7 rccl (#18587)
* ROCm 3.5 miopen recipe

* fixing flake8 issues

* cmake variant fix

* min support fix

* variant possible values

* ROCm 3.7 RCCL changes
2020-09-09 10:49:40 -05:00
Ganesh Kumar
a18700a86a Rocm 3.7 rocm smi (#18522)
* ROCm 3.5 miopen recipe

* fixing flake8 issues

* cmake variant fix

* min support fix

* variant possible values

* ROCm 3.7 support for rocm-smi

* review comments change

* miopen merge conflict resolve

* reverting back from copy_tree to install_tree
2020-09-09 08:22:40 -05:00
Simon Frasch
290b77fe43 spla: Add version 1.1.0 and ROCm support (#18561) 2020-09-09 07:22:53 -05:00
Toyohisa Kameyama
4472914847 audacious: added gettext and iconv dependency. (#18584) 2020-09-09 11:23:01 +02:00
Adam J. Stewart
8494d26c0a nn-c: fix pic flags (#18478) 2020-09-09 10:25:57 +02:00
Adam J. Stewart
ba47a057f0 py-torchvision: add variant to set image backend (#18500) 2020-09-09 10:16:50 +02:00
Adam J. Stewart
96364235e3 readline: fix build with ncurses~termlib (#18524) 2020-09-09 10:12:46 +02:00
Adam J. Stewart
4307b73299 pcre2: fix libs property (#18525) 2020-09-09 10:11:29 +02:00
Hadrien G
d24532f574 acts: added v0.32 and adapt to latest master changes (#18563) 2020-09-09 09:44:44 +02:00
Adam J. Stewart
346d12dc6c Pandas: added v1.1.2 (#18580) 2020-09-09 09:32:56 +02:00
t-nojiri
d11705f9d0 r-ff: support for aarch64 (#18585) 2020-09-09 09:01:51 +02:00
darmac
e3cd3fb9eb Add new package: quartz (#18539) 2020-09-08 21:29:26 -05:00
Martin Aumüller
ab51edecb5 openscenegraph: remove dependency on Qt for newer versions (#18531)
Starting with OpenSceneGraph 3.5.5, support for windows managed by Qt
has been moved to the seperate project osgQt. Hence, a dependency on Qt
is not needed any longer for version 3.5.5 or newer.
In order to still satisfy the dependency on OpenGL, a depends_on('gl')
has been added.
2020-09-08 21:28:27 -05:00
darmac
b1cea5c23e Add new package: kylin (#18537)
Co-authored-by: root <root@localhost.localdomain>
2020-09-08 21:27:01 -05:00
darmac
275ac86925 Add new package: sqlite-jdbc (#18540) 2020-09-08 21:26:11 -05:00
darmac
0f4f4a2e95 Add new package: orientdb (#18542) 2020-09-08 21:21:35 -05:00
darmac
97b7af01d9 Add new package: nacos (#18543) 2020-09-08 21:20:41 -05:00
darmac
0325cb564b Add new package: fastjson (#18545) 2020-09-08 21:17:19 -05:00
darmac
a0ba89d84a Add new package: guacamole-client (#18546) 2020-09-08 21:15:52 -05:00
darmac
a12ced781c Add new package: jansi-native (#18547) 2020-09-08 21:14:49 -05:00
darmac
fe05fc7fd5 Add new package: jline3 (#18548) 2020-09-08 21:14:00 -05:00
darmac
1ac24aca96 refine efivar install flow (#18557) 2020-09-08 21:08:38 -05:00
Jaroslav Hron
e2e90e4d6b Update package.py (#18552)
without setting the build enviroment, the installation fails with

```
1 error found in build log:
     35946    fmtutil [INFO]: /usr/local/pkg/Installs/linux-ubuntu18.04-skylake_avx512/gcc7.4.0/texlive/20190410/rgs2nakycorkgzno/t
              exmf-var/web2c/pdftex/pdfcslatex.fmt installed.
     35947    fmtutil [INFO]: Disabled formats: 6
     35948    fmtutil [INFO]: Successfully rebuilt formats: 45
     35949    fmtutil [INFO]: Total formats: 51
     35950    fmtutil [INFO]: exiting with status 0
     35951    ==> [2020-09-07-21:23:21.482745] '/usr/local/pkg/Installs/linux-ubuntu18.04-skylake_avx512/gcc7.4.0/texlive/20190410/
              rgs2nakycorkgzno/bin/x86_64-linux/mtxrun' '--generate'
  >> 35952    /usr/bin/env: 'texlua': No such file or directory
```

May be there is a better way...
2020-09-08 21:05:18 -05:00
Garth N. Wells
af189e3ed9 Fix linking problem on macos (#18564) 2020-09-08 21:01:21 -05:00
Andrew W Elble
520308ad2b astra: update checksum, add other executables (#18567) 2020-09-08 21:00:27 -05:00
Tom Payerle
7165795c4a libxmms: add python build dependency (#18566) (#18568)
Build of libxmms requires python, but not in spack dependency list.
See  #18566
2020-09-08 20:59:22 -05:00
Michael Kuhn
017331684e go: Add 1.15.1 and 1.14.8 (#18575) 2020-09-08 20:56:08 -05:00
Michael Kuhn
e43855bc8f node-js: Add 14.10.0 and 12.18.3 (#18576) 2020-09-08 20:55:40 -05:00
Michael Kuhn
9c4d79f8cd npm: Add 6.14.8 (#18577) 2020-09-08 20:55:12 -05:00
Adam J. Stewart
2f4d493744 Cython: add setuptools run-dependency (#18572)
Cython requires a library that is available in Python 3.8, or before
Python 3.8 with setuptools. This specifies that setuptools is a run
dependency to allow running with Python < 3.8
2020-09-08 17:27:49 -07:00
Tamara Dahlgren
88749de5c9 Clarify manual download required if unable to fetch package (#18242)
Clarify manual download required if unable to fetch (from mirror(s)); support (and tests) for package-specific download instructions
2020-09-08 17:15:48 -07:00
Tamara Dahlgren
6b30cd18d6 Update cray-libsci homepage and install error (#18581) 2020-09-08 16:22:25 -06:00
Richarda Butler
d721bd8070 commands: update help for spack install --yes-to-all (#18367)
`spack install --yes-to-all` doesn't actually make the build non-interactive,
but that is why people typically use it. This documents that you must also
specify `--no-checksum` for a fully non-interactive build.
2020-09-08 13:18:25 -07:00
Peter Josef Scheibel
ccd65895a6 print out debug information about which specs are applying which constraints 2020-09-08 12:19:02 -07:00
Adam J. Stewart
94e694b19f spack docs: http -> https (#18573) 2020-09-08 20:19:20 +02:00
Michal Sudwoj
7205a75427 Added nvptx variant to rust (#18209)
Co-authored-by: Andrew Gaspar <andrew.gaspar@outlook.com>

Co-authored-by: Andrew Gaspar <andrew.gaspar@outlook.com>
2020-09-08 11:28:59 -05:00
Rémi Lacroix
92bf9493cf Modules: Deduplicate suffixes but don't sort them. (#18351)
* Modules: Deduplicate suffixes but don't sort them.

The suffixes' order is defined by the order in which they appear in the configuration file.

* Modules: Modify tests to use spack_yaml.load_config.

spack_yaml.load_config ensures that the configuration is stored in an ordered manner. Without this change, the behavior of the tests did not match Spack's.

* Modules: Tweak the suffixes test to better catch ordering issues.
2020-09-08 08:43:03 -06:00
Gvozden Neskovic
c2b33b4444 gromacs: add zen2 target SIMD optimizations (#18551)
Co-authored-by: Gvozden Nešković <neskovic@dev06.compeng.uni-frankfurt.de>
2020-09-08 06:52:56 -06:00
Piotr Luszczek
73110b415d hpcc: add explicit C99 flag for older GCC versions (#18556) 2020-09-08 08:30:02 +02:00
Mark W. Krentel
850924e423 hpctoolkit: adjust some dependencies (#18558)
Hpctoolkit master and upcoming releases now want the +pic variant for
two dependencies, libunwind and xz.
2020-09-08 08:27:39 +02:00
Axel Huebl
64273da2cc openPMD-api: added v0.12.0 (#18560) 2020-09-08 08:18:21 +02:00
Massimiliano Culpo
28c6ce9714 SpecList: remove mutable types from __init__ arguments (#18515)
fixes #18439
2020-09-07 11:53:59 -07:00
jthies
dcee0a1d5d phist: added v1.9.1 (#18529) 2020-09-07 17:52:07 +02:00
ketsubouchi
03a808ec2d kim-api: add support for Fujitsu compilers (#18533) 2020-09-07 17:47:55 +02:00
Andre Sailer
138e2ad0a1 [LCIO]: changes to install/CPATH for python bindings (#18512) 2020-09-07 10:16:16 -05:00
darmac
b2b7bcd86a Add new package: kbd (#18436)
* Add new package: kbd

* fix description error
2020-09-07 10:12:47 -05:00
Tim Haines
8b7ca5ef50 capstone: added v4.0.2 (#18534)
This also adds the git branches "master" and "next".
2020-09-07 16:04:23 +02:00
darmac
5e86a131d2 jansi: added new package at v1.18 (#18549) 2020-09-07 16:02:18 +02:00
ketsubouchi
80691fa6d5 gconf: add dependencies (#18406)
* gconf: add dependencies

* gconf: add run type to perl-xml-parser
2020-09-06 22:33:42 -05:00
Andrew W Elble
8ad581e7b3 new package: py-textblob (#18516)
* new package: py-textblob

add variant to py-nltk to allow for data download/installation
add dependencies to py-nltk so that bin/nltk works

* add resources and resource generation script
2020-09-05 11:50:03 -05:00
Satish Balay
b494f50489 petsc4py: repo is migrated from bitbucket to gitlab (#18519) 2020-09-05 10:18:48 -05:00
Massimiliano Culpo
ba257914b3 fujitsu: added new package (#18021)
The package is at the moment not installable, just detectable.

Co-authored-by: Toyohisa Kameyama <kameyama@riken.jp>
2020-09-05 10:40:52 +02:00
Robert Blake
ea57171712 Make spack environment configurations writable from spack external and spack compiler find (#18165)
* spack config: default modification scope can be an environment

The previous model was that environments are the highest priority config
scope for config reading operations, but were not considered for config
writing operations. Now, the active environment is the highest priority
config scope for both reading and writing operations.

Now spack config add, spack external find and spack compiler set environment 
configuration in the environment by default if an environment is active. This is a
change in default behavior for these routines, but better matches the mental
model for an environment taking precedence over the user's default config file.

* add scope argument to 'spack external find' to choose non-default scope

* Increase testing for config modifications on environments

Co-authored-by: Gregory Becker <becker33@llnl.gov>
2020-09-05 01:12:26 -07:00
Ganesh Kumar
704fc475e3 ROCm3.5 miopen recipe (#18442)
* ROCm 3.5 miopen recipe

* fixing flake8 issues

* cmake variant fix

* min support fix

* variant possible values
2020-09-04 17:02:33 -05:00
Nick Booher
61ae21ee4d energyplus: add version 9.1 (#18485) 2020-09-04 16:13:53 -05:00
mic84
c5e50b73ef amrex:: new version 20.09 (#18486) 2020-09-04 16:13:20 -05:00
Tom Payerle
2cc7718edd bml: Add build dependency on python (#18489) (#18491)
At some point in the build phase a script
spack-src/scripts/convert-template
has a shebang looking for python in the path.

Currently this picks up system python if in invoker's path, but should
be using python from spack, so add a build dependency on python.
2020-09-04 16:12:53 -05:00
Michael Kuhn
518372ccd1 mariadb-c-client: Add 3.1.9 (#18501) 2020-09-04 16:03:43 -05:00
Michael Kuhn
ca2760381b py-setuptools: Add 50.1.0 and 49.6.0 (#18502) 2020-09-04 16:03:20 -05:00
Michael Kuhn
f836d93da1 rocksdb: Add 6.11.4 (#18503) 2020-09-04 16:01:30 -05:00
Michael Kuhn
f2adf531b3 glib: Add 2.64.5 (#18505) 2020-09-04 16:00:07 -05:00
Michael Kuhn
262edde2c1 libbson, mongo-c-driver: Add 1.17.0 (#18506) 2020-09-04 15:59:43 -05:00
Michael Kuhn
14983401a1 libidn2: Add 2.3.0 (#18507) 2020-09-04 15:59:16 -05:00
Michael Kuhn
972caba882 curl: Add 7.72.0 (#18508) 2020-09-04 15:58:52 -05:00
Michael Kuhn
53bf97298f gettext: Add 0.21 (#18509) 2020-09-04 15:58:30 -05:00
iarspider
0c03248537 Add madgraph 2.8.0; fix recipe (#18510) 2020-09-04 15:58:04 -05:00
Luke Dalessandro
8e41208c65 Build libtinfo.so "--with-versioned-syms" when it is enabled in ncurses. (#18511)
Many system-installed binaries (at least in Debian) are built against a
libtinfo.so that has versioned symbols. If spack builds a version without this
functionality, and it winds up in the user's LD_LIBRARY_PATH via spack load,
system binaries will begin to complain.

```
$ less log.txt
less: /opt/spack/.../libtinfo.so.6: no version information available (required by less)
```

Co-authored-by: Luke D'Alessandro <ldalessa@uw.edu>
2020-09-04 15:54:44 -05:00
Andrew W Elble
f4d3a1a0cb new package: py-markovify (#18517) 2020-09-04 15:46:38 -05:00
t-nojiri
f3c4747318 fermikit: added support for aarch64 (#18480) 2020-09-04 19:52:10 +02:00
Scott Wittenburg
597b43e30a Rely on E4S project variable for SPACK_REPO 2020-09-04 11:18:56 -06:00
Adam J. Stewart
6fcec1dcff Python: default to Python 3.8 (#17798) 2020-09-03 16:15:43 -07:00
Adam J. Stewart
0eca977cc9 py-pillow-simd: fix concretization (#18490) 2020-09-03 15:36:20 -07:00
Adam J. Stewart
7d9f2bf4ed depends_on cannot handle ^ sigil (#18220)
* depends_on cannot handle ^ sigil

* cardioid+mfem+cuda requires hypre+cuda

* Document this limitation

* Move warning message to Known Issues docs

* Better handling of parmetis dep
2020-09-03 17:31:00 -05:00
Adam J. Stewart
7728b0737b Add new MavenPackage build system base class (#18185)
* Add new MavenPackage build system base class

* Fix flake8 and doc tests

* More specific regex

* Java 8 required for these packages
2020-09-03 17:30:39 -05:00
Massimiliano Culpo
fab2622a71 Hashing: force hash consistency for values read from config (#18446)
The 'external_modules' attribute on a Spec, when read from a YAML
configuration file, may contain extra formatting that is lost when
that Spec is written-to/read-from JSON format. This was resulting in
a hashing instability (when the Spec was read back, it would report a
different hash). This commit adds a function which removes the extra
formatting from 'external_modules' as it is passed to the Spec in
__init__ to ensure a consistent hash.
2020-09-03 10:49:36 -07:00
Adam J. Stewart
741bb9bafe install/install_tree: glob support (#18376)
* install/install_tree: glob support

* Add unit tests

* Update existing packages

* Raise error if glob finds no files, document function raises
2020-09-03 10:47:19 -07:00
Adam J. Stewart
098beee295 Pillow-SIMD: use as default PIL provider (#18097)
* Pillow-SIMD: use as default PIL provider

* Fix concretization of pil

* Fix build of older versions of pillow
2020-09-03 10:39:35 -07:00
Michael Kuhn
8c264a9f26 freetype: Add custom headers property (#18440)
freetype's headers are installed in the `freetype2` subdirectory, use a
custom headers property to fix this in dependent packages.
2020-09-03 11:32:41 -05:00
Tamara Dahlgren
84381fbc80 Bugfix: terminate if a spack.yaml include path does not exist (#18074) 2020-09-03 14:37:24 +02:00
t-nojiri
3a562c0cec fermi: added patch to support aarch64 (#18479) 2020-09-03 10:06:15 +02:00
psakievich
7c0b356e79 Add test tolerance variant to nalu-wind pkg (#18455)
* Add test tolerance variant to nalu-wind pkg

* flake8 fixes
2020-09-02 20:31:58 -05:00
Gabriel Rockefeller
ced0a8f068 eospac: add version 6.4.1 (#18476) 2020-09-02 20:28:48 -05:00
Andrew W Elble
879bb063f7 new package: corenlp (#18467)
* new package: corenlp

* import os, not os.path
2020-09-02 20:27:56 -05:00
Robert Blake
638f44d842 CUDA_HOME needs to be set, or CUDA is found based on user's PATH. (#18475) 2020-09-02 19:52:00 -05:00
Harmen Stoppels
6d87cbdb52 Add rocm 3.7.0 libs (#18366)
* Add rocm 3.7.0 libs

* Make 3.7.0-only dependency on numactl explicit

* Add rocm-device-libs dep to rocm-clang-ocl

* Update the cmakelists dir in rocm-debug-agant

* Make rocm-debug-agent work on 3.7.0

* Disable tensile host; following rocm-arch recommendations
2020-09-02 19:50:05 -05:00
Adam J. Stewart
443407cda5 Add new RubyPackage build system base class (#18199)
* Add new RubyPackage build system base class

* Ruby: add spack external find support

* Add build tests for RubyPackage
2020-09-02 16:26:36 -07:00
Chris White
e22a0ca5cf mfem: fix transitive hdf5 static libs (#18457) 2020-09-02 15:06:45 -07:00
Adam J. Stewart
e58db067c3 PythonPackage: update documentation (#18181) 2020-09-02 15:05:10 -07:00
Adam J. Stewart
8eb375bf81 spack test: no gpg signing for git commits (#18454) 2020-09-02 14:48:48 -07:00
Adam J. Stewart
6b20687b26 python: switch to +uuid by default (#18252) 2020-09-02 14:46:58 -07:00
Adam J. Stewart
1992fdf712 Document test dependency type (#18365) 2020-09-02 13:46:52 -07:00
Jose E. Roman
601f97d8a5 New patch release SLEPc 3.13.4 (#18466) 2020-09-02 15:24:07 -05:00
Rémi Lacroix
447ea50bf9 Aria2: Add version 1.35.0. (#18465) 2020-09-02 15:23:40 -05:00
Adam J. Stewart
ba317b01c3 Packages: headers should be lists (#18445) 2020-09-02 13:19:22 -07:00
Nick Booher
0116c44714 ldak: new package at 5.1 (#18431)
* ldak: new package at 5.1

* flake8

* Re-run tests

* Apply suggestions from code review

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-02 11:29:40 -05:00
Auriane R
24843844ae Add HPX 1.5.0 release and update the homepage (#18464) 2020-09-02 10:34:05 -05:00
Sinan
e5fdb2a46c new package: py-python-fmask (#18382)
* new package: py-python-fmask

* flake8

* add missing dependency

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@earth>
2020-09-02 10:29:02 -05:00
Sinan
712e7bd2bf new package: py-gitdb (#18386)
* new package: py-gitdb

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

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

* Update package.py

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-02 10:28:33 -05:00
Jordan Moxon
aa8e046073 Add blaze versions 3.6-3.8 (#18424) 2020-09-02 10:15:38 -05:00
darmac
f268f65733 Add new package: rasdaemon (#18434) 2020-09-02 10:08:34 -05:00
Gvozden Neskovic
1e05321c8f gromacs: add support for opencl build (#18461)
Co-authored-by: Gvozden Nešković <neskovic@dev06.compeng.uni-frankfurt.de>
2020-09-02 09:07:43 -06:00
Seth R. Johnson
d904c57d2b Flibcpp: update version (#18448)
Update available versions and add Fortran check
2020-09-02 11:07:10 -04:00
Paul
1b78a010d8 Updated Hugo package. (#18443)
* Set GOPATH in build environment to avoid creating files in the user's
default GOPATH (e.g. ~/go).
* Support for external find.
* Added latest releease 0.74.3.
2020-09-02 10:03:56 -05:00
ketsubouchi
1026ace6b6 r-boot: checksum mismatch @1.3-23 (#18458) 2020-09-02 10:00:12 -05:00
Weston Ortiz
bf2ded5269 Add gdb TUI variant (#18459) 2020-09-02 09:59:19 -05:00
Mark Olesen
5c94827201 scotch: update to 6.0.10 (released 31-AUG-2020) (#18462)
- added gitlab location, updated the homepage location

Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-09-02 09:57:48 -05:00
Seth R. Johnson
9e51b8d165 New package: ForTrilinos (#18456)
Remove prior built-in Trilinos subrepository.

Added a Trilinos conflict discovered while documenting ForTrilinos:
```
   ***
   *** ERROR: Setting Trilinos_ENABLE_SEACASExodus=OFF which was 'ON' because SEACASExodus has a required library dependence on disabled TPL Netcdf!
   ***
```
2020-09-02 08:14:20 -04:00
Rui Xue
d9b945f663 Mac OS: support Python >= 3.8 by using fork-based multiprocessing (#18124)
As detailed in https://bugs.python.org/issue33725, starting new
processes with 'fork' on Mac OS is not guaranteed to work in general.
As of Python 3.8 the default process spawning mechanism was changed
to avoid this issue.

Spack depends on the fork-based method to preserve file descriptors
transparently, to preserve global state, and to avoid pickling some
objects. An effort is underway to remove dependence on fork-based
process spawning (see #18205). In the meantime, this allows Spack to
run with Python 3.8 on Mac OS by explicitly choosing to use 'fork'.

Co-authored-by: Peter Josef Scheibel <scheibel1@llnl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-09-02 00:15:39 -07:00
Axel Huebl
0740a4ac7e ADIOS: Fix no-MPI Build (#18453)
Do not apply this patch in no-MPI builds. I think this autotools
check logic is generally borked, this will just set it manually to
on/off now.
2020-09-01 18:17:51 -07:00
Adam J. Stewart
17f7b23783 Deprecate spack setup (#18240) 2020-09-01 18:07:48 -07:00
t-nojiri
ae3f3887a6 ccs-qcd: Change compile option for aarch64 (#17516)
* ccs-qcd: Change compile option for aarch64
2020-09-01 18:03:47 -07:00
Patrick Gartung
ae44a8ff64 test/relocate.py: skip tests involving patchelf on macOS (#18451) 2020-09-01 14:49:05 -05:00
Rao Garimella
ea97b37f60 Jali: Fix bugs in CMake section (#18447)
Fix variant name and cmake variable.

Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2020-09-01 15:18:24 -04:00
Jen Herting
e7f1eeb7af Update dependencies: py-torch-geometric (#18265)
* [py-torch-geometric] depends on py-torch-sparse

* [py-torch-geometric] setting TORCH_CUDA_ARCH_LIST

* [py-torch-geometric] added the rest of the dependencies

* [py-torch-geometric] added cuda variant and added more build env vars

* [py-torch-geometric] added variant info for depenedencies

* [py-torch-geometric] flake8

* [py-torch-geometric] add variant description
2020-09-01 13:44:12 -05:00
darmac
f9a330ae99 Add new package: efivar (#18392) 2020-09-01 10:09:59 -05:00
Nikolay Simakov
12078382b6 Added HPC Challenge Benchmark (#18323)
* HPCC Benchmark: added HPC Challenge (HPCC) benchmark

* HPCC Benchmark: modified error message on lack of fftw2 interface in MKL

* hpcc: fixed styling add one more installation example

* hpcc: styling fix

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

* hpcc: changed include and lib location setter

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

* hpcc: fixed styling add one more installation example

* hpcc: removed readme.md

* hpcc: develop repo now is in github

* hpcc: march arguments are set explicitly in case of intel compilers, added -restrict flag, which needed for older intel compilers (at least <=19.0.5.281)

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-01 09:59:06 -05:00
ketsubouchi
3a5746c6c7 orbit2: new package at v2.14.19 (#18405) 2020-09-01 13:11:55 +02:00
darmac
3701633937 fuse-overlayfs: added new package at v1.1.2 (#18435) 2020-09-01 08:28:27 +02:00
Joseph Wang
ebeb8fb8df ocaml: allow v4.08 and v4.09 to build with gcc10 (#18254)
fixes #18228.  

This patch doesn't cover all old versions but it allows packages like whizard to build.
2020-09-01 05:53:13 +02:00
Sinan
1c67a304c8 py-tpot: added new package at v0.11.5 (#18385)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@earth>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-09-01 05:51:23 +02:00
Xavier Delaruelle
efff025787 environment-modules: added v4.5.3 (#18425) 2020-09-01 05:46:13 +02:00
Brian Van Essen
28ef5c0e27 dihydrogen, hydrogen: dependency on CUB is conditional on CUDA version (#18427)
In CUDA 11, CUB is integrated into the CUDA library.
2020-09-01 05:42:21 +02:00
Tim Haines
7926f84022 elfutils: add support for debuginfod (#18227) 2020-09-01 05:35:18 +02:00
Jeffrey Salmond
9b6c2e80fe py-llvmlite: added v0.34 (#18432) 2020-09-01 05:33:27 +02:00
Toyohisa Kameyama
b2d2bb694e openfoam: delete print to screen and updated docstrings/comments (#17985) 2020-09-01 05:31:49 +02:00
darmac
49b47864e9 libpam: added new package at v1.0.9 (#18418) 2020-09-01 05:19:48 +02:00
MichaelLaufer
16e3e28cc8 new package: wrf (#18398)
* wrf: new package

* wrf: fix install dir

* wrf: ndown location

* Add more compiler and nesting options to wrf package

* Fix configure that didn't find pgf90, use tempfile and compile in parallel

* WRF v4.2 with parallel I/O support through pnetcdf

Signed-off-by: michael laufer <michael.laufer@toganetworks.com>

* extend Package, compiler wrapper now used, small fixes

Signed-off-by: michael laufer <michael.laufer@toganetworks.com>

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

fixed typo

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

Co-authored-by: Levi Baber <baberlevi@gmail.com>
Co-authored-by: eXact lab <info@exact-lab.it>
Co-authored-by: michael laufer <michael.laufer@toganetworks.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-31 20:38:36 -05:00
Howard Pritchard
712d80955b OPENMPI: add 4.0.5 (#18332)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-08-31 20:38:06 -05:00
Julien Loiseau
2d718b56ca Update package.py (#18426)
Correct boost version to match flecsi
2020-08-31 17:09:39 -06:00
Sinan
e7447f266a new package: py-update-checker (#18396)
* new package: py-update-checker

* add test deps

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

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

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

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

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

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

* remove lint stuff.

Co-authored-by: Sinan81 <Sinan81@earth>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-31 15:50:21 -05:00
Jen Herting
bc93632c06 New package: py-torch-sparse (#18270)
* [py-torch-sparse] created template

* [py-torch-sparse] added dependencies

* [py-torch-sparse] extends py-torch-scatter

* [py-torch-sparse] added variant cuda and setting env vars

* [py-torch-sparse] added homepage and description. removed fixmes

* [py-torch-sparse] flake8

* [py-torch-sparse] added variant description

* [py-torch-sparse] extends -> depends on

* [py-torch-sparse] added dependencies of py-setuptools and py-pytest-runner
2020-08-31 15:43:30 -05:00
Harmen Stoppels
7c9fe7bcbd Add more cmake patch versions (#18422) 2020-08-31 10:52:18 -05:00
ketsubouchi
fc251e62d1 new package: dbus-glib (#18400) 2020-08-31 10:52:01 -05:00
darmac
3287050226 Add new package: dosfstools (#18410) 2020-08-31 10:49:50 -05:00
darmac
0d08071e95 Add new package: tesseract (#18411) 2020-08-31 10:49:05 -05:00
darmac
b2e1036316 Add new package: fipscheck (#18412) 2020-08-31 10:48:34 -05:00
darmac
1d54eb3fee Add new package: libfuse (#18413) 2020-08-31 10:48:10 -05:00
darmac
7ba20239fb Add new package: hardlink (#18414) 2020-08-31 10:47:46 -05:00
darmac
b8bf34b348 Add new package: libhbaapi (#18415) 2020-08-31 10:47:14 -05:00
darmac
ecc7f19177 Add new package: jimtcl (#18416) 2020-08-31 10:46:48 -05:00
Xavier Delaruelle
7036f41ea5 environment-modules: fix version 4.5.2 install (#18421)
`configure` script of Modules 4.5.2 is a bit too strict and breaks when
special options like `--disable-dependency-tracking` are set. This issue
will be fixed on Modules project starting version 4.5.3
(cea-hpc/modules#354).

This change adapts `configure` options set when installing version 4.5.2
to avoid options unrecognized on this version.

Fix #18420
2020-08-31 10:43:31 -05:00
Toyohisa Kameyama
97f7378097 neovim: build on aarch64 (#18136)
* libvterm: renumber version and add 1.0.3
neovim: build on aarrch64

* Remove unneeded comment.

* libvterm:   newer bazaar snapshot version is set to version 0.0.
neovim: change for libvterm version change, and libtermkey version bug is fixed.

* update libvterm versions.
2020-08-31 10:31:41 -05:00
darmac
c4e966f162 Add new package: byte-unixbench (#18257)
* Add new package: byte-unixbench

* refine install flow

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-31 10:28:53 -05:00
t-nojiri
b0a1a7e9aa cp2k: Add depend on libxc@4.3.4. (#18346)
* cp2k: Add depend on libxc@4.3.4.

* cp2k: The fix of depend of libxc@4.3.4 was redone.
2020-08-31 10:27:23 -05:00
Jen Herting
122a4719ca New packages: py-torch-cluster (#18262)
* [py-torch-cluster] created template

* [py-torch-cluster] added dependencies

* [py-torch-cluster] setting TORCH_CUDA_ARCH_LIST

* [py-torch-cluster] limited extends

* [py-torch-cluster] depends on scipy

* [py-torch-cluster] added variant cuda and set env vars

* [py-torch-cluster] added homepage and description. removed fixmes

* [py-torch-cluster] flake8

* [py-torch-cluster] switched to depends_on from extends.

* [py-torch-cluster] added variant description

* [py-torch-cluster] added py-setuptools and py-pytest-runner as dependencies
2020-08-31 10:11:53 -05:00
Jen Herting
f659927938 New package: py-torch-scatter (#18263)
* [py-torch-scatter] created template

* [py-torch-scatter] listed specific version of python

* [py-torch-scatter] extends py-torch

* [py-torch-scatter] setting TORCH_CUDA_ARCH_LIST

* [py-torch-scatter] setting more environemnt variables and added variant cuda

* [py-torch-scatter] added homepage and description. removed fixmes

* [py-torch-scatter] flake8

* [py-torch-scatter] Added variant description

* [py-torch-scatter] extends -> depends_on

* [py-torch-scatter] added dependencies of setup tools and pytest-runner
2020-08-31 10:11:00 -05:00
Jen Herting
47ef8d9deb New package: py-torch-spline-conv (#18273)
* [py-torch-spline-conv] created template

* [py-torch-spline-conv] specified version of python

* [py-torch-spline-conv] extends py-torch-cluster

* [py-torch-spline-conv] setting TORCH_CUDA_ARCH_LIST

* [py-torch-spline-conv] limiting extension to py-torch

* [py-torch-spline-conv] added cuda variant and setting env vars

* [py-torch-spline-conv] added homepage and description. removed fixmes

* [py-torch-spline-conv] added variant cuda

* [py-torch-spline-conv] flake8

* [py-torch-spline-conv] added variant description

* [py-torch-spline-conv] extends -> depends_on

* [py-torch-spline-conv] added dependencies py-setuptools and py-pytorch-runner
2020-08-31 10:10:21 -05:00
Adam J. Stewart
f4a37b2dc2 Remove unmatched triple quotes (#18272) 2020-08-31 13:05:07 +02:00
Weston Ortiz
86eac24f36 trilinos: added v13.0.0 and PYTHONPATH for exodus.py (#18266) 2020-08-31 12:56:37 +02:00
Dr. Christian Tacke
18fde34d38 singularity: added v3.6.2 (#18353) 2020-08-31 12:21:08 +02:00
Dr. Christian Tacke
c07204d661 glew: added v2.1.0 (#18394) 2020-08-31 11:48:46 +02:00
srekolam
d73db33005 atmi,rocgdb,rocm-dbgapi changes for rocm3.7 (#18404) 2020-08-31 11:36:38 +02:00
ketsubouchi
06ad858be2 libidl: added new package at v0.8.14 (#18403) 2020-08-31 11:34:11 +02:00
Sinan
3a0d273dae py-py6s: added new package at v1.8.0 (#18407)
Co-authored-by: Sinan81 <Sinan81@earth>
2020-08-31 11:30:22 +02:00
h-denpo
55f490b093 lesstif: added dependency on 'libxext' (#18408) 2020-08-31 11:12:48 +02:00
darmac
1fdaffed3f minizip: support minizip and miniunz building (#17925)
* minizip: support minizip and miniunz building

* minizip: remove comment

* refine build flow
2020-08-30 22:22:48 -05:00
Toyohisa Kameyama
7f9018e893 lua-luajit: remove duplicated lua-jit and merge to lua-luajit. (#18348) 2020-08-30 19:16:53 -05:00
Sinan
665e5ce0fd new package: py-planet (#18377)
* new package: py-planet

* flake8

* specify checksum type

* improve dependency specs

* specify dependency

* add test dependencies

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@earth>
2020-08-30 10:45:17 -05:00
Sinan
06b551f98e new package: py-deap (#18378)
* new package: py-deap

* flake8

* fix sha sum

* add missing dependency

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@earth>
2020-08-30 10:44:43 -05:00
Sinan
855e77036e new package: py-pypeg2 (#18379)
* new package: py-pypeg2

* add missing dependency

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@earth>
2020-08-30 10:44:21 -05:00
Sinan
a43dc51551 new package: py-pysolar (#18380)
* new package: py-pysolar

* latest version depends on python@3, flake8

* add missing dependencies

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@earth>
2020-08-30 10:43:54 -05:00
Sinan
376d6119ce new package: py-rios (#18381)
* new package: py-rios

* flake8

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

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

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-30 10:43:26 -05:00
Sinan
fc6cf29f0f new package: py-ssmap (#18383)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2020-08-29 15:50:59 -05:00
Sinan
884e707810 new package: py-stopit (#18384)
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2020-08-29 15:50:07 -05:00
vvolkl
a475ef20dd [heppdt] fix broken url (#18388) 2020-08-29 15:43:27 -05:00
darmac
89df727e5f Add new pacakge: termcap (#18389) 2020-08-29 15:42:51 -05:00
darmac
e9ea8d1e81 Add new package: wrk (#18390) 2020-08-29 15:42:19 -05:00
darmac
66e006608a Add new package: cgdcbxd (#18391) 2020-08-29 15:41:52 -05:00
Wouter Deconinck
49df20f1ef [libdrm] AutotoolsPackage; %gcc@10.0.0 requires CFLAGS=-fcommon (#18393)
* [libdrm] AutotoolsPackage; %gcc@10.0.0 requires CFLAGS=-fcommon

* [libdrm] placate flake8
2020-08-29 15:39:02 -05:00
darmac
586fbe05b5 Bcache (#18103)
* bcache:add pkg-config to find blkid.h in linux-utils

* bcache: fix libuuid race condition in pkgconfig
2020-08-29 11:54:46 -05:00
darmac
b4042f23d0 Add new package: re2 (#18302)
* Add new package: re2

* re2: refine versions
2020-08-29 11:53:29 -05:00
darmac
cf170b5ff1 Add new package: varnish-cache (#18258)
* Add new package: varnish-cache

* Add dependency: python
2020-08-29 11:52:09 -05:00
darmac
8b212c7845 Add new package: leptonica (#18306)
* Add new package: leptonica

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-29 11:51:41 -05:00
Christoph Junghans
2204ba18b5 flexiblas: initial add (#18364)
* flexiblas: initial add

* Update package.py
2020-08-29 09:48:48 -06:00
darmac
e58c7af1a3 Add new package: weighttp (#18255) 2020-08-28 23:12:56 -05:00
darmac
e19f971b7b Add new package: librdkafka (#18256) 2020-08-28 23:12:32 -05:00
srekolam
6739908144 mathlibs- rocrand recipe for amd rocm-3.5.0 release (#18283)
* mathlibs- rocrand recipe for amd rocm-3.5.0 release

* fixing review comments
2020-08-28 23:11:46 -05:00
Andrew W Elble
4b649b2d2b py-spacy: new version 2.3.2 (#18294)
* py-spacy: new version 2.3.2

update en-core-web-sm to @2.3.1
add en-vectors-web-lg@2.3.0

* update deps

* wasabi

Co-authored-by: Andrew Elble <aweits@localhost.localdomain>
2020-08-28 23:11:13 -05:00
Andrew W Elble
d08d0f2732 new package: qcachegrind@20.08.0 (#18295)
Co-authored-by: Andrew Elble <aweits@localhost.localdomain>
2020-08-28 23:10:58 -05:00
darmac
654f52bc08 Add new package: rinetd (#18303) 2020-08-28 23:06:04 -05:00
darmac
a206d2aebd Add new package: rsyslog (#18304) 2020-08-28 23:05:30 -05:00
darmac
50d7467715 Add new package: tengine (#18305) 2020-08-28 23:04:48 -05:00
darmac
e09d906a35 Add new package: fastdb (#18308) 2020-08-28 23:03:30 -05:00
vvolkl
62128f1351 [whizard] update ocaml dependency (#18309)
up
2020-08-28 23:02:45 -05:00
darmac
2c155d4fe2 Add new package: sysbench (#18310) 2020-08-28 23:02:11 -05:00
darmac
d5da8e7543 Add new package: foundationdb (#18312) 2020-08-28 22:59:28 -05:00
darmac
eaf843c3e8 Add new package: pflask (#18313) 2020-08-28 22:58:54 -05:00
darmac
a1230d1910 Add new package: shc (#18314) 2020-08-28 22:58:29 -05:00
darmac
b799b983bb Add new package: vsftpd (#18317) 2020-08-28 22:55:44 -05:00
darmac
0eeed1f7f7 Add new package: iniparser (#18318) 2020-08-28 22:53:57 -05:00
darmac
c85dc3a5b4 Add new package: fcgi (#18320) 2020-08-28 22:51:03 -05:00
darmac
6113be0919 Add new package: faust (#18321) 2020-08-28 22:50:05 -05:00
Kelly (KT) Thompson
48bfffd32c [new version] Draco package (#18336)
* Update version for package Draco

+ Add support for `draco-7.7.0`.
  + Introduces new `+cuda` variant.  This variant is only allowed in version
    `7.7.0:`.
  + Restrict `random123` to compatible versions.
  + Restrict `libquo` to compatible versions.
  + Moving forward, require `python@3:`
  + Moving forward, the ``+superlu_dist` variant is not longer supported.
+ Improve printed output for `--test` mode by adding `ctest` option
  `--output-on-failure`
+ Provide a patch to support for IBM Spectrum-MPI in version `7.7.0:`
+ Provide a patch to allow variant `~cuda` to actually disable GPU portions of
  the code when a GPU is discovered on the local system.

* Remove unnecessary function decoration.
2020-08-28 22:42:15 -05:00
Chris Richardson
25021ec228 Add setuptools as a direct dependency (#18324) 2020-08-28 16:24:43 -05:00
Gabriel Rockefeller
8a408a6571 eospac: add versions 6.4.1alpha.2 and 6.4.1beta (#18329) 2020-08-28 16:23:30 -05:00
Rémi Lacroix
b27cd9d75d NetCDF-Fortran: Add version 4.5.3. (#18350) 2020-08-28 16:22:42 -05:00
Robert Blake
eb8ff0bc81 Adding externals for bison and flex (#18358)
* Adding externals for bison and flex

Added because bison actually pulls in a ton of stuff.

* Need to escape parentheses.

* Need to add re package.

* Adding re package.
2020-08-28 16:22:28 -05:00
Robert Blake
aca370a3a2 External recognition for find. (#18360)
* External recognition for find.

* Adding re package.
2020-08-28 16:22:05 -05:00
Robert Blake
c9fd2983dc texinfo: Adding external support (#18362)
* texinfo: Adding external support for texinfo.

* Adding re package.
2020-08-28 16:21:51 -05:00
Dr. Christian Tacke
65fda72d7c davix: Improve shared library building on macOS (#18352)
Add -DCMAKE_MACOSX_RPATH=ON to cmake.
2020-08-28 16:13:53 -05:00
Keita Iwabuchi
9525c530d5 Add Metall v0.3 (#18340)
* Metall: add version 0.2

* Add Metall v0.3
2020-08-28 14:42:02 -05:00
Jonathan R. Madsen
0bf696a29d Timemory: Fix python dependencies + NCCL (#18342)
* Fix python dependencies + NCCL

* Removed trailing whitespace
2020-08-28 14:40:34 -05:00
Dr. Christian Tacke
6bb2dd40b6 fairlogger: Update cmake options and version (#18354)
* Add version 1.7.0 and 1.8.0
* Better support for boost < 1.70
* No color in output
2020-08-28 14:31:09 -05:00
Nikolay Simakov
9b654fe60c namd: added patching charmrun location, as it stored in prefix.bin (#18355) 2020-08-28 14:29:53 -05:00
Robert Blake
6ceb3d4be0 spectrum-mpi: external support, compiler detection (#18055)
* spectrum-mpi: adding external support.

* Package is tested, works on LLNL lassen

* Spectrum external now detects the correct compiler

* Changing code to not output all compilers

Done per becker33's request on #18055
2020-08-28 11:53:27 -07:00
eugeneswalker
9befc43708 binutils: add build dep: diffutils (provides cmp) (#18361) 2020-08-28 11:31:43 -07:00
Rémi Lacroix
b006123331 Add new package: AutoDock-GPU. (#17808)
The project currently only has a develop branch and no versioned releases so only provide a git-based "develop" version.
2020-08-28 11:02:52 -05:00
ketsubouchi
1d0650b2cb looptools: skip UNDERSCORE check and add -Fwide (#18135) 2020-08-28 10:03:38 -05:00
ketsubouchi
abffcefadd genometools: use signed char for %fj (#18126)
* genometools: use signed char for %fj

* genometools: update patch to use int

* use int
2020-08-28 10:02:42 -05:00
ketsubouchi
7dd58c7ed0 ghostscript: patched sources to allow building with Fujitsu compilers (#18345) 2020-08-28 11:52:11 +02:00
ajw1980
1251919318 Add type=link for libxml2 and libxslt for py-lxml (#18293) and add version 4.5.2 (#18325)
Co-authored-by: Andy Wettstein <andy.wettstein@xrtrading.com>
2020-08-27 15:03:23 -05:00
Greg Becker
d10dff1b89 docs: add main version to docs for develop-like versions (#18328) 2020-08-27 12:35:11 -07:00
Hector
9f5d0c0007 Fix Zoltan installation with gcc 10.2.0 (#18301) 2020-08-27 20:57:53 +02:00
Andrew W Elble
77a28b81ac thrift: add missing py-six dependency (#18285)
* thrift: add missing py-six dependency

* add more missing dependencies (+extras)

* small fix

* gssapi variant / setuptools run dep

Co-authored-by: Andrew Elble <aweits@localhost.localdomain>
2020-08-27 13:24:42 -05:00
psakievich
ccae9cff3a Add nalu-wind test structure (#13640)
- Add custom function to checkout submoudles if testing is enabled
2020-08-27 12:09:56 -05:00
Chen Wang
680c1b339a New version: Recorder 2.1.5 (#18327) 2020-08-27 11:55:04 -05:00
darmac
a81106757d Add new package: libmnl (#18316) 2020-08-27 16:05:21 +02:00
Itaru Kitayama
1746799087 CUDA Toolkit: added v11.0.2 for Arm (#17845)
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2020-08-27 14:56:18 +02:00
Chen Wang
9fc6bdabef Add a new package: Recorder (#18297)
* Add a new package: Recorder

* Delete all FIXMEs

* Update package.py

* Remove extra spaces.
2020-08-27 07:47:21 -05:00
Simon Pintarelli
22329c4f92 sirius, q-e-sirius (#18286)
* sirius: fix bug in shared spec

make +shared the default

* q-e-sirius: depend on sirius+shared, fix gcc@10

- add missing whitespace in -fallow-argument-mismatch.
- require sirius+shared
2020-08-27 07:45:55 -05:00
Adam J. Stewart
7fd8f74c23 SLOCCount: add new package (#18271) 2020-08-27 14:39:46 +02:00
Seth R. Johnson
ba470137c8 nlohmann-json: added v3.9.1 and v3.8.0 (#18287)
Also use 'define' helper function.
2020-08-27 14:31:00 +02:00
Axel Huebl
a6c0b7ab3a CMake: Update GCC on macOS Conflict message (#18253)
* CMake 3.18.0+: Builds with GCC on macOS

The latest release of CMake updates libuv, which fixes ObjC code
usage on macOS. Passing ObjC code to non apple-clang compilers
crashed the build before.

Refs.:
- https://gitlab.kitware.com/cmake/cmake/-/issues/20620
- https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4687

* CMake: Further issues GCC+macOS

There are further issues to fix before this will work.
https://gitlab.kitware.com/cmake/cmake/-/issues/21135
2020-08-27 08:51:00 +02:00
Richarda Butler
416afa0059 docs: fix bugs in contribution, getting started guides (#18216)
Co-authored-by: Greg Becker <becker33@llnl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-27 08:23:26 +02:00
darmac
5d3ad70e0a Add new package: sysget (#18259) 2020-08-26 21:11:40 -05:00
Weston Ortiz
1a17921fa5 Add new package: sparse (#18264)
* Add new package: sparse

* flake8 fixes
2020-08-26 21:02:16 -05:00
Tom Payerle
273a158f1b dbus: Add libsm dependency (fix for issue #18267) (#18268)
dbus has a dependency on libSM which was not being declared (and would
normally be satisfied by using system libraries).
2020-08-26 20:57:54 -05:00
Tim Haines
1536691bc9 caliper: Remove support for deprecated Dyninst versions (#18275) 2020-08-26 20:51:00 -05:00
darmac
080625c3af Jpegoptim (#18279)
* Add new package: jpegoptim

* refine homepage
2020-08-26 20:49:34 -05:00
arjun-raj-kuppala
24f2850cab update to rocm hip,hsa-rocr-dev,rocm-dbgapi (#18280)
* update to rocm hip,hsa-rocr-dev,rocm-dbgapi

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

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2020-08-26 20:47:55 -05:00
darmac
b93e65065a Add new package: libestr (#18281) 2020-08-26 20:45:51 -05:00
darmac
369e691ec2 Add new package: libfastjson (#18282) 2020-08-26 20:45:27 -05:00
Satish Balay
67e72bf1f5 sowing: update to version 1.1.26-p1 (#18298) 2020-08-26 20:17:05 -05:00
Seth R. Johnson
81bb372d75 Trilinos: Require parallel HDF5 when +hdf5+mpi (#17606)
EpetraExt requires parallel IO. It does after all make sense to require
the parallel version of HDF5 when building a parallel solver library.
2020-08-26 14:54:05 -05:00
Seth R. Johnson
26bab9d4d6 Fix build when +stratimikos +xpetra (#17971)
If Thyra isn't explicitly enabled at the package level, trilinos fails
to build.

```
/var/folders/gy/mrg1ffts2h945qj9k29s1l1dvvmbqb/T/s3j/spack-stage/spack-stage-trilinos-12.18.1-vfmemkls4ncta6qoptm5s7bcmrxnjhnd/spack-src/packages/muelu/adapters/stratimikos/Thyra_XpetraLinearOp_def.hpp:167:15: error:
      no member named 'ThyraUtils' in namespace 'Xpetra'
      Xpetra::ThyraUtils<Scalar,LocalOrdinal,GlobalOrdinal,Node>::toXpetra(rcpFromRef(X_in), comm);
      ~~~~~~~~^
```
2020-08-26 14:51:57 -05:00
Massimiliano Culpo
96ac5add9d release procedure: add step to activate the documentation on readthedocs (#18288) 2020-08-26 12:47:47 -07:00
ketsubouchi
02dc84a2b3 conduit: added patch to build with Fujitsu compilers (#18284) 2020-08-26 18:55:09 +02:00
eugeneswalker
f7d156af05 binutils: add version 2.35 (#18291) 2020-08-26 11:54:33 -05:00
Adam J. Stewart
20d37afafa TensorFlow: added v2.3.0 (#17736)
* Workaround for Spack-installed proto support

Co-authored-by: Andrew W Elble <aweits@rit.edu>
2020-08-26 14:32:14 +02:00
Veselin Dobrev
ad437bff8f [GnuTLS] Add gnutls-specific headers property. (#7259) 2020-08-25 19:00:49 -05:00
Christoph Junghans
afa907f549 kokkos: add v3.2.00 (#18274) 2020-08-25 15:26:43 -05:00
darmac
878d0b793c Add new package: influxdb (#17909)
* Add new package: influxdb

* put usr/* in prefix
2020-08-25 07:45:30 -05:00
Axel Huebl
11a3ac25ac CCache: added v3.7.11 and support for external detection (#18246) 2020-08-25 14:30:16 +02:00
lpoirel
b562154423 petsc: new version add support for +mumps +int64 (#18170)
* petsc: new version add support for +mumps +int64

The latest petsc release allows using mumps while using 64 bit integers :
https://www.mcs.anl.gov/petsc/documentation/changes/313.html
https://gitlab.com/petsc/petsc/-/merge_requests/2591/

* petsc: use conflicts for mumps dependency
2020-08-25 14:07:59 +02:00
Adam J. Stewart
b305990ee8 pkgconfig: add conflict for PGI (#18236) 2020-08-25 11:33:36 +02:00
Tim Haines
9b07669ab3 libmicrohttpd: added new package at v0.9.71 (#18226) 2020-08-25 10:24:04 +02:00
Adam J. Stewart
df51cf20c5 libtiff: added v4.1.0 (#18247) 2020-08-25 10:00:56 +02:00
Adam J. Stewart
cb322300cb libgeotiff: added v1.6.0 (#18248) 2020-08-25 10:00:39 +02:00
Adam J. Stewart
5aef9f8f83 PROJ: added versions up to v7.1.0 (#18249) 2020-08-25 10:00:18 +02:00
Adam J. Stewart
c6736653cd py-shapely: added v1.7.1 (#18250) 2020-08-25 09:59:36 +02:00
Adam J. Stewart
d4ef804b15 py-cartopy: added v0.18.0 (#18251) 2020-08-25 09:59:12 +02:00
Tim Haines
eebcd6b24f Dyninst: added conflicts for unsupported compilers and platforms (#18245) 2020-08-25 09:56:27 +02:00
Joseph Wang
ac6d7dcdf6 freeglut: added v3.2.1 and patch to build with GCC 10 (#18229) 2020-08-25 09:53:27 +02:00
Elizabeth Fischer
c13bc308db py-basemap: Update for proj@6 (#16183)
* py-basemap

* Updated versions + URL attribute

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

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

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

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

* Removed unnecssary comment

* flake8

Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-24 23:24:56 -05:00
Robert Blake
5e1909c00a mvapich2: Adding external find support. (#18177)
* Adding external support for mvapich2.

This picks up all the options that are currently settable by
the spack package. It also detects the compiler and sets it
appropriately.

* Removing debugging printing.

* Adding changes suggested by @nithintsk
2020-08-24 20:53:42 -05:00
Satish Balay
b885dbcd85 pflotran: requires hdf5+hl (#18224) 2020-08-24 19:13:47 -05:00
Paul
9e7029d806 Added Go 1.15 and find external package. (#18235) 2020-08-24 19:05:48 -05:00
Robert Underwood
6f2f02366a sz: version bump, cmake bug-fix, add maintainer (#18238)
+ Added version 2.1.9
+ Previously the SZ package incorrectly depended on CMake without a
  version dependancy, but actually version 3.13 or newer is required
+ Added myself as a maintainer for the SZ spack package
2020-08-24 19:05:08 -05:00
Benjamin Tovar
d6ca3be63a Update to CCTools 7.1.7 (#18241)
This is a bug release with some new features and bug fixes. Among them:

[Batch] Set number of MPI processes for SLURM. (Ben Tovar)
[General] Use the right signature when overriding gettimeofday. (Tim
Shaffer)
[Resource Monitor] Add context-switch count to final summary. (Ben
Tovar)
[Resource Monitor] Fix kbps to Mbps typo in final summary. (Ben Tovar)
[WorkQueue] Update example apps to python3. (Douglas Thain)
2020-08-24 19:04:08 -05:00
Axel Huebl
a483b0b9dd CMake: 3.18.2 (#18244)
Adds the latest CMake release, which fixes a Spectrum-MPI + CUDA<10.2
issue, among others. Relevant for Summit.
2020-08-24 19:03:11 -05:00
Adam J. Stewart
5ef7d5e792 CUDA: add v10.1.243 for ppc64le (#18237)
Closes #18174 

@smarocchi @ax3l @svenevs 

The error message in #18174 isn't great, but I'm hoping that #18127 will improve that.
2020-08-24 14:50:10 -07:00
Daryl W. Grunau
f5102cd582 call the universal 'mpifc' instead of hardcode 'mpif90' (#18162)
Co-authored-by: Daryl W. Grunau <dwg@lanl.gov>
2020-08-24 15:44:20 -05:00
Harmen Stoppels
17f7d9f44c openmpi: fix concretization (#18233) 2020-08-24 19:05:39 +02:00
Erik Schnetter
53cfca1f59 simulatioion: Declare dependency on asdf-cxx (#18018)
* simulationio: Declare dependency on asdf-cxx

* Rename "develop" to master"; add descriptions to variants

* Add maintainer
2020-08-24 11:25:43 -05:00
David Gardner
3c866294e1 add github url as backup (#18223) 2020-08-23 16:43:57 -05:00
t-nojiri
b721a2e54b soapdenovo-trans: build on aarch64 (#18187)
* samtools: Add version 0.1.8 for OSS soapdenovo-trans.

* Add depend on zlib and samtools to build on aarch64.

* soapdenovo-trans: Change the condition of depend on zlib and samtools.
2020-08-22 22:11:19 -05:00
David Gardner
a6ca236c26 add tcl 6.8.10 (#18221) 2020-08-22 22:02:57 -05:00
Sergey Kosukhin
b5e78bce06 OpenMPI: sanitize dependent build environment. (#15360) 2020-08-22 22:01:41 -05:00
Sergey Kosukhin
9fdb945383 NetCDF: fix constraints. (#16719) 2020-08-22 16:06:17 -05:00
Teodor Nikolov
dc5176fbae [hpx] Two new variants for upcoming v1.5, stable and master (#18022)
* New package: cxxopts

* Use +unicode instead of unicode=True

- Make the unicode option more explicit

* Add two new variants to spack for upcoming 1.5, stable and develop

* Add as maintainer

* Add depends_on on clauses

* Remove unrelated change
2020-08-22 16:00:11 -05:00
Carson Woods
c743d219aa qthreads: add additional configuration options (#15833)
* Add new config options for qthreads

* Fix syntax error and add option for specifying stack size

* Fix flake8 issues

* Add input validation for the stack size variant and add explicit enable for spawn cache

* Fix flake8 issues with input validation code
2020-08-22 15:58:41 -05:00
Jianwen
e26e532eb3 vifi: a new package. [WIP] (#14287)
* vifi: a new package.

* Fix url.

* Add dependencies.
2020-08-22 15:23:04 -05:00
noguchi-k
15facf2171 ibm-java: add conflicts for aarch64 (#13728) 2020-08-22 15:22:50 -05:00
Ruben Di Battista
f902202b5e Add scantailor package (#12833)
* Add scantailor

* qt: Fix build w/ GCC9 for @4:

* qt: Fix patch filename and qt version

* Fix typo in patch name

* scantailor: Fix version

* scantailor: Use a more-modern fork

* scantailor: Remove unused patch file

Co-authored-by: Ruben Di Battista <ruben.di-battista@polytechnique.edu>
2020-08-22 15:22:37 -05:00
Andreas Baumbach
27b9727926 Add new package arbor (#11914)
* Add new package arbor

Change-Id: I70a442d6ad74979d13bd9f599df238c085d4baf9

* Update package.py

* add additional dependencies

* change download to tar-ball

* py26 compatibility

* restrict noqas and expand comment

Co-authored-by: Eric Müller <mueller@kip.uni-heidelberg.de>
2020-08-22 14:42:46 -05:00
Brian Homerding
2e2c06121a llvm-openmp-ompt: Additional dependencies and adding variant (#11266)
* llvm-openmp-ompt: Additional dependencies and adding variant for disabling building libomptarget

* Flake8 fixes
2020-08-22 14:23:04 -05:00
Levi Baber
d65b9ad195 mark: added new package (#10513)
* mark: Create new package.

* mark: change description.

* mark: change description.

* mark: Delete set_up environment.

* mark: replace join_path(prefix.bin, mark) with prefix.bin.mark

* mark: new license and sha256 hash

Co-authored-by: lingnanyuan <1297162327@qq.com>
2020-08-22 14:01:00 -05:00
George Hartzell
b53b9fd17e Fix redundant reset of terminal in prompt example (#17698)
I know that it's just an example, but I was trying to figure out what was going on and it wasn't making sense....

`tput sgr0` resets the terminal state (http://linuxcommand.org/lc3_adv_tput.php) and I can't see any reason to do it twice.  Deleting the second occurrence doesn't seem to break the fancy prompt effect.
2020-08-22 13:27:39 -05:00
Elizabeth Fischer
8ce5718922 qgis: Updates for proj@6 (#16172)
* qgis

* Update package.py

QGIS 3.12.1 can use PROJ >= 4.9.3.  Therefore both version restrictions on PROJ were incorrect.
https://github.com/qgis/QGIS/blob/final-3_12_1/INSTALL

* Update package.py

Add explanation to (hopefully temporary) removal of hdf5 dependency.

* Remove overly restrictive GRASS version number.

* flake8

Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2020-08-22 13:22:57 -05:00
Erik Schnetter
488d8ae747 openmpi: Update hwloc version bounds (#18040)
`openmpi @4:` can use `hwloc @2:`.
2020-08-22 13:10:11 -05:00
Greg Becker
3c6544fcbf fix mailmap for becker33 (#18215) 2020-08-22 12:46:48 -05:00
Christoph Junghans
adc98ae409 votca*: add v1.6.2 (#18218) 2020-08-22 11:38:41 -06:00
darmac
74d274f02f Add new package: consul (#18044)
* Add new package: consul

* fix package type

* refine install phase
2020-08-22 10:51:20 -05:00
Richarda Butler
d599e4d9d4 Added the file path for running a specific test (#18214) 2020-08-21 17:42:24 -05:00
srekolam
febc8ccb15 new recipe for rocalution and fix for rocm-smi-lib (#18211) 2020-08-21 13:34:06 -05:00
Jen Herting
512aa40151 [py-numba] added version 0.50.1 (#17880)
* [py-numba] fixing upper limit for conditional dependency

* [py-numba] added version 0.50.1

* [py-numba] Specifying llvmlite version for new version
2020-08-21 12:45:57 -05:00
Jen Herting
c24b838407 [py-llvmlite] new version 0.33.0 (#17878)
* [py-llvmlite] new version 0.33.0

* [py-llvmlite] newer version of python required
2020-08-21 10:54:06 -05:00
g-mathias
d222551185 namd: latest version 2.14 (#18167)
* upgrade to version 2.14; added target architecture optimization

* renamed devel-> (adamjstuart); keep 2.14bx versions

Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-08-21 09:55:53 -05:00
Adam J. Stewart
07fc495c94 py-pandas: added v1.1.1 (#18206) 2020-08-21 08:49:32 +02:00
Ryan Mast
3a1334bc6a helics: Add version 2.6.0 (#18208)
* helics: Add version 2.6.0

* Remove bms version from HELICS package
2020-08-20 22:24:46 -05:00
Jordan Ogas
1666db60d0 charliecloud: add 0.18 (#18200)
* add 0.18, remove older versions

* update url

* fix typo
2020-08-20 20:16:34 -05:00
Michael Kuhn
fc3b4657ce sqlite: Add 3.33.0 (#18145) 2020-08-20 17:17:02 -05:00
g-mathias
880ff1d795 new dakota version 6.12; included boost versions limit; changed default url (#18168)
Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-08-20 17:14:40 -05:00
Michael Kuhn
11b1ce84cf docs: List tar and some compressors in prerequisites (#18169)
Fixes #18152
2020-08-20 17:13:47 -05:00
vvolkl
6b6f6db431 [gaudi] sadly, the cmake fixes are postponed to next version (#18171) 2020-08-20 17:11:45 -05:00
vvolkl
cd06100001 [podio] new version, cxxstd 17 now mandatory (#18191) 2020-08-20 17:06:52 -05:00
Harmen Stoppels
ebe5a5652c Add rocSPARSE, rocSOLVER, hipSPARSE and hipBLAS (#18108) 2020-08-20 14:55:02 -05:00
Greg Becker
ad9cd25285 allow external packages that violate conflicts (#18183) 2020-08-20 10:16:48 -07:00
Massimiliano Culpo
573ce3fe81 gcc: fixed compilation on OpenSUSE (#18190)
Set location for dependencies specifying explicitly both
the include and lib path. This permits to handle cases where
the libraries are installed in lib64 instead of lib.

fixes #17556
fixes #10842
closes #18150
2020-08-20 17:42:18 +02:00
Massimiliano Culpo
1addcff724 Test "is_extension" after a round trip to dict (#18188)
closes #3887
closes #3853
2020-08-20 08:08:49 -07:00
Marc Mengel
d5c3b876e0 detatch binutils usage from bootstrap in gcc variants (#18116) 2020-08-20 17:06:22 +02:00
vvolkl
286c3d6cbc [lcio] set up run time paths (#18109)
* [lcio] set up run time paths

* [lcio] update runtime

* [lcio] flake8
2020-08-20 09:43:59 -05:00
Greg Becker
aa4fc2ac44 codecov: set project threshold to 0.2% (#18184) 2020-08-20 09:43:24 -05:00
Isaac Whitfield
b9adbac5c6 libimobiledevice: new package (#10819) 2020-08-20 11:22:04 +02:00
ketsubouchi
8a02ef4d51 bwa: patch Makefile to permit the use of compilers other than GCC (#18189) 2020-08-20 09:55:05 +02:00
Tim Haines
c786eb46bb dyninst: use elfutils for all versions (#18063) 2020-08-20 08:36:02 +02:00
Elizabeth Fischer
306f3a1232 Make finding of NetCDF and HDF5 more explicit. (#18166)
Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2020-08-20 08:34:53 +02:00
Greg Becker
ccf94ded67 Compilers: use Compiler._real_version for flag version checks (#18179)
Compilers can have strange versions, as the version is provided by the user.  We know the real version internally, (by querying the compiler) so expose it as a property and use it in places we don't trust the user.  Eventually we'll refactor this with compilers as dependencies, but this is the best fix we've got for now.

- [x] Make `real_version` a property and cache the version returned by the compiler
- [x] Use `real_version` to make C++ language level flags work
2020-08-19 21:56:06 -07:00
darmac
1650824ef5 Add new package: phoenix (#18143) 2020-08-19 20:33:37 -05:00
darmac
0187884591 qemu: add pkgconfig to avoid build error (#17929) 2020-08-19 20:32:47 -05:00
darmac
d9722e2730 nfs-ganesha: fix compile error on debian (#18102)
* nfs-ganesha: fix compile error on debian

* add type for py-stsci-distutils
2020-08-19 20:32:02 -05:00
darmac
bc2ff81a64 Add new package: presto (#18142) 2020-08-19 20:31:10 -05:00
darmac
472a32fb41 brigand: fix build error (#18173) 2020-08-19 20:30:33 -05:00
eugeneswalker
b5db5cf259 prepend ${NINJA_ROOT}/misc to PYTHONPATH in run environment (#18182) 2020-08-19 15:06:08 -07:00
Tamara Dahlgren
1c0a92662b Restore curl progress output (#18127)
Restores the fetching progress bar sans failure outputs; restores non-debug reporting of using fetch cache for installed packages; and adds a unit test.

* Add status bar check to test and fetch output when already installed
2020-08-19 12:10:18 -07:00
Filippo Spiga
8e8071ffb6 [WIP] Adding Quantum ESPRESSO v6.6 (#18091)
* Adding v6.6 (latest stable)

* There is no '-' in Quantum ESPRESSO

Co-authored-by: Filippo Spiga <fspiga@nvidia.com>
2020-08-19 11:10:54 -05:00
Michael Kuhn
b6321cdfa9 microarchitectures: Fix icelake (#18151)
Some of the feature flags are named differently and clwb is missing on
my i7-1065G7. cascadelake and cannonlake might have similar problems but
I do not have access to those architectures to test.
2020-08-19 11:49:43 +02:00
Pieter Ghysels
2945babdad STRUMPACK: added v4.0.0 (#18159)
- add cuda variant, enabled by default, but conflicting with
  strumpack@:3.9.999
- add zfp variant, enabled by default, but conflicting with
  strumpack@:3.9.999
- update minimum CMake version to 3.11
- for version 4.0.0:, do not use mpi wrappers. v4.0.0 uses CMake
  MPI targets
- for version 4.0.0, add dependency on butterflypack@1.2.0:
- remove versions 3.1.0 and older
- make parmetis variant True by default
- add TODO for slate variant (spack package not ready yet)
2020-08-19 10:15:02 +02:00
Kai Germaschewski
3cbd4c8dcf adios: relax libtool restriction (#18056)
While I believe there must have been a reason to restrict libtool to <=
2.4.2, adios compiles just fine with libtool 2.4.6 for me.

In fact, without this change, I'm getting this error:

libtool: Version mismatch error.  This is libtool 2.4.6, but the
libtool: definition of this LT_INIT comes from libtool 2.4.2.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4.6

This doesn't make much sense, since spack did build libtool@2.4.2 as a
dependency, and was supposedly trying to use it. My guess is that on
this system (NERSC's cori) the system libtool in /usr/bin, which is
2.4.6 somehow got picked up partially.
2020-08-19 08:49:54 +02:00
Michael Kuhn
fd0d79ecc5 meson: added v0.55.1 (#18146) 2020-08-19 08:32:13 +02:00
Luke Dalessandro
76f3d84a1b libfabric: added v1.10.0, v1.10.1 and v1.11.0. (#18161) 2020-08-19 08:26:22 +02:00
Robert Pavel
bc34ab4701 lua: specified better the dependency on ncurses (needs +termlib) (#18163)
Semi-recently the lua spackage was updated to explicitly add libtinfow
to the lua build line. Ncurses provides this but only when the +termlib
variant is enabled
2020-08-19 08:23:56 +02:00
Massimiliano Culpo
bef560636d intel: added external detection capabilities (#17991) 2020-08-19 08:20:57 +02:00
ketsubouchi
71748a3b7a moab: delete -march=native from generated files (#18137)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-08-19 07:40:40 +02:00
Christoph Junghans
c7096eb537 ninja: add v1.10.1 (#18160) 2020-08-18 14:51:55 -06:00
Greg Becker
08dd826891 emacs: add 27.1 and conflict 26.3 on macos catalina (#18157)
* emacs: add version 27.1

* emacs: 26.3 does not work on macos catalina
2020-08-18 11:26:09 -07:00
Adam J. Stewart
00e9e1b3c7 Java: add spack external find support (#18006) 2020-08-18 20:17:08 +02:00
Massimiliano Culpo
1ed70d0e2c 'spack env update' can handle overrides (#18149)
fixes #18147

Before this commit the command erroneously reported
"Additional properties not allowed" for keys with a
double colon.
2020-08-18 17:05:25 +02:00
Michael Kuhn
319d160ed1 glib: added v2.64.4 (#18144) 2020-08-18 15:15:19 +02:00
Adam J. Stewart
17d96b615a py-accimage: add new package (#18122) 2020-08-18 12:10:18 +02:00
Toyohisa Kameyama
3210d6b64e unibilium: added v2.0.0 (#18132) 2020-08-18 12:03:06 +02:00
Pieter Ghysels
9b65bdeca8 ButterflyPACK: added v1.2.0 (#18133) 2020-08-18 12:02:16 +02:00
Hadrien G
d466e9224f acts: added v0.31 (#18138) 2020-08-18 11:55:45 +02:00
Harmen Stoppels
25d27a38de SpFFT: added v0.9.13 (#18139) 2020-08-18 11:53:27 +02:00
ketsubouchi
71b7b353d8 ocaml: fix building with Fujitsu compilers (#17918) 2020-08-18 11:49:09 +02:00
darmac
060731a824 ape: fix build error and update version (#17952)
* ape: fix build error and update version

* ape: fix 2.3.0 & 2.3.1

* ape: only refine libxc version constraintion

* ape: fix flake8 error
2020-08-17 21:22:53 -05:00
Toyohisa Kameyama
264958fc18 lua-jit: New pacjage. (#18099) 2020-08-17 21:17:08 -05:00
Toyohisa Kameyama
ad8418fbbf libluv: New package. (#18100) 2020-08-17 21:15:11 -05:00
Toyohisa Kameyama
b3535d909e libuc: Add version 1.38.1. (#18104) 2020-08-17 21:07:43 -05:00
Harmen Stoppels
f582ebbaa0 Add master and develop for spfft (#18105) 2020-08-17 21:05:26 -05:00
Hadrien G
97ca824487 Add acts v0.30 (#18106) 2020-08-17 21:04:17 -05:00
Paul
12c4b8a73e Find external package for git-lfs. (#18107) 2020-08-17 21:02:41 -05:00
Levi Baber
6127a6faf6 canu: new version (#18112) 2020-08-17 20:58:50 -05:00
Marc Mengel
fdddbc9ae7 libsm: new version, depends_on libuuid (#18117)
* libsm: new version, depends_on libuuid

* blank lines

Co-authored-by: Marc Mengel <mengel@fnal.gov>
2020-08-17 20:52:26 -05:00
Toyohisa Kameyama
4f624727ef lua-lpeg: Add version 1.0.2-1. (#18128) 2020-08-17 20:51:29 -05:00
Rao Garimella
da1135cd19 Fix typo in CMake options (#18125)
* New interface reconstruction package

* forgot to put in CMake option for Jali

* cleanup whitespace

* fix lines with more than 79 chars

* more long line cleanup

* fix typo WONTON_ENABLE_Kokkos ---> TANGRAM_ENABLE_Kokkos

Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2020-08-17 20:41:04 -05:00
Marc Mengel
3da40a5c61 dependency fix for python3 (#18118)
* dependency fix for python3

* version cleanup

Co-authored-by: Marc Mengel <mengel@fnal.gov>
2020-08-17 16:51:17 -05:00
Nithin Senthil Kumar
9c3b4e4d28 Changes to url port and a bug fix in mvapich2x package (#18096)
Co-authored-by: nithintsk <nithintsk@github.com>
2020-08-17 15:33:26 -05:00
Adam J. Stewart
cc06181ef9 ALSA-lib only works on Linux (#18075) 2020-08-17 15:22:25 -05:00
eugeneswalker
1b965ac507 Binary Distribution: Relocate RPATH on Cray (#18110)
* make_package_relative: relocate rpaths on cray

* relocate_package: relocate rpaths on cray

* platforms: add `binary_formats` property

We need to know which binary formats are supported on a platform so we
know which types of relocations to try. This adds a list of binary
formats to the platform and removes a bunch of special cases from
`binary_distribution.py`.

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-08-17 13:21:36 -07:00
vvolkl
525a9f02ca xrootd: added v5.0.0, updated dependency on root (#18101) 2020-08-17 20:02:45 +02:00
Rao Garimella
1498d076c3 New package Tangram (#17944)
* New interface reconstruction package

* forgot to put in CMake option for Jali

* cleanup whitespace

* fix lines with more than 79 chars

* more long line cleanup

Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2020-08-17 13:00:43 -05:00
Adam J. Stewart
9350ecf046 py-torchvision: fix linking to -lavcodec (#18093) 2020-08-17 11:24:19 -05:00
vvolkl
022586b11d [delphes] align env var with lcg release (#18080) 2020-08-17 09:20:41 -05:00
t-nojiri
a19ac05d3e openmolcas: fix build on aarch64. (#17923) 2020-08-17 11:54:48 +02:00
vvolkl
b51e48732c pythia8: added environment variable (#18081) 2020-08-17 11:51:16 +02:00
Adam J. Stewart
8a8d36d828 hdf+external-xdr does not build on macOS (#18085) 2020-08-17 10:54:30 +02:00
Wouter Deconinck
7618b4e25c cppzmq: added versions up to v4.6.0 (#18087)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-17 10:32:38 +02:00
Harmen Stoppels
207eadc1b2 Add rocBLAS (#18069)
* Add rocBLAS

* Add rocBLAS support to SIRIUS
2020-08-16 19:42:43 -05:00
darmac
f56b521bb5 Add new package: hudi (#18041) 2020-08-16 17:36:03 -05:00
darmac
a9116ac95c Add new package: slf4j (#18042) 2020-08-16 17:35:12 -05:00
darmac
3e7e07f2fd Add new package: h2database (#18046) 2020-08-16 17:33:09 -05:00
darmac
4428f59ad5 kaldi:refine dependency openfst (#18047) 2020-08-16 17:32:23 -05:00
darmac
34b7d99bec Add new package: mahout (#18048) 2020-08-16 17:30:03 -05:00
darmac
06a0fe9d94 util-linux: remove libintl link (#18065) 2020-08-16 17:28:38 -05:00
darmac
bef02e9d89 nfs-utils: fix compile error on ubuntu (#18066) 2020-08-16 17:27:47 -05:00
Tomoki, Karatsu
af9a3dc69a fenics: split 'parmetis' dependency definition. (#18067) 2020-08-16 17:25:16 -05:00
Harmen Stoppels
fd82cff737 Make spfft build with rocm (#18068) 2020-08-16 17:23:04 -05:00
Tom Payerle
0ffe64dee0 libssh: add gssapi variant and include krb5 as a dependency accordingly (#18070)
See #18033

libssh seemed to detect and link to system krb5 libraries if found
to provide gssapi support, causing issues/system dependencies/etc.

We add a boolean variant gssapi

If +gssapi, the spack krb5 package is added as a dependency.
If ~gssapi, the Cmake flags are adjusted to not use gssapi so that
does not link to any krb5 package.
2020-08-16 17:16:44 -05:00
vvolkl
b89c794806 [xrootd] new version and updated dependency (#18079) 2020-08-16 17:14:08 -05:00
vvolkl
2916ebe743 [dd4hep] align runtime env with lcg release (#18082) 2020-08-16 17:11:28 -05:00
Filippo Spiga
0788a69fa8 Adding osu-micro-benchmarks version 5.6.3 (#18090)
Co-authored-by: Filippo Spiga <fspiga@nvidia.com>
2020-08-16 17:03:54 -05:00
Mark W. Krentel
6e1f9b65e4 xz: add +pic variant (#18092)
xz-utils already builds a shared library.  The +pic variant adds the
compiler pic flag to the static archive so that it can be linked into
another shared library.
2020-08-16 17:02:43 -05:00
Auriane R
93221f8bf9 Add boost 1.74.0 package (#18088) 2020-08-16 16:13:55 -05:00
iarspider
6fdbdaf5b6 New packages: madgraph, syscalc, collier, gosam-contrib (#17601)
* Add Collier and SysCalc recipes

* Remove extra syscalc version

* Build collier with -j1 for @:1.2.4

* Add recipe for gosam-contrib

* Update gosam-contrib recipe with 'provides'

* Madgraph recipe, first version

* Finalize madgraph recipe + flake8

* Make py2 version of madgraph default; fix hash for syscalc; fix patch

* Handle virtual packages (#3)

* Update package.py

* Update packages.yaml

* Remove virtual packages - pt. 1

* Remove virtual packages - pt. 2

* Changes from review - pt. 1

* Changes from code review - pt. 2

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

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

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

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

* Add hash for version 2.7.2 (available in our private mirror)

* Fixes for 2.7.3 family

* Patches for 2.7.3{.py3,}{.atlas,}

* Fix hash of syscalc

* Hack to fix concretization (2.7.3 matches 2.7.3.py3)

* Add conflict statement (reported to devs)

* Apply suggestions from code review

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

* Update package.py

* Delete madgraph5amc-2.7.2.atlas.patch

* Delete madgraph5amc-2.7.2.patch

* Update package.py

* Apply suggestions from code review

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

Co-authored-by: iarspider <iarpsider@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-16 12:07:14 -05:00
Nithin Senthil Kumar
6ececa6976 New packages Mvapich2x and Mvapich2-GDR (#17883)
* Adding new packages Mvapich2x and Mvapich2-GDR which can be installed only via binary mirrors

* Added docstring descriptions to both packages

* Removed variant wrapper for cuda dependencies

* Fixed multiple flake8 errors

* Updated APIs to pass unit tests

* Updated APIs for MVAPICH2-X package and fixed flake8 warnings for MVAPICH2-GDR

* Changed url back to single line

* Removed extra parantesis around URL string

Co-authored-by: nithintsk <nithintsk@github.com>
2020-08-16 08:56:22 -05:00
vvolkl
46fb456b54 [root] add dataframe cmake option (#17962)
* [root] add dataframe cmake option

@chissg @HadrienG2  @drbenmorgan


This has been a separate cmake option starting v6-19 I believe: 31292b9082
It should default to true -- not sure why, but this recipe sets it to off.

I could add a variant too, but since it has become an integral part of root and doesn't introduce extra dependencies, I'd propose to just set it to true like I do here.

* Update package.py
2020-08-15 10:13:11 -05:00
Massimiliano Culpo
395b478b1b spack config update (bugfix): packages.yaml with empty attributes (#18057)
Before this PR, packages.yaml files that contained an
empty "paths" or "modules" attribute were not updated
correctly, since the update function was not reporting
them as changed after the update.

This PR fixes that issue and adds a unit test to
avoid regression.
2020-08-14 19:31:55 -07:00
Chuck Atkins
a6a5708c44 pugixml: add version 1.10, add option for shared libs (#18072) 2020-08-14 17:45:30 -07:00
Adam J. Stewart
9ab8521a1c Python: add spack external find support (#16684) 2020-08-14 16:08:42 +02:00
Adam J. Stewart
512ef506a7 pkgconfig: add spack external find support (#16690) 2020-08-14 16:07:17 +02:00
Adam J. Stewart
c18167d01f Autoconf: add spack external find support (#16692) 2020-08-14 16:06:26 +02:00
Adam J. Stewart
73fe3ce158 M4: add spack external find support (#16693) 2020-08-14 16:05:30 +02:00
darmac
f901947f69 bmake: fix compilation error and added v20200710 (#17956) 2020-08-14 11:32:06 +02:00
Adam J. Stewart
2430ac5b7c GDAL: add spack external find support (#18004) 2020-08-14 08:59:34 +02:00
Adam J. Stewart
c27e82f0ac gmake: add spack external find support (#18009) 2020-08-14 08:58:22 +02:00
Levi Baber
5eea09d43d nextflow: added v20.07.1 (#18058) 2020-08-14 08:53:16 +02:00
Adam J. Stewart
be046d7341 Bazel: add spack external find support (#18008) 2020-08-14 08:48:49 +02:00
Adam J. Stewart
84a16e62d6 OpenGL: add spack external find support (#18003) 2020-08-14 08:48:11 +02:00
Adam J. Stewart
70419c752d GMT: add spack external find support (#18007) 2020-08-14 08:44:32 +02:00
Robert Blake
bcae9e354b Adding external package support for tar. (#18002)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-14 08:43:27 +02:00
Robert Blake
a9b1f22ba1 External package recognition for git. (#18010)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-14 08:42:53 +02:00
Adam J. Stewart
a14648ffd0 external packages: redirect stderr too (#18037) 2020-08-14 08:40:58 +02:00
Greg Sjaardema
8ade93d09d NETCDF-C: added v4.7.4 (#18051) 2020-08-14 08:25:41 +02:00
Greg Sjaardema
4f14d67537 SEACAS: added v2020-05-12 and v2020-08-13 (#18053) 2020-08-14 08:25:06 +02:00
Jed Brown
fe718afaa5 ceed: fix @3.0.0 dependency on hypre@2.18.2 (#17983)
Co-authored-by: Veselin Dobrev <dobrev1@llnl.gov>
2020-08-14 08:18:58 +02:00
Adam J. Stewart
2dad0e5825 Matplotlib: added v3.3.1 (#18061) 2020-08-14 08:01:37 +02:00
Adam J. Stewart
32710f1f28 py-certifi: add v2020.6.20 (#18060) 2020-08-14 08:00:57 +02:00
Adam J. Stewart
35bba4223f Bash: add v5.0.18, external package detection (#18062) 2020-08-14 08:00:25 +02:00
Kai Germaschewski
1d152a44fd fix configure.ac/autotools issue that casues problems on RHEL 7.7 (#17465) 2020-08-13 16:20:05 -07:00
Massimiliano Culpo
31f660bd90 Improve output of the external find command (#18017)
This commit adds output to the "spack external find"
command to inform users of the result of the operation.

It also fixes a bug introduced in #17804 due to the fact
that a function was not updated to conform to the new
packages.yaml format (_get_predefined_externals).
2020-08-13 14:36:58 -07:00
Jim Galarowicz
c0342e4152 Update the change to add gomp compatibity to llvm-openmp. (#17400)
* Update the change to add gomp compatibity to llvm-openmp.

* Update the change to add gomp compatibity to llvm-openmp using append instead of extend.

* Fix flake8 issue.

Co-authored-by: Jim Galarowicz <jgalarowicz@newmexicoconsortium.org>
2020-08-13 15:41:20 -05:00
Alicia Klinvex
8398265638 Add support for pFUnit version 4 (#17683)
* pFUnit: Added support for version 4

pFUnit v4 uses submodules, so we must fetch from the repo rather
than grabbing the tarball (see #11642).

* pFUnit: Added conflicts

pFUnit 4 causes an internal compiler error with gcc 7.2.0, and
several pFUnit versions are incompatible with shared libraries.

* pFUnit: Added conflicts for version 4

Verson 4 uses Fortran 2008 features and cannot be built with gcc
compilers prior to 8.4.

* pFUnit: Fixed conflicts/dependencies as suggested

* pFUnit: Version 4 no longer fetches from git

Checksummable files are fetched instead.

* pFUnit: Simplify major version check

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

* pFUnit: Removed unnecessary patch for v4

The patch is still applied to v3.

* pFUnit: Modified MPI flag for v4

pFUnit v3 and v4 use different CMake flags to enable/disable MPI
support. Also added a conflict for v3 with MPI enabled using
gfortran 10, since newer gfortran is more finicky about datatypes.

* pFUnit: Rearranged mpi logic

* pFUnit: changed m4 to a build dependency

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

* pFUnit: Added URL back

I did not realize it was needed by "spack versions" and
"spack checksum". Thanks @adamjstewart!

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-13 15:35:00 -05:00
Ganesh Kumar
3dfd99c57a AMD ROCm Mathlibs (#17699)
* ROCm Mathlibs

* fixed the review comments

* fixed flake8 issues
2020-08-13 15:34:30 -05:00
Massimiliano Culpo
4a2136670d gcc: improve detection functions (#17988)
* Don't detect Apple's clang as gcc@4.2.1
* Avoid inspecting links except for Cray platforms
* Always return string paths from compiler properties
* Improved name-based filtering (apt-based packages)
2020-08-13 12:17:02 -07:00
Nikolay Simakov
f61b14106a IOR package: added 3.3.0rc1 and develop version (#18036)
* IOR package: added 3.3.0rc1 and develop version

* IOR package: reordered versions, set 3.2.1 as preferred
2020-08-13 13:28:50 -05:00
Harmen Stoppels
f5d3b82bcd Make mpich buildable without fortran (#17964)
When the user explicitly sets ~fortran, mpich builds without fortran
support. This will make building C/C++ libraries using clang easier,
since clang does not offer a fortran compiler by default (yet).

Since the user has to disable Fortran support explicitly, this change
is not breaking.
2020-08-13 13:25:55 -05:00
Harmen Stoppels
d6587ea365 fix buildcache create for environments with uninstalled root specs (#17859)
* Handle uninstalled rootspecs in buildcache

- Do not parse specs / find matching specs when in an environment and no
package string is provided
- Error only when a spec.yaml or spec string are not installed. In an
environment it is fine when the root spec does not exist.
- When iterating through the matched specs, simply skip uninstalled
packages
2020-08-13 09:59:20 -07:00
Massimiliano Culpo
d2f56830f1 "spack config update" can handle comments in YAML files (#18045)
fixes #18031

With this fix "spack config update" can update YAML
files that contain comments, while previously it
couldn't.
2020-08-13 09:54:07 -07:00
Matt Larsen
29818fda00 update vtk-h release (#18052) 2020-08-13 09:30:32 -07:00
Todd Gamblin
b476f8aa63 Merge tag 'v0.15.4' into develop 2020-08-13 07:23:02 -07:00
Massimiliano Culpo
ecf4829de7 llvm: added external detection capabilities (#17989)
* llvm: added external detection capabilities

* Added comment with reference to external package detection docs

* Fix typo in a comment
2020-08-13 09:03:09 -05:00
Todd Gamblin
764cafc1ce update CHANGELOG.md for 0.15.4 2020-08-13 00:41:59 -07:00
Todd Gamblin
091b45c3c7 bump version number for 0.15.4 2020-08-13 00:33:31 -07:00
Massimiliano Culpo
1707448fde Move Python 2.6 unit tests to Github Actions (#17279)
* Run Python2.6 unit tests on Github Actions
* Skip url tests on Python 2.6 to reduce waiting times
* Skip foreground background tests on Python 2.6 to reduce waiting times
* Removed references to Travis in the documentation
* Deleted install_patchelf.sh (can be installed from repo on CentOS 6)
2020-08-13 00:33:31 -07:00
Patrick Gartung
4d25481473 Buildcache: bindist test without invoking spack compiler wrappers. (#15687)
* Buildcache:
   * Try mocking an install of quux, corge and garply using prebuilt binaries
   * Put patchelf install after ccache restore
   * Add script to install patchelf from source so it can be used on Ubuntu:Trusty which does not have a patchelf pat package. The script will skip building on macOS
   * Remove mirror at end of bindist test
   * Add patchelf to Ubuntu build env
   * Revert mock patchelf package to allow other tests to run.
   * Remove depends_on('patchelf', type='build') relying instead on
   * Test fixture to ensure patchelf is available.

* Call g++ command to build libraries directly during test build

* Flake8

* Install patchelf in before_install stage using apt unless on Trusty where a build is done.

* Add some symbolic links between packages

* Flake8

* Flake8:

* Update mock packages to write their own source files

* Create the stage because spec search does not create it any longer

* updates after change of list command arguments

* cleanup after merge

* flake8
2020-08-13 00:33:31 -07:00
Massimiliano Culpo
ecbfa5e448 Use "fetch-depth: 0" to retrieve all history from remote 2020-08-13 00:33:31 -07:00
Massimiliano Culpo
c00773521e Simplified YAML files for Github Actions workflows
Updated actions where needed
2020-08-13 00:33:31 -07:00
Massimiliano Culpo
a4b0239635 Group tests with similar duration together
Style and documentation tests take just a few minutes
to run. Since in Github actions one can't restart a single
job but needs to restart an entire workflow, here we group
tests with similar duration together.
2020-08-13 00:33:31 -07:00
Todd Gamblin
303882834a docs: document releases and branches in Spack
- [x] Remove references to `master` branch
- [x] Document how release branches are structured
- [x] Document how to make a major release
- [x] Document how to make a point release
- [x] Document how to do work in our release projects
2020-08-13 00:33:31 -07:00
Todd Gamblin
5b63ec8652 Remove references to master from CI
- [x] remove master from github actions
- [x] remove master from .travis.yml
- [x] make `develop` the default branch for `spack ci`
2020-08-13 00:30:51 -07:00
Massimiliano Culpo
fc94dde3fc Moved flake8, shell and documentation tests to Github Action (#17328)
* Move flake8 tests on Github Actions

* Move shell test to Github Actions

* Moved documentation build to Github Action

* Don't run coverage on Python 2.6

Since we get connection errors consistently on Travis
when trying to upload coverage results for Python 2.6,
avoid computing coverage entirely to speed-up tests.
2020-08-13 00:30:51 -07:00
Robert Blake
c064088cf3 Bugfix for #17999: use cudart instead of cuda. (#18000)
This is needed because libcuda is used by the driver,
whereas libcudart is used by the runtime. CMake searches
for cudart instead of cuda.

On LLNL LC systems, libcuda is only found in compat and
stubs directories, meaning that the lookup of libraries
fails.
2020-08-12 23:58:10 -07:00
Todd Gamblin
c05fa25057 bugfix: fix spack -V with releases/latest and shallow clones (#17884)
`spack -V` stopped working when we added the `releases/latest` tag to
track the most recent release. It started just reporting the version,
even on a `develop` checkout. We need to tell it to *only* search for
tags that start with `v`, so that it will ignore `releases/latest`.

`spack -V` also would print out unwanted git eror output on a shallow
clone.

- [x] add `--match 'v*'` to `git describe` arguments
- [x] route error output to `os.devnull`
2020-08-12 23:58:10 -07:00
Patrick Gartung
8e2f41fe18 Buildcache create: change NoOverwriteException back to a warning as in v0.14 (#17832)
* Change buildcache create `NoOverwriteException` back to a warning.
2020-08-12 23:58:10 -07:00
Axel Huebl
50f76f6131 Hotfix: move CUDAHOSTCXX (#17826)
* Hotfix: move CUDAHOSTCXX

Set only in dependent packages.

* dependent compiler
2020-08-12 23:58:10 -07:00
Todd Gamblin
5f8ab69396 bugfix: fix spack buildcache list --allarch
`spack buildcache list` was trying to construct an `Arch` object and
compare it to `arch_for_spec(<spec>)`. for each spec in the buildcache.
`Arch` objects are only intended to be constructed for the machine they
describe. The `ArchSpec` object (part of the `Spec`) is the descriptor
that lets us talk about architectures anywhere.

- [x] Modify `spack buildcache list` and `spack buildcache install` to
      filter with `Spec` matching instead of using `Arch`.
2020-08-12 23:58:10 -07:00
Todd Gamblin
aff0e8b592 architecture: make it easier to get a Spec for the default arch
- [x] Make it easier to get a `Spec` with a proper `ArchSpec` from an
      `Arch` object via new `Arch.to_spec()` method.

- [x] Pull `spack.architecture.default_arch()` out of
      `spack.architecture.sys_type()` so we can get an `Arch` instead of
      a string.
2020-08-12 23:58:10 -07:00
h-denpo
5512340a51 gotcha: fixed building v0.0.2 on ARM (#18012) 2020-08-13 08:16:23 +02:00
eugeneswalker
7302dd834f allow GNUPGHOME to come from SPACK_GNUPGHOME in env, if set (#17139) 2020-08-12 22:57:57 -07:00
ketsubouchi
ae23f33a31 eztrace: add space, --linkfortran, -Wl (#17801) 2020-08-12 20:16:59 -05:00
Chris White
105caa7297 Axom + Conduit updates (#17863)
* Loosen Axom's variants, add shared variant for axom, fix clang/xlf rpath'ing problem on blueos

* Fix flake8

* Add main branch to list of known git branches
2020-08-12 20:15:59 -05:00
Massimiliano Culpo
fa216e5f15 mpich, mvapich2: fixed setup_*_environment (#18032)
fixes #18028

Since now external packages support multiple modules
the correct thing to do is to check if the name of the
*first* module to be loaded contains the string "cray"
2020-08-12 20:04:03 -05:00
Harmen Stoppels
075e9428a1 Make the build stage of OpenSSL parallel (#18024) 2020-08-12 19:58:36 -05:00
Erik Schnetter
3fbbf539d1 libpciaccess: New version 0.16 (#18035) 2020-08-12 19:57:00 -05:00
Erik Schnetter
c024a55da8 cmake: Add version 3.16.3 (#18034)
`cmake @3.16.3` is the version provided by Ubuntu 20.04. Adding this version here avoids the warning
```
==> Warning: Missing a source id for cmake@3.16.3
```
when using the system `cmake`.
2020-08-12 19:53:55 -05:00
srekolam
ad060c7870 Spack recipes for ROCm software components-Phase1 (#17422)
* Spack recipes for ROCm Stage 1 Build components

* fix flake8 errors

* fixes for flake8 errors

* Add a patch for cmake 3.x suport

* Fix rpath issue where hsa-rocr-dev does not allow it to be filled in by spack

* Remove inherited cmake args from comgr

* Make hsakmt-roct compile: no -Werror because with const cast in numa, and actually add the numa dependency

* Remove redundant cmake args which is inherited

* Fix some dependencies

* Fix some python 2.x compatibilities

* Add amd gpu targets to rocfft

* Make comgr a link dep of rocm-dbgapi and remove redundant cmake args

* Remove redundant cmake args

* Remove more redundant cmake args

* Final redundant args

* Use cmake 3.x instead of a fixed version

* Remove random variable

* Use installed rocclr instead of nonexisting directory

* Don't build outside the staging folder

* Deploy some missing cmake target file

* Formatting

* Fix target list

* Properly handle the rocclr dependency

* Formatting

* Fix vermin test

* Make all 3.5.0 package depend exactly on eachother

* Add a few missing link dependencies

* Fix flake8

* Remove some other redundant flags

* Add gcc install prefix for gcc builds of llvm-amdgpu

* review changes for the spack recipes

* Do not hard-code versions

* Fix atmi install

- no more relative rpaths outside of install directory (required patch)
- fix build -> link dependencies
- remove unused build dependency

* Fix flake8 errors

* Remove unused variable and make things python 2.x compatible

* Fix flake8

* Move compiler config from rocfft -> hipcc

* Remove redundant dependency on fftw-api

* Remove redundant import

* Avoid hitting the ROCM_PATH variable altogether with a patch; also just fill in all variables

* Add missing deps z3, zlib and ncurses+termlib to llvm-amdgpu

* Fix perl shebang and add dep

* Fix typo and patch HIP_CLANG_ROOT detection in hip's cmake files

* fixing build failure due z3 and adding zlib for rocgdb

* new changes to add z3,curses dependency for llvm-amdgpu

* fix flake8 error

Co-authored-by: root <root@localhost.localdomain>
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2020-08-12 19:36:35 -05:00
eugeneswalker
25a0d89b58 petsc: add explicit build dependency: diffutils (#17979) 2020-08-12 13:42:03 -07:00
Julien Loiseau
015ea82bd5 Update FleCSPH package (#17997)
* Update FleCSPH package

* Flake8 corrections

* Update FleCSI version
2020-08-12 11:49:30 -06:00
Robert Blake
b4ff584bc0 Adding externals support for CUDA. (#18011)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-08-12 19:30:57 +02:00
Jon Rood
193c3535e1 Use configure-release instead of configure for UCX (#17941)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-12 15:14:53 +02:00
Michele Martone
d1fae90f84 librsb: added v1.2.0.9 (#18015) 2020-08-12 14:09:49 +02:00
Andrew W Elble
de053ca2ea weechat: added new package at v2.9 (#17996) 2020-08-12 14:09:09 +02:00
Harmen Stoppels
edcc334631 Respect $PATH ordering when registering compilers (#17967) 2020-08-12 13:38:08 +02:00
Ethan Stam
12aa6d221c ParaView: added v5.8.1 (#17995) 2020-08-12 13:18:32 +02:00
Robert Blake
f73141c6af Bugfix for #17999: use cudart instead of cuda. (#18000)
This is needed because libcuda is used by the driver,
whereas libcudart is used by the runtime. CMake searches
for cudart instead of cuda.

On LLNL LC systems, libcuda is only found in compat and
stubs directories, meaning that the lookup of libraries
fails.
2020-08-12 13:13:57 +02:00
Thomas Madlener
041e21802e podio: added dependency on jinja2 for newer versions (#17990) 2020-08-12 08:56:11 +02:00
Robert Blake
80a382c218 Adding external recognition to perl (#17756)
* Perl now has external recognition.

* Changing code to use the new external packages API.
2020-08-11 17:06:20 -07:00
Adam J. Stewart
2f0fd44b97 Libtool: add spack external find support (#16691)
* Libtool: add spack external find support

* Less specific regex

* match -> search

* Clarify that min returns first alphabetically, not shortest

* Simplify version determination
2020-08-11 10:16:15 -05:00
Harmen Stoppels
313511bf1d elpa: add cuda support, add libtool dep, fix parallel build failure (#17969) 2020-08-11 17:01:49 +02:00
Adam J. Stewart
09cc89a449 py-pyinstrument: added v3.1.3 (#17976) 2020-08-11 10:23:10 +02:00
Adam J. Stewart
db3ecb2fdf py-sphinx: added v3.2.0 (#17977) 2020-08-11 10:22:18 +02:00
Adam J. Stewart
1fdd19bcc2 py-sphinx-rtd-theme: added v0.5.0 (#17978) 2020-08-11 10:21:55 +02:00
darmac
9e54570b4c libcroco: added build dependency on pkg-config (#17970) 2020-08-11 10:14:22 +02:00
Massimiliano Culpo
6cda20472e Fix loading of compiler modules on CRAY (#17984)
The modifications in 193e8333fa
introduced a bug in the loading of compiler modules, since a
function that was expecting a list of string was just getting
a string.

This commit fixes the bug and adds an assertion to verify the
prerequisite of the function.
2020-08-11 10:11:01 +02:00
Adam J. Stewart
f0c0cd5c3f Fix typo in spack external debug msg (#17982) 2020-08-11 09:55:44 +02:00
Sajid Ali
30dc0baa34 openssl: added detection capabilities (#16653) 2020-08-11 09:44:51 +02:00
Kurt Sansom
07422f95de sprng: added new package (#17570)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-11 09:15:13 +02:00
Howard Pritchard
18d2682f75 UCX: add version 1.8.1 (#17972)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-08-10 23:10:59 -05:00
Jeffrey Salmond
6ccc430e8f Add fenicsx packages (#17743)
* add py-ufl package from fenics

* add py-fiat package from fenics

* add py-ffcx package from fenics

* add py-dijitso package from fenics

* add dolfinx library from fenics

* amend ffcx to use ufl and fiat master branches

* setup variants complex and int64 of dolfinx

* add dolfinx python library as package

* add test dependencies to py-dolfinx

* remove broken doc variant

* remove test dependencies from py-dolfinx

* flake8 fixes to dolfinx and py-dolfinx

* make sure dolfinx cmake picks up the correct python version

* list build phases in py-dolfinx package

* remove unnecessary package url

* make pkgconf a build dependency

* make all python dependencies build+run

* py-ffcx needs py-setuptools to be a build/run dependency to support ffcx executable

* remove unnecessary variants from dolfinx

* add missing dependencies to py-dijitso

* remove stray line from py-dolfinx

* simplify definition of build_directory in py-dolfinx

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

* use depends_on("python") rather than extends("python") in py-ffcx

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

* use depends_on("python") rather than extends("python") in py-fiat

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

* use depends_on("python") rather than extends("python") in py-ufl

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

* rename py-fiat to py-fenics-fiat

* rename py-ufl to py-fenics-ufl

* fix error in depends_on(petsc) definition

* add missing dep on numpy to py-fenics-fiat

* specify python@3.8: as requirement for all fenics components

* use tuples rather than list for depends_on type=

* specify eigen@3.3.7: as dependency for dolfinx

* add js947 and chrisrichardson as maintainers for the fenics packages

* remove scipy dependency from py-dolfinx

* rename package py-ffcx -> py-fenics-ffcx

* rename package dolfinx -> fenics-dolfinx

* rename package py-dolfinx -> py-fenics-dolfinx

* remove pointless URL from py-fenics-dolfinx package

* rename package py-dijitso -> py-fenics-dijitso

* formatting

* remove unecessary cmake args from fenics-dolfinx

* revert py-fenics-fiat python version to 3:

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

* revert py-fenics-ufl python version to 3.5:

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

* add conflict to fenics-dolfinx for C++17 support

* revert py-fenics-ffcx python version to 3.5:

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-10 21:43:43 -05:00
Nithin Senthil Kumar
38f2a0a92b Updated docstring description for MVAPICH2 (#17921)
* Updated docstring description for MVAPICH2

* Fixed flake8 character count warning and added maintainers

* Removed trailing whitespaces

Co-authored-by: nithintsk <nithintsk@github.com>
2020-08-10 21:35:41 -05:00
darmac
08beb7aa30 aperture-photometry: add v2.8.4 (#17953) 2020-08-10 21:35:20 -05:00
darmac
00bdff81ae Add new package: tiptop (#17907)
* Add new package: tiptop

* fix flake8 error

* tiptop: remove sha256 value
2020-08-10 21:26:21 -05:00
darmac
84a97d8372 pbbam: fix build error (#17955)
* pbbam: fix build error

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-10 21:25:45 -05:00
darmac
9fbfd6b58c kibana: support aarch64 (#17910)
* kibana: support aarch64

* kibana: change jdk to java
2020-08-10 21:25:08 -05:00
darmac
c322bea8f8 fix apex sha256 and depends constraint (#17902) 2020-08-10 20:36:58 -05:00
Massimiliano Culpo
1dba0ce81b Removed references to BlueGene/Q in docs and comments 2020-08-10 17:09:09 -07:00
Massimiliano Culpo
f128e7de54 Removed references to BlueGene/Q in Spack builtin packages 2020-08-10 17:09:09 -07:00
Massimiliano Culpo
98701279df Removed references to BlueGene/Q in core Spack 2020-08-10 17:09:09 -07:00
Satish Balay
1920d125e8 petsc: update hypre dependency wrt 2.18.2 -> 2.19.0 API change (#17973) 2020-08-10 13:41:35 -07:00
Massimiliano Culpo
c0d490ffbe Simplify the detection protocol for packages
Packages can implement “detect_version” to support detection
of external instances of a package. This is generally easier
than implementing “determine_spec_details”. The API for
determine_version is similar: for example you can return
“None” to indicate that an executable is not an instance
of a package.

Users may implement a “determine_variants” method for a package.
When doing external detection, executables are grouped by version
and each group results in a single invocation of “determine_variants”
for the associated spec. The method returns a string specifying
the variants for the package. The method may additionally return
a dictionary representing extra attributes for the package.

These will be stored in the spec yaml and can be retrieved
from self.spec.extra_attributes

The Spack GCC package has been updated with an implementation
of “determine_variants” which adds the following extra
attributes to the package: c, cxx, fortran
2020-08-10 11:59:05 -07:00
Massimiliano Culpo
193e8333fa Update packages.yaml format and support configuration updates
The YAML config for paths and modules of external packages has
changed: the new format allows a single spec to load multiple
modules. Spack will automatically convert from the old format
when reading the configs (the updates do not add new essential
properties, so this change in Spack is backwards-compatible).

With this update, Spack cannot modify existing configs/environments
without updating them (e.g. “spack config add” will fail if the
configuration is in a format that predates this PR). The user is
prompted to do this explicitly and commands are provided. All
config scopes can be updated at once. Each environment must be
updated one at a time.
2020-08-10 11:59:05 -07:00
Amjad Kotobi
1398038bee git: new version 2.28 (#17848)
* git: new version 2.28

* git: man page version 2.28
2020-08-10 07:48:03 -04:00
Michael Kuhn
8c1329958c Hotfix for config singleton initialization (#17263)
Fixes #17262
2020-08-10 07:48:33 +02:00
Brian Van Essen
aa79d565b3 DiHydrogen: adding blas and associated variants (#17911) 2020-08-10 07:31:41 +02:00
Todd Gamblin
7c9c486d07 deptypes: move deptype formatting code from Spec.format to dependency.py (#17843)
- This simplifies Spec.format somewhat
- Makes code to generate deptype strings (e.g., '[blrt]') reusable
2020-08-09 15:33:31 -07:00
darmac
6309c5eff5 Add new package: libhugetlbfs (#17904) 2020-08-09 14:05:28 -05:00
Nichols A. Romero
c015b8538d LLVM minor cleanup (#17905)
* Since LLVM already depends on the CUDA build system, these lines are redundant.

* This conflict doesn't do anything.
2020-08-09 14:04:53 -05:00
darmac
6c4c7c4b72 libtirpc: fix krb5 depends and remove --disable-gssapi configure (#17926) 2020-08-09 13:52:17 -05:00
darmac
3b8a5dea44 Add new package: hazelcast (#17928) 2020-08-09 13:51:25 -05:00
Rémi Lacroix
ab6e74f6ac FFTW: "configure" script failed with Intel compilers on some systems. (#17936)
Next version of FFTW won't use `-no-gcc` so add a patch to backport the fix to older versions.

Fixes #17810.
2020-08-09 13:47:26 -05:00
Teodor Nikolov
902fac185a blaspp: added explicit dependency on CUDA (#17965) 2020-08-09 20:44:05 +02:00
eugeneswalker
bad8734316 add variant tests which can be one of (none, tests, benchmarks) (#17949) 2020-08-09 13:40:46 -05:00
darmac
5965522bbe libxscrnsaver: fix depends scrnsaverproto error (#17951) 2020-08-09 13:38:55 -05:00
darmac
e0e73c6ea1 blaze: fix build error (#17954) 2020-08-09 13:30:39 -05:00
Alex Margolin
c0492efc11 KNEM and XPMEM support for UCX (#17215)
* KNEM url updated

Signed-off-by: Alex Margolin <alex.margolin@huawei.com>

* Allow UCX to be built against KNEM and XPMEM

Signed-off-by: Alex Margolin <alex.margolin@huawei.com>
2020-08-09 12:55:49 -05:00
Wouter Deconinck
4493d31170 dire: new package at v2.004 (#17749)
Older versions do not compile correctly. New users should use 2.004,
not any of the older versions.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-09 19:03:26 +02:00
Adam J. Stewart
3b6c16ee9f py-scikit-learn: added v0.23.2 (#17876) 2020-08-09 15:57:07 +02:00
Jordan Ogas
f243291334 charliecloud: added v0.17 (#17855) 2020-08-09 15:55:53 +02:00
Harmen Stoppels
512fa8e460 Fix cpio clang build error (#17963)
undefined reference to '__muloti4', using the proposed fix from
https://bugs.llvm.org/show_bug.cgi?id=16404
2020-08-09 15:45:53 +02:00
ketsubouchi
0642216c31 eospac: added support for fujitsu compiler (#17922) 2020-08-09 15:45:35 +02:00
Cameron Stanavige
7631013975 unifyfs: remove flatcc dependency and add spath (#17913)
FlatCC has been removed from UnifyFS as a dependency on the develop
branch and for future releases.

spath is now an optional dependency for UnifyFS to normalize relative
paths provided by the user.
2020-08-09 15:14:44 +02:00
ketsubouchi
c6ad321838 r-rcppparallel: fix for fujitsu compiler (#17924) 2020-08-09 15:01:19 +02:00
vvolkl
e83f639c13 HEP versions update (#17927)
* [whizard] bug fix for ~openloops

* [lcio] new version

* [gaudi] new version

* [lcio] add delphes dependency for examples
2020-08-09 14:54:26 +02:00
Dr. Christian Tacke
dfd5da85c3 pythia8: added v8302 and maintainer (#17931) 2020-08-09 14:43:47 +02:00
Rémi Lacroix
9979aa28ce hypre: added v2.19.0 (#17809) 2020-08-09 14:42:52 +02:00
Adam J. Stewart
eda170665f oneDNN: added v1.6 and v1.6.1 (#17822) 2020-08-09 14:40:05 +02:00
Adam J. Stewart
33ec8cd86a py-azureml-sdk: add v1.11.0 (and deps) (#17939) 2020-08-09 14:31:28 +02:00
Sinan
f340b81ca8 py-netket: added new package at v2.1.1 (#17515)
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-09 14:05:26 +02:00
Brian Van Essen
1fc02b801e cub: added v1.9.10, fixed typo in url (#17942) 2020-08-09 13:59:42 +02:00
Glenn Johnson
8eef488e2c Replace [] with () in description (#17940)
The tcl module for r-dorng will fail to load due to the [] characters in
the description. This happens for Tcl formatted modules loaded by Lmod
at least.

```
module load r-dorng-1.7.1-gcc-9.2.0-wtq7bne
Lmod has detected the following error: .../spack/share/spack/modules/linux-centos7-broadwell/r-dorng-1.7.1-gcc-9.2.0-wtq7bne:(r-dorng-1.7.1-gcc-9.2.0-wtq7bne):
invalid command name "L'Ecuyer"
```

Split text for short and long descriptions.
2020-08-09 13:54:28 +02:00
Adam J. Stewart
a3a571e5c3 PIL: add py-pillow 7.2.0 (#17933) 2020-08-09 13:43:29 +02:00
Sinan
d7ae244a14 llvm: added v10.0.1 (#17950)
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-08-09 13:39:11 +02:00
Adam J. Stewart
09223e5c0b wcslib: added v7.3 (#17836) 2020-08-09 13:24:48 +02:00
Satish Balay
61735f3847 petsc: added v3.13.2,v3.13.3,v3.13.4 (#17957) 2020-08-09 13:19:59 +02:00
Adam J. Stewart
aa14c9d1d1 libimagequant: added new package at v2.12.6 (#17959) 2020-08-09 13:09:52 +02:00
Satish Balay
2954eb39c9 saws: added v0.1.1 (#17958) 2020-08-09 13:05:21 +02:00
Mark W. Krentel
cef729e39c mbedtls: fix min cmake version, added v2.16.7 (#17960)
Mbedtls 2.16.x uses target_sources() from cmake >= 3.1.0
2020-08-09 12:52:21 +02:00
Daniel Topa
61cf6d9c8f cassandra: fixed checksum for v3.11.6 (#17961)
Signed-off-by: Daniel Topa <dantopa@gmail.com>
2020-08-09 12:47:03 +02:00
Glenn Johnson
023a057f20 Add variants to petsc (#17218)
* Add variants to petsc

This PR adds the follolwing variants to the petsc package

- gmp
- jpeg
- libpng
- giflib
- mpfr
- netcdf
- pnetcdf (parallel-netcdf)
- moab
- eigen
- random123
- exodusii
- mstk
- cgns
- memkind
- muparser
- p4est
- saws
- libyaml
- zstd

* Fix flake8 errors

* Additional changes to Petsc recipe

This commit addresses the issues with dependencies that were brought up
in the comments. There are also a few other enhancements.

- the language of the new variant descriptions was changed to be more
  consistent with what was already in the recipe
- an explicit '+mpi' was added to the depends_on('hypre...') directives
- an explicit '+mpi' was added to the depends_on('trilinos...')
  directives
- the run time error checking for '~mpi' was replaced with 'conflicts()'
  directives that will cause the install to fail sooner
- additional variants that were 'parallel only' were added to the '~mpi'
  check

* Set the '~mpi`' conflicts msg to a variable
2020-08-08 11:07:51 -05:00
Sinan
e4a7cb4d60 new package: py-cmake (#17588)
* new package: py_cmake

* sync cmake and py-cmake versions

* new package: py_cmake

* sync cmake and py-cmake versions

* flake8, improve dependency specifics

* replace template stuff with actual values

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-08-08 11:04:41 -05:00
Sinan
775c14e0c1 package/cmake: add versions 1.18.0 and 1.18.1 (#17945)
* package/cmake: add versions 1.18.0 and 1.18.1

* fix shasums

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-08-08 00:42:02 -05:00
Adrien Bernede
3978db91dc Feature/raja chai umpire update (#17665)
* Changing raja, chai, and umpire packages so all will compile with each other.

* Need a CUDA version of CHAI when compiling with raja+cuda+chai

* Updating checks for commit.

* Adding comments explaining why chai+umpire tests were disabled

* Reactivating tests for CHAI and Umpire

* reordering versions

* Unified handling of Cuda Arch

* Adding latest versions

* Unused/Untested: removed

* Aesthetic and test mode in Chai

* Unified handling of Cuda Arch

* Using 'ON' consistently, instead of 'On'

* Apply suggestions from code review

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

* Fix, suggestion and patch:

Chai depends on RAJA, not the other way.
Apply suggested master-main version mapping.
Add Umpire version 3.0.0 and patch.

Co-authored-by: Robert Blake <blake14@llnl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-07 17:42:07 -05:00
eugeneswalker
ceed9c4bc0 conduit: dont use cmake >= 3.18 because of FindHDF5 bug (#17937) 2020-08-07 13:50:14 -07:00
Glenn Johnson
1a11449c86 New package - REDItools (#17703)
* New package - REDItools

This PR adds the REDItools package, along with a new package dependency,
py-fisher. This contains a patch generated from the python 2to3 script
as well as some other fixes. I am not sure if the project is ready to
support python-3 yet but I submitted the other patches upstream.

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-07 14:40:52 -05:00
Adam J. Stewart
11f2d01051 py-inference-schema: add new package (#17912) 2020-08-07 12:09:34 -05:00
Tomoki, Karatsu
c83236d3a4 Fujitsu compiler: Accept alphabet as version. (#17890)
* Fujitsu compiler: Accept alphabet as version.

* Fujitsu copiler: Updated test pattern.
2020-08-07 09:06:22 -05:00
g-mathias
c1efa09928 gromacs: new version 2020.3; variant nosuffix and mkl support (#17908)
* new version 2020.3; new variants nosuffix and fft; version selections for plumed

* fixed too long lines

* fixed whitespaces

* revised fft interface according to @haampie 's suggestions

Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-08-07 07:03:14 -06:00
darmac
6fc6f1ea9d activeharmony: add version 4.6.0 (#17867) 2020-08-06 23:51:47 -07:00
Adam J. Stewart
463aaef092 py-rasterio: add v1.1.5 2020-08-06 23:50:02 -07:00
Robert Pavel
07e426ce00 New package: ProfugusMC (#17914)
Added spackage for profugusMC
2020-08-06 23:45:19 -07:00
Mark W. Krentel
7d348268fb hpctoolkit: fix commit hash for version 2020.08.03 (#17920) 2020-08-06 23:42:52 -07:00
Rao Garimella
cff383802a Wonton (package): Fix sha 256 sum for version (#17916) 2020-08-06 23:41:48 -07:00
Justin S
7a5c0e0326 stacks (package): add version 2.53 (#17915) 2020-08-06 23:40:41 -07:00
Justin S
0f8ad5be1b isescan: new package at 1.7.2.1 (#16589)
* isescan: new package at 1.7.2.1

* isescan: update external program paths

* isescan: use spack compiler
2020-08-06 22:26:52 -05:00
Rao Garimella
9a7834949d New Package Wonton (#17882)
* new package Wonton

* remove the flecsi variant because flecsi-sp does not have a spackage

* fix url, clean up whitespaces

* formatting

* put in explicit else clauses for variants in CMake section because CMake's behavior is system-dependent

Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2020-08-06 13:55:24 -05:00
Adam J. Stewart
051e124533 Bazel: relax Java dependency (#17734)
* Bazel: relax Java dependency

* Flake8 fix
2020-08-06 13:02:02 -04:00
Julius-Plehn
f3ec1d445d New package: HDFView (#17707)
* HDFView

* adds support for version 3.1.1
2020-08-06 09:02:40 -05:00
Todd Gamblin
9dbe1d7776 bugfix: fix spack -V with releases/latest and shallow clones (#17884)
`spack -V` stopped working when we added the `releases/latest` tag to
track the most recent release. It started just reporting the version,
even on a `develop` checkout. We need to tell it to *only* search for
tags that start with `v`, so that it will ignore `releases/latest`.

`spack -V` also would print out unwanted git eror output on a shallow
clone.

- [x] add `--match 'v*'` to `git describe` arguments
- [x] route error output to `os.devnull`
2020-08-05 17:01:18 -07:00
Robert Mijakovic
aee95fe9a9 GPI-2 new package (#17875)
* update version: intel packages daal, ipp, mkl-dnn, mkl, mpi, parallel-studio, pin, tbb and makes url parameter consistent and always use single quote.

* Fixes a typo with one of the sha256 checksum..

* Adds version entries for new versions of Intel packages.

* Adds hashes for new versions of Intel packages.

* Adds missing hash of Intel compiler.

* Adds the newest version of Intel MPI 2019.8.

* Fixes hash for intel-parallel-studio and intel-tbb.

* Fixes version number of Intel MPI.

* Adds GPI-2 package.

* Fixes flake8 noticed issues.

* Second try to fix flake8 comment

* Fixes some issues adamjstewart noticed.

* Fixes package according to flake8 complains.

* Fixes flake8 issue.

* Renames next version to master and removes master.

* Adds maintainer into gpi-2 and returns master branch for the git
repository.

Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2020-08-05 16:38:23 -05:00
carlabguillen
cc0a1283c4 Variant with fortran for likwid package (#17889)
* Option to build likwid with fortran interface

* Removing white spaces

* Flake8 conform
2020-08-05 16:31:49 -05:00
h-denpo
a5914cecb4 add depends_on('zlib', type='link') (#17887) 2020-08-05 16:24:49 -05:00
darmac
dc321abb72 bcache:add pkg-config to find blkid.h in linux-utils (#17888) 2020-08-05 16:24:14 -05:00
Greg Becker
acfa2ea018 remove hypre variant from mfem and all references to it (#17885) 2020-08-05 09:19:22 -07:00
darmac
afaae70855 nodejs: add version 8.11.4 (#17824)
* nodejs: add version 8.11.4

* node-js: refine configure() for different version
2020-08-05 10:12:14 -05:00
Ronak Buch
e64e600fbb charmpp: added v6.10.2 (#17886) 2020-08-05 15:03:51 +02:00
Jen Herting
96f5075eb1 [py-smart-open] fixing dependencies (#17640)
* version 1.8.4 requires py-boto at 2.3.2:
* google-cloud-storage only in newer versions
2020-08-04 16:44:30 -07:00
Jen Herting
118948cb0a [bowtie] added version 1.3.0. Patch fixed for new version (#17744) 2020-08-04 14:52:51 -07:00
Tim Haines
f9ee76a817 Dyninst: 10.2 release (#17847)
* Dyninst: 10.2 release

* Use 'elf' instead of 'elfutils'

* Use v10.2.0 tag

* Change minimum elfutils to 0.173

* Move STERILE_BUILD option to correct cmake_args

* make a sacrifice to the flake8 gods

* Add maintainer

* Revert to using elf@1 for elfutils
2020-08-04 13:48:08 -05:00
Brian Van Essen
54dc871524 Renamed the aluminum variant for thhe intra-node RMA functions. (#17861) 2020-08-04 12:52:59 -05:00
Ethan Stam
b3dd90b95c ParaView: Allow all ParaView versions to depend on Python 2 (#17484)
* Allow all ParaView versions to depend on Python 2

* Keep conflict for 5.9 and up with python 2

* Fix line too long

* Don't use backslash

* Try fixing indent

* Clean logic for python cmake flags

* Try fixing indent
2020-08-04 12:51:49 -05:00
Toyohisa Kameyama
d77f388a0d yorick: avoid hang to fputest on aarch64. (#17865) 2020-08-04 12:27:27 -05:00
Simon Frasch
cb676eab0f Added new package: spla (#17868) 2020-08-04 12:24:07 -05:00
Robert Underwood
4eb3558d20 Prefer dynamic linking for Python in vim when +python (#17870)
Previously the python package for vim used static linking, and depending
on what system libraries were available and linked against could cause
symbol conflicts for python leading to segfaults in loading c modules in
the standard library (i.e. heapq).  This patch address this issue by
dynamically linking them.
2020-08-04 12:22:53 -05:00
Robert Underwood
b35b950ee2 Add openssh runtime dependency to git (#17872)
If you use git to clone a repository ssh, git transfers control the ssh
binary available on your path, if that ssh binary was built with
contradictory version of openssl/kerberos, then your git commands will
fail.
2020-08-04 12:21:55 -05:00
Adam J. Stewart
91671be7cc py-keras-preprocessing: add new version (#17735) 2020-08-04 12:12:15 -05:00
t-nojiri
8977f7377a abyss 2.1.4: fails to build with GCC 8 (#17614)
* abyss 2.1.4: fails to build with GCC 8

* abyss 2.1.4: fails to build with GCC 8

* abyss 2.1.4: Revise the points indicated by the review.
2020-08-04 12:11:52 -05:00
vvolkl
9d2b60ac0c [delphes] pythia8 variant and cleanup (#17664)
* [delphes] new version

* [delphes] pythia8 variant

* [delphes] flake8
2020-08-04 12:11:13 -05:00
Zicklag
b85cc363c1 Add Espanso Package and its xdotool Dependency (#17586) 2020-08-04 12:06:46 -05:00
Simon Pintarelli
c3a38e0b14 sirius (new versions, fixes), q-e-sirius (new package), nlcglib (new package) (#17844)
* sirius, update versions, fixes, add missing options

- sirius/spfft: depend on fftw-api
- cleanup +shared option
- sirius add option for memory pool
- sirius add version 6.5.3 and 6.5.4
- sirius: add spfft dependency for @master, @develop

* add nlcglib package

Robust wave function optimization for SIRIUS.

* add q-e-sirius package

based on q-e package

* Update var/spack/repos/builtin/packages/q-e-sirius/package.py

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

* nlcglib: pass nvcc_wrapper to cmake

* Add 6.5.6

* Make flake8 happy

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2020-08-04 12:03:04 -05:00
Mark W. Krentel
3a02d1a847 hpctoolkit: add v2020.08.03 (#17860)
Add version 2020.08.03.  Adjust the cuda args.  The --with-cupti arg
was redundant, even for old versions of hpctoolkit.
2020-08-04 13:39:47 +02:00
Enrico Usai
bd0fb35ff0 AWS ParallelCluster: added v2.8.1 (#17866) 2020-08-04 13:25:27 +02:00
Brian Van Essen
c203898663 Added versions for cuDNN 8.0.2. (#17862) 2020-08-04 13:05:29 +02:00
t-nojiri
23f61ae2b0 subread: extend support for aarch64 to v2.0.0 (#17864) 2020-08-04 13:01:39 +02:00
g-mathias
9c8d4be569 new plumed versions 2.5.5 and 2.6.1; bumped default to 2.5.5 (#17850)
Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-08-03 23:15:57 -05:00
albestro
7154351860 HPX: fix wrong method name and use define/define_from_variant methods (#17851)
* bug fix: wrong method name

* refactoring using define_from_variant and define

* flake8 style fix

* revert change string format
2020-08-03 23:15:23 -05:00
Harmen Stoppels
9318029b63 Bump cmake (#17852) 2020-08-03 23:12:07 -05:00
Harmen Stoppels
c07102ac9f Fix typo: yaml -> json (#17854) 2020-08-03 23:11:41 -05:00
mic84
1c4b6bad43 amrex:: new version 20.08 (#17856) 2020-08-03 23:08:42 -05:00
darmac
8e1e3ac8c3 canu: fix depends issue & using java instead of jdk (#17599)
* canu: fix depends issue & using java instead of jdk

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-03 23:05:37 -05:00
darmac
a7f1565efb Add new package: ycsb (#17788)
* Add new package: ycsb

* refine mongodb-async-driver jar path
2020-08-03 23:04:48 -05:00
darmac
1884822b56 Add new package: slider (#17799)
* Add new package: slider

* refine version check
2020-08-03 23:04:09 -05:00
darmac
0cc2377de6 Add new package: giraph (#17790)
* Add new package: giraph

* refine version check
2020-08-03 23:03:25 -05:00
Claire Guilbaud
ce7aefbb4f Packages/py colorspacious (#17623)
* typo error correction

* Adding recipe for `colorspacious` (a python package)

* Copyright year changed

* revert last commit on basic_usage.rst

* better with a good description

* fix according to failed test

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-03 23:01:03 -05:00
Massimiliano Culpo
b1133fab22 MacOS nightly builds: use Python 3.7 in CI
Nightly builds with MacOS started failing again
due to an upgrade of the default virtual environment
that now uses Python 3.8

This makes us hit #14102 and every build fails. This
commit should be reverted along with the fix to #14102.
2020-08-03 17:23:10 -07:00
Harmen Stoppels
827ca72c26 Fix docs about containers on cray (#17431)
* For detecting Cray: CRAYPE_VERSION is not used, but MODULEPATH

* Fix typo and write Cray with a capital
2020-08-03 16:16:18 -07:00
Adam J. Stewart
a67a0e3181 py-astropy: add version 4.0.1.post1, update header finding (#17838)
* Add install tests
* Add pkgconfig dependency to find dependency headers (specifically
  wcslib)
2020-08-03 11:51:29 -07:00
Adam J. Stewart
8b50433cd7 ERFA (package): add version 1.7.0 (#17837) 2020-08-03 11:40:50 -07:00
Paul
4c97a0ea1c Added Go 1.14.6 and 1.13.14 (#17574) 2020-08-03 09:42:05 -05:00
ketsubouchi
a480507a92 python: RPATH on fj (#17783)
* python: RPATH on fj

* python: patch _is_gcc
2020-08-02 22:53:14 -05:00
Francesco Di Natale
ac433134e5 Updates to jsonschema to include newer versions. (#17613)
* Additional versions of py-jsonschema.

* Tweak to force Maestro to use jsonschema@3.2.0:

* Correction of whitespace (flake8 error).

* Merges importlib's Python  version conditons

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-02 19:42:56 -05:00
Harmen Stoppels
e199f3f245 Add new versions of spfft (#17841)
* Add new versions of spfft

* Extend CudaPackage and use virtual fftw package

Co-authored-by: Simon Pintarelli <simon.pintarelli@cscs.ch>

* Add CUDA 11 compatibility note

* Depend on older cuda <= 10 for spfft <= 0.9.11

Co-authored-by: Simon Pintarelli <simon.pintarelli@cscs.ch>
2020-08-02 19:42:07 -05:00
René Widera
d560d83b76 fix isaac-server dependency (#17569)
isaac-server can not find jansson if jansson2.10+ is used.
2020-08-02 19:41:18 -05:00
Jon Rood
041fcbfa59 Gnuplot also depends on libsm with +wx. (#17575) 2020-08-02 16:46:42 -05:00
darmac
53b7f381c7 krb5: fix url parse and update versions (#17581) 2020-08-02 16:46:04 -05:00
darmac
044b9d3e85 mariadb: add depends package krb5 (#17583) 2020-08-02 16:45:05 -05:00
Harsh Bhatia
b25055c7e8 new package: ibm databroker (#17591) 2020-08-02 16:40:44 -05:00
Patrick Gartung
33116d730d Buildcache create: change NoOverwriteException back to a warning as in v0.14 (#17832)
* Change buildcache create `NoOverwriteException` back to a warning.
2020-08-02 13:52:15 -07:00
Patrick Gartung
f29dd48101 Add bindist tests for macOS. 2020-08-02 13:51:14 -07:00
albestro
ef3338a49b Improve HPX package management of coroutines implementation (#17654)
* introduce logic for boost+context dependency and generic_context variant

* fix OTF2 instrumentation minor problem

* default coroutine impl depends on platform

* fix flake8

* add reference to ~generic_coroutines conflict info

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-02 09:56:50 -05:00
Rémi Lacroix
8e6fe883eb Octopus: Add support for version 10.0. (#17782)
* Octopus: Add support for version 10.0.

Fix compilation when using the MKL as a provider for BLAS/LAPACK. Octopus will now detect that the MKL also provides the FFTW API and will refuse to compile when both the FFTW library and the MKL are given to the configure script.

* Octopus: Add supported version range for libxc.
2020-08-02 09:55:08 -05:00
Todd Gamblin
b94a837760 berkeley-db: add version 18.1.40, update build options in package (#17839)
* berkeley-db: add version 18.1.40, update build options in package

* combine adamjstewart's changes

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-01 19:33:35 -05:00
Wouter Deconinck
7e6a77d907 New package: kassiopeia (#17742)
* [kassiopeia] New package

* [kassiopeia] Remove master branch, update dependencies

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

Unable to test since I do not have a license to intel-parallel-studio, but I see no reason why it would not work if.

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

* [kassiopeia] depends_on mpi

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

* [kassiopeia] cmake_args with self.spec.satisfies and elses

* [kassiopeia] args.extend -> args.append

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-01 17:40:21 -05:00
Simon Pintarelli
75f34126fc h5py does not correctly recognize hdf5 version on Cray (#17831)
* h5py: explicitly specify version

hdf5@1.10.5 on Cray is wrongly detected as 1.8.4.

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

Thanks. Also had this first, then CI was complaining about line length ...

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-08-01 16:26:41 -05:00
Mark W. Krentel
b0eb771b19 elfutils: add version 0.180 (#17835) 2020-08-01 16:26:13 -05:00
Axel Huebl
7498336f3d Hotfix: move CUDAHOSTCXX (#17826)
* Hotfix: move CUDAHOSTCXX

Set only in dependent packages.

* dependent compiler
2020-08-01 15:29:17 -05:00
Todd Gamblin
f3cb3a2eb8 license: fix up MIT license so it's an exact match
Before:

```console
$ licensee diff --license mit LICENSE-MIT
Comparing to MIT License:
Input Length:      1092
License length:    1020
Similarity:      92.46%
diff --git a/LICENSE b/LICENSE
index 0ce42af..be0ff1c 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,3 +1,4 @@
{+spack project developers. see the top-level copyright file for details.+}
permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "software"), to deal in
the software without restriction, including without limitation the rights to
```

After:

```console
$ licensee diff --license mit LICENSE-MIT
Comparing to MIT License:
Input Length:       1020
License length:     1020
Similarity:      100.00%
Exact match!
```

This gets us a 100% license match from GitHub's `licensee` tool.
2020-08-01 10:06:28 -07:00
darmac
3ea9b9a014 Add new package: findbugs (#17825) 2020-08-01 11:46:02 -05:00
darmac
52858be668 Openfst: upgrade version and gcc constraint (#17830)
* openfst: upgrade version and gcc constraint

* refine version format
2020-08-01 11:41:12 -05:00
Todd Gamblin
ff27233e30 bugfix: fix spack buildcache list --allarch
`spack buildcache list` was trying to construct an `Arch` object and
compare it to `arch_for_spec(<spec>)`. for each spec in the buildcache.
`Arch` objects are only intended to be constructed for the machine they
describe. The `ArchSpec` object (part of the `Spec`) is the descriptor
that lets us talk about architectures anywhere.

- [x] Modify `spack buildcache list` and `spack buildcache install` to
      filter with `Spec` matching instead of using `Arch`.
2020-08-01 08:36:12 -07:00
Todd Gamblin
0c48f0a15d architecture: make it easier to get a Spec for the default arch
- [x] Make it easier to get a `Spec` with a proper `ArchSpec` from an
      `Arch` object via new `Arch.to_spec()` method.

- [x] Pull `spack.architecture.default_arch()` out of
      `spack.architecture.sys_type()` so we can get an `Arch` instead of
      a string.
2020-08-01 08:36:12 -07:00
Massimiliano Culpo
c65cde4cf8 Avoid update and upgrades to brew (#17815)
Ci is currently failing on brew update with the error:
```
Error: Cannot install bazelisk because conflicting formulae are installed.
  bazel: because Bazelisk replaces the bazel binary

Please `brew unlink bazel` before continuing.

Unlinking removes a formula's symlinks from /usr/local. You can
link the formula again after the install finishes. You can --force this
install, but the build may fail or cause obscure side effects in the
resulting software.
```
Avoiding:
```
$ brew update
$ brew upgrade
```
solves the issue by preventing the risk of conflicting formulae
2020-08-01 07:45:39 +02:00
Brian Van Essen
5c2b34e43b cuDNN (package): add version 7.6.5.32-10.2-linux-ppc64le (#17821) 2020-07-31 17:48:03 -07:00
Harmen Stoppels
d4831181ea Add libxc 5.0.0 (#17807)
With experimental CUDA support and some patches to make it compile.

Currently +shared and +cuda conflict, this has to be fixed upstream.
2020-07-31 18:01:39 -05:00
Michael Kuhn
346977f501 meson: Add 0.55.0 (#17816) 2020-07-31 18:01:12 -05:00
Adam J. Stewart
9d942df352 py-wheel: add new version (#17819) 2020-07-31 15:58:00 -07:00
Adam J. Stewart
89759cc1f1 py-setuptools: add new version (#17818) 2020-07-31 15:57:42 -07:00
Adam J. Stewart
4c35cc1b20 py-pip: add new version (#17817) 2020-07-31 15:57:27 -07:00
Massimiliano Culpo
9dbad500bc Move Python 2.6 unit tests to Github Actions (#17279)
* Run Python2.6 unit tests on Github Actions
* Skip url tests on Python 2.6 to reduce waiting times
* Skip foreground background tests on Python 2.6 to reduce waiting times
* Removed references to Travis in the documentation
* Deleted install_patchelf.sh (can be installed from repo on CentOS 6)
2020-07-31 15:01:12 -07:00
Adam J. Stewart
4aaa39d091 py-torchvision: add v0.7.0 2020-07-31 14:34:55 -07:00
Adam J. Stewart
58d383877d PyTorch: add v1.6.0 2020-07-31 14:32:56 -07:00
Adam J. Stewart
198ccfae4e Pandas: add v1.1.0 2020-07-31 14:20:17 -07:00
darmac
c2cd728e03 cp2k: support for aarch64 (#17786) 2020-07-31 16:17:31 -05:00
Brian Van Essen
46e7fbe120 LBANN: add versions, update CUDA support and dependencies (#17813)
* Update LBANN, Hydrogen, Aluminum to inherit CudaPackage
* Update CMake constraints: LBANN, Hydrogen, and Aluminum now require
  cmake@3.16.0: (better support for pthreads with nvcc)
* Aluminum: add variants for host-enabled MPI and RMA features in a
  MPI-GPU RDMA-enabled library
* NCCL: add versions 2.7.5-1, 2.7.6-1, and 2.7.8-1
* Hydrogen: add version 1.4.0
* LBANN: add versions 0.99 and 0.100
* Aluminum: add versions 0.4.0 and 0.5.0
2020-07-31 13:53:51 -07:00
Andrew W Elble
d89bc1d998 new package(s): py-gql (#17769)
* new package(s): py-gql

and related dependencies:
py-aiohttp
py-async-timeout
py-graphql-core
py-idna-ssl
py-multidict
py-websockets
py-yarl

new versions:
py-requests

* fixes

Co-authored-by: Andrew W Elble <aweits@skl-a-00.rc.rit.edu>
2020-07-31 14:54:25 -05:00
Rémi Lacroix
0303ef72ac libxc: Add version 4.3.4. (#17781) 2020-07-31 14:48:48 -05:00
darmac
e938e439b9 Add new package: mongodb-async-driver (#17787) 2020-07-31 14:45:35 -05:00
darmac
8df17d3830 open-iscsi: refine runtime environment (#17789) 2020-07-31 14:43:40 -05:00
Xavier Delaruelle
c7e83a8375 environment-modules: add version 4.5.2 (#17795) 2020-07-31 14:42:08 -05:00
Andrew Gaspar
c436414352 Add Rust versions 1.45.1 and 1.44.1 (#17812) 2020-07-31 14:30:00 -05:00
darmac
b7e0fec5f0 Alluxio (package): update url, add versions (#17805)
* Add versions 2.2.1 and 2.2.0
* Remove version 2.1.0
* Add dependency on Java
2020-07-31 11:25:22 -07:00
Justin S
cab2af9a71 py-mixedhtseq: new package at 0.1.0 (#17702)
* py-mixedhtseq: new package at 0.1.0

* py-mixedhtseq: flake8 fixes
2020-07-31 11:58:53 -05:00
Justin S
da5bbe3cef py-gpy: add 0.8.8 (#17548)
* py-gpy: add 0.8.8

* py-gpy: remove unneeded dep

* py-gpy: make cython build-only
2020-07-31 11:55:49 -05:00
Edoardo Aprà
154870da0b NWChem 7.0.0 (#17779)
* NWChem 7.0.0

* add python2 for 6.8.1. removed 6.8 https://github.com/spack/spack/pull/17779#discussion_r462700413

* nwchem 6.8.1 breaks with gcc 10 and later

* restored extra python bits for version 6.8.1. add env. definition of basis libraries

* changes for flake8

* url fixed

* prevent 6.8.1 being compiled with gcc 10
2020-07-31 10:45:27 -05:00
Andrew W Elble
edba70557d new package(s): py-torch-geometric (#17768)
* new package(s): py-torch-geometric
(with related dependencies: py-rdflib, py-googledrivedownloader)

* fixes
2020-07-31 10:41:24 -05:00
Claire Guilbaud
fd15fc9c70 sphinx copybutton: new package at v0.2.12 (#17632) 2020-07-31 11:41:56 +02:00
Claire Guilbaud
41f743b45d recommonmark: new package at v0.6.0 (#17629) 2020-07-31 11:39:53 +02:00
Rémi Lacroix
ccb316964d Improve Ferret package (#17620)
* Ferret: Add missing dependency with curl.

* Ferret: Don't force using the static version of libgfortran.

* Ferret: Ensure Spack's compiler wrappers are used.

This allows properly setting the rpaths.

* Ferret: Add support for versions 7.3 to 7.6.

* Ferret: Add a variant to install Ferret standard datasets.

* Ferret: Define some useful runtime environnement variables.

* Ferret: Fix flake8.

Also add myself as a maintainer as suggested by @alalazo.
2020-07-30 22:23:49 -05:00
Tom Payerle
58911d8248 kahip: Fix issue #17638 (make SConstruct files python3 friendly) (#17642)
As discussed in issue #17638, wherein kahip fails to build when
scons is dependent on python@3.

This converts the print statements in various SConstruct files
into python3 friendly print functions.

I found most of the affected SConstruct files in both @2.00 and
the later versions I found on web, but some files were only in @2.00.
I split the patches into two files for that reason, but have not
tried the later versions.
2020-07-30 22:22:40 -05:00
vvolkl
f09656e3f8 New Versions: dd4hep, podio (#17659)
* [dd4hep] add new patch version

* [podio] add new version and update env vars

* [dd4hep] add hepmc3 variant
2020-07-30 22:21:02 -05:00
Rémi Lacroix
d609a6dde7 Update LAMMPS package (#17715)
* LAMMPS: Use LATTE 1.2.2 starting with version 20200602.

Version 20200602 and upper requires Latte 1.2.2. This caused the internal Latte distribution to be used instead of the Latte install provided by Spack.

* LAMMPS: Add new versions 20200630 and 20200721.
2020-07-30 22:19:59 -05:00
ketsubouchi
45a67fa0f3 dcmtk: fixed type error (#17758)
* dcmtk: fixed type error

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-30 22:18:55 -05:00
Francine Lapid
32b070a76b New package: IDL (#17451)
* New package: IDL

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

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

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

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

* added license header and changed url_for_version to just url

* removed unused imports, addressed comments

* removed trailing whitespace on line 14

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-30 22:17:35 -05:00
darmac
9c7c4a739f mozjs@1.8.5: fix compile issue (#17594)
* mozjs@1.8.5: fix compile issue

* mozjs: refine method
2020-07-30 22:15:53 -05:00
Tomoki, Karatsu
50f96e15de vtk: Support for new option to enable MPI. (#17727) 2020-07-30 22:05:20 -05:00
Daryl W. Grunau
7dd5793b75 backport Mesa MR#6053 to prevent multiply-defined symbols (#17720)
Co-authored-by: Daryl W. Grunau <dwg@lanl.gov>
2020-07-30 22:04:24 -05:00
G-Ragghianti
b86e620743 Fixing problems caused by a comfused spack concretizer (#17797) 2020-07-30 22:01:48 -05:00
Harmen Stoppels
6fb8946dd5 Add variants to squashfs for different compression algorithms (#17755) 2020-07-30 22:01:13 -05:00
Lucas Frérot
cfbcf719db New package: py-uvw (#17719)
* py-uvw: added package for versions 0.0.7 and 0.3.1

* py-uvw: added py-setuptools as dependency
2020-07-30 21:52:17 -05:00
Dr Owain Kenway
8b515f3ba0 flang: make sure to find libstdc++ if needed (#17480) 2020-07-30 14:55:16 +02:00
Adam J. Stewart
d512537417 Python: added v3.8.4, v3.8.5, v3.7.7, v3.7.8, v3.6.11 (#17775)
Also added older version in the 3.6 and 3.5 series
2020-07-30 14:49:01 +02:00
G-Ragghianti
2f5e4e1664 MAGMA isn't compatible with CUDA 11 (#17753)
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-30 11:24:21 +02:00
G-Ragghianti
7b051df83f slate package: resolve issues with cuda version and fortran compiler name (#17759)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-30 11:21:49 +02:00
darmac
b96448269a couchdb: new package at v3.1.0 (#17595) 2020-07-30 11:17:19 +02:00
Wouter Deconinck
b24a9a383a lhapdf5: new package at v5.9.1 (#17746)
During configure lhapdf5 searches for python. On one system
I tested on (ubuntu 19.10) it finds a system installed python3
and fails to create the python extension.

Variant named to make explicit that this is only a python2 extension.
2020-07-30 11:11:17 +02:00
Rémi Lacroix
cd1647af66 latte: added v1.2.2 and master (#17714)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-30 10:19:59 +02:00
darmac
d5fc3f267c zipkin: new package at v2.21.5 (#17780) 2020-07-30 10:03:52 +02:00
Glenn Johnson
f0ce129c43 New package: r-hh (#17667)
* New package: r-hh

* Add short description

Add the project one liner for a short description that will be used for
`module whatis`.
2020-07-29 22:25:01 -05:00
ilbiondo
d61f362211 Updated iq-tree package (#17690) 2020-07-29 22:20:44 -05:00
Robert Mijakovic
8ea597c79a Intel packages: new versions (#17692)
* update version: intel packages daal, ipp, mkl-dnn, mkl, mpi, parallel-studio, pin, tbb and makes url parameter consistent and always use single quote.

* Fixes a typo with one of the sha256 checksum..

* Adds version entries for new versions of Intel packages.

* Adds hashes for new versions of Intel packages.

* Adds missing hash of Intel compiler.

* Adds the newest version of Intel MPI 2019.8.

* Fixes hash for intel-parallel-studio and intel-tbb.

* Fixes version number of Intel MPI.

Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2020-07-29 22:18:32 -05:00
Rémi Lacroix
e7fbd6c53e CMake: Fix compilation with Intel compilers on some systems. (#17693)
Systems with older GNU compilers were not affected.

This commit fixes #15901 and fixes #17605.
2020-07-29 22:17:32 -05:00
Tiziano Müller
8e49cac433 pgi: update to 20.4 (#17696) 2020-07-29 22:16:30 -05:00
Shayna Kapadia
867e64cb4f libmodbus: new package (#17778)
* libmodbus:adding new package

* fixing testing failures

* fixing flake 8 errors

* fixing flake 8 errors

Co-authored-by: Kapadia <kapadia2@llnl.gov>
2020-07-29 22:13:58 -05:00
Rao Garimella
3a8815ea7a update version to 1.1.5 (#17701)
Co-authored-by: Rao Garimella <rao@abyzou.lanl.gov>
2020-07-29 22:12:10 -05:00
Toyohisa Kameyama
d14baf4532 use libquadmath only x86_4 and ppcle. (#17728) 2020-07-29 21:47:18 -05:00
Mark Olesen
badd11e71c openfoam package updates, scotch version update (#17731)
* openfoam: use MPI 'headers' property (fixes #17730)

* openfoam: +spdp variant, usable for OpenFOAM 1906 and later

in contrast to +float32, which uses single-precision throughout, +spdp
uses the following:

- single-precision for most internals
- double-precision for linear solver

* openfoam: add m4 as build dependency

* scotch: update to 6.0.9 released Oct 2019

Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-07-29 21:45:40 -05:00
Valentin Clement (バレンタイン クレメン)
42dec9eb12 CLAW: Add version 2.0.2 (#17733) 2020-07-29 21:43:14 -05:00
Wouter Deconinck
6b3f9c5d60 New package: vgm (#17741)
* [vgm] new package Virtual Geometry Model (VGM)

* [vgm] Updated description
2020-07-29 21:04:37 -05:00
Wouter Deconinck
ba5aa67303 New package: geant4-vmc (#17745)
* [geant4-vmc] New package

* [geant4-vmc] aligned spacing
2020-07-29 20:44:16 -05:00
David Böhme
21ca7abf8d Add Caliper v2.4.0 (#17750)
* Add Caliper v2.4.0

* Use built-in gotcha
2020-07-29 20:41:41 -05:00
Julien Loiseau
efb456cb0a Adding pic support for Kokkos (#17751)
* Adding pic support for Kokkos

* Update pic for kokkos
2020-07-29 20:40:12 -05:00
h-denpo
4e12dc3303 elang add depends_on('ncurses', type='link') (#17761) 2020-07-29 20:30:04 -05:00
Mark W. Krentel
896e83e3e6 libunwind: add +pic variant (#17762)
Libunwind already builds a shared library.  The +pic variant adds the
compiler pic flag to the static archive so that it can be linked into
another shared library.
2020-07-29 20:29:24 -05:00
ketsubouchi
8435016a43 eagle: fix CC=gcc and delete march=native (#17763) 2020-07-29 20:28:31 -05:00
Justin S
416a929f7f spades: add 3.14.1 (#17776) 2020-07-29 20:03:58 -05:00
Robert Pavel
af778aac0a Tweak to EOSPAC for gcc@10 Support (#17777)
Eospac's build breaks on gcc@10: due to dependence on -fcommon behavior
and gnu changing to -fno-common. Added conditional argument to support
bleeding edge compilers
2020-07-29 20:03:12 -05:00
tilne
5a5f2c00a8 update URL and sha256 for aws-parallelcluster 2.8.0 (#17685)
Signed-off-by: Tim Lane <tilne@amazon.com>
2020-07-29 19:35:43 -05:00
Jen Herting
5243f97c3b [bowtie2] added version 2.4.1 (#17748) 2020-07-29 15:15:33 -07:00
Rémi Lacroix
5a42883528 Boost: Update conflicts for version 1.73.0. (#17774)
Variant "+mpi+python cxxstd=98" is fixed in 1.73.0.
2020-07-29 12:08:20 -07:00
ketsubouchi
1827db2859 express: add cast for %fj (#17764) 2020-07-29 11:53:39 -07:00
Toyohisa Kameyama
5b12c0f4a0 clamcv: Add curl dependency. (#17765) 2020-07-29 11:48:07 -07:00
darmac
a0e6145884 Add new package: solr (#17597)
* Add new package: solr

* refine version order
2020-07-29 11:38:44 -07:00
Massimiliano Culpo
e47e972cf2 zlib: style changes to check if set of changed files is computed correctly 2020-07-29 11:23:34 -07:00
Massimiliano Culpo
3e1661a183 Use "fetch-depth: 0" to retrieve all history from remote 2020-07-29 11:23:34 -07:00
Massimiliano Culpo
c4f29c6384 Simplified YAML files for Github Actions workflows
Updated actions where needed
2020-07-29 11:23:34 -07:00
Massimiliano Culpo
1f7f076189 Group tests with similar duration together
Style and documentation tests take just a few minutes
to run. Since in Github actions one can't restart a single
job but needs to restart an entire workflow, here we group
tests with similar duration together.
2020-07-29 11:23:34 -07:00
Matthias Wolf
90648bb477 qt: fix build with ~ssl. (#17767)
OpenSSL was pulled from the spec too early, leading to failures when
attempting to build with ~ssl.
2020-07-29 10:53:01 -07:00
Andrew W Elble
d1494fe8da perl: add missing berkeley-db dependency (#17771) 2020-07-29 10:46:24 -07:00
Massimiliano Culpo
cad21d6eb1 lmod: change variant defaults to match Lmod's defaults (#17770) 2020-07-29 10:35:46 -07:00
mic84
a212bb0577 Amrvis: update branch name (#17718) 2020-07-28 09:12:00 -07:00
Todd Gamblin
f24dd29cd2 Merge tag 'v0.15.3' into develop 2020-07-28 02:18:30 -07:00
Todd Gamblin
0f25462ea6 update CHANGELOG.md for 0.15.3 2020-07-28 02:11:06 -07:00
Todd Gamblin
ae4bbbd241 bump version number for 0.15.3 2020-07-28 02:05:26 -07:00
Greg Becker
24bd9e3039 bugfix: allow relative view paths (#17721)
Relative paths in views have been broken since #17608 or earlier.

- [x] Fix by passing base path of the environment into the `ViewDescriptor`.
      Relative paths are calculated from this path.
2020-07-27 23:48:59 -07:00
Greg Becker
158ee6ac25 bugfix: allow relative view paths (#17721)
Relative paths in views have been broken since #17608 or earlier.

- [x] Fix by passing base path of the environment into the `ViewDescriptor`.
      Relative paths are calculated from this path.
2020-07-27 23:44:56 -07:00
Todd Gamblin
cefb4ba014 tutorial: Add boto3 installation to setup script (#17722) 2020-07-27 16:55:33 -07:00
Todd Gamblin
0efb8ef412 tutorial: Add boto3 installation to setup script 2020-07-27 15:55:44 -07:00
Patrick Gartung
7c61d6d45f Update darshan package with mpi variant (#17717)
* Update darshan package with nompi variant.

* Change variant to mpi and default to True
2020-07-27 16:30:29 -05:00
Glenn Johnson
ff529e6dc1 r-adespatial: added new package (#17700)
This PR adds the r-adesaptial package and several other new packages as
dependencies.

- r-adegraphics
- r-adephylo
- r-phylobase
- r-rncl
- r-rnexml
2020-07-27 22:08:48 +02:00
Glenn Johnson
1c0abaa6eb r-dss: added new package at v2.36.0 with dependencies (#17661)
This PR adds the r-dss package and the r-bsseq package, also new, as a
dependency. This includes the latest versions, which required updates to
the following dependencies:

- r-biocgenerics
- r-iranges
- r-s4vectors
- r-summarizedexperiment

Older versions of r-dss and r-bsseq are included as well to ensure
compatibility with older versions of the above dependencies.
2020-07-27 20:51:27 +02:00
Patrick Gartung
69775fcc07 Relocation of sbang needs to be done when the spack prefix changes even if the install tree has not changed. (#17455) 2020-07-27 11:38:48 -07:00
Patrick Gartung
ce772420dd Relocate rpaths for all binaries, then do text bin replacement if the rpaths still exist after running patchelf/otool (#17418) 2020-07-27 11:28:50 -07:00
Seth R. Johnson
6c2749536e qt: fixed build with apple-clang (#17706) 2020-07-27 18:32:29 +02:00
Adam J. Stewart
4e4b8d8249 SciPy: added v1.5.2 (#17708) 2020-07-27 18:26:30 +02:00
ketsubouchi
032a52e006 scons: added support to Fujitsu compilers (#17710) 2020-07-27 18:23:53 +02:00
Hadrien G
e3cc7fc38c acts: added v0.29 (#17712) 2020-07-27 18:13:56 +02:00
Amjad Kotobi
f2e66730d0 openmpi: added lustre variant to openmpi (#17478) 2020-07-27 18:11:57 +02:00
Claire Guilbaud
0ebdfb3c37 sphinxcontrib-mermaid: new package at v0.4.0 (#17630) 2020-07-27 17:30:22 +02:00
Claire Guilbaud
fdb21e3e91 json logger: new package at v0.1.11 (#17628) 2020-07-27 16:32:56 +02:00
Claire Guilbaud
d66d430ab5 pygments pytest: new package at v1.2.0 (#17626) 2020-07-27 15:44:26 +02:00
Claire Guilbaud
bbfc9fd448 commonmark: new package at v0.9.0 (#17624) 2020-07-27 15:02:56 +02:00
Claire Guilbaud
e960e016af hieroglyph: new package at v1.0.0 (#17625) 2020-07-27 14:34:40 +02:00
Claire Guilbaud
074c0d622f python docs theme: new package at v2020.1 (#17627) 2020-07-27 12:53:04 +02:00
Claire Guilbaud
458a9f22da yolk3k: new package at v0.9 (#17635) 2020-07-27 12:48:58 +02:00
Claire Guilbaud
38730c6e68 sphinxcontrib trio: new package at v1.1.2 (#17631) 2020-07-27 12:14:12 +02:00
Claire Guilbaud
21a4edb1f3 sphinx gallery: new package at v0.7.0 (#17633) 2020-07-27 11:21:48 +02:00
Greg Becker
9cc01dc574 add tutorial setup script to share/spack (#17705)
* add tutorial setup script to share/spack

* Add check for Ubuntu 18, fix xvda check, fix apt-get errors
  - now works on t2.micro, t2.small, and m instances
  - apt-get needs retries around it to work

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-07-27 01:18:16 -07:00
Greg Becker
1ceec31422 add tutorial setup script to share/spack (#17705)
* add tutorial setup script to share/spack

* Add check for Ubuntu 18, fix xvda check, fix apt-get errors
  - now works on t2.micro, t2.small, and m instances
  - apt-get needs retries around it to work

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-07-27 01:17:58 -07:00
Todd Gamblin
8d8cf6201b bugfix: don't redundantly print ChildErrors (#17709)
A bug was introduced in #13100 where ChildErrors would be redundantly
printed when raised during a build. We should eventually revisit error
handling in builds and figure out what the right separation of
responsibilities is for distributed builds, but for now just skip
printing.

- [x] SpackErrors were designed to be printed by the forked process, not
      by the parent, so check if they've already been printed.
- [x] update tests
2020-07-26 22:43:10 -07:00
Todd Gamblin
d351946194 bugfix: don't redundantly print ChildErrors (#17709)
A bug was introduced in #13100 where ChildErrors would be redundantly
printed when raised during a build. We should eventually revisit error
handling in builds and figure out what the right separation of
responsibilities is for distributed builds, but for now just skip
printing.

- [x] SpackErrors were designed to be printed by the forked process, not
      by the parent, so check if they've already been printed.
- [x] update tests
2020-07-26 22:41:55 -07:00
Hadrien G
907f9e8411 [root] Add version 6.22 (#17459)
* Add ROOT v6.22

* Hello xext my old friend...
2020-07-26 10:08:53 -05:00
Patrick Gartung
66d59a90ed Rename sas static-analysis-package (#17695) 2020-07-24 17:07:01 -07:00
Nicholas Sly
5795f1d7da Add Totalview package (#17643)
* Add initial totalview package.

* Add maintainer and helpful comments/information.

Co-authored-by: sly <sly@lanl.gov>
2020-07-24 16:01:32 -07:00
t-nojiri
de6dfe3707 brltty (package): Add dependency on alsa-lib (#17616) 2020-07-24 15:56:34 -07:00
Jen Herting
148acfefcc py-gensim (package): add version 3.8.3; update dependency constraints (#17641) 2020-07-24 15:47:19 -07:00
Matthieu Dorier
b04f9e6774 MPICH (package): add optional support for argobots (#17678) 2020-07-24 15:42:00 -07:00
Christian Tacke
0e090064c4 singularity: Add version 3.6.1 2020-07-24 15:35:40 -07:00
vvolkl
be06803804 WHIZARD (package): add LCIO dependency, Openloops support (#17658)
* WHIZARD: add versions 2.8.4 and 2.8.3
* New package: LCIO
* WHIZARD: add optional dependency on LCIO
* WHIZARD: add optional dependency on Openloops
* WHIZARD: allow building with either hepmc or hepmc3 dependencies
* Openloops: set process_lib_dir in configure
* Openloops: fix reference to variant
2020-07-24 15:25:57 -07:00
Dennis Klein
0c63c94103 Relax architecture compatibility check (#15972)
* Relax architecture compatibility check
* Add test coverage for the spack.abi module
2020-07-24 10:00:55 -07:00
Andrew W Elble
99c46e8186 py-astropy: force re-cythonization of distributed .pyx files (#17567)
astropy 3.2.1 fails to build with python 3.8.3 with
errors similar to this:

astropy/stats/_stats.c:318:11: error: too many arguments to function 'PyCode_New'
PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)

These are files that are generated by cython, but are included in the
tarball. Since there's apparently been an API change to PyCode_New, they will
need to be re-cythonized to compile correctly.
2020-07-24 17:46:56 +02:00
Andrew W Elble
30d0347825 py-astropy-healpix: new package (#17568) 2020-07-24 17:39:45 +02:00
jdomke
ea50e4036e scorep: add libunwind dependency (#17580) 2020-07-24 17:30:50 +02:00
Adam J. Stewart
f73a3d35a8 spack help --spec: add compiler flags (#17584) 2020-07-24 17:27:43 +02:00
Dmitriy
02f14fd857 Initialize new_specs in Environment.remove() (#17592) 2020-07-24 17:18:40 +02:00
Harmen Stoppels
54bce00d4d Ensure that the stubs directory does not end up in the rpath (#17619) 2020-07-24 17:02:58 +02:00
Jon Rood
d3e4b14997 imagemagick: added dependency on libsm (#17577) 2020-07-24 17:00:25 +02:00
rempke
6bad79fca0 netlib-scalapack: fixed compilation with gcc 10 (#17647) 2020-07-24 16:53:32 +02:00
t-nojiri
13b3578d2f camx: change compile option for aarch64 (#17653) 2020-07-24 16:39:40 +02:00
Adam J. Stewart
08b5b56566 Qhull: add v2019.1 and v2020.1 (#17648)
* Qhull: add v2019.1 and v2020.1
* Fix compilation with Apple Clang
2020-07-24 16:16:53 +02:00
Adam J. Stewart
c1a2d66804 py-matplotlib: fix freetype and qhull dependencies (#17649) 2020-07-24 16:15:50 +02:00
Mark Olesen
c95c183bc4 openfoam: install META-INFO directory (#17673)
Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-07-24 15:32:18 +02:00
Michael Kuhn
ed4b770e1a gcc: added v10.2.0 (#17681) 2020-07-24 15:24:12 +02:00
Federico Ficarelli
b8c3e3e16f hipsycl: switch to renamed default branch (#17689) 2020-07-24 15:19:59 +02:00
Rémi Lacroix
d9c1b62d38 CMake: added v3.18.0. (#17688) 2020-07-24 15:02:08 +02:00
ilbiondo
1aa1ddcd78 Updated elmer-fem recipe (#17687) 2020-07-24 09:47:09 +02:00
Adam J. Stewart
5fed42eae8 NumPy: add v1.19.1 2020-07-23 17:56:48 -07:00
ketsubouchi
1bbf8c0635 libgd (package): update configure to find jpeg dependency (#17655) 2020-07-23 17:55:34 -07:00
ketsubouchi
1fe07891e3 cctools (package): remove fstack-protector-all for Fujitsu compiler (#17656)
The Fujitsu C compiler does not support the "fstack-protector-all" option.
2020-07-23 17:49:37 -07:00
Tamara Dahlgren
a88675ffa9 XBraid (package): Switch to Github URL (#17670) 2020-07-23 17:27:25 -07:00
Gregory Becker
63db5499ee Merge tag 'v0.15.2' into develop 2020-07-23 16:55:22 -07:00
Gregory Becker
d6d839cd3e update changelog for 0.15.2 2020-07-23 16:04:26 -07:00
Gregory Becker
3534717151 bump version number for 0.15.2 2020-07-23 16:04:08 -07:00
Chuck Atkins
547c71ad78 Revert "Add libglvnd packages/Add EGL support (#14572)" (#17682)
This reverts commit 573489db71.
2020-07-23 17:41:48 -04:00
Greg Becker
e289d481ea add tutorial public key to share/spack/keys dir (#17684) 2020-07-23 14:38:26 -07:00
Greg Becker
cdab4bdee0 add tutorial public key to share/spack/keys dir (#17684) 2020-07-23 14:35:25 -07:00
Greg Becker
ed8250e055 cray: detect shasta os properly (#17467)
Fixes #17299

Cray Shasta systems appear to use an unmodified Sles or other Linux operating system on the backend (like Cray "Cluster" systems and unlike Cray "XC40" systems that use CNL).

This updates the CNL version detection to properly note that this is the underlying OS instead of CNL and delegate to LinuxDistro.
2020-07-23 14:01:09 -07:00
robo-wylder
40cd845479 environment-views: fix bug where missing recipe/repo breaks env commands (#17608)
* environment-views: fix bug where missing recipe/repo breaks env commands

When a recipe or a repo has been removed from Spack and an environment
is active, it causes the view activation to crash Spack before any
commands can be executed. Further, the error message it not at all clear
in explaining the issue.

This forces view regeneration to always start from scratch to avoid the
missing package recipes, and defaults add_view=False in main for views activated
by the `spack -e` option.

* add messages to env status and deactivate

Warn users that a view may be corrupt when deactivating an environment
or checking its status while active. Updated message for activate.

* tests for view checking

Co-authored-by: Gregory Becker <becker33@llnl.gov>
2020-07-23 14:00:42 -07:00
Peter Scheibel
3b45241566 Update fetch order to match iteration order of MirrorReference (#17572) 2020-07-23 14:00:14 -07:00
Tamara Dahlgren
d5b0f85ea3 Reduce output verbosity with debug levels (#17546)
* switch from bool to int debug levels

* Added debug options and changed lock logging to use more detailed values

* Limit installer and timestamp PIDs to standard debug output

* Reduced verbosity of fetch/stage/install output, changing most to debug level 1

* Combine lock log methods; change build process install to debug

* Changed binary cache install messages to extraction messages
2020-07-23 13:59:12 -07:00
eugeneswalker
c6241e72a6 bugfix: use getattr for variation.prefix/suffix (#17669) 2020-07-23 13:56:45 -07:00
Todd Gamblin
f528022a7d bugfix: make compiler preferences slightly saner (#17590)
* bugfix: make compiler preferences slightly saner

This fixes two issues with the way we currently select compilers.

If multiple compilers have the same "id" (os/arch/compiler/version), we
currently prefer them by picking this one with the most supported
languages.  This can have some surprising effects:

* If you have no `gfortran` but you have `gfortran-8`, you can detect
  `clang` that has no configured C compiler -- just `f77` and `f90`. This
  happens frequently on macOS with homebrew. The bug is due to some
  kludginess about the way we detect mixed `clang`/`gfortran`.

* We can prefer suffixed versions of compilers to non-suffixed versions,
  which means we may select `clang-gpu` over `clang` at LLNL. But,
  `clang-gpu` is not actually clang, and it can break builds. We should
  prefer `clang` if it's available.

- [x] prefer compilers that have C compilers and prefer no name variation
  to variation.

* tests: add test for which()
2020-07-23 13:56:18 -07:00
Harmen Stoppels
665a47607e ci pipelines: activate environment without view (#17440) 2020-07-23 13:55:46 -07:00
Todd Gamblin
12958497dc bugfix: ignore Apple's "gcc" by default (#17589)
Apple's gcc is really clang. We previously ignored it by default but
there was a regression in #17110.

Originally we checked for all clang versions with this, but I know of
none other than `gcc` on macos that actually do this, so limiting to
`apple-clang` should be ok.

- [x] Fix check for `apple-clang` in `gcc.py` to use version detection
  from `spack.compilers.apple_clang`
2020-07-23 13:55:11 -07:00
Scott Wittenburg
3a8bc7ffc6 buildcache: list all mirrors even if one fails 2020-07-23 13:54:36 -07:00
Scott Wittenburg
9cbe358f84 Bugfix/install missing compiler from buildcache (#17536)
Ensure compilers installed from buildcache are registered.
2020-07-23 13:53:46 -07:00
Scott Wittenburg
27af499b52 adept-utils: 1.0.1 does not build w/ boost 1.73.0 or newer (#17560) 2020-07-23 13:52:37 -07:00
Harmen Stoppels
24dff9cf20 Fix security issue in CI (#17545)
The `spack-build-env.txt` file may contains many secrets, but the obvious one is the private signing key in `SPACK_SIGNING_KEY`. This file is nonetheless uploaded as a build artifact to gitlab. For anyone running CI on a public version of Gitlab this is a major security problem. Even for private Gitlab instances it can be very problematic.

Co-authored-by: Scott Wittenburg <scott.wittenburg@kitware.com>
2020-07-23 13:52:09 -07:00
Dr Owain Kenway
e4265d3135 llvm-flang: Only build offload code if cuda enabled (#17466)
* llvm-flang Only build offload code if cuda enabled

The current version executes `cmake(*args)` always as part of the post install.  If device offload is not part of the build, this results in referencing `args` without it being set and the error:

```
==> Error: UnboundLocalError: local variable 'args' referenced before assignment

```

Looking at prevoous version of `llvm-package.py` this whole routine appears to be only required for offload, some indent `cmake/make/install` to be under the `if`.

* Update package.py

Add comment
2020-07-23 13:51:35 -07:00
Sajid Ali
5e5cc99147 clear mpicc and friends before each build (#17450)
* clear mpi env vars
2020-07-23 13:48:47 -07:00
Greg Becker
44bc176d08 cray: detect shasta os properly (#17467)
Fixes #17299

Cray Shasta systems appear to use an unmodified Sles or other Linux operating system on the backend (like Cray "Cluster" systems and unlike Cray "XC40" systems that use CNL).

This updates the CNL version detection to properly note that this is the underlying OS instead of CNL and delegate to LinuxDistro.
2020-07-23 13:20:03 -07:00
robo-wylder
3c145b42bc environment-views: fix bug where missing recipe/repo breaks env commands (#17608)
* environment-views: fix bug where missing recipe/repo breaks env commands

When a recipe or a repo has been removed from Spack and an environment
is active, it causes the view activation to crash Spack before any
commands can be executed. Further, the error message it not at all clear
in explaining the issue.

This forces view regeneration to always start from scratch to avoid the
missing package recipes, and defaults add_view=False in main for views activated
by the `spack -e` option.

* add messages to env status and deactivate

Warn users that a view may be corrupt when deactivating an environment
or checking its status while active. Updated message for activate.

* tests for view checking

Co-authored-by: Gregory Becker <becker33@llnl.gov>
2020-07-23 11:00:58 -07:00
Peter Scheibel
ae82650174 Update fetch order to match iteration order of MirrorReference (#17572) 2020-07-23 10:58:59 -07:00
Greg Becker
e8aa737b09 util.executable.which: handle path separators like /bin/which (#17668)
* util.executable.which: handle path separators like /bin/which

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-07-23 10:54:25 -07:00
ilbiondo
f42394daf5 csa-c: added new package at master (#17676)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-07-23 17:07:48 +02:00
ilbiondo
10dacc2588 nn-c: added new package at v1.86.2 (#17675)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-07-23 17:06:35 +02:00
ilbiondo
5067b956f4 Shapeit4: added new package at v4.1.3 (#17674) 2020-07-23 13:22:58 +02:00
Tamara Dahlgren
605c1a76e0 Reduce output verbosity with debug levels (#17546)
* switch from bool to int debug levels

* Added debug options and changed lock logging to use more detailed values

* Limit installer and timestamp PIDs to standard debug output

* Reduced verbosity of fetch/stage/install output, changing most to debug level 1

* Combine lock log methods; change build process install to debug

* Changed binary cache install messages to extraction messages
2020-07-23 00:49:57 -07:00
Nick Robison
39cfa9630c [M4] Add missing compiler flag on Cray Compiler (#17604)
* [M4] Add missing compiler flag on Cray Compiler

The new version of the Cray Compiler are based on Clang, which means we
need to add the same LDFLAG as other clang environments.
2020-07-22 23:55:03 -07:00
Adam J. Stewart
4b33558707 Cython: add v0.29.21 (#17650) 2020-07-22 18:36:55 -07:00
Jen Herting
48e8072b26 New Package: py-boto (#17639)
Added py-boto package
2020-07-22 17:52:36 -07:00
Frédéric Simonis
37fa6fe343 precice: Add version 2.1.0 (#17644) 2020-07-22 16:49:36 -07:00
eugeneswalker
f1eec05d0e bugfix: use getattr for variation.prefix/suffix (#17669) 2020-07-22 16:15:25 -07:00
Mark W. Krentel
4c7e52adaa hpctoolkit: add version 2020.07.21 (#17645) 2020-07-22 13:53:41 -07:00
Ben Bergen
4ca6d1f0f7 Added variant to enable Legion SPY logging. (#17637) 2020-07-22 11:41:20 -06:00
Hadrien G
b8135bd205 [acts] Add version 0.28.0 (#17622)
Add acts v0.28.0
2020-07-22 09:14:51 -07:00
Justin S
dedadcd2ea hisat2 (package): add version 2.2.0, update homepage (#17600) 2020-07-21 19:29:18 -07:00
Adam J. Stewart
983aeea850 New packages: py-azure-cli and dependencies (#17585) 2020-07-21 19:21:29 -07:00
Todd Gamblin
0c44a9a504 bugfix: make compiler preferences slightly saner (#17590)
* bugfix: make compiler preferences slightly saner

This fixes two issues with the way we currently select compilers.

If multiple compilers have the same "id" (os/arch/compiler/version), we
currently prefer them by picking this one with the most supported
languages.  This can have some surprising effects:

* If you have no `gfortran` but you have `gfortran-8`, you can detect
  `clang` that has no configured C compiler -- just `f77` and `f90`. This
  happens frequently on macOS with homebrew. The bug is due to some
  kludginess about the way we detect mixed `clang`/`gfortran`.

* We can prefer suffixed versions of compilers to non-suffixed versions,
  which means we may select `clang-gpu` over `clang` at LLNL. But,
  `clang-gpu` is not actually clang, and it can break builds. We should
  prefer `clang` if it's available.

- [x] prefer compilers that have C compilers and prefer no name variation
  to variation.

* tests: add test for which()
2020-07-21 18:48:37 -07:00
Hadrien G
b81339cf80 [acts] Add 0.27.x series (#17621)
Add acts v0.27 and v0.27.1
2020-07-21 10:56:18 -07:00
Harmen Stoppels
6c69b8a4d4 ci pipelines: activate environment without view (#17440) 2020-07-21 10:15:43 -07:00
Tiziano Müller
ec1237479e cp2k: make libint optional (#17618) 2020-07-21 09:13:59 -07:00
t-nojiri
40e2a41477 aegean (package): remove -m64 on aarch64 (#17615) 2020-07-20 23:57:09 -07:00
Hadrien G
f168d63586 acts: added v0.26 (#17602) 2020-07-21 08:37:21 +02:00
Nick Robison
78a84efb4b flatbuffers: added v0.12.0 (#17603) 2020-07-21 08:30:44 +02:00
Seth R. Johnson
c6891376f4 qt4: add missing libSM dependency (#17611)
See https://github.com/spack/spack/issues/15082 and
https://github.com/spack/spack/pull/16226
2020-07-21 08:12:36 +02:00
Mark W. Krentel
83b281f36b hpcviewer, ibm-java: new versions (#17612)
Add hpcviewer version 2020.07 and ibm-java 8.0.6.11.
2020-07-21 08:09:53 +02:00
Tamara Dahlgren
86ec698a33 Bugfix: Do not raise InstallError for ascent_ver (#17578) 2020-07-20 18:32:56 -07:00
Todd Gamblin
897e80e596 bugfix: ignore Apple's "gcc" by default (#17589)
Apple's gcc is really clang. We previously ignored it by default but
there was a regression in #17110.

Originally we checked for all clang versions with this, but I know of
none other than `gcc` on macos that actually do this, so limiting to
`apple-clang` should be ok.

- [x] Fix check for `apple-clang` in `gcc.py` to use version detection
  from `spack.compilers.apple_clang`
2020-07-20 18:24:18 -07:00
Massimiliano Culpo
ab32799b52 Fix MacOS build tests (#17542)
* MacOS build tests

- Run on PR that modify the YAML file of the workflow
- Don't clone Spack, since we are in the Spack repo now

* Try to add opengl to configuration to build jupyter

* fixup
2020-07-20 17:25:42 -07:00
Dr. Christian Tacke
bd236918dd Configuration: allow usage of command-line scopes with environments (#14608)
Spack did not support usage of the `--config-scope` option in
combination with an environment: In `lib/spack/spack/main.py`,
`spack.config.command_line_scopes` is set equal to any config scopes
passed by the `--config-scope` option. However, this is done after
activating an environment. In the process of activating an environment,
the `spack.config.config` singleton is instantiated, so later setting of
`spack.config.command_line_scopes` is ignored.

This commit sets command line scopes before activating an environment to
ensure that they are included in the configuration.

Co-authored-by: Tim Fuller <tjfulle@sandia.gov>
2020-07-20 13:58:06 -07:00
Justin S
3949a85f9a py-dp-gp-cluster: new package at 2019-09-22 (#17549)
* py-dp-gp-cluster: new package

* py-dp-gp-cluster: remove master, add 2019-09-22

* py-dp-gp-cluster: require python2, older gpy, sklearn

* py-dp-gp-cluster: remove cython runtime dep
2020-07-20 10:48:17 -05:00
Cyrus Harrison
bab1852340 update ascent package with recent ver dep logic, and dray support (#17502)
* update ascent package with recent ver dep logic, and dray support

* update pmt name, make babelflow logic dep on mpi
2020-07-18 08:53:48 -05:00
Jon Rood
ef814b7a32 Add texlive 2020 version (#17559)
* Add new versions of texlive and poppler.

* Add new versions of harfbuzz which also relocated source location to github.

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

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

* Restore deleted url line in harfbuzz.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-18 08:49:32 -05:00
eugeneswalker
96fa6f0c1b allow GNUPGHOME to come from SPACK_GNUPGHOME in env, if set (#17139) 2020-07-17 13:29:30 -07:00
Amjad Kotobi
e4ba1c1daf r-devtools: add version 2.3.0; update dependencies (#17408) 2020-07-17 12:11:29 -07:00
Fabien Bruneval
bbbf0466dc libint (package): add tuning options for MOLGW (#17329) 2020-07-17 12:10:05 -07:00
Cyrus Harrison
dc18b3e3d4 New package: parallelmergetree (#17501) 2020-07-17 12:03:11 -07:00
Scott Wittenburg
b5f82696e2 Bugfix/install missing compiler from buildcache (#17536)
Ensure compilers installed from buildcache are registered.
2020-07-17 11:13:36 -07:00
Adam J. Stewart
a5aa150a98 py-matplotlib: add v3.3.0 2020-07-17 11:05:41 -07:00
Scott Wittenburg
ae03782032 buildcache: list all mirrors even if one fails 2020-07-17 10:04:05 -06:00
Amjad Kotobi
c729c6b93c subversion: added v1.14.0 amd v1.13.0, added new url (#17519) 2020-07-17 16:33:46 +02:00
Cyrus Harrison
324c383d8e add devil ray package (#17495)
* add dray with mid-review changes

* remove env import since its impliclity included
2020-07-16 19:51:41 -07:00
Francesco Di Natale
35b7a69456 Updates to maestrowf package (#17470)
* Addition of Chainmap to satisfy Maestro dependency.

* Additional versions and dependencies for Maestro.

* Updated URL to point to pypi.

* Updates to chainmap hashes.

* Updates to pull version from PyPi.

* Corrections to flake8 errors.

* Stricter restrictions on Python versioning.

Maestro actually supports Python 3.5 and later.

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

* Only install chainmap for Python2 versions.

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

* Removal of setuptools python cond.

* Removal of version constaints on setuptools.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-16 19:38:45 -05:00
Kelly (KT) Thompson
d69c32d7ef Version 1.13.2 still needs the XL patch. (#17561) 2020-07-16 19:35:33 -05:00
Scott Wittenburg
27aaff3dc2 adept-utils: 1.0.1 does not build w/ boost 1.73.0 or newer (#17560) 2020-07-16 19:34:47 -05:00
Seth R. Johnson
fc8847cf4e Mark old icu4c as conflicting (#17562)
GCC 4.8.5 on rhel6:
```
utext.cpp:572:5: error: 'max_align_t' in namespace 'std' does not name a
type
     std::max_align_t    extension;
     ^
utext.cpp: In function 'UText* utext_setup_67(UText*, int32_t,
UErrorCode*)':
utext.cpp:587:73: error: 'max_align_t' is not a member of 'std'
             spaceRequired = sizeof(ExtendedUText) + extraSpace -
sizeof(std::max_align_t);
                                                                         ^
utext.cpp:587:73: note: suggested alternative:
In file included from
/projects/spack/opt/spack/gcc-4.4.7/gcc/6ln2t7b/include/c++/4.8.5/cstddef:42:0,
                 from utext.cpp:19:
/projects/spack/opt/spack/gcc-4.4.7/gcc/6ln2t7b/lib/gcc/x86_64-unknown-linux-gnu/4.8.5/include/stddef.h:
425:3: note:   'max_align_t'
 } max_align_t;
   ^
utext.cpp:598:57: error: 'struct ExtendedUText' has no member named
'extension'
                 ut->pExtra    = &((ExtendedUText *)ut)->extension;
                                                         ^
   g++   ...  loadednormalizer2impl.cpp
   g++   ...  chariter.cpp
```
2020-07-16 19:34:02 -05:00
Harmen Stoppels
1fcc00df96 Fix security issue in CI (#17545)
The `spack-build-env.txt` file may contains many secrets, but the obvious one is the private signing key in `SPACK_SIGNING_KEY`. This file is nonetheless uploaded as a build artifact to gitlab. For anyone running CI on a public version of Gitlab this is a major security problem. Even for private Gitlab instances it can be very problematic.

Co-authored-by: Scott Wittenburg <scott.wittenburg@kitware.com>
2020-07-16 17:27:37 -07:00
Jon Rood
697c2183d3 Add new dependencies required in latest rsync. (#17558) 2020-07-16 19:25:22 -05:00
Nichols A. Romero
b320be70cb PySCF new package (#17474)
* Initial version of PySCF.

* Add master branch to xcfun library

* PySCF only compatible with specific commit of xcfun library

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

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

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

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

* Revert "PySCF only compatible with specific commit of xcfun library"

This reverts commit 8296005400.

* Revert "Add master branch to xcfun library"

This reverts commit f2b6998931.

* Issues conflict for xcfun library version rather than relying on a random commit.

* Add version xcfun 2.0.0a2 which is needed by PySCF.

* Remove xcfun conflict and express dependency more explictly. Add comment as to why this is necessary.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-16 15:58:52 -05:00
downloadico
3f24188d19 Abinit+wannier90 fix (#17417)
* wannier90: add versions 3.0.0 and 3.1.0 and 'shared variant'

Added versions 3.0.0 and 3.1.0

Added shared variant

Added url_for_version function as versions less than 3 are from the
wannier.org site and versions 3 and up are from github.com

Added the MPI libraries to the list of libs substituted into the make.sys file
in place of @LIBS

Made it possible to build a shared object version of the library for versions
< 3 by filtering the src/Makefile.2 file (based off of the patch from a src rpm
from RHEL for version 2.0.1)

Create a modules directory in the install prefix root directory and copy the
Fortran .mod files there.

Set the MPIFC variable to the Spack Fortran MPI compiler wrapper.

* abinit: added 'wannier90' variant  which enables building abinit with wannier90

Added wannier90 variant

Made abinit depend on the shared object ('shared') variant of
wannier90 if the wannier90 variant is selected

Add configure args for wannier90 libs, includes, and binaries and to
set MPIFC

set the dft-flavor to wannier90 when wannier90 is enabled and only
set the dft flavor to 'atompaw+libxc' if wannier90 is not selected

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

Co-authored-by: Greg Becker <becker33@llnl.gov>

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

Co-authored-by: Greg Becker <becker33@llnl.gov>

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

Co-authored-by: Greg Becker <becker33@llnl.gov>

* incorporated bbecker's suggestion for making the strings less ugly!

* incorporated bbecker's suggestion to fix the logic for picking which
"DFT flavor" configure argument.
If the wannier variant is enabled, it passes --with-dft-flavor=wannier90
to configure, otherwise it passes --with-dft-flavor=atompaw+libxc to configure

* Changed to using plain strings

* Fixed version tests

* incorporated @adamjstewart's fix for testing if the major version is > 2

* incorporated @adamjstewart's fix to check if mpi is enabled and
only set the MPIFC variable if it is.

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

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

* Only set MPIFC if '+mpi' is set

* incorporated fixes from @adamjstewart including:
	- using the string=True argument to filter_file (and removed the unneeded
 	  escapes)
	- changing the url to the github location
	- fixing the version checks
	- building a libwannier.dylib on darwin

* incorporated fixes suggested by @adamjstewart including:
	- using the string=True argument to filter_file and cleaned up the escapes
	- only pass the MPIFC argument to configure when '+mpi' is set
	- chaned the url to the github site for Wannier090
	- fixed the version checks
	- build a 'libwannier.dylib' file when building the shared variant on darwin

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

Co-authored-by: Greg Becker <becker33@llnl.gov>

* moved a configure argument from it's own '+mpi' check to under the lower one

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

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

* Cleaned up syntax as suggested by @adamjstewart
It looks *so much better* now!  Thanks!

* removed unneeded import of 'find' from 'llnl.util.filesystem' package
as suggested by @adamjstewart

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

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

* incorporated changes from @adamjstewart
changed check to "if '@:2 +shared' in spec:" instead of a nested check of '@:2' and
'+shared'
removed unneeded joins used in filter_file and spliced the list of objs directly into
the filter_file call
used the dso_suffix instead of testing for darwin to determine the name of the
shared library

* removed whitespace from blank line

* fixed bug with '../../wannier90.x: .*' not being treated as a regexp.  Thanks Adam!

* fixed missing whitespace when modifying Makefile.2

Co-authored-by: Greg Becker <becker33@llnl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-16 15:57:42 -05:00
Harmen Stoppels
3449087284 Make the largest layer of the docker image cacheable (#17553) 2020-07-16 13:15:04 -04:00
Themos Tsikas
8e9f4d0078 Update for Build 7020 of nagfor compiler (#17555) 2020-07-16 10:39:06 -05:00
darmac
d7794540b2 Add new package: hibench (#17552) 2020-07-16 08:47:33 -05:00
iarspider
ae44b1d7b9 New package: openloops (#17520)
* New package: OpenLoops

* install() for openloops

* Working OpenLoops recipe

* Flake-8

* Only copy collection file if required; add clarification to num_jobs

* Add __future__ import just in case

* Fix missing space

* Remove __future__ import

* Changes from review, pt. 1

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

* Replace print() with write()

* Flake-8

Co-authored-by: iarspider <iarpsider@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-16 08:33:23 -05:00
Tom Payerle
df12b2bd15 kallisto: remove mpich dependency (#17551)
kallisto does not depend on mpich or MPI, except possibly indirectly
through hdf5 (but that should be handled by hdf5).
2020-07-16 08:28:50 +02:00
darmac
148a6a8860 Add new package: prometheus (#17541) 2020-07-15 21:56:14 -05:00
darmac
efba3731e5 storm: update url, version & runtime depends (#17523)
* storm: update url, version & runtime depends

* fix list_url error
2020-07-15 21:39:03 -05:00
fcannini
6eb332a984 vasp: New package. (#15187)
* vasp: New package.

* Remove unneeded `#noqa`

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

* Removed a completely needless tty.debug()

* Add compiler conflicts() and minute fixes

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-15 21:33:53 -05:00
Cyrus Harrison
d0a83f318b add apcomp package (#17494)
* add apcomp package

* add maintainers

* fake8

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

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

* review suggestions

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-15 21:31:58 -05:00
Rémi Lacroix
0f67b97065 Update icu4c package (#17461)
* icu4c: Add new versions for older releases.

The old URLs for versions 60.1, 58.2 and 57.1 do not work anymore so add the versions available on Github.

The old versions are kept for reference (cf. #15896).

* icu4c: Add versions 66.1 and 67.1.

* icu4c: Fix compilation of versions 58 and 59 with recent glibc.
2020-07-15 18:57:19 -05:00
kolamsrinivas
d2c2e000a7 changes to py-torch recipe to enable rocm build (#17410)
* changes to recipe to enable rocm build

* fixing flake8 issue

* addressed the review comment
2020-07-15 18:45:22 -05:00
Julius-Plehn
4ac1a532f3 Adds new R package: GSODR (#17529)
* R GSODR package

* use cloud mirror
2020-07-15 12:05:39 -05:00
vvolkl
f42dc4fa4d [root] fix cmake args for r variant (#17487)
* [root] fix cmake args for r variant

* [root] add readline dependency to +r
2020-07-15 12:04:05 -05:00
Paul
d25c7ddd6f spack containerize: added --fail-fast argument to containerize install. (#17533) 2020-07-15 11:13:04 +02:00
Paul
48a9ad3652 Go: added v1.14.5 and v1.13.13. (#17539) 2020-07-15 09:31:49 +02:00
Cyrus Harrison
d55541919d visit package update, add glu as a linux dep (#17537)
* visit: add glu as a dep for linux

* add note to suggested install command about mesa
2020-07-15 00:01:05 -07:00
Dr. Christian Tacke
0d4740d1b1 curl: add dependency on libidn2 (#17526)
If the system has libidn2 installed, then curl will use it.
spack has a libidn2 package, so let's use that!

Related: #16514
2020-07-15 08:43:38 +02:00
yellowhat
d56711f799 namd: added v2.14b2 (#17395)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-15 08:04:39 +02:00
ketsubouchi
99a47e407e cantera: better specify dependency on sundials (#17540) 2020-07-15 07:53:36 +02:00
Julius-Plehn
7efb0e541e New Package: GrADS (#17476)
* grads minimal package

* udpt template

* grads minima

* grads & shapelib package

* hdf4

* cleanup

* hdf5, netcdf variants

* updates environment function

* updating paths and pkgconfig

* cleanup
2020-07-14 22:30:39 -05:00
Hadrien G
7340be98f6 [acts] Add 0.25.x series (#17485)
* Add Acts v0.25 support

* Add Acts v0.25.1

* Add acts v0.25.2
2020-07-14 22:23:07 -05:00
vvolkl
c281eaf69f [acts] remove false dependency (#17511) 2020-07-14 22:07:39 -05:00
Amjad Kotobi
2110b98829 r-glue: new version (#17517) 2020-07-14 21:56:05 -05:00
darmac
88537d02e4 gpdb: fix runtime issue (#17521) 2020-07-14 21:47:29 -05:00
Jon Rood
a2729fcd7f zsh (package): add versions; switch to .xz archives (#17489)
* Add new versions including 5.8
* Download .xz archives for existing versions (this requires updating
  the associated checksums)
2020-07-14 19:47:03 -07:00
darmac
bcd41cec71 Add new package: minio (#17522) 2020-07-14 21:45:47 -05:00
Cyrus Harrison
6f6e896795 New package: babelflow (#17500) 2020-07-14 19:42:38 -07:00
darmac
28a25080ca py-lockfile: depends on py-pbr by setup.py (#17524) 2020-07-14 21:34:59 -05:00
ketsubouchi
14f3f230c1 scons: support Fujitsu Fortran moddir option (#17538) 2020-07-14 21:24:18 -05:00
Jon Rood
d32bbae431 rsync (package): add version 3.2.2 (#17504) 2020-07-14 16:41:11 -07:00
Frank Willmore
710ff8d7ce libyogrt (package): add variant to enable static builds (#17535) 2020-07-14 16:36:18 -07:00
Jon Rood
683881f912 py-protobuf (package): add version 3.12.2 (#17532)
This matches the current latest version of protobuf in Spack.
Generally the version of py-protobuf and protobuf should match,
but this constraint is not currently recorded in py-protobuf.
2020-07-14 16:31:15 -07:00
vvolkl
11d8aed6cd dd4hep (package): add version 1.13.0 (#17528) 2020-07-14 16:24:33 -07:00
Andrey Prokopenko
ab68410c4c Trilinos (package): remove maintainer (#17534) 2020-07-14 16:23:19 -07:00
darmac
fa614404e6 smartdenovo: added patch to fix compile error (debian) (#17435) 2020-07-14 13:02:31 +02:00
Axel Huebl
a6abd530bd CUDA 11.0.2 (#17423)
- [x] wait for general release candidate
- [x] compute capability support
- [x] compiler conflicts
  - [x] ppc64le
- [x] new download links
2020-07-13 18:32:28 -05:00
Harmen Stoppels
2b809a5374 Add -o flag to tar decompressor (#17427)
For normal users, `-o` or `--no-same-owner` (GNU extension) is
the default behavior, but for the root user, `tar` attempts to preserve
the ownership from the tarball.

This makes `tar` use `-o` all the time.  This should improve untarring
files owned by users not available in rootless Docker builds.
2020-07-13 15:19:04 -07:00
Cyrus Harrison
3e13137f6e add share libs variant to raja (#17496) 2020-07-13 14:57:25 -07:00
Cyrus Harrison
6aa6e19d34 add shared libs variant to umpire (#17497) 2020-07-13 14:57:04 -07:00
Cyrus Harrison
c2d8d8acbd update vtk-m with pinned version for ascent and related packages (#17498)
* add ascent_ver to vtk-m pkg

* vtk-m:: add patches used by ascent
2020-07-13 14:56:45 -07:00
Cyrus Harrison
299dcdd3eb update vtk-h package with new version and options (#17499) 2020-07-13 14:55:38 -07:00
Jon Rood
e0f13b298d tmux (package): add version 3.1b (#17486) 2020-07-13 13:56:33 -07:00
Jon Rood
d2ac26f844 gdb (package): add version 9.2 (#17490) 2020-07-13 13:46:27 -07:00
Jon Rood
fae57d1422 cppcheck (package): add version 2.1 (#17491) 2020-07-13 13:45:37 -07:00
Jon Rood
c84a05b809 bison (package): add versions including 3.6.4 and 3.5.3 (#17492) 2020-07-13 13:44:37 -07:00
Jon Rood
05e8918076 curl (package): add version 7.71.0 (#17493) 2020-07-13 13:42:42 -07:00
Jon Rood
929cb9e62e vim (package): add version 8.2.1201 (#17503) 2020-07-13 13:31:37 -07:00
Jon Rood
7d1f2abd56 screen (package): add version 4.8.0 (#17505) 2020-07-13 13:28:58 -07:00
Jon Rood
ab5f28aceb stow (package): add version 2.3.1 (#17506) 2020-07-13 13:28:18 -07:00
Jon Rood
4450377794 gnutls: add version 3.6.14 (#17507) 2020-07-13 13:27:28 -07:00
Jon Rood
45eaa442c3 Global (package): add version 6.6.4 (#17508) 2020-07-13 13:26:39 -07:00
darmac
4fa519134f bwa: support for aarch64 (#17473)
* bwa: support for aarch64

* bwa: fix build error for non-aarch64 machine
2020-07-13 10:52:23 -05:00
Rémi Lacroix
815f62ce0c Update gdk-pixbuf package. (#17458)
* gdk-pixbuf: Add new stable versions.

* gdk-pixbuf: Add a missing dependency with libx11.

Also add a variant disabled by default to make it optional since it is considered deprecated
(cf. 3362e94c25).
2020-07-13 10:49:17 -05:00
Mark Olesen
b3b5ea4064 updated sha256 for openfoam-1806 patch (#17483)
- perhaps related to gitlab migration and/or upgrade (Dec 2019)

Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2020-07-13 10:47:06 -05:00
Omar Padron
573489db71 Add libglvnd packages/Add EGL support (#14572)
* add new package: "libglvnd-frontend"

* add +glvnd variant to opengl package

* add +glvnd variant to mesa package

* add +egl variant to paraview package

* add libglvnd-frontend entries to default packages config

* fix style

* add default providers for glvnd virtuals

add default providers for glvnd-gl, glvnd-glx, and glvnd-egl

* WIP: rough start to external OpenGL documentation

* rename libglvnd-frontend package and backend virtual dependencies

* update documentation

* fix ligvnd-be-* typos

* fix libglvnd-fe package class name

* fix doc parse error
2020-07-13 11:32:36 -04:00
darmac
9c42f246ed Add new package: atf (#17472) 2020-07-12 21:32:02 -05:00
Jannek Squar
dbdd2cb92f Magics fix and update (#17477)
* Added new versions to magics and began to set not-so-optional netcdf dependency

* Added enforced netcdf dependency

* Fix also works for version 4.1.0
2020-07-12 21:20:12 -05:00
Greg Becker
406596af70 update docs on point releases (#17463) 2020-07-11 14:35:25 -07:00
darmac
73f02b10de lmbench: fix scripts path for aarch64 (#17456) 2020-07-11 12:53:53 -05:00
Dr Owain Kenway
9629f571bc llvm-flang: Only build offload code if cuda enabled (#17466)
* llvm-flang Only build offload code if cuda enabled

The current version executes `cmake(*args)` always as part of the post install.  If device offload is not part of the build, this results in referencing `args` without it being set and the error:

```
==> Error: UnboundLocalError: local variable 'args' referenced before assignment

```

Looking at prevoous version of `llvm-package.py` this whole routine appears to be only required for offload, some indent `cmake/make/install` to be under the `if`.

* Update package.py

Add comment
2020-07-11 09:02:53 -05:00
Peter Josef Scheibel
5e50dc5acb Merge branch 'releases/v0.15' into develop 2020-07-10 23:14:36 -07:00
Jen Herting
59bfc22d40 [glew] depends on libsm and libice (#17428)
* [glew] depends on libsm

* [glew] depends on libice
2020-07-10 19:32:26 -05:00
Justin S
1a8a147fe5 energyplus: add 9.3.0 (#17452)
* energyplus: add 9.3.0

* energyplus: fix version order

* energyplus: more concise links

* energyplus: avoid join_path
2020-07-10 19:23:04 -05:00
figroc
0612a9e8e9 tensorflow-serving-client: add new version 2.2.0 (#17462) 2020-07-10 19:10:04 -05:00
Greg Becker
f2889e698a spack install: improve error message with no args (#17454)
The error message was not updated when the behavior of Spack environments
was changed to not automatically activate the local environment in #17258.
The previous error message no longer makes sense.
2020-07-10 10:45:11 -07:00
Rémi Lacroix
ea546425e8 Update the bbcp package (#17436)
* bbcp: Update the URLs to use HTTPS.

The HTTP URLs do not work anymore.

* bbcp: Add missing libnsl dependency.

* bbcp: Rename the git-based version to match the branch name.

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-10 08:27:07 -05:00
ketsubouchi
7269a5bf51 py-pysam: add LDFLAGS to curl (#17434)
* py-pysam: add LDFLAGS to curl

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-10 08:26:21 -05:00
figroc
00d7e817c6 grpc: add versions 1.28/1.29/1.30 (#17433) 2020-07-10 08:25:47 -05:00
iarspider
ed7d485b58 New packages: thepeg, herwig++ (2.x) (#17443)
* New packages: Rivet, Herwig++ 2

* Add patches for thepeg

* Flake-8

* Update package.py

* Delete thepeg-2.1.6.patch

* Delete thepeg-2.1.5.patch

* Delete thepeg-2.1.3.patch

* Delete thepeg-2.2.0.patch
2020-07-10 08:25:21 -05:00
iarspider
38d387c9a5 New packages: looptools + vbfnlo (#17446)
* New package: vbfnlo

* Add new package: vbfnlo

* Add recipe for looptools

* Add patch for looptools

* LoopTools: patch not needed (fixed by developers without changing version)

* Remove patch file as well

* Update package.py

* Update package.py

* Fix vbfnlo recipe for old version

Co-authored-by: iarspider <iarpsider@gmail.com>
2020-07-10 08:24:14 -05:00
Julius-Plehn
02dd90ebf9 New Package: ChaNGa (#17442)
* WIP: changa package

* changa cleanup

* flake8 format

* adds master branch to ChaNGa

* positional arguments

* use install instead of copy
2020-07-10 08:22:20 -05:00
Patrick Gartung
e72e2568dd Relocation of sbang needs to be done when the spack prefix changes even if the install tree has not changed. (#17455) 2020-07-09 22:28:51 -05:00
Rémi Lacroix
d9923a05e0 ltrace: Disable "-Werror". (#17444)
Some functions used by ltrace have been deprecated in recent versions of glibc.
2020-07-09 22:27:30 -05:00
Rémi Lacroix
8c6fa66b2a openslide: Add missing dependencies. (#17445) 2020-07-09 22:26:37 -05:00
Harmen Stoppels
84eae97f91 aspirin for buildaches (#17437) 2020-07-09 22:00:38 -05:00
Sajid Ali
12099ed55e clear mpicc and friends before each build (#17450)
* clear mpi env vars
2020-07-09 16:14:49 -05:00
Greg Becker
d0f5b69a19 installation: skip repository metadata for externals (#16954)
When Spack installs a package, it stores repository package.py files
for it and all of its dependencies - any package with a Spack metadata
directory in its installation prefix.

It turns out this was too broad: this ends up including external
packages installed by Spack (e.g. installed by another Spack instance).
Currently Spack doesn't store the namespace properly for such packages,
so even though the package file could be fetched from the external,
Spack is unable to locate it.

This commit avoids the issue by skipping any attempt to locate and copy
from the package repository of externals, regardless of whether they
have a Spack repo directory.
2020-07-09 11:08:51 -07:00
Peter Scheibel
ce9d30f80f add public spack mirror (#17077) 2020-07-08 15:59:24 -07:00
Sinan
e02d955aed new package: ligra (#17425)
* new package: ligra

* setup run environment

* tidy up

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

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

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

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

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

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

* flake8

Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-08 16:30:53 -05:00
Frank Willmore
b3fff20d1f enable flatcc to be built with gcc@9.X.X (#17430)
`gcc` 9 and above have more warnings that break the `flatcc` build by default, because `-Werror` is enabled.  This loosens the build up so that we can build with more compilers in Spack.

- [x] Add `-DFLATCC_ALLOW_WERROR=OFF` to `flatcc` CMake arguments

Co-authored-by: Frank Willmore <willmore@anl.gov>
2020-07-08 13:57:09 -07:00
Patrick Gartung
8c41173678 Buildcache: bindist test without invoking spack compiler wrappers. (#15687)
* Buildcache:
   * Try mocking an install of quux, corge and garply using prebuilt binaries
   * Put patchelf install after ccache restore
   * Add script to install patchelf from source so it can be used on Ubuntu:Trusty which does not have a patchelf pat package. The script will skip building on macOS
   * Remove mirror at end of bindist test
   * Add patchelf to Ubuntu build env
   * Revert mock patchelf package to allow other tests to run.
   * Remove depends_on('patchelf', type='build') relying instead on
   * Test fixture to ensure patchelf is available.

* Call g++ command to build libraries directly during test build

* Flake8

* Install patchelf in before_install stage using apt unless on Trusty where a build is done.

* Add some symbolic links between packages

* Flake8

* Flake8:

* Update mock packages to write their own source files

* Create the stage because spec search does not create it any longer

* updates after change of list command arguments

* cleanup after merge

* flake8
2020-07-08 15:05:58 -05:00
iarspider
0bed621d0c Add missing file (#17426)
Co-authored-by: Ivan Razumov <ivan.razumov@cern.ch>
2020-07-08 10:50:47 -05:00
Amjad Kotobi
1d2754c3f6 r-usethis: new version and dependencies (#17411)
* r-usethis: new version and dependencies

* r-usethis: fix in dependency
2020-07-08 08:44:47 -05:00
tcojean
ae2a867a7f Ginkgo: new versions (#17413)
* Add new Ginkgo versions with HIP support.

* Drop HIP support until more ROCm packages are integrated.
2020-07-08 08:42:56 -05:00
Adam J. Stewart
207e496162 spack create: ask how many to download (#17373) 2020-07-08 09:38:42 +02:00
ketsubouchi
f0391db096 typhon: fix build with Fujitsu compilers (#17424) 2020-07-08 09:28:41 +02:00
TZ
084994db9c ncl: fix compilation errors with Intel compilers (#17391)
The Intel compilers are more strict and require special command
line options (like -std=c99) to properly compile NCL.
2020-07-08 08:42:49 +02:00
Simon Byrne
f85da868ac Improve Travis sample in the docs (#17420)
- printf is better than echo for multiline strings
- ** should be &&
- use line continuation
- Use multiline block
2020-07-08 07:25:37 +02:00
iarspider
f1f31e3dfe Fix YODA and Rivet recipes (#17412)
* Fix Rivet recipe; restrict Yoda versions for a give Rivet version

* Fix YODA recipe

* More tweaks to YODA version requirements

* Flake-8
2020-07-07 22:24:48 -05:00
Patrick Gartung
7f8e827db8 Relocate rpaths for all binaries, then do text bin replacement if the rpaths still exist after running patchelf/otool (#17418) 2020-07-07 16:46:39 -05:00
Adam J. Stewart
a63761f875 oneDNN: add v1.5.1 (#17419) 2020-07-07 16:38:47 -05:00
Adam J. Stewart
3ce16c89b7 GDAL: add v3.1.2 (#17416) 2020-07-07 15:45:25 -05:00
Massimiliano Culpo
f4ac3770b4 CudaPackage: maintainers are listed in the docstring (#17409)
fixes #17396

This prevents the class attribute to be inherited and
saves current maintainers from becoming the default
maintainers of every Cuda package.
2020-07-07 20:45:41 +02:00
Todd Gamblin
b0506a722e releases: document releases/latest tag (#17402)
We got rid of `master` after #17377, but users still want a way to get
the latest stable release without knowing its number.

We've added a `releases/latest` tag to replace what was once `master`.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-07-07 11:44:15 -07:00
Peter Scheibel
650ab563f4 Uninstall: tolerate hook failures when force=true (#16513)
Fixes #16478

This allows an uninstall to proceed even when encountering pre-uninstall
hook failures if the user chooses the --force option for the uninstall.

This also prevents post-uninstall hook failures from raising an exception,
which would terminate a sequence of uninstalls. This isn't likely essential
for #16478, but I think overall it will improve the user experience: if
the post-uninstall hook fails, there isn't much point in terminating a
sequence of spec uninstalls because at the point where the post-uninstall
hook is run, the spec has already been removed from the database (so it
will never have another chance to run).

Notes:

* When doing spack uninstall -a, certain pre/post-uninstall hooks aren't
  important to run, but this isn't easy to track with the current model.
  For example: if you are uninstalling a package and its extension, you
  do not have to do the activation check for the extension.
* This doesn't handle the uninstallation of specs that are not in the DB,
  so it may leave "dangling" specs in the installation prefix
2020-07-07 11:37:36 -07:00
Christoph Junghans
90285c7d61 votca-tools: fix build with mkl (#17414) 2020-07-07 13:27:10 -05:00
Frank Willmore
6c300ab717 snappy: added v1.1.8 (#17397) 2020-07-07 17:25:26 +02:00
g-mathias
05d8ba170b jube: added v2.4.0 (#17404)
Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-07-07 16:11:53 +02:00
figroc
51f65152a5 abseil-cpp: added v20200225.2 (#17383) 2020-07-07 14:02:21 +02:00
Harmen Stoppels
1113357e35 libtree: fixed checksums (#17393)
The hash was wrongly computed for the `tar.gz` 
that Github provides, not the custom tarball which 
includes submodules as well.
2020-07-07 12:56:57 +02:00
ketsubouchi
d65a076c0d bliss: add spaces to __DATE__ (#17385)
C++11 requires a space between literal and string macro.
2020-07-07 11:28:55 +02:00
Glenn Johnson
845139740f mumax: new package at v3.10beta (#17398)
This PR creates a new spack package for

mumax: GPU accelerated micromagnetic simulator.

This uses the current beta version because
- it is somewhat dated, ~2018
- it is the only one that supports recent GPU kernels
2020-07-07 11:01:59 +02:00
TZ
1f87b07689 nco: added v4.8.[0,1] and v4.9.[0-3] (#17389) 2020-07-07 10:18:27 +02:00
TZ
cbaa1bca1c ncview: added v2.1.8 (#17388) 2020-07-07 10:09:27 +02:00
Sinan
5fb6a06c37 gunrock: improved package recipe (added variants for applications and others) (#17340)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-07-07 10:02:37 +02:00
Adam Moody
6e38fc56f6 mpifileutils: add v0.10.1 2020-07-06 18:19:29 -07:00
Todd Gamblin
c00a05bfba bugfix: no infinite recursion in setup-env.sh on Cray
On Cray platforms, we rely heavily on the module system to figure out
what targets, compilers, etc. are available. This unfortunately means
that we shell out to the `module` command as part of platform
initialization.

Because we run subcommands in a shell, we can get infinite recursion if
`setup-env.sh` and friends are in some init script like `.bashrc`.

This fixes the infinite loop by adding guards around `setup-env.sh`,
`setup-env.csh`, and `setup-env.fish`, to prevent recursive
initializations of Spack. This is safe because Spack never shells out to
itself, so we do not need it to be initialized in subshells.

- [x] add recursion guard around `setup-env.sh`
- [x] add recursion guard around `setup-env.csh`
- [x] add recursion guard around `setup-env.fish`
2020-07-06 13:55:14 -07:00
Todd Gamblin
9ec9327f5a docs: document releases and branches in Spack
- [x] Remove references to `master` branch
- [x] Document how release branches are structured
- [x] Document how to make a major release
- [x] Document how to make a point release
- [x] Document how to do work in our release projects
2020-07-06 11:39:19 -07:00
Todd Gamblin
11088df402 Remove references to master from CI
- [x] remove master from github actions
- [x] remove master from .travis.yml
- [x] make `develop` the default branch for `spack ci`
2020-07-06 11:39:19 -07:00
Todd Gamblin
4ea76dc95c change master/child to controller/minion in pty docstrings
PTY support used the concept of 'master' and 'child' processes. 'master'
has been renamed to 'controller' and 'child' to 'minion'.
2020-07-06 11:39:19 -07:00
cedricchevalier19
f0275d7e1b Fix gcc + binutils compilation. (#9024)
* fix binutils deptype for gcc

binutils needs to be a run dependency of gcc

* Fix gcc+binutils build on RHEL7+

static-libstdc++ is not available with system gcc.
Anyway, as it is for bootstraping, we do not really care depending on
a shared libstdc++.

Co-authored-by: Michael Kuhn <michael@ikkoku.de>
2020-07-06 13:02:35 -05:00
Michael Kuhn
516c3e659f autotools bugfix: handle missing config.guess (#17356)
Spack was attempting to calculate abspath on the located config.guess
path even when it was not found (None); this commit skips the abspath
calculation when config.guess is not found.
2020-07-06 10:53:02 -07:00
iarspider
e62ddcb582 Add Rivet and YODA (#17372)
* Add Rivet and YODA

* Add patches

* Flake-8

* Set level for Rivet patches

* Syntax fix

* Fix dependencies of Rivet

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-06 10:51:36 -05:00
TZ
b3bc538df6 esmf: set ESMF_COMM=intelmpi also for ^intel-mpi (#17387)
Not only intel-parallel-studio+mpi provides Intel MPI but also
intel-mpi.
2020-07-06 11:40:11 +02:00
fcannini
29fc94e29e psi4: fix "filter_compilers" signature (#17375) 2020-07-06 09:07:26 +02:00
Adam J. Stewart
466f7fd996 GMT: add v6.1.0 (#17384) 2020-07-05 21:06:05 -05:00
darmac
58cfe4e078 acl: fix depends error (#17341) 2020-07-05 15:28:29 -05:00
darmac
00f7577273 brpc: fix depends issue (#17347) 2020-07-05 15:27:49 -05:00
Wouter Deconinck
4e6d189a94 [opencascade] depends_on freetype, tcl, tk, gl (#17357)
* [opencascade] depends_on freetype, tcl, tk, gl

* [opencascade] new version 7.4.0p1 and url_for_version
2020-07-05 15:25:38 -05:00
iarspider
9abadd4985 New version of LHAPDF: 6.3.0 (#17367) 2020-07-05 15:23:03 -05:00
figroc
66d4bc3f3c protobuf: add versions (#17381) 2020-07-05 15:22:31 -05:00
yellowhat
52cafe6c96 amdblis bump to 2.2. (#17369) 2020-07-05 15:22:11 -05:00
g-mathias
8d5aa46765 package Amber: amber tools 20 (#17374)
* package amber: added amber_tools 20 hash; added minor version for amber_tools

* fix flake8 issues

Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-07-05 15:17:38 -05:00
Gilles Gouaillardet
e5ec89ad5b openblas: fix fj compiler support in 0.3.10 (#17376)
The latest 0.3.10 version openblas changed how Fortran libraries
are detected, and this broke Fujitsu compiler support.

This (new) openblas patch addresses that issue.
2020-07-05 15:14:36 -05:00
Timo Heister
7bba9cd2a5 update aspect to 2.2.0 (#17379) 2020-07-05 15:13:22 -05:00
Adam J. Stewart
cce629e791 SciPy: add v1.5.1 (#17380) 2020-07-05 14:58:26 -05:00
TZ
bb15addad5 inel-mpi: fix for wrong structure name instroduced in ea8a0be4 (#17382)
it's    mpi_compiler_wrappers
and not mpi_compiler._wrappers

fixes 2nd part of #17371
2020-07-05 11:10:28 -05:00
Adam J. Stewart
e9e3e88f63 Fix Intel MPI super invocation, again (#17378) 2020-07-05 11:09:24 -05:00
fcannini
c797a0611c dtfbplus: New package. (#15191)
* dtfbplus: New package.

* dftbplus: Addresses @adamjstewart's comments on PR #15191

* dftbplus: Fixes format() calls that slipped in previous commit.

* dftbplus: Appease flake8.

* dftbplus: Change 'url' and misc. fixes.

* Add a resource to do the job of './utils/get_opt_externals'
2020-07-04 08:27:32 -05:00
Shahzeb Siddiqui
04f3000646 Pipelines doc: fixed two broken links (#17355) 2020-07-03 12:29:45 +02:00
Amjad Kotobi
f3eba3c482 py-python-swiftclient: added v3.10.0 (#17352) 2020-07-03 12:25:54 +02:00
g-mathias
02fa7b680f elpa: added v2019.11.001 and v2020.05.001 (#17368)
Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-07-03 11:52:02 +02:00
Paul R. C. Kent
8fcd917e51 libelf: added extra url (#17358) 2020-07-03 11:49:58 +02:00
g-mathias
9c85d87b90 jube: added v2.3.0 (#17366)
Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-07-03 10:13:37 +02:00
yellowhat
b45fc97564 Package request: HPCG (#17350)
* use patch from upstream

Co-authored-by: Michael Kuhn <michael.kuhn@informatik.uni-hamburg.de>
2020-07-03 10:05:24 +02:00
ketsubouchi
986f68f7ed blktrace: use Spack compiler wrappers (#17365) 2020-07-02 23:39:04 -07:00
ketsubouchi
2cd9e1eb62 blat: use SPACK_CC (#17364) 2020-07-02 23:38:23 -07:00
darmac
61804f201a glusterfs: add pkgconfig dependency (#17343) 2020-07-02 23:35:38 -07:00
g-mathias
cf104b0f10 jmol: add version 14.31.0 (#17351)
Also:

* Add url_for_version function
* Add Java to PATH for run environment
* Update `install` method to handle old and new version

Co-authored-by: lu64bag3 <gerald.mathias@lrz.de>
2020-07-02 23:34:00 -07:00
Kelly (KT) Thompson
17106a131d Random123: add versions 1.10, 1.13.2 (#17361) 2020-07-02 23:25:53 -07:00
Christoph Junghans
cc0dda95c4 quicksilver: add v1.0 2020-07-02 23:24:44 -07:00
takanori-ihara
7679e20e83 py-tensorflow: Fix for tensorflow issue #40688 (#17324)
* py-tensorflow: Fix for #40688

* py-tensorflow:  Fix for tensorflow issue #40688
2020-07-02 21:49:29 -05:00
Michio Ogawa
4349c091e7 FrontISTR: add version 5.1 (#17349) 2020-07-02 15:34:25 -07:00
darmac
ff60f51a7a keepalived: openssl is a link and build dependency (#17346) 2020-07-02 15:13:24 -07:00
Amjad Kotobi
06da1f195c openmpi: add singularity variant (#17288) 2020-07-02 15:10:06 -07:00
iarspider
3d98ad3f4c New packages: heputils and mcutils (#17330)
heputils is a (conditional) dependency of mcutils
2020-07-02 15:05:20 -07:00
Harmen Stoppels
f1bb8999ab cpprestsdk: add version 2.10.16 (#17331)
Also

* Patch is only needed for 2.9.1
* Add openssl dependency
* Build with -DWERROR:BOOL=Off
2020-07-02 15:02:12 -07:00
Sinan
1e75dde7b2 mapnik: add version 3.0.23, update boost dependency (#17338) 2020-07-02 14:56:36 -07:00
manifest
f780839b87 examl + (#17265)
* examl +

* examl style fix

* examl flake8 fix

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

using `working_dir`

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-02 09:43:47 -05:00
Andrew Gaspar
204f15b4c1 py-fortran-language-server: new package at v1.11.1 (#17318)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-07-02 10:22:01 +02:00
Michael Kuhn
a4fff39d7e py-shroud: added v0.12.1 (#17332)
py-setuptools is also needed at runtime, otherwise we get errors:
```
ModuleNotFoundError: No module named 'pkg_resources'
```
2020-07-02 10:14:57 +02:00
Michael Kuhn
10016a34e0 autotools: Fix config.guess detection, take two (#17333)
The previous fix from #17149 contained a thinko that produced errors for
packages that overwrite configure_directory.
2020-07-02 00:45:41 -07:00
Sinan
e133b44da6 py-opt-einsum: added v3.2.1, v3.2.0 and v2.3.2 (#17339)
Co-authored-by: Sinan81 <sbulut@3vgeomatics.com>
2020-07-02 09:14:39 +02:00
Paul R. C. Kent
5732d8de50 py-sphinxcontrib-bibtex: added v1.0.0 (#17336) 2020-07-02 08:32:26 +02:00
mic84
509b3c3016 amrex: added v20.07 (#17337)
Also added support for hdf5, petsc and hypre
2020-07-02 08:28:57 +02:00
ketsubouchi
8a9fa9bd18 biobloom: use the correct standard library for Fujitsu compilers (#17327) 2020-07-02 08:11:56 +02:00
Massimiliano Culpo
a5eabfad91 Moved flake8, shell and documentation tests to Github Action (#17328)
* Move flake8 tests on Github Actions

* Move shell test to Github Actions

* Moved documentation build to Github Action

* Don't run coverage on Python 2.6

Since we get connection errors consistently on Travis
when trying to upload coverage results for Python 2.6,
avoid computing coverage entirely to speed-up tests.
2020-07-01 11:58:53 -05:00
Adam J. Stewart
6a77f1ff45 Fix hashlib function capitalization (#17323) 2020-07-01 09:46:20 -05:00
Glenn Johnson
60283775b3 Documentation update for container example (#17321)
This updates the documentation to reflect #17316.
2020-07-01 08:40:36 +02:00
Greg Becker
4433e4de2d Use apple-clang for MacOS nightly tests (#17320) 2020-07-01 08:21:08 +02:00
darmac
aaf6f80d4c hbase: refine url , java and version (#17306)
* hbase: refine url , java and version

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-06-30 22:22:32 -05:00
Gregory Becker
59fb789290 Merge branch 'releases/v0.15' into develop 2020-06-30 19:19:12 -05:00
7034 changed files with 160166 additions and 34862 deletions

View File

@@ -4,7 +4,8 @@ coverage:
range: 60...90
status:
project:
default: yes
default:
threshold: 0.2%
ignore:
- lib/spack/spack/test/.*

View File

@@ -4,7 +4,9 @@
parallel = True
concurrency = multiprocessing
branch = True
source = lib
source =
bin
lib
omit =
lib/spack/spack/test/*
lib/spack/docs/*

View File

@@ -8,4 +8,4 @@ share/spack/dotkit/*
share/spack/lmod/*
share/spack/modules/*
lib/spack/spack/test/*
var/spack/cache/*

45
.flake8
View File

@@ -27,6 +27,47 @@
# - N813: camelcase imported as lowercase
# - N814: camelcase imported as constant
#
# F4: pyflakes import checks, these are now checked by mypy more precisely
# - F403: from module import *
# - F405: undefined name or from *
#
# Black ignores, these are incompatible with black style and do not follow PEP-8
# - E203: white space around slice operators can be required, ignore : warn
# - W503: see above, already ignored for line-breaks
#
[flake8]
ignore = E129,E221,E241,E272,E731,W503,W504,F999,N801,N813,N814
max-line-length = 79
ignore = E129,E221,E241,E272,E731,W503,W504,F999,N801,N813,N814,F403,F405
max-line-length = 88
# F4: Import
# - F405: `name` may be undefined, or undefined from star imports: `module`
#
# F8: Name
# - F821: undefined name `name`
#
per-file-ignores =
var/spack/repos/*/package.py:F405,F821
# exclude things we usually do not want linting for.
# These still get linted when passed explicitly, as when spack flake8 passes
# them on the command line.
exclude =
.git
etc/
opt/
share/
var/spack/cache/
var/spack/gpg*/
var/spack/junit-report/
var/spack/mock-configs/
lib/spack/external
__pycache__
var
format = spack
[flake8:local-plugins]
report =
spack = flake8_formatter:SpackFormatter
paths =
./share/spack/qa/

View File

@@ -1,24 +0,0 @@
# -*- conf -*-
# flake8 settings for Spack package files.
#
# This should include all the same exceptions that we use for core files.
#
# In Spack packages, we also allow the single `from spack import *`
# wildcard import and dependencies can set globals for their
# dependents. So we add exceptions for checks related to undefined names.
#
# Note that we also add *per-line* exemptions for certain patterns in the
# `spack flake8` command. This is where F403 for `from spack import *`
# is added (because we *only* allow that wildcard).
#
# See .flake8 for regular exceptions.
#
# F4: Import
# - F405: `name` may be undefined, or undefined from star imports: `module`
#
# F8: Name
# - F821: undefined name `name`
#
[flake8]
ignore = E129,E221,E241,E272,E731,W503,W504,F405,F821,F999,N801,N813,N814
max-line-length = 79

2
.gitattributes vendored
View File

@@ -1 +1,3 @@
*.py diff=python
*.lp linguist-language=Prolog
lib/spack/external/* linguist-vendored

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python
#
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

7
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,7 @@
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"

View File

@@ -1,5 +1,20 @@
#!/usr/bin/env sh
git clone https://github.com/spack/spack.git
echo -e "config:\n build_jobs: 2" > spack/etc/spack/config.yaml
. spack/share/spack/setup-env.sh
spack compilers
. share/spack/setup-env.sh
echo -e "config:\n build_jobs: 2" > etc/spack/config.yaml
spack config add "packages:all:target:[x86_64]"
# TODO: remove this explicit setting once apple-clang detection is fixed
cat <<EOF > etc/spack/compilers.yaml
compilers:
- compiler:
spec: apple-clang@11.0.3
paths:
cc: /usr/bin/clang
cxx: /usr/bin/clang++
f77: /usr/local/bin/gfortran-9
fc: /usr/local/bin/gfortran-9
modules: []
operating_system: catalina
target: x86_64
EOF
spack compiler info apple-clang
spack debug report

View File

@@ -3,13 +3,8 @@ name: linux builds
on:
push:
branches:
- master
- develop
- releases/**
pull_request:
branches:
- master
- develop
paths-ignore:
# Don't run if we only modified packages in the built-in repository
- 'var/spack/repos/builtin/**'
@@ -19,36 +14,57 @@ on:
- '!var/spack/repos/builtin/packages/py-setuptools/**'
- '!var/spack/repos/builtin/packages/openjpeg/**'
- '!var/spack/repos/builtin/packages/r-rcpp/**'
- '!var/spack/repos/builtin/packages/ruby-rake/**'
# Don't run if we only modified documentation
- 'lib/spack/docs/**'
pull_request:
branches:
- develop
- releases/**
paths-ignore:
# Don't run if we only modified packages in the built-in repository
- 'var/spack/repos/builtin/**'
- '!var/spack/repos/builtin/packages/lz4/**'
- '!var/spack/repos/builtin/packages/mpich/**'
- '!var/spack/repos/builtin/packages/tut/**'
- '!var/spack/repos/builtin/packages/py-setuptools/**'
- '!var/spack/repos/builtin/packages/openjpeg/**'
- '!var/spack/repos/builtin/packages/r-rcpp/**'
- '!var/spack/repos/builtin/packages/ruby-rake/**'
# Don't run if we only modified documentation
- 'lib/spack/docs/**'
jobs:
build:
runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
package: [lz4, mpich, tut, py-setuptools, openjpeg, r-rcpp]
package:
- lz4 # MakefilePackage
- mpich~fortran # AutotoolsPackage
- 'tut%gcc@:10.99.99' # WafPackage
- py-setuptools # PythonPackage
- openjpeg # CMakePackage
- r-rcpp # RPackage
- ruby-rake # RubyPackage
steps:
- uses: actions/checkout@v2
- name: Cache ccache's store
uses: actions/cache@v1
- uses: actions/cache@v2.1.6
with:
path: ~/.ccache
key: ccache-build-${{ matrix.package }}
restore-keys: |
ccache-build-${{ matrix.package }}
- name: Setup Python
uses: actions/setup-python@v1
- uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9
- name: Install System Packages
run: |
sudo apt-get update
sudo apt-get -yqq install ccache gfortran perl perl-base r-base r-base-core r-base-dev findutils openssl libssl-dev libpciaccess-dev
sudo apt-get -yqq install ccache gfortran perl perl-base r-base r-base-core r-base-dev ruby findutils openssl libssl-dev libpciaccess-dev
R --version
perl --version
ruby --version
- name: Copy Configuration
run: |
ccache -M 300M && ccache -z

View File

@@ -1,62 +0,0 @@
name: linux tests
on:
push:
branches:
- master
- develop
- releases/**
pull_request:
branches:
- master
- develop
jobs:
unittests:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [2.7, 3.5, 3.6, 3.7, 3.8]
steps:
- uses: actions/checkout@v2
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install System packages
run: |
sudo apt-get -y update
sudo apt-get install -y coreutils gfortran graphviz gnupg2 mercurial ninja-build patchelf
# Needed for kcov
sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev zlib1g-dev libdw-dev libiberty-dev
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools codecov coverage
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
git config --global user.email "spack@example.com"
git config --global user.name "Test User"
git fetch -u origin develop:develop
- name: Install kcov for bash script coverage
env:
KCOV_VERSION: 34
run: |
KCOV_ROOT=$(mktemp -d)
wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz
tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz
mkdir -p ${KCOV_ROOT}/build
cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd -
make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install
- name: Run unit tests
env:
COVERAGE: true
run: |
share/spack/qa/run-unit-tests
coverage combine
coverage xml
- name: Upload to codecov.io
uses: codecov/codecov-action@v1
with:
flags: unittests,linux

View File

@@ -8,6 +8,13 @@ on:
schedule:
# nightly at 1 AM
- cron: '0 1 * * *'
pull_request:
branches:
- develop
paths:
# Run if we modify this yaml file
- '.github/workflows/macos_python.yml'
# TODO: run if we touch any of the recipes involved in this
# GitHub Action Limits
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
@@ -18,10 +25,14 @@ jobs:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: spack install
run: |
. .github/workflows/install_spack.sh
spack install -v gcc
# 9.2.0 is the latest version on which we apply homebrew patch
spack install -v --fail-fast gcc@9.2.0 %apple-clang
install_jupyter_clang:
name: jupyter
@@ -29,30 +40,39 @@ jobs:
timeout-minutes: 700
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: spack install
run: |
. .github/workflows/install_spack.sh
spack install -v py-jupyter %clang
spack install -v --fail-fast py-jupyterlab %apple-clang
install_scipy_clang:
name: scipy, mpl, pd
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: spack install
run: |
. .github/workflows/install_spack.sh
spack install -v py-scipy %clang
spack install -v py-matplotlib %clang
spack install -v py-pandas %clang
spack install -v --fail-fast py-scipy %apple-clang
spack install -v --fail-fast py-matplotlib %apple-clang
spack install -v --fail-fast py-pandas %apple-clang
install_mpi4py_clang:
name: mpi4py, petsc4py
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: spack install
run: |
. .github/workflows/install_spack.sh
spack install -v py-mpi4py %clang
spack install -v py-petsc4py %clang
spack install -v --fail-fast py-mpi4py %apple-clang
spack install -v --fail-fast py-petsc4py %apple-clang

View File

@@ -1,49 +0,0 @@
name: macos tests
on:
push:
branches:
- master
- develop
- releases/**
pull_request:
branches:
- master
- develop
jobs:
build:
runs-on: macos-latest
strategy:
matrix:
python-version: [3.7]
steps:
- uses: actions/checkout@v2
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools
pip install --upgrade codecov coverage
pip install --upgrade flake8 pep8-naming
- name: Setup Homebrew packages
run: |
brew update
brew upgrade
brew install gcc gnupg2 dash kcov
- name: Run unit tests
run: |
git --version
git fetch -u origin develop:develop
. share/spack/setup-env.sh
coverage run $(which spack) test
coverage combine
coverage xml
- name: Upload to codecov.io
uses: codecov/codecov-action@v1
with:
file: ./coverage.xml
flags: unittests,macos

View File

@@ -1,31 +0,0 @@
name: python version check
on:
push:
branches:
- master
- develop
- releases/**
pull_request:
branches:
- master
- develop
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install Python Packages
run: |
pip install --upgrade pip
pip install --upgrade vermin
- name: Minimum Version (Spack's Core)
run: vermin --backport argparse -t=2.6- -t=3.5- -v lib/spack/spack/ lib/spack/llnl/ bin/
- name: Minimum Version (Repositories)
run: vermin --backport argparse -t=2.6- -t=3.5- -v var/spack/repos

9
.github/workflows/setup_git.sh vendored Executable file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/env sh
git config --global user.email "spack@example.com"
git config --global user.name "Test User"
# With fetch-depth: 0 we have a remote develop
# but not a local branch. Don't do this on develop
if [ "$(git branch --show-current)" != "develop" ]
then
git branch develop origin/develop
fi

389
.github/workflows/unit_tests.yaml vendored Normal file
View File

@@ -0,0 +1,389 @@
name: linux tests
on:
push:
branches:
- develop
- releases/**
pull_request:
branches:
- develop
- releases/**
jobs:
# Validate that the code can be run on all the Python versions
# supported by Spack
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install Python Packages
run: |
pip install --upgrade pip
pip install --upgrade vermin
- name: vermin (Spack's Core)
run: vermin --backport argparse --backport typing -t=2.6- -t=3.5- -v lib/spack/spack/ lib/spack/llnl/ bin/
- name: vermin (Repositories)
run: vermin --backport argparse --backport typing -t=2.6- -t=3.5- -v var/spack/repos
# Run style checks on the files that have been changed
style:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools flake8 mypy>=0.800 black
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Run style tests
run: |
share/spack/qa/run-style-tests
# Build the documentation
documentation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install System packages
run: |
sudo apt-get -y update
sudo apt-get install -y coreutils ninja-build graphviz
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools
pip install --upgrade -r lib/spack/docs/requirements.txt
- name: Build documentation
run: |
share/spack/qa/run-doc-tests
# Check which files have been updated by the PR
changes:
runs-on: ubuntu-latest
# Set job outputs to values from filter step
outputs:
core: ${{ steps.filter.outputs.core }}
packages: ${{ steps.filter.outputs.packages }}
with_coverage: ${{ steps.coverage.outputs.with_coverage }}
steps:
- uses: actions/checkout@v2
if: ${{ github.event_name == 'push' }}
with:
fetch-depth: 0
# For pull requests it's not necessary to checkout the code
- uses: dorny/paths-filter@v2
id: filter
with:
# See https://github.com/dorny/paths-filter/issues/56 for the syntax used below
filters: |
core:
- './!(var/**)/**'
packages:
- 'var/**'
# Some links for easier reference:
#
# "github" context: https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#github-context
# job outputs: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idoutputs
# setting environment variables from earlier steps: https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable
#
- id: coverage
# Run the subsequent jobs with coverage if core has been modified,
# regardless of whether this is a pull request or a push to a branch
run: |
echo Core changes: ${{ steps.filter.outputs.core }}
echo Event name: ${{ github.event_name }}
if [ "${{ steps.filter.outputs.core }}" == "true" ]
then
echo "::set-output name=with_coverage::true"
else
echo "::set-output name=with_coverage::false"
fi
# Run unit tests with different configurations on linux
unittests:
needs: [ validate, style, documentation, changes ]
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9]
concretizer: ['original', 'clingo']
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install System packages
run: |
sudo apt-get -y update
# Needed for unit tests
sudo apt-get install -y coreutils gfortran graphviz gnupg2 mercurial
sudo apt-get install -y ninja-build patchelf
# Needed for kcov
sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev
sudo apt-get -y install zlib1g-dev libdw-dev libiberty-dev
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools codecov coverage
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Install kcov for bash script coverage
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
env:
KCOV_VERSION: 34
run: |
KCOV_ROOT=$(mktemp -d)
wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz
tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz
mkdir -p ${KCOV_ROOT}/build
cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd -
make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install
- name: Bootstrap clingo from sources
if: ${{ matrix.concretizer == 'clingo' }}
run: |
. share/spack/setup-env.sh
spack external find --not-buildable cmake bison
spack -v solve zlib
- name: Run unit tests (full suite with coverage)
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
env:
COVERAGE: true
SPACK_TEST_SOLVER: ${{ matrix.concretizer }}
run: |
share/spack/qa/run-unit-tests
coverage combine
coverage xml
- name: Run unit tests (reduced suite without coverage)
if: ${{ needs.changes.outputs.with_coverage == 'false' }}
env:
ONLY_PACKAGES: true
SPACK_TEST_SOLVER: ${{ matrix.concretizer }}
run: |
share/spack/qa/run-unit-tests
- uses: codecov/codecov-action@v1
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
with:
flags: unittests,linux,${{ matrix.concretizer }}
# Test shell integration
shell:
needs: [ validate, style, documentation, changes ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install System packages
run: |
sudo apt-get -y update
# Needed for shell tests
sudo apt-get install -y coreutils csh zsh tcsh fish dash bash
# Needed for kcov
sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev
sudo apt-get -y install zlib1g-dev libdw-dev libiberty-dev
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools codecov coverage
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Install kcov for bash script coverage
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
env:
KCOV_VERSION: 38
run: |
KCOV_ROOT=$(mktemp -d)
wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz
tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz
mkdir -p ${KCOV_ROOT}/build
cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd -
make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install
- name: Run shell tests (without coverage)
if: ${{ needs.changes.outputs.with_coverage == 'false' }}
run: |
share/spack/qa/run-shell-tests
- name: Run shell tests (with coverage)
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
env:
COVERAGE: true
run: |
share/spack/qa/run-shell-tests
- uses: codecov/codecov-action@v1
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
with:
flags: shelltests,linux
# Test for Python2.6 run on Centos 6
centos6:
needs: [ validate, style, documentation, changes ]
runs-on: ubuntu-latest
container: spack/github-actions:centos6
steps:
- name: Run unit tests (full test-suite)
# The CentOS 6 container doesn't run with coverage, but
# under the same conditions it runs the full test suite
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
env:
HOME: /home/spack-test
run: |
whoami && echo $HOME && cd $HOME
git clone https://github.com/spack/spack.git && cd spack
git fetch origin ${{ github.ref }}:test-branch
git checkout test-branch
share/spack/qa/run-unit-tests
- name: Run unit tests (only package tests)
if: ${{ needs.changes.outputs.with_coverage == 'false' }}
env:
HOME: /home/spack-test
ONLY_PACKAGES: true
run: |
whoami && echo $HOME && cd $HOME
git clone https://github.com/spack/spack.git && cd spack
git fetch origin ${{ github.ref }}:test-branch
git checkout test-branch
share/spack/qa/run-unit-tests
# Test RHEL8 UBI with platform Python. This job is run
# only on PRs modifying core Spack
rhel8-platform-python:
needs: [ validate, style, documentation, changes ]
runs-on: ubuntu-latest
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
container: registry.access.redhat.com/ubi8/ubi
steps:
- name: Install dependencies
run: |
dnf install -y \
bzip2 curl file gcc-c++ gcc gcc-gfortran git gnupg2 gzip \
make patch tcl unzip which xz
- uses: actions/checkout@v2
- name: Setup repo and non-root user
run: |
git --version
git fetch --unshallow
. .github/workflows/setup_git.sh
useradd spack-test
chown -R spack-test .
- name: Run unit tests
shell: runuser -u spack-test -- bash {0}
run: |
source share/spack/setup-env.sh
spack unit-test -k 'not svn and not hg' -x --verbose
# Test for the clingo based solver (using clingo-cffi)
clingo-cffi:
needs: [ validate, style, documentation, changes ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install System packages
run: |
sudo apt-get -y update
# Needed for unit tests
sudo apt-get install -y coreutils gfortran graphviz gnupg2 mercurial
sudo apt-get install -y ninja-build patchelf
# Needed for kcov
sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev
sudo apt-get -y install zlib1g-dev libdw-dev libiberty-dev
- name: Install kcov for bash script coverage
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
env:
KCOV_VERSION: 34
run: |
KCOV_ROOT=$(mktemp -d)
wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz
tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz
mkdir -p ${KCOV_ROOT}/build
cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd -
make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools codecov coverage clingo
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
git --version
. .github/workflows/setup_git.sh
- name: Run unit tests (full suite with coverage)
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
env:
COVERAGE: true
SPACK_TEST_SOLVER: clingo
run: |
share/spack/qa/run-unit-tests
coverage combine
coverage xml
- name: Run unit tests (reduced suite without coverage)
if: ${{ needs.changes.outputs.with_coverage == 'false' }}
env:
ONLY_PACKAGES: true
SPACK_TEST_SOLVER: clingo
run: |
share/spack/qa/run-unit-tests
- uses: codecov/codecov-action@v1
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
with:
flags: unittests,linux,clingo
# Run unit tests on MacOS
build:
needs: [ validate, style, documentation, changes ]
runs-on: macos-latest
strategy:
matrix:
python-version: [3.8]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools
pip install --upgrade codecov coverage
pip install --upgrade flake8 pep8-naming mypy
- name: Setup Homebrew packages
run: |
brew install dash fish gcc gnupg2 kcov
- name: Run unit tests
run: |
git --version
. .github/workflows/setup_git.sh
. share/spack/setup-env.sh
if [ "${{ needs.changes.outputs.with_coverage }}" == "true" ]
then
coverage run $(which spack) unit-test -x
coverage combine
coverage xml
else
echo "ONLY PACKAGE RECIPES CHANGED [skipping coverage]"
$(which spack) unit-test -x -m "not maybeslow" -k "package_sanity"
fi
- uses: codecov/codecov-action@v1
if: ${{ needs.changes.outputs.with_coverage == 'true' }}
with:
file: ./coverage.xml
flags: unittests,macos

519
.gitignore vendored
View File

@@ -1,40 +1,511 @@
/db
##########################
# Spack-specific ignores #
##########################
/var/spack/stage
/var/spack/cache
/var/spack/environments
/var/spack/repos/*/index.yaml
/var/spack/repos/*/lock
__pycache__/
*.pyc
/opt
*~
.DS_Store
.idea
# Ignore everything in /etc/spack except /etc/spack/defaults
/etc/spack/*
!/etc/spack/defaults
/etc/spackconfig
/share/spack/dotkit
/share/spack/modules
/share/spack/lmod
/TAGS
*.swp
/htmlcov
.coverage
\#*
.#*
.cache
lib/spack/spack/test/.cache
/bin/spackc
# Debug logs
spack-db.*
*.in.log
*.out.log
*.orig
# Eclipse files
.project
###########################
# Python-specific ignores #
###########################
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
#lib/
#lib64/
parts/
sdist/
#var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
########################
# Vim-specific ignores #
########################
# Swap
[._]*.s[a-v][a-z]
!*.svg # comment out if you don't need vector files
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
Sessionx.vim
# Temporary
.netrwhist
*~
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
##########################
# Emacs-specific ignores #
##########################
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*
# Org-mode
.org-id-locations
*_archive
# flymake-mode
*_flymake.*
# eshell files
/eshell/history
/eshell/lastdir
# elpa packages
/elpa/
# reftex files
*.rel
# AUCTeX auto folder
/auto/
# cask packages
.cask/
dist/
# Flycheck
flycheck_*.el
# server auth directory
/server/
# projectiles files
.projectile
# directory configuration
.dir-locals.el
# network security
/network-security.data
############################
# Eclipse-specific ignores #
############################
.metadata
#bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# PyDev specific (Python IDE for Eclipse)
*.pydevproject
# CDT-specific (C/C++ Development Tooling)
.cproject
.pydevproject
# VSCode files
.vscode
.devcontainer
# CDT- autotools
.autotools
# Java annotation processor (APT)
.factorypath
# PDT-specific (PHP Development Tools)
.buildpath
# sbteclipse plugin
.target
# Tern plugin
.tern-project
# TeXlipse plugin
.texlipse
# STS (Spring Tool Suite)
.springBeans
# Code Recommenders
.recommenders/
# Annotation Processing
.apt_generated/
.apt_generated_test/
# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet
# Uncomment this line if you wish to ignore the project description file.
# Typically, this file would be tracked if it contains build/dependency configurations:
#.project
##################################
# Visual Studio-specific ignores #
##################################
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
# Local History for Visual Studio Code
.history/
#################################
# Sublime Text-specific ignores #
#################################
# Cache files for Sublime Text
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache
# Workspace files are user-specific
*.sublime-workspace
# Project files should be checked into the repository, unless a significant
# proportion of contributors will probably not be using Sublime Text
# *.sublime-project
# SFTP configuration file
sftp-config.json
sftp-config-alt*.json
# Package control specific files
Package Control.last-run
Package Control.ca-list
Package Control.ca-bundle
Package Control.system-ca-bundle
Package Control.cache/
Package Control.ca-certs/
Package Control.merged-ca-bundle
Package Control.user-ca-bundle
oscrypto-ca-bundle.crt
bh_unicode_properties.cache
# Sublime-github package stores a github token in this file
# https://packagecontrol.io/packages/sublime-github
GitHub.sublime-settings
##############################
# JetBrains-specific ignores #
##############################
# Ignore the entire folder since it may conatin more files than
# just the ones listed below
.idea/
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
##########################
# macOS-specific ignores #
##########################
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
##########################
# Linux-specific ignores #
##########################
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
############################
# Windows-specific ignores #
############################
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk

View File

@@ -3,7 +3,8 @@ Adam Moody <moody20@llnl.gov> Adam T. Moody
Alfredo Gimenez <gimenez1@llnl.gov> Alfredo Gimenez <alfredo.gimenez@gmail.com>
Alfredo Gimenez <gimenez1@llnl.gov> Alfredo Adolfo Gimenez <alfredo.gimenez@gmail.com>
Andrew Williams <williamsa89@cardiff.ac.uk> Andrew Williams <andrew@alshain.org.uk>
Axel Huebl <a.huebl@hzdr.de> Axel Huebl <axel.huebl@plasma.ninja>
Axel Huebl <axelhuebl@lbl.gov> Axel Huebl <a.huebl@hzdr.de>
Axel Huebl <axelhuebl@lbl.gov> Axel Huebl <axel.huebl@plasma.ninja>
Ben Boeckel <ben.boeckel@kitware.com> Ben Boeckel <mathstuf@gmail.com>
Ben Boeckel <ben.boeckel@kitware.com> Ben Boeckel <mathstuf@users.noreply.github.com>
Benedikt Hegner <hegner@cern.ch> Benedikt Hegner <benedikt.hegner@cern.ch>
@@ -20,8 +21,8 @@ Geoffrey Oxberry <oxberry1@llnl.gov> Geoffrey Oxberry
Glenn Johnson <glenn-johnson@uiowa.edu> Glenn Johnson <gjohnson@argon-ohpc.hpc.uiowa.edu>
Glenn Johnson <glenn-johnson@uiowa.edu> Glenn Johnson <glennpj@gmail.com>
Gregory Becker <becker33@llnl.gov> Gregory Becker <becker33.llnl.gov>
Gregory Becker <becker33@llnl.gov> becker33 <becker33.llnl.gov>
Gregory Becker <becker33@llnl.gov> becker33 <becker33@llnl.gov>
Gregory Becker <becker33@llnl.gov> Gregory Becker <becker33.llnl.gov>
Gregory Becker <becker33@llnl.gov> Gregory Becker <becker33@llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Greg Lee <lee218@llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@cab687.llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@cab690.llnl.gov>

35
.mypy.ini Normal file
View File

@@ -0,0 +1,35 @@
[mypy]
python_version = 3.7
files=lib/spack/llnl/**/*.py,lib/spack/spack/**/*.py
mypy_path=bin,lib/spack,lib/spack/external,var/spack/repos/builtin
# This and a generated import file allows supporting packages
namespace_packages=True
# To avoid re-factoring all the externals, ignore errors and missing imports
# globally, then turn back on in spack and spack submodules
ignore_errors=True
ignore_missing_imports=True
[mypy-spack.*]
ignore_errors=False
ignore_missing_imports=False
[mypy-packages.*]
ignore_errors=False
ignore_missing_imports=False
[mypy-llnl.*]
ignore_errors=False
ignore_missing_imports=False
[mypy-spack.test.packages]
ignore_errors=True
# ignore errors in fake import path for packages
[mypy-spack.pkg.*]
ignore_errors=True
ignore_missing_imports=True
# jinja has syntax in it that requires python3 and causes a parse error
# skip importing it
[mypy-jinja2]
follow_imports=skip

View File

@@ -1,152 +0,0 @@
#=============================================================================
# Project settings
#=============================================================================
# Only build master and develop on push; do not build every branch.
branches:
only:
- master
- develop
- /^releases\/.*$/
#=============================================================================
# Build matrix
#=============================================================================
dist: bionic
jobs:
fast_finish: true
include:
- stage: 'style checks'
python: '3.8'
os: linux
language: python
env: TEST_SUITE=flake8
- stage: 'unit tests + documentation'
python: '2.6'
dist: trusty
os: linux
language: python
addons:
apt:
# Everything but patchelf, that is not available for trusty
packages:
- ccache
- gfortran
- graphviz
- gnupg2
- kcov
- mercurial
- ninja-build
- realpath
- zsh
- fish
env: [ TEST_SUITE=unit, COVERAGE=true ]
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=shell, COVERAGE=true, KCOV_VERSION=38 ]
- python: '3.8'
os: linux
language: python
env: TEST_SUITE=doc
stages:
- 'style checks'
- 'unit tests + documentation'
#=============================================================================
# Environment
#=============================================================================
# Docs need graphviz to build
addons:
# for Linux builds, we use APT
apt:
packages:
- ccache
- coreutils
- gfortran
- graphviz
- gnupg2
- mercurial
- ninja-build
- patchelf
- zsh
- fish
update: true
# ~/.ccache needs to be cached directly as Travis is not taking care of it
# (possibly because we use 'language: python' and not 'language: c')
cache:
pip: true
ccache: true
directories:
- ~/.ccache
before_install:
- ccache -M 2G && ccache -z
# Install kcov manually, since it's not packaged for bionic beaver
- if [[ "$KCOV_VERSION" ]]; then
sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev zlib1g-dev libdw-dev libiberty-dev;
KCOV_ROOT=$(mktemp -d);
wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz;
tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz;
mkdir -p ${KCOV_ROOT}/build;
cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd - ;
make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install;
fi
# Install various dependencies
install:
- pip install --upgrade pip
- pip install --upgrade six
- pip install --upgrade setuptools
- pip install --upgrade codecov coverage==4.5.4
- pip install --upgrade flake8
- pip install --upgrade pep8-naming
- if [[ "$TEST_SUITE" == "doc" ]]; then
pip install --upgrade -r lib/spack/docs/requirements.txt;
fi
before_script:
# Need this for the git tests to succeed.
- git config --global user.email "spack@example.com"
- git config --global user.name "Test User"
# Need this to be able to compute the list of changed files
- git fetch origin ${TRAVIS_BRANCH}:${TRAVIS_BRANCH}
#=============================================================================
# Building
#=============================================================================
script:
- share/spack/qa/run-$TEST_SUITE-tests
after_success:
- ccache -s
- case "$TEST_SUITE" in
unit)
if [[ "$COVERAGE" == "true" ]]; then
codecov --env PYTHON_VERSION
--required
--flags "${TEST_SUITE}${TRAVIS_OS_NAME}";
fi
;;
shell)
codecov --env PYTHON_VERSION
--required
--flags "${TEST_SUITE}${TRAVIS_OS_NAME}";
esac
#=============================================================================
# Notifications
#=============================================================================
notifications:
email:
recipients:
- tgamblin@llnl.gov
- massimiliano.culpo@gmail.com
on_success: change
on_failure: always

View File

@@ -1,3 +1,217 @@
# v0.16.2 (2021-05-22)
* Major performance improvement for `spack load` and other commands. (#23661)
* `spack fetch` is now environment-aware. (#19166)
* Numerous fixes for the new, `clingo`-based concretizer. (#23016, #23307,
#23090, #22896, #22534, #20644, #20537, #21148)
* Supoprt for automatically bootstrapping `clingo` from source. (#20652, #20657
#21364, #21446, #21913, #22354, #22444, #22460, #22489, #22610, #22631)
* Python 3.10 support: `collections.abc` (#20441)
* Fix import issues by using `__import__` instead of Spack package importe.
(#23288, #23290)
* Bugfixes and `--source-dir` argument for `spack location`. (#22755, #22348,
#22321)
* Better support for externals in shared prefixes. (#22653)
* `spack build-env` now prefers specs defined in the active environment.
(#21642)
* Remove erroneous warnings about quotes in `from_sourcing_files`. (#22767)
* Fix clearing cache of `InternalConfigScope`. (#22609)
* Bugfix for active when pkg is already active error. (#22587)
* Make `SingleFileScope` able to repopulate the cache after clearing it.
(#22559)
* Channelflow: Fix the package. (#22483)
* More descriptive error message for bugs in `package.py` (#21811)
* Use package-supplied `autogen.sh`. (#20319)
* Respect `-k/verify-ssl-false` in `_existing_url` method. (#21864)
# v0.16.1 (2021-02-22)
This minor release includes a new feature and associated fixes:
* intel-oneapi support through new packages (#20411, #20686, #20693, #20717,
#20732, #20808, #21377, #21448)
This release also contains bug fixes/enhancements for:
* HIP/ROCm support (#19715, #20095)
* concretization (#19988, #20020, #20082, #20086, #20099, #20102, #20128,
#20182, #20193, #20194, #20196, #20203, #20247, #20259, #20307, #20362,
#20383, #20423, #20473, #20506, #20507, #20604, #20638, #20649, #20677,
#20680, #20790)
* environment install reporting fix (#20004)
* avoid import in ABI compatibility info (#20236)
* restore ability of dev-build to skip patches (#20351)
* spack find -d spec grouping (#20028)
* spack smoke test support (#19987, #20298)
* macOS fixes (#20038, #21662)
* abstract spec comparisons (#20341)
* continuous integration (#17563)
* performance improvements for binary relocation (#19690, #20768)
* additional sanity checks for variants in builtin packages (#20373)
* do not pollute auto-generated configuration files with empty lists or
dicts (#20526)
plus assorted documentation (#20021, #20174) and package bug fixes/enhancements
(#19617, #19933, #19986, #20006, #20097, #20198, #20794, #20906, #21411).
# v0.16.0 (2020-11-18)
`v0.16.0` is a major feature release.
## Major features in this release
1. **New concretizer (experimental)** Our new backtracking concretizer is
now in Spack as an experimental feature. You will need to install
`clingo@master+python` and set `concretizer: clingo` in `config.yaml`
to use it. The original concretizer is not exhaustive and is not
guaranteed to find a solution if one exists. We encourage you to use
the new concretizer and to report any bugs you find with it. We
anticipate making the new concretizer the default and including all
required dependencies for it in Spack `v0.17`. For more details, see
#19501.
2. **spack test (experimental)** Users can add `test()` methods to their
packages to run smoke tests on installations with the new `spack test`
command (the old `spack test` is now `spack unit-test`). `spack test`
is environment-aware, so you can `spack install` an environment and
`spack test run` smoke tests on all of its packages. Historical test
logs can be perused with `spack test results`. Generic smoke tests for
MPI implementations, C, C++, and Fortran compilers as well as specific
smoke tests for 18 packages. This is marked experimental because the
test API (`self.run_test()`) is likely to be change, but we encourage
users to upstream tests, and we will maintain and refactor any that
are added to mainline packages (#15702).
3. **spack develop** New `spack develop` command allows you to develop
several packages at once within a Spack environment. Running
`spack develop foo@v1` and `spack develop bar@v2` will check
out specific versions of `foo` and `bar` into subdirectories, which you
can then build incrementally with `spack install ` (#15256).
4. **More parallelism** Spack previously installed the dependencies of a
_single_ spec in parallel. Entire environments can now be installed in
parallel, greatly accelerating builds of large environments. get
parallelism from individual specs. Spack now parallelizes entire
environment builds (#18131).
5. **Customizable base images for spack containerize**
`spack containerize` previously only output a `Dockerfile` based
on `ubuntu`. You may now specify any base image of your choosing (#15028).
6. **more external finding** `spack external find` was added in `v0.15`,
but only `cmake` had support. `spack external find` can now find
`bison`, `cuda`, `findutils`, `flex`, `git`, `lustre` `m4`, `mpich`,
`mvapich2`, `ncurses`, `openmpi`, `perl`, `spectrum-mpi`, `tar`, and
`texinfo` on your system and add them automatically to
`packages.yaml`.
7. **Support aocc, nvhpc, and oneapi compilers** We are aggressively
pursuing support for the newest vendor compilers, especially those for
the U.S. exascale and pre-exascale systems. Compiler classes and
auto-detection for `aocc`, `nvhpc`, `oneapi` are now in Spack (#19345,
#19294, #19330).
## Additional new features of note
* New `spack mark` command can be used to designate packages as explicitly
installed, so that `spack gc` will not garbage-collect them (#16662).
* `install_tree` can be customized with Spack's projection format (#18341)
* `sbang` now lives in the `install_tree` so that all users can access it (#11598)
* `csh` and `tcsh` users no longer need to set `SPACK_ROOT` before
sourcing `setup-env.csh` (#18225)
* Spec syntax now supports `variant=*` syntax for finding any package
that has a particular variant (#19381).
* Spack respects `SPACK_GNUPGHOME` variable for custom GPG directories (#17139)
* Spack now recognizes Graviton chips
## Major refactors
* Use spawn instead of fork on Python >= 3.8 on macOS (#18205)
* Use indexes for public build caches (#19101, #19117, #19132, #19141, #19209)
* `sbang` is an external package now (https://github.com/spack/sbang, #19582)
* `archspec` is an external package now (https://github.com/archspec/archspec, #19600)
## Deprecations and Removals
* `spack bootstrap` was deprecated in v0.14.0, and has now been removed.
* `spack setup` is deprecated as of v0.16.0.
* What was `spack test` is now called `spack unit-test`. `spack test` is
now the smoke testing feature in (2) above.
## Bugfixes
Some of the most notable bugfixes in this release include:
* Better warning messages for deprecated syntax in `packages.yaml` (#18013)
* `buildcache list --allarch` now works properly (#17827)
* Many fixes and tests for buildcaches and binary relcoation (#15687,
*#17455, #17418, #17455, #15687, #18110)
## Package Improvements
Spack now has 5050 total packages, 720 of which were added since `v0.15`.
* ROCm packages (`hip`, `aomp`, more) added by AMD (#19957, #19832, others)
* Many improvements for ARM support
* `llvm-flang`, `flang`, and `f18` removed, as `llvm` has real `flang`
support since Flang was merged to LLVM mainline
* Emerging support for `spack external find` and `spack test` in packages.
## Infrastructure
* Major infrastructure improvements to pipelines on `gitlab.spack.io`
* Support for testing PRs from forks (#19248) is being enabled for all
forks to enable rolling, up-to-date binary builds on `develop`
# v0.15.4 (2020-08-12)
This release contains one feature addition:
* Users can set `SPACK_GNUPGHOME` to override Spack's GPG path (#17139)
Several bugfixes for CUDA, binary packaging, and `spack -V`:
* CUDA package's `.libs` method searches for `libcudart` instead of `libcuda` (#18000)
* Don't set `CUDAHOSTCXX` in environments that contain CUDA (#17826)
* `buildcache create`: `NoOverwriteException` is a warning, not an error (#17832)
* Fix `spack buildcache list --allarch` (#17884)
* `spack -V` works with `releases/latest` tag and shallow clones (#17884)
And fixes for GitHub Actions and tests to ensure that CI passes on the
release branch (#15687, #17279, #17328, #17377, #17732).
# v0.15.3 (2020-07-28)
This release contains the following bugfixes:
* Fix handling of relative view paths (#17721)
* Fixes for binary relocation (#17418, #17455)
* Fix redundant printing of error messages in build environment (#17709)
It also adds a support script for Spack tutorials:
* Add a tutorial setup script to share/spack (#17705, #17722)
# v0.15.2 (2020-07-23)
This minor release includes two new features:
* Spack install verbosity is decreased, and more debug levels are added (#17546)
* The $spack/share/spack/keys directory contains public keys that may be optionally trusted for public binary mirrors (#17684)
This release also includes several important fixes:
* MPICC and related variables are now cleand in the build environment (#17450)
* LLVM flang only builds CUDA offload components when +cuda (#17466)
* CI pipelines no longer upload user environments that can contain secrets to the internet (#17545)
* CI pipelines add bootstrapped compilers to the compiler config (#17536)
* `spack buildcache list` does not exit on first failure and lists later mirrors (#17565)
* Apple's "gcc" executable that is an apple-clang compiler does not generate a gcc compiler config (#17589)
* Mixed compiler toolchains are merged more naturally across different compiler suffixes (#17590)
* Cray Shasta platforms detect the OS properly (#17467)
* Additional more minor fixes.
# v0.15.1 (2020-07-10)
This minor release includes several important fixes:
@@ -558,4 +772,4 @@ version of all the changes since `v0.9.1`.
- Switched from `nose` to `pytest` for unit tests.
- Unit tests take 1 minute now instead of 8
- Massively expanded documentation
- Docs are now hosted on [spack.readthedocs.io](http://spack.readthedocs.io)
- Docs are now hosted on [spack.readthedocs.io](https://spack.readthedocs.io)

View File

@@ -28,9 +28,11 @@ text in the license header:
External Packages
-------------------
Spack bundles its external dependencies in lib/spack/external. These
packages are covered by various permissive licenses. A summary listing
follows. See the license included with each package for full details.
Spack bundles most external dependencies in lib/spack/external. It also
includes the sbang tool directly in bin/sbang. These packages are covered
by various permissive licenses. A summary listing follows. See the
license included with each package for full details.
PackageName: argparse
PackageHomePage: https://pypi.python.org/pypi/argparse
@@ -76,6 +78,10 @@ PackageName: ruamel.yaml
PackageHomePage: https://yaml.readthedocs.io/
PackageLicenseDeclared: MIT
PackageName: sbang
PackageHomePage: https://github.com/spack/sbang
PackageLicenseDeclared: Apache-2.0 OR MIT
PackageName: six
PackageHomePage: https://pypi.python.org/pypi/six
PackageLicenseDeclared: MIT

View File

@@ -1,20 +1,21 @@
Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
MIT License
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
Copyright (c) 2013-2020 LLNS, LLC and other Spack Project Developers.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -1,13 +1,11 @@
# <img src="https://cdn.rawgit.com/spack/spack/develop/share/spack/logo/spack-logo.svg" width="64" valign="middle" alt="Spack"/> Spack
[![MacOS Tests](https://github.com/spack/spack/workflows/macos%20tests/badge.svg)](https://github.com/spack/spack/actions)
[![Linux Tests](https://github.com/spack/spack/workflows/linux%20tests/badge.svg)](https://github.com/spack/spack/actions)
[![Unit Tests](https://github.com/spack/spack/workflows/linux%20tests/badge.svg)](https://github.com/spack/spack/actions)
[![Linux Builds](https://github.com/spack/spack/workflows/linux%20builds/badge.svg)](https://github.com/spack/spack/actions)
[![macOS Builds (nightly)](https://github.com/spack/spack/workflows/macOS%20builds%20nightly/badge.svg?branch=develop)](https://github.com/spack/spack/actions?query=workflow%3A%22macOS+builds+nightly%22)
[![Build Status](https://travis-ci.com/spack/spack.svg?branch=develop)](https://travis-ci.com/spack/spack)
[![codecov](https://codecov.io/gh/spack/spack/branch/develop/graph/badge.svg)](https://codecov.io/gh/spack/spack)
[![Read the Docs](https://readthedocs.org/projects/spack/badge/?version=latest)](https://spack.readthedocs.io)
[![Slack](https://spackpm.herokuapp.com/badge.svg)](https://spackpm.herokuapp.com)
[![Slack](https://slack.spack.io/badge.svg)](https://slack.spack.io)
Spack is a multi-platform package manager that builds and installs
multiple versions and configurations of software. It works on Linux,
@@ -22,7 +20,7 @@ builds of the same package. With Spack, you can build your software
*all* the ways you want to.
See the
[Feature Overview](http://spack.readthedocs.io/en/latest/features.html)
[Feature Overview](https://spack.readthedocs.io/en/latest/features.html)
for examples and highlights.
To install spack and your first package, make sure you have Python.
@@ -35,14 +33,14 @@ Then:
Documentation
----------------
[**Full documentation**](http://spack.readthedocs.io/) is available, or
[**Full documentation**](https://spack.readthedocs.io/) is available, or
run `spack help` or `spack help --all`.
Tutorial
----------------
We maintain a
[**hands-on tutorial**](http://spack.readthedocs.io/en/latest/tutorial.html).
[**hands-on tutorial**](https://spack.readthedocs.io/en/latest/tutorial.html).
It covers basic to advanced usage, packaging, developer features, and large HPC
deployments. You can do all of the exercises on your own laptop using a
Docker container.
@@ -60,7 +58,7 @@ packages to bugfixes, documentation, or even new core features.
Resources:
* **Slack workspace**: [spackpm.slack.com](https://spackpm.slack.com).
To get an invitation, [**click here**](https://spackpm.herokuapp.com).
To get an invitation, visit [slack.spack.io](https://slack.spack.io).
* **Mailing list**: [groups.google.com/d/forum/spack](https://groups.google.com/d/forum/spack)
* **Twitter**: [@spackpm](https://twitter.com/spackpm). Be sure to
`@mention` us!
@@ -74,15 +72,33 @@ When you send your request, make ``develop`` the destination branch on the
Your PR must pass Spack's unit tests and documentation tests, and must be
[PEP 8](https://www.python.org/dev/peps/pep-0008/) compliant. We enforce
these guidelines with [Travis CI](https://travis-ci.org/spack/spack). To
run these tests locally, and for helpful tips on git, see our
[Contribution Guide](http://spack.readthedocs.io/en/latest/contribution_guide.html).
these guidelines with our CI process. To run these tests locally, and for
helpful tips on git, see our
[Contribution Guide](https://spack.readthedocs.io/en/latest/contribution_guide.html).
Spack uses a rough approximation of the
[Git Flow](http://nvie.com/posts/a-successful-git-branching-model/)
branching model. The ``develop`` branch contains the latest
contributions, and ``master`` is always tagged and points to the latest
stable release.
Spack's `develop` branch has the latest contributions. Pull requests
should target `develop`, and users who want the latest package versions,
features, etc. can use `develop`.
Releases
--------
For multi-user site deployments or other use cases that need very stable
software installations, we recommend using Spack's
[stable releases](https://github.com/spack/spack/releases).
Each Spack release series also has a corresponding branch, e.g.
`releases/v0.14` has `0.14.x` versions of Spack, and `releases/v0.13` has
`0.13.x` versions. We backport important bug fixes to these branches but
we do not advance the package versions or make other changes that would
change the way Spack concretizes dependencies within a release branch.
So, you can base your Spack deployment on a release branch and `git pull`
to get fixes, without the package churn that comes with `develop`.
The latest release is always available with the `releases/latest` tag.
See the [docs on releases](https://spack.readthedocs.io/en/latest/developer_guide.html#releases)
for more details.
Code of Conduct
------------------------
@@ -103,7 +119,7 @@ If you are referencing Spack in a publication, please cite the following paper:
* Todd Gamblin, Matthew P. LeGendre, Michael R. Collette, Gregory L. Lee,
Adam Moody, Bronis R. de Supinski, and W. Scott Futral.
[**The Spack Package Manager: Bringing Order to HPC Software Chaos**](http://www.computer.org/csdl/proceedings/sc/2015/3723/00/2807623.pdf).
[**The Spack Package Manager: Bringing Order to HPC Software Chaos**](https://www.computer.org/csdl/proceedings/sc/2015/3723/00/2807623.pdf).
In *Supercomputing 2015 (SC15)*, Austin, Texas, November 15-20 2015. LLNL-CONF-669890.
License

171
bin/sbang
View File

@@ -1,114 +1,103 @@
#!/bin/bash
#!/bin/sh
#
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# sbang project developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
#
# `sbang`: Run scripts with long shebang lines.
#
# Many operating systems limit the length of shebang lines, making it
# hard to use interpreters that are deep in the directory hierarchy.
# `sbang` can run such scripts, either as a shebang interpreter, or
# directly on the command line.
# Many operating systems limit the length and number of possible
# arguments in shebang lines, making it hard to use interpreters that are
# deep in the directory hierarchy or require special arguments.
#
# Usage
# -----------------------------
# Suppose you have a script, long-shebang.sh, like this:
# To use, put the long shebang on the second line of your script, and
# make sbang the interpreter, like this:
#
# 1 #!/very/long/path/to/some/interpreter
# 2
# 3 echo "success!"
# #!/bin/sh /path/to/sbang
# #!/long/path/to/real/interpreter with arguments
#
# Invoking this script will result in an error on some OS's. On
# Linux, you get this:
# `sbang` will run the real interpreter with the script as its argument.
#
# $ ./long-shebang.sh
# -bash: ./long: /very/long/path/to/some/interp: bad interpreter:
# No such file or directory
#
# On Mac OS X, the system simply assumes the interpreter is the shell
# and tries to run with it, which is likely not what you want.
#
#
# `sbang` on the command line
# -----------------------------
# You can use `sbang` in two ways. The first is to use it directly,
# from the command line, like this:
#
# $ sbang ./long-shebang.sh
# success!
#
#
# `sbang` as the interpreter
# -----------------------------
# You can also use `sbang` *as* the interpreter for your script. Put
# `#!/bin/bash /path/to/sbang` on line 1, and move the original
# shebang to line 2 of the script:
#
# 1 #!/bin/bash /path/to/sbang
# 2 #!/long/path/to/real/interpreter with arguments
# 3
# 4 echo "success!"
#
# $ ./long-shebang.sh
# success!
#
# On Linux, you could shorten line 1 to `#!/path/to/sbang`, but other
# operating systems like Mac OS X require the interpreter to be a
# binary, so it's best to use `sbang` as a `bash` argument.
# Obviously, for this to work, `sbang` needs to have a short enough
# path that *it* will run without hitting OS limits.
#
# For Lua, scripts the second line can't start with #!, as # is not
# the comment character in lua (even though lua ignores #! on the
# *first* line of a script). So, instrument a lua script like this,
# using -- instead of # on the second line:
#
# 1 #!/bin/bash /path/to/sbang
# 2 --!/long/path/to/lua with arguments
# 3
# 4 print "success!"
#
# How it works
# -----------------------------
# `sbang` is a very simple bash script. It looks at the first two
# lines of a script argument and runs the last line starting with
# `#!`, with the script as an argument. It also forwards arguments.
# See https://github.com/spack/sbang for more details.
#
# Generic error handling
die() {
echo "$@" 1>&2;
exit 1
}
# set SBANG_DEBUG to make the script print what would normally be executed.
exec="exec"
if [ -n "${SBANG_DEBUG}" ]; then
exec="echo "
fi
# First argument is the script we want to actually run.
script="$1"
# ensure that the script actually exists
if [ -z "$script" ]; then
die "error: sbang requires exactly one argument"
elif [ ! -f "$script" ]; then
die "$script: no such file or directory"
fi
# Search the first two lines of script for interpreters.
lines=0
while read line && ((lines < 2)) ; do
if [[ "$line" = '#!'* ]]; then
interpreter="${line#\#!}"
elif [[ "$line" = '//!'*node* ]]; then
interpreter="${line#//!}"
elif [[ "$line" = '--!'*lua* ]]; then
interpreter="${line#--!}"
while read -r line && [ $lines -ne 2 ]; do
if [ "${line#\#!}" != "$line" ]; then
shebang_line="${line#\#!}"
elif [ "${line#//!}" != "$line" ]; then # // comments
shebang_line="${line#//!}"
elif [ "${line#--!}" != "$line" ]; then # -- lua comments
shebang_line="${line#--!}"
elif [ "${line#<?php\ }" != "$line" ]; then # php comments
shebang_line="${line#<?php\ \#!}"
shebang_line="${shebang_line%\ ?>}"
fi
lines=$((lines+1))
done < "$script"
# this is ineeded for scripts with sbang parameter
# like ones in intltool
# #!/<spack-long-path>/perl -w
# this is the interpreter line with all the parameters as a vector
interpreter_v=(${interpreter})
# this is the single interpreter path
interpreter_f="${interpreter_v[0]}"
# Invoke any interpreter found, or raise an error if none was found.
if [[ -n "$interpreter_f" ]]; then
if [[ "${interpreter_f##*/}" = "perl"* ]]; then
exec $interpreter -x "$@"
else
exec $interpreter "$@"
fi
else
echo "error: sbang found no interpreter in $script"
exit 1
# error if we did not find any interpreter
if [ -z "$shebang_line" ]; then
die "error: sbang found no interpreter in $script"
fi
# parse out the interpreter and first argument
IFS=' ' read -r interpreter arg1 rest <<EOF
$shebang_line
EOF
# Determine if the interpreter is a particular program, accounting for the
# '#!/usr/bin/env PROGRAM' convention. So:
#
# interpreter_is perl
#
# will be true for '#!/usr/bin/perl' and '#!/usr/bin/env perl'
interpreter_is() {
if [ "${interpreter##*/}" = "$1" ]; then
return 0
elif [ "$interpreter" = "/usr/bin/env" ] && [ "$arg1" = "$1" ]; then
return 0
else
return 1
fi
}
if interpreter_is "sbang"; then
die "error: refusing to re-execute sbang to avoid infinite loop."
fi
# Finally invoke the real shebang line
# ruby and perl need -x to ignore the first line of input (the sbang line)
#
if interpreter_is perl || interpreter_is ruby; then
# shellcheck disable=SC2086
$exec $shebang_line -x "$@"
else
# shellcheck disable=SC2086
$exec $shebang_line "$@"
fi

View File

@@ -1,7 +1,7 @@
#!/bin/sh
# -*- python -*-
#
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -10,9 +10,13 @@
# Following line is a shell no-op, and starts a multi-line Python comment.
# See https://stackoverflow.com/a/47886254
""":"
# prefer python3, then python, then python2
for cmd in python3 python python2; do
command -v > /dev/null $cmd && exec $cmd $0 "$@"
# prefer SPACK_PYTHON environment variable, python3, python, then python2
SPACK_PREFERRED_PYTHONS="python3 python python2 /usr/libexec/platform-python"
for cmd in "${SPACK_PYTHON:-}" ${SPACK_PREFERRED_PYTHONS}; do
if command -v > /dev/null "$cmd"; then
export SPACK_PYTHON="$(command -v "$cmd")"
exec "${SPACK_PYTHON}" "$0" "$@"
fi
done
echo "==> Error: spack could not find a python interpreter!" >&2
@@ -26,10 +30,15 @@ from __future__ import print_function
import os
import sys
if sys.version_info[:2] < (2, 6):
min_python3 = (3, 5)
if sys.version_info[:2] < (2, 6) or (
sys.version_info[:2] >= (3, 0) and sys.version_info[:2] < min_python3
):
v_info = sys.version_info[:3]
sys.exit("Spack requires Python 2.6 or higher."
"This is Python %d.%d.%d." % v_info)
msg = "Spack requires Python 2.6, 2.7 or %d.%d or higher " % min_python3
msg += "You are running spack with Python %d.%d.%d." % v_info
sys.exit(msg)
# Find spack's location and its prefix.
spack_file = os.path.realpath(os.path.expanduser(__file__))
@@ -42,8 +51,10 @@ sys.path.insert(0, spack_lib_path)
# Add external libs
spack_external_libs = os.path.join(spack_lib_path, "external")
if sys.version_info[:2] <= (2, 7):
sys.path.insert(0, os.path.join(spack_external_libs, "py2"))
if sys.version_info[:2] == (2, 6):
sys.path.insert(0, os.path.join(spack_external_libs, 'py26'))
sys.path.insert(0, os.path.join(spack_external_libs, "py26"))
sys.path.insert(0, spack_external_libs)
@@ -53,12 +64,14 @@ sys.path.insert(0, spack_external_libs)
# Briefly: ruamel.yaml produces a .pth file when installed with pip that
# makes the site installed package the preferred one, even though sys.path
# is modified to point to another version of ruamel.yaml.
if 'ruamel.yaml' in sys.modules:
del sys.modules['ruamel.yaml']
if "ruamel.yaml" in sys.modules:
del sys.modules["ruamel.yaml"]
if 'ruamel' in sys.modules:
del sys.modules['ruamel']
if "ruamel" in sys.modules:
del sys.modules["ruamel"]
import spack.main # noqa
# Once we've set up the system path, run the spack main method
import spack.main # noqa
sys.exit(spack.main.main())
if __name__ == "__main__":
sys.exit(spack.main.main())

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -16,24 +16,23 @@
config:
# This is the path to the root of the Spack install tree.
# You can use $spack here to refer to the root of the spack instance.
install_tree: $spack/opt/spack
install_tree:
root: $spack/opt/spack
projections:
all: "${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}"
# install_tree can include an optional padded length (int or boolean)
# default is False (do not pad)
# if padded_length is True, Spack will pad as close to the system max path
# length as possible
# if padded_length is an integer, Spack will pad to that many characters,
# assuming it is higher than the length of the install_tree root.
# padded_length: 128
# Locations where templates should be found
template_dirs:
- $spack/share/spack/templates
# Default directory layout
install_path_scheme: "${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}"
# Locations where different types of modules should be installed.
module_roots:
tcl: $spack/share/spack/modules
lmod: $spack/share/spack/lmod
# Temporary locations Spack can try to use for builds.
#
# Recommended options are given below.
@@ -64,6 +63,10 @@ config:
- ~/.spack/stage
# - $spack/var/spack/stage
# Directory in which to run tests and store test results.
# Tests will be stored in directories named by date/time and package
# name/hash.
test_stage: ~/.spack/test
# Cache directory for already downloaded source tarballs and archived
# repositories. This can be purged with `spack clean --downloads`.
@@ -97,7 +100,7 @@ config:
# If set to true, Spack will attempt to build any compiler on the spec
# that is not already available. If set to False, Spack will only use
# compilers already configured in compilers.yaml
install_missing_compilers: False
install_missing_compilers: false
# If set to true, Spack will always check checksums after downloading
@@ -105,6 +108,11 @@ config:
checksum: true
# If set to true, Spack will fetch deprecated versions without warning.
# If false, Spack will raise an error when trying to install a deprecated version.
deprecated: false
# If set to true, `spack install` and friends will NOT clean
# potentially harmful variables from the build environment. Use wisely.
dirty: false
@@ -127,11 +135,13 @@ config:
locks: true
# The maximum number of jobs to use when running `make` in parallel,
# always limited by the number of cores available. For instance:
# - If set to 16 on a 4 cores machine `spack install` will run `make -j4`
# - If set to 16 on a 18 cores machine `spack install` will run `make -j16`
# If not set, Spack will use all available cores up to 16.
# The maximum number of jobs to use for the build system (e.g. `make`), when
# the -j flag is not given on the command line. Defaults to 16 when not set.
# Note that the maximum number of jobs is limited by the number of cores
# available, taking thread affinity into account when supported. For instance:
# - With `build_jobs: 16` and 4 cores available `spack install` will run `make -j4`
# - With `build_jobs: 16` and 32 cores available `spack install` will run `make -j16`
# - With `build_jobs: 2` and 4 cores available `spack install -j6` will run `make -j6`
# build_jobs: 16
@@ -139,6 +149,20 @@ config:
ccache: false
# The concretization algorithm to use in Spack. Options are:
#
# 'original': Spack's original greedy, fixed-point concretizer. This
# algorithm can make decisions too early and will not backtrack
# sufficiently for many specs.
#
# 'clingo': Uses a logic solver under the hood to solve DAGs with full
# backtracking and optimization for user preferences.
#
# 'clingo' currently requires the clingo ASP solver to be installed and
# built with python bindings. 'original' is built in.
concretizer: original
# How long to wait to lock the Spack installation database. This lock is used
# when Spack needs to manage its own package metadata and all operations are
# expected to complete within the default time limit. The timeout should
@@ -153,11 +177,13 @@ config:
# never succeed.
package_lock_timeout: null
# Control whether Spack embeds RPATH or RUNPATH attributes in ELF binaries.
# Has no effect on macOS. DO NOT MIX these within the same install tree.
# See the Spack documentation for details.
shared_linking: 'rpath'
# Set to 'false' to allow installation on filesystems that doesn't allow setgid bit
# manipulation by unprivileged user (e.g. AFS)
allow_sgid: true

View File

@@ -0,0 +1,21 @@
# -------------------------------------------------------------------------
# This is the default configuration for Spack's module file generation.
#
# Settings here are versioned with Spack and are intended to provide
# sensible defaults out of the box. Spack maintainers should edit this
# file to keep it current.
#
# Users can override these settings by editing the following files.
#
# Per-spack-instance settings (overrides defaults):
# $SPACK_ROOT/etc/spack/modules.yaml
#
# Per-user settings (overrides default and site settings):
# ~/.spack/modules.yaml
# -------------------------------------------------------------------------
modules:
prefix_inspections:
lib:
- LD_LIBRARY_PATH
lib64:
- LD_LIBRARY_PATH

View File

@@ -22,10 +22,20 @@ packages:
- intel
providers:
elf: [libelf]
fuse: [macfuse]
unwind: [apple-libunwind]
uuid: [apple-libuuid]
apple-libunwind:
paths:
buildable: false
externals:
# Apple bundles libunwind version 35.3 with macOS 10.9 and later,
# although the version number used here isn't critical
apple-libunwind@35.3: /usr
buildable: False
- spec: apple-libunwind@35.3
prefix: /usr
apple-libuuid:
buildable: false
externals:
# Apple bundles libuuid in libsystem_c version 1353.100.2,
# although the version number used here isn't critical
- spec: apple-libuuid@1353.100.2
prefix: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk

View File

@@ -14,8 +14,9 @@
# ~/.spack/modules.yaml
# -------------------------------------------------------------------------
modules:
prefix_inspections:
lib:
- LD_LIBRARY_PATH
lib64:
- LD_LIBRARY_PATH
default:
prefix_inspections:
lib:
- LD_LIBRARY_PATH
lib64:
- LD_LIBRARY_PATH

View File

@@ -1,2 +1,2 @@
mirrors:
spack-public: https://spack-llnl-mirror.s3-us-west-2.amazonaws.com/
spack-public: https://mirror.spack.io

View File

@@ -14,8 +14,7 @@
# ~/.spack/modules.yaml
# -------------------------------------------------------------------------
modules:
enable:
- tcl
# Paths to check when creating modules for all module sets
prefix_inspections:
bin:
- PATH
@@ -25,16 +24,6 @@ modules:
- MANPATH
share/aclocal:
- ACLOCAL_PATH
lib:
- LIBRARY_PATH
lib64:
- LIBRARY_PATH
include:
- C_INCLUDE_PATH
- CPLUS_INCLUDE_PATH
# The INCLUDE env variable specifies paths to look for
# .mod file for Intel Fortran compilers
- INCLUDE
lib/pkgconfig:
- PKG_CONFIG_PATH
lib64/pkgconfig:
@@ -44,6 +33,20 @@ modules:
'':
- CMAKE_PREFIX_PATH
lmod:
hierarchy:
- mpi
# These are configurations for the module set named "default"
default:
# These values are defaulted in the code. They are not defaulted here so
# that we can enable backwards compatibility with the old syntax more
# easily (old value is in the config yaml, config:module_roots)
# Where to install modules
# roots:
# tcl: $spack/share/spack/modules
# lmod: $spack/share/spack/lmod
# What type of modules to use
enable:
- tcl
# Default configurations if lmod is enabled
lmod:
hierarchy:
- mpi

View File

@@ -15,38 +15,44 @@
# -------------------------------------------------------------------------
packages:
all:
compiler: [gcc, intel, pgi, clang, xl, nag, fj]
compiler: [gcc, intel, pgi, clang, xl, nag, fj, aocc]
providers:
D: [ldc]
awk: [gawk]
blas: [openblas]
blas: [openblas, amdblis]
D: [ldc]
daal: [intel-daal]
elf: [elfutils]
fftw-api: [fftw]
gl: [mesa+opengl, opengl]
glx: [mesa+glx, opengl]
fftw-api: [fftw, amdfftw]
flame: [libflame, amdlibflame]
fuse: [libfuse]
gl: [mesa+opengl, mesa18, opengl]
glu: [mesa-glu, openglu]
glx: [mesa+glx, mesa18+glx, opengl]
golang: [gcc]
iconv: [libiconv]
ipp: [intel-ipp]
java: [openjdk, jdk, ibm-java]
jpeg: [libjpeg-turbo, libjpeg]
lapack: [openblas]
lapack: [openblas, amdlibflame]
mariadb-client: [mariadb-c-client, mariadb]
mkl: [intel-mkl]
mpe: [mpe2]
mpi: [openmpi, mpich]
mysql-client: [mysql, mariadb-c-client]
opencl: [pocl]
osmesa: [mesa+osmesa, mesa18+osmesa]
pil: [py-pillow]
pkgconfig: [pkgconf, pkg-config]
rpc: [libtirpc]
scalapack: [netlib-scalapack]
scalapack: [netlib-scalapack, amdscalapack]
sycl: [hipsycl]
szip: [libszip, libaec]
tbb: [intel-tbb]
unwind: [libunwind]
sycl: [hipsycl]
uuid: [util-linux-uuid, libuuid]
xxd: [xxd-standalone, vim]
yacc: [bison, byacc]
ziglang: [zig]
permissions:
read: world
write: user

View File

@@ -1,10 +1,10 @@
<html>
<head>
<meta http-equiv="refresh" content="0; url=http://spack.readthedocs.io/" />
<meta http-equiv="refresh" content="0; url=https://spack.readthedocs.io/" />
</head>
<body>
<p>
This page has moved to <a href="http://spack.readthedocs.io/">http://spack.readthedocs.io/</a>
This page has moved to <a href="https://spack.readthedocs.io/">https://spack.readthedocs.io/</a>
</p>
</body>
</html>

162
lib/spack/docs/analyze.rst Normal file
View File

@@ -0,0 +1,162 @@
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _analyze:
=======
Analyze
=======
The analyze command is a front-end to various tools that let us analyze
package installations. Each analyzer is a module for a different kind
of analysis that can be done on a package installation, including (but not
limited to) binary, log, or text analysis. Thus, the analyze command group
allows you to take an existing package install, choose an analyzer,
and extract some output for the package using it.
-----------------
Analyzer Metadata
-----------------
For all analyzers, we write to an ``analyzers`` folder in ``~/.spack``, or the
value that you specify in your spack config at ``config:analyzers_dir``.
For example, here we see the results of running an analysis on zlib:
.. code-block:: console
$ tree ~/.spack/analyzers/
└── linux-ubuntu20.04-skylake
└── gcc-9.3.0
└── zlib-1.2.11-sl7m27mzkbejtkrajigj3a3m37ygv4u2
├── environment_variables
│   └── spack-analyzer-environment-variables.json
├── install_files
│   └── spack-analyzer-install-files.json
└── libabigail
└── spack-analyzer-libabigail-libz.so.1.2.11.xml
This means that you can always find analyzer output in this folder, and it
is organized with the same logic as the package install it was run for.
If you want to customize this top level folder, simply provide the ``--path``
argument to ``spack analyze run``. The nested organization will be maintained
within your custom root.
-----------------
Listing Analyzers
-----------------
If you aren't familiar with Spack's analyzers, you can quickly list those that
are available:
.. code-block:: console
$ spack analyze list-analyzers
install_files : install file listing read from install_manifest.json
environment_variables : environment variables parsed from spack-build-env.txt
config_args : config args loaded from spack-configure-args.txt
abigail : Application Binary Interface (ABI) features for objects
In the above, the first three are fairly simple - parsing metadata files from
a package install directory to save
-------------------
Analyzing a Package
-------------------
The analyze command, akin to install, will accept a package spec to perform
an analysis for. The package must be installed. Let's walk through an example
with zlib. We first ask to analyze it. However, since we have more than one
install, we are asked to disambiguate:
.. code-block:: console
$ spack analyze run zlib
==> Error: zlib matches multiple packages.
Matching packages:
fz2bs56 zlib@1.2.11%gcc@7.5.0 arch=linux-ubuntu18.04-skylake
sl7m27m zlib@1.2.11%gcc@9.3.0 arch=linux-ubuntu20.04-skylake
Use a more specific spec.
We can then specify the spec version that we want to analyze:
.. code-block:: console
$ spack analyze run zlib/fz2bs56
If you don't provide any specific analyzer names, by default all analyzers
(shown in the ``list-analyzers`` subcommand list) will be run. If an analyzer does not
have any result, it will be skipped. For example, here is a result running for
zlib:
.. code-block:: console
$ ls ~/.spack/analyzers/linux-ubuntu20.04-skylake/gcc-9.3.0/zlib-1.2.11-sl7m27mzkbejtkrajigj3a3m37ygv4u2/
spack-analyzer-environment-variables.json
spack-analyzer-install-files.json
spack-analyzer-libabigail-libz.so.1.2.11.xml
If you want to run a specific analyzer, ask for it with `--analyzer`. Here we run
spack analyze on libabigail (already installed) _using_ libabigail1
.. code-block:: console
$ spack analyze run --analyzer abigail libabigail
.. _analyze_monitoring:
----------------------
Monitoring An Analysis
----------------------
For any kind of analysis, you can
use a `spack monitor <https://github.com/spack/spack-monitor>`_ "Spackmon"
as a server to upload the same run metadata to. You can
follow the instructions in the `spack monitor documentation <https://spack-monitor.readthedocs.org>`_
to first create a server along with a username and token for yourself.
You can then use this guide to interact with the server.
You should first export our spack monitor token and username to the environment:
.. code-block:: console
$ export SPACKMON_TOKEN=50445263afd8f67e59bd79bff597836ee6c05438
$ export SPACKMON_USER=spacky
By default, the host for your server is expected to be at ``http://127.0.0.1``
with a prefix of ``ms1``, and if this is the case, you can simply add the
``--monitor`` flag to the install command:
.. code-block:: console
$ spack analyze run --monitor wget
If you need to customize the host or the prefix, you can do that as well:
.. code-block:: console
$ spack analyze run --monitor --monitor-prefix monitor --monitor-host https://monitor-service.io wget
If your server doesn't have authentication, you can skip it:
.. code-block:: console
$ spack analyze run --monitor --monitor-disable-auth wget
Regardless of your choice, when you run analyze on an installed package (whether
it was installed with ``--monitor`` or not, you'll see the results generating as they did
before, and a message that the monitor server was pinged:
.. code-block:: console
$ spack analyze --monitor wget
...
==> Sending result for wget bin/wget to monitor.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -27,11 +27,17 @@ It is recommended that the following be put in your ``.bashrc`` file:
If you do not see colorized output when using ``less -R`` it is because color
is being disabled in the piped output. In this case, tell spack to force
colorized output.
colorized output with a flag
.. code-block:: console
$ spack --color always | less -R
$ spack --color always | less -R
or an environment variable
.. code-block:: console
$ SPACK_COLOR=always spack | less -R
--------------------------
Listing available packages
@@ -132,32 +138,27 @@ If ``mpileaks`` depends on other packages, Spack will install the
dependencies first. It then fetches the ``mpileaks`` tarball, expands
it, verifies that it was downloaded without errors, builds it, and
installs it in its own directory under ``$SPACK_ROOT/opt``. You'll see
a number of messages from spack, a lot of build output, and a message
that the packages is installed:
a number of messages from Spack, a lot of build output, and a message
that the package is installed.
.. code-block:: console
$ spack install mpileaks
==> Installing mpileaks
==> mpich is already installed in ~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/mpich@3.0.4.
==> callpath is already installed in ~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/callpath@1.0.2-5dce4318.
==> adept-utils is already installed in ~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/adept-utils@1.0-5adef8da.
==> Trying to fetch from https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz
######################################################################## 100.0%
==> Staging archive: ~/spack/var/spack/stage/mpileaks@1.0%gcc@4.4.7 arch=linux-debian7-x86_64-59f6ad23/mpileaks-1.0.tar.gz
==> Created stage in ~/spack/var/spack/stage/mpileaks@1.0%gcc@4.4.7 arch=linux-debian7-x86_64-59f6ad23.
==> No patches needed for mpileaks.
==> Building mpileaks.
... build output ...
==> Successfully installed mpileaks.
Fetch: 2.16s. Build: 9.82s. Total: 11.98s.
[+] ~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/mpileaks@1.0-59f6ad23
... dependency build output ...
==> Installing mpileaks-1.0-ph7pbnhl334wuhogmugriohcwempqry2
==> No binary for mpileaks-1.0-ph7pbnhl334wuhogmugriohcwempqry2 found: installing from source
==> mpileaks: Executing phase: 'autoreconf'
==> mpileaks: Executing phase: 'configure'
==> mpileaks: Executing phase: 'build'
==> mpileaks: Executing phase: 'install'
[+] ~/spack/opt/linux-rhel7-broadwell/gcc-8.1.0/mpileaks-1.0-ph7pbnhl334wuhogmugriohcwempqry2
The last line, with the ``[+]``, indicates where the package is
installed.
Add the Spack debug option (one or more times) -- ``spack -d install
mpileaks`` -- to get additional (and even more verbose) output.
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Building a specific version
^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -284,6 +285,102 @@ and removed everything that is not either:
You can check :ref:`cmd-spack-find-metadata` to see how to query for explicitly installed packages
or :ref:`dependency-types` for a more thorough treatment of dependency types.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Marking packages explicit or implicit
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
By default, Spack will mark packages a user installs as explicitly installed,
while all of its dependencies will be marked as implicitly installed. Packages
can be marked manually as explicitly or implicitly installed by using
``spack mark``. This can be used in combination with ``spack gc`` to clean up
packages that are no longer required.
.. code-block:: console
$ spack install m4
==> 29005: Installing libsigsegv
[...]
==> 29005: Installing m4
[...]
$ spack install m4 ^libsigsegv@2.11
==> 39798: Installing libsigsegv
[...]
==> 39798: Installing m4
[...]
$ spack find -d
==> 4 installed packages
-- linux-fedora32-haswell / gcc@10.1.1 --------------------------
libsigsegv@2.11
libsigsegv@2.12
m4@1.4.18
libsigsegv@2.12
m4@1.4.18
libsigsegv@2.11
$ spack gc
==> There are no unused specs. Spack's store is clean.
$ spack mark -i m4 ^libsigsegv@2.11
==> m4@1.4.18 : marking the package implicit
$ spack gc
==> The following packages will be uninstalled:
-- linux-fedora32-haswell / gcc@10.1.1 --------------------------
5fj7p2o libsigsegv@2.11 c6ensc6 m4@1.4.18
==> Do you want to proceed? [y/N]
In the example above, we ended up with two versions of ``m4`` since they depend
on different versions of ``libsigsegv``. ``spack gc`` will not remove any of
the packages since both versions of ``m4`` have been installed explicitly
and both versions of ``libsigsegv`` are required by the ``m4`` packages.
``spack mark`` can also be used to implement upgrade workflows. The following
example demonstrates how the ``spack mark`` and ``spack gc`` can be used to
only keep the current version of a package installed.
When updating Spack via ``git pull``, new versions for either ``libsigsegv``
or ``m4`` might be introduced. This will cause Spack to install duplicates.
Since we only want to keep one version, we mark everything as implicitly
installed before updating Spack. If there is no new version for either of the
packages, ``spack install`` will simply mark them as explicitly installed and
``spack gc`` will not remove them.
.. code-block:: console
$ spack install m4
==> 62843: Installing libsigsegv
[...]
==> 62843: Installing m4
[...]
$ spack mark -i -a
==> m4@1.4.18 : marking the package implicit
$ git pull
[...]
$ spack install m4
[...]
==> m4@1.4.18 : marking the package explicit
[...]
$ spack gc
==> There are no unused specs. Spack's store is clean.
When using this workflow for installations that contain more packages, care
has to be taken to either only mark selected packages or issue ``spack install``
for all packages that should be kept.
You can check :ref:`cmd-spack-find-metadata` to see how to query for explicitly
or implicitly installed packages.
^^^^^^^^^^^^^^^^^^^^^^^^^
Non-Downloadable Tarballs
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -329,85 +426,6 @@ the tarballs in question to it (see :ref:`mirrors`):
$ spack install galahad
-----------------------------
Deprecating insecure packages
-----------------------------
``spack deprecate`` allows for the removal of insecure packages with
minimal impact to their dependents.
.. warning::
The ``spack deprecate`` command is designed for use only in
extraordinary circumstances. This is a VERY big hammer to be used
with care.
The ``spack deprecate`` command will remove one package and replace it
with another by replacing the deprecated package's prefix with a link
to the deprecator package's prefix.
.. warning::
The ``spack deprecate`` command makes no promises about binary
compatibility. It is up to the user to ensure the deprecator is
suitable for the deprecated package.
Spack tracks concrete deprecated specs and ensures that no future packages
concretize to a deprecated spec.
The first spec given to the ``spack deprecate`` command is the package
to deprecate. It is an abstract spec that must describe a single
installed package. The second spec argument is the deprecator
spec. By default it must be an abstract spec that describes a single
installed package, but with the ``-i/--install-deprecator`` it can be
any abstract spec that Spack will install and then use as the
deprecator. The ``-I/--no-install-deprecator`` option will ensure
the default behavior.
By default, ``spack deprecate`` will deprecate all dependencies of the
deprecated spec, replacing each by the dependency of the same name in
the deprecator spec. The ``-d/--dependencies`` option will ensure the
default, while the ``-D/--no-dependencies`` option will deprecate only
the root of the deprecate spec in favor of the root of the deprecator
spec.
``spack deprecate`` can use symbolic links or hard links. The default
behavior is symbolic links, but the ``-l/--link-type`` flag can take
options ``hard`` or ``soft``.
-----------------------
Verifying installations
-----------------------
The ``spack verify`` command can be used to verify the validity of
Spack-installed packages any time after installation.
At installation time, Spack creates a manifest of every file in the
installation prefix. For links, Spack tracks the mode, ownership, and
destination. For directories, Spack tracks the mode, and
ownership. For files, Spack tracks the mode, ownership, modification
time, hash, and size. The Spack verify command will check, for every
file in each package, whether any of those attributes have changed. It
will also check for newly added files or deleted files from the
installation prefix. Spack can either check all installed packages
using the `-a,--all` or accept specs listed on the command line to
verify.
The ``spack verify`` command can also verify for individual files that
they haven't been altered since installation time. If the given file
is not in a Spack installation prefix, Spack will report that it is
not owned by any package. To check individual files instead of specs,
use the ``-f,--files`` option.
Spack installation manifests are part of the tarball signed by Spack
for binary package distribution. When installed from a binary package,
Spack uses the packaged installation manifest instead of creating one
at install time.
The ``spack verify`` command also accepts the ``-l,--local`` option to
check only local packages (as opposed to those used transparently from
``upstream`` spack instances) and the ``-j,--json`` option to output
machine-readable json data for any errors.
-------------------------
Seeing installed packages
@@ -676,6 +694,95 @@ structured the way you want:
"hash": "zvaa4lhlhilypw5quj3akyd3apbq5gap"
}
------------------------
Using installed packages
------------------------
There are several different ways to use Spack packages once you have
installed them. As you've seen, spack packages are installed into long
paths with hashes, and you need a way to get them into your path. The
easiest way is to use :ref:`spack load <cmd-spack-load>`, which is
described in the next section.
Some more advanced ways to use Spack packages include:
* :ref:`environments <environments>`, which you can use to bundle a
number of related packages to "activate" all at once, and
* :ref:`environment modules <modules>`, which are commonly used on
supercomputing clusters. Spack generates module files for every
installation automatically, and you can customize how this is done.
.. _cmd-spack-load:
^^^^^^^^^^^^^^^^^^^^^^^
``spack load / unload``
^^^^^^^^^^^^^^^^^^^^^^^
If you have :ref:`shell support <shell-support>` enabled you can use the
``spack load`` command to quickly get a package on your ``PATH``.
For example this will add the ``mpich`` package built with ``gcc`` to
your path:
.. code-block:: console
$ spack install mpich %gcc@4.4.7
# ... wait for install ...
$ spack load mpich %gcc@4.4.7
$ which mpicc
~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/mpich@3.0.4/bin/mpicc
These commands will add appropriate directories to your ``PATH``,
``MANPATH``, ``CPATH``, and ``LD_LIBRARY_PATH`` according to the
:ref:`prefix inspections <customize-env-modifications>` defined in your
modules configuration. When you no longer want to use a package, you
can type unload or unuse similarly:
.. code-block:: console
$ spack unload mpich %gcc@4.4.7
"""""""""""""""
Ambiguous specs
"""""""""""""""
If a spec used with load/unload or is ambiguous (i.e. more than one
installed package matches it), then Spack will warn you:
.. code-block:: console
$ spack load libelf
==> Error: libelf matches multiple packages.
Matching packages:
qmm4kso libelf@0.8.13%gcc@4.4.7 arch=linux-debian7-x86_64
cd2u6jt libelf@0.8.13%intel@15.0.0 arch=linux-debian7-x86_64
Use a more specific spec
You can either type the ``spack load`` command again with a fully
qualified argument, or you can add just enough extra constraints to
identify one package. For example, above, the key differentiator is
that one ``libelf`` is built with the Intel compiler, while the other
used ``gcc``. You could therefore just type:
.. code-block:: console
$ spack load libelf %intel
To identify just the one built with the Intel compiler. If you want to be
*very* specific, you can load it by its hash. For example, to load the
first ``libelf`` above, you would run:
.. code-block:: console
$ spack load /qmm4kso
We'll learn more about Spack's spec syntax in the next section.
.. _sec-specs:
--------------------
@@ -695,11 +802,11 @@ Here is an example of a much longer spec than we've seen thus far:
.. code-block:: none
mpileaks @1.2:1.4 %gcc@4.7.5 +debug -qt arch=bgq_os ^callpath @1.1 %gcc@4.7.2
mpileaks @1.2:1.4 %gcc@4.7.5 +debug -qt target=x86_64 ^callpath @1.1 %gcc@4.7.2
If provided to ``spack install``, this will install the ``mpileaks``
library at some version between ``1.2`` and ``1.4`` (inclusive),
built using ``gcc`` at version 4.7.5 for the Blue Gene/Q architecture,
built using ``gcc`` at version 4.7.5 for a generic ``x86_64`` architecture,
with debug options enabled, and without Qt support. Additionally, it
says to link it with the ``callpath`` library (which it depends on),
and to build callpath with ``gcc`` 4.7.2. Most specs will not be as
@@ -862,7 +969,7 @@ Variants are named options associated with a particular package. They are
optional, as each package must provide default values for each variant it
makes available. Variants can be specified using
a flexible parameter syntax ``name=<value>``. For example,
``spack install libelf debug=True`` will install libelf built with debug
``spack install mercury debug=True`` will install mercury built with debug
flags. The names of particular variants available for a package depend on
what was provided by the package author. ``spack info <package>`` will
provide information on what build variants are available.
@@ -870,11 +977,11 @@ provide information on what build variants are available.
For compatibility with earlier versions, variants which happen to be
boolean in nature can be specified by a syntax that represents turning
options on and off. For example, in the previous spec we could have
supplied ``libelf +debug`` with the same effect of enabling the debug
supplied ``mercury +debug`` with the same effect of enabling the debug
compile time option for the libelf package.
Depending on the package a variant may have any default value. For
``libelf`` here, ``debug`` is ``False`` by default, and we turned it on
``mercury`` here, ``debug`` is ``False`` by default, and we turned it on
with ``debug=True`` or ``+debug``. If a variant is ``True`` by default
you can turn it off by either adding ``-name`` or ``~name`` to the spec.
@@ -1234,6 +1341,88 @@ add a version specifier to the spec:
Notice that the package versions that provide insufficient MPI
versions are now filtered out.
-----------------------------
Deprecating insecure packages
-----------------------------
``spack deprecate`` allows for the removal of insecure packages with
minimal impact to their dependents.
.. warning::
The ``spack deprecate`` command is designed for use only in
extraordinary circumstances. This is a VERY big hammer to be used
with care.
The ``spack deprecate`` command will remove one package and replace it
with another by replacing the deprecated package's prefix with a link
to the deprecator package's prefix.
.. warning::
The ``spack deprecate`` command makes no promises about binary
compatibility. It is up to the user to ensure the deprecator is
suitable for the deprecated package.
Spack tracks concrete deprecated specs and ensures that no future packages
concretize to a deprecated spec.
The first spec given to the ``spack deprecate`` command is the package
to deprecate. It is an abstract spec that must describe a single
installed package. The second spec argument is the deprecator
spec. By default it must be an abstract spec that describes a single
installed package, but with the ``-i/--install-deprecator`` it can be
any abstract spec that Spack will install and then use as the
deprecator. The ``-I/--no-install-deprecator`` option will ensure
the default behavior.
By default, ``spack deprecate`` will deprecate all dependencies of the
deprecated spec, replacing each by the dependency of the same name in
the deprecator spec. The ``-d/--dependencies`` option will ensure the
default, while the ``-D/--no-dependencies`` option will deprecate only
the root of the deprecate spec in favor of the root of the deprecator
spec.
``spack deprecate`` can use symbolic links or hard links. The default
behavior is symbolic links, but the ``-l/--link-type`` flag can take
options ``hard`` or ``soft``.
-----------------------
Verifying installations
-----------------------
The ``spack verify`` command can be used to verify the validity of
Spack-installed packages any time after installation.
At installation time, Spack creates a manifest of every file in the
installation prefix. For links, Spack tracks the mode, ownership, and
destination. For directories, Spack tracks the mode, and
ownership. For files, Spack tracks the mode, ownership, modification
time, hash, and size. The Spack verify command will check, for every
file in each package, whether any of those attributes have changed. It
will also check for newly added files or deleted files from the
installation prefix. Spack can either check all installed packages
using the `-a,--all` or accept specs listed on the command line to
verify.
The ``spack verify`` command can also verify for individual files that
they haven't been altered since installation time. If the given file
is not in a Spack installation prefix, Spack will report that it is
not owned by any package. To check individual files instead of specs,
use the ``-f,--files`` option.
Spack installation manifests are part of the tarball signed by Spack
for binary package distribution. When installed from a binary package,
Spack uses the packaged installation manifest instead of creating one
at install time.
The ``spack verify`` command also accepts the ``-l,--local`` option to
check only local packages (as opposed to those used transparently from
``upstream`` spack instances) and the ``-j,--json`` option to output
machine-readable json data for any errors.
.. _extensions:
---------------------------

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -57,10 +57,13 @@ directory. Here's an example of an external configuration:
packages:
openmpi:
paths:
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-debian7-x86_64: /opt/openmpi-1.6.5-intel
externals:
- spec: "openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64"
prefix: /opt/openmpi-1.4.3
- spec: "openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64+debug"
prefix: /opt/openmpi-1.4.3-debug
- spec: "openmpi@1.6.5%intel@10.1 arch=linux-debian7-x86_64"
prefix: /opt/openmpi-1.6.5-intel
This example lists three installations of OpenMPI, one built with GCC,
one built with GCC and debug information, and another built with Intel.
@@ -76,13 +79,15 @@ of the installation prefixes. The following example says that module
.. code-block:: yaml
cmake:
modules:
cmake@3.7.2: CMake/3.7.2
externals:
- spec: cmake@3.7.2
modules:
- CMake/3.7.2
Each ``packages.yaml`` begins with a ``packages:`` token, followed
by a list of package names. To specify externals, add a ``paths`` or ``modules``
token under the package name, which lists externals in a
``spec: /path`` or ``spec: module-name`` format. Each spec should be as
Each ``packages.yaml`` begins with a ``packages:`` attribute, followed
by a list of package names. To specify externals, add an ``externals:``
attribute under the package name, which lists externals.
Each external should specify a ``spec:`` string that should be as
well-defined as reasonably possible. If a
package lacks a spec component, such as missing a compiler or
package version, then Spack will guess the missing component based
@@ -106,10 +111,13 @@ be:
packages:
openmpi:
paths:
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-debian7-x86_64: /opt/openmpi-1.6.5-intel
externals:
- spec: "openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64"
prefix: /opt/openmpi-1.4.3
- spec: "openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64+debug"
prefix: /opt/openmpi-1.4.3-debug
- spec: "openmpi@1.6.5%intel@10.1 arch=linux-debian7-x86_64"
prefix: /opt/openmpi-1.6.5-intel
buildable: False
The addition of the ``buildable`` flag tells Spack that it should never build
@@ -137,10 +145,13 @@ but more conveniently:
mpi:
buildable: False
openmpi:
paths:
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-debian7-x86_64: /opt/openmpi-1.6.5-intel
externals:
- spec: "openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64"
prefix: /opt/openmpi-1.4.3
- spec: "openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64+debug"
prefix: /opt/openmpi-1.4.3-debug
- spec: "openmpi@1.6.5%intel@10.1 arch=linux-debian7-x86_64"
prefix: /opt/openmpi-1.6.5-intel
Implementations can also be listed immediately under the virtual they provide:
@@ -172,8 +183,9 @@ After running this command your ``packages.yaml`` may include new entries:
packages:
cmake:
paths:
cmake@3.17.2: /usr
externals:
- spec: cmake@3.17.2
prefix: /usr
Generally this is useful for detecting a small set of commonly-used packages;
for now this is generally limited to finding build-only dependencies.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -29,6 +29,7 @@ on these ideas for each distinct build system that Spack supports:
:maxdepth: 1
:caption: Make-incompatible
build_systems/mavenpackage
build_systems/sconspackage
build_systems/wafpackage
@@ -58,7 +59,9 @@ on these ideas for each distinct build system that Spack supports:
build_systems/bundlepackage
build_systems/cudapackage
build_systems/inteloneapipackage
build_systems/intelpackage
build_systems/rocmpackage
build_systems/custompackage
For reference, the :py:mod:`Build System API docs <spack.build_systems>`

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -155,7 +155,7 @@ version, this can be done like so:
@property
def force_autoreconf(self):
return self.version == Version('1.2.3'):
return self.version == Version('1.2.3')
^^^^^^^^^^^^^^^^^^^^^^^
Finding configure flags

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -9,35 +9,120 @@
CudaPackage
-----------
Different from other packages, ``CudaPackage`` does not represent a build
system. Instead its goal is to simplify and unify usage of ``CUDA`` in other
packages.
Different from other packages, ``CudaPackage`` does not represent a build system.
Instead its goal is to simplify and unify usage of ``CUDA`` in other packages by providing a `mixin-class <https://en.wikipedia.org/wiki/Mixin>`_.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Provided variants and dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You can find source for the package at
`<https://github.com/spack/spack/blob/develop/lib/spack/spack/build_systems/cuda.py>`__.
``CudaPackage`` provides ``cuda`` variant (default to ``off``) to enable/disable
``CUDA``, and ``cuda_arch`` variant to optionally specify the architecture.
It also declares dependencies on the ``CUDA`` package ``depends_on('cuda@...')``
based on the architecture as well as specifies conflicts for certain compiler versions.
^^^^^^^^
Variants
^^^^^^^^
This package provides the following variants:
* **cuda**
This variant is used to enable/disable building with ``CUDA``. The default
is disabled (or ``False``).
* **cuda_arch**
This variant supports the optional specification of the architecture.
Valid values are maintained in the ``cuda_arch_values`` property and
are the numeric character equivalent of the compute capability version
(e.g., '10' for version 1.0). Each provided value affects associated
``CUDA`` dependencies and compiler conflicts.
GPUs and their compute capability versions are listed at
https://developer.nvidia.com/cuda-gpus .
^^^^^^^^^
Conflicts
^^^^^^^^^
Conflicts are used to prevent builds with known bugs or issues. While
base ``CUDA`` conflicts have been included with this package, you may
want to add more for your software.
For example, if your package requires ``cuda_arch`` to be specified when
``cuda`` is enabled, you can add the following conflict to your package
to terminate such build attempts with a suitable message:
.. code-block:: python
conflicts('cuda_arch=none', when='+cuda',
msg='CUDA architecture is required')
Similarly, if your software does not support all versions of the property,
you could add ``conflicts`` to your package for those versions. For example,
suppose your software does not work with CUDA compute capability versions
prior to SM 5.0 (``50``). You can add the following code to display a
custom message should a user attempt such a build:
.. code-block:: python
unsupported_cuda_archs = [
'10', '11', '12', '13',
'20', '21',
'30', '32', '35', '37'
]
for value in unsupported_cuda_archs:
conflicts('cuda_arch={0}'.format(value), when='+cuda',
msg='CUDA architecture {0} is not supported'.format(value))
^^^^^^^
Methods
^^^^^^^
This package provides one custom helper method, which is used to build
standard CUDA compiler flags.
**cuda_flags**
This built-in static method returns a list of command line flags
for the chosen ``cuda_arch`` value(s). The flags are intended to
be passed to the CUDA compiler driver (i.e., ``nvcc``).
This method must be explicitly called when you are creating the
arguments for your build in order to use the values.
^^^^^
Usage
^^^^^
In order to use it, just add another base class to your package, for example:
This helper package can be added to your package by adding it as a base
class of your package. For example, you can add it to your
:ref:`CMakePackage <cmakepackage>`-based package as follows:
.. code-block:: python
:emphasize-lines: 1,7-16
class MyPackage(CMakePackage, CudaPackage):
class MyCudaPackage(CMakePackage, CudaPackage):
...
def cmake_args(self):
spec = self.spec
args = []
...
if '+cuda' in spec:
options.append('-DWITH_CUDA=ON')
cuda_arch = spec.variants['cuda_arch'].value
# Set up the cuda macros needed by the build
args.append('-DWITH_CUDA=ON')
cuda_arch_list = spec.variants['cuda_arch'].value
cuda_arch = cuda_arch_list[0]
if cuda_arch != 'none':
options.append('-DCUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch[0]))
args.append('-DCUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch))
else:
options.append('-DWITH_CUDA=OFF')
# Ensure build with cuda is disabled
args.append('-DWITH_CUDA=OFF')
...
return args
assuming only the ``WITH_CUDA`` and ``CUDA_FLAGS`` flags are required.
You will need to customize options as needed for your build.
This example also illustrates how to check for the ``cuda`` variant using
``self.spec`` and how to retrieve the ``cuda_arch`` variant's value, which
is a list, using ``self.spec.variants['cuda_arch'].value``.
With over 70 packages using ``CudaPackage`` as of January 2021 there are
lots of examples to choose from to get more ideas for using this package.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -9,7 +9,7 @@
Custom Build Systems
--------------------
While the build systems listed above should meet your needs for the
While the built-in build systems should meet your needs for the
vast majority of packages, some packages provide custom build scripts.
This guide is intended for the following use cases:
@@ -31,7 +31,7 @@ installation. Both of these packages require custom build systems.
Base class
^^^^^^^^^^
If your package does not belong to any of the aforementioned build
If your package does not belong to any of the built-in build
systems that Spack already supports, you should inherit from the
``Package`` base class. ``Package`` is a simple base class with a
single phase: ``install``. If your package is simple, you may be able
@@ -168,7 +168,8 @@ if and only if this flag is set, we would use the following line:
Testing
^^^^^^^
Let's put everything together and add unit tests to our package.
Let's put everything together and add unit tests to be optionally run
during the installation of our package.
In the ``perl`` package, we can see:
.. code-block:: python
@@ -182,12 +183,6 @@ As you can guess, this runs ``make test`` *after* building the package,
if and only if testing is requested. Again, this is not specific to
custom build systems, it can be added to existing build systems as well.
Ideally, every package in Spack will have some sort of test to ensure
that it was built correctly. It is up to the package authors to make
sure this happens. If you are adding a package for some software and
the developers list commands to test the installation, please add these
tests to your ``package.py``.
.. warning::
The order of decorators matters. The following ordering:
@@ -207,3 +202,12 @@ tests to your ``package.py``.
the tests will always be run regardless of whether or not
``--test=root`` is requested. See https://github.com/spack/spack/issues/3833
for more information
Ideally, every package in Spack will have some sort of test to ensure
that it was built correctly. It is up to the package authors to make
sure this happens. If you are adding a package for some software and
the developers list commands to test the installation, please add these
tests to your ``package.py``.
For more information on other forms of package testing, refer to
:ref:`Checking an installation <checking_an_installation>`.

View File

@@ -0,0 +1,155 @@
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _inteloneapipackage:
====================
IntelOneapiPackage
====================
.. contents::
oneAPI packages in Spack
========================
Spack can install and use the Intel oneAPI products. You may either
use spack to install the oneAPI tools or use the `Intel
installers`_. After installation, you may use the tools directly, or
use Spack to build packages with the tools.
The Spack Python class ``IntelOneapiPackage`` is a base class that is
used by ``IntelOneapiCompilers``, ``IntelOneapiMkl``,
``IntelOneapiTbb`` and other classes to implement the oneAPI
packages. See the :ref:`package-list` for the full list of available
oneAPI packages or use::
spack list -d oneAPI
For more information on a specific package, do::
spack info <package-name>
Intel no longer releases new versions of Parallel Studio, which can be
used in Spack via the :ref:`intelpackage`. All of its components can
now be found in oneAPI.
Examples
========
Building a Package With icx
---------------------------
In this example, we build patchelf with ``icc`` and ``icx``. The
compilers are installed with spack.
Install the oneAPI compilers::
spack install intel-oneapi-compilers
Add the compilers to your ``compilers.yaml`` so spack can use them::
spack compiler add `spack location -i intel-oneapi-compilers`/compiler/latest/linux/bin/intel64
spack compiler add `spack location -i intel-oneapi-compilers`/compiler/latest/linux/bin
Verify that the compilers are available::
spack compiler list
The ``intel-oneapi-compilers`` package includes 2 families of
compilers:
* ``intel``: ``icc``, ``icpc``, ``ifort``. Intel's *classic*
compilers.
* ``oneapi``: ``icx``, ``icpx``, ``ifx``. Intel's new generation of
compilers based on LLVM.
To build the ``patchelf`` Spack package with ``icc``, do::
spack install patchelf%intel
To build with with ``icx``, do ::
spack install patchelf%oneapi
Using oneAPI MPI to Satisfy a Virtual Dependence
------------------------------------------------------
The ``hdf5`` package works with any compatible MPI implementation. To
build ``hdf5`` with Intel oneAPI MPI do::
spack install hdf5 +mpi ^intel-oneapi-mpi
Using an Externally Installed oneAPI
====================================
Spack can also use oneAPI tools that are manually installed with
`Intel Installers`_. The procedures for configuring Spack to use
external compilers and libraries are different.
Compilers
---------
To use the compilers, add some information about the installation to
``compilers.yaml``. For most users, it is sufficient to do::
spack compiler add /opt/intel/oneapi/compiler/latest/linux/bin/intel64
spack compiler add /opt/intel/oneapi/compiler/latest/linux/bin
Adapt the paths above if you did not install the tools in the default
location. After adding the compilers, using them is the same
as if you had installed the ``intel-oneapi-compilers`` package.
Another option is to manually add the configuration to
``compilers.yaml`` as described in :ref:`Compiler configuration
<compiler-config>`.
Libraries
---------
If you want Spack to use MKL that you have installed without Spack in
the default location, then add the following to
``~/.spack/packages.yaml``, adjusting the version as appropriate::
intel-oneapi-mkl:
externals:
- spec: intel-oneapi-mkl@2021.1.1
prefix: /opt/intel/oneapi/
Using oneAPI Tools Installed by Spack
=====================================
Spack can be a convenient way to install and configure compilers and
libaries, even if you do not intend to build a Spack package. If you
want to build a Makefile project using Spack-installed oneAPI compilers,
then use spack to configure your environment::
spack load intel-oneapi-compilers
And then you can build with::
CXX=icpx make
You can also use Spack-installed libraries. For example::
spack load intel-oneapi-mkl
Will update your environment CPATH, LIBRARY_PATH, and other
environment variables for building an application with MKL.
More information
================
This section describes basic use of oneAPI, especially if it has
changed compared to Parallel Studio. See :ref:`intelpackage` for more
information on :ref:`intel-virtual-packages`,
:ref:`intel-unrelated-packages`,
:ref:`intel-integrating-external-libraries`, and
:ref:`using-mkl-tips`.
.. _`Intel installers`: https://software.intel.com/content/www/us/en/develop/documentation/installation-guide-for-intel-oneapi-toolkits-linux/top.html

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -137,6 +137,7 @@ If you need to save disk space or installation time, you could install the
``intel`` compilers-only subset (0.6 GB) and just the library packages you
need, for example ``intel-mpi`` (0.5 GB) and ``intel-mkl`` (2.5 GB).
.. _intel-unrelated-packages:
""""""""""""""""""""
Unrelated packages
@@ -358,6 +359,8 @@ affected by an advanced third method:
Next, visit section `Selecting Intel Compilers`_ to learn how to tell
Spack to use the newly configured compilers.
.. _intel-integrating-external-libraries:
""""""""""""""""""""""""""""""""""
Integrating external libraries
""""""""""""""""""""""""""""""""""
@@ -418,9 +421,13 @@ Adapt the following example. Be sure to maintain the indentation:
# other content ...
intel-mkl:
modules:
intel-mkl@2018.2.199 arch=linux-centos6-x86_64: intel-mkl/18/18.0.2
intel-mkl@2018.3.222 arch=linux-centos6-x86_64: intel-mkl/18/18.0.3
externals:
- spec: "intel-mkl@2018.2.199 arch=linux-centos6-x86_64"
modules:
- intel-mkl/18/18.0.2
- spec: "intel-mkl@2018.3.222 arch=linux-centos6-x86_64"
modules:
- intel-mkl/18/18.0.3
The version numbers for the ``intel-mkl`` specs defined here correspond to file
and directory names that Intel uses for its products because they were adopted
@@ -451,12 +458,16 @@ mechanism.
packages:
intel-parallel-studio:
modules:
intel-parallel-studio@cluster.2018.2.199 +mkl+mpi+ipp+tbb+daal arch=linux-centos6-x86_64: intel/18/18.0.2
intel-parallel-studio@cluster.2018.3.222 +mkl+mpi+ipp+tbb+daal arch=linux-centos6-x86_64: intel/18/18.0.3
externals:
- spec: "intel-parallel-studio@cluster.2018.2.199 +mkl+mpi+ipp+tbb+daal arch=linux-centos6-x86_64"
modules:
- intel/18/18.0.2
- spec: "intel-parallel-studio@cluster.2018.3.222 +mkl+mpi+ipp+tbb+daal arch=linux-centos6-x86_64"
modules:
- intel/18/18.0.3
buildable: False
One additional example illustrates the use of ``paths:`` instead of
One additional example illustrates the use of ``prefix:`` instead of
``modules:``, useful when external modulefiles are not available or not
suitable:
@@ -464,13 +475,15 @@ suitable:
packages:
intel-parallel-studio:
paths:
intel-parallel-studio@cluster.2018.2.199 +mkl+mpi+ipp+tbb+daal: /opt/intel
intel-parallel-studio@cluster.2018.3.222 +mkl+mpi+ipp+tbb+daal: /opt/intel
externals:
- spec: "intel-parallel-studio@cluster.2018.2.199 +mkl+mpi+ipp+tbb+daal"
prefix: /opt/intel
- spec: "intel-parallel-studio@cluster.2018.3.222 +mkl+mpi+ipp+tbb+daal"
prefix: /opt/intel
buildable: False
Note that for the Intel packages discussed here, the directory values in the
``paths:`` entries must be the high-level and typically version-less
``prefix:`` entries must be the high-level and typically version-less
"installation directory" that has been used by Intel's product installer.
Such a directory will typically accumulate various product versions. Amongst
them, Spack will select the correct version-specific product directory based on
@@ -548,43 +561,29 @@ follow `the next section <intel-install-libs_>`_ instead.
modules: []
spec: intel@18.0.3
paths:
cc: stub
cxx: stub
f77: stub
fc: stub
cc: /usr/bin/true
cxx: /usr/bin/true
f77: /usr/bin/true
fc: /usr/bin/true
Replace ``18.0.3`` with the version that you determined in the preceding
step. The contents under ``paths:`` do not matter yet.
step. The exact contents under ``paths:`` do not matter yet, but the paths must exist.
You are right to ask: "Why on earth is that necessary?" [fn8]_.
The answer lies in Spack striving for strict compiler consistency.
Consider what happens without such a pre-declared compiler stub:
Say, you ask Spack to install a particular version
``intel-parallel-studio@edition.V``. Spack will apply an unrelated compiler
spec to concretize and install your request, resulting in
``intel-parallel-studio@edition.V %X``. That compiler ``%X`` is not going to
be the version that this new package itself provides. Rather, it would
typically be ``%gcc@...`` in a default Spack installation or possibly indeed
``%intel@...``, but at a version that precedes ``V``.
This temporary stub is required such that the ``intel-parallel-studio`` package
can be installed for the ``intel`` compiler (which the package itself is going
to provide after the installation) rather than an arbitrary system compiler.
The paths given in ``cc``, ``cxx``, ``f77``, ``fc`` must exist, but will
never be used to build anything during the installation of ``intel-parallel-studio``.
The problem comes to the fore as soon as you try to use any virtual ``mkl``
or ``mpi`` packages that you would expect to now be provided by
``intel-parallel-studio@edition.V``. Spack will indeed see those virtual
packages, but only as being tied to the compiler that the package
``intel-parallel-studio@edition.V`` was concretized with *at installation*.
If you were to install a client package with the new compilers now available
to you, you would naturally run ``spack install foo +mkl %intel@V``, yet
Spack will either complain about ``mkl%intel@V`` being missing (because it
only knows about ``mkl%X``) or it will go and attempt to install *another
instance* of ``intel-parallel-studio@edition.V %intel@V`` so as to match the
compiler spec ``%intel@V`` that you gave for your client package ``foo``.
This will be unexpected and will quickly get annoying because each
reinstallation takes up time and extra disk space.
The reason for this stub is that ``intel-parallel-studio`` also provides the
``mpi`` and ``mkl`` packages and when concretizing a spec, Spack ensures
strong consistency of the used compiler across all dependencies: [fn8]_.
Installing a package ``foo +mkl %intel`` will make Spack look for a package
``mkl %intel``, which can be provided by ``intel-parallel-studio+mkl %intel``,
but not by ``intel-parallel-studio+mkl %gcc``.
To escape this trap, put the compiler stub declaration shown here in place,
then use that pre-declared compiler spec to install the actual package, as
shown next. This approach works because during installation only the
package's own self-sufficient installer will be used, not any compiler.
Failure to do so may result in additional installations of ``mkl``, ``intel-mpi`` or
even ``intel-parallel-studio`` as dependencies for other packages.
.. _`verify-compiler-anticipated`:
@@ -635,11 +634,25 @@ follow `the next section <intel-install-libs_>`_ instead.
want to use the ``intel64`` variant. The ``icpc`` and ``ifort`` compilers
will be located in the same directory as ``icc``.
* Use the ``modules:`` and/or ``cflags:`` tokens to specify a suitable accompanying
* Make sure to specify ``modules: ['intel-parallel-studio-cluster2018.3-intel-18.0.3-HASH']``
(with ``HASH`` being the short hash as displayed when running
``spack find -l intel-parallel-studio@cluster.2018.3`` and the versions adapted accordingly)
to ensure that the correct and complete environment for the Intel compilers gets
loaded when running them. With modern versions of the Intel compiler you may otherwise see
issues about missing libraries. Please also note that module name must exactly match
the name as returned by ``module avail`` (and shown in the example above).
* Use the ``modules:`` and/or ``cflags:`` tokens to further specify a suitable accompanying
``gcc`` version to help pacify picky client packages that ask for C++
standards more recent than supported by your system-provided ``gcc`` and its
``libstdc++.so``.
* If you specified a custom variant (for example ``+vtune``) you may want to add this as your
preferred variant in the packages configuration for the ``intel-parallel-studio`` package
as described in :ref:`concretization-preferences`. Otherwise you will have to specify
the variant everytime ``intel-parallel-studio`` is being used as ``mkl``, ``fftw`` or ``mpi``
implementation to avoid pulling in a different variant.
* To set the Intel compilers for default use in Spack, instead of the usual ``%gcc``,
follow section `Selecting Intel compilers`_.
@@ -824,6 +837,7 @@ for example:
compiler: [ intel@18, intel@17, gcc@4.4.7, gcc@4.9.3, gcc@7.3.0, ]
.. _intel-virtual-packages:
""""""""""""""""""""""""""""""""""""""""""""""""
Selecting libraries to satisfy virtual packages
@@ -897,6 +911,7 @@ With the proper installation as detailed above, no special steps should be
required when a client package specifically (and thus deliberately) requests an
Intel package as dependency, this being one of the target use cases for Spack.
.. _using-mkl-tips:
"""""""""""""""""""""""""""""""""""""""""""""""
Tips for configuring client packages to use MKL

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -147,8 +147,10 @@ and a ``filter_file`` method to help with this. For example:
def edit(self, spec, prefix):
makefile = FileFilter('Makefile')
makefile.filter('CC = gcc', 'CC = cc')
makefile.filter('CXX = g++', 'CC = c++')
makefile.filter(r'^\s*CC\s*=.*', 'CC = ' + spack_cc)
makefile.filter(r'^\s*CXX\s*=.*', 'CXX = ' + spack_cxx)
makefile.filter(r'^\s*F77\s*=.*', 'F77 = ' + spack_f77)
makefile.filter(r'^\s*FC\s*=.*', 'FC = ' + spack_fc)
`stream <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/stream/package.py>`_

View File

@@ -0,0 +1,102 @@
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _mavenpackage:
------------
MavenPackage
------------
Apache Maven is a general-purpose build system that does not rely
on Makefiles to build software. It is designed for building and
managing and Java-based project.
^^^^^^
Phases
^^^^^^
The ``MavenPackage`` base class comes with the following phases:
#. ``build`` - compile code and package into a JAR file
#. ``install`` - copy to installation prefix
By default, these phases run:
.. code-block:: console
$ mvn package
$ install . <prefix>
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
Maven packages can be identified by the presence of a ``pom.xml`` file.
This file lists dependencies and other metadata about the project.
There may also be configuration files in the ``.mvn`` directory.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
Maven requires the ``mvn`` executable to build the project. It also
requires Java at both build- and run-time. Because of this, the base
class automatically adds the following dependencies:
.. code-block:: python
depends_on('java', type=('build', 'run'))
depends_on('maven', type='build')
In the ``pom.xml`` file, you may see sections like:
.. code-block:: xml
<requireJavaVersion>
<version>[1.7,)</version>
</requireJavaVersion>
<requireMavenVersion>
<version>[3.5.4,)</version>
</requireMavenVersion>
This specifies the versions of Java and Maven that are required to
build the package. See
https://docs.oracle.com/middleware/1212/core/MAVEN/maven_version.htm#MAVEN402
for a description of this version range syntax. In this case, you
should add:
.. code-block:: python
depends_on('java@7:', type='build')
depends_on('maven@3.5.4:', type='build')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to the build phase
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The default build and install phases should be sufficient to install
most packages. However, you may want to pass additional flags to
the build phase. For example:
.. code-block:: python
def build_args(self):
return [
'-Pdist,native',
'-Dtar',
'-Dmaven.javadoc.skip=true'
]
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on the Maven build system, see:
https://maven.apache.org/index.html

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -121,11 +121,15 @@ override the ``meson_args`` method like so:
.. code-block:: python
def meson_args(self):
return ['--default-library=both']
return ['--warnlevel=3']
This method can be used to pass flags as well as variables.
Note that the ``MesonPackage`` base class already defines variants for
``buildtype``, ``default_library`` and ``strip``, which are mapped to default
Meson arguments, meaning that you don't have to specify these.
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -120,8 +120,6 @@ so ``PerlPackage`` contains:
extends('perl')
depends_on('perl', type=('build', 'run'))
If your package requires a specific version of Perl, you should
specify this.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -23,20 +23,11 @@ can be overridden:
* ``build_ext``
* ``build_clib``
* ``build_scripts``
* ``clean``
* ``install``
* ``install_lib``
* ``install_headers``
* ``install_scripts``
* ``install_data``
* ``sdist``
* ``register``
* ``bdist``
* ``bdist_dumb``
* ``bdist_rpm``
* ``bdist_wininst``
* ``upload``
* ``check``
These are all standard ``setup.py`` commands and can be found by running:
@@ -55,7 +46,7 @@ If for whatever reason you need to run more phases, simply modify your
.. code-block:: python
phases = ['build_ext', 'install', 'bdist']
phases = ['build_ext', 'install']
Each phase provides a function ``<phase>`` that runs:
@@ -81,6 +72,24 @@ you'll need to define a function for it like so:
self.setup_py('configure')
^^^^^^
Wheels
^^^^^^
Some Python packages are closed-source and distributed as wheels.
Instead of using the ``PythonPackage`` base class, you should extend
the ``Package`` base class and implement the following custom installation
procedure:
.. code-block:: python
def install(self, spec, prefix):
pip = which('pip')
pip('install', self.stage.archive_file, '--prefix={0}'.format(prefix))
This will require a dependency on pip, as mentioned below.
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
@@ -95,9 +104,30 @@ file should be considered to be the truth. As dependencies are added or
removed, the documentation is much more likely to become outdated than
the ``setup.py``.
^^^^^^^^^^^^^^^^^^^^^^^
Finding Python packages
^^^^^^^^^^^^^^^^^^^^^^^
The Python ecosystem has evolved significantly over the years. Before
setuptools became popular, most packages listed their dependencies in a
``requirements.txt`` file. Once setuptools took over, these dependencies
were listed directly in the ``setup.py``. Newer PEPs introduced additional
files, like ``setup.cfg`` and ``pyproject.toml``. You should look out for
all of these files, as they may all contain important information about
package dependencies.
Some Python packages are closed-source and are distributed as Python
wheels. For example, ``py-azureml-sdk`` downloads a ``.whl`` file. This
file is simply a zip file, and can be extracted using:
.. code-block:: console
$ unzip *.whl
The zip file will not contain a ``setup.py``, but it will contain a
``METADATA`` file which contains all the information you need to
write a ``package.py`` build recipe.
^^^^
PyPI
^^^^
The vast majority of Python packages are hosted on PyPI - The Python
Package Index. ``pip`` only supports packages hosted on PyPI, making
@@ -105,8 +135,29 @@ it the only option for developers who want a simple installation.
Search for "PyPI <package-name>" to find the download page. Note that
some pages are versioned, and the first result may not be the newest
version. Click on the "Latest Version" button to the top right to see
if a newer version is available. The download page is usually at:
https://pypi.org/project/<package-name>
if a newer version is available. The download page is usually at::
https://pypi.org/project/<package-name>
Since PyPI is so common, the ``PythonPackage`` base class has a
``pypi`` attribute that can be set. Once set, ``pypi`` will be used
to define the ``homepage``, ``url``, and ``list_url``. For example,
the following:
.. code-block:: python
homepage = 'https://pypi.org/project/setuptools/'
url = 'https://pypi.org/packages/source/s/setuptools/setuptools-49.2.0.zip'
list_url = 'https://pypi.org/simple/setuptools/'
is equivalent to:
.. code-block:: python
pypi = 'setuptools/setuptools-49.2.0.zip'
^^^^^^^^^^^
Description
@@ -144,50 +195,38 @@ also get the homepage on the command-line by running:
URL
^^^
You may have noticed that Spack allows you to add multiple versions of
the same package without adding multiple versions of the download URL.
It does this by guessing what the version string in the URL is and
replacing this with the requested version. Obviously, if Spack cannot
guess the version correctly, or if non-version-related things change
in the URL, Spack cannot substitute the version properly.
If ``pypi`` is set as mentioned above, ``url`` and ``list_url`` will
be automatically set for you. If both ``.tar.gz`` and ``.zip`` versions
are available, ``.tar.gz`` is preferred. If some releases offer both
``.tar.gz`` and ``.zip`` versions, but some only offer ``.zip`` versions,
use ``.zip``.
Once upon a time, PyPI offered nice, simple download URLs like:
https://pypi.python.org/packages/source/n/numpy/numpy-1.13.1.zip
Some Python packages are closed-source and do not ship ``.tar.gz`` or ``.zip``
files on either PyPI or GitHub. If this is the case, you can still download
and install a Python wheel. For example, ``py-azureml-sdk`` is closed source
and can be downloaded from::
As you can see, the version is 1.13.1. It probably isn't hard to guess
what URL to use to download version 1.12.0, and Spack was perfectly
capable of performing this calculation.
https://pypi.io/packages/py3/a/azureml_sdk/azureml_sdk-1.11.0-py3-none-any.whl
However, PyPI switched to a new download URL format:
https://pypi.python.org/packages/c0/3a/40967d9f5675fbb097ffec170f59c2ba19fc96373e73ad47c2cae9a30aed/numpy-1.13.1.zip#md5=2c3c0f4edf720c3a7b525dacc825b9ae
and more recently:
https://files.pythonhosted.org/packages/b0/2b/497c2bb7c660b2606d4a96e2035e92554429e139c6c71cdff67af66b58d2/numpy-1.14.3.zip
You may see Python-specific or OS-specific URLs. Note that when you add a
``.whl`` URL, you should add ``expand=False`` to ensure that Spack doesn't
try to extract the wheel:
As you can imagine, it is impossible for Spack to guess what URL to
use to download version 1.12.0 given this URL. There is a solution,
however. PyPI offers a new hidden interface for downloading
Python packages that does not include a hash in the URL:
https://pypi.io/packages/source/n/numpy/numpy-1.13.1.zip
.. code-block:: python
This URL redirects to the files.pythonhosted.org URL. The general syntax for
this pypi.io URL is:
https://pypi.io/packages/source/<first-letter-of-name>/<name>/<name>-<version>.<extension>
version('1.11.0', sha256='d8c9d24ea90457214d798b0d922489863dad518adde3638e08ef62de28fb183a', expand=False)
Please use the pypi.io URL instead of the pypi.python.org URL. If both
``.tar.gz`` and ``.zip`` versions are available, ``.tar.gz`` is preferred.
If some releases offer both ``.tar.gz`` and ``.zip`` versions, but some
only offer ``.zip`` versions, use ``.zip``.
"""""""""""""""
PyPI vs. GitHub
"""""""""""""""
Many packages are hosted on PyPI, but are developed on GitHub and other
Many packages are hosted on PyPI, but are developed on GitHub or another
version control systems. The tarball can be downloaded from either
location, but PyPI is preferred for the following reasons:
#. PyPI contains the bare minimum of files to install the package.
#. PyPI contains the bare minimum number of files needed to install the package.
You may notice that the tarball you download from PyPI does not
have the same checksum as the tarball you download from GitHub.
@@ -224,25 +263,6 @@ location, but PyPI is preferred for the following reasons:
PyPI is nice because it makes it physically impossible to
re-release the same version of a package with a different checksum.
There are some reasons to prefer downloading from GitHub:
#. The GitHub tarball may contain unit tests
As previously mentioned, the PyPI tarball contains the bare minimum
of files to install the package. Unless explicitly specified by the
developers, it will not contain development files like unit tests.
If you desire to run the unit tests during installation, you should
use the GitHub tarball instead.
#. Spack does not yet support ``spack versions`` and ``spack checksum``
with PyPI URLs
These commands work just fine with GitHub URLs. This is a minor
annoyance, not a reason to prefer GitHub over PyPI.
If you really want to run these unit tests, no one will stop you from
submitting a PR for a new package that downloads from GitHub.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -262,26 +282,26 @@ mentions that Python 3 is required, this can be specified as:
.. code-block:: python
depends_on('python@3:', type=('build', 'run')
depends_on('python@3:', type=('build', 'run'))
If Python 2 is required, this would look like:
.. code-block:: python
depends_on('python@:2', type=('build', 'run')
depends_on('python@:2', type=('build', 'run'))
If Python 2.7 is the only version that works, you can use:
.. code-block:: python
depends_on('python@2.7:2.8', type=('build', 'run')
depends_on('python@2.7:2.8', type=('build', 'run'))
The documentation may not always specify supported Python versions.
Another place to check is in the ``setup.py`` file. Look for a line
containing ``python_requires``. An example from
Another place to check is in the ``setup.py`` or ``setup.cfg`` file.
Look for a line containing ``python_requires``. An example from
`py-numpy <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/py-numpy/package.py>`_
looks like:
@@ -290,7 +310,7 @@ looks like:
python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*'
More commonly, you will find a version check at the top of the file:
You may also find a version check at the top of the ``setup.py``:
.. code-block:: python
@@ -305,6 +325,39 @@ This can be converted to Spack's spec notation like so:
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
If you are writing a recipe for a package that only distributes
wheels, look for a section in the ``METADATA`` file that looks like::
Requires-Python: >=3.5,<4
This would be translated to:
.. code-block:: python
extends('python')
depends_on('python@3.5:3.999', type=('build', 'run'))
Many ``setup.py`` or ``setup.cfg`` files also contain information like::
Programming Language :: Python :: 2
Programming Language :: Python :: 2.6
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.3
Programming Language :: Python :: 3.4
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
This is a list of versions of Python that the developer likely tests.
However, you should not use this to restrict the versions of Python
the package uses unless one of the two former methods (``python_requires``
or ``sys.version_info``) is used. There is no logic in setuptools
that prevents the package from building for Python versions not in
this list, and often new releases like Python 3.7 or 3.8 work just fine.
""""""""""
setuptools
""""""""""
@@ -317,7 +370,7 @@ Most notably, there was no way to list a project's dependencies
with distutils. Along came setuptools, a non-builtin build system
designed to overcome the limitations of distutils. Both projects
use a similar API, making the transition easy while adding much
needed functionality. Today, setuptools is used in around 75% of
needed functionality. Today, setuptools is used in around 90% of
the Python packages in Spack.
Since setuptools isn't built-in to Python, you need to add it as a
@@ -360,6 +413,20 @@ run-time. This can be specified as:
depends_on('py-setuptools', type='build')
"""
pip
"""
Packages distributed as Python wheels will require an extra dependency
on pip:
.. code-block:: python
depends_on('py-pip', type='build')
We will use pip to install the actual wheel.
""""""
cython
""""""
@@ -383,6 +450,12 @@ where speed is crucial. There is no reason why someone would not
want an optimized version of a library instead of the pure-Python
version.
Note that some release tarballs come pre-cythonized, and cython is
not needed as a dependency. However, this is becoming less common
as Python continues to evolve and developers discover that cythonized
sources are no longer compatible with newer versions of Python and
need to be re-cythonized.
^^^^^^^^^^^^^^^^^^^
Python dependencies
^^^^^^^^^^^^^^^^^^^
@@ -429,21 +502,33 @@ Obviously, this means that ``py-numpy`` is a dependency.
If the package uses ``setuptools``, check for the following clues:
* ``python_requires``
As mentioned above, this specifies which versions of Python are
required.
* ``setup_requires``
These packages are usually only needed at build-time, so you can
add them with ``type='build'``.
* ``install_requires``
These packages are required for installation.
These packages are required for building and installation. You can
add them with ``type=('build', 'run')``.
* ``extra_requires``
These packages are optional dependencies that enable additional
functionality. You should add a variant that optionally adds these
dependencies.
dependencies. This variant should be False by default.
* ``test_requires``
These are packages that are required to run the unit tests for the
package. These dependencies can be specified using the
``type='test'`` dependency type.
``type='test'`` dependency type. However, the PyPI tarballs rarely
contain unit tests, so there is usually no reason to add these.
In the root directory of the package, you may notice a
``requirements.txt`` file. It may look like this file contains a list
@@ -461,13 +546,37 @@ sphinx. If you can't find any information about the package's
dependencies, you can take a look in ``requirements.txt``, but be sure
not to add test or documentation dependencies.
Newer PEPs have added alternative ways to specify a package's dependencies.
If you don't see any dependencies listed in the ``setup.py``, look for a
``setup.cfg`` or ``pyproject.toml``. These files can be used to store the
same ``install_requires`` information that ``setup.py`` used to use.
If you are write a recipe for a package that only distributes wheels,
check the ``METADATA`` file for lines like::
Requires-Dist: azureml-core (~=1.11.0)
Requires-Dist: azureml-dataset-runtime[fuse] (~=1.11.0)
Requires-Dist: azureml-train (~=1.11.0)
Requires-Dist: azureml-train-automl-client (~=1.11.0)
Requires-Dist: azureml-pipeline (~=1.11.0)
Provides-Extra: accel-models
Requires-Dist: azureml-accel-models (~=1.11.0); extra == 'accel-models'
Provides-Extra: automl
Requires-Dist: azureml-train-automl (~=1.11.0); extra == 'automl'
Lines that use ``Requires-Dist`` are similar to ``install_requires``.
Lines that use ``Provides-Extra`` are similar to ``extra_requires``,
and you can add a variant for those dependencies. The ``~=1.11.0``
syntax is equivalent to ``1.11.0:1.11.999``.
""""""""""
setuptools
""""""""""
Setuptools is a bit of a special case. If a package requires setuptools
at run-time, how do they express this? They could add it to
``install_requires``, but setuptools is imported long before this and
``install_requires``, but setuptools is imported long before this and is
needed to read this line. And since you can't install the package
without setuptools, the developers assume that setuptools will already
be there, so they never mention when it is required. We don't want to
@@ -475,7 +584,8 @@ add run-time dependencies if they aren't needed, so you need to
determine whether or not setuptools is needed. Grep the installation
directory for any files containing a reference to ``setuptools`` or
``pkg_resources``. Both modules come from ``py-setuptools``.
``pkg_resources`` is particularly common in scripts in ``prefix/bin``.
``pkg_resources`` is particularly common in scripts found in
``prefix/bin``.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to setup.py
@@ -517,7 +627,8 @@ adds:
Testing
^^^^^^^
``PythonPackage`` provides a couple of options for testing packages.
``PythonPackage`` provides a couple of options for testing packages
both during and after the installation process.
""""""""""""
Import tests
@@ -549,47 +660,75 @@ a "package" is a directory containing files like:
foo/baz.py
whereas a "module" is a single Python file. Since ``find_packages``
only returns packages, you'll have to determine the correct module
names yourself. You can now add these packages and modules to the
package like so:
whereas a "module" is a single Python file.
The ``PythonPackage`` base class automatically detects these module
names for you. If, for whatever reason, the module names detected
are wrong, you can provide the names yourself by overriding
``import_modules`` like so:
.. code-block:: python
import_modules = ['six']
When you run ``spack install --test=root py-six``, Spack will attempt
to import the ``six`` module after installation.
Sometimes the list of module names to import depends on how the
package was built. For example, the ``py-pyyaml`` package has a
``+libyaml`` variant that enables the build of a faster optimized
version of the library. If the user chooses ``~libyaml``, only the
``yaml`` library will be importable. If the user chooses ``+libyaml``,
both the ``yaml`` and ``yaml.cyaml`` libraries will be available.
This can be expressed like so:
These tests most often catch missing dependencies and non-RPATHed
.. code-block:: python
@property
def import_modules(self):
modules = ['yaml']
if '+libyaml' in self.spec:
modules.append('yaml.cyaml')
return modules
These tests often catch missing dependencies and non-RPATHed
libraries. Make sure not to add modules/packages containing the word
"test", as these likely won't end up in installation directory.
"test", as these likely won't end up in the installation directory,
or may require test dependencies like pytest to be installed.
Import tests can be run during the installation using ``spack install
--test=root`` or at any time after the installation using
``spack test run``.
""""""""""
Unit tests
""""""""""
The package you want to install may come with additional unit tests.
By default, Spack runs:
The package may have its own unit or regression tests. Spack can
run these tests during the installation by adding phase-appropriate
test methods.
.. code-block:: console
$ python setup.py test
if it detects that the ``setup.py`` file supports a ``test`` phase.
You can add additional build-time or install-time tests by overriding
``test`` and ``installtest``, respectively. For example, ``py-numpy``
adds:
For example, ``py-numpy`` adds the following as a check to run
after the ``install`` phase:
.. code-block:: python
@run_after('install')
@on_package_attributes(run_tests=True)
def install_test(self):
with working_dir('..'):
python('-c', 'import numpy; numpy.test("full", verbose=2)')
with working_dir('spack-test', create=True):
python('-c', 'import numpy; numpy.test("full", verbose=2)')
when testing is enabled during the installation (i.e., ``spack install
--test=root``).
.. note::
Additional information is available on :ref:`install phase tests
<install_phase-tests>`.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Setup file in a sub-directory
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -629,7 +768,7 @@ PythonPackage vs. packages that use Python
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
There are many packages that make use of Python, but packages that depend
on Python are not necessarily ``PythonPackages``.
on Python are not necessarily ``PythonPackage``'s.
"""""""""""""""""""""""
Choosing a build system
@@ -651,6 +790,8 @@ that the package uses the ``PythonPackage`` build system. However, there
are occasionally packages that use ``PythonPackage`` that shouldn't
start with ``py-``. For example:
* awscli
* aws-parallelcluster
* busco
* easybuild
* httpie
@@ -724,8 +865,8 @@ and ``pip`` may be a perfectly valid alternative to using Spack. The
main advantage of Spack over ``pip`` is its ability to compile
non-Python dependencies. It can also build cythonized versions of a
package or link to an optimized BLAS/LAPACK library like MKL,
resulting in calculations that run orders of magnitude faster.
Spack does not offer a significant advantage to other python-management
resulting in calculations that run orders of magnitudes faster.
Spack does not offer a significant advantage over other python-management
systems for installing and using tools like flake8 and sphinx.
But if you need packages with non-Python dependencies like
numpy and scipy, Spack will be very valuable to you.
@@ -736,8 +877,9 @@ non-Python dependencies. Anaconda contains many Python packages that
are not yet in Spack, and Spack contains many Python packages that are
not yet in Anaconda. The main advantage of Spack over Anaconda is its
ability to choose a specific compiler and BLAS/LAPACK or MPI library.
Spack also has better platform support for supercomputers. On the
other hand, Anaconda offers Windows support.
Spack also has better platform support for supercomputers, and can build
optimized binaries for your specific microarchitecture. On the other hand,
Anaconda offers Windows support.
^^^^^^^^^^^^^^^^^^^^^^
External documentation

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -108,6 +108,19 @@ override the ``qmake_args`` method like so:
This method can be used to pass flags as well as variables.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
``*.pro`` file in a sub-directory
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If the ``*.pro`` file used to tell QMake how to build the package is
found in a sub-directory, you can tell Spack to run all phases in this
sub-directory by adding the following to the package:
.. code-block:: python
build_directory = 'src'
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^

View File

@@ -0,0 +1,122 @@
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _rocmpackage:
-----------
ROCmPackage
-----------
The ``ROCmPackage`` is not a build system but a helper package. Like ``CudaPackage``,
it provides standard variants, dependencies, and conflicts to facilitate building
packages using GPUs though for AMD in this case.
You can find the source for this package (and suggestions for setting up your
``compilers.yaml`` and ``packages.yaml`` files) at
`<https://github.com/spack/spack/blob/develop/lib/spack/spack/build_systems/rocm.py>`__.
^^^^^^^^
Variants
^^^^^^^^
This package provides the following variants:
* **rocm**
This variant is used to enable/disable building with ``rocm``.
The default is disabled (or ``False``).
* **amdgpu_target**
This variant supports the optional specification of the AMD GPU architecture.
Valid values are the names of the GPUs (e.g., ``gfx701``), which are maintained
in the ``amdgpu_targets`` property.
^^^^^^^^^^^^
Dependencies
^^^^^^^^^^^^
This package defines basic ``rocm`` dependencies, including ``llvm`` and ``hip``.
^^^^^^^^^
Conflicts
^^^^^^^^^
Conflicts are used to prevent builds with known bugs or issues. This package
already requires that the ``amdgpu_target`` always be specified for ``rocm``
builds. It also defines a conflict that prevents builds with an ``amdgpu_target``
when ``rocm`` is disabled.
Refer to `Conflicts <https://spack.readthedocs.io/en/latest/packaging_guide.html?highlight=conflicts#conflicts>`__
for more information on package conflicts.
^^^^^^^
Methods
^^^^^^^
This package provides one custom helper method, which is used to build
standard AMD hip compiler flags.
**hip_flags**
This built-in static method returns the appropriately formatted
``--amdgpu-target`` build option for ``hipcc``.
This method must be explicitly called when you are creating the
arguments for your build in order to use the values.
^^^^^
Usage
^^^^^
This helper package can be added to your package by adding it as a base
class of your package. For example, you can add it to your
:ref:`CMakePackage <cmakepackage>`-based package as follows:
.. code-block:: python
:emphasize-lines: 1,3-7,14-25
class MyRocmPackage(CMakePackage, ROCmPackage):
...
# Ensure +rocm and amdgpu_targets are passed to dependencies
depends_on('mydeppackage', when='+rocm')
for val in ROCmPackage.amdgpu_targets:
depends_on('mydeppackage amdgpu_target={0}'.format(val),
when='amdgpu_target={0}'.format(val))
...
def cmake_args(self):
spec = self.spec
args = []
...
if '+rocm' in spec:
# Set up the hip macros needed by the build
args.extend([
'-DENABLE_HIP=ON',
'-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix])
rocm_archs = spec.variants['amdgpu_target'].value
if 'none' not in rocm_archs:
args.append('-DHIP_HIPCC_FLAGS=--amdgpu-target={0}'
.format(",".join(rocm_archs)))
else:
# Ensure build with hip is disabled
args.append('-DENABLE_HIP=OFF')
...
return args
...
assuming only on the ``ENABLE_HIP``, ``HIP_ROOT_DIR``, and ``HIP_HIPCC_FLAGS``
macros are required to be set and the only dependency needing rocm options
is ``mydeppackage``. You will need to customize the flags as needed for your
build.
This example also illustrates how to check for the ``rocm`` variant using
``self.spec`` and how to retrieve the ``amdgpu_target`` variant's value
using ``self.spec.variants['amdgpu_target'].value``.
All five packages using ``ROCmPackage`` as of January 2021 also use the
:ref:`CudaPackage <cudapackage>`. So it is worth looking at those packages
to get ideas for creating a package that can support both ``cuda`` and
``rocm``.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -79,12 +79,14 @@ Description
The first thing you'll need to add to your new package is a description.
The top of the homepage for ``caret`` lists the following description:
caret: Classification and Regression Training
Classification and Regression Training
Misc functions for training and plotting classification and regression models.
You can either use the short description (first line), long description
(second line), or both depending on what you feel is most appropriate.
The first line is a short description (title) and the second line is a long
description. In this case the description is only one line but often the
description is several lines. Spack makes use of both short and long
descriptions and convention is to use both when creating an R package.
^^^^^^^^
Homepage
@@ -124,6 +126,67 @@ If you only specify the URL for the latest release, your package will
no longer be able to fetch that version as soon as a new release comes
out. To get around this, add the archive directory as a ``list_url``.
^^^^^^^^^^^^^^^^^^^^^
Bioconductor packages
^^^^^^^^^^^^^^^^^^^^^
Bioconductor packages are set up in a similar way to CRAN packages, but there
are some very important distinctions. Bioconductor packages can be found at:
https://bioconductor.org/. Bioconductor packages are R packages and so follow
the same packaging scheme as CRAN packages. What is different is that
Bioconductor itself is versioned and released. This scheme, using the
Bioconductor package installer, allows further specification of the minimum
version of R as well as further restrictions on the dependencies between
packages than what is possible with the native R packaging system. Spack can
not replicate these extra features and thus Bioconductor packages in Spack need
to be managed as a group during updates in order to maintain package
consistency with Bioconductor itself.
Another key difference is that, while previous versions of packages are
available, they are not available from a site that can be programmatically set,
thus a ``list_url`` attribute can not be used. However, each package is also
available in a git repository, with branches corresponding to each Bioconductor
release. Thus, it is always possible to retrieve the version of any package
corresponding to a Bioconductor release simply by fetching the branch that
corresponds to the Bioconductor release of the package repository. For this
reason, spack Bioconductor R packages use the git repository, with the commit
of the respective branch used in the ``version()`` attribute of the package.
^^^^^^^^^^^^^^^^^^^^^^^^
cran and bioc attributes
^^^^^^^^^^^^^^^^^^^^^^^^
Much like the ``pypi`` attribute for python packages, due to the fact that R
packages are obtained from specific repositories, it is possible to set up shortcut
attributes that can be used to set ``homepage``, ``url``, ``list_url``, and
``git``. For example, the following ``cran`` attribute:
.. code-block:: python
cran = 'caret'
is equivalent to:
.. code-block:: python
homepage = 'https://cloud.r-project.org/package=caret'
url = 'https://cloud.r-project.org/src/contrib/caret_6.0-86.tar.gz'
list_url = 'https://cloud.r-project.org/src/contrib/Archive/caret'
Likewise, the following ``bioc`` attribute:
.. code-block:: python
bioc = 'BiocVersion'
is equivalent to:
.. code-block:: python
homepage = 'https://bioconductor.org/packages/BiocVersion/'
git = 'https://git.bioconductor.org/packages/BiocVersion'
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -138,7 +201,6 @@ every R package needs this, the ``RPackage`` base class contains:
.. code-block:: python
extends('r')
depends_on('r', type=('build', 'run'))
Take a close look at the homepage for ``caret``. If you look at the
@@ -157,7 +219,7 @@ R dependencies
R packages are often small and follow the classic Unix philosophy
of doing one thing well. They are modular and usually depend on
several other packages. You may find a single package with over a
hundred dependencies. Luckily, CRAN packages are well-documented
hundred dependencies. Luckily, R packages are well-documented
and list all of their dependencies in the following sections:
* Depends
@@ -298,8 +360,8 @@ like so:
.. code-block:: python
def configure_args(self, spec, prefix):
mpi_name = spec['mpi'].name
def configure_args(self):
mpi_name = self.spec['mpi'].name
# The type of MPI. Supported values are:
# OPENMPI, LAM, MPICH, MPICH2, or CRAY

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -12,5 +12,172 @@ RubyPackage
Like Perl, Python, and R, Ruby has its own build system for
installing Ruby gems.
This build system is a work-in-progress. See
https://github.com/spack/spack/pull/3127 for more information.
^^^^^^
Phases
^^^^^^
The ``RubyPackage`` base class provides the following phases that
can be overridden:
#. ``build`` - build everything needed to install
#. ``install`` - install everything from build directory
For packages that come with a ``*.gemspec`` file, these phases run:
.. code-block:: console
$ gem build *.gemspec
$ gem install *.gem
For packages that come with a ``Rakefile`` file, these phases run:
.. code-block:: console
$ rake package
$ gem install *.gem
For packages that come pre-packaged as a ``*.gem`` file, the build
phase is skipped and the install phase runs:
.. code-block:: console
$ gem install *.gem
These are all standard ``gem`` commands and can be found by running:
.. code-block:: console
$ gem help commands
For packages that only distribute ``*.gem`` files, these files can be
downloaded with the ``expand=False`` option in the ``version`` directive.
The build phase will be automatically skipped.
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
When building from source, Ruby packages can be identified by the
presence of any of the following files:
* ``*.gemspec``
* ``Rakefile``
* ``setup.rb`` (not yet supported)
However, not all Ruby packages are released as source code. Some are only
released as ``*.gem`` files. These files can be extracted using:
.. code-block:: console
$ gem unpack *.gem
^^^^^^^^^^^
Description
^^^^^^^^^^^
The ``*.gemspec`` file may contain something like:
.. code-block:: ruby
summary = 'An implementation of the AsciiDoc text processor and publishing toolchain'
description = 'A fast, open source text processor and publishing toolchain for converting AsciiDoc content to HTML 5, DocBook 5, and other formats.'
Either of these can be used for the description of the Spack package.
^^^^^^^^
Homepage
^^^^^^^^
The ``*.gemspec`` file may contain something like:
.. code-block:: ruby
homepage = 'https://asciidoctor.org'
This should be used as the official homepage of the Spack package.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
All Ruby packages require Ruby at build and run-time. For this reason,
the base class contains:
.. code-block:: python
extends('ruby')
The ``*.gemspec`` file may contain something like:
.. code-block:: ruby
required_ruby_version = '>= 2.3.0'
This can be added to the Spack package using:
.. code-block:: python
depends_on('ruby@2.3.0:', type=('build', 'run'))
^^^^^^^^^^^^^^^^^
Ruby dependencies
^^^^^^^^^^^^^^^^^
When you install a package with ``gem``, it reads the ``*.gemspec``
file in order to determine the dependencies of the package.
If the dependencies are not yet installed, ``gem`` downloads them
and installs them for you. This may sound convenient, but Spack
cannot rely on this behavior for two reasons:
#. Spack needs to be able to install packages on air-gapped networks.
If there is no internet connection, ``gem`` can't download the
package dependencies. By explicitly listing every dependency in
the ``package.py``, Spack knows what to download ahead of time.
#. Duplicate installations of the same dependency may occur.
Spack supports *activation* of Ruby extensions, which involves
symlinking the package installation prefix to the Ruby installation
prefix. If your package is missing a dependency, that dependency
will be installed to the installation directory of the same package.
If you try to activate the package + dependency, it may cause a
problem if that package has already been activated.
For these reasons, you must always explicitly list all dependencies.
Although the documentation may list the package's dependencies,
often the developers assume people will use ``gem`` and won't have to
worry about it. Always check the ``*.gemspec`` file to find the true
dependencies.
Check for the following clues in the ``*.gemspec`` file:
* ``add_runtime_dependency``
These packages are required for installation.
* ``add_dependency``
This is an alias for ``add_runtime_dependency``
* ``add_development_dependency``
These packages are optional dependencies used for development.
They should not be added as dependencies of the package.
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on Ruby packaging, see:
https://guides.rubygems.org/

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -93,10 +93,17 @@ in the site-packages directory:
$ python
>>> import setuptools
>>> setuptools.find_packages()
['QtPy5']
[
'PyQt5', 'PyQt5.QtCore', 'PyQt5.QtGui', 'PyQt5.QtHelp',
'PyQt5.QtMultimedia', 'PyQt5.QtMultimediaWidgets', 'PyQt5.QtNetwork',
'PyQt5.QtOpenGL', 'PyQt5.QtPrintSupport', 'PyQt5.QtQml',
'PyQt5.QtQuick', 'PyQt5.QtSvg', 'PyQt5.QtTest', 'PyQt5.QtWebChannel',
'PyQt5.QtWebSockets', 'PyQt5.QtWidgets', 'PyQt5.QtXml',
'PyQt5.QtXmlPatterns'
]
Large, complex packages like ``QtPy5`` will return a long list of
Large, complex packages like ``py-pyqt5`` will return a long list of
packages, while other packages may return an empty list. These packages
only install a single ``foo.py`` file. In Python packaging lingo,
a "package" is a directory containing files like:
@@ -108,21 +115,25 @@ a "package" is a directory containing files like:
foo/baz.py
whereas a "module" is a single Python file. Since ``find_packages``
only returns packages, you'll have to determine the correct module
names yourself. You can now add these packages and modules to the
package like so:
whereas a "module" is a single Python file.
The ``SIPPackage`` base class automatically detects these module
names for you. If, for whatever reason, the module names detected
are wrong, you can provide the names yourself by overriding
``import_modules`` like so:
.. code-block:: python
import_modules = ['PyQt5']
When you run ``spack install --test=root py-pyqt5``, Spack will attempt
to import the ``PyQt5`` module after installation.
These tests often catch missing dependencies and non-RPATHed
libraries. Make sure not to add modules/packages containing the word
"test", as these likely won't end up in the installation directory,
or may require test dependencies like pytest to be installed.
These tests most often catch missing dependencies and non-RPATHed
libraries.
These tests can be triggered by running ``spack install --test=root``
or by running ``spack test run`` after the installation has finished.
^^^^^^^^^^^^^^^^^^^^^^
External documentation

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -128,7 +128,7 @@ def setup(sphinx):
# General information about the project.
project = u'Spack'
copyright = u'2013-2019, Lawrence Livermore National Laboratory.'
copyright = u'2013-2021, Lawrence Livermore National Laboratory.'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -99,7 +99,7 @@ username is not already in the path, Spack will append the value of ``$user`` to
the selected ``build_stage`` path.
.. warning:: We highly recommend specifying ``build_stage`` paths that
distinguish between staging and other activities to ensure
distinguish between staging and other activities to ensure
``spack clean`` does not inadvertently remove unrelated files.
Spack prepends ``spack-stage-`` to temporary staging directory names to
reduce this risk. Using a combination of ``spack`` and or ``stage`` in
@@ -202,28 +202,30 @@ of builds.
Unless overridden in a package or on the command line, Spack builds all
packages in parallel. The default parallelism is equal to the number of
cores on your machine, up to 16. Parallelism cannot exceed the number of
cores available on the host. For a build system that uses Makefiles, this
means running:
cores available to the process, up to 16 (the default of ``build_jobs``).
For a build system that uses Makefiles, this ``spack install`` runs:
- ``make -j<build_jobs>``, when ``build_jobs`` is less than the number of
cores on the machine
cores available
- ``make -j<ncores>``, when ``build_jobs`` is greater or equal to the
number of cores on the machine
number of cores available
If you work on a shared login node or have a strict ulimit, it may be
necessary to set the default to a lower value. By setting ``build_jobs``
to 4, for example, commands like ``spack install`` will run ``make -j4``
instead of hogging every core.
instead of hogging every core. To build all software in serial,
set ``build_jobs`` to 1.
To build all software in serial, set ``build_jobs`` to 1.
Note that specifying the number of jobs on the command line always takes
priority, so that ``spack install -j<n>`` always runs `make -j<n>`, even
when that exceeds the number of cores available.
--------------------
``ccache``
--------------------
When set to ``true`` Spack will use ccache to cache compiles. This is
useful specifically in two cases: (1) when using ``spack setup``, and (2)
useful specifically in two cases: (1) when using ``spack dev-build``, and (2)
when building the same package with many different variants. The default is
``false``.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -78,6 +78,13 @@ are six configuration scopes. From lowest to highest:
If multiple scopes are listed on the command line, they are ordered
from lowest to highest precedence.
#. **environment**: When using Spack :ref:`environments`, Spack reads
additional configuration from the environment file. See
:ref:`environment-configuration` for further details on these
scopes. Environment scopes can be referenced from the command line
as ``env:name`` (to reference environment ``foo``, use
``env:foo``).
#. **command line**: Build settings specified on the command line take
precedence over all other scopes.
@@ -192,10 +199,11 @@ with MPICH. You can create different configuration scopes for use with
Platform-specific Scopes
------------------------
For each scope above, there can also be platform-specific settings.
For example, on most platforms, GCC is the preferred compiler.
However, on macOS (darwin), Clang often works for more packages,
and is set as the default compiler. This configuration is set in
For each scope above (excluding environment scopes), there can also be
platform-specific settings. For example, on most platforms, GCC is
the preferred compiler. However, on macOS (darwin), Clang often works
for more packages, and is set as the default compiler. This
configuration is set in
``$(prefix)/etc/spack/defaults/darwin/packages.yaml``. It will take
precedence over settings in the ``defaults`` scope, but can still be
overridden by settings in ``system``, ``system/darwin``, ``site``,

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -9,28 +9,48 @@
Container Images
================
Spack can be an ideal tool to setup images for containers since all the
features discussed in :ref:`environments` can greatly help to manage
the installation of software during the image build process. Nonetheless,
building a production image from scratch still requires a lot of
boilerplate to:
Spack :ref:`environments` are a great tool to create container images, but
preparing one that is suitable for production requires some more boilerplate
than just:
- Get Spack working within the image, possibly running as root
- Minimize the physical size of the software installed
- Properly update the system software in the base image
.. code-block:: docker
To facilitate users with these tedious tasks, Spack provides a command
to automatically generate recipes for container images based on
Environments:
COPY spack.yaml /environment
RUN spack -e /environment install
Additional actions may be needed to minimize the size of the
container, or to update the system software that is installed in the base
image, or to set up a proper entrypoint to run the image. These tasks are
usually both necessary and repetitive, so Spack comes with a command
to generate recipes for container images starting from a ``spack.yaml``.
--------------------
A Quick Introduction
--------------------
Consider having a Spack environment like the following:
.. code-block:: yaml
spack:
specs:
- gromacs+mpi
- mpich
Producing a ``Dockerfile`` from it is as simple as moving to the directory
where the ``spack.yaml`` file is stored and giving the following command:
.. code-block:: console
$ ls
spack.yaml
$ spack containerize > Dockerfile
The ``Dockerfile`` that gets created uses multi-stage builds and
other techniques to minimize the size of the final image:
.. code-block:: docker
$ spack containerize
# Build stage with Spack pre-installed and ready to be used
FROM spack/centos7:latest as builder
FROM spack/ubuntu-bionic:latest as builder
# What we want to install and how we want to install it
# is specified in a manifest file (spack.yaml)
@@ -45,7 +65,7 @@ Environments:
&& echo " view: /opt/view") > /opt/spack-environment/spack.yaml
# Install the software, remove unnecessary deps
RUN cd /opt/spack-environment && spack install && spack gc -y
RUN cd /opt/spack-environment && spack env activate . && spack install --fail-fast && spack gc -y
# Strip all the binaries
RUN find -L /opt/view/* -type f -exec readlink -f '{}' \; | \
@@ -58,38 +78,34 @@ Environments:
RUN cd /opt/spack-environment && \
spack env activate --sh -d . >> /etc/profile.d/z10_spack_environment.sh
# Bare OS image to run the installed executables
FROM centos:7
FROM ubuntu:18.04
COPY --from=builder /opt/spack-environment /opt/spack-environment
COPY --from=builder /opt/software /opt/software
COPY --from=builder /opt/view /opt/view
COPY --from=builder /etc/profile.d/z10_spack_environment.sh /etc/profile.d/z10_spack_environment.sh
RUN yum update -y && yum install -y epel-release && yum update -y \
&& yum install -y libgomp \
&& rm -rf /var/cache/yum && yum clean all
RUN echo 'export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][gromacs]\[$(tput setaf 2)\]\u\[$(tput sgr0)\]:\w $ \[$(tput sgr0)\]"' >> ~/.bashrc
LABEL "app"="gromacs"
LABEL "mpi"="mpich"
ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
The image itself can then be built and run in the usual way, with any of the
tools suitable for the task. For instance, if we decided to use ``docker``:
The bits that make this automation possible are discussed in details
below. All the images generated in this way will be based on
multi-stage builds with:
.. code-block:: bash
- A fat ``build`` stage containing common build tools and Spack itself
- A minimal ``final`` stage containing only the software requested by the user
$ spack containerize > Dockerfile
$ docker build -t myimage .
[ ... ]
$ docker run -it myimage
-----------------
Spack Base Images
-----------------
The various components involved in the generation of the recipe and their
configuration are discussed in details in the sections below.
.. _container_spack_images:
--------------------------
Spack Images on Docker Hub
--------------------------
Docker images with Spack preinstalled and ready to be used are
built on `Docker Hub <https://hub.docker.com/u/spack>`_
@@ -124,19 +140,20 @@ All the images are tagged with the corresponding release of Spack:
with the exception of the ``latest`` tag that points to the HEAD
of the ``develop`` branch. These images are available for anyone
to use and take care of all the repetitive tasks that are necessary
to setup Spack within a container. All the container recipes generated
automatically by Spack use them as base images for their ``build`` stage.
to setup Spack within a container. The container recipes generated
by Spack use them as default base images for their ``build`` stage,
even though handles to use custom base images provided by users are
available to accommodate complex use cases.
-------------------------
Environment Configuration
-------------------------
---------------------------------
Creating Images From Environments
---------------------------------
Any Spack Environment can be used for the automatic generation of container
recipes. Sensible defaults are provided for things like the base image or the
version of Spack used in the image. If a finer tuning is needed it can be
obtained by adding the relevant metadata under the ``container`` attribute
of environments:
version of Spack used in the image.
If a finer tuning is needed it can be obtained by adding the relevant metadata
under the ``container`` attribute of environments:
.. code-block:: yaml
@@ -150,9 +167,10 @@ of environments:
# singularity or anything else that is currently supported
format: docker
# Select from a valid list of images
base:
image: "centos:7"
# Sets the base images for the stages where Spack builds the
# software or where the software gets installed after being built..
images:
os: "centos:7"
spack: develop
# Whether or not to strip binaries
@@ -160,19 +178,223 @@ of environments:
# Additional system packages that are needed at runtime
os_packages:
- libgomp
final:
- libgomp
# Extra instructions
extra_instructions:
final: |
RUN echo 'export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][gromacs]\[$(tput setaf 2)\]\u\[$(tput sgr0)\]:\w $ \[$(tput sgr0)\]"' >> ~/.bashrc
RUN echo 'export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][gromacs]\[$(tput setaf 2)\]\u\[$(tput sgr0)\]:\w $ "' >> ~/.bashrc
# Labels for the image
labels:
app: "gromacs"
mpi: "mpich"
The tables below describe the configuration options that are currently supported:
A detailed description of the options available can be found in the
:ref:`container_config_options` section.
-------------------
Setting Base Images
-------------------
The ``images`` subsection is used to select both the image where
Spack builds the software and the image where the built software
is installed. This attribute can be set in two different ways and
which one to use depends on the use case at hand.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Use Official Spack Images From Dockerhub
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
To generate a recipe that uses an official Docker image from the
Spack organization to build the software and the corresponding official OS image
to install the built software, all the user has to do is specify:
1. An operating system under ``images:os``
2. A Spack version under ``images:spack``
Any combination of these two values that can be mapped to one of the images
discussed in :ref:`container_spack_images` is allowed. For instance, the
following ``spack.yaml``:
.. code-block:: yaml
spack:
specs:
- gromacs+mpi
- mpich
container:
images:
os: centos:7
spack: 0.15.4
uses ``spack/centos7:0.15.4`` and ``centos:7`` for the stages where the
software is respectively built and installed:
.. code-block:: docker
# Build stage with Spack pre-installed and ready to be used
FROM spack/centos7:0.15.4 as builder
# What we want to install and how we want to install it
# is specified in a manifest file (spack.yaml)
RUN mkdir /opt/spack-environment \
&& (echo "spack:" \
&& echo " specs:" \
&& echo " - gromacs+mpi" \
&& echo " - mpich" \
&& echo " concretization: together" \
&& echo " config:" \
&& echo " install_tree: /opt/software" \
&& echo " view: /opt/view") > /opt/spack-environment/spack.yaml
[ ... ]
# Bare OS image to run the installed executables
FROM centos:7
COPY --from=builder /opt/spack-environment /opt/spack-environment
COPY --from=builder /opt/software /opt/software
COPY --from=builder /opt/view /opt/view
COPY --from=builder /etc/profile.d/z10_spack_environment.sh /etc/profile.d/z10_spack_environment.sh
ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
This method of selecting base images is the simplest of the two, and we advise
to use it whenever possible. There are cases though where using Spack official
images is not enough to fit production needs. In these situations users can manually
select which base image to start from in the recipe, as we'll see next.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Use Custom Images Provided by Users
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Consider, as an example, building a production grade image for a CUDA
application. The best strategy would probably be to build on top of
images provided by the vendor and regard CUDA as an external package.
Spack doesn't currently provide an official image with CUDA configured
this way, but users can build it on their own and then configure the
environment to explicitly pull it. This requires users to:
1. Specify the image used to build the software under ``images:build``
2. Specify the image used to install the built software under ``images:final``
A ``spack.yaml`` like the following:
.. code-block:: yaml
spack:
specs:
- gromacs@2019.4+cuda build_type=Release
- mpich
- fftw precision=float
packages:
cuda:
buildable: False
externals:
- spec: cuda%gcc
prefix: /usr/local/cuda
container:
images:
build: custom/cuda-10.1-ubuntu18.04:latest
final: nvidia/cuda:10.1-base-ubuntu18.04
produces, for instance, the following ``Dockerfile``:
.. code-block:: docker
# Build stage with Spack pre-installed and ready to be used
FROM custom/cuda-10.1-ubuntu18.04:latest as builder
# What we want to install and how we want to install it
# is specified in a manifest file (spack.yaml)
RUN mkdir /opt/spack-environment \
&& (echo "spack:" \
&& echo " specs:" \
&& echo " - gromacs@2019.4+cuda build_type=Release" \
&& echo " - mpich" \
&& echo " - fftw precision=float" \
&& echo " packages:" \
&& echo " cuda:" \
&& echo " buildable: false" \
&& echo " externals:" \
&& echo " - spec: cuda%gcc" \
&& echo " prefix: /usr/local/cuda" \
&& echo " concretization: together" \
&& echo " config:" \
&& echo " install_tree: /opt/software" \
&& echo " view: /opt/view") > /opt/spack-environment/spack.yaml
# Install the software, remove unnecessary deps
RUN cd /opt/spack-environment && spack env activate . && spack install --fail-fast && spack gc -y
# Strip all the binaries
RUN find -L /opt/view/* -type f -exec readlink -f '{}' \; | \
xargs file -i | \
grep 'charset=binary' | \
grep 'x-executable\|x-archive\|x-sharedlib' | \
awk -F: '{print $1}' | xargs strip -s
# Modifications to the environment that are necessary to run
RUN cd /opt/spack-environment && \
spack env activate --sh -d . >> /etc/profile.d/z10_spack_environment.sh
# Bare OS image to run the installed executables
FROM nvidia/cuda:10.1-base-ubuntu18.04
COPY --from=builder /opt/spack-environment /opt/spack-environment
COPY --from=builder /opt/software /opt/software
COPY --from=builder /opt/view /opt/view
COPY --from=builder /etc/profile.d/z10_spack_environment.sh /etc/profile.d/z10_spack_environment.sh
ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
where the base images for both stages are completely custom.
This second mode of selection for base images is more flexible than just
choosing an operating system and a Spack version, but is also more demanding.
Users may need to generate by themselves their base images and it's also their
responsibility to ensure that:
1. Spack is available in the ``build`` stage and set up correctly to install the required software
2. The artifacts produced in the ``build`` stage can be executed in the ``final`` stage
Therefore we don't recommend its use in cases that can be otherwise
covered by the simplified mode shown first.
----------------------------
Singularity Definition Files
----------------------------
In addition to producing recipes in ``Dockerfile`` format Spack can produce
Singularity Definition Files by just changing the value of the ``format``
attribute:
.. code-block:: console
$ cat spack.yaml
spack:
specs:
- hdf5~mpi
container:
format: singularity
$ spack containerize > hdf5.def
$ sudo singularity build hdf5.sif hdf5.def
The minimum version of Singularity required to build a SIF (Singularity Image Format)
image from the recipes generated by Spack is ``3.5.3``.
.. _container_config_options:
-----------------------
Configuration Reference
-----------------------
The tables below describe all the configuration options that are currently supported
to customize the generation of container recipes:
.. list-table:: General configuration options for the ``container`` section of ``spack.yaml``
:header-rows: 1
@@ -185,21 +407,41 @@ The tables below describe the configuration options that are currently supported
- The format of the recipe
- ``docker`` or ``singularity``
- Yes
* - ``base:image``
- Base image for ``final`` stage
* - ``images:os``
- Operating system used as a base for the image
- See :ref:`containers-supported-os`
- Yes
* - ``base:spack``
- Version of Spack
- Yes, if using constrained selection of base images
* - ``images:spack``
- Version of Spack use in the ``build`` stage
- Valid tags for ``base:image``
- Yes
- Yes, if using constrained selection of base images
* - ``images:build``
- Image to be used in the ``build`` stage
- Any valid container image
- Yes, if using custom selection of base images
* - ``images:final``
- Image to be used in the ``build`` stage
- Any valid container image
- Yes, if using custom selection of base images
* - ``strip``
- Whether to strip binaries
- ``true`` (default) or ``false``
- No
* - ``os_packages``
- System packages to be installed
- Valid packages for the ``final`` OS
* - ``os_packages:command``
- Tool used to manage system packages
- ``apt``, ``yum``
- Only with custom base images
* - ``os_packages:update``
- Whether or not to update the list of available packages
- True or False (default: True)
- No
* - ``os_packages:build``
- System packages needed at build-time
- Valid packages for the current OS
- No
* - ``os_packages:final``
- System packages needed at run-time
- Valid packages for the current OS
- No
* - ``extra_instructions:build``
- Extra instructions (e.g. `RUN`, `COPY`, etc.) at the end of the ``build`` stage
@@ -238,70 +480,56 @@ The tables below describe the configuration options that are currently supported
- Description string
- No
Once the Environment is properly configured a recipe for a container
image can be printed to standard output by issuing the following
command from the directory where the ``spack.yaml`` resides:
--------------
Best Practices
--------------
.. code-block:: console
^^^
MPI
^^^
Due to the dependency on Fortran for OpenMPI, which is the spack default
implementation, consider adding ``gfortran`` to the ``apt-get install`` list.
$ spack containerize
Recent versions of OpenMPI will require you to pass ``--allow-run-as-root``
to your ``mpirun`` calls if started as root user inside Docker.
The example ``spack.yaml`` above would produce for instance the
following ``Dockerfile``:
For execution on HPC clusters, it can be helpful to import the docker
image into Singularity in order to start a program with an *external*
MPI. Otherwise, also add ``openssh-server`` to the ``apt-get install`` list.
.. code-block:: docker
^^^^
CUDA
^^^^
Starting from CUDA 9.0, Nvidia provides minimal CUDA images based on
Ubuntu. Please see `their instructions <https://hub.docker.com/r/nvidia/cuda/>`_.
Avoid double-installing CUDA by adding, e.g.
# Build stage with Spack pre-installed and ready to be used
FROM spack/centos7:latest as builder
.. code-block:: yaml
# What we want to install and how we want to install it
# is specified in a manifest file (spack.yaml)
RUN mkdir /opt/spack-environment \
&& (echo "spack:" \
&& echo " specs:" \
&& echo " - gromacs+mpi" \
&& echo " - mpich" \
&& echo " concretization: together" \
&& echo " config:" \
&& echo " install_tree: /opt/software" \
&& echo " view: /opt/view") > /opt/spack-environment/spack.yaml
packages:
cuda:
externals:
- spec: "cuda@9.0.176%gcc@5.4.0 arch=linux-ubuntu16-x86_64"
prefix: /usr/local/cuda
buildable: False
# Install the software, remove unnecessary deps
RUN cd /opt/spack-environment && spack install && spack gc -y
to your ``spack.yaml``.
# Strip all the binaries
RUN find -L /opt/view/* -type f -exec readlink -f '{}' \; | \
xargs file -i | \
grep 'charset=binary' | \
grep 'x-executable\|x-archive\|x-sharedlib' | \
awk -F: '{print $1}' | xargs strip -s
Users will either need ``nvidia-docker`` or e.g. Singularity to *execute*
device kernels.
# Modifications to the environment that are necessary to run
RUN cd /opt/spack-environment && \
spack env activate --sh -d . >> /etc/profile.d/z10_spack_environment.sh
^^^^^^^^^^^^^^^^^^^^^^^^^
Docker on Windows and OSX
^^^^^^^^^^^^^^^^^^^^^^^^^
On Mac OS and Windows, docker runs on a hypervisor that is not allocated much
memory by default, and some spack packages may fail to build due to lack of
memory. To work around this issue, consider configuring your docker installation
to use more of your host memory. In some cases, you can also ease the memory
pressure on parallel builds by limiting the parallelism in your config.yaml.
# Bare OS image to run the installed executables
FROM centos:7
.. code-block:: yaml
COPY --from=builder /opt/spack-environment /opt/spack-environment
COPY --from=builder /opt/software /opt/software
COPY --from=builder /opt/view /opt/view
COPY --from=builder /etc/profile.d/z10_spack_environment.sh /etc/profile.d/z10_spack_environment.sh
config:
build_jobs: 2
RUN yum update -y && yum install -y epel-release && yum update -y \
&& yum install -y libgomp \
&& rm -rf /var/cache/yum && yum clean all
RUN echo 'export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][gromacs]\[$(tput setaf 2)\]\u\[$(tput sgr0)\]:\w $ \[$(tput sgr0)\]"' >> ~/.bashrc
LABEL "app"="gromacs"
LABEL "mpi"="mpich"
ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
.. note::
Spack can also produce Singularity definition files to build the image. The
minimum version of Singularity required to build a SIF (Singularity Image Format)
from them is ``3.5.3``.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -27,17 +27,28 @@ correspond to one feature/bugfix/extension/etc. One can create PRs with
changes relevant to different ideas, however reviewing such PRs becomes tedious
and error prone. If possible, try to follow the **one-PR-one-package/feature** rule.
Spack uses a rough approximation of the `Git Flow <http://nvie.com/posts/a-successful-git-branching-model/>`_
branching model. The develop branch contains the latest contributions, and
master is always tagged and points to the latest stable release. Therefore, when
you send your request, make ``develop`` the destination branch on the
`Spack repository <https://github.com/spack/spack>`_.
--------
Branches
--------
Spack's ``develop`` branch has the latest contributions. Nearly all pull
requests should start from ``develop`` and target ``develop``.
There is a branch for each major release series. Release branches
originate from ``develop`` and have tags for each point release in the
series. For example, ``releases/v0.14`` has tags for ``0.14.0``,
``0.14.1``, ``0.14.2``, etc. versions of Spack. We backport important bug
fixes to these branches, but we do not advance the package versions or
make other changes that would change the way Spack concretizes
dependencies. Currently, the maintainers manage these branches by
cherry-picking from ``develop``. See :ref:`releases` for more
information.
----------------------
Continuous Integration
----------------------
Spack uses `Travis CI <https://travis-ci.org/spack/spack>`_ for Continuous Integration
Spack uses `Github Actions <https://docs.github.com/en/actions>`_ for Continuous Integration
testing. This means that every time you submit a pull request, a series of tests will
be run to make sure you didn't accidentally introduce any bugs into Spack. **Your PR
will not be accepted until it passes all of these tests.** While you can certainly wait
@@ -46,25 +57,24 @@ locally to speed up the review process.
.. note::
Oftentimes, Travis will fail for reasons other than a problem with your PR.
Oftentimes, CI will fail for reasons other than a problem with your PR.
For example, apt-get, pip, or homebrew will fail to download one of the
dependencies for the test suite, or a transient bug will cause the unit tests
to timeout. If Travis fails, click the "Details" link and click on the test(s)
to timeout. If any job fails, click the "Details" link and click on the test(s)
that is failing. If it doesn't look like it is failing for reasons related to
your PR, you have two options. If you have write permissions for the Spack
repository, you should see a "Restart job" button on the right-hand side. If
repository, you should see a "Restart workflow" button on the right-hand side. If
not, you can close and reopen your PR to rerun all of the tests. If the same
test keeps failing, there may be a problem with your PR. If you notice that
every recent PR is failing with the same error message, it may be that Travis
is down or one of Spack's dependencies put out a new release that is causing
problems. If this is the case, please file an issue.
every recent PR is failing with the same error message, it may be that an issue
occurred with the CI infrastructure or one of Spack's dependencies put out a
new release that is causing problems. If this is the case, please file an issue.
If you take a look in ``$SPACK_ROOT/.travis.yml``, you'll notice that we test
against Python 2.6, 2.7, and 3.4-3.7 on both macOS and Linux. We currently
We currently test against Python 2.6, 2.7, and 3.5-3.7 on both macOS and Linux and
perform 3 types of tests:
.. _cmd-spack-test:
.. _cmd-spack-unit-test:
^^^^^^^^^^
Unit Tests
@@ -86,7 +96,7 @@ To run *all* of the unit tests, use:
.. code-block:: console
$ spack test
$ spack unit-test
These tests may take several minutes to complete. If you know you are
only modifying a single Spack feature, you can run subsets of tests at a
@@ -95,51 +105,53 @@ time. For example, this would run all the tests in
.. code-block:: console
$ spack test architecture.py
$ spack unit-test lib/spack/spack/test/architecture.py
And this would run the ``test_platform`` test from that file:
.. code-block:: console
$ spack test architecture.py::test_platform
$ spack unit-test lib/spack/spack/test/architecture.py::test_platform
This allows you to develop iteratively: make a change, test that change,
make another change, test that change, etc. We use `pytest
<http://pytest.org/>`_ as our tests fromework, and these types of
<http://pytest.org/>`_ as our tests framework, and these types of
arguments are just passed to the ``pytest`` command underneath. See `the
pytest docs
<http://doc.pytest.org/en/latest/usage.html#specifying-tests-selecting-tests>`_
for more details on test selection syntax.
``spack test`` has a few special options that can help you understand
what tests are available. To get a list of all available unit test
files, run:
``spack unit-test`` has a few special options that can help you
understand what tests are available. To get a list of all available
unit test files, run:
.. command-output:: spack test --list
.. command-output:: spack unit-test --list
:ellipsis: 5
To see a more detailed list of available unit tests, use ``spack test
--list-long``:
To see a more detailed list of available unit tests, use ``spack
unit-test --list-long``:
.. command-output:: spack test --list-long
.. command-output:: spack unit-test --list-long
:ellipsis: 10
And to see the fully qualified names of all tests, use ``--list-names``:
.. command-output:: spack test --list-names
.. command-output:: spack unit-test --list-names
:ellipsis: 5
You can combine these with ``pytest`` arguments to restrict which tests
you want to know about. For example, to see just the tests in
``architecture.py``:
.. command-output:: spack test --list-long architecture.py
.. command-output:: spack unit-test --list-long lib/spack/spack/test/architecture.py
You can also combine any of these options with a ``pytest`` keyword
search. For example, to see the names of all tests that have "spec"
search. See the `pytest usage docs
<https://docs.pytest.org/en/stable/usage.html#specifying-tests-selecting-tests>`_:
for more details on test selection syntax. For example, to see the names of all tests that have "spec"
or "concretize" somewhere in their names:
.. command-output:: spack test --list-names -k "spec and concretize"
.. command-output:: spack unit-test --list-names -k "spec and concretize"
By default, ``pytest`` captures the output of all unit tests, and it will
print any captured output for failed tests. Sometimes it's helpful to see
@@ -149,7 +161,7 @@ argument to ``pytest``:
.. code-block:: console
$ spack test -s architecture.py::test_platform
$ spack unit-test -s --list-long lib/spack/spack/test/architecture.py::test_platform
Unit tests are crucial to making sure bugs aren't introduced into
Spack. If you are modifying core Spack libraries or adding new
@@ -162,29 +174,31 @@ how to write tests!
.. note::
You may notice the ``share/spack/qa/run-unit-tests`` script in the
repository. This script is designed for Travis CI. It runs the unit
repository. This script is designed for CI. It runs the unit
tests and reports coverage statistics back to Codecov. If you want to
run the unit tests yourself, we suggest you use ``spack test``.
run the unit tests yourself, we suggest you use ``spack unit-test``.
^^^^^^^^^^^^
Flake8 Tests
Style Tests
^^^^^^^^^^^^
Spack uses `Flake8 <http://flake8.pycqa.org/en/latest/>`_ to test for
`PEP 8 <https://www.python.org/dev/peps/pep-0008/>`_ conformance. PEP 8 is
`PEP 8 <https://www.python.org/dev/peps/pep-0008/>`_ conformance and
`mypy <https://mypy.readthedocs.io/en/stable/>` for type checking. PEP 8 is
a series of style guides for Python that provide suggestions for everything
from variable naming to indentation. In order to limit the number of PRs that
were mostly style changes, we decided to enforce PEP 8 conformance. Your PR
needs to comply with PEP 8 in order to be accepted.
needs to comply with PEP 8 in order to be accepted, and if it modifies the
spack library it needs to successfully type-check with mypy as well.
Testing for PEP 8 compliance is easy. Simply run the ``spack flake8``
Testing for compliance with spack's style is easy. Simply run the ``spack style``
command:
.. code-block:: console
$ spack flake8
$ spack style
``spack flake8`` has a couple advantages over running ``flake8`` by hand:
``spack style`` has a couple advantages over running the tools by hand:
#. It only tests files that you have modified since branching off of
``develop``.
@@ -195,7 +209,9 @@ command:
checks. For example, URLs are often longer than 80 characters, so we
exempt them from line length checks. We also exempt lines that start
with "homepage", "url", "version", "variant", "depends_on", and
"extends" in ``package.py`` files.
"extends" in ``package.py`` files. This is now also possible when directly
running flake8 if you can use the ``spack`` formatter plugin included with
spack.
More approved flake8 exemptions can be found
`here <https://github.com/spack/spack/blob/develop/.flake8>`_.
@@ -228,14 +244,14 @@ However, if you aren't compliant with PEP 8, flake8 will complain:
Most of the error messages are straightforward, but if you don't understand what
they mean, just ask questions about them when you submit your PR. The line numbers
will change if you add or delete lines, so simply run ``spack flake8`` again
will change if you add or delete lines, so simply run ``spack style`` again
to update them.
.. tip::
Try fixing flake8 errors in reverse order. This eliminates the need for
multiple runs of ``spack flake8`` just to re-compute line numbers and
makes it much easier to fix errors directly off of the Travis output.
multiple runs of ``spack style`` just to re-compute line numbers and
makes it much easier to fix errors directly off of the CI output.
.. warning::
@@ -315,7 +331,7 @@ Once all of the dependencies are installed, you can try building the documentati
.. code-block:: console
$ cd "$SPACK_ROOT/lib/spack/docs"
$ cd path/to/spack/lib/spack/docs/
$ make clean
$ make
@@ -327,7 +343,7 @@ your PR is accepted.
There is also a ``run-doc-tests`` script in ``share/spack/qa``. The only
difference between running this script and running ``make`` by hand is that
the script will exit immediately if it encounters an error or warning. This
is necessary for Travis CI. If you made a lot of documentation changes, it is
is necessary for CI. If you made a lot of documentation changes, it is
much quicker to run ``make`` by hand so that you can see all of the warnings
at once.
@@ -391,7 +407,7 @@ and allow you to see coverage line-by-line when viewing the Spack repository.
If you are new to Spack, a great way to get started is to write unit tests to
increase coverage!
Unlike with Travis, Codecov tests are not required to pass in order for your
Unlike with CI on Github Actions Codecov tests are not required to pass in order for your
PR to be merged. If you modify core Spack libraries, we would greatly
appreciate unit tests that cover these changed lines. Otherwise, we have no
way of knowing whether or not your changes introduce a bug. If you make

File diff suppressed because it is too large Load Diff

View File

@@ -1,41 +0,0 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _docker_for_developers:
=====================
Docker for Developers
=====================
This guide is intended for people who want to use our prepared docker
environments to work on developing Spack or working on spack packages. It is
meant to serve as the companion documentation for the :ref:`packaging-guide`.
--------
Overview
--------
To get started, all you need is the latest version of ``docker``.
.. code-block:: console
$ cd share/spack/docker
$ source config/ubuntu.bash
$ ./run-image.sh
This command should drop you into an interactive shell where you can run spack
within an isolated docker container running ubuntu. The copy of spack being
used should be tied to the working copy of your cloned git repo, so any changes
you make should be immediately reflected in the running docker container. Feel
free to add or modify any packages or to hack on spack, itself. Your contained
copy of spack should immediately reflect all changes.
To work within a container running a different linux distro, source one of the
other environment files under ``config``.
.. code-block:: console
$ source config/fedora.bash
$ ./run-image.sh

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -191,44 +191,24 @@ Environment has been activated. Similarly, the ``install`` and
==> 0 installed packages
$ spack install zlib@1.2.11
==> Installing zlib
==> Searching for binary cache of zlib
==> Warning: No Spack mirrors are currently configured
==> No binary for zlib found: installing from source
==> Fetching http://zlib.net/fossils/zlib-1.2.11.tar.gz
######################################################################## 100.0%
==> Staging archive: /spack/var/spack/stage/zlib-1.2.11-3r4cfkmx3wwfqeof4bc244yduu2mz4ur/zlib-1.2.11.tar.gz
==> Created stage in /spack/var/spack/stage/zlib-1.2.11-3r4cfkmx3wwfqeof4bc244yduu2mz4ur
==> No patches needed for zlib
==> Building zlib [Package]
==> Executing phase: 'install'
==> Successfully installed zlib
Fetch: 0.36s. Build: 11.58s. Total: 11.93s.
[+] /spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/zlib-1.2.11-3r4cfkmx3wwfqeof4bc244yduu2mz4ur
==> Installing zlib-1.2.11-q6cqrdto4iktfg6qyqcc5u4vmfmwb7iv
==> No binary for zlib-1.2.11-q6cqrdto4iktfg6qyqcc5u4vmfmwb7iv found: installing from source
==> zlib: Executing phase: 'install'
[+] ~/spack/opt/spack/linux-rhel7-broadwell/gcc-8.1.0/zlib-1.2.11-q6cqrdto4iktfg6qyqcc5u4vmfmwb7iv
$ spack env activate myenv
$ spack find
==> In environment myenv
==> No root specs
==> 0 installed packages
$ spack install zlib@1.2.8
==> Installing zlib
==> Searching for binary cache of zlib
==> Warning: No Spack mirrors are currently configured
==> No binary for zlib found: installing from source
==> Fetching http://zlib.net/fossils/zlib-1.2.8.tar.gz
######################################################################## 100.0%
==> Staging archive: /spack/var/spack/stage/zlib-1.2.8-y2t6kq3s23l52yzhcyhbpovswajzi7f7/zlib-1.2.8.tar.gz
==> Created stage in /spack/var/spack/stage/zlib-1.2.8-y2t6kq3s23l52yzhcyhbpovswajzi7f7
==> No patches needed for zlib
==> Building zlib [Package]
==> Executing phase: 'install'
==> Successfully installed zlib
Fetch: 0.26s. Build: 2.08s. Total: 2.35s.
[+] /spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/zlib-1.2.8-y2t6kq3s23l52yzhcyhbpovswajzi7f7
==> Installing zlib-1.2.8-yfc7epf57nsfn2gn4notccaiyxha6z7x
==> No binary for zlib-1.2.8-yfc7epf57nsfn2gn4notccaiyxha6z7x found: installing from source
==> zlib: Executing phase: 'install'
[+] ~/spack/opt/spack/linux-rhel7-broadwell/gcc-8.1.0/zlib-1.2.8-yfc7epf57nsfn2gn4notccaiyxha6z7x
==> Updating view at ~/spack/var/spack/environments/myenv/.spack-env/view
$ spack find
==> In environment myenv
@@ -236,15 +216,17 @@ Environment has been activated. Similarly, the ``install`` and
zlib@1.2.8
==> 1 installed package
-- linux-rhel7-x86_64 / gcc@4.9.3 -------------------------------
-- linux-rhel7-broadwell / gcc@8.1.0 ----------------------------
zlib@1.2.8
$ despacktivate
$ spack find
==> 2 installed packages
-- linux-rhel7-x86_64 / gcc@4.9.3 -------------------------------
-- linux-rhel7-broadwell / gcc@8.1.0 ----------------------------
zlib@1.2.8 zlib@1.2.11
Note that when we installed the abstract spec ``zlib@1.2.8``, it was
presented as a root of the Environment. All explicitly installed
packages will be listed as roots of the Environment.
@@ -266,9 +248,9 @@ Users can add abstract specs to an Environment using the ``spack add``
command. The most important component of an Environment is a list of
abstract specs.
Adding a spec adds to the manifest (the ``spack.yaml`` file) and to
the roots of the Environment, but does not affect the concrete specs
in the lockfile, nor does it install the spec.
Adding a spec adds to the manifest (the ``spack.yaml`` file), which is
used to define the roots of the Environment, but does not affect the
concrete specs in the lockfile, nor does it install the spec.
The ``spack add`` command is environment aware. It adds to the
currently active environment. All environment aware commands can also
@@ -349,6 +331,9 @@ installed specs using the ``-c`` (``--concretized``) flag.
==> 0 installed packages
.. _installing-environment:
^^^^^^^^^^^^^^^^^^^^^^^^^
Installing an Environment
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -371,6 +356,18 @@ command also stores a Spack repo containing the ``package.py`` file
used at install time for each package in the ``repos/`` directory in
the Environment.
The ``--no-add`` option can be used in a concrete environment to tell
spack to install specs already present in the environment but not to
add any new root specs to the environment. For root specs provided
to ``spack install`` on the command line, ``--no-add`` is the default,
while for dependency specs on the other hand, it is optional. In other
words, if there is an unambiguous match in the active concrete environment
for a root spec provided to ``spack install`` on the command line, spack
does not require you to specify the ``--no-add` option to prevent the spec
from being added again. At the same time, a spec that already exists in the
environment, but only as a dependency, will be added to the environment as a
root spec without the ``--no-add`` option.
^^^^^^^
Loading
^^^^^^^
@@ -414,6 +411,12 @@ There are two ways to include configuration information in a Spack Environment:
#. Included in the ``spack.yaml`` file from another file.
Many Spack commands also affect configuration information in files
automatically. Those commands take a ``--scope`` argument, and the
environment can be specified by ``env:NAME`` (to affect environment
``foo``, set ``--scope env:foo``). These commands will automatically
manipulate configuration inline in the ``spack.yaml`` file.
"""""""""""""""""""""
Inline configurations
"""""""""""""""""""""
@@ -456,8 +459,8 @@ Environments can include files with either relative or absolute
paths. Inline configurations take precedence over included
configurations, so you don't have to change shared configuration files
to make small changes to an individual Environment. Included configs
listed later will have higher precedence, as the included configs are
applied in order.
listed earlier will have higher precedence, as the included configs are
applied in reverse order.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Manually Editing the Specs List
@@ -720,6 +723,8 @@ Spack Environment managed views are updated every time the environment
is written out to the lock file ``spack.lock``, so the concrete
environment and the view are always compatible.
.. _configuring_environment_views:
"""""""""""""""""""""""""""""
Configuring environment views
"""""""""""""""""""""""""""""
@@ -830,8 +835,10 @@ environment for Spack commands. The arguments ``-v,--with-view`` and
behavior is to activate with the environment view if there is one.
The environment variables affected by the ``spack env activate``
command and the paths that are used to update them are in the
following table.
command and the paths that are used to update them are determined by
the :ref:`prefix inspections <customize-env-modifications>` defined in
your modules configuration; the defaults are summarized in the following
table.
=================== =========
Variable Paths

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -87,11 +87,12 @@ will be available from the command line:
--implicit select specs that are not installed or were installed implicitly
--output OUTPUT where to dump the result
The corresponding unit tests can be run giving the appropriate options to ``spack test``:
The corresponding unit tests can be run giving the appropriate options
to ``spack unit-test``:
.. code-block:: console
$ spack test --extension=scripting
$ spack unit-test --extension=scripting
============================================================== test session starts ===============================================================
platform linux2 -- Python 2.7.15rc1, pytest-3.2.5, py-1.4.34, pluggy-0.4.0

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -48,8 +48,8 @@ platform, all on the command line.
# Add compiler flags using the conventional names
$ spack install mpileaks@1.1.2 %gcc@4.7.3 cppflags="-O3 -floop-block"
# Cross-compile for a different architecture with arch=
$ spack install mpileaks@1.1.2 arch=bgqos_0
# Cross-compile for a different micro-architecture with target=
$ spack install mpileaks@1.1.2 target=icelake
Users can specify as many or few options as they care about. Spack
will fill in the unspecified values with sensible defaults. The two listed

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -16,15 +16,18 @@ Prerequisites
Spack has the following minimum requirements, which must be installed
before Spack is run:
#. Python 2 (2.6 or 2.7) or 3 (3.5 - 3.8) to run Spack
#. Python 2 (2.6 or 2.7) or 3 (3.5 - 3.9) to run Spack
#. A C/C++ compiler for building
#. The ``make`` executable for building
#. The ``tar``, ``gzip``, ``unzip``, ``bzip2``, ``xz`` and optionally ``zstd``
executables for extracting source code
#. The ``patch`` command to apply patches
#. The ``git`` and ``curl`` commands for fetching
#. If using the ``gpg`` subcommand, ``gnupg2`` is required
These requirements can be easily installed on most modern Linux systems;
on Macintosh, XCode is required. Spack is designed to run on HPC
platforms like Cray and BlueGene/Q. Not all packages should be expected
on macOS, XCode is required. Spack is designed to run on HPC
platforms like Cray. Not all packages should be expected
to work on all platforms. A build matrix showing which packages are
working on which systems is planned but not yet available.
@@ -41,35 +44,58 @@ Getting Spack is easy. You can clone it from the `github repository
This will create a directory called ``spack``.
^^^^^^^^^^^^^^^^^^^^^^^^
Add Spack to the Shell
^^^^^^^^^^^^^^^^^^^^^^^^
.. _shell-support:
We'll assume that the full path to your downloaded Spack directory is
in the ``SPACK_ROOT`` environment variable. Add ``$SPACK_ROOT/bin``
to your path and you're ready to go:
^^^^^^^^^^^^^
Shell support
^^^^^^^^^^^^^
Once you have cloned Spack, we recommend sourcing the appropriate script
for your shell:
.. code-block:: console
$ export PATH=$SPACK_ROOT/bin:$PATH
$ spack install libelf
# For bash/zsh/sh
$ . spack/share/spack/setup-env.sh
For a richer experience, use Spack's shell support:
# For tcsh/csh
$ source spack/share/spack/setup-env.csh
.. code-block:: console
# For fish
$ . spack/share/spack/setup-env.fish
# For bash/zsh users
$ export SPACK_ROOT=/path/to/spack
$ . $SPACK_ROOT/share/spack/setup-env.sh
That's it! You're ready to use Spack.
# For tcsh or csh users (note you must set SPACK_ROOT)
$ setenv SPACK_ROOT /path/to/spack
$ source $SPACK_ROOT/share/spack/setup-env.csh
Sourcing these files will put the ``spack`` command in your ``PATH``, set
up your ``MODULEPATH`` to use Spack's packages, and add other useful
shell integration for :ref:`certain commands <packaging-shell-support>`,
:ref:`environments <environments>`, and :ref:`modules <modules>`. For
``bash``, it also sets up tab completion.
If you do not want to use Spack's shell support, you can always just run
the ``spack`` command directly from ``spack/bin/spack``.
When the ``spack`` command is executed it searches for an appropriate
Python interpreter to use, which can be explicitly overridden by setting
the ``SPACK_PYTHON`` environment variable. When sourcing the appropriate shell
setup script, ``SPACK_PYTHON`` will be set to the interpreter found at
sourcing time, ensuring future invocations of the ``spack`` command will
continue to use the same consistent python version regardless of changes in
the environment.
This automatically adds Spack to your ``PATH`` and allows the ``spack``
command to be used to execute spack :ref:`commands <shell-support>` and
:ref:`useful packaging commands <packaging-shell-support>`.
^^^^^^^^^^^^^^^^^^
Check Installation
^^^^^^^^^^^^^^^^^^
With Spack installed, you should be able to run some basic Spack
commands. For example:
.. command-output:: spack spec netcdf-c
In theory, Spack doesn't need any additional installation; just
download and run! But in real life, additional steps are usually
required before Spack can work in a practical sense. Read on...
^^^^^^^^^^^^^^^^^
Clean Environment
@@ -85,16 +111,52 @@ environment*, especially for ``PATH``. Only software that comes with
the system, or that you know you wish to use with Spack, should be
included. This procedure will avoid many strange build errors.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Optional: Bootstrapping clingo
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^
Check Installation
^^^^^^^^^^^^^^^^^^
Spack supports using clingo as an external solver to compute which software
needs to be installed. If you have a default compiler supporting C++14 Spack
can automatically bootstrap this tool from sources the first time it is
needed:
With Spack installed, you should be able to run some basic Spack
commands. For example:
.. code-block:: console
.. command-output:: spack spec netcdf-c
$ spack solve zlib
[+] /usr (external bison-3.0.4-wu5pgjchxzemk5ya2l3ddqug2d7jv6eb)
[+] /usr (external cmake-3.19.4-a4kmcfzxxy45mzku4ipmj5kdiiz5a57b)
[+] /usr (external python-3.6.9-x4fou4iqqlh5ydwddx3pvfcwznfrqztv)
==> Installing re2c-1.2.1-e3x6nxtk3ahgd63ykgy44mpuva6jhtdt
[ ... ]
==> Optimization: [0, 0, 0, 0, 0, 1, 0, 0, 0]
zlib@1.2.11%gcc@10.1.0+optimize+pic+shared arch=linux-ubuntu18.04-broadwell
If you want to speed-up bootstrapping, you may try to search for ``cmake`` and ``bison``
on your system:
.. code-block:: console
$ spack external find cmake bison
==> The following specs have been detected on this system and added to /home/spack/.spack/packages.yaml
bison@3.0.4 cmake@3.19.4
All the tools Spack needs for its own functioning are installed in a separate store, which lives
under the ``${HOME}/.spack`` directory. The software installed there can be queried with:
.. code-block:: console
$ spack find --bootstrap
==> Showing internal bootstrap store at "/home/spack/.spack/bootstrap/store"
==> 3 installed packages
-- linux-ubuntu18.04-x86_64 / gcc@10.1.0 ------------------------
clingo-bootstrap@spack python@3.6.9 re2c@1.2.1
In case it's needed the bootstrap store can also be cleaned with:
.. code-block:: console
$ spack clean -b
==> Removing software in "/home/spack/.spack/bootstrap/store"
^^^^^^^^^^^^^^^^^^^^^^^^^^
Optional: Alternate Prefix
@@ -114,15 +176,6 @@ copy of spack installs packages into its own ``$PREFIX/opt``
directory.
^^^^^^^^^^
Next Steps
^^^^^^^^^^
In theory, Spack doesn't need any additional installation; just
download and run! But in real life, additional steps are usually
required before Spack can work in a practical sense. Read on...
.. _compiler-config:
----------------------
@@ -712,8 +765,9 @@ an OpenMPI installed in /opt/local, one would use:
packages:
openmpi:
paths:
openmpi@1.10.1: /opt/local
externals:
- spec: openmpi@1.10.1
prefix: /opt/local
buildable: False
In general, Spack is easier to use and more reliable if it builds all of
@@ -775,8 +829,9 @@ Then add the following to ``~/.spack/packages.yaml``:
packages:
openssl:
paths:
openssl@1.0.2g: /usr
externals:
- spec: openssl@1.0.2g
prefix: /usr
buildable: False
@@ -791,8 +846,9 @@ to add the following to ``packages.yaml``:
packages:
netlib-lapack:
paths:
netlib-lapack@3.6.1: /usr
externals:
- spec: netlib-lapack@3.6.1
prefix: /usr
buildable: False
all:
providers:
@@ -818,7 +874,7 @@ Git
Some Spack packages use ``git`` to download, which might not work on
some computers. For example, the following error was
encountered on a Macintosh during ``spack install julia-master``:
encountered on a Macintosh during ``spack install julia@master``:
.. code-block:: console
@@ -1063,6 +1119,33 @@ Secret keys may also be later exported using the
<https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged>`_
provides a good overview of sources of randomness.
Here is an example of creating a key. Note that we provide a name for the key first
(which we can use to reference the key later) and an email address:
.. code-block:: console
$ spack gpg create dinosaur dinosaur@thedinosaurthings.com
If you want to export the key as you create it:
.. code-block:: console
$ spack gpg create --export key.pub dinosaur dinosaur@thedinosaurthings.com
Or the private key:
.. code-block:: console
$ spack gpg create --export-secret key.priv dinosaur dinosaur@thedinosaurthings.com
You can include both ``--export`` and ``--export-secret``, each with
an output file of choice, to export both.
^^^^^^^^^^^^
Listing keys
^^^^^^^^^^^^
@@ -1071,7 +1154,22 @@ In order to list the keys available in the keyring, the
``spack gpg list`` command will list trusted keys with the ``--trusted`` flag
and keys available for signing using ``--signing``. If you would like to
remove keys from your keyring, ``spack gpg untrust <keyid>``. Key IDs can be
email addresses, names, or (best) fingerprints.
email addresses, names, or (best) fingerprints. Here is an example of listing
the key that we just created:
.. code-block:: console
gpgconf: socketdir is '/run/user/1000/gnupg'
/home/spackuser/spack/opt/spack/gpg/pubring.kbx
----------------------------------------------------------
pub rsa4096 2021-03-25 [SC]
60D2685DAB647AD4DB54125961E09BB6F2A0ADCB
uid [ultimate] dinosaur (GPG created for Spack) <dinosaur@thedinosaurthings.com>
Note that the name "dinosaur" can be seen under the uid, which is the unique
id. We might need this reference if we want to export or otherwise reference the key.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Signing and Verifying Packages
@@ -1086,6 +1184,38 @@ may also be used to create a signed file which contains the contents, but it
is not recommended. Signed packages may be verified by using
``spack gpg verify <file>``.
^^^^^^^^^^^^^^
Exporting Keys
^^^^^^^^^^^^^^
You likely might want to export a public key, and that looks like this. Let's
use the previous example and ask spack to export the key with uid "dinosaur."
We will provide an output location (typically a `*.pub` file) and the name of
the key.
.. code-block:: console
$ spack gpg export dinosaur.pub dinosaur
You can then look at the created file, `dinosaur.pub`, to see the exported key.
If you want to include the private key, then just add `--secret`:
.. code-block:: console
$ spack gpg export --secret dinosaur.priv dinosaur
This will write the private key to the file `dinosaur.priv`.
.. warning::
You should be very careful about exporting private keys. You likely would
only want to do this in the context of moving your spack installation to
a different server, and wanting to preserve keys for a buildcache. If you
are unsure about exporting, you can ask your local system administrator
or for help on an issue or the Spack slack.
.. _cray-support:
-------------
@@ -1181,9 +1311,13 @@ Here's an example of an external configuration for cray modules:
packages:
mpich:
modules:
mpich@7.3.1%gcc@5.2.0 arch=cray_xc-haswell-CNL10: cray-mpich
mpich@7.3.1%intel@16.0.0.109 arch=cray_xc-haswell-CNL10: cray-mpich
externals:
- spec: "mpich@7.3.1%gcc@5.2.0 arch=cray_xc-haswell-CNL10"
modules:
- cray-mpich
- spec: "mpich@7.3.1%intel@16.0.0.109 arch=cray_xc-haswell-CNL10"
modules:
- cray-mpich
all:
providers:
mpi: [mpich]
@@ -1195,7 +1329,7 @@ via module load.
.. note::
For Cray-provided packages, it is best to use ``modules:`` instead of ``paths:``
For Cray-provided packages, it is best to use ``modules:`` instead of ``prefix:``
in ``packages.yaml``, because the Cray Programming Environment heavily relies on
modules (e.g., loading the ``cray-mpich`` module adds MPI libraries to the
compiler wrapper link line).
@@ -1211,19 +1345,31 @@ Here is an example of a full packages.yaml used at NERSC
packages:
mpich:
modules:
mpich@7.3.1%gcc@5.2.0 arch=cray_xc-CNL10-ivybridge: cray-mpich
mpich@7.3.1%intel@16.0.0.109 arch=cray_xc-SuSE11-ivybridge: cray-mpich
externals:
- spec: "mpich@7.3.1%gcc@5.2.0 arch=cray_xc-CNL10-ivybridge"
modules:
- cray-mpich
- spec: "mpich@7.3.1%intel@16.0.0.109 arch=cray_xc-SuSE11-ivybridge"
modules:
- cray-mpich
buildable: False
netcdf:
modules:
netcdf@4.3.3.1%gcc@5.2.0 arch=cray_xc-CNL10-ivybridge: cray-netcdf
netcdf@4.3.3.1%intel@16.0.0.109 arch=cray_xc-CNL10-ivybridge: cray-netcdf
externals:
- spec: "netcdf@4.3.3.1%gcc@5.2.0 arch=cray_xc-CNL10-ivybridge"
modules:
- cray-netcdf
- spec: "netcdf@4.3.3.1%intel@16.0.0.109 arch=cray_xc-CNL10-ivybridge"
modules:
- cray-netcdf
buildable: False
hdf5:
modules:
hdf5@1.8.14%gcc@5.2.0 arch=cray_xc-CNL10-ivybridge: cray-hdf5
hdf5@1.8.14%intel@16.0.0.109 arch=cray_xc-CNL10-ivybridge: cray-hdf5
externals:
- spec: "hdf5@1.8.14%gcc@5.2.0 arch=cray_xc-CNL10-ivybridge"
modules:
- cray-hdf5
- spec: "hdf5@1.8.14%intel@16.0.0.109 arch=cray_xc-CNL10-ivybridge"
modules:
- cray-hdf5
buildable: False
all:
compiler: [gcc@5.2.0, intel@16.0.0.109]
@@ -1247,6 +1393,6 @@ environment variables may be propagated into containers that are not
using the Cray programming environment.
To ensure that Spack does not autodetect the Cray programming
environment, unset the environment variable ``CRAYPE_VERSION``. This
environment, unset the environment variable ``MODULEPATH``. This
will cause Spack to treat a linux container on a Cray system as a base
linux distro.

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -67,6 +67,7 @@ or refer to the full manual below.
build_settings
environments
containers
monitoring
mirrors
module_file_support
repositories
@@ -77,6 +78,12 @@ or refer to the full manual below.
extensions
pipelines
.. toctree::
:maxdepth: 2
:caption: Research
analyze
.. toctree::
:maxdepth: 2
:caption: Contributing
@@ -85,7 +92,6 @@ or refer to the full manual below.
packaging_guide
build_systems
developer_guide
docker_for_developers
.. toctree::
:maxdepth: 2

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -14,7 +14,7 @@ problems if you encounter them.
Variants are not properly forwarded to dependencies
---------------------------------------------------
**Status:** Expected to be fixed in the next release
**Status:** Expected to be fixed by Spack's new concretizer
Sometimes, a variant of a package can also affect how its dependencies are
built. For example, in order to build MPI support for a package, it may
@@ -49,15 +49,29 @@ A workaround is to explicitly activate the variants of dependencies as well:
See https://github.com/spack/spack/issues/267 and
https://github.com/spack/spack/issues/2546 for further details.
-----------------------------------------------
depends_on cannot handle recursive dependencies
-----------------------------------------------
----------------------------
``spack setup`` doesn't work
----------------------------
**Status:** Not yet a work in progress
**Status:** Work in progress
Although ``depends_on`` can handle any aspect of Spack's spec syntax,
it currently cannot handle recursive dependencies. If the ``^`` sigil
appears in a ``depends_on`` statement, the concretizer will hang.
For example, something like:
Spack provides a ``setup`` command that is useful for the development of
software outside of Spack. Unfortunately, this command no longer works.
See https://github.com/spack/spack/issues/2597 and
https://github.com/spack/spack/issues/2662 for details. This is expected
to be fixed by https://github.com/spack/spack/pull/2664.
.. code-block:: python
depends_on('mfem+cuda ^hypre+cuda', when='+cuda')
should be rewritten as:
.. code-block:: python
depends_on('mfem+cuda', when='+cuda')
depends_on('hypre+cuda', when='+cuda')
See https://github.com/spack/spack/issues/17660 and
https://github.com/spack/spack/issues/11160 for more details.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -159,6 +159,27 @@ can supply a file with specs in it, one per line:
This is useful if there is a specific suite of software managed by
your site.
^^^^^^^^^^^^^^^^^^
Mirror environment
^^^^^^^^^^^^^^^^^^
To create a mirror of all packages required by a concerte environment, activate the environment and call ``spack mirror create -a``.
This is especially useful to create a mirror of an environment concretized on another machine.
.. code-block:: console
[remote] $ spack env create myenv
[remote] $ spack env activate myenv
[remote] $ spack add ...
[remote] $ spack concretize
$ sftp remote:/spack/var/environment/myenv/spack.lock
$ spack env create myenv spack.lock
$ spack env activate myenv
$ spack mirror create -a
.. _cmd-spack-mirror-add:
--------------------

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -10,14 +10,16 @@ Modules
=======
The use of module systems to manage user environment in a controlled way
is a common practice at HPC centers that is often embraced also by individual
programmers on their development machines. To support this common practice
Spack integrates with `Environment Modules
<http://modules.sourceforge.net/>`_ and `LMod
<http://lmod.readthedocs.io/en/latest/>`_ by
providing post-install hooks that generate module files and commands to manipulate them.
is a common practice at HPC centers that is often embraced also by
individual programmers on their development machines. To support this
common practice Spack integrates with `Environment Modules
<http://modules.sourceforge.net/>`_ and `LMod
<http://lmod.readthedocs.io/en/latest/>`_ by providing post-install hooks
that generate module files and commands to manipulate them.
.. _shell-support:
Modules are one of several ways you can use Spack packages. For other
options that may fit your use case better, you should also look at
:ref:`spack load <spack-load>` and :ref:`environments <environments>`.
----------------------------
Using module files via Spack
@@ -60,215 +62,33 @@ to load the ``cmake`` module:
$ module load cmake-3.7.2-gcc-6.3.0-fowuuby
Neither of these is particularly pretty, easy to remember, or
easy to type. Luckily, Spack has its own interface for using modules.
^^^^^^^^^^^^^
Shell support
^^^^^^^^^^^^^
To enable additional Spack commands for loading and unloading module files,
and to add the correct path to ``MODULEPATH``, you need to source the appropriate
setup file in the ``$SPACK_ROOT/share/spack`` directory. This will activate shell
support for the commands that need it. For ``bash``, ``ksh`` or ``zsh`` users:
.. code-block:: console
$ . ${SPACK_ROOT}/share/spack/setup-env.sh
For ``csh`` and ``tcsh`` instead:
.. code-block:: console
$ set SPACK_ROOT ...
$ source $SPACK_ROOT/share/spack/setup-env.csh
Note that in the latter case it is necessary to explicitly set ``SPACK_ROOT``
before sourcing the setup file (you will get a meaningful error message
if you don't).
If you want to have Spack's shell support available on the command line at
any login you can put this source line in one of the files that are sourced
at startup (like ``.profile``, ``.bashrc`` or ``.cshrc``). Be aware though
that the startup time may be slightly increased because of that.
.. _cmd-spack-load:
^^^^^^^^^^^^^^^^^^^^^^^
``spack load / unload``
^^^^^^^^^^^^^^^^^^^^^^^
Once you have shell support enabled you can use the same spec syntax
you're used to and you can use the same shortened names you use
everywhere else in Spack.
For example this will add the ``mpich`` package built with ``gcc`` to your path:
.. code-block:: console
$ spack install mpich %gcc@4.4.7
# ... wait for install ...
$ spack load mpich %gcc@4.4.7
$ which mpicc
~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/mpich@3.0.4/bin/mpicc
These commands will add appropriate directories to your ``PATH``,
``MANPATH``, ``CPATH``, and ``LD_LIBRARY_PATH``. When you no longer
want to use a package, you can type unload or unuse similarly:
.. code-block:: console
$ spack unload mpich %gcc@4.4.7
.. note::
The ``load`` and ``unload`` subcommands are only available if you
have enabled Spack's shell support. These command DO NOT use the
underlying Spack-generated module files.
^^^^^^^^^^^^^^^
Ambiguous specs
^^^^^^^^^^^^^^^
If a spec used with load/unload or is ambiguous (i.e. more than one
installed package matches it), then Spack will warn you:
.. code-block:: console
$ spack load libelf
==> Error: libelf matches multiple packages.
Matching packages:
libelf@0.8.13%gcc@4.4.7 arch=linux-debian7-x86_64
libelf@0.8.13%intel@15.0.0 arch=linux-debian7-x86_64
Use a more specific spec
You can either type the ``spack load`` command again with a fully
qualified argument, or you can add just enough extra constraints to
identify one package. For example, above, the key differentiator is
that one ``libelf`` is built with the Intel compiler, while the other
used ``gcc``. You could therefore just type:
.. code-block:: console
$ spack load libelf %intel
To identify just the one built with the Intel compiler.
.. _cmd-spack-module-loads:
^^^^^^^^^^^^^^^^^^^^^^^^^^
``spack module tcl loads``
^^^^^^^^^^^^^^^^^^^^^^^^^^
In some cases, it is desirable to use a Spack-generated module, rather
than relying on Spack's built-in user-environment modification
capabilities. To translate a spec into a module name, use ``spack
module tcl loads`` or ``spack module lmod loads`` depending on the
module system desired.
To load not just a module, but also all the modules it depends on, use
the ``--dependencies`` option. This is not required for most modules
because Spack builds binaries with RPATH support. However, not all
packages use RPATH to find their dependencies: this can be true in
particular for Python extensions, which are currently *not* built with
RPATH.
Scripts to load modules recursively may be made with the command:
.. code-block:: console
$ spack module tcl loads --dependencies <spec>
An equivalent alternative using `process substitution <http://tldp.org/LDP/abs/html/process-sub.html>`_ is:
.. code-block :: console
$ source <( spack module tcl loads --dependencies <spec> )
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Module Commands for Shell Scripts
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Although Spack is flexible, the ``module`` command is much faster.
This could become an issue when emitting a series of ``spack load``
commands inside a shell script. By adding the ``--dependencies`` flag,
``spack module tcl loads`` may also be used to generate code that can be
cut-and-pasted into a shell script. For example:
.. code-block:: console
$ spack module tcl loads --dependencies py-numpy git
# bzip2@1.0.6%gcc@4.9.3=linux-x86_64
module load bzip2-1.0.6-gcc-4.9.3-ktnrhkrmbbtlvnagfatrarzjojmkvzsx
# ncurses@6.0%gcc@4.9.3=linux-x86_64
module load ncurses-6.0-gcc-4.9.3-kaazyneh3bjkfnalunchyqtygoe2mncv
# zlib@1.2.8%gcc@4.9.3=linux-x86_64
module load zlib-1.2.8-gcc-4.9.3-v3ufwaahjnviyvgjcelo36nywx2ufj7z
# sqlite@3.8.5%gcc@4.9.3=linux-x86_64
module load sqlite-3.8.5-gcc-4.9.3-a3eediswgd5f3rmto7g3szoew5nhehbr
# readline@6.3%gcc@4.9.3=linux-x86_64
module load readline-6.3-gcc-4.9.3-se6r3lsycrwxyhreg4lqirp6xixxejh3
# python@3.5.1%gcc@4.9.3=linux-x86_64
module load python-3.5.1-gcc-4.9.3-5q5rsrtjld4u6jiicuvtnx52m7tfhegi
# py-setuptools@20.5%gcc@4.9.3=linux-x86_64
module load py-setuptools-20.5-gcc-4.9.3-4qr2suj6p6glepnedmwhl4f62x64wxw2
# py-nose@1.3.7%gcc@4.9.3=linux-x86_64
module load py-nose-1.3.7-gcc-4.9.3-pwhtjw2dvdvfzjwuuztkzr7b4l6zepli
# openblas@0.2.17%gcc@4.9.3+shared=linux-x86_64
module load openblas-0.2.17-gcc-4.9.3-pw6rmlom7apfsnjtzfttyayzc7nx5e7y
# py-numpy@1.11.0%gcc@4.9.3+blas+lapack=linux-x86_64
module load py-numpy-1.11.0-gcc-4.9.3-mulodttw5pcyjufva4htsktwty4qd52r
# curl@7.47.1%gcc@4.9.3=linux-x86_64
module load curl-7.47.1-gcc-4.9.3-ohz3fwsepm3b462p5lnaquv7op7naqbi
# autoconf@2.69%gcc@4.9.3=linux-x86_64
module load autoconf-2.69-gcc-4.9.3-bkibjqhgqm5e3o423ogfv2y3o6h2uoq4
# cmake@3.5.0%gcc@4.9.3~doc+ncurses+openssl~qt=linux-x86_64
module load cmake-3.5.0-gcc-4.9.3-x7xnsklmgwla3ubfgzppamtbqk5rwn7t
# expat@2.1.0%gcc@4.9.3=linux-x86_64
module load expat-2.1.0-gcc-4.9.3-6pkz2ucnk2e62imwakejjvbv6egncppd
# git@2.8.0-rc2%gcc@4.9.3+curl+expat=linux-x86_64
module load git-2.8.0-rc2-gcc-4.9.3-3bib4hqtnv5xjjoq5ugt3inblt4xrgkd
The script may be further edited by removing unnecessary modules.
^^^^^^^^^^^^^^^
Module Prefixes
^^^^^^^^^^^^^^^
On some systems, modules are automatically prefixed with a certain
string; ``spack module tcl loads`` needs to know about that prefix when it
issues ``module load`` commands. Add the ``--prefix`` option to your
``spack module tcl loads`` commands if this is necessary.
For example, consider the following on one system:
.. code-block:: console
$ module avail
linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y
$ spack module tcl loads antlr # WRONG!
# antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64
module load antlr-2.7.7-gcc-5.3.0-bdpl46y
$ spack module tcl loads --prefix linux-SuSE11-x86_64/ antlr
# antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y
Neither of these is particularly pretty, easy to remember, or easy to
type. Luckily, Spack offers many facilities for customizing the module
scheme used at your site.
-------------------------
Module file customization
-------------------------
Module files are generated by post-install hooks after the successful
installation of a package. The table below summarizes the essential
information associated with the different file formats
that can be generated by Spack:
installation of a package.
.. note::
Spack only generates modulefiles when a package is installed. If
you attempt to install a package and it is already installed, Spack
will not regenerate modulefiles for the package. This may to
inconsistent modulefiles if the Spack module configuration has
changed since the package was installed, either by editing a file
or changing scopes or environments.
Later in this section there is a subsection on :ref:`regenerating
modules <cmd-spack-module-refresh>` that will allow you to bring
your modules to a consistent state.
The table below summarizes the essential information associated with
the different file formats that can be generated by Spack:
+-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
| | **Hook name** | **Default root directory** | **Default template file** | **Compatible tools** |
@@ -325,9 +145,8 @@ list of environment modifications.
to the corresponding environment variables:
================== =================================
LIBRARY_PATH ``self.prefix/rlib/R/lib``
LD_LIBRARY_PATH ``self.prefix/rlib/R/lib``
CPATH ``self.prefix/rlib/R/include``
PKG_CONFIG_PATH ``self.prefix/rlib/pkgconfig``
================== =================================
with the following snippet:
@@ -359,6 +178,46 @@ the installation folder of each package for the presence of a set of subdirector
(``bin``, ``man``, ``share/man``, etc.). If any is found its full path is prepended
to the environment variables listed below the folder name.
Spack modules can be configured for multiple module sets. The default
module set is named ``default``. All Spack commands which operate on
modules default to apply the ``default`` module set, but can be
applied to any module set in the configuration. Settings applied at
the root of the configuration (e.g. ``modules:enable`` rather than
``modules:default:enable``) are applied to the default module set for
backwards compatibility.
"""""""""""""""""""""""""
Changing the modules root
"""""""""""""""""""""""""
As shown in the table above, the default module root for ``lmod`` is
``$spack/share/spack/lmod`` and the default root for ``tcl`` is
``$spack/share/spack/modules``. This can be overridden for any module
set by changing the ``roots`` key of the configuration.
.. code-block:: yaml
modules:
default:
roots:
tcl: /path/to/install/tcl/modules
my_custom_lmod_modules:
roots:
lmod: /path/to/install/custom/lmod/modules
...
This configuration will create two module sets. The default module set
will install its ``tcl`` modules to ``/path/to/install/tcl/modules``
(and still install its lmod modules, if any, to the default
location). The set ``my_custom_lmod_modules`` will install its lmod
modules to ``/path/to/install/custom/lmod/modules`` (and still install
its tcl modules, if any, to the default location).
Obviously, having multiple module sets install modules to the default
location could be confusing to users of your modules. In the next
section, we will discuss enabling and disabling module types (module
file generators) for each module set.
""""""""""""""""""""
Activate other hooks
""""""""""""""""""""
@@ -374,13 +233,14 @@ to the generator being customized:
.. code-block:: yaml
modules:
enable:
- tcl
- lmod
tcl:
# contains environment modules specific customizations
lmod:
# contains lmod specific customizations
default:
enable:
- tcl
- lmod
tcl:
# contains environment modules specific customizations
lmod:
# contains lmod specific customizations
In general, the configuration options that you can use in ``modules.yaml`` will
either change the layout of the module files on the filesystem, or they will affect
@@ -589,6 +449,94 @@ that are already in the LMod hierarchy.
For hierarchies that are deeper than three layers ``lmod spider`` may have some issues.
See `this discussion on the LMod project <https://github.com/TACC/Lmod/issues/114>`_.
.. _customize-env-modifications:
"""""""""""""""""""""""""""""""""""
Customize environment modifications
"""""""""""""""""""""""""""""""""""
You can control which prefixes in a Spack package are added to
environment variables with the ``prefix_inspections`` section; this
section maps relative prefixes to the list of environment variables
which should be updated with those prefixes.
The ``prefix_inspections`` configuration is different from other
settings in that a ``prefix_inspections`` configuration at the
``modules`` level of the configuration file applies to all module
sets. This allows users to make general overrides to the default
inspections and customize them per-module-set.
.. code-block:: yaml
modules:
prefix_inspections:
bin:
- PATH
lib:
- LIBRARY_PATH
'':
- CMAKE_PREFIX_PATH
Prefix inspections are only applied if the relative path inside the
installation prefix exists. In this case, for a Spack package ``foo``
installed to ``/spack/prefix/foo``, if ``foo`` installs executables to
``bin`` but no libraries in ``lib``, the generated module file for
``foo`` would update ``PATH`` to contain ``/spack/prefix/foo/bin`` and
``CMAKE_PREFIX_PATH`` to contain ``/spack/prefix/foo``, but would not
update ``LIBRARY_PATH``.
There is a special case for prefix inspections relative to environment
views. If all of the following conditions hold for a module set
configuration:
#. The configuration is for an :ref:`environment <environments>` and
will never be applied outside the environment,
#. The environment in question is configured to use a :ref:`view
<filesystem-views>`,
#. The :ref:`environment view is configured
<configuring_environment_views>` with a projection that ensures
every package is linked to a unique directory,
then the module set may be configured to create modules relative to
the environment view. This is specified by the ``use_view``
configuration option in the module set. If ``True``, the module set is
constructed relative to the default view of the
environment. Otherwise, the value must be the name of the environment
view relative to which to construct modules, or ``False-ish`` to
disable the feature explicitly (the default is ``False``).
If the ``use_view`` value is set in the config, then the prefix
inspections for the package are done relative to the package's path in
the view.
.. code-block:: yaml
spack:
modules:
view_relative_modules:
use_view: my_view
prefix_inspections:
bin:
- PATH
view:
my_view:
projections:
root: /path/to/my/view
all: '{name}-{hash}'
The ``spack`` key is relevant to :ref:`environment <environments>`
configuration, and the view key is discussed in detail in the section
on :ref:`Configuring environment views
<configuring_environment_views>`. With this configuration the
generated module for package ``foo`` would set ``PATH`` to include
``/path/to/my/view/foo-<hash>/bin`` instead of
``/spack/prefix/foo/bin``.
The ``use_view`` option is useful when deploying a large software
stack to users who are likely to inspect the modules to find full
paths to software, when it is desirable to present the users with a
simpler set of paths than those generated by the Spack install tree.
""""""""""""""""""""""""""""""""""""
Filter out environment modifications
""""""""""""""""""""""""""""""""""""
@@ -697,3 +645,135 @@ subcommand is ``rm``:
that are already existing will ask for a confirmation by default. If
the command is used in a script it is possible though to pass the
``-y`` argument, that will skip this safety measure.
.. _modules-in-shell-scripts:
------------------------------------
Using Spack modules in shell scripts
------------------------------------
The easiest To enable additional Spack commands for loading and unloading
module files, and to add the correct path to ``MODULEPATH``, you need to
source the appropriate setup file. Assuming Spack is installed in
``$SPACK_ROOT``, run the appropriate command for your shell:
.. code-block:: console
# For bash/zsh/sh
$ . $SPACK_ROOT/share/spack/setup-env.sh
# For tcsh/csh
$ source $SPACK_ROOT/share/spack/setup-env.csh
# For fish
$ . $SPACK_ROOT/share/spack/setup-env.fish
If you want to have Spack's shell support available on the command line
at any login you can put this source line in one of the files that are
sourced at startup (like ``.profile``, ``.bashrc`` or ``.cshrc``). Be
aware that the shell startup time may increase slightly as a result.
.. _cmd-spack-module-loads:
^^^^^^^^^^^^^^^^^^^^^^^^^^
``spack module tcl loads``
^^^^^^^^^^^^^^^^^^^^^^^^^^
In some cases, it is desirable to use a Spack-generated module, rather
than relying on Spack's built-in user-environment modification
capabilities. To translate a spec into a module name, use ``spack
module tcl loads`` or ``spack module lmod loads`` depending on the
module system desired.
To load not just a module, but also all the modules it depends on, use
the ``--dependencies`` option. This is not required for most modules
because Spack builds binaries with RPATH support. However, not all
packages use RPATH to find their dependencies: this can be true in
particular for Python extensions, which are currently *not* built with
RPATH.
Scripts to load modules recursively may be made with the command:
.. code-block:: console
$ spack module tcl loads --dependencies <spec>
An equivalent alternative using `process substitution <http://tldp.org/LDP/abs/html/process-sub.html>`_ is:
.. code-block:: console
$ source <( spack module tcl loads --dependencies <spec> )
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Module Commands for Shell Scripts
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Although Spack is flexible, the ``module`` command is much faster.
This could become an issue when emitting a series of ``spack load``
commands inside a shell script. By adding the ``--dependencies`` flag,
``spack module tcl loads`` may also be used to generate code that can be
cut-and-pasted into a shell script. For example:
.. code-block:: console
$ spack module tcl loads --dependencies py-numpy git
# bzip2@1.0.6%gcc@4.9.3=linux-x86_64
module load bzip2-1.0.6-gcc-4.9.3-ktnrhkrmbbtlvnagfatrarzjojmkvzsx
# ncurses@6.0%gcc@4.9.3=linux-x86_64
module load ncurses-6.0-gcc-4.9.3-kaazyneh3bjkfnalunchyqtygoe2mncv
# zlib@1.2.8%gcc@4.9.3=linux-x86_64
module load zlib-1.2.8-gcc-4.9.3-v3ufwaahjnviyvgjcelo36nywx2ufj7z
# sqlite@3.8.5%gcc@4.9.3=linux-x86_64
module load sqlite-3.8.5-gcc-4.9.3-a3eediswgd5f3rmto7g3szoew5nhehbr
# readline@6.3%gcc@4.9.3=linux-x86_64
module load readline-6.3-gcc-4.9.3-se6r3lsycrwxyhreg4lqirp6xixxejh3
# python@3.5.1%gcc@4.9.3=linux-x86_64
module load python-3.5.1-gcc-4.9.3-5q5rsrtjld4u6jiicuvtnx52m7tfhegi
# py-setuptools@20.5%gcc@4.9.3=linux-x86_64
module load py-setuptools-20.5-gcc-4.9.3-4qr2suj6p6glepnedmwhl4f62x64wxw2
# py-nose@1.3.7%gcc@4.9.3=linux-x86_64
module load py-nose-1.3.7-gcc-4.9.3-pwhtjw2dvdvfzjwuuztkzr7b4l6zepli
# openblas@0.2.17%gcc@4.9.3+shared=linux-x86_64
module load openblas-0.2.17-gcc-4.9.3-pw6rmlom7apfsnjtzfttyayzc7nx5e7y
# py-numpy@1.11.0%gcc@4.9.3+blas+lapack=linux-x86_64
module load py-numpy-1.11.0-gcc-4.9.3-mulodttw5pcyjufva4htsktwty4qd52r
# curl@7.47.1%gcc@4.9.3=linux-x86_64
module load curl-7.47.1-gcc-4.9.3-ohz3fwsepm3b462p5lnaquv7op7naqbi
# autoconf@2.69%gcc@4.9.3=linux-x86_64
module load autoconf-2.69-gcc-4.9.3-bkibjqhgqm5e3o423ogfv2y3o6h2uoq4
# cmake@3.5.0%gcc@4.9.3~doc+ncurses+openssl~qt=linux-x86_64
module load cmake-3.5.0-gcc-4.9.3-x7xnsklmgwla3ubfgzppamtbqk5rwn7t
# expat@2.1.0%gcc@4.9.3=linux-x86_64
module load expat-2.1.0-gcc-4.9.3-6pkz2ucnk2e62imwakejjvbv6egncppd
# git@2.8.0-rc2%gcc@4.9.3+curl+expat=linux-x86_64
module load git-2.8.0-rc2-gcc-4.9.3-3bib4hqtnv5xjjoq5ugt3inblt4xrgkd
The script may be further edited by removing unnecessary modules.
^^^^^^^^^^^^^^^
Module Prefixes
^^^^^^^^^^^^^^^
On some systems, modules are automatically prefixed with a certain
string; ``spack module tcl loads`` needs to know about that prefix when it
issues ``module load`` commands. Add the ``--prefix`` option to your
``spack module tcl loads`` commands if this is necessary.
For example, consider the following on one system:
.. code-block:: console
$ module avail
linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y
$ spack module tcl loads antlr # WRONG!
# antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64
module load antlr-2.7.7-gcc-5.3.0-bdpl46y
$ spack module tcl loads --prefix linux-SuSE11-x86_64/ antlr
# antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y

View File

@@ -0,0 +1,120 @@
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _monitoring:
==========
Monitoring
==========
You can use a `spack monitor <https://github.com/spack/spack-monitor>`_ "Spackmon"
server to store a database of your packages, builds, and associated metadata
for provenance, research, or some other kind of development. You should
follow the instructions in the `spack monitor documentation <https://spack-monitor.readthedocs.org>`_
to first create a server along with a username and token for yourself.
You can then use this guide to interact with the server.
-------------------
Analysis Monitoring
-------------------
To read about how to monitor an analysis (meaning you want to send analysis results
to a server) see :ref:`analyze_monitoring`.
---------------------
Monitoring An Install
---------------------
Since an install is typically when you build packages, we logically want
to tell spack to monitor during this step. Let's start with an example
where we want to monitor the install of hdf5. Unless you have disabled authentication
for the server, we first want to export our spack monitor token and username to the environment:
.. code-block:: console
$ export SPACKMON_TOKEN=50445263afd8f67e59bd79bff597836ee6c05438
$ export SPACKMON_USER=spacky
By default, the host for your server is expected to be at ``http://127.0.0.1``
with a prefix of ``ms1``, and if this is the case, you can simply add the
``--monitor`` flag to the install command:
.. code-block:: console
$ spack install --monitor hdf5
If you need to customize the host or the prefix, you can do that as well:
.. code-block:: console
$ spack install --monitor --monitor-prefix monitor --monitor-host https://monitor-service.io hdf5
As a precaution, we cut out early in the spack client if you have not provided
authentication credentials. For example, if you run the command above without
exporting your username or token, you'll see:
.. code-block:: console
==> Error: You are required to export SPACKMON_TOKEN and SPACKMON_USER
This extra check is to ensure that we don't start any builds,
and then discover that you forgot to export your token. However, if
your monitoring server has authentication disabled, you can tell this to
the client to skip this step:
.. code-block:: console
$ spack install --monitor --monitor-disable-auth hdf5
If the service is not running, you'll cleanly exit early - the install will
not continue if you've asked it to monitor and there is no service.
For example, here is what you'll see if the monitoring service is not running:
.. code-block:: console
[Errno 111] Connection refused
If you want to continue builds (and stop monitoring) you can set the ``--monitor-keep-going``
flag.
.. code-block:: console
$ spack install --monitor --monitor-keep-going hdf5
This could mean that if a request fails, you only have partial or no data
added to your monitoring database. This setting will not be applied to the
first request to check if the server is running, but to subsequent requests.
If you don't have a monitor server running and you want to build, simply
don't provide the ``--monitor`` flag! Finally, if you want to provide one or
more tags to your build, you can do:
.. code-block:: console
# Add one tag, "pizza"
$ spack install --monitor --monitor-tags pizza hdf5
# Add two tags, "pizza" and "pasta"
$ spack install --monitor --monitor-tags pizza,pasta hdf5
------------------
Monitoring Offline
------------------
In the case that you want to save monitor results to your filesystem
and then upload them later (perhaps you are in an environment where you don't
have credentials or it isn't safe to use them) you can use the ``--monitor-save-local``
flag.
.. code-block:: console
$ spack install --monitor --monitor-save-local hdf5
This will save results in a subfolder, "monitor" in your designated spack
reports folder, which defaults to ``$HOME/.spack/reports/monitor``.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -10,8 +10,8 @@ Package List
============
This is a list of things you can install using Spack. It is
automatically generated based on the packages in the latest Spack
release.
automatically generated based on the packages in this Spack
version.
.. raw:: html
:file: package_list.html

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -30,79 +30,151 @@ at least one `runner <https://docs.gitlab.com/runner/>`_. Then the basic steps
for setting up a build pipeline are as follows:
#. Create a repository on your gitlab instance
#. Add a ``spack.yaml`` at the root containing your pipeline environment (see
below for details)
#. Add a ``spack.yaml`` at the root containing your pipeline environment
#. Add a ``.gitlab-ci.yml`` at the root containing two jobs (one to generate
the pipeline dynamically, and one to run the generated jobs), similar to
this one:
.. code-block:: yaml
stages: [generate, build]
generate-pipeline:
stage: generate
tags:
- <custom-tag>
script:
- spack env activate .
- spack ci generate
--output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml"
artifacts:
paths:
- "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml"
build-jobs:
stage: build
trigger:
include:
- artifact: "jobs_scratch_dir/pipeline.yml"
job: generate-pipeline
strategy: depend
#. Add any secrets required by the CI process to environment variables using the
CI web ui
the pipeline dynamically, and one to run the generated jobs).
#. Push a commit containing the ``spack.yaml`` and ``.gitlab-ci.yml`` mentioned above
to the gitlab repository
The ``<custom-tag>``, above, is used to pick one of your configured runners to
run the pipeline generation phase (this is implemented in the ``spack ci generate``
command, which assumes the runner has an appropriate version of spack installed
and configured for use). Of course, there are many ways to customize the process.
You can configure CDash reporting on the progress of your builds, set up S3 buckets
to mirror binaries built by the pipeline, clone a custom spack repository/ref for
use by the pipeline, and more.
See the :ref:`functional_example` section for a minimal working example. See also
the :ref:`custom_Workflow` section for a link to an example of a custom workflow
based on spack pipelines.
While it is possible to set up pipelines on gitlab.com, the builds there are
limited to 60 minutes and generic hardware. It is also possible to
While it is possible to set up pipelines on gitlab.com, as illustrated above, the
builds there are limited to 60 minutes and generic hardware. It is also possible to
`hook up <https://about.gitlab.com/blog/2018/04/24/getting-started-gitlab-ci-gcp>`_
Gitlab to Google Kubernetes Engine (`GKE <https://cloud.google.com/kubernetes-engine/>`_)
or Amazon Elastic Kubernetes Service (`EKS <https://aws.amazon.com/eks>`_), though those
topics are outside the scope of this document.
Spack's pipelines are now making use of the
`trigger <https://docs.gitlab.com/12.9/ee/ci/yaml/README.html#trigger>` syntax to run
`trigger <https://docs.gitlab.com/12.9/ee/ci/yaml/README.html#trigger>`_ syntax to run
dynamically generated
`child pipelines <https://docs.gitlab.com/12.9/ee/ci/parent_child_pipelines.html>`.
`child pipelines <https://docs.gitlab.com/12.9/ee/ci/parent_child_pipelines.html>`_.
Note that the use of dynamic child pipelines requires running Gitlab version
``>= 12.9``.
.. _functional_example:
------------------
Functional Example
------------------
The simplest fully functional standalone example of a working pipeline can be
examined live at this example `project <https://gitlab.com/scott.wittenburg/spack-pipeline-demo>`_
on gitlab.com.
Here's the ``.gitlab-ci.yml`` file from that example that builds and runs the
pipeline:
.. code-block:: yaml
stages: [generate, build]
variables:
SPACK_REPO: https://github.com/scottwittenburg/spack.git
SPACK_REF: pipelines-reproducible-builds
generate-pipeline:
stage: generate
tags:
- docker
image:
name: ghcr.io/scottwittenburg/ecpe4s-ubuntu18.04-runner-x86_64:2020-09-01
entrypoint: [""]
before_script:
- git clone ${SPACK_REPO}
- pushd spack && git checkout ${SPACK_REF} && popd
- . "./spack/share/spack/setup-env.sh"
script:
- spack env activate --without-view .
- spack -d ci generate
--artifacts-root "${CI_PROJECT_DIR}/jobs_scratch_dir"
--output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml"
artifacts:
paths:
- "${CI_PROJECT_DIR}/jobs_scratch_dir"
build-jobs:
stage: build
trigger:
include:
- artifact: "jobs_scratch_dir/pipeline.yml"
job: generate-pipeline
strategy: depend
The key thing to note above is that there are two jobs: The first job to run,
``generate-pipeline``, runs the ``spack ci generate`` command to generate a
dynamic child pipeline and write it to a yaml file, which is then picked up
by the second job, ``build-jobs``, and used to trigger the downstream pipeline.
And here's the spack environment built by the pipeline represented as a
``spack.yaml`` file:
.. code-block:: yaml
spack:
view: false
concretization: separately
definitions:
- pkgs:
- zlib
- bzip2
- arch:
- '%gcc@7.5.0 arch=linux-ubuntu18.04-x86_64'
specs:
- matrix:
- - $pkgs
- - $arch
mirrors: { "mirror": "s3://spack-public/mirror" }
gitlab-ci:
before_script:
- git clone ${SPACK_REPO}
- pushd spack && git checkout ${SPACK_CHECKOUT_VERSION} && popd
- . "./spack/share/spack/setup-env.sh"
script:
- pushd ${SPACK_CONCRETE_ENV_DIR} && spack env activate --without-view . && popd
- spack -d ci rebuild
mappings:
- match: ["os=ubuntu18.04"]
runner-attributes:
image:
name: ghcr.io/scottwittenburg/ecpe4s-ubuntu18.04-runner-x86_64:2020-09-01
entrypoint: [""]
tags:
- docker
enable-artifacts-buildcache: True
rebuild-index: False
The elements of this file important to spack ci pipelines are described in more
detail below, but there are a couple of things to note about the above working
example:
Normally ``enable-artifacts-buildcache`` is not recommended in production as it
results in large binary artifacts getting transferred back and forth between
gitlab and the runners. But in this example on gitlab.com where there is no
shared, persistent file system, and where no secrets are stored for giving
permission to write to an S3 bucket, ``enabled-buildcache-artifacts`` is the only
way to propagate binaries from jobs to their dependents.
Also, it is usually a good idea to let the pipeline generate a final "rebuild the
buildcache index" job, so that subsequent pipeline generation can quickly determine
which specs are up to date and which need to be rebuilt (it's a good idea for other
reasons as well, but those are out of scope for this discussion). In this case we
have disabled it (using ``rebuild-index: False``) because the index would only be
generated in the artifacts mirror anyway, and consequently would not be available
during subesequent pipeline runs.
-----------------------------------
Spack commands supporting pipelines
-----------------------------------
Spack provides a command ``ci`` with two sub-commands: ``spack ci generate`` generates
a pipeline (a .gitlab-ci.yml file) from a spack environment, and ``spack ci rebuild``
checks a spec against a remote mirror and possibly rebuilds it from source and updates
the binary mirror with the latest built package. Both ``spack ci ...`` commands must
be run from within the same environment, as each one makes use of the environment for
different purposes. Additionally, some options to the commands (or conditions present
in the spack environment file) may require particular environment variables to be
set in order to function properly. Examples of these are typically secrets
needed for pipeline operation that should not be visible in a spack environment
file. These environment variables are described in more detail
:ref:`ci_environment_variables`.
Spack provides a command ``ci`` command with a few sub-commands supporting spack
ci pipelines. These commands are covered in more detail in this section.
.. _cmd-spack-ci:
@@ -121,16 +193,107 @@ pipeline jobs.
Concretizes the specs in the active environment, stages them (as described in
:ref:`staging_algorithm`), and writes the resulting ``.gitlab-ci.yml`` to disk.
During concretization of the environment, ``spack ci generate`` also writes a
``spack.lock`` file which is then provided to generated child jobs and made
available in all generated job artifacts to aid in reproducing failed builds
in a local environment. This means there are two artifacts that need to be
exported in your pipeline generation job (defined in your ``.gitlab-ci.yml``).
The first is the output yaml file of ``spack ci generate``, and the other is
the directory containing the concrete environment files. In the
:ref:`functional_example` section, we only mentioned one path in the
``artifacts`` ``paths`` list because we used ``--artifacts-root`` as the
top level directory containing both the generated pipeline yaml and the
concrete environment.
Using ``--prune-dag`` or ``--no-prune-dag`` configures whether or not jobs are
generated for specs that are already up to date on the mirror. If enabling
DAG pruning using ``--prune-dag``, more information may be required in your
``spack.yaml`` file, see the :ref:`noop_jobs` section below regarding
``service-job-attributes``.
The optional ``--check-index-only`` argument can be used to speed up pipeline
generation by telling spack to consider only remote buildcache indices when
checking the remote mirror to determine if each spec in the DAG is up to date
or not. The default behavior is for spack to fetch the index and check it,
but if the spec is not found in the index, to also perform a direct check for
the spec on the mirror. If the remote buildcache index is out of date, which
can easily happen if it is not updated frequently, this behavior ensures that
spack has a way to know for certain about the status of any concrete spec on
the remote mirror, but can slow down pipeline generation significantly.
The ``--optimize`` argument is experimental and runs the generated pipeline
document through a series of optimization passes designed to reduce the size
of the generated file.
The ``--dependencies`` is also experimental and disables what in Gitlab is
referred to as DAG scheduling, internally using the ``dependencies`` keyword
rather than ``needs`` to list dependency jobs. The drawback of using this option
is that before any job can begin, all jobs in previous stages must first
complete. The benefit is that Gitlab allows more dependencies to be listed
when using ``dependencies`` instead of ``needs``.
The optional ``--output-file`` argument should be an absolute path (including
file name) to the generated pipeline, and if not given, the default is
``./.gitlab-ci.yml``.
While optional, the ``--artifacts-root`` argument is used to determine where
the concretized environment directory should be located. This directory will
be created by ``spack ci generate`` and will contain the ``spack.yaml`` and
generated ``spack.lock`` which are then passed to all child jobs as an
artifact. This directory will also be the root directory for all artifacts
generated by jobs in the pipeline.
.. _cmd-spack-ci-rebuild:
^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^
``spack ci rebuild``
^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^
This sub-command is responsible for ensuring a single spec from the release
environment is up to date on the remote mirror configured in the environment,
and as such, corresponds to a single job in the ``.gitlab-ci.yml`` file.
The purpose of the ``spack ci rebuild`` is straightforward: take its assigned
spec job, check whether the target mirror already has a binary for that spec,
and if not, build the spec from source and push the binary to the mirror. To
accomplish this in a reproducible way, the sub-command prepares a ``spack install``
command line to build a single spec in the DAG, saves that command in a
shell script, ``install.sh``, in the current working directory, and then runs
it to install the spec. The shell script is also exported as an artifact to
aid in reproducing the build outside of the CI environment.
If it was necessary to install the spec from source, ``spack ci rebuild`` will
also subsequently create a binary package for the spec and try to push it to the
mirror.
The ``spack ci rebuild`` sub-command mainly expects its "input" to come either
from environment variables or from the ``gitlab-ci`` section of the ``spack.yaml``
environment file. There are two main sources of the environment variables, some
are written into ``.gitlab-ci.yml`` by ``spack ci generate``, and some are
provided by the GitLab CI runtime.
.. _cmd-spack-ci-rebuild-index:
^^^^^^^^^^^^^^^^^^^^^^^^^^
``spack ci rebuild-index``
^^^^^^^^^^^^^^^^^^^^^^^^^^
This is a convenience command to rebuild the buildcache index associated with
the mirror in the active, gitlab-enabled environment (specifying the mirror
url or name is not required).
.. _cmd-spack-ci-reproduce-build:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
``spack ci reproduce-build``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Given the url to a gitlab pipeline rebuild job, downloads and unzips the
artifacts into a local directory (which can be specified with the optional
``--working-dir`` argument), then finds the target job in the generated
pipeline to extract details about how it was run. Assuming the job used a
docker image, the command prints a ``docker run`` command line and some basic
instructions on how to reproduce the build locally.
Note that jobs failing in the pipeline will print messages giving the
arguments you can pass to ``spack ci reproduce-build`` in order to reproduce
a particular build locally.
------------------------------------
A pipeline-enabled spack environment
@@ -189,28 +352,38 @@ corresponds to a known gitlab runner, where the ``match`` section is used
in assigning a release spec to one of the runners, and the ``runner-attributes``
section is used to configure the spec/job for that particular runner.
Both the top-level ``gitlab-ci`` section as well as each ``runner-attributes``
section can also contain the following keys: ``image``, ``tags``, ``variables``,
``before_script``, ``script``, and ``after_script``. If any of these keys are
provided at the ``gitlab-ci`` level, they will be used as the defaults for any
``runner-attributes``, unless they are overridden in those sections. Specifying
any of these keys at the ``runner-attributes`` level generally overrides the
keys specified at the higher level, with a couple exceptions. Any ``variables``
specified at both levels result in those dictionaries getting merged in the
resulting generated job, and any duplicate variable names get assigned the value
provided in the specific ``runner-attributes``. If ``tags`` are specified both
at the ``gitlab-ci`` level as well as the ``runner-attributes`` level, then the
lists of tags are combined, and any duplicates are removed.
See the section below on using a custom spack for an example of how these keys
could be used.
There are other pipeline options you can configure within the ``gitlab-ci`` section
as well. The ``bootstrap`` section allows you to specify lists of specs from
as well.
The ``bootstrap`` section allows you to specify lists of specs from
your ``definitions`` that should be staged ahead of the environment's ``specs`` (this
section is described in more detail below). The ``enable-artifacts-buildcache`` key
takes a boolean and determines whether the pipeline uses artifacts to store and
pass along the buildcaches from one stage to the next (the default if you don't
provide this option is ``False``). The ``enable-debug-messages`` key takes a boolean
and allows you to choose whether the pipeline build jobs are run as ``spack -d ci rebuild``
or just ``spack ci rebuild`` (the default is not to enable debug messages). The
``final-stage-rebuild-index`` section controls whether an extra job is added to the
end of your pipeline (in a stage by itself) which will regenerate the mirror's
buildcache index. Under normal operation, each pipeline job that rebuilds a package
will re-generate the mirror's buildcache index after the buildcache entry for that
job has been created and pushed to the mirror. Since jobs in the same stage can run in
parallel, there is the possibility that at the end of some stage, the index may not
reflect all the binaries in the buildcache. Adding the ``final-stage-rebuild-index``
section ensures that at the end of the pipeline, the index will be in sync with the
binaries on the mirror. If the mirror lives in an S3 bucket, this job will need to
run on a machine with the Python ``boto3`` module installed, and consequently the
``final-stage-rebuild-index`` needs to specify a list of ``tags`` to pick a runner
satisfying that condition. It can also take an ``image`` key so Docker executor type
runners can pick the right image for the index regeneration job.
provide this option is ``False``).
The optional ``broken-specs-url`` key tells Spack to check against a list of
specs that are known to be currently broken in ``develop``. If any such specs
are found, the ``spack ci generate`` command will fail with an error message
informing the user what broken specs were encountered. This allows the pipeline
to fail early and avoid wasting compute resources attempting to build packages
that will not succeed.
The optional ``cdash`` section provides information that will be used by the
``spack ci generate`` command (invoked by ``spack ci start``) for reporting
@@ -220,6 +393,81 @@ progresses, this build group may have jobs added or removed. The url, project,
and site are used to specify the CDash instance to which build results should
be reported.
Take a look at the
`schema <https://github.com/spack/spack/blob/develop/lib/spack/spack/schema/gitlab_ci.py>`_
for the gitlab-ci section of the spack environment file, to see precisely what
syntax is allowed there.
.. _rebuild_index:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Note about rebuilding buildcache index
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
By default, while a pipeline job may rebuild a package, create a buildcache
entry, and push it to the mirror, it does not automatically re-generate the
mirror's buildcache index afterward. Because the index is not needed by the
default rebuild jobs in the pipeline, not updating the index at the end of
each job avoids possible race conditions between simultaneous jobs, and it
avoids the computational expense of regenerating the index. This potentially
saves minutes per job, depending on the number of binary packages in the
mirror. As a result, the default is that the mirror's buildcache index may
not correctly reflect the mirror's contents at the end of a pipeline.
To make sure the buildcache index is up to date at the end of your pipeline,
spack generates a job to update the buildcache index of the target mirror
at the end of each pipeline by default. You can disable this behavior by
adding ``rebuild-index: False`` inside the ``gitlab-ci`` section of your
spack environment. Spack will assign the job any runner attributes found
on the ``service-job-attributes``, if you have provided that in your
``spack.yaml``.
.. _noop_jobs:
^^^^^^^^^^^^^^^^^^^^^^^
Note about "no-op" jobs
^^^^^^^^^^^^^^^^^^^^^^^
If no specs in an environment need to be rebuilt during a given pipeline run
(meaning all are already up to date on the mirror), a single succesful job
(a NO-OP) is still generated to avoid an empty pipeline (which GitLab
considers to be an error). An optional ``service-job-attributes`` section
can be added to your ``spack.yaml`` where you can provide ``tags`` and
``image`` or ``variables`` for the generated NO-OP job. This section also
supports providing ``before_script``, ``script``, and ``after_script``, in
case you want to take some custom actions in the case of any empty pipeline.
Following is an example of this section added to a ``spack.yaml``:
.. code-block:: yaml
spack:
specs:
- openmpi
mirrors:
cloud_gitlab: https://mirror.spack.io
gitlab-ci:
mappings:
- match:
- os=centos8
runner-attributes:
tags:
- custom
- tag
image: spack/centos7
service-job-attributes:
tags: ['custom', 'tag']
image:
name: 'some.image.registry/custom-image:latest'
entrypoint: ['/bin/bash']
script:
- echo "Custom message in a custom script"
The example above illustrates how you can provide the attributes used to run
the NO-OP job in the case of an empty pipeline. The only field for the NO-OP
job that might be generated for you is ``script``, but that will only happen
if you do not provide one yourself.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Assignment of specs to runners
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -245,7 +493,19 @@ runners known to the gitlab instance. For Docker executor type runners, the
as well as an ``entrypoint`` to override whatever the default for that image is).
For other types of runners the ``variables`` key will be useful to pass any
information on to the runner that it needs to do its work (e.g. scheduler
parameters, etc.).
parameters, etc.). Any ``variables`` provided here will be added, verbatim, to
each job.
The ``runner-attributes`` section also allows users to supply custom ``script``,
``before_script``, and ``after_script`` sections to be applied to every job
scheduled on that runner. This allows users to do any custom preparation or
cleanup tasks that fit their particular workflow, as well as completely
customize the rebuilding of a spec if they so choose. Spack will not generate
a ``before_script`` or ``after_script`` for jobs, but if you do not provide
a custom ``script``, spack will generate one for you that assumes the concrete
environment directory is located within your ``--artifacts_root`` (or if not
provided, within your ``$CI_PROJECT_DIR``), activates that environment for
you, and invokes ``spack ci rebuild``.
.. _staging_algorithm:
@@ -256,8 +516,8 @@ Summary of ``.gitlab-ci.yml`` generation algorithm
All specs yielded by the matrix (or all the specs in the environment) have their
dependencies computed, and the entire resulting set of specs are staged together
before being run through the ``gitlab-ci/mappings`` entries, where each staged
spec is assigned a runner. "Staging" is the name we have given to the process
of figuring out in what order the specs should be built, taking into consideration
spec is assigned a runner. "Staging" is the name given to the process of
figuring out in what order the specs should be built, taking into consideration
Gitlab CI rules about jobs/stages. In the staging process the goal is to maximize
the number of jobs in any stage of the pipeline, while ensuring that the jobs in
any stage only depend on jobs in previous stages (since those jobs are guaranteed
@@ -268,7 +528,7 @@ a runner, the ``.gitlab-ci.yml`` is written to disk.
The short example provided above would result in the ``readline``, ``ncurses``,
and ``pkgconf`` packages getting staged and built on the runner chosen by the
``spack-k8s`` tag. In this example, we assume the runner is a Docker executor
``spack-k8s`` tag. In this example, spack assumes the runner is a Docker executor
type runner, and thus certain jobs will be run in the ``centos7`` container,
and others in the ``ubuntu-18.04`` container. The resulting ``.gitlab-ci.yml``
will contain 6 jobs in three stages. Once the jobs have been generated, the
@@ -327,12 +587,12 @@ Here's an example of what bootstrapping some compilers might look like:
# mappings similar to the example higher up in this description
...
In the example above, we have added a list to the ``definitions`` called
``compiler-pkgs`` (you can add any number of these), which lists compiler packages
we want to be staged ahead of the full matrix of release specs (which consists
only of readline in our example). Then within the ``gitlab-ci`` section, we
have added a ``bootstrap`` section, which can contain a list of items, each
referring to a list in the ``definitions`` section. These items can either
The example above adds a list to the ``definitions`` called ``compiler-pkgs``
(you can add any number of these), which lists compiler packages that should
be staged ahead of the full matrix of release specs (in this example, only
readline). Then within the ``gitlab-ci`` section, note the addition of a
``bootstrap`` section, which can contain a list of items, each referring to
a list in the ``definitions`` section. These items can either
be a dictionary or a string. If you supply a dictionary, it must have a name
key whose value must match one of the lists in definitions and it can have a
``compiler-agnostic`` key whose value is a boolean. If you supply a string,
@@ -368,13 +628,16 @@ Using a custom spack in your pipeline
If your runners will not have a version of spack ready to invoke, or if for some
other reason you want to use a custom version of spack to run your pipelines,
this can be accomplished fairly simply. First, create CI environment variables
containing the url and branch/tag you want to clone (calling them, for example,
``SPACK_REPO`` and ``SPACK_REF``), use them to clone spack in your pre-ci
``before_script``, and finally pass those same values along to the workload
generation process via the ``spack-repo`` and ``spack-ref`` cli args. Here's
the ``generate-pipeline`` job from the top of this document, updated to clone
a custom spack and make sure the generated rebuild jobs will clone it too:
this section provides an example of how you could take advantage of
user-provided pipeline scripts to accomplish this fairly simply. First, consider
specifying the source and version of spack you want to use with variables, either
written directly into your ``.gitlab-ci.yml``, or provided by CI variables defined
in the gitlab UI or from some upstream pipeline. Let's say you choose the variable
names ``SPACK_REPO`` and ``SPACK_REF`` to refer to the particular fork of spack
and branch you want for running your pipeline. You can then refer to those in a
custom shell script invoked both from your pipeline generation job and your rebuild
jobs. Here's the ``generate-pipeline`` job from the top of this document,
updated to clone and source a custom spack:
.. code-block:: yaml
@@ -382,26 +645,88 @@ a custom spack and make sure the generated rebuild jobs will clone it too:
tags:
- <some-other-tag>
before_script:
- git clone ${SPACK_REPO} --branch ${SPACK_REF}
- . ./spack/share/spack/setup-env.sh
- git clone ${SPACK_REPO}
- pushd spack && git checkout ${SPACK_REF} && popd
- . "./spack/share/spack/setup-env.sh"
script:
- spack env activate .
- spack ci generate
--spack-repo ${SPACK_REPO} --spack-ref ${SPACK_REF}
- spack env activate --without-view .
- spack ci generate --check-index-only
--artifacts-root "${CI_PROJECT_DIR}/jobs_scratch_dir"
--output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml"
after_script:
- rm -rf ./spack
artifacts:
paths:
- "${CI_PROJECT_DIR}/jobs_scratch_dir/pipeline.yml"
- "${CI_PROJECT_DIR}/jobs_scratch_dir"
That takes care of getting the desired version of spack when your pipeline is
generated by ``spack ci generate``. You also want your generated rebuild jobs
(all of them) to clone that version of spack, so next you would update your
``spack.yaml`` from above as follows:
If the ``spack ci generate`` command receives those extra command line arguments,
then it adds similar ``before_script`` and ``after_script`` sections for each of
the ``spack ci rebuild`` jobs it generates (cloning and sourcing a custom
spack in the ``before_script`` and removing it again in the ``after_script``).
This gives you control over the version of spack used when the rebuild jobs
are actually run on the gitlab runner.
.. code-block:: yaml
spack:
...
gitlab-ci:
mappings:
- match:
- os=ubuntu18.04
runner-attributes:
tags:
- spack-kube
image: spack/ubuntu-bionic
before_script:
- git clone ${SPACK_REPO}
- pushd spack && git checkout ${SPACK_REF} && popd
- . "./spack/share/spack/setup-env.sh"
script:
- spack env activate --without-view ${SPACK_CONCRETE_ENV_DIR}
- spack -d ci rebuild
after_script:
- rm -rf ./spack
Now all of the generated rebuild jobs will use the same shell script to clone
spack before running their actual workload.
Now imagine you have long pipelines with many specs to be built, and you
are pointing to a spack repository and branch that has a tendency to change
frequently, such as the main repo and its ``develop`` branch. If each child
job checks out the ``develop`` branch, that could result in some jobs running
with one SHA of spack, while later jobs run with another. To help avoid this
issue, the pipeline generation process saves global variables called
``SPACK_VERSION`` and ``SPACK_CHECKOUT_VERSION`` that capture the version
of spack used to generate the pipeline. While the ``SPACK_VERSION`` variable
simply contains the human-readable value produced by ``spack -V`` at pipeline
generation time, the ``SPACK_CHECKOUT_VERSION`` variable can be used in a
``git checkout`` command to make sure all child jobs checkout the same version
of spack used to generate the pipeline. To take advantage of this, you could
simply replace ``git checkout ${SPACK_REF}`` in the example ``spack.yaml``
above with ``git checkout ${SPACK_CHECKOUT_VERSION}``.
On the other hand, if you're pointing to a spack repository and branch under your
control, there may be no benefit in using the captured ``SPACK_CHECKOUT_VERSION``,
and you can instead just clone using the variables you define (``SPACK_REPO``
and ``SPACK_REF`` in the example aboves).
.. _custom_workflow:
---------------
Custom Workflow
---------------
There are many ways to take advantage of spack CI pipelines to achieve custom
workflows for building packages or other resources. One example of a custom
pipelines workflow is the spack tutorial container
`repo <https://github.com/spack/spack-tutorial-container>`_. This project uses
GitHub (for source control), GitLab (for automated spack ci pipelines), and
DockerHub automated builds to build Docker images (complete with fully populate
binary mirror) used by instructors and participants of a spack tutorial.
Take a look a the repo to see how it is accomplished using spack CI pipelines,
and see the following markdown files at the root of the repository for
descriptions and documentation describing the workflow: ``DESCRIPTION.md``,
``DOCKERHUB_SETUP.md``, ``GITLAB_SETUP.md``, and ``UPDATING.md``.
.. _ci_environment_variables:
@@ -418,28 +743,33 @@ environment variables used by the pipeline infrastructure are described here.
AWS_ACCESS_KEY_ID
^^^^^^^^^^^^^^^^^
Needed when binary mirror is an S3 bucket.
Optional. Only needed when binary mirror is an S3 bucket.
^^^^^^^^^^^^^^^^^^^^^
AWS_SECRET_ACCESS_KEY
^^^^^^^^^^^^^^^^^^^^^
Needed when binary mirror is an S3 bucket.
Optional. Only needed when binary mirror is an S3 bucket.
^^^^^^^^^^^^^^^
S3_ENDPOINT_URL
^^^^^^^^^^^^^^^
Needed when binary mirror is an S3 bucket that is *not* on AWS.
Optional. Only needed when binary mirror is an S3 bucket that is *not* on AWS.
^^^^^^^^^^^^^^^^^
CDASH_AUTH_TOKEN
^^^^^^^^^^^^^^^^^
Needed in order to report build groups to CDash.
Optional. Only needed in order to report build groups to CDash.
^^^^^^^^^^^^^^^^^
SPACK_SIGNING_KEY
^^^^^^^^^^^^^^^^^
Needed to sign/verify binary packages from the remote binary mirror.
Optional. Only needed if you want ``spack ci rebuild`` to trust the key you
store in this variable, in which case, it will subsequently be used to sign and
verify binary packages (when installing or creating buildcaches). You could
also have already trusted a key spack know about, or if no key is present anywhere,
spack will install specs using ``--no-check-signature`` and create buildcaches
using ``-u`` (for unsigned binaries).

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -9,7 +9,7 @@
Package Repositories
=============================
Spack comes with over 1,000 built-in package recipes in
Spack comes with thousands of built-in package recipes in
``var/spack/repos/builtin/``. This is a **package repository** -- a
directory that Spack searches when it needs to find a package by name.
You may need to maintain packages for restricted, proprietary or

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -703,400 +703,6 @@ environments:
Administrators might find things easier to maintain without the
added "heavyweight" state of a view.
------------------------------
Developing Software with Spack
------------------------------
For any project, one needs to assemble an
environment of that application's dependencies. You might consider
loading a series of modules or creating a filesystem view. This
approach, while obvious, has some serious drawbacks:
1. There is no guarantee that an environment created this way will be
consistent. Your application could end up with dependency A
expecting one version of MPI, and dependency B expecting another.
The linker will not be happy...
2. Suppose you need to debug a package deep within your software DAG.
If you build that package with a manual environment, then it
becomes difficult to have Spack auto-build things that depend on
it. That could be a serious problem, depending on how deep the
package in question is in your dependency DAG.
3. At its core, Spack is a sophisticated concretization algorithm that
matches up packages with appropriate dependencies and creates a
*consistent* environment for the package it's building. Writing a
list of ``spack load`` commands for your dependencies is at least
as hard as writing the same list of ``depends_on()`` declarations
in a Spack package. But it makes no use of Spack concretization
and is more error-prone.
4. Spack provides an automated, systematic way not just to find a
packages's dependencies --- but also to build other packages on
top. Any Spack package can become a dependency for another Spack
package, offering a powerful vision of software re-use. If you
build your package A outside of Spack, then your ability to use it
as a building block for other packages in an automated way is
diminished: other packages depending on package A will not
be able to use Spack to fulfill that dependency.
5. If you are reading this manual, you probably love Spack. You're
probably going to write a Spack package for your software so
prospective users can install it with the least amount of pain.
Why should you go to additional work to find dependencies in your
development environment? Shouldn't Spack be able to help you build
your software based on the package you've already written?
In this section, we show how Spack can be used in the software
development process to greatest effect, and how development packages
can be seamlessly integrated into the Spack ecosystem. We will show
how this process works by example, assuming the software you are
creating is called ``mylib``.
^^^^^^^^^^^^^^^^^^^^^
Write the CMake Build
^^^^^^^^^^^^^^^^^^^^^
For now, the techniques in this section only work for CMake-based
projects, although they could be easily extended to other build
systems in the future. We will therefore assume you are using CMake
to build your project.
The ``CMakeLists.txt`` file should be written as normal. A few caveats:
1. Your project should produce binaries with RPATHs. This will ensure
that they work the same whether built manually or automatically by
Spack. For example:
.. code-block:: cmake
# enable @rpath in the install name for any shared library being built
# note: it is planned that a future version of CMake will enable this by default
set(CMAKE_MACOSX_RPATH 1)
# Always use full RPATH
# http://www.cmake.org/Wiki/CMake_RPATH_handling
# http://www.kitware.com/blog/home/post/510
# use, i.e. don't skip the full RPATH for the build tree
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
# when building, don't use the install RPATH already
# (but later on when installing)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
# add the automatically determined parts of the RPATH
# which point to directories outside the build tree to the install RPATH
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
# the RPATH to be used when installing, but only if it's not a system directory
LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
IF("${isSystemDir}" STREQUAL "-1")
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
ENDIF("${isSystemDir}" STREQUAL "-1")
2. Spack provides a CMake variable called
``SPACK_TRANSITIVE_INCLUDE_PATH``, which contains the ``include/``
directory for all of your project's transitive dependencies. It
can be useful if your project ``#include``s files from package B,
which ``#include`` files from package C, but your project only
lists project B as a dependency. This works in traditional
single-tree build environments, in which B and C's include files
live in the same place. In order to make it work with Spack as
well, you must add the following to ``CMakeLists.txt``. It will
have no effect when building without Spack:
.. code-block:: cmake
# Include all the transitive dependencies determined by Spack.
# If we're not running with Spack, this does nothing...
include_directories($ENV{SPACK_TRANSITIVE_INCLUDE_PATH})
.. note::
Note that this feature is controversial and could break with
future versions of GNU ld. The best practice is to make sure
anything you ``#include`` is listed as a dependency in your
CMakeLists.txt (and Spack package).
.. _write-the-spack-package:
^^^^^^^^^^^^^^^^^^^^^^^
Write the Spack Package
^^^^^^^^^^^^^^^^^^^^^^^
The Spack package also needs to be written, in tandem with setting up
the build (for example, CMake). The most important part of this task
is declaring dependencies. Here is an example of the Spack package
for the ``mylib`` package (ellipses for brevity):
.. code-block:: python
class Mylib(CMakePackage):
"""Misc. reusable utilities used by Myapp."""
homepage = "https://github.com/citibeth/mylib"
url = "https://github.com/citibeth/mylib/tarball/123"
version('0.1.2', '3a6acd70085e25f81b63a7e96c504ef9')
version('develop', git='https://github.com/citibeth/mylib.git',
branch='develop')
variant('everytrace', default=False,
description='Report errors through Everytrace')
...
extends('python')
depends_on('eigen')
depends_on('everytrace', when='+everytrace')
depends_on('proj', when='+proj')
...
depends_on('cmake', type='build')
depends_on('doxygen', type='build')
def cmake_args(self):
spec = self.spec
return [
'-DUSE_EVERYTRACE=%s' % ('YES' if '+everytrace' in spec else 'NO'),
'-DUSE_PROJ4=%s' % ('YES' if '+proj' in spec else 'NO'),
...
'-DUSE_UDUNITS2=%s' % ('YES' if '+udunits2' in spec else 'NO'),
'-DUSE_GTEST=%s' % ('YES' if '+googletest' in spec else 'NO')]
This is a standard Spack package that can be used to install
``mylib`` in a production environment. The list of dependencies in
the Spack package will generally be a repeat of the list of CMake
dependencies. This package also has some features that allow it to be
used for development:
1. It subclasses ``CMakePackage`` instead of ``Package``. This
eliminates the need to write an ``install()`` method, which is
defined in the superclass. Instead, one just needs to write the
``configure_args()`` method. That method should return the
arguments needed for the ``cmake`` command (beyond the standard
CMake arguments, which Spack will include already). These
arguments are typically used to turn features on/off in the build.
2. It specifies a non-checksummed version ``develop``. Running
``spack install mylib@develop`` the ``@develop`` version will
install the latest version off the develop branch. This method of
download is useful for the developer of a project while it is in
active development; however, it should only be used by developers
who control and trust the repository in question!
3. The ``url``, ``url_for_version()`` and ``homepage`` attributes are
not used in development. Don't worry if you don't have any, or if
they are behind a firewall.
^^^^^^^^^^^^^^^^
Build with Spack
^^^^^^^^^^^^^^^^
Now that you have a Spack package, you can use Spack to find its
dependencies automatically. For example:
.. code-block:: console
$ cd mylib
$ spack setup mylib@local
The result will be a file ``spconfig.py`` in the top-level
``mylib/`` directory. It is a short script that calls CMake with the
dependencies and options determined by Spack --- similar to what
happens in ``spack install``, but now written out in script form.
From a developer's point of view, you can think of ``spconfig.py`` as
a stand-in for the ``cmake`` command.
.. note::
You can invent any "version" you like for the ``spack setup``
command.
.. note::
Although ``spack setup`` does not build your package, it does
create and install a module file, and mark in the database that
your package has been installed. This can lead to errors, of
course, if you don't subsequently install your package.
Also... you will need to ``spack uninstall`` before you run
``spack setup`` again.
You can now build your project as usual with CMake:
.. code-block:: console
$ mkdir build; cd build
$ ../spconfig.py .. # Instead of cmake ..
$ make
$ make install
Once your ``make install`` command is complete, your package will be
installed, just as if you'd run ``spack install``. Except you can now
edit, re-build and re-install as often as needed, without checking
into Git or downloading tarballs.
.. note::
The build you get this way will be *almost* the same as the build
from ``spack install``. The only difference is, you will not be
using Spack's compiler wrappers. This difference has not caused
problems in our experience, as long as your project sets
RPATHs as shown above. You DO use RPATHs, right?
^^^^^^^^^^^^^^^^^^^^
Build Other Software
^^^^^^^^^^^^^^^^^^^^
Now that you've built ``mylib`` with Spack, you might want to build
another package that depends on it --- for example, ``myapp``. This
is accomplished easily enough:
.. code-block:: console
$ spack install myapp ^mylib@local
Note that auto-built software has now been installed *on top of*
manually-built software, without breaking Spack's "web." This
property is useful if you need to debug a package deep in the
dependency hierarchy of your application. It is a *big* advantage of
using ``spack setup`` to build your package's environment.
If you feel your software is stable, you might wish to install it with
``spack install`` and skip the source directory. You can just use,
for example:
.. code-block:: console
$ spack install mylib@develop
.. _release-your-software:
^^^^^^^^^^^^^^^^^^^^^
Release Your Software
^^^^^^^^^^^^^^^^^^^^^
You are now ready to release your software as a tarball with a
numbered version, and a Spack package that can build it. If you're
hosted on GitHub, this process will be a bit easier.
#. Put tag(s) on the version(s) in your GitHub repo you want to be
release versions. For example, a tag ``v0.1.0`` for version 0.1.0.
#. Set the ``url`` in your ``package.py`` to download a tarball for
the appropriate version. GitHub will give you a tarball for any
commit in the repo, if you tickle it the right way. For example:
.. code-block:: python
url = 'https://github.com/citibeth/mylib/tarball/v0.1.2'
#. Use Spack to determine your version's hash, and cut'n'paste it into
your ``package.py``:
.. code-block:: console
$ spack checksum mylib 0.1.2
==> Found 1 versions of mylib
0.1.2 https://github.com/citibeth/mylib/tarball/v0.1.2
How many would you like to checksum? (default is 5, q to abort)
==> Downloading...
==> Trying to fetch from https://github.com/citibeth/mylib/tarball/v0.1.2
######################################################################## 100.0%
==> Checksummed new versions of mylib:
version('0.1.2', '3a6acd70085e25f81b63a7e96c504ef9')
#. You should now be able to install released version 0.1.2 of your package with:
.. code-block:: console
$ spack install mylib@0.1.2
#. There is no need to remove the `develop` version from your package.
Spack concretization will always prefer numbered version to
non-numeric versions. Users will only get it if they ask for it.
^^^^^^^^^^^^^^^^^^^^^^^^
Distribute Your Software
^^^^^^^^^^^^^^^^^^^^^^^^
Once you've released your software, other people will want to build
it; and you will need to tell them how. In the past, that has meant a
few paragraphs of prose explaining which dependencies to install. But
now you use Spack, and those instructions are written in executable
Python code. But your software has many dependencies, and you know
Spack is the best way to install it:
#. First, you will want to fork Spack's ``develop`` branch. Your aim
is to provide a stable version of Spack that you KNOW will install
your software. If you make changes to Spack in the process, you
will want to submit pull requests to Spack core.
#. Add your software's ``package.py`` to that fork. You should submit
a pull request for this as well, unless you don't want the public
to know about your software.
#. Prepare instructions that read approximately as follows:
#. Download Spack from your forked repo.
#. Install Spack; see :ref:`getting_started`.
#. Set up an appropriate ``packages.yaml`` file. You should tell
your users to include in this file whatever versions/variants
are needed to make your software work correctly (assuming those
are not already in your ``packages.yaml``).
#. Run ``spack install mylib``.
#. Run this script to generate the ``module load`` commands or
filesystem view needed to use this software.
#. Be aware that your users might encounter unexpected bootstrapping
issues on their machines, especially if they are running on older
systems. The :ref:`getting_started` section should cover this, but
there could always be issues.
^^^^^^^^^^^^^^^^^^^
Other Build Systems
^^^^^^^^^^^^^^^^^^^
``spack setup`` currently only supports CMake-based builds, in
packages that subclass ``CMakePackage``. The intent is that this
mechanism should support a wider range of build systems; for example,
GNU Autotools. Someone well-versed in Autotools is needed to develop
this patch and test it out.
Python Distutils is another popular build system that should get
``spack setup`` support. For non-compiled languages like Python,
``spack diy`` may be used. Even better is to put the source directory
directly in the user's ``PYTHONPATH``. Then, edits in source files
are immediately available to run without any install process at all!
^^^^^^^^^^
Conclusion
^^^^^^^^^^
The ``spack setup`` development workflow provides better automation,
flexibility and safety than workflows relying on environment modules
or filesystem views. However, it has some drawbacks:
#. It currently works only with projects that use the CMake build
system. Support for other build systems is not hard to build, but
will require a small amount of effort for each build system to be
supported. It might not work well with some IDEs.
#. It only works with packages that sub-class ``StagedPackage``.
Currently, most Spack packages do not. Converting them is not
hard; but must be done on a package-by-package basis.
#. It requires that users are comfortable with Spack, as they
integrate Spack explicitly in their workflow. Not all users are
willing to do this.
-------------------------------------
Using Spack to Replace Homebrew/Conda
-------------------------------------
@@ -1405,11 +1011,12 @@ The main points that are implemented below:
- export CXXFLAGS="-std=c++11"
install:
- if ! which spack >/dev/null; then
- |
if ! which spack >/dev/null; then
mkdir -p $SPACK_ROOT &&
git clone --depth 50 https://github.com/spack/spack.git $SPACK_ROOT &&
echo -e "config:""\n build_jobs:"" 2" > $SPACK_ROOT/etc/spack/config.yaml **
echo -e "packages:""\n all:""\n target:"" ['x86_64']"
printf "config:\n build_jobs: 2\n" > $SPACK_ROOT/etc/spack/config.yaml &&
printf "packages:\n all:\n target: ['x86_64']\n" \
> $SPACK_ROOT/etc/spack/packages.yaml;
fi
- travis_wait spack install cmake@3.7.2~openssl~ncurses
@@ -1427,170 +1034,6 @@ The main points that are implemented below:
- make -j 2
- make test
.. _workflow_create_docker_image:
-----------------------------------
Using Spack to Create Docker Images
-----------------------------------
Spack can be the ideal tool to set up images for Docker (and Singularity).
An example ``Dockerfile`` is given below, downloading the latest spack
version.
The following functionality is prepared:
#. Base image: the example starts from a minimal ubuntu.
#. Pre-install the spack dependencies.
Package installs are followed by a clean-up of the system package index,
to avoid outdated information and it saves space.
#. Install spack in ``/usr/local``.
Add ``setup-env.sh`` to profile scripts, so commands in *login* shells
can use the whole spack functionality, including modules.
#. Install an example package (``tar``).
As with system package managers above, ``spack install`` commands should be
concatenated with a ``&& spack clean -a`` in order to keep image sizes small.
#. Add a startup hook to an *interactive login shell* so spack modules will be
usable.
In order to build and run the image, execute:
.. code-block:: bash
docker build -t spack .
docker run -it spack
.. code-block:: docker
FROM ubuntu:16.04
MAINTAINER Your Name <someone@example.com>
# general environment for docker
ENV DEBIAN_FRONTEND=noninteractive \
SPACK_ROOT=/usr/local
# install minimal spack dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
autoconf \
build-essential \
ca-certificates \
coreutils \
curl \
environment-modules \
git \
python \
unzip \
vim \
&& rm -rf /var/lib/apt/lists/*
# load spack environment on login
RUN echo "source $SPACK_ROOT/share/spack/setup-env.sh" \
> /etc/profile.d/spack.sh
# spack settings
# note: if you wish to change default settings, add files alongside
# the Dockerfile with your desired settings. Then uncomment this line
#COPY packages.yaml modules.yaml $SPACK_ROOT/etc/spack/
# install spack
RUN curl -s -L https://api.github.com/repos/spack/spack/tarball \
| tar xzC $SPACK_ROOT --strip 1
# note: at this point one could also run ``spack bootstrap`` to avoid
# parts of the long apt-get install list above
# install software
RUN spack install tar \
&& spack clean -a
# need the executables from a package already during image build?
#RUN /bin/bash -l -c ' \
# spack load tar \
# && which tar'
# image run hook: the -l will make sure /etc/profile environments are loaded
CMD /bin/bash -l
^^^^^^^^^^^^^^
Best Practices
^^^^^^^^^^^^^^
"""
MPI
"""
Due to the dependency on Fortran for OpenMPI, which is the spack default
implementation, consider adding ``gfortran`` to the ``apt-get install`` list.
Recent versions of OpenMPI will require you to pass ``--allow-run-as-root``
to your ``mpirun`` calls if started as root user inside Docker.
For execution on HPC clusters, it can be helpful to import the docker
image into Singularity in order to start a program with an *external*
MPI. Otherwise, also add ``openssh-server`` to the ``apt-get install`` list.
""""
CUDA
""""
Starting from CUDA 9.0, Nvidia provides minimal CUDA images based on
Ubuntu.
Please see `their instructions <https://hub.docker.com/r/nvidia/cuda/>`_.
Avoid double-installing CUDA by adding, e.g.
.. code-block:: yaml
packages:
cuda:
paths:
cuda@9.0.176%gcc@5.4.0 arch=linux-ubuntu16-x86_64: /usr/local/cuda
buildable: False
to your ``packages.yaml``.
Then ``COPY`` in that file into the image as in the example above.
Users will either need ``nvidia-docker`` or e.g. Singularity to *execute*
device kernels.
"""""""""""
Singularity
"""""""""""
Importing and running the image created above into
`Singularity <http://singularity.lbl.gov/>`_ works like a charm.
Just use the `docker bootstraping mechanism <http://singularity.lbl.gov/quickstart#bootstrap-recipes>`_:
.. code-block:: none
Bootstrap: docker
From: registry/user/image:tag
%runscript
exec /bin/bash -l
""""""""""""""""""""""
Docker for Development
""""""""""""""""""""""
For examples of how we use docker in development, see
:ref:`docker_for_developers`.
"""""""""""""""""""""""""
Docker on Windows and OSX
"""""""""""""""""""""""""
On Mac OS and Windows, docker runs on a hypervisor that is not allocated much
memory by default, and some spack packages may fail to build due to lack of
memory. To work around this issue, consider configuring your docker installation
to use more of your host memory. In some cases, you can also ease the memory
pressure on parallel builds by limiting the parallelism in your config.yaml.
.. code-block:: yaml
config:
build_jobs: 2
------------------
Upstream Bug Fixes
------------------

1
lib/spack/env/aocc/clang vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/aocc/clang++ vendored Symbolic link
View File

@@ -0,0 +1 @@
../cpp

1
lib/spack/env/aocc/flang vendored Symbolic link
View File

@@ -0,0 +1 @@
../fc

58
lib/spack/env/cc vendored
View File

@@ -1,6 +1,6 @@
#!/bin/bash
#
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -22,7 +22,7 @@
# This is an array of environment variables that need to be set before
# the script runs. They are set by routines in spack.build_environment
# as part of spack.package.Package.do_install().
# as part of the package installation process.
parameters=(
SPACK_ENV_PATH
SPACK_DEBUG_LOG_DIR
@@ -107,25 +107,25 @@ case "$command" in
cpp)
mode=cpp
;;
cc|c89|c99|gcc|clang|armclang|icc|pgcc|xlc|xlc_r|fcc)
cc|c89|c99|gcc|clang|armclang|icc|icx|pgcc|nvc|xlc|xlc_r|fcc)
command="$SPACK_CC"
language="C"
comp="CC"
lang_flags=C
;;
c++|CC|g++|clang++|armclang++|icpc|pgc++|xlc++|xlc++_r|FCC)
c++|CC|g++|clang++|armclang++|icpc|icpx|pgc++|nvc++|xlc++|xlc++_r|FCC)
command="$SPACK_CXX"
language="C++"
comp="CXX"
lang_flags=CXX
;;
ftn|f90|fc|f95|gfortran|flang|armflang|ifort|pgfortran|xlf90|xlf90_r|nagfor|frt)
ftn|f90|fc|f95|gfortran|flang|armflang|ifort|ifx|pgfortran|nvfortran|xlf90|xlf90_r|nagfor|frt)
command="$SPACK_FC"
language="Fortran 90"
comp="FC"
lang_flags=F
;;
f77|xlf|xlf_r|pgf77|frt)
f77|xlf|xlf_r|pgf77)
command="$SPACK_F77"
language="Fortran 77"
comp="F77"
@@ -277,14 +277,22 @@ other_args=()
isystem_system_includes=()
isystem_includes=()
while [ -n "$1" ]; do
while [ $# -ne 0 ]; do
# an RPATH to be added after the case statement.
rp=""
# Multiple consecutive spaces in the command line can
# result in blank arguments
if [ -z "$1" ]; then
shift
continue
fi
case "$1" in
-isystem*)
arg="${1#-isystem}"
isystem_was_used=true
isystem_was_used=true
if [ -z "$arg" ]; then shift; arg="$1"; fi
if system_dir "$arg"; then
isystem_system_includes+=("$arg")
@@ -311,6 +319,16 @@ while [ -n "$1" ]; do
fi
;;
-l*)
# -loopopt=0 is generated erroneously in autoconf <= 2.69,
# and passed by ifx to the linker, which confuses it with a
# library. Filter it out.
# TODO: generalize filtering of args with an env var, so that
# TODO: we do not have to special case this here.
if { [ "$mode" = "ccld" ] || [ $mode = "ld" ]; } \
&& [ "$1" != "${1#-loopopt}" ]; then
shift
continue
fi
arg="${1#-l}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
other_args+=("-l$arg")
@@ -320,9 +338,13 @@ while [ -n "$1" ]; do
if [ -z "$arg" ]; then shift; arg="$1"; fi
if [[ "$arg" = -rpath=* ]]; then
rp="${arg#-rpath=}"
elif [[ "$arg" = --rpath=* ]]; then
rp="${arg#--rpath=}"
elif [[ "$arg" = -rpath,* ]]; then
rp="${arg#-rpath,}"
elif [[ "$arg" = -rpath ]]; then
elif [[ "$arg" = --rpath,* ]]; then
rp="${arg#--rpath,}"
elif [[ "$arg" =~ ^-?-rpath$ ]]; then
shift; arg="$1"
if [[ "$arg" != -Wl,* ]]; then
die "-Wl,-rpath was not followed by -Wl,*"
@@ -339,7 +361,9 @@ while [ -n "$1" ]; do
if [ -z "$arg" ]; then shift; arg="$1"; fi
if [[ "$arg" = -rpath=* ]]; then
rp="${arg#-rpath=}"
elif [[ "$arg" = -rpath ]]; then
elif [[ "$arg" = --rpath=* ]]; then
rp="${arg#--rpath=}"
elif [[ "$arg" = -rpath ]] || [[ "$arg" = --rpath ]]; then
shift; arg="$1"
if [[ "$arg" != -Xlinker,* ]]; then
die "-Xlinker,-rpath was not followed by -Xlinker,*"
@@ -434,7 +458,7 @@ then
ld)
flags=("${flags[@]}" -headerpad_max_install_names) ;;
ccld)
flags=("${flags[@]}" -Wl,-headerpad_max_install_names) ;;
flags=("${flags[@]}" "-Wl,-headerpad_max_install_names") ;;
esac
fi
@@ -491,19 +515,19 @@ args+=("${flags[@]}")
# Insert include directories just prior to any system include directories
for dir in "${includes[@]}"; do args+=("-I$dir"); done
for dir in "${isystem_includes[@]}"; do args+=("-isystem$dir"); done
for dir in "${isystem_includes[@]}"; do args+=("-isystem" "$dir"); done
IFS=':' read -ra spack_include_dirs <<< "$SPACK_INCLUDE_DIRS"
if [[ $mode == cpp || $mode == cc || $mode == as || $mode == ccld ]]; then
if [[ "$isystem_was_used" == "true" ]] ; then
for dir in "${spack_include_dirs[@]}"; do args+=("-isystem$dir"); done
for dir in "${spack_include_dirs[@]}"; do args+=("-isystem" "$dir"); done
else
for dir in "${spack_include_dirs[@]}"; do args+=("-I$dir"); done
for dir in "${spack_include_dirs[@]}"; do args+=("-I$dir"); done
fi
fi
for dir in "${system_includes[@]}"; do args+=("-I$dir"); done
for dir in "${isystem_system_includes[@]}"; do args+=("-isystem$dir"); done
for dir in "${isystem_system_includes[@]}"; do args+=("-isystem" "$dir"); done
# Library search paths
for dir in "${libdirs[@]}"; do args+=("-L$dir"); done
@@ -512,12 +536,12 @@ for dir in "${system_libdirs[@]}"; do args+=("-L$dir"); done
# RPATHs arguments
case "$mode" in
ccld)
if [ ! -z "$dtags_to_add" ] ; then args+=("$linker_arg$dtags_to_add") ; fi
if [ -n "$dtags_to_add" ] ; then args+=("$linker_arg$dtags_to_add") ; fi
for dir in "${rpaths[@]}"; do args+=("$rpath$dir"); done
for dir in "${system_rpaths[@]}"; do args+=("$rpath$dir"); done
;;
ld)
if [ ! -z "$dtags_to_add" ] ; then args+=("$dtags_to_add") ; fi
if [ -n "$dtags_to_add" ] ; then args+=("$dtags_to_add") ; fi
for dir in "${rpaths[@]}"; do args+=("-rpath" "$dir"); done
for dir in "${system_rpaths[@]}"; do args+=("-rpath" "$dir"); done
;;

1
lib/spack/env/nvhpc/nvc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/nvhpc/nvc++ vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/nvhpc/nvfortran vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/oneapi/icpx vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/oneapi/icx vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/oneapi/ifx vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -6,6 +6,13 @@
"""This module contains the following external, potentially separately
licensed, packages that are included in Spack:
archspec
--------
* Homepage: https://pypi.python.org/pypi/archspec
* Usage: Labeling, comparison and detection of microarchitectures
* Version: 0.1.2 (commit 130607c373fd88cd3c43da94c0d3afd3a44084b0)
argparse
--------

View File

@@ -5,9 +5,12 @@
import _pytest._code
import py
try:
from collections import Sequence
from collections.abc import Sequence
except ImportError:
Sequence = list
try:
from collections import Sequence
except ImportError:
Sequence = list
u = py.builtin._totext

View File

@@ -10,9 +10,12 @@
import _pytest._code
import py
try:
from collections import MutableMapping as MappingMixin
from collections.abc import MutableMapping as MappingMixin
except ImportError:
from UserDict import DictMixin as MappingMixin
try:
from collections import MutableMapping as MappingMixin
except ImportError:
from UserDict import DictMixin as MappingMixin
from _pytest.config import directory_arg, UsageError, hookimpl
from _pytest.outcomes import exit

View File

@@ -398,7 +398,10 @@ def approx(expected, rel=None, abs=None, nan_ok=False):
__ https://docs.python.org/3/reference/datamodel.html#object.__ge__
"""
from collections import Mapping, Sequence
if sys.version_info >= (3, 3):
from collections.abc import Mapping, Sequence
else:
from collections import Mapping, Sequence
from _pytest.compat import STRING_TYPES as String
# Delegate the comparison to a class that knows how to deal with the type

22
lib/spack/external/archspec/COPYRIGHT vendored Normal file
View File

@@ -0,0 +1,22 @@
Intellectual Property Notice
------------------------------
Archspec is licensed under the Apache License, Version 2.0 (LICENSE-APACHE
or http://www.apache.org/licenses/LICENSE-2.0) or the MIT license,
(LICENSE-MIT or http://opensource.org/licenses/MIT), at your option.
Copyrights and patents in the Archspec project are retained by contributors.
No copyright assignment is required to contribute to Archspec.
SPDX usage
------------
Individual files contain SPDX tags instead of the full license text.
This enables machine processing of license information based on the SPDX
License Identifiers that are available here: https://spdx.org/licenses/
Files that are dual-licensed as Apache-2.0 OR MIT contain the following
text in the license header:
SPDX-License-Identifier: (Apache-2.0 OR MIT)

Some files were not shown because too many files have changed in this diff Show More