Skip to content
This repository has been archived by the owner on Mar 20, 2019. It is now read-only.
/ opam-lock Public archive

Create locked opam files to share build environments across hosts

License

Notifications You must be signed in to change notification settings

AltGr/opam-lock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Frozen repository

This repository contains the opam-lock plugin, which is deprecated,since the feature has been integrated in opam.

See this opam PR for details.

No new pull requests will be accepted; please see the opam tracker for any issues or feature requests.

opam-lock: restrict opam file to describe a precise build environment

This small opam plugin can rewrite opam package definition files to emulate the behaviour of so-called "lock files" present in many package managers.

It reads opam files, extracts the precise set of their dependencies that is currently installed, as well as pins and non-installed optional dependencies, and writes back a <name>.opam.locked file that enforces this set and has the corresponding pin-depends:.

You can then use opam install <name>.opam.locked to get the package installed with the precise dependencies, including transitive dependencies, that it had in the original system.

Option --direct-only can be used to only lock direct dependency versions rather than the whole tree.

Note that the locked opam file adds conflicts to uninstalled optional dependencies, but not recursively: it therefore guarantees the same dependencies get installed, up to potentially some of their optional dependencies.

This project is currently in early beta.

About

Create locked opam files to share build environments across hosts

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages