Since the OCaml 4.12.0 release is near, I thought I would report on a
few changes from my previous message.
On Tue, Feb 2, 2021 at 9:08 AM Jerry James <loganjerry(a)gmail.com> wrote:
Thanks for handling the rebuilds. I want to note that there be a
few
dragons lurking in wait for the ocaml 4.12.0 release. I maintain some
packages that need to be updated for 4.12.0. The problematic one is
ocaml-ppxlib. It is currently on version 0.15.0. The latest upstream
version is 0.21.0. All versions > 0.15.0 require
ocaml-migrate-parsetree >= 2.0. The 2.x ocaml-migrate-parsetree
versions break ocaml-ppx-tools-versioned. There is ongoing effort to
move all ocaml-ppx-tools-versioned consumers over to ocaml-ppxlib, but
it isn't quite done. To avoid breaking Fedora packages, this is what
needs to be done, in approximate package build order:
Due to some upstream activity, this is what the list looks like now.
- ocaml-base: 0.14.0 -> 0.14.1
- ocaml-migrate-parsetree: 1.8.0 -> 2.1.0
- ocaml-ppxlib: 0.15.0 -> 0.22.0
- ocaml-bisect-ppx: 2.5.0 -> 2.6.0
- ocaml-tyxml: apply this pull request to switch to ppxlib:
https://github.com/ocsigen/tyxml/pull/271
- ocaml-lwt: 5.3.0 -> 5.4.0
- ocaml-ppx-deriving: 5.1 -> 5.2.1
- ocaml-ppx-optcomp: 0.14.0 -> 0.14.1
- ocaml-ppx-sexp-conv: 0.14.1 -> 0.14.2
- ocaml-sedlex: 2.2 -> 2.3
- ocaml-ppx-custom-printf: 0.14.0 -> 0.14.1
- ocaml-ppx-fields-conv: 0.14.1 -> 0.14.2
- Retire ocaml-ppx-tools-versioned
I have done some test builds to flush out problems. The ocaml-tyxml
pull request cannot be applied as is. First, it doesn't apply cleanly
due to commits made after the 4.4.0 release. Second, it doesn't work
due to changes made to ppxlib after the pull request was made. I've
modified the pull request into a patch that fixes both issues. I am
concerned that that pull request has not been updated since last July.
The ocaml-lwt 5.4.0 release adds a dependency on the "luv" library,
which we do not have in Fedora. Getting it means adding a handful of
new ocaml packages, namely:
- bigarray-compat:
https://bugzilla.redhat.com/show_bug.cgi?id=1927441
- integers:
https://bugzilla.redhat.com/show_bug.cgi?id=1927442
- ctypes:
https://bugzilla.redhat.com/show_bug.cgi?id=1927443
- luv:
https://bugzilla.redhat.com/show_bug.cgi?id=1927444
Also, since ocaml-ppxlib is becoming a dependency of ocaml-txyml,
ocaml-ppxlib and all of its dependencies will become transitive
dependencies of ocaml-odoc, which means we cannot build documentation
for those packages with odoc without introducing circularities. I'll
add "%bcond_with doc" or something similar to handle this, unless
someone has a better idea.
Richard, what's the best way to handle all of this? I can open pull
requests on all of the above packages, so you only have to merge them
before starting the ocaml 4.12 builds. Or, since I am the primary
maintainer for most of them, I can simply push to git when you say you
are ready to start. Let me know what works best for you.
--
Jerry James
http://www.jamezone.org/