summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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
2023-08-15ecp-data-viz-sdk: fix building with new encodingMassimiliano Culpo1-3/+4
2023-08-15We cannot require "mpich" as an mpi provider and ask for openmpiMassimiliano Culpo1-2/+2
2023-08-15Improve handling of cases with cyclesMassimiliano Culpo5-28/+88
To avoid paying the cost of setup and of a full grounding again, move cycle detection into a separate program and check first if the solution has cycles. If it has, ground only the integrity constraint preventing cycles and solve again.
2023-08-15Fix ecp-data-vis-sdk: a package cannot impose constraints on transitive depsMassimiliano Culpo1-1/+1
2023-08-15Optimize grounding of "can_inherit_flags"Massimiliano Culpo1-3/+6
2023-08-15Fix computation of max nodesMassimiliano Culpo3-30/+39
2023-08-15Add unit-tests for use cases requiring separate concretization of build depsMassimiliano Culpo10-0/+210
2023-08-15Add a new configuration option to select among different concretization modesMassimiliano Culpo5-48/+197
The "concretizer" section has been extended with a "duplicates:strategy" attribute, that can take three values: - "none": only 1 node per package - "minimal": allow multiple nodes opf specific packages - "full": allow full duplication for a build tool
2023-08-15Fix a few bugs in the encoding when imposing constraints on build deps onlyMassimiliano Culpo1-14/+12
These bugs would show up when we try to split nodes by imposing different targets or different compilers to all build dependencies.
2023-08-15Construct unification sets on demand, improve heuristicMassimiliano Culpo4-31/+81
2023-08-15Reduce the number of unification sets to only twoMassimiliano Culpo1-1/+2
2023-08-15Make cycle detection optional, to speed-up grounding and solvingMassimiliano Culpo3-11/+35
2023-08-15Deduplicate trigger and effect conditions in packagesMassimiliano Culpo2-28/+95
This refactor introduces extra indices for triggers and effect of a condition, so that the corresponding clauses are evaluated once for every condition they apply to.
2023-08-15Extract a function to emit variant rulesMassimiliano Culpo1-20/+23
2023-08-15ASP-based solver: do not optimize on known dimensionsMassimiliano Culpo4-30/+33
All the solution modes we use imply that we have to solve for all the literals, except for "when possible". Here we remove a minimization on the number of literals not solved, and emit directly a fact when a literal *has* to be solved.
2023-08-15Tweak a unit test by allowing a different type of exception to be raisedMassimiliano Culpo1-2/+3
2023-08-15Reduce the dependency types in a solveMassimiliano Culpo1-4/+25
Count the maximum number of nodes based on dependency types
2023-08-15Parametrize all the logic program for multiple nodesMassimiliano Culpo3-77/+185
Introduce the concept of "condition sets", i.e. the set of packages on which a package can require / impose conditions. This currently maps to the link/run sub-dag of each package + its direct build dependencies. Parametrize the "condition" and "requirement" logic to multiple nodes.
2023-08-15Introduce unification setsMassimiliano Culpo1-5/+13
Unification sets are possibly overlapping sets of nodes that might contain at most a single configuration for any package.
2023-08-15Allow clingo to generate edgesMassimiliano Culpo2-20/+33
2023-08-15Rework the encoding to introduce node(ID, Package) nested factsMassimiliano Culpo3-543/+635
So far the encoding has a single ID per package, i.e. all the facts will be node(0, Package). This will prepare the stage for extending this logic and having multiple nodes from the same package in a DAG.
2023-08-15Remove unneeded #defined directivesMassimiliano Culpo1-31/+0
2023-08-15Remove useless ruleMassimiliano Culpo1-5/+0
The version_equivalent fact was deleted in #36347, but the corresponding rule was not removed.
2023-08-15Transform many package related facts to use a nested functionMassimiliano Culpo3-112/+141
Each fact that is deduced from package rules, and start with a bare package atom, is transformed into a "facts" atom containing a nested function. For instance we transformed version_declared(Package, ...) -> facts(Package, version_declared(...)) This allows us to clearly mark facts that represent a rule on the package, and will be of help later when we'll have to distinguish the cases where the atom "Package" is being used referred to package rules and not to a node in the DAG.
2023-08-15adding new rpp package (#38942)afzpatel4-0/+189
* initial commit for adding new rpp package * fix styling
2023-08-15Add mold 2.1.0 (#39443)Mikael Simberg1-0/+1
2023-08-15Add version HDF5 1.14.2 (#39409)Larry Knox1-0/+5
* Add version HDF5 1.14.2
2023-08-15arborx: new version and patch for 1.4 with Trilinos (#39438)Andrey Prokopenko2-0/+18
* arborx: patch 1.4 for Trilinos 14.0 * arborx: version 1.4.1