caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] OCaml 4.04.0+beta1
@ 2016-08-09 13:15 Damien Doligez
  2016-08-09 14:24 ` Goswin von Brederlow
                   ` (2 more replies)
  0 siblings, 3 replies; 23+ messages in thread
From: Damien Doligez @ 2016-08-09 13:15 UTC (permalink / raw)
  To: caml users

Dear OCaml users,

The release of OCaml 4.04.0 will take place in September. We have created a beta version to help you adapt your software to the new features ahead of the release.

The source code is available at this address:

  http://caml.inria.fr/pub/distrib/ocaml-4.03/

and the compiler will soon be available as the "4.04.0+beta1" OPAM switch.

We want to know about all bugs. Please report them here:
  http://caml.inria.fr/mantis/bug_report_page.php

Happy hacking,

-- Damien Doligez for the OCaml team.


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

* Re: [Caml-list] OCaml 4.04.0+beta1
  2016-08-09 13:15 [Caml-list] OCaml 4.04.0+beta1 Damien Doligez
@ 2016-08-09 14:24 ` Goswin von Brederlow
  2016-08-11 15:10   ` Damien Doligez
  2016-08-09 16:06 ` [Caml-list] OCaml 4.04.0+beta1 Mohamed Iguernlala
  2016-08-12 10:09 ` Fabrice Le Fessant
  2 siblings, 1 reply; 23+ messages in thread
From: Goswin von Brederlow @ 2016-08-09 14:24 UTC (permalink / raw)
  To: Damien Doligez; +Cc: caml users

On Tue, Aug 09, 2016 at 03:15:36PM +0200, Damien Doligez wrote:
> Dear OCaml users,
> 
> The release of OCaml 4.04.0 will take place in September. We have created a beta version to help you adapt your software to the new features ahead of the release.
> 
> The source code is available at this address:
> 
>   http://caml.inria.fr/pub/distrib/ocaml-4.03/
                                           ^^^^

Is that a typo or is 4.04.0 really available as 4.03? I only see a
ocaml-4.03.0+beta1 and ocaml-4.03.0+beta2 there.

> and the compiler will soon be available as the "4.04.0+beta1" OPAM switch.
> 
> We want to know about all bugs. Please report them here:
>   http://caml.inria.fr/mantis/bug_report_page.php
> 
> Happy hacking,
> 
> -- Damien Doligez for the OCaml team.

In Debian "~" is used to denote versions smaller than, e.g.
4.04.0~beta1, 4.04.0~rc4 while "+" is for versions larger than, e.g.
4.03.0+bugfix7. Would it be possible to adapt the same for ocaml
versions?

MfG
	Goswin

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

* Re: [Caml-list] OCaml 4.04.0+beta1
  2016-08-09 13:15 [Caml-list] OCaml 4.04.0+beta1 Damien Doligez
  2016-08-09 14:24 ` Goswin von Brederlow
@ 2016-08-09 16:06 ` Mohamed Iguernlala
  2016-08-10 16:42   ` Mohamed Iguernlala
  2016-08-10 16:46   ` Anil Madhavapeddy
  2016-08-12 10:09 ` Fabrice Le Fessant
  2 siblings, 2 replies; 23+ messages in thread
From: Mohamed Iguernlala @ 2016-08-09 16:06 UTC (permalink / raw)
  To: caml-list

Hi,

Le 09/08/2016 à 15:15, Damien Doligez a écrit :
> Dear OCaml users,
>
> The release of OCaml 4.04.0 will take place in September. We have created a beta version to help you adapt your software to the new features ahead of the release.
>
> The source code is available at this address:
>
>    http://caml.inria.fr/pub/distrib/ocaml-4.03/
>
> and the compiler will soon be available as the "4.04.0+beta1" OPAM switch.
>
> We want to know about all bugs. Please report them here:
>    http://caml.inria.fr/mantis/bug_report_page.php
Should errors related to the installation of OPAM packages be reported 
on mantis
as well ? For instance, "opam install lablgtk" (v. 2.18.4) succeeds on 
4.03.0 switch
but not on 4.04.0+beta1.

Mohamed.


>
> Happy hacking,
>
> -- Damien Doligez for the OCaml team.
>
>


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

* Re: [Caml-list] OCaml 4.04.0+beta1
  2016-08-09 16:06 ` [Caml-list] OCaml 4.04.0+beta1 Mohamed Iguernlala
@ 2016-08-10 16:42   ` Mohamed Iguernlala
  2016-08-10 16:46   ` Anil Madhavapeddy
  1 sibling, 0 replies; 23+ messages in thread
From: Mohamed Iguernlala @ 2016-08-10 16:42 UTC (permalink / raw)
  To: caml-list

Le 09/08/2016 à 18:06, Mohamed Iguernlala a écrit :
> Should errors related to the installation of OPAM packages be reported 
> on mantis
> as well ? For instance, "opam install lablgtk" (v. 2.18.4) succeeds on 
> 4.03.0 switch
> but not on 4.04.0+beta1.

The newly released version (v. 2.18.5) seems to fix the issue.

Mohamed.

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

* Re: [Caml-list] OCaml 4.04.0+beta1
  2016-08-09 16:06 ` [Caml-list] OCaml 4.04.0+beta1 Mohamed Iguernlala
  2016-08-10 16:42   ` Mohamed Iguernlala
@ 2016-08-10 16:46   ` Anil Madhavapeddy
  1 sibling, 0 replies; 23+ messages in thread
From: Anil Madhavapeddy @ 2016-08-10 16:46 UTC (permalink / raw)
  To: Mohamed Iguernlala; +Cc: caml-list

On 9 Aug 2016, at 17:06, Mohamed Iguernlala <iguer.auto@gmail.com> wrote:
> 
> Hi,
> 
> Le 09/08/2016 à 15:15, Damien Doligez a écrit :
>> Dear OCaml users,
>> 
>> The release of OCaml 4.04.0 will take place in September. We have created a beta version to help you adapt your software to the new features ahead of the release.
>> 
>> The source code is available at this address:
>> 
>>   http://caml.inria.fr/pub/distrib/ocaml-4.03/
>> 
>> and the compiler will soon be available as the "4.04.0+beta1" OPAM switch.
>> 
>> We want to know about all bugs. Please report them here:
>>   http://caml.inria.fr/mantis/bug_report_page.php
> Should errors related to the installation of OPAM packages be reported on mantis
> as well ? For instance, "opam install lablgtk" (v. 2.18.4) succeeds on 4.03.0 switch
> but not on 4.04.0+beta1.

These should be reported on https://github.com/ocaml/opam-repository/issues

(or even better, fork the repository and send us a Pull Request with a candidate fix).

regards,
Anil


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

* Re: [Caml-list] OCaml 4.04.0+beta1
  2016-08-09 14:24 ` Goswin von Brederlow
@ 2016-08-11 15:10   ` Damien Doligez
  2016-08-11 16:28     ` David Allsopp
  2016-08-12 14:56     ` [Caml-list] Debian's version-numbering convention Hendrik Boom
  0 siblings, 2 replies; 23+ messages in thread
From: Damien Doligez @ 2016-08-11 15:10 UTC (permalink / raw)
  To: caml users


> On 2016-08-09, at 16:24, Goswin von Brederlow <goswin-v-b@web.de> wrote:
> 
>>  http://caml.inria.fr/pub/distrib/ocaml-4.03/
>                                           ^^^^
> 
> Is that a typo or is 4.04.0 really available as 4.03? I only see a
> ocaml-4.03.0+beta1 and ocaml-4.03.0+beta2 there.

It's a typo. The correct URL is:

  https://github.com/ocaml/ocaml/archive/4.04.0+beta1.tar.gz


> In Debian "~" is used to denote versions smaller than, e.g.
> 4.04.0~beta1, 4.04.0~rc4 while "+" is for versions larger than, e.g.
> 4.03.0+bugfix7. Would it be possible to adapt the same for ocaml
> versions?

No. We have a well-defined syntax for version numbers and we can't
change it without breaking an unknown number of tools.

-- Damien


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

* RE: [Caml-list] OCaml 4.04.0+beta1
  2016-08-11 15:10   ` Damien Doligez
