Back when I started working on packaging the dependencies of odoc, I had a vision of a tree of nicely cross-referenced documentation for Fedora OCaml packages. That vision has not come to pass, and probably never will. To achieve it, we would have to do bootstrap builds of all packages in the odoc dependency tree, then start the builds over again with documentation included. That would be a big hassle. Most of the documentation is online anyway, and OCaml developers will probably use opam to generate a tree of nicely cross-linked documentation, so the payoff for doing that extra work would be small.
As a result, I propose that going forward we remove odoc from the BuildRequires of OCaml packages and consequently stop building the documentation. Does anybody object?
Hi Jerry,
Jerry James loganjerry@gmail.com writes:
Back when I started working on packaging the dependencies of odoc, I had a vision of a tree of nicely cross-referenced documentation for Fedora OCaml packages. That vision has not come to pass, and probably never will. To achieve it, we would have to do bootstrap builds of all packages in the odoc dependency tree, then start the builds over again with documentation included. That would be a big hassle. Most of the documentation is online anyway, and OCaml developers will probably use opam to generate a tree of nicely cross-linked documentation, so the payoff for doing that extra work would be small.
As a result, I propose that going forward we remove odoc from the BuildRequires of OCaml packages and consequently stop building the documentation. Does anybody object?
I do not object as I don't have the cycles to make odoc build.
However after a call with Marián today, he brought up the idea of bootstrapping odoc similarly to how it is done for Maven. If I understood it correctly, then Maven is bootstrapped from bundled source (maven + all of its dependencies), that are then build from scratch and afterwards Maven builds its dependencies from the bootstrap and then finally itself again from the bootstrapped dependencies.
Could we maybe use this approach with odoc? I.e. we "just" dump all of its dependencies into a huge tarball, build them all into the buildroot only and build odoc from that?
Cheers,
Dan
On Wed, Jun 29, 2022 at 8:53 AM Dan Čermák dan.cermak@cgc-instruments.com wrote:
I do not object as I don't have the cycles to make odoc build.
However after a call with Marián today, he brought up the idea of bootstrapping odoc similarly to how it is done for Maven. If I understood it correctly, then Maven is bootstrapped from bundled source (maven + all of its dependencies), that are then build from scratch and afterwards Maven builds its dependencies from the bootstrap and then finally itself again from the bootstrapped dependencies.
Could we maybe use this approach with odoc? I.e. we "just" dump all of its dependencies into a huge tarball, build them all into the buildroot only and build odoc from that?
Ugh. That idea makes me itch all over. :-) I don't object if somebody else wants to spearhead that effort, but I don't want to undertake it. I think it would be fragile.
Again, the payoff seems small. I don't think acquiring the high quality documentation (that we have never yet had in Fedora) is worth a lot of effort. Anybody who needs it can use opam to generate it.
On Tue, Jun 28, 2022 at 04:50:37PM -0600, Jerry James wrote:
Back when I started working on packaging the dependencies of odoc, I had a vision of a tree of nicely cross-referenced documentation for Fedora OCaml packages. That vision has not come to pass, and probably never will. To achieve it, we would have to do bootstrap builds of all packages in the odoc dependency tree, then start the builds over again with documentation included. That would be a big hassle. Most of the documentation is online anyway, and OCaml developers will probably use opam to generate a tree of nicely cross-linked documentation, so the payoff for doing that extra work would be small.
As a result, I propose that going forward we remove odoc from the BuildRequires of OCaml packages and consequently stop building the documentation. Does anybody object?
I made a few of them optional (default off) already, and I don't object to you removing them entirely if you want.
Rich.
ocaml-devel@lists.fedoraproject.org