caml-list - the Caml user's mailing list
 help / color / mirror / 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	[thread overview]
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	other threads:[~2020-02-29  8:41 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-31  8:48 François Pottier
2020-01-31 13:08 ` François Bobot
2020-01-31 14:53   ` François Pottier
2020-02-03 10:26 ` Jeremie Dimino
2020-02-03 14:16   ` Jeremie Dimino
2020-02-03 14:53     ` François Pottier
2020-02-03 23:13       ` Jeremie Dimino
2020-02-04  9:10         ` 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:18               ` 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 publicly 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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).