Compare commits

..

493 Commits

Author SHA1 Message Date
Gregory Becker
5a23819165 style 2023-03-23 12:48:02 -07:00
Gregory Becker
9df3b57f1f update broadcast test to test excludes as well 2023-03-23 11:24:47 -07:00
Gregory Becker
788ad561bd fix excludes with bcast 2023-03-23 11:24:06 -07:00
becker33
c8c025215d [@spackbot] updating style on behalf of becker33 2023-03-13 17:14:28 +00:00
Gregory Becker
1df6a3196a matrix broadcast: more robust test 2023-02-23 15:47:11 -08:00
Gregory Becker
7014eb3236 matrices: broadcast key combinatorially applies to all nodes in matrix 2023-02-23 15:40:34 -08:00
Todd Gamblin
6b27aebeb4 colify.py: get rid of **kwargs (#35641)
`colify` is an old module in Spack that still uses `**kwargs` liberally. 

We should be more explicit. Doing this eliminates the need for many 
checks (can't pass the wrong arg if it isn't allowed) and makes the 
function documentation more clear.
2023-02-23 11:18:54 -08:00
Mosè Giordano
5c7cccd052 p7zip: Add new versions from fork (#35627) 2023-02-23 13:10:28 +01:00
Rémi Lacroix
26c314f04f htop: Add version 3.2.2 (#35621) 2023-02-23 03:22:18 -08:00
Rémi Lacroix
9982d76bb1 ncdu: Add version 1.18.1 (#35620) 2023-02-23 03:21:56 -08:00
Harmen Stoppels
3d41b71664 buildcache push: ensure bool arguments for include_* (#35632)
Fixes a bug introduced in 44ed0de8c0
where the push method of binary_distribution now takes named args
include_root and include_depedencies, to avoid the **kwarg hole.

But the call site wasn't update and we passed a dict of keys/values instead
of arguments, which resulted in a call like this:

```
push(include_root={"include_root": True, "include_dependencies": False})
```

This commit fixes that, and adds a test to see if we push the correct packages.
2023-02-23 01:44:47 +01:00
Wouter Deconinck
e27d3c4f75 collier: new versions 1.2.6, 1.2.7 (#35580)
Additional functionality, per https://collier.hepforge.org/releasehist.html. No mention of build changes.
2023-02-22 13:18:11 -08:00
Adam J. Stewart
5545fd34c0 py-mpi4jax: add new package (#35551)
* py-mpi4jax: add new package
* [@spackbot] updating style on behalf of adamjstewart

---------

Co-authored-by: adamjstewart <adamjstewart@users.noreply.github.com>
2023-02-22 13:12:35 -08:00
luker
6ebf9f65c0 Add CCE support to hipfort (#35609)
* Add CCE support to hipfort
* Update package.py
2023-02-22 10:59:54 -08:00
Harmen Stoppels
3be9af8c13 copy_files_to_artifacts: error -> warning (#35613)
This error shows up a lot, typically it's harmless because an error
happened before the source build even started, in which case we don't
have build logs to copy. So, warn instead of error, cause it distracts
from the actual CI error.
2023-02-22 11:53:42 +00:00
Harmen Stoppels
6e477d547d add cdash arg to source build only (#35565) 2023-02-22 11:08:32 +01:00
Harmen Stoppels
9d6630e245 spack build-env: error when deps are not installed (#35533)
Currently we attempt to setup the build environment even when
dependencies are not installed, which typically results in error while
searching for libraries or executables in a dependency's prefix.

With this change, we get a more user friendly error:

```
$ spack build-env perl
==> Error: Not all dependencies of perl are installed, cannot setup build environment:
 -   qpj6dw5  perl@5.36.0%apple-clang@14.0.0+cpanm+open+shared+threads build_system=generic arch=darwin-ventura-m1
 -   jq2plbe      ^berkeley-db@18.1.40%apple-clang@14.0.0+cxx~docs+stl build_system=autotools patches=26090f4,b231fcc arch=darwin-ventura-m1
...
$ echo $?
1
```
2023-02-22 10:35:44 +01:00
psakievich
b8d15e816b Allow users to specify root env dir (#32836)
* 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

This is also taken as an opportunity to ensure that all references are to "managed environments",
rather than "named environments". Prior to this PR some references to the latter persisted.

Co-authored-by: Tom Scogland <scogland1@llnl.gov>
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Co-authored-by: Gregory Becker <becker33@llnl.gov>
2023-02-22 00:37:14 +00:00
Cameron Rutherford
0a233ce83a ExaGO 1.5.1 release (#35595)
* Update exago w/ 1.5.1 and small updates to hiop.
* Fix styling.
* Add RAJA back to ExaGO package.
* Update RAJA requirement for ExaGO and HiOp.
* Update last RAJA requirement in HiOp.
2023-02-21 14:56:59 -08:00
G-Ragghianti
27ee08f5bb Package slate: Improved MPI launcher search for smoke tests (#35448)
* Improved MPI launcher search for smoke tests
* Improving mpi launcher search
* Removing redundant logic
2023-02-21 13:10:01 -08:00
Massimiliano Culpo
cb4c60c709 Revert "Disable module generation by default (#35564)" (#35603)
This reverts commit 5b8917188a.
2023-02-21 21:53:07 +01:00
Wouter Deconinck
8e84dcd7ef root: new version 6.28.00 (#35556)
* root: new version 6.28.00
  Full changelog: https://github.com/root-project/root/compare/v6-26-10...v6-28-00
  Based on the CMakeLists.txt file, no major build system changes. Upgraded requirements for cmake added.
* root: variant jemalloc deprecated
* root: rm define gsl_shared because unused
  "`gsl_shared` is unused" per https://github.com/root-project/root/pull/12203 (and has always been unused)
* [@spackbot] updating style on behalf of wdconinc

---------

Co-authored-by: wdconinc <wdconinc@users.noreply.github.com>
2023-02-21 12:20:46 -08:00
MicK7
447ad2a3e3 Add new sphinx rtd theme release 1.2.0 (#35579)
* Add new sphinx rtd theme release 1.2.0

The new release helps with supporting more recent version of docutils

* set docutils officially supported version

* add jquery dependency for sphinx-rtd-theme

* add conflict with jquery version

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

* correct dependency

* fix version dependency

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

* set sphinx version

* fix sha256

* add version for flit-core

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-02-21 11:53:21 -08:00
Adam J. Stewart
6f65ff4952 py-nbmake: add new versions (#35591) 2023-02-21 11:46:43 -08:00
Adam J. Stewart
16adda3db9 py-jax: add v0.4.3 (#35460)
* py-jax: add v0.4.3

* Minimum version is minimum

* py-jax no longer has cuda variant

* Enable CUDA by default

* Link to discussion of upper bound
2023-02-21 13:14:27 -06:00
Oliver Perks
cddef35ef8 cmake: changed the regex to search for externals (#31688) 2023-02-21 17:29:14 +01:00
Rocco Meli
1636c89aba Add pyedr and panedr (#35576)
* add pyedr

* black

* add panedr

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

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

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

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

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

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

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-02-21 09:55:19 -06:00
Alec Scott
9110f5dfb6 ant: add v1.10.13 and deprecate previous versions due to CVE (#35572) 2023-02-21 15:18:07 +01:00
Harmen Stoppels
bc24a8f290 Spec.satisfies should be commutative when strict=False (#35598)
The call:
```
x.satisfies(y[, strict=False])
```
is commutative, and tests non-empty intersection, whereas:
```
x.satsifies(y, strict=True)
```
is not commutative, and tests set-inclusion.

There are 2 fast paths. When strict=False both self and other need to 
be concrete, when strict=True we can optimize when other is concrete.
2023-02-21 14:30:47 +01:00
simon-Leary42
33bf1fd033 nonexistent module concise error message (#35502) 2023-02-21 04:50:56 -08:00
Harmen Stoppels
5b8917188a Disable module generation by default (#35564)
a) It's used by site administrators, so it's niche
b) If it's used by site administrators, they likely need to modify the config anyhow, so the default config only serves as an example to get started
c) it's too arbitrary to enable tcl, but disable lmod
2023-02-21 10:00:37 +01:00
luker
fbd5c5c2cd superlu-dist: extend when to apply a patch (#32985) 2023-02-21 07:41:59 +01:00
Massimiliano Culpo
55e3026152 ccls: add v0.20220729 (#35593) 2023-02-21 07:13:58 +01:00
Massimiliano Culpo
874f76e45e mvapich2: update checksum (#35587)
See #29340

Co-authored-by: Nat Shineman <shineman.5@buckeyemail.osu.edu>
2023-02-21 06:55:11 +01:00
Thomas Madlener
ebc24b7063 dd4hep: extend conflict on CMake (#27125) 2023-02-20 21:33:11 -08:00
Adam J. Stewart
ce9f8143cc Fix view support for optional Python extensions (#35489)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2023-02-20 11:58:28 -08:00
Harmen Stoppels
c1ff7bbf04 environment views: better, earlier error on clash (#35541)
Spack generally ignores file-file projection clashes in environment
views, but would eventually error when linking the `.spack` directory
for two specs of the same package.

This leads to obscure errors where users have no clue what the issue is
and how to fix it. On top of that, the error comes very late, since it
happens when the .spack dir contents are linked (which happens after
everything else)

This PR improves that by doing a quick check ahead of time if clashes
are going to be anticipated (by simply checking for clashes in the
projection of each spec's .spack metadir). If there are clashes, a
human-readable error is thrown which shows two of the conflicting specs,
and tells users to user unify:true, view:false, or set up custom
projections.
2023-02-20 19:14:27 +01:00
Rocco Meli
aa708c8981 Add pytng (#35575)
* add pytng

* black

* add setuptools

* fix

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

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

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

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

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-02-20 11:15:19 -06:00
simonleary-umass-edu
712d358f7e apptainer use the --with-suid configure option (#35513) 2023-02-20 17:39:28 +01:00
Ben Wibking
e8238fe330 Patchel shutil.copystat to avoid PermissionError on Lustre (#27247) 2023-02-20 17:28:03 +01:00
Alec Scott
e8a19aa089 Add Alluxio v2.9.1 and deprecate previous versions due to CVE (#35574) 2023-02-20 07:54:45 -08:00
Alec Scott
4a844a971a httpd: add v2.4.55 and deprecate previous versions due to CVE-2022-31813 (#35571) 2023-02-20 07:35:16 -08:00
Harmen Stoppels
5e337d907b spack ci: remove 120s db timeout since 60s is the default now (#35566) 2023-02-20 14:41:26 +01:00
Harmen Stoppels
208c9585b8 Revert "lib/spack/spack/store.py: Fix #28170 for padding relocation (#33122)" (#35077)
This reverts commit c721aab006.
2023-02-20 13:56:11 +01:00
Alec Scott
1ae4ca611e Add restic v0.15.1 (#35563) 2023-02-20 12:53:10 +01:00
Alec Scott
54eddb2301 Add py-python-lsp-server v1.7.1 (#35561) 2023-02-20 12:52:55 +01:00
Alec Scott
01dafb8047 Add activemq v5.17.3 and deprecate previous version due to CVE (#35573) 2023-02-20 12:49:54 +01:00
Greg Becker
6ef2c33b0e scale mpi dependency is incorrect (#35385) 2023-02-20 02:49:38 -08:00
Paul Kuberry
beddf4dcc4 xyce: add patch for pymi parameter merge and add maintainer (#35421)
* xyce: add maintainer

* xyce: add patch for pymi parameter merge
2023-02-20 11:37:17 +01:00
Alec Scott
e143065448 Add go v1.20.1, 1.19.6 and un-deprecate previous versions without CVEs (#35560) 2023-02-20 11:33:07 +01:00
Patrick Bridges
9d9ea07424 Fix kokkos package.py to filter spack wrappers in launch compiler and cmake configs (#35494)
Kokkos when compiled by spack without +wrapper could potentially capture the spack compiler wrappers, resulting in cmake configs and kokkos_launch_compiler trying to run the spack compiler wrapper after installation.
2023-02-20 01:23:37 -08:00
elenimath
c769582709 Pass tests argument to solver method when concretizing together (#35290)
to make the workaround for #29447 work with `concretizer:unify:true` option
2023-02-20 10:21:24 +01:00
Sebastian Ehlert
1958c2f986 Update xtb 6.6.0 (#35436) 2023-02-20 10:17:32 +01:00
Rocco Meli
3016da79fe Add GNINA and related packages (#35439) 2023-02-20 10:14:00 +01:00
Adam J. Stewart
0500a3cec0 py-torchbenchmark: add new package (#35443) 2023-02-20 10:12:20 +01:00
Emil Briggs
313797e3d4 Update for v5.0.4 release. (#35511) 2023-02-20 09:52:38 +01:00
Wouter Deconinck
ae189cfab8 geant4: new version 11.1.1 (#35528)
Bugfix release only. No changes in build system.
2023-02-20 09:47:13 +01:00
Wouter Deconinck
7c09ab174b acts: new versions 23.1.0, 23.2.0, 23.2.1 (#35540)
* acts: new versions 23.1.0, 23.2.0, 23.2.1

- https://github.com/acts-project/acts/compare/v23.0.0...v23.1.0: no changes needed to package.py
- https://github.com/acts-project/acts/compare/v23.1.0...v23.2.0: no changes needed to package.py
- https://github.com/acts-project/acts/compare/v23.2.0...v23.2.1: no changes needed to package.py

* actsvg: new versions 0.4.27, 0.4.28 (and updated list_url)

* acts: depends_on actsvg@0.4.28: when acts@23.2: +svg

* autodiff: new version 0.6.5-0.6.12 (and list_url fix)

* vecmem: new versions 0.13.0-0.22.0 (and list_url fix)
2023-02-20 09:42:58 +01:00
Wouter Deconinck
c14b6b80cc clhep: new versions 2.4.6.2, 2.4.6.3, 2.4.6.4 (#35542)
Mostly minor changes in random and support for c++20. No build system changes needed.

Ref: https://gitlab.cern.ch/CLHEP/CLHEP/-/compare/CLHEP_2_4_6_2...CLHEP_2_4_6_4
2023-02-20 09:41:43 +01:00
Wouter Deconinck
899d2708a3 lhapdf: new versions 6.5.2, 6.5.3 (#35543)
https://gitlab.com/hepcedar/lhapdf/-/compare/lhapdf-6.5.3...lhapdf-6.5.1: bugfixes only
2023-02-20 09:41:26 +01:00
Wouter Deconinck
5ccc2e1a8e whizard: new version 3.1.0 (#35550)
https://gitlab.tp.nt.uni-siegen.de/whizard/public/-/compare/v3.0.3...v3.1.0, no changes to package.py needed.
2023-02-20 09:40:23 +01:00
Adam J. Stewart
7c01d3ba35 Fix broken links in docs (#35582) 2023-02-20 09:21:18 +01:00
Thomas Bouvier
81f11d5562 py-pyarrow: fix build environment (#35567)
* `py-pyarrow`: fix build environment

* Use `satisfies()` for specs
2023-02-19 12:48:14 -08:00
Adam J. Stewart
747f032ec2 pandoc: disable texlive variant by default (#35569) 2023-02-19 13:22:51 +01:00
Alec Scott
97ea182ee0 hugo: add v0.110.0, v0.108.0, v0.107.0 (#35562) 2023-02-19 00:19:11 +01:00
Harmen Stoppels
011c28a538 openblas: fix prereqs / make race (#35395)
Fix a race in the makefile where the shared lib was built before the
object files were available.

See https://github.com/xianyi/OpenBLAS/issues/3899
2023-02-18 12:27:34 -08:00
Harmen Stoppels
86320eb569 Improve error handling in buildcache downloads (#35568)
The checksum exception was not detailed enough and not reraised when using cache only, resulting in useless error messages.

Now it dumps the file path, expected
hash, computed hash, and the downloaded file summary.
2023-02-18 19:22:48 +01:00
Adam J. Stewart
c42a4ec1ec Ignore black reformat in git blame (#35544) 2023-02-18 01:03:50 -08:00
Harmen Stoppels
fb644de086 clang/apple-clang correct c/c++ standard flags (#35062) 2023-02-17 23:18:01 +01:00
Sinan
352d56d6b0 package_qgis_add_v328 (#35500)
* package_qgis_add_v328

* restore long term release

---------

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2023-02-17 14:58:47 -06:00
G-Ragghianti
b711d5a6a4 Moving official repo and download locations for slate, blaspp, and lapackpp (#35521) 2023-02-17 09:58:48 -08:00
Adam J. Stewart
983c68cc30 py-pyinstrument: add v4.4.0 (#35525) 2023-02-17 04:35:34 -08:00
Wouter Deconinck
7d8d538a71 gaudi: add v36.10 (#35527)
Bugfixes only, https://gitlab.cern.ch/gaudi/Gaudi/-/compare/v36r9...v36r10
2023-02-17 04:27:24 -08:00
Jim Edwards
fa3ced5242 add PIC flag in mpi-serial build (#35524) 2023-02-17 04:27:11 -08:00
Annop Wongwathanarat
73fcda19d2 armcomputelibrary: new package (#35515) 2023-02-17 04:14:23 -08:00
Sebastian Ehlert
65ee062bf6 Fix build for scine-xtb (#35386) 2023-02-17 04:14:08 -08:00
John W. Parent
573f7bf4cd Windows: enforce carriage return for .bat files (#35514)
Batch scripts in general will not function without carriage return line
endings on Windows. We rely on these scripts to support cmd, so we
should not allow these scripts to be converted to lf.

Note: Windows 11 supports lf line endings due to the use of Windows
Terminal. Once support for Windows 10 is dropped, this change can be
reverted.
2023-02-17 04:01:25 -08:00
H. Joe Lee
9f3f4b38e8 fio: add a new version (#35522)
The latest is 3.33.
2023-02-17 04:01:18 -08:00
Harmen Stoppels
476a29e1b6 Increase db timeout 3s -> 60s (#35517)
When running many concurrent spack install processes that need to write
to the db, Spack regularly times out. This is because writing to the DB
after another process has written to it requires deserialization of the
db, mutating it in memory, and serializing it again, which takes some
time. On top of that, I believe there's a 1 second retry when a write
lock cannot be obtained, so I think this means only 3 processes can
really write to the DB at the same time before timing out.
2023-02-17 08:42:41 +01:00
Adam J. Stewart
603569e321 Style: black 23, skip magic trailing comma (#35351)
* Style: black 23, skip magic trailing commas

* isort should use same line length as black

* Fix unused import

* Update version of black used in CI

* Update new packages

* Update new packages
2023-02-16 23:06:12 -06:00
Teo
b935809948 Halide: new variants and bug fixes (#35495)
* Update package.py

Initial new stuff

* Update package.py

* Update package.py

* Update package.py

* fix targets

* non-llvm backends

* ooops

* fix style

* Somehow that was not caught?

Somehow that was not caught?

* style

* Last fix

make capitalization consistent with Halide not LLVM...
2023-02-16 22:58:54 -06:00
Erik Heeren
b278a02406 py-pynrrd: new package (#35505) 2023-02-16 22:52:52 -06:00
Erik Heeren
9ff64b1627 py-cmake-format: new version, new variants (#35485)
* py-cmake-format: new version, new variants

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

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-02-16 22:51:40 -06:00
genric
5fc5ef8c58 py-luigi: add v3.2.0 (#35507) 2023-02-16 22:51:04 -06:00
Christopher Christofi
946816d787 py-cufflinks: new package version with 0.17.3 (#35427)
* py-cufflinks: new package version with 0.17.3

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

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-02-16 22:43:35 -06:00
Adam J. Stewart
03fb5c6aa9 py-fiona: python is a link dep (#35516) 2023-02-16 17:56:12 -08:00
AMD Toolchain Support
68f82357c8 added support zen4 support for gromacs (#35503)
Co-authored-by: Umashankar Sivakumar <Umashankar.Sivakumar@amd.com>
2023-02-16 16:38:58 -08:00
Andrew-Dunning-NNL
f073a9d589 dakota: run acceptance tests (#29654)
* dakota: run acceptance tests
* dakota: updated style guide
2023-02-16 16:28:21 -08:00
Massimiliano Culpo
d17cc42a48 fuse-overlayfs: add v1.10 (#35512) 2023-02-16 16:23:06 -08:00
Andrew-Dunning-NNL
0468205751 rdma-core: add static variant (#35308)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-02-16 16:01:19 -08:00
Harmen Stoppels
68b711c1ad view: fix issue with non-contributing specs (#34661)
Specs that did not contribute any files to an env view caused a problem
where zip(specs, files grouped by prefix) got "out of sync", causing the
wrong merge map to be passed to a package's `add_files_to_view`, which
specifically caused an issue where *sometimes* bin/python ended up as a
symlink instead of a copy.

One such example is kokkos + kokkos-nvcc-wrapper, as the latter package
only provides the file bin/nvcc_wrapper, which is also added to view by
kokkos, causing kokkos-nvcc-wrapper to contribute 0 files.

The test feels a bit contrived, but it captures the problem... pkg a is
added first and has 0 files to contribute, pkg b adds a single file, and
we check if pkg b receives a merge map (and a does not).
2023-02-16 10:36:22 -08:00
Alex Richert
69369429b6 esmf: use setup_build_environment instead of edit (#35249) 2023-02-16 19:01:34 +01:00
Erik Schnetter
f360ce7035 openssl: New version 1.1.1t (#35419)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2023-02-16 09:48:28 -08:00
Harmen Stoppels
96ac4c7f98 simplify cdash filename (#35509) 2023-02-16 18:25:39 +01:00
Massimiliano Culpo
df72ba0d46 pfunit: add v4.6.3, clean up recipe (#35510)
* pfunit: add v4.6.3

* pfunit: use CMakePackage methods to define arguments

* pfunit: deprecate v3.X, make a variant conditional

* pfunit: simplify setting up environment variables

Reading the docs it seems only v3
needs F90_VENDOR to be set

* pfunit: fix option names

The names set before were unused

* pfunit: shared libraries seem not to be supported

See https://github.com/Goddard-Fortran-Ecosystem/pFUnit/issues/308#issuecomment-874725759
2023-02-16 18:10:16 +01:00
Mosè Giordano
b2e6da36ef openblas: Use more stable URL as source (#35428) 2023-02-16 18:02:59 +01:00
Carlos Bederián
832c435588 gromacs: add 2021.7, 2022.5, 2023, and some requirements (#35413) 2023-02-16 17:55:16 +01:00
Mosè Giordano
5079086019 cp2k: explicitly use C99 standard (#34957) 2023-02-16 17:45:06 +01:00
Erik Heeren
bfe06f694c Add py-mlflow and its dependencies (#34463)
* Add py-mlflow and its dependencies
* mlflow: fix syntax error in package.py
* py-mlflow: cleanup
  Process review remarks, add missing dependencies, add skinny variant
* Apply suggestions from code review
* Fix flake8 issues
* More formatting fixes
* Fix py-waitress dependency version
* py-mlflow: platform-specific dependency
* Update var/spack/repos/builtin/packages/py-mlflow/package.py
* Update var/spack/repos/builtin/packages/py-mlflow/package.py
* Process review remarks
* Fix typo in dependency version
* py-shap: fix dependencies
* py-arrow: fix dependencies
* py-slicer: remove py-setuptools explicit version
* py-pyarrow: dataset variant and pass options through environment
  It appears there are some issues when using `pip install` instead of
  `python setup.py` - this setup_build_environment should fix that.
* py-pyarrow: review remark
* Decouple setup_build_environment from install_options
* py-pyarrow: style
* Bump licenses to 2023

---------

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Matthias Wolf <matthias.wolf@epfl.ch>
2023-02-16 08:40:56 -08:00
Joel Falcou
ae022e98d8 EVE 2023.02.15 update (#35493) 2023-02-16 08:26:17 -08:00
Phil Carns
3e1ba67e00 bump mochi-margo to 0.13 (#35499) 2023-02-16 08:21:45 -08:00
Thomas Bouvier
6eea171077 thrift: add v0.17.0 (#35210) 2023-02-16 16:57:25 +01:00
Richard Berger
1734127b7a lammps: refactor variants, add new versions (#34011) 2023-02-16 16:43:36 +01:00
Harmen Stoppels
44ed0de8c0 spack buildcache create: push all deps / cleanup (#34860) 2023-02-16 14:08:49 +00:00
Harmen Stoppels
09eb86e077 spack uninstall: follow run/link edges on --dependents (#34058)
`spack gc` removes build deps of explicitly installed specs, but somehow
if you take one of the specs that `spack gc` would remove, and feed it
to `spack uninstall /<hash>` by hash, it complains about all the
dependents that still rely on it.

This resolves the inconsistency by only following run/link type deps in
spack uninstall.

That way you can finally do `spack uninstall cmake` without having to
remove all packages built with cmake.
2023-02-16 14:26:30 +01:00
Massimiliano Culpo
50691ccdd9 Avoid verifying variants in default package requirements (#35037)
Default package requirements might contain
variants that are not defined in each package,
so we shouldn't verify them when emitting facts
for the ASP solver.

Account for group when enforcing requirements

packages:all : don't emit facts for requirement conditions
that can't apply to current spec
2023-02-16 11:57:26 +01:00
Harmen Stoppels
ce693ff304 buildcache create: avoid prefix copy (#35173) 2023-02-16 11:52:10 +01:00
Harmen Stoppels
18027d07d4 CHANGELOG.md: v0.19.1 (#35429) 2023-02-16 11:34:57 +01:00
Sergey Kosukhin
f31e8adc6b netcdf-c: add patch to enable '@4.9.0:~mpi+parallel-netcdf' (#35462) 2023-02-16 11:02:54 +01:00
rfbgo
a6731b732e Add support for star-ccm-plus v17 (#35056) 2023-02-16 10:53:52 +01:00
Rémi Lacroix
a00b92a69f cp2k: add v2023.1 (#35346) 2023-02-16 10:33:48 +01:00
Sreenivasa Murthy Kolam
90261029d8 ROCm packages: add v5.4.3 release (#35478) 2023-02-16 10:14:31 +01:00
Adam J. Stewart
85966a96b1 py-pytorch-lightning: add v1.9.2 2023-02-15 20:09:15 +01:00
John W. Parent
417d8ef547 XZ package: enable building on Windows (#35095)
* Convert XZ to multi build system
* Add MSBuild builder to XZ to support Windows compatibility
2023-02-15 09:17:32 -08:00
Adam J. Stewart
dd434ec413 Use the maintainers directive in all base classes (#35324)
* Use the `maintainers` directive in all base classes
* Update unit tests
2023-02-15 01:33:29 -08:00
Hector Martinez-Seara
1894b64851 Orca: Added required runtime libraries (#35481)
* Update package.py
  Several libraries are need to be present at run time so that the code can be run in parallel. 
  I have added them as dependencies and to LD_LIBRARY_PATH. Orca comes as a binary so the libraries cannot be added as RPATH at compilation time.
  Also, orca 5.0.3 was compiled against 4.1.1, not 4.1.2.
2023-02-14 16:17:37 -08:00
Dom Heinzeller
9551312e9d Add gsl-lite from JCSDA/NOAA-EMC spack fork (#35468)
* Add gsl-lite from JCSDA/NOAA-EMC spack fork
* Black-format var/spack/repos/builtin/packages/gsl-lite/package.py
* Update maintainers and remove redundant dependency in var/spack/repos/builtin/packages/gsl-lite/package.py
2023-02-14 12:05:39 -08:00
Adam J. Stewart
b282b66579 py-matplotlib: add v3.7.0 (#35471) 2023-02-14 11:47:57 -08:00
Mark W. Krentel
226a9b0e7f libmonitor: add version 2023.02.13 (#35474) 2023-02-14 11:17:20 -08:00
nkgh77
7aeee3339c fftw-api should be used for amdfftw and mkl (#35477)
fftw-api should be used instead of fftw because amdfftw and mkl can be linked.
2023-02-14 11:15:38 -08:00
Sergey Kosukhin
38512d18e9 Remove obsolete autotools patches (#35479)
* netcdf-fortran: remove obsolete Autotools patches
* openmpi: remove obsolete Autotools patches
* parallel-netcdf: remove obsolete Autotools patches
2023-02-14 10:54:37 -08:00
Philipp Edelmann
e75a07d155 fix intel-tbb build with rocmcc (#35472)
rocmcc is a clang compiler. Pass that information on to the TBB build
system.
2023-02-14 09:55:20 -05:00
luker
9b3c4e0696 Update cce.py (#35469)
* Update cce.py

adding c++17 flag for cce

* Update cce.py
2023-02-14 07:37:34 +00:00
Rocco Meli
54f783e656 Add fortls (#35455)
* fortls

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

* review

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

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

* fixes

* review

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-02-13 23:27:29 -08:00
eugeneswalker
34441c9eaa ci: gpu test stack: turn off cuda@11.7 builds (#35467) 2023-02-13 21:54:01 -08:00
Adam J. Stewart
932a9dfc57 py-radiant-mlhub: add new versions (#35470) 2023-02-13 16:43:47 -08:00
Adam J. Stewart
3430c55b0a py-rasterio: add v1.3.6 (#35464) 2023-02-13 12:09:28 -08:00
Erik Schnetter
1a69d436e4 shtools: New version 4.10.1 (#35452) 2023-02-13 10:49:22 -08: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
Jean-Baptiste Skutnik
27775163ca Added e4s-cl package (#35117)
* Added e4s-cl package

* Version order change

* Added e4s-cl dependencies

* Added python-sotools dependency

* [@spackbot] updating style on behalf of spoutn1k

* Add missing versions to py- packages

* Fix style

* [@spackbot] updating style on behalf of spoutn1k

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

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

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

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

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

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

* Add docker removing patch for e4s-cl

Co-authored-by: spoutn1k <spoutn1k@users.noreply.github.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-27 10:02:39 -08:00
Erik Heeren
b1cf512d78 py-nexusforge: add with dependencies (#35208)
* py-nexusforge: add with dependencies

* py-pyshacl, py-sseclient: more style

* py-hjson, py-nexus-sdk, py-nexusforge, py-puremagic: more style

* py-pyshacl: license update

* py-nexusforge, py-prettytable, py-pyshacl: review remarks

* py-nexusforge: make the variant mean something

Too hasty to commit...
2023-01-27 09:12:31 -08:00
Erik Heeren
0bfd06d0b6 Py ipyparallel (#35178)
* py-ipyparallel: add 8.4.1, which builds with py-hatchling

* py-ipyparallel: copyright and redundant py-setuptools dependency

* py-ipyparallel: py-packaging was dropped after 8.0.0
2023-01-27 08:52:23 -08:00
Jose E. Roman
367bd4d670 New patch release SLEPc 3.18.2 (#35176) 2023-01-27 07:44:19 -07:00
Mosè Giordano
8f359df2d3 libblastrampoline: Add v5.3.0 and v5.4.0 (#35194) 2023-01-27 09:51:18 +01:00
Massimiliano Culpo
cc2ae9f270 Add a maintainers directive (#35083)
fixes #34879

This commit adds a new maintainer directive,
which by default extend the list of maintainers
for a given package.

The directive is backward compatible with the current
practice of having a "maintainers" list declared at
the class level.
2023-01-27 07:51:24 +01:00
Erik Heeren
75f1077b4b py-nptyping, py-typish: add package (#35126)
* py-typish: add package

* py-typish: style fix

* py-nptyping: new package

* py-nptyping, py-typish: review remarks

* py-nptying: style

* py-nptyping: generic url, avoid pypi for now
2023-01-26 10:21:38 -06:00
Erik Heeren
b1e6507060 py-deap: add 1.3.3 (#35175) 2023-01-26 10:19:03 -06:00
Adam J. Stewart
2981b4e5ee py-rasterio: add v1.3.5 (#35167) 2023-01-26 15:41:05 +01:00
Harmen Stoppels
6847d73504 Cleanup of binary text relocation (#34188)
Move the relocation of binary text in its own class

Drop threaded text replacement, since the current bottleneck 
is decompression. It would be better to parallellize over packages,
instead of over files per package.

A small improvement with separate classes for text replacement is that we
now compile the regex in the constructor; previously it was compiled per
binary to be relocated.
2023-01-26 12:18:53 +01:00
Mosè Giordano
eeba92e788 wrf: Fix patching of config file when using GCC for v3.9.1.1 (#35140)
The regex doesn't actually work because dollar signs and parentheses have to be
escaped.  Also, compiling with OpenMPI requires defining the macro
`MPI2SUPPORT`.
2023-01-26 11:59:54 +01:00
Massimiliano Culpo
84917cfa79 Extract functions to read spec files from different format (#35094)
This commit makes explicit the format version of the spec file
we are reading from.

Before there were different functions capable of reading some
part of the spec file at multiple format versions. The decision
was implicit, since checks were based on the structure of the
JSON without ever checking a format version number.

The refactor makes also explicit which spec file format is used
by which database and lockfile format, since the information is
stored in global mappings.

To ensure we don't change the hash of old specs, JSON representations
of specs have been added as data. A unit tests checks that we read
the correct hash in, and that the hash stays the same when we
re-serialize the spec using the most recent format version.

Co-authored-by: Harmen Stoppels <me@harmenstoppels.nl>
2023-01-26 10:40:46 +01:00
Wouter Deconinck
14e327be23 opencascade: add v7.7.0 (#35039) 2023-01-26 10:36:49 +01:00
Harmen Stoppels
c329f7de33 binutils: v2.30, 2.39, 2.40 (#35128)
- Add `binutils +pgo`
- Add dejagnu build dep and fix its deps
- Default to -O3 -g0 when using gcc/clang to make binutils faster and
  smaller
2023-01-26 10:28:26 +01:00
Sebastian Ehlert
f686a90779 Add package for serenity and its scine wrapper (#35072) 2023-01-26 02:00:34 -07:00
Harmen Stoppels
918bb63c3a test/config.py: fix import issues (#35076) 2023-01-26 09:53:44 +01:00
renjithravindrankannath
8d0cbb9812 Setting LIBDIR to lib in rocm-smi-lib across all platform (#34805) 2023-01-26 09:38:35 +01:00
mtaylo12
95a76de7d5 py-poetry-core GIT_DIR fix (#35139) 2023-01-26 09:26:53 +01:00
Richard Berger
0b388ff930 ports-of-call: add v1.4.1, deprecate old versions (#35151) 2023-01-26 08:18:55 +01:00
Filippo Spiga
d25ac66a5d NVIDIA HPC SDK: add v23.1 (#35169) 2023-01-25 22:47:38 -08:00
Seth R. Johnson
682ffd30ac p5-h5py: restrict python version based on import bugs (#35166)
```
  File ".../spack/var/spack/environments/scale-mpi/.spack-env/._view/4yiorsdd4pefrnwgrwlwt3yzo5i235il/lib/python3.10/site-packages/h5py/_hl/base.py", line 19, in <module>
     from collections import (Mapping, MutableMapping, KeysView,
ImportError: cannot import name 'Mapping' from 'collections' (.../spack/var/spack/environments/scale-mpi/.spack-env/._view/4yiorsdd4pefrnwgrwlwt3yzo5i235il/lib/python3.10/collections/__init__.py)
```

Fixed in https://github.com/h5py/h5py/pull/1069 which was first merged
in v2.9.
2023-01-26 07:28:39 +01:00
Matthew Thompson
af3dba8db6 Update gftl, gftl-shared, fargparse, pfunit, yafyaml, pflogger (#35119) 2023-01-26 07:06:05 +01:00
eugeneswalker
08a24b5e03 trilinos@14: conflicts with cxxstd=14 (#35164) 2023-01-25 20:33:44 -08:00
Adam J. Stewart
65fbc5a461 py-sphobjinv: add v2.3.1 (#35044) 2023-01-25 14:09:00 -08:00
Adam J. Stewart
80f3888cc8 py-pytorch-lightning: add +extra variant (#35121)
* py-pytorch-lightning: add +extra variant

* Update dependencies

* py-fsspec: add v2023.1.0
2023-01-25 15:58:26 -06:00
Christopher Christofi
5845750a10 perl-math-symbolic: add 0.612 (#35145) 2023-01-25 13:25:49 -08:00
Michael Kuhn
c529a0fddf qperf: add verbs support (#35147) 2023-01-25 13:20:55 -08:00
Adam J. Stewart
d7265d7ddc py-cligj: add v0.7.2 (#35149) 2023-01-25 13:17:20 -08:00
Adam J. Stewart
df0be87ada py-pycocotools: add v2.0.6 (#35150) 2023-01-25 13:14:21 -08:00
Adam J. Stewart
af2aeb275f py-scikit-learn: add v1.2.1 (#35152) 2023-01-25 13:10:57 -08:00
Richard Berger
4fef0bac20 spiner: add v1.6.0 (#35154) 2023-01-25 13:08:16 -08:00
Loïc Pottier
b32a07bbe1 amqp-cpp: added RabbitMQ C++ API (#35156)
Signed-off-by: Loïc Pottier <pottier1@llnl.gov>
2023-01-25 13:05:32 -08:00
Sebastian Ehlert
8709dbc232 Add Orca version 5.0.3-f.1 (#35157) 2023-01-25 12:18:46 -08:00
Christopher Christofi
54b9e3ce07 py-colorlover: new package with version 0.3.0 (#35144) 2023-01-25 11:36:43 -06:00
Sebastian Ehlert
d35c24a3ed Add packages for scine modules (#34969)
* Add packages for scine modules

- lbfgspp (dependency for scine-utilities)
- scine-core
- scine-utilities and py-scine-utilities (virtual)
- scine-readuct and py-scine-readuct (virtual)
- scine-sparrow and py-scine-sparrow (virtual)
- scine-database and py-scine-database (virtual)
- scine-molassembler and py-scine-molassembler (virtual)
- scine-xtb and py-scine-xtb (virtual)
- py-scine-chemoton
- py-scine-puffin

* Fix line-length for flake8

* Remove virtual dependencies

* Update detection of boost, minor fixes in packages / dependencies

* Correctly declare build-only dependencies, add git versions

* Add sparrow dummy packages, fix dependencies

* Rename latest version from develop to master

* Restore original sparrow package

* Also rename latest version for chemoton and puffin
2023-01-25 11:33:37 -06:00
Matthias Wolf
d4d200952e py-flatten-dict: require poetry to build. (#35122)
* py-flatten-dict: require poetry to build.

The sources seem to contain a bundled, auto-generated `setup.py`.
Building with `pip` insist on using Poetry as mentioned in
`pyproject.toml`, so require it as a build dependency.

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-25 11:33:04 -06:00
Erik Heeren
902a40bf72 py-lazy: add 1.4 and 1.5 (#35124)
* py-lazy: add 1.4 and 1.5

* py-lazy: add url_for_version
2023-01-25 11:24:50 -06:00
Thomas Bouvier
a2d51cd4db Add package py-continuum (#35082)
* Add package `py-continuum`

* `py-continuum`: missing `py-pytest-mock` dependency

* `py-continuum`: add missing python dependency

* [@spackbot] updating style on behalf of thomas-bouvier

* Patch to remove useless `prospector` package

* Link to original PR

Co-authored-by: thomas-bouvier <thomas-bouvier@users.noreply.github.com>
2023-01-25 11:23:35 -06:00
Erik Heeren
f8e433689a py-pyspark: new versions (#35129)
* py-pyspark: new versions

* py-py4j: new versions

* py-py4j: more style

* py-py4j: even more style

* py-spark, py4j: review remarks
2023-01-25 11:22:43 -06:00
Harmen Stoppels
5f8c09fd33 Print file summary on checksum validation failure (#35161)
Currently we print "sha256 checksum failed for [file]. Expected X but
got Y".

This PR extends that message with file size and contents info:

"... but got Y. File size = 123456 bytes. Contents = b'abc...def'"

That way we can immediately see if the file was downloaded only
partially, or if we downloaded a text page instead of a binary, etc.

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-01-25 15:02:41 +00:00
Harmen Stoppels
8eb4807615 libxc: 6.1.0 (#35159)
Currently 6.0.0 fails on develop about incorrect shasum, but I can't
reproduce; maybe the download was temporarily unavailable.
2023-01-25 14:12:59 +01:00
Rocco Meli
047a481e48 Update COSTA package (#35137) 2023-01-25 12:01:46 +01:00
Gilles Gouaillardet
051abfb894 py-scipy: do not build 1.6 and older with python < 3.10.1 (#35120)
py-scipy 1.6 and older come with pre cython-ized files that
use the _PyGen_Send symbol that was removed from python 3.10.0.161,
so do not build these old versions with python 3.10.1 and later
2023-01-24 18:32:21 -08:00
eugeneswalker
0447ba1213 loki%gcc@11: -std=c++14 to avoid issue #32122 (#35148) 2023-01-24 17:42:33 -08:00
Rémi Lacroix
ff3dbe9394 LAMMPS: Add package ml-hdnnp. (#35133)
First added as user-hdnnp in version 20210527.
2023-01-24 17:15:23 -08:00
Thomas Bouvier
90d00f8a59 Add package py-nvidia-dali (#35058)
* Add package `py-nvidia-dali`

* Add linux check

* Add missing deps
2023-01-24 18:26:04 -06:00
Taillefumier Mathieu
fdc6bd3f1c Fix dbcsr checksums (#35134) 2023-01-24 22:33:12 +01:00
Cory Bloor
d17aaf8729 hip: add cuda variant (#33872) 2023-01-24 22:30:58 +01:00
Jen Herting
ef6699b874 New package: srcml (#35097)
* Initial srcml
* [srcml]
  - Fixed dependencies likely will need some more rework
  - Disabling packaging cmake file (for now)
  - Added patch to fix issue with source code library import
* [srcml] updated copyright
* [srcml] requires antlr complied with -fPIC
* [srcml] cleaned up dependencies
* [srcml] flake8
* [srcml] limiting boost versions

Co-authored-by: Benjamin Meyers <bsmits@rit.edu>
Co-authored-by: qwertos <qwertos@users.noreply.github.com>
2023-01-24 13:13:56 -08:00
Adam J. Stewart
f5418ac344 py-planetary-computer: add new package (#35089) 2023-01-24 10:25:29 -08:00
Mikael Simberg
909a5b1d83 Add whip 0.1.0 and use in pika (#35073)
* Add whip 0.1.0
* Make pika depend on whip@0.1.0

Co-authored-by: msimberg <msimberg@users.noreply.github.com>
2023-01-24 10:20:10 -08:00
Emil Briggs
9a0884bfed rmgdft: Update for version 5.0.1 (#35047)
* Updated for RMG version 5.0.1
* Update var/spack/repos/builtin/packages/rmgdft/package.py

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2023-01-24 10:18:05 -08:00
Seth R. Johnson
a9d5db572c ForTrilinos: new version 2.2.0 (#35138) 2023-01-24 09:52:45 -08:00
Harmen Stoppels
16dbbb9b26 libgcrypt: make sure flags go through env (#35135)
Parts of libgcrypt should not be optimized with -O1/2/3, so it's best to
let the build system do that; the build system cannot know the compiler
wrapper would inject optimization flags
2023-01-24 09:47:33 -08:00
John W. Parent
3695200a3c hdf5: remove direct dependency on msmpi on Windows (#35111) 2023-01-24 07:57:40 -08:00
Matthieu Dorier
a1b2ba412b mochi-margo: add v0.12 (#35132) 2023-01-24 16:46:27 +01:00
John W. Parent
c81f1235a9 Windows: conflict with Apple-GL (#35114) 2023-01-24 16:41:30 +01:00
Taillefumier Mathieu
eaa16338de Update dbcsr version (#35131) 2023-01-24 15:38:49 +01:00
Massimiliano Culpo
115b6b2a51 Avoid creating help.sh and test.sh in cwd (#35123)
When running unit-test the test/ci.py module is leaving
garbage (help.sh, test.sh files) in the current working
directory.

This commit changes the current working directory to a
temporary path before those files are created.
2023-01-24 03:42:15 -08:00
kwryankrattiger
cd2d6a6397 ParaView/VTK: Patch xdmf2 for HDF5 1.13 (#33930)
* ParaView/VTK: Patch xdmf2 for HDF5 1.13

* Meson: update meson build system for 0.64

* ParaView: Change HDF5 1.13 patch to 1.13.1/2 patchs

* Mesa: Remove legacy mesa option from meson_args

* Use append to assemble meson args
2023-01-23 19:22:21 -08:00
Erik Schnetter
c5086a5d0e curl: New version 7.87.0 (#35088) 2023-01-23 19:02:31 -08:00
downloadico
b5fc217dc2 actually add samtools 1.16.1 and fix Copyright dates on samtools, bcftools, and htslib (#35118)
* samtools: add version 1.16.1 (for real this time!)
also, fix Copyright date

* bcftools and htslib: fix Copyright date
2023-01-23 17:37:40 -08:00
Richarda Butler
a4b8753456 Update: spack help --spec (#35115)
* Update variant & compiler propagation
* Add the info for non boolean variants
* Add example for multi variants
2023-01-24 00:42:08 +00:00
Jean-Luc Fattebert
f3e7669400 Update qmd-progress package.py (#34841) 2023-01-23 14:20:19 -08:00
HELICS-bot
042d305ed0 helics: Add version 3.4.0 (#35096)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-01-23 13:56:19 -08:00
Rémi Lacroix
aca4be1fff n2p2: Allow building shared libraries (#35080) 2023-01-23 13:46:19 -08:00
Alex Richert
beba33b2d8 Update parallelio from NOAA-EMC fork (#34837) 2023-01-23 22:29:06 +01:00
Wouter Deconinck
0f2e0a01a9 freeimage: fails to compile with c++17, use c++14 (#35067)
* freeimage: fails to compile with c++17, use c++14
  Only `opencascade` when a (non-default) variant depends on `freeimage`, which seems to have gone unmaintained. There are c++17 standard violations [[1]]( https://en.cppreference.com/w/cpp/language/except_spec) in the code, so we can at most expect c++14. Since some compilers default to c++17 (gcc-12) we need to be explicit.
* freeimage: install directly in prefix
* freeimage: fix inverted patch
2023-01-23 12:14:19 -08:00
downloadico
c2d68975bc update Samtools, bcftools, and htslib versions (#35043)
* samtools: add version 1.6.1
* htslib: update version to 1.6
* bcftools: update version to 1.6
2023-01-23 12:13:05 -08:00
Christopher Christofi
b9e196e40c perl-test-leaktrace: add 0.17 (#35063) 2023-01-23 10:58:08 -08:00
Jen Herting
a7fbe60660 [antlr] added pic variant (#35091)
* [antlr] modernize config arg processing
* [antlr] added pic variant
* [antlr] flake8
2023-01-23 10:52:23 -08:00
Mark W. Krentel
64b373e156 hpcviewer: add version 2023.01 (#35036) 2023-01-23 10:26:54 -08:00
Harmen Stoppels
13739e0783 environments: don't replace relative view path with absolute path on concretize/install (#34958)
* environments: don't rewrite relative view path, expand path on cli ahead of time

Currently if you have a spack.yaml that specifies a view by relative
path, Spack expands it to an absolute path on `spack -e . install` and
persists that to disk.

This is rather annoying when you have a `spack.yaml` file inside a git
repo, cause you want to use relative paths to make it relocatable, but
you constantly have to undo the changes made to spack.yaml by Spack.

So, as an alternative:

1. Always stick to paths as they are provided in spack.yaml, never
   replace them with a canonicalized version
2. Turn relative paths on the command line into absolute paths before
   storing to spack.yaml. This way you can do `spack env create --dir
   ./env --with-view ./view` and both `./env` and `./view` are resolved
   to the current working dir, as expected (not `./env/view`). This
   corresponds to the old behavior of `spack env create`.

* create --with-view always takes a value
2023-01-23 10:03:54 -08:00
Massimiliano Culpo
b8684008d0 apptainer: add v1.1.5 (#35075) 2023-01-23 09:53:10 -08:00
eugeneswalker
a82fe2010f e4s: add cusz +cuda (#35004) 2023-01-23 09:15:39 -08:00
Thomas Bouvier
3bd0d9a3d2 py-pytest-mock: add v3.10.0 (#35074) 2023-01-23 09:33:11 -06:00
Thomas Bouvier
fbc24d7bab py-datasets: add v2.8.0 (#35069)
* `py-datasets`: add v2.8.0

* Add missing +http variant + fix wrong dependency versions
2023-01-22 17:08:40 -06:00
eugeneswalker
4b91a40bdf axom: need to specify +rocm as part of dependency constraints (#35066)
* axom: need to specify +cuda, +rocm as part of dependency constraints

* remove lines 120, 128

* fix line length, spack style issue
2023-01-22 11:23:39 -08:00
Thomas Bouvier
b7a68938c2 arrow: don't use when as a keyword argument to filter_file() (#35065)
Co-authored-by: thomas-bouvier <thomas-bouvier@users.noreply.github.com>
2023-01-22 09:05:37 +01:00
Alex Richert
ce8727cece Add --exclude option to 'spack external find' (#35013)
* Add --exclude option to 'spack external find' to ignore user-specified external packages
* Update bash completion arg order for external find

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2023-01-21 15:43:20 -08:00
Thomas Bouvier
da1165ffa3 py-wandb: add v0.13.9 (#35059)
* `py-wandb`: add v0.13.9

* `py-wandb`: mark v0.10.1 as deprecated

* Fixes suggested by @adamjstewart

* No platform-specific requirements
2023-01-21 17:21:41 -06:00
Dylan Simon
f593309b4e py-numba: fix py-numpy version dependencies (#35054)
as per #34362 comments
2023-01-21 07:17:53 -08:00
Harmen Stoppels
a15448eae8 gmake: bootstrap without make (#35050) 2023-01-21 02:27:56 -08:00
Matthew Thompson
cc01e33d53 fms: add 32bit variant, add protections (#35010)
The GEOS Earth System Model currently requires the 32-bit variant of FMS. This PR adds that variant.
2023-01-21 10:27:13 +01:00
markus-ferrell
c3e3c392a6 Windows/testing: enable tests for "spack find" (#33588) 2023-01-20 17:54:06 -08:00
John W. Parent
a424f7f173 Identify Windows support with tags (#35027)
All packages with explicit Windows support can be found with
`spack list --tags=windows`.

This also removes the documentation which explicitly lists
supported packages on Windows (which is currently out of date and
is now unnecessary with the added tags).

Note that if a package does not appear in this list, it *may*
still build on Windows, but it likely means that no explicit
attempt has been made to support it.
2023-01-20 13:32:28 -08:00
QuellynSnead
d192dab5a1 netlib-lapack: Fix Fortran detection for XL (#35048)
* PR 30738 introduced changes in how we access compiler info. Looks like the XL case
got missed.
2023-01-20 13:13:39 -08:00
Harmen Stoppels
aa91358cc2 libbsd: bump (#35029) 2023-01-20 11:48:57 -08:00
Thomas Bouvier
bdc0b73b7a Add package py-imagehash (#35015)
* Add package `py-imagehash`

* Use virtual package for `py-pillow`
2023-01-20 10:28:04 -08:00
eugeneswalker
62f83dfb6d flex%oneapi@2023.0.0: -Wno-error=implicit-function-declaration (#34900) 2023-01-20 10:18:13 -08:00
Zack Galbreath
91fd6d5a84 Allocate more memory for generate jobs in all stacks (#35040)
* Allocate more memory for generate jobs in all stacks
* Add a 60 minute timeout on generate jobs
2023-01-20 11:06:49 -07:00
Harmen Stoppels
a14b5de43c ca-certificates-mozilla: 2023-01-10 (#35018) 2023-01-20 09:52:47 -08:00
Harmen Stoppels
5fde84d0cb libiconv: bump (#35035) 2023-01-20 08:37:48 -08:00
Harmen Stoppels
434a3d02ac ncurses: bump (#35033) 2023-01-20 08:07:43 -08:00
Harmen Stoppels
cb213ae9af sqlite: bump (#35032) 2023-01-20 06:52:40 -08:00
eugeneswalker
3e2721ac7f hypre: add option for sycl variant (#34987)
* hypre: add option for sycl variant

* hypre +sycl conflicts with @:2.23

* hypre +sycl: raise InstallError for unsupported compiler
2023-01-20 05:43:05 -08:00
Marco De La Pierre
f2f3d03d00 Add nf-core-tools, and three remainder deps (#34466)
* nextflow recipe: added latest stable version

* tower-cli recipe: added latest release

* recipes tower-agent and tower-cli renamed to nf-tower-agent and nf-tower-cli

* recipes nf-tower-agent and nf-tower-cli: small fix

* nf-core-tools recipe: added most py- dependencies

* nf-core-tools: recipe without galaxy-tool-util (for testing)

* fixed typos in py-yacman recipe

* fixed typos in py-pytest-workflow recipe

* fixed typo in nf-core-tools recipe

* fixed typos in py-yacman recipe

* fixes in recipes for py-questionary and py-url-normalize

* fixes to py-yacman recipe

* style fixes to py- packages that are dependencies to nf-core-tools

* fix in py-requests-cache recipe

* added missing dep in py-requests-cache recipe

* nf-core-tools deps: removed redundant python dep for py packages oyaml and piper

* nf-core-tools recipe: final, incl dep on py-galaxy-tool-util

* nf-core-tools: new version with extra dependency

* added py-galaxy-util, draft: added some required dep versions, still have to add 40+ deps

* nextflow and nf-core-tools packages: added my self as maintainer

* style fixes

* style fix for nf-core-tools recipe

* added license to py-logmuse recipe

* audit fixes

* style fix after audit fix

* py-galaxy-tool-util: added deps 1st bunch

* audit/style fixes, including adding missing dep package

* more audit/style fixes

* more more audit/style fixes

* moooore audit fixes

* py-galaxy-tool-util: dependencies 2nd chunk

* silly audit fix

* py-galaxy-util deps: 3rd bunch - first 20 done

* fixes

* style fix

* py-galaxy-tool-util: 4th bunch of deps

* stashing dep recipe backbones for py-galaxy-tool-util

* nf-core-tools: using pre-built wheel for dependency py-galaxy-tool-util

* nf-core-tools: adding also py-galaxy-util, as wheel

* fix

* nextflow: added latest bugfix version

* Update var/spack/repos/builtin/packages/nf-core-tools/package.py

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

* Update var/spack/repos/builtin/packages/nf-core-tools/package.py

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

* nf-core-tools pr: 1st bunch of review edits

* nf-core-tools: 2nd bunch of review edits

* adding back tower-agent and tower-cli as deprecated

* nf-core-tools: 3rd bunch of review edits

* small style fix

* prepping py-galaxy-tool-util for further work

* nf-core-tools: last bunch of deps, except for galaxy-tool-util and pulsar

* audit fixes

* updates to py-galaxy-tool-util and its deps, still 2 to work on

* one style fix

* updated recipe for py-galaxy-util

* updated recipe for py-pulsar-galaxy-lib

* typo fix

* shasum fixes

* updated py-sqlalchemy from develop

* added newest versions (today) for nf-tower-agent and nf-tower-cli

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

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

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

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

* adding 2nd bunch of nf-core deps from update/nextflow-tools

* adding 3rd bunch of nf-core deps from update/nextflow-tools

* 4th chunk of nf-core deps from update/nextflow-tools

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* py-gxformat2: added comment

* py-lagom: now using github tarballs

* fix for py-lagom

* adding missing deps to py-fastapi-utils

* another fix to py-lagom

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

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

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

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

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

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

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

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

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

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

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

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

* Update var/spack/repos/builtin/packages/py-social-auth-core/package.py

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

* fixes from PR review

* adding missing deps, from PR review

* py-galaxy2cwl from github tarball, as per PR review

* fix to py-tuswsgi, as per PR review

* nf-tools: edits from PR review

* adding 3x more galaxy deps

* fix

* fixing circular dep of py-poetry-plugin-export with py-poetry

* added newest nf-core-tools version

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

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

* fix in py-poetry-plugin-export

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-20 04:05:26 -08:00
Harmen Stoppels
2a55a9ef80 file: zstd support (#35041) 2023-01-20 09:54:19 +01:00
Massimiliano Culpo
8f8394a829 Add type hints to DependencySpec (#35021)
* DependencySpec: add type hints

* DependencySpec: make deptypes a keyword only argument
2023-01-20 09:53:57 +01:00
Harmen Stoppels
fb7c8d1768 libidn2: bump (#35034) 2023-01-20 00:28:45 -08:00
Harmen Stoppels
6a6181f07a libffi: bump (#35030) 2023-01-19 22:58:39 -08:00
Tal Ben-Nun
c6b98cea07 Fix string append in OpenCV package (#35008)
* Fix string append in OpenCV package

* style
2023-01-19 18:36:09 -08:00
Annop Wongwathanarat
a1b0213fcb qmcpack: enable linking with armpl-gcc and acfl for BLAS and FFT (#34496) 2023-01-19 18:09:12 -08:00
eugeneswalker
6713f7feda e4s: ecp-data-vis-sdk +rocm: remove redundant amdgpu_target specification (#35022) 2023-01-20 00:18:41 +00:00
Harmen Stoppels
cdd2010a76 libunistring: bump to 1.1 (#35031) 2023-01-19 14:38:03 -08:00
Adam J. Stewart
a15b77bdf6 py-pandas: add v1.5.3 (#35025) 2023-01-19 13:45:45 -08:00
David Zmick
b40e96b006 nmap: don't depend on py2 (ndiff and zenmap); add 7.93 (#34851)
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2023-01-19 19:50:53 +01:00
Harmen Stoppels
c97f5ecfee file: bump (#35028) 2023-01-19 11:29:15 -07:00
Matthew Thompson
d35a91f776 pfunit: fix max_array_rank variant (#34952)f 2023-01-19 18:49:42 +01:00
Brian Van Essen
939b749726 HDF5: supports external detection (#34940) 2023-01-19 08:44:00 -08:00
Harmen Stoppels
80db7a8a52 buildcache create: make "file exists" less verbose (#35019)
Currently we print 3 lines of "file exist" warning per tarball, this is
a bit excessive. Instead, it can be a simple single-line tty.warn
message.
2023-01-19 15:35:24 +00:00
Todd Gamblin
d0c1b7a14e python: remove CPATH from setup_run_environment (#34727)
Currently, the `python` package tries to set `CPATH` in `setup_run_environment()`.

We no longer set `CPATH` and other destructive environment variables (like
`LD_LIBRARY_PATH`) in modules, so we shouldn't do something special for Python.

Also, the way `python` sets `CPATH` causes issues. Because it does a header search to
find directories containing headers, if you bootstrap `mypy` or other style tools on a
fresh Ubuntu image with *no* python devel headers installed, you'll get an error like
this when trying to load the thing you just installed:

```console
[root@980de539843d /]# spack -b load py-mypy
==> Error: Unable to locate python headers in any of these locations:
/usr/include/python3.6m
/usr/include/3.6
/usr/Headers
```

The headers and includes aren't needed to get `mypy` in the path or for `mypy` to work,
so we're failing unnecessarily here.

- [x] remove `setup_run_environment()` from `python/package.py`
2023-01-19 07:08:39 -08:00
Stephen Sachs
45ea7c19e5 [py-numpy, py-scipy] Enable MKL & ARMpl (#34979) 2023-01-19 08:01:31 -07:00
Harmen Stoppels
a357a39963 depfile: --make-target-prefix -> --make-prefix (#35009)
Since SPACK_PACKAGE_IDS is now also "namespaced" with <prefix>, it makes
more sense to call the flag `--make-prefix` and alias the old flag
`--make-target-prefix` to it.
2023-01-19 14:58:34 +01:00
Harmen Stoppels
a7613407df git: bump. CVE-2022-41903 / CVE-2022-23521 (#35014)
Co-Authored-By: Alec Scott <scott112@llnl.gov>

Co-authored-by: Alec Scott <scott112@llnl.gov>
2023-01-19 14:57:28 +01:00
Mark W. Krentel
0cdb7ccdd3 hpctoolkit: update cray support (#34995)
1. add variant cray-static, older crays build hpcprof-mpi static,
   newer ones build dynamic.

2. move URL patches from github to gitlab.

3. add workaround for a bug where a file is mistakenly overwritten.

4. add conflict for hpcprof-mpi at 2022.10.01.

* [@spackbot] updating style on behalf of mwkrentel

Co-authored-by: mwkrentel <mwkrentel@users.noreply.github.com>
2023-01-18 23:23:09 -08:00
eugeneswalker
fed4eb2526 e4s ci: clean up unnecessary constraints (#35006) 2023-01-18 21:23:15 -08:00
eugeneswalker
1bf1c7de76 e4s: add sz3 (#35007) 2023-01-18 22:21:30 -06:00
eugeneswalker
ae5408de9a e4s ci: add veloc (#35003) 2023-01-18 16:48:23 -08:00
Adam J. Stewart
d0f5a62a7d VTK: fix 9.1–9.2 builds (#34589)
* VTK: add missing dependencies

* Deal with missing verdict dep

* http -> https

* Add patch to fix failing cmake

* Update netcdf-cxx usage in build recipe

* netcdf-cxx4 doesn't work
2023-01-18 17:29:29 -06:00
Greg Becker
08101639cd Bugfix: External Python Extensions (#34202)
Normally when using external packages in concretization, Spack ignores
all dependencies of the external. #33777 updated this logic to attach
a Python Spec to external Python extensions (most py-* packages), but
as implemented there were a couple issues:

* this did not account for concretization groups and could generate
  multiple different python specs for a single DAG
* in some cases this created a fake Python spec with insufficient
  details to be usable (concretization/installation of the
  extension would fail)

This PR addresses both of these issues: 

* For environment specs that are concretized together, external python
  extensions in those specs will all be assigned the same Python spec
* If Spack needs to "invent" a Python spec, then it will have all the
  needed details (e.g. compiler/architecture)
2023-01-18 15:17:28 -08:00
Harmen Stoppels
fce95e2efb license year bump (#34921)
* license bump year
* fix black issues of modified files
* mypy
* fix 2021 -> 2023
2023-01-18 14:30:17 -08:00
eugeneswalker
e391edf2f5 hdf5@1.8.21 %oneapi@2023.0.0: -Wno-error=int-conversion (#34983) 2023-01-18 12:23:00 -08:00
Todd Gamblin
c9e85ada15 npm: Add latest version, update build (#34947)
* npm: Add latest version, update build

The `npm` package had gotten a bit long in the tooth and only suported the last version
for which running `configure` / `make` / `make install` actually worked.

- [x] Update the package to support npm@9, in which `npm install .` works properly and
  installation is easier.

- [x] Update the package so that `npm@6:8` also install successfullly. The incantation
  that is *supposed* to work on these versions is `node bin/npm-cli.js install $(node
  bin/npm-cli.js pack . | tail -1)`, but depending on the version one of `npm install`
  or `npm pack` will fail when run straight from the install directory. So now we just
  manually copies things over.

This seems to make the `npm` install much more reliable for all of `npm@6:9` (at least
for me).

udpates the `npm` build to support versions 6-9 and fixes the install for all of
them on macos.

* update for review
2023-01-18 14:18:33 -06:00
eugeneswalker
8eb803ab4c e4s: add py-h5py ~mpi variant (#34998) 2023-01-18 19:28:47 +00:00
Annop Wongwathanarat
ee3529fc10 lammps: enable linking with armpl-gcc FFT (#34980) 2023-01-18 11:25:41 -08:00
Harmen Stoppels
f050b1cf78 depfile: variable with all identifiers (#34678)
With the new variable [prefix/]SPACK_PACKAGE_IDS you can conveniently execute
things after each successful install.

For example push just-built packages to a buildcache

```
SPACK ?= spack
export SPACK_COLOR = always
MAKEFLAGS += -Orecurse
MY_BUILDCACHE := $(CURDIR)/cache

.PHONY: all clean

all: push

ifeq (,$(filter clean,$(MAKECMDGOALS)))
include env.mk
endif

# the relevant part: push has *all* example/push/<pkg identifier> as prereqs
push: $(addprefix example/push/,$(example/SPACK_PACKAGE_IDS))
	$(SPACK) -e . buildcache update-index --directory $(MY_BUILDCACHE)
	$(info Pushed everything, yay!)

# and each example/push/<pkg identifier> has the install target as prereq,
# and the body can use target local $(HASH) and $(SPEC) variables to do
# things, such as pushing to a build cache
example/push/%: example/install/%
	@mkdir -p $(dir $@)
	$(SPACK) -e . buildcache create --allow-root --only=package --unsigned --directory $(MY_BUILDCACHE) /$(HASH) # push $(SPEC)
	@touch $@

spack.lock: spack.yaml
	$(SPACK) -e . concretize -f

env.mk: spack.lock
	$(SPACK) -e . env depfile -o $@ --make-target-prefix example

clean:
	rm -rf spack.lock env.mk example/
``
2023-01-18 19:19:46 +01:00
Stephen Sachs
6cf32110b9 [armpl-gcc] Make pkg-config files available (#34978)
* [armpl-gcc] Make pkg-config files available
  ARMpl pkgconfig files are located in a non-default location and do not have the
  .pc extension. Changing those both helps pkgconfig pick them up correctly, e.g.
  in the meson build of `py-scipy`.
* Address @annop-w comments
* symlink instead of cp.

Co-authored-by: Stephen Sachs <stesachs@amazon.com>
2023-01-18 07:57:55 -08:00
Annop Wongwathanarat
d841542b9c acfl: update hash for 22.1 on RHEL-7 (#34997) 2023-01-18 15:55:29 +01:00
Harmen Stoppels
3bc943ae51 Remove verbose warning message from _try_install_from_binary_cache (#34994)
In the past we checked remote binary mirrors for existence of a spec
before attempting to download it. That changed to only checking local
copies of index.jsons (if available) to prioritize certain mirrors where
we expect to find a tarball. That was faster for CI since fetching
index.json and loading it just to order mirrors takes more time than
just attempting to fetch tarballs -- and also if we have a direct hit
there's no point to look at other mirrors.

Long story short: the info message only makes sense in the old version
of Spack, so it's better to remove it.
2023-01-18 08:25:48 -06:00
Dom Heinzeller
548aa21b18 Bug fix for duplicate rpath errors on macOS when creating build caches (#34375) 2023-01-18 13:32:16 +01:00
Adam J. Stewart
c9775df0a4 py-pytorch-lightning: add v1.9.0 (#34996) 2023-01-18 13:06:19 +01:00
Nate deVelder
6f11efe576 Add tiny profile cmake support (#34993) 2023-01-18 13:01:23 +01:00
Harmen Stoppels
fef0f47d65 spack mirror create takes local paths only (#34992)
spack mirror create cannot work with urls, so it shouldn't promote local
paths to file urls.
2023-01-18 11:45:58 +01:00
Adam J. Stewart
20575ca96a Subclass PythonExtension instead of custom test method (#34985) 2023-01-17 19:47:16 -08:00
Glenn Johnson
13121b4c28 py-itk: add version 5.3.0 (#34968)
* py-itk: add version 5.3.0

* Remove wheels for unsupported python versions

* Fill out the version specs

* Drop th 'm' from the cp37 version strings
2023-01-17 17:42:17 -07:00
eugeneswalker
ef8214682c py-h5py %oneapi@2023.0.0: -Wno-error=incompatible-function-pointer-types,pointer-types-discards-qualifiers (#34984) 2023-01-17 15:38:20 -08:00
Todd Gamblin
aca7dd6c2b py-sphinx-immaterial: new package (#34948)
* py-sphinx-immaterial: new package

This is a new-ish theme for Sphinx that's based on MkDocs's `immaterial` theme. More on
the theme here: https://jbms.github.io/sphinx-immaterial/, but it seems to be very clear
and readable.  We *might* consider switching to it for Spack's docs.

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

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

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

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

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

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

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

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

* add note about node.js requirements

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-17 16:49:38 -06:00
eugeneswalker
c6d715c188 rempi: patch rempi_message_manager.h: include string (#34982) 2023-01-17 13:33:10 -08:00
Massimiliano Culpo
b148a43f08 CDashReporter: remove unused argument (#34869)
* CDashReporter: remove unused argument
* Removed extract_ctest_test_data
2023-01-17 11:09:38 -08:00
Massimiliano Culpo
74901a3d0d Forward lookup of "test_log_file" and "test_failures" (#34882)
* Forward lookup of "test_log_file" and "test_failures"
  refers #34531
  closes #34487
  fixes #34440
* Add unit test
* py-libensemble: fix tests
* Support stand-alone tests with cached files as install-time tests

Co-authored-by: Tamara Dahlgren <dahlgren1@llnl.gov>
2023-01-17 10:59:48 -08:00
Annop Wongwathanarat
10d5f14c85 cp2k: enable linking with armpl-gcc for BLAS and FFT (#34981) 2023-01-17 09:34:43 -08:00
Harmen Stoppels
c0389ab3d0 python: 3.11.1, use -flto=thin when clang (#34951) 2023-01-17 17:26:38 +01:00
Harmen Stoppels
2fdd72094a Bump gnupg & libksba, (CVE) (#34976)
* gnupg: 2.4.0

* libksba: 1.6.3 (CVE-2022-47629)
2023-01-17 14:27:12 +01:00
roottreej
7659912dc4 Reduce verbosity in mirrors.yaml (#34210)
Ensure `spack mirror add <name> <url/path>` without further arguments translates to `<name>: <url>` key value pairs in mirrors.yaml. If --s3-* flags are provided, only store the provided ones. 

Co-authored-by: Harmen Stoppels <me@harmenstoppels.nl>
2023-01-17 13:19:13 +00:00
Loïc Pottier
ff4cccbf6c faiss: fixed error when importing faiss python package (#34672)
This is only a work-around for the actual problem that Python is used to install libraries instead of CMake, so we end up with BUILD_RPATH not INSTALL_RPATHs.

Signed-off-by: Loïc Pottier <pottier1@llnl.gov>
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2023-01-17 13:43:35 +01:00
Harmen Stoppels
5074e72be8 bubblewrap: 0.7.0 (#34975) 2023-01-17 02:47:24 -08:00
Christopher Christofi
3d7674225f perl-file-temp: add 0.2311 (#34866) 2023-01-17 01:47:28 -08:00
Glenn Johnson
873871bc62 libcroco: Get the doc variant working (#34735) 2023-01-17 10:43:12 +01:00
MatthewLieber
35d0dc8bb5 mvapich: add new package in preparation for v3.0 (#34276)
* Add new file for MVAPICH 3.0a release

Creating this as a new package since it requires some new configuration
options and because we are moving to the name "MVAPICH" and droping the
2 (following a similar move by MPICH).

Co-authored-by: Nat Shineman <shineman.5@osu.edu>
Co-authored-by: Matthew Lieber <lieber.31@osu.edu>
2023-01-17 10:42:17 +01:00
Ashwin Kumar
331e3cd4e1 flexiblas: add versions up to v3.3.0 (#34874) 2023-01-17 10:36:27 +01:00
Marie Houillon
100134a2b1 New version for openCARP packages, v12.0 (#34710)
Co-authored-by: openCARP consortium <info@opencarp.org>
2023-01-17 10:31:15 +01:00
Axel Huebl
39ffef8363 Doc: config.yaml mention $env (#34905)
Add one more note on the $env variable in `config.yaml`.
2023-01-17 10:06:00 +01:00
dependabot[bot]
f0672bbaf8 build(deps): bump actions/checkout from 3.2.0 to 3.3.0 (#34829)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](755da8c3cf...ac59398561)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-17 10:02:31 +01:00
Cameron Smith
4fa0c1d11c mfem: support pumi w/zoltan and parmetis (#34864) 2023-01-17 09:47:59 +01:00
Dom Heinzeller
9e845635ce crtm: overhaul package, add crtm-fix (#34715)
Update crtm from JCSDA-EMC spack fork, add crtm-fix
2023-01-17 09:47:14 +01:00
dependabot[bot]
184a75ec54 build(deps): bump docker/build-push-action from 3.2.0 to 3.3.0 (#34972)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](c56af95754...37abcedcc1)

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

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-17 09:44:00 +01:00
Dom Heinzeller
dbd425f0f8 ncview: bypass compiler check against netcdf-c compiler (#34580) 2023-01-17 09:30:52 +01:00
iarspider
3161784e9a OpenCV: checksum for 4.5.5, make contrib optional (#34313)
* OpenCV: checksum for 4.5.5, make contrib optional

* [@spackbot] updating style on behalf of iarspider

* Add conflicts for contrib modules

* Fix typo

* Implement changes from review

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

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

Co-authored-by: iarspider <iarspider@users.noreply.github.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-17 00:22:00 -08:00
Glenn Johnson
a72a3fb2e0 gcc: add patch for noexcept declarations (#34964)
There are some declarations that need to be declared noexcept for
valarray. This affects gcc 9.5:11.2.
2023-01-17 08:58:45 +01:00
Marco De La Pierre
e253184886 Re adding 4th chunk of nf-tools deps (#34974)
* Revert "Revert "4th chunk of nf-core deps from update/nextflow-tools (#34564)" (#34960)"

This reverts commit 891a63cae6.

* fix to py-python-multipart, as per PR review
2023-01-16 23:12:00 -08:00
Glenn Johnson
d276a5f8e4 py-macs2: add version 2.2.7.1 and support python@3.10: (#34970)
* py-macs2: add version 2.2.7.1 and support python@3.10:

The tarball from PyPi includes the Cythonized C files. The tarball from
github does not. Remove the Cythonized C files from the source so that
they are rebuilt with the Spack Python/Cython combination. This is
necessary for python-3.10 but make sense for other combinations as well.

* Edits based on review

- set python version constraint on version 2.2.4
- removed all python-2 versions and related constraints.
2023-01-17 00:00:41 -06:00
Glenn Johnson
3ed219578b py-xxhash: fix xxhash dependency (#34971)
* py-xxhash: fix xxhash dependency

The dependency should be xxhash@0.8.0:.

* Add version 3.2.0
2023-01-16 23:58:10 -06:00
Loïc Pottier
0040236cc6 rabbitmq-c: added RabbitMQ C interface (#34892)
Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2023-01-16 19:02:42 -08:00
Glenn Johnson
0629c8e5fa itk: add version 5.3.0 (#34967)
* Add depends_on("mpi") to fix missing <mpi.h>
Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2023-01-17 03:52:10 +01:00
Glenn Johnson
6f19eb5e67 hisat2: add version 2.2.1 and sra variant (#34966)
- add python dependency
- add perl dependency
- set python and perl interpreters in scripts
2023-01-17 03:31:00 +01:00
Glenn Johnson
b7e416046f sra-tools: add version 3.0.3 and fix build (#34965) 2023-01-17 03:29:52 +01:00
Glenn Johnson
b2cc36109f stringtie: add version 2.2.1 and fix build (#34973)
- stringtie uses internal samtools so remove dependency on samtools
- add dependency for zlib
- use make release target to get correct flags
2023-01-17 02:55:06 +01:00
Sergey Kosukhin
1262dcfb9f intel-oneapi-mpi: fix setup_dependent_build_environment (#34956) 2023-01-16 23:11:43 +01:00
Benjamin Meyers
c3dc7a8349 py-fastfold add py-numpy upper bound (#34962) 2023-01-16 14:07:36 -08:00
iarspider
84d2c8a693 Add checksum for hwloc 2.9.0 (#34919) 2023-01-16 13:12:38 -08:00
Sebastian Ehlert
37b1bc9c26 Add package file for xtb and py-xtb (#34857)
* Add package file for xtb and py-xtb

* Retain maintainers from PythonPackage

* Update package files

- use extends("python") instead of tampering with PYTHONPATH
- use PyPI for downloading sdist of py-xtb
- add simple-dftd3 0.7.0
- add dftd4 3.5.0
- remove --wrap-mode=nodownload from toml-f

* Remove logic for download URL
2023-01-16 13:07:21 -08:00
Harmen Stoppels
3489cc0a9b Refer to mirrors by name, path, or url (#34891)
With this change we get the invariant that `mirror.fetch_url` and
`mirror.push_url` return valid URLs, even when the backing config
file is actually using (relative) paths with potentially `$spack` and
`$env` like variables.

Secondly it avoids expanding mirror path / URLs too early,
so if I say `spack mirror add name ./path`, it stays `./path` in my
config. When it's retrieved through MirrorCollection() we
exand it to say `file://<env dir>/path` if `./path` was set in an
environment scope.

Thirdly, the interface is simplified for the relevant buildcache
commands, so it's more like `git push`:

```
spack buildcache create [mirror] [specs...]
```

`mirror` is either a mirror name, a path, or a URL.

Resolving the relevant mirror goes as follows:
    
- If it contains either / or \ it is used as an anonymous mirror with
   path or url.
- Otherwise, it's interpreted as a named mirror, which must exist.

This helps to guard against typos, e.g. typing `my-mirror` when there
is no such named mirror now errors with:

```
$ spack -e . buildcache create my-mirror
==> Error: no mirror named "my-mirror". Did you mean ./my-mirror?
```

instead of creating a directory in the current working directory. I
think this is reasonable, as the alternative (requiring that a local dir
exists) feels a bit pendantic in the general case -- spack is happy to
create the build cache dir when needed, saving a `mkdir`.

The old (now deprecated) format will still be available in Spack 0.20,
but is scheduled to be removed in 0.21:

```
spack buildcache create (--directory | --mirror-url | --mirror-name) [specs...]
```

This PR also touches `tmp_scope` in tests, because it didn't really
work for me, since spack fixes the possible --scope values once and
for all across tests, so tests failed when run out of order.
2023-01-16 10:14:41 -08:00
Auriane R
9a25e21da8 Add target propagation for pika package (#34924) 2023-01-16 17:57:50 +01:00
Alec Scott
d156e2ee91 Add py-python-lsp-server v1.7.0 (#34946) 2023-01-16 10:54:19 -06:00
Harmen Stoppels
891a63cae6 Revert "4th chunk of nf-core deps from update/nextflow-tools (#34564)" (#34960)
This reverts commit 4e63d92bc9.
2023-01-16 17:00:33 +01:00
eugeneswalker
886ea7c490 e4s: add py-h5py (#34914) 2023-01-16 15:52:24 +00:00
Glenn Johnson
fcf9c639ee Make docbook-xml work across all entity versions (#34733)
Packages that use docbook-xml may specify a specific entity version.
When this is specified as a version constraint in the package recipe it
will cause problems when using `unify = True` in a Spack environment, as
there could be multiple versions of docbook-xml in the spec. In
practice, any entity version should work with any other version and
everything should work with the latest version. This PR maps all Spack
docbook-xml entity versions to the docbook-xml version in the spec.
Ideally, the version in the spec would be the latest version. With this
PR, even if a package specifies an older entity version, it will map
to the entity version (latest) in the spec. This means that there can be one
docbook-xml version in a Spack environment spec and packages requesting
older entity versions will still work.

To help facilitate this, docbook-xml version constraints for packages
that have them have been removed. Those packages are dbus and gtk-doc.
2023-01-16 16:03:03 +01:00
Marco De La Pierre
4e63d92bc9 4th chunk of nf-core deps from update/nextflow-tools (#34564) 2023-01-16 08:01:24 -07:00
Gilles Gouaillardet
17a67b9a56 fix libtool filter for Fujitsu compilers (#34916)
Since legit regular expressions are matched, do not pass string=True
to the filter

Refs #34897
2023-01-16 15:56:13 +01:00
Wouter Deconinck
904eefc930 harfbuzz: new version 5.3.1, 6.0.0 (fixes aarch64) (#34908)
A few new versions of harbuzz, but just jumping to the last non-6 version as preferred.

No build system changes:
- within 5 series: https://github.com/harfbuzz/harfbuzz/compare/5.1.0...5.3.1
- from 5 to 6: https://github.com/harfbuzz/harfbuzz/compare/5.3.1...6.0.0

The 5 series fixes a build issue for aarch64, https://github.com/harfbuzz/harfbuzz/issues/3768.
2023-01-16 15:55:03 +01:00
Jack Morrison
add8022490 Fix incorrect configuration file name in docs (#34925) 2023-01-16 14:52:08 +01:00
Glenn Johnson
645faad379 cp2k: add v2022.2, update CUDA settings (#34757) 2023-01-16 14:13:40 +01:00
Adam J. Stewart
d0866e4d02 Qt: patch additional config file (#34682) 2023-01-16 07:42:01 -05:00
Dan Bonachea
1095958cac GASNet 2022.9.2 package update (#34942)
This allows client packages like UPC++ to display more precise version
information when their GASNet dependency was fetched from git.
2023-01-16 12:48:22 +01:00
Alec Scott
911e9edf07 Add Go v1.19.5, v1.18.10, and remove deprecated versions (#34594) 2023-01-16 12:46:20 +01:00
AMD Toolchain Support
b9048dbee9 AMD Optimized CPU Libraries: add v4.0 (#34681)
What's in AOCL 4.0:
1. amdblis
        LPGEMM variants with post-ops support
        AMD "Zen4" support for BLIS

2. amdlibflame
        Upgrade to LAPACK 3.10.1 specification
        Improvements in a few more variants of SVD and Eigen Value routines
        Multithread support enabled for selected APIs

3. amdfftw
        AVX-512 enablement of DFT kernels
        AVX-512 optimization of copy and transpose routines

5. amdlibm
        Black & Scholes support (logf, expf, erff, both scalar and vector)
        AVX-512 variants of vector functions

6. aocl-sparse
        New Iterative Solver APIs
        AVX-512 support for SPMV API

7. amdscalapack
        Upgrade to Netlib ScaLAPACK 2.2.0

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-01-16 12:05:31 +01:00
Cory Bloor
55f71e41d5 rocsolver: expand version compatibility with fmt (#34941) 2023-01-16 11:14:13 +01:00
Alec Scott
07ee8e99ca restic: add v0.15.0 (#34945) 2023-01-16 11:03:07 +01:00
Alec Scott
307a8f8565 rclone: add v1.61.1 and deprecate old versions due to CVE-2020-28924 (#34944) 2023-01-16 10:59:04 +01:00
Alec Scott
1ca7da4831 Add v0.109.0 and deprecate versions < v0.79.1 due to a CVE (#34943) 2023-01-16 10:57:55 +01:00
eugeneswalker
b9a16a599a e4s ci: py-libensemble: activate variants (#34915) 2023-01-16 10:57:28 +01:00
Jonathan R. Madsen
590adf57d2 omnitrace: add new versions (#34955)
- v1.5.0
- v1.6.0
- v1.7.0
- v1.7.1
- v1.7.2
- v1.7.3
- v1.7.4
2023-01-16 10:47:10 +01:00
dependabot[bot]
d45c228401 build(deps): bump actions/setup-python from 4.4.0 to 4.5.0 (#34939)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](5ccb29d877...d27e3f3d7c)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-16 10:33:12 +01:00
Adam J. Stewart
d0cb5efa3b py-segmentation-models-pytorch: add v0.3.2 (#34853) 2023-01-16 10:10:40 +01:00
Adam J. Stewart
5f4b736006 Drop Python 3.6 again (#34442) 2023-01-16 10:09:40 +01:00
Auriane R
c7d1746064 Fix version number for fmt dependency of pika package (#34922) 2023-01-16 01:07:08 -08:00
SXS Bot
a1889440d7 spectre: add v2023.01.13 (#34929)
Co-authored-by: sxs-bot <sxs-bot@users.noreply.github.com>
2023-01-14 23:21:59 -08:00
Christopher Christofi
f521c31657 py-annoy: new package with version 1.17.1 (#34911)
* py-annoy: add 1.17.1

* add version specifier on dependency package
2023-01-14 17:21:56 -08:00
Todd Gamblin
d4e714bb2e spack list: add --count option (#34950)
Sometimes I just want to know how many packages of a certain type there are.

- [x] add `--count` option to `spack list` that output the number of packages that
      *would* be listed.

```console
> spack list --count
6864
> spack list --count py-
2040
> spack list --count r-
1162
```
2023-01-14 16:08:40 -08:00
John W. Parent
ff38ff25cb Support windows paths in a spec (#34405)
Refactor Spack's spec syntax parsing to handle Windows style paths
Amend unit tests to reflect this updated behavior.
2023-01-14 07:52:37 +01:00
Dominik Thoennes
6e95417c98 trilinos: enable mumps solver in amesos2 if variant is set (#34927)
* enable mumps solver in amesos2 if variant is set for trilinos
* fix formatting
2023-01-13 21:08:22 -08:00
Cyrus Harrison
4727a9b976 add conduit 0.8.6 release (#34894) 2023-01-13 20:53:21 -08:00
John W. Parent
44c69cadf4 Proper scons executable on Windows (#34934) 2023-01-13 19:28:29 -08:00
Dr. Christian Tacke
1034b23320 slurm: Add Version 22-05-7-1 (#34902) 2023-01-13 19:23:26 -08:00
Paul R. C. Kent
ef9049feac Add 15.0.7 (#34912) 2023-01-13 19:18:24 -08:00
Sam Grayson
f6006445da Add parsl-monitoring (#34769)
* Add packages

* Style

* Respond to comments

* Change conflct dep type

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-13 17:07:39 -06:00
eugeneswalker
2c87f59d36 py-gevent%oneapi@2023.0.0: -Wno-error=incompatible-function-pointer-types (#34901) 2023-01-13 17:06:16 -06:00
kwryankrattiger
229ee7cad9 Paraview rocm (#34790)
* paraview: add `rocm` variant

This conflicts with CUDA and requires at least ParaView 5.11.0. More
dependencies are also needed.

* E4S: Add ParaView for ROCm and CUDA stacks

* DAV SDK: Update ParaView version and GPU variants

* Verify using hipcc vs amdclang++ for newer hip

Co-authored-by: Ben Boeckel <ben.boeckel@kitware.com>
2023-01-13 12:41:57 -06:00
Marco De La Pierre
85e2fb0c4d Adding py-strawberryfields from Xanadu, and its deps (#34849)
* adding 1st version of py-strawberryfields

* py-strawberryfields: minor edit

* added backbone for 4x new SF dependencies

* edits to SF and its 4x new deps

* added all deps for SF

* added one version to py-lark-parser

* py-quantum-xir with tarball from github

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

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

* updated version for py-quantum-xir : pypy fixed

* py-pennylane: added pythonpackage.maintainers, too

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2023-01-13 10:39:29 -08:00
Todd Gamblin
88a604e7f4 config: make path replacements lazy (#34758)
Currently, all of the replacements in `spack.util.path.replacements()` get evaluated for
each replacement. This makes it easy to get bootstrap issues, because config is used
very early on in Spack.

Right now, if I run `test_autotools_gnuconfig_replacement_no_gnuconfig` on my M1 mac, I
get the circular reference error below. This fixes the issue by making all of the path
replacements lazy lambdas.

As a bonus, this cleans up the way we do substitution for `$env` -- it's consistent with
other substitutions now.

- [x] make all path `replacements()` lazy
- [x] clean up handling of `$env`

```console
> spack unit-test -k test_autotools_gnuconfig_replacement_no_gnuconfig

...

==> [2022-12-31-15:44:21.771459] Error: AttributeError:

The 'autotools-config-replacement' package cannot find an attribute while trying to build from sources. This might be due to a change in Spack's package format to support multiple build-systems for a single package. You can fix this by updating the build recipe, and you can also report the issue as a bug. More information at https://spack.readthedocs.io/en/latest/packaging_guide.html#installation-procedure

/Users/gamblin2/src/spack/lib/spack/spack/package_base.py:1332, in prefix:
       1330    @property
       1331    def prefix(self):
  >>   1332        """Get the prefix into which this package should be installed."""
       1333        return self.spec.prefix

Traceback (most recent call last):
  File "/Users/gamblin2/src/spack/lib/spack/spack/build_environment.py", line 1030, in _setup_pkg_and_run
    kwargs["env_modifications"] = setup_package(
                                  ^^^^^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/spack/build_environment.py", line 757, in setup_package
    set_module_variables_for_package(pkg)
  File "/Users/gamblin2/src/spack/lib/spack/spack/build_environment.py", line 596, in set_module_variables_for_package
    m.std_cmake_args = spack.build_systems.cmake.CMakeBuilder.std_args(pkg)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/spack/build_systems/cmake.py", line 241, in std_args
    define("CMAKE_INSTALL_PREFIX", pkg.prefix),
                                   ^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/spack/package_base.py", line 1333, in prefix
    return self.spec.prefix
           ^^^^^^^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/spack/spec.py", line 1710, in prefix
    self.prefix = spack.store.layout.path_for_spec(self)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/spack/directory_layout.py", line 336, in path_for_spec
    path = self.relative_path_for_spec(spec)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/spack/directory_layout.py", line 106, in relative_path_for_spec
    projection = spack.projections.get_projection(self.projections, spec)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/spack/projections.py", line 13, in get_projection
    if spec.satisfies(spec_like, strict=True):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/spack/spec.py", line 3642, in satisfies
    if not self.virtual and other.virtual:
           ^^^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/spack/spec.py", line 1622, in virtual
    return spack.repo.path.is_virtual(self.name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/spack/repo.py", line 890, in is_virtual
    return have_name and pkg_name in self.provider_index
                                     ^^^^^^^^^^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/spack/repo.py", line 770, in provider_index
    self._provider_index.merge(repo.provider_index)
                               ^^^^^^^^^^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/spack/repo.py", line 1096, in provider_index
    return self.index["providers"]
           ~~~~~~~~~~^^^^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/spack/repo.py", line 592, in __getitem__
    self._build_all_indexes()
  File "/Users/gamblin2/src/spack/lib/spack/spack/repo.py", line 607, in _build_all_indexes
    self.indexes[name] = self._build_index(name, indexer)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/spack/repo.py", line 616, in _build_index
    index_mtime = self.cache.mtime(cache_filename)
                  ^^^^^^^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/llnl/util/lang.py", line 826, in __getattr__
    return getattr(self.instance, name)
                   ^^^^^^^^^^^^^
  File "/Users/gamblin2/src/spack/lib/spack/llnl/util/lang.py", line 825, in __getattr__
    raise AttributeError()
AttributeError
```
2023-01-13 10:27:07 -08:00
Seth R. Johnson
33859d3d5f Celeritas: new versions 0.1.4 and 0.2.0 (#34883) 2023-01-13 09:44:29 -08:00
Brian Van Essen
68ce49a57b libfabric can now find external installation (#33796)
* Added support for libfabric to find an external installation and
identify variants supported.

* Change the fabrics definition to only include CXI when on a cray
system with a libfabric-based slingshot network.

* Added a conflict when trying to build the CXI fabric value since it is
only available as closed source at this time.
2023-01-12 23:53:33 -08:00
John W. Parent
92b7f63365 Ninja package: resolve circular dependency (#34887)
#33128 Introduces a dependency on re2c into the Ninja build recipe.
This is problematic on Windows as we use CMake to build re2c, and
Ninja to drive the CMake build. This PR resolves this issue by
adding a variant to toggle the use of re2c with ninja.
2023-01-12 17:31:58 -08:00
Adam J. Stewart
a1930e36e7 py-matplotlib: add v3.6.3 (#34903) 2023-01-12 16:23:20 -08:00
Jeremy L Thompson
897f812a70 ratel - add version 0.2.1 (#34895)
* ratel - add version 0.2.0
* ratel - use patch release 0.2.1 b/c tet test bug
2023-01-12 14:01:37 -08:00
Derek Ryan Strong
b7f41638fd Add fpart package (#34896)
* Add fpart package
* Use default autoreconf implementation
* Switch copyright year
2023-01-12 12:52:57 -08:00
7968 changed files with 26497 additions and 18238 deletions

View File

@@ -1,3 +1,5 @@
# .git-blame-ignore-revs
# Formatted entire codebase with black
# Formatted entire codebase with black 23
603569e321013a1a63a637813c94c2834d0a0023
# Formatted entire codebase with black 22
f52f6e99dbf1131886a80112b8c79dfc414afb7c

1
.gitattributes vendored
View File

@@ -1,3 +1,4 @@
*.py diff=python
*.lp linguist-language=Prolog
lib/spack/external/* linguist-vendored
*.bat text eol=crlf

View File

@@ -19,8 +19,8 @@ jobs:
package-audits:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # @v2
- uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912 # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # @v2
with:
python-version: ${{inputs.python_version}}
- name: Install Python packages

View File

@@ -24,7 +24,7 @@ jobs:
make patch unzip which xz python3 python3-devel tree \
cmake bison bison-devel libstdc++-static
- name: Checkout
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
with:
fetch-depth: 0
- name: Setup non-root user
@@ -62,7 +62,7 @@ jobs:
make patch unzip xz-utils python3 python3-dev tree \
cmake bison
- name: Checkout
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
with:
fetch-depth: 0
- name: Setup non-root user
@@ -99,7 +99,7 @@ jobs:
bzip2 curl file g++ gcc gfortran git gnupg2 gzip \
make patch unzip xz-utils python3 python3-dev tree
- name: Checkout
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
with:
fetch-depth: 0
- name: Setup non-root user
@@ -133,7 +133,7 @@ jobs:
make patch unzip which xz python3 python3-devel tree \
cmake bison
- name: Checkout
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
with:
fetch-depth: 0
- name: Setup repo
@@ -158,7 +158,7 @@ jobs:
run: |
brew install cmake bison@2.7 tree
- name: Checkout
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- name: Bootstrap clingo
run: |
source share/spack/setup-env.sh
@@ -179,7 +179,7 @@ jobs:
run: |
brew install tree
- name: Checkout
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- name: Bootstrap clingo
run: |
set -ex
@@ -204,7 +204,7 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
with:
fetch-depth: 0
- name: Setup repo
@@ -247,7 +247,7 @@ jobs:
bzip2 curl file g++ gcc patchelf gfortran git gzip \
make patch unzip xz-utils python3 python3-dev tree
- name: Checkout
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
with:
fetch-depth: 0
- name: Setup non-root user
@@ -283,7 +283,7 @@ jobs:
make patch unzip xz-utils python3 python3-dev tree \
gawk
- name: Checkout
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
with:
fetch-depth: 0
- name: Setup non-root user
@@ -316,7 +316,7 @@ jobs:
# Remove GnuPG since we want to bootstrap it
sudo rm -rf /usr/local/bin/gpg
- name: Checkout
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- name: Bootstrap GnuPG
run: |
source share/spack/setup-env.sh
@@ -333,7 +333,7 @@ jobs:
# Remove GnuPG since we want to bootstrap it
sudo rm -rf /usr/local/bin/gpg
- name: Checkout
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- name: Bootstrap GnuPG
run: |
source share/spack/setup-env.sh

View File

@@ -50,7 +50,7 @@ jobs:
if: github.repository == 'spack/spack'
steps:
- name: Checkout
uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # @v2
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
- name: Set Container Tag Normal (Nightly)
run: |
@@ -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@c56af957549030174b10d6867f20e78cfd7debc5 # @v2
uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671 # @v2
with:
context: dockerfiles/${{ matrix.dockerfile[0] }}
platforms: ${{ matrix.dockerfile[1] }}

View File

@@ -35,7 +35,7 @@ jobs:
core: ${{ steps.filter.outputs.core }}
packages: ${{ steps.filter.outputs.packages }}
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
if: ${{ github.event_name == 'push' }}
with:
fetch-depth: 0

View File

@@ -47,10 +47,10 @@ jobs:
on_develop: false
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
with:
fetch-depth: 0
- uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912 # @v2
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # @v2
with:
python-version: ${{ matrix.python-version }}
- name: Install System packages
@@ -94,10 +94,10 @@ jobs:
shell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
with:
fetch-depth: 0
- uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912 # @v2
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # @v2
with:
python-version: '3.11'
- name: Install System packages
@@ -133,7 +133,7 @@ jobs:
dnf install -y \
bzip2 curl file gcc-c++ gcc gcc-gfortran git gnupg2 gzip \
make patch tcl unzip which xz
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
- name: Setup repo and non-root user
run: |
git --version
@@ -151,10 +151,10 @@ jobs:
clingo-cffi:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
with:
fetch-depth: 0
- uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912 # @v2
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # @v2
with:
python-version: '3.11'
- name: Install System packages
@@ -185,10 +185,10 @@ jobs:
matrix:
python-version: ["3.10"]
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
with:
fetch-depth: 0
- uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912 # @v2
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # @v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Python packages

View File

@@ -18,8 +18,8 @@ jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # @v2
- uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912 # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # @v2
with:
python-version: '3.11'
cache: 'pip'
@@ -35,16 +35,16 @@ jobs:
style:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
with:
fetch-depth: 0
- uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912 # @v2
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # @v2
with:
python-version: '3.11'
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==23.1.0 mypy isort clingo flake8
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.

View File

@@ -15,10 +15,10 @@ jobs:
unit-tests:
runs-on: windows-latest
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
with:
fetch-depth: 0
- uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435
with:
python-version: 3.9
- name: Install Python packages
@@ -39,10 +39,10 @@ jobs:
unit-tests-cmd:
runs-on: windows-latest
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
with:
fetch-depth: 0
- uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435
with:
python-version: 3.9
- name: Install Python packages
@@ -63,10 +63,10 @@ jobs:
build-abseil:
runs-on: windows-latest
steps:
- uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
with:
fetch-depth: 0
- uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435
with:
python-version: 3.9
- name: Install Python packages
@@ -87,10 +87,10 @@ jobs:
# git config --global core.symlinks false
# shell:
# powershell
# - uses: actions/checkout@755da8c3cf115ac066823e79a1e1788f8940201b
# - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
# with:
# fetch-depth: 0
# - uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912
# - uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435
# with:
# python-version: 3.9
# - name: Install Python packages
@@ -121,7 +121,7 @@ jobs:
# run:
# shell: pwsh
# steps:
# - uses: actions/setup-python@5ccb29d8773c3f3f653e1705f474dfaa8a06a912
# - uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435
# with:
# python-version: 3.9
# - name: Install Python packages

View File

@@ -1,3 +1,28 @@
# v0.19.1 (2023-02-07)
### Spack Bugfixes
* `buildcache create`: make "file exists" less verbose (#35019)
* `spack mirror create`: don't change paths to urls (#34992)
* Improve error message for requirements (#33988)
* uninstall: fix accidental cubic complexity (#34005)
* scons: fix signature for `install_args` (#34481)
* Fix `combine_phase_logs` text encoding issues (#34657)
* Use a module-like object to propagate changes in the MRO, when setting build env (#34059)
* PackageBase should not define builder legacy attributes (#33942)
* Forward lookup of the "run_tests" attribute (#34531)
* Bugfix for timers (#33917, #33900)
* Fix path handling in prefix inspections (#35318)
* Fix libtool filter for Fujitsu compilers (#34916)
* Bug fix for duplicate rpath errors on macOS when creating build caches (#34375)
* FileCache: delete the new cache file on exception (#34623)
* Propagate exceptions from Spack python console (#34547)
* Tests: Fix a bug/typo in a `config_values.py` fixture (#33886)
* Various CI fixes (#33953, #34560, #34560, #34828)
* Docs: remove monitors and analyzers, typos (#34358, #33926)
* bump release version for tutorial command (#33859)
# v0.19.0 (2022-11-11)
`v0.19.0` is a major feature release.

View File

@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2013-2022 LLNS, LLC and other Spack Project Developers.
Copyright (c) 2013-2023 LLNS, LLC and other Spack Project Developers.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# sbang project developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,7 +1,7 @@
#!/bin/sh
# -*- python -*-
#
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -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

@@ -1,4 +1,4 @@
:: Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
:: Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
:: Spack Project Developers. See the top-level COPYRIGHT file for details.
::
:: SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -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
@@ -214,10 +226,10 @@ for %%Z in ("%_pa_new_path%") do if EXIST %%~sZ\NUL (
exit /b 0
:: set module system roots
:_sp_multi_pathadd
:_sp_multi_pathadd
for %%I in (%~2) do (
for %%Z in (%_sp_compatible_sys_types%) do (
:pathadd "%~1" "%%I\%%Z"
)
)
exit /B %ERRORLEVEL%
exit /B %ERRORLEVEL%

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -54,6 +54,11 @@ config:
# are that it precludes its use as a system package and its ability to be
# pip installable.
#
# In Spack environment files, chaining onto existing system Spack
# installations, the $env variable can be used to download, cache and build
# into user-writable paths that are relative to the currently active
# environment.
#
# In any case, if the username is not already in the path, Spack will append
# the value of `$user` in an attempt to avoid potential conflicts between
# users in shared temporary spaces.
@@ -76,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
@@ -176,7 +185,7 @@ config:
# when Spack needs to manage its own package metadata and all operations are
# expected to complete within the default time limit. The timeout should
# therefore generally be left untouched.
db_lock_timeout: 3
db_lock_timeout: 60
# How long to wait when attempting to modify a package (e.g. to install it).

View File

@@ -5,3 +5,4 @@ llnl*.rst
_build
.spack-env
spack.lock
_spack_root

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -13,49 +13,51 @@ Some sites may encourage users to set up their own test environments
before carrying out central installations, or some users may prefer to set
up these environments on their own motivation. To reduce the load of
recompiling otherwise identical package specs in different installations,
installed packages can be put into build cache tarballs, uploaded to
installed packages can be put into build cache tarballs, pushed to
your Spack mirror and then downloaded and installed by others.
Whenever a mirror provides prebuilt packages, Spack will take these packages
into account during concretization and installation, making ``spack install``
signficantly faster.
--------------------------
Creating build cache files
--------------------------
A compressed tarball of an installed package is created. Tarballs are created
for all of its link and run dependency packages as well. Compressed tarballs are
signed with gpg and signature and tarball and put in a ``.spack`` file. Optionally,
the rpaths (and ids and deps on macOS) can be changed to paths relative to
the Spack install tree before the tarball is created.
.. note::
We use the terms "build cache" and "mirror" often interchangeably. Mirrors
are used during installation both for sources and prebuilt packages. Build
caches refer to mirrors that provide prebuilt packages.
----------------------
Creating a build cache
----------------------
Build caches are created via:
.. code-block:: console
$ spack buildcache create <spec>
$ spack buildcache create <path/url/mirror name> <spec>
This command takes the locally installed spec and its dependencies, and
creates tarballs of their install prefixes. It also generates metadata files,
signed with GPG. These tarballs and metadata files are then pushed to the
provided binary cache, which can be a local directory or a remote URL.
If you wanted to create a build cache in a local directory, you would provide
the ``-d`` argument to target that directory, again also specifying the spec.
Here is an example creating a local directory, "spack-cache" and creating
build cache files for the "ninja" spec:
Here is an example where a build cache is created in a local directory named
"spack-cache", to which we push the "ninja" spec:
.. code-block:: console
$ mkdir -p ./spack-cache
$ spack buildcache create -d ./spack-cache ninja
==> Buildcache files will be output to file:///home/spackuser/spack/spack-cache/build_cache
gpgconf: socketdir is '/run/user/1000/gnupg'
gpg: using "E6DF6A8BD43208E4D6F392F23777740B7DBD643D" as default secret key for signing
$ spack buildcache create --allow-root ./spack-cache ninja
==> Pushing binary packages to file:///home/spackuser/spack/spack-cache/build_cache
Note that the targeted spec must already be installed. Once you have a build cache,
you can add it as a mirror, discussed next.
Not that ``ninja`` must be installed locally for this to work.
.. warning::
We're using the ``--allow-root`` flag to tell Spack that is OK when any of
the binaries we're pushing contain references to the local Spack install
directory.
Spack improved the format used for binary caches in v0.18. The entire v0.18 series
will be able to verify and install binary caches both in the new and in the old format.
Support for using the old format is expected to end in v0.19, so we advise users to
recreate relevant buildcaches using Spack v0.18 or higher.
Once you have a build cache, you can add it as a mirror, discussed next.
---------------------------------------
Finding or installing build cache files
@@ -66,10 +68,10 @@ with:
.. code-block:: console
$ spack mirror add <name> <url>
$ spack mirror add <name> <url or path>
Note that the url can be a web url _or_ a local filesystem location. In the previous
Both web URLs and local paths on the filesystem can be specified. In the previous
example, you might add the directory "spack-cache" and call it ``mymirror``:
@@ -94,7 +96,7 @@ this new build cache as follows:
.. code-block:: console
$ spack buildcache update-index -d spack-cache/
$ spack buildcache update-index ./spack-cache
Now you can use list:
@@ -105,46 +107,38 @@ Now you can use list:
-- linux-ubuntu20.04-skylake / gcc@9.3.0 ------------------------
ninja@1.10.2
Great! So now let's say you have a different spack installation, or perhaps just
a different environment for the same one, and you want to install a package from
that build cache. Let's first uninstall the actual library "ninja" to see if we can
re-install it from the cache.
With ``mymirror`` configured and an index available, Spack will automatically
use it during concretization and installation. That means that you can expect
``spack install ninja`` to fetch prebuilt packages from the mirror. Let's
verify by re-installing ninja:
.. code-block:: console
$ spack uninstall ninja
And now reinstall from the buildcache
.. code-block:: console
$ spack buildcache install ninja
==> buildcache spec(s) matching ninja
==> Fetching file:///home/spackuser/spack/spack-cache/build_cache/linux-ubuntu20.04-skylake/gcc-9.3.0/ninja-1.10.2/linux-ubuntu20.04-skylake-gcc-9.3.0-ninja-1.10.2-i4e5luour7jxdpc3bkiykd4imke3mkym.spack
####################################################################################################################################### 100.0%
==> Installing buildcache for spec ninja@1.10.2%gcc@9.3.0 arch=linux-ubuntu20.04-skylake
gpgconf: socketdir is '/run/user/1000/gnupg'
gpg: Signature made Tue 23 Mar 2021 10:16:29 PM MDT
gpg: using RSA key E6DF6A8BD43208E4D6F392F23777740B7DBD643D
gpg: Good signature from "spackuser (GPG created for Spack) <spackuser@noreply.users.github.com>" [ultimate]
$ spack install ninja
==> Installing ninja-1.11.1-yxferyhmrjkosgta5ei6b4lqf6bxbscz
==> Fetching file:///home/spackuser/spack/spack-cache/build_cache/linux-ubuntu20.04-skylake-gcc-9.3.0-ninja-1.10.2-yxferyhmrjkosgta5ei6b4lqf6bxbscz.spec.json.sig
gpg: Signature made Do 12 Jan 2023 16:01:04 CET
gpg: using RSA key 61B82B2B2350E171BD17A1744E3A689061D57BF6
gpg: Good signature from "example (GPG created for Spack) <example@example.com>" [ultimate]
==> Fetching file:///home/spackuser/spack/spack-cache/build_cache/linux-ubuntu20.04-skylake/gcc-9.3.0/ninja-1.10.2/linux-ubuntu20.04-skylake-gcc-9.3.0-ninja-1.10.2-yxferyhmrjkosgta5ei6b4lqf6bxbscz.spack
==> Extracting ninja-1.10.2-yxferyhmrjkosgta5ei6b4lqf6bxbscz from binary cache
==> ninja: Successfully installed ninja-1.11.1-yxferyhmrjkosgta5ei6b4lqf6bxbscz
Search: 0.00s. Fetch: 0.17s. Install: 0.12s. Total: 0.29s
[+] /home/harmen/spack/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/ninja-1.11.1-yxferyhmrjkosgta5ei6b4lqf6bxbscz
It worked! You've just completed a full example of creating a build cache with
a spec of interest, adding it as a mirror, updating it's index, listing the contents,
a spec of interest, adding it as a mirror, updating its index, listing the contents,
and finally, installing from it.
Note that the above command is intended to install a particular package to a
build cache you have created, and not to install a package from a build cache.
For the latter, once a mirror is added, by default when you do ``spack install`` the ``--use-cache``
flag is set, and you will install a package from a build cache if it is available.
If you want to always use the cache, you can do:
By default Spack falls back to building from sources when the mirror is not available
or when the package is simply not already available. To force Spack to only install
prebuilt packages, you can use
.. code-block:: console
$ spack install --cache-only <package>
$ spack install --use-buildcache only <package>
For example, to combine all of the commands above to add the E4S build cache
and then install from it exclusively, you would do:
@@ -153,7 +147,7 @@ and then install from it exclusively, you would do:
$ spack mirror add E4S https://cache.e4s.io
$ spack buildcache keys --install --trust
$ spack install --cache-only <package>
$ spack install --use-buildache only <package>
We use ``--install`` and ``--trust`` to say that we are installing keys to our
keyring, and trusting all downloaded keys.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -272,7 +272,7 @@ Selection of the target microarchitectures
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The options under the ``targets`` attribute control which targets are considered during a solve.
Currently the options in this section are only configurable from the ``concretization.yaml`` file
Currently the options in this section are only configurable from the ``concretizer.yaml`` file
and there are no corresponding command line arguments to enable them for a single solve.
The ``granularity`` option can take two possible values: ``microarchitectures`` and ``generic``.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -366,7 +366,7 @@ If the ``pyproject.toml`` lists ``mesonpy`` as the ``build-backend``,
it uses the meson build system. Meson uses the default
``pyproject.toml`` keys to list dependencies.
See https://meson-python.readthedocs.io/en/latest/usage/start.html
See https://meson-python.readthedocs.io/en/latest/tutorials/introduction.html
for more information.
"""

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -58,9 +58,7 @@ Testing
``WafPackage`` also provides ``test`` and ``installtest`` methods,
which are run after the ``build`` and ``install`` phases, respectively.
By default, these phases do nothing, but you can override them to
run package-specific unit tests. For example, the
`py-py2cairo <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/py-py2cairo/package.py>`_
package uses:
run package-specific unit tests.
.. code-block:: python

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -89,6 +89,7 @@
# Enable todo items
todo_include_todos = True
#
# Disable duplicate cross-reference warnings.
#
@@ -163,7 +164,7 @@ def setup(sphinx):
# General information about the project.
project = "Spack"
copyright = "2013-2021, Lawrence Livermore National Laboratory."
copyright = "2013-2023, Lawrence Livermore National Laboratory."
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@@ -353,9 +354,7 @@ class SpackStyle(DefaultStyle):
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
("index", "Spack.tex", "Spack Documentation", "Todd Gamblin", "manual"),
]
latex_documents = [("index", "Spack.tex", "Spack Documentation", "Todd Gamblin", "manual")]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
@@ -402,7 +401,7 @@ class SpackStyle(DefaultStyle):
"Spack",
"One line description of project.",
"Miscellaneous",
),
)
]
# Documents to append as an appendix to all manuals.
@@ -418,6 +417,4 @@ class SpackStyle(DefaultStyle):
# -- Extension configuration -------------------------------------------------
# sphinx.ext.intersphinx
intersphinx_mapping = {
"python": ("https://docs.python.org/3", None),
}
intersphinx_mapping = {"python": ("https://docs.python.org/3", None)}

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -222,7 +222,7 @@ and location. (See the *Configuration settings* section of ``man
ccache`` to learn more about the default settings and how to change
them). Please note that we currently disable ccache's ``hash_dir``
feature to avoid an issue with the stage directory (see
https://github.com/LLNL/spack/pull/3761#issuecomment-294352232).
https://github.com/spack/spack/pull/3761#issuecomment-294352232).
-----------------------
``shared_linking:type``

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -118,7 +118,7 @@ make another change, test that change, etc. We use `pytest
<http://pytest.org/>`_ as our tests framework, and these types of
arguments are just passed to the ``pytest`` command underneath. See `the
pytest docs
<http://doc.pytest.org/en/latest/usage.html#specifying-tests-selecting-tests>`_
<https://doc.pytest.org/en/latest/how-to/usage.html#specifying-which-tests-to-run>`_
for more details on test selection syntax.
``spack unit-test`` has a few special options that can help you
@@ -147,7 +147,7 @@ you want to know about. For example, to see just the tests in
You can also combine any of these options with a ``pytest`` keyword
search. See the `pytest usage docs
<https://docs.pytest.org/en/stable/usage.html#specifying-tests-selecting-tests>`_:
<https://doc.pytest.org/en/latest/how-to/usage.html#specifying-which-tests-to-run>`_
for more details on test selection syntax. For example, to see the names of all tests that have "spec"
or "concretize" somewhere in their names:

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -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``.
@@ -1039,7 +1040,7 @@ gets installed and is available for use in the ``env`` target.
$(SPACK) -e . concretize -f
env.mk: spack.lock
$(SPACK) -e . env depfile -o $@ --make-target-prefix spack
$(SPACK) -e . env depfile -o $@ --make-prefix spack
env: spack/env
$(info Environment installed!)
@@ -1062,9 +1063,9 @@ the include is conditional.
.. note::
When including generated ``Makefile``\s, it is important to use
the ``--make-target-prefix`` flag and use the non-phony target
``<target-prefix>/env`` as prerequisite, instead of the phony target
``<target-prefix>/all``.
the ``--make-prefix`` flag and use the non-phony target
``<prefix>/env`` as prerequisite, instead of the phony target
``<prefix>/all``.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Building a subset of the environment
@@ -1089,4 +1090,52 @@ output (``spack install --verbose``) while its dependencies are installed silent
$ make -j16 install-deps/python-3.11.0-<hash> SPACK_INSTALL_FLAGS=--show-log-on-error
# Install the root spec with verbose output.
$ make -j16 install/python-3.11.0-<hash> SPACK_INSTALL_FLAGS=--verbose
$ make -j16 install/python-3.11.0-<hash> SPACK_INSTALL_FLAGS=--verbose
^^^^^^^^^^^^^^^^^^^^^^^^^
Adding post-install hooks
^^^^^^^^^^^^^^^^^^^^^^^^^
Another advanced use-case of generated ``Makefile``\s is running a post-install
command for each package. These "hooks" could be anything from printing a
post-install message, running tests, or pushing just-built binaries to a buildcache.
This can be accomplished through the generated ``[<prefix>/]SPACK_PACKAGE_IDS``
variable. Assuming we have an active and concrete environment, we generate the
associated ``Makefile`` with a prefix ``example``:
.. code:: console
$ spack env depfile -o env.mk --make-prefix example
And we now include it in a different ``Makefile``, in which we create a target
``example/push/%`` with ``%`` referring to a package identifier. This target
depends on the particular package installation. In this target we automatically
have the target-specific ``HASH`` and ``SPEC`` variables at our disposal. They
are respectively the spec hash (excluding leading ``/``), and a human-readable spec.
Finally, we have an entrypoint target ``push`` that will update the buildcache
index once every package is pushed. Note how this target uses the generated
``example/SPACK_PACKAGE_IDS`` variable to define its prerequisites.
.. code:: Makefile
SPACK ?= spack
BUILDCACHE_DIR = $(CURDIR)/tarballs
.PHONY: all
all: push
include env.mk
example/push/%: example/install/%
@mkdir -p $(dir $@)
$(info About to push $(SPEC) to a buildcache)
$(SPACK) -e . buildcache create --allow-root --only=package --directory $(BUILDCACHE_DIR) /$(HASH)
@touch $@
push: $(addprefix example/push/,$(example/SPACK_PACKAGE_IDS))
$(info Updating the buildcache index)
$(SPACK) -e . buildcache update-index --directory $(BUILDCACHE_DIR)
$(info Done!)
@touch $@

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -116,7 +116,7 @@ creates a simple python file:
# FIXME: Add a list of GitHub accounts to
# notify when the package is updated.
# maintainers = ["github_user1", "github_user2"]
# maintainers("github_user1", "github_user2")
version("0.8.13", sha256="591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d")

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -21,7 +21,7 @@ be present on the machine where Spack is run:
:header-rows: 1
These requirements can be easily installed on most modern Linux systems;
on macOS, the Command Line Tools package is required, and a full XCode suite
on macOS, the Command Line Tools package is required, and a full XCode suite
may be necessary for some packages such as Qt and apple-gl. Spack is designed
to run on HPC platforms like Cray. Not all packages should be expected
to work on all platforms.
@@ -1506,7 +1506,7 @@ Spack On Windows
Windows support for Spack is currently under development. While this work is still in an early stage,
it is currently possible to set up Spack and perform a few operations on Windows. This section will guide
you through the steps needed to install Spack and start running it on a fresh Windows machine.
you through the steps needed to install Spack and start running it on a fresh Windows machine.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step 1: Install prerequisites
@@ -1516,7 +1516,7 @@ To use Spack on Windows, you will need the following packages:
Required:
* Microsoft Visual Studio
* Python
* Python
* Git
Optional:
@@ -1547,8 +1547,8 @@ Intel Fortran
"""""""""""""
For Fortran-based packages on Windows, we strongly recommend Intel's oneAPI Fortran compilers.
The suite is free to download from Intel's website, located at
https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/fortran-compiler.html#gs.70t5tw.
The suite is free to download from Intel's website, located at
https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/fortran-compiler.html.
The executable of choice for Spack will be Intel's Beta Compiler, ifx, which supports the classic
compiler's (ifort's) frontend and runtime libraries by using LLVM.
@@ -1700,29 +1700,15 @@ If in the previous step, you did not have CMake or Ninja installed, running the
Windows Compatible Packages
"""""""""""""""""""""""""""
Many Spack packages are not currently compatible with Windows, due to Unix
dependencies or incompatible build tools like autoconf. Here are several
packages known to work on Windows:
* abseil-cpp
* bzip2
* clingo
* cpuinfo
* cmake
* hdf5
* glm
* nasm
* netlib-lapack (requires Intel Fortran)
* ninja
* openssl
* perl
* python
* ruby
* wrf
* zlib
Not all spack packages currently have Windows support. Some are inherently incompatible with the
platform, and others simply have yet to be ported. To view the current set of packages with Windows
support, the list command should be used via `spack list -t windows`. If there's a package you'd like
to install on Windows but is not in that list, feel free to reach out to request the port or contribute
the port yourself.
.. note::
This is by no means a comprehensive list
This is by no means a comprehensive list, some packages may have ports that were not tagged
while others may just work out of the box on Windows and have not been tagged as such.
^^^^^^^^^^^^^^
For developers
@@ -1734,3 +1720,4 @@ Instructions for creating the installer are at
https://github.com/spack/spack/blob/develop/lib/spack/spack/cmd/installer/README.md
Alternatively a pre-built copy of the Windows installer is available as an artifact of Spack's Windows CI
available at each run of the CI on develop or any PR.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -234,7 +234,7 @@ generates a boilerplate template for your package, and opens up the new
.. code-block:: python
:linenos:
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -268,7 +268,7 @@ generates a boilerplate template for your package, and opens up the new
# FIXME: Add a list of GitHub accounts to
# notify when the package is updated.
# maintainers = ["github_user1", "github_user2"]
# maintainers("github_user1", "github_user2")
version("6.2.1", sha256="eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c")
@@ -319,14 +319,8 @@ The rest of the tasks you need to do are as follows:
#. Add a comma-separated list of maintainers.
The ``maintainers`` field is a list of GitHub accounts of people
who want to be notified any time the package is modified. When a
pull request is submitted that updates the package, these people
will be requested to review the PR. This is useful for developers
who maintain a Spack package for their own software, as well as
users who rely on a piece of software and want to ensure that the
package doesn't break. It also gives users a list of people to
contact for help when someone reports a build error with the package.
Add a list of Github accounts of people who want to be notified
any time the package is modified. See :ref:`package_maintainers`.
#. Add ``depends_on()`` calls for the package's dependencies.
@@ -497,6 +491,31 @@ some examples:
In general, you won't have to remember this naming convention because
:ref:`cmd-spack-create` and :ref:`cmd-spack-edit` handle the details for you.
.. _package_maintainers:
-----------
Maintainers
-----------
Each package in Spack may have one or more maintainers, i.e. one or more
GitHub accounts of people who want to be notified any time the package is
modified.
When a pull request is submitted that updates the package, these people will
be requested to review the PR. This is useful for developers who maintain a
Spack package for their own software, as well as users who rely on a piece of
software and want to ensure that the package doesn't break. It also gives users
a list of people to contact for help when someone reports a build error with
the package.
To add maintainers to a package, simply declare them with the ``maintainers`` directive:
.. code-block:: python
maintainers("user1", "user2")
The list of maintainers is additive, and includes all the accounts eventually declared in base classes.
-----------------
Trusted Downloads
-----------------
@@ -1373,7 +1392,7 @@ Go
^^
Go isn't a VCS, it is a programming language with a builtin command,
`go get <https://golang.org/cmd/go/#hdr-Download_and_install_packages_and_dependencies>`_,
`go get <https://pkg.go.dev/cmd/go#hdr-Add_dependencies_to_current_module_and_install_them>`_,
that fetches packages and their dependencies automatically.
The destination directory will be the standard stage source path.
@@ -2098,7 +2117,7 @@ dynamic loader where to find its dependencies at runtime. You may be
familiar with `LD_LIBRARY_PATH
<http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html>`_
on Linux or `DYLD_LIBRARY_PATH
<https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/dyld.1.html>`_
<https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/dyld.3.html>`_
on Mac OS X. RPATH is similar to these paths, in that it tells
the loader where to find libraries. Unlike them, it is embedded in
the binary and not set in each user's environment.
@@ -2410,7 +2429,7 @@ package, and a `canonical hash <https://github.com/spack/spack/pull/28156>`_ of
the ``package.py`` recipes). ``test`` dependencies do not affect the package
hash, as they are only used to construct a test environment *after* building and
installing a given package installation. Older versions of Spack did not include
build dependencies in the hash, but this has been
build dependencies in the hash, but this has been
`fixed <https://github.com/spack/spack/pull/28504>`_ as of |Spack v0.18|_.
.. |Spack v0.18| replace:: Spack ``v0.18``

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
.. Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

2
lib/spack/env/cc vendored
View File

@@ -1,7 +1,7 @@
#!/bin/sh -f
# shellcheck disable=SC2034 # evals in this script fool shellcheck
#
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -23,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"
@@ -84,6 +84,74 @@
"visit_directory_tree",
]
if sys.version_info < (3, 7, 4):
# monkeypatch shutil.copystat to fix PermissionError when copying read-only
# files on Lustre when using Python < 3.7.4
def copystat(src, dst, follow_symlinks=True):
"""Copy file metadata
Copy the permission bits, last access time, last modification time, and
flags from `src` to `dst`. On Linux, copystat() also copies the "extended
attributes" where possible. The file contents, owner, and group are
unaffected. `src` and `dst` are path names given as strings.
If the optional flag `follow_symlinks` is not set, symlinks aren't
followed if and only if both `src` and `dst` are symlinks.
"""
def _nop(args, ns=None, follow_symlinks=None):
pass
# follow symlinks (aka don't not follow symlinks)
follow = follow_symlinks or not (os.path.islink(src) and os.path.islink(dst))
if follow:
# use the real function if it exists
def lookup(name):
return getattr(os, name, _nop)
else:
# use the real function only if it exists
# *and* it supports follow_symlinks
def lookup(name):
fn = getattr(os, name, _nop)
if sys.version_info >= (3, 3):
if fn in os.supports_follow_symlinks: # novermin
return fn
return _nop
st = lookup("stat")(src, follow_symlinks=follow)
mode = stat.S_IMODE(st.st_mode)
lookup("utime")(dst, ns=(st.st_atime_ns, st.st_mtime_ns), follow_symlinks=follow)
# We must copy extended attributes before the file is (potentially)
# chmod()'ed read-only, otherwise setxattr() will error with -EACCES.
shutil._copyxattr(src, dst, follow_symlinks=follow)
try:
lookup("chmod")(dst, mode, follow_symlinks=follow)
except NotImplementedError:
# if we got a NotImplementedError, it's because
# * follow_symlinks=False,
# * lchown() is unavailable, and
# * either
# * fchownat() is unavailable or
# * fchownat() doesn't implement AT_SYMLINK_NOFOLLOW.
# (it returned ENOSUP.)
# therefore we're out of options--we simply cannot chown the
# symlink. give up, suppress the error.
# (which is what shutil always did in this circumstance.)
pass
if hasattr(st, "st_flags"):
try:
lookup("chflags")(dst, st.st_flags, follow_symlinks=follow)
except OSError as why:
for err in "EOPNOTSUPP", "ENOTSUP":
if hasattr(errno, err) and why.errno == getattr(errno, err):
break
else:
raise
shutil.copystat = copystat
def getuid():
if is_windows:
@@ -117,13 +185,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 +196,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
@@ -270,7 +336,6 @@ def groupid_to_group(x):
regex = re.escape(regex)
filenames = path_to_os_path(*filenames)
for filename in filenames:
msg = 'FILTER FILE: {0} [replacing "{1}"]'
tty.debug(msg.format(filename, regex))
@@ -1222,7 +1287,6 @@ def traverse_tree(
# target is relative to the link, then that may not resolve properly
# relative to our cwd - see resolve_link_target_relative_to_the_link
if os.path.isdir(source_child) and (follow_links or not os.path.islink(source_child)):
# When follow_nonexisting isn't set, don't descend into dirs
# in source that do not exist in dest
if follow_nonexisting or os.path.exists(dest_child):
@@ -1664,7 +1728,6 @@ def find(root, files, recursive=True):
@system_path_filter
def _find_recursive(root, search_files):
# The variable here is **on purpose** a defaultdict. The idea is that
# we want to poke the filesystem as little as possible, but still maintain
# stability in the order of the answer. Thus we are recording each library
@@ -2635,3 +2698,28 @@ def temporary_dir(
yield tmp_dir
finally:
remove_directory_contents(tmp_dir)
def filesummary(path, print_bytes=16) -> Tuple[int, bytes]:
"""Create a small summary of the given file. Does not error
when file does not exist.
Args:
print_bytes (int): Number of bytes to print from start/end of file
Returns:
Tuple of size and byte string containing first n .. last n bytes.
Size is 0 if file cannot be read."""
try:
n = print_bytes
with open(path, "rb") as f:
size = os.fstat(f.fileno()).st_size
if size <= 2 * n:
short_contents = f.read(2 * n)
else:
short_contents = f.read(n)
f.seek(-n, 2)
short_contents += b"..." + f.read(n)
return size, short_contents
except OSError:
return 0, b""

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -198,7 +198,7 @@ def _memoized_function(*args, **kwargs):
except TypeError as e:
# TypeError is raised when indexing into a dict if the key is unhashable.
raise UnhashableArguments(
"args + kwargs '{}' was not hashable for function '{}'".format(key, func.__name__),
"args + kwargs '{}' was not hashable for function '{}'".format(key, func.__name__)
) from e
return _memoized_function
@@ -237,6 +237,7 @@ def decorator_with_or_without_args(decorator):
@decorator
"""
# See https://stackoverflow.com/questions/653368 for more on this
@functools.wraps(decorator)
def new_dec(*args, **kwargs):
@@ -990,8 +991,7 @@ def enum(**kwargs):
def stable_partition(
input_iterable: Iterable,
predicate_fn: Callable[[Any], bool],
input_iterable: Iterable, predicate_fn: Callable[[Any], bool]
) -> Tuple[List[Any], List[Any]]:
"""Partition the input iterable according to a custom predicate.
@@ -1104,11 +1104,7 @@ def __enter__(self):
def __exit__(self, exc_type, exc_value, tb):
if exc_value is not None:
self._handler._receive_forwarded(
self._context,
exc_value,
traceback.format_tb(tb),
)
self._handler._receive_forwarded(self._context, exc_value, traceback.format_tb(tb))
# Suppress any exception from being re-raised:
# https://docs.python.org/3/reference/datamodel.html#object.__exit__.

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -75,7 +75,7 @@ def __init__(self, ignore=None):
# so that we have a fast lookup and can run mkdir in order.
self.directories = OrderedDict()
# Files to link. Maps dst_rel to (src_rel, src_root)
# Files to link. Maps dst_rel to (src_root, src_rel)
self.files = OrderedDict()
def before_visit_dir(self, root, rel_path, depth):
@@ -430,6 +430,11 @@ class MergeConflictError(Exception):
pass
class ConflictingSpecsError(MergeConflictError):
def __init__(self, spec_1, spec_2):
super(MergeConflictError, self).__init__(spec_1, spec_2)
class SingleMergeConflictError(MergeConflictError):
def __init__(self, path):
super(MergeConflictError, self).__init__("Package merge blocked by file: %s" % path)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -18,7 +18,7 @@ class Barrier:
Python 2 doesn't have multiprocessing barriers so we implement this.
See http://greenteapress.com/semaphores/downey08semaphores.pdf, p. 41.
See https://greenteapress.com/semaphores/LittleBookOfSemaphores.pdf, p. 41.
"""
def __init__(self, n, timeout=None):

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -108,7 +108,6 @@ class SuppressOutput:
"""Class for disabling output in a scope using 'with' keyword"""
def __init__(self, msg_enabled=True, warn_enabled=True, error_enabled=True):
self._msg_enabled_initial = _msg_enabled
self._warn_enabled_initial = _warn_enabled
self._error_enabled_initial = _error_enabled

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -11,6 +11,7 @@
import io
import os
import sys
from typing import IO, Any, List, Optional
from llnl.util.tty import terminal_size
from llnl.util.tty.color import cextra, clen
@@ -97,7 +98,16 @@ def config_uniform_cols(elts, console_width, padding, cols=0):
return config
def colify(elts, **options):
def colify(
elts: List[Any],
cols: int = 0,
output: Optional[IO] = None,
indent: int = 0,
padding: int = 2,
tty: Optional[bool] = None,
method: str = "variable",
console_cols: Optional[int] = None,
):
"""Takes a list of elements as input and finds a good columnization
of them, similar to how gnu ls does. This supports both
uniform-width and variable-width (tighter) columns.
@@ -106,31 +116,21 @@ def colify(elts, **options):
using ``str()``.
Keyword Arguments:
output (typing.IO): A file object to write to. Default is ``sys.stdout``
indent (int): Optionally indent all columns by some number of spaces
padding (int): Spaces between columns. Default is 2
width (int): Width of the output. Default is 80 if tty not detected
cols (int): Force number of columns. Default is to size to terminal, or
output: A file object to write to. Default is ``sys.stdout``
indent: Optionally indent all columns by some number of spaces
padding: Spaces between columns. Default is 2
width: Width of the output. Default is 80 if tty not detected
cols: Force number of columns. Default is to size to terminal, or
single-column if no tty
tty (bool): Whether to attempt to write to a tty. Default is to autodetect a
tty: Whether to attempt to write to a tty. Default is to autodetect a
tty. Set to False to force single-column output
method (str): Method to use to fit columns. Options are variable or uniform.
method: Method to use to fit columns. Options are variable or uniform.
Variable-width columns are tighter, uniform columns are all the same width
and fit less data on the screen
console_cols: number of columns on this console (default: autodetect)
"""
# Get keyword arguments or set defaults
cols = options.pop("cols", 0)
output = options.pop("output", sys.stdout)
indent = options.pop("indent", 0)
padding = options.pop("padding", 2)
tty = options.pop("tty", None)
method = options.pop("method", "variable")
console_cols = options.pop("width", None)
if options:
raise TypeError(
"'%s' is an invalid keyword argument for this function." % next(options.iterkeys())
)
if output is None:
output = sys.stdout
# elts needs to be an array of strings so we can count the elements
elts = [str(elt) for elt in elts]
@@ -153,10 +153,11 @@ def colify(elts, **options):
cols = 1
# Specify the number of character columns to use.
if not console_cols:
if console_cols is None:
console_rows, console_cols = terminal_size()
elif type(console_cols) != int:
elif not isinstance(console_cols, int):
raise ValueError("Number of columns must be an int")
console_cols = max(1, console_cols - indent)
# Choose a method. Variable-width colums vs uniform-width.
@@ -192,7 +193,13 @@ def colify(elts, **options):
return (config.cols, tuple(config.widths))
def colify_table(table, **options):
def colify_table(
table: List[List[Any]],
output: Optional[IO] = None,
indent: int = 0,
padding: int = 2,
console_cols: Optional[int] = None,
):
"""Version of ``colify()`` for data expressed in rows, (list of lists).
Same as regular colify but:
@@ -218,20 +225,38 @@ def transpose():
for row in table:
yield row[i]
if "cols" in options:
raise ValueError("Cannot override columsn in colify_table.")
options["cols"] = columns
# don't reduce to 1 column for non-tty
options["tty"] = True
colify(transpose(), **options)
colify(
transpose(),
cols=columns, # this is always the number of cols in the table
tty=True, # don't reduce to 1 column for non-tty
output=output,
indent=indent,
padding=padding,
console_cols=console_cols,
)
def colified(elts, **options):
def colified(
elts: List[Any],
cols: int = 0,
output: Optional[IO] = None,
indent: int = 0,
padding: int = 2,
tty: Optional[bool] = None,
method: str = "variable",
console_cols: Optional[int] = None,
):
"""Invokes the ``colify()`` function but returns the result as a string
instead of writing it to an output string."""
sio = io.StringIO()
options["output"] = sio
colify(elts, **options)
colify(
elts,
cols=cols,
output=sio,
indent=indent,
padding=padding,
tty=tty,
method=method,
console_cols=console_cols,
)
return sio.getvalue()

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -161,10 +161,7 @@ def _is_background(self):
def _get_canon_echo_flags(self):
"""Get current termios canonical and echo settings."""
cfg = termios.tcgetattr(self.stream)
return (
bool(cfg[3] & termios.ICANON),
bool(cfg[3] & termios.ECHO),
)
return (bool(cfg[3] & termios.ICANON), bool(cfg[3] & termios.ECHO))
def _enable_keyboard_input(self):
"""Disable canonical input and echoing on ``self.stream``."""

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -77,10 +77,7 @@ def __init__(self, pid, controller_fd, timeout=1, sleep_time=1e-1, debug=False):
def get_canon_echo_attrs(self):
"""Get echo and canon attributes of the terminal of controller_fd."""
cfg = termios.tcgetattr(self.controller_fd)
return (
bool(cfg[3] & termios.ICANON),
bool(cfg[3] & termios.ECHO),
)
return (bool(cfg[3] & termios.ICANON), bool(cfg[3] & termios.ECHO))
def horizontal_line(self, name):
"""Labled horizontal line for debugging."""
@@ -92,11 +89,7 @@ def status(self):
if self.debug:
canon, echo = self.get_canon_echo_attrs()
sys.stderr.write(
"canon: %s, echo: %s\n"
% (
"on" if canon else "off",
"on" if echo else "off",
)
"canon: %s, echo: %s\n" % ("on" if canon else "off", "on" if echo else "off")
)
sys.stderr.write("input: %s\n" % self.input_on())
sys.stderr.write("bg: %s\n" % self.background())

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -321,8 +321,7 @@ def _check_patch_urls(pkgs, error_cls):
errors.append(
error_cls(
"patch URL in package {0} must end with {1}".format(
pkg_cls.name,
full_index_arg,
pkg_cls.name, full_index_arg
),
[patch.url],
)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -40,6 +40,8 @@
import spack.relocate as relocate
import spack.repo
import spack.store
import spack.traverse as traverse
import spack.util.crypto
import spack.util.file_cache as file_cache
import spack.util.gpg
import spack.util.spack_json as sjson
@@ -47,7 +49,7 @@
import spack.util.url as url_util
import spack.util.web as web_util
from spack.caches import misc_cache_location
from spack.relocate import utf8_paths_to_single_binary_regex
from spack.relocate_text import utf8_paths_to_single_binary_regex
from spack.spec import Spec
from spack.stage import Stage
from spack.util.executable import which
@@ -209,10 +211,7 @@ def _associate_built_specs_with_mirror(self, cache_key, mirror_url):
break
else:
self._mirrors_for_spec[dag_hash].append(
{
"mirror_url": mirror_url,
"spec": indexed_spec,
}
{"mirror_url": mirror_url, "spec": indexed_spec}
)
finally:
shutil.rmtree(tmpdir)
@@ -294,10 +293,9 @@ 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.
@@ -364,8 +362,7 @@ def update(self, with_cooldown=False):
# May need to fetch the index and update the local caches
try:
needs_regen = self._fetch_and_cache_index(
cached_mirror_url,
cache_entry=cache_entry,
cached_mirror_url, cache_entry=cache_entry
)
self._last_fetch_times[cached_mirror_url] = (now, True)
all_methods_failed = False
@@ -510,9 +507,9 @@ class NoOverwriteException(spack.error.SpackError):
"""
def __init__(self, file_path):
err_msg = "\n%s\nexists\n" % file_path
err_msg += "Use -f option to overwrite."
super(NoOverwriteException, self).__init__(err_msg)
super(NoOverwriteException, self).__init__(
'"{}" exists in buildcache. Use --force flag to overwrite.'.format(file_path)
)
class NoGpgException(spack.error.SpackError):
@@ -557,7 +554,12 @@ class NoChecksumException(spack.error.SpackError):
Raised if file fails checksum verification.
"""
pass
def __init__(self, path, size, contents, algorithm, expected, computed):
super(NoChecksumException, self).__init__(
f"{algorithm} checksum failed for {path}",
f"Expected {expected} but got {computed}. "
f"File size = {size} bytes. Contents = {contents!r}",
)
class NewLayoutException(spack.error.SpackError):
@@ -1050,7 +1052,7 @@ def generate_package_index(cache_prefix, concurrency=32):
try:
file_list, read_fn = _spec_files_from_cache(cache_prefix)
except ListMirrorSpecsError as err:
tty.error("Unabled to generate package index, {0}".format(err))
tty.error("Unable to generate package index, {0}".format(err))
return
tty.debug("Retrieving spec descriptor files from {0} to build index".format(cache_prefix))
@@ -1196,40 +1198,42 @@ def _build_tarball(
):
raise NoOverwriteException(url_util.format(remote_specfile_path))
# make a copy of the install directory to work with
workdir = os.path.join(tmpdir, os.path.basename(spec.prefix))
# install_tree copies hardlinks
# create a temporary tarfile from prefix and exract it to workdir
# tarfile preserves hardlinks
temp_tarfile_name = tarball_name(spec, ".tar")
temp_tarfile_path = os.path.join(tarfile_dir, temp_tarfile_name)
with closing(tarfile.open(temp_tarfile_path, "w")) as tar:
tar.add(name="%s" % spec.prefix, arcname=".")
with closing(tarfile.open(temp_tarfile_path, "r")) as tar:
tar.extractall(workdir)
os.remove(temp_tarfile_path)
pkg_dir = os.path.basename(spec.prefix.rstrip(os.path.sep))
workdir = os.path.join(tmpdir, pkg_dir)
# TODO: We generally don't want to mutate any files, but when using relative
# mode, Spack unfortunately *does* mutate rpaths and links ahead of time.
# For now, we only make a full copy of the spec prefix when in relative mode.
if relative:
# tarfile is used because it preserves hardlink etc best.
binaries_dir = workdir
temp_tarfile_name = tarball_name(spec, ".tar")
temp_tarfile_path = os.path.join(tarfile_dir, temp_tarfile_name)
with closing(tarfile.open(temp_tarfile_path, "w")) as tar:
tar.add(name="%s" % spec.prefix, arcname=".")
with closing(tarfile.open(temp_tarfile_path, "r")) as tar:
tar.extractall(workdir)
os.remove(temp_tarfile_path)
else:
binaries_dir = spec.prefix
mkdirp(os.path.join(workdir, ".spack"))
# create info for later relocation and create tar
write_buildinfo_file(spec, workdir, relative)
# optionally make the paths in the binaries relative to each other
# in the spack install tree before creating tarball
if relative:
try:
try:
if relative:
make_package_relative(workdir, spec, allow_root)
except Exception as e:
shutil.rmtree(workdir)
shutil.rmtree(tarfile_dir)
shutil.rmtree(tmpdir)
tty.die(e)
else:
try:
check_package_relocatable(workdir, spec, allow_root)
except Exception as e:
shutil.rmtree(workdir)
shutil.rmtree(tarfile_dir)
shutil.rmtree(tmpdir)
tty.die(e)
elif not allow_root:
ensure_package_relocatable(workdir, binaries_dir)
except Exception as e:
shutil.rmtree(workdir)
shutil.rmtree(tarfile_dir)
shutil.rmtree(tmpdir)
tty.die(e)
# create gzip compressed tarball of the install prefix
# On AMD Ryzen 3700X and an SSD disk, we have the following on compression speed:
@@ -1237,7 +1241,13 @@ def _build_tarball(
# compresslevel=9 python default: llvm takes 12mins, roughly 2.1GB
# So we follow gzip.
with closing(tarfile.open(tarfile_path, "w:gz", compresslevel=6)) as tar:
tar.add(name="%s" % workdir, arcname="%s" % os.path.basename(spec.prefix))
tar.add(name=binaries_dir, arcname=pkg_dir)
if not relative:
# Add buildinfo file
buildinfo_path = buildinfo_file_name(workdir)
buildinfo_arcname = buildinfo_file_name(pkg_dir)
tar.add(name=buildinfo_path, arcname=buildinfo_arcname)
# remove copy of install directory
shutil.rmtree(workdir)
@@ -1298,57 +1308,48 @@ def _build_tarball(
return None
def nodes_to_be_packaged(specs, include_root=True, include_dependencies=True):
def nodes_to_be_packaged(specs, root=True, dependencies=True):
"""Return the list of nodes to be packaged, given a list of specs.
Args:
specs (List[spack.spec.Spec]): list of root specs to be processed
include_root (bool): include the root of each spec in the nodes
include_dependencies (bool): include the dependencies of each
root (bool): include the root of each spec in the nodes
dependencies (bool): include the dependencies of each
spec in the nodes
"""
if not include_root and not include_dependencies:
return set()
if not root and not dependencies:
return []
elif dependencies:
nodes = traverse.traverse_nodes(specs, root=root, deptype="all")
else:
nodes = set(specs)
def skip_node(current_node):
if current_node.external or current_node.virtual:
return True
return spack.store.db.query_one(current_node) is None
# Limit to installed non-externals.
packageable = lambda n: not n.external and n.installed
expanded_set = set()
for current_spec in specs:
if not include_dependencies:
nodes = [current_spec]
else:
nodes = [
n
for n in current_spec.traverse(
order="post", root=include_root, deptype=("link", "run")
)
]
for node in nodes:
if not skip_node(node):
expanded_set.add(node)
return expanded_set
# Mass install check
with spack.store.db.read_transaction():
return list(filter(packageable, nodes))
def push(specs, push_url, specs_kwargs=None, **kwargs):
def push(specs, push_url, include_root: bool = True, include_dependencies: bool = True, **kwargs):
"""Create a binary package for each of the specs passed as input and push them
to a given push URL.
Args:
specs (List[spack.spec.Spec]): installed specs to be packaged
push_url (str): url where to push the binary package
specs_kwargs (dict): dictionary with two possible boolean keys, "include_root"
and "include_dependencies", which determine which part of each spec is
packaged and pushed to the mirror
include_root (bool): include the root of each spec in the nodes
include_dependencies (bool): include the dependencies of each
spec in the nodes
**kwargs: TODO
"""
specs_kwargs = specs_kwargs or {"include_root": True, "include_dependencies": True}
nodes = nodes_to_be_packaged(specs, **specs_kwargs)
# Be explicit about the arugment type
if type(include_root) != bool or type(include_dependencies) != bool:
raise ValueError("Expected include_root/include_dependencies to be True/False")
nodes = nodes_to_be_packaged(specs, root=include_root, dependencies=include_dependencies)
# TODO: This seems to be an easy target for task
# TODO: distribution using a parallel pool
@@ -1565,16 +1566,11 @@ def make_package_relative(workdir, spec, allow_root):
relocate.make_link_relative(cur_path_names, orig_path_names)
def check_package_relocatable(workdir, spec, allow_root):
"""
Check if package binaries are relocatable.
Change links to placeholder links.
"""
def ensure_package_relocatable(workdir, binaries_dir):
"""Check if package binaries are relocatable."""
buildinfo = read_buildinfo_file(workdir)
cur_path_names = list()
for filename in buildinfo["relocate_binaries"]:
cur_path_names.append(os.path.join(workdir, filename))
allow_root or relocate.ensure_binaries_are_relocatable(cur_path_names)
binaries = [os.path.join(binaries_dir, f) for f in buildinfo["relocate_binaries"]]
relocate.ensure_binaries_are_relocatable(binaries)
def dedupe_hardlinks_if_necessary(root, buildinfo):
@@ -1730,16 +1726,16 @@ def is_backup_file(file):
# For all buildcaches
# relocate the install prefixes in text files including dependencies
relocate.unsafe_relocate_text(text_names, prefix_to_prefix_text)
relocate.relocate_text(text_names, prefix_to_prefix_text)
# relocate the install prefixes in binary files including dependencies
relocate.unsafe_relocate_text_bin(files_to_relocate, prefix_to_prefix_bin)
relocate.relocate_text_bin(files_to_relocate, prefix_to_prefix_bin)
# If we are installing back to the same location
# relocate the sbang location if the spack directory changed
else:
if old_spack_prefix != new_spack_prefix:
relocate.unsafe_relocate_text(text_names, prefix_to_prefix_text)
relocate.relocate_text(text_names, prefix_to_prefix_text)
def _extract_inner_tarball(spec, filename, extract_to, unsigned, remote_checksum):
@@ -1777,14 +1773,15 @@ def _extract_inner_tarball(spec, filename, extract_to, unsigned, remote_checksum
raise UnsignedPackageException(
"To install unsigned packages, use the --no-check-signature option."
)
# get the sha256 checksum of the tarball
# compute the sha256 checksum of the tarball
local_checksum = checksum_tarball(tarfile_path)
expected = remote_checksum["hash"]
# if the checksums don't match don't install
if local_checksum != remote_checksum["hash"]:
raise NoChecksumException(
"Package tarball failed checksum verification.\n" "It cannot be installed."
)
if local_checksum != expected:
size, contents = fsys.filesummary(tarfile_path)
raise NoChecksumException(tarfile_path, size, contents, "sha256", expected, local_checksum)
return tarfile_path
@@ -1842,12 +1839,14 @@ def extract_tarball(spec, download_result, allow_root=False, unsigned=False, for
# compute the sha256 checksum of the tarball
local_checksum = checksum_tarball(tarfile_path)
expected = bchecksum["hash"]
# if the checksums don't match don't install
if local_checksum != bchecksum["hash"]:
if local_checksum != expected:
size, contents = fsys.filesummary(tarfile_path)
_delete_staged_downloads(download_result)
raise NoChecksumException(
"Package tarball failed checksum verification.\n" "It cannot be installed."
tarfile_path, size, contents, "sha256", expected, local_checksum
)
new_relative_prefix = str(os.path.relpath(spec.prefix, spack.store.layout.root))
@@ -1938,8 +1937,11 @@ def install_root_node(spec, allow_root, unsigned=False, force=False, sha256=None
tarball_path = download_result["tarball_stage"].save_filename
msg = msg.format(tarball_path, sha256)
if not checker.check(tarball_path):
size, contents = fsys.filesummary(tarball_path)
_delete_staged_downloads(download_result)
raise spack.binary_distribution.NoChecksumException(msg)
raise NoChecksumException(
tarball_path, size, contents, checker.hash_name, sha256, checker.sum
)
tty.debug("Verified SHA256 checksum of the build cache")
# don't print long padded paths while extracting/relocating binaries
@@ -2013,12 +2015,7 @@ def try_direct_fetch(spec, mirrors=None):
fetched_spec = Spec.from_json(specfile_contents)
fetched_spec._mark_concrete()
found_specs.append(
{
"mirror_url": mirror.fetch_url,
"spec": fetched_spec,
}
)
found_specs.append({"mirror_url": mirror.fetch_url, "spec": fetched_spec})
return found_specs
@@ -2320,11 +2317,7 @@ def download_single_spec(concrete_spec, destination, mirror_url=None):
local_tarball_path = os.path.join(destination, tarball_dir_name)
files_to_fetch = [
{
"url": [tarball_path_name],
"path": local_tarball_path,
"required": True,
},
{"url": [tarball_path_name], "path": local_tarball_path, "required": True},
{
"url": [
tarball_name(concrete_spec, ".spec.json.sig"),
@@ -2445,12 +2438,7 @@ def conditional_fetch(self):
response.headers.get("Etag", None) or response.headers.get("etag", None)
)
return FetchIndexResult(
etag=etag,
hash=computed_hash,
data=result,
fresh=False,
)
return FetchIndexResult(etag=etag, hash=computed_hash, data=result, fresh=False)
class EtagIndexFetcher:

View File

@@ -1,15 +1,11 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
"""Function and classes needed to bootstrap Spack itself."""
from .config import ensure_bootstrap_configuration, is_bootstrapping
from .core import (
all_core_root_specs,
ensure_core_dependencies,
ensure_patchelf_in_path_or_raise,
)
from .core import all_core_root_specs, ensure_core_dependencies, ensure_patchelf_in_path_or_raise
from .environment import BootstrapEnvironment, ensure_environment_dependencies
from .status import status_message

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -59,10 +59,7 @@ def _try_import_from_store(module, query_spec, query_info=None):
# to be picked up and used, possibly depending on something in the store, first
# allows the bootstrap version to work when an incompatible version is in
# sys.path
orders = [
module_paths + sys.path,
sys.path + module_paths,
]
orders = [module_paths + sys.path, sys.path + module_paths]
for path in orders:
sys.path = path
try:

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -53,12 +53,7 @@
import spack.util.url
import spack.version
from ._common import (
_executables_in_store,
_python_import,
_root_spec,
_try_import_from_store,
)
from ._common import _executables_in_store, _python_import, _root_spec, _try_import_from_store
from .config import spack_python_interpreter, spec_for_current_python
#: Name of the file containing metadata about the bootstrapping source
@@ -94,22 +89,15 @@ class Bootstrapper:
def __init__(self, conf):
self.conf = conf
self.name = conf["name"]
self.url = conf["info"]["url"]
self.metadata_dir = spack.util.path.canonicalize_path(conf["metadata"])
@property
def mirror_url(self):
"""Mirror url associated with this bootstrapper"""
# Absolute paths
if os.path.isabs(self.url):
return spack.util.url.format(self.url)
# Check for :// and assume it's an url if we find it
if "://" in self.url:
return self.url
# Otherwise, it's a relative path
return spack.util.url.format(os.path.join(self.metadata_dir, self.url))
# Promote (relative) paths to file urls
url = conf["info"]["url"]
if spack.util.url.is_path_instead_of_url(url):
if not os.path.isabs(url):
url = os.path.join(self.metadata_dir, url)
url = spack.util.url.path_to_file_url(url)
self.url = url
@property
def mirror_scope(self):
@@ -117,7 +105,7 @@ def mirror_scope(self):
this bootstrapper.
"""
return spack.config.InternalConfigScope(
self.config_scope_name, {"mirrors:": {self.name: self.mirror_url}}
self.config_scope_name, {"mirrors:": {self.name: self.url}}
)
def try_import(self, module: str, abstract_spec_str: str) -> bool:

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -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@:23.1.0")
def flake8_root_spec():

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -1016,7 +1016,6 @@ def get_cmake_prefix_path(pkg):
def _setup_pkg_and_run(
serialized_pkg, function, kwargs, child_pipe, input_multiprocess_fd, jsfd1, jsfd2
):
context = kwargs.get("context", "build")
try:

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

View File

@@ -1,4 +1,4 @@
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
@@ -110,11 +110,7 @@ class AutotoolsBuilder(BaseBuilder):
phases = ("autoreconf", "configure", "build", "install")
#: Names associated with package methods in the old build-system format
legacy_methods = (
"configure_args",
"check",
"installcheck",
)
legacy_methods = ("configure_args", "check", "installcheck")
#: Names associated with package attributes in the old build-system format
legacy_attributes = (
@@ -427,15 +423,15 @@ def _do_patch_libtool(self):
x.filter(regex="-nostdlib", repl="", string=True)
rehead = r"/\S*/"
for o in [
"fjhpctag.o",
"fjcrt0.o",
"fjlang08.o",
"fjomp.o",
"crti.o",
"crtbeginS.o",
"crtendS.o",
r"fjhpctag\.o",
r"fjcrt0\.o",
r"fjlang08\.o",
r"fjomp\.o",
r"crti\.o",
r"crtbeginS\.o",
r"crtendS\.o",
]:
x.filter(regex=(rehead + o), repl="", string=True)
x.filter(regex=(rehead + o), repl="")
elif self.pkg.compiler.name == "dpcpp":
# Hack to filter out spurious predep_objects when building with Intel dpcpp
# (see https://github.com/spack/spack/issues/32863):

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