summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-08-17`zlib-api`: use `zlib-ng +compat` by default (#39358)Harmen Stoppels2-1/+4
In the HPC package manager, we want the fastest `zlib` implementation by default. `zlib-ng` is up to 4x faster than stock `zlib`, and it can do things like take advantage of AVX-512 instructions. This PR makes `zlib-ng` the default `zlib-api` provider (`zlib-api` was introduced earlier, in #37372). As far as I can see, the only issues you can encounter are: 1. Build issues with packages that heavily rely on `zlib` internals. In Gitlab CI only one out of hundreds of packages had that issue (it extended zlib with deflate stuff, and used its own copy of zlib sources). 2. Packages that like to detect `zlib-ng` separately and rely on `zlib-ng` internals. The only issue I've found with this among the hundreds of packages built in CI is `perl` trying to report more specific zlib-ng version details, and relied on some internals that got refactored. But yeah... that warrants a patch / conflict and is nothing special. At runtime, you cannot really have any issues, given that zlib and zlib-ng export the exact same symbols (and zlib-ng tests this in their CI). You can't really have issues with externals when using zlib-ng either. The only type of issue is when system zlib is rather new, and not marked as external; if another external uses new symbols, and Spack builds an older zlib/zlib-ng, then the external might not find the new symbols. But this is a configuration issue, and it's not an issue caused by zlib-ng, as the same would happen with older Spack zlib. * zlib-api: use zlib-ng +compat by default * make a trivial change to zlib-ng to trigger a rebuild * add `haampie` as maintainer
2023-08-17py-flake8: bump including deps (#39426)Harmen Stoppels3-0/+8
2023-08-17zig: add v0.11.0 (#39484)Massimiliano Culpo1-0/+2
2023-08-17ASP-based solver: optimize key to intermediate dicts (#39471)Massimiliano Culpo1-8/+15
Computing str(spec) is faster than computing hash(spec), and since all the abstract specs we deal with come from user configuration they cannot cover DAG structures that are not captured by str() but are captured by hash()
2023-08-17boost %oneapi: add cxxflags -Wno-error=enum-constexpr-conversion (#39477)eugeneswalker1-0/+6
2023-08-17Bump mypy from 1.5.0 to 1.5.1 in /lib/spack/docs (#39478)dependabot[bot]1-1/+1
Bumps [mypy](https://github.com/python/mypy) from 1.5.0 to 1.5.1. - [Commits](https://github.com/python/mypy/compare/v1.5.0...v1.5.1) --- updated-dependencies: - dependency-name: mypy dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-17gmsh %oneapi: add cflag: -Wno-error=implicit-function-declaration (#39476)eugeneswalker1-0/+6
2023-08-17py-ruamel-yaml-clib %oneapi: -Wno-error=incompatible-function-pointer-types ↵eugeneswalker1-0/+6
(#39480)
2023-08-17sz %oneapi: add cflag=-Wno-error=implicit-function-declaration (#39467)eugeneswalker1-0/+6
2023-08-17kokkos: use 'when' instead of 'conflicts' for CUDA variants (#39463)Seth R. Johnson1-19/+12
2023-08-17silo %oneapi: add cflags: -Wno-error=int, -Wno-error=int-conversion (#39475)eugeneswalker1-0/+3
2023-08-17py-matplotlib %oneapi: add cxxflags=-Wno-error=register (#39469)eugeneswalker1-0/+6
2023-08-17py-deepspeed: add new package (#39427)Adam J. Stewart1-0/+32
2023-08-17snappy: patch and conflict for %nvhpc (#39063)Sergey Kosukhin1-0/+15
2023-08-17botan: version 3 requires newer GCC (#39450)Martin Aumüller1-0/+2
e.g. 3.1.1 produces this during configuration when trying to install: ERROR: This version of Botan requires at least gcc 11.0
2023-08-17py-setuptools: document Python 3.12 support (#39449)Adam J. Stewart1-0/+5
2023-08-17Add debugging statements to file search (#39121)Peter Scheibel1-2/+7
Co-authored-by: Scheibel <scheibel1@ml-9983616.the-lab.llnl.gov>
2023-08-17py-lightning: add v2.0.7 (#39468)Adam J. Stewart1-1/+3
2023-08-17Delay abstract hashes lookup (#39251)Harmen Stoppels7-68/+92
Delay lookup for abstract hashes until concretization time, instead of until Spec comparison. This has a few advantages: 1. `satisfies` / `intersects` etc don't always know where to resolve the abstract hash (in some cases it's wrong to look in the current env, db, buildcache, ...). Better to let the call site dictate it. 2. Allows search by abstract hash without triggering a database lookup, causing quadratic complexity issues (accidental nested loop during search) 3. Simplifies queries against the buildcache, they can now use Spec instances instead of strings. The rules are straightforward: 1. a satisfies b when b's hash is prefix of a's hash 2. a intersects b when either a's or b's hash is a prefix of b's or a's hash respectively
2023-08-16py-numcodecs %oneapi: add cflags -Wno-error=implicit-function-declaration ↵eugeneswalker1-0/+6
(#39454)
2023-08-16pruners-ninja cflags: -Wno-error=implicit-function-declaration (#39452)eugeneswalker1-0/+6
2023-08-16amrex+sycl: restructure constraint on %oneapi (#39451)eugeneswalker2-2/+3
2023-08-16hdf5-vol-cache %oneapi: cflags: add ↵eugeneswalker1-0/+6
-Wno-error=incompatible-function-pointer-types (#39453)
2023-08-16faodel: update github URL organization to sandialabs (#39446)Todd Kordenbrock1-3/+3
2023-08-16Extract Package from PackageNode for error messagesMassimiliano Culpo1-72/+72
2023-08-16Avoid sort on singleton list during edge insertion (#39458)Harmen Stoppels1-9/+7
The median length of this list of 1. For reasons I don't know, `.sort()` still like to call the key function. This saves ~9% of total database read time, and the number of calls goes from 5305 -> 1715.
2023-08-16Do not impose provider conditions, if the node is not a provider (#39456)Massimiliano Culpo2-8/+30
* Do not impose provider conditions, if the node is not a provider fixes #39455 When a node can be a provider of a spec, but is not selected as a provider, we should not be imposing provider conditions on the virtual. * Adjust the integrity constraint, by using the correct atom
2023-08-16json: minify by default (#39457)Harmen Stoppels1-1/+1
2023-08-16Add new custom markers to unit tests (#33862)Massimiliano Culpo83-500/+214
* Add "only_clingo", "only_original" and "not_on_windows" markers * Modify tests to use the "not_on_windows" marker * Mark tests that run only with clingo * Mark tests that run only with the original concretizer
2023-08-15Fixed HeFFTe package spec to not do the smoke test prior to 2.2.0 (#39435)Patrick Bridges1-0/+6
* Fixed HeFFTe package spec to not do the smoke test prior to 2.2.0, where it breaks * Convert test return to 'raise SkipTest' --------- Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2023-08-15Change semantic for providersMassimiliano Culpo3-12/+58
If a possible provider is not used to satisfy a vdep, then it's not a provider of that vdep.
2023-08-15Change "effect_rules" for symmetry with trigger rulesMassimiliano Culpo1-13/+16
This even though right now we don't have cases where the effect is on another package.
2023-08-15Rework conflicts so that "vendors" is not needed anymoreMassimiliano Culpo9-88/+39
2023-08-15Add a description at the top of lp filesMassimiliano Culpo4-2/+22
2023-08-15Remove commented out code in lp filesMassimiliano Culpo2-13/+0
2023-08-15Reduce line length in lp fileMassimiliano Culpo1-3/+11
2023-08-15Demote warning to debug messageMassimiliano Culpo1-1/+1
2023-08-15Rename "main_node" -> "make_node"Massimiliano Culpo2-8/+8
2023-08-15Rename ""*_node" -> "*_dupe"Massimiliano Culpo2-28/+28
2023-08-15Rename "stringify", improve docsMassimiliano Culpo1-10/+15
2023-08-15Add vendors directiveMassimiliano Culpo9-9/+109
For the time being this directive prevents the vendored package to be in the same DAG as the one vendoring it.
2023-08-15Add "^" automatically for named conflicts that don't refer to 'this' packageMassimiliano Culpo1-1/+14
See https://github.com/spack/spack/pull/38447#discussion_r1285291520
2023-08-15Inline a few functions that are not needed anymoreMassimiliano Culpo1-20/+8
2023-08-15Remove the need for "node_regex"Massimiliano Culpo2-12/+21
2023-08-15Rename method: "root_node" -> "main_node"Massimiliano Culpo2-7/+7
2023-08-15Rename const: "root_node_id" -> "main_node_id"Massimiliano Culpo1-13/+14
2023-08-15Rename atom: "special_case" -> "multiple_nodes_attribute"Massimiliano Culpo1-5/+6
2023-08-15Rename atom: "facts" -> "pkg_fact"Massimiliano Culpo3-87/+87
2023-08-15Simplify "node_has_variant" internal atom.Massimiliano Culpo1-13/+13
2023-08-15Removed leftover TODOsMassimiliano Culpo2-14/+5