summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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
2023-08-15Add gperftools 2.11 (#39440)Mikael Simberg1-0/+1
2023-08-15spack.caches: uppercase global variables (#39428)Massimiliano Culpo9-23/+24
2023-08-15squashfs: Add static variant (#39433)Bryan Herman1-0/+7
2023-08-15spack.config: use all caps for globals (#39424)Harmen Stoppels29-160/+147
2023-08-14intel-xed: add version 2023.07.09 (#39436)Mark W. Krentel1-0/+1
2023-08-14Spiner and ports-of-call updates (#39437)Richard Berger2-0/+2
* ports-of-call: new version 1.5.2 * spiner: new version 1.6.2
2023-08-14Windows: executable/path handling (#37762)markus-ferrell6-62/+93
Windows executable paths can have spaces in them, which was leading to errors when constructing Executable objects: the parser was intended to handle cases where users could provide an executable along with one or more space-delimited arguments. * Executable now assumes that it is constructed with a string argument that represents the path to the executable, but no additional arguments. * Invocations of Executable.__init__ that depended on this have been updated (this includes the core, tests, and one instance of builtin repository package). * The error handling for failed invocations of Executable.__call__ now includes a check for whether the executable name/path contains a space, to help users debug cases where they (now incorrectly) concatenate the path and the arguments.
2023-08-14fuse-overlayfs needs pkgconfig to build (#39431)Bryan Herman1-0/+1
2023-08-14xyce: Disable CMake test for OneAPI (#39429)Paul Kuberry2-0/+42