Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[OSR] Ports-like package management system
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Nicolas Pouillard <nicolas.pouillard@g...>
Subject: Re: [Caml-list] [OSR] Ports-like package management system
Excerpts from Yaron Minsky's message of Tue Jan 29 14:11:55 +0100 2008:
> On Jan 29, 2008 5:56 AM, Berke Durak <> wrote:
> > Basing a PMS for Ocaml on a VCS written in Haskell would violate the
> > ``Trading with the Enemy'' act.  Moreover Darcs has some performance
> > problems of its own.
> Come now, Haskell is a dear friend and relative, not an enemy at all.

Exact, however I think that was Berke's humor :)

> Besides, darcs has some key advantages for this kind of use.  Cherry-picking
> and flexible maintenance of patches on top of someone else's tree would be
> very valuable for this kind of application, and neither hg nor git support
> that use case well.  And I believe the darcs team is making real advances
> towards fixing these problems.

That's fully right, darcs2 solve a lot of his formers issues.

> If not darcs, I would choose hg next.  hg supports windows well, which is a
> big deal, I think.  Its user interface was more pleasant than git's last I
> checked.  And it has some support for renames (not as good as darc's or
> bzr's, but still good.)  We've used hg very intensively at Jane Street and
> have been very happy with the results.

I'm largely in favor of darcs.

> > Let's get back to the subject.  BSD ports are also based on make,
> > whose main limitation, the static dependency graph, has been addressed
> > in ocamlbuild.  I know there is Omake, but I think it suffers from the
> > ``Yet Another Turing-Complete Language'' syndrome.
> >
> Does anyone with experience with both omake and ocamlbuild have an opinion
> on the matter?  I've used omake quite a bit, and ocamlbuild not at all.   In
> my mind, omake has the advantage that I'm pretty sure it's up to the task.
> ocamlbuild has the advantage of being in the standard distribution and
> having OCaml as its extension language.  It would be great to get the
> opinion of someone who knows both systems well.

I think that dynamic dependency graph of ocamlbuild could really help.
> > So I am calling for a solution based on a ports-like system but based
> > on a distributed VCS and on an improved ocamlbuild.
> >
> > Assume you are writing a program FOO and want to use a package BAR
> > available from  You tell ocamlbuild by adding some tag such
> > as
> >
> >   <mytarget.native>: require(<>
> It would also be nice to have a set of versions of the various libraries
> that hang together, as GODI does.  Otherwise, problems in the case where
> there are packages A, B and C where A depends on B and C and B depends on
> C.  You need a version of C that works with your versions of A and B, or
> you're sunk.  So some central repo where you can maintain a set of "safe"
> versions would allow for a developer to ask for a easily pull a collection
> of working libraries.

Yes,  we  have  to  think  about a clean interface to specify versions without
fall into a too much complex system.

Nicolas Pouillard aka Ertai