[opam-devel] OPAM on Windows (1.3 Roadmap)

Fabrice Le Fessant Fabrice.Le_fessant at inria.fr
Wed Nov 5 21:17:28 GMT 2014


On Wed, Nov 5, 2014 at 9:18 PM, David Allsopp
<david.allsopp at metastack.com> wrote:
> Indeed - though, as someone using and developing on Windows pretty much all the time, I have yet to see this "problem" (I mean the "problem" of needing to install either Cygwin or MSYS, not the conflict). It only seems a problem in the eyes of people who don't use Windows or are incapable of following a couple more steps than simply being able to run sudo apt-get install ocaml!

OcpWin targets users wanting to set up a minimal environment for
playing with OCaml. So, it does not require Cygwin nor MSYS to be
used. However, it works well with MSYS, less with Cygwin. As I said,
there are no impossible tasks here, and maybe alternatives are a
couple more steps away, yet, still, there are people who won't do
these few steps, and some other ones will find the complexity of
having multiple layers troublesome (OCaml using MinGW on Cygwin, and
its "cygpath" game).

> If you are going to essentially embed all the tools, it's also worth having some kind of option to allow it to use those already installed.

Not sure to I get your point. Some parts of the distribution have to
be compiled (in C) against specific DLLs, so you cannot really provide
a distribution that will accommodate with whatever is installed
(another mingw version, msvc compilers, etc.).

> My point for OPAM really is that Cygwin already works (as it should), so it's not really much of a target for the roadmap!

My former attempts at building packages with ocamlbuild on Windows
failed, but I don't have your daily experience of Windows environment
(and of ocamlbuild...). You will probably go much further than I
could.

> So you used MSYS to get the MinGW compiler, rather than Cygwin? I fail to see how that's really any more or less "natural" than using the Cygwin ones!

No, we just use a native version of Mingw, independent of MSYS and
CYGWIN. We want to modify the packages so that they can be compiled
without any Unix tool (cp, rm, sh, etc.). Also, our aim is not to
provide the same environment as OPAM: we think more about providing
binary packages, that will be updated less often, and probably almost
never compiled by our users. If you can manage to make OPAM works,
then we could even switch to using your OPAM version to build such
binary packages.

--Fabrice


More information about the opam-devel mailing list