caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gabriel Scherer <gabriel.scherer@gmail.com>
To: Wojciech Meyer <wojciech.meyer@gmail.com>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] If you distribute oasis' setup.ml with your software, please use a recent (>= 0.3.0) version of Oasis
Date: Sun, 10 Mar 2013 21:55:06 +0100	[thread overview]
Message-ID: <CAPFanBGJkzuP=GnGywPSF152+3mC-M_Dg6UTaE=3TKRdReJjgQ@mail.gmail.com> (raw)
In-Reply-To: <wfppz7cb0k.fsf@gmail.com>

Indeed. The recommendation is rather orthogonal to the choice of
maintainers to distribute setup.ml with they released tarball or not.
If they don't, fine, if they do, please distribute the setup.ml
generated from a recent OASIS.

As a downstream user, I would have a preference for people to generate
the setup.ml statically on their side (some less work and dependencies
for us users), but I understand that just tarballing the development
repository is a quick&easy way to push a release, made even easier by
github, so it's a reasonable choice -- and I understand that people
don't want to clutter their versioned repo with auto-generated files.

(The initial reason for my e-mail was benchmarking considerations:
we're considering using the OPAM compiler variant system to test
in-development branches of the OCaml compiler, which mean possibly
tight (edit, compile, opam install, benchmark) cycles. OPAM would be
used to install just what's needed for the benchmarks, so maybe one
library or two but mostly only the benchmarking library. In this
context, it's important to have as few dependencies as possible, and
I'm eager to remove the "oasis" dependency of "bench" and
"benchmark".)

On Sun, Mar 10, 2013 at 8:25 PM, Wojciech Meyer
<wojciech.meyer@gmail.com> wrote:
> One of the reasons why people don't regenerate setup.ml but rely on
> Oasis is very prosaic: some of the projects (if not most) are source
> hosted on github, but github does not host files, however git tags can be
> used to download the tarball using single URL.
>
> I'd add to Gabriel's suggestion to host these files somewhere, ocamlcore
> seems to be like a natural choice.
>
> Gabriel Scherer <gabriel.scherer@gmail.com> writes:
>
>> The number of packages available through OPAM that list "oasis" as a
>> dependency (see list below) is too high -- oasis being designed to let
>> developers pre-generate setup.ml to avoid any actual dependency on it.
>>
>> The reason for this is a glitch in old versions of Oasis (< 0.3.0)
>> that makes the generated setup.ml break with OCaml >= 4.00.0; OPAM
>> packagers list oasis as a dependency to regenerate a fixed setup.ml at
>> compilation time. This is the case in particular for the latest
>> versions of the following packages:
>> - ANSITerminal*
>> - bench*
>> - ocaml-expect
>> - ocaml-posix-resource
>> - ocaml-radixtree
>> - ocaml-sqlexpr
>> - optimization1d*
>> - root1d*
>>
>> (*): oasis is the only dependency besides the ubiquitous ocamlfind
>>
>> If you distribute setup.ml in your source releases, please make sure
>> that it is generated with a recent version of Oasis (>= 0.3.0). This
>> allows to remove oasis (and its four own dependencies) from the
>> dependencies of your package.
>>
>> You can check which version of Oasis a given setup.ml comes from with
>> the command:
>>   ocaml setup.ml -version
>>
>> If your package provides a setup.ml with version >= 0.3.0, and "oasis
>> setup" is still present in the "build" field of OPAM metadata
>> description (or "oasis" marked as a dependency for no other reason),
>> this is a packaging bug that you should report to the relevant package
>> maintainer or on the opam repository bugtracker (
>> https://github.com/OCamlPro/opam-repository/issues/ ).
>>
>> PS: I learned about the bad interaction between Oasis < 0.3.0 and
>> OCaml >= 4.00.0 from Anil Madhavapeddy in the following bugtracker
>> item: https://github.com/OCamlPro/opam-repository/issues/496
>
> --
> Wojciech Meyer
> http://danmey.org

  reply	other threads:[~2013-03-10 20:55 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-10 16:26 Gabriel Scherer
2013-03-10 19:25 ` Wojciech Meyer
2013-03-10 20:55   ` Gabriel Scherer [this message]
2013-03-11  7:42   ` Maxence Guesdon
2013-03-13 20:18 ` [Caml-list] " Sylvain Le Gall

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='CAPFanBGJkzuP=GnGywPSF152+3mC-M_Dg6UTaE=3TKRdReJjgQ@mail.gmail.com' \
    --to=gabriel.scherer@gmail.com \
    --cc=caml-list@inria.fr \
    --cc=wojciech.meyer@gmail.com \
    /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).