Compare commits

..

213 Commits

Author SHA1 Message Date
Gregory Becker
79e821a43e docs: consistently use 'managed environment' over 'named ...' 2023-02-21 15:53:34 -08:00
psakievich
c16f166dcc Update lib/spack/docs/environments.rst 2023-02-21 16:33:45 -07:00
psakiev
4ae9730ffe remove env's 2023-02-21 12:57:13 -07:00
psakiev
9debeaf4e7 Try to resolve uninstall failure 2023-02-21 12:01:10 -07:00
psakiev
47cdefcbe8 Try setting mutable_mock_env in each func 2023-02-21 11:18:26 -07:00
psakiev
2acc356ed4 Style 2023-02-21 10:09:22 -07:00
psakiev
36bf6c9009 Add unit-tests back 2023-02-21 10:00:50 -07:00
psakiev
29fbad20a2 Undo hoops for avoiding env include 2023-02-21 09:18:44 -07:00
psakiev
5f78703af8 Fixture function scope 2023-02-21 08:53:07 -07:00
psakiev
9b390bdc2c Add back mutable-config 2023-02-15 16:55:33 -07:00
psakiev
bc427e8435 Adjust vars in mutable_mock_env_path 2023-02-15 14:46:54 -07:00
psakiev
3c6e6e22be Undo all unit-tests to see if CI will pass 2023-02-15 13:08:19 -07:00
psakievich
4a8f755632 [@spackbot] updating style on behalf of psakievich 2023-02-13 18:52:06 +00:00
psakievich
51de7ed7ee Merge branch 'develop' into f/env-location 2023-02-13 10:50:53 -07:00
Larry Knox
c5d7ea04d0 Add hdf5-vol-log version 1.4.0. (#35453) 2023-02-13 11:27:22 -06:00
Rocco Meli
1bc425ddad Add chemfiles and py-chemfiles (#35410) 2023-02-13 06:53:10 -07:00
Adam J. Stewart
471684add4 py-pip: add v23.0 (#35369) 2023-02-11 07:47:15 -08:00
Vanessasaurus
973d33a8f1 Automated deployment to update package flux-sched 2023-02-09 (#35415)
Co-authored-by: github-actions <github-actions@users.noreply.github.com>
2023-02-10 22:34:06 -08:00
Adam J. Stewart
d0387cbbaf py-pytorch-lightning: add v1.9.1 (#35445)
* py-pytorch-lightning: add v1.9.1
* flake8
2023-02-10 18:37:42 -08:00
renjithravindrankannath
97d59c2efb Adding checksum for 5.3.3 of RVS (#35446)
Co-authored-by: sreenivasa murthy kolam <sreenivasamurthy.kolam@amd.com>
2023-02-10 18:12:56 -08:00
Chris Green
b69378c8cb Maintainer username update chissg -> greenc-FNAL (#35444) 2023-02-10 18:02:46 -08:00
H. Joe Lee
f1b004a0d3 pmdk: add the latest release 1.12.1 (#35440)
* pmdk: add the latest release 1.12.1
  Both master and 1.12.1 require CMake.
* pmdk: fix style
2023-02-10 14:44:22 -08:00
Sangu Mbekelu
1f7c59eb06 new py-amplpy package (#35359)
* new py-amplpy package
* [@spackbot] updating style on behalf of sm2939
* Update package.py
* Rename var/spack/repos/builtin/py-amplpy/package.py to var/spack/repos/builtin/packages/py-amplpy/package.py
* Edited file to change copyright year/dependencies and changed the directory of the file

---------

Co-authored-by: Sangu Mbekelu <s.mbekelu9@gmail.com>
2023-02-10 11:23:19 -08:00
John W. Parent
e1341d70ce MSBuilder/MSVC: correct toolchain ver (#35424)
#35098 added the correct extraction of toolset version for the MSVC
compiler. This updates the associated method in MSBuilder to retrieve
the (now correct) property.
2023-02-10 10:53:16 -08:00
SXS Bot
38c321abb3 spectre: add v2023.02.09 (#35426)
Co-authored-by: sxs-bot <sxs-bot@users.noreply.github.com>
2023-02-10 10:05:14 -08:00
Zack Galbreath
82041ac5a3 Restore our ability to submit build/test results to CDash from GitLab CI (#35328)
* Restore our ability to submit build/test results to CDash from GitLab CI

* Don't use CDash upload URL as report filename
2023-02-10 12:01:05 -06:00
Adam J. Stewart
ecf93c77ae py-fiona: add v1.9.1 (#35433) 2023-02-10 09:32:25 -08:00
Teo
34e42d5540 bug fix: halide -> Halide or something. (#35431) 2023-02-10 08:33:04 -08:00
Alex Richert
cdcbf7dc46 Add AlexanderRichert-NOAA as ESMF maintainer (#35430) 2023-02-10 08:23:06 -08:00
Richard Berger
e25501f76c singularity-eos: add v1.7.0, cleanup package (#35163)
* singularity-eos: add v1.7.0, cleanup package
* Update var/spack/repos/builtin/packages/singularity-eos/package.py
---------

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Co-authored-by: rbberger <rbberger@users.noreply.github.com>
2023-02-10 07:58:08 -08:00
Vanessasaurus
7fec7cd013 Automated deployment to update package flux-core 2023-02-09 (#35414)
Co-authored-by: github-actions <github-actions@users.noreply.github.com>
2023-02-10 02:03:50 -08:00
simonleary-umass-edu
3d881dbad7 meme add perl-xml-simple dependency (#35408)
Meme 4.5.0 has the first occurrence of the string
```
use XML::Simple
```
I found this by doing a binary search manually extracting tarballs until `grep` came up empty.
2023-02-10 01:21:40 -08:00
Sébastien Valat
c818e36d79 malt: new package (versions : 1.2.1) (#35272)
* malt: new package (versions : 1.2.1)
* malt: Fix remarks on new package (versions : 1.2.1)
* malt: Fix PR remarks by removing un-needed functions overriding
* malt: Fix NodeJs => NodeJS
* Use new maintainers syntax.
2023-02-09 19:58:28 -08:00
Sangu Mbekelu
4fbbb23933 new ampltools package (#35357)
* new ampltools package

* [@spackbot] updating style on behalf of sm2939

* Update and rename var/spack/repos/builtin/py-ampltools/package.py to var/spack/repos/builtin/packages/py-ampltools/package.py

Edited file to change copyright year/dependencies and edited directory

---------

Co-authored-by: Sangu Mbekelu <s.mbekelu9@gmail.com>
2023-02-09 19:57:42 -08:00
H. Joe Lee
b35af7d9e7 protobuf: add 3.21.12. (#35396)
* protobuf: add 3.21.12.
* protobuf: add maintainer and fix checksum
2023-02-09 16:11:24 -08:00
eugeneswalker
f7de22eb14 gpu test stack: add test w/ ^cuda@12 builds on A100 w/ newer driver (#35375)
* gpu test stack: test cuda@12 builds on A100 w/ newer driver

* get gpu info via nvidia-smi;

* kokkos+cuda^cuda@12 has genuine failure
2023-02-09 12:18:03 -07:00
Bill Williams
72f57ffede Score-P updates for version 8.0 (#35256)
* Add Score-P 8.0 and Cube 4.7/4.8 packages.
* Score-P 8.0 requires 4.8, not 4.7, Cube packages
* Add maintainer
* Add CUDA and HIP variants. Add version checks for CUDA (Score-P 8 requires CUDA 7), ROCm (variant only valid as of Score-P 8), and MPI (Score-P 7 requires at least version 2.2 of the MPI standard).
* Deprecate everything pre-7.0.
* Fix HIP dependencies and enable CUDA and HIP variants for configure.
* Deprecate OTF2 pre-2.3 and Cube pre-4.6
2023-02-09 10:50:50 -08:00
Loïc Pottier
12f43380b9 rabbitmq-c: fix bug when POLT < 1.14 compilation failed (POPT_ARG_ARGV undeclared) (#35403)
Signed-off-by: Loïc Pottier <pottier1@llnl.gov>
2023-02-09 10:24:48 -08:00
Frank Willmore
ffdc85e8ce Update package.py (#35402)
adding explicit dependency on X11 (needed when there is not a system install)
2023-02-09 10:04:15 -08:00
John W. Parent
259a32e5e4 Windows: MSMPI package fixes (#35112)
* Add "fake" mpi compiler wrappers to msmpi: msmpi doesn't actually
  provide wrappers, so this just assigns the wrappers to be whatever
  compiler that a dependent is using. Packages referencing the
  wrappers would otherwise break. This is assumed to be workable
  because build scripts will need to assemble appropriate information
  to pass to the compiler anyway
* Fix msmpi detection stanza ('executable' is not the correct name of
  the property)
* Fix compiler pkg dereference
2023-02-09 09:53:59 -08:00
Teo
8c0b8c785f tiramisu: new package (#35364)
* add initial package.

* Update package.py

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

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

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

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

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

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

* Update package.py

* Hopefully this will be fine.

* Update package.py

* Update package.py

* Update package.py

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

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-02-09 09:09:30 -08:00
snehring
02d3bd782d py-netcdf4: adding version 1.6.2 (#35393)
* py-netcdf4: adding version 1.6.2

* py-netcdf4: updating setuptools dep.
2023-02-08 18:10:28 -08:00
Erik Heeren
b6906be846 cvise: new package (#35366)
* cvise: new package
* cvise: colordiff as optional dependency
* cvise: remove old versions and correctly name master version
* cvise: update license date
* cvise: use maintainers directive
* Remove @olupton as maintainer

After live discussion: it's been too long since he did anything with this package.
2023-02-08 16:13:32 -08:00
H. Joe Lee
a0ce6f7890 protobuf-c: add 1.4.1 version (#35397)
* protobuf-c: add 1.4.1 version
* protobuf-c: add maintainers
2023-02-08 15:49:59 -08:00
Rocco Meli
09cf265ff4 Add new versions of spglib (#35332)
* add spglib versions
* add maintainer
* fmt
* maintainer
* url
2023-02-08 15:37:47 -08:00
Adam J. Stewart
0d72b29193 wrf: fix v4.4.2 checksum (#35401) 2023-02-08 14:24:24 -08:00
Wouter Deconinck
7f1467e795 dd4hep: new version 1.24, depends_on podio@0.16: (#35384)
* dd4hep: new version 1.24, depends_on podio@0.16:
* Update var/spack/repos/builtin/packages/dd4hep/package.py

Co-authored-by: Valentin Volkl <valentin.volkl@cern.ch>
2023-02-08 10:51:22 -08:00
Mikael Simberg
f89cd29054 Add whip 0.2.0 (#35390) 2023-02-08 10:36:05 -08:00
Matthieu Dorier
89720583c3 [mochi-margo] Added version 0.12.1 (#35392) 2023-02-08 10:33:51 -08:00
Adam J. Stewart
7e78efcc44 spack help --spec: fix indentation (#35383) 2023-02-08 08:46:56 -08:00
Dan Lipsa
126accfce1 Fix external freetype that provides freetype-config.cmake (#35363)
* Fix external freetype that provides freetype-config.cmake

---------

Co-authored-by: Dan Lipsa <dan.lipsa@khq.kitware.com>
2023-02-08 10:00:14 -06:00
Massimiliano Culpo
27c2ff6c64 Ensure we print the correct branch number for tutorials (#35371) 2023-02-08 09:46:21 +01:00
Scott Wittenburg
9bde77199c bindist: use append as a method, not assignable attr (#35379) 2023-02-08 09:42:28 +01:00
Adam J. Stewart
f5ed18f6a3 py-installer: bootstrap without pip (#35341)
* py-installer: bootstrap without pip

* [@spackbot] updating style on behalf of adamjstewart

---------

Co-authored-by: adamjstewart <adamjstewart@users.noreply.github.com>
2023-02-07 22:30:06 -06:00
Christian Glusa
ccd11666c6 py-gmsh-interop: Fix PyPI link (#35381) 2023-02-07 20:23:41 -08:00
Christian Glusa
df80cffafa New package: PyNucleus & dependencies (#35327)
* Add py-scikit-sparse package

* Add py-gmsh-interop package

* Add py-modepy package

* Add py-pymbolic package

* Add py-meshpy package

* Add py-pynucleus package

* Add new version of py-pytools
2023-02-07 14:12:15 -08:00
Adam J. Stewart
b52d4b8abf py-symengine: setuptools 61+ not yet working (#35368)
* py-symengine: setuptools 61+ not yet working
* symengine still required for master
2023-02-07 11:49:07 -08:00
Teo
96624d1490 halide: new package (#35254)
* add halide package.

* some style changes.

* small fix

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

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

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

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

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

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

* Update package.py

add comment to requirements.txt

* Update package.py

Fix version order.

* Update package.py

style

* Update package.py

Removed unneeded vars.

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

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

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

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

* Update package.py

Fix some deps

* Update package.py

* Fix finding llvm cmake info

* Update package.py

---------

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-02-07 13:12:29 -06:00
Dan Lipsa
1648968514 Windows: Fix spack.bat handling of env commands (#35143)
This PR enables the successful execution of the spack binary cache
tutorial on Windows. It assumes gnupg and file are available (they
can be installed with choco).

* Fix handling of args with quotes in spack.bat
* `file` utility can be installed on Windows (e.g. with choco): update
  error message accordingly
2023-02-07 11:04:14 -08:00
Paul Kuberry
8358f430a4 xyce: change cmake cxx compiler variable (#35365) 2023-02-07 14:00:15 -05:00
Adam J. Stewart
ec045f993b py-fastrlock: add v0.8.1 (#35370) 2023-02-07 11:23:07 -07:00
Mosè Giordano
7fe2039b01 texinfo: Require ncurses (#35356)
I don't know if this is new in version 7.0, but to build `info`, which is a required executable at the end of the recipe, it is necessary to have a terminal library, otherwise you get
```
[...]
checking for tgetent in -ltinfo... no
checking for tgetent in -lncurses... no
checking for tgetent in -lcurses... no
checking for tgetent in -ltermlib... no
checking for tgetent in -ltermcap... no
checking for tgetent in -lterminfo... no
configure: WARNING: info needs a terminal library, one of: tinfo ncurses curses termlib termcap terminfo
[...]
configure: WARNING: Could not find a terminal library among tinfo ncurses curses termlib termcap terminfo
configure: WARNING: The programs from `info' directory will not be built.
```
then compilation runs, `info` is not built and installation fails according to Spack because the required executable is missing.
2023-02-07 05:27:21 -08:00
dependabot[bot]
25cb55ccd9 build(deps): bump docker/build-push-action from 3.3.0 to 4.0.0 (#35252)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3.3.0 to 4.0.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](37abcedcc1...3b5e8027fc)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-07 08:17:53 +01:00
dependabot[bot]
d4e075f667 build(deps): bump docker/setup-buildx-action from 2.2.1 to 2.4.1 (#35354)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2.2.1 to 2.4.1.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](8c0edbc76e...f03ac48505)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-07 08:17:10 +01:00
Wouter Deconinck
ae98d2ba2f Support packages for using scitokens on OSG (#35334)
* Support packages for using scitokens on OSG

The Open Science Grid (OSG)  encourages scitokens to provide
certain services (e.g. writing to xrootd). Spack already
supports this through scitokens-cpp and xrootd +scitokens-cpp.

This adds py-htgettoken, a python utility to get a scitoken
from a vault through web authentication. To support htgettoken,
this also adds py-gssapi.

This also adds the OSG CA cert collection which is typically
at /etc/grid-security but pointed to in user installations by
the X509_CERTS_DIR variable.

This allows userspace through spack for functionality that
otherwise depends on installing the RPMs provided by OSG.

* fine, I'll fix style myself then

* fix maintainers

* py-gssapi: version before depends_on

* remove list_url

* add documentation on reason for git describe version numbers

* Apply suggestions from code review

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

* better BEARER_TOKEN definition

* import os

* remove older version that don't build with setuptools

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-02-06 23:23:03 -06:00
snehring
8e49bf0c5b wps: adding version 4.4 (#35358) 2023-02-06 19:22:41 -08:00
Paul Kuberry
1bb119dbd7 xyce: add version 7.6.0 and RPATH patch for prior (#35360) 2023-02-06 19:17:31 -08:00
Matthias Wolf
a7f39da5db Fix path handling in prefix inspections (#35318)
At least with ZSH, prefix inspections containing `./bin` result in a
`$PREFIX/./bin` and result in strange `$PATH` handling.

I.e., `module load git` will prepend `/path/to/git/./bin`, `which git`
will find the right executable, but `git --version` will print the
system one. Normalize the relative path to avoid this behavior.

See also spack/spack#31867.
2023-02-06 19:12:30 -08:00
Rocco Meli
1d3a74d926 freesasa: add new package (#35192)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-02-06 18:52:45 -08:00
Rocco Meli
0448f18ab2 maeparser: add new package (#35191)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-02-06 18:52:23 -08:00
Daniele Colombo
2516ed181a relion: add patch to repair DoublePrec_CPU=OFF build (#35317)
* relion: add patch to repair DoublePrec_CPU=OFF build
* relion: added maintainer

Co-authored-by: Daniele Colombo <daniele.colombo@fht.org>
2023-02-06 15:32:06 -08:00
Sreenivasa Murthy Kolam
7740b37923 rocm llvm-amdgpu package - Build libcxx and libcxxabi thru LLVM_ENABLE_RUNTIMES flag. (#33610)
* changes to enable LLVM_ENABLE_RUNTIMES for libcxx and libcxxabi
* remove version update for 5.3.0 as it is done thru PR #33320 to enable
ci and reviews
2023-02-06 15:03:08 -08:00
Sreenivasa Murthy Kolam
358cc5ed1a Update the ROCm packages for ROCm-5.4.0 release. (#35071)
* initial commit for rocm-5.4.0 release
* update the versions for more packages for 5.4.0 release
* update the gallium patch for mesa for libllvm-15 for ROCm-5.4.0 release
* update rocm-openmp-extras and rocwmma recipes for 5.4.0 release
* fix build error for rocfft for 5.4.0
* address review comments for rocfft for 5.4.0 change
* undo the removal of the older patch file
* bump up the version for hipfft for 5.4.0
* fix the failure after the merge with develop
* add recipes updates for 5.4.0 for migraphx.miopen-hip,miopen-opencl
* address the review comments on the mesa patch.update the rdc package for
5.4.0 release
* fix style errors
2023-02-06 15:00:10 -08:00
Adam J. Stewart
30b8cfad98 py-mypy: add v1.0.0 (#35362) 2023-02-06 16:59:04 -06:00
Tamara Dahlgren
383a343412 GenericBuilder: facilitate post-install phase test callbacks (#35314) 2023-02-06 12:51:01 -08:00
Wouter Deconinck
3714d3443b acts: new versions 21.1.1, 22.0.1, 23.0.0 (#35227)
* acts: new versions 21.1.1, 22.0.1, 23.0.0

New versions:
- [major 23.0.0](https://github.com/acts-project/acts/compare/v22.0.0...v23.0.0):
  - new option `ACTS_BUILD_PLUGIN_GEANT4` -> enabled with existing variant `geant4`
  - new option `ACTS_BUILD_EXAMPLES_BINARIES`:
    - it is my understanding that the binaries for examples are deprecated (in favor of python examples); warnings to this effect have been printed for a few versions, and now the building of binaries is disabled by default,
    - rather than introducing a variant to enable deprecated behavior for only one or two versions, I propose that we just follow the default and keep this disabled. 
- [bugfix 22.0.1](https://github.com/acts-project/acts/compare/v22.0.0...v22.0.1) (no build system changes)
- [bugfix 21.1.1](https://github.com/acts-project/acts/compare/v21.1.0...v21.1.1) (no build system changes)

* acts: correct 23.0.0 sha

Co-authored-by: Hadrien G. <knights_of_ni@gmx.com>
2023-02-06 12:37:51 -08:00
Wouter Deconinck
42a452d54c estarlight, dpmjet: new packages (#32834)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-02-06 09:09:22 -07:00
Jim Galarowicz
a913ed229d Restore openspeedshop and openspeedshop-utils, update the cbtf components (#35052) 2023-02-06 16:10:41 +01:00
Vanessasaurus
7c122da48b flux-core: add missing dependency(#35312) 2023-02-06 06:29:30 -08:00
Glenn Johnson
fdaa54941d r-cvxr: add new package with dependencies (#35275) 2023-02-06 15:13:37 +01:00
Wouter Deconinck
135832650f qt: new version 5.15.8 (#35352)
No build system changes, just bug fixes.

https://github.com/qt/qtbase/compare/v5.15.7-lts-lgpl...v5.15.8-lts-lgpl

Builds fine on linux-ubuntu22.10-skylake.
2023-02-06 06:12:57 -08:00
Stephen Sachs
29d710fdec wrf: add optional netcdf_classic variant (#35261)
Co-authored-by: Stephen Sachs <stesachs@amazon.com>
2023-02-06 15:12:32 +01:00
Mikael Simberg
13c4f92907 hpx: further constrain version for mimalloc patch (#35257) 2023-02-06 15:10:08 +01:00
Erik Schnetter
7a2c9601e8 reprimand: add v1.5 (#35245)
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2023-02-06 15:08:08 +01:00
Harmen Stoppels
31959b72b0 bump: nss + dep (#35294) 2023-02-06 15:06:16 +01:00
Erik Heeren
8109877424 amdlibflame: needs modern make (#35297)
See https://github.com/flame/libflame/issues/55
2023-02-06 15:05:16 +01:00
snehring
91243ecb5b tau: updating python version restriction (#35268)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-02-06 14:58:04 +01:00
William Moses
1fc2bf846d enzyme: add v0.0.48 (#35304) 2023-02-06 14:56:46 +01:00
Vasileios Karakasis
848344d9a5 ReFrame: add versions up to v4.0.4 (#35330) 2023-02-06 14:39:47 +01:00
Cameron Smith
e08da4e2b6 pumi and zoltan: allow building when no fortran compiler is available (#35333) 2023-02-06 14:35:44 +01:00
Wouter Deconinck
75a72766ff assimp: new version 5.2.5 (#35335)
Bugfix release only. No build system changes.
2023-02-06 14:34:15 +01:00
Wileam Y. Phan
797e230498 intel-gtpin: add v3.2.2 (#35342) 2023-02-06 13:51:03 +01:00
Wouter Deconinck
1c6993145e libdrm: new versions 2.4.111-114 (#35343)
As of 2.4.113, the flag for man-pages is now a feature,
so true/false is now enabled/disabled. Other similarly
changed options are not used in the spack recipe (i.e.
experimental kms drivers).
2023-02-06 13:28:18 +01:00
Wouter Deconinck
00573d6ea2 sherpa: new version 2.2.14 (#35344)
"Version 2.2.14 contains a critical bug fix"
2023-02-06 13:12:19 +01:00
Luke Diorio-Toth
4c0116bd64 mash: added patch with limits header (#35209)
Co-authored-by: luke <luke@DESKTOP-E4JNTC1.attlocal.net>
2023-02-06 13:08:31 +01:00
Rémi Lacroix
f0d8355248 libxc 6.0.0: fix a bug affecting CP2K (#35347)
The patch fixes a missing comma at end of line in mgga_xc_b97mv.c.
2023-02-06 13:05:13 +01:00
Rémi Lacroix
01c21d0496 n2p2: add v2.2.0. (#35348) 2023-02-06 13:03:05 +01:00
Adam J. Stewart
43057e2edd py-numpy: add v1.24.2 (#35350) 2023-02-06 12:38:34 +01:00
Mikael Simberg
ba8d9f22ef Add pika 0.12.0 and pika-algorithms 0.1.1 (#35296) 2023-02-06 12:32:57 +01:00
Wouter Deconinck
07d7c32d79 qt: new versions 6.4.0, 6.4.1, 6.4.2 (#34698)
* qt: new versions 6.4.0, 6.4.1

- New libpsl vendored dependency in qt-base.
- New embree and tinyexr dependency in qt-quick3d.

We need to figure out a better way to deal with these vendored
dependencies in src/3rdparty. Removing them was a way to make sure
they are not used unintentionally. Many of these dependencies cannot
be overridden with a QT_FEATURE_system_* flag and are included directly
in cpp files. Many change versions from release to release, so even if
they use system (ie spack managed) versions we need to support this in
the depends_on lines.

What we can rely on?
- src/3rdparty is where vendored stuff is stored
- not much else...

Possible ways to deal with this:
- Change vendor_deps_to_keep to dict with versions, eg
```
vendor_deps_to_keep = {
    "xatlas": "@6:",
    "embree": "@6.4:",
    "tinyexr": "@6.4:",
}
```
- Similarly introduce system_deps_to_use:
```
system_deps_to_use = {
    "assimp@5.2:": "@6:",
}
```
and derive depends_on and QT_FEATURE_system_* from this dict.

* qt-*: new version 6.4.2, invert vendored pkgs logic

* qt-base: fix vendor_deps_to_avoid typo

* qt-*: move lots into QtPackage base layer
2023-02-05 22:38:05 -05:00
Massimiliano Culpo
017a15988c Don't use CDash upload URL as report filename (#35338)
fixes #35337
2023-02-05 12:58:45 +01:00
Cameron Rutherford
1ad290e5a2 Require 0.7.1 for ExaGO 1.5.0+. (#35331) 2023-02-03 22:10:14 -08:00
eugeneswalker
f6fa64f979 ci: add minimal gpu testing stack (#35251)
* ci: add minimal gpu testing stack

* kokkos +cuda requires +wrapper...

* require pass

* add raja+cuda
2023-02-03 18:33:34 -08:00
John W. Parent
1826a41cdd MSVC compiler: add platform toolset version (#35098) 2023-02-03 17:53:24 -08:00
Massimiliano Culpo
509a8ea5e2 py-packaging: add constrain on python version (#35325) 2023-02-03 19:00:23 +01:00
Erik Heeren
ca202ba11e py-igor: new package (#35229)
* py-igor: new package

* py-igor: review remarks
2023-02-03 09:02:43 -07:00
Erik Heeren
0b1d51e450 Add py netpyne, meautility, and lfpykit (#35262)
* py-netpyne: new package with dependencies

* py-netpyne, py-meautility, py-lfpykit: license update

* py-netpyne: review remarks

* py-netpyne: style

* py-netpyne: don't limit python version
2023-02-03 09:29:30 -06:00
Manuela Kuhn
2936573fc6 py-glmsingle: add 1.1 (#35311) 2023-02-03 09:28:16 -06:00
Rémi Lacroix
5d4c250354 CMake: Add version 3.25.2 (#35196) 2023-02-02 20:27:56 -08:00
Adam J. Stewart
b0913b1bf8 py-torchmetrics: add v0.11.1 (#35260) 2023-02-02 18:32:46 -08:00
John W. Parent
c49e2e5620 NMake builder: fix incorrect variable reference (#34937) 2023-02-02 16:34:35 -08:00
Adam J. Stewart
60624265f8 py-black: add v23.1.0 (#35279)
* py-black: add v23.1.0
* py-packaging: add v23.1.0
2023-02-02 14:32:37 -08:00
Larry Knox
79aa9e9c87 Update to latest version. (#35309)
Update hdf5-vol-external-passthrough to latest version compatible with HDF5 1.14
2023-02-02 16:16:56 -06:00
Wouter Deconinck
f2b0c1deab py-minkowskiengine: new package (sparse tensor autodiff by Nvidia) (#35302)
* py-minkowskiengine: new package (sparse tensor autodiff by Nvidia)

This python package (with cuda support) provides torch support for sparse
tensors. The `pybind11` headers are not found without the patch to `setup.py`.

* [@spackbot] updating style on behalf of wdconinc

* py-minkowskiengine: depends_on numpy, pybind11 type=link; no patch

* [@spackbot] updating style on behalf of wdconinc

---------

Co-authored-by: wdconinc <wdconinc@users.noreply.github.com>
2023-02-02 16:03:01 -06:00
John W. Parent
7d50680d9c zlib package: fix build on Windows (#35103) 2023-02-02 13:53:16 -08:00
snehring
defa4a2340 py-getorganelle: rename to getorganelle and add version 1.7.7.0 (#35270)
* py-getorganelle: rename to getorganelle and add version 1.7.7.0

* py-getorganelle: deprecating package
2023-02-02 13:13:32 -06:00
Manuela Kuhn
1e1d1ec43b py-nilearn: add 0.10.0 (#35303) 2023-02-02 13:02:19 -06:00
Rémi Lacroix
0e41788812 LAMMPS: Package KIM requires CURL after version 20190329 (#35182) 2023-02-02 06:12:27 -08:00
Massimiliano Culpo
ddecf07045 Use the maintainers directive in all packages (#35201) 2023-02-01 21:07:25 -08:00
Weiqun Zhang
9865a42b20 amrex: add v23.02 (#35286) 2023-02-01 15:32:38 -08:00
Jordan Galby
2432be5911 glib: 2.74: needs pcre2@10.34: (#35283) 2023-02-01 12:53:03 -08:00
Timothy Brown
002bd8d20b [WRF] Adding new versions (#35244)
* [WRF] Adding new versions.
* Style fixes.
2023-02-01 12:29:35 -08:00
Glenn Johnson
eac04af0e7 fastqc: Use the spack built perl (#35276)
The fastqc script was using the system perl. This PR sets the script to
use the spack built/provided perl. This PR also removes the code that
adds the java path. That should be handled by module loading as far as I
know.
2023-02-01 09:47:10 -08:00
Larry Knox
448bd31c87 Add hdf5 versions 1.14.0, develop-1.14 and update develop version from develop-1.13 to develop-1.15 (#34734)
* Add HDF5 version 1.13.3.

* Remove maintainers no longer with The HDFGroup.

* Add version hdf5-vol-async@1.4

* Add HDF5 version 1.14.0, develop-1.14, develop-1.15.
Add missing conflicts for api version and develop versions.

* Add conflicts statement to hdf5/package.py to avoid building hdf5 with
MPICH 4.0.x versions with bug that causes testphdf5 test to fail.

* Add patch to call find_package(MPI) for dependent packages not finding
it, not having called it themselves.

* Remove language components from find_package(MPI) in
hdf5_1_14_0_config_find_mpi.patch.

* Add HDF5 version 1.14.0, develop-1.14, develop-1.15.
Add missing conflicts for api version and develop versions.

* Add conflicts statement to hdf5/package.py to avoid building hdf5 with
MPICH 4.0.x versions with bug that causes testphdf5 test to fail.

* Add patch to call find_package(MPI) for dependent packages not finding
it, not having called it themselves.

* Remove language components from find_package(MPI) in
hdf5_1_14_0_config_find_mpi.patch.

* Don't guard ParaView patch on HDF5 variant

ParaView always needsd  HDF5 and ignores the variant.

* py-h5py: Newer versions of HDF5 introduce breaking API changes

---------

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Co-authored-by: Ryan Krattiger <ryan.krattiger@kitware.com>
2023-02-01 09:17:17 -06:00
Massimiliano Culpo
46466302a9 Pin black to 22.12.0 to avoid spurious style changes (#35282)
We need to sync changes on major versions with
spackbot, to avoid the bot saying everything is
allright and have CI failing nonetheless.
2023-02-01 15:45:12 +01:00
Erik Heeren
5e39acea16 py-equation: new package (#35198)
* py-equation: new package

* py-equation: add variants for extra dependencies
2023-02-01 00:02:11 -06:00
Thomas Bouvier
cfdf0b6987 nccl: v2.15.5-1, v2.16.2-1 (#35248)
* `nccl`: v2.15.5-1, v2.16.2-1
* Fix wrong sha256
* Revert checksums (after GitHub has algorithm change reverted)
2023-01-31 19:17:20 -08:00
Erik Schnetter
6be6935671 libffi: New version 3.4.4 (#35087) 2023-01-31 16:46:41 -08:00
eugeneswalker
68233db9f6 Revert "flex%oneapi@2023.0.0: -Wno-error=implicit-function-declaration (#34900)" (#35181)
This reverts commit 62f83dfb6d.
2023-01-31 16:37:10 -08:00
renjithravindrankannath
aea2c73b04 Adding rocm-opencl prefix lib path to LD_LIBRARY_PATH for run_environment (#35011) 2023-01-31 16:26:42 -08:00
Harmen Stoppels
5dc5db6679 Fix awscli and deps (#35158)
* py-docutils/py-pyyaml specify python 3.11 compat

* bump awscli / py-botocore

* fix botocore again

* review fixes

* .
2023-01-31 13:32:53 -08:00
Alan Williams
51702a725b Add trilinos-solvers variant to nalu-wind package. (#35267)
* Add trilinos-solvers variant to nalu-wind package.
   This allows nalu-wind to be built against a trilinos installation
   which doesn't have amesos2, belos, ifpack2, or muelu enabled, if
   the nalu-wind user provides the spec 'nalu-wind@master~trilinos-solvers'
   Support for these solver-packages remains on by default.
* Fixed a style issue reported by CI.
* Incorporate change in wording suggested from review comments.
   ... to clarify that at least one, or both, of hypre and/or
   trilinos-solvers must be enabled. The error condition is if
   both are disabled.
* That style checker is picky...
* It really did want a trailing comma...
2023-01-31 12:42:43 -08:00
Erik Heeren
931c0edaf4 py-munkres: new package (#35259) 2023-01-31 13:41:23 -06:00
eugeneswalker
689bdd6f36 strumpack +rocm: set CMAKE_CXX_COMPILER to hipcc (#35153)
* strumpack +rocm: set CMAKE_CXX_COMPILER to hipcc

* strumpack@7.0.1+rocm^mpich: patch in upstream commit
2023-01-31 10:51:02 -08:00
Erik Heeren
a426db06e7 py-matplotlibscalebar: new package (#35242)
* py-matplotlibscalebar: new package

* py-matplotlibscalebar: style

* py-matplotlib-scalebar: review remarks
2023-01-31 08:27:16 -08:00
Erik Heeren
4b12d015e1 py-jinja2-cli: new package (#35238)
* py-jinja2-cli: new package

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

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-31 08:17:17 -08:00
Jen Herting
ecd4eac184 [py-protoc-gen-swagger] new package (#35241)
* [py-protoc-gen-swagger] new package

* [@spackbot] updating style on behalf of qwertos

---------

Co-authored-by: qwertos <qwertos@users.noreply.github.com>
2023-01-30 15:20:51 -08:00
Jean-Baptiste Skutnik
4d502c8ff7 Update py-docker package (#35217)
* Add py-docker@5:

* [@spackbot] updating style on behalf of spoutn1k

* Ignore `tls` variant

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

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

* `py-docker`: `py-paramiko` version fix

---------

Co-authored-by: spoutn1k <spoutn1k@users.noreply.github.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-30 15:20:04 -08:00
kent-cheung-arm
227c6061e5 arm-forge: add 22.1.3 (#35200) 2023-01-30 12:36:39 -08:00
Adam J. Stewart
3453f59ba3 py-fiona: add v1.9.0 (#35247) 2023-01-30 13:56:25 -06:00
Alex Richert
3201b4e2a1 HDF5 static (#34577)
* Add HDF5 static support for netcdf-c
* Update var/spack/repos/builtin/packages/hdf5/package.py
   Apply pkgconfig fix for all libraries, not just lz

Co-authored-by: Sergey Kosukhin <skosukhin@gmail.com>

* Update package.py
   Fix pkg config templates
* remove subprocess+2 lines
* Try netcdf-c changes only

Co-authored-by: Sergey Kosukhin <skosukhin@gmail.com>
2023-01-30 11:51:07 -08:00
Adam J. Stewart
80d26168b5 py-torchgeo: add v0.4.0 (#35155)
* py-torchgeo: add v0.4.0
* Add missing java dep
2023-01-30 11:47:10 -08:00
Adam J. Stewart
67040e79c5 py-protobuf: various updates (#35188) 2023-01-30 13:17:31 -06:00
Adam J. Stewart
a116775ff3 py-shapely: add v2.0.1 (#35246) 2023-01-30 11:08:08 -08:00
Erik Heeren
de2aaeb26f py-mariadb: new package (#35240)
* py-mariadb: new package

* py-mariadb: style
2023-01-30 13:07:15 -06:00
Erik Heeren
830e3211e5 py-hjson: fix typo in latest version (#35234) 2023-01-30 12:49:07 -06:00
Tamara Dahlgren
6b3b7f8b7f Bugfix: Update Petsc Python dependency (#35216)
* Bugfix: Update Petsc python dependency for at least 3.18:
* Update var/spack/repos/builtin/packages/petsc/package.py

Co-authored-by: Satish Balay <balay@mcs.anl.gov>
2023-01-30 10:21:50 -08:00
eugeneswalker
99f3716346 e4s: add and prefer boost +python +filesystem +iostreams +system (#35180) 2023-01-30 07:37:35 -08:00
Cory Bloor
4f6ef3b698 rocblas: remove unnecessary conflicts (#35232)
The gfx906:xnack- and gfx908:xnack- targets were introduced in ROCm 4.1
and replaced gfx906 and gfx908 as default build targets, but the library
can still be built for gfx906 and gfx908 if requested.
2023-01-30 16:08:36 +01:00
Ken Raffenetti
2dc020af31 mpich: add 4.0.3 and 4.1 releases (#35218) 2023-01-30 14:01:13 +01:00
snehring
17f2d66285 montage: fixing compilation issues for newer gcc versions (#35220) 2023-01-30 13:57:41 +01:00
simonleary-umass-edu
32f480936a apptainer: update constraint on go dependency (#35230) 2023-01-30 13:56:52 +01:00
Satish Balay
481b598963 hypre: Update URL using citation instructions from https://github.com/hypre-space/hypre/wiki/Citing-hypre (#35225) 2023-01-30 11:29:06 +01:00
John W. Parent
4b186df5b4 adios2: allow building on Windows (#35102) 2023-01-30 11:15:54 +01:00
aleixrocks
f4dac7cd4c OmpSs: add v2022.11 (#35228) 2023-01-30 11:11:36 +01:00
eugeneswalker
48a63719b2 e4s oneapi: use oneapi@2023.0.0 (#34634) 2023-01-29 13:22:14 -08:00
Alec Scott
f576b4b6c5 gmake: Fix too many levels of symbolic links error (#35224)
* gedit: Fix too many levels of symlinks error

* Fix package formatting with black
2023-01-29 15:00:35 -06:00
eugeneswalker
9f5d9266e6 e4s: add power stack (#32710)
* e4s: restore builds builds

* gitlab ci: allow UO to build protected binaries for signing

* use newer image; comment out failing builds

* gitlab-ci: Some tweaks for e4s power builds

- fix tags (no longer require generate jobs to run on aws)
- fix resource requests for generation jobs resource requests
- remove SPACK_SIGNING_KEY from protected power build jobs
- update UO signing key path
- change the CDash build group to reflect stack name
- retry pipeline generation jobs *always*

* correct double packages: section

* gitlab-ci:script: modernize

* remove new gnu make, not for ppc64le

---------

Co-authored-by: Scott Wittenburg <scott.wittenburg@kitware.com>
2023-01-29 10:53:02 -06:00
John W. Parent
28c4809a8f freetype: add CMake support (#35107) 2023-01-28 10:32:17 -08:00
Michael Kuhn
57d6b70226 xz: add 5.4.1 and 5.2.10 (#35172) 2023-01-28 08:32:19 -08:00
Ben Cowan
508fcd8240 Added newer versions of PyAMG and added dependencies for 4.2 and later. (#35185)
* Added newer versions of PyAMG and added dependencies for 4.2 and later.

* Fixed dependencies.
2023-01-27 13:11:21 -08:00
Sebastian Grimberg
bec79d9ee1 New Spack package: Palace (#35189) 2023-01-27 12:47:18 -08:00
psakiev
047110c086 Debug print statement 2023-01-11 05:37:29 -07:00
psakiev
7fa16089fc Add entry to tmpconfig 2023-01-11 04:46:42 -07:00
Philip Sakievich
065eaa739f Remove accidental bleed over trilinos change 2023-01-10 09:38:51 -07:00
psakiev
8d8e88c177 Try renaming dir 2023-01-09 16:24:14 -07:00
psakiev
8cc69cecfc Add function scope 2023-01-09 15:27:27 -07:00
psakiev
9c690a1ef5 Revert "Try something else"
This reverts commit 3532d6ff16.
2023-01-09 14:20:28 -07:00
psakiev
3532d6ff16 Try something else 2023-01-09 13:22:13 -07:00
psakiev
7494893d3b Drop the hidden dir 2023-01-09 12:46:59 -07:00
psakievich
54e4a72b8e Merge branch 'develop' into f/env-location 2023-01-07 22:23:23 -07:00
psakiev
b86980461f Modify failing test 2023-01-07 20:59:44 -07:00
psakiev
23b5932f73 Make hidden dir for mock env location 2022-12-21 14:56:52 -07:00
psakiev
93760847e8 Use tmpdir for all mutable env paths 2022-12-19 21:18:37 -07:00
psakievich
a35d2f39af Merge branch 'develop' into f/env-location 2022-12-19 17:02:19 -07:00
psakiev
af17cc60a9 Add tmpdir 2022-12-19 16:13:01 -07:00
psakiev
b0528cae3f Improve robustness of env test in parallel 2022-12-19 16:07:34 -07:00
psakiev
372a18392a Add syntax for debugging CI 2022-12-19 13:54:45 -07:00
psakievich
70db49dfed Merge branch 'develop' into f/env-location 2022-12-19 13:50:43 -07:00
psakiev
1d24c196da Use proper import 2022-12-08 12:36:36 -07:00
psakievich
fa3d768947 Update lib/spack/spack/environment/environment.py 2022-12-08 12:34:57 -07:00
psakiev
9b6a109c7e Remove constraint on environments_root creation 2022-12-07 22:24:18 -07:00
psakievich
663967d984 Merge branch 'develop' into f/env-location 2022-12-07 15:03:51 -07:00
psakiev
b47ff2a2de Fix missing function 2022-12-07 14:32:36 -07:00
psakiev
f7b4993810 Address reviewer comments 2022-12-07 14:25:12 -07:00
psakiev
3e07eb8cf0 Fix scope detection issue 2022-12-01 22:21:10 -07:00
psakievich
e773396747 Merge branch 'develop' into f/env-location 2022-12-01 17:00:36 -07:00
psakiev
e19cc2385e Don't automatically create the default env path 2022-12-01 16:50:24 -07:00
psakievich
e867662e1b Merge branch 'develop' into f/env-location 2022-11-09 17:19:41 -07:00
psakiev
6aad926838 Fix unicode error 2022-11-09 15:50:16 -07:00
psakievich
41cf807804 Merge branch 'develop' into f/env-location 2022-11-09 15:09:22 -07:00
psakiev
cf8b919954 Remove accidental changes to bin/sbang 2022-11-09 13:39:56 -07:00
psakiev
47957dccf4 Remove shell driven command from env activation test 2022-11-09 13:19:17 -07:00
Philip Sakievich
38313cadf4 Revert "avoid using realpath, readlink -f is more portable"
This reverts commit 2cae95334c.
2022-11-08 23:40:03 -07:00
Philip Sakievich
730d005a56 Only create default path when used 2022-11-08 23:39:03 -07:00
psakiev
2f7c850a20 style 2022-11-08 23:08:19 -07:00
psakiev
5aa7a564d3 Why do we have mutliple cod paths for env activation? 2022-11-08 22:59:29 -07:00
psakiev
d50c8f1727 Add guard-rail and unit-test (not working) 2022-11-08 22:41:09 -07:00
psakievich
0ac6dfa8f3 Merge branch 'develop' into f/env-location 2022-10-12 08:45:01 -06:00
Philip Sakievich
0b0ffe645d Ugh python 2 🤦‍♂️ 2022-10-11 22:37:57 -06:00
Philip Sakievich
9984c838c8 Fix failing shell tests 2022-10-11 22:18:43 -06:00
psakievich
b1bd61321d Merge branch 'develop' into f/env-location 2022-10-11 21:53:49 -06:00
psakievich
c144558245 Merge branch 'develop' into f/env-location 2022-09-29 11:50:06 -06:00
psakiev
ef43044672 Change name of variable 2022-09-27 22:17:29 -06:00
psakievich
da7294cd90 Update lib/spack/spack/test/config.py
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2022-09-27 21:08:32 -06:00
psakievich
addb891f42 Update lib/spack/docs/environments.rst
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2022-09-27 21:08:25 -06:00
psakievich
bce2d38bfc Merge branch 'develop' into f/env-location 2022-09-27 14:40:57 -06:00
Tom Scogland
2cae95334c avoid using realpath, readlink -f is more portable 2022-09-27 18:33:52 +00:00
psakiev
076d60ce35 Add check that env_root dir exists 2022-09-27 12:02:43 -06:00
psakiev
9ecdafd8de Add some documentation 2022-09-27 11:25:31 -06:00
psakievich
76fde639e8 Update lib/spack/spack/environment/environment.py
Co-authored-by: Greg Becker <becker33@llnl.gov>

Add back path canonicalization
2022-09-27 11:17:47 -06:00
psakiev
490b5eef7c Rework path access strategy 2022-09-27 10:57:28 -06:00
psakiev
3f2e77e5fa Allow users to specify root env dir
Environments managed by spack have some advantages over anonymous Environments
but they are tucked away inside spack's directory tree. This PR gives
users the ability to specify where the environments should live.

See #32823
2022-09-26 22:31:29 -06:00
1633 changed files with 6555 additions and 2849 deletions

View File

@@ -89,7 +89,7 @@ jobs:
uses: docker/setup-qemu-action@e81a89b1732b9c48d79cd809d8d81d79c4647a18 # @v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@8c0edbc76e98fa90f69d9a2c020dcb50019dc325 # @v1
uses: docker/setup-buildx-action@f03ac48505955848960e80bbb68046aa35c7b9e7 # @v1
- name: Log in to GitHub Container Registry
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a # @v1
@@ -106,7 +106,7 @@ jobs:
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build & Deploy ${{ matrix.dockerfile[0] }}
uses: docker/build-push-action@37abcedcc1da61a57767b7588cb9d03eb57e28b3 # @v2
uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671 # @v2
with:
context: dockerfiles/${{ matrix.dockerfile[0] }}
platforms: ${{ matrix.dockerfile[1] }}

View File

@@ -44,7 +44,7 @@ jobs:
cache: 'pip'
- name: Install Python packages
run: |
python3 -m pip install --upgrade pip six setuptools types-six black mypy isort clingo flake8
python3 -m pip install --upgrade pip six setuptools types-six black==22.12.0 mypy isort clingo flake8
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.

View File

@@ -72,6 +72,7 @@ config:
root: $TMP_DIR/install
misc_cache: $$user_cache_path/cache
source_cache: $$user_cache_path/source
environments_root: $TMP_DIR/envs
EOF
cat >"$SPACK_USER_CONFIG_PATH/bootstrap.yaml" <<EOF
bootstrap:

View File

@@ -83,6 +83,16 @@ if defined _sp_flags (
exit /B 0
)
)
if not defined _sp_subcommand (
if not defined _sp_args (
if not defined _sp_flags (
python "%spack%" --help
exit /B 0
)
)
)
:: pass parsed variables outside of local scope. Need to do
:: this because delayedexpansion can only be set by setlocal
echo %_sp_flags%>flags
@@ -92,24 +102,24 @@ endlocal
set /p _sp_subcommand=<subcmd
set /p _sp_flags=<flags
set /p _sp_args=<args
set str_subcommand=%_sp_subcommand:"='%
set str_flags=%_sp_flags:"='%
set str_args=%_sp_args:"='%
if "%str_subcommand%"=="ECHO is off." (set "_sp_subcommand=")
if "%str_flags%"=="ECHO is off." (set "_sp_flags=")
if "%str_args%"=="ECHO is off." (set "_sp_args=")
if "%_sp_subcommand%"=="ECHO is off." (set "_sp_subcommand=")
if "%_sp_subcommand%"=="ECHO is on." (set "_sp_subcommand=")
if "%_sp_flags%"=="ECHO is off." (set "_sp_flags=")
if "%_sp_flags%"=="ECHO is on." (set "_sp_flags=")
if "%_sp_args%"=="ECHO is off." (set "_sp_args=")
if "%_sp_args%"=="ECHO is on." (set "_sp_args=")
del subcmd
del flags
del args
:: Filter out some commands. For any others, just run the command.
if "%_sp_subcommand%" == "cd" (
if %_sp_subcommand% == "cd" (
goto :case_cd
) else if "%_sp_subcommand%" == "env" (
) else if %_sp_subcommand% == "env" (
goto :case_env
) else if "%_sp_subcommand%" == "load" (
) else if %_sp_subcommand% == "load" (
goto :case_load
) else if "%_sp_subcommand%" == "unload" (
) else if %_sp_subcommand% == "unload" (
goto :case_load
) else (
goto :default_case
@@ -143,19 +153,21 @@ goto :end_switch
:: If no args or args contain --bat or -h/--help: just execute.
if NOT defined _sp_args (
goto :default_case
)else if NOT "%_sp_args%"=="%_sp_args:--help=%" (
)
set args_no_quote=%_sp_args:"=%
if NOT "%args_no_quote%"=="%args_no_quote:--help=%" (
goto :default_case
) else if NOT "%_sp_args%"=="%_sp_args: -h=%" (
) else if NOT "%args_no_quote%"=="%args_no_quote: -h=%" (
goto :default_case
) else if NOT "%_sp_args%"=="%_sp_args:--bat=%" (
) else if NOT "%args_no_quote%"=="%args_no_quote:--bat=%" (
goto :default_case
) else if NOT "%_sp_args%"=="%_sp_args:deactivate=%" (
) else if NOT "%args_no_quote%"=="%args_no_quote:deactivate=%" (
for /f "tokens=* USEBACKQ" %%I in (
`call python "%spack%" %_sp_flags% env deactivate --bat %_sp_args:deactivate=%`
`call python %spack% %_sp_flags% env deactivate --bat %args_no_quote:deactivate=%`
) do %%I
) else if NOT "%_sp_args%"=="%_sp_args:activate=%" (
) else if NOT "%args_no_quote%"=="%args_no_quote:activate=%" (
for /f "tokens=* USEBACKQ" %%I in (
`call python "%spack%" %_sp_flags% env activate --bat %_sp_args:activate=%`
`python %spack% %_sp_flags% env activate --bat %args_no_quote:activate=%`
) do %%I
) else (
goto :default_case
@@ -220,4 +232,4 @@ for %%I in (%~2) do (
:pathadd "%~1" "%%I\%%Z"
)
)
exit /B %ERRORLEVEL%
exit /B %ERRORLEVEL%

View File

@@ -81,6 +81,10 @@ config:
source_cache: $spack/var/spack/cache
## Directory where spack managed environments are created and stored
# environments_root: $spack/var/spack/environments
# Cache directory for miscellaneous files, like the package index.
# This can be purged with `spack clean --misc-cache`
misc_cache: $user_cache_path/cache

View File

@@ -58,9 +58,9 @@ Using Environments
Here we follow a typical use case of creating, concretizing,
installing and loading an environment.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Creating a named Environment
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Creating a managed Environment
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
An environment is created by:
@@ -72,7 +72,8 @@ Spack then creates the directory ``var/spack/environments/myenv``.
.. note::
All named environments are stored in the ``var/spack/environments`` folder.
All managed environments by default are stored in the ``var/spack/environments`` folder.
This location can be changed by setting the ``environments_root`` variable in ``config.yaml``.
In the ``var/spack/environments/myenv`` directory, Spack creates the
file ``spack.yaml`` and the hidden directory ``.spack-env``.

View File

@@ -23,7 +23,7 @@
from llnl.util.lang import dedupe, memoized
from llnl.util.symlink import islink, symlink
from spack.util.executable import CommandNotFoundError, Executable, which
from spack.util.executable import Executable, which
from spack.util.path import path_to_os_path, system_path_filter
is_windows = _platform == "win32"
@@ -117,13 +117,7 @@ def path_contains_subdirectory(path, root):
@memoized
def file_command(*args):
"""Creates entry point to `file` system command with provided arguments"""
try:
file_cmd = which("file", required=True)
except CommandNotFoundError as e:
if is_windows:
raise CommandNotFoundError("`file` utility is not available on Windows")
else:
raise e
file_cmd = which("file", required=True)
for arg in args:
file_cmd.add_default_arg(arg)
return file_cmd
@@ -134,7 +128,11 @@ def _get_mime_type():
"""Generate method to call `file` system command to aquire mime type
for a specified path
"""
return file_command("-b", "-h", "--mime-type")
if is_windows:
# -h option (no-dereference) does not exist in Windows
return file_command("-b", "--mime-type")
else:
return file_command("-b", "-h", "--mime-type")
@memoized

View File

@@ -294,10 +294,12 @@ def update_spec(self, spec, found_list):
cur_entry["spec"] = new_entry["spec"]
break
else:
current_list.append = {
"mirror_url": new_entry["mirror_url"],
"spec": new_entry["spec"],
}
current_list.append(
{
"mirror_url": new_entry["mirror_url"],
"spec": new_entry["spec"],
}
)
def update(self, with_cooldown=False):
"""Make sure local cache of buildcache index files is up to date.

View File

@@ -171,7 +171,7 @@ def mypy_root_spec():
def black_root_spec():
"""Return the root spec used to bootstrap black"""
return _root_spec("py-black")
return _root_spec("py-black@:22.12.0")
def flake8_root_spec():

View File

@@ -8,7 +8,7 @@
import spack.directives
import spack.package_base
from ._checks import BaseBuilder, apply_macos_rpath_fixups
from ._checks import BaseBuilder, apply_macos_rpath_fixups, execute_install_time_tests
class Package(spack.package_base.PackageBase):
@@ -38,7 +38,16 @@ class GenericBuilder(BaseBuilder):
legacy_methods: Tuple[str, ...] = ()
#: Names associated with package attributes in the old build-system format
legacy_attributes: Tuple[str, ...] = ("archive_files",)
legacy_attributes: Tuple[str, ...] = (
"archive_files",
"install_time_test_callbacks",
)
#: Callback names for post-install phase tests
install_time_test_callbacks = []
# On macOS, force rpaths for shared library IDs and remove duplicate rpaths
spack.builder.run_after("install", when="platform=darwin")(apply_macos_rpath_fixups)
# unconditionally perform any post-install phase tests
spack.builder.run_after("install")(execute_install_time_tests)

View File

@@ -77,7 +77,7 @@ def toolchain_version(self):
Override this method to select a specific version of the toolchain or change
selection heuristics.
Default is whatever version of msvc has been selected by concretization"""
return self.compiler.msvc_version
return "v" + self.pkg.compiler.platform_toolset_ver
@property
def std_msbuild_args(self):

View File

@@ -92,7 +92,7 @@ def makefile_root(self):
This path is relative to the root of the extracted tarball,
not to the ``build_directory``. Defaults to the current directory.
"""
return self.stage.source_dir
return self.stage.source_path
@property
def nmakefile_name(self):

View File

@@ -530,10 +530,9 @@ def ci_rebuild(args):
if not verify_binaries:
install_args.append("--no-check-signature")
cdash_args = []
if cdash_handler:
# Add additional arguments to `spack install` for CDash reporting.
cdash_args.extend(cdash_handler.args())
install_args.extend(cdash_handler.args())
slash_hash = "/{}".format(job_spec.dag_hash())
deps_install_args = install_args

View File

@@ -6,6 +6,7 @@
import argparse
import os.path
import textwrap
from llnl.util.lang import stable_partition
@@ -415,6 +416,40 @@ def add_cdash_args(subparser, add_help):
cdash_subgroup.add_argument("--cdash-buildstamp", default=None, help=cdash_help["buildstamp"])
def print_cdash_help():
parser = argparse.ArgumentParser(
formatter_class=argparse.RawDescriptionHelpFormatter,
epilog=textwrap.dedent(
"""\
environment variables:
SPACK_CDASH_AUTH_TOKEN
authentication token to present to CDash
"""
),
)
add_cdash_args(parser, True)
parser.print_help()
def sanitize_reporter_options(namespace: argparse.Namespace):
"""Sanitize options that affect generation and configuration of reports, like
CDash or JUnit.
Args:
namespace: options parsed from cli
"""
has_any_cdash_option = (
namespace.cdash_upload_url or namespace.cdash_build or namespace.cdash_site
)
if namespace.log_format == "junit" and has_any_cdash_option:
raise argparse.ArgumentTypeError("cannot pass any cdash option when --log-format=junit")
# If any CDash option is passed, assume --log-format=cdash is implied
if namespace.log_format is None and has_any_cdash_option:
namespace.log_format = "cdash"
namespace.reporter = _cdash_reporter(namespace)
class ConfigSetAction(argparse.Action):
"""Generic action for setting spack config options from CLI.

View File

@@ -166,7 +166,7 @@ def env_activate(args):
short_name = os.path.basename(env_path)
ev.Environment(env).write(regenerate=False)
# Named environment
# Managed environment
elif ev.exists(env_name_or_dir) and not args.dir:
env_path = ev.root(env_name_or_dir)
short_name = env_name_or_dir

View File

@@ -49,9 +49,9 @@
@r{-variant} or @r{~variant} disable <variant>
@r{--variant} or @r{~~variant} propagate disable <variant>
@B{variant=value} set non-boolean <variant> to <value>
@B{variant==value} propagate non-boolean <variant> to <value>
@B{variant==value} propagate non-boolean <variant> to <value>
@B{variant=value1,value2,value3} set multi-value <variant> values
@B{variant==value1,value2,value3} propagate multi-value <variant> values
@B{variant==value1,value2,value3} propagate multi-value <variant> values
architecture variants:
@m{platform=platform} linux, darwin, cray, etc.

View File

@@ -7,7 +7,6 @@
import os
import shutil
import sys
import textwrap
from typing import List
import llnl.util.filesystem as fs
@@ -260,7 +259,7 @@ def default_log_file(spec):
def report_filename(args: argparse.Namespace, specs: List[spack.spec.Spec]) -> str:
"""Return the filename to be used for reporting to JUnit or CDash format."""
result = args.log_file or args.cdash_upload_url or default_log_file(specs[0])
result = args.log_file or default_log_file(specs[0])
return result
@@ -348,21 +347,6 @@ def install_specs_outside_environment(specs, install_kwargs):
builder.install()
def print_cdash_help():
parser = argparse.ArgumentParser(
formatter_class=argparse.RawDescriptionHelpFormatter,
epilog=textwrap.dedent(
"""\
environment variables:
SPACK_CDASH_AUTH_TOKEN
authentication token to present to CDash
"""
),
)
arguments.add_cdash_args(parser, True)
parser.print_help()
def install_all_specs_from_active_environment(
install_kwargs, only_concrete, cli_test_arg, reporter_factory
):
@@ -496,7 +480,7 @@ def install(parser, args):
tty.set_verbose(args.verbose or args.install_verbose)
if args.help_cdash:
print_cdash_help()
spack.cmd.common.arguments.print_cdash_help()
return
if args.no_checksum:
@@ -505,6 +489,8 @@ def install(parser, args):
if args.deprecated:
spack.config.set("config:deprecated", True, scope="command_line")
spack.cmd.common.arguments.sanitize_reporter_options(args)
def reporter_factory(specs):
if args.log_format is None:
return None

View File

@@ -95,7 +95,7 @@ def location(parser, args):
spack.cmd.require_active_env("location -e")
path = ev.active_environment().path
else:
# Get named environment path
# Get path of requested environment
if not ev.exists(args.location_env):
tty.die("no such environment: '%s'" % args.location_env)
path = ev.root(args.location_env)

View File

@@ -11,7 +11,6 @@
import re
import shutil
import sys
import textwrap
from llnl.util import lang, tty
from llnl.util.tty import colify
@@ -171,20 +170,11 @@ def test_run(args):
# cdash help option
if args.help_cdash:
parser = argparse.ArgumentParser(
formatter_class=argparse.RawDescriptionHelpFormatter,
epilog=textwrap.dedent(
"""\
environment variables:
SPACK_CDASH_AUTH_TOKEN
authentication token to present to CDash
"""
),
)
arguments.add_cdash_args(parser, True)
parser.print_help()
arguments.print_cdash_help()
return
arguments.sanitize_reporter_options(args)
# set config option for fail-fast
if args.fail_fast:
spack.config.set("config:fail_fast", True, scope="command_line")
@@ -237,22 +227,22 @@ def test_run(args):
)
def report_filename(args, test_suite):
if args.log_file:
if os.path.isabs(args.log_file):
return args.log_file
else:
log_dir = os.getcwd()
return os.path.join(log_dir, args.log_file)
else:
return os.path.join(os.getcwd(), "test-%s" % test_suite.name)
def create_reporter(args, specs_to_test, test_suite):
if args.log_format is None:
return None
filename = args.cdash_upload_url
if not filename:
if args.log_file:
if os.path.isabs(args.log_file):
log_file = args.log_file
else:
log_dir = os.getcwd()
log_file = os.path.join(log_dir, args.log_file)
else:
log_file = os.path.join(os.getcwd(), "test-%s" % test_suite.name)
filename = log_file
filename = report_filename(args, test_suite)
context_manager = spack.report.test_context_manager(
reporter=args.reporter(),
filename=filename,

View File

@@ -63,7 +63,7 @@ def tutorial(parser, args):
if not tty.get_yes_or_no("Are you sure you want to proceed?"):
tty.die("Aborted")
rm_cmds = ["rm -f %s" % f for f in rm_configs]
rm_cmds = [f"rm -f {f}" for f in rm_configs]
tty.msg("Reverting compiler and repository configuration", *rm_cmds)
for path in rm_configs:
if os.path.exists(path):
@@ -71,19 +71,19 @@ def tutorial(parser, args):
tty.msg(
"Ensuring that the tutorial binary mirror is configured:",
"spack mirror add tutorial %s" % tutorial_mirror,
f"spack mirror add tutorial {tutorial_mirror}",
)
mirror_config = syaml_dict()
mirror_config["tutorial"] = tutorial_mirror
spack.config.set("mirrors", mirror_config, scope="user")
tty.msg("Ensuring that we trust tutorial binaries", "spack gpg trust %s" % tutorial_key)
tty.msg("Ensuring that we trust tutorial binaries", f"spack gpg trust {tutorial_key}")
spack.util.gpg.trust(tutorial_key)
# Note that checkout MUST be last. It changes Spack under our feet.
# If you don't put this last, you'll get import errors for the code
# that follows (exacerbated by the various lazy singletons we use)
tty.msg("Ensuring we're on the releases/v{0}.{1} branch".format(*spack.spack_version_info[:2]))
tty.msg(f"Ensuring we're on the {tutorial_branch} branch")
git = spack.util.git.git(required=True)
with working_dir(spack.paths.prefix):
git("checkout", tutorial_branch)

View File

@@ -103,11 +103,22 @@ def short_msvc_version(self):
"""
This is the shorthand VCToolset version of form
MSVC<short-ver> *NOT* the full version, for that see
Msvc.msvc_version
Msvc.msvc_version or MSVC.platform_toolset_ver for the
raw platform toolset version
"""
ver = self.msvc_version[:2].joined.string[:3]
ver = self.platform_toolset_ver
return "MSVC" + ver
@property
def platform_toolset_ver(self):
"""
This is the platform toolset version of current MSVC compiler
i.e. 142.
This is different from the VC toolset version as established
by `short_msvc_version`
"""
return self.msvc_version[:2].joined.string[:3]
@property
def cl_version(self):
"""Cl toolset version"""

View File

@@ -64,8 +64,8 @@
_active_environment = None
#: path where environments are stored in the spack tree
env_path = os.path.join(spack.paths.var_path, "environments")
#: default path where environments are stored in the spack tree
default_env_path = os.path.join(spack.paths.var_path, "environments")
#: Name of the input yaml file for an environment
@@ -80,6 +80,26 @@
env_subdir_name = ".spack-env"
def env_root_path():
"""Override default root path if the user specified it"""
return spack.util.path.canonicalize_path(
spack.config.get("config:environments_root", default=default_env_path)
)
def check_disallowed_env_config_mods(scopes):
for scope in scopes:
with spack.config.use_configuration(scope):
if spack.config.get("config:environments_root"):
raise SpackEnvironmentError(
"Spack environments are prohibited from modifying 'config:environments_root' "
"because it can make the definition of the environment ill-posed. Please "
"remove from your environment and place it in a permanent scope such as "
"defaults, system, site, etc."
)
return scopes
def default_manifest_yaml():
"""default spack.yaml file to put in new environments"""
return """\
@@ -216,7 +236,7 @@ def active_environment():
def _root(name):
"""Non-validating version of root(), to be used internally."""
return os.path.join(env_path, name)
return os.path.join(env_root_path(), name)
def root(name):
@@ -251,10 +271,12 @@ def read(name):
def create(name, init_file=None, with_view=None, keep_relative=False):
"""Create a named environment in Spack."""
"""Create a managed environment in Spack."""
if not os.path.isdir(env_root_path()):
fs.mkdirp(env_root_path())
validate_env_name(name)
if exists(name):
raise SpackEnvironmentError("'%s': environment already exists" % name)
raise SpackEnvironmentError("'%s': environment already exists at %s" % (name, root(name)))
return Environment(root(name), init_file, with_view, keep_relative)
@@ -268,10 +290,10 @@ def all_environment_names():
"""List the names of environments that currently exist."""
# just return empty if the env path does not exist. A read-only
# operation like list should not try to create a directory.
if not os.path.exists(env_path):
if not os.path.exists(env_root_path()):
return []
candidates = sorted(os.listdir(env_path))
candidates = sorted(os.listdir(env_root_path()))
names = []
for candidate in candidates:
yaml_path = os.path.join(_root(candidate), manifest_name)
@@ -281,7 +303,7 @@ def all_environment_names():
def all_environments():
"""Generator for all named Environments."""
"""Generator for all managed Environments."""
for name in all_environment_names():
yield read(name)
@@ -849,14 +871,14 @@ def clear(self, re_read=False):
@property
def internal(self):
"""Whether this environment is managed by Spack."""
return self.path.startswith(env_path)
return self.path.startswith(env_root_path())
@property
def name(self):
"""Human-readable representation of the environment.
This is the path for directory environments, and just the name
for named environments.
for managed environments.
"""
if self.internal:
return os.path.basename(self.path)
@@ -1036,7 +1058,9 @@ def env_file_config_scope(self):
def config_scopes(self):
"""A list of all configuration scopes for this environment."""
return self.included_config_scopes() + [self.env_file_config_scope()]
return check_disallowed_env_config_mods(
self.included_config_scopes() + [self.env_file_config_scope()]
)
def destroy(self):
"""Remove this environment from Spack entirely."""

View File

@@ -459,7 +459,7 @@ def make_argument_parser(**kwargs):
dest="env_dir",
metavar="DIR",
action="store",
help="run with an environment directory (ignore named environments)",
help="run with an environment directory (ignore managed environments)",
)
env_group.add_argument(
"-E",

View File

@@ -67,6 +67,7 @@
"license_dir": {"type": "string"},
"source_cache": {"type": "string"},
"misc_cache": {"type": "string"},
"environments_root": {"type": "string"},
"connect_timeout": {"type": "integer", "minimum": 0},
"verify_ssl": {"type": "boolean"},
"suppress_gpg_warnings": {"type": "boolean"},

View File

@@ -566,9 +566,6 @@ def stringify(sym):
if isinstance(sym, (list, tuple)):
return tuple(stringify(a) for a in sym)
if str(sym.type) == "Function": # TODO GBB: Find appropriate test for this
return tuple(stringify(a) for a in sym.arguments)
if clingo_cffi:
# Clingo w/ CFFI will throw an exception on failure
try:
@@ -784,7 +781,7 @@ def on_model(model):
for sym in best_model:
if sym.name not in ("attr", "error", "opt_criterion"):
tty.debug(
"UNKNOWN SYMBOL: %s%s" % (sym.name, stringify(sym.arguments))
"UNKNOWN SYMBOL: %s(%s)" % (sym.name, ", ".join(stringify(sym.arguments)))
)
elif cores:
@@ -1593,7 +1590,7 @@ class Body(object):
return clauses
def build_version_dict(self):
def build_version_dict(self, possible_pkgs):
"""Declare any versions in specs not declared in packages."""
self.declared_versions = collections.defaultdict(list)
self.possible_versions = collections.defaultdict(set)
@@ -1601,7 +1598,7 @@ def build_version_dict(self):
packages_yaml = spack.config.get("packages")
packages_yaml = _normalize_packages_yaml(packages_yaml)
for pkg_name in self.pkgs:
for pkg_name in possible_pkgs:
pkg_cls = spack.repo.path.get_pkg_class(pkg_name)
# All the versions from the corresponding package.py file. Since concepts
@@ -1972,11 +1969,11 @@ def define_variant_values(self):
for pkg, variant, value in self.variant_values_from_specs:
self.gen.fact(fn.variant_possible_value(pkg, variant, value))
def _facts_from_concrete_spec(self, spec):
def _facts_from_concrete_spec(self, spec, possible):
# tell the solver about any installed packages that could
# be dependencies (don't tell it about the others)
h = spec.dag_hash()
if spec.name in self.pkgs and h not in self.seen_hashes:
if spec.name in possible and h not in self.seen_hashes:
self.reusable_and_possible[h] = spec
try:
# Only consider installed packages for repo we know
@@ -2006,12 +2003,12 @@ def _facts_from_concrete_spec(self, spec):
# add the hash to the one seen so far
self.seen_hashes.add(h)
def define_concrete_input_specs(self, specs):
def define_concrete_input_specs(self, specs, possible):
# any concrete specs in the input spec list
for input_spec in specs:
for spec in input_spec.traverse():
if spec.concrete:
self._facts_from_concrete_spec(spec)
self._facts_from_concrete_spec(spec, possible)
def setup(self, driver, specs, reuse=None):
"""Generate an ASP program with relevant constraints for specs.
@@ -2032,28 +2029,20 @@ def setup(self, driver, specs, reuse=None):
# get list of all possible dependencies
self.possible_virtuals = set(x.name for x in specs if x.virtual)
self.pkgs = set(
spack.package_base.possible_dependencies(
*specs, virtuals=self.possible_virtuals, deptype=spack.dependency.all_deptypes
)
)
# TODO GBB: This only gets packages that can only appear as pure build deps,
# need to rethink it to get packages that can appear as link/run or as pure build deps
self.build_pkgs = self.pkgs - set(
spack.package_base.possible_dependencies(
*specs, virtuals=self.possible_virtuals, deptype=("link", "run")
)
possible = spack.package_base.possible_dependencies(
*specs, virtuals=self.possible_virtuals, deptype=spack.dependency.all_deptypes
)
# Fail if we already know an unreachable node is requested
for spec in specs:
missing_deps = [
str(d) for d in spec.traverse() if d.name not in self.pkgs and not d.virtual
str(d) for d in spec.traverse() if d.name not in possible and not d.virtual
]
if missing_deps:
raise spack.spec.InvalidDependencyError(spec.name, missing_deps)
self.pkgs = set(possible)
# driver is used by all the functions below to add facts and
# rules to generate an ASP program.
self.gen = driver
@@ -2077,18 +2066,18 @@ def setup(self, driver, specs, reuse=None):
self.possible_compilers = self.generate_possible_compilers(specs)
# traverse all specs and packages to build dict of possible versions
self.build_version_dict()
self.build_version_dict(possible)
self.add_concrete_versions_from_specs(specs, version_provenance.spec)
self.add_concrete_versions_from_specs(dev_specs, version_provenance.dev_spec)
self.gen.h1("Concrete input spec definitions")
self.define_concrete_input_specs(specs)
self.define_concrete_input_specs(specs, possible)
if reuse:
self.gen.h1("Reusable specs")
self.gen.fact(fn.optimize_for_reuse())
for reusable_spec in reuse:
self._facts_from_concrete_spec(reusable_spec)
self._facts_from_concrete_spec(reusable_spec, possible)
self.gen.h1("General Constraints")
self.available_compilers()
@@ -2114,10 +2103,6 @@ def setup(self, driver, specs, reuse=None):
self.preferred_variants(pkg)
self.target_preferences(pkg)
self.gen.h1("Package Alternates")
for pkg in sorted(self.pkgs): # TODO GBB: Can we cleverly reduce the size of this?
self.gen.fact(fn.name_mangled(pkg, 3))
# Inject dev_path from environment
for ds in dev_specs:
self.condition(spack.spec.Spec(ds.name), ds, msg="%s is a develop spec" % ds.name)
@@ -2191,10 +2176,8 @@ def hash(self, pkg, h):
self._specs[pkg] = self._hash_lookup[h]
def node(self, pkg):
print(pkg)
name = pkg[0] if isinstance(pkg, tuple) else pkg
if pkg not in self._specs:
self._specs[pkg] = spack.spec.Spec(name)
self._specs[pkg] = spack.spec.Spec(pkg)
def _arch(self, pkg):
arch = self._specs[pkg].architecture
@@ -2387,8 +2370,7 @@ def build_specs(self, function_tuples):
# predicates on virtual packages.
if name != "error":
pkg = args[0]
pkg_name = pkg[0] if isinstance(pkg, tuple) else pkg
if spack.repo.path.is_virtual(pkg_name):
if spack.repo.path.is_virtual(pkg):
continue
# if we've already gotten a concrete spec for this pkg,

View File

@@ -40,167 +40,6 @@ attr(Name, A1, A2, A3, A4) :- literal(LiteralID, Name, A1, A2, A3, A4), literal_
#defined literal/5.
#defined literal/6.
%--------------------------------------------------
% Map package attributes to mangled names
%--------------------------------------------------
%package_attr((Name, N), A1) :- package_attr(Name, A1), name_mangled(name, M, N)
%package_attr((Name, N), A1, A2) :- package_attr(Name, A1, A2), name_mangled(name, M, N)
%package_attr((Name, N), A1, A2, A3) :- package_attr(Name, A1, A2, A3), name_mangled(name, M, N)
%package_attr((Name, N), A1, A2, A3, A4) :- package_attr(Name, A1, A2, A3, A4), name_mangled(name, M, N)
package_alternate(Name, (Name, N)) :- name_mangled(Name, M), N=1..M.
package_alternate(Package, Package) :- name_mangled(Package, _). %TODO GBB: stand in for "name exists"
version_declared((Package, N), Version, Weight, Origin)
:- version_declared(Package, Version, Weight, Origin),
package_alternate(Package, (Package, N)).
version_equivalent((Package, N), Version, RefVersion)
:- version_equivalent(Package, Version, RefVersion),
package_alternate(Package, (Package, N)).
deprecated_version((Package, N), Version)
:- deprecated_version(Package, Version),
package_alternate(Package, (Package, N)).
conflict((Package, N), (Trigger, N), (Constraint, N), Msg)
:- conflict(Package, Trigger, Constraint, Msg),
package_alternate(Package, (Package, N)).
node_compiler_preference((Package, N), Compiler, CompilerVersion, Weight)
:- node_compiler_preference(Package, Compiler, CompilerVersion, Weight),
package_alternate(Package, (Package, N)).
variant((Package, N), Variant)
:- variant(Package, Variant),
package_alternate(Package, (Package, N)).
variant_condition((Condition, N), (Package, N), Variant)
:- variant_condition(Condition, Package, Variant),
package_alternate(Package, (Package, N)).
variant_single_value((Package, N), Name)
:- variant_single_value(Package, Name),
package_alternate(Package, (Package, N)).
variant_default_value_from_package_py((Package, N), Variant, Value)
:- variant_default_value_from_package_py(Package, Variant, Value),
package_alternate(Package, (Package, N)).
variant_value_from_disjoint_sets((Package, N), Variant, Value, SetID)
:- variant_value_from_disjoint_sets(Package, Variant, Value, SetID),
package_alternate(Package, (Package, N)).
variant_possible_value((Package, N), Variant, Value)
:- variant_possible_value(Package, Variant, Value),
package_alternate(Package, (Package, N)).
variant_sticky((Package, N), Variant)
:- variant_sticky(Package, Variant),
package_alternate(Package, (Package, N)).
pkg_provider_preference((Package, N), Virtual, Provider, Weight)
:- pkg_provider_preference(Package, Virtual, Provider, Weight),
package_alternate(Package, (Package, N)).
condition((Condition, N))
:- condition(Condition),
condition_requirement((Condition, N), _, _).
condition((Condition, N))
:- condition(Condition),
condition_requirement((Condition, N), _, _, _).
condition((Condition, N))
:- condition(Condition),
condition_requirement((Condition, N), _, _, _, _).
condition((Condition, N))
:- condition(Condition),
condition_requirement((Condition, N), _, _, _, _).
condition_requirement((Condition, N), Name, (Package, N))
:- condition_requirement(Condition, Name, Package),
package_alternate(Package, (Package, N)).
condition_requirement((Condition, N), Name, (Package, N), A2)
:- condition_requirement(Condition, Name, Package, A2),
package_alternate(Package, (Package, N)).
condition_requirement((Condition, N), Name, (Package, N), A2, A3)
:- condition_requirement(Condition, Name, Package, A2, A3),
package_alternate(Package, (Package, N)).
condition_requirement((Condition, N), Name, (Package, N), A2, A3, A4)
:- condition_requirement(Condition, Name, Package, A2, A3, A4),
package_alternate(Package, (Package, N)).
imposed_constraint((Condition, N), Name, (Package, N))
:- imposed_constraint(Condition, Name, Package),
package_alternate(Package, (Package, N)).
imposed_constraint((Condition, N), Name, (Package, N), A2)
:- imposed_constraint(Condition, Name, Package, A2),
package_alternate(Package, (Package, N)).
imposed_constraint((Condition, N), Name, (Package, N), A2, A3)
:- imposed_constraint(Condition, Name, Package, A2, A3),
package_alternate(Package, (Package, N)).
imposed_constraint((Condition, N), Name, (Package, N), A2, A3, A4)
:- imposed_constraint(Condition, Name, Package, A2, A3, A4),
package_alternate(Package, (Package, N)).
possible_provider((Package, N), Virtual)
:- possible_provider(Package, Virtual),
package_alternate(Package, (Package, N)).
provider_condition((Condition, N), (Package, N), Virtual)
:- provider_condition(Condition, Package, Virtual),
package_alternate(Package, (Package, N)).
dependency_condition((Condition, N), (Package, N), Dependency)
:- dependency_condition(Condition, Package, Dependency),
package_alternate(Package, (Package, N)).
dependency_type((Condition, N), Type)
:- dependency_condition((Condition, N), (_, N), _),
dependency_type(Condition, Type).
% Do we need one for default_provider_preference?
requirement_group((Package, N), RGroupID)
:- requirement_group(Package, RGroupID),
package_alternate(Package, (Package, N)).
requirement_policy((Package, N), RGroupID, Policy)
:- requirement_policy(Package, RGroupID, Policy),
package_alternate(Package, (Package, N)).
requirement_group_member((MemberID, N), (Package, N), RGroupID)
:- requirement_group_member(MemberID, Package, RGroupID),
package_alternate(Package, (Package, N)).
requirement_has_weight((MemberID, N), Weight)
:- requirement_has_weight(MemberID, Weight),
requirement_group_member((MemberID, N), (_, N), _).
buildable_false((Package, N))
:- buildable_false(Package),
package_alternate(Package, (Package, N)).
possible_external((Condition, N), (Package, N), Index)
:- possible_external(Condition, Package, Index),
package_alternate(Package, (Package, N)).
variant_default_value_from_packages_yaml((Package, N), Variant, Value)
:- variant_default_value_from_packages_yaml(Package, Variant, Value),
package_alternate(Package, (Package, N)).
target_weight((Package, N), Target, Weight)
:- target_weight(Package, Target, Weight),
package_alternate(Package, (Package, N)).
version_satisfies((Package, N), Constraint, Version)
:- version_satisfies(Package, Constraint, Version),
package_alternate(Package, (Package, N)).
installed_hash((Package, N), Hash)
:- installed_hash(Package, Hash),
package_alternate(Package, (Package, N)).
%-----------------------------------------------------------------------------
% Version semantics
%-----------------------------------------------------------------------------
@@ -295,21 +134,18 @@ possible_version_weight(Package, Weight)
% versions, virtual nodes with version constraints require this rule to be
% able to choose versions
{ attr("version", Package, Version) : version_satisfies(Package, Constraint, Version) }
:- attr("node_version_satisfies", Package, Constraint),
attr("node", Package).
:- attr("node_version_satisfies", Package, Constraint).
% If there is at least a version that satisfy the constraint, impose a lower
% bound on the choice rule to avoid false positives with the error below
1 { attr("version", Package, Version) : version_satisfies(Package, Constraint, Version) }
:- attr("node_version_satisfies", Package, Constraint),
version_satisfies(Package, Constraint, _),
attr("node", Package).
version_satisfies(Package, Constraint, _).
% More specific error message if the version cannot satisfy some constraint
% Otherwise covered by `no_version_error` and `versions_conflict_error`.
error(1, "No valid version for '{0}' satisfies '@{1}'", Package, Constraint)
:- attr("node_version_satisfies", Package, Constraint),
attr("node", Package),
C = #count{ Version : attr("version", Package, Version), version_satisfies(Package, Constraint, Version)},
C < 1.
@@ -404,19 +240,6 @@ do_not_impose(ID) :-
% They're only triggered if the associated dependnecy condition holds.
attr("depends_on", Package, Dependency, Type)
:- dependency_holds(Package, Dependency, Type),
Type != "build",
not virtual(Dependency).
attr("depends_on", Package, Dependency, "build")
:- dependency_holds(Package, Dependency, "build"),
dependency_holds(Package, Dependency, Type),
Type != "build",
not virtual(Dependency).
1 { attr("depends_on", Package, DepMangled, "build") : package_alternate(Dependency, DepMangled) } 1
:- dependency_holds(Package, Dependency, "build"),
not dependency_holds(Package, Dependency, "link"),
not dependency_holds(Package, Dependency, "run"),
not virtual(Dependency).
% every root must be a node
@@ -466,24 +289,9 @@ error(0, Msg) :- attr("node", Package),
% provider for that virtual then it depends on the provider
attr("depends_on", Package, Provider, Type)
:- dependency_holds(Package, Virtual, Type),
Type != "build",
provider(Provider, Virtual),
not external(Package).
attr("depends_on", Package, Provider, "build")
:- dependency_holds(Package, Virtual, "build"),
dependency_holds(Package, Virtual, Type),
Type != "build",
provider(Provider, Virtual),
not external(Package).
1 { attr("depends_on", Package, ProviderMangled, "build") : package_alternate(Provider, ProviderMangled) } 1
:- dependency_holds(Package, Virtual, "build"),
not dependency_holds(Package, Virtual, "link"),
not dependency_holds(Package, Virtual, "run"),
provider(Provider, Virtual),
not external(Package).
% dependencies on virtuals also imply that the virtual is a virtual node
attr("virtual_node", Virtual)
:- dependency_holds(Package, Virtual, Type),
@@ -1324,9 +1132,6 @@ opt_criterion(100, "number of packages to build (vs. reuse)").
#minimize { 1@100,Package : build(Package), optimize_for_reuse() }.
#defined optimize_for_reuse/0.
#minimize { 0@99: #true }.
#minimize { PSID@99,Package,PSID : attr("node", (Package, PSID)) }.
% A condition group specifies one or more specs that must be satisfied.
% Specs declared first are preferred, so we assign increasing weights and
% minimize the weights.

View File

@@ -26,15 +26,3 @@
#show error/7.
% debug
#show provider/2.
#show virtual_condition_holds/2.
#show provider_condition/3.
#show possible_provider/2.
#show dependency_condition/3.
#show condition_holds/1.
#show condition_requirement/3.
#show condition_requirement/4.
#show condition_requirement/5.
#show condition_requirement/6.
#show dependency_holds/3.
#show dependency_type/2.

View File

@@ -9,8 +9,7 @@
import spack.environment as ev
from spack.main import SpackCommand
# everything here uses the mock_env_path
pytestmark = pytest.mark.usefixtures("mutable_mock_env_path", "config", "mutable_mock_repo")
pytestmark = pytest.mark.usefixtures("config", "mutable_mock_repo")
env = SpackCommand("env")
add = SpackCommand("add")
@@ -21,7 +20,7 @@
@pytest.mark.parametrize("unify", unification_strategies)
def test_concretize_all_test_dependencies(unify):
def test_concretize_all_test_dependencies(unify, mutable_mock_env_path):
"""Check all test dependencies are concretized."""
env("create", "test")
@@ -33,7 +32,7 @@ def test_concretize_all_test_dependencies(unify):
@pytest.mark.parametrize("unify", unification_strategies)
def test_concretize_root_test_dependencies_not_recursive(unify):
def test_concretize_root_test_dependencies_not_recursive(unify, mutable_mock_env_path):
"""Check that test dependencies are not concretized recursively."""
env("create", "test")
@@ -45,7 +44,7 @@ def test_concretize_root_test_dependencies_not_recursive(unify):
@pytest.mark.parametrize("unify", unification_strategies)
def test_concretize_root_test_dependencies_are_concretized(unify):
def test_concretize_root_test_dependencies_are_concretized(unify, mutable_mock_env_path):
"""Check that root test dependencies are concretized."""
env("create", "test")

View File

@@ -3236,3 +3236,20 @@ def test_relative_view_path_on_command_line_is_made_absolute(tmpdir, config):
env("create", "--with-view", "view", "--dir", "env")
environment = ev.Environment(os.path.join(".", "env"))
assert os.path.samefile("view", environment.default_view.root)
def test_environment_created_in_users_location(mutable_config, tmpdir):
"""Test that an environment is created in a location based on the config"""
spack.config.set("config:environments_root", str(tmpdir.join("envs")))
env_dir = spack.config.get("config:environments_root")
assert tmpdir.strpath in env_dir
assert not os.path.isdir(env_dir)
dir_name = "user_env"
env("create", dir_name)
out = env("list")
assert dir_name in out
assert env_dir in ev.root(dir_name)
assert os.path.isdir(os.path.join(env_dir, dir_name))

View File

@@ -1187,3 +1187,16 @@ def test_padded_install_runtests_root(install_mockery_mutable_config, mock_fetch
spack.config.set("config:install_tree:padded_length", 255)
output = install("--test=root", "--no-cache", "test-build-callbacks", fail_on_error=False)
assert output.count("method not implemented") == 1
@pytest.mark.regression("35337")
def test_report_filename_for_cdash(install_mockery_mutable_config, mock_fetch):
"""Test that the temporary file used to write the XML for CDash is not the upload URL"""
parser = argparse.ArgumentParser()
spack.cmd.install.setup_parser(parser)
args = parser.parse_args(
["--cdash-upload-url", "https://blahblah/submit.php?project=debugging", "a"]
)
_, specs = spack.cmd.install.specs_from_cli(args, {})
filename = spack.cmd.install.report_filename(args, specs)
assert filename != "https://blahblah/submit.php?project=debugging"

View File

@@ -49,6 +49,8 @@ def test_all(mock_packages, capfd):
"user2,",
"user3",
"py-extension1:",
"adamjstewart,",
"pradyunsg,",
"user1,",
"user2",
]
@@ -66,6 +68,10 @@ def test_all_by_user(mock_packages, capfd):
with capfd.disabled():
out = split(maintainers("--all", "--by-user"))
assert out == [
"adamjstewart:",
"py-extension1",
"pradyunsg:",
"py-extension1",
"user0:",
"maintainers-3",
"user1:",

View File

@@ -319,3 +319,26 @@ def test_test_results_status(mock_packages, mock_test_stage, status, expected):
else:
assert status in results
assert expected in results
@pytest.mark.regression("35337")
def test_report_filename_for_cdash(install_mockery_mutable_config, mock_fetch):
"""Test that the temporary file used to write Testing.xml for CDash is not the upload URL"""
name = "trivial"
spec = spack.spec.Spec("trivial-smoke-test").concretized()
suite = spack.install_test.TestSuite([spec], name)
suite.ensure_stage()
parser = argparse.ArgumentParser()
spack.cmd.test.setup_parser(parser)
args = parser.parse_args(
[
"run",
"--cdash-upload-url=https://blahblah/submit.php?project=debugging",
"trivial-smoke-test",
]
)
spack.cmd.common.arguments.sanitize_reporter_options(args)
filename = spack.cmd.test.report_filename(args, suite)
assert filename != "https://blahblah/submit.php?project=debugging"

View File

@@ -223,7 +223,7 @@ class TestUninstallFromEnv(object):
concretize = SpackCommand("concretize")
find = SpackCommand("find")
@pytest.fixture
@pytest.fixture(scope="function")
def environment_setup(
self, mutable_mock_env_path, config, mock_packages, mutable_database, install_mockery
):
@@ -242,6 +242,9 @@ def environment_setup(
TestUninstallFromEnv.add("dt-diamond-bottom")
TestUninstallFromEnv.concretize()
install("--fake")
yield "environment_setup"
TestUninstallFromEnv.env("rm", "e1", "-y")
TestUninstallFromEnv.env("rm", "e2", "-y")
def test_basic_env_sanity(self, environment_setup):
for env_name in ["e1", "e2"]:

View File

@@ -1551,14 +1551,14 @@ def get_rev():
yield t
@pytest.fixture()
def mutable_mock_env_path(tmpdir_factory):
@pytest.fixture(scope="function")
def mutable_mock_env_path(tmpdir_factory, mutable_config):
"""Fixture for mocking the internal spack environments directory."""
saved_path = ev.environment.env_path
saved_path = ev.environment.default_env_path
mock_path = tmpdir_factory.mktemp("mock-env-path")
ev.environment.env_path = str(mock_path)
ev.environment.default_env_path = str(mock_path)
yield mock_path
ev.environment.env_path = saved_path
ev.environment.default_env_path = saved_path
@pytest.fixture()

View File

@@ -76,7 +76,7 @@ def test_error_on_anonymous_dependency(config, mock_packages):
[
("maintainers-1", ["user1", "user2"]),
# Reset from PythonPackage
("py-extension1", ["user1", "user2"]),
("py-extension1", ["adamjstewart", "pradyunsg", "user1", "user2"]),
# Extends maintainers-1
("maintainers-3", ["user0", "user1", "user2", "user3"]),
],

View File

@@ -143,3 +143,21 @@ def test_user_view_path_is_not_canonicalized_in_yaml(tmpdir, config):
snd = ev.Environment(env_path)
assert snd.yaml["spack"]["view"] == view
assert os.path.samefile(snd.default_view.root, absolute_view)
def test_environment_cant_modify_environments_root(tmpdir):
filename = str(tmpdir.join("spack.yaml"))
with open(filename, "w") as f:
f.write(
"""\
spack:
config:
environments_root: /a/black/hole
view: false
specs: []
"""
)
with tmpdir.as_cwd():
with pytest.raises(ev.SpackEnvironmentError):
e = ev.Environment(tmpdir.strpath)
ev.activate(e)

View File

@@ -238,7 +238,7 @@ class HasManyMetadataAttributes:
url = "https://example.com/foo.tar.gz"
git = "https://example.com/foo/bar.git"
maintainers = ["alice", "bob"]
maintainers("alice", "bob")
tags = ["foo", "bar", "baz"]
depends_on("foo")

View File

@@ -912,7 +912,7 @@ def inspect_path(root, inspections, exclude=None):
env = EnvironmentModifications()
# Inspect the prefix to check for the existence of common directories
for relative_path, variables in inspections.items():
expected = os.path.join(root, relative_path)
expected = os.path.join(root, os.path.normpath(relative_path))
if os.path.isdir(expected) and not exclude(expected):
for variable in variables:

View File

@@ -7,10 +7,22 @@ default:
# Job templates
########################################
.pr:
.aws-pr-creds:
variables:
AWS_ACCESS_KEY_ID: ${PR_MIRRORS_AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${PR_MIRRORS_AWS_SECRET_ACCESS_KEY}
.aws-protected-creds:
variables:
AWS_ACCESS_KEY_ID: ${PROTECTED_MIRRORS_AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${PROTECTED_MIRRORS_AWS_SECRET_ACCESS_KEY}
.pr-refs:
only:
- /^pr[\d]+_.*$/
- /^github\/pr[\d]+_.*$/
.pr:
extends: [ ".pr-refs" ]
variables:
SPACK_BUILDCACHE_DESTINATION: "s3://spack-binaries-prs/${CI_COMMIT_REF_NAME}/${SPACK_CI_STACK_NAME}"
SPACK_PIPELINE_TYPE: "spack_pull_request"
@@ -21,7 +33,6 @@ default:
- /^develop$/
- /^releases\/v.*/
- /^v.*/
- /^github\/develop$/
.protected:
extends: [ ".protected-refs" ]
@@ -30,7 +41,7 @@ default:
SPACK_COPY_BUILDCACHE: "s3://spack-binaries/${CI_COMMIT_REF_NAME}"
SPACK_PIPELINE_TYPE: "spack_protected_branch"
.generate:
.generate-base:
stage: generate
script:
- uname -a || true
@@ -49,7 +60,6 @@ default:
artifacts:
paths:
- "${CI_PROJECT_DIR}/jobs_scratch_dir"
tags: ["spack", "aws", "public", "medium", "x86_64"]
variables:
KUBERNETES_CPU_REQUEST: 4000m
KUBERNETES_MEMORY_REQUEST: 16G
@@ -58,12 +68,15 @@ default:
retry:
max: 2
when:
- runner_system_failure
- stuck_or_timeout_failure
- always
.generate:
extends: [ ".generate-base" ]
tags: ["spack", "public", "medium", "x86_64"]
.generate-aarch64:
extends: [ ".generate" ]
tags: ["spack", "aws", "public", "medium", "aarch64"]
tags: ["spack", "public", "medium", "aarch64"]
.pr-generate:
extends: [ ".pr", ".generate" ]
@@ -81,20 +94,14 @@ default:
stage: build
.pr-build:
extends: [ ".pr", ".build" ]
variables:
AWS_ACCESS_KEY_ID: ${PR_MIRRORS_AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${PR_MIRRORS_AWS_SECRET_ACCESS_KEY}
extends: [ ".pr", ".build", ".aws-pr-creds" ]
.protected-build:
extends: [ ".protected", ".build" ]
variables:
AWS_ACCESS_KEY_ID: ${PROTECTED_MIRRORS_AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${PROTECTED_MIRRORS_AWS_SECRET_ACCESS_KEY}
extends: [ ".protected", ".build", ".aws-protected-creds" ]
protected-publish:
stage: publish
extends: [ ".protected" ]
extends: [ ".protected", ".aws-protected-creds" ]
image: "ghcr.io/spack/python-aws-bash:0.0.1"
tags: ["spack", "public", "medium", "aws", "x86_64"]
retry:
@@ -199,7 +206,6 @@ protected-publish:
# variables:
# AWS_ACCESS_KEY_ID: ${PR_MIRRORS_AWS_ACCESS_KEY_ID}
# AWS_SECRET_ACCESS_KEY: ${PR_MIRRORS_AWS_SECRET_ACCESS_KEY}
# .mac-protected-build:
# extends: [ ".mac-protected", ".build" ]
# variables:
@@ -317,6 +323,43 @@ e4s-protected-build:
- artifacts: True
job: e4s-protected-generate
########################################
# GPU Testing Pipeline
########################################
.gpu-tests:
variables:
SPACK_CI_STACK_NAME: gpu-tests
gpu-tests-pr-generate:
extends: [ ".gpu-tests", ".pr-generate"]
image: ecpe4s/ubuntu20.04-runner-x86_64:2023-01-01
gpu-tests-protected-generate:
extends: [ ".gpu-tests", ".protected-generate"]
image: ecpe4s/ubuntu20.04-runner-x86_64:2023-01-01
gpu-tests-pr-build:
extends: [ ".gpu-tests", ".pr-build" ]
trigger:
include:
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
job: gpu-tests-pr-generate
strategy: depend
needs:
- artifacts: True
job: gpu-tests-pr-generate
gpu-tests-protected-build:
extends: [ ".gpu-tests", ".protected-build" ]
trigger:
include:
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
job: gpu-tests-protected-generate
strategy: depend
needs:
- artifacts: True
job: gpu-tests-protected-generate
########################################
# E4S OneAPI Pipeline
########################################
@@ -326,11 +369,11 @@ e4s-protected-build:
e4s-oneapi-pr-generate:
extends: [ ".e4s-oneapi", ".pr-generate"]
image: ecpe4s/ubuntu20.04-runner-x86_64-oneapi:2022-07-01
image: ecpe4s/ubuntu20.04-runner-x86_64-oneapi:2023-01-01
e4s-oneapi-protected-generate:
extends: [ ".e4s-oneapi", ".protected-generate"]
image: ecpe4s/ubuntu20.04-runner-x86_64-oneapi:2022-07-01
image: ecpe4s/ubuntu20.04-runner-x86_64-oneapi:2023-01-01
e4s-oneapi-pr-build:
extends: [ ".e4s-oneapi", ".pr-build" ]
@@ -357,41 +400,41 @@ e4s-oneapi-protected-build:
########################################
# E4S on Power
########################################
# .power-e4s-generate-tags-and-image:
# image: { "name": "ghcr.io/scottwittenburg/ecpe4s-ubuntu20.04-runner-ppc64le:2021-07-01", "entrypoint": [""] }
# tags: ["spack", "public", "medium", "ppc64le"]
.e4s-power-generate-tags-and-image:
image: { "name": "ecpe4s/ubuntu20.04-runner-ppc64le:2023-01-01", "entrypoint": [""] }
tags: ["spack", "public", "large", "ppc64le"]
# .e4s-on-power:
# variables:
# SPACK_CI_STACK_NAME: e4s-on-power
.e4s-power:
variables:
SPACK_CI_STACK_NAME: e4s-power
# e4s-on-power-pr-generate:
# extends: [ ".e4s-on-power", ".pr-generate", ".power-e4s-generate-tags-and-image"]
e4s-power-pr-generate:
extends: [ ".e4s-power", ".pr-generate", ".e4s-power-generate-tags-and-image"]
# e4s-on-power-protected-generate:
# extends: [ ".e4s-on-power", ".protected-generate", ".power-e4s-generate-tags-and-image"]
e4s-power-protected-generate:
extends: [ ".e4s-power", ".protected-generate", ".e4s-power-generate-tags-and-image"]
# e4s-on-power-pr-build:
# extends: [ ".e4s-on-power", ".pr-build" ]
# trigger:
# include:
# - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
# job: e4s-on-power-pr-generate
# strategy: depend
# needs:
# - artifacts: True
# job: e4s-on-power-pr-generate
e4s-power-pr-build:
extends: [ ".e4s-power", ".pr-build" ]
trigger:
include:
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
job: e4s-power-pr-generate
strategy: depend
needs:
- artifacts: True
job: e4s-power-pr-generate
# e4s-on-power-protected-build:
# extends: [ ".e4s-on-power", ".protected-build" ]
# trigger:
# include:
# - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
# job: e4s-on-power-protected-generate
# strategy: depend
# needs:
# - artifacts: True
# job: e4s-on-power-protected-generate
e4s-power-protected-build:
extends: [ ".e4s-power", ".protected-build" ]
trigger:
include:
- artifact: jobs_scratch_dir/cloud-ci-pipeline.yml
job: e4s-power-protected-generate
strategy: depend
needs:
- artifacts: True
job: e4s-power-protected-generate
#########################################
# Build tests for different build-systems

View File

@@ -1,269 +0,0 @@
spack:
view: false
concretizer:
reuse: false
unify: false
config:
concretizer: clingo
install_tree:
root: /home/software/spack
padded_length: 512
projections:
all: '{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}'
packages:
all:
compiler:
- gcc@9.3.0
providers:
blas:
- openblas
mpi:
- mpich
target:
- ppc64le
variants: +mpi
binutils:
variants: +ld +gold +headers +libiberty ~nls +plugins
version:
- 2.36.1
doxygen:
version:
- 1.8.20
elfutils:
variants: +bzip2 ~nls +xz
hdf5:
variants: +fortran +hl +shared api=v18
version:
- 1.12.0
libfabric:
variants: fabrics=sockets,tcp,udp,rxm
libunwind:
variants: +pic +xz
mesa:
variants: ~llvm
mesa18:
variants: ~llvm
mpich:
variants: ~wrapperrpath
ncurses:
variants: +termlib
openblas:
variants: threads=openmp
trilinos:
variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long
xz:
variants: +pic
definitions:
- cuda_specs:
- amrex +cuda cuda_arch=70
- caliper +cuda cuda_arch=70
- chai ~benchmarks ~tests +cuda cuda_arch=70 ^umpire ~shared
- ginkgo +cuda cuda_arch=70
- heffte +cuda cuda_arch=70
- hpx +cuda cuda_arch=70
- hypre +cuda cuda_arch=70
- kokkos +wrapper +cuda cuda_arch=70
- kokkos-kernels +cuda cuda_arch=70 ^kokkos +wrapper +cuda cuda_arch=70
- magma +cuda cuda_arch=70
- mfem +cuda cuda_arch=70
- parsec +cuda cuda_arch=70
- petsc +cuda cuda_arch=70
- raja +cuda cuda_arch=70
- slate +cuda cuda_arch=70
- slepc +cuda cuda_arch=70
- strumpack ~slate +cuda cuda_arch=70
- sundials +cuda cuda_arch=70
- superlu-dist +cuda cuda_arch=70
- tasmanian +cuda cuda_arch=70
- trilinos@13.2.0 +cuda cuda_arch=70
- umpire ~shared +cuda cuda_arch=70
- vtk-m +cuda cuda_arch=70
- zfp +cuda cuda_arch=70
#- ascent ~shared +cuda cuda_arch=70
#- axom +cuda cuda_arch=70 ^umpire ~shared
#- dealii +cuda cuda_arch=70 # gmsh
#- flecsi +cuda cuda_arch=70
#- paraview +cuda cuda_arch=70
- default_specs:
- adios
- adios2
- aml
- amrex
- arborx
- archer
- argobots
- ascent
- axom ^umpire@4.1.2
- bolt
- cabana
- caliper
- chai ~benchmarks ~tests ^umpire@4.1.2
- charliecloud
- conduit
- darshan-runtime
- darshan-util
- datatransferkit
- dyninst
- faodel ~tcmalloc
- flecsi
- flit
- flux-core
- fortrilinos
- gasnet
- ginkgo
- globalarrays
- gmp
- gotcha
- gptune
- hdf5
- heffte +fftw
- hpctoolkit
- hpx
- hypre
- kokkos +openmp
- kokkos-kernels +openmp
- legion
- libnrm
- libquo
- libunwind
- llvm targets=amdgpu,nvptx +clang +compiler-rt +libcxx +lld +lldb +llvm_dylib +flang ~cuda
- loki
- mercury
- metall
- mfem
- mpark-variant
- mpifileutils ~xattr
- netlib-scalapack
- ninja
- nrm
- nvhpc
- omega-h
- openmpi
- openpmd-api ^hdf5@1.12.0 +fortran +shared +hl api=default
- papi
- papyrus@1.0.1
- parallel-netcdf
- paraview
- parsec ~cuda
- pdt
- petsc
- plasma
- precice
- pumi
- py-jupyterhub
- py-libensemble
- py-petsc4py
- py-warpx ^warpx dims=2 ^hdf5@1.12.0 +fortran +shared +hl api=default
- py-warpx ^warpx dims=3 ^hdf5@1.12.0 +fortran +shared +hl api=default
- py-warpx ^warpx dims=rz ^hdf5@1.12.0 +fortran +shared +hl api=default
- qthreads scheduler=distrib
- raja
- rempi
- scr
- slate ~cuda
- slepc
- stc
- strumpack ~slate
- sundials
- superlu
- superlu-dist
- swig
- swig@4.0.2-fortran
- sz
- tasmanian
- tau +mpi +python
- trilinos +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext +ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos +teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long
- turbine
- umap
- unifyfs@0.9.1
- upcxx
- variorum
- veloc
- vtk-m
- zfp
#- dealii
#- geopm
#- phist
#- qt
#- qwt
#- stat
#- umpire
- arch:
- '%gcc target=ppc64le'
specs:
- matrix:
- - $default_specs
- - $arch
- matrix:
- - $cuda_specs
- - $arch
mirrors: { "mirror": "s3://spack-binaries/e4s" }
gitlab-ci:
script:
- uname -a || true
- grep -E 'vendor|model name' /proc/cpuinfo 2>/dev/null | sort -u || head -n10 /proc/cpuinfo 2>/dev/null || true
- nproc
- curl -Lfs 'https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0+1/GNUMake.v4.3.0.powerpc64le-linux-gnu.tar.gz' -o gmake.tar.gz
- printf '8096d202fe0a0c400b8c0573c4b9e009f2f10d2fa850a3f495340f16e9c42454 gmake.tar.gz' | sha256sum --check --strict --quiet
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
- . "./share/spack/setup-env.sh"
- spack --version
- spack arch
- cd ${SPACK_CONCRETE_ENV_DIR}
- spack env activate --without-view .
- spack config add "config:install_tree:projections:${SPACK_JOB_SPEC_PKG_NAME}:'morepadding/{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}'"
- spack --color=always --backtrace ci rebuild
after_script:
- cat /proc/loadavg || true
match_behavior: first
mappings:
- match:
- cuda
- dyninst
- hpx
- llvm
- llvm-amdgpu
- precice
- rocblas
- rocsolver
- strumpack
- sundials
- trilinos
- vtk-h
- vtk-m
- warpx
runner-attributes:
image: { "name": "ghcr.io/spack/e4s-ubuntu-20.04:v2021-10-18", "entrypoint": [""] }
tags: ["spack", "public", "xlarge", "ppc64le"]
- match: ['os=ubuntu20.04']
runner-attributes:
image: { "name": "ghcr.io/spack/e4s-ubuntu-20.04:v2021-10-18", "entrypoint": [""] }
tags: ["spack", "public", "large", "ppc64le"]
broken-specs-url: "s3://spack-binaries-develop/broken-specs"
service-job-attributes:
before_script:
- . "./share/spack/setup-env.sh"
- spack --version
image: { "name": "ghcr.io/spack/e4s-ubuntu-20.04:v2021-10-18", "entrypoint": [""] }
tags: ["spack", "public", "medium", "ppc64le"]
cdash:
build-group: New PR testing workflow
url: https://cdash.spack.io
project: Spack Testing
site: Cloud Gitlab Infrastructure

View File

@@ -3,7 +3,7 @@ spack:
concretizer:
reuse: false
unify: when_possible
unify: false
config:
build_jobs: 32
@@ -16,37 +16,37 @@ spack:
compilers:
- compiler:
spec: dpcpp@2022.1.0
spec: dpcpp@2023.0.0
paths:
cc: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/icx
cxx: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/dpcpp
f77: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/ifx
fc: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/ifx
cc: /opt/intel/oneapi/compiler/2023.0.0/linux/bin/icx
cxx: /opt/intel/oneapi/compiler/2023.0.0/linux/bin/dpcpp
f77: /opt/intel/oneapi/compiler/2023.0.0/linux/bin/ifx
fc: /opt/intel/oneapi/compiler/2023.0.0/linux/bin/ifx
flags: {}
operating_system: ubuntu20.04
target: x86_64
modules: [compiler]
environment:
prepend_path:
LD_LIBRARY_PATH: /opt/intel/oneapi/compiler/2022.1.0/linux/compiler/lib/intel64_lin
LD_LIBRARY_PATH: /opt/intel/oneapi/compiler/2023.0.0/linux/compiler/lib/intel64_lin
extra_rpaths: []
- compiler:
spec: oneapi@2022.1.0
spec: oneapi@2023.0.0
paths:
cc: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/icx
cxx: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/icpx
f77: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/ifx
fc: /opt/intel/oneapi/compiler/2022.1.0/linux/bin/ifx
cc: /opt/intel/oneapi/compiler/2023.0.0/linux/bin/icx
cxx: /opt/intel/oneapi/compiler/2023.0.0/linux/bin/icpx
f77: /opt/intel/oneapi/compiler/2023.0.0/linux/bin/ifx
fc: /opt/intel/oneapi/compiler/2023.0.0/linux/bin/ifx
flags: {}
operating_system: ubuntu20.04
target: x86_64
modules: [compiler]
environment:
prepend_path:
LD_LIBRARY_PATH: /opt/intel/oneapi/compiler/2022.1.0/linux/compiler/lib/intel64_lin
LD_LIBRARY_PATH: /opt/intel/oneapi/compiler/2023.0.0/linux/compiler/lib/intel64_lin
extra_rpaths: []
- compiler:
spec: gcc@9.4.0
spec: gcc@11.1.0
paths:
cc: /usr/bin/gcc
cxx: /usr/bin/g++
@@ -60,20 +60,13 @@ spack:
extra_rpaths: []
packages:
adios2:
require: "%gcc"
all:
require: "%oneapi"
require: '%oneapi'
providers:
blas: [openblas]
mpi: [mpich]
target: [x86_64]
variants: +mpi
binutils:
require: "%gcc"
variants: +ld +gold +headers +libiberty ~nls
cuda:
version: [11.4.2]
elfutils:
variants: +bzip2 ~nls +xz
hdf5:
@@ -82,8 +75,6 @@ spack:
variants: fabrics=sockets,tcp,udp,rxm
libunwind:
variants: +pic +xz
llvm:
require: "%gcc" # undefined reference to `_intel_fast_memset' becauase of -nodefaultlibs
mpich:
variants: ~wrapperrpath
ncurses:
@@ -92,35 +83,55 @@ spack:
variants: threads=openmp
python:
version: [3.8.13]
ruby:
require: "%gcc" # https://github.com/spack/spack/issues/31954
rust:
require: "%gcc" # undefined reference becauase of -nodefaultlibs
trilinos:
variants: +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext
+ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu
+nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos
+teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long
vtk-m:
require: "~openmp"
require: ~openmp
xz:
variants: +pic
mesa:
version: [21.3.8]
binutils:
require: '%gcc'
variants: +ld +gold +headers +libiberty ~nls
bison:
require: '%gcc'
krb5:
require: '%gcc'
llvm:
require: '%gcc'
m4:
require: '%gcc'
openssh:
require: '%gcc'
papi:
require: '%gcc'
py-scipy:
require: '%gcc'
ruby:
require: '%gcc'
rust:
require: '%gcc'
unzip:
require: '%gcc'
specs:
# CPU
- adios
- adios2
- alquimia
- aml
- amrex
- arborx
- archer
- argobots
- ascent
- amrex
- axom
- bolt
- bricks
- butterflypack
- cabana
- caliper
@@ -129,20 +140,15 @@ spack:
- darshan-runtime
- darshan-util
- datatransferkit
- exaworks
- faodel
- flit
- flux-core
- fortrilinos
- gasnet
- ginkgo
- globalarrays
- gmp
- gotcha
- gptune
- hdf5 +fortran +hl +shared
- heffte +fftw
- hpx max_cpu_count=512 networking=mpi
- hypre
- kokkos-kernels +openmp
- kokkos +openmp
@@ -160,7 +166,6 @@ spack:
- nccmp
- nco
- netlib-scalapack
- nrm
- omega-h
- openmpi
- openpmd-api
@@ -174,17 +179,11 @@ spack:
- plumed
- precice
- pumi
- py-cinemasci
- py-jupyterhub
- py-libensemble
- py-petsc4py
- py-warpx ^warpx dims=2
- py-warpx ^warpx dims=3
- py-warpx ^warpx dims=rz
- qthreads scheduler=distrib
- raja
- rempi
- scr
- slate ~cuda
- slepc
- stc
@@ -193,14 +192,12 @@ spack:
- superlu-dist
- superlu
- swig
- swig@4.0.2-fortran
- sz
- tasmanian
- tau +mpi +python
- trilinos@13.0.1 +amesos +amesos2 +anasazi +aztec +belos +boost +epetra +epetraext
+ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu
+nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos
+teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long
+ifpack +ifpack2 +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu
+nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stokhos +stratimikos
+teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long
- turbine
- umap
- umpire
@@ -213,54 +210,72 @@ spack:
# GPU
- aml +ze
- amrex +sycl
- arborx +sycl ^kokkos +sycl +openmp std=17 +tests +examples
- cabana +sycl ^kokkos+sycl +openmp std=17 +tests +examples
- cabana +sycl ^kokkos +sycl +openmp std=17 +tests +examples
- kokkos +sycl +openmp std=17 +tests +examples %oneapi
- kokkos-kernels build_type=Release %oneapi ^kokkos +sycl +openmp std=17 +tests +examples %oneapi
- kokkos-kernels build_type=Release ^kokkos +sycl +openmp std=17 +tests +examples %oneapi
# CPU BUILD FAILURES
#- adios2@2.8.0 # adios2
#- charliecloud@0.26 # charliecloud
#- dyninst@12.1.0 # old intel-tbb
#- geopm@1.1.0 # geopm
#- h5bench@1.2 # h5bench
#- hpctoolkit # dyninst
#- phist@1.9.5 # phist
#- paraview +qt # qt
#- pruners-ninja@1.0.1 # pruners-ninja
#- variorum@0.4.1 # variorum
# CPU BUILD FAILURES - NOTES
# adios2: /usr/bin/ld: ../../lib/libadios2_fortran.so.2.8.2: version node not found for symbol adios2_adios_init_mod@adios2_adios_init_serial_smod._; /usr/bin/ld: failed to set dynamic section sizes: bad value
# CPU FAILURES
# - bricks # bricks
# - charliecloud # charliecloud
# - dyninst # old intel-tbb
# - exaworks # py-setuptools-scm
# - flux-core # py-setuptools-scm
# - geopm # geopm
# - ginkgo # ginkgo
# - gptune # py-scipy@1.3.3
# - h5bench # h5bench
# - hpctoolkit # dyninst
# - hpx max_cpu_count=512 networking=mpi # boost cxxstd=17
# - nrm # py-scipy
# - paraview +qt # qt
# - phist # phist
# - pruners-ninja # pruners-ninja
# - py-cinemasci # py-scipy@1.3.3, py-setuptools-scm
# - py-jupyterhub # py-setuptools-scm
# - py-warpx ^warpx dims=2 # py-scipy@1.5.4
# - py-warpx ^warpx dims=3 # py-scipy@1.5.4
# - py-warpx ^warpx dims=rz # py-scipy@1.5.4
# - scr # libyogrt
# - swig@4.0.2-fortran # swig
# - tau +mpi +python # tau
# - variorum # variorum
# --
# amrex: /opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/../include/sycl/detail/defines_elementary.hpp:52:40: note: expanded from macro '__SYCL2020_DEPRECATED'
# amrex: /opt/intel/oneapi/compiler/2023.0.0/linux/bin-llvm/../include/sycl/detail/defines_elementary.hpp:52:40: note: expanded from macro '__SYCL2020_DEPRECATED'
# binutils: gold/powerpc.cc:3590: undefined reference to `gold::Sized_symbol<64>::Value_type gold::Symbol_table::compute_final_value<64>(gold::Sized_symbol<64> const*, gold::Symbol_table::Compute_final_value_status*) const'
# boost cxxstd=17: ./boost/mpl/aux_/integral_wrapper.hpp:73:31: error: integer value -1 is outside the valid range of values [0, 3] for this enumeration type [-Wenum-constexpr-conversion]
# bricks: cc1plus: error: bad value ('OFF') for '-mtune=' switch
# charliecloud: autoreconf phase: RuntimeError: configure script not found in ...
# flux-sched: include/yaml-cpp/emitter.h:164:9: error: comparison with NaN always evaluates to false in fast floating point modes [-Werror,-Wtautological-constant-compare]
# flux-sched: include/yaml-cpp/emitter.h:171:24: error: comparison with infinity always evaluates to false in fast floating point modes [-Werror,-Wtautological-constant-compare]
# ginkgo: icpx: error: clang frontend command failed with exit code 139
# h5bench: commons/h5bench_util.h:196: multiple definition of `has_vol_async';
# intel-tbb: clang++clang++clang++clang++clang++clang++clang++: : : : : : : clang++error: : unknown argument: '-flifetime-dse=1'
# libyogrt: configure: error: slurm is not in specified location!
# phist: fortran_bindings/test/kernels.F90(63): error #8284: If the actual argument is scalar, the dummy argument shall be scalar unless the actual argument is of type character or is an element of an array that is not assumed shape, pointer, or polymorphic. [ARGV]
# pruners-ninja: test/ninja_test_util.c:34: multiple definition of `a';
# py-cryptography: ??
# py-scipy@1.3.3: gcc: error: unrecognized command-line option '-fp-model=strict'
# py-scipy@1.5.4: gcc: error: unrecognized command-line option '-fp-model=strict'
# py-setuptools-scm: ??
# ruby: limits.c:415:34: error: invalid suffix 'D' on floating constant
# rust: /usr/bin/ld: /opt/intel/oneapi/compiler/2022.1.0/linux/bin-llvm/../compiler/lib/intel64_lin/libimf.a(libm_feature_flag.o): in function `__libm_feature_flag_init': libm_feature_flag.c:(.text+0x25): undefined reference to `__intel_cpu_feature_indicator_x'
# swig@4.0.2-fortran: /spack/opt/spack/linux-ubuntu20.04-x86_64/gcc-11.1.0/m4-1.4.19-p3otmjixpi6zibdsyoqib5dpzfshq3nj/bin/m4:/spack/opt/spack/linux-ubuntu20.04-x86_64/oneapi-2023.0.0/bison-3.8.2-xca2sot4jhd72hvj2m2b3ajchagczvau/share/bison/skeletons/yacc.c:420: undefined macro `b4_symbol(103, tag)'
# tau: Error: Unable to identify ifort lib directory
# variorum: ld: Intel/CMakeFiles/variorum_intel.dir/msr_core.c.o:(.bss+0x0): multiple definition of `g_platform'; CMakeFiles/variorum.dir/config_architecture.c.o:(.bss+0x0): first defined here
# vtk-m +openmp: clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
# GPU BUILD FAILURES
#- ginkgo@1.4.0 +oneapi %dpcpp ^cmake%oneapi # ginkgo
#- hpctoolkit@2022.04.15 +level_zero # dyninst
#- sundials@6.2.0 +sycl cxxstd=17 # sundials
#- tau@2.31.1 +mpi +opencl +level_zero ~pdt %oneapi ^binutils%gcc@9.4.0 ^papi%gcc@9.4.0 # tau
# GPU BUILD FAILURES - NOTES
# berkeley-db %dpcpp: dpcpp: dpcpperror: : no such file or directory: '/tmp/conftest-9d8d34.o'
# ginkgo %dpcpp: CMakeTestCXXCompiler.cmake:62: /usr/bin/ld: warning: libsvml.so, needed by /opt/intel/oneapi/compiler/2022.1.0/linux/bin-llvm/../lib/libsycl.so, not found (try using -rpath or -rpath-link) ...
# ncurses %dpcpp: If you have ncurses 4.2 applications, you should read the INSTALL document, and install the terminfo without the -x optiontic: error while loading shared libraries: libsvml.so: cannot open shared object file: No such file or directory
# sundials: include/sunmemory/sunmemory_sycl.h:20:10: fatal error: 'CL/sycl.hpp' file not found
# tau: requires libdrm-dev
# GPU FAILURES
# - amrex +sycl # amrex
# - ginkgo +oneapi # ginkgo
# - hpctoolkit +level_zero # dyninst
# - sundials +sycl cxxstd=17 # sundials
# - tau +mpi +opencl +level_zero ~pdt # tau
# --
# SKIPPED
#- flecsi@1.4.2 # dependency pfunit marks oneapi as an unsupported compiler
# - flecsi # dependency pfunit marks oneapi as an unsupported compiler
mirrors: { "mirror": "s3://spack-binaries/develop/e4s-oneapi" }
@@ -286,14 +301,14 @@ spack:
- if [[ -r /mnt/key/intermediate_ci_signing_key.gpg ]]; then spack gpg trust /mnt/key/intermediate_ci_signing_key.gpg; fi
- if [[ -r /mnt/key/spack_public_key.gpg ]]; then spack gpg trust /mnt/key/spack_public_key.gpg; fi
- export PATH=/bootstrap/runner/view/bin:${PATH}
- . /bootstrap/runner/install/linux-ubuntu20.04-x86_64/gcc-9.4.0/lmod-8.7.2-ri26z7qy6ixtgpsqinswx3w6tuggluv5/lmod/8.7.2/init/bash
- . /bootstrap/runner/install/linux-ubuntu20.04-x86_64/gcc-11.1.0/lmod-8.7.2-b7eq7rjeckn3m4o4lglsakilibkznjom/lmod/8.7.2/init/bash
- module use /opt/intel/oneapi/modulefiles
- module load compiler
- spack --color=always --backtrace ci rebuild > >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_out.txt) 2> >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_err.txt >&2)
after_script:
- cat /proc/loadavg || true
image: ecpe4s/ubuntu20.04-runner-x86_64-oneapi:2022-07-01
image: ecpe4s/ubuntu20.04-runner-x86_64-oneapi:2023-01-01
match_behavior: first
mappings:
@@ -478,7 +493,7 @@ spack:
before_script:
- . "./share/spack/setup-env.sh"
- spack --version
image: ecpe4s/ubuntu20.04-runner-x86_64-oneapi:2022-07-01
image: ecpe4s/ubuntu20.04-runner-x86_64-oneapi:2023-01-01
tags: ["spack", "public", "x86_64"]
signing-job-attributes:

View File

@@ -0,0 +1,423 @@
spack:
view: false
concretizer:
reuse: false
unify: false
config:
concretizer: clingo
install_tree:
root: /home/software/spack
padded_length: 512
projections:
all: '{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}'
packages:
all:
compiler: [gcc@11.1.0]
providers:
blas: [openblas]
mpi: [mpich]
target: [ppc64le]
variants: +mpi cuda_arch=70
tbb:
require: intel-tbb
binutils:
variants: +ld +gold +headers +libiberty ~nls
cuda:
version: [11.7.0]
elfutils:
variants: +bzip2 ~nls +xz
hdf5:
variants: +fortran +hl +shared
libfabric:
variants: fabrics=sockets,tcp,udp,rxm
libunwind:
variants: +pic +xz
mpich:
variants: ~wrapperrpath
ncurses:
variants: +termlib
openblas:
variants: threads=openmp
paraview:
require: '@5.11 ~qt+osmesa'
python:
version: [3.7.15]
trilinos:
require: +amesos +amesos2 +anasazi +aztec +boost +epetra +epetraext +ifpack
+intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu +nox +piro
+phalanx +rol +rythmos +sacado +stk +shards +shylu +stratimikos +teko +tempus
+tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long
xz:
variants: +pic
mesa:
version: [21.3.8]
faodel:
require: ~tcmalloc # needed for ppc64le
specs:
# CPU
- adios
- alquimia
- aml
- amrex
- arborx
- argobots
- axom
- bolt
- butterflypack
- cabana
- caliper
- chai ~benchmarks ~tests
- charliecloud
- conduit
- datatransferkit
- dyninst
- ecp-data-vis-sdk ~cuda ~rocm +adios2 +ascent +cinema +darshan +faodel +hdf5 ~paraview +pnetcdf +sz +unifyfs +veloc +visit +vtkm +zfp # +paraview fails: FAILED: VTK/Filters/Statistics/CMakeFiles/FiltersStatistics-objects.dir/vtkPCAStatistics.cxx.o: /tmp/ccgvkIk5.s: Assembler messages: /tmp/ccgvkIk5.s:260012: Error: invalid machine `power10'
- exaworks
- flecsi
- flit
- flux-core
- fortrilinos
- gasnet
- ginkgo
- globalarrays
- gmp
- gotcha
- gptune
- h5bench
- hdf5-vol-async
- heffte +fftw
- hpctoolkit
- hpx max_cpu_count=512 networking=mpi
- hypre
- kokkos +openmp
- kokkos-kernels +openmp
- lammps
- legion
- libnrm
- libquo
- libunwind
- mercury
- metall
- mfem
- mpark-variant
- mpifileutils ~xattr
- nccmp
- nco
- netlib-scalapack
- nrm
- nvhpc
- omega-h
- openmpi
- openpmd-api
- papi
- papyrus
- parsec ~cuda
- pdt
- petsc
- phist
- plasma
- plumed
- pumi
- py-h5py
- py-jupyterhub
- py-libensemble +mpi +nlopt
- py-petsc4py
- py-warpx ^warpx dims=2
- py-warpx ^warpx dims=3
- py-warpx ^warpx dims=rz
- qthreads scheduler=distrib
- quantum-espresso
- raja
- rempi
- scr
- slate ~cuda
- slepc
- stc
- strumpack ~slate
- sundials
- superlu
- superlu-dist
- swig
- swig@4.0.2-fortran
- tasmanian
- tau +mpi +python
- trilinos@13.0.1 +belos +ifpack2 +stokhos
- turbine
- umap
- umpire
- upcxx
- wannier90
# CUDA
- amrex +cuda
- arborx +cuda ^kokkos +wrapper
- cabana +cuda ^kokkos +wrapper +cuda_lambda +cuda
- caliper +cuda
- chai ~benchmarks ~tests +cuda ^umpire ~shared
- ecp-data-vis-sdk +cuda cuda_arch=70 +adios2 +hdf5 ~paraview +vtkm +zfp # +paraview fails: FAILED: VTK/Filters/Statistics/CMakeFiles/FiltersStatistics-objects.dir/vtkPCAStatistics.cxx.o; /tmp/ccjmJhb6.s: Assembler messages: /tmp/ccjmJhb6.s:260012: Error: invalid machine `power10'
- flecsi +cuda
- flux-core +cuda
- ginkgo +cuda
- heffte +cuda
- hpctoolkit +cuda
- hpx max_cpu_count=512 +cuda
- hypre +cuda
- kokkos +wrapper +cuda
- kokkos-kernels +cuda ^kokkos +wrapper +cuda
- magma +cuda
- mfem +cuda
- omega-h +cuda
- papi +cuda
- petsc +cuda
- py-torch +cuda
- raja +cuda
- slate +cuda
- slepc +cuda
- strumpack ~slate +cuda
- sundials +cuda
- superlu-dist +cuda
- tasmanian +cuda
- tau +mpi +cuda
- trilinos@13.4.0 +belos +ifpack2 +stokhos +cuda
- umpire ~shared +cuda
- parsec +cuda
# CPU FAILURES
# - archer # llvm@8
# - bricks # bricks
# - geopm # geopm
# - loki # loki
# - precice # precice
# - pruners-ninja # pruners-ninja
# - variorum # Intel/variorum_cpuid.c:11:5: error: impossible constraint in 'asm'
# --
# bricks: VSBrick-7pt.py-Scalar-8x8x8-1:30:3: error: 'vfloat512' was not declared in this scope
# fltk: /usr/bin/ld: ../lib/libfltk_png.a(pngrutil.o): in function `png_read_filter_row': pngrutil.c:(.text.png_read_filter_row+0x90): undefined reference to `png_init_filter_functions_vsx'
# geopm: libtool.m4: error: problem compiling CXX test program
# llvm@8: clang/lib/Lex/Lexer.cpp:2547:34: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive]
# loki: include/loki/SmallObj.h:462:57: error: ISO C++17 does not allow dynamic exception specifications
# precice: /tmp/ccYNMwgE.s: Assembler messages: /tmp/ccYNMwgE.s:278115: Error: invalid machine `power10'
# pruners-ninja: test/ninja_test_util.c:34: multiple definition of `a';
# CUDA FAILURES
# - bricks +cuda # bricks
# - dealii +cuda # fltk
# --
# bricks: VSBrick-7pt.py-Scalar-8x8x8-1:30:3: error: 'vfloat512' was not declared in this scope
mirrors: { "mirror": "s3://spack-binaries/develop/e4s-power" }
gitlab-ci:
script:
- uname -a || true
- grep -E 'vendor|model name' /proc/cpuinfo 2>/dev/null | sort -u || head -n10 /proc/cpuinfo 2>/dev/null || true
- nproc
- . "./share/spack/setup-env.sh"
- spack --version
- spack arch
- cd ${SPACK_CONCRETE_ENV_DIR}
- spack env activate --without-view .
- spack config add "config:install_tree:projections:${SPACK_JOB_SPEC_PKG_NAME}:'morepadding/{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}'"
- mkdir -p ${SPACK_ARTIFACTS_ROOT}/user_data
- if [[ -r /mnt/key/e4s.gpg ]]; then spack gpg trust /mnt/key/e4s.gpg; fi
- if [[ -r /mnt/key/spack_public_key.gpg ]]; then spack gpg trust /mnt/key/spack_public_key.gpg; fi
- spack --color=always --backtrace ci rebuild > >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_out.txt) 2> >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_err.txt >&2)
after_script:
- cat /proc/loadavg || true
image: ecpe4s/ubuntu20.04-runner-ppc64le:2023-01-01
match_behavior: first
mappings:
- match:
- hipblas
- llvm
- llvm-amdgpu
- rocblas
runner-attributes:
tags: [ "spack", "huge", "ppc64le" ]
variables:
CI_JOB_SIZE: huge
- match:
- cuda
- dyninst
- ginkgo
- hpx
- kokkos-kernels
- kokkos-nvcc-wrapper
- magma
- mfem
- mpich
- openturns
- precice
- raja
- rust
- slate
- trilinos
- vtk-m
- warpx
runner-attributes:
tags: [ "spack", "large", "ppc64le" ]
variables:
CI_JOB_SIZE: large
- match:
- adios2
- amrex
- archer
- ascent
- axom
- binutils
- blaspp
- boost
- butterflypack
- cabana
- caliper
- camp
- chai
- conduit
- datatransferkit
- faodel
- ffmpeg
- fftw
- fortrilinos
- gperftools
- gptune
- hdf5
- heffte
- hpctoolkit
- hwloc
- hypre
- kokkos
- lammps
- lapackpp
- legion
- libzmq
- llvm-openmp-ompt
- mbedtls
- netlib-scalapack
- omega-h
- openmpi
- openpmd-api
- pagmo2
- papyrus
- parsec
- pdt
- petsc
- pumi
- py-ipython-genutils
- py-petsc4py
- py-scipy
- py-statsmodels
- py-warlock
- py-warpx
- pygmo
- slepc
- slurm
- strumpack
- sundials
- superlu-dist
- tasmanian
- tau
- upcxx
- vtk-h
- zfp
runner-attributes:
tags: [ "spack", "medium", "ppc64le" ]
variables:
CI_JOB_SIZE: "medium"
- match:
- alsa-lib
- ant
- antlr
- argobots
- automake
- berkeley-db
- bison
- blt
- cmake
- curl
- darshan-util
- diffutils
- exmcutils
- expat
- flit
- freetype
- gdbm
- gotcha
- hpcviewer
- jansson
- json-c
- libbsd
- libevent
- libjpeg-turbo
- libnrm
- libpng
- libunistring
- lua-luaposix
- m4
- mpfr
- ncurses
- openblas
- openjdk
- papi
- parallel-netcdf
- pcre2
- perl-data-dumper
- pkgconf
- py-alembic
- py-idna
- py-testpath
- qhull
- snappy
- swig
- tar
- tcl
- texinfo
- unzip
- util-linux-uuid
- util-macros
- yaml-cpp
- zlib
- zstd
runner-attributes:
tags: [ "spack", "small", "ppc64le" ]
variables:
CI_JOB_SIZE: "small"
- match: ['os=ubuntu20.04']
runner-attributes:
tags: ["spack", "ppc64le"]
variables:
CI_JOB_SIZE: "default"
broken-specs-url: "s3://spack-binaries/broken-specs"
service-job-attributes:
before_script:
- . "./share/spack/setup-env.sh"
- spack --version
image: ecpe4s/ubuntu20.04-runner-ppc64le:2023-01-01
tags: ["spack", "public", "ppc64le"]
signing-job-attributes:
image: { "name": "ghcr.io/spack/notary:latest", "entrypoint": [""] }
tags: ["spack", "aws"]
script:
- aws s3 sync --exclude "*" --include "*spec.json*" ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache /tmp
- /sign.sh
- aws s3 sync --exclude "*" --include "*spec.json.sig*" /tmp ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache
cdash:
build-group: E4S Power
url: https://cdash.spack.io
project: Spack Testing
site: Cloud Gitlab Infrastructure

View File

@@ -26,6 +26,8 @@ spack:
require: "intel-tbb"
binutils:
variants: +ld +gold +headers +libiberty ~nls
boost:
variants: +python +filesystem +iostreams +system
cuda:
version: [11.7.0]
elfutils:
@@ -70,6 +72,7 @@ spack:
- bolt
- bricks
- butterflypack
- boost +python +filesystem +iostreams +system
- cabana
- caliper
- chai ~benchmarks ~tests
@@ -267,6 +270,7 @@ spack:
match_behavior: first
mappings:
- match:
- hipblas
- llvm

View File

@@ -0,0 +1,335 @@
spack:
view: false
concretizer:
reuse: false
unify: false
config:
build_jobs: 32
concretizer: clingo
install_tree:
root: /home/software/spack
padded_length: 512
projections:
all: '{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}'
packages:
all:
compiler: [gcc@11.1.0]
providers:
blas: [openblas]
mpi: [mpich]
target: [x86_64]
variants: +mpi amdgpu_target=gfx90a cuda_arch=80
tbb:
require: "intel-tbb"
binutils:
variants: +ld +gold +headers +libiberty ~nls
boost:
variants: +python +filesystem +iostreams +system
elfutils:
variants: +bzip2 ~nls +xz
hdf5:
variants: +fortran +hl +shared
libfabric:
variants: fabrics=sockets,tcp,udp,rxm
libunwind:
variants: +pic +xz
mpich:
variants: ~wrapperrpath
ncurses:
variants: +termlib
openblas:
variants: threads=openmp
paraview:
# Don't build GUI support or GLX rendering for HPC/container deployments
require: "@5.11 ~qt+osmesa"
python:
version: [3.8.13]
trilinos:
require: +amesos +amesos2 +anasazi +aztec +boost +epetra +epetraext
+ifpack +intrepid +intrepid2 +isorropia +kokkos +ml +minitensor +muelu
+nox +piro +phalanx +rol +rythmos +sacado +stk +shards +shylu +stratimikos
+teko +tempus +tpetra +trilinoscouplings +zoltan +zoltan2 +superlu-dist gotype=long_long
xz:
variants: +pic
mesa:
version: [21.3.8]
specs:
- kokkos +rocm amdgpu_target=gfx90a
- kokkos +wrapper +cuda cuda_arch=80 ^cuda@11.7.1
- raja +cuda cuda_arch=80 ^cuda@11.7.1
- raja +cuda cuda_arch=80 ^cuda@12.0.0
# FAILURES
# - kokkos +wrapper +cuda cuda_arch=80 ^cuda@12.0.0 # https://github.com/spack/spack/issues/35378
mirrors: { "mirror": "s3://spack-binaries/develop/gpu-tests" }
gitlab-ci:
script:
- uname -a || true
- grep -E 'vendor|model name' /proc/cpuinfo 2>/dev/null | sort -u || head -n10 /proc/cpuinfo 2>/dev/null || true
- nproc
- nvidia-smi || true
- curl -Lfs 'https://github.com/JuliaBinaryWrappers/GNUMake_jll.jl/releases/download/GNUMake-v4.3.0+1/GNUMake.v4.3.0.x86_64-linux-gnu.tar.gz' -o gmake.tar.gz
- printf 'fef1f59e56d2d11e6d700ba22d3444b6e583c663d6883fd0a4f63ab8bd280f0f gmake.tar.gz' | sha256sum --check --strict --quiet
- tar -xzf gmake.tar.gz -C /usr bin/make 2> /dev/null
- . "./share/spack/setup-env.sh"
- spack --version
- spack arch
- cd ${SPACK_CONCRETE_ENV_DIR}
- spack env activate --without-view .
- spack config add "config:install_tree:projections:${SPACK_JOB_SPEC_PKG_NAME}:'morepadding/{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}'"
- mkdir -p ${SPACK_ARTIFACTS_ROOT}/user_data
# AWS runners mount E4S public key (verification), UO runners mount public/private (signing/verification)
- if [[ -r /mnt/key/e4s.gpg ]]; then spack gpg trust /mnt/key/e4s.gpg; fi
# UO runners mount intermediate ci public key (verification), AWS runners mount public/private (signing/verification)
- if [[ -r /mnt/key/intermediate_ci_signing_key.gpg ]]; then spack gpg trust /mnt/key/intermediate_ci_signing_key.gpg; fi
- if [[ -r /mnt/key/spack_public_key.gpg ]]; then spack gpg trust /mnt/key/spack_public_key.gpg; fi
- spack --color=always --backtrace ci rebuild --tests > >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_out.txt) 2> >(tee ${SPACK_ARTIFACTS_ROOT}/user_data/pipeline_err.txt >&2)
after_script:
- cat /proc/loadavg || true
image: ecpe4s/ubuntu20.04-runner-x86_64:2023-01-01
broken-tests-packages:
- gptune
match_behavior: first
mappings:
- match:
- kokkos +rocm amdgpu_target=gfx90a
runner-attributes:
tags: [ "rocm-5.4.0", "mi210" ]
variables:
CI_JOB_SIZE: large
- match:
- kokkos +cuda cuda_arch=80 ^cuda@11.7.1
- raja +cuda cuda_arch=80 ^cuda@11.7.1
runner-attributes:
tags: [ "nvidia-515.65.01", "cuda-11.7", "a100" ]
variables:
CI_JOB_SIZE: large
- match:
- kokkos +cuda cuda_arch=80 ^cuda@12.0.0
- raja +cuda cuda_arch=80 ^cuda@12.0.0
runner-attributes:
tags: [ "nvidia-525.85.12", "cuda-12.0", "a100" ]
variables:
CI_JOB_SIZE: large
- match:
- hipblas
- llvm
- llvm-amdgpu
- rocblas
- paraview
- py-torch
runner-attributes:
tags: [ "spack", "huge", "x86_64" ]
variables:
CI_JOB_SIZE: huge
KUBERNETES_CPU_REQUEST: 11000m
KUBERNETES_MEMORY_REQUEST: 42G
- match:
- cuda
- dealii
- dray
- dyninst
- ginkgo
- hpx
- kokkos-kernels
- kokkos-nvcc-wrapper
- magma
- mfem
- mpich
- nvhpc
- oce
- openturns
- plumed
- precice
- py-tensorflow
- qt
- raja
- rocfft
- rocsolver
- rocsparse
- rust
- slate
- trilinos
- visit
- vtk
- vtk-m
- warpx
runner-attributes:
tags: [ "spack", "large", "x86_64" ]
variables:
CI_JOB_SIZE: large
KUBERNETES_CPU_REQUEST: 8000m
KUBERNETES_MEMORY_REQUEST: 12G
- match:
- adios2
- amrex
- archer
- ascent
- axom
- binutils
- blaspp
- boost
- butterflypack
- cabana
- caliper
- camp
- chai
- conduit
- datatransferkit
- faodel
- ffmpeg
- fftw
- fortrilinos
- gperftools
- gptune
- hdf5
- heffte
- hpctoolkit
- hwloc
- hypre
- kokkos
- lammps
- lapackpp
- legion
- libzmq
- llvm-openmp-ompt
- mbedtls
- netlib-scalapack
- omega-h
- openmpi
- openpmd-api
- pagmo2
- papyrus
- parsec
- pdt
- petsc
- pumi
- py-ipython-genutils
- py-petsc4py
- py-scipy
- py-statsmodels
- py-warlock
- py-warpx
- pygmo
- slepc
- slurm
- strumpack
- sundials
- superlu-dist
- tasmanian
- tau
- upcxx
- vtk-h
- zfp
runner-attributes:
tags: [ "spack", "medium", "x86_64" ]
variables:
CI_JOB_SIZE: "medium"
KUBERNETES_CPU_REQUEST: "2000m"
KUBERNETES_MEMORY_REQUEST: "4G"
- match:
- alsa-lib
- ant
- antlr
- argobots
- automake
- berkeley-db
- bison
- blt
- cmake
- curl
- darshan-util
- diffutils
- exmcutils
- expat
- flit
- freetype
- gdbm
- gotcha
- hpcviewer
- jansson
- json-c
- libbsd
- libevent
- libjpeg-turbo
- libnrm
- libpng
- libunistring
- lua-luaposix
- m4
- mpfr
- ncurses
- openblas
- openjdk
- papi
- parallel-netcdf
- pcre2
- perl-data-dumper
- pkgconf
- py-alembic
- py-idna
- py-testpath
- qhull
- snappy
- swig
- tar
- tcl
- texinfo
- unzip
- util-linux-uuid
- util-macros
- yaml-cpp
- zlib
- zstd
runner-attributes:
tags: [ "spack", "small", "x86_64" ]
variables:
CI_JOB_SIZE: "small"
KUBERNETES_CPU_REQUEST: "500m"
KUBERNETES_MEMORY_REQUEST: "500M"
- match: ['os=ubuntu20.04']
runner-attributes:
tags: ["spack", "x86_64"]
variables:
CI_JOB_SIZE: "default"
broken-specs-url: "s3://spack-binaries/broken-specs"
service-job-attributes:
before_script:
- . "./share/spack/setup-env.sh"
- spack --version
image: ecpe4s/ubuntu20.04-runner-x86_64:2023-01-01
tags: ["spack", "public", "x86_64"]
signing-job-attributes:
image: { "name": "ghcr.io/spack/notary:latest", "entrypoint": [""] }
tags: ["spack", "aws"]
script:
- aws s3 sync --exclude "*" --include "*spec.json*" ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache /tmp
- /sign.sh
- aws s3 sync --exclude "*" --include "*spec.json.sig*" /tmp ${SPACK_REMOTE_MIRROR_OVERRIDE}/build_cache
cdash:
build-group: GPU Testing
url: https://cdash.spack.io
project: Spack Testing
site: Cloud Gitlab Infrastructure

View File

@@ -12,6 +12,6 @@ class Maintainers2(Package):
homepage = "http://www.example.com"
url = "http://www.example.com/maintainers2-1.0.tar.gz"
maintainers = ["user2", "user3"]
maintainers("user2", "user3")
version("1.0", "0123456789abcdef0123456789abcdef")

View File

@@ -13,7 +13,7 @@ class PyExtension1(PythonPackage):
homepage = "http://www.example.com"
url = "http://www.example.com/extension1-1.0.tar.gz"
maintainers = ["user1", "user2"]
maintainers("user1", "user2")
version("1.0", "00000000000000000000000000000110")
version("2.0", "00000000000000000000000000000120")

View File

@@ -15,7 +15,7 @@ class Abacus(MakefilePackage):
for large-scale electronic-structure simulations
from first principles"""
maintainers = ["bitllion"]
maintainers("bitllion")
homepage = "http://abacus.ustc.edu.cn/"
git = "https://github.com/abacusmodeling/abacus-develop.git"

View File

@@ -12,7 +12,7 @@ class AbseilCpp(CMakePackage):
homepage = "https://abseil.io/"
url = "https://github.com/abseil/abseil-cpp/archive/refs/tags/20211102.0.tar.gz"
maintainers = ["jcftang"]
maintainers("jcftang")
tags = ["windows"]
version(

View File

@@ -126,7 +126,7 @@ class Acfl(Package):
homepage = "https://developer.arm.com/tools-and-software/server-and-hpc/arm-allinea-studio"
url = "https://developer.arm.com/-/media/Files/downloads/hpc/arm-compiler-for-linux/22-1/arm-compiler-for-linux_22.1_Ubuntu-20.04_aarch64.tar"
maintainers = ["annop-w"]
maintainers("annop-w")
# Build Versions: establish OS for URL
acfl_os = get_os()

View File

@@ -12,7 +12,7 @@ class ActsDd4hep(CMakePackage):
homepage = "https://github.com/acts-project/acts-dd4hep"
url = "https://github.com/acts-project/acts-dd4hep/archive/refs/tags/v1.0.0.tar.gz"
maintainers = ["HadrienG2", "wdconinc"]
maintainers("HadrienG2", "wdconinc")
version("1.0.1", sha256="e40f34ebc30b3c33a6802c9d94136e65072d8dcee0b7db57a645f08a64ea5334")
version("1.0.0", sha256="991f996944c88efa837880f919239e50d12c5c9361e220bc9422438dd608308c")

View File

@@ -32,14 +32,17 @@ class Acts(CMakePackage, CudaPackage):
homepage = "https://acts.web.cern.ch/ACTS/"
git = "https://github.com/acts-project/acts.git"
list_url = "https://github.com/acts-project/acts/releases/"
maintainers = ["HadrienG2"]
maintainers("HadrienG2")
tags = ["hep"]
# Supported Acts versions
version("main", branch="main")
version("master", branch="main", deprecated=True) # For compatibility
version("23.0.0", commit="5af1b1b5feb8ca8f4c2c69106a1b9ef612c70d9c", submodules=True)
version("22.0.1", commit="a4ac99dd72828c5eb3fac06e146f3391958fca8c", submodules=True)
version("22.0.0", commit="0fb6f8d2ace65338915451201e9ceb6cee11fb5e", submodules=True)
version("21.1.1", commit="8ae825de246e8e574d05d9eaf05ba4a937c69aa9", submodules=True)
version("21.1.0", commit="3b4b5c741c8541491d496a36b917b00b344d52d1", submodules=True)
version("21.0.0", commit="d8cb0fac3a44e1d44595a481f977df9bd70195fb", submodules=True)
version("20.3.0", commit="b1859b322744cb033328fd57d9e74fb5326aa56b", submodules=True)
@@ -336,6 +339,7 @@ def plugin_cmake_variant(plugin_name, spack_variant):
cmake_variant("FATRAS", "fatras"),
cmake_variant("FATRAS_GEANT4", "fatras_geant4"),
example_cmake_variant("GEANT4", "geant4"),
plugin_cmake_variant("GEANT4", "geant4"),
example_cmake_variant("HEPMC3", "hepmc3"),
plugin_cmake_variant("IDENTIFICATION", "identification"),
cmake_variant(integration_tests_label, "integration_tests"),

View File

@@ -16,7 +16,7 @@ class Actsvg(CMakePackage):
list_url = "https://github.com/acts-project/actsvg/releases"
git = "https://github.com/acts-project/actsvg.git"
maintainers = ["HadrienG2", "wdconinc"]
maintainers("HadrienG2", "wdconinc")
version("0.4.26", sha256="a1dfad15b616cac8191a355c1a87544571c36349400e3de56b9e5be6fa73714c")

View File

@@ -14,7 +14,7 @@ class Adiak(CMakePackage):
url = "https://github.com/LLNL/Adiak/releases/download/v0.1/adiak-v0.1.1.tar.gz"
git = "https://github.com/LLNL/Adiak"
maintainers = ["daboehme", "mplegendre"]
maintainers("daboehme", "mplegendre")
variant("mpi", default=True, description="Build with MPI support")
variant("shared", default=True, description="Build dynamic libraries")

View File

@@ -17,7 +17,7 @@ class Adios(AutotoolsPackage):
url = "https://github.com/ornladios/ADIOS/archive/v1.12.0.tar.gz"
git = "https://github.com/ornladios/ADIOS.git"
maintainers = ["ax3l"]
maintainers("ax3l")
version("develop", branch="master")
version("1.13.1", sha256="b1c6949918f5e69f701cabfe5987c0b286793f1057d4690f04747852544e157b")

View File

@@ -16,7 +16,7 @@ class Adios2(CMakePackage, CudaPackage):
url = "https://github.com/ornladios/ADIOS2/archive/v2.8.0.tar.gz"
git = "https://github.com/ornladios/ADIOS2.git"
maintainers = ["ax3l", "chuckatkins", "vicentebolea", "williamfgc"]
maintainers("ax3l", "chuckatkins", "vicentebolea", "williamfgc")
tags = ["e4s"]
@@ -54,7 +54,6 @@ class Adios2(CMakePackage, CudaPackage):
# change how we're supporting differnt library types in the package at anytime if
# spack decides on a standardized way of doing it across packages
variant("shared", default=True, when="+pic", description="Build shared libraries")
variant("pic", default=True, description="Build pic-enabled static libraries")
# Features
variant("mpi", default=True, description="Enable MPI")
@@ -95,12 +94,24 @@ class Adios2(CMakePackage, CudaPackage):
conflicts("%oneapi@:2022.1.0", when="+fortran")
depends_on("cmake@3.12.0:", type="build")
depends_on("pkgconfig", type="build")
depends_on("libffi", when="+sst") # optional in DILL
depends_on("libfabric@1.6.0:", when="+sst") # optional in EVPath and SST
# depends_on('bison', when='+sst') # optional in FFS, broken package
# depends_on('flex', when='+sst') # optional in FFS, depends on BISON
for _platform in ["linux", "darwin", "cray"]:
depends_on("pkgconfig", type="build", when="platform=%s" % _platform)
variant(
"pic",
default=False,
description="Build pic-enabled static libraries",
when="platform=%s" % _platform,
)
# libffi and libfabric and not currently supported on Windows
# see Paraview's superbuild handling of libfabric at
# https://gitlab.kitware.com/paraview/paraview-superbuild/-/blob/master/projects/adios2.cmake#L3
depends_on("libffi", when="+sst platform=%s" % _platform) # optional in DILL
depends_on(
"libfabric@1.6.0:", when="+sst platform=%s" % _platform
) # optional in EVPath and SST
# depends_on('bison', when='+sst') # optional in FFS, broken package
# depends_on('flex', when='+sst') # optional in FFS, depends on BISON
depends_on("mpi", when="+mpi")
depends_on("libzmq", when="+dataman")

View File

@@ -16,7 +16,7 @@ class Adms(AutotoolsPackage):
url = "https://github.com/Qucs/ADMS/releases/download/release-2.3.7/adms-2.3.7.tar.gz"
git = "https://github.com/Qucs/ADMS.git"
maintainers = ["cessenat"]
maintainers("cessenat")
version("master", branch="master")
version("2.3.7", sha256="3a78e1283ecdc3f356410474b3ff44c4dcc82cb89772087fd3bbde8a1038ce08")

View File

@@ -14,7 +14,7 @@ class AdolC(AutotoolsPackage):
homepage = "https://github.com/coin-or/ADOL-C"
url = "https://github.com/coin-or/ADOL-C/archive/releases/2.7.2.tar.gz"
git = "https://github.com/coin-or/ADOL-C.git"
maintainers = ["jppelteret"]
maintainers("jppelteret")
version("master", branch="master")
version("2.7.2", sha256="701e0856baae91b98397960d5e0a87a549988de9d4002d0e9a56fa08f5455f6e")

View File

@@ -15,7 +15,7 @@ class Agile(AutotoolsPackage):
tags = ["hep"]
maintainers = ["vvolkl"]
maintainers("vvolkl")
version("1.5.1", sha256="e38536300060e4b845ccaaed824c7495944f9117a0d7e4ee74a18bf278e2012f")

View File

@@ -19,7 +19,7 @@ class Akantu(CMakePackage):
url = "https://gitlab.com/akantu/akantu/-/archive/v3.0.0/akantu-v3.0.0.tar.gz"
git = "https://gitlab.com/akantu/akantu.git"
maintainers = ["nrichart"]
maintainers("nrichart")
version("master", branch="master")
version("3.0.0", sha256="7e8f64e25956eba44def1b2d891f6db8ba824e4a82ff0d51d6b585b60ab465db")

View File

@@ -17,7 +17,7 @@ class Albany(CMakePackage):
homepage = "http://gahansen.github.io/Albany"
git = "https://github.com/gahansen/Albany.git"
maintainers = ["gahansen"]
maintainers("gahansen")
version("develop", branch="master")

View File

@@ -14,7 +14,7 @@ class Alpaka(CMakePackage, CudaPackage):
url = "https://github.com/alpaka-group/alpaka/archive/refs/tags/0.6.0.tar.gz"
git = "https://github.com/alpaka-group/alpaka.git"
maintainers = ["vvolkl"]
maintainers("vvolkl")
version("develop", branch="develop")
version("0.8.0", sha256="e01bc377a7657d9a3e0c5f8d3f83dffbd7d0b830283c59efcbc1fb98cf88de43")

View File

@@ -16,7 +16,7 @@ class Alpgen(CMakePackage, MakefilePackage):
homepage = "http://mlm.home.cern.ch/mlm/alpgen/"
url = "http://mlm.home.cern.ch/mlm/alpgen/V2.1/v214.tgz"
maintainers = ["iarspider"]
maintainers("iarspider")
tags = ["hep"]
version("2.1.4", sha256="2f43f7f526793fe5f81a3a3e1adeffe21b653a7f5851efc599ed69ea13985c5e")

View File

@@ -13,7 +13,7 @@ class Alquimia(CMakePackage):
homepage = "https://github.com/LBL-EESA/alquimia-dev"
git = "https://github.com/LBL-EESA/alquimia-dev.git"
maintainers = ["smolins", "balay"]
maintainers("smolins", "balay")
version("develop")
version("1.0.10", commit="b2c11b6cde321f4a495ef9fcf267cb4c7a9858a0") # tag v.1.0.10

View File

@@ -22,7 +22,7 @@ class Aluminum(CMakePackage, CudaPackage, ROCmPackage):
git = "https://github.com/LLNL/Aluminum.git"
tags = ["ecp", "radiuss"]
maintainers = ["bvanessen"]
maintainers("bvanessen")
version("master", branch="master")
version("1.0.0-lbann", tag="v1.0.0-lbann")

View File

@@ -26,7 +26,7 @@ class Amber(Package, CudaPackage):
url = "file://{0}/Amber18.tar.bz2".format(os.getcwd())
manual_download = True
maintainers = ["hseara"]
maintainers("hseara")
version("20", sha256="a4c53639441c8cc85adee397933d07856cc4a723c82c6bea585cd76c197ead75")
version("18", sha256="2060897c0b11576082d523fb63a51ba701bc7519ff7be3d299d5ec56e8e6e277")

View File

@@ -22,7 +22,7 @@ class AmdAocl(BundlePackage):
homepage = "https://developer.amd.com/amd-aocl/"
maintainers = ["amd-toolchain-support"]
maintainers("amd-toolchain-support")
version("4.0")
version("3.2")

View File

@@ -30,7 +30,7 @@ class Amdblis(BlisBase):
url = "https://github.com/amd/blis/archive/3.0.tar.gz"
git = "https://github.com/amd/blis.git"
maintainers = ["amd-toolchain-support"]
maintainers("amd-toolchain-support")
version("4.0", sha256="cddd31176834a932753ac0fc4c76332868feab3e9ac607fa197d8b44c1e74a41")
version("3.2", sha256="5a400ee4fc324e224e12f73cc37b915a00f92b400443b15ce3350278ad46fff6")

View File

@@ -35,7 +35,7 @@ class Amdfftw(FftwBase):
url = "https://github.com/amd/amd-fftw/archive/3.0.tar.gz"
git = "https://github.com/amd/amd-fftw.git"
maintainers = ["amd-toolchain-support"]
maintainers("amd-toolchain-support")
version("4.0", sha256="5f02cb05f224bd86bd88ec6272b294c26dba3b1d22c7fb298745fd7b9d2271c0")
version("3.2", sha256="31cab17a93e03b5b606e88dd6116a1055b8f49542d7d0890dbfcca057087b8d0")

View File

@@ -42,7 +42,7 @@ class Amdlibflame(LibflameBase):
url = "https://github.com/amd/libflame/archive/3.0.tar.gz"
git = "https://github.com/amd/libflame.git"
maintainers = ["amd-toolchain-support"]
maintainers("amd-toolchain-support")
version("4.0", sha256="bcb05763aa1df1e88f0da5e43ff86d956826cbea1d9c5ff591d78a3e091c66a4")
version("3.2", sha256="6b5337fb668b82d0ed0a4ab4b5af4e2f72e4cedbeeb4a8b6eb9a3ef057fb749a")
@@ -63,6 +63,7 @@ class Amdlibflame(LibflameBase):
provides("flame@5.2", when="@2:")
depends_on("python+pythoncmd", type="build")
depends_on("gmake@4:", when="@3.0.1,3.1:", type="build")
@property
def lapack_libs(self):

View File

@@ -27,7 +27,7 @@ class Amdlibm(SConsPackage):
homepage = "https://developer.amd.com/amd-aocl/amd-math-library-libm/"
git = "https://github.com/amd/aocl-libm-ose.git"
url = "https://github.com/amd/aocl-libm-ose/archive/refs/tags/3.0.tar.gz"
maintainers = ["amd-toolchain-support"]
maintainers("amd-toolchain-support")
version("4.0", sha256="038c1eab544be77598eccda791b26553d3b9e2ee4ab3f5ad85fdd2a77d015a7d")
version("3.2", sha256="c75b287c38a3ce997066af1f5c8d2b19fc460d5e56678ea81f3ac33eb79ec890")

View File

@@ -28,7 +28,7 @@ class Amdscalapack(ScalapackBase):
homepage = "https://developer.amd.com/amd-aocl/scalapack/"
git = "https://github.com/amd/scalapack.git"
maintainers = ["amd-toolchain-support"]
maintainers("amd-toolchain-support")
version("4.0", sha256="f02913b5984597b22cdb9a36198ed61039a1bf130308e778dc31b2a7eb88b33b")
version("3.2", sha256="9e00979bb1be39d627bdacb01774bc043029840d542fafc934d16fec3e3b0892")

View File

@@ -19,7 +19,7 @@ class Amgx(CMakePackage, CudaPackage):
homepage = "https://developer.nvidia.com/amgx"
url = "https://github.com/nvidia/amgx/archive/v2.1.0.tar.gz"
maintainers = ["js947"]
maintainers("js947")
version("2.1.0", sha256="6245112b768a1dc3486b2b3c049342e232eb6281a6021fffa8b20c11631f63cc")
version("2.0.1", sha256="6f9991f1836fbf4ba2114ce9f49febd0edc069a24f533bd94fd9aa9be72435a7")

View File

@@ -16,7 +16,7 @@ class Aml(AutotoolsPackage):
homepage = "https://argo-aml.readthedocs.io/"
maintainers = ["perarnau"]
maintainers("perarnau")
test_requires_compiler = True

View File

@@ -17,7 +17,7 @@ class Ampl(Package):
homepage = "https://ampl.com/"
manual_download = True
maintainers = ["robgics"]
maintainers("robgics")
# Use the version as you would expect the user to know it, not necessarily the
# version as it appears in the file name. To get the checksum, use sha256sum.

View File

@@ -14,7 +14,7 @@ class Ampt(MakefilePackage):
homepage = "http://myweb.ecu.edu/linz/ampt/"
url = "http://myweb.ecu.edu/linz/ampt/ampt-v1.26t9b-v2.26t9b.zip"
maintainers = ["vvolkl"]
maintainers("vvolkl")
tags = ["hep"]

View File

@@ -15,7 +15,7 @@ class AmqpCpp(CMakePackage):
git = "https://github.com/CopernicaMarketingSoftware/AMQP-CPP.git"
url = "https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/refs/tags/v4.3.19.tar.gz"
maintainers = ["lpottier"]
maintainers("lpottier")
version("4.3.19", sha256="ca29bb349c498948576a4604bed5fd3c27d87240b271a4441ccf04ba3797b31d")

View File

@@ -13,7 +13,7 @@ class AmrWind(CMakePackage, CudaPackage, ROCmPackage):
homepage = "https://github.com/Exawind/amr-wind"
git = "https://github.com/Exawind/amr-wind.git"
maintainers = ["jrood-nrel", "psakievich"]
maintainers("jrood-nrel", "psakievich")
tags = ["ecp", "ecp-apps"]

View File

@@ -14,16 +14,17 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
mesh refinement (AMR) applications."""
homepage = "https://amrex-codes.github.io/amrex/"
url = "https://github.com/AMReX-Codes/amrex/releases/download/23.01/amrex-23.01.tar.gz"
url = "https://github.com/AMReX-Codes/amrex/releases/download/23.02/amrex-23.02.tar.gz"
git = "https://github.com/AMReX-Codes/amrex.git"
test_requires_compiler = True
tags = ["ecp", "e4s"]
maintainers = ["WeiqunZhang", "asalmgren", "etpalmer63"]
maintainers("WeiqunZhang", "asalmgren", "etpalmer63")
version("develop", branch="development")
version("23.02", sha256="f443c5eb4b89f4a74bf0e1b8a5943da18ab81cdc76aff12e8282ca43ffd06412")
version("23.01", sha256="3b1770653a7c6d3e6167bc3cce98cbf838962102c510d1f872ab08f1115933b7")
version("22.12", sha256="7b11e547e70bdd6f4b36682708a755d173eaecd8738536306d4217df4dd1be3d")
version("22.11", sha256="8be9d5c6934d73b98c71c9c67ca7113f18794268f257333591d9b2449d7410c4")

View File

@@ -16,7 +16,7 @@ class Amrvis(MakefilePackage):
homepage = "https://github.com/AMReX-Codes/Amrvis"
git = "https://github.com/AMReX-Codes/Amrvis.git"
maintainers = ["etpalmer63"]
maintainers("etpalmer63")
version("main", tag="main")

View File

@@ -19,7 +19,7 @@ class Anaconda2(Package):
homepage = "https://www.anaconda.com"
url = "https://repo.anaconda.com/archive/Anaconda2-2019.10-Linux-x86_64.sh"
maintainers = ["ajkotobi"]
maintainers("ajkotobi")
version(
"2019.10",

View File

@@ -20,7 +20,7 @@ class Anaconda3(Package):
homepage = "https://www.anaconda.com"
url = "https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh"
maintainers = ["ajkotobi"]
maintainers("ajkotobi")
version(
"2022.10",

View File

@@ -12,7 +12,7 @@ class Andi(AutotoolsPackage):
homepage = "https://github.com/EvolBioInf/andi"
url = "https://github.com/EvolBioInf/andi/archive/v0.10.tar.gz"
maintainers = ["snehring"]
maintainers("snehring")
version("0.14", sha256="2c9e11524f38e74fe3f981e6acd9527c1a1ca30994a30c5e86808ba5165a25b7")
version("0.10", sha256="1ff371de0b6db4080e402ded2687947dc2d6913e28626edec21dcf5149489ee8")

View File

@@ -12,7 +12,7 @@ class Antimony(CMakePackage):
homepage = "http://antimony.sourceforge.net/"
url = "antimony"
maintainers = ["rblake-llnl"]
maintainers("rblake-llnl")
version("2.8", sha256="7e3e38706c074b72e241ac56ef4ce23e87ef8c718c70f29b2207f1847c43770f")
version("2.7", sha256="7ad181cac632282ae77ced09388dd92db87ea4683eed8c45f2b43861ae2acad4")

View File

@@ -31,7 +31,7 @@ class Aocc(Package):
family = "compiler"
homepage = "https://developer.amd.com/amd-aocc/"
maintainers = ["amd-toolchain-support"]
maintainers("amd-toolchain-support")
version(
ver="4.0.0",

View File

@@ -26,7 +26,7 @@ class AoclSparse(CMakePackage):
url = "https://github.com/amd/aocl-sparse/archive/3.0.tar.gz"
git = "https://github.com/amd/aocl-sparse.git"
maintainers = ["amd-toolchain-support"]
maintainers("amd-toolchain-support")
version("4.0", sha256="68524e441fdc7bb923333b98151005bed39154d9f4b5e8310b5c37de1d69c2c3")
version("3.2", sha256="db7d681a8697d6ef49acf3e97e8bec35b048ce0ad74549c3b738bbdff496618f")

View File

@@ -84,7 +84,7 @@ class Aomp(Package):
homepage = tools_url + "/aomp"
url = tools_url + "/aomp/archive/rocm-3.10.0.tar.gz"
maintainers = ["srekolam", "arjun-raj-kuppala", "estewart08"]
maintainers("srekolam", "arjun-raj-kuppala", "estewart08")
tags = ["e4s"]

View File

@@ -34,7 +34,7 @@ class Apcomp(Package):
"https://github.com/Alpine-DAV/ap_compositor/releases/download/v0.0.1/apcomp-v0.0.1.tar.gz"
)
maintainers = ["cyrush"]
maintainers("cyrush")
version("master", branch="master", submodules="True")
version("0.0.4", sha256="061876dd55e443de91a40d10662496f6bb58b0a3835aec78f5710f5a737d0494")

View File

@@ -13,7 +13,7 @@ class AperturePhotometry(Package):
homepage = "http://www.aperturephotometry.org/"
url = "https://web.ipac.caltech.edu/staff/laher/apt/APT_v2.8.4.tar.gz"
maintainers = ["snehring"]
maintainers("snehring")
version("3.0.2", "8ac430079825ba274567fb998dd693bb6f99490f5b896d4746178ba796bfdead")
version("2.8.4", "28ae136c708a3ebcb83632230e119a03ca1a65499006ab69dc76e21b4921f465")

View File

@@ -11,7 +11,7 @@
class Apex(CMakePackage):
"""Autonomic Performance Environment for eXascale (APEX)."""
maintainers = ["khuck"]
maintainers("khuck")
homepage = "https://uo-oaciss.github.io/apex"
url = "https://github.com/UO-OACISS/apex/archive/v2.3.1.tar.gz"
git = "https://github.com/UO-OACISS/apex"

View File

@@ -12,7 +12,7 @@ class AppleGl(Package):
homepage = "https://developer.apple.com/library/archive/documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide/opengl_intro/opengl_intro.html"
maintainers = ["aphecetche"]
maintainers("aphecetche")
has_code = False

View File

@@ -12,7 +12,7 @@ class AppleGlu(Package):
homepage = ""
maintainers = ["aphecetche"]
maintainers("aphecetche")
has_code = False

View File

@@ -33,6 +33,8 @@ class Apptainer(SingularityBase):
version("1.1.3", sha256="c7bf7f4d5955e1868739627928238d02f94ca9fd0caf110b0243d65548427899")
version("1.0.2", sha256="2d7a9d0a76d5574459d249c3415e21423980d9154ce85e8c34b0600782a7dfd3")
depends_on("go@1.17.5:", when="@1.1.0:")
singularity_org = "apptainer"
singularity_name = "apptainer"
singularity_security_urls = (

View File

@@ -13,7 +13,7 @@ class Arbor(CMakePackage, CudaPackage):
homepage = "https://arbor-sim.org"
git = "https://github.com/arbor-sim/arbor.git"
url = "https://github.com/arbor-sim/arbor/releases/download/v0.8.1/arbor-v0.8.1-full.tar.gz"
maintainers = ["bcumming", "brenthuisman", "haampie", "schmitts"]
maintainers("bcumming", "brenthuisman", "haampie", "schmitts")
version("master", branch="master", submodules=True)
version(

View File

@@ -15,7 +15,7 @@ class Arborx(CMakePackage, CudaPackage, ROCmPackage):
tags = ["e4s", "ecp"]
maintainers = ["aprokop"]
maintainers("aprokop")
version("master", branch="master")
version("1.3", sha256="3f1e17f029a460ab99f8396e2772cec908eefc4bf3868c8828907624a2d0ce5d")

View File

@@ -18,7 +18,7 @@ class Arc(CMakePackage):
url = "https://github.com/FTHPC/ARC"
git = "https://github.com/robertu94/ARC"
maintainers = ["robertu94"]
maintainers("robertu94")
version("master", branch="master")
version("2021-12-01", commit="49d4a5df53a082f15a6959aef434224fd7b9beac")

View File

@@ -18,7 +18,7 @@ class Argobots(AutotoolsPackage):
homepage = "https://www.argobots.org/"
url = "https://github.com/pmodels/argobots/releases/download/v1.0b1/argobots-1.0b1.tar.gz"
git = "https://github.com/pmodels/argobots.git"
maintainers = ["shintaro-iwasaki"]
maintainers("shintaro-iwasaki")
tags = ["e4s"]

View File

@@ -17,12 +17,15 @@ class ArmForge(Package):
through to complex parallel HPC codes with MPI, OpenMP, threads or CUDA."""
homepage = "https://www.arm.com/products/development-tools/server-and-hpc/forge"
maintainers = ["NickRF"]
maintainers("NickRF")
# TODO: this mess should be fixed as soon as a way to parametrize/constrain
# versions (and checksums) based on the target platform shows up
if platform.machine() == "aarch64":
version(
"22.1.3", sha256="131884f998b82673e885a7b42cc883210e3a0229b50af374092140cdfd42a408"
)
version(
"22.1.2", sha256="1774ed647a18d2cb47b2e4dd4f6f268f67817dfe6a6bca8ba2f9e71d2f18c690"
)
@@ -64,6 +67,9 @@ class ArmForge(Package):
)
version("21.0", sha256="2bcc745d0049d6b25c77c97b2d7bad7b4f804180972a2306a8599ce41f6a4573")
elif platform.machine() == "ppc64le":
version(
"22.1.3", sha256="6479c3a4ae6ce6648c37594eb0266161f06d9f89010fca9299855848661dda49"
)
version(
"22.1.2", sha256="1c59d1ccdd83bbd953d891a8e5f4926949daab7f6f1cd73328128794615d23ad"
)
@@ -105,6 +111,9 @@ class ArmForge(Package):
)
version("21.0", sha256="60cfa7dd1cd131ec85e67cb660f2f84cf30bb700d8979cae1f5f88af658fd249")
elif platform.machine() == "x86_64":
version(
"22.1.3", sha256="4f8a8b1df6ad712e89c82eedf4bd85b93b57b3c8d5b37d13480ff058fa8f4467"
)
version(
"22.1.2", sha256="baeac2b49c38547a8f3dd6a5237544eefe8c7695d969784e6f861ce77b610542"
)

View File

@@ -145,7 +145,7 @@ class ArmplGcc(Package):
homepage = "https://developer.arm.com/tools-and-software/server-and-hpc/downloads/arm-performance-libraries"
url = "https://developer.arm.com/-/media/Files/downloads/hpc/arm-performance-libraries/22-1/ubuntu-20/arm-performance-libraries_22.1_Ubuntu-20.04_gcc-11.2.tar"
maintainers = ["annop-w"]
maintainers("annop-w")
for ver, packages in _versions.items():
key = "{0}".format(get_os())

View File

@@ -13,7 +13,7 @@ class Arrayfire(CMakePackage, CudaPackage):
homepage = "https://arrayfire.org/docs/index.htm"
git = "https://github.com/arrayfire/arrayfire.git"
maintainers = ["umar456"]
maintainers("umar456")
version("master")
version("3.8.1", commit="823e8e399fe8c120c6ec7ec75f09e6106b3074ca", tag="v3.8.1")

View File

@@ -48,7 +48,7 @@ class Ascent(CMakePackage, CudaPackage):
url = "https://github.com/Alpine-DAV/ascent/releases/download/v0.5.1/ascent-v0.5.1-src-with-blt.tar.gz"
tags = ["radiuss", "e4s"]
maintainers = ["cyrush"]
maintainers("cyrush")
version("develop", branch="develop", submodules=True)

Some files were not shown because too many files have changed in this diff Show More