If anyone would like to chime in and say that OCaml build and packaging system is not that complicated, I would recommend first looking at https://github.com/rizo/awesome-ocaml#package-management . IMHO we need to seriously look at consolidating efforts around OPAM for package management, packaging, building, testing and running. All the serious language-specific package managers do it, it's a proven strategy and it simplifies life for the developer.

This could be a typical workflow:

cd some-ocaml-proj
opam install # Switches compiler if necessary and installs and locally caches package dependencies
opam build
opam run # Automatically builds if necessary
opam test # Ditto
opam package # Ditto; --upload option can immediately upload to opam
opam doc # Builds documentation with ocamldoc or whatever
opam login -u user -p password



On Mon, Nov 26, 2018 at 5:15 AM Oliver Bandel <oliver@first.in-berlin.de> wrote:

a while ago it looked like there were not enough build- and installation-tools
for OCaml. I remember some discussions about that.

Now it seems to me that there are a lot of them.
So, developers can pick the one they know about.

For all these tools there might be good reasons to use them, and those
developers who looked at these tools and choose them for their projects, will
know them well enough.

The situation differs, if one wants to package the written software,
and one needs to know many of those tools, just to compile the stuff.
So, when one just wants to compile and install some software,
just for that, it would take much effort to learn the different build-tools.

So, packaging has become more complicated, even though for the developers
these tools may save time.

It would be nice if people who used one of the many new building tools
could provide a Makefile that allows just to type
"make" and "make install", instead of expecting everyone who wants to compile
the software to first learn just-another-build-tool.

Also it would be good, to mention early, which installation tools (make-dependencies)
are in use, and too mention needed packages (opam or others) to just build the stuff.

Thanks and regards,
  Oliver Bandel

Caml-list mailing list.  Subscription management and archives:
https://sympa.inria.fr/sympa/arc/caml-list https://inbox.ocaml.org/caml-list
Forum: https://discuss.ocaml.org/
Bug reports: http://caml.inria.fr/bin/caml-bugs