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

Re: OCaml 4.08.0 and later...



Hello,

First: thanks a lot, Stéphane !

On Fri, Jul 12, 2019 at 10:26:35AM +0200, Stéphane Glondu wrote:
> Le 11/07/2019 à 22:24, Ralf Treinen a écrit :
> > I see that you have uploaded ocaml 4.08 to experimental, so that is great
> > news. I suppose that means that an ocaml transition is upcoming, once
> > ocaml has made it through the NEW queue (which currently has a 5 month
> > backlog)?
> 
> It depends on when it will make through the NEW queue... Besides, there
> is an ocaml 4.09.0~beta1, so I guess it's wiser to wait for 4.09.0 to do
> the transition.

It seems that the NEW queue is being processed recently.

> A few words about OCaml 4.08.0...
> - ocaml-mode has been dropped (now a separate project)

I think that makes a lot of sense. It means that we should package it,
of course, and possibly use the occassion to migrate it to elpa.

> Many debian/patches do not apply and are not obviously adapted; I chose
> to drop them for this upload to experimental. In particular:
> - a patch to allow compilation of ocaml-generated C files with a C++
> compiler, submitted upstream but somehow forgotten (the error being
> multiple declarations of the same name)

no opinion about that

> - a patch to change the behaviour of -custom, which has been rejected
> upstream because they don't want people to use -custom (the error being
> stripping such binaries would remove also the bytecode)

Are we having packages that are built using -custom ? Otherwise it
is probably not that important.

> - a patch to use deterministic names for preprocessed files, never
> submitted upstream it seems (the error being unreproducible builds)

That would be useful to restore, and to submit upstream. I can imagine
that upstream would be willing to integrate a patch that ensures 
reproducability for ocaml.

> - a patch to take into account hardening flags, never submitted

Probably useful, too.

> - dh_autoreconf and dh_dwz fail miserably; it should be investigated

I also had problems with dh_dwz in some of my packages. In these cases,
it was sufficient to overwrite like this:

override_dh_dwz:
ifeq ($(OCAML_HAVE_OCAMLOPT),yes)
        dh_dwz --no-dwz-multifile
endif


I tried to build the ocaml package from experimental, and had
two test failures:

List of failed tests:
    tests/lib-systhreads/'threadsigmask.ml' with 1.1.2 (native)
    tests/lib-unix/common/'process_pid.ml' with 1.2 (native)

but I didn't try yet to investigate.

> About 4.09.0... (I'm writing the following as I am thinking about it)
> 
> The graph library has moved to a separate project. This means there is
> no X any more in OCaml (the -nox distinction is no longer relevant). I
> propose to review the binary package layout:
> - put contents of /usr/lib/ocaml to libstdlib-ocaml{,-dev} and handle it
> like other OCaml libraries (in particular w.r.t. dh_ocaml)
> - put /usr/bin/ocamlrun* (and its manpages) to ocaml-base (and make it
> depend on libstdlib-ocaml)
> - put rest of /usr/bin (and its manpages) to ocaml (and make it depend
> on libstdlib-ocaml-dev)
> - put rest of /usr/share/man (.3o manpages) to libstdlib-ocaml-doc
> - retire ocaml-interp, ocaml-compiler-libs, ocaml-base-nox and ocaml-nox
> (i.e. make them transitional now and later remove them)

That sounds good to me.

-Ralf.


Reply to: