lock_dir¶
Warning
Dune Package Management is not final yet and the configuration options are subject to change.
This stanza configures the lock directory settings for the current workspace. For the default workflow no configuration is necessary, but the defaults can be changed if desired.
- (lock_dir ...)
Added in version 3.13.
Configures a specific lock directory to be created or used.
- (path <string>)
The location in the source tree where the lock directory will be created or read from. If not specified defaults to
dune.lock
.
- (repositories <name list>)
The repositories to be used for finding a package solution, specified in priority order. Supports
:default
which containsupsteam
andoverlay
.Additional repositories can be defined using the repository stanza.
- (solver_env ...)
The environment that is injected into the solver when creating the lock directory.
It consists of a sequence of
(<name> <value>)
pairs.
- (unset_variables <name list>)
A list of variables that are used in solving that are deliberately unset even if the solver could provide bindings for them.
The variables here cannot overlap with those defined in
solver_env
.
- (pins <name list>)
Added in version 3.15.
Define which pins are enabled for this particular lock dir. See pin for details on how to define pins.
- (version_preference <string>)
Can be one of:
newest
(default): The solver will pick the newest availableversion of a package that satisfies the constraints.
oldest
: The solver will pick the lowest version that will satisfythe constraints
- (constraints <dep-specification>)
Adds additional solver constraints that are passed to the solver. Follows the
dep_specification
format.Note
Names introduced through
constraints
are not considered dependencies and not added to the lockfile. They exist solely to add additional constraints if the packages to which the constraint is applied are selected and don’t do anything otherwise.