<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="">1) "dev dependencies" -- I want what is in the repo.</div><div class="">2) "explicit dependency" -- I want a given version.</div><div class=""><br class=""></div><div class="">opam has #2 covered.</div><div class=""><br class=""></div><div class="">However it is not clear to me how to do #1 correctly. I can, on a given machine (ie not on an opam repository), pin a given package to a git repo. But locally pinning isn't what I want. I want a package in an opam repository to say "I depend upon this other dev package" so that our build boxes, and various developer machines will all do the same thing, and I don't need to separately pin everything on each box.</div></div></div></blockquote><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">Has anyone else encountered this situation before?</div></div></div></blockquote><div><br class=""></div>you can use dev package in your repo, see for instance <a href="https://github.com/samoht/mirage-dev/blob/master/packages/mirage-profile/mirage-profile.0.1/url" class="">https://github.com/samoht/mirage-dev/blob/master/packages/mirage-profile/mirage-profile.0.1/url</a></div><div><br class=""></div><div>you can either specify a given hash/tag using git: "path.git#tag"</div><div><br class=""></div><div>Sharing pins can be done by syncrhonizing ~/.opam/<switch>/pinned and ~/.opam/<switch>/overlay between your machines, but be aware that these paths might change between opam versions.</div><div><br class=""></div><div>Thomas</div></body></html>