caml-list - the Caml user's mailing list
 help / Atom feed
From: "Richard W.M. Jones" <rich@annexia.org>
To: "francois.pottier@inria.fr" <francois.pottier@inria.fr>, caml users <caml-list@inria.fr>
Subject: Re: [Caml-list] (dune/opam) Proper way of vendoring a library inside an application?
Date: Sat, 29 Feb 2020 08:41:24 +0000
Message-ID: <20200229084124.GC11122@rich.annexia.org> (raw)
In-Reply-To: <f50f0acb-9e02-cc29-6da7-6e56f33f8b42@inria.fr>

On Fri, Jan 31, 2020 at 09:48:48AM +0100, François Pottier wrote:
> 
> Dear fellow OCaml users,
> 
> I am trying to figure out how to "vendor" (embark) a private
> copy of a library inside a project. (Concretely, I would like
> to vendor Fix inside Menhir.) I want this fact to remain
> invisible, that is, installing Menhir should not result
> in installing or upgrading the user's public copy of Fix.
> 
> I have copied the source tree for Fix inside the source tree
> for Menhir, and added a (vendored_dirs fix) stanza in Menhir's
> toplevel "dune" file.
> 
> Compilation works fine, but installation does not seem to work
> the way I wish:
> 
> * "dune install" installs Menhir *and Fix*, though I would like
>   it to install Menhir only.
> 
> * Attempting to pin Menhir using "opam pin" fails because opam
>   cannot find Fix (inded, Fix is not globally installed).
> 
> I have tried removing (public_name fix) from fix/src/dune, but
> then the compilation of Menhir fails (Fix cannot be found).
> 
> I am confused... what's the proper way of embarking a private
> library inside an application without installing it globally?

I wish you wouldn't do this.  Bundling libraries like this causes
problems for packagers because we can never be sure what (possibly out
of date or insecure) version of a library that we package elsewhere
has been bundled in another place.

As is this is already in opam, what are you trying to achieve here?

Rich.

  parent reply index

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-31  8:49 François Pottier
2020-01-31 13:08 ` François Bobot
2020-01-31 14:53   ` François Pottier
2020-02-03 10:27 ` Jeremie Dimino
2020-02-03 14:17   ` Jeremie Dimino
2020-02-03 14:53     ` François Pottier
2020-02-03 23:13       ` Jeremie Dimino
2020-02-04  9:11         ` François Pottier
2020-02-06 22:33           ` Jeremie Dimino
2020-02-10  9:37             ` [Caml-list] dune for OCaml < 4.07? François Pottier
2020-02-10 10:19               ` David Allsopp
2020-02-10 10:33                 ` François Pottier
2020-02-10 11:27                   ` David Allsopp
2020-02-29  8:41 ` Richard W.M. Jones [this message]
2020-02-29 11:20   ` [Caml-list] (dune/opam) Proper way of vendoring a library inside an application? François Pottier
2020-03-02  9:33     ` François Bobot

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200229084124.GC11122@rich.annexia.org \
    --to=rich@annexia.org \
    --cc=caml-list@inria.fr \
    --cc=francois.pottier@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

caml-list - the Caml user's mailing list

Archives are clonable: git clone --mirror https://inbox.ocaml.org/caml-list

AGPL code for this site: git clone https://public-inbox.org/ public-inbox