@ 2016-08-11 16:28     ` David Allsopp
  2016-08-12 10:47       ` Damien Doligez
  2016-08-12 14:56     ` [Caml-list] Debian's version-numbering convention Hendrik Boom
  1 sibling, 1 reply; 23+ messages in thread
From: David Allsopp @ 2016-08-11 16:28 UTC (permalink / raw)
  To: Damien Doligez, caml users

Damien Doligez wrote:
> > On 2016-08-09, at 16:24, Goswin von Brederlow <goswin-v-b@web.de> wrote:

<snip>
 
> > In Debian "~" is used to denote versions smaller than, e.g.
> > 4.04.0~beta1, 4.04.0~rc4 while "+" is for versions larger than, e.g.
> > 4.03.0+bugfix7. Would it be possible to adapt the same for ocaml
> > versions?
> 
> No. We have a well-defined syntax for version numbers and we can't change
> it without breaking an unknown number of tools.

Wouldn't it only ever break it for alpha/beta/rc releases, though? Might that be a price worth paying (next time)?


David

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

* Re: [Caml-list] OCaml 4.04.0+beta1
  2016-08-09 13:15 [Caml-list] OCaml 4.04.0+beta1 Damien Doligez
  2016-08-09 14:24 ` Goswin von Brederlow
  2016-08-09 16:06 ` [Caml-list] OCaml 4.04.0+beta1 Mohamed Iguernlala
@ 2016-08-12 10:09 ` Fabrice Le Fessant
  2 siblings, 0 replies; 23+ messages in thread
From: Fabrice Le Fessant @ 2016-08-12 10:09 UTC (permalink / raw)
  To: Damien Doligez, caml users

[-- Attachment #1: Type: text/plain, Size: 1319 bytes --]

Hi,

  I started a branch on opam-builder for 4.04.0+beta1, which is now
displayed in the matrix:

http://opam.ocamlpro.com/builder/

  The logs of compilation are available online, for packages that fail to
compile with 4.04.0+beta1. Note that there is a known issue in 4.04.0+beta1
with C libraries put directly on the command line during linking (instead
of using `-cclib`), that make `omake` fail. The issue is solved in the next
beta.

Enjoy !
--Fabrice

On Tue, Aug 9, 2016 at 4:34 PM Damien Doligez <damien.doligez@inria.fr>
wrote:

> Dear OCaml users,
>
> The release of OCaml 4.04.0 will take place in September. We have created
> a beta version to help you adapt your software to the new features ahead of
> the release.
>
> The source code is available at this address:
>
>   http://caml.inria.fr/pub/distrib/ocaml-4.03/
>
> and the compiler will soon be available as the "4.04.0+beta1" OPAM switch.
>
> We want to know about all bugs. Please report them here:
>   http://caml.inria.fr/mantis/bug_report_page.php
>
> Happy hacking,
>
> -- Damien Doligez for the OCaml team.
>
>
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs

[-- Attachment #2: Type: text/html, Size: 2245 bytes --]

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

* Re: [Caml-list] OCaml 4.04.0+beta1
  2016-08-11 16:28     ` David Allsopp
@ 2016-08-12 10:47       ` Damien Doligez
  2016-08-12 10:58         ` Fabrice Le Fessant
  2016-08-12 12:46         ` David Allsopp
  0 siblings, 2 replies; 23+ messages in thread
From: Damien Doligez @ 2016-08-12 10:47 UTC (permalink / raw)
  To: David Allsopp; +Cc: caml users


> On 2016-08-11, at 18:28, David Allsopp <dra-news@metastack.com> wrote:
> 
> Wouldn't it only ever break it for alpha/beta/rc releases, though? Might that be a price worth paying (next time)?

Breaking beta releases is a very big deal: a broken beta is a beta that nobody will test. Moreover, OPAM does not implement the convention you are suggesting, so it would do more harm than good.

-- Damien


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

* Re: [Caml-list] OCaml 4.04.0+beta1
  2016-08-12 10:47       ` Damien Doligez
@ 2016-08-12 10:58         ` Fabrice Le Fessant
  2016-08-12 12:09           ` Damien Doligez
  2016-08-12 12:46         ` David Allsopp
  1 sibling, 1 reply; 23+ messages in thread
From: Fabrice Le Fessant @ 2016-08-12 10:58 UTC (permalink / raw)
  To: Damien Doligez, David Allsopp; +Cc: caml users

[-- Attachment #1: Type: text/plain, Size: 1254 bytes --]

Actually, OPAM is supposed to follow Debian versioning conventions, to the
best of my knowledge. However, it does not really matter for compilers,
since you always specify the version to create the switch, but it might
become a problem in the future, with compilers as packages.

I also think that following a "standard" versioning system (such as the
Debian one) is a win, for the future, even if it would break compatibility
for a short while. Maybe we could decide to switch for the next release
(4.05) ?
--Fabrice

On Fri, Aug 12, 2016 at 12:48 PM Damien Doligez <damien.doligez@inria.fr>
wrote:

>
> > On 2016-08-11, at 18:28, David Allsopp <dra-news@metastack.com> wrote:
> >
> > Wouldn't it only ever break it for alpha/beta/rc releases, though? Might
> that be a price worth paying (next time)?
>
> Breaking beta releases is a very big deal: a broken beta is a beta that
> nobody will test. Moreover, OPAM does not implement the convention you are
> suggesting, so it would do more harm than good.
>
> -- Damien
>
>
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs

[-- Attachment #2: Type: text/html, Size: 1930 bytes --]

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

* Re: [Caml-list] OCaml 4.04.0+beta1
  2016-08-12 10:58         ` Fabrice Le Fessant
@ 2016-08-12 12:09           ` Damien Doligez
  2016-08-12 12:23             ` Daniel Bünzli
  2016-08-12 12:25             ` Grégoire Henry
  0 siblings, 2 replies; 23+ messages in thread
From: Damien Doligez @ 2016-08-12 12:09 UTC (permalink / raw)
  To: Fabrice Le Fessant; +Cc: caml users


> On 2016-08-12, at 12:58, Fabrice Le Fessant <Fabrice.Le_fessant@inria.fr> wrote:
> 
> Actually, OPAM is supposed to follow Debian versioning conventions, to the best of my knowledge. However, it does not really matter for compilers, since you always specify the version to create the switch, but it might become a problem in the future, with compilers as packages.

It does matter very much. There are a number of OPAM packages with constraints
like:

  available: [ ocaml-version < "4.04.0" ]

Two questions:

1. Does OPAM really implement the Debian spec for comparing version numbers ?
2. How do I specify "every version strictly below 4.04.0 and its dev/beta variants" ?

-- Damien


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

* Re: [Caml-list] OCaml 4.04.0+beta1
  2016-08-12 12:09           ` Damien Doligez
@ 2016-08-12 12:23             ` Daniel Bünzli
  2016-08-12 12:25             ` Grégoire Henry
  1 sibling, 0 replies; 23+ messages in thread
From: Daniel Bünzli @ 2016-08-12 12:23 UTC (permalink / raw)
  To: Damien Doligez; +Cc: Fabrice Le Fessant, caml users

Le vendredi, 12 août 2016 à 14:09, Damien Doligez a écrit :
> Two questions:
>  
> 1. Does OPAM really implement the Debian spec for comparing version numbers ?
Here's the documentation:  

http://opam.ocaml.org/doc/Manual.html#version-ordering
  
> 2. How do I specify "every version strictly below 4.04.0 and its dev/beta variants" ?

< "4.04.0"  

If I read the definition well.  

Daniel

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

* Re: [Caml-list] OCaml 4.04.0+beta1
  2016-08-12 12:09           ` Damien Doligez
  2016-08-12 12:23             ` Daniel Bünzli
@ 2016-08-12 12:25             ` Grégoire Henry
  2016-08-12 12:50               ` David Allsopp
  1 sibling, 1 reply; 23+ messages in thread
From: Grégoire Henry @ 2016-08-12 12:25 UTC (permalink / raw)
  To: Damien Doligez; +Cc: caml-list

> Two questions:
> 
> 1. Does OPAM really implement the Debian spec for comparing version numbers ?

Yes.

> 2. How do I specify "every version strictly below 4.04.0 and its dev/beta variants" ?

One of those:

  "4.04~~" < "4.04~" < "4.04" < "4.04.0~" < "4.04.0~beta1" < "4.04.0"

--
Grégoire

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

* RE: [Caml-list] OCaml 4.04.0+beta1
  2016-08-12 10:47       ` Damien Doligez
  2016-08-12 10:58         ` Fabrice Le Fessant
@ 2016-08-12 12:46         ` David Allsopp
  1 sibling, 0 replies; 23+ messages in thread
From: David Allsopp @ 2016-08-12 12:46 UTC (permalink / raw)
  To: Damien Doligez; +Cc: caml users

Damien Doligez wrote:
> > On 2016-08-11, at 18:28, David Allsopp <dra-news@metastack.com> wrote:
> >
> > Wouldn't it only ever break it for alpha/beta/rc releases, though? Might
> that be a price worth paying (next time)?
> 
> Breaking beta releases is a very big deal: a broken beta is a beta that
> nobody will test. Moreover, OPAM does not implement the convention you are
> suggesting, so it would do more harm than good.

It doesn't break *your* beta release - it breaks other people's libraries and at a time at which you expect to be testing those libraries (exactly as happened from 3.07+2 -> 3.08.0 when the version format last changed). So for any given library/program, the worst you'd expect is that it reports broken during a beta (because something goes wrong with OCaml version number parsing) which then "magically" disappears when it's released. It's difficult to imagine present software which would somehow work when given 4.05.0~beta1 and then, all other things equal, stop working when given 4.05.0!


David

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

* RE: [Caml-list] OCaml 4.04.0+beta1
  2016-08-12 12:25             ` Grégoire Henry
@ 2016-08-12 12:50               ` David Allsopp
  2016-08-16 12:37                 ` Damien Doligez
  0 siblings, 1 reply; 23+ messages in thread
From: David Allsopp @ 2016-08-12 12:50 UTC (permalink / raw)
  To: Grégoire Henry, Damien Doligez; +Cc: caml-list

Grégoire Henry wrote:
> > Two questions:
> >
> > 1. Does OPAM really implement the Debian spec for comparing version
> numbers ?
> 
> Yes.
> 
> > 2. How do I specify "every version strictly below 4.04.0 and its
> dev/beta variants" ?
> 
> One of those:
> 
>   "4.04~~" < "4.04~" < "4.04" < "4.04.0~" < "4.04.0~beta1" < "4.04.0"

If such a change were agreed, it would also be possible to alter opam lint (or at least opam-repository linting, once that's fully a "thing") to display a lint warning/info that things like ocaml {< "4.05"} probably mean "ocaml" {< "4.05~~"}. 


David

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

* [Caml-list] Debian's version-numbering convention
  2016-08-11 15:10   ` Damien Doligez
  2016-08-11 16:28     ` David Allsopp
@ 2016-08-12 14:56     ` Hendrik Boom
  2016-08-12 15:57       ` David Allsopp
  1 sibling, 1 reply; 23+ messages in thread
From: Hendrik Boom @ 2016-08-12 14:56 UTC (permalink / raw)
  To: caml-list

On Thu, Aug 11, 2016 at 05:10:15PM +0200, Damien Doligez wrote:
> 
> > In Debian "~" is used to denote versions smaller than, e.g.
> > 4.04.0~beta1, 4.04.0~rc4 while "+" is for versions larger than, e.g.
> > 4.03.0+bugfix7. Would it be possible to adapt the same for ocaml
> > versions?
> 
> No. We have a well-defined syntax for version numbers and we can't
> change it without breaking an unknown number of tools.
> 
> -- Damien

Yet on Fri, Aug 12, 2016 at 02:25:17PM +0200, Grégoire Henry wrote:
> > Two questions:
> >
> > 1. Does OPAM really implement the Debian spec for comparing version numbers$
>
> Yes.
>

This accords with the ocaml spec:

http://opam.ocaml.org/doc/Manual.html#version-ordering

This suggests that any package-handling packages that don't handle "~" 
in the Debian way need to be fixed, possibly even old versions.  It's 
not a matter of compatibility; it's a matter of error.

-- hendrik

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

* RE: [Caml-list] Debian's version-numbering convention
  2016-08-12 14:56     ` [Caml-list] Debian's version-numbering convention Hendrik Boom
@ 2016-08-12 15:57       ` David Allsopp
  2016-08-12 16:06         ` Hendrik Boom
  0 siblings, 1 reply; 23+ messages in thread
From: David Allsopp @ 2016-08-12 15:57 UTC (permalink / raw)
  To: Hendrik Boom, caml-list

Hendrik Boom wrote:
> On Thu, Aug 11, 2016 at 05:10:15PM +0200, Damien Doligez wrote:
> >
> > > In Debian "~" is used to denote versions smaller than, e.g.
> > > 4.04.0~beta1, 4.04.0~rc4 while "+" is for versions larger than, e.g.
> > > 4.03.0+bugfix7. Would it be possible to adapt the same for ocaml
> > > versions?
> >
> > No. We have a well-defined syntax for version numbers and we can't
> > change it without breaking an unknown number of tools.
> >
> > -- Damien
> 
> Yet on Fri, Aug 12, 2016 at 02:25:17PM +0200, Grégoire Henry wrote:
> > > Two questions:
> > >
> > > 1. Does OPAM really implement the Debian spec for comparing version
> > > numbers$
> >
> > Yes.
> >
> 
> This accords with the ocaml spec:

That's the OPAM spec, not the OCaml spec!

> http://opam.ocaml.org/doc/Manual.html#version-ordering
> 
> This suggests that any package-handling packages that don't handle "~"
> in the Debian way need to be fixed, possibly even old versions.  It's not
> a matter of compatibility; it's a matter of error.

That's true if you're handling OPAM package versions, but the OCaml version number is defined differently in http://caml.inria.fr/pub/docs/manual-ocaml/libref/Sys.html#VALocaml_version.


David

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

* Re: [Caml-list] Debian's version-numbering convention
  2016-08-12 15:57       ` David Allsopp
@ 2016-08-12 16:06         ` Hendrik Boom
  0 siblings, 0 replies; 23+ messages in thread
From: Hendrik Boom @ 2016-08-12 16:06 UTC (permalink / raw)
  To: caml-list

On Fri, Aug 12, 2016 at 03:57:13PM +0000, David Allsopp wrote:
> Hendrik Boom wrote:
> > On Thu, Aug 11, 2016 at 05:10:15PM +0200, Damien Doligez wrote:
> > >
> > > > In Debian "~" is used to denote versions smaller than, e.g.
> > > > 4.04.0~beta1, 4.04.0~rc4 while "+" is for versions larger than, e.g.
> > > > 4.03.0+bugfix7. Would it be possible to adapt the same for ocaml
> > > > versions?
> > >
> > > No. We have a well-defined syntax for version numbers and we can't
> > > change it without breaking an unknown number of tools.
> > >
> > > -- Damien
> > 
> > Yet on Fri, Aug 12, 2016 at 02:25:17PM +0200, Grégoire Henry wrote:
> > > > Two questions:
> > > >
> > > > 1. Does OPAM really implement the Debian spec for comparing version
> > > > numbers$
> > >
> > > Yes.
> > >
> > 
> > This accords with the ocaml spec:
> 
> That's the OPAM spec, not the OCaml spec!

I see.  You are right.  There appears to be a distinction I was not aware of.

-- hendrik

> 
> > http://opam.ocaml.org/doc/Manual.html#version-ordering
> > 
> > This suggests that any package-handling packages that don't handle "~"
> > in the Debian way need to be fixed, possibly even old versions.  It's not
> > a matter of compatibility; it's a matter of error.
> 
> That's true if you're handling OPAM package versions, but the OCaml version number is defined differently in http://caml.inria.fr/pub/docs/manual-ocaml/libref/Sys.html#VALocaml_version.
> 
> 
> David
> 
> -- 
> Caml-list mailing list.  Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs

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

* Re: [Caml-list] OCaml 4.04.0+beta1
  2016-08-12 12:50               ` David Allsopp
@ 2016-08-16 12:37                 ` Damien Doligez
  2016-08-16 12:44                   ` Gabriel Scherer
  2016-08-16 12:54                   ` David Allsopp
  0 siblings, 2 replies; 23+ messages in thread
From: Damien Doligez @ 2016-08-16 12:37 UTC (permalink / raw)
  To: caml users


> On 2016-08-12, at 14:50, David Allsopp <dra-news@metastack.com> wrote:
> 
> If such a change were agreed, it would also be possible to alter opam lint (or at least opam-repository linting, once that's fully a "thing") to display a lint warning/info that things like ocaml {< "4.05"} probably mean "ocaml" {< "4.05~~"}. 

So every mention of an OCaml version number in every opam package description file will have to be suffixed with a ~. And that has to be done before we change the OCaml numbering scheme.

And I still don't know what's the upside, except for "that's how Debian does it"...

-- Damien


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

* Re: [Caml-list] OCaml 4.04.0+beta1
  2016-08-16 12:37                 ` Damien Doligez
@ 2016-08-16 12:44                   ` Gabriel Scherer
  2016-08-16 12:54                   ` David Allsopp
  1 sibling, 0 replies; 23+ messages in thread
From: Gabriel Scherer @ 2016-08-16 12:44 UTC (permalink / raw)
  To: Damien Doligez; +Cc: caml users

[-- Attachment #1: Type: text/plain, Size: 1546 bytes --]

I personally use (< "4.03") instead of (< "4.03.0"), and I believe that
this way to rule out 4.03.x versions would remain correct (and readable) if
the negative-"~" convention was adopted, as long we don't use "4.03~foo" as
a version number but rather "4.03.0~foo".

(Note that "4.05~dev" could have the nice effect that software configured
to pessimistically reject future OCaml releases (< 4.05) could still be
built from a development version for testing.)

I must say that this semantics for ~ looks rather nice -- although I agree
that writing foo~~ would be a wart and should be avoided.

On Tue, Aug 16, 2016 at 2:37 PM, Damien Doligez <damien.doligez@inria.fr>
wrote:

>
> > On 2016-08-12, at 14:50, David Allsopp <dra-news@metastack.com> wrote:
> >
> > If such a change were agreed, it would also be possible to alter opam
> lint (or at least opam-repository linting, once that's fully a "thing") to
> display a lint warning/info that things like ocaml {< "4.05"} probably mean
> "ocaml" {< "4.05~~"}.
>
> So every mention of an OCaml version number in every opam package
> description file will have to be suffixed with a ~. And that has to be done
> before we change the OCaml numbering scheme.
>
> And I still don't know what's the upside, except for "that's how Debian
> does it"...
>
> -- Damien
>
>
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa.inria.fr/sympa/arc/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>

[-- Attachment #2: Type: text/html, Size: 2537 bytes --]

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

* RE: [Caml-list] OCaml 4.04.0+beta1
  2016-08-16 12:37                 ` Damien Doligez
  2016-08-16 12:44                   ` Gabriel Scherer
@ 2016-08-16 12:54                   ` David Allsopp
  2016-08-26 14:00                     ` Louis Gesbert
  1 sibling, 1 reply; 23+ messages in thread
From: David Allsopp @ 2016-08-16 12:54 UTC (permalink / raw)
  To: Damien Doligez, caml users

Damien Doligez wrote:
> > On 2016-08-12, at 14:50, David Allsopp <dra-news@metastack.com> wrote:
> >
> > If such a change were agreed, it would also be possible to alter opam
> lint (or at least opam-repository linting, once that's fully a "thing") to
> display a lint warning/info that things like ocaml {< "4.05"} probably
> mean "ocaml" {< "4.05~~"}.
> 
> So every mention of an OCaml version number in every opam package
> description file will have to be suffixed with a ~. And that has to be
> done before we change the OCaml numbering scheme.

Yes, but as far as OPAM packages are concerned, it sounds as though that's what we "should" already be doing. It's also something that can be done mechanically (cf. the removal of ocamlbuild in 4.03.0).

> And I still don't know what's the upside, except for "that's how Debian
> does it"...

It would mean that OPAM would be automatically clear that the release version (4.05.0) is superior to the release candidate (4.05.0~rc1) - that's philosophically nice, if nothing else. That said, I don't think there's any technical reason why the OPAM package version has to match the OCaml version exactly; it'd just be mildly confusing.


David

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

* Re: [Caml-list] OCaml 4.04.0+beta1
  2016-08-16 12:54                   ` David Allsopp
@ 2016-08-26 14:00                     ` Louis Gesbert
  2016-09-05  9:24                       ` Goswin von Brederlow
  0 siblings, 1 reply; 23+ messages in thread
From: Louis Gesbert @ 2016-08-26 14:00 UTC (permalink / raw)
  To: caml-list

I confirm what has been said before: opam follows the Debian convention of having `1.0~foo` < `1.0` < `1.0+foo` ; and you would generally write the constraint as `< 4.04` to exclude `4.04.0~beta` from the range, although for finer constraints you can need a suffix `~`, e.g. `< 4.04.1~` to avoid including `4.04.1~beta`. But constraints shouldn't depend on patch versions right ?

On the other hand, constraints such as `>= 4.04.0` don't include betas if named `4.04.0~beta`, while it would include `4.04.0+beta`

--

For the curious about handling compiler versions in opam 2.0, here follows a glimpse on how that will be done. For the not-that-curious, let it just be said that beta versions (`x.xx.x+beta`) are handled just like other "variants" (e.g. `x.xx.x+fp`) and as such won't get picked up by default, so this won't really be a problem for now.

OCaml implementations are split into three different, mutually conflicting packages:

- Stable OCaml release are packaged as `ocaml-base-compiler.version`
- Any other OCaml version (with a `+foo` suffix) is packaged as `ocaml-variants.version+foo`
- The system compiler, if installed, is available through a dummy package called `ocaml-system.version`

Then there is a wrapper package that is named `ocaml` proper, and that has the corresponding OCaml base version (i.e. `4.03.0` for all packages with versions `4.03.0+foo`); this is the one all normal packages are expected to depend on, so that they don't need to consider every variant. In addition, this package polls the compiler installation to define a few variables such as `ocaml:native-dynlink`.

This scheme allows to have the package work with `4.03.0+flambda` with a dependency to `ocaml = 4.03.0` rather than needing`>= 4.03.0 & < 4.03.1~` ; but it also means that any beta or +prXX version will be treated as the main version (as was the case with the `available:` field and `ocaml-version` variable). Note that the ordering of versions of `ocaml-variants` is mostly irrelevant; but the beta could indeed get packaged as `ocaml-base-compiler.version~beta` if we want to give it the same level of advertisement as compiler releases.

The rewrite is already available and a mirror is present at https://opam.ocaml.org/2.0 , to which the "master" version of opam gets automatically redirected.

Note that this scheme could be simplified once we handle a `provides:` field. But since this brings a whole lot of complications of its own, one thing at a time.

An alpha of opam 2.0 featuring all this, and much more, will be announced shortly for anyone keen on helping to test it :)

Best,
Louis -- OCamlPro


> - David Allsopp, 16/08/2016 12:54 -
> Damien Doligez wrote:
> > > On 2016-08-12, at 14:50, David Allsopp <dra-news@metastack.com> wrote:
> > >
> > > If such a change were agreed, it would also be possible to alter opam
> > lint (or at least opam-repository linting, once that's fully a "thing") to
> > display a lint warning/info that things like ocaml {< "4.05"} probably
> > mean "ocaml" {< "4.05~~"}.
> > 
> > So every mention of an OCaml version number in every opam package
> > description file will have to be suffixed with a ~. And that has to be
> > done before we change the OCaml numbering scheme.
> 
> Yes, but as far as OPAM packages are concerned, it sounds as though that's what we "should" already be doing. It's also something that can be done mechanically (cf. the removal of ocamlbuild in 4.03.0).
> 
> > And I still don't know what's the upside, except for "that's how Debian
> > does it"...
> 
> It would mean that OPAM would be automatically clear that the release version (4.05.0) is superior to the release candidate (4.05.0~rc1) - that's philosophically nice, if nothing else. That said, I don't think there's any technical reason why the OPAM package version has to match the OCaml version exactly; it'd just be mildly confusing.
> 
> 
> David
> 
> 

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

* Re: [Caml-list] OCaml 4.04.0+beta1
  2016-08-26 14:00                     ` Louis Gesbert
@ 2016-09-05  9:24                       ` Goswin von Brederlow
  0 siblings, 0 replies; 23+ messages in thread
From: Goswin von Brederlow @ 2016-09-05  9:24 UTC (permalink / raw)
  To: caml-list

On Fri, Aug 26, 2016 at 04:00:15PM +0200, Louis Gesbert wrote:
> I confirm what has been said before: opam follows the Debian convention of having `1.0~foo` < `1.0` < `1.0+foo` ; and you would generally write the constraint as `< 4.04` to exclude `4.04.0~beta` from the range, although for finer constraints you can need a suffix `~`, e.g. `< 4.04.1~` to avoid including `4.04.1~beta`. But constraints shouldn't depend on patch versions right ?
> 
> On the other hand, constraints such as `>= 4.04.0` don't include betas if named `4.04.0~beta`, while it would include `4.04.0+beta`

dpkg --compare-versions "4.04.1~" "<<" "4.04.1~beta" && echo yes
yes

Did you mean you need 4.04.1~ to include 4.04.1~beta?

MfG
	Goswin

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

end of thread, other threads:[~2016-09-05  9:24 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-09 13:15 [Caml-list] OCaml 4.04.0+beta1 Damien Doligez
2016-08-09 14:24 ` Goswin von Brederlow
2016-08-11 15:10   ` Damien Doligez
2016-08-11 16:28     ` David Allsopp
2016-08-12 10:47       ` Damien Doligez
2016-08-12 10:58         ` Fabrice Le Fessant
2016-08-12 12:09           ` Damien Doligez
2016-08-12 12:23             ` Daniel Bünzli
2016-08-12 12:25             ` Grégoire Henry
2016-08-12 12:50               ` David Allsopp
2016-08-16 12:37                 ` Damien Doligez
2016-08-16 12:44                   ` Gabriel Scherer
2016-08-16 12:54                   ` David Allsopp
2016-08-26 14:00                     ` Louis Gesbert
2016-09-05  9:24                       ` Goswin von Brederlow
2016-08-12 12:46         ` David Allsopp
2016-08-12 14:56     ` [Caml-list] Debian's version-numbering convention Hendrik Boom
2016-08-12 15:57       ` David Allsopp
2016-08-12 16:06         ` Hendrik Boom
2016-08-09 16:06 ` [Caml-list] OCaml 4.04.0+beta1 Mohamed Iguernlala
2016-08-10 16:42   ` Mohamed Iguernlala
2016-08-10 16:46   ` Anil Madhavapeddy
2016-08-12 10:09 ` Fabrice Le Fessant

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