summaryrefslogtreecommitdiff
path: root/.mailmap
diff options
context:
space:
mode:
authorRicharda Butler <39577672+RikkiButler20@users.noreply.github.com>2024-11-06 00:53:52 -0800
committerGitHub <noreply@github.com>2024-11-06 00:53:52 -0800
commit0c164d274067f0500c0edd37a4e9bec18374d2bf (patch)
tree2695ecc809ebdae1b3a318c17218ecf47c9d8ea2 /.mailmap
parent801390f6becf1a0411ff45008a544e866bd91bd8 (diff)
downloadspack-0c164d274067f0500c0edd37a4e9bec18374d2bf.tar.gz
spack-0c164d274067f0500c0edd37a4e9bec18374d2bf.tar.bz2
spack-0c164d274067f0500c0edd37a4e9bec18374d2bf.tar.xz
spack-0c164d274067f0500c0edd37a4e9bec18374d2bf.zip
Feature: Allow variants to propagate if not available in source pkg (#42931)
Variants can now be propagated from a dependent package to (transitive) dependencies, even if the source or transitive dependencies have the propagated variants. For example, here `zlib` doesn't have a `guile` variant, but `gmake` does: ``` $ spack spec zlib++guile - zlib@1.3%gcc@12.2.0+optimize+pic+shared build_system=makefile arch=linux-rhel8-broadwell - ^gcc-runtime@12.2.0%gcc@12.2.0 build_system=generic arch=linux-rhel8-broadwell - ^gmake@4.4.1%gcc@12.2.0+guile build_system=generic arch=linux-rhel8-broadwell ``` Adding this property has some strange ramifications for `satisfies()`. In particular: * The abstract specs `pkg++variant` and `pkg+variant` do not intersect, because `+variant` implies that `pkg` *has* the variant, but `++variant` does not. * This means that `spec.satisfies("++foo")` is `True` if: * for concrete specs: `spec` and its dependencies all have `foo` set if it exists * for abstract specs: no dependency of `spec` has `~foo` (i.e. no dependency contradicts `++foo`). * This also means that `Spec("++foo").satisfies("+foo")` is `False` -- we only know after concretization. The `satisfies()` semantics may be surprising, but this is the cost of introducing non-subset semantics (which are more useful than proper subsets here). - [x] Change checks for variants - [x] Resolve conflicts - [x] Add tests - [x] Add documentation --------- Co-authored-by: Gregory Becker <becker33@llnl.gov> Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Diffstat (limited to '.mailmap')
0 files changed, 0 insertions, 0 deletions