pin

Warning

Dune Package Management is not final yet and the configuration options are subject to change.

This stanza is used to define additional package sources to use when locking a project and used for building dependencies.

Note

Defining a pin does not enable it by default. It needs to be enabled in a lock directory using the lock_dir stanza.

(pin ...)

Added in version 3.15.

Defines a new package source.

(name <string>)

The name of the newly defined pin. This can be anything, it does not have to match the package.

This must be specified.

(url <string>)

This can be a path to a directory on the local file system or remote Git repository. Local paths can be absolute or relative, and may optionally begin with file:// though this is not necessary. Remote Git repository URLs must begin with git+, for example git+https://github.com/user/repo or git+git@github.com:user/repo.git.

This must be specified.

(package ...)

Specifies the the packages to assign this pin to.

(name <string>)

The name of the package.

This must be specified.

(version <string>)

The version that the package should be assumed to be. Defaults to dev if unspecified.

See also

pin stanza in dune-project for per-project pins.