Preparing for ocaml 4.11

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This message is mostly for Richard Jones, but I'm sending it to the
list so that others who maintain OCaml packages can weigh in if they
choose.  I have BCCed a few of you that are affected by some
suggestions I make below.

I have spent the last several days doing mock builds to see if I can
safely update all the OCaml packages I maintain to their latest
versions, since some have new versions that are specifically for OCaml
4.11 compatibility.  The following remarks, in no particular order,
stem from that effort.

First the good news: I was able to build all the updated versions
successfully, although see below.

Some of the recently-added packages have boolean dependencies, which I
added at the reviewer's request in order to mimic the version
requirements in the opam files.  The ocaml-ppx-custom-printf spec
file, for example, has this:

BuildRequires:  (ocaml-base-devel >= 0.13 and ocaml-base-devel < 0.14)

It never occurred to me until now to ask if your (Richard's) ocaml
rebuild script can handle such dependencies.  Can it?  (And I lost the
link to the script.  Can you supply it again?)

The utop package has a new version, 2.6.0, that brings OCaml 4.11
compatibility.  However, it requires version 3.1.x of
ocaml-lambda-term, which has a new dependency, mew_vi, that we do not
have in Fedora.  The mew_vi module requires mew, which requires trie.
I have submitted review requests and am waiting for somebody to
respond to yesterday's request for review swaps:
https://bugzilla.redhat.com/show_bug.cgi?id=1850263
https://bugzilla.redhat.com/show_bug.cgi?id=1850264
https://bugzilla.redhat.com/show_bug.cgi?id=1850265

I successfully updated all of the Jane Street packages that are
currently on version 0.13.x to version 0.14.0.  However, one of them
is going to be somewhat problematic.  The ocaml-ppx-inline-test
package has a new dependency, time_now.  The time_now module has 11
dependencies that we do not already have in Fedora.  All 11, and
time_now itself, were on my roadmap for eventual inclusion in Fedora,
but I had not intended to pursue them just yet.  I haven't put any of
the 11 up for review yet, although I have written spec files and done
local mock builds for them all.  I need to go over them once more and
then I'll put them up for review.  If the timeframe to an ocaml 4.11
build is too short to wait for that, we may have to disable tests for
packages that currently consume ocaml-ppx-inline-test, and leave it in
a broken state until those reviews can be completed.

I would like to see some updates to other people's packages.  For all
of the following, I have the necessary spec file changes ready to show
to the maintainers should they like to see them.

Updating ocaml-bisect-ppx to its latest version requires updating
ocaml-ppx-tools-versioned to version 5.4.0 or later.

I suggest that we update to ocaml-ocplib-endian from version 1.0 to
1.1.  It includes fixes for a couple of issues
(https://github.com/OCamlPro/ocplib-endian/issues/20 and
https://github.com/OCamlPro/ocplib-endian/issues/21) that I think we
would like to have resolved.  This entails a change to building with
dune.  Unfortunately, a new issue makes some tests fail
(https://github.com/OCamlPro/ocplib-endian/issues/18), but I hope to
find a workaround for that soon.

I suggest an update to ocaml-result from version 1.2 to 1.5.  This
version makes Result an alias of Stdlib.Result on recent OCaml
versions.  Again, this entails a change to building with dune.

We could also update ocaml-seq to 0.2.2 just to drop the downstream
patches (this is yet another conversion to building with dune, by the
way), but I don't know that there is any other advantage to updating.

We could update ocaml-react to version 1.2.1 to drop the downstream
patch.  This entails a license change.

A rebuild seems like a good opportunity to update ocaml-lwt to version
5.3.0.  With this version, a number of spec file simplifications are
possible.

I've got changes ready to update ocaml-sedlex to version 2.2 AND add a
%check script.

I've been wondering about uchar and stdlib-shims.  We don't need them
in Fedora, but then we don't really need ocaml-result or ocaml-seq
either.  Should we add uchar and stdlib-shims, just so we can stop
modifying upstream dune and opam files?  That might also benefit
Fedora users who try to build using Fedora's ocaml ecosystem.

Maybe I should do COPR builds of all this so everybody can easily see
what I'm talking about?  I did a total of 63 package builds in mock,
many of them simple rebuilds, so it will take a little time to get
that going.  Do we know yet what the timeframe is for an ocaml 4.11
release?
-- 
Jerry James
http://www.jamezone.org/
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux