caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] If you distribute oasis' setup.ml with your software, please use a recent (>= 0.3.0) version of Oasis
@ 2013-03-10 16:26 Gabriel Scherer
  2013-03-10 19:25 ` Wojciech Meyer
  2013-03-13 20:18 ` [Caml-list] " Sylvain Le Gall
  0 siblings, 2 replies; 5+ messages in thread
From: Gabriel Scherer @ 2013-03-10 16:26 UTC (permalink / raw)
  To: caml-list

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] If you distribute oasis' setup.ml with your software, please use a recent (>= 0.3.0) version of Oasis
  2013-03-10 16:26 [Caml-list] If you distribute oasis' setup.ml with your software, please use a recent (>= 0.3.0) version of Oasis Gabriel Scherer
@ 2013-03-10 19:25 ` Wojciech Meyer
  2013-03-10 20:55   ` Gabriel Scherer
  2013-03-11  7:42   ` Maxence Guesdon
  2013-03-13 20:18 ` [Caml-list] " Sylvain Le Gall
  1 sibling, 2 replies; 5+ messages in thread
From: Wojciech Meyer @ 2013-03-10 19:25 UTC (permalink / raw)
  To: Gabriel Scherer; +Cc: caml-list

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] If you distribute oasis' setup.ml with your software, please use a recent (>= 0.3.0) version of Oasis
  2013-03-10 19:25 ` Wojciech Meyer
@ 2013-03-10 20:55   ` Gabriel Scherer
  2013-03-11  7:42   ` Maxence Guesdon
  1 sibling, 0 replies; 5+ messages in thread
From: Gabriel Scherer @ 2013-03-10 20:55 UTC (permalink / raw)
  To: Wojciech Meyer; +Cc: caml-list

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Caml-list] If you distribute oasis' setup.ml with your software, please use a recent (>= 0.3.0) version of Oasis
  2013-03-10 19:25 ` Wojciech Meyer
  2013-03-10 20:55   ` Gabriel Scherer
@ 2013-03-11  7:42   ` Maxence Guesdon
  1 sibling, 0 replies; 5+ messages in thread
From: Maxence Guesdon @ 2013-03-11  7:42 UTC (permalink / raw)
  To: caml-list

On Sun, 10 Mar 2013 19:25:47 +0000
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.

Github can host a website for each project, using a gh-pages
branch, see
    http://pages.github.com/
and https://help.github.com/articles/creating-project-pages-manually
  
The website is then hosted on <yourlogin>.github.com/<yourproject>.
For example:
  http://zoggy.github.com/ocamlrss/

Then, using "git archive" command you can easily create an archive of
your sources, copy it into the gh-pages branch and upload it
(add+commit+push), making it available from your project website.

-- 
Maxence

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Caml-list] Re: If you distribute oasis' setup.ml with your software, please use a recent (>= 0.3.0) version of Oasis
  2013-03-10 16:26 [Caml-list] If you distribute oasis' setup.ml with your software, please use a recent (>= 0.3.0) version of Oasis Gabriel Scherer
  2013-03-10 19:25 ` Wojciech Meyer
@ 2013-03-13 20:18 ` Sylvain Le Gall
  1 sibling, 0 replies; 5+ messages in thread
From: Sylvain Le Gall @ 2013-03-13 20:18 UTC (permalink / raw)
  To: caml-list

On 10-03-2013, Gabriel Scherer <gabriel.scherer@gmail.com> wrote:
> 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*

A quick update:

> - ocaml-expect

there is only ocaml-expect 0.0.2 in OPAM, whereas the latest release is
0.0.3 that uses a correct OASIS version.

You can found the tarball as well on
http://oasis.ocamlcore.org/dev/view/ocaml-expect/latest

> - ocaml-posix-resource

This one should be removed, most of the features has been merged in
extunix.

> - ocaml-radixtree

What I have released that !!!!

> - ocaml-sqlexpr

No setup.ml, this is a .tar.gz of the dev github repository (so you need
oasis in this case).

> - optimization1d*
> - root1d*
>
>
> 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
>

When oasis 0.3.0 was released, I put a big warning about that fact:
https://sympa.inria.fr/sympa/arc/caml-list/2012-06/msg00193.html
and
http://le-gall.net/sylvain+violaine/blog/index.php?post/2012/06/28/OASIS-0.3.0-release

EXTREMLY IMPORTANT changes (read this)
Fix bug with scanf %S@\n for ocaml 4.00. We were unfortunetaly using an
undocumented tolerance of Scanf in the previous version. You should
consider making new release using this version that fixed this.

I have also "started to implement" the derive feature in oasis-db, that
should allow you to regenerate a tarball with updating the setup.ml
directly from http://oasis.ocamlcore.org/dev/home. But it is buggy and I
don't yet have time to fix it (real life is too busy).

Cheers,
Sylvain Le Gall
--
Linkedin:   http://fr.linkedin.com/in/sylvainlegall
Start an OCaml project here: http://forge.ocamlcore.org
OCaml blogs:                 http://planet.ocaml.org



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-03-13 20:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-10 16:26 [Caml-list] If you distribute oasis' setup.ml with your software, please use a recent (>= 0.3.0) version of Oasis Gabriel Scherer
2013-03-10 19:25 ` Wojciech Meyer
2013-03-10 20:55   ` Gabriel Scherer
2013-03-11  7:42   ` Maxence Guesdon
2013-03-13 20:18 ` [Caml-list] " Sylvain Le Gall

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).