Commit graph

35482 commits

Author SHA1 Message Date
Adam J. Stewart
f3305862f3
py-pyvista: fix import tests (#41868)
* py-pyvista: fix import tests
* Skip additional modules
2024-01-09 16:07:49 -08:00
Henri Menke
ed4cdb9ceb
libpspio: move to correct location (#42014) 2024-01-09 16:43:42 -07:00
Jim Galarowicz
5048cd3200
Update mpi dependency so we do not load the build mpi version at module load time. Add 1.0.8.1 update branch. (#42010) 2024-01-09 16:43:17 -07:00
Harry Sharma
c5309b01a3
dorado: add new package (#41988) 2024-01-09 15:51:35 -07:00
Harry Sharma
9ed3f37d04
glow: add new package (#41967)
* glow: add latest version v1.5.1

* update: glow build from source
2024-01-09 15:39:42 -07:00
Adam J. Stewart
86730c7b17
py-fsspec: fix import tests (#41860) 2024-01-09 14:39:21 -08:00
Christopher Christofi
969c643d58
perl-compress-raw-zlib: add new version (#41909) 2024-01-09 13:48:32 -08:00
Christopher Christofi
b66f2ee2a7
perl-memoize: add new package with version 1.16 (#41938)
* perl-memoize: add new package with version 1.16=
* fix styling
2024-01-09 13:27:08 -08:00
Arne Becker
f63f7f4b39
perl-email-mime-contenttype: New package (#41951)
Adds Email::MIME::ContentType
2024-01-09 13:00:04 -08:00
Arne Becker
7f7fcde71e
perl-metacpan-client: New package (#41963)
Adds MetaCPAN::Client
2024-01-09 12:53:54 -08:00
Arne Becker
346e04d14f
perl-log-any-adapter-callback: New package (#41965) 2024-01-09 12:51:51 -08:00
Arne Becker
9ffbf5d056
perl-datetime-format-oracle: New package (#42003)
Adds DateTime::Format::Oracle
2024-01-09 12:40:36 -08:00
Arne Becker
74de7c84b6
perl-datetime-format-mysql: New package (#42004)
Adds DateTime::Format::MySQL
2024-01-09 12:37:10 -08:00
Greg Becker
ba547a7f51
fix gpg version parsing for macos (#41995) 2024-01-09 11:40:06 -08:00
Tamara Dahlgren
bf39900390
Move in vs. satisfies to a note and mention special cases of in (#41727)
* Move in vs. satisfies to a note and mention special cases of in
* Address feedback: oveoverlap -> intersect
* Re-word the satisfies versus in note.

---------

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2024-01-09 19:04:38 +00:00
Niclas Jansson
7583cf20d8
neko: add v0.7.0, v0.7.1, v0.7.2 and fix package (#42012) 2024-01-09 11:45:13 -07:00
Adam J. Stewart
362b54c0d7
py-kornia: add v0.7.1 (#41888) 2024-01-09 18:57:43 +01:00
afzpatel
097c04195a
hip-tensor: add new package (#40991) 2024-01-09 18:39:10 +01:00
gnikit
705e0c6958
fpm: add v0.10.0 (#42002) 2024-01-09 10:38:29 -07:00
Harmen Stoppels
87f03ddb52
git commit shasums bump (#41935) 2024-01-09 18:37:35 +01:00
Adam J. Stewart
40bda00d8f
imagemagick: add SVG support (#41956) 2024-01-09 18:27:24 +01:00
snehring
f5d672726b
paml: adding new version 4.10.7 (#41968) 2024-01-09 18:20:11 +01:00
Harmen Stoppels
d3fb298421
installer.py: don't dereference stage before installing from binaries (#41986)
This fixes an issue where pkg.stage throws because a patch cannot be found,
but the patch is redundant because the spec is reused from a build cache and
will be installed from existing binaries.
2024-01-09 17:57:41 +01:00
Adam J. Stewart
62c7dfc664
py-numpy: add v1.26.3 (#41977) 2024-01-09 16:59:12 +01:00
Loris Ercole
5919bd0799
Improve "makefile" build system documentation (#41781)
Shows how to modify environment variables using
"setup_build_environment" instead of overriding "edit"
2024-01-09 15:44:21 +00:00
Christoph Junghans
13e8029904
lfortran: add v0.30.0 (#42000) 2024-01-09 16:03:32 +01:00
kwryankrattiger
651b63d0bb
ParaView: add 5.12.0-RC2 (#41992) 2024-01-09 15:49:32 +01:00
Todd Gamblin
6753cc0b81 refactor: Index provided virtuals by when spec
Part 4 of reworking all package metadata to key by `when` conditions.

Changes conflict dictionary structure from this:

    { provided_spec: {when_spec, ...} }

to this:

    { when_spec: {provided_spec, ...} }
2024-01-09 00:26:22 -08:00
Todd Gamblin
7994caaeda refactor: make _make_when_spec() private to directives.py
`make_when_spec()` was being used in the solver, but it has semantics that are specific
to parsing when specs from `package.py`. In particular, it returns `None` when the
`when` spec is `False`, and directives are responsible for ignoring that case and not
adding requirements, deps, etc. when there's an actual `False` passed in from
`package.py`.

In `asp.py`, we know that there won't ever be a raw boolean when spec or constraint, so
we know we can parse them without any of the special boolean handling. However, we
should report where in the file the error happened on error, so this adds some parsing
logic to extract the `mark` from YAML and alert the user where the bad parse is.

- [x] refactor `config.py` so that basic `spack_yaml` mark info is in its own method
- [x] refactor `asp.py` so that it uses the smarter YAML parsing routine
- [x] refactor `asp.py` so that YAML input validation for requirements is done up front
2024-01-09 00:26:22 -08:00
Todd Gamblin
d2a9e3f871 refactor: Index requirements by when spec
Part 3 of reworking all package metadata to key by `when` conditions.

Changes conflict dictionary structure from this:

    { (requirement_spec, ...): [(when_spec, policy, msg)] }

to this:

    { when_spec: [((requirement_spec, ...), policy, msg), ...] }
2024-01-09 00:26:22 -08:00
Todd Gamblin
1bda594f70 refactor: Index conflicts by when spec
Part 2 of reworking all package metadata to key by `when` conditions.

Changes conflict dictionary structure from this:

    { conflict_spec: [(when_spec, msg), ...] }

to this:

    { when_spec: [(conflict_spec, msg), ...] }

Also attempts to consistently name the variables used to iterate over conflict
dictionaries.
2024-01-09 00:26:22 -08:00
Todd Gamblin
6542c94cc1 refactor: Index dependency metadata by when spec
Part 1 of making all package metadata indexed by `when` condition. This
will allow us to handle all the dictionaries on `PackageBase` consistently.

Convert the current dependency dictionary structure from this:

    { name: { when_spec: [Dependency ...] } }

to this:

    { when_spec: { name: [Dependency ...] } }

On an M1 mac, this actually shaves 5% off the time it takes to load all
packages, I think because we're able to trade off lookups by spec key
for more lookups by name.
2024-01-09 00:26:22 -08:00
Mikael Simberg
92e08b160e
gperftools: Add 2.15 (#41984) 2024-01-09 08:58:08 +01:00
Tim Haines
800bffabbb
boost: add v1.84.0 (#41674)
* Boost: add version 1.84.0
* Conflict with 98/03
* Set C++11 as default
   Starting with 1.84.0, the minimum required is c++11. It has been a very
   long time since 98/03 has been required. It's time to bump the minimum.
2024-01-08 17:54:48 -08:00
Ashwin Kumar Karnad
5b64c55048
[bigdft] Enable building dynamic libraries (#41562)
* bigdft: Add support for building shared libraries
* bigdft: reformat with black
* bigdft: use spec.satisfies instead of searching in spec
2024-01-08 17:51:21 -08:00
Richard Berger
adef1460b4
kokkos: add gfx940 support (#41659) 2024-01-08 14:33:03 -07:00
Massimiliano Culpo
aa768938ff
Do not add ^gcc-runtime to externals (#41994)
This commit ensures that gcc-runtime is only injected as a dependency to non-external packages
2024-01-08 22:09:53 +01:00
Howard Pritchard
cdb8fd68e2
OpenMPI: add v5.0.0/5.0.1, patches, and workarounds (#40913)
* Add OpenMPI 5.0.0/5.0.1 release

* Fix a problem with dlopen syms with 5.0.0

* Crank up lex buffer to 1MB so that Open MPI's compiler wrapper can parse the enormously long lines present in, for example, mpicc-wrapper-data.txt when the spack install is utilizing Spack's path padding feature.

* Disable romio by default for 5.0.0 and beyond owing to problems compiling the romio package when using the Intel OneAPI compiler.

* Patch for addiing cuda lib location in case of non-standard location of libcuda.so

* build accel components as DSOs. It appears from looking at some of the spack CI that it implicitly assumes that Open MPI is built with components as DSOs. The default behavior for Open MPI was changed between the 4.1.x release stream and the 5.0.x release stream changed and this premise is now incorrect.

Turns out that starting with Open MPI 5.0.0 building static
does not work when using a now very important variant, namely cuda.
In older versions of Open MPI the libcuda.so was dlopened at
run time when needed, but now libcuda is linked in to the cuda
components of openmpi directly.  This works when using Open MPI's
dynamically loadable component option, but doesn't work now for
a lot of the Spack CI pipelines because they don't include libcuda.so
in LD_LIBRARY_PATH of packages that dont think they are using
cuda themselves.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
Co-authored-by: Jack Morrison <jack.morrison@cornelisnetworks.com>
Co-authored-by: Harmen Stoppels <me@harmenstoppels.nl>
2024-01-08 13:43:05 -07:00
Alberto Sartori
0e9c88385b
justbuild: add version v1.2.4 (#41991) 2024-01-08 10:47:37 -08:00
Rémi Lacroix
ec86081dcb
fio: Add version 3.36. (#41949) 2024-01-08 10:45:55 -08:00
Arne Becker
36f2856264
perl-datetime-format-builder: New package (#41964)
Adds DateTime::Format::Builder
2024-01-08 10:44:32 -08:00
Arne Becker
0f91b13b2e
perl-email-abstract: New package (#41950)
* perl-email-abstract: New package

Adds Email::Abstract

* Added license
2024-01-08 10:43:39 -08:00
Massimiliano Culpo
b4621e524c
Minor tweak to a test docstring (#41985)
* Minor tweak to a test docstring

Shorten the description of a fixture, extend the description
of the test where it's used.

* Fix typo
2024-01-08 09:57:18 -08:00
Thomas Madlener
963e2ca828
edm4hep: add latest tag 0.10.3 (#41987) 2024-01-08 11:22:55 -06:00
downloadico
091bfb7f2c
abinit: fix missing comma separating arguments (#41973) 2024-01-08 17:09:42 +01:00
Harmen Stoppels
e53ad2e85e
Dont expect __qualname__ to exist (#41989) 2024-01-08 16:41:56 +01:00
Harmen Stoppels
88e9db7f2e
installer.py: do not tty.die when cache only fails (#41990) 2024-01-08 16:40:08 +01:00
Arne Becker
9f832e8410
Remove explicit copyright lines (#41930)
- Spack committers retain their copyright, but explicit copyright lines
  should not be included. This commit removes them.
2024-01-08 15:27:03 +01:00
Todd Gamblin
6f91514814
bugfix: original concretizer is sensitive to dependency order (#41975)
Needed for #40326, which can changes the iteration order over package dependencies during concretization.

While clingo doesn't have this problem, the original concretizer (which we still use for bootstrapping) can be sensitive to iteration order when evaluating dependency constraints in `when` conditions. This can cause it to ignore conditional dependencies unless the dependencies in the condition are listed first in the package.

The issue was in the way the original concretizer would disconnect specs *every* time `normalize()` ran. When specs were disconnected, `^dependency` constraints wouldn't see the dependency in the dependency condition loop.

We now only only disconnect *all* dependencies at the start of `concretize()` and `normalize()`, and we disconnect any leftover dependents from replaced externals at the *end* of `normalize()`.  This trims stale connections while keeping the ones that are needed to trigger dependency conditions.

- [x] refactor `flat_dependencies()` to not disconnect the spec by default.
- [x] `flat_dependencies()` is never called with `copy=True` -- remove the `copy` kwarg.
- [x] disconnect only once at the beginning of `normalize()` or `concretize()`.
- [x] add a test that perturbs dependency iteration order to ensure this doesn't regress.
- [x] disconnect unused dependents at end of `normalize()`
2024-01-08 09:47:39 +01:00
Vicente Bolea
18051dbb62
Fix fides / ascent / vtk-m / visit (#41908)
Fixes among other things the compat bounds
2024-01-07 20:30:53 +01:00