Say I have an opam project that has been sucessfuly installed (either with make, opam or dune). How do I then go ahead to create the proj.opam file automatically so I can easily install it in the future? Is there anything I need to manually do? (e.g. I assume I have to write the build and install myelf…?)
e.g.
In python we can do pip freeze > requirements.txt
if the project is already installed. So perhaps I could:
- install the coq proj with
make
- proceed to do the
opam
version of pip freeze > requirements.txt
.
Is this possible? Ideally fully automatically.
Looking at the doc for pip freeze
, I think you are looking for opam lock
. opam lock ./proj.opam
will generate (or update) a proj.opam.locked
file with dependencies versions constraints set to be equal to the installed ones.
1 Like
So there’s multiple options. For specifying the dependencies, it is useful to use dune’s opam generation feature. Then Dune generates you a proper OPAM file. This opam file can then be used with opam lock
or opam-monorepo lock
to get a reproducible set of dependencies.
what is the dune command that generates my opam file? Thanks!
It is generated automatically when you dune build
if you set up the opam integration.
1 Like