Compare commits

...

1455 Commits

Author SHA1 Message Date
Gregory Becker
55ac6fb542 prepend compiler bindir to PATH lower priority than wrapper 2023-03-23 14:04:05 -07:00
Matthieu Dorier
68874a72fb [liburing] Adds liburing package (#35762)
* [liburing] Adds liburing package
* Update var/spack/repos/builtin/packages/liburing/package.py
* [liburing] Added conflicts for darwin and windows platforms

---------

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2023-03-09 11:03:32 -08:00
Harshula Jayasuriya
e560beed19 concretizer.yaml: document valid values for granularity (#35961) 2023-03-09 19:51:11 +01:00
Vanessasaurus
de586bb66c Automated deployment to update package flux-core 2023-03-09 (#35956)
Co-authored-by: github-actions <github-actions@users.noreply.github.com>
2023-03-09 10:25:57 -08:00
Michael Kuhn
846cd05c7e scorep: fix dependencies (#35966)
The overlapping dependency version ranges caused the concretizer to pick
version 7.1 even though version 8.0 is available:
```
==> Error: No version for 'cubelib' satisfies '@4.7.1' and '@4.8'
```

Moreover, Score-P 8.0 requires libbfd:
```
configure: error: bfd.h required
```
2023-03-09 10:12:37 -08:00
Alec Scott
1ef313b604 bdftopcf: add v1.1 (#35845) 2023-03-09 11:40:25 -05:00
Rocco Meli
73026f4f4b Deprecate elpa rc2 (#35953) 2023-03-09 09:28:14 -05:00
Alec Scott
08dd6d1a21 fontconfig: add v2.14.2 (#35861) 2023-03-09 09:13:07 -05:00
Mark W. Krentel
e9173a59fd hpctoolkit: adjust dependency and conflict for xz (#35950)
Hpctoolkit doesn't build cleanly with xz 5.2.7 and 5.2.8 due to a
misuse of the symver attribute.  This is now fixed in 5.2.9 and later.
2023-03-09 08:37:21 -05:00
Benjamin Meyers
7401c97037 New packages: py-fireworks, py-flask-paginate (#35939)
* New packages: py-fireworks, py-flask-paginate

* [@spackbot] updating style on behalf of meyersbs
2023-03-09 04:54:26 -05:00
Benjamin Meyers
15433cfaf1 New package py-custodian (#35938)
* New package py-custodian

* [@spackbot] updating style on behalf of meyersbs
2023-03-09 04:50:31 -05:00
Benjamin Meyers
99aa0ef0cd Update py-boltons (#35937) 2023-03-09 04:46:25 -05:00
Alec Scott
28934e5f77 gawk: add v5.2.1 (#35863) 2023-03-08 21:36:43 -05:00
Michael Kuhn
f08598427d git: add 2.39.2 (#35911) 2023-03-08 19:40:16 -05:00
Michael Kuhn
cc4f7c224a libuv-julia: fix mtime again (#35945)
On some systems touch runs out of order,
so set a equal mtimes to the relevant files
2023-03-08 19:02:38 -05:00
Maciej Wójcik
ee5b2936e4 gcc: Patch building of GCC 5.1-12.1 with glibc >= 2.36 (#35798) 2023-03-08 22:29:57 +01:00
Teo
f7a6446d3f Halide: Add 15.0.0 (#35924) 2023-03-08 16:22:16 -05:00
Tamara Dahlgren
624e28ee03 nek5000/nekcem: test_install -> check_install (#35925) 2023-03-08 16:05:29 -05:00
Auriane R
784e5f5789 Add pika 0.13.0 and pika-algorithms 0.1.2 (#35933)
* Add last release of pika-algorithms + version constraint

* Add pika release 0.13.0
2023-03-08 16:05:11 -05:00
Michael Kuhn
180618b25a p7zip: update checksum for 17.05 (#35923)
See https://github.com/p7zip-project/p7zip/issues/220
2023-03-08 16:04:57 -05:00
Emil Briggs
aefcce51fc rmgdft: add version 5.0.5 (#35922)
* Updated for version 5.0.5.
2023-03-08 15:59:09 -05:00
Weiqun Zhang
884a356b1e amrex: add v23.03 (#35765) 2023-03-08 15:45:16 -05:00
Jean-Baptiste Besnard
ee69f2d516 intel-mpi-benchmarks: variant and conflicts fixes (#35670) 2023-03-08 15:33:28 -05:00
renjithravindrankannath
bc5bb06f1f Provide openmp from rocm-open-extras when tensile uses openmp (#35767)
* Provide openmp from rocm-open-extras when tensile uses openmp
* Correcting audit check failure in rocm-openmp-extras dependency
* Fixing style check error
* rocm-openmp-extras required instead of llvm-amdgpu both varient
2023-03-08 09:57:35 -08:00
Peter Scheibel
1b8561f752 add logging to help users debug where external file searches are taking a long time (#35900) 2023-03-08 09:46:13 -08:00
nicolas le goff
7d54c24939 qwt: lift restrictions on qt version and added an opengl variant and VisIt use (#35734) 2023-03-08 18:38:33 +01:00
Robert Underwood
960923287d gdb: version 13.1 and debuginfod support (#35769)
* gdb: version 13.1 and debuginfod
* gdb: update to autotools helpers

---------

Co-authored-by: Robert Underwood <runderwood@anl.gov>
2023-03-08 08:54:47 -08:00
Scott Wittenburg
4a9ffdcfa2 gitlab ci: Provide a knob to control untouched spec pruning (#35274)
When untouched spec pruning is enabled, specs possibly affected
by a change cannot be pruned from a pipeline.

Previously spack looked at all specs matching changed package
names, and traversed dependents of each, all the way to the
environment root, to compute the set of environment specs
possibly affected by a change (and thus, not candidates for
pruning).

With this PR, when untouched spec pruning is enabled, a new
environment variable can control how far towards the root spack
traverses to compute the set of specs possibly affected by a
change.  SPACK_UNTOUCHED_PRUNING_DEPENDENT_DEPTH can be set
to any numeric value before the "spack ci generate" command
is called to control this traversal depth parameter.  Setting
it to "0" traverses only touched specs, setting it to "1"
traverses only touched specs and their direct dependents, and
so on.  Omitting the variable results in the previous behavior
of traversing all the way to the root.  Setting it to a negative
value means no traversal is done, and always yields an empty
set of possibly affected specs (which would result in the max
pruning possible).
2023-03-08 09:38:07 -07:00
Harmen Stoppels
22d4e79037 buildcache create: reproducible tarballs (#35623)
Currently `spack buildcache create` creates compressed tarballs that
differ between each invocation, thanks to:

1. The gzip header containing mtime set to time.time()
2. The generated buildinfo file which has a different mtime every time.

To avoid this, you have to explicitly construct GZipFile yourself, since
the Python API doesn't expose the mtime arg, and we have to manually
create the tarinfo object for the buildinfo metadata file.

Normalize mode: regular files & hardlinks executable by user, dirs, symlinks: set 0o755 permissions in tarfile; other files use 0o644
2023-03-08 15:51:55 +00:00
Sangu Mbekelu
2777ca83eb new py-thop package (#35889)
* "new py-thop package"

* [@spackbot] updating style on behalf of Sangu-Mbekelu

* Update package.py

modified the url and dependencies

---------

Co-authored-by: Sangu Mbekelu <s.mbekelu9@gmail.com>
2023-03-08 09:12:27 -06:00
Erik Heeren
a2423f5736 py-openmesh: new package (#35907)
* py-openmesh: new package

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

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-03-08 09:11:34 -06:00
Aaron Black
81765e0278 mfem: add missing cublas for cuda support (#35608) 2023-03-08 09:14:46 -05:00
Erik Heeren
0d4f9b26b8 py-parse-type: new package (#35909) 2023-03-08 07:13:30 -05:00
Gerhard Theurich
87c21a58d1 parallelio: new version (#35553) 2023-03-08 07:13:13 -05:00
Alberto Invernizzi
5900378cff newly released 0.8.3 (#35910) 2023-03-08 07:05:13 -05:00
Massimiliano Culpo
d54611af2c Split satisfies(..., strict=True/False) into two functions (#35681)
This commit formalizes `satisfies(lhs, rhs, strict=True/False)`
and splits it into two functions: `satisfies(lhs, rhs)` and
`intersects(lhs, rhs)`.

- `satisfies(lhs, rhs)` means: all concrete specs matching the
   left hand side also match the right hand side
- `intersects(lhs, rhs)` means: there exist concrete specs
   matching both lhs and rhs.

`intersects` now has the property that it's commutative,
which previously was not guaranteed.

For abstract specs, `intersects(lhs, rhs)` implies that
`constrain(lhs, rhs)` works.

What's *not* done in this PR is ensuring that
`intersects(concrete, abstract)` returns false when the
abstract spec has additional properties not present in the
concrete spec, but `constrain(concrete, abstract)` will
raise an error.

To accomplish this, some semantics have changed, as well
as bugfixes to ArchSpec:
- GitVersion is now interpreted as a more constrained
  version
- Compiler flags are interpreted as strings since their
  order is important
- Abstract specs respect variant type (bool / multivalued)
2023-03-08 13:00:53 +01:00
Benjamin Meyers
39adb65dc7 New package: py-imbalanced-learn (#35895)
* New package: py-imbalanced-learn

* Fix typo

* [@spackbot] updating style on behalf of meyersbs

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

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-03-08 07:00:09 -05:00
Rocco Meli
db15e1895f bump elpa (#35908) 2023-03-08 06:59:52 -05:00
Benjamin Meyers
7610926e5e Update and fix py-meldmd (#35783)
* Update/fix py-meldmd; update openmm

* Restrict filter_file based on openmm version

* Updates based on Adam's feedback

* [@spackbot] updating style on behalf of meyersbs

* Break up long filter_file

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-03-08 06:59:35 -05:00
Benjamin Meyers
703f687ca0 Update py-seaborn to @0.12.2 (#35896) 2023-03-08 06:54:17 -05:00
Annop Wongwathanarat
983a56e729 gromacs: add sve variant on aarch64 (#35614) 2023-03-08 10:25:36 +01:00
Brian Vanderwende
cbd0770497 ESMF should use Spack wrappers directly (#35749) 2023-03-08 10:21:51 +01:00
Tamara Dahlgren
b06648eb64 docs: added platform conflicts example, fix quotes (#35771) 2023-03-08 10:10:01 +01:00
QuellynSnead
80d784c401 singularity-eos: (#35625)
The Cray fortran compiler names fortran modules in uppercase by
default. Compile with the "-ef" flag to produce the lowercase
name that singularity-eos is expecting.
2023-03-08 09:58:34 +01:00
downloadico
5b3ad0adaa pgplot: made dependent packages set environment variables from pgplot (#35803) 2023-03-08 09:48:12 +01:00
Richard Berger
3feadc0a36 lammps: GPU/Kokkos package updates (#35885) 2023-03-08 09:46:05 +01:00
Alec Scott
8ec86e05c4 ico: add v1.0.6 (#35881) 2023-03-08 09:33:22 +01:00
Alec Scott
b34fd98915 ftxui: add v4.0.0 (#35868) 2023-03-08 09:33:08 +01:00
Tim Haines
a93d143f17 boost: add v1.81.0 (#34613) 2023-03-08 09:28:17 +01:00
Alec Scott
d0ced9da94 lucene: add v9.5.0 (#35917) 2023-03-08 09:12:51 +01:00
Harmen Stoppels
c37d6f97dc compiler wrapper: parse Wl and Xlinker properly (#35912)
Two fixes:

1. `-Wl,a,b,c,d` is a comma separated list of linker arguments, we
   incorrectly assume key/value pairs, which runs into issues with for
   example `-Wl,--enable-new-dtags,-rpath,/x`
2. `-Xlinker,xxx` is not a think, so it shouldn't be parsed.
2023-03-08 09:03:31 +01:00
Adam J. Stewart
ec73157a34 py-mypy: add v1.1.1 (#35926) 2023-03-08 08:16:01 +01:00
Alec Scott
e447c365ee help2man: add v1.49.3 (#35877) 2023-03-08 02:01:58 -05:00
Alec Scott
c5c67145d3 iso-codes: add v4.13.0 (#35915) 2023-03-08 01:18:10 -05:00
Alec Scott
a5bc83d635 httpie: add v3.2.1 (#35879)
* httpie: add v3.2.1

* Add additional 3.2.1 dependencies to httpie

* Add version condition to dependency

* Reorder dependencies for efficiency

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

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-03-08 01:05:44 -05:00
Alec Scott
1760553b70 lua-luaposix: add v36.1 (#35918) 2023-03-08 00:30:28 -05:00
Alec Scott
62d9bf5fef listres: add v1.0.5 (#35921) 2023-03-07 22:12:35 -05:00
Alec Scott
cb49da1b6f lndir: add v1.0.4 (#35920) 2023-03-07 21:54:19 -05:00
Alec Scott
c79d9ac5bd erlang: add v25.2 (#35856) 2023-03-07 20:29:52 -05:00
Alec Scott
871ca3e805 jchronoss: add v1.2.1 (#35916) 2023-03-07 19:58:21 -05:00
Harmen Stoppels
89176bd3f6 libxc: use gitlab release tarballs for v6.0.0 and greater (#35894)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-03-07 19:57:59 -05:00
Alec Scott
b29a607ceb isl: add v0.25 (#35884) 2023-03-07 18:03:01 -05:00
Alec Scott
0c06ecc711 iceauth: add v1.0.9 (#35880) 2023-03-07 18:02:45 -05:00
Alec Scott
73d1e36da5 imake: add v1.0.9 (#35882) 2023-03-07 18:02:29 -05:00
Erik Heeren
0d57c2ab24 py-numpy-stl: new package (#35892) 2023-03-07 18:02:13 -05:00
Alec Scott
272e69b2fd htslib: add v1.17 (#35883) 2023-03-07 18:01:58 -05:00
Alec Scott
8efde89c0e hivex: add v1.3.23 (#35878) 2023-03-07 18:01:43 -05:00
Alec Scott
c7ec47c658 graphviz: add v7.1.0 (#35876) 2023-03-07 17:56:08 -05:00
Alec Scott
013e82f74f grep: add v3.9 (#35875) 2023-03-07 17:55:46 -05:00
Alec Scott
fff7e6d626 gradle: add v8.0.2 (#35873) 2023-03-07 17:50:06 -05:00
Alec Scott
ac1fe8765a gprolog: add v1.5.0 (#35874) 2023-03-07 17:23:21 -05:00
Alec Scott
acbf46d786 glpk: add v5.0 (#35871) 2023-03-07 17:22:56 -05:00
Alec Scott
a753fa12fb gegl: add v0.4.42 (#35866) 2023-03-07 17:22:35 -05:00
Alec Scott
27b2dc1608 fonttosfnt: add v1.2.2 (#35862) 2023-03-07 17:16:43 -05:00
Alec Scott
d8f8b42bcb fslsfonts: add v1.0.6 (#35869) 2023-03-07 16:58:59 -05:00
Alec Scott
3995428ad2 gatk: add v4.3.0.0 (#35864) 2023-03-07 16:53:15 -05:00
Alec Scott
76d41b7f9f fstobdf: add v1.0.7 (#35870) 2023-03-07 16:36:08 -05:00
Samuel Li
a7501105b1 update SPERR package (#35810)
* update SPERR package
* remove blank line
* update SPERR package
* remove blank line
---------

Co-authored-by: Samuel Li <Sam@Navada>
2023-03-07 12:26:43 -08:00
Adam J. Stewart
da33334488 py-pytorch-lightning: add v1.9.4 (#35791) 2023-03-07 12:08:47 -08:00
Adam J. Stewart
68dfcd10e6 py-pytorch-lightning: torch~distributed not supported in 1.9.0 (#35809) 2023-03-07 12:05:39 -08:00
Alec Scott
4e6a8a40b7 cloog: add v0.18.4 (#35849) 2023-03-07 11:55:00 -08:00
Alec Scott
20f663d089 dnsmasq: add v2.89 (#35851) 2023-03-07 11:54:37 -08:00
Cody Balos
acf61daf99 sundials: add new version (#35796) 2023-03-07 11:52:05 -08:00
Alec Scott
a0233d2560 cmocka: add v1.1.7 (#35848) 2023-03-07 11:49:42 -08:00
Alec Scott
8c989e0aee apr: add v1.7.2, apr-util 1.6.3 (#35832)
* apr: add v1.7.2
* apr-util: add v1.6.3
2023-03-07 11:48:39 -08:00
Alec Scott
2f5e7fb38c awscli: add v1.27.84 (#35836)
* awscli: add v1.27.84

* Add botocore dependency to awscli

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

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

* Add py-botocore@1.29.84 dependency

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-03-07 13:38:17 -06:00
Alec Scott
b9bc911921 cget: add v0.2.0 (#35846) 2023-03-07 13:10:56 -05:00
Alec Scott
462df718ff bc: add v1.07.1 (#35844) 2023-03-07 13:10:33 -05:00
Alec Scott
b20271a8e8 code-server: add v4.10.1 (#35855) 2023-03-07 12:06:01 -05:00
Alec Scott
a62992b4b1 easybuild: add v4.7.0 (#35853)
* easybuild: add v4.7.0

* Add v0.4.7 to all easybuild dependencies

* Reorder versions newest to oldest

* Fix styling on easybuild dependency loop
2023-03-07 12:05:39 -05:00
Alec Scott
818459e6fc dash: add v0.5.12 (#35850) 2023-03-07 11:48:05 -05:00
Alec Scott
38bd499c09 colordiff: add v1.0.21 (#35847) 2023-03-07 11:47:43 -05:00
Alec Scott
f9de4c2da8 aspell: add v0.60.8 (#35834) 2023-03-07 11:47:21 -05:00
Rocco Meli
335ae31a59 Update biopython, gsd, and griddataformats (#35827)
* update mda dependencies

* apply black

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

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

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

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

* remove numpy upper bound

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

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

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

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-03-07 11:47:04 -05:00
Alec Scott
c4e5ee8831 beforelight: add v1.0.6 (#35843) 2023-03-07 11:32:17 -05:00
Alec Scott
73c358819b busybox: add v1.36.0 (#35840) 2023-03-07 11:31:52 -05:00
Alec Scott
6f396aff99 bitmap: add v1.1.0 (#35839) 2023-03-07 11:20:26 -05:00
Alec Scott
047b99fab9 blktrace: add v1.3.0 (#35842) 2023-03-07 10:56:31 -05:00
Alec Scott
a12a290ee1 bmake: add v20230303 (#35841) 2023-03-07 10:56:05 -05:00
Alec Scott
bd6c9085f0 atk: add v2.38.0 (#35833) 2023-03-07 10:55:48 -05:00
Alec Scott
c0a0d60378 appres: add v1.0.6 (#35831) 2023-03-07 10:55:29 -05:00
Alec Scott
bc84ca126e ace: add v7.1.0 (#35829) 2023-03-07 10:55:08 -05:00
Alec Scott
3bb7570e02 alglib: add v3.20.0 (#35830) 2023-03-07 10:44:09 -05:00
Adam J. Stewart
a5b80662ae py-matplotlib: add v3.7.1 (#35822) 2023-03-06 19:02:20 -05:00
John W. Parent
0c5360e3fd Proj: to CMake (#35108)
* update proj

* re-add autotools support

* style

* Setup env in builders

* Drop direct windows conflict for older versions

* Default to CMake

Add new style class definiton

* Proj: setup_run_environment in package not builder

* Proj: move run env changes to pkg, rm cmake arg

* Set PROJ_LIB during build

* Style

* Rm redundant configure arg
2023-03-06 17:23:34 -05:00
Greg Becker
2ff337a2a5 compiler flags: fix multiple compilers with different flags (#35721)
Currently, if two compilers with the same spec differ on the flags, the concretizer will:

1. mix both sets of flags for the spec in the ASP program
2. error noting that the set of flags from the compiler (both of them) doesn't match the set from the lower priority compiler

This PR fixes both -- only flags from the highest priority compiler with a given spec are considered.
2023-03-06 10:29:48 -08:00
Erik Heeren
f3841774f7 py-elasticsearch: new versions (#35764)
* py-elasticsearch: new versions

Also add py-elastic-transport as a new dependency

* py-elasticsearch: py-urllib3 is no longer a dependency

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

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-03-06 10:30:31 -06:00
Alec Scott
97c2dd3a5a Add Hugo v0.111.1 (#35824) 2023-03-05 18:33:23 +01:00
Alec Scott
3aae80ca07 curl: add v7.88.1 and deprecate previous versions due to CVEs (#35825)
* curl: add v7.88.1 and deprecate previous versions due to CVEs

* Add self as a maintainer to curl
2023-03-05 18:32:56 +01:00
Alec Scott
973bc92813 libarchive: add v3.6.2 and deprecate previous versions due to CVE-2022-36227 (#35826) 2023-03-05 18:22:41 +01:00
Todd Gamblin
42a02411b4 windows: use sys.platform == "win32" instead of is_windows (#35640)
`mypy` only understands `sys.platform == "win32"`, not indirect assignments of that
value to things like `is_windows`. If we don't use the accepted platform checks, `mypy`
registers many Windows-only symbols as not present on Linux, when it should skip the
checks for platform-specific code.
2023-03-05 07:58:05 -08:00
Erik Heeren
4561536403 py-simpervisor: correct pypi (#35785) 2023-03-04 10:44:03 -06:00
MicK7
6b694749d3 Update python linting packages (#35811)
* add 2.14.2 py-astroid version

* add py-pylint 2.26.2

* fix black

* fix py-dill depends_on

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

* fix py-astroid minor versionning

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

* modify typing_extensions depends_on

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-03-03 16:06:56 -06:00
MatthewLieber
c0f48b30cf Start using paths found in extra_rpaths in compilers.yaml when building (#35376)
* Start using paths found in extra_rpaths in compilers.yaml when building

* running black and changing maintainer list

* changing import order to pass isort

---------

Co-authored-by: Matthew Lieber <lieber.31@osu.edu>
2023-03-03 13:29:59 -08:00
Massimiliano Culpo
046416479a Polish spack.util.environment (#35812)
Update `spack.util.environment` to remove legacy idioms.
* Remove kwargs from method signature and use a class for traces
* Uppercase a few global variables
* spack.util.environment: add type-hints
* Improve docstrings
* Fixed most style issues reported by pylint
2023-03-03 16:17:27 -05:00
Lucas Frérot
b17113b63d snakemake: added versions 7.19.0-7.22.0 (#35535)
* snakemake: added versions 7.19.0-7.22.0

* snakemake: corrected +reports dependencies
2023-03-03 12:46:29 -06:00
Loïc Pottier
479f5a74a3 py-ipdb: updating versions (#35654)
* py-ipdb: updating versions

Signed-off-by: Loïc Pottier <pottier1@llnl.gov>

* py-ipdb: fixing versions problem and deleting 10.1 which is too old for Python > 3.6

Signed-off-by: Loïc Pottier <pottier1@llnl.gov>

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

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

* py-ipdb: removed useless dependencies

Signed-off-by: Loïc Pottier <pottier1@llnl.gov>

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

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

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

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

* py-ipdb: missing @

Signed-off-by: Loïc Pottier <pottier1@llnl.gov>

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

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

---------

Signed-off-by: Loïc Pottier <pottier1@llnl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-03-03 05:28:40 -05:00
kwryankrattiger
895886959f CI: Fix timeout for VisIt and ParaView (#35787)
ref. #35400
2023-03-03 09:13:14 +01:00
Jean Luca Bez
0bdb0b07fd update github URL (#35789) 2023-03-03 00:23:23 -05:00
Ishaan Desai
817b59900a Update pyprecice v2.5.0.2 (#35788)
* Update versions 2.5.0.0 and 2.5.0.1

* Applying review changes

* Updating incorrect checksum for v2.4.0.0

* Add for loop to define depends_on for preCICE versions and bindings versions

* Formatting

* Missing comma

* Add pyprecice v2.5.0.2
2023-03-03 00:19:17 -05:00
Erik Heeren
2ddd66ca48 py-jupyter-server-proxy: fix dependency condition (#35784)
Too much copypasta
2023-03-03 00:18:31 -05:00
H. Joe Lee
7ddd796f89 scons: add a new version (#35652)
* scons: add a new version

* scons: address @adamjstewart review
2023-03-02 15:14:59 -06:00
downloadico
1e2ef16b39 Add e3sm scorpio (#35794)
* e3sm-scorpio: add e3sm-scorpio package
   This is the Scorpio package from the e3sm.org site.
* fixed style errors
* removed unneeded dependency on cmake
2023-03-02 15:48:55 -05:00
Adam J. Stewart
77355fd348 py-nbstripout: add new package (#35786) 2023-03-02 10:47:48 -07:00
Adam J. Stewart
1facf99f51 py-rtoml: add new package (#35780) 2023-03-02 09:43:36 -08:00
Robert Underwood
07c8939679 julia: fix for libuv and Julia (#35776)
Use correct `shlib_symbol_version` for Julia 1.8, work around issue where libuv-julia's git checkout has arbitrary mtime, causing make to regenerate configure scripts, sometimes.
2023-03-02 16:36:55 +01:00
Erik Heeren
28f4b5729a py-chart-studio: new package (#35759)
* py-chart-studio: new package

* py-chart-studio: add missing six dependency
2023-03-02 08:40:37 -06:00
M. Eric Irrgang
dd7af323ed Add a py-gmxapi package. (#35738)
* Add a `py-gmxapi` package.

This package provides the Python package for the GROMACS
public API. The Python package is not strongly coupled to
a specific GROMACS _version_, but its compiled extension module
is strongly coupled to a specific GROMACS _installation_.

* Update conflict info.

In order to allow `^gromacs@2022.1` while rejecting `^gromacs@2022`,
we need to compare to `gromacs@2022.0`.

* Apply suggestions from code review

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

* Apply suggestions from code review.

* Simplify build system structure.
* Update dependencies for completeness.

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

Per code review, pretend gmxapi <0.4 doesn't exist, for simplicity.

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

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

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

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-03-02 08:37:17 -06:00
Axel Huebl
2ba1f700e6 WarpX: add v23.03 (#35775)
Update `warpx` & `py-warpx` to the latest release.
2023-03-02 04:19:08 -08:00
Adam J. Stewart
739ab89b65 py-kornia: add v0.6.10 (#35554) 2023-03-02 01:08:39 -08:00
Adam J. Stewart
7e5099627f py-pytorch-lightning: add v1.9.3 (#35629) 2023-03-02 00:23:34 -08:00
Brian Van Essen
eb29889f6e Detection of Cray's slingshot detection has relied on the presence of (#35779)
a shared library /lib64/libcxi.so, which seems to also appear on other
non-slingshot systems.  This patch also checks to make sure that there
is a Cray programming enviornment in /opt/cray/pe in addition to the
shared library.
2023-03-01 23:19:20 -08:00
Dmitriy
ae27df4113 Add py-mpi4py as a dependency for henson (#35743)
* Add py-mpi4py as a dependency

* Add maintainers per spackbot's request

* Add type=(build,run) per adamjstewart's suggestion
2023-03-01 22:43:31 -08:00
Adam J. Stewart
ae2c8c02a2 py-torchgeo: kornia backwards-incompatible change (#35570) 2023-03-01 22:13:23 -08:00
Adam J. Stewart
caff9e4292 py-scipy: add v1.10.1 (#35581) 2023-03-01 16:04:23 -08:00
Harmen Stoppels
beb3414b4d py-pygments 2.12; fix py-docutils, again (#35394)
* py-pygments 2.12; fix py-docutils, again

`2.12` is the latest for which our style hack works, beyond that we need
our own package to make a plugin.

Old docutils needs old setuptools

* py-setuptools is always a dep

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

* Update the range

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-03-01 15:53:41 -08:00
Alex Richert
ed07cee852 Add capitalized symlinks for libesmf.{a,so} (#35774)
* Add capitalized symlinks for libesmf.{a,so}
* Add import of lib suffixes
2023-03-01 15:28:46 -08:00
Rémi Lacroix
7c1a164219 GitHub CLI: Add version 2.23.0 (#35761) 2023-03-01 13:59:28 -08:00
Howard Pritchard
18e0b893f2 papi: more fixes for Intel OneAPI compiler (#34048)
The Intel OneAPI's extreme pickiness continues to bring out
buggy/noncompliant code.

This patch fixes an error in the configure.in embedded 'c' test code
and also in a file with an initialized, but unused, variable.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2023-03-01 13:33:55 -08:00
Garth N. Wells
df5b25764b Update FEniCSx libraries to v0.6 (#35600)
* Updates to release 0.6.

* Dep updates

* Dep version fix

* Another version fix

* Fix typo

* UFL version fix

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

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

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

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

* Some updates following review

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

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

* More updates

* More updates

* build/run updates

* Small fix

* Fix version number.

* specify lower bounds for python dependencies

* address style issues

* address style issues

* address PR comments

* amend setuptools dependency to be of type build only

* amend setuptools dependency to be of type run and build for ffcx and ufl

* add build dependency to ensure import tests pass

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Matthew Archer <ma595@cam.ac.uk>
2023-03-01 13:18:23 -08:00
Tiziano Müller
44705b0a6e cp2k: fix builds on macOS, workaround reported issue with __contains__ (#35584)
Co-authored-by: Robert Cohn <rscohn2@gmail.com>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-03-01 12:01:00 -08:00
Erik Heeren
3bb03ea7d1 py-dbf: new versions and dependency (#35760) 2023-03-01 10:49:27 -08:00
luker
3c411bf135 Fix superlu-dist package for cray fortran (#35728)
The superlu-dist code developers modified the code such that the patch
is no longer needer for `@7.2.0:`  (the patch will actually fail)
2023-03-01 10:49:06 -08:00
Erik Heeren
f2363c1cb5 Py dask mpi (#35679)
* py-dask-mpi: new package with dependencies

* py-hatch-jupyter-builder is not needed after all

* skip_modules seems cleaner

* Update var/spack/repos/builtin/packages/py-jupyter-server-proxy/package.py

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

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

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

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-03-01 11:35:55 -06:00
Adam J. Stewart
7188eeb604 py-fiona: add upper bounds to Python versions (#35658)
* py-fiona: add upper bounds to Python versions

* Add error msg
2023-03-01 09:53:20 -06:00
Adam J. Stewart
583d89e95a Simplify spack help --spec output (#35626) 2023-03-01 16:26:59 +01:00
Mosè Giordano
4a24401ed0 wrf: Fix compilation with GCC 10+ (#35177)
Flags `-fallow-argument-mismatch -fallow-invalid-boz` set in `FFLAGS`/`FCFLAGS`
environment variables don't really have effect in older versions of WRF, we need
to force them in the compiler wrappers.

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2023-03-01 07:14:42 -08:00
Wouter Deconinck
2796794b19 py-particle: new versions 0.16.*, 0.20.*, 0.21.* (#35547)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-03-01 14:49:37 +01:00
Wouter Deconinck
dd854e86d9 sartre: new package (#32713) 2023-03-01 14:36:16 +01:00
Valentin Volkl
1500246ab7 vc: improvements for testing (#28887) 2023-03-01 14:29:43 +01:00
MatthewLieber
206cd94c0b mvapich2-gdr/mvapich2x: add v2.3.7, update package config (#33066)
Co-authored-by: Nick Contini <contini.26@osu.edu>
2023-03-01 14:24:34 +01:00
Houjun Tang
ff1a425c8d hdf5-vol-async: add v1.5 (#35636) 2023-03-01 14:16:56 +01:00
Wouter Deconinck
ab999d5af9 dd4hep: depends_on root +webgui when +ddeve ^root @6.28: (#35624) 2023-03-01 14:13:50 +01:00
H. Joe Lee
513ff34e66 dpdk: add a new build system and version (#35647) 2023-03-01 14:08:41 +01:00
H. Joe Lee
b59c8e9a43 isa-l_crypto: add a new package (#35651) 2023-03-01 14:06:37 +01:00
H. Joe Lee
9483e34d15 isa-l: add a new package (#35650) 2023-03-01 14:06:22 +01:00
Alex Richert
7e02139cad upp: add v10.0.8 (#35667) 2023-03-01 14:00:27 +01:00
Alex Richert
a08d86c201 grib-util: fix dependency constraints (#35668) 2023-03-01 13:59:45 +01:00
Hans Fangohr
4e70532cd1 OOMMF: set preferred version (#35675)
With the last merge request for OOMMF [1], the intention was to have version
20b0_20220930 as the preferred version, and provide 20b0_20220930-vanilla as an
additional version for the unlikely case anybody needed that.

I made the (wrong) assumption that the `version` listed first in the `package.py` file
would be the preferred version. This merge request is to correct that by
explicitly tagging the preferred version with `preferred=True`.

[1] https://github.com/spack/spack/pull/33072/files
2023-03-01 13:53:59 +01:00
Glenn Johnson
2d2a1c82d4 docbook: resolve conflict in spack env view (#35682)
If the docbook packages
- docbook-xml
- docbook-xsl

are installed in a spack environment view the catalog files will be in
conflict in the view directory. This PR resolves that by adding an
appropriate prefix to each catalog name so that they are unique in the
view. The resulting XML_CATALOG_FILES environment variable will then be
able to point to both of them.
2023-03-01 04:17:46 -08:00
Wouter Deconinck
a47ebe5784 dd4hep: new versions 1.25, 1.25.1 (#35665) 2023-03-01 12:56:03 +01:00
acastanedam
4f97bb118f elk: add v8.3.22 and fix a few issues (#35678) 2023-03-01 12:55:02 +01:00
Harmen Stoppels
d71eca74a3 mbedtls: new versions and deprecations [CVE-2022-46392] (#35715)
* Add new versions and deprecations [CVE-2022-46392]
* remove maintainer, order versions by major no
2023-03-01 03:14:00 -08:00
Tamara Dahlgren
f88dec43df cbench: renamed test_blas_linkage to check_blas_linkage (#35690) 2023-03-01 12:03:23 +01:00
Wouter Deconinck
2e8306d324 py-uproot: new versions 4.3.*, 5.0.* (#35548) 2023-03-01 11:53:38 +01:00
Adam J. Stewart
d64d77e99e py-torchmetrics: add v0.11.2-3 (#35755) 2023-03-01 02:48:35 -08:00
Cyrus Harrison
d7b11af731 ascent: add v0.9.0 (#35211) 2023-03-01 11:48:15 +01:00
Annop Wongwathanarat
68372a4dfe hpcg: add arm compiler (#35710) 2023-03-01 11:46:12 +01:00
Bill Williams
54500a5fca scorep: more precise dependencies for v7/v8 (#35712) 2023-03-01 11:45:07 +01:00
Adam J. Stewart
146464e063 Docs: fix link to PythonPackage docs (#35725) 2023-03-01 11:14:05 +01:00
Massimiliano Culpo
07e251c887 Remove handling of deprecated target names (graviton) (#35537)
* Update target names for Gitlab pipelines

* Remove handling of deprecated names for graviton
2023-03-01 11:03:12 +01:00
Mosè Giordano
f9f51cb930 Add new versions of Julia dependencies (#35622) 2023-03-01 01:52:28 -08:00
nicolas le goff
ad3c22fae9 gts: add missing pkgconfig dependency (#35657) 2023-03-01 10:49:09 +01:00
AMD Toolchain Support
bedcc5449a quantum-espresso: fix building with aocc (#35612)
Co-authored-by: Tooley, Phil <phil.tooley@amd.com>
2023-03-01 10:47:42 +01:00
Henning Glawe
a1a54fa8b7 nfft: add v3.2.4 (#35757) 2023-03-01 01:42:23 -08:00
Edward Hartnett
2a97bcbd5a bacio: add v2.6.0, including handling of shared library builds (#35490) 2023-03-01 10:29:12 +01:00
Mark W. Krentel
99fb4c4a47 hpctoolkit: add version 2023.03.01, add python variant (#35662)
1. add version 2023.03.01
 2. add variant 'python' that supports unwinding python source
 3. clean up some things with the cray variant
 4. require the latest libmonitor
 5. fix sha256 checksum for url patch
 6. delete rocm 5.3 from older versions
2023-03-01 09:44:32 +01:00
Brian Vanderwende
5b52685216 NCO: add v5.1.4 and v5.1.0 (#35753) 2023-03-01 09:27:25 +01:00
Alex Richert
53a924c20f Fix bufr package typo (libufr->libbufr) (#35740) 2023-02-28 15:56:30 -08:00
Annop Wongwathanarat
09ad541e98 armcomputelibrary: add version 23.02 (#35723) 2023-02-28 23:51:05 +01:00
M. Eric Irrgang
b109e16fba Back-port a patch for filesystem logic in gmx executable. (#35672)
* Backport a patch for relocatable `gmx` executable.

* spack style fixes
2023-02-28 14:18:00 -07:00
Mark W. Krentel
043a80ff9e hpcviewer: add version 2023.02 (#35648) 2023-02-28 11:13:30 -08:00
Matthieu Dorier
b7f7af1713 c-raft: add new package (#35735)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-02-28 11:16:02 -07:00
Rémi Lacroix
e5bd319c19 git-lfs: Add version 3.3.0 (#35671) 2023-02-27 23:58:56 -05:00
Tim Haines
90ad65a6e7 Dyninst: add version 12.3.0 (#35630) 2023-02-27 16:13:47 -08:00
Luke Diorio-Toth
779e80b7c1 Package/py pysam macos (#33851)
* cleaned up style, linked to external htslib

* removed htslib/bcfrools/samtools deps, use bundled libs instead

the pysam package includes the necessary libs to link to, so it wasn't even using linked libs when building

* fixed style

* revert to using external htslib

currently uses bundled samtools and bcftools, and there is no way to use external versions for those dependencies

* added libs property to htslibs package

added support for lib64

* added htslib name
2023-02-27 16:25:21 -06:00
Annop Wongwathanarat
502e216ee2 onednn: add variant to use Arm Compute Library on aarch64 (#35643)
* onednn: add variant to use Arm Compute Library on aarch64

* Update cmake version

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

* Shorten macro definition

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

* Update cpu/gpu_runtime variants

* Update acl variant when 1.7+

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

* [@spackbot] updating style on behalf of annop-w

* Add dependencies for new runtimes

* Fix dependency package name to oneapi-level-zero

---------

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-02-27 13:58:03 -06:00
Wouter Deconinck
d6ff426d48 py-awkward: new version 1.10.*, 2.0.* (#35549)
* py-awkward: new version 1.10.*, 2.0.*

Lots of changes in 2.0.*, see https://github.com/scikit-hep/awkward/releases. This will need some extra testing.

* py-awkward: hatchling

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

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

* py-scikit-build-core: new and improved py-scikit-build

* py-awkward-cpp: new package

* py-awkward: add depends_on py-awkward-cpp

* py-awkward: depends_on py-packaging

* py-awkward-cpp: new versions pinned by py-awkward

* py-scikit-build-core: additional depends_on

* py-awkward: branch master deprecated

* py-pytest-subprocess: new package

* py-pytest: new version 7.2.1

* py-scikit-build-core: add tests dependencies

* [@spackbot] updating style on behalf of wdconinc

* py-scikit-build-core: two more test dependencies

* py-pytest: depends_on py-exceptiongroup

* py-awkward: add pytest support

* py-pytest: suggestions from review

* py-scikit-build-core: suggestions from review

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

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

* py-awkward: depends_on pyyaml when @:1, order old deps last

* [@spackbot] updating style on behalf of wdconinc

* py-awkward: move some opt deps to test, order test deps

* py-awkward: remove test dependencies

---------

Co-authored-by: wdconinc <wdconinc@users.noreply.github.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-02-27 13:51:13 -06:00
Michael Kuhn
c4311a250a pango: add 1.50.13 (#35709) 2023-02-27 09:38:17 -08:00
dlkuehn
ceaa304f5f osi: add version 0.108.7 (#35689)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-02-27 09:10:01 -07:00
dlkuehn
038efa4173 clp: add version 1.17.7 (#35688)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2023-02-27 07:23:00 -08:00
Harmen Stoppels
773fd5ad84 hpctoolkit: fix broken patches (#35711)
The patches don't have a stable checksum.
2023-02-27 10:50:48 +01:00
Seth R. Johnson
9b46e92e13 Celeritas: new versions 0.2.1 and 0.1.5 (#35704)
* celeritas: new versions 0.1.5 and 0.2.1

* celeritas: deprecate old versions
2023-02-27 09:36:28 +00:00
Howard Pritchard
f004311611 OpenMPI: add the 4.1.5 release (#35677)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2023-02-27 00:57:36 -08:00
Glenn Johnson
a4b949492b r-twosamplemr: add new package and dependencies (#35683) 2023-02-27 07:38:27 +01:00
Larry Knox
6ab792fb03 hdf5-vol-cache: add v1.1 (#35685) 2023-02-27 07:35:30 +01:00
Alex Richert
313c7386c4 go: set GOMAXPROCS to limit number of build processes (#35703) 2023-02-27 07:26:50 +01:00
Adam J. Stewart
b0b4a05d44 py-nbqa: add new package (#35707) 2023-02-27 07:22:48 +01:00
Alberto Invernizzi
4e13b5374f fix dump problem (#35673)
if dump file existed it was not truncating the file, resulting in
a file with unaltered filesize, with the new content at the beginning,
"padded" with the tail of the old content, since the new content was
not enough to overwrite it.
2023-02-24 21:32:33 -08:00
Vinícius
07897900eb ompss-2 dependencies (#35642) 2023-02-24 21:22:17 -08:00
Axel Huebl
d286146c64 WarpX 23.02 (#35633)
Update `warpx` & `py-warpx` to the latest release.
2023-02-23 17:09:28 -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
Brian Van Essen
e804671fc0 bugfix rmda-core external find library (#34484)
* Added a more robust check for an external version of the library.
Included a guard to identify when the library gives no discernible
version information and then to substitute with "unknown_ver"
identifier.
2023-01-12 11:41:17 -08:00
Tamara Dahlgren
c0b458e38a Documentation: Add installation policy to packaging guide (#34878) 2023-01-12 11:01:35 -08:00
eugeneswalker
deef4177f7 sed %oneapi@2023.0.0: -Wno-error=incompatible-function-pointer-types (#34898) 2023-01-12 10:53:00 -08:00
John W. Parent
a1c840b3e8 cURL package: add support for building on Windows (#30169) 2023-01-12 10:23:57 -08:00
Mosè Giordano
57e9e77475 gmp: Add cxx variant, and require it in libint package (#34881) 2023-01-12 10:22:56 -08:00
Benjamin Meyers
d260fa59c9 New package: py-fastfold (#34354)
* New package: py-fastfold

* Fix dependencies for py-fastfold

* [py-fastfold] fix types

* [py-fastfold] relax strict versions

* Fix spack style manually

* [py-fastfold] relax python and py-requests upper bounds

* [py-fastfold] remove bad/unecessary depends_on
2023-01-12 12:20:49 -06:00
Wouter Deconinck
0da69a45e3 edm4hep: depends_on nlohmann-json (#34888)
We may pick this up transitively through `root`, but it makes sense to be explicit too.
2023-01-12 09:38:18 -08:00
eugeneswalker
153b79c2ed loki%oneapi@2023.0.0: -Wno-error=dynamic-exception-spec (#34899) 2023-01-12 09:06:38 -08:00
Harmen Stoppels
ffae0db115 Add dummy perl+open variant, use it in external find, require it in libxcrypt (#34867) 2023-01-12 16:41:31 +01:00
Benjamin S. Kirk
37c8ebcafd updating checksummed versions for podman (#34788)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2023-01-12 06:42:27 -08:00
snehring
03fc502da5 r-ncdf4: adding new version 1.21 (#34890) 2023-01-11 16:47:44 -08:00
Wouter Deconinck
b73884d541 gaudi: new versions 36.8, 36.9 (#34822)
* gaudi: new versions 36.8, 36.9
  As of 36.8, the tests use catch2 ([commit](https://gitlab.cern.ch/gaudi/Gaudi/-  /commit/f2cafb5c9d04c9d497d49182258aa3a0440622c0)).
* gaudi: still depends_on fmt@:8
2023-01-11 13:05:00 -08:00
Sam Reeve
43f337d993 Add version 1.1 for ExaCA (#34833) 2023-01-11 12:47:15 -08:00
Christopher Christofi
a8188a9f14 perl-pathtools: add 3.75 (#34787) 2023-01-11 11:51:05 -08:00
Cameron Stanavige
c19638bb0d unifyfs: new release v1.0.1 (#34876)
* unifyfs: new release v1.0.1
  Add 1.0.1 release
  Add new variant for new configure time option

Co-authored-by: CamStan <CamStan@users.noreply.github.com>
2023-01-11 11:33:04 -08:00
Massimiliano Culpo
ccb9969b64 Fix issue when generating compiler hierarchy (#34873)
- [x] Fix bug affecting generation of Lmod modules
2023-01-11 10:09:02 -08:00
Manuela Kuhn
fa93b5219c py-virtualenv: add 20.17.1 (#34859) 2023-01-11 10:08:02 -08:00
Christopher Christofi
42a0cf9b96 py-fasteners: add 0.15 (#34865) 2023-01-11 11:50:00 -06:00
Sreenivasa Murthy Kolam
4b67153613 Update ROCm recipes for 5.3.3 release. (#34862)
* initial commit for 5.3.3 release
* update rocm-openmp-extras for rocm-5.3.3 release
* address review comments and failures
2023-01-11 09:47:27 -08:00
vucoda
c65c944853 Update py-libconf package to newer major version (#34836) 2023-01-11 09:43:06 -08:00
Mike VanDenburgh
ea6608edde Bump memory requests for e4s/ml generate jobs (#34648) 2023-01-11 10:41:42 -07:00
Harmen Stoppels
07499f2355 fix: python tix detection blocks reuse (#34768)
Now that the `tix` variant is conditional, it should also be detected
condititionally, otherwise the spec is invalid and cannot be used during
concretization.
2023-01-11 10:04:20 -07:00
Wileam Y. Phan
781c4823e6 Add fpm 0.7.0 (#34871) 2023-01-11 07:32:39 -08:00
QuellynSnead
71a609b2f4 trilinos: Limit application of "-fuse-ld=gold" for %cce builds (#34875) 2023-01-11 05:47:35 -08:00
Alex Hedges
74595de359 shellcheck: add comments about installing binary (#34877)
ShellCheck is installed with a downloaded binary instead of being
compiled from source, and there should be comments to point out this
unorthodox approach.
2023-01-11 01:17:25 -08:00
eugeneswalker
9d70f6e6c7 protected runner jobs at uo: trust e4s-uo signing key (#34828) 2023-01-10 18:18:38 -07:00
John W. Parent
7365d138fb Build systems: add MSBuild and update NMake (#34659)
Add/update build systems used to build packages on Windows.
2023-01-10 17:03:15 -08:00
Glenn Johnson
b94030cc5d plink: add new version (#34741)
The distribution of this has jumped around a bit. I left the previous
versions as-is.
2023-01-10 16:55:45 -08:00
Harmen Stoppels
4414161787 numactl: remove bash from numactl (#34798)
It doesn't require bash on any registered version, and the file is executable and has a /bin/sh shebang.
2023-01-10 16:22:52 -08:00
Erik Schnetter
881a0d4462 runc: New version 1.1.4 (#34815) 2023-01-10 16:07:56 -08:00
Alex Hedges
8d83af732a shellcheck: add new package (#34831) 2023-01-10 15:31:20 -08:00
Benjamin S. Kirk
a5a2918202 autoconf: fix for long perl shebangs with autoconf@2.70+ (#34331)
autoconf 2.70 uses use warnings instead of -w so that PERL=/usr/bin/env perl can be passed, but we want to fix absolute paths anyhow through sbang upon install. So, we stick to patching the one perl script that's used during the build.
2023-01-10 14:27:29 -08:00
David Zmick
8dc3a09104 ruby-gist: add new package (#34852) 2023-01-10 14:14:49 -08:00
Scott Wittenburg
8f6f77ac9f gitlab ci: fix tags for pipeline generation jobs (#34789)
Gitlab does not merge lists when a job extends two other definitions
that include the same list (e.g. tags).  Also, it merges dictionaries
as long as the keys are distinct, but just takes the last mentioned
value when there are key collisions.

This change makes sure that when different tags are needed by a
pipeline, the ones we want are actually provided.  It also changes
the example stack to better follow this pattern so we do not lead
developers astray in the future.
2023-01-10 10:06:26 -07:00
Wouter Deconinck
d0bd8f74cf root: conflicts +ipo (#34842)
ROOT does not build successfully with `+ipo`, with symptoms as in https://github.com/root-project/root/issues/10777, and discussed most recently in https://github.com/root-project/root/issues/11135. As indicated there, LTO is not a supported build configuration. As of 6.26.10 there is no estimate for a fix since upstream is still broken.
2023-01-10 17:09:10 +01:00
Massimiliano Culpo
9d00e7d15d Remove **kwargs from function signatures in llnl.util.filesystem (#34804)
Since we dropped support for Python 2.7, we can embrace using keyword only arguments 
for many functions in Spack that use **kwargs in the function signature. Here this is done 
for the llnl.util.filesystem module.

There were a couple of bugs lurking in the code related to typo-like errors when retrieving
from kwargs. Those have been fixed as well.
2023-01-10 14:23:42 +01:00
Alex Richert
cc333b600c Add variants for overriding ESMF_OS and ESMF_COMM for ESMF package (#34808)
* Add variants for overriding ESMF_OS and ESMF_COMM for ESMF package

* Add doco for esmf_os/esmf_comm variants
2023-01-10 14:04:16 +01:00
Pranav Sivaraman
006969a8cd xsbench: update version and add cuda support (#34597)
* Update xsbench to version 20

XSBench version 20 has implementations for new
architectures and accelerators.

* Added CUDA support for XSBench

* Fixed style issues
2023-01-10 13:59:30 +01:00
Axel Huebl
d2618cd640 WarpX 23.01 (#34793)
Update `warpx` & `py-warpx` to the latest release.
2023-01-10 04:47:25 -08:00
Jonathon Anderson
807b87068a style: Run mypy last (#34687) 2023-01-10 04:37:41 -08:00
Jonathon Anderson
6879c35d1c FileCache: Delete the new cache file on exception (#34623)
The code in FileCache for write_transaction attempts to delete the temporary file when an exception occurs under the context by calling shutil.rmtree. However, rmtree only operates on directories while the rest of FileCache uses normal files. This causes an empty file to be written to the cache key when unneeded.

Use os.remove instead which operates on normal files.

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2023-01-10 13:36:12 +01:00
Alberto Invernizzi
f1b8bc97f0 neovim: version 0.8.2 (#34777)
* add version 0.8.2

* conflict for newer libvterm versions for older neovim releases

Co-authored-by: Tom Scogland <scogland1@llnl.gov>
2023-01-10 13:29:43 +01:00
Wouter Deconinck
6fefb92413 cernlib: depends_on freetype, libnsl, libxcrypt, openssl; and patch (#34702)
* cernlib: depends_on freetype, libnsl, libxcrypt, openssl; and patch

In addition to #34448, cernlib depends on these additional packages.
This also applies a patch to the current release in which crypto is
specified wbere libcrypt (in libxcrypt) is actually needed. Because
the upstream git repository is behind a CERN login, we cannot patch
by gitlab URL link.

* [@spackbot] updating style on behalf of wdconinc

Co-authored-by: wdconinc <wdconinc@users.noreply.github.com>
2023-01-10 13:25:57 +01:00
Bryce Allen
03a2feef88 pfunit: fix max_array_rank for 4+, line len (#34713)
* pfunit: fix max_array_rank for 4+, line len

* pfunit: only use fortran flags when necessary

* pfunit: fix, version ranges are inclusive
2023-01-10 13:24:02 +01:00
Wouter Deconinck
416615f30b spdlog: new version 1.11.0 depends_on fmt@9: when +fmt_external (#34731)
This adds a new version of spdlog,
https://github.com/gabime/spdlog/releases/tag/v1.11.0

While the release notes are ambiguous, I think that this PR,
https://github.com/gabime/spdlog/issues/2485, indicates that
spdlog from that point on uses features of fmt@9:.
2023-01-10 13:20:32 +01:00
Adam J. Stewart
b62c4276c9 py-pydocstyle: add v6.2 (#34785) 2023-01-10 13:17:00 +01:00
Carson Woods
b9861f7bbb Add new versions of Reframe (#34801) 2023-01-10 13:09:18 +01:00
Erik Schnetter
856fe5941a libcap: 2.66 & GOLANG=no (#34813)
Co-authored-by: Harmen Stoppels <me@harmenstoppels.nl>
2023-01-10 13:02:32 +01:00
Wileam Y. Phan
0f7f600d1f Add CUDA 12.0 (#34664) 2023-01-10 11:51:23 +01:00
eugeneswalker
9283a94ee4 e4s ci: use 2023-01-01 runner image (#34827) 2023-01-10 10:47:28 +00:00
Adam J. Stewart
726dee9e2d py-scipy: add v1.10.0 (#34799)
* py-scipy: add v1.10.0

* Update GCC/LAPACK version requirements

* Fix msvc version check
2023-01-10 11:43:55 +01:00
Stephen Sachs
b5a5af8c05 [adios2] Older versions of ifx (oneapi) fail compilation (#34819)
See https://community.intel.com/t5/Intel-Fortran-Compiler/version-node-not-found-for-symbol/m-p/1443784/thread-id/164290

Fixes https://github.com/spack/spack/issues/31817

Co-authored-by: Stephen Sachs <stesachs@amazon.com>
2023-01-10 11:39:42 +01:00
Sebastian Ehlert
289d6df911 Update mongo-cxx-driver (#34843) 2023-01-10 11:38:23 +01:00
dependabot[bot]
6158e4d8aa build(deps): bump actions/upload-artifact from 3.1.1 to 3.1.2 (#34848)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](83fd05a356...0b7f8abb15)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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-10 11:23:13 +01:00
Mosè Giordano
8c3c8a4e4d libxsmm: Add build dependency on binutils (#34863) 2023-01-10 11:22:01 +01:00
Erik Schnetter
954e241174 pgplot: Correct building shared libraries (#34846) 2023-01-10 11:20:30 +01:00
Erik Schnetter
ae3a1618a2 simulationio: Explicitly enable/disable support for dependent packages (#34803)
* simulationio: Explicitly enable/disable support for dependent packages

* simulationio: Remove unused local variable
2023-01-10 11:18:39 +01:00
Sreenivasa Murthy Kolam
0d96b0b311 rocm packages: Update the version for 5.3.0 release (#33405)
* update the version for 5.3.0 release
* update the rocwmma for 5.3.0 release
* fix the +hip variant
* update the version for rocm-openmp-extras package for 5.3.0 release
* update the hipsolver and hipfft as per review comments
* address review comments
* revert changes to mivisionx with regard to change added for clangrt
* fix for the petsc failure
2023-01-09 18:50:00 -08:00
Erik Schnetter
f96f8a99e8 mpiwrapper: New version 2.10.1 (#34850) 2023-01-09 18:02:45 -08:00
Adam J. Stewart
94cff84df1 py-black: add v22.12.0 (#34429) 2023-01-09 19:31:47 -06:00
Rémi Lacroix
582ee111f6 MAFFT: Add latest version 7.505 (#34855) 2023-01-09 16:09:13 -08:00
Rémi Lacroix
c55de3f5e0 pv: Add version 1.6.20 (#34854) 2023-01-09 15:07:36 -08:00
renjithravindrankannath
0bdd4c10cf RVS 5.1.0 and later works with googletest shared variant (#34802) 2023-01-09 14:41:40 -08:00
John Parent
521cc41db0 Remove Spack external find from startup
Spack was running an external detection of Python during each invocation
of the setup script for Windows CMD/PWSH, which has dramatic performance
implications each time the script is invoked, and is completely
unneccesary. Remove this operation.
2023-01-09 09:14:17 -08:00
John Parent
c0eb2cf9e6 Update haspywin
Inform user Spack is installing pyWin32 module behind the scenes.
This is neccesary for Windows support.
2023-01-09 09:14:17 -08:00
John Parent
9f0bb4301f Support ASCI control
Windows CMD prompt does not automatically support ASCI color control
characters on the console from Python. Enable this behavior by
accessing the current console and allowing the interpreation of ASCI
control characters from Python via the win32 API.
2023-01-09 09:14:17 -08:00
Stephen Sachs
288e728144 openfoam: OneAPI is only supported from 2106 onwards (#34797)
Also, adios2 fortran bindings are not necessary. This circumvents
https://github.com/spack/spack/issues/31817

Co-authored-by: Stephen Sachs <stesachs@amazon.com>
2023-01-09 12:19:23 +01:00
Harmen Stoppels
47011f594f Revert "Allow spec.json files to be clearsigned, use transparent compression for *.json (#34490)" (#34856)
This reverts commit 8a1b817978.
2023-01-09 10:52:07 +01:00
Marco De La Pierre
a00f692f20 adding 3rd bunch of nf-core deps from update/nextflow-tools (#34563)
* adding 2nd bunch of nf-core deps from update/nextflow-tools

* adding 3rd bunch 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>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-08 20:06:59 -08:00
Adam J. Stewart
68bffd4689 GDAL: add v3.6.2 (#34823) 2023-01-07 13:57:18 +01:00
Wouter Deconinck
5acb20f145 acts: new version 22.0.0 (#34826)
No build system changes.
2023-01-07 13:56:37 +01:00
Harmen Stoppels
8a1b817978 Allow spec.json files to be clearsigned, use transparent compression for *.json (#34490)
This commit allows (remote) spec.json files to be clearsigned and gzipped.

The idea is to reduce the number of requests and number of bytes transferred
2023-01-07 12:22:40 +01:00
Marco De La Pierre
86e346e906 Adding recipes for py-qutip and py-qutip-qip (#34835)
* added recipes for py-qutip and py-qutip-qip

* small fix

* updated qutip 2x versions

* py-qutip-qip: tarball url from github

* style fix in py-qutip-qip

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

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

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

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

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

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

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-06 17:22:03 -08:00
Marco De La Pierre
a5ef522f98 Adding py-pennylane from Xanadu (#34838)
* draft for py-pennylane recipe

* first draft for py-strawberryfields recipe

* minimal fix

* small fixes

* accounting for circular dep in py-pennylane and py-pennylane-lightning

* removing py-strawberryfields from this branch

* updated versions for py-pennylane 2x

* needs cmake

* py-pennylane-lightning using github tarball

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-06 16:02:06 -08:00
Verinder Rana
800ac7b53d kripke: add cuda and rocm support (#34257) 2023-01-06 15:57:00 -08:00
Luke Diorio-Toth
691e8c69c4 py-instrain and py-drep: new version and added maintainer (#34581) 2023-01-06 13:26:19 -06:00
QuellynSnead
ea970c8ab8 Fix PrgEnv detection (#34845)
* Fix PrgEnv detection for Cray compiler link paths
2023-01-06 18:11:43 +00:00
Erik Schnetter
c05827e794 mpiwrapper: New version 2.10.0 (#34795) 2023-01-06 15:46:04 +01:00
Erik Schnetter
910b13000f cni-plugins: New version 1.1.1 (#34809) 2023-01-06 15:45:25 +01:00
Erik Schnetter
9474fdf910 conmon: New version 2.1.5 (#34810) 2023-01-06 15:44:55 +01:00
Erik Schnetter
2cdac9392f go-md2man: New version 2.0.2 (#34811) 2023-01-06 15:44:35 +01:00
Erik Schnetter
6775c10e82 go: New version 1.19.4 (#34812) 2023-01-06 15:44:12 +01:00
Erik Schnetter
ea5d5517ce libseccomp: New version 2.5.4 (#34814) 2023-01-06 15:43:48 +01:00
Erik Schnetter
8780c718ea slirp4netns: New version 1.2.0 (#34816) 2023-01-06 15:07:22 +01:00
Erik Schnetter
9687491568 podman: New version 4.3.1 (#34817) 2023-01-06 15:06:36 +01:00
Erik Schnetter
9c56b97aa9 mpitrampoline: New version 5.2.0 (#34796) 2023-01-06 15:04:59 +01:00
Auriane R
df10e711f7 Fix the version number for the fmt dep of pika package (#34839)
* Fix the version number for the fmt dep of pika package

* Add version constraint for fmt standard specification
2023-01-06 14:59:23 +01:00
Harmen Stoppels
6fdb5dfa0a cabana: version ranges (#34794)
Co-authored-by: Sam Reeve <6740307+streeve@users.noreply.github.com>
2023-01-05 19:21:57 +01:00
Stephen Sachs
ada174afbd cmake fails with icpc warning (#34774)
The Intel compiler isn't able to deal with noinline member functions of template classses defined in headers. As such it outputs
```
warning #2196: routine is both "inline" and "noinline"
```
cmake bootstrap will fail due to the word 'warning'.

See spack/var/spack/repos/builtin/packages/protobuf/intel-v2.patch for reference.

The issue does not appear with intel@2021.7.0 or later:

```
$~: compiler=/shared/spack/opt/spack/linux-amzn2-x86_64_v3/gcc-12.2.0/intel-oneapi-compilers-2022.2.0-uqvb2553zy5toeapvoopacndd27x6p5m/compiler/2022.2.0/linux/bin/intel64/icpc
$~: $compiler unique.c
icpc: remark #10441: The Intel(R) C++ Compiler Classic (ICC) is deprecated and will be removed from product release in the second half of 2023. The Intel(R) oneAPI DPC++/C++ Compiler (ICX) is the recommended compiler moving forward. Please transition to use this compiler. Use '-diag-disable=10441' to disable this message.
```

This is a clean version of https://github.com/spack/spack/pull/34167

Co-authored-by: Stephen Sachs <stesachs@amazon.com>
2023-01-05 18:13:26 +01:00
Massimiliano Culpo
eace2ebb08 spack.dependency: add type hints (#34807) 2023-01-05 17:48:29 +01:00
Brent Huisman
441c0a4fee Typo in arbor/package.py: incorrect version (#34820) 2023-01-05 13:55:31 +01:00
Sinan
0a7b0c68cf package/libproxy: fix py3 install (#34431)
* package/libproxy: fix py3 install

* improve readability

* fix bug

* also add extend

* make flake happy

* [@spackbot] updating style on behalf of Sinan81

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

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

* python dependency implied by extends const.

* disable python variant by default

* add run_env, add py conflict

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

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

* set env for macos as well

* generalize lib dir detection

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Sinan81 <Sinan81@users.noreply.github.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-04 15:01:13 -06:00
Massimiliano Culpo
6a44a146af Fix building docs 2023-01-04 09:43:04 -08:00
Massimiliano Culpo
033cb86fd6 Add vendored packages back 2023-01-04 09:43:04 -08:00
Massimiliano Culpo
5175189412 Delete outdated externals 2023-01-04 09:43:04 -08:00
Massimiliano Culpo
86378502f9 Use "vendoring" to manage 3rd party dependencies 2023-01-04 09:43:04 -08:00
Sinan
2530c7828b add_new_package: py-file-magic (#34486)
* add_new_package: py-file-magic

* re-order depends...

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

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

* [@spackbot] updating style on behalf of Sinan81

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Sinan81 <Sinan81@users.noreply.github.com>
2023-01-04 11:08:58 -06:00
Erik Heeren
ab2f842424 Add py-svgpath and py-trimesh (#34471)
* Add py-svgpath and dependency

* Update copyright expiration

* [@spackbot] updating style on behalf of heerener

* Process review remarks

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

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

* Fix style issue

* py-trimesh: cleanup and optional dependencies

* Fix formatting issue

* py-trimesh: complete dependency list for easy variant

Two new packages: py-mapbox-earcut and py-pycollada

* Some more missing dependencies

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-04 11:00:00 -06:00
Harmen Stoppels
b9f48da560 e4s: move default values for rocm/cuda arch into packags:all:variants (#34772) 2023-01-04 16:09:14 +01:00
Harmen Stoppels
e21c1c5770 set PREFIX in make() for some packages (#34773) 2023-01-04 15:08:15 +01:00
Massimiliano Culpo
310b6b9466 Remove dead code that was needed for the old parser (#34792)
The old to token definitions and spec_id_re regular
expression are not used anymore
2023-01-04 05:47:21 -08:00
Alberto Invernizzi
a869cfd95d Fix libvterm and libtermkey packages (#34776)
* fix PREFIX for both libvterm and libtermkey

* minor: use libtool from dependency

* switch to command-line prefix instead of replacing it in Makefile
2023-01-04 10:27:21 +01:00
Glenn Johnson
ddab6c4ac3 new package: py-kb-python + dependencies (#34737)
* new package: py-kb-python + dependencies

- py-loompy
- py-ngs-tools
- py-numpy-groupies

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-03 16:35:43 -06:00
Glenn Johnson
25cff6be14 py-shortuuid: add version 1.0.11 (#34739)
* py-shortuuid: add version 1.0.11

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2023-01-03 16:35:13 -06:00
kwryankrattiger
5fe1281b14 LLVM: Update HWLOC dep version (#34780) 2023-01-03 12:42:49 -08:00
Sebastian Grabowski
43cf60814d jube: Add versions 2.5.0 and 2.5.1 (#34783)
* jube: Add 2.5.0 and 2.5.1

* jube: Depend on py-pyyaml
2023-01-03 12:17:32 -08:00
John W. Parent
582f165871 Windows: package defaults and MPI detection (#34614)
* Update packages config to indicate that MSVC is the preferred compiler
* Update packages config to indicate that msmpi is the preferred MPI provider
* Fix msmpi external detection
2023-01-03 08:32:18 -08:00
Harmen Stoppels
bf76f1e774 scr: require spath+mpi (#34775)
It includes `spath_mpi.h` explicitly, and in some concretizations
results in a build failure. (Don't ask me why the concretizer picks
`spath~mpi`).
2023-01-03 09:53:48 -06:00
Harmen Stoppels
9cdb862856 gmake: 4.4, remove alpha release (#34709) 2023-01-02 14:07:24 -08:00
Harmen Stoppels
2e8d165120 environment view use new traversal (#34662) 2023-01-02 19:04:55 +01:00
Christoph Junghans
6984ee291a votca: add v2022.1 (#34650) 2023-01-02 19:02:59 +01:00
Wouter Deconinck
10d506d61b pixman: new versions 0.42.0, 0.42.2 (#34723)
This fixes, [among other things](https://lists.freedesktop.org/archives/pixman/2022-October/004993.html),
a [bug](https://issuetracker.google.com/issues/249834910) in 0.40.0 that
prevents building with oneapi.
2023-01-02 18:58:41 +01:00
Adam J. Stewart
4549312c5e py-sphinx: add v6.0.0 (#34724) 2023-01-02 18:57:49 +01:00
Glenn Johnson
80761bdc9d libxau: add libs property (#34288) 2023-01-02 18:47:18 +01:00
Glenn Johnson
4eb853856a r-affyio: add zlib dependency (#34743) 2023-01-02 18:33:27 +01:00
Glenn Johnson
790929c832 r-cairo: add needed dependency on libxt (#34744) 2023-01-02 18:33:15 +01:00
Glenn Johnson
769378c959 r-hdf5array: add needed dependency on zlib (#34745) 2023-01-02 18:32:59 +01:00
Glenn Johnson
a18e2f98b3 r-rhdf5: add needed zlib dependency (#34746) 2023-01-02 18:32:44 +01:00
Glenn Johnson
8f3bdf29dc r-rhdf5filters: add needed zlib dependency (#34747) 2023-01-02 18:32:31 +01:00
Glenn Johnson
a28bb90b93 r-rhdf5lib: add needed zlib dependency (#34748) 2023-01-02 18:32:17 +01:00
Glenn Johnson
5c9b591439 r-rjava: add needed zlib dependency (#34749) 2023-01-02 18:31:56 +01:00
Glenn Johnson
778325db42 r-rtracklayer: add zlib and openssl dependencies (#34750) 2023-01-02 18:31:37 +01:00
Glenn Johnson
f65bb62de4 r-signac: added needed zlib dependency (#34751) 2023-01-02 18:31:22 +01:00
Glenn Johnson
e4881d5465 bcftools: add version 1.15.1 (#34752) 2023-01-02 18:31:08 +01:00
Glenn Johnson
31cccdf52b genrich: add needed zlib dependency (#34753) 2023-01-02 18:29:23 +01:00
Glenn Johnson
2c1523debe mumax: Set NVCC_CCBIN to spack compiler wrapper (#34754) 2023-01-02 18:28:45 +01:00
Glenn Johnson
c07881c843 openscenegraph: add dependency on fontconfig (#34755) 2023-01-02 18:28:28 +01:00
Glenn Johnson
cb807594b8 rsl: add needed dependency on rpc (#34756) 2023-01-02 18:28:10 +01:00
Michael Kuhn
0227c0a98a miniconda3: add 22.11.1 (#34761) 2023-01-02 18:22:45 +01:00
Michael Kuhn
20a1cdd95e anaconda3: add 2022.10 (#34762) 2023-01-02 18:21:23 +01:00
Wouter Deconinck
2a779c1234 mesa: new versions up to v22.3.2 (#34760)
disable gallium-xvmc when @:22.2
2023-01-02 18:11:03 +01:00
Weiqun Zhang
3f6109404d amrex: add v23.01 and v22.12 (#34764)
Since amrex@22.12, CUDA >= 11 is needed for C++17 support.  Since
amrex@23.01 oneAPI >= 2023 is needed for SYCL 2020.
2023-01-02 18:07:41 +01:00
Wouter Deconinck
f83d47442d dd4hep: depends_on root +x +opengl when +utilityapps (#34765)
UtilityApps builds teveDisplay and fails when ROOT has no ROOT::Gui and ROOT::Eve targets.
2023-01-02 17:56:34 +01:00
Wouter Deconinck
08aafe180b singularity: bugfix add space between prefix and other options (#34766)
This fixes two issues introduced in #34474: prefix got the next
option appended, and property was not resolved without the self.
2023-01-02 17:55:30 +01:00
Peter Brady
9cbbe64cf7 emacs: json variant & cleanup (#34665)
Co-authored-by: Harmen Stoppels <me@harmenstoppels.nl>
2023-01-02 07:17:04 -08:00
Cyrus Harrison
2b006bb6ec add conduit 0.8.5 release and caliper variant (#34669) 2023-01-02 16:00:44 +01:00
Alex Richert
5509392151 libpng static (#34578) 2023-01-02 15:12:41 +01:00
lorddavidiii
2001be99b3 doxygen: use tarballs instead of git checkouts and add 1.9.5 (#34654)
* doxygen: use tarballs instead of git checkouts and add 1.9.5

* Doxygen: add 1.9.6
2023-01-02 08:44:34 -05:00
Rocco Meli
dd4409b62c libxc: add v6.0.0 (#34621) 2023-01-02 04:26:54 -08:00
Todd Gamblin
ca265ea0c2 style: fix spurious mypy errors from numpy (#34732)
Spack imports `pytest`, which *can* import `numpy`. Recent versions of `numpy` require
Python 3.8 or higher, and they use 3.8 type annotations in their type stubs (`.pyi`
files). At the same time, we tell `mypy` to target Python 3.7, as we still support older
versions of Python.

What all this means is that if you run `mypy` on `spack`, `mypy` will follow all the
static import statements, and it ends up giving you this error when it finds numpy stuff
that is newer than the target Python version:

```
==> Running mypy checks
src/spack/var/spack/environments/default/.spack-env/._view/4g7jd4ibkg4gopv4rosq3kn2vsxrxm2f/lib/python3.11/site-packages/numpy/__init__.pyi:638: error: Positional-only parameters are only supported in Python 3.8 and greater  [syntax]
Found 1 error in 1 file (errors prevented further checking)
  mypy found errors
```

We can fix this by telling `mypy` to skip all imports of `numpy` in `pyproject.toml`:

```toml
   [[tool.mypy.overrides]]
   module = 'numpy'
   follow_imports = 'skip'
   follow_imports_for_stubs = true
```

- [x] don't follow imports from `numpy` in `mypy`
- [x] get rid of old rule not to follow `jinja2` imports, as we now require Python 3
2023-01-01 01:05:17 +00:00
Glenn Johnson
7a92579480 py-fisher: add version 0.1.10 (#34738) 2022-12-31 12:48:21 -06:00
Glenn Johnson
190dfd0269 py-youtube-dl: add version 2021.12.17 (#34740) 2022-12-31 12:42:58 -06:00
Massimiliano Culpo
b549548f69 Simplify creation of test and install reports (#34712)
The code in Spack to generate install and test reports currently suffers from unneeded complexity. For
instance, we have classes in Spack core packages, like `spack.reporters.CDash`, that need an
`argparse.Namespace` to be initialized and have "hard-coded" string literals on which they branch to
change their behavior:

```python
if do_fn.__name__ == "do_test" and skip_externals:
    package["result"] = "skipped"
else:
    package["result"] = "success"
package["stdout"] = fetch_log(pkg, do_fn, self.dir)
package["installed_from_binary_cache"] = pkg.installed_from_binary_cache
if do_fn.__name__ == "_install_task" and installed_already:
    return
```
This PR attempt to polish the major issues encountered in both `spack.report` and `spack.reporters`.

Details:
- [x] `spack.reporters` is now a package that contains both the base class `Reporter` and all 
      the derived classes (`JUnit` and `CDash`)
- [x] Classes derived from `spack.reporters.Reporter` don't take an `argparse.Namespace` anymore
       as argument to `__init__`. The rationale is that code for commands should be built upon Spack
       core classes, not vice-versa.
- [x] An `argparse.Action` has been coded to create the correct `Reporter` object based on command
       line arguments
- [x] The context managers to generate reports from either `spack install` or from `spack test` have
       been greatly simplified, and have been made less "dynamic" in nature. In particular, the `collect_info`
       class has been deleted in favor of two more specific context managers. This allows for a simpler
       structure of the code, and less knowledge required to client code (in particular on which method to patch)
- [x] The `InfoCollector` class has been turned into a simple hierarchy, so to avoid conditional statements
       within methods that assume a knowledge of the context in which the method is called.
2022-12-30 10:15:38 -08:00
Heiko Bauke
79268cedd2 mpl: add v0.2.1, v0.2.0 (#34716) 2022-12-30 09:21:58 -08:00
Satish Balay
2004171b7e petsc, py-petsc4py: add v3.18.3 (#34725) 2022-12-30 10:49:21 +01:00
Todd Gamblin
06312ddf18 bugfix: setgid tests fail when primary group is unknown (#34729)
On systems with remote groups, the primary user group may be remote and may not exist on
the local system (i.e., it might just be a number). On the CLI, it looks like this:

```console
> touch foo
> l foo
-rw-r--r-- 1 gamblin2 57095 0 Dec 29 22:24 foo
> chmod 2000 foo
chmod: changing permissions of 'foo': Operation not permitted
```

Here, the local machine doesn't know about per-user groups, so they appear as gids in
`ls` output. `57095` is also `gamblin2`'s uid, but the local machine doesn't know that
`gamblin2` is in the `57095` group.

Unfortunately, it seems that Python's `os.chmod()` just fails silently, setting
permissions to `0o0000` instead of `0o2000`. We can avoid this by ensuring that the file
has a group the user is known to be a member of.

- [x] Add `ensure_known_group()` in the permissions tests.
- [x] Call `ensure_known_group()` on tempfile in `test_chmod_real_entries_ignores_suid_sgid`.
2022-12-30 10:24:35 +01:00
Todd Gamblin
3a0db729c7 docs: avoid errors by using type hints instead of doc types (#34707)
There are a number of places in our docstrings where we write "list of X" as the type, even though napoleon doesn't actually support this. It ends up causing warnings when generating docs.

Now that we require Python 3, we don't have to rely on type hints in docs -- we can just use Python type hints and omit the types of args and return values from docstrings.

We should probably do this for all types in docstrings eventually, but this PR focuses on the ones that generate warnings during doc builds.

Some `mypy` annoyances we should consider in the future:
1. Adding some of these type annotations gets you:
    ```
    note: By default the bodies of untyped functions are not checked, consider using --check-untyped-defs  [annotation-unchecked]
    ```
   because they are in unannotated functions (like constructors where we don't really need any annotations).
   You can silence these with `disable_error_code = "annotation-unchecked"` in `pyproject.toml`
2. Right now we support running `mypy` in Python `3.6`.  That means we have to support `mypy` `.971`, which does not support `disable_error_code = "annotation-unchecked"`, so I just filter `[annotation-unchecked]` lines out in `spack style`.
3. I would rather just turn on `check_untyped_defs` and get more `mypy` coverage everywhere, but that will require about 1,000 fixes.  We should probably do that eventually.
4. We could also consider only running `mypy` on newer python versions.  This is not easy to do while supporting `3.6`, because you have to use `if TYPE_CHECKING` for a lot of things to ensure that 3.6 still parses correctly.  If we only supported `3.7` and above we could use [`from __future__ import annotations`](https://mypy.readthedocs.io/en/stable/runtime_troubles.html#future-annotations-import-pep-563), but we have to support 3.6 for now. Sigh.

- [x] Convert a number of docstring types to Python type hints
- [x] Get rid of "list of" wherever it appears
2022-12-29 16:45:09 -08:00
dependabot[bot]
9759331f43 build(deps): bump actions/setup-python from 4.3.1 to 4.4.0 (#34667)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.3.1 to 4.4.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](2c3dd9e7e2...5ccb29d877)

---
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>
2022-12-29 14:57:58 +01:00
downloadico
ceca97518a trinity: add version 2.15.0-FULL (#34666) 2022-12-29 11:13:47 +01:00
Brent Huisman
1929d5e3de arbor: add v0.8.1 (#34660) 2022-12-29 11:07:17 +01:00
Lucas Frérot
238e9c3613 tamaas: added v2.6.0 (#34676) 2022-12-29 11:04:33 +01:00
Jim Galarowicz
d43e7cb5cd survey: add v1.0.7 (#34679) 2022-12-29 11:00:45 +01:00
Christopher Christofi
51a037d52a perl-archive-zip: add 1.68 (#34684) 2022-12-29 10:57:32 +01:00
Tim Haines
c91f8c2f14 boost: apply 'intel-oneapi-linux-jam.patch' to all versions since 1.76 (#34670) 2022-12-29 10:56:45 +01:00
Christopher Christofi
04ad42e5ee perl-appconfig: add v1.71 (#34685) 2022-12-29 10:55:41 +01:00
Alex Hedges
d02c71e443 git-filter-repo: add new package (#34690) 2022-12-29 10:53:19 +01:00
David Zmick
ca6e178890 jq: set -D_REENTRANT for builds on darwin (#34691) 2022-12-29 10:49:09 +01:00
Jed Brown
b145085fff libceed: add v0.11.0 (#34694) 2022-12-29 10:31:25 +01:00
AMD Toolchain Support
3a4b96e61c AOCC: add v4.0.0 (#33833) 2022-12-29 10:30:35 +01:00
Adam J. Stewart
36d87a4783 py-numpy: add v1.24.1 (#34697) 2022-12-29 10:23:20 +01:00
Wouter Deconinck
6d2645f73b libpsl: new versions through 0.21.2 (#34699)
This adds the final bugfix versions through the 0.21.2 just released.

With 0.21.1 the tag name pattern was changed, hence url_for_version.
2022-12-29 10:22:27 +01:00
Wouter Deconinck
44f7363fbe cernlib: depends_on libxaw libxt (#34448)
Based on the following lines in the top level `CMakeLists.txt` (I can't deep link since gitlab.cern.ch not public), `cernlib` needs an explicit dependency on `libxaw` and `libxt`:
```cmake
find_package(X11  REQUIRED)
message(STATUS "CERNLIB: X11_Xt_LIB=${X11_Xt_LIB} X11_Xaw_LIB=${X11_Xaw_LIB} X11_LIBRARIES=${X11_LIBRARIES}")
```
2022-12-29 09:25:07 +01:00
Wouter Deconinck
9d936a2a75 singularity, apptainer: --without-conmon into @property config_options (#34474)
Per https://github.com/spack/spack/issues/34192, apptainer does not support `--without-conmon`, so we introduce a base class `config_options` property that can be overridden in the `apptainer` package.
2022-12-29 09:24:41 +01:00
Wouter Deconinck
18438c395d dd4hep: depends_on virtual tbb instead of intel-tbb (#34704)
Recent changes to dd4hep remove the explicit dependency
on an older version of intel-tbb. This makes this explicit
in the spack package.
2022-12-29 09:13:28 +01:00
wspear
28a30bcea6 veloc: add v1.6 and dependencies (#34706) 2022-12-29 09:12:51 +01:00
Alex Richert
536c7709c2 Change regex in bacio patch to avoid python re bug (#34668) 2022-12-29 08:50:27 +01:00
Todd Gamblin
e28738a01e bugfix: make texinfo build properly with gettext (#34312)
`texinfo` depends on `gettext`, and it builds a perl module that uses gettext via XS
module FFI. Unfortunately, the XS modules build asks perl to tell it what compiler to
use instead of respecting the one passed to configure.

Without this change, the build fails with this error:

```
parsetexi/api.c:33:10: fatal error: 'libintl.h' file not found
         ^~~~~~~~~~~
```

We need the gettext dependency and the spack wrappers to ensure XS builds properly.

- [x] Add needed `gettext` dependency to `texinfo`
- [x] Override XS compiler with `PERL_EXT_CC`

Co-authored-by: Paul Kuberry <pakuber@sandia.gov>
2022-12-28 15:20:53 -08:00
Todd Gamblin
5f8c706128 Consolidate how Spack uses git (#34700)
Local `git` tests will fail with `fatal: transport 'file' not allowed` when using git 2.38.1 or higher, due to a fix for `CVE-2022-39253`.

This was fixed in CI in #33429, but that doesn't help the issue for anyone's local environment. Instead of fixing this with git config in CI, we should ensure that the tests run anywhere.

- [x] Introduce `spack.util.git`.
- [x] Use `spack.util.git.get_git()` to get a git executable, instead of `which("git")` everywhere.
- [x] Make all `git` tests use a `git` fixture that goes through `spack.util.git.get_git()`.
- [x] Add `-c protocol.file.allow=always` to all `git` invocations under `pytest`.
- [x] Revert changes from #33429, which are no longer needed.
2022-12-28 00:44:11 -08:00
Rémi Lacroix
558695793f CPMD: Remove now unused "import" 2022-12-27 13:06:08 -08:00
Rémi Lacroix
b43a27674b CPMD: Update for open-source release
CPMD has been open-sourced on GitHub so manual download is no longer needed. The patches have been included in the new 4.3 release.
2022-12-27 13:06:08 -08:00
Massimiliano Culpo
3d961b9a1f spack graph: rework to use Jinja templates and builders (#34637)
`spack graph` has been reworked to use:

- Jinja templates
- builder objects to construct the template context when DOT graphs are requested. 

This allowed to add a new colored output for DOT graphs that highlights both
the dependency types and the nodes that are needed at runtime for a given spec.
2022-12-27 15:25:53 +01:00
Todd Gamblin
d100ac8923 types: fix type annotations and remove novm annootations for llnl module
Apparently I forgot to do this in #34305.
2022-12-26 22:28:44 +01:00
Harmen Stoppels
e8fa8c5f01 timer: pick a single unit based on max duration. 2022-12-26 22:28:44 +01:00
Todd Gamblin
be6bb413df spack solve: use consistent units for time
`spack solve` is supposed to show you times you can compare. setup, ground, solve, etc.
all in a list. You're also supposed to be able to compare easily across runs. With
`pretty_seconds()` (introduced in #33900), it's easy to miss the units, e.g., spot the
bottleneck here:

```console
> spack solve --timers tcl
    setup        22.125ms
    load         16.083ms
    ground        8.298ms
    solve       848.055us
    total        58.615ms
```

It's easier to see what matters if these are all in the same units, e.g.:

```
> spack solve --timers tcl
    setup         0.0147s
    load          0.0130s
    ground        0.0078s
    solve         0.0008s
    total         0.0463s
```

And the units won't fluctuate from run to run as you make changes.

-[x] make `spack solve` timings consistent like before
2022-12-26 22:28:44 +01:00
Adam J. Stewart
d23c302ca2 qt-base: ~network by default (#34688) 2022-12-26 10:19:03 -06:00
Rohit Goswami
ed0c1cea91 py-pytest-datadir: Init at 1.4.1 (#34692)
* py-pytest-datadir: Init at 1.4.1

* py-pytest-data-dir: Fix missing dep

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

Co-authored-by: "Adam J. Stewart" <ajstewart426@gmail.com>
2022-12-24 11:42:05 -07:00
Lucas Frérot
ffc42e287d py-uvw: added v0.5.0 (#34677) 2022-12-24 11:12:44 -06:00
Ralf Gommers
ba0d182e10 Update py-meson-python (0.11.0, 0.12.0) and meson (0.64.1, 1.0.0) (#34675)
* Update py-meson-python versions (0.11.0, 0.12.0)

* Update `meson` to version 0.64.1

* Add Meson 1.0.0

* Apply code review suggestions
2022-12-23 19:22:19 -07:00
David Zmick
8d8104de2c tmux: add 3.3a (#34671) 2022-12-24 01:52:32 +01:00
Adam J. Stewart
7975e0afbc QMakeBuilder: fix bug introduced during multi-bs refactor (#34683) 2022-12-23 13:57:44 -06:00
Adam J. Stewart
4a43522763 py-kornia: add v0.6.9 (#34652) 2022-12-22 15:13:52 -07:00
Adam J. Stewart
30343d65ba libelf: fix build on macOS x86_64 (#34646) 2022-12-22 14:58:32 -07:00
Alex Richert
38c1639c9c bacio: fix typo in patch method (#34663) 2022-12-22 18:59:32 +01:00
Wouter Deconinck
be5033c869 sherpa: add v2.2.13 (#34628) 2022-12-22 10:58:21 -07:00
Adam J. Stewart
eb67497020 ML CI: Linux x86_64 (#34299)
* ML CI: Linux x86_64

* Update comments

* Rename again

* Rename comments

* Update to match other arches

* No compiler

* Compiler was wrong anyway

* Faster TF
2022-12-22 11:31:40 -06:00
Loïc Pottier
371268a9aa added py-dynim package (#34651)
Signed-off-by: Loïc Pottier <48072795+lpottier@users.noreply.github.com>

Signed-off-by: Loïc Pottier <48072795+lpottier@users.noreply.github.com>
2022-12-22 09:55:18 -06:00
Andrew Wood
344e8d142a Restrict a patch of rhash to versions >=1.3.6 (#34310) 2022-12-22 08:02:15 -07:00
Harmen Stoppels
161fbfadf4 Fix combine_phase_logs text encoding issues (#34657)
Avoid text decoding and encoding when combining log files, instead
combine in binary mode.

Also do a buffered copy which is sometimes faster for large log files.
2022-12-22 15:32:48 +01:00
Wladimir Arturo Garces Carrillo
3304312b26 neve: add new package (#34596)
Co-authored-by: WladIMirG <WladIMirG@users.noreply.github.com>
2022-12-22 07:27:07 -07:00
Alec Scott
3279ee7068 Add --fresh to docs to actually upgrade spack environments (#34433) 2022-12-22 11:19:24 +00:00
Todd Gamblin
8f3f838763 docs: show module documentation before submodules (#34258)
Currently, the Spack docs show documentation for submodules *before* documentation for
submodules on package doc pages. This means that if you put docs in `__init__.py` in
some package, the docs in there will be shown *after* the docs for all submodules of the
package instead of at the top as an intro to the package. See, e.g.,
[the lockfile docs](https://spack.readthedocs.io/en/latest/spack.environment.html#module-spack.environment),
which should be at the
[top of that page](https://spack.readthedocs.io/en/latest/spack.environment.html).

- [x] add the `--module-first` option to sphinx so that it generates module docs at top of page.
2022-12-22 11:50:48 +01:00
Todd Gamblin
09864d00c5 docs: remove monitors and analyzers (#34358)
These experimental features were removed in #31130, but the docs were not.

- [x] remove the `spack monitor` and `spack analyze` docs
2022-12-22 11:47:13 +01:00
Benjamin S. Kirk
0f7fa27327 librsvg: add 2.40.21, which does not require rust (#34585)
* librsvg: add 2.40.21, which does not require rust and has some security backports

https://download.gnome.org/sources/librsvg/2.40/librsvg-2.40.21.news

* librsvg: prevent finding broken gtkdoc binaries when ~doc is selected.

On my CentOS7 hosts, ./configure finds e.g. /bin/gtkdoc-rebase even when
~doc is selected.  These tools use Python2, and fail with an error:
"ImportError: No module named site"

So prevent ./configure from finding these broken tools when not building
the +doc variant.
2022-12-22 11:28:30 +01:00
Rocco Meli
a27139c081 openbabel: add 3.1.0 and 3.1.1 (#34631) 2022-12-22 03:17:50 -07:00
Vasileios Karakasis
4d4338db16 reframe: rework recipe, add v4.0.0-dev4 (#34584) 2022-12-22 09:53:42 +01:00
Annop Wongwathanarat
6d64ffdd1a quantum-espresso: enable linking with armpl-gcc and acfl for BLAS and FFT (#34416) 2022-12-22 09:50:51 +01:00
Harmen Stoppels
e9ea9e2316 index.json.hash, no fatal error if key cannot be fetched (#34643) 2022-12-22 09:48:05 +01:00
Benjamin Fovet
2a5509ea90 kokkos: add v3.7.01 (#34645)
Co-authored-by: Benjamin Fovet <benjamin.fovet@cea.fr>
2022-12-22 09:45:13 +01:00
Adam J. Stewart
b9d027f0cc py-pytorch-lightning: add v1.8.6 (#34647) 2022-12-22 09:43:57 +01:00
Christopher Christofi
6d54dc2a44 perl-config-simple: add 4.58 (#34649) 2022-12-22 09:43:41 +01:00
renjithravindrankannath
6cd9cbf578 Using corresponding commit ids of hiprand for each releases (#34545) 2022-12-22 09:36:14 +01:00
Alex Richert
72e81796d1 bacio: patch for v2.4.1 (#34575) 2022-12-22 09:12:29 +01:00
Andre Merzky
f116e6762a add py-psij-python and py-pystache packages (#34357)
* add psij package and deps

* update hashes, URLs

* linting

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

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

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

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

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

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

* Update package.py

apply suggested change

* Update package.py

apply suggested change

* Update package.py

ensure maintainer inheritance

* add psij to exaworks meta-package

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2022-12-21 20:07:35 -07:00
Howard Pritchard
c74bbc6723 paraview: patch catalyst etc. to build with oneapi (#33562)
without this patch, build of paraview has a meltdown when reaching 3rd party catalyst and other packages
with these types of errors:

   335    /tmp/foo/spack-stage/spack-stage-paraview-5.10.1-gscoqxhhakjyyfirdefuhmi2bzw4scho/spack-src/VTK/ThirdParty/fmt/vtkfmt/vtkfmt/format.h:1732:11: error: cannot capture a bi
            t-field by reference
   336          if (sign) *it++ = static_cast<Char>(data::signs[sign]);
   337              ^

Signed-off-by: Howard Pritchard <howardp@lanl.gov>

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2022-12-21 17:07:24 -07:00
Harmen Stoppels
492a603d5e json: remove python 2 only code (#34615) 2022-12-21 14:18:12 -07:00
Adam J. Stewart
dab68687bd py-cartopy: older versions don't support Python 3.10 (#34626) 2022-12-21 21:23:22 +01:00
Thomas Madlener
1a32cea114 podio: add v0.16.2 (#34606) 2022-12-21 12:52:47 -07:00
Hector Martinez-Seara
aaec76652b relion: add v4.0.0 (#34600) 2022-12-21 20:41:13 +01:00
Michael Kuhn
f748911ea0 glib: add 2.74.3 (#34603) 2022-12-21 20:40:04 +01:00
Cory Bloor
e60e74694f rocm: make amdgpu_target sticky (#34591)
The sticky property will prevent clingo from changing the amdgpu_target
to work around conflicts. This is the same behaviour as was adopted for
cuda_arch in 055c9d125d.
2022-12-21 20:21:20 +01:00
Sergey Kosukhin
2ef026b8c6 eckit: skip broken test (#34610) 2022-12-21 20:20:05 +01:00
Mark W. Krentel
a6c2569b18 hpctoolkit: replace filter_file with upstream patch (#34604)
Replace the filter_file for older configure with rocm 5.3 with an
upstream patch.  Further, the patch is no longer needed for develop or
later releases.
2022-12-21 20:18:58 +01:00
shanedsnyder
5483b5ff99 dashan-runtime,darshan-util,py-darshan: update package versions for darshan-3.4.2 (#34583) 2022-12-21 20:18:27 +01:00
louisespellacy-arm
2b78a7099d arm-forge: add 22.1.2 (#34569) 2022-12-21 20:09:42 +01:00
lpoirel
34cdc6f52b starpu: add conflict for ~blocking +simgrid (#34616)
see 1f5a911d43
2022-12-21 20:09:23 +01:00
Adam J. Stewart
3aafdb06c9 py-pyproj: add new versions (#34633) 2022-12-21 20:00:53 +01:00
Harmen Stoppels
4a22c1c699 urlopen: handle timeout in opener (#34639) 2022-12-21 19:40:26 +01:00
Andrey Perestoronin
f021479ef0 feat: 🎸 Add new 2023.0.0 oneVPL package (#34642) 2022-12-21 11:07:41 -07:00
Manuela Kuhn
3f374fb62f py-vcrpy: add 4.2.1 (#34636) 2022-12-21 11:02:55 -07:00
Niclas Jansson
949be42f32 neko: add v0.5.0 (#34640) 2022-12-21 11:02:37 -07:00
Rob Falgout
e5abd5abc1 hypre: add v2.27.0 (#34625) 2022-12-21 11:02:23 -07:00
Harmen Stoppels
4473d5d811 etags for index.json invalidation, test coverage (#34641)
Implement an alternative strategy to do index.json invalidation.

The current approach of pairs of index.json / index.json.hash is
problematic because it leads to races.

The standard solution for cache invalidation is etags, which are
supported by both http and s3 protocols, which allows one to do
conditional fetches.

This PR implements that for the http/https schemes. It should also work
for s3 schemes, but that requires other prs to be merged.

Also it improves unit tests for index.json fetches.
2022-12-21 18:41:59 +01:00
Mikael Simberg
c3e61664cf Add patch for pika on macOS (#34619) 2022-12-21 13:41:49 +01:00
Manuela Kuhn
c3217775c3 py-scikit-image: add 0.19.3 (#34618)
* py-scikit-image: add 0.19.3

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-12-20 12:59:48 -06:00
kwryankrattiger
58a7e11db9 DAV: VTK-m needs to install examples for smoke test (#34611)
SDK deployment targets being able to validate and run VTK-m via spack
deployments, so examples should be installed.
2022-12-20 09:56:50 -08:00
Andrey Perestoronin
ac570bb5c4 2023.0.0 oneAPI release promotion (#34617) 2022-12-20 08:47:08 -07:00
Massimiliano Culpo
b2c806f6fc archspec: add support for zen4 (#34609)
Also add:
- Upper bound for Xeon Phi compiler support
- Better detection for a64fx
2022-12-20 11:22:50 +01:00
Nicholas Knoblauch
bd613b3124 Remove dep on jupyter meta-package (#34573) 2022-12-19 17:22:34 -06:00
Manuela Kuhn
f1b85bc653 py-nipype: add 1.8.5 and py-looseversion: add new package (#34608) 2022-12-19 13:25:22 -06:00
Hector Martinez-Seara
e1fab4dd51 Gromacs: added version 2022.4 (#34599) 2022-12-19 15:30:20 +01:00
Anton Kozhevnikov
a924079f66 [ELPA] add sha256 for elpa-2022.11.001.rc2.tar.gz (#33439) 2022-12-19 04:12:02 -07:00
Adam J. Stewart
c5aff1d412 py-horovod: patch no longer applies (#34593) 2022-12-19 11:49:02 +01:00
Adam J. Stewart
6c9602ee64 aws-sdk-cpp: add v1.10.32 (#34592) 2022-12-19 11:48:31 +01:00
Adam J. Stewart
64327bfef0 py-pyvista: add v0.37.0 (#34590) 2022-12-19 11:48:01 +01:00
Adam J. Stewart
05c3cb7cc9 netcdf-cxx: add patch to fix macOS build (#34588) 2022-12-19 11:46:33 +01:00
Adam J. Stewart
c87b251639 XNNPACK: fix build on macOS, update deps (#34555) 2022-12-19 11:44:56 +01:00
Adam J. Stewart
f2332a17d3 Node.js: new versions, newer Python support, macOS fixes (#34478) 2022-12-19 11:40:31 +01:00
Adam J. Stewart
c7f24a132e py-numpy: add v1.24.0 (#34602) 2022-12-18 17:17:06 -07:00
Alec Scott
96a7af1dd2 Add py-docstring-to-markdown v0.11 (#34595) 2022-12-18 14:59:47 -06:00
eugeneswalker
db1caa9e92 intel-oneapi-dpl: add v2022.0.0 (#34601) 2022-12-18 13:44:23 -05:00
iarspider
237d26460d LLVM: replace libelf dependency with elf (#34265)
* LLVM: replace libelf dependency with elf

I didn't test this extensively, but in CMS LLVM builds just fine with elfutils.

* [@spackbot] updating style on behalf of iarspider

Co-authored-by: iarspider <iarspider@users.noreply.github.com>
2022-12-17 14:44:27 -08:00
Harmen Stoppels
1020b65297 fix != -> == typo (#34568) 2022-12-17 20:15:15 +01:00
Adam J. Stewart
dceb4c9d65 Update PyTorch ecosystem (#34582) 2022-12-17 11:51:59 -07:00
Alex Richert
50570ea334 Add static-only option for ESMF (#34576) 2022-12-17 04:27:22 -07:00
eugeneswalker
7e836b925d e4s: disable mac stack due to binary relocation issue#32571 (#34560) 2022-12-17 10:53:15 +00:00
Benjamin S. Kirk
cec3da61d2 Add gimp & dependent packages (#34558)
* exiv2: add new versions

* babl: new package required to build GIMP

* gegl: new package required to build GIMP

* gexiv2: new package required to build GIMP

* libmypaint: new package required to build GIMP

* mypaint-brushes: new package required to build GIMP

* vala: new package required to build GIMP

* GIMP: new package definition for building GIMP-2.10 from source

* libjxl: update for 0.7.0

* libwmf: a library for reading vector images in Windows Metafile Format (WMF)

* libde265: an open source implementation of the h.265 video codec

* libwebp: add new versions

* GIMP: additional variants for building GIMP-2.10 from source

* libde265: remove boilerplate

* fixes for style precheck

* updates based on feedback

* fixes for style precheck
2022-12-17 03:52:56 -07:00
Mikhail Titov
7ed53cf083 Update package versions: RADICAL-Cybertools (RE, RG, RP, RS, RU) (#34572)
* rct: update packages (RE, RG, RP, RS, RU) with new versions

* re: fixed radical-pilot requirement for radical-entk
2022-12-16 22:24:00 -07:00
eugeneswalker
bdc3ab5b54 intel-oneapi-compilers: add v2023.0.0 (#34571) 2022-12-16 21:38:51 -07:00
Jack Morrison
5a985e33ea Add --enable-orterun-prefix-by-default configure option for OpenMPI (#34469) 2022-12-16 17:59:24 -07:00
Bernhard Kaindl
9817593c1c Automake requires Thread::Queue, but it is only provided with in perl+threads. (#34076)
Update the depends_on("perl") to depends_on("perl+threads").

This and #34074 is needed to properly handle e.g. the perl-Thread-Queue
rpm package:

It may not be installed on RedHat-based hosts, which can lead to automake
build failures when `spack external find perl` or `spack external find --all`
was used to use the system-provided perl install.
2022-12-16 16:11:11 -08:00
Rémi Lacroix
1cc78dac38 octopus: Ensure MPI is used consistently (#33969)
Some variants have MPI dependencies, make sure they can be used only when the `mpi` variable is enabled.
2022-12-16 15:17:37 -08:00
Marco De La Pierre
e2c5fe4aa3 adding 2nd bunch of nf-core deps from update/nextflow-tools (#34562)
* adding 2nd bunch of nf-core deps from update/nextflow-tools

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Apply suggestions from code review

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-12-16 15:18:49 -07:00
Marco De La Pierre
1bf87dbb5d Adding first bunch of recipes for dependencies of nf-core-tools (#34537)
* 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

* commit to merge packages on focus from update/nextflow-tools

* nf-core: commenting galaxy dep for this pr

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

* removed nf-core-tools from this branch, will be back at the end

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-12-16 14:28:51 -07:00
Sam Reeve
ffe527b141 Add HACCabana proxy app (#34567) 2022-12-16 14:03:08 -07:00
John W. Parent
642c5b876b Compiler detection: avoid false recognition of MSVC (#34574)
Interim fix for #34559

Spack's MSVC compiler definition uses ifx as the Fortran compiler.
Prior to #33385, the Spack MSVC compiler definition required the
executable to be called "ifx.exe"; #33385 replaced this with just
"ifx", which inadvertently led to ifx falsely indicating the
presence of MSVC on non-Windows systems (which leads to future
errors when attempting to query/use those compiler objects).

This commit applies a short-term fix by updating MSVC Fortran
version detection to always indicate a failure on non-Windows.
2022-12-16 19:22:04 +00:00
Brian Spilner
8b7bd6dc74 new release cdo-2.1.1 (#34548) 2022-12-16 11:16:32 -08:00
Adam J. Stewart
2f97dc7aa6 py-pytorch-lightning: add v1.8.5 (#34557) 2022-12-16 11:10:19 -08:00
Adam J. Stewart
958d542f81 GDAL: add v3.6.1 (#34556) 2022-12-16 10:32:54 -08:00
Vicente Bolea
b1aae1c2ed vtk-m: add v2.0.0-rc1 (#34561) 2022-12-16 10:31:10 -08:00
SXS Bot
690f9d69fe spectre: add v2022.12.16 (#34570)
* spectre: add v2022.12.16
* [@spackbot] updating style on behalf of sxs-bot

Co-authored-by: sxs-bot <sxs-bot@users.noreply.github.com>
2022-12-16 11:27:56 -07:00
Marc Joos
a78c16a609 add version 3.6.4 to wi4mpi (#34565) 2022-12-16 10:26:46 -08:00
snehring
7bb2d3cca3 nwchem: restricting current versions to python@3.9 at latest (#34506) 2022-12-16 17:20:19 +01:00
Paul Kuberry
7216050dd3 libzmq: make location of libsodium explicit (#34553) 2022-12-15 16:17:15 -07:00
eugeneswalker
2f26e422d6 nco: add v5.0.6 (#34512) 2022-12-15 15:42:13 -07:00
Brian Van Essen
3477d578a3 roctracer: fixed a bug in how the external is identified (#33517)
Make the package a proper ROCm package.
2022-12-15 23:29:36 +01:00
Zack Galbreath
aa8e1ba606 gitlab ci: more resources for slow builds (#34505) 2022-12-15 14:35:54 -07:00
Manuela Kuhn
08e007e9a6 py-traits: add 6.4.1 (#34550) 2022-12-15 13:10:16 -06:00
eugeneswalker
d6fb65ebc6 eckit: add v1.19.0 (#34510) 2022-12-15 10:38:24 -08:00
eugeneswalker
2b5be919dd odc: add v1.4.5 (#34513) 2022-12-15 10:38:06 -08:00
Sebastian Grimberg
cc2dff48a8 arpack-ng: add variant for ISO C binding support (#34529)
Co-authored-by: Sebastian Grimberg <sjg@amazon.com>
2022-12-15 10:56:13 -07:00
Massimiliano Culpo
22922bf74c Propagate exceptions from Spack python console (#34547)
fixes #34489

Customize sys.excepthook to raise SystemExit when
any unhandled exception reaches the hook.
2022-12-15 18:08:53 +01:00
Sean Koyama
8a02463d7d IntelOneApiPackage: add envmods variant to toggle environment modifications by oneapi packages (#34253)
Co-authored-by: Sean Koyama <skoyama@anl.gov>
Co-authored-by: Robert Cohn <robert.s.cohn@intel.com>
2022-12-15 17:52:09 +01:00
Harmen Stoppels
c6465bd9bd Add a proper deprecation warning for update-index -d (#34520) 2022-12-15 17:45:32 +01:00
Harmen Stoppels
9025caed6e Remove warning in download_tarball (#34549) 2022-12-15 14:03:30 +00:00
Massimiliano Culpo
7056a4bffd Forward lookup of the "run_tests" attribute (#34531)
fixes #34518

Fix an issue due to the MRO chain of the package wrapper
during build. Before this PR we were always returning
False when the builder object was created before the
run_tests method was monkey patched.
2022-12-15 09:35:33 +01:00
snehring
d2aa8466eb metabat: adding missing build dependency (#34530) 2022-12-15 09:23:59 +01:00
Loïc Pottier
6e4684fbca talass: fixed URLs so the package is reachable (#34387)
Signed-off-by: Loïc Pottier <pottier1@llnl.gov>
2022-12-15 09:23:05 +01:00
Brian Vanderwende
fcbf617d38 ncl: add RPC lib with ncl+hdf4 (#34451) 2022-12-15 09:22:00 +01:00
downloadico
1f8b55a021 Add G'MIC package with only the "cli" target available (#34533) 2022-12-15 09:19:50 +01:00
David Gardner
b5f8ed07fb sundials: fix typo in smoke tests (#34539) 2022-12-15 09:07:54 +01:00
Thomas Madlener
65bd9b9ac5 podio, edm4hep: add v0.7.2 and v0.16.1 respectively (#34526)
Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2022-12-15 09:02:16 +01:00
Adam J. Stewart
6250d84b41 cpuinfo: new versions, shared libs (#34544) 2022-12-15 09:00:51 +01:00
Wouter Deconinck
99056e03bd acts: new versions 19.11.0, 21.0.0, 21.1.0 (#34540)
* acts: new versions 19.11.0, 21.0.0, 21.1.0

https://github.com/acts-project/acts/compare/v19.10.0...v19.11.0:
- python 3.8 required if ACTS_BUILD_EXAMPLES_PYTHON_BINDINGS

https://github.com/acts-project/acts/compare/v20.3.0...v21.0.0:
- python 3.8 required if ACTS_BUILD_EXAMPLES_PYTHON_BINDINGS

https://github.com/acts-project/acts/compare/v21.0.0...v21.1.0:
- no build system changes

* acts: depends_on python@3.8: when sometimes
2022-12-15 08:56:32 +01:00
Fabien Bruneval
1db849ee5f libcint: Fix +coulomb_erf and add +pypzpx (#34524) 2022-12-15 05:31:58 +01:00
Thomas Madlener
2f82b213df lcio: add latest version (#34527) 2022-12-15 05:06:59 +01:00
Axel Huebl
2a5f0158bc ParaView: Add openPMD Support (#33821)
openPMD, a metadata standard on top of backends like ADIOS2 and HDF5,
is implemented in ParaView 5.9+ via a Python3 module.

Simplify Conflicts & Variant

Add to ECP Data Vis SDK
2022-12-14 20:45:27 -07:00
Manuela Kuhn
21a1f7dd97 py-traitlets: add w5.7.1 (#34525) 2022-12-14 21:34:51 -06:00
David Boehme
4b5ed94af4 caliper: add version 2.9.0 (#34538) 2022-12-15 03:52:53 +01:00
snehring
06788019a4 apptainer: add new version 1.1.4 (#34536) 2022-12-15 02:06:22 +01:00
Sam Grayson
cab8f795a7 Patch dill._dill._is_builtin_module (#34534)
* Patch dill._dill._is_builtin_module

* Fix style

* Add test
2022-12-14 16:03:03 -07:00
finkandreas
2db38bfa38 py-archspec: replace removed .build_directory with .stage.source_path (#34521) 2022-12-15 00:00:21 +01:00
Harmen Stoppels
ea029442e6 Revert "Revert "Use urllib handler for s3:// and gs://, improve url_exists through HEAD requests (#34324)"" (#34498)
This reverts commit 8035eeb36d.

And also removes logic around an additional HEAD request to prevent
a more expensive GET request on wrong content-type. Since large files
are typically an attachment and only downloaded when reading the
stream, it's not an optimization that helps much, and in fact the logic
was broken since the GET request was done unconditionally.
2022-12-14 23:47:11 +01:00
Axel Huebl
43e38d0d12 WarpX 22.11, 22.12 & PICMI-Standard (#34517)
* PICMI: 0.0.22

* WarpX: 22.11, 22.12
2022-12-14 13:59:16 -08:00
Marco De La Pierre
2522c8b754 edits to 8x existing recipes, mostly new versions, plus two dependency fixes (#34516) 2022-12-14 12:28:33 -07:00
Marco De La Pierre
f64cb29aea Nextflow, Tower Agent, Tower CLI: updates (#34515)
* renamed tower-agent and tower-cli with prefif nf-

* new nextflow package version

* added newest versions (today) for nf-tower-agent and nf-tower-cli
2022-12-14 11:44:22 -07:00
Erik Heeren
80e30222e1 New neuroscience packages: py-bmtk, py-neurotools (#34464)
* Add py-bmtk and py-neurotools

* py-bmtk: version bump

* [@spackbot] updating style on behalf of heerener

* Maybe the copyright needs to be extended to 2022 for the check to pass

* Process review remarks

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-12-14 12:00:26 -06:00
eugeneswalker
55356e9edb bufr: add v11.6, 11.7, 11.7.1 (#34509) 2022-12-14 06:24:26 -07:00
eugeneswalker
eec09f791d fms: add v2019.01.03 (#34511) 2022-12-14 04:50:00 -07:00
Harmen Stoppels
9032179b34 Use update-index --mirror-url <url> instead of -d <url> (#34519) 2022-12-14 10:03:18 +01:00
Alberto Sartori
45b40115fb justbuild: add v1.0.0 (#34467) 2022-12-14 01:17:42 -07:00
snehring
e030833129 r-rgdal: adding new version 1.6-2 (#34502) 2022-12-13 20:06:31 -07:00
Harmen Stoppels
e055dc0e64 Use file paths/urls correctly (#34452)
The main issue that's fixed is that Spack passes paths (as strings) to
functions that require urls. That wasn't an issue on unix, since there
you can simply concatenate `file://` and `path` and all is good, but on
Windows that gives invalid file urls. Also on Unix, Spack would not deal with uri encoding like x%20y for file paths. 

It also removes Spack's custom url.parse function, which had its own incorrect interpretation of file urls, taking file://x/y to mean the relative path x/y instead of hostname=x and path=/y. Also it automatically interpolated variables, which is surprising for a function that parses URLs.

Instead of all sorts of ad-hoc `if windows: fix_broken_file_url` this PR
adds two helper functions around Python's own path2url and reverse.

Also fixes a bug where some `spack buildcache` commands
used `-d` as a flag to mean `--mirror-url` requiring a URL, and others
`--directory`, requiring a path. It is now the latter consistently.
2022-12-13 23:44:13 +01:00
Matthias Wolf
c45729cba1 py-submitit: add 1.4.5 (#34460) 2022-12-13 16:11:14 -06:00
Manuela Kuhn
b02b2f0f00 py-tifffile: add 2022.10.10 (#34499) 2022-12-13 16:09:01 -06:00
Manuela Kuhn
3ded50cc8c py-sphinxcontrib-qthelp: add 1.0.3 (#34495) 2022-12-13 16:08:06 -06:00
Manuela Kuhn
a7280cd5bb py-sqlalchemy: add 1.4.45 (#34497) 2022-12-13 16:07:34 -06:00
Paul Kuberry
2837b47ea5 trilinos: extend range of Teuchos patch (#34504) 2022-12-13 14:49:20 -07:00
Matthew Thompson
ea2c61c683 Update pFunit, add gFTL, gFTL-Shared, fArgParse, pFlogger, yaFyaml (#34476)
* Add GFE packages, Update pFUnit
* Remove citibeth as maintainer per her request
* Version 3.3.0 is an odd duck. Needs a v

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2022-12-13 22:40:33 +01:00
Bernhard Kaindl
217b34825a py-tensorboard-data-server: build needs rust+rustfmt (#34465) 2022-12-13 10:56:31 -07:00
Mosè Giordano
17d90f4cbc pcre2: add new versions and update URL (#34477) 2022-12-13 10:48:27 -07:00
Annop Wongwathanarat
7a5bd8cac4 gromacs: enable linking with acfl FFT (#34494) 2022-12-13 09:32:42 -08:00
Harmen Stoppels
333da47dc7 Don't fetch to order mirrors (#34359)
When installing binary tarballs, Spack has to download from its
binary mirrors.

Sometimes Spack has cache available for these mirrors.

That cache helps to order mirrors to increase the likelihood of
getting a direct hit.

However, currently, when Spack can't find a spec in any local cache
of mirrors, it's very dumb:

- A while ago it used to query each mirror to see if it had a spec,
  and use that information to order the mirror again, only to go
  about and do exactly a part of what it just did: fetch the spec
  from that mirror confused
- Recently, it was changed to download a full index.json, which
  can be multiple dozens of MBs of data and may take a minute to
  process thanks to the blazing fast performance you get with
  Python.

In a typical use case of concretizing with reuse, the full index.json
is already available, and it likely that the local cache gives a perfect
mirror ordering on install. (There's typically no need to update any
caches).

However, in the use case of Gitlab CI, the build jobs don't have cache,
and it would be smart to just do direct fetches instead of all the
redundant work of (1) and/or (2).

Also, direct fetches from mirrors will soon be fast enough to
prefer these direct fetches over the excruciating slowness of
index.json files.
2022-12-13 17:07:11 +01:00
dependabot[bot]
8b68b4ae72 build(deps): bump actions/checkout from 3.1.0 to 3.2.0 (#34480)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](93ea575cb5...755da8c3cf)

---
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>
2022-12-13 09:05:50 -07:00
Adam J. Stewart
40a3fdefa8 py-cartopy: add v0.21.1 (#34482) 2022-12-13 07:12:24 -07:00
Adam J. Stewart
a61474f2c1 libicd: macOS now supported (#34483) 2022-12-13 07:12:00 -07:00
Aidan Heerdegen
b95a75779b Fix markdown links in rst files (#34488) 2022-12-13 14:11:38 +00:00
Harmen Stoppels
0ff6a1bd1c spack/package.py: improve editor support for some +/- static props (#34319) 2022-12-13 13:55:32 +01:00
Massimiliano Culpo
f9cfc2f57e scons: fix signature for install_args (#34481) 2022-12-13 12:21:44 +01:00
Adam J. Stewart
f4fb20e27e py-shapely: add v2.0.0 (#34475) 2022-12-13 09:59:23 +01:00
Massimiliano Culpo
3ff5d49102 Be strict on the markers used in unit tests (#33884) 2022-12-13 09:21:57 +01:00
Erik Heeren
238d4f72f5 py-pyld: add with dependency (#34472)
* py-pyld: add with dependency

* py-pyld and py-frozendict: update copyright expiration

* [@spackbot] updating style on behalf of heerener
2022-12-12 20:15:43 -07:00
Matthias Wolf
c5bc469eeb py-sh: new versions (#34458)
* py-sh: new versions

* style
2022-12-12 20:15:28 -07:00
Sam Grayson
b01e7dca9d Update packages for running azure (#34403)
* Update packages for running azure

* Update py-msal-extensions

* Respond to comments
2022-12-12 21:10:50 -06:00
Jean Luca Bez
c62906f781 New python package: Drishti (#33316)
* include Drishti

* fix syntax

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

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

* Update package.py

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-12-12 19:33:50 -07:00
Sam Grayson
94bac8d6dd Add new package: micromamba (#34195)
* Add new packages

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* style

* wip

* Respond to comments

* Respond to comments

* Spack style

* Remove linkage=full_static to pass package audit

* Spack style

* Moved tl-expected version
2022-12-12 14:00:41 -06:00
Manuela Kuhn
cd9c9b47e8 py-sphinxcontrib-devhelp: add 1.0.2 (#34462)
* py-sphinxcontrib-devhelp: add 1.0.2

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-12-12 13:57:06 -06:00
Manuela Kuhn
8560295529 py-sphinxcontrib-applehelp: add 1.0.2 (#34461)
* py-sphinxcontrib-applehelp: add 1.0.2

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-12-12 13:56:48 -06:00
Adam J. Stewart
fd248ad0b8 GEOS: add v3.10-3.11 (#34473) 2022-12-12 11:50:03 -08:00
renjithravindrankannath
0578ccc0e6 ROCm 5.3.0 updates (#33320)
* ROCm 5.3.0 updates
* New patches for 5.3.0 on hip and hsakmt
* Adding additional build arguments in hip and llvm
* RVS updates for 5.3.0 release
* New patches and rocm-tensile, rocprofiler-dev, roctracer-dev recipe updates for 5.3.0
* Reverting OPENMP fix from rocm-tensile
* Removing the patch to compile without git and adding witout it
* Install library in to lib directory instead of lib64 across all platform
* Setting lib install directory to lib
* Disable gallivm coroutine for libllvm15
* Update llvm-amdgpu prefix path in hip-config.cmake.in
  Removing libllvm15 from Mesa dependency removing
* hip-config.cmake.in update required from 5.2
* hip-config.cmake.in update required from 5.2 and above
* hip-config.cmake.in update required for all 5.2 release above
* Style check correction in hip update
* ginkgo: add missing include
* Patching hsa include path for rocm 5.3
* Restricting patch for llvm-15
* Style check error correction
* PIC flag required for the new test applications
* Passing -DCMAKE_POSITION_INDEPENDENT_CODE=ON in the cmake_args instead of setting -fPIC in CFLAGS

Co-authored-by: Cordell Bloor <Cordell.Bloor@amd.com>
2022-12-12 13:46:20 -06:00
Glenn Johnson
fcc2ab8b4b julia: have recipe explicitly use Spack compiler wrapper (#34365) 2022-12-12 19:53:26 +01:00
Vanessasaurus
76511ac039 Automated deployment to update package flux-core 2022-12-12 (#34456) 2022-12-12 11:47:36 -07:00
Jim Edwards
e4547982b3 allow esmf to use parallelio without mpi (#34182)
* allow esmf to use parallelio without mpi
* add hash for 8.4.0
* spack no longer sets arch to cray
2022-12-12 09:50:41 -08:00
Manuela Kuhn
80722fbaa3 py-snowballstemmer: add 2.2.0 (#34459) 2022-12-12 10:23:55 -06:00
Wouter Deconinck
c2fa444344 geant4: rm preference for 10.7.3 now that 11.1.0 is out (#34445) 2022-12-12 09:05:47 -07:00
Stephen Sachs
088ece1219 [texinfo] @7.0: needs c-11 syntax (#34261)
gnulib/lib/malloca.c uses single value `static_assert()` only available in c-11
syntax. `gcc` seems to be fine, but `icc` needs extra flag.

Co-authored-by: Stephen Sachs <stesachs@amazon.com>
2022-12-12 16:52:26 +01:00
Veselin Dobrev
fcdd275564 MFEM: fix issue with cxxflags (#34435) 2022-12-12 16:52:00 +01:00
Mikael Simberg
b6d6a1ab2c Build tests for fmt conditionally (#34424) 2022-12-12 16:49:05 +01:00
Robert Blake
7efcb5ae73 Fixes to the silo packages for 4.11. (#34275) 2022-12-12 07:39:24 -07:00
Mikael Simberg
06e6389258 stdexec: skip build phase (#34425)
Since it's a header-only library there's nothing to build. However, the
default targets include tests and examples and there's no option to turn
them off during configuration time.
2022-12-12 07:16:40 -07:00
Simon Flood
b7f0f7879d foam-extend: add v4.1 (released Oct 2019) (#34398) 2022-12-12 07:16:17 -07:00
Bernhard Kaindl
f7cfbe2702 hdf5: "hdf5@1.13:" needs a depends_on "cmake@3.18:" for build. (#34447) 2022-12-12 15:12:55 +01:00
Wouter Deconinck
1466f8d602 geant4-data: depends_on g4emlow@7.9.1 when @10.6 (#34444)
Per https://geant4.web.cern.ch/node/1837 the correct dependency for 10.6 is on `g4emlow@7.9.1`, not on both `g4emlow@7.9` and `g4emlow@7.9.1`.

This is a minor cosmetic fix. The concretization for 10.6 works just fine here. But this removes the duplicate entry.
2022-12-12 07:11:42 -07:00
Glenn Johnson
9fdb36585f Fix openblas build with intel compiler (#34432)
This PR patches the f_check script to detect the ifort compiler and
ensure that F_COMPILER is iset to INTEL. This problem was introduced with
openblas-0.3.21. Without this patch, the value of F_COMPILER falls back
to G77 and icc rather than ifort is used for the linking stage. That
results in the openblas library missing libifcore, which in turn means
many Fotran programs can not be compiled with ifort.
2022-12-12 14:27:54 +01:00
Filippo Spiga
1f0a9fdc11 Adding NVIDIA HPC SDK 22.11 (#33954) 2022-12-12 14:26:39 +01:00
Jen Herting
0baba62900 arrow: dependency fixes (#33666)
+python needs more dependencies
don't look for dependency spec when it's not there
2022-12-12 14:26:02 +01:00
iarspider
4a0e34eda8 Add checksum for py-prometheus-client 0.14.1 (#34259) 2022-12-12 13:32:02 +01:00
Luke Diorio-Toth
88f2f59d92 Added ARM/aarch64 conflict to Eddy/Rivas lab tools (#34190) 2022-12-12 13:26:57 +01:00
Bernhard Kaindl
c1d11975f5 intel-parallel-studio: package is only available for x86_64 (#34392) 2022-12-12 12:09:29 +01:00
Glenn Johnson
cca56291c6 libgit2: add pcre dependency for @0.99: (#34289) 2022-12-12 11:55:49 +01:00
dependabot[bot]
ef155c16f0 build(deps): bump actions/setup-python from 4.3.0 to 4.3.1 (#34413)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](13ae5bb136...2c3dd9e7e2)

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

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>
2022-12-12 11:37:06 +01:00
Adam J. Stewart
0952d314bd py-pytorch-lightning: add v1.8.4 (#34426) 2022-12-12 11:35:20 +01:00
Wileam Y. Phan
f29ac34558 nvhpc: add v22.11 (#34410) 2022-12-12 11:35:00 +01:00
snehring
47628521b9 delly2: add v1.1.6 (#34411) 2022-12-12 11:31:26 +01:00
Todd Gamblin
62da76cb5d directives: depends_on should not admit anonymous specs (#34368)
Writing a long dependency like:

```python
     depends_on(
         "llvm"
         "targets=amdgpu,bpf,nvptx,webassembly"
         "version_suffix=jl +link_llvm_dylib ~internal_unwind"
     )
```

when it should be formatted like this:

```python
     depends_on(
         "llvm"
         " targets=amdgpu,bpf,nvptx,webassembly"
         " version_suffix=jl +link_llvm_dylib ~internal_unwind"
     )
```

can cause really subtle errors. Specifically, you'll get something like this in
the package sanity tests:

```
    AttributeError: 'NoneType' object has no attribute 'rpartition'
```

because Spack happily constructs a class that has a dependency with name `None`.

We can catch this earlier by banning anonymous dependency specs directly in
`depends_on()`.  This causes the package itself to fail to parse, and emits
a much better error message:

```
==> Error: Invalid dependency specification in package 'julia':
    llvmtargets=amdgpu,bpf,nvptx,webassemblyversion_suffix=jl +link_llvm_dylib ~internal_unwind
```
2022-12-12 11:24:28 +01:00
Brian Vanderwende
65c914fff7 netcdf-c: add libxml2 when +dap (#34178) 2022-12-12 11:04:38 +01:00
Mikael Simberg
dd7b2deb47 Only restrict CMake version in Umpire when examples and rocm are enabled (#32025)
* Only restrict CMake version in umpire when examples and rocm are enabled

* Add CMAKE_HIP_ARCHITECTURES to Umpire and lift cmake version restriction

Co-authored-by: Tom Scogland <scogland1@llnl.gov>
2022-12-12 10:55:37 +01:00
Adam J. Stewart
7d72aeb4fe py-tensorboard-data-server: add Linux aarch64 support (#34437) 2022-12-12 10:40:48 +01:00
John W. Parent
43d97afd8b Bump CMake version to 3.25.1 (#34336) 2022-12-12 10:35:27 +01:00
Robert Cohn
39f13853ba intel-oneapi-* conflicts for non linux, x86 (#34441) 2022-12-12 09:23:14 +01:00
Sebastian Pipping
d65b9c559a expat: Add latest release 2.5.0 with security fixes (#34453) 2022-12-12 00:08:44 -07:00
Stephen Sachs
bde5720a81 glib: Add list_url+list_depth to list versions (#33904)
Co-authored-by: Bernhard Kaindl <contact@bernhard.kaindl.dev>
2022-12-12 06:51:09 +01:00
Harmen Stoppels
2371ec7497 openblas: fix bound :7.3 to :7.3.0 (#34443)
This patch:

https://gcc.gnu.org/legacy-ml/gcc-patches/2018-01/msg01962.html

is actually in Amazon Linux GCC 7.3.1, which we use in CI.

So we should not hold openblas back because of it.

Old versions of OpenBLAS fail to detect the host arch of some of the
AVX512 cpus of build nodes, causing build failures.

Of course we should try to set ARCH properly in OpenBLAS to avoid that
it looks up the build arch, but that's quite some work.
2022-12-11 19:02:07 +01:00
Todd Gamblin
aa3b6e598f pkg grep: use capfd instead of executable for tests 2022-12-10 16:43:44 -08:00
Todd Gamblin
8035eeb36d Revert "Use urllib handler for s3:// and gs://, improve url_exists through HEAD requests (#34324)"
This reverts commit db8f115013.
2022-12-10 16:43:44 -08:00
Michael Kuhn
57383a2294 py-scipy: print error message if no Fortran compiler is available (#34439) 2022-12-10 20:19:50 +01:00
Adam J. Stewart
9517dab409 py-scikit-learn: add v1.2.0 (#34408) 2022-12-10 11:10:31 -06:00
Manuela Kuhn
84fa4e6c4c py-setuptools-scm-git-archive: add 1.4 (#34422) 2022-12-10 09:58:39 -06:00
Harmen Stoppels
f33507961d py-{boto3,botocore,jmespath,s3transfer} bump (#34423) 2022-12-10 09:07:58 -06:00
Adam J. Stewart
46010ef1e1 valgrind: add v3.20.0, mark macOS conflict (#34436) 2022-12-10 12:19:42 +01:00
Abhik Sarkar
f9d9d43b63 Support for building Pmix with Debian/Ubuntu external dependencies (#32690)
* Debian like distros use multiarch implementation spec
https://wiki.ubuntu.com/MultiarchSpec
Instead of being limited to /usr/lib64, architecture based
lib directories are used. For instance, under ubuntu a library package
on x86_64 installs binaries under /usr/lib/x86_64-linux-gnu.
Building pmix with external dependencies like hwloc or libevent
fail as with prefix set to /usr, that prefix works for
headers and binaries but does not work for libraries. The default
location for library /usr/lib64 does not hold installed binaries.
Pmix build options --with-libevent and --with-libhwloc allow us to
specify dependent library locations. This commit is an effort to
highlight and resolve such an issue when a users want to use Debian like
distro library packages and use spack to build pmix.
There maybe other packages that might be impacted in a similar way.

* Adding libs property to hwloc and libevent and some cleanups to pmix patch

* Fixing style and adding comment on Pmix' 32-bit hwloc version detection issue
2022-12-09 18:30:45 -08:00
Harmen Stoppels
db8f115013 Use urllib handler for s3:// and gs://, improve url_exists through HEAD requests (#34324)
* `url_exists` improvements (take 2)

Make `url_exists` do HEAD request for http/https/s3 protocols

Rework the opener: construct it once and only once, dynamically dispatch
to the right one based on config.
2022-12-10 00:20:29 +01:00
Manuela Kuhn
09b5476049 py-simplejson: add 3.18.0 (#34430) 2022-12-09 13:11:30 -07:00
Sinan
14c4896ec2 package/qt-base: add conflict for older gcc (#34420) 2022-12-09 12:47:29 -07:00
Ben Morgan
b5ef5c2eb5 geant4: version bumps for Geant4 11.1.0 release (#34428)
* geant4: version bumps for Geant4 11.1.0

- Version bumps for new data libraries
  - g4ndl 4.7
  - g4emlow 8.2
- Add geant4-data@11.1.0
- Checksum new Geant4 11.1.0 release
  - Limit +python variant to maximum of :11.0 due to removal of
    Geant4Py in 11.1
  - Update CLHEP dependency to at least 2.4.6.0 for this release
  - Update VecGeom dependency to at least 1.2.0 for this release,
    closing version ranges for older releases to prevent multiple
    versions satisfying requirement

* geant4: correct max version for python support
2022-12-09 12:26:22 -07:00
Scott Wittenburg
675afd884d gitlab ci: more resources for paraview and py-torch (#34412) 2022-12-09 11:58:37 -07:00
shanedsnyder
0f5482dc9a [darshan-runtime, darshan-util, py-darshan]: darshan 3.4.1 release updates (#34294) 2022-12-09 19:56:53 +01:00
Jen Herting
069e5f874c New package: py-torchdiffeq (#34409)
* [py-torchdiffeq] new package

* [@spackbot] updating style on behalf of qwertos

Co-authored-by: qwertos <qwertos@users.noreply.github.com>
2022-12-09 12:38:14 -06:00
Manuela Kuhn
cad01a03cb py-nbformat: add 5.7.0 and new package py-hatch-nodejs-version (#34361) 2022-12-09 12:32:41 -06:00
Manuela Kuhn
f10f8ed013 py-setupmeta: add 3.3.2 (#34421) 2022-12-09 12:32:19 -06:00
Todd Gamblin
d991ec90e3 new command: spack pkg grep to search package files (#34388)
It's very common for us to tell users to grep through the existing Spack packages to
find examples of what they want, and it's also very common for package developers to do
it. Now, searching packages is even easier.

`spack pkg grep` runs grep on all `package.py` files in repos known to Spack. It has no
special options other than the search string; all options passed to it are forwarded
along to `grep`.

```console
> spack pkg grep --help
usage: spack pkg grep [--help] ...

positional arguments:
  grep_args  arguments for grep

options:
  --help     show this help message and exit
```

```console
> spack pkg grep CMakePackage | head -3
/Users/gamblin2/src/spack/var/spack/repos/builtin/packages/3dtk/package.py:class _3dtk(CMakePackage):
/Users/gamblin2/src/spack/var/spack/repos/builtin/packages/abseil-cpp/package.py:class AbseilCpp(CMakePackage):
/Users/gamblin2/src/spack/var/spack/repos/builtin/packages/accfft/package.py:class Accfft(CMakePackage, CudaPackage):
```

```console
> spack pkg grep -Eho '(\S*)\(PythonPackage\)' | head -3
AwsParallelcluster(PythonPackage)
Awscli(PythonPackage)
Bueno(PythonPackage)
```

## Return Value

This retains the return value semantics of `grep`:
* 0  for found,
* 1  for not found
* >1 for error

## Choosing a `grep`

You can set the ``SPACK_GREP`` environment variable to choose the ``grep``
executable this command should use.
2022-12-09 10:07:54 -08:00
snehring
8353d1539f py-torchvision: fix typo in version restriction for ffmpeg (#34415) 2022-12-09 11:05:43 -07:00
iarspider
bf3d18bf06 Add checksum for py-packaging11 0.12.3 (#34402) 2022-12-09 06:43:44 -07:00
John W. Parent
0e69710f41 Windows: reenable unit tests (#33385)
Unit tests on Windows are supposed to pass for any PR to pass CI.
However, the return code for the unit test command was not being
checked, which meant this check was always passing (effectively
disabled). This PR

* Properly checks the result of the unit tests and fails if the
  unit tests fail
* Fixes (or disables on Windows) a number of tests which have
  "drifted" out of support on Windows since this check was
  effectively disabled
2022-12-09 13:27:46 +00:00
Harmen Stoppels
ec62150ed7 binary distribution: warn about issues (#34152) 2022-12-09 13:25:32 +01:00
Massimiliano Culpo
d37dc37504 btop++: add new package (#34399) 2022-12-09 12:59:46 +01:00
iarspider
38d37897d4 Add checksum for py-onnxmltools 1.11.1 (#34400) 2022-12-09 04:04:20 -07:00
Todd Gamblin
606eef43bd bugfix: spack load shell test can fail on macos (#34419)
At some point the `a` mock package became an `AutotoolsPackage`, and that means it
depends on `gnuconfig` on macOS. This was causing one of our shell tests to fail on
macOS because it was testing for `{a.prefix.bin}:{b.prefix.bin}` in `PATH`, but
`gnuconfig` shows up between them.

- [x] simplify the test to check `spack load --sh a` and `spack load --sh b` separately
2022-12-09 10:36:54 +00:00
Mikael Simberg
02a30f8d95 Add pika-algorithms package and pika 0.11.0 (#34397)
* Add 20 as a valid option for cxxstd to fmt

* Add pika 0.11.0

* Fix version constraint for p2300 variant in pika package

* Add pika-algorithms package
2022-12-09 11:26:48 +01:00
Harmen Stoppels
7e054cb7fc s3: cache client instance (#34372) 2022-12-09 08:50:32 +01:00
Manuela Kuhn
d29cb87ecc py-reportlab: add 3.6.12 (#34396)
* py-reportlab: add 3.6.12

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-12-08 20:08:00 -06:00
Bernhard Kaindl
f8c0d9728d intel-mkl: It is only available for x86_64 (#34391) 2022-12-08 18:10:00 -07:00
Bernhard Kaindl
f5bff16745 bcache: Fix check for libintl to work correctly (#34383) 2022-12-08 17:37:10 -07:00
Adam J. Stewart
2d1cb6d64a bash: add v5.2, readline patches (#34301) 2022-12-08 13:46:21 -07:00
Peter Scheibel
c6e35da2c7 Cray manifest: automatically convert 'cray' platform to 'linux' (#34177)
* Automatically convert 'cray' platform to 'linux'
2022-12-08 11:28:06 -08:00
Manuela Kuhn
f1cd327186 py-rdflib: add 6.2.0 (#34394) 2022-12-08 13:07:26 -06:00
Victor Lopez Herrero
391ad8cec4 dlb: new package (#34211) 2022-12-08 05:57:48 -07:00
Larry Knox
2c668f4bfd Update hdf5 vol async version (#34376)
* Add version hdf5-vol-async@1.4
2022-12-08 05:37:34 -07:00
Glenn Johnson
52fdae83f0 pixman: add libs property (#34281) 2022-12-08 06:34:49 +01:00
Michael Kuhn
0ea81affd1 py-torch: fix build with gcc@12: (#34352) 2022-12-08 06:31:00 +01:00
Brian Van Essen
ddc6e233c7 libxcrypt: building @:4.4.17 requires automake@1.14: 2022-12-08 03:17:28 +01:00
Jon Rood
7ee4499f2b Add texinfo dependency for binutils through version 2.38. (#34173) 2022-12-08 03:08:37 +01:00
Marco De La Pierre
641adae961 Add recipe for singularity-hpc, py-spython (#34234)
* adding recipe for singularity-hpc - 1st go

* typo in singularity-hpc recipe

* singularity-hpc, spython recipes: added platform variant

* singularity-hpc, spython recipes: platform variant renamed to runtime

* style fix

* another style fix

* yet another style fix (why are they not reported altogether)

* singularity-hpc recipe: added Vanessa as maintainer

* singularity-hpc recipe: add podman variant

* singularity-hpc recipe: added variant for module system

* shpc recipe: add version for py-semver dependency

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

* py-spython recipe: no need to specify generic python dep for a python pkg

* py-spython: py-requests not needed

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-12-07 20:07:30 -06:00
John W. Parent
aed77efb9a Windows: Prevent SameFileError when rpathing (#34332) 2022-12-07 16:58:44 -08:00
Massimiliano Culpo
ab6499ce1e parser: refactor with coarser token granularity (#34151)
## Motivation

Our parser grew to be quite complex, with a 2-state lexer and logic in the parser
that has up to 5 levels of nested conditionals. In the future, to turn compilers into
proper dependencies, we'll have to increase the complexity further as we foresee
the need to add:
1. Edge attributes
2. Spec nesting

to the spec syntax (see https://github.com/spack/seps/pull/5 for an initial discussion of
those changes).  The main attempt here is thus to _simplify the existing code_ before
we start extending it later. We try to do that by adopting a different token granularity,
and by using more complex regexes for tokenization. This allow us to a have a "flatter"
encoding for the parser. i.e., it has fewer nested conditionals and a near-trivial lexer.

There are places, namely in `VERSION`, where we have to use negative lookahead judiciously
to avoid ambiguity.  Specifically, this parse is ambiguous without `(?!\s*=)` in `VERSION_RANGE`
and an extra final `\b` in `VERSION`:

```
@ 1.2.3     :        develop  # This is a version range 1.2.3:develop
@ 1.2.3     :        develop=foo  # This is a version range 1.2.3: followed by a key-value pair
```

## Differences with the previous parser

~There are currently 2 known differences with the previous parser, which have been added on purpose:~

- ~No spaces allowed after a sigil (e.g. `foo @ 1.2.3` is invalid while `foo @1.2.3` is valid)~
- ~`/<hash> @1.2.3` can be parsed as a concrete spec followed by an anonymous spec (before was invalid)~

~We can recover the previous behavior on both ones but, especially for the second one, it seems the current behavior in the PR is more consistent.~

The parser is currently 100% backward compatible.

## Error handling

Being based on more complex regexes, we can possibly improve error
handling by adding regexes for common issues and hint users on that.
I'll leave that for a following PR, but there's a stub for this approach in the PR.

## Performance

To be sure we don't add any performance penalty with this new encoding, I measured:
```console
$ spack python -m timeit -s "import spack.spec" -c "spack.spec.Spec(<spec>)"
```
for different specs on my machine:

* **Spack:** 0.20.0.dev0 (c9db4e50ba045f5697816187accaf2451cb1aae7)
* **Python:** 3.8.10
* **Platform:** linux-ubuntu20.04-icelake
* **Concretizer:** clingo

results are:

| Spec          | develop       | this PR |
| ------------- | ------------- | ------- |
| `trilinos`  |  28.9 usec | 13.1 usec |
| `trilinos @1.2.10:1.4.20,2.0.1`  | 131 usec  | 120 usec |
| `trilinos %gcc`  | 44.9 usec  | 20.9 usec |
| `trilinos +foo`  | 44.1 usec  | 21.3 usec |
| `trilinos foo=bar`  | 59.5 usec  | 25.6 usec |
| `trilinos foo=bar ^ mpich foo=baz`  | 120 usec  | 82.1 usec |

so this new parser seems to be consistently faster than the previous one.

## Modifications

In this PR we just substituted the Spec parser, which means:
- [x] Deleted in `spec.py` the `SpecParser` and `SpecLexer` classes. deleted `spack/parse.py`
- [x] Added a new parser in `spack/parser.py`
- [x] Hooked the new parser in all the places the previous one was used
- [x] Adapted unit tests in `test/spec_syntax.py`


## Possible future improvements

Random thoughts while working on the PR:
- Currently we transform hashes and files into specs during parsing. I think
we might want to introduce an additional step and parse special objects like
a `FileSpec` etc. in-between parsing and concretization.
2022-12-07 14:56:53 -08:00
Houjun Tang
412bec45aa SW4: new package (#34252)
* sw4
* use h5z-zfp develop
* update for macos
* Update package.py

Co-authored-by: Houjun Tang <tang@Houjuns-MacBook-Pro.local>
2022-12-07 14:26:05 -07:00
Manuela Kuhn
c3dcd94ebc py-numba: add 0.56.4 (#34362) 2022-12-07 14:18:45 -07:00
Hanqi Guo
cb8f642297 ftk: add 0.0.7.1 (#34146) 2022-12-07 22:13:46 +01:00
Manuela Kuhn
92f19c8491 py-pywavelets: add 1.4.1 (#34369)
* py-pywavelets: add 1.4.1

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-12-07 13:40:10 -07:00
iarspider
f3f8b31be5 XRootD: add checksum + patch for 5.5.1 (#34209)
* Update package.py
* Add full_index to patch URL
* Update var/spack/repos/builtin/packages/xrootd/package.py
* Restore list_url

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2022-12-07 12:06:38 -08:00
MatthewLieber
63cadf04ea osu-micro-benchmarks: add v7.0.1 (#34221)
Co-authored-by: Matt Lieber <lieber.31@osu.edu>
2022-12-07 21:02:43 +01:00
eugeneswalker
541e75350f libnrm: allow mpi other than mpich (#34232) 2022-12-07 11:57:13 -08:00
Stephen Sachs
8806e74419 [quantum-espresso] Parallel make fails for 6.{6,7} (#34238)
* [quantum-espresso] Parallel make fails for 6.{6,7}
  I run into a race condition in `make` with Intel compiler on icelake when building QE 6.6 and 6.7.
* Fix comment

Co-authored-by: Stephen Sachs <stesachs@amazon.com>
2022-12-07 11:52:12 -08:00
Sam Gillingham
381f8161b1 update kealib to 1.5.0 (#34237) 2022-12-07 11:49:41 -08:00
shanedsnyder
884123b7ce darshan-util: fix location of input for darshan-util tests (#34245)
* fix location of input for darshan-util tests
  Darshan log file used for test input was removed from the Darshan
  repo after the 3.4.0 release. This commit adds logic to use a
  different log file as test input for later Darshan versions.
2022-12-07 11:48:55 -08:00
Eric Müller
35aa875762 meep: add new versions and additional variants incl. dependencies (#34242)
* libctl: add new version
  Change-Id: I16f91cfab198c66b60407ab5bb2cb3ebeac6bc19
* New package: libgdsii
  Change-Id: I34b52260ab68ecc857ddf8cc63b124adc2689a51
* New package: mpb
  Change-Id: I6fdf5321c33d6bdbcaa1569026139a8483a3bcf8
* meep: add new version and variants
  Change-Id: I0b60a9a4d9a329f7bde9027514467e17376e6a39
* meep: use with_or_without
  Change-Id: I05584cb13df8ee153ed385e77d367cb34e39777e
2022-12-07 11:44:26 -08:00
Sam Grayson
9b0e79fcab Fix Apptainer (#34329)
* Fix Apptainer
* Add comments
2022-12-07 11:05:22 -08:00
kwryankrattiger
8ba0faa9ee Paraview catalyst updates (#34364)
* LibCatalyst: Fix version of pre-release develop version
* ParaView: Requires libcatalyst@2:
* ParaView: Apply adios2 module no kit patch to 5.11

This patch is still pending in VTK and didn't make it into 5.11 as anticipated.
2022-12-07 10:27:47 -08:00
Bernhard Kaindl
d464185bba bcache: support external gettext when libintl is in glibc (#34114)
* bcache: support external gettext when `libintl` is in glibc

Many glibc-based Linux systems don't have gettext's libintl because
libintl is included in the standard system's glibc (libc) itself.

When using `spack external find gettext` on those, packages like
`bcache` which unconditionally to link using `-lintl` fail to link
with -lintl.

Description of the fix:

The libs property of spack's gettext recipe returns the list of libs,
so when gettext provides libintl, use it. When not, there is no
separate liblint library and the libintl API is provided by glibc.

Tested with `spack external find gettext` on glibc-based Linux and
in musl-based Alpine Linux to make sure that when -lintl is really
needed, it is really used and nothing breaks.
2022-12-07 11:39:02 -05:00
G-Ragghianti
7f4d71252b Package magma: cleaned up cmake config (#33766) 2022-12-07 16:30:20 +01:00
Matthias Wolf
7950311767 likwid: add a permission fixing script a la singularity (#33503) 2022-12-07 15:51:02 +01:00
Greg Becker
194f9a9ca9 compiler flags: fix mixed flags from cli and yaml (#34218) 2022-12-06 16:32:08 -08:00
Cameron Rutherford
a72021fd63 Fix dependency specification for CuSolver variant in HiOp. (#34138)
Co-authored-by: pelesh <peless@ornl.gov>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2022-12-06 21:57:57 +01:00
Massimiliano Culpo
d910b3725b Add back depends_on directives needed to bootstrap on Python 3.6 (#34355)
This partially reverts commit 95b5d54129.
2022-12-06 20:08:26 +01:00
David Zmick
99f209019e htop: new version 3.2.1 (#34346) 2022-12-06 12:03:46 -07:00
Manuela Kuhn
c11a4e0ad3 py-nbclient: add 0.7.2 and py-jupyter-core: add 5.1.0 (#34348) 2022-12-06 10:43:28 -07:00
Nicholas Sly
4a429ec315 mercurial/py-pybind11: print_string no longer exists (#34340)
* Fix mercurial print_str failure.

* Perform same fix on py-pybind11 for print_string missing method.

Co-authored-by: Nicholas Cameron Sly <sly1@llnl.gov>
2022-12-06 09:28:00 -08:00
eugeneswalker
eadccfe332 trilinos: +teko conflicts with ~ml (#34339) 2022-12-06 09:19:25 -07:00
Harmen Stoppels
dfab5b5ceb Stop checking for {s3://path}/index.html (#34325) 2022-12-06 09:19:04 -07:00
lorddavidiii
862029215c cfitsio: add v4.2.0 (#34316) 2022-12-06 09:18:51 -07:00
Hadrien G
559c3de213 ROOT: new versions and associated dependency constraints (#34185)
* Add new root versions and associated dependency constraints

* Please style guide

* Avoid conflicts where possible

* Untested prototype of macOS version detection

* Fixes for macOS version prototype

* More logical ordering

* More correctness and style fixes

* Try to use spack's macos_version

* Add some forgotten @s

* Actually, Spack can't build Python 3.6 anymore, and thus no older PyROOT

Co-authored-by: Seth R. Johnson <johnsonsr@ornl.gov>
2022-12-06 08:25:52 -07:00
Harmen Stoppels
e3bf7358d7 Avoid stat call in llnl.util.symlink on non-windows (#34321) 2022-12-06 15:17:15 +00:00
Harmen Stoppels
b58ec9e2b9 Remove legacy yaml from buildcache fetch (#34347) 2022-12-06 16:12:20 +01:00
Adam J. Stewart
95b5d54129 pip/wheel/setuptools: extend PythonExtension (#34137)
* pip/wheel/setuptools: extend PythonExtension

* Base class still required
2022-12-06 08:58:05 -06:00
Houjun Tang
bcce9c3e9c Fix compile errors with latest HDF5 1.13.3 (#34337)
* Fix compile errors with latest HDF5 1.13.3

* format

* Update var/spack/repos/builtin/packages/hdf5-vol-async/package.py

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-12-06 08:15:52 -06:00
Massimiliano Culpo
4c05fe569c Bootstrap most of Spack dependencies using environments (#34029)
This commit reworks the bootstrapping procedure to use Spack environments 
as much as possible.

The `spack.bootstrap` module has also been reorganized into a Python package. 
A distinction is made among "core" Spack dependencies (clingo, GnuPG, patchelf)
and other dependencies. For a number of reasons, explained in the `spack.bootstrap.core`
module docstring, "core" dependencies are bootstrapped with the current ad-hoc
method. 

All the other dependencies are instead bootstrapped using a Spack environment
that lives in a directory specific to the interpreter and the architecture being used.
2022-12-06 11:54:02 +01:00
Sam Grayson
e550665df7 Update packages (#34344) 2022-12-05 23:52:05 -06:00
Glenn Johnson
d92d34b162 graphite2: add dependency on freetype (#34292) 2022-12-05 14:38:52 -08:00
Miguel Dias Costa
f27be808a4 berkeleygw: add back python dependencies and tweak testsuite (#34125)
* slightly raise tolerance of some tests
2022-12-05 23:37:19 +01:00
Seth R. Johnson
855d3519b6 SWIG: new version 4.1.0 (#34250) 2022-12-05 23:30:14 +01:00
downloadico
37f232e319 psrcat: fixed typo/undefined variable problem (#34334)
replaced the reference to the undefined "bindir" variable with prefix.bin
2022-12-05 15:19:54 -07:00
Luke Diorio-Toth
ac1c29eac0 pharokka and py-phanotate: new packages (#34333)
* pharokka and py-phanotate: new packages

* move libxcrypt edit

I don't need libxcrypt when not building dev infernal. Moving to a different PR
2022-12-05 16:16:59 -06:00
Bernhard Kaindl
56072172f5 jellyfish: add variants for python and ruby bindings (#33832)
Co-authored-by: teachers-uk-net <stuart.morrison@kcl.ac.uk>
2022-12-05 14:10:57 -07:00
Peter Scheibel
64d957dece cray-mpich: fix dependencies for externals from manifest (#34231)
The cray manifest shows dependency information for cray-mpich, which we never previously cared about
because it can only be used as an external. This updates Spack's dependency information to make cray-mpich
specs read in from the cray external manifest usable.
2022-12-05 12:11:56 -08:00
Loïc Pottier
3edc85ec21 redis: newer version and added TLS support (#34230)
Signed-off-by: Loïc Pottier <pottier1@llnl.gov>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2022-12-05 12:44:13 -07:00
Manuela Kuhn
d8006a9495 py-nodeenv: add 1.7.0 (#34314) 2022-12-05 12:32:30 -07:00
Manuela Kuhn
a2cfc07412 py-num2words: add 0.5.12 (#34315) 2022-12-05 12:25:01 -07:00
Sreenivasa Murthy Kolam
1295ea5d40 Drop support for older rocm releases - 4.5.0 till 5.0.2 (#34264)
* initial changes for rocm recipes
* drop support for older releases
* drop support for older rocm releases - add more recipes
* drop support for older releases
* address style issues
* address style error
* fix errors
* address review comments
2022-12-05 10:47:45 -08:00
Hector Martinez-Seara
4664b3cd1e Added plumed version 2.8.1 including gromacs compatibility (#34268)
* Added plumed version 2.8.1 including gromacs compatibility
* Corrected ~mpi and +mpi variants in new depends
* Fixed regression logic plumed+gromacs@2020.6 support
2022-12-05 10:43:08 -08:00
Richard Berger
dc7e0e3ef6 LAMMPS: Add new versions (#32522)
* LAMMPS: Add version 20220803 and 20220623.1

* LAMMPS: Add 20220915, 20221103, and 20220623.2
2022-12-05 12:52:10 -05:00
H. Joe Lee
9aa615aa98 feat(Hermes)!: add yaml-cpp dependency (#34330)
The 0.9.0-beta requires yaml-cpp for parsing the configuration file format in YAML.

P.S. I'm using https://www.conventionalcommits.org/en/v1.0.0/#specification for this commit message.
2022-12-05 09:49:45 -08:00
downloadico
85b6bf99a4 Add packages related to the LWA software stack (#34112)
* epsic: add epsic package to spack

* psrcat: add psrcat to spack

* psrchive: add psarchive to spack

* tempo: add tempo package to spack
2022-12-05 09:48:04 -08:00
Todd Gamblin
78ec3d5662 clingo: add version 5.6.2 (#34317)
See release notes at https://github.com/potassco/clingo/releases/tag/v5.6.2
2022-12-05 10:39:30 -07:00
andriish
a7b5f2ef39 Add the very first version of cernlib package (#33911)
* Add the very first version of cernlib
* Update package.py
* Update package.py

Co-authored-by: Andrii Verbytskyi <andriish@pcatlas18.mpp.mpg.de>
2022-12-05 09:31:15 -08:00
Manuela Kuhn
f71701f39d py-nbclassic: add 0.4.8 and new package py-notebook-shim (#34320)
* py-nbclassic: add 0.4.8 and new package py-notebook-shim

* Add missing dependencies
2022-12-05 09:51:28 -07:00
Todd Gamblin
54008a2342 vermin: remove all novm comments from code (#34308)
All the vermin annotations we were using were for optional features introduced in early
Python 3 versions. We no longer need any of them, as we only support Python 3.6+. If we
start optionally using features from newer Pythons than 3.6, we will need more vermin
annotations.

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2022-12-05 08:59:27 -07:00
Manuela Kuhn
1670c325c6 py-llvmlite: add 0.39.1 (#34318) 2022-12-05 09:22:05 -06:00
SXS Bot
534a994b4c spectre: add v2022.12.02 (#34277)
Co-authored-by: sxs-bot <sxs-bot@users.noreply.github.com>
2022-12-05 12:45:04 +01:00
Jean-Luc Fattebert
359efca201 Thermo4PFM: new package (#34287) 2022-12-05 12:03:44 +01:00
Glenn Johnson
65809140f3 gurobi: add v10.0.0, v9.5.2 (#34291) 2022-12-05 11:58:09 +01:00
Glenn Johnson
3f1622f9e7 freeglut: add dependency on libxxf86vm (#34293) 2022-12-05 11:57:27 +01:00
Glenn Johnson
8332a59194 wannier90: gfortran-10 support and libs property (#34278) 2022-12-05 11:43:23 +01:00
HELICS-bot
05abea3a3a helics: add v3.3.2 (#34297)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-12-05 11:42:03 +01:00
Luke Diorio-Toth
e7fc9ea243 mmseqs2: new package (#34189) 2022-12-05 11:38:56 +01:00
Adam J. Stewart
eea3ea7675 py-torch: fix patching on ppc64le (#34283) 2022-12-05 11:37:31 +01:00
Auriane R
895ac2626d Add conflicts between gcc@12.2.0 and rocblas@5.2.1:5.2.3 (#34217)
* Add conflicts with gcc@12.2.0

* Add more links for reference
2022-12-05 11:13:22 +01:00
Todd Gamblin
94dc86e163 web: remove checks for SSL verification support (#34307)
We no longer support Python <3.6, so we don't need to check whether Python supports SSL
verification in `spack.util.web`.

- [x] Remove a bunch of logic we needed to appease Python 2
2022-12-05 08:46:27 +01:00
Manuela Kuhn
729b1c9fa6 py-mne: add 1.2.2, 1.2.3 and dependency packages (#34295)
* py-mne: add 1.2.2 and depencendy packages

* py-mne: add 1.2.3

* Remove unnecessary when statement
2022-12-05 00:02:27 -06:00
Todd Gamblin
82b7fe649f typing: move from comment annotations to Python 3.6 annotations (#34305)
We've stopped supporting Python 2, and contributors are noticing that our CI no longer
allows Python 2.7 comment type hints. They end up having to adapt them, but this adds
extra unrelated work to PRs.

- [x] Move to 3.6 type hints across the entire code base
2022-12-04 21:41:12 -08:00
Adam J. Stewart
76417d6ac6 py-torchmetrics: add v0.11.0 (#34220) 2022-12-04 15:32:02 -07:00
Glenn Johnson
fe995542ab py-tensorflow: patch for cuBLAS error (#34279) 2022-12-03 09:17:12 -07:00
wspear
8f5209063d Use correct method for selecting compiler names. (#34175) 2022-12-02 15:02:24 -08:00
Enrico Usai
241a8f6be6 aws-parallelcluster: Add v2.11.9 (#34270) 2022-12-02 15:57:18 -07:00
Seth R. Johnson
a8a0a6916a doxygen: add build-tools tag (#34249)
* doxygen: add build-tool tag
   This allows it to be included automatically as an external. No one links against doxygen so this should be ok.
* doxygen: add self as maintainer
2022-12-02 15:56:57 -07:00
Ben Morgan
8d10dce651 vecgeom: add new 1.2.1 version (#34240)
* vecgeom: add new 1.2.1 version
* vecgeom: introduce conflict between gcc/cuda

Recent tests of vecgeom in Spack environments have shown that the build
with +cuda fails with GCC >= 11.3 and CUDA < 11.7 with error

...lib/gcc/x86_64-pc-linux-gnu/11.3.0/include/serializeintrin.h(41):
error: identifier "__builtin_ia32_serialize" is undefined

1 error detected in the compilation of
".../VecGeom/source/BVHManager.cu".

Other GCC/CUDA combinations appear o.k.

Avoid this error in spack, and document it for users, with a conflict
directive to express the restriction.
2022-12-02 15:56:43 -07:00
Phil Carns
a2938c9348 add mochi-margo 0.11.1 point release (#34271) 2022-12-02 15:56:29 -07:00
snehring
8017f4b55b libvips: adding version 8.13.3 (#34228) 2022-12-02 15:32:22 -07:00
Andrew W Elble
588d2e295f py-alphafold: update to 2.2.4, update dependencies (#33876)
* py-alphafold: update to 2.2.4, update dependencies

* style
2022-12-02 22:12:06 +00:00
Manuela Kuhn
c10b84f08d py-nilearn: fix dependency version (#34284) 2022-12-02 15:04:46 -07:00
Greg Becker
99044bedd7 patch command: add concretizer args (#34282)
* patch command: add concretizer args
* tab completion
2022-12-02 14:02:20 -08:00
Seth R. Johnson
3afe6f1adc ROOT: add math/gsl conflict and change version-dependent features to conditional variants (#34244)
* ROOT: add GSL/math dependency
* ROOT: use conditional variants instead of conflicts
2022-12-02 12:05:43 -07:00
Manuela Kuhn
fcd9038225 py-neurokit2: add 0.2.2 (#34267) 2022-12-02 11:41:43 -07:00
H. Joe Lee
9d82024f1a feat(Hermes): update version to 0.9.0-beta. (#34243)
* feat(Hermes): update version to 0.9.0-beta.
   This is the latest release.
* feat(Hermes): fix checksum.
  Credit: @tldahlgren
2022-12-02 11:31:09 -07:00
Tamara Dahlgren
bcefe6a73e Docs: Minor change 'several'->'over a dozen' (#34274) 2022-12-02 10:27:37 -08:00
Todd Gamblin
87562042df concretizer: use only attr() for Spec attributes (#31202)
All Spec attributes are now represented as `attr(attribute_name, ... args ...)`, e.g.
`attr(node, "hdf5")` instead of `node("hdf5")`, as we *have* to maintain the `attr()`
form anyway, and it simplifies the encoding to just maintain one form of the Spec
information.

Background
----------

In #20644, we unified the way conditionals are done in the concretizer, but this
introduced a nasty aspect to the encoding: we have to maintain everything we want in
general conditions in two forms: `predicate(...)` and `attr("predicate", ...)`. For
example, here's the start of the table of spec attributes we had to maintain:

```prolog
node(Package)                      :- attr("node", Package).
virtual_node(Virtual)              :- attr("virtual_node", Virtual).
hash(Package, Hash)                :- attr("hash", Package, Hash).
version(Package, Version)          :- attr("version", Package, Version).
...
```

```prolog
attr("node", Package)              :- node(Package).
attr("virtual_node", Virtual)      :- virtual_node(Virtual).
attr("hash", Package, Hash)        :- hash(Package, Hash).
attr("version", Package, Version)  :- version(Package, Version).
...
```

This adds cognitive load to understanding how the concretizer works, as you have to
understand the equivalence between the two forms of spec attributes. It also makes the
general condition logic in #20644 hard to explain, and it's easy to forget to add a new
equivalence to this list when adding new spec attributes (at least two people have been
bitten by this).

Solution
--------

- [x] remove the equivalence list from `concretize.lp`
- [x] simplify `spec_clauses()`, `condition()`, and other functions in `asp.py` that need
      to deal with `Spec` attributes.
- [x] Convert all old-form spec attributes in `concretize.lp` to the `attr()` form
- [x] Simplify `display.lp`, where we also had to maintain a list of spec attributes. Now
      we only need to show `attr/2`, `attr/3`, and `attr/4`.
- [x] Simplify model extraction logic in `asp.py`.

Performance
-----------

This seems to result in a smaller grounded problem (as there are no longer duplicated
`attr("foo", ...)` / `foo(...)` predicates in the program), but it also adds a slight
performance overhead vs. develop. Ultimately, simplifying the encoding will be a win,
particularly for improving error messages.

Notes
-----

This will simplify future node refactors in `concretize.lp` (e.g., not identifying nodes
by package name, which we need for separate build dependencies).

I'm still not entirely used to reading `attr()` notation, but I thnk it's ultimately
clearer than what we did before. We need more uniform naming, and it's now clear what is
part of a solution. We should probably continue making the encoding of `concretize.lp`
simpler and more self-explanatory. It may make sense to rename `attr` to something like
`node_attr` and to simplify the names of node attributes. It also might make sense to do
something similar for other types of predicates in `concretize.lp`.
2022-12-02 18:56:18 +01:00
Manuela Kuhn
10d10b612a py-keyrings-alt: add 4.2.0 (#34262)
* py-keyrings-alt: add 4.2.0

* Add missing py-jaraco-classes dependency
2022-12-02 09:08:53 -07:00
iarspider
69dd742dc9 Add checksum for py-hatchling 1.8.1 (#34260) 2022-12-02 09:29:38 -06:00
Tamara Dahlgren
18efd817b1 Bugfix: Fetch should not force use of curl to check url existence (#34225)
* Bugfix: Fetch should not force use of curl to check url existence

* Switch type hints from comments to actual hints
2022-12-02 04:50:23 -07:00
Manuela Kuhn
65a5369d6a py-flask: add 2.2.2 and fix dependencies for py-werkzeug and py-markupsafe (#32849)
* py-flask: add 2.2.2, py-werkzeug: add 2.2.2, py-markupsafe: add 2.1.1

* Remove py-dataclasses dependency
2022-12-01 22:56:18 -07:00
iarspider
f66ec00fa9 Herwig3: make njet, vbfnlo dependencies optional... (#33941)
* Herwig3: make njet, vbfnlo dependencies optional...
  also drop openloops dependency when building on PowerPC
* Update package.py
2022-12-01 17:19:46 -08:00
Manuela Kuhn
f63fb2f521 py-twine: add 4.0.1, py-readme-renderer: add 37.3 (#34203)
* py-twine: add 4.0.1

* Remove py-setuptools as run dependency
2022-12-01 12:29:10 -06:00
Annop Wongwathanarat
dfa00f5a8d acfl: add post-installation check by running examples (#34172) 2022-12-01 09:47:59 -07:00
Alec Scott
6602780657 Add py-python-lsp-server and dependencies (#34149)
* Add py-python-lsp-server and dependencies

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

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

* Relax version range constraints on py-python-lsp-jsonrpc and add missing dep

* Add runtime dependency flag to setuptools dependencies

* Remove unused python@3.6: dependency and move setuptools-scm to build dep only

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-12-01 09:34:49 -07:00
iarspider
8420c610fa gnuplot: make readline optional (#34179)
* gnuplot: make readline optional
* Update package.py

Co-authored-by: iarspider <iarspider@users.noreply.github.com>
2022-12-01 09:11:14 -07:00
Greg Becker
b139cab687 conditional variant values: allow boolean (#33939) 2022-12-01 08:25:57 +01:00
Adam J. Stewart
99fcc57607 py-scipy: hardcode to use blis.pc (#34171) 2022-11-30 12:29:20 -08:00
Larry Knox
5a394d37b7 Add HDF5 version 1.13.3. (#34165)
* Add HDF5 version 1.13.3.
* Remove maintainers no longer with The HDFGroup.
* Fix indentation.
2022-11-30 11:23:38 -08:00
Loïc Pottier
472074cb7c redis-plus-plus: newer version and added TLS support (#34197)
Signed-off-by: Loïc Pottier <pottier1@llnl.gov>
2022-11-30 11:18:47 -08:00
Adam J. Stewart
45c8d7f457 py-segmentation-models-pytorch: add v0.3.1 (#34214) 2022-11-30 10:58:27 -08:00
Edward Hartnett
dce1f01f1a new w3emc version (#34219)
* updated version of w3emc package
* fixed sha
2022-11-30 10:54:45 -08:00
Sam Grayson
03cc83bc67 Add py-yt 4.x versions (#30418)
* Add py-yt 4.x versions

* Fix spelling

* Add yt dependencies

* Refine cython dependency

* Tweak depends_on for py-yt 4.x

* Apply suggestions from code review

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

* Fix comments from code review

* Fix formatting

* Fix stuff

* Fix constraints

* Update py-yt to 4.1.2

* Updated packages

* Fix py-tomli checksum

* Remove `expand` from `py-tomli/package.py`

* Respond to Adam's comments

* Update checksums

* Update checksusm

* Respond to comments

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-11-30 12:03:26 -06:00
eugeneswalker
f452741e3d e4s ci: use 2022-12-01 runner images (#34212) 2022-11-30 09:52:30 -08:00
eugeneswalker
99b68e646d e4s ci: hpx: set max_cpu_count=512 (#33977) 2022-11-30 09:16:57 -08:00
iarspider
f78c8265f4 Add checksum for py-kiwisolver 1.4.4 (#34121) 2022-11-30 09:18:18 -06:00
iarspider
5d3efbba14 Fix recipe for py-onnx-runtime (#34130)
* Fix recipe

* Update package.py

* Update recipe following review

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

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

* remove unused imports

* Update package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-11-30 09:17:22 -06:00
Sajid Ali
7423f52cd3 PMIx: enable python bindings (#34107) 2022-11-30 15:55:24 +01:00
Massimiliano Culpo
43d93f7773 Deduplicate code to propagate module changes across MRO (#34157) 2022-11-30 11:10:42 +01:00
Harmen Stoppels
f8dec3e87f Single pass text replacement (#34180) 2022-11-30 10:21:51 +01:00
Manuela Kuhn
ef06b9db5b py-bidscoin, py-multiecho: add new packages (#34168) 2022-11-29 17:37:50 -07:00
Todd Gamblin
c64c9649be debug: move "nonexistent config path" message to much higher verbosity level (#34201)
We currently report that searched config paths don't exist at debug level 1, which
clutters the output quite a bit:

```console
> spack -d solve --fresh --show asp hdf5 > hdf5.lp
==> [2022-11-29-14:18:21.035133] Skipping nonexistent config path /Users/gamblin2/src/spack/etc/spack/darwin/concretizer.yaml
==> [2022-11-29-14:18:21.035151] Skipping nonexistent config path /Users/gamblin2/.spack/concretizer.yaml
==> [2022-11-29-14:18:21.035169] Skipping nonexistent config path /Users/gamblin2/.spack/darwin/concretizer.yaml
==> [2022-11-29-14:18:21.035238] Reading config from file /Users/gamblin2/src/spack/etc/spack/defaults/repos.yaml
==> [2022-11-29-14:18:21.035996] Skipping nonexistent config path /Users/gamblin2/src/spack/etc/spack/defaults/darwin/repos.yaml
==> [2022-11-29-14:18:21.036021] Skipping nonexistent config path /etc/spack/repos.yaml
==> [2022-11-29-14:18:21.036039] Skipping nonexistent config path /etc/spack/darwin/repos.yaml
==> [2022-11-29-14:18:21.036057] Skipping nonexistent config path /Users/gamblin2/src/spack/etc/spack/repos.yaml
==> [2022-11-29-14:18:21.036072] Skipping nonexistent config path /Users/gamblin2/src/spack/etc/spack/darwin/repos.yaml
==> [2022-11-29-14:18:21.036088] Skipping nonexistent config path /Users/gamblin2/.spack/repos.yaml
==> [2022-11-29-14:18:21.036105] Skipping nonexistent config path /Users/gamblin2/.spack/darwin/repos.yaml
==> [2022-11-29-14:18:21.071828] Reading config from file /Users/gamblin2/src/spack/etc/spack/defaults/config.yaml
==> [2022-11-29-14:18:21.081628] Skipping nonexistent config path /Users/gamblin2/src/spack/etc/spack/defaults/darwin/config.yaml
==> [2022-11-29-14:18:21.081669] Skipping nonexistent config path /etc/spack/config.yaml
==> [2022-11-29-14:18:21.081692] Skipping nonexistent config path /etc/spack/darwin/config.yaml
==> [2022-11-29-14:18:21.081712] Skipping nonexistent config path /Users/gamblin2/src/spack/etc/spack/config.yaml
==> [2022-11-29-14:18:21.081731] Skipping nonexistent config path /Users/gamblin2/src/spack/etc/spack/darwin/config.yaml
==> [2022-11-29-14:18:21.081748] Skipping nonexistent config path /Users/gamblin2/.spack/config.yaml
==> [2022-11-29-14:18:21.081764] Skipping nonexistent config path /Users/gamblin2/.spack/darwin/config.yaml
==> [2022-11-29-14:18:21.134909] Reading config from file /Users/gamblin2/src/spack/etc/spack/defaults/packages.yaml
==> [2022-11-29-14:18:21.148695] Reading config from file /Users/gamblin2/src/spack/etc/spack/defaults/darwin/packages.yaml
==> [2022-11-29-14:18:21.152555] Skipping nonexistent config path /etc/spack/packages.yaml
==> [2022-11-29-14:18:21.152582] Skipping nonexistent config path /etc/spack/darwin/packages.yaml
==> [2022-11-29-14:18:21.152601] Skipping nonexistent config path /Users/gamblin2/src/spack/etc/spack/packages.yaml
==> [2022-11-29-14:18:21.152620] Skipping nonexistent config path /Users/gamblin2/src/spack/etc/spack/darwin/packages.yaml
==> [2022-11-29-14:18:21.152637] Skipping nonexistent config path /Users/gamblin2/.spack/packages.yaml
==> [2022-11-29-14:18:21.152654] Skipping nonexistent config path /Users/gamblin2/.spack/darwin/packages.yaml
==> [2022-11-29-14:18:21.853915] Skipping nonexistent config path /Users/gamblin2/src/spack/etc/spack/defaults/compilers.yaml
==> [2022-11-29-14:18:21.853962] Skipping nonexistent config path /Users/gamblin2/src/spack/etc/spack/defaults/darwin/compilers.yaml
==> [2022-11-29-14:18:21.853987] Skipping nonexistent config path /etc/spack/compilers.yaml
==> [2022-11-29-14:18:21.854007] Skipping nonexistent config path /etc/spack/darwin/compilers.yaml
==> [2022-11-29-14:18:21.854025] Skipping nonexistent config path /Users/gamblin2/src/spack/etc/spack/compilers.yaml
==> [2022-11-29-14:18:21.854043] Skipping nonexistent config path /Users/gamblin2/src/spack/etc/spack/darwin/compilers.yaml
==> [2022-11-29-14:18:21.854060] Skipping nonexistent config path /Users/gamblin2/.spack/compilers.yaml
==> [2022-11-29-14:18:21.854093] Reading config from file /Users/gamblin2/.spack/darwin/compilers.yaml
```

It is very rare that I want to know this much information about config search, so I've
moved this to level 3. Now at level 1, we can see much more clearly what configs were
actually found:

```console
> spack -d solve --fresh --show asp hdf5 > hdf5.lp
==> [2022-11-29-14:19:04.035457] Imported solve from built-in commands
==> [2022-11-29-14:19:04.035818] Imported solve from built-in commands
==> [2022-11-29-14:19:04.037626] Reading config from file /Users/gamblin2/src/spack/etc/spack/defaults/concretizer.yaml
==> [2022-11-29-14:19:04.040033] Reading config from file /Users/gamblin2/src/spack/etc/spack/defaults/repos.yaml
==> [2022-11-29-14:19:04.080852] Reading config from file /Users/gamblin2/src/spack/etc/spack/defaults/config.yaml
==> [2022-11-29-14:19:04.133241] Reading config from file /Users/gamblin2/src/spack/etc/spack/defaults/packages.yaml
==> [2022-11-29-14:19:04.147175] Reading config from file /Users/gamblin2/src/spack/etc/spack/defaults/darwin/packages.yaml
==> [2022-11-29-14:19:05.157896] Reading config from file /Users/gamblin2/.spack/darwin/compilers.yaml
```

You can still get the old messages with `spack -ddd` (to activate debug level 3).
2022-11-29 16:17:13 -08:00
Paul R. C. Kent
2c6b52f137 add 15.0.5, 15.0.6 (#34194) 2022-11-29 15:26:13 -08:00
kwryankrattiger
33422acef0 CI: Update Data and Vis SDK Stack (#34009)
* CI: Update Data and Vis SDK Stack

* Update image to match target deployments (E4S)
* Enable all packages
* Test supported variants of ParaView and VisIt

* Sensei: Update Python hint for newer cmake

* Sensei: add Python3 hint
2022-11-29 14:49:55 -07:00
Stephen Sachs
428f635142 icc@2021.6.0 does not support gcc@12 headers (#34191)
Error message:
```
/shared/spack/opt/spack/linux-amzn2-x86_64_v3/gcc-7.3.1/gcc-12.2.0-4tairupdxg2tg2yhvjdlbs7xbd7wudl3/bin/../include/c++/12.2.0/bits/random.h(104): error: expected a declaration
{ extension using type = unsigned __int128; };
^
```

Co-authored-by: Stephen Sachs <stesachs@amazon.com>
2022-11-29 14:36:48 -05:00
kwryankrattiger
c6c74e98ff Dav sdk catalyst (#34010)
* SDK: Add Catalyst 1 and 2 support to the SDK

* LibCatalyst: Remove unused python3 variant from package
2022-11-29 11:28:32 -06:00
Valentin Volkl
d9b438ec76 evtgen: add v02.02.00 (#34187)
* evtgen: add v02.02.00
* format
2022-11-29 09:54:14 -07:00
Cristian Le
c6ee30497c Fix libxc cflag (#34000)
Using standard c99 should not be specific to intel compilers.
2022-11-29 13:45:28 +01:00
Loïc Pottier
1270ae1526 hiredis: updated package definition to use CMake (#33949) 2022-11-29 13:44:50 +01:00
psakievich
d15fead30c Add maintainer to Exawind stack and Trilinos (#34174)
* Add maintainer to Nalu-Wind and Trilinos

* Add to trilinos

* Exawind too

* amr-wind too
2022-11-28 17:23:17 -08:00
Valentin Volkl
23aaaf2d28 genfit: add v02-00-01 (#34159) 2022-11-28 17:09:47 -08:00
Hans Fangohr
56f9c76394 fix typo in path for sanity check (#34117)
- typo breaks install
2022-11-28 16:49:57 -07:00
Sam Grayson
49cda811fc Add new version of snakemake (#34041)
* Add new version of snakemake

* Add myself as a maintainer

* py-retry -> py-reretry

* Added snakemake variants for storage systems

* Updated comments

* Responded to Adam's comments

* Fixed spack style

* Add build/run dependency types
2022-11-28 15:10:10 -07:00
Benjamin Meyers
a97312535a New package: py-statmorph (#34158)
* New package py-statmorph w/ dependecies. Add py-astropy@5.1

* [@spackbot] updating style on behalf of meyersbs

* [py-statmorph,py-astropy,py-pyerfa] minor fixes
2022-11-28 15:46:10 -06:00
Benjamin Meyers
a0180ef741 New package: py-stui (#34156)
* New package py-stui

* [py-stui] add maintainer

* [@spackbot] updating style on behalf of meyersbs

* [py-stui] fix deps
2022-11-28 15:45:40 -06:00
iarspider
d640a573a8 Add checksum for py-rsa 4.9 (#34115)
* Add checksum for py-rsa 4.9

* Update package.py

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-11-28 14:10:21 -07:00
Cameron Smith
b3679406d0 omegah: new scorec version, fix cuda flags (#34169) 2022-11-28 13:03:27 -08:00
eugeneswalker
587488882a e4s ci: add hdf5-vol-async; remove expired comments (#34110) 2022-11-28 19:35:42 +00:00
Satish Balay
a17844a367 petsc, py-petsc4py: add 3.18.2 (#34161) 2022-11-28 10:51:48 -08:00
Manuela Kuhn
093a37750c py-bidskit: new package and dcm2niix: add 1.0.20220720 (#34162)
* py-bidskit: new package and dcm2niix: add 1.0.20220720

* Remove list_url
2022-11-28 11:05:49 -07:00
iarspider
173cc7e973 Add checksum for py-traitlets 5.3.0 (#34127) 2022-11-28 11:05:35 -07:00
Greg Becker
451e3ff50b warn about removal of deprecated format strings (#34101)
* warn about removal of deprecated format strings

Co-authored-by: becker33 <becker33@users.noreply.github.com>
2022-11-28 10:03:49 -08:00
Manuela Kuhn
523c4c2b63 py-dcm2bids: add new package (#34163) 2022-11-28 10:46:04 -07:00
Thomas-Ulrich
35e5a916bc easi: update package, rework impalajit (#34032) 2022-11-28 15:54:21 +01:00
Annop Wongwathanarat
1374577659 acfl: provides blas, lapack, and fftw-api@3 (#34154) 2022-11-28 14:25:32 +01:00
Hector Martinez-Seara
4c017403db texinfo: add v7.0 (#34150) 2022-11-28 06:22:13 -07:00
Massimiliano Culpo
fdfda72371 Use a module-like object to propagate changes in the MRO, when setting build env (#34059)
This fixes an issue introduced in #32340, which changed the semantics of the "module"
object passed to the "setup_dependent_package" callback.
2022-11-28 14:18:26 +01:00
Harmen Stoppels
efa1dba9e4 Revert "Revert "gitlab: Add shared PR mirror to places pipelines look for binaries. (#33746)" (#34087)" (#34153)
This reverts commit 63e4406514.
2022-11-28 06:06:03 -07:00
Annop Wongwathanarat
2a7ae2a700 armpl-gcc: add post-installation check by running examples (#34086) 2022-11-28 13:55:51 +01:00
Adam J. Stewart
a1b4e1bccd Add type hints to Prefix class (#34135) 2022-11-28 13:49:57 +01:00
Alec Scott
066ec31604 Add restic v0.14.0 (#34148) 2022-11-28 08:39:37 +01:00
Alec Scott
bb1888dbd4 direnv: add v2.32.2 (#34147) 2022-11-27 22:09:53 +01:00
Michael Kuhn
bc17b6cefb rust: add 1.65.0 (#34124) 2022-11-27 16:03:46 +01:00
Umashankar Sivakumar
46a0cd8e55 SingularityCE: Add conmon+squashfs as dependencies (#33891) 2022-11-27 13:05:49 +01:00
fpruvost
b2ceb23165 pastix: add new version 6.2.2 (#34066) 2022-11-27 00:33:05 +01:00
Harmen Stoppels
2fad966139 neovim: fix deptypes (#34060) 2022-11-27 00:23:24 +01:00
Luke Diorio-Toth
0b01c8c950 py-fastpath: new package (#34142)
* py-fastpath: new package

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-11-26 15:57:45 -07:00
Eric Berquist
613d0b7e8e emacs: add variant treesitter for Emacs 29+ (#34134) 2022-11-26 23:45:00 +01:00
Wouter Deconinck
21c29ee375 prmon: Add missing depends_on py-numpy, py-pandas when +plot (#34123) 2022-11-26 23:43:25 +01:00
Luke Diorio-Toth
e236339e5a aragorn: add newer versions and URL (#34140) 2022-11-26 23:34:59 +01:00
Luke Diorio-Toth
7a03525c35 minced: add v0.4.2 (#34141) 2022-11-26 23:30:56 +01:00
Hans Fangohr
17ca86a309 Octopus: branch for Octopus development is now "main" (#34128)
Historically, development of the Octopus code was done on the "develop" branch
on https://gitlab.com/octopus-code/octopus but now development takes place on
"main" (since Q3 2022).

The suggestion in this PR to solve the issue is to keep the spack label
`octopus@develop` as this better indicates this is the development branch on git
than `octopus@main`, but of course to use the `main` branch (there is no choice
here - the `develop` branch is not touched anymore). Sticking to
`octopus@develop` as the version label also keeps backwards compatibility.
2022-11-26 15:29:49 -07:00
marcost2
ce71a38703 nvtop: Add 2.0.3, 2.0.4, 3.0.0 and 3.0.1 (#34145)
* And add the option to compile support for Intel GPU's
2022-11-26 21:04:48 +01:00
Satish Balay
12c23f2724 Revert "url_exists related improvements (#34095)" (#34144)
This reverts commit d06fd26c9a.

The problem is that Bitbucket's API forwards download requests to an S3 bucket using a temporary URL. This URL includes a signature for the request, which embeds the HTTP verb. That means only GET requests are allowed, and HEAD requests would fail verification, leading to 403 erros. The same is observed when using `curl -LI ...`
2022-11-26 17:56:36 +00:00
Carlos Bederián
b8ae0fbbf4 amdblis: symlink libblis-mt to libblis (#32819) 2022-11-26 00:33:29 +01:00
Sebastian Ehlert
6b5c86e0be toml-f: add 0.2.4 and 0.3.1 (#34025) 2022-11-25 16:29:58 -07:00
Victoria Cherkas
1ed1b49c9b metkit, fdb: Add latest versions (#33289) 2022-11-25 23:54:51 +01:00
petertea
4265d5e111 Update TotalView versions and website (#33418)
Co-authored-by: Peter Thompson <thompson81@llnl.gov>
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2022-11-25 23:42:56 +01:00
snehring
8c0fb91d4e ffmpeg: adding version 5.1.2 (#33758)
* ffmpeg: add version 5.1.2 and switch to conditional variants

Also: py-torchvision: restrict ffmpeg dependency
2022-11-25 23:37:17 +01:00
Thomas Madlener
567532b9e5 lcio: Add new version and restrictions on c++ standard (#33997) 2022-11-25 23:08:23 +01:00
Adam J. Stewart
47d59e571e py-pandas: add v1.5.2 (#34091) 2022-11-25 23:03:16 +01:00
Adam J. Stewart
93ff19c9b7 py-pytorch-lightning: add v1.8.3 (#34096) 2022-11-25 22:59:39 +01:00
Harmen Stoppels
2167cbf72c Track locks by (dev, ino); close file handlers between tests (#34122) 2022-11-25 10:57:33 +01:00
Sergey Kosukhin
7a5e527cab zlib: fix shared libraries when '%nvhpc' (#34039) 2022-11-24 20:10:18 +01:00
iarspider
a25868594c Add checksum for py-uncertainties 3.1.7 (#34116) 2022-11-24 12:11:58 -06:00
Brent Huisman
dd5263694b Arbor: Yank v0.5 (#34094)
v0.5 does not build due to a change in setting `arch` introduced in v0.5.2, compatibility with which was not kept in `arbor/package.py`. Since v0.5.2 is compatible with `arbor/package.py`, and is API compatible with v0.5, any users relying on v0.5 can rely on v0.5.2.
2022-11-24 11:19:32 +01:00
Thomas-Ulrich
5fca1c9aff hipsycl: add v0.9.3 (#34052) 2022-11-23 23:14:01 -07:00
Tim Haines
1d7393c281 dyninst: add checksums for all supported versions (#34051) 2022-11-24 03:45:56 +01:00
Jen Herting
f0bc551718 New package: py-kt-legacy (#34104)
* first build of keras-tuner with dataset kt-legacy

* [py-kt-legacy] fixed homepage

* [py-kt-legacy] depends on setuptools

* [py-kt-legacy] fixed import

* [@spackbot] updating style on behalf of qwertos

Co-authored-by: Sid Pendelberry <sid@rit.edu>
Co-authored-by: qwertos <qwertos@users.noreply.github.com>
2022-11-23 19:26:21 -07:00
Adam J. Stewart
46b9a09843 py-cartopy: older versions don't support newer matplotlib (#34109) 2022-11-24 02:44:20 +01:00
Stephen Sachs
c0898565b9 openfoam: Fix openfoam@2012_220610 %intel (add #include <array>) (#34088) 2022-11-24 02:34:40 +01:00
Benjamin Meyers
3018e7f63d Add py-urwid@2.1.2 (#34103)
* Add py-urwid@2.1.2

* [@spackbot] updating style on behalf of meyersbs
2022-11-23 19:25:02 -06:00
Satish Balay
dfa1a42420 petsc, slepc: enable parallel builds (#34024) 2022-11-24 02:16:20 +01:00
Adam J. Stewart
2c8ab85e6a gnuplot: fix build with Apple Clang (#34092) 2022-11-24 01:33:33 +01:00
Nicolas Cornu
b2505aed5c HighFive: bump to 2.6.2 (#34090) 2022-11-24 00:20:36 +01:00
Valentin Volkl
7847d4332e docs: update info on XCode requirements (#34097) 2022-11-24 00:20:09 +01:00
Massimiliano Culpo
70bcbba5eb ecflow: polish recipe (#34043) 2022-11-23 21:38:37 +01:00
Tom Scogland
0182603609 Control Werror by converting to Wno-error (#30882)
Using `-Werror` is good practice for development and testing, but causes us a great
deal of heartburn supporting multiple compiler versions, especially as newer compiler
versions add warnings for released packages.  This PR adds support for suppressing
`-Werror` through spack's compiler wrappers.  There are currently three modes for
the `flags:keep_werror` setting:

* `none`: (default) cancel all `-Werror`, `-Werror=*` and `-Werror-*` flags by
  converting them to `-Wno-error[=]*` flags
* `specific`: preserve explicitly selected warnings as errors, such as
  `-Werror=format-truncation`, but reverse the blanket `-Werror`
* `all`: keeps all `-Werror` flags

These can be set globally in config.yaml, through the config command-line flags, or
overridden by a particular package (some packages use Werror as a proxy for determining
support for other compiler features).  We chose to use this approach because:

1. removing `-Werror` flags entirely broke *many* build systems, especially autoconf
   based ones, because of things like checking `-Werror=feature` and making the
   assumption that if that did not error other flags related to that feature would also work
2. Attempting to preserve `-Werror` in some phases but not others caused similar issues
3. The per-package setting came about because some packages, even with all these
   protections, still use `-Werror` unsafely.  Currently there are roughly 3 such packages
   known.
2022-11-23 12:29:17 -08:00
Jen Herting
bf1b846f26 [py-antlr4-python3-runtime] Added versions 4.9.3 and 4.10 (#34102)
* Working updates to py-antlr4-python3-runtime and py-omegaconf

* [py-antlr4-python3-runtime] added version 4.9.3

* [@spackbot] updating style on behalf of qwertos

Co-authored-by: Benjamin Meyers <bsmits@rit.edu>
Co-authored-by: qwertos <qwertos@users.noreply.github.com>
2022-11-23 12:30:11 -07:00
Harmen Stoppels
d06fd26c9a url_exists related improvements (#34095)
For reasons beyond me Python thinks it's a great idea to upgrade HEAD
requests to GET requests when following redirects. So, this PR adds a
better `HTTPRedirectHandler`, and also moves some ad-hoc logic around
for dealing with disabling SSL certs verification.

Also, I'm stumped by the fact that Spack's `url_exists` does not use
HEAD requests at all, so in certain cases Spack awkwardly downloads
something first to see if it can download it, and then downloads it
again because it knows it can download it. So, this PR ensures that both
urllib and botocore use HEAD requests.

Finally, it also removes some things that were there to support currently
unsupported Python versions.

Notice that the HTTP spec [section 10.3.2](https://datatracker.ietf.org/doc/html/rfc2616.html#section-10.3.2) just talks about how to deal
with POST request on redirect (whether to follow or not):

>   If the 301 status code is received in response to a request other
>   than GET or HEAD, the user agent MUST NOT automatically redirect the
>   request unless it can be confirmed by the user, since this might
>   change the conditions under which the request was issued.

>   Note: When automatically redirecting a POST request after
>   receiving a 301 status code, some existing HTTP/1.0 user agents
>   will erroneously change it into a GET request.

Python has a comment about this, they choose to go with the "erroneous change".
But they then mess up the HEAD request while following the redirect, probably
because they were too busy discussing how to deal with POST.

See https://github.com/python/cpython/pull/99731
2022-11-23 19:26:24 +00:00
kwryankrattiger
5d2c9636ff E4S: Conservatively add ecp-data-vis-sdk (#33621)
* E4S: Conservatively add ecp-data-vis-sdk

* Remove ascent from CUDA SDK stack to stop hanging on Dray

* Adios2: Newer FindPython uses Python_EXECUTABLE
2022-11-23 11:01:30 -08:00
Harmen Stoppels
63e4406514 Revert "gitlab: Add shared PR mirror to places pipelines look for binaries. (#33746)" (#34087)
This reverts commit 5c4137baf1.
2022-11-23 10:41:52 -08:00
Jen Herting
d56380fc07 New package: py-imagecodecs (#34098)
* [libjpeg-turbo] Added version 2.1.3

* [imagecodecs] Added jpeg deependency commented outconglicting libraries

* [WIP]

* [py-imagecodecs] modifying setup.py to work with spack install locations

* [py-imagecodecs] Removed comments and unneeded dependencies

* [py-imagecodecs] removed some comments and fixed up some flake8 complaints

* [py-imagecodecs] flake8

* [py-imagecodecs] fixed import

* [@spackbot] updating style on behalf of qwertos

Co-authored-by: James A Zilberman <jazrc@rit.edu>
Co-authored-by: qwertos <qwertos@users.noreply.github.com>
2022-11-23 10:39:45 -07:00
Adam J. Stewart
f89cc96b0c libelf: fix build on macOS arm64 (#34036) 2022-11-23 09:27:44 -07:00
iarspider
cf952d41d8 Add checksum for py-cffi 1.15.1 (#34081) 2022-11-23 08:52:21 -07:00
iarspider
5f737c5a71 Add checksum for py-parsimonious 0.10.0 (#34079) 2022-11-23 08:59:30 -06:00
Bernhard Kaindl
a845b1f984 openloops: add check for added Fortran compiler (#34014) 2022-11-23 07:59:13 -07:00
Henning Glawe
b8d059e8f4 berkelygw: use mpi variant for scalapack (#33948)
The package.py assumed "+mpi" in many places, without checking for the variant.
This problem went undetected, as a hard dependency on scalapack pulled an mpi
implementation into the dependency chain (this is also fixed).

Also, the +mpi variant is used select between serial and parallel mode:

It has to enable MPI and ScaLAPACK: They are inter-dependent. Compile
fails because of checks for the other if the other is not enabled.

Co-authored-by: Bernhard Kaindl <contact@bernhard.kaindl.dev>
2022-11-23 07:42:03 -07:00
Cory Bloor
1006c77374 rocm: add minimum versions for amdgpu_targets (#34030) 2022-11-23 14:23:38 +01:00
Alec Scott
38d4fd7711 Add conflicts statements to flux-core to limit builds to linux based platforms (#34068) 2022-11-23 06:08:46 -07:00
Harmen Stoppels
643ce586de libxcrypt: add v4.33 (#34069) 2022-11-23 05:36:47 -07:00
Adam J. Stewart
5b3b0130f2 Build System docs: consistent headers (#34047) 2022-11-23 13:35:55 +01:00
Harmen Stoppels
55c77d659e make/ninja: use the right number of jobs (#34057) 2022-11-23 12:35:15 +01:00
Alexander Knieps
fe1c105161 capnproto: update to v0.10.2 (#34063)
Co-authored-by: Alexander Knieps <a.knieps@fz-juelich.de>
2022-11-23 12:32:10 +01:00
Bernhard Kaindl
09f2b6f5f5 boost: At least with older Xcode, boost can't build with lzma (#34075)
Reference: https://lists.boost.org/Archives/boost/2019/11/247380.php
As reported at the end of #33998 and this link, liblzma on older Xcode on
MacOSX 10 misses _lzma_cputhreads, so boost's can't use liblzma on those.
2022-11-23 03:36:22 -07:00
Matthieu Dorier
73fe21ba41 [mochi-margo] fixed dependency to Argobots (#34082) 2022-11-23 03:36:05 -07:00
Jen Herting
81fb87cedf New package: py-rasterstats (#34070)
* Fixed dependencies for rasterstats

* Fixed flake8 errors

* Fix flake8 error

* Cleans up package desc., adds build dependency on setuptools.

* Fixes flake8 error

Co-authored-by: Bailey Brown <bobits@rit.edu>
2022-11-23 02:55:14 -07:00
Tim Haines
7de39c44b1 dyninst: add v12.2.1 (#34050) 2022-11-23 10:13:00 +01:00
Keita Iwabuchi
c902e27e52 Metall package: add v0.22, v0.23, and v0.23.1 (#34073) 2022-11-23 09:57:32 +01:00
Takahiro Ueda
65b991a4c5 form: new version 4.3.0 (#34078) 2022-11-23 09:51:55 +01:00
Mosè Giordano
65520311a6 ccache: add new versions (#34067) 2022-11-23 01:42:44 -07:00
Umar Arshad
def79731d0 span-lite: Add new versions (#34072) 2022-11-23 02:21:58 +01:00
Michael Kuhn
0fd3c9f451 cmd/checksum: allow adding new versions to package (#24532)
This adds super-lazy maintainer mode to `spack checksum`: Instead of
only printing the new checksums to the terminal, `-a` and
`--add-to-package` will add the new checksums to the `package.py` file
and open it in the editor afterwards for final checks.
2022-11-22 16:30:49 -08:00
Adam J. Stewart
c5883fffd7 Python: drop EOL versions (#33898)
This PR removes [end of life](https://endoflife.date/python) versions of Python from Spack. Specifically, this includes all versions of Python older than 3.7.

See https://github.com/spack/spack/discussions/31824 for rationale. Deprecated in #32615. And #28003.

For anyone using software that relies on Python 2, you have a few options:

* Upgrade the software to support Python 3. The `3to2` tool may get you most of the way there, although more complex libraries may need manual tweaking.
* Add Python 2 as an [external package](https://spack.readthedocs.io/en/latest/build_settings.html#external-packages). Many Python libraries do not support Python 2, but you may be able to add older versions that did once upon a time.
* Use Spack 0.19. Spack 0.19 is the last release to officially support Python 3.6 and older
* Create and maintain your own [custom repository](https://spack.readthedocs.io/en/latest/repositories.html). Basically, you would need a package for Python 2 and any other Python 2-specific libraries you need.
2022-11-22 15:02:30 -08:00
Harmen Stoppels
4bf964e6b3 spack uninstall: use topo order (#34053) 2022-11-22 07:22:07 -07:00
Bernhard Kaindl
bcc0fda4e2 berkeleygw: fix build (no change to attribute spec.compiler_flags) (#34019) 2022-11-22 07:13:56 -07:00
iarspider
69987fd323 cpu-features: Fix appending -DBUILD_SHARED_LIBS (#34055)
Also:
* Use the release tarball for v0.7.0 to fix spack warning

Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2022-11-22 06:10:34 -07:00
Dominic Hofer
9a16234ed4 eckit: add v1.20.2, v1.16.3 (#33200)
Co-authored-by: Bernhard Kaindl <contact@bernhard.kaindl.dev>
2022-11-22 05:45:17 -07:00
Massimiliano Culpo
bd198312c9 Revert "Warn about removal of deprecated format strings (#33829)" (#34056)
This reverts commit 7f9af8d4a0.
2022-11-22 12:35:36 +01:00
Greg Becker
7f9af8d4a0 Warn about removal of deprecated format strings (#33829)
Co-authored-by: becker33 <becker33@users.noreply.github.com>
2022-11-22 10:56:57 +01:00
John W. Parent
793a7bc6a9 Windows: add registry query and SDK/WDK packages (#33021)
* Add a WindowsRegistryView class, which can query for existing
  package installations on Windows. This is particularly important
  because some Windows packages (including those added here)
  do not allow two simultaneous installs, and this can be
  queried in order to provide a clear error message.
* Consolidate external path detection logic for Windows into
  WindowsKitExternalPaths and WindowsCompilerExternalPaths objects.
* Add external-only packages win-sdk and wgl
* Add win-wdk (including external detection) which depends on
  win-sdk
* Replace prior msmpi implementation with a source-based install
  (depends on win-wdk). This install can control the install
  destination (unlike the binary installation).
* Update MSVC compiler to choose vcvars based on win-sdk dependency
* Provide "msbuild" module-level variable to packages during build
* When creating symlinks on Windows, need to explicitly specify when
  a symlink target is a directory
* executables_in_path no-longer defaults to using PATH (this is
  now expected to be taken care of by the caller)
2022-11-22 00:27:42 -08:00
genric
376afd631c py-kubernetes: add version 25.3.0 (#33915) 2022-11-22 05:46:41 +01:00
Harmen Stoppels
e287c6ac4b gnuconfig: bump with 2022-09-17 (#34035) 2022-11-22 05:31:29 +01:00
Sergey Kosukhin
e864744b60 py-fprettify: new version 0.3.7 (#34040) 2022-11-21 21:26:31 -06:00
Andrew W Elble
5b3af53b10 qiskit: updates (#33877) 2022-11-21 21:10:10 -06:00
Harmen Stoppels
44c22a54c9 Spec traversal: add option for topological ordering (#33817)
Spec traversals can now specify a topological ordering. A topologically-
ordered traversal with input specs X1, X2... will

* include all of X1, X2... and their children
* be ordered such that a given node is guaranteed to appear before any
  of its children in the traversal

Other notes:

* Input specs can be children of other input specs (this is useful if
  a user specifies a set of specs to uninstall: some of those specs
  might be children of others)
* `direction="parents"` will produce a reversed topological order
  (children always come before parents).
* `cover="edges"` will generate a list of edges L such that (a) input
  edges will always appear before output edges and (b) if you create
  a list with the destination of each edge in L the result is
  topologically ordered
2022-11-21 18:33:35 -08:00
Chris Green
f97f37550a libjpeg-turbo: make build_system settings comprehensive (#34046) 2022-11-22 03:15:32 +01:00
Massimiliano Culpo
0e4ee3d352 Speed-up a few unit-tests (#34044)
* test_suite.py: speed up slow test by using mock packages

* Don't resolve the sha during unit-tests

* Skip long-running test that fails, instead of executing it
2022-11-21 23:50:55 +01:00
Brian Van Essen
05fc800db9 Fixed the rdma-core package to find its external library (#33798) 2022-11-21 15:45:47 -07:00
Dom Heinzeller
2387c116ad ecflow: add v5.8.3, update with changes from JCSDA-EMC fork (#34038) 2022-11-21 11:01:52 -07:00
Scott Wittenburg
6411cbd803 ci: restore ability to reproduce gitlab job failures (#33953) 2022-11-21 10:39:03 -06:00
Harmen Stoppels
8ea366b33f uninstall: fix accidental cubic complexity (#34005)
* uninstall: fix accidental cubic complexity

Currently spack uninstall runs in worst case cubic time complexity
thanks to traversal during traversal during traversal while collecting
the specs to be uninstalled.

Also brings down the number of error messages printed to something
linear in the amount of matching specs instead of quadratic.
2022-11-21 16:44:48 +01:00
Drew Whitehouse
9a2fbf373c openvdb: update to v10.0.0 (#33835) 2022-11-21 06:38:28 +01:00
Mosè Giordano
9e1fef8813 texinfo: require also makeinfo executable (#33370)
* texinfo: require also `makeinfo` executable
* texinfo: add versions 6.6, 6.7, 6.8
* texinfo: add `info` and `makeinfo` sanity checks
2022-11-21 05:20:11 +01:00
Alec Scott
f8a6e3ad90 hugo: add v0.106.0 (#34023) 2022-11-21 04:22:32 +01:00
Adam J. Stewart
0706919b09 Python: specify tcl/tk version requirements (#34027) 2022-11-20 19:13:47 -06:00
Wouter Deconinck
b9b93ce272 qt6: new packages (#29555)
* qt6: initial commit of several basic qt6 packages

* Qt6: fix style issues

* [qt6] fix style issues, trailing spaces

* [qt6] rename to qt-* ecosystem; remove imports

* [qt6] rename dependencies; change version strings

* [qt6] list_urls

* [qt6] homepage links

* [qt6] missing closing quotes failed style check

* qt-declarative: use private _versions

Co-authored-by: Seth R. Johnson <johnsonsr@ornl.gov>

* qt-quick3d, qt-quicktimeline, qt-shadertools: use private _versions

* qt-base: rework feature defines and use run_tests

* qt: new version 6.2.4

* flake8 whitespace before comma

* qt-base: variant opengl when +gui

Co-authored-by: Seth R. Johnson <johnsonsr@ornl.gov>

* qt6: rebase and apply new black style

* qt6: apply style isort fixes

* qt6: new version 6.3.0 and 6.3.1

* qt6: add 6.3.0 and 6.3.1 to versions list

* qt6: multi-argument join_path

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

* qt-base: fix isort

* qt-shadertools: no cmake_args needed

* qt-declarative: imports up front

* qt-quick3d: fix import

* qt-declarative: remove useless cmake_args

* qt-shadertools: imports and join_path fixes

* qt-quick3d: join_path fixes

* qt-declarative: join_path fixes

* Update features based on gui usage

* Update dependencies, cmake args, mac support

* Update features based on linux

* More updates

* qt-base: fix style

* qt-base: archive_files join_path

* qt-base: new version 6.3.2

* qt-{declarative,quick3d,quicktimeline,shadertools}@6.3.2

* qt-base: require libxcb@1.13: and use system xcb_xinput when on linux

Co-authored-by: Seth R. Johnson <johnsonsr@ornl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-11-20 20:03:52 -05:00
Pedro Ciambra
87cb9760ce mold: new package for the mold linker (#34017) 2022-11-21 01:32:47 +01:00
Adam J. Stewart
d472e28bfe py-numpy: add v1.23.5 (#34026) 2022-11-21 00:40:37 +01:00
Bernhard Kaindl
dbc81549db krb5: Add new versions 1.19.4 and 1.20.1 (#34021)
Co-authored-by: Bernhard Kaindl <contact@bernhard.kaindl.dev>
2022-11-21 00:39:13 +01:00
Sam Grayson
dc00c4fdae Update dask and related packages (#33925)
* Update dask and related packages

* Update package dependency specs

* Run spack style

* Add new version of locket

* Respond to comments

* Added constraints

* Add version constraints for py-dask+distributed

* Run spack style

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

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

* Deprecated dask versions

* Deprecated more dask and distirbuted

* spack style --fix

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-11-20 12:43:32 -06:00
Bernhard Kaindl
f1b9da16c8 bash: Update 5.1 to 5.1.16 (#34022) 2022-11-20 18:36:24 +01:00
Adam J. Stewart
93ce943301 py-torch: add note about MPS variant (#34018) 2022-11-19 18:10:06 -07:00
Jen Herting
632b36ab5d New package: py-ahpy (#34008)
* first build of ahpy

* updated to limit python to >4

* added from spack.package import * to >4

Co-authored-by: Sid Pendelberry <sid@rit.edu>
2022-11-19 12:10:14 -07:00
Paul Romano
94c76c5823 OpenMC: add v0.13.2 (#33903)
* openmc: add v0.13.2

* Fix style formatting

* Update Python version dependency

* Update numpy version dependency
2022-11-19 12:22:58 -06:00
Massimiliano Culpo
45b4cedb7e spack find: remove deprecated "--bootstrap" option (#34015) 2022-11-19 16:09:34 +01:00
Erik Schnetter
6d0a8f78b2 libxcrypt: Disable -Werror (#34013) 2022-11-19 06:29:50 -07:00
Chris Green
409cf185ce package_base.py: Fix #34006: test msg needs to be a string (#34007) 2022-11-19 13:02:51 +01:00
iarspider
602984460d Boost: enable lzma and zstd iostreams (#33998) 2022-11-19 12:07:52 +01:00
Olivier Cessenat
62b1d52a1e graphviz: remove 1. cyclic dep when +pangocairo and 2. error with poppler+glib (#32120)
* graphviz: remove cyclic dep to svg when pangocairo and poppler+glib failure

* graphviz: remove cyclic dep to svg when pangocairo and poppler+glib failure
2022-11-19 11:53:09 +01:00
Jim Edwards
790bd175e0 parallelio: update package to use mpi-serial, add extra module info (#33153) 2022-11-19 03:50:01 -07:00
Adam J. Stewart
2f057d729d py-scipy: add v1.9 (#31810) 2022-11-19 11:16:01 +01:00
Jerome Soumagne
a124185090 mercury: add version 2.2.0 (#31966)
add psm, psm2 and hwloc variants

Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2022-11-19 11:12:52 +01:00
Michael Kuhn
c5235bbe86 sqlite: add 3.40.0 (#33975) 2022-11-18 18:42:03 -07:00
Chris Green
e715901cb2 PackageBase should not define builder legacy attributes (#33942)
* Add a regression test for 33928

* PackageBase should not set `(build|install)_time_test_callbacks`

* Fix audits by preserving the current semantic

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2022-11-18 22:22:51 +01:00
Robert Blake
1db914f567 Updating faiss with new versions (#33983)
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2022-11-18 21:43:41 +01:00
Robert Blake
688dae7058 Updating hiredis with new software versions (#33982) 2022-11-18 21:43:20 +01:00
Richard Berger
ddb460ec8d charliecloud: new version 0.30 (#34004) 2022-11-18 11:29:33 -08:00
snehring
703e5fe44a trnascan-se: adding missing build dep (#33978) 2022-11-18 11:22:21 -08:00
Bernhard Kaindl
c601bdf7bf gcc: Ensure matching assembler/binutils on RHEL8 (#33994)
gcc@10: Newer binutils than RHEL7/8's are required to for guaranteed operaton. Therefore, on RHEL7/8, reject ~binutils. You need to add +binutils to be sure to have binutils which are recent enough.

See this discussion with the OpenBLAS devs for reference:
https://github.com/xianyi/OpenBLAS/issues/3805#issuecomment-1319878852

Co-authored-by: Bernhard Kaindl <contact@bernhard.kaindl.dev>
2022-11-18 10:55:52 -08:00
Satish Balay
778dddc523 pflotran: add "rxn" variant (#33995) 2022-11-18 10:34:27 -08:00
Robert Underwood
acc19ad34f LibPressio support for MGARD (#33999)
Co-authored-by: Robert Underwood <runderwood@anl.gov>
2022-11-18 10:26:50 -08:00
Adam J. Stewart
f4826e1b33 py-mypy: add new versions; add new py-types packages (#34002)
* py-mypy: add new versions
* Add new packages
2022-11-18 10:23:55 -08:00
snehring
05ff7e657c py-cutadapt: adding version 4.1 (#33959)
* py-dnaio: adding version 0.9.1
py-cutadapt: adding version 4.1

* py-cutadapt: remove old python versions

* py-dnaio: remove old python versions

* py-cutadapt: add cython dep
2022-11-18 10:33:57 -07:00
Massimiliano Culpo
839a14c0ba Improve error message for requirements (#33988)
refers #33985
2022-11-18 15:49:46 +01:00
Bernhard Kaindl
9aafbec121 openblas: Fix build on ARM Neoverse with gcc@:9 (no sve2+bf16) (#33968)
Also improve the InstallError message when +fortran but no FC was added.

Co-authored-by: Bernhard Kaindl <contact@bernhard.kaindl.dev>
2022-11-18 02:54:04 -07:00
iarspider
20071e0c04 Update libjpeg-turbo using new multibuildsystem approach (#33971)
Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2022-11-18 01:41:53 -07:00
Adam J. Stewart
51bb2f23a3 py-pytorch-lightning: add v1.8.2 (#33984) 2022-11-17 23:13:55 -07:00
Ross Miller
2060d51bd0 libxml2: make older versions depend on python@:3.9 (#33952)
Add a dependency on python versions less than 3.10 in order to work
around a bug in libxml2's configure script that fails to parse python
version strings with more than one character for the minor version.

The bug is present in v2.10.1, but has been fixed in 2.10.2.

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2022-11-18 05:16:11 +01:00
Harmen Stoppels
e5af0ccc09 libuv-julia: usa static libs for julia (#33980) 2022-11-18 03:09:07 +01:00
Jen Herting
284859e742 [lerc] added version 4.0.0 (#33974)
* [lerc] added version 4.0.0

* [@spackbot] updating style on behalf of qwertos

Co-authored-by: qwertos <qwertos@users.noreply.github.com>
2022-11-17 19:50:58 -06:00
Cory Quammen
37e77f7a15 ParaView: add ParaView-5.11.0 new release (#33972) 2022-11-17 18:06:08 -07:00
Harmen Stoppels
d2432e1ba4 julia: 1.8.3 (#33976) 2022-11-17 16:18:32 -07:00
David
5809ba0e3f ompss-2: new package (#33844) 2022-11-17 15:03:32 -08:00
Robert Underwood
95e294b2e8 fixes for ndzip and sperr (#33882)
* fixes for ndzip
* fix commits in spack
* new and fixed sperr release

Co-authored-by: Robert Underwood <runderwood@anl.gov>
2022-11-17 14:25:48 -08:00
Glenn Johnson
cdaac58488 Spack Bioconductor package updates (#33852)
* add version 1.46.0 to bioconductor package r-a4
* add version 1.46.0 to bioconductor package r-a4base
* add version 1.46.0 to bioconductor package r-a4classif
* add version 1.46.0 to bioconductor package r-a4core
* add version 1.46.0 to bioconductor package r-a4preproc
* add version 1.46.0 to bioconductor package r-a4reporting
* add version 1.52.0 to bioconductor package r-absseq
* add version 1.28.0 to bioconductor package r-acde
* add version 1.76.0 to bioconductor package r-acgh
* add version 2.54.0 to bioconductor package r-acme
* add version 1.68.0 to bioconductor package r-adsplit
* add version 1.70.0 to bioconductor package r-affxparser
* add version 1.76.0 to bioconductor package r-affy
* add version 1.74.0 to bioconductor package r-affycomp
* add version 1.58.0 to bioconductor package r-affycompatible
* add version 1.56.0 to bioconductor package r-affycontam
* add version 1.70.0 to bioconductor package r-affycoretools
* add version 1.46.0 to bioconductor package r-affydata
* add version 1.50.0 to bioconductor package r-affyilm
* add version 1.68.0 to bioconductor package r-affyio
* add version 1.74.0 to bioconductor package r-affyplm
* add version 1.44.0 to bioconductor package r-affyrnadegradation
* add version 1.46.0 to bioconductor package r-agdex
* add version 3.30.0 to bioconductor package r-agilp
* add version 2.48.0 to bioconductor package r-agimicrorna
* add version 1.30.0 to bioconductor package r-aims
* add version 1.30.0 to bioconductor package r-aldex2
* add version 1.36.0 to bioconductor package r-allelicimbalance
* add version 1.24.0 to bioconductor package r-alpine
* add version 2.60.0 to bioconductor package r-altcdfenvs
* add version 2.22.0 to bioconductor package r-anaquin
* add version 1.26.0 to bioconductor package r-aneufinder
* add version 1.26.0 to bioconductor package r-aneufinderdata
* add version 1.70.0 to bioconductor package r-annaffy
* add version 1.76.0 to bioconductor package r-annotate
* add version 1.60.0 to bioconductor package r-annotationdbi
* add version 1.22.0 to bioconductor package r-annotationfilter
* add version 1.40.0 to bioconductor package r-annotationforge
* add version 3.6.0 to bioconductor package r-annotationhub
* add version 3.28.0 to bioconductor package r-aroma-light
* add version 1.30.0 to bioconductor package r-bamsignals
* add version 2.14.0 to bioconductor package r-beachmat
* add version 2.58.0 to bioconductor package r-biobase
* add version 2.6.0 to bioconductor package r-biocfilecache
* add version 0.44.0 to bioconductor package r-biocgenerics
* add version 1.8.0 to bioconductor package r-biocio
* add version 1.16.0 to bioconductor package r-biocneighbors
* add version 1.32.1 to bioconductor package r-biocparallel
* add version 1.14.0 to bioconductor package r-biocsingular
* add version 2.26.0 to bioconductor package r-biocstyle
* add version 3.16.0 to bioconductor package r-biocversion
* add version 2.54.0 to bioconductor package r-biomart
* add version 1.26.0 to bioconductor package r-biomformat
* add version 2.66.0 to bioconductor package r-biostrings
* add version 1.46.0 to bioconductor package r-biovizbase
* add version 1.8.0 to bioconductor package r-bluster
* add version 1.66.1 to bioconductor package r-bsgenome
* add version 1.34.0 to bioconductor package r-bsseq
* add version 1.40.0 to bioconductor package r-bumphunter
* add version 2.64.0 to bioconductor package r-category
* add version 2.28.0 to bioconductor package r-champ
* add version 2.30.0 to bioconductor package r-champdata
* add version 1.48.0 to bioconductor package r-chipseq
* add version 4.6.0 to bioconductor package r-clusterprofiler
* add version 1.34.0 to bioconductor package r-cner
* add version 1.30.0 to bioconductor package r-codex
* add version 2.14.0 to bioconductor package r-complexheatmap
* add version 1.72.0 to bioconductor package r-ctc
* add version 2.26.0 to bioconductor package r-decipher
* add version 0.24.0 to bioconductor package r-delayedarray
* add version 1.20.0 to bioconductor package r-delayedmatrixstats
* add version 1.38.0 to bioconductor package r-deseq2
* add version 1.44.0 to bioconductor package r-dexseq
* add version 1.40.0 to bioconductor package r-dirichletmultinomial
* add version 2.12.0 to bioconductor package r-dmrcate
* add version 1.72.0 to bioconductor package r-dnacopy
* add version 3.24.1 to bioconductor package r-dose
* add version 2.46.0 to bioconductor package r-dss
* add version 3.40.0 to bioconductor package r-edger
* add version 1.18.0 to bioconductor package r-enrichplot
* add version 2.22.0 to bioconductor package r-ensembldb
* add version 1.44.0 to bioconductor package r-exomecopy
* add version 2.6.0 to bioconductor package r-experimenthub
* add version 1.24.0 to bioconductor package r-fgsea
* add version 2.70.0 to bioconductor package r-gcrma
* add version 1.34.0 to bioconductor package r-gdsfmt
* add version 1.80.0 to bioconductor package r-genefilter
* add version 1.34.0 to bioconductor package r-genelendatabase
* add version 1.70.0 to bioconductor package r-genemeta
* add version 1.76.0 to bioconductor package r-geneplotter
* add version 1.20.0 to bioconductor package r-genie3
* add version 1.34.3 to bioconductor package r-genomeinfodb
* update r-genomeinfodbdata
* add version 1.34.0 to bioconductor package r-genomicalignments
* add version 1.50.2 to bioconductor package r-genomicfeatures
* add version 1.50.1 to bioconductor package r-genomicranges
* add version 2.66.0 to bioconductor package r-geoquery
* add version 1.46.0 to bioconductor package r-ggbio
* add version 3.6.2 to bioconductor package r-ggtree
* add version 2.8.0 to bioconductor package r-glimma
* add version 1.10.0 to bioconductor package r-glmgampoi
* add version 5.52.0 to bioconductor package r-globaltest
* update r-go-db
* add version 1.18.0 to bioconductor package r-gofuncr
* add version 2.24.0 to bioconductor package r-gosemsim
* add version 1.50.0 to bioconductor package r-goseq
* add version 2.64.0 to bioconductor package r-gostats
* add version 1.76.0 to bioconductor package r-graph
* add version 1.60.0 to bioconductor package r-gseabase
* add version 1.30.0 to bioconductor package r-gtrellis
* add version 1.42.0 to bioconductor package r-gviz
* add version 1.26.0 to bioconductor package r-hdf5array
* add version 1.70.0 to bioconductor package r-hypergraph
* add version 1.34.0 to bioconductor package r-illumina450probevariants-db
* add version 0.40.0 to bioconductor package r-illuminaio
* add version 1.72.0 to bioconductor package r-impute
* add version 1.36.0 to bioconductor package r-interactivedisplaybase
* add version 2.32.0 to bioconductor package r-iranges
* add version 1.58.0 to bioconductor package r-kegggraph
* add version 1.38.0 to bioconductor package r-keggrest
* add version 3.54.0 to bioconductor package r-limma
* add version 2.50.0 to bioconductor package r-lumi
* add version 1.74.0 to bioconductor package r-makecdfenv
* add version 1.76.0 to bioconductor package r-marray
* add version 1.10.0 to bioconductor package r-matrixgenerics
* add version 1.6.0 to bioconductor package r-metapod
* add version 2.44.0 to bioconductor package r-methylumi
* add version 1.44.0 to bioconductor package r-minfi
* add version 1.32.0 to bioconductor package r-missmethyl
* add version 1.78.0 to bioconductor package r-mlinterfaces
* add version 1.10.0 to bioconductor package r-mscoreutils
* add version 2.24.0 to bioconductor package r-msnbase
* add version 2.54.0 to bioconductor package r-multtest
* add version 1.36.0 to bioconductor package r-mzid
* add version 2.32.0 to bioconductor package r-mzr
* add version 1.60.0 to bioconductor package r-oligoclasses
* update r-org-hs-eg-db
* add version 1.40.0 to bioconductor package r-organismdbi
* add version 1.38.0 to bioconductor package r-pathview
* add version 1.90.0 to bioconductor package r-pcamethods
* update r-pfam-db
* add version 1.42.0 to bioconductor package r-phyloseq
* add version 1.60.0 to bioconductor package r-preprocesscore
* add version 1.30.0 to bioconductor package r-protgenerics
* add version 1.32.0 to bioconductor package r-quantro
* add version 2.30.0 to bioconductor package r-qvalue
* add version 1.74.0 to bioconductor package r-rbgl
* add version 2.38.0 to bioconductor package r-reportingtools
* add version 2.42.0 to bioconductor package r-rgraphviz
* add version 2.42.0 to bioconductor package r-rhdf5
* add version 1.10.0 to bioconductor package r-rhdf5filters
* add version 1.20.0 to bioconductor package r-rhdf5lib
* add version 2.0.0 to bioconductor package r-rhtslib
* add version 1.74.0 to bioconductor package r-roc
* add version 1.26.0 to bioconductor package r-rots
* add version 2.14.0 to bioconductor package r-rsamtools
* add version 1.58.0 to bioconductor package r-rtracklayer
* add version 0.36.0 to bioconductor package r-s4vectors
* add version 1.6.0 to bioconductor package r-scaledmatrix
* add version 1.26.0 to bioconductor package r-scater
* add version 1.12.0 to bioconductor package r-scdblfinder
* add version 1.26.0 to bioconductor package r-scran
* add version 1.8.0 to bioconductor package r-scuttle
* add version 1.64.0 to bioconductor package r-seqlogo
* add version 1.56.0 to bioconductor package r-shortread
* add version 1.72.0 to bioconductor package r-siggenes
* add version 1.20.0 to bioconductor package r-singlecellexperiment
* add version 1.32.0 to bioconductor package r-snprelate
* add version 1.48.0 to bioconductor package r-snpstats
* add version 2.34.0 to bioconductor package r-somaticsignatures
* add version 1.10.0 to bioconductor package r-sparsematrixstats
* add version 1.38.0 to bioconductor package r-spem
* add version 1.36.0 to bioconductor package r-sseq
* add version 1.28.0 to bioconductor package r-summarizedexperiment
* add version 3.46.0 to bioconductor package r-sva
* add version 1.36.0 to bioconductor package r-tfbstools
* add version 1.20.0 to bioconductor package r-tmixclust
* add version 2.50.0 to bioconductor package r-topgo
* add version 1.22.0 to bioconductor package r-treeio
* add version 1.26.0 to bioconductor package r-tximport
* add version 1.26.0 to bioconductor package r-tximportdata
* add version 1.44.0 to bioconductor package r-variantannotation
* add version 3.66.0 to bioconductor package r-vsn
* add version 2.4.0 to bioconductor package r-watermelon
* add version 2.44.0 to bioconductor package r-xde
* add version 1.56.0 to bioconductor package r-xmapbridge
* add version 0.38.0 to bioconductor package r-xvector
* add version 1.24.0 to bioconductor package r-yapsa
* add version 1.24.0 to bioconductor package r-yarn
* add version 1.44.0 to bioconductor package r-zlibbioc
* make version resource consistent for r-bsgenome-hsapiens-ucsc-hg19
* make version resource consistent for r-go-db
* make version resource consistent for r-kegg-db
* make version resource consistent for r-org-hs-eg-db
* make version resource consistent for r-pfam-db
* new package: r-ggrastr
* Patches not needed for new version
* new package: r-hdo-db
* new package: r-ggnewscale
* new package: r-gson
* Actually depends on ggplot2@3.4.0:
* Fix formatting of r-hdo-db
* Fix dependency version specifiers
* Clean up duplicate dependency references
2022-11-17 14:04:45 -08:00
Erik Heeren
13389f7eb8 glib: fix URLs (#33919) 2022-11-17 13:58:07 -07:00
Adam J. Stewart
4964633614 py-tensorflow: add patch releases, remove v0.X (#33963) 2022-11-17 14:29:48 -06:00
Jared Popelar
381bedf369 Hdf5 package: build on Windows (#31141)
* Enable hdf5 build (including +mpi) on Windows
* This includes updates to hdf5 dependencies openssl (minor edit) and
  bzip2 (more-extensive edits)
* Add binary-based installation of msmpi (this is currently the only
  supported MPI implementation in Spack for Windows). Note that this
  does not install to the Spack-specified prefix. This implementation
  will be replaced with a source-based implementation

Co-authored-by: John Parent <john.parent@kitware.com>
2022-11-17 10:40:53 -08:00
John W. Parent
6811651a0f Update CMake version to 3.25.0 (#33957)
CMake had official release 3.25.0, update package version to reflect

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2022-11-17 10:58:38 -07:00
Chris Green
22aada0e20 Waf build system: fix typo in legacy_attributes (#33958)
Fix erroneous duplication of `build_time_test_callbacks` in
`legacy_attributes`: one of the duplicates should be
`install_time_test_callbacks`
2022-11-17 16:54:46 +01:00
Massimiliano Culpo
4a71020cd2 Python: do not set PYTHONHOME during build (#33956)
Setting PYTHONHOME is rarely needed (since each interpreter has
various ways of setting it automatically) and very often it is
difficult to get right manually.

For instance, the change done to set PYTHONHOME to
sysconfig["base_prefix"] broke bootstrapping dev dependencies
of Spack for me, when working inside a virtual environment in Linux.
2022-11-17 15:41:50 +01:00
Adam J. Stewart
294e6f80a0 py-rasterio: add v1.3.4 (#33961) 2022-11-17 15:23:26 +01:00
Harmen Stoppels
cc2d0eade6 docs: fix typo in multiple build systems (#33965) 2022-11-17 15:20:10 +01:00
Harmen Stoppels
f00e411287 relocate.py: small refactor for file_is_relocatable (#33967) 2022-11-17 13:21:27 +01:00
Massimiliano Culpo
da0a6280ac Remove deprecated subcommands from "spack bootstrap" (#33964)
These commands are slated for removal in v0.20
2022-11-17 12:42:57 +01:00
Ashwin Kumar
6ee6844473 Octopus : Separate serial and MPI dependencies (#33836)
* replace mpi as a variant instead of dependency 
* separate serial and MPI dependencies
* configure args depending on serial or mpi variant
* reformat with black
2022-11-17 04:34:03 -07:00
Adam J. Stewart
69822b0d82 py-torchmetrics: add v0.10.3 (#33962) 2022-11-17 11:18:57 +01:00
Michael Kuhn
93eecae0c3 Add sgid notice when running on AFS (#30247) 2022-11-17 09:17:41 +01:00
Massimiliano Culpo
61f5d85525 Python: fix bug detection, trying to access self (#33955)
Typo introduced in #33847
2022-11-17 08:38:49 +01:00
Ben Boeckel
a90e86de75 zlib, openssl: return to http URLs (#33324)
In #3113, `https` was removed to ensure that `curl` can be bootstrapped
without SSL being present. This was lost in #25672 which aimed to use
`https` where possible.

Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2022-11-16 22:25:55 -07:00
Stephen Sachs
7247a493ab [xz] icc does not support attribute __symver__ (#33839)
xz have added attribute __symver__ for compilers that identify as GCC>=10.0 via
__GNUC__. Intels `icc` sets __GNUC__ but currently does not support this
attribute:
https://community.intel.com/t5/Intel-C-Compiler/symver-not-supported/m-p/1429028/emcs_t/S2h8ZW1haWx8dG9waWNfc3Vic2NyaXB0aW9ufExBQVRWMjIyUFFZTlZTfDE0MjkwMjh8U1VCU0NSSVBUSU9OU3xoSw#M40459
2022-11-16 20:06:41 -07:00
Sergey Kosukhin
cd8ec60ae9 serialbox: update patch to handle UTF-8 conversion errors (#33317) 2022-11-16 20:06:28 -07:00
Manuela Kuhn
fe597dfb0c py-jupyter-server: add 1.21.0 (#33310) 2022-11-16 20:02:20 -07:00
Brian Vanderwende
c721aab006 lib/spack/spack/store.py: Fix #28170 for padding relocation (#33122) 2022-11-17 03:56:00 +01:00
Manuela Kuhn
6a08e9ed08 py-jupyterlab: add 3.4.8 (#33308) 2022-11-16 19:53:59 -07:00
Christian Kniep
7637efb363 blast-plus: update to 2.13.0 and add cpio as build dependency (#33187) 2022-11-17 03:42:25 +01:00
Sebastian Grabowski
b31f1b0353 * ninja: Set min. required version of re2c dependency, fixes #33127 (#33128)
Reviewed-by: haampie, bernhardkaindl
2022-11-17 03:28:06 +01:00
Jonathon Anderson
497682260f gettext: On ppc64le, for older versions, use system cdefs.h (#33411)
Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2022-11-17 02:55:02 +01:00
Massimiliano Culpo
e47beceb8a Clean unit-test workflow file (#33945)
Delete statements related to Python 2.7, and avoid installing
patchelf since now we can bootstrap it.
2022-11-16 23:28:49 +01:00
chenwany
067976f4b8 updated v2.11.8 (#33944) 2022-11-16 13:04:15 -08:00
Greg Becker
1263b5c444 initial implementation of slingshot detection (#33793) 2022-11-16 13:01:37 -08:00
psakievich
90f0a8eacc Upstreams: add canonicalize path (#33946) 2022-11-16 14:37:32 -06:00
John W. Parent
61a7420c94 Windows bootstrapping: remove unneeded call to add dll to PATH (#33622)
#32942 fixed bootstrapping on Windows by having the core Spack
code explicitly add the Clingo package bin/ directory as a
DLL path.

Since then, #33400 has been merged, which ensures that the Python
module installed by the Spack `clingo` package can find the DLLs
in bin/.

Note that this only works for Spack instances which have been
bootstrapped after #33400: for installations bootstrapped before
then, you will need to run `spack clean -b` (this would only
be needed for Spack instances running on Windows).
2022-11-16 12:04:57 -08:00
Stephen Sachs
39a1f1462b SIP build system: fix "python not defined in builder" (#33906)
Co-authored-by: Stephen Sachs <stesachs@amazon.com>
2022-11-16 13:36:25 -06:00
Wouter Deconinck
6de5d8e68c qt: new version 5.15.6 and 5.15.7 (#33933) 2022-11-16 11:35:01 -07:00
Robert Underwood
b0f2523350 add sz3 and mdz smoke test for inclusion in e4s (#33864)
* add sz3 and mdz smoke test

Co-authored-by: Robert Underwood <runderwood@anl.gov>
2022-11-16 10:05:43 -08:00
snehring
bc8cc39871 py-isal: use external libisal (#33932)
* py-isal: adding some missing build deps

* py-isal: use external libisal
2022-11-16 10:58:15 -07:00
Pat Riehecky
b36a8f4f2e New Package: rarpd (#28686) 2022-11-16 08:29:58 -07:00
Harmen Stoppels
0a952f8b7b docs updates for spack env depfile (#33937) 2022-11-16 15:47:31 +01:00
Matthias Wolf
26a0384171 neovim: fix build dependencies (#33935)
Buildin neovim@0.8.0 complains (for me) about Lua's lpeg and mpack
packages not being available at build time. Removing the link-only
setting in the dependencies for these two packages fixes the build for
me.
2022-11-16 07:30:08 -07:00
Harmen Stoppels
d18cccf7c5 spack env depfile in Gitlab CI should use install-deps/pkg-version-hash target (#33936) 2022-11-16 14:02:56 +00:00
Kevin Broch
fbe6b4b486 Change code suggestions to output black formatter compliant code (#33931) 2022-11-16 12:08:20 +01:00
Nathalie Furmento
5fe08a5647 starpu: add v1.3.10 (#33934) 2022-11-16 12:04:31 +01:00
Vanessasaurus
ac2fc4f271 Automated deployment to update package flux-core 2022-11-09 (#33780)
Co-authored-by: github-actions <github-actions@users.noreply.github.com>
2022-11-16 11:58:51 +01:00
Adam J. Stewart
93430496e2 Getting Started: Python 2 is no longer supported (#33927) 2022-11-16 08:36:49 +01:00
Michael Kuhn
901b31a7aa docs: fix typo (#33926) 2022-11-15 16:06:12 -08:00
Garrett Morrison
0cec2d3110 zfp: update for version 1.0.0 (#33452)
* zfp: updates and many fixes for version 1.0.0

Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2022-11-15 16:21:57 -07:00
Satish Balay
40e4884e8b xsdk: add version @0.8.0 (#33794)
- enable sundials+magma+ginkgo
- enable dealii+sundials
- disable dealii~cgal due to build errors
- enable petsc+rocm
- enable slepc+cuda+rocm
- enable strumpack+cuda+slate
- enable slate build with non-gcc compilers
- enable pumi+shared
- enable mfem+shared
- enable ginkgo+mpi
- add hiop
- and exago
  - use exago~ipopt due to mumps~mpi conflict with mpi.h)
  - add raja variant [used by exago/hiop]
    ~raja builds exago in pflow-only mode - i.e exago~hiop~ipopt~python~cuda ^hiop~cuda [Default on MacOS]

Co-authored-by: Cody Balos <balos1@llnl.gov>
2022-11-15 16:52:58 -06:00
Jean-Luc Fattebert
f18425a51f Update BML versions list in package.py (#33920)
* Update BML versions list in package.py
* Update package.py
2022-11-15 14:08:10 -08:00
Massimiliano Culpo
472893c5c4 Run Python 3.6 unit tests on ubuntu-20.04 (#33918) 2022-11-15 22:33:11 +01:00
SXS Bot
289bbf74f6 spectre: add v2022.11.15 (#33921)
Co-authored-by: sxs-bot <sxs-bot@users.noreply.github.com>
2022-11-15 13:05:02 -08:00
Harmen Stoppels
a0182c069f Show time per phase (#33874) 2022-11-15 21:10:07 +01:00
Erik Schnetter
4ecb6ecaff meson: add new version 0.64.0 (#33880) 2022-11-15 12:42:11 -07:00
Saqib Khan
d5193f73d8 New Package: Prime95/Mprime (#33895)
* New Package: Prime95/Mprime
* Fix trailing whitespaces in prime95
* Fix checksum for prime95

Signed-off-by: saqibkh <saqibkhan@utexas.edu>
2022-11-15 11:39:02 -08:00
Brent Huisman
1aab5bb9f2 Add v0.8 to Arbor (#33916) 2022-11-15 12:57:29 -06:00
Erik Schnetter
8dda4ff60b nsimd: Update Python requirements (#33879)
We need Python 3.0:3.9
2022-11-15 10:05:14 -08:00
iarspider
0811f81a09 thepeg: make rivet dependency optional... (#33912)
* thepeg: make rivet dependency optional...
* add "libs" variant, move compiler flags to flag_handler

Co-authored-by: iarspider <iarspider@users.noreply.github.com>
2022-11-15 09:36:15 -08:00
Harmen Stoppels
af74680405 depfile: improve tab completion (#33773)
This PR allows you to do:

```
spack env create -d .
spack -e . add python
spack -e . concretize
spack -e . env depfile -o Makefile

make in<tab>              # -> install
make install-<tab>        # -> install-deps/
make install-deps/py<tab> # -> install-deps/python-x.y.z-hash
make install/zl<tab>      # -> install/zlib-x.y.z-hash

make SP<tab>              # -> make SPACK
make SPACK_<tab>          # -> make SPACK_INSTALL_FLAGS=
```
2022-11-15 18:03:17 +01:00
Harmen Stoppels
d1715c5fdf Fixup: start the timer before the phase (#33917) 2022-11-15 16:52:43 +01:00
Harmen Stoppels
b245f1ece1 Fix incorrect timer (#33900)
Revamp the timer so we always have a designated begin and end.

Fix a bug where the phase timer was stopped before the phase started,
resulting in incorrect timing reports in timers.json.
2022-11-15 16:33:47 +01:00
Harmen Stoppels
e10c47c53d glib: add missing libelf dep (#33894) 2022-11-15 07:18:10 -07:00
Harmen Stoppels
0697d20fd4 openssh: add libxcrypt (#33892) 2022-11-15 06:58:12 -07:00
Brian Van Essen
fd4f905ce5 External find now searches all dynamic linker paths (#33800)
Add spack.ld_so_conf.host_dynamic_linker_search_paths

Retrieve the current host runtime search paths for shared libraries;
for GNU and musl Linux we try to retrieve the dynamic linker from the
current Python interpreter and then find the corresponding config file
(e.g. ld.so.conf or ld-musl-<arch>.path). Similar can be done for
BSD and others, but this is not implemented yet. The default paths
are always returned. We don't check if the listed directories exist.

Use this in spack external find for libraries.

Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2022-11-15 14:48:15 +01:00
Harmen Stoppels
d36c7b20d2 python: missing libxcrypt dep (#33847)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2022-11-15 14:36:16 +01:00
Harmen Stoppels
2948248d7a Remove exit(0) (#33896)
Since they cause --backtrace to report backtraces even with exit code 0
2022-11-15 14:35:44 +01:00
Jonathon Anderson
850c54c3b1 Revert "fix perl libxcrypt.so dep (#33846)" (#33909)
This reverts commit bf1b2a828c, as libxcrypt's configure script requires Perl, leading to a circular dependency.
2022-11-15 14:04:31 +01:00
Harmen Stoppels
90fb16033e gitlab: report load in generate job (#33888) 2022-11-15 13:21:21 +01:00
Matthieu Dorier
13a68d547d mochi-margo: add v0.11 (#33910) 2022-11-15 13:19:18 +01:00
Massimiliano Culpo
857ae5a74b fixup 2022-11-15 12:42:48 +01:00
Massimiliano Culpo
b3124bff7c Stop using six in Spack (#33905)
Since we dropped support for Python 2.7, there's no need
so use `six` anymore. We still need to vendor it until
we update our vendored dependencies.
2022-11-15 10:07:54 +01:00
Scott Wittenburg
5c4137baf1 gitlab: Add shared PR mirror to places pipelines look for binaries. (#33746)
While binaries built for PRs that get merged must still be rebuilt
in develop pipelines, they can be used by other PRs that find they
would otherwise need to rebuild them.  Now that spackbot is
managing copying PR binaries from merged PRs into a shared location,
keeping it pruned to a reasonable size, and making sure the indices
are up to date, spack can use these mirrors as a potential source
of binaries.
2022-11-14 19:37:23 -07:00
Stephen Sachs
a9dcd4c01e [py-pmw-patched] needs setuptools to build (#33902)
Error message:
```
ModuleNotFoundError: No module named 'setuptools'
```

Co-authored-by: Stephen Sachs <stesachs@amazon.com>
2022-11-14 18:11:23 -06:00
Harmen Stoppels
2cd7322b11 swig: needs zlib (#33890) 2022-11-14 13:22:12 -07:00
Terry Cojean
f9e9ecd0c1 Ginkgo 1.5.0 version, new MPI variant, related fixes (#33838)
* Ginkgo 1.5.0 release, new MPI variant

* Fix ROCTHRUST/ROCPRIM issues

* Fix deal.II issue with Ginkgo 1.5.0

* Also fix hipRAND+rocRAND RPATH settings

* Turn off CCACHE for spack builds.

Co-authored-by: Veselin Dobrev <dobrev@llnl.gov>

Co-authored-by: Veselin Dobrev <dobrev@llnl.gov>
2022-11-14 12:33:11 -06:00
Veselin Dobrev
d756034161 Alquimia: tweak for building xsdk v0.8.0 with ROCm/HIP (#33881) 2022-11-14 12:15:50 -06:00
psakievich
2460c4fc28 Add $date option to the list of config variables (#33875)
I'm finding I often want the date in my paths and it would be nice if spack had a config variable for this.

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2022-11-14 10:13:30 -08:00
Cory Bloor
6e39efbb9a rocm: add all GFX9, GFX10 and GFX11 amdgpu_targets (#33871)
This change adds all documented AMDGPU processors from GFX9 through GFX11 and sorts the list.
2022-11-14 10:11:22 -08:00
Satish Balay
277e35c3b0 superlu-dist: add version 8.1.2 (#33868) 2022-11-14 10:09:55 -08:00
Harmen Stoppels
bf1b2a828c fix perl libxcrypt.so dep (#33846)
Detected using https://github.com/spack/spack/pull/28109
2022-11-14 18:56:43 +01:00
Dom Heinzeller
2913f8b42b hdf4: fix build on Apple M1 (#33740) 2022-11-14 17:49:34 +01:00
Harmen Stoppels
57f4c922e9 util-linux: fix deps (#33893) 2022-11-14 17:26:21 +01:00
Todd Gamblin
8d82fecce9 Update CHANGELOG.md for v0.19.0
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2022-11-14 08:22:29 -06:00
Todd Gamblin
96126cbf17 Update SECURITY.md for v0.19 2022-11-14 08:22:29 -06:00
Todd Gamblin
6ecb57e91f Bump version to v0.20.0.dev0 2022-11-14 08:22:29 -06:00
Harmen Stoppels
a75af62fe3 Get rid of context for exceptions outside PackageBase (#33887) 2022-11-14 14:11:22 +01:00
Massimiliano Culpo
e4e02dbeae Fix a bug/typo in a config_values.py fixture (#33886) 2022-11-14 05:26:14 -07:00
Massimiliano Culpo
3efa4ee26f Remove support for running with Python 2.7 (#33063)
* Remove CI jobs related to Python 2.7

* Remove Python 2.7 specific code from Spack core

* Remove externals for Python 2 only

* Remove llnl.util.compat
2022-11-14 13:11:28 +01:00
Harmen Stoppels
f4c3d98064 libxcrypt: 4.4.31 (#33885) 2022-11-14 04:30:04 -07:00
Harmen Stoppels
a4cec82841 Speed up traverse unit tests (#33840) 2022-11-14 09:34:14 +01:00
Veselin Dobrev
3812edd0db [plasma] add support for building with 'cray-libsci' (#33869) 2022-11-13 21:47:24 -06:00
Harmen Stoppels
3ea9c8529a tau: checksum (#33873) 2022-11-13 13:06:08 -07:00
Adam J. Stewart
ed28797f83 GDAL: add v3.6.0 (#33856)
* GDAL: add v3.6.0

* Explicitly control BASISU

* More reasonable variant defaults
2022-11-13 13:56:11 -06:00
Adam J. Stewart
eadb6ae774 py-pytorch-lightning: add v1.8.1 (#33854) 2022-11-13 11:45:23 -08:00
Veselin Dobrev
a5d35c3077 [sundials] fix cmake argument generation for '+magma' (#33858)
[dealii] force cmake to accept Scalapack settings from Spack
2022-11-13 09:50:57 -06:00
Todd Gamblin
3d811617e6 hotfix: ensure that schema is compatible with tutorial VM config
We added a hotfix to releases/v0.19 with a feature flag, but the flag
is incompatible with the config schema on `develop`.

- [x] Ensure schema is compatible on develop even though config option is unused.
2022-11-13 09:14:00 -06:00
Massimiliano Culpo
03224e52d2 Speed-up bootstrap and architecture unit tests (#33865)
* Speed-up bootstrap mirror unit test

The unit test doesn't need to concretize, since it checks
only metadata for the mirror.

* architecture.py: use "default_mock_concretization" for slow test
2022-11-13 13:09:22 +01:00
Greg Becker
4ebe57cd64 update tutorial command to newest release branch (#33867) 2022-11-12 13:29:38 -08:00
Greg Becker
343cd04a54 use spack.version_info as source of version truth for spack tutorial command (#33860)
* Use spack.spack_version_info as source of truth

Co-authored-by: Todd Gamblin <gamblin2@llnl.gov>
2022-11-12 11:42:59 -08:00
Morten Kristensen
ed45385b7b py-vermin: add latest version 1.5.1 (#33861) 2022-11-12 10:31:23 -06:00
Cameron Rutherford
8a3b596042 Update ExaGO for 1.5.0 release. (#33853)
* Update ExaGO for 1.5.0 release
2022-11-11 21:58:56 -06:00
Satish Balay
1792327874 magma: add version 2.7.0 (#33814)
* magma: add version 2.7.0

Co-authored-by: Stan Tomov <tomov@icl.utk.edu>
2022-11-11 21:58:02 -06:00
Veselin Dobrev
d0dedda9a9 [mfem] add a patch to fix some issues with building with ROCm (#33810) 2022-11-11 14:42:42 -08:00
Harmen Stoppels
368dde437a libxcrypt: 4.4.30 (#33845)
* libxcrypt: 4.4.30

* libxcrypt.so.2 by default

* add libs prop, since libxcrypt provides libcrypt
2022-11-11 15:22:17 -06:00
Massimiliano Culpo
022a2d2eaf Speed-up unit tests by caching default mock concretization (#33755) 2022-11-11 21:32:40 +01:00
kwryankrattiger
5f8511311c ParaView: Add variant for VisItBridge (#33783)
* ParaView: Add variant for VisItBridge

* ParaView: Add kwryankrattiger has package maintainer
2022-11-11 13:09:43 -07:00
Greg Becker
2d2c591633 ensure view projections for extensions always point to extendee (#33848) 2022-11-11 10:59:23 -07:00
Satish Balay
d49c992b23 xsdk: update maintainers (#33822) 2022-11-11 08:30:28 -06:00
Satish Balay
f1392bbd49 trilinos: add version 13.4.1 (#33533)
And update dependency on superlu-dist (now works with @8)
2022-11-11 09:28:47 -05:00
Harmen Stoppels
c14dc2f56a docs: updates related to extensions (#33837) 2022-11-11 13:24:17 +01:00
8470 changed files with 70780 additions and 72530 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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # @v2
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984 # @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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
with:
fetch-depth: 0
- name: Setup repo
@@ -214,7 +214,7 @@ jobs:
- name: Bootstrap clingo
run: |
set -ex
for ver in '2.7' '3.6' '3.7' '3.8' '3.9' '3.10' ; do
for ver in '3.6' '3.7' '3.8' '3.9' '3.10' ; do
not_found=1
ver_dir="$(find $RUNNER_TOOL_CACHE/Python -wholename "*/${ver}.*/*/bin" | grep . || true)"
echo "Testing $ver_dir"
@@ -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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # @v2
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
- name: Set Container Tag Normal (Nightly)
run: |
@@ -80,7 +80,7 @@ jobs:
fi
- name: Upload Dockerfile
uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
with:
name: dockerfiles
path: dockerfiles
@@ -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

@@ -20,12 +20,6 @@ jobs:
uses: ./.github/workflows/valid-style.yml
with:
with_coverage: ${{ needs.changes.outputs.core }}
audit-ancient-python:
uses: ./.github/workflows/audit.yaml
needs: [ changes ]
with:
with_coverage: ${{ needs.changes.outputs.core }}
python_version: 2.7
all-prechecks:
needs: [ prechecks ]
runs-on: ubuntu-latest
@@ -41,7 +35,7 @@ jobs:
core: ${{ steps.filter.outputs.core }}
packages: ${{ steps.filter.outputs.packages }}
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
if: ${{ github.event_name == 'push' }}
with:
fetch-depth: 0
@@ -85,7 +79,7 @@ jobs:
needs: [ prechecks ]
uses: ./.github/workflows/windows_python.yml
all:
needs: [ windows, unit-tests, bootstrap, audit-ancient-python ]
needs: [ windows, unit-tests, bootstrap ]
runs-on: ubuntu-latest
steps:
- name: Success

View File

@@ -1,15 +1,9 @@
# (c) 2021 Lawrence Livermore National Laboratory
Set-Location spack
# (c) 2022 Lawrence Livermore National Laboratory
git config --global user.email "spack@example.com"
git config --global user.name "Test User"
git config --global core.longpaths true
# See https://github.com/git/git/security/advisories/GHSA-3wp6-j8xr-qw85 (CVE-2022-39253)
# This is needed to let some fixture in our unit-test suite run
git config --global protocol.file.allow always
if ($(git branch --show-current) -ne "develop")
{
git branch develop origin/develop

View File

@@ -2,10 +2,6 @@
git config --global user.email "spack@example.com"
git config --global user.name "Test User"
# See https://github.com/git/git/security/advisories/GHSA-3wp6-j8xr-qw85 (CVE-2022-39253)
# This is needed to let some fixture in our unit-test suite run
git config --global protocol.file.allow always
# create a local pr base branch
if [[ -n $GITHUB_BASE_REF ]]; then
git fetch origin "${GITHUB_BASE_REF}:${GITHUB_BASE_REF}"

View File

@@ -11,39 +11,46 @@ concurrency:
jobs:
# Run unit tests with different configurations on linux
ubuntu:
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ['2.7', '3.6', '3.7', '3.8', '3.9', '3.10', '3.11']
os: [ubuntu-latest]
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
concretizer: ['clingo']
on_develop:
- ${{ github.ref == 'refs/heads/develop' }}
include:
- python-version: 2.7
- python-version: '3.11'
os: ubuntu-latest
concretizer: original
on_develop: ${{ github.ref == 'refs/heads/develop' }}
- python-version: '3.11'
concretizer: original
- python-version: '3.6'
os: ubuntu-20.04
concretizer: clingo
on_develop: ${{ github.ref == 'refs/heads/develop' }}
exclude:
- python-version: '3.7'
os: ubuntu-latest
concretizer: 'clingo'
on_develop: false
- python-version: '3.8'
os: ubuntu-latest
concretizer: 'clingo'
on_develop: false
- python-version: '3.9'
os: ubuntu-latest
concretizer: 'clingo'
on_develop: false
- python-version: '3.10'
os: ubuntu-latest
concretizer: 'clingo'
on_develop: false
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
with:
fetch-depth: 0
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984 # @v2
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # @v2
with:
python-version: ${{ matrix.python-version }}
- name: Install System packages
@@ -52,24 +59,11 @@ jobs:
# Needed for unit tests
sudo apt-get -y install \
coreutils cvs gfortran graphviz gnupg2 mercurial ninja-build \
patchelf cmake bison libbison-dev kcov
cmake bison libbison-dev kcov
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools pytest codecov[toml] pytest-xdist
# Install pytest-cov only on recent Python, to avoid stalling on Python 2.7 due
# to bugs on an unmaintained version of the package when used with xdist.
if [[ ${{ matrix.python-version }} != "2.7" ]]; then
pip install --upgrade pytest-cov
fi
# ensure style checks are not skipped in unit tests for python >= 3.6
# note that true/false (i.e., 1/0) are opposite in conditions in python and bash
if python -c 'import sys; sys.exit(not sys.version_info >= (3, 6))'; then
pip install --upgrade flake8 "isort>=4.3.5" "mypy>=0.900" "click==8.0.4" "black<=21.12b0"
fi
- name: Pin pathlib for Python 2.7
if: ${{ matrix.python-version == 2.7 }}
run: |
pip install -U pathlib2==2.3.6 toml
pip install --upgrade pip six setuptools pytest codecov[toml] pytest-xdist pytest-cov
pip install --upgrade flake8 "isort>=4.3.5" "mypy>=0.900" "click" "black"
- name: Setup git configuration
run: |
# Need this for the git tests to succeed.
@@ -82,6 +76,7 @@ jobs:
run: |
. share/spack/setup-env.sh
spack bootstrap disable spack-install
spack bootstrap now
spack -v solve zlib
- name: Run unit tests
env:
@@ -89,7 +84,7 @@ jobs:
SPACK_TEST_SOLVER: ${{ matrix.concretizer }}
SPACK_TEST_PARALLEL: 2
COVERAGE: true
UNIT_TEST_COVERAGE: ${{ (matrix.python-version == '3.11') }}
UNIT_TEST_COVERAGE: ${{ matrix.python-version == '3.11' }}
run: |
share/spack/qa/run-unit-tests
- uses: codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70
@@ -99,10 +94,10 @@ jobs:
shell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
with:
fetch-depth: 0
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984 # @v2
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # @v2
with:
python-version: '3.11'
- name: Install System packages
@@ -138,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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
- name: Setup repo and non-root user
run: |
git --version
@@ -150,25 +145,22 @@ jobs:
shell: runuser -u spack-test -- bash {0}
run: |
source share/spack/setup-env.sh
spack -d solve zlib
spack -d bootstrap now --dev
spack unit-test -k 'not cvs and not svn and not hg' -x --verbose
# Test for the clingo based solver (using clingo-cffi)
clingo-cffi:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
with:
fetch-depth: 0
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984 # @v2
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # @v2
with:
python-version: '3.11'
- name: Install System packages
run: |
sudo apt-get -y update
# Needed for unit tests
sudo apt-get -y install \
coreutils cvs gfortran graphviz gnupg2 mercurial ninja-build \
patchelf kcov
sudo apt-get -y install coreutils cvs gfortran graphviz gnupg2 mercurial ninja-build kcov
- name: Install Python packages
run: |
pip install --upgrade pip six setuptools pytest codecov coverage[toml] pytest-cov clingo pytest-xdist
@@ -193,10 +185,10 @@ jobs:
matrix:
python-version: ["3.10"]
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
with:
fetch-depth: 0
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984 # @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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # @v2
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984 # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # @v2
with:
python-version: '3.11'
cache: 'pip'
@@ -28,23 +28,23 @@ jobs:
pip install --upgrade pip
pip install --upgrade vermin
- name: vermin (Spack's Core)
run: vermin --backport argparse --violations --backport typing -t=2.7- -t=3.6- -vvv lib/spack/spack/ lib/spack/llnl/ bin/
run: vermin --backport importlib --backport argparse --violations --backport typing -t=3.6- -vvv lib/spack/spack/ lib/spack/llnl/ bin/
- name: vermin (Repositories)
run: vermin --backport argparse --violations --backport typing -t=2.7- -t=3.6- -vvv var/spack/repos
run: vermin --backport importlib --backport argparse --violations --backport typing -t=3.6- -vvv var/spack/repos
# Run style checks on the files that have been changed
style:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # @v2
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # @v2
with:
fetch-depth: 0
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984 # @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 click==8.0.2 'black==21.12b0' 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

@@ -10,15 +10,15 @@ concurrency:
defaults:
run:
shell:
powershell Invoke-Expression -Command ".\share\spack\qa\windows_test_setup.ps1"; {0}
powershell Invoke-Expression -Command "./share/spack/qa/windows_test_setup.ps1"; {0}
jobs:
unit-tests:
runs-on: windows-latest
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
with:
fetch-depth: 0
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435
with:
python-version: 3.9
- name: Install Python packages
@@ -26,13 +26,11 @@ jobs:
python -m pip install --upgrade pip six pywin32 setuptools codecov pytest-cov clingo
- name: Create local develop
run: |
.\spack\.github\workflows\setup_git.ps1
./.github/workflows/setup_git.ps1
- name: Unit Test
run: |
echo F|xcopy .\spack\share\spack\qa\configuration\windows_config.yaml $env:USERPROFILE\.spack\windows\config.yaml
cd spack
dir
spack unit-test -x --verbose --cov --cov-config=pyproject.toml --ignore=lib/spack/spack/test/cmd
./share/spack/qa/validate_last_exit.ps1
coverage combine -a
coverage xml
- uses: codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70
@@ -41,10 +39,10 @@ jobs:
unit-tests-cmd:
runs-on: windows-latest
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
with:
fetch-depth: 0
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435
with:
python-version: 3.9
- name: Install Python packages
@@ -52,12 +50,11 @@ jobs:
python -m pip install --upgrade pip six pywin32 setuptools codecov coverage pytest-cov clingo
- name: Create local develop
run: |
.\spack\.github\workflows\setup_git.ps1
./.github/workflows/setup_git.ps1
- name: Command Unit Test
run: |
echo F|xcopy .\spack\share\spack\qa\configuration\windows_config.yaml $env:USERPROFILE\.spack\windows\config.yaml
cd spack
spack unit-test -x --verbose --cov --cov-config=pyproject.toml lib/spack/spack/test/cmd
./share/spack/qa/validate_last_exit.ps1
coverage combine -a
coverage xml
- uses: codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70
@@ -66,10 +63,10 @@ jobs:
build-abseil:
runs-on: windows-latest
steps:
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
with:
fetch-depth: 0
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984
- uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435
with:
python-version: 3.9
- name: Install Python packages
@@ -78,81 +75,81 @@ jobs:
- name: Build Test
run: |
spack compiler find
echo F|xcopy .\spack\share\spack\qa\configuration\windows_config.yaml $env:USERPROFILE\.spack\windows\config.yaml
spack external find cmake
spack external find ninja
spack -d install abseil-cpp
make-installer:
runs-on: windows-latest
steps:
- name: Disable Windows Symlinks
run: |
git config --global core.symlinks false
shell:
powershell
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
with:
fetch-depth: 0
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984
with:
python-version: 3.9
- name: Install Python packages
run: |
python -m pip install --upgrade pip six pywin32 setuptools
- name: Add Light and Candle to Path
run: |
$env:WIX >> $GITHUB_PATH
- name: Run Installer
run: |
.\spack\share\spack\qa\setup_spack.ps1
spack make-installer -s spack -g SILENT pkg
echo "installer_root=$((pwd).Path)" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
env:
ProgressPreference: SilentlyContinue
- uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb
with:
name: Windows Spack Installer Bundle
path: ${{ env.installer_root }}\pkg\Spack.exe
- uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb
with:
name: Windows Spack Installer
path: ${{ env.installer_root}}\pkg\Spack.msi
execute-installer:
needs: make-installer
runs-on: windows-latest
defaults:
run:
shell: pwsh
steps:
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984
with:
python-version: 3.9
- name: Install Python packages
run: |
python -m pip install --upgrade pip six pywin32 setuptools
- name: Setup installer directory
run: |
mkdir -p spack_installer
echo "spack_installer=$((pwd).Path)\spack_installer" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
- uses: actions/download-artifact@v3
with:
name: Windows Spack Installer Bundle
path: ${{ env.spack_installer }}
- name: Execute Bundled Installer
run: |
$proc = Start-Process ${{ env.spack_installer }}\spack.exe "/install /quiet" -Passthru
$handle = $proc.Handle # cache proc.Handle
$proc.WaitForExit();
$LASTEXITCODE
env:
ProgressPreference: SilentlyContinue
- uses: actions/download-artifact@v3
with:
name: Windows Spack Installer
path: ${{ env.spack_installer }}
- name: Execute MSI
run: |
$proc = Start-Process ${{ env.spack_installer }}\spack.msi "/quiet" -Passthru
$handle = $proc.Handle # cache proc.Handle
$proc.WaitForExit();
$LASTEXITCODE
# TODO: johnwparent - reduce the size of the installer operations
# make-installer:
# runs-on: windows-latest
# steps:
# - name: Disable Windows Symlinks
# run: |
# git config --global core.symlinks false
# shell:
# powershell
# - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
# with:
# fetch-depth: 0
# - uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435
# with:
# python-version: 3.9
# - name: Install Python packages
# run: |
# python -m pip install --upgrade pip six pywin32 setuptools
# - name: Add Light and Candle to Path
# run: |
# $env:WIX >> $GITHUB_PATH
# - name: Run Installer
# run: |
# ./share/spack/qa/setup_spack_installer.ps1
# spack make-installer -s . -g SILENT pkg
# echo "installer_root=$((pwd).Path)" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
# env:
# ProgressPreference: SilentlyContinue
# - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb
# with:
# name: Windows Spack Installer Bundle
# path: ${{ env.installer_root }}\pkg\Spack.exe
# - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb
# with:
# name: Windows Spack Installer
# path: ${{ env.installer_root}}\pkg\Spack.msi
# execute-installer:
# needs: make-installer
# runs-on: windows-latest
# defaults:
# run:
# shell: pwsh
# steps:
# - uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435
# with:
# python-version: 3.9
# - name: Install Python packages
# run: |
# python -m pip install --upgrade pip six pywin32 setuptools
# - name: Setup installer directory
# run: |
# mkdir -p spack_installer
# echo "spack_installer=$((pwd).Path)\spack_installer" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
# - uses: actions/download-artifact@v3
# with:
# name: Windows Spack Installer Bundle
# path: ${{ env.spack_installer }}
# - name: Execute Bundled Installer
# run: |
# $proc = Start-Process ${{ env.spack_installer }}\spack.exe "/install /quiet" -Passthru
# $handle = $proc.Handle # cache proc.Handle
# $proc.WaitForExit();
# $LASTEXITCODE
# env:
# ProgressPreference: SilentlyContinue
# - uses: actions/download-artifact@v3
# with:
# name: Windows Spack Installer
# path: ${{ env.spack_installer }}
# - name: Execute MSI
# run: |
# $proc = Start-Process ${{ env.spack_installer }}\spack.msi "/quiet" -Passthru
# $handle = $proc.Handle # cache proc.Handle
# $proc.WaitForExit();
# $LASTEXITCODE

View File

@@ -1,16 +1,309 @@
# 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.
## Major features in this release
1. **Package requirements**
Spack's traditional [package preferences](
https://spack.readthedocs.io/en/latest/build_settings.html#package-preferences)
are soft, but we've added hard requriements to `packages.yaml` and `spack.yaml`
(#32528, #32369). Package requirements use the same syntax as specs:
```yaml
packages:
libfabric:
require: "@1.13.2"
mpich:
require:
- one_of: ["+cuda", "+rocm"]
```
More details in [the docs](
https://spack.readthedocs.io/en/latest/build_settings.html#package-requirements).
2. **Environment UI Improvements**
* Fewer surprising modifications to `spack.yaml` (#33711):
* `spack install` in an environment will no longer add to the `specs:` list; you'll
need to either use `spack add <spec>` or `spack install --add <spec>`.
* Similarly, `spack uninstall` will not remove from your environment's `specs:`
list; you'll need to use `spack remove` or `spack uninstall --remove`.
This will make it easier to manage an environment, as there is clear separation
between the stack to be installed (`spack.yaml`/`spack.lock`) and which parts of
it should be installed (`spack install` / `spack uninstall`).
* `concretizer:unify:true` is now the default mode for new environments (#31787)
We see more users creating `unify:true` environments now. Users who need
`unify:false` can add it to their environment to get the old behavior. This will
concretize every spec in the environment independently.
* Include environment configuration from URLs (#29026, [docs](
https://spack.readthedocs.io/en/latest/environments.html#included-configurations))
You can now include configuration in your environment directly from a URL:
```yaml
spack:
include:
- https://github.com/path/to/raw/config/compilers.yaml
```
4. **Multiple Build Systems**
An increasing number of packages in the ecosystem need the ability to support
multiple build systems (#30738, [docs](
https://spack.readthedocs.io/en/latest/packaging_guide.html#multiple-build-systems)),
either across versions, across platforms, or within the same version of the software.
This has been hard to support through multiple inheritance, as methods from different
build system superclasses would conflict. `package.py` files can now define separate
builder classes with installation logic for different build systems, e.g.:
```python
class ArpackNg(CMakePackage, AutotoolsPackage):
build_system(
conditional("cmake", when="@0.64:"),
conditional("autotools", when="@:0.63"),
default="cmake",
)
class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder):
def cmake_args(self):
pass
class Autotoolsbuilder(spack.build_systems.autotools.AutotoolsBuilder):
def configure_args(self):
pass
```
5. **Compiler and variant propagation**
Currently, compiler flags and variants are inconsistent: compiler flags set for a
package are inherited by its dependencies, while variants are not. We should have
these be consistent by allowing for inheritance to be enabled or disabled for both
variants and compiler flags.
Example syntax:
- `package ++variant`:
enabled variant that will be propagated to dependencies
- `package +variant`:
enabled variant that will NOT be propagated to dependencies
- `package ~~variant`:
disabled variant that will be propagated to dependencies
- `package ~variant`:
disabled variant that will NOT be propagated to dependencies
- `package cflags==-g`:
`cflags` will be propagated to dependencies
- `package cflags=-g`:
`cflags` will NOT be propagated to dependencies
Syntax for non-boolan variants is similar to compiler flags. More in the docs for
[variants](
https://spack.readthedocs.io/en/latest/basic_usage.html#variants) and [compiler flags](
https://spack.readthedocs.io/en/latest/basic_usage.html#compiler-flags).
6. **Enhancements to git version specifiers**
* `v0.18.0` added the ability to use git commits as versions. You can now use the
`git.` prefix to specify git tags or branches as versions. All of these are valid git
versions in `v0.19` (#31200):
```console
foo@abcdef1234abcdef1234abcdef1234abcdef1234 # raw commit
foo@git.abcdef1234abcdef1234abcdef1234abcdef1234 # commit with git prefix
foo@git.develop # the develop branch
foo@git.0.19 # use the 0.19 tag
```
* `v0.19` also gives you more control over how Spack interprets git versions, in case
Spack cannot detect the version from the git repository. You can suffix a git
version with `=<version>` to force Spack to concretize it as a particular version
(#30998, #31914, #32257):
```console
# use mybranch, but treat it as version 3.2 for version comparison
foo@git.mybranch=3.2
# use the given commit, but treat it as develop for version comparison
foo@git.abcdef1234abcdef1234abcdef1234abcdef1234=develop
```
More in [the docs](
https://spack.readthedocs.io/en/latest/basic_usage.html#version-specifier)
7. **Changes to Cray EX Support**
Cray machines have historically had their own "platform" within Spack, because we
needed to go through the module system to leverage compilers and MPI installations on
these machines. The Cray EX programming environment now provides standalone `craycc`
executables and proper `mpicc` wrappers, so Spack can treat EX machines like Linux
with extra packages (#29392).
We expect this to greatly reduce bugs, as external packages and compilers can now be
used by prefix instead of through modules. We will also no longer be subject to
reproducibility issues when modules change from Cray PE release to release and from
site to site. This also simplifies dealing with the underlying Linux OS on cray
systems, as Spack will properly model the machine's OS as either SuSE or RHEL.
8. **Improvements to tests and testing in CI**
* `spack ci generate --tests` will generate a `.gitlab-ci.yml` file that not only does
builds but also runs tests for built packages (#27877). Public GitHub pipelines now
also run tests in CI.
* `spack test run --explicit` will only run tests for packages that are explicitly
installed, instead of all packages.
9. **Experimental binding link model**
You can add a new option to `config.yaml` to make Spack embed absolute paths to
needed shared libraries in ELF executables and shared libraries on Linux (#31948, [docs](
https://spack.readthedocs.io/en/latest/config_yaml.html#shared-linking-bind)):
```yaml
config:
shared_linking:
type: rpath
bind: true
```
This can improve launch time at scale for parallel applications, and it can make
installations less susceptible to environment variables like `LD_LIBRARY_PATH`, even
especially when dealing with external libraries that use `RUNPATH`. You can think of
this as a faster, even higher-precedence version of `RPATH`.
## Other new features of note
* `spack spec` prints dependencies more legibly. Dependencies in the output now appear
at the *earliest* level of indentation possible (#33406)
* You can override `package.py` attributes like `url`, directly in `packages.yaml`
(#33275, [docs](
https://spack.readthedocs.io/en/latest/build_settings.html#assigning-package-attributes))
* There are a number of new architecture-related format strings you can use in Spack
configuration files to specify paths (#29810, [docs](
https://spack.readthedocs.io/en/latest/configuration.html#config-file-variables))
* Spack now supports bootstrapping Clingo on Windows (#33400)
* There is now support for an `RPATH`-like library model on Windows (#31930)
## Performance Improvements
* Major performance improvements for installation from binary caches (#27610, #33628,
#33636, #33608, #33590, #33496)
* Test suite can now be parallelized using `xdist` (used in GitHub Actions) (#32361)
* Reduce lock contention for parallel builds in environments (#31643)
## New binary caches and stacks
* We now build nearly all of E4S with `oneapi` in our buildcache (#31781, #31804,
#31804, #31803, #31840, #31991, #32117, #32107, #32239)
* Added 3 new machine learning-centric stacks to binary cache: `x86_64_v3`, CUDA, ROCm
(#31592, #33463)
## Removals and Deprecations
* Support for Python 3.5 is dropped (#31908). Only Python 2.7 and 3.6+ are officially
supported.
* This is the last Spack release that will support Python 2 (#32615). Spack `v0.19`
will emit a deprecation warning if you run it with Python 2, and Python 2 support will
soon be removed from the `develop` branch.
* `LD_LIBRARY_PATH` is no longer set by default by `spack load` or module loads.
Setting `LD_LIBRARY_PATH` in Spack environments/modules can cause binaries from
outside of Spack to crash, and Spack's own builds use `RPATH` and do not need
`LD_LIBRARY_PATH` set in order to run. If you still want the old behavior, you
can run these commands to configure Spack to set `LD_LIBRARY_PATH`:
```console
spack config add modules:prefix_inspections:lib64:[LD_LIBRARY_PATH]
spack config add modules:prefix_inspections:lib:[LD_LIBRARY_PATH]
```
* The `spack:concretization:[together|separately]` has been removed after being
deprecated in `v0.18`. Use `concretizer:unify:[true|false]`.
* `config:module_roots` is no longer supported after being deprecated in `v0.18`. Use
configuration in module sets instead (#28659, [docs](
https://spack.readthedocs.io/en/latest/module_file_support.html)).
* `spack activate` and `spack deactivate` are no longer supported, having been
deprecated in `v0.18`. Use an environment with a view instead of
activating/deactivating ([docs](
https://spack.readthedocs.io/en/latest/environments.html#configuration-in-spack-yaml)).
* The old YAML format for buildcaches is now deprecated (#33707). If you are using an
old buildcache with YAML metadata you will need to regenerate it with JSON metadata.
* `spack bootstrap trust` and `spack bootstrap untrust` are deprecated in favor of
`spack bootstrap enable` and `spack bootstrap disable` and will be removed in `v0.20`.
(#33600)
* The `graviton2` architecture has been renamed to `neoverse_n1`, and `graviton3`
is now `neoverse_v1`. Buildcaches using the old architecture names will need to be rebuilt.
* The terms `blacklist` and `whitelist` have been replaced with `include` and `exclude`
in all configuration files (#31569). You can use `spack config update` to
automatically fix your configuration files.
## Notable Bugfixes
* Permission setting on installation now handles effective uid properly (#19980)
* `buildable:true` for an MPI implementation now overrides `buildable:false` for `mpi` (#18269)
* Improved error messages when attempting to use an unconfigured compiler (#32084)
* Do not punish explicitly requested compiler mismatches in the solver (#30074)
* `spack stage`: add missing --fresh and --reuse (#31626)
* Fixes for adding build system executables like `cmake` to package scope (#31739)
* Bugfix for binary relocation with aliased strings produced by newer `binutils` (#32253)
## Spack community stats
* 6,751 total packages, 335 new since `v0.18.0`
* 141 new Python packages
* 89 new R packages
* 303 people contributed to this release
* 287 committers to packages
* 57 committers to core
# v0.18.1 (2022-07-19)
### Spack Bugfixes
* Fix several bugs related to bootstrapping (#30834,#31042,#31180)
* Fix a regression that was causing spec hashes to differ between
* Fix a regression that was causing spec hashes to differ between
Python 2 and Python 3 (#31092)
* Fixed compiler flags for oneAPI and DPC++ (#30856)
* Fixed several issues related to concretization (#31142,#31153,#31170,#31226)
* Improved support for Cray manifest file and `spack external find` (#31144,#31201,#31173,#31186)
* Assign a version to openSUSE Tumbleweed according to the GLIBC version
in the system (#19895)
in the system (#19895)
* Improved Dockerfile generation for `spack containerize` (#29741,#31321)
* Fixed a few bugs related to concurrent execution of commands (#31509,#31493,#31477)
* Fixed a few bugs related to concurrent execution of commands (#31509,#31493,#31477)
### Package updates
* WarpX: add v22.06, fixed libs property (#30866,#31102)

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

@@ -10,8 +10,8 @@ For more on Spack's release structure, see
| Version | Supported |
| ------- | ------------------ |
| develop | :white_check_mark: |
| 0.17.x | :white_check_mark: |
| 0.16.x | :white_check_mark: |
| 0.19.x | :white_check_mark: |
| 0.18.x | :white_check_mark: |
## Reporting a Vulnerability

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)
@@ -10,6 +10,7 @@ def getpywin():
try:
import win32con # noqa: F401
except ImportError:
print("pyWin32 not installed but is required...\nInstalling via pip:")
subprocess.check_call([sys.executable, "-m", "pip", "-q", "install", "--upgrade", "pip"])
subprocess.check_call([sys.executable, "-m", "pip", "-q", "install", "pywin32"])

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)
@@ -31,13 +31,11 @@ import os
import os.path
import sys
min_python3 = (3, 5)
min_python3 = (3, 6)
if sys.version_info[:2] < (2, 7) or (
sys.version_info[:2] >= (3, 0) and sys.version_info[:2] < min_python3
):
if sys.version_info[:2] < min_python3:
v_info = sys.version_info[:3]
msg = "Spack requires Python 2.7 or %d.%d or higher " % min_python3
msg = "Spack requires Python %d.%d or higher " % min_python3
msg += "You are running spack with Python %d.%d.%d." % v_info
sys.exit(msg)

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

@@ -52,7 +52,6 @@ if defined py_path (
if defined py_exe (
"%py_exe%" "%SPACK_ROOT%\bin\haspywin.py"
"%py_exe%" "%SPACK_ROOT%\bin\spack" external find python >NUL
)
set "EDITOR=notepad"

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

@@ -20,9 +20,10 @@ concretizer:
# needed to reach a solution increases noticeably with the number of targets
# considered.
targets:
# Determine whether we want to target specific or generic microarchitectures.
# An example of the first kind might be for instance "skylake" or "bulldozer",
# while generic microarchitectures are for instance "aarch64" or "x86_64_v4".
# Determine whether we want to target specific or generic
# microarchitectures. Valid values are: "microarchitectures" or "generic".
# An example of "microarchitectures" would be "skylake" or "bulldozer",
# while an example of "generic" would be "aarch64" or "x86_64_v4".
granularity: microarchitectures
# If "false" allow targets that are incompatible with the current host (for
# instance concretize with target "icelake" while running on "haswell").
@@ -33,4 +34,4 @@ concretizer:
# environments can always be activated. When "false" perform concretization separately
# on each root spec, allowing different versions and variants of the same package in
# an environment.
unify: true
unify: true

View File

@@ -19,7 +19,7 @@ config:
install_tree:
root: $spack/opt/spack
projections:
all: "${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}"
all: "{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}"
# install_tree can include an optional padded length (int or boolean)
# default is False (do not pad)
# if padded_length is True, Spack will pad as close to the system max path
@@ -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).
@@ -214,4 +223,8 @@ config:
# Number of seconds a buildcache's index.json is cached locally before probing
# for updates, within a single Spack invocation. Defaults to 10 minutes.
binary_index_ttl: 600
binary_index_ttl: 600
flags:
# Whether to keep -Werror flags active in package builds.
keep_werror: 'none'

View File

@@ -0,0 +1,21 @@
# -------------------------------------------------------------------------
# This file controls default concretization preferences for Spack.
#
# Settings here are versioned with Spack and are intended to provide
# sensible defaults out of the box. Spack maintainers should edit this
# file to keep it current.
#
# Users can override these settings by editing the following files.
#
# Per-spack-instance settings (overrides defaults):
# $SPACK_ROOT/etc/spack/packages.yaml
#
# Per-user settings (overrides default and site settings):
# ~/.spack/packages.yaml
# -------------------------------------------------------------------------
packages:
all:
compiler:
- msvc
providers:
mpi: [msmpi]

View File

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

View File

@@ -1,162 +0,0 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _analyze:
=======
Analyze
=======
The analyze command is a front-end to various tools that let us analyze
package installations. Each analyzer is a module for a different kind
of analysis that can be done on a package installation, including (but not
limited to) binary, log, or text analysis. Thus, the analyze command group
allows you to take an existing package install, choose an analyzer,
and extract some output for the package using it.
-----------------
Analyzer Metadata
-----------------
For all analyzers, we write to an ``analyzers`` folder in ``~/.spack``, or the
value that you specify in your spack config at ``config:analyzers_dir``.
For example, here we see the results of running an analysis on zlib:
.. code-block:: console
$ tree ~/.spack/analyzers/
└── linux-ubuntu20.04-skylake
└── gcc-9.3.0
└── zlib-1.2.11-sl7m27mzkbejtkrajigj3a3m37ygv4u2
├── environment_variables
│   └── spack-analyzer-environment-variables.json
├── install_files
│   └── spack-analyzer-install-files.json
└── libabigail
└── spack-analyzer-libabigail-libz.so.1.2.11.xml
This means that you can always find analyzer output in this folder, and it
is organized with the same logic as the package install it was run for.
If you want to customize this top level folder, simply provide the ``--path``
argument to ``spack analyze run``. The nested organization will be maintained
within your custom root.
-----------------
Listing Analyzers
-----------------
If you aren't familiar with Spack's analyzers, you can quickly list those that
are available:
.. code-block:: console
$ spack analyze list-analyzers
install_files : install file listing read from install_manifest.json
environment_variables : environment variables parsed from spack-build-env.txt
config_args : config args loaded from spack-configure-args.txt
libabigail : Application Binary Interface (ABI) features for objects
In the above, the first three are fairly simple - parsing metadata files from
a package install directory to save
-------------------
Analyzing a Package
-------------------
The analyze command, akin to install, will accept a package spec to perform
an analysis for. The package must be installed. Let's walk through an example
with zlib. We first ask to analyze it. However, since we have more than one
install, we are asked to disambiguate:
.. code-block:: console
$ spack analyze run zlib
==> Error: zlib matches multiple packages.
Matching packages:
fz2bs56 zlib@1.2.11%gcc@7.5.0 arch=linux-ubuntu18.04-skylake
sl7m27m zlib@1.2.11%gcc@9.3.0 arch=linux-ubuntu20.04-skylake
Use a more specific spec.
We can then specify the spec version that we want to analyze:
.. code-block:: console
$ spack analyze run zlib/fz2bs56
If you don't provide any specific analyzer names, by default all analyzers
(shown in the ``list-analyzers`` subcommand list) will be run. If an analyzer does not
have any result, it will be skipped. For example, here is a result running for
zlib:
.. code-block:: console
$ ls ~/.spack/analyzers/linux-ubuntu20.04-skylake/gcc-9.3.0/zlib-1.2.11-sl7m27mzkbejtkrajigj3a3m37ygv4u2/
spack-analyzer-environment-variables.json
spack-analyzer-install-files.json
spack-analyzer-libabigail-libz.so.1.2.11.xml
If you want to run a specific analyzer, ask for it with `--analyzer`. Here we run
spack analyze on libabigail (already installed) _using_ libabigail1
.. code-block:: console
$ spack analyze run --analyzer abigail libabigail
.. _analyze_monitoring:
----------------------
Monitoring An Analysis
----------------------
For any kind of analysis, you can
use a `spack monitor <https://github.com/spack/spack-monitor>`_ "Spackmon"
as a server to upload the same run metadata to. You can
follow the instructions in the `spack monitor documentation <https://spack-monitor.readthedocs.org>`_
to first create a server along with a username and token for yourself.
You can then use this guide to interact with the server.
You should first export our spack monitor token and username to the environment:
.. code-block:: console
$ export SPACKMON_TOKEN=50445263afd8f67e59bd79bff597836ee6c05438
$ export SPACKMON_USER=spacky
By default, the host for your server is expected to be at ``http://127.0.0.1``
with a prefix of ``ms1``, and if this is the case, you can simply add the
``--monitor`` flag to the install command:
.. code-block:: console
$ spack analyze run --monitor wget
If you need to customize the host or the prefix, you can do that as well:
.. code-block:: console
$ spack analyze run --monitor --monitor-prefix monitor --monitor-host https://monitor-service.io wget
If your server doesn't have authentication, you can skip it:
.. code-block:: console
$ spack analyze run --monitor --monitor-disable-auth wget
Regardless of your choice, when you run analyze on an installed package (whether
it was installed with ``--monitor`` or not, you'll see the results generating as they did
before, and a message that the monitor server was pinged:
.. code-block:: console
$ spack analyze --monitor wget
...
==> Sending result for wget bin/wget to monitor.

View File

@@ -1,4 +1,4 @@
.. Copyright 2013-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)
@@ -1244,8 +1244,8 @@ For example, for the ``stackstart`` variant:
.. code-block:: sh
mpileaks stackstart=4 # variant will be propagated to dependencies
mpileaks stackstart==4 # only mpileaks will have this variant value
mpileaks stackstart==4 # variant will be propagated to dependencies
mpileaks stackstart=4 # only mpileaks will have this variant value
^^^^^^^^^^^^^^
Compiler Flags
@@ -1672,9 +1672,13 @@ own install prefix. However, certain packages are typically installed
`Python <https://www.python.org>`_ packages are typically installed in the
``$prefix/lib/python-2.7/site-packages`` directory.
Spack has support for this type of installation as well. In Spack,
a package that can live inside the prefix of another package is called
an *extension*. Suppose you have Python installed like so:
In Spack, installation prefixes are immutable, so this type of installation
is not directly supported. However, it is possible to create views that
allow you to merge install prefixes of multiple packages into a single new prefix.
Views are a convenient way to get a more traditional filesystem structure.
Using *extensions*, you can ensure that Python packages always share the
same prefix in the view as Python itself. Suppose you have
Python installed like so:
.. code-block:: console
@@ -1712,8 +1716,6 @@ You can find extensions for your Python installation like this:
py-ipython@2.3.1 py-pygments@2.0.1 py-setuptools@11.3.1
py-matplotlib@1.4.2 py-pyparsing@2.0.3 py-six@1.9.0
==> None activated.
The extensions are a subset of what's returned by ``spack list``, and
they are packages like any other. They are installed into their own
prefixes, and you can see this with ``spack find --paths``:
@@ -1741,32 +1743,72 @@ directly when you run ``python``:
ImportError: No module named numpy
>>>
^^^^^^^^^^^^^^^^
Using Extensions
^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Using Extensions in Environments
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
There are multiple ways to get ``numpy`` working in Python. The first is
to use :ref:`shell-support`. You can simply ``load`` the extension,
and it will be added to the ``PYTHONPATH`` in your current shell, and
Python itself will be available in the ``PATH``:
The recommended way of working with extensions such as ``py-numpy``
above is through :ref:`Environments <environments>`. For example,
the following creates an environment in the current working directory
with a filesystem view in the ``./view`` directory:
.. code-block:: console
$ spack env create --with-view view --dir .
$ spack -e . add py-numpy
$ spack -e . concretize
$ spack -e . install
We recommend environments for two reasons. Firstly, environments
can be activated (requires :ref:`shell-support`):
.. code-block:: console
$ spack env activate .
which sets all the right environment variables such as ``PATH`` and
``PYTHONPATH``. This ensures that
.. code-block:: console
$ python
>>> import numpy
works. Secondly, even without shell support, the view ensures
that Python can locate its extensions:
.. code-block:: console
$ ./view/bin/python
>>> import numpy
See :ref:`environments` for a more in-depth description of Spack
environments and customizations to views.
^^^^^^^^^^^^^^^^^^^^
Using ``spack load``
^^^^^^^^^^^^^^^^^^^^
A more traditional way of using Spack and extensions is ``spack load``
(requires :ref:`shell-support`). This will add the extension to ``PYTHONPATH``
in your current shell, and Python itself will be available in the ``PATH``:
.. code-block:: console
$ spack load py-numpy
$ python
>>> import numpy
Now ``import numpy`` will succeed for as long as you keep your current
session open.
The loaded packages can be checked using ``spack find --loaded``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Loading Extensions via Modules
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Instead of using Spack's environment modification capabilities through
the ``spack load`` command, you can load numpy through your
environment modules (using ``environment-modules`` or ``lmod``). This
will also add the extension to the ``PYTHONPATH`` in your current
shell.
Apart from ``spack env activate`` and ``spack load``, you can load numpy
through your environment modules (using ``environment-modules`` or
``lmod``). This will also add the extension to the ``PYTHONPATH`` in
your current shell.
.. code-block:: console
@@ -1776,15 +1818,6 @@ If you do not know the name of the specific numpy module you wish to
load, you can use the ``spack module tcl|lmod loads`` command to get
the name of the module from the Spack spec.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Extensions in an Environment
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Another way to use extensions is to create a view, which merges the
python installation along with the extensions into a single prefix.
See :ref:`environments` for a more in-depth description
of environment views.
-----------------------
Filesystem requirements
-----------------------

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,13 +1,13 @@
.. 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)
.. _cachedcmakepackage:
------------------
CachedCMakePackage
------------------
-----------
CachedCMake
-----------
The CachedCMakePackage base class is used for CMake-based workflows
that create a CMake cache file prior to running ``cmake``. This is

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,13 +1,13 @@
.. 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)
.. _cudapackage:
-----------
CudaPackage
-----------
----
Cuda
----
Different from other packages, ``CudaPackage`` does not represent a build system.
Instead its goal is to simplify and unify usage of ``CUDA`` in other packages by providing a `mixin-class <https://en.wikipedia.org/wiki/Mixin>`_.
@@ -80,7 +80,7 @@ standard CUDA compiler flags.
**cuda_flags**
This built-in static method returns a list of command line flags
This built-in static method returns a list of command line flags
for the chosen ``cuda_arch`` value(s). The flags are intended to
be passed to the CUDA compiler driver (i.e., ``nvcc``).

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)
@@ -6,9 +6,9 @@
.. _inteloneapipackage:
====================
IntelOneapiPackage
====================
===========
IntelOneapi
===========
.. contents::
@@ -36,7 +36,7 @@ For more information on a specific package, do::
Intel no longer releases new versions of Parallel Studio, which can be
used in Spack via the :ref:`intelpackage`. All of its components can
now be found in oneAPI.
now be found in oneAPI.
Examples
========

View File

@@ -1,13 +1,13 @@
.. 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)
.. _intelpackage:
------------
IntelPackage
------------
-----
Intel
-----
.. contents::

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,13 +1,13 @@
.. 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)
.. _pythonpackage:
-------------
PythonPackage
-------------
------
Python
------
Python packages and modules have their own special build system. This
documentation covers everything you'll need to know in order to write
@@ -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.
"""
@@ -724,10 +724,9 @@ extends vs. depends_on
This is very similar to the naming dilemma above, with a slight twist.
As mentioned in the :ref:`Packaging Guide <packaging_extensions>`,
``extends`` and ``depends_on`` are very similar, but ``extends`` adds
the ability to *activate* the package. Activation involves symlinking
everything in the installation prefix of the package to the installation
prefix of Python. This allows the user to import a Python module without
``extends`` and ``depends_on`` are very similar, but ``extends`` ensures
that the extension and extendee share the same prefix in views.
This allows the user to import a Python module without
having to add that module to ``PYTHONPATH``.
When deciding between ``extends`` and ``depends_on``, the best rule of
@@ -735,7 +734,7 @@ thumb is to check the installation prefix. If Python libraries are
installed to ``<prefix>/lib/pythonX.Y/site-packages``, then you
should use ``extends``. If Python libraries are installed elsewhere
or the only files that get installed reside in ``<prefix>/bin``, then
don't use ``extends``, as symlinking the package wouldn't be useful.
don't use ``extends``.
^^^^^^^^^^^^^^^^^^^^^
Alternatives to Spack

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,13 +1,13 @@
.. 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)
.. _rocmpackage:
-----------
ROCmPackage
-----------
----
ROCm
----
The ``ROCmPackage`` is not a build system but a helper package. Like ``CudaPackage``,
it provides standard variants, dependencies, and conflicts to facilitate building
@@ -25,7 +25,7 @@ This package provides the following variants:
* **rocm**
This variant is used to enable/disable building with ``rocm``.
This variant is used to enable/disable building with ``rocm``.
The default is disabled (or ``False``).
* **amdgpu_target**

View File

@@ -1,13 +1,13 @@
.. 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)
.. _rpackage:
--------
RPackage
--------
--
R
--
Like Python, R has its own built-in build system.
@@ -193,10 +193,10 @@ Build system dependencies
As an extension of the R ecosystem, your package will obviously depend
on R to build and run. Normally, we would use ``depends_on`` to express
this, but for R packages, we use ``extends``. ``extends`` is similar to
``depends_on``, but adds an additional feature: the ability to "activate"
the package by symlinking it to the R installation directory. Since
every R package needs this, the ``RPackage`` base class contains:
this, but for R packages, we use ``extends``. This implies a special
dependency on R, which is used to set environment variables such as
``R_LIBS`` uniformly. Since every R package needs this, the ``RPackage``
base class contains:
.. 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)

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,19 +1,19 @@
.. 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)
.. _sourceforgepackage:
------------------
SourceforgePackage
------------------
-----------
Sourceforge
-----------
``SourceforgePackage`` is a
``SourceforgePackage`` is a
`mixin-class <https://en.wikipedia.org/wiki/Mixin>`_. It automatically
sets the URL based on a list of Sourceforge mirrors listed in
`sourceforge_mirror_path`, which defaults to a half dozen known mirrors.
Refer to the package source
Refer to the package source
(`<https://github.com/spack/spack/blob/develop/lib/spack/spack/build_systems/sourceforge.py>`__) for the current list of mirrors used by Spack.
@@ -29,7 +29,7 @@ This package provides a method for populating mirror URLs.
It is decorated with `property` so its results are treated as
a package attribute.
Refer to
Refer to
`<https://spack.readthedocs.io/en/latest/packaging_guide.html#mirrors-of-the-main-url>`__
for information on how Spack uses the `urls` attribute during
fetching.

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)
@@ -36,13 +36,7 @@
if not os.path.exists(link_name):
os.symlink(os.path.abspath("../../.."), link_name, target_is_directory=True)
sys.path.insert(0, os.path.abspath("_spack_root/lib/spack/external"))
sys.path.insert(0, os.path.abspath("_spack_root/lib/spack/external/pytest-fallback"))
if sys.version_info[0] < 3:
sys.path.insert(0, os.path.abspath("_spack_root/lib/spack/external/yaml/lib"))
else:
sys.path.insert(0, os.path.abspath("_spack_root/lib/spack/external/yaml/lib3"))
sys.path.insert(0, os.path.abspath("_spack_root/lib/spack/external/_vendoring"))
sys.path.append(os.path.abspath("_spack_root/lib/spack/"))
# Add the Spack bin directory to the path so that we can use its output in docs.
@@ -80,13 +74,22 @@
"--force", # Overwrite existing files
"--no-toc", # Don't create a table of contents file
"--output-dir=.", # Directory to place all output
"--module-first", # emit module docs before submodule docs
]
sphinx_apidoc(apidoc_args + ["_spack_root/lib/spack/spack"])
sphinx_apidoc(
apidoc_args
+ [
"_spack_root/lib/spack/spack",
"_spack_root/lib/spack/spack/test/*.py",
"_spack_root/lib/spack/spack/test/cmd/*.py",
]
)
sphinx_apidoc(apidoc_args + ["_spack_root/lib/spack/llnl"])
# Enable todo items
todo_include_todos = True
#
# Disable duplicate cross-reference warnings.
#
@@ -160,8 +163,8 @@ def setup(sphinx):
master_doc = "index"
# General information about the project.
project = u"Spack"
copyright = u"2013-2021, Lawrence Livermore National Laboratory."
project = "Spack"
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
@@ -206,12 +209,14 @@ def setup(sphinx):
("py:class", "_frozen_importlib_external.SourceFileLoader"),
("py:class", "clingo.Control"),
("py:class", "six.moves.urllib.parse.ParseResult"),
("py:class", "TextIO"),
# Spack classes that are private and we don't want to expose
("py:class", "spack.provider_index._IndexBase"),
("py:class", "spack.repo._PrependFileLoader"),
("py:class", "spack.build_systems._checks.BaseBuilder"),
# Spack classes that intersphinx is unable to resolve
("py:class", "spack.version.VersionBase"),
("py:class", "spack.spec.DependencySpec"),
]
# The reST default role (used for this markup: `text`) to use for all documents.
@@ -349,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", u"Spack Documentation", u"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.
@@ -378,7 +381,7 @@ class SpackStyle(DefaultStyle):
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [("index", "spack", u"Spack Documentation", [u"Todd Gamblin"], 1)]
man_pages = [("index", "spack", "Spack Documentation", ["Todd Gamblin"], 1)]
# If true, show URL addresses after external links.
# man_show_urls = False
@@ -393,12 +396,12 @@ class SpackStyle(DefaultStyle):
(
"index",
"Spack",
u"Spack Documentation",
u"Todd Gamblin",
"Spack Documentation",
"Todd Gamblin",
"Spack",
"One line description of project.",
"Miscellaneous",
),
)
]
# Documents to append as an appendix to all manuals.
@@ -414,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)
@@ -394,7 +394,7 @@ are indicated at the start of the path with ``~`` or ``~user``.
Spack-specific variables
^^^^^^^^^^^^^^^^^^^^^^^^
Spack understands several special variables. These are:
Spack understands over a dozen special variables. These are:
* ``$env``: name of the currently active :ref:`environment <environments>`
* ``$spack``: path to the prefix of this Spack installation
@@ -416,6 +416,8 @@ Spack understands several special variables. These are:
ArchSpec. E.g. ``skylake`` or ``neoverse-n1``.
* ``$target_family``. The target family for the current host, as
detected by ArchSpec. E.g. ``x86_64`` or ``aarch64``.
* ``$date``: the current date in the format YYYY-MM-DD
Note that, as with shell variables, you can write these as ``$varname``
or with braces to distinguish the variable from surrounding characters:

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)
@@ -175,14 +175,11 @@ Spec-related modules
^^^^^^^^^^^^^^^^^^^^
:mod:`spack.spec`
Contains :class:`~spack.spec.Spec` and :class:`~spack.spec.SpecParser`.
Also implements most of the logic for normalization and concretization
Contains :class:`~spack.spec.Spec`. Also implements most of the logic for concretization
of specs.
:mod:`spack.parse`
Contains some base classes for implementing simple recursive descent
parsers: :class:`~spack.parse.Parser` and :class:`~spack.parse.Lexer`.
Used by :class:`~spack.spec.SpecParser`.
:mod:`spack.parser`
Contains :class:`~spack.parser.SpecParser` and functions related to parsing specs.
:mod:`spack.concretize`
Contains :class:`~spack.concretize.Concretizer` implementation,
@@ -235,7 +232,7 @@ Spack Subcommands
Unit tests
^^^^^^^^^^
:mod:`spack.test`
``spack.test``
Implements Spack's test suite. Add a module and put its name in
the test suite in ``__init__.py`` to add more unit tests.

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,27 +1063,79 @@ 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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The generated ``Makefile``\s contain install targets for each spec. Given the hash
of a particular spec, you can use the ``.install/<hash>`` target to install the
spec with its dependencies. There is also ``.install-deps/<hash>`` to *only* install
The generated ``Makefile``\s contain install targets for each spec, identified
by ``<name>-<version>-<hash>``. This allows you to install only a subset of the
packages in the environment. When packages are unique in the environment, it's
enough to know the name and let tab-completion fill out the version and hash.
The following phony targets are available: ``install/<spec>`` to install the
spec with its dependencies, and ``install-deps/<spec>`` to *only* install
its dependencies. This can be useful when certain flags should only apply to
dependencies. Below we show a use case where a spec is installed with verbose
output (``spack install --verbose``) while its dependencies are installed silently:
.. code:: console
$ spack env depfile -o Makefile --make-target-prefix my_env
$ spack env depfile -o Makefile
# Install dependencies in parallel, only show a log on error.
$ make -j16 my_env/.install-deps/<hash> SPACK_INSTALL_FLAGS=--show-log-on-error
$ 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 my_env/.install/<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,8 +21,9 @@ 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, XCode is required. Spack is designed to run on HPC
platforms like Cray. Not all packages should be expected
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.
A build matrix showing which packages are working on which systems is shown below.
@@ -1505,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
@@ -1515,7 +1516,7 @@ To use Spack on Windows, you will need the following packages:
Required:
* Microsoft Visual Studio
* Python
* Python
* Git
Optional:
@@ -1546,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.
@@ -1699,27 +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
* clingo
* cpuinfo
* cmake
* 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
@@ -1731,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)
@@ -67,7 +67,6 @@ or refer to the full manual below.
build_settings
environments
containers
monitoring
mirrors
module_file_support
repositories
@@ -78,12 +77,6 @@ or refer to the full manual below.
extensions
pipelines
.. toctree::
:maxdepth: 2
:caption: Research
analyze
.. toctree::
:maxdepth: 2
:caption: Contributing

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,265 +0,0 @@
.. Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _monitoring:
==========
Monitoring
==========
You can use a `spack monitor <https://github.com/spack/spack-monitor>`_ "Spackmon"
server to store a database of your packages, builds, and associated metadata
for provenance, research, or some other kind of development. You should
follow the instructions in the `spack monitor documentation <https://spack-monitor.readthedocs.org>`_
to first create a server along with a username and token for yourself.
You can then use this guide to interact with the server.
-------------------
Analysis Monitoring
-------------------
To read about how to monitor an analysis (meaning you want to send analysis results
to a server) see :ref:`analyze_monitoring`.
---------------------
Monitoring An Install
---------------------
Since an install is typically when you build packages, we logically want
to tell spack to monitor during this step. Let's start with an example
where we want to monitor the install of hdf5. Unless you have disabled authentication
for the server, we first want to export our spack monitor token and username to the environment:
.. code-block:: console
$ export SPACKMON_TOKEN=50445263afd8f67e59bd79bff597836ee6c05438
$ export SPACKMON_USER=spacky
By default, the host for your server is expected to be at ``http://127.0.0.1``
with a prefix of ``ms1``, and if this is the case, you can simply add the
``--monitor`` flag to the install command:
.. code-block:: console
$ spack install --monitor hdf5
If you need to customize the host or the prefix, you can do that as well:
.. code-block:: console
$ spack install --monitor --monitor-prefix monitor --monitor-host https://monitor-service.io hdf5
As a precaution, we cut out early in the spack client if you have not provided
authentication credentials. For example, if you run the command above without
exporting your username or token, you'll see:
.. code-block:: console
==> Error: You are required to export SPACKMON_TOKEN and SPACKMON_USER
This extra check is to ensure that we don't start any builds,
and then discover that you forgot to export your token. However, if
your monitoring server has authentication disabled, you can tell this to
the client to skip this step:
.. code-block:: console
$ spack install --monitor --monitor-disable-auth hdf5
If the service is not running, you'll cleanly exit early - the install will
not continue if you've asked it to monitor and there is no service.
For example, here is what you'll see if the monitoring service is not running:
.. code-block:: console
[Errno 111] Connection refused
If you want to continue builds (and stop monitoring) you can set the ``--monitor-keep-going``
flag.
.. code-block:: console
$ spack install --monitor --monitor-keep-going hdf5
This could mean that if a request fails, you only have partial or no data
added to your monitoring database. This setting will not be applied to the
first request to check if the server is running, but to subsequent requests.
If you don't have a monitor server running and you want to build, simply
don't provide the ``--monitor`` flag! Finally, if you want to provide one or
more tags to your build, you can do:
.. code-block:: console
# Add one tag, "pizza"
$ spack install --monitor --monitor-tags pizza hdf5
# Add two tags, "pizza" and "pasta"
$ spack install --monitor --monitor-tags pizza,pasta hdf5
----------------------------
Monitoring with Containerize
----------------------------
The same argument group is available to add to a containerize command.
^^^^^^
Docker
^^^^^^
To add monitoring to a Docker container recipe generation using the defaults,
and assuming a monitor server running on localhost, you would
start with a spack.yaml in your present working directory:
.. code-block:: yaml
spack:
specs:
- samtools
And then do:
.. code-block:: console
# preview first
spack containerize --monitor
# and then write to a Dockerfile
spack containerize --monitor > Dockerfile
The install command will be edited to include commands for enabling monitoring.
However, getting secrets into the container for your monitor server is something
that should be done carefully. Specifically you should:
- Never try to define secrets as ENV, ARG, or using ``--build-arg``
- Do not try to get the secret into the container via a "temporary" file that you remove (it in fact will still exist in a layer)
Instead, it's recommended to use buildkit `as explained here <https://pythonspeed.com/articles/docker-build-secrets/>`_.
You'll need to again export environment variables for your spack monitor server:
.. code-block:: console
$ export SPACKMON_TOKEN=50445263afd8f67e59bd79bff597836ee6c05438
$ export SPACKMON_USER=spacky
And then use buildkit along with your build and identifying the name of the secret:
.. code-block:: console
$ DOCKER_BUILDKIT=1 docker build --secret id=st,env=SPACKMON_TOKEN --secret id=su,env=SPACKMON_USER -t spack/container .
The secrets are expected to come from your environment, and then will be temporarily mounted and available
at ``/run/secrets/<name>``. If you forget to supply them (and authentication is required) the build
will fail. If you need to build on your host (and interact with a spack monitor at localhost) you'll
need to tell Docker to use the host network:
.. code-block:: console
$ DOCKER_BUILDKIT=1 docker build --network="host" --secret id=st,env=SPACKMON_TOKEN --secret id=su,env=SPACKMON_USER -t spack/container .
^^^^^^^^^^^
Singularity
^^^^^^^^^^^
To add monitoring to a Singularity container build, the spack.yaml needs to
be modified slightly to specify wanting a different format:
.. code-block:: yaml
spack:
specs:
- samtools
container:
format: singularity
Again, generate the recipe:
.. code-block:: console
# preview first
$ spack containerize --monitor
# then write to a Singularity recipe
$ spack containerize --monitor > Singularity
Singularity doesn't have a direct way to define secrets at build time, so we have
to do a bit of a manual command to add a file, source secrets in it, and remove it.
Since Singularity doesn't have layers like Docker, deleting a file will truly
remove it from the container and history. So let's say we have this file,
``secrets.sh``:
.. code-block:: console
# secrets.sh
export SPACKMON_USER=spack
export SPACKMON_TOKEN=50445263afd8f67e59bd79bff597836ee6c05438
We would then generate the Singularity recipe, and add a files section,
a source of that file at the start of ``%post``, and **importantly**
a removal of the final at the end of that same section.
.. code-block::
Bootstrap: docker
From: spack/ubuntu-bionic:latest
Stage: build
%files
secrets.sh /opt/secrets.sh
%post
. /opt/secrets.sh
# spack install commands are here
...
# Don't forget to remove here!
rm /opt/secrets.sh
You can then build the container as your normally would.
.. code-block:: console
$ sudo singularity build container.sif Singularity
------------------
Monitoring Offline
------------------
In the case that you want to save monitor results to your filesystem
and then upload them later (perhaps you are in an environment where you don't
have credentials or it isn't safe to use them) you can use the ``--monitor-save-local``
flag.
.. code-block:: console
$ spack install --monitor --monitor-save-local hdf5
This will save results in a subfolder, "monitor" in your designated spack
reports folder, which defaults to ``$HOME/.spack/reports/monitor``. When
you are ready to upload them to a spack monitor server:
.. code-block:: console
$ spack monitor upload ~/.spack/reports/monitor
You can choose the root directory of results as shown above, or a specific
subdirectory. The command accepts other arguments to specify configuration
for the monitor.

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)

File diff suppressed because it is too large Load Diff

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)
@@ -184,13 +184,48 @@ simply run the following commands:
.. code-block:: console
$ spack env activate myenv
$ spack concretize --force
$ spack concretize --fresh --force
$ spack install
The ``--force`` flag tells Spack to overwrite its previous concretization
decisions, allowing you to choose a new version of Python. If any of the new
packages like Bash are already installed, ``spack install`` won't re-install
them, it will keep the symlinks in place.
The ``--fresh`` flag tells Spack to use the latest version of every package
where possible instead of trying to optimize for reuse of existing installed
packages.
The ``--force`` flag in addition tells Spack to overwrite its previous
concretization decisions, allowing you to choose a new version of Python.
If any of the new packages like Bash are already installed, ``spack install``
won't re-install them, it will keep the symlinks in place.
-----------------------------------
Updating & Cleaning Up Old Packages
-----------------------------------
If you're looking to mimic the behavior of Homebrew, you may also want to
clean up out-of-date packages from your environment after an upgrade. To
upgrade your entire software stack within an environment and clean up old
package versions, simply run the following commands:
.. code-block:: console
$ spack env activate myenv
$ spack mark -i --all
$ spack concretize --fresh --force
$ spack install
$ spack gc
Running ``spack mark -i --all`` tells Spack to mark all of the existing
packages within an environment as "implicitly" installed. This tells
spack's garbage collection system that these packages should be cleaned up.
Don't worry however, this will not remove your entire environment.
Running ``spack install`` will reexamine your spack environment after
a fresh concretization and will re-mark any packages that should remain
installed as "explicitly" installed.
**Note:** if you use multiple spack environments you should re-run ``spack install``
in each of your environments prior to running ``spack gc`` to prevent spack
from uninstalling any shared packages that are no longer required by the
environment you just upgraded.
--------------
Uninstallation

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,5 +1,5 @@
Name, Supported Versions, Notes, Requirement Reason
Python, 2.7/3.6-3.11, , Interpreter for Spack
Python, 3.6--3.11, , Interpreter for Spack
C/C++ Compilers, , , Building software
make, , , Build software
patch, , , Build software
1 Name Supported Versions Notes Requirement Reason
2 Python 2.7/3.6-3.11 3.6--3.11 Interpreter for Spack
3 C/C++ Compilers Building software
4 make Build software
5 patch Build software

136
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)
@@ -427,6 +427,48 @@ isystem_include_dirs_list=""
libs_list=""
other_args_list=""
# Global state for keeping track of -Wl,-rpath -Wl,/path
wl_expect_rpath=no
parse_Wl() {
# drop -Wl
shift
while [ $# -ne 0 ]; do
if [ "$wl_expect_rpath" = yes ]; then
rp="$1"
wl_expect_rpath=no
else
rp=""
case "$1" in
-rpath=*)
rp="${1#-rpath=}"
;;
--rpath=*)
rp="${1#--rpath=}"
;;
-rpath|--rpath)
wl_expect_rpath=yes
;;
"$dtags_to_strip")
;;
*)
append other_args_list "-Wl,$1"
;;
esac
fi
if [ -n "$rp" ]; then
if system_dir "$rp"; then
append system_rpath_dirs_list "$rp"
else
append rpath_dirs_list "$rp"
fi
fi
shift
done
# By lack of local variables, always set this to empty string.
rp=""
}
while [ $# -ne 0 ]; do
@@ -440,6 +482,47 @@ while [ $# -ne 0 ]; do
continue
fi
if [ -n "${SPACK_COMPILER_FLAGS_KEEP}" ] ; then
# NOTE: the eval is required to allow `|` alternatives inside the variable
eval "\
case \"\$1\" in
$SPACK_COMPILER_FLAGS_KEEP)
append other_args_list \"\$1\"
shift
continue
;;
esac
"
fi
# the replace list is a space-separated list of pipe-separated pairs,
# the first in each pair is the original prefix to be matched, the
# second is the replacement prefix
if [ -n "${SPACK_COMPILER_FLAGS_REPLACE}" ] ; then
for rep in ${SPACK_COMPILER_FLAGS_REPLACE} ; do
before=${rep%|*}
after=${rep#*|}
eval "\
stripped=\"\${1##$before}\"
"
if [ "$stripped" = "$1" ] ; then
continue
fi
replaced="$after$stripped"
# it matched, remove it
shift
if [ -z "$replaced" ] ; then
# completely removed, continue OUTER loop
continue 2
fi
# re-build argument list with replacement
set -- "$replaced" "$@"
done
fi
case "$1" in
-isystem*)
arg="${1#-isystem}"
@@ -485,54 +568,9 @@ while [ $# -ne 0 ]; do
append other_args_list "-l$arg"
;;
-Wl,*)
arg="${1#-Wl,}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
case "$arg" in
-rpath=*) rp="${arg#-rpath=}" ;;
--rpath=*) rp="${arg#--rpath=}" ;;
-rpath,*) rp="${arg#-rpath,}" ;;
--rpath,*) rp="${arg#--rpath,}" ;;
-rpath|--rpath)
shift; arg="$1"
case "$arg" in
-Wl,*)
rp="${arg#-Wl,}"
;;
*)
die "-Wl,-rpath was not followed by -Wl,*"
;;
esac
;;
"$dtags_to_strip")
: # We want to remove explicitly this flag
;;
*)
append other_args_list "-Wl,$arg"
;;
esac
;;
-Xlinker,*)
arg="${1#-Xlinker,}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
case "$arg" in
-rpath=*) rp="${arg#-rpath=}" ;;
--rpath=*) rp="${arg#--rpath=}" ;;
-rpath|--rpath)
shift; arg="$1"
case "$arg" in
-Xlinker,*)
rp="${arg#-Xlinker,}"
;;
*)
die "-Xlinker,-rpath was not followed by -Xlinker,*"
;;
esac
;;
*)
append other_args_list "-Xlinker,$arg"
;;
esac
IFS=,
parse_Wl $1
unset IFS
;;
-Xlinker)
if [ "$2" = "-rpath" ]; then

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,25 +11,14 @@
* Homepage: https://altgraph.readthedocs.io/en/latest/index.html
* Usage: dependency of macholib
* Version: 0.17.2
* Version: 0.17.3
archspec
--------
* Homepage: https://pypi.python.org/pypi/archspec
* Usage: Labeling, comparison and detection of microarchitectures
* Version: 0.2.0 (commit 77640e572725ad97f18e63a04857155752ace045)
argparse
--------
* Homepage: https://pypi.python.org/pypi/argparse
* Usage: We include our own version to be Python 3.X compatible.
* Version: 1.4.0
* Note: This package has been slightly modified to improve
error message formatting. See the following commit if the
vendored copy ever needs to be updated again:
https://github.com/spack/spack/pull/6786/commits/dfcef577b77249106ea4e4c69a6cd9e64fa6c418
* Version: 0.2.0 (commit e44bad9c7b6defac73696f64078b2fe634719b62)
astunparse
----------------
@@ -52,7 +41,7 @@
* Homepage: https://github.com/python-attrs/attrs
* Usage: Needed by jsonschema.
* Version: 21.2.0 (83d3cd70f90a3f4d19ee8b508e58d1c58821c0ad)
* Version: 22.1.0
ctest_log_parser
----------------
@@ -67,21 +56,14 @@
* Homepage: https://pypi.python.org/pypi/distro
* Usage: Provides a more stable linux distribution detection.
* Version: 1.6.0 (64946a1e2a9ff529047070657728600e006c99ff)
* Note: Last version supporting Python 2.7
functools32
-----------
* Homepage: https://github.com/MiCHiLU/python-functools32
* Usage: Needed by jsonschema when using Python 2.7.
* Version: 3.2.3-2
* Version: 1.8.0
jinja2
------
* Homepage: https://pypi.python.org/pypi/Jinja2
* Usage: A modern and designer-friendly templating language for Python.
* Version: 2.11.3 (last version supporting Python 2.7)
* Version: 3.0.3 (last version supporting Python 3.6)
jsonschema
----------
@@ -96,44 +78,21 @@
* Homepage: https://macholib.readthedocs.io/en/latest/index.html#
* Usage: Manipulation of Mach-o binaries for relocating macOS buildcaches on Linux
* Version: 1.15.2
* Version: 1.16.2
markupsafe
----------
* Homepage: https://pypi.python.org/pypi/MarkupSafe
* Usage: Implements a XML/HTML/XHTML Markup safe string for Python.
* Version: 1.1.1 (last version supporting Python 2.7)
py
--
* Homepage: https://pypi.python.org/pypi/py
* Usage: Needed by pytest. Library with cross-python path,
ini-parsing, io, code, and log facilities.
* Version: 1.4.34 (last version supporting Python 2.6)
* Note: This packages has been modified:
* https://github.com/pytest-dev/py/pull/186 was backported
* Version: 2.0.1 (last version supporting Python 3.6)
pyrsistent
----------
* Homepage: http://github.com/tobgu/pyrsistent/
* Usage: Needed by `jsonschema`
* Version: 0.16.1 (last version supporting Python 2.7)
* Note: We only include the parts needed for `jsonschema`.
pytest
------
* Homepage: https://pypi.python.org/pypi/pytest
* Usage: Testing framework used by Spack.
* Version: 3.2.5 (last version supporting Python 2.6)
* Note: This package has been slightly modified:
* We improve Python 2.6 compatibility. See:
https://github.com/spack/spack/pull/6801.
* We have patched pytest not to depend on setuptools. See:
https://github.com/spack/spack/pull/15612
* Version: 0.18.0
ruamel.yaml
------

View File

@@ -0,0 +1 @@
__version__ = '0.18.0'

View File

@@ -0,0 +1 @@
from _pyrsistent_version import *

View File

@@ -0,0 +1 @@
from altgraph import *

View File

@@ -0,0 +1,18 @@
Copyright (c) 2004 Istvan Albert unless otherwise noted.
Copyright (c) 2006-2010 Bob Ippolito
Copyright (2) 2010-2020 Ronald Oussoren, et. al.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.

View File

@@ -1,4 +1,5 @@
from __future__ import absolute_import, division, print_function
# SPDX-License-Identifier: MIT
import sys
@@ -22,7 +23,7 @@
from ._version_info import VersionInfo
__version__ = "21.2.0"
__version__ = "22.1.0"
__version_info__ = VersionInfo._from_version_string(__version__)
__title__ = "attrs"
@@ -73,6 +74,6 @@
]
if sys.version_info[:2] >= (3, 6):
from ._next_gen import define, field, frozen, mutable
from ._next_gen import define, field, frozen, mutable # noqa: F401
__all__.extend((define, field, frozen, mutable))
__all__.extend(("define", "field", "frozen", "mutable"))

View File

@@ -0,0 +1,486 @@
import sys
from typing import (
Any,
Callable,
ClassVar,
Dict,
Generic,
List,
Mapping,
Optional,
Protocol,
Sequence,
Tuple,
Type,
TypeVar,
Union,
overload,
)
# `import X as X` is required to make these public
from . import converters as converters
from . import exceptions as exceptions
from . import filters as filters
from . import setters as setters
from . import validators as validators
from ._cmp import cmp_using as cmp_using
from ._version_info import VersionInfo
__version__: str
__version_info__: VersionInfo
__title__: str
__description__: str
__url__: str
__uri__: str
__author__: str
__email__: str
__license__: str
__copyright__: str
_T = TypeVar("_T")
_C = TypeVar("_C", bound=type)
_EqOrderType = Union[bool, Callable[[Any], Any]]
_ValidatorType = Callable[[Any, Attribute[_T], _T], Any]
_ConverterType = Callable[[Any], Any]
_FilterType = Callable[[Attribute[_T], _T], bool]
_ReprType = Callable[[Any], str]
_ReprArgType = Union[bool, _ReprType]
_OnSetAttrType = Callable[[Any, Attribute[Any], Any], Any]
_OnSetAttrArgType = Union[
_OnSetAttrType, List[_OnSetAttrType], setters._NoOpType
]
_FieldTransformer = Callable[
[type, List[Attribute[Any]]], List[Attribute[Any]]
]
# FIXME: in reality, if multiple validators are passed they must be in a list
# or tuple, but those are invariant and so would prevent subtypes of
# _ValidatorType from working when passed in a list or tuple.
_ValidatorArgType = Union[_ValidatorType[_T], Sequence[_ValidatorType[_T]]]
# A protocol to be able to statically accept an attrs class.
class AttrsInstance(Protocol):
__attrs_attrs__: ClassVar[Any]
# _make --
NOTHING: object
# NOTE: Factory lies about its return type to make this possible:
# `x: List[int] # = Factory(list)`
# Work around mypy issue #4554 in the common case by using an overload.
if sys.version_info >= (3, 8):
from typing import Literal
@overload
def Factory(factory: Callable[[], _T]) -> _T: ...
@overload
def Factory(
factory: Callable[[Any], _T],
takes_self: Literal[True],
) -> _T: ...
@overload
def Factory(
factory: Callable[[], _T],
takes_self: Literal[False],
) -> _T: ...
else:
@overload
def Factory(factory: Callable[[], _T]) -> _T: ...
@overload
def Factory(
factory: Union[Callable[[Any], _T], Callable[[], _T]],
takes_self: bool = ...,
) -> _T: ...
# Static type inference support via __dataclass_transform__ implemented as per:
# https://github.com/microsoft/pyright/blob/1.1.135/specs/dataclass_transforms.md
# This annotation must be applied to all overloads of "define" and "attrs"
#
# NOTE: This is a typing construct and does not exist at runtime. Extensions
# wrapping attrs decorators should declare a separate __dataclass_transform__
# signature in the extension module using the specification linked above to
# provide pyright support.
def __dataclass_transform__(
*,
eq_default: bool = True,
order_default: bool = False,
kw_only_default: bool = False,
field_descriptors: Tuple[Union[type, Callable[..., Any]], ...] = (()),
) -> Callable[[_T], _T]: ...
class Attribute(Generic[_T]):
name: str
default: Optional[_T]
validator: Optional[_ValidatorType[_T]]
repr: _ReprArgType
cmp: _EqOrderType
eq: _EqOrderType
order: _EqOrderType
hash: Optional[bool]
init: bool
converter: Optional[_ConverterType]
metadata: Dict[Any, Any]
type: Optional[Type[_T]]
kw_only: bool
on_setattr: _OnSetAttrType
def evolve(self, **changes: Any) -> "Attribute[Any]": ...
# NOTE: We had several choices for the annotation to use for type arg:
# 1) Type[_T]
# - Pros: Handles simple cases correctly
# - Cons: Might produce less informative errors in the case of conflicting
# TypeVars e.g. `attr.ib(default='bad', type=int)`
# 2) Callable[..., _T]
# - Pros: Better error messages than #1 for conflicting TypeVars
# - Cons: Terrible error messages for validator checks.
# e.g. attr.ib(type=int, validator=validate_str)
# -> error: Cannot infer function type argument
# 3) type (and do all of the work in the mypy plugin)
# - Pros: Simple here, and we could customize the plugin with our own errors.
# - Cons: Would need to write mypy plugin code to handle all the cases.
# We chose option #1.
# `attr` lies about its return type to make the following possible:
# attr() -> Any
# attr(8) -> int
# attr(validator=<some callable>) -> Whatever the callable expects.
# This makes this type of assignments possible:
# x: int = attr(8)
#
# This form catches explicit None or no default but with no other arguments
# returns Any.
@overload
def attrib(
default: None = ...,
validator: None = ...,
repr: _ReprArgType = ...,
cmp: Optional[_EqOrderType] = ...,
hash: Optional[bool] = ...,
init: bool = ...,
metadata: Optional[Mapping[Any, Any]] = ...,
type: None = ...,
converter: None = ...,
factory: None = ...,
kw_only: bool = ...,
eq: Optional[_EqOrderType] = ...,
order: Optional[_EqOrderType] = ...,
on_setattr: Optional[_OnSetAttrArgType] = ...,
) -> Any: ...
# This form catches an explicit None or no default and infers the type from the
# other arguments.
@overload
def attrib(
default: None = ...,
validator: Optional[_ValidatorArgType[_T]] = ...,
repr: _ReprArgType = ...,
cmp: Optional[_EqOrderType] = ...,
hash: Optional[bool] = ...,
init: bool = ...,
metadata: Optional[Mapping[Any, Any]] = ...,
type: Optional[Type[_T]] = ...,
converter: Optional[_ConverterType] = ...,
factory: Optional[Callable[[], _T]] = ...,
kw_only: bool = ...,
eq: Optional[_EqOrderType] = ...,
order: Optional[_EqOrderType] = ...,
on_setattr: Optional[_OnSetAttrArgType] = ...,
) -> _T: ...
# This form catches an explicit default argument.
@overload
def attrib(
default: _T,
validator: Optional[_ValidatorArgType[_T]] = ...,
repr: _ReprArgType = ...,
cmp: Optional[_EqOrderType] = ...,
hash: Optional[bool] = ...,
init: bool = ...,
metadata: Optional[Mapping[Any, Any]] = ...,
type: Optional[Type[_T]] = ...,
converter: Optional[_ConverterType] = ...,
factory: Optional[Callable[[], _T]] = ...,
kw_only: bool = ...,
eq: Optional[_EqOrderType] = ...,
order: Optional[_EqOrderType] = ...,
on_setattr: Optional[_OnSetAttrArgType] = ...,
) -> _T: ...
# This form covers type=non-Type: e.g. forward references (str), Any
@overload
def attrib(
default: Optional[_T] = ...,
validator: Optional[_ValidatorArgType[_T]] = ...,
repr: _ReprArgType = ...,
cmp: Optional[_EqOrderType] = ...,
hash: Optional[bool] = ...,
init: bool = ...,
metadata: Optional[Mapping[Any, Any]] = ...,
type: object = ...,
converter: Optional[_ConverterType] = ...,
factory: Optional[Callable[[], _T]] = ...,
kw_only: bool = ...,
eq: Optional[_EqOrderType] = ...,
order: Optional[_EqOrderType] = ...,
on_setattr: Optional[_OnSetAttrArgType] = ...,
) -> Any: ...
@overload
def field(
*,
default: None = ...,
validator: None = ...,
repr: _ReprArgType = ...,
hash: Optional[bool] = ...,
init: bool = ...,
metadata: Optional[Mapping[Any, Any]] = ...,
converter: None = ...,
factory: None = ...,
kw_only: bool = ...,
eq: Optional[bool] = ...,
order: Optional[bool] = ...,
on_setattr: Optional[_OnSetAttrArgType] = ...,
) -> Any: ...
# This form catches an explicit None or no default and infers the type from the
# other arguments.
@overload
def field(
*,
default: None = ...,
validator: Optional[_ValidatorArgType[_T]] = ...,
repr: _ReprArgType = ...,
hash: Optional[bool] = ...,
init: bool = ...,
metadata: Optional[Mapping[Any, Any]] = ...,
converter: Optional[_ConverterType] = ...,
factory: Optional[Callable[[], _T]] = ...,
kw_only: bool = ...,
eq: Optional[_EqOrderType] = ...,
order: Optional[_EqOrderType] = ...,
on_setattr: Optional[_OnSetAttrArgType] = ...,
) -> _T: ...
# This form catches an explicit default argument.
@overload
def field(
*,
default: _T,
validator: Optional[_ValidatorArgType[_T]] = ...,
repr: _ReprArgType = ...,
hash: Optional[bool] = ...,
init: bool = ...,
metadata: Optional[Mapping[Any, Any]] = ...,
converter: Optional[_ConverterType] = ...,
factory: Optional[Callable[[], _T]] = ...,
kw_only: bool = ...,
eq: Optional[_EqOrderType] = ...,
order: Optional[_EqOrderType] = ...,
on_setattr: Optional[_OnSetAttrArgType] = ...,
) -> _T: ...
# This form covers type=non-Type: e.g. forward references (str), Any
@overload
def field(
*,
default: Optional[_T] = ...,
validator: Optional[_ValidatorArgType[_T]] = ...,
repr: _ReprArgType = ...,
hash: Optional[bool] = ...,
init: bool = ...,
metadata: Optional[Mapping[Any, Any]] = ...,
converter: Optional[_ConverterType] = ...,
factory: Optional[Callable[[], _T]] = ...,
kw_only: bool = ...,
eq: Optional[_EqOrderType] = ...,
order: Optional[_EqOrderType] = ...,
on_setattr: Optional[_OnSetAttrArgType] = ...,
) -> Any: ...
@overload
@__dataclass_transform__(order_default=True, field_descriptors=(attrib, field))
def attrs(
maybe_cls: _C,
these: Optional[Dict[str, Any]] = ...,
repr_ns: Optional[str] = ...,
repr: bool = ...,
cmp: Optional[_EqOrderType] = ...,
hash: Optional[bool] = ...,
init: bool = ...,
slots: bool = ...,
frozen: bool = ...,
weakref_slot: bool = ...,
str: bool = ...,
auto_attribs: bool = ...,
kw_only: bool = ...,
cache_hash: bool = ...,
auto_exc: bool = ...,
eq: Optional[_EqOrderType] = ...,
order: Optional[_EqOrderType] = ...,
auto_detect: bool = ...,
collect_by_mro: bool = ...,
getstate_setstate: Optional[bool] = ...,
on_setattr: Optional[_OnSetAttrArgType] = ...,
field_transformer: Optional[_FieldTransformer] = ...,
match_args: bool = ...,
) -> _C: ...
@overload
@__dataclass_transform__(order_default=True, field_descriptors=(attrib, field))
def attrs(
maybe_cls: None = ...,
these: Optional[Dict[str, Any]] = ...,
repr_ns: Optional[str] = ...,
repr: bool = ...,
cmp: Optional[_EqOrderType] = ...,
hash: Optional[bool] = ...,
init: bool = ...,
slots: bool = ...,
frozen: bool = ...,
weakref_slot: bool = ...,
str: bool = ...,
auto_attribs: bool = ...,
kw_only: bool = ...,
cache_hash: bool = ...,
auto_exc: bool = ...,
eq: Optional[_EqOrderType] = ...,
order: Optional[_EqOrderType] = ...,
auto_detect: bool = ...,
collect_by_mro: bool = ...,
getstate_setstate: Optional[bool] = ...,
on_setattr: Optional[_OnSetAttrArgType] = ...,
field_transformer: Optional[_FieldTransformer] = ...,
match_args: bool = ...,
) -> Callable[[_C], _C]: ...
@overload
@__dataclass_transform__(field_descriptors=(attrib, field))
def define(
maybe_cls: _C,
*,
these: Optional[Dict[str, Any]] = ...,
repr: bool = ...,
hash: Optional[bool] = ...,
init: bool = ...,
slots: bool = ...,
frozen: bool = ...,
weakref_slot: bool = ...,
str: bool = ...,
auto_attribs: bool = ...,
kw_only: bool = ...,
cache_hash: bool = ...,
auto_exc: bool = ...,
eq: Optional[bool] = ...,
order: Optional[bool] = ...,
auto_detect: bool = ...,
getstate_setstate: Optional[bool] = ...,
on_setattr: Optional[_OnSetAttrArgType] = ...,
field_transformer: Optional[_FieldTransformer] = ...,
match_args: bool = ...,
) -> _C: ...
@overload
@__dataclass_transform__(field_descriptors=(attrib, field))
def define(
maybe_cls: None = ...,
*,
these: Optional[Dict[str, Any]] = ...,
repr: bool = ...,
hash: Optional[bool] = ...,
init: bool = ...,
slots: bool = ...,
frozen: bool = ...,
weakref_slot: bool = ...,
str: bool = ...,
auto_attribs: bool = ...,
kw_only: bool = ...,
cache_hash: bool = ...,
auto_exc: bool = ...,
eq: Optional[bool] = ...,
order: Optional[bool] = ...,
auto_detect: bool = ...,
getstate_setstate: Optional[bool] = ...,
on_setattr: Optional[_OnSetAttrArgType] = ...,
field_transformer: Optional[_FieldTransformer] = ...,
match_args: bool = ...,
) -> Callable[[_C], _C]: ...
mutable = define
frozen = define # they differ only in their defaults
def fields(cls: Type[AttrsInstance]) -> Any: ...
def fields_dict(cls: Type[AttrsInstance]) -> Dict[str, Attribute[Any]]: ...
def validate(inst: AttrsInstance) -> None: ...
def resolve_types(
cls: _C,
globalns: Optional[Dict[str, Any]] = ...,
localns: Optional[Dict[str, Any]] = ...,
attribs: Optional[List[Attribute[Any]]] = ...,
) -> _C: ...
# TODO: add support for returning a proper attrs class from the mypy plugin
# we use Any instead of _CountingAttr so that e.g. `make_class('Foo',
# [attr.ib()])` is valid
def make_class(
name: str,
attrs: Union[List[str], Tuple[str, ...], Dict[str, Any]],
bases: Tuple[type, ...] = ...,
repr_ns: Optional[str] = ...,
repr: bool = ...,
cmp: Optional[_EqOrderType] = ...,
hash: Optional[bool] = ...,
init: bool = ...,
slots: bool = ...,
frozen: bool = ...,
weakref_slot: bool = ...,
str: bool = ...,
auto_attribs: bool = ...,
kw_only: bool = ...,
cache_hash: bool = ...,
auto_exc: bool = ...,
eq: Optional[_EqOrderType] = ...,
order: Optional[_EqOrderType] = ...,
collect_by_mro: bool = ...,
on_setattr: Optional[_OnSetAttrArgType] = ...,
field_transformer: Optional[_FieldTransformer] = ...,
) -> type: ...
# _funcs --
# TODO: add support for returning TypedDict from the mypy plugin
# FIXME: asdict/astuple do not honor their factory args. Waiting on one of
# these:
# https://github.com/python/mypy/issues/4236
# https://github.com/python/typing/issues/253
# XXX: remember to fix attrs.asdict/astuple too!
def asdict(
inst: AttrsInstance,
recurse: bool = ...,
filter: Optional[_FilterType[Any]] = ...,
dict_factory: Type[Mapping[Any, Any]] = ...,
retain_collection_types: bool = ...,
value_serializer: Optional[
Callable[[type, Attribute[Any], Any], Any]
] = ...,
tuple_keys: Optional[bool] = ...,
) -> Dict[str, Any]: ...
# TODO: add support for returning NamedTuple from the mypy plugin
def astuple(
inst: AttrsInstance,
recurse: bool = ...,
filter: Optional[_FilterType[Any]] = ...,
tuple_factory: Type[Sequence[Any]] = ...,
retain_collection_types: bool = ...,
) -> Tuple[Any, ...]: ...
def has(cls: type) -> bool: ...
def assoc(inst: _T, **changes: Any) -> _T: ...
def evolve(inst: _T, **changes: Any) -> _T: ...
# _config --
def set_run_validators(run: bool) -> None: ...
def get_run_validators() -> bool: ...
# aliases --
s = attributes = attrs
ib = attr = attrib
dataclass = attrs # Technically, partial(attrs, auto_attribs=True) ;)

View File

@@ -1,8 +1,9 @@
from __future__ import absolute_import, division, print_function
# SPDX-License-Identifier: MIT
import functools
import types
from ._compat import new_class
from ._make import _make_ne
@@ -78,7 +79,9 @@ def cmp_using(
num_order_functions += 1
body["__ge__"] = _make_operator("ge", ge)
type_ = new_class(class_name, (object,), {}, lambda ns: ns.update(body))
type_ = types.new_class(
class_name, (object,), {}, lambda ns: ns.update(body)
)
# Add same type requirement.
if require_same_type:

View File

@@ -0,0 +1,13 @@
from typing import Any, Callable, Optional, Type
_CompareWithType = Callable[[Any, Any], bool]
def cmp_using(
eq: Optional[_CompareWithType],
lt: Optional[_CompareWithType],
le: Optional[_CompareWithType],
gt: Optional[_CompareWithType],
ge: Optional[_CompareWithType],
require_same_type: bool,
class_name: str,
) -> Type: ...

View File

@@ -0,0 +1,185 @@
# SPDX-License-Identifier: MIT
import inspect
import platform
import sys
import threading
import types
import warnings
from collections.abc import Mapping, Sequence # noqa
PYPY = platform.python_implementation() == "PyPy"
PY36 = sys.version_info[:2] >= (3, 6)
HAS_F_STRINGS = PY36
PY310 = sys.version_info[:2] >= (3, 10)
if PYPY or PY36:
ordered_dict = dict
else:
from collections import OrderedDict
ordered_dict = OrderedDict
def just_warn(*args, **kw):
warnings.warn(
"Running interpreter doesn't sufficiently support code object "
"introspection. Some features like bare super() or accessing "
"__class__ will not work with slotted classes.",
RuntimeWarning,
stacklevel=2,
)
class _AnnotationExtractor:
"""
Extract type annotations from a callable, returning None whenever there
is none.
"""
__slots__ = ["sig"]
def __init__(self, callable):
try:
self.sig = inspect.signature(callable)
except (ValueError, TypeError): # inspect failed
self.sig = None
def get_first_param_type(self):
"""
Return the type annotation of the first argument if it's not empty.
"""
if not self.sig:
return None
params = list(self.sig.parameters.values())
if params and params[0].annotation is not inspect.Parameter.empty:
return params[0].annotation
return None
def get_return_type(self):
"""
Return the return type if it's not empty.
"""
if (
self.sig
and self.sig.return_annotation is not inspect.Signature.empty
):
return self.sig.return_annotation
return None
def make_set_closure_cell():
"""Return a function of two arguments (cell, value) which sets
the value stored in the closure cell `cell` to `value`.
"""
# pypy makes this easy. (It also supports the logic below, but
# why not do the easy/fast thing?)
if PYPY:
def set_closure_cell(cell, value):
cell.__setstate__((value,))
return set_closure_cell
# Otherwise gotta do it the hard way.
# Create a function that will set its first cellvar to `value`.
def set_first_cellvar_to(value):
x = value
return
# This function will be eliminated as dead code, but
# not before its reference to `x` forces `x` to be
# represented as a closure cell rather than a local.
def force_x_to_be_a_cell(): # pragma: no cover
return x
try:
# Extract the code object and make sure our assumptions about
# the closure behavior are correct.
co = set_first_cellvar_to.__code__
if co.co_cellvars != ("x",) or co.co_freevars != ():
raise AssertionError # pragma: no cover
# Convert this code object to a code object that sets the
# function's first _freevar_ (not cellvar) to the argument.
if sys.version_info >= (3, 8):
def set_closure_cell(cell, value):
cell.cell_contents = value
else:
args = [co.co_argcount]
args.append(co.co_kwonlyargcount)
args.extend(
[
co.co_nlocals,
co.co_stacksize,
co.co_flags,
co.co_code,
co.co_consts,
co.co_names,
co.co_varnames,
co.co_filename,
co.co_name,
co.co_firstlineno,
co.co_lnotab,
# These two arguments are reversed:
co.co_cellvars,
co.co_freevars,
]
)
set_first_freevar_code = types.CodeType(*args)
def set_closure_cell(cell, value):
# Create a function using the set_first_freevar_code,
# whose first closure cell is `cell`. Calling it will
# change the value of that cell.
setter = types.FunctionType(
set_first_freevar_code, {}, "setter", (), (cell,)
)
# And call it to set the cell.
setter(value)
# Make sure it works on this interpreter:
def make_func_with_cell():
x = None
def func():
return x # pragma: no cover
return func
cell = make_func_with_cell().__closure__[0]
set_closure_cell(cell, 100)
if cell.cell_contents != 100:
raise AssertionError # pragma: no cover
except Exception:
return just_warn
else:
return set_closure_cell
set_closure_cell = make_set_closure_cell()
# Thread-local global to track attrs instances which are already being repr'd.
# This is needed because there is no other (thread-safe) way to pass info
# about the instances that are already being repr'd through the call stack
# in order to ensure we don't perform infinite recursion.
#
# For instance, if an instance contains a dict which contains that instance,
# we need to know that we're already repr'ing the outside instance from within
# the dict's repr() call.
#
# This lives here rather than in _make.py so that the functions in _make.py
# don't have a direct reference to the thread-local in their globals dict.
# If they have such a reference, it breaks cloudpickle.
repr_context = threading.local()

View File

@@ -1,4 +1,4 @@
from __future__ import absolute_import, division, print_function
# SPDX-License-Identifier: MIT
__all__ = ["set_run_validators", "get_run_validators"]
@@ -9,6 +9,10 @@
def set_run_validators(run):
"""
Set whether or not validators are run. By default, they are run.
.. deprecated:: 21.3.0 It will not be removed, but it also will not be
moved to new ``attrs`` namespace. Use `attrs.validators.set_disabled()`
instead.
"""
if not isinstance(run, bool):
raise TypeError("'run' must be bool.")
@@ -19,5 +23,9 @@ def set_run_validators(run):
def get_run_validators():
"""
Return whether or not validators are run.
.. deprecated:: 21.3.0 It will not be removed, but it also will not be
moved to new ``attrs`` namespace. Use `attrs.validators.get_disabled()`
instead.
"""
return _run_validators

View File

@@ -1,8 +1,8 @@
from __future__ import absolute_import, division, print_function
# SPDX-License-Identifier: MIT
import copy
from ._compat import iteritems
from ._make import NOTHING, _obj_setattr, fields
from .exceptions import AttrsAttributeNotFoundError
@@ -25,7 +25,7 @@ def asdict(
``attrs``-decorated.
:param callable filter: A callable whose return code determines whether an
attribute or element is included (``True``) or dropped (``False``). Is
called with the `attr.Attribute` as the first argument and the
called with the `attrs.Attribute` as the first argument and the
value as the second argument.
:param callable dict_factory: A callable to produce dictionaries from. For
example, to produce ordered dictionaries instead of normal Python
@@ -46,6 +46,8 @@ def asdict(
.. versionadded:: 16.0.0 *dict_factory*
.. versionadded:: 16.1.0 *retain_collection_types*
.. versionadded:: 20.3.0 *value_serializer*
.. versionadded:: 21.3.0 If a dict has a collection for a key, it is
serialized as a tuple.
"""
attrs = fields(inst.__class__)
rv = dict_factory()
@@ -61,11 +63,11 @@ def asdict(
if has(v.__class__):
rv[a.name] = asdict(
v,
True,
filter,
dict_factory,
retain_collection_types,
value_serializer,
recurse=True,
filter=filter,
dict_factory=dict_factory,
retain_collection_types=retain_collection_types,
value_serializer=value_serializer,
)
elif isinstance(v, (tuple, list, set, frozenset)):
cf = v.__class__ if retain_collection_types is True else list
@@ -73,10 +75,11 @@ def asdict(
[
_asdict_anything(
i,
filter,
dict_factory,
retain_collection_types,
value_serializer,
is_key=False,
filter=filter,
dict_factory=dict_factory,
retain_collection_types=retain_collection_types,
value_serializer=value_serializer,
)
for i in v
]
@@ -87,20 +90,22 @@ def asdict(
(
_asdict_anything(
kk,
filter,
df,
retain_collection_types,
value_serializer,
is_key=True,
filter=filter,
dict_factory=df,
retain_collection_types=retain_collection_types,
value_serializer=value_serializer,
),
_asdict_anything(
vv,
filter,
df,
retain_collection_types,
value_serializer,
is_key=False,
filter=filter,
dict_factory=df,
retain_collection_types=retain_collection_types,
value_serializer=value_serializer,
),
)
for kk, vv in iteritems(v)
for kk, vv in v.items()
)
else:
rv[a.name] = v
@@ -111,6 +116,7 @@ def asdict(
def _asdict_anything(
val,
is_key,
filter,
dict_factory,
retain_collection_types,
@@ -123,22 +129,29 @@ def _asdict_anything(
# Attrs class.
rv = asdict(
val,
True,
filter,
dict_factory,
retain_collection_types,
value_serializer,
recurse=True,
filter=filter,
dict_factory=dict_factory,
retain_collection_types=retain_collection_types,
value_serializer=value_serializer,
)
elif isinstance(val, (tuple, list, set, frozenset)):
cf = val.__class__ if retain_collection_types is True else list
if retain_collection_types is True:
cf = val.__class__
elif is_key:
cf = tuple
else:
cf = list
rv = cf(
[
_asdict_anything(
i,
filter,
dict_factory,
retain_collection_types,
value_serializer,
is_key=False,
filter=filter,
dict_factory=dict_factory,
retain_collection_types=retain_collection_types,
value_serializer=value_serializer,
)
for i in val
]
@@ -148,13 +161,23 @@ def _asdict_anything(
rv = df(
(
_asdict_anything(
kk, filter, df, retain_collection_types, value_serializer
kk,
is_key=True,
filter=filter,
dict_factory=df,
retain_collection_types=retain_collection_types,
value_serializer=value_serializer,
),
_asdict_anything(
vv, filter, df, retain_collection_types, value_serializer
vv,
is_key=False,
filter=filter,
dict_factory=df,
retain_collection_types=retain_collection_types,
value_serializer=value_serializer,
),
)
for kk, vv in iteritems(val)
for kk, vv in val.items()
)
else:
rv = val
@@ -181,7 +204,7 @@ def astuple(
``attrs``-decorated.
:param callable filter: A callable whose return code determines whether an
attribute or element is included (``True``) or dropped (``False``). Is
called with the `attr.Attribute` as the first argument and the
called with the `attrs.Attribute` as the first argument and the
value as the second argument.
:param callable tuple_factory: A callable to produce tuples from. For
example, to produce lists instead of tuples.
@@ -253,7 +276,7 @@ def astuple(
if has(vv.__class__)
else vv,
)
for kk, vv in iteritems(v)
for kk, vv in v.items()
)
)
else:
@@ -291,7 +314,9 @@ def assoc(inst, **changes):
class.
.. deprecated:: 17.1.0
Use `evolve` instead.
Use `attrs.evolve` instead if you can.
This function will not be removed du to the slightly different approach
compared to `attrs.evolve`.
"""
import warnings
@@ -302,7 +327,7 @@ def assoc(inst, **changes):
)
new = copy.copy(inst)
attrs = fields(inst.__class__)
for k, v in iteritems(changes):
for k, v in changes.items():
a = getattr(attrs, k, NOTHING)
if a is NOTHING:
raise AttrsAttributeNotFoundError(
@@ -370,18 +395,16 @@ class and you didn't pass any attribs.
:raise NameError: If types cannot be resolved because of missing variables.
:returns: *cls* so you can use this function also as a class decorator.
Please note that you have to apply it **after** `attr.s`. That means
the decorator has to come in the line **before** `attr.s`.
Please note that you have to apply it **after** `attrs.define`. That
means the decorator has to come in the line **before** `attrs.define`.
.. versionadded:: 20.1.0
.. versionadded:: 21.1.0 *attribs*
"""
try:
# Since calling get_type_hints is expensive we cache whether we've
# done it already.
cls.__attrs_types_resolved__
except AttributeError:
# Since calling get_type_hints is expensive we cache whether we've
# done it already.
if getattr(cls, "__attrs_types_resolved__", None) != cls:
import typing
hints = typing.get_type_hints(cls, globalns=globalns, localns=localns)
@@ -389,7 +412,9 @@ class and you didn't pass any attribs.
if field.name in hints:
# Since fields have been frozen we must work around it.
_obj_setattr(field, "type", hints[field.name])
cls.__attrs_types_resolved__ = True
# We store the class we resolved so that subclasses know they haven't
# been resolved.
cls.__attrs_types_resolved__ = cls
# Return the class so you can use it as a decorator too.
return cls

View File

@@ -1,14 +1,24 @@
# SPDX-License-Identifier: MIT
"""
These are Python 3.6+-only and keyword-only APIs that call `attr.s` and
`attr.ib` with different default values.
"""
from functools import partial
from attr.exceptions import UnannotatedAttributeError
from . import setters
from ._make import NOTHING, _frozen_setattrs, attrib, attrs
from ._funcs import asdict as _asdict
from ._funcs import astuple as _astuple
from ._make import (
NOTHING,
_frozen_setattrs,
_ng_default_on_setattr,
attrib,
attrs,
)
from .exceptions import UnannotatedAttributeError
def define(
@@ -32,22 +42,45 @@ def define(
getstate_setstate=None,
on_setattr=None,
field_transformer=None,
match_args=True,
):
r"""
The only behavioral differences are the handling of the *auto_attribs*
option:
Define an ``attrs`` class.
Differences to the classic `attr.s` that it uses underneath:
- Automatically detect whether or not *auto_attribs* should be `True` (c.f.
*auto_attribs* parameter).
- If *frozen* is `False`, run converters and validators when setting an
attribute by default.
- *slots=True*
.. caution::
Usually this has only upsides and few visible effects in everyday
programming. But it *can* lead to some suprising behaviors, so please
make sure to read :term:`slotted classes`.
- *auto_exc=True*
- *auto_detect=True*
- *order=False*
- Some options that were only relevant on Python 2 or were kept around for
backwards-compatibility have been removed.
Please note that these are all defaults and you can change them as you
wish.
:param Optional[bool] auto_attribs: If set to `True` or `False`, it behaves
exactly like `attr.s`. If left `None`, `attr.s` will try to guess:
1. If any attributes are annotated and no unannotated `attr.ib`\ s
1. If any attributes are annotated and no unannotated `attrs.fields`\ s
are found, it assumes *auto_attribs=True*.
2. Otherwise it assumes *auto_attribs=False* and tries to collect
`attr.ib`\ s.
`attrs.fields`\ s.
and that mutable classes (``frozen=False``) validate on ``__setattr__``.
For now, please refer to `attr.s` for the rest of the parameters.
.. versionadded:: 20.1.0
.. versionchanged:: 21.3.0 Converters are also run ``on_setattr``.
"""
def do_it(cls, auto_attribs):
@@ -72,6 +105,7 @@ def do_it(cls, auto_attribs):
getstate_setstate=getstate_setstate,
on_setattr=on_setattr,
field_transformer=field_transformer,
match_args=match_args,
)
def wrap(cls):
@@ -84,9 +118,9 @@ def wrap(cls):
had_on_setattr = on_setattr not in (None, setters.NO_OP)
# By default, mutable classes validate on setattr.
# By default, mutable classes convert & validate on setattr.
if frozen is False and on_setattr is None:
on_setattr = setters.validate
on_setattr = _ng_default_on_setattr
# However, if we subclass a frozen class, we inherit the immutability
# and disable on_setattr.
@@ -156,3 +190,31 @@ def field(
order=order,
on_setattr=on_setattr,
)
def asdict(inst, *, recurse=True, filter=None, value_serializer=None):
"""
Same as `attr.asdict`, except that collections types are always retained
and dict is always used as *dict_factory*.
.. versionadded:: 21.3.0
"""
return _asdict(
inst=inst,
recurse=recurse,
filter=filter,
value_serializer=value_serializer,
retain_collection_types=True,
)
def astuple(inst, *, recurse=True, filter=None):
"""
Same as `attr.astuple`, except that collections types are always retained
and `tuple` is always used as the *tuple_factory*.
.. versionadded:: 21.3.0
"""
return _astuple(
inst=inst, recurse=recurse, filter=filter, retain_collection_types=True
)

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