maranget / hevea

Hevea is a fast latex to html translator
http://hevea.inria.fr
Other
98 stars 12 forks source link

Building hevea without ocamlbuild #59

Open cessenat opened 3 years ago

cessenat commented 3 years ago

Hello, In Hevea "README" it is indicated that one can choose TARGET=byte if "ocamlbuild" is not installed. But, in that case, script "ocn.sh" still calls "ocamlbuild". Is there a way to correct that ? Thanks. Olivier Cessenat.

maranget commented 3 years ago

Hello, The README file looks completely outdated, as it does not even mention ocamlbuild. This file surely needs an update.

However ocamlbuild is required for compiling hevea, ocamlbuild is easily installed with opam.

cessenat commented 3 years ago

Thanks for answering that fast. As you mention the README, the Makefile and install.sh also keep traces of "byte" TARGET rule, which lead me to think it could still be valid.

So, we actually need to assume hevea requires ocamlbuild which itself requires ocaml, right ?

Le 08/02/2021 à 20:11, Luc Maranget a écrit :

Hello, The README file looks completely outdated, as it does not even mention ocamlbuild. This file surely needs an update.

However ocamlbuild is required for compiling hevea, ocamlbuild is easily installed with |opam|.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maranget/hevea/issues/59#issuecomment-775376142, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJXB6GCPF4DJCSBI6HGR33TS6AZORANCNFSM4XJATUKA.

maranget commented 3 years ago

So, we actually need to assume hevea requires ocamlbuild which itself requires ocaml, right ?

You are correct, I have slightly corrected the README file, so as to state that ocaml and ocamlbuild are required for building hevea. That said, hevea is on opam (the OCAML package manager) and the version of hevea available on opam is up to date. Hence, having installed opam, installing hevea is as simple as

opam install hevea
cessenat commented 3 years ago

Thanks. My aim is to make an spack package description for hevea. I've already just made a PR for ocamlbuild. Ocaml itself is already in spack.

Maybe you would prefer to add hevea yourself, in what case I can provide my file to you, what do you think ?

PS: I use hevea for ftagshtml for instance.

Le 09/02/2021 à 11:48, Luc Maranget a écrit :

So, we actually need to assume hevea requires ocamlbuild which
itself requires ocaml, right ?

You are correct, I have slightly corrected the README file, so as to state that ocaml and ocamlbuild are required for building hevea. That said, hevea is on |opam| (the OCAML package manager) and the opam version is up to date. Hence, having installed opam, installing hevea is as simple as

|opam install hevea |

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maranget/hevea/issues/59#issuecomment-775849334, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJXB6GFFZG65P65ASBWFWCTS6EHIPANCNFSM4XJATUKA.

maranget commented 3 years ago

Fine, I'd rather have you to take care of hevea spack package if you don't mind.... Do not hesitate to fill an issue if some problem still occurs.

Thanks

cessenat commented 3 years ago

OK I'll do it ; for the moment waiting for my PR to be accepted for ocamlbuild, while learning to use git and github...

Le 10/02/2021 à 17:50, Luc Maranget a écrit :

Fine, I'd rather have you to take care of hevea spack package if you don't mind.... Do not hesitate to fill an issue if some problem still occurs.

Thanks

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maranget/hevea/issues/59#issuecomment-776852434, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJXB6GGJWD4H4VT6PZBRQ2DS6K2MBANCNFSM4XJATUKA.

cessenat commented 3 years ago

By the way, do you consider switching to "Dune" in the future, as the ocambuild pages seems to advise it ?

cspiel commented 3 years ago

The build process already relies on GNU(?) Make e.g. to launch ocamlbuild(1) or to build the documentation. The project's directory structure is so simple that we could remove the ocamlbuild dependency and solely construct Hevea with Make. The heavy lifting, i.e. computing the module dependencies can done by ocamldep(1), which is part of the OCaml compiler suite.

maranget commented 3 years ago

Hi @cspiel, ocamlbuild is more robust to changes than plain Makefile. It is also simpler. However transition to dune, a more modern and maintained tool is an option.