On behalf of the opam dev team, I’m happy to announce the first beta release of opam 2.2.0.
What’s new in this beta?
opam init on Windows now requires you to choose which Git to use. Git for Windows is now recommended by default, though Cygwin’s Git can of course still be used. See the blog post linked below for more info on why choose one over the other.
when compiling opam on Windows with MinGW, the resulting opam binary now contains libstdc++ instead of requiring the DLL to be distributed alongside it or to be present in the environment during compilation
fix opam env containing carriage return on Cygwin - eval $(opam env) now works from a Cygwin bash terminal
There is no date no, it’ll be there when opam and opam-repository work out of the box on Windows.
On opam itself there is a fairly small amount of things left that you can see here:
On opam-repository the work on making the compiler packages compatible with Windows was fairly involved and is still in progress. There is no central place where the todo list for this is but there should be some news on what’s left to be done next week or so.
If you’re not using Windows however, feel free to think of this beta release as stable, all the alpha/beta releases have been extensively tested on Linux and macOS for the past 2 years
I’m not sure what symlink behavior you are referring to but keep in mind that MSYS2 (used by DkML) has a philosophy and implementation details that are quite different than Cygwin (the default for opam 2.2): https://www.msys2.org/wiki/How-does-MSYS2-differ-from-Cygwin/ … “Replacement of symlinks with copying, so that Windows programs don’t trip up on these files.”.
Aside 1: I have a few Windows patches for ocamlbuild that would require significant ocamlbuild rewrites (and some breakage) to upstream, and regardless it isn’t worth it to upstream because ocamlbuild looks like it is unmaintained. Anyway, the ocamlbuild patches are in https://github.com/diskuv/diskuv-opam-repository/tree/2.1.0
Aside 2: DkML takes every effort to avoid requiring administrative permissions. In many environments, especially schools and school-provided laptops, administrative permissions are a showstopper (at least where I’m from). Visual Studio is the last major piece of DkML that requires admin, and there is a workaround (using the same technique that Rust does) that may eventually be incorporated. Anyway, I hope we aren’t backing ourselves into a permanent one-way door by requiring admin.
Being one of the ocamlbuild maintainers (currently too busy on opam do to this work myself) I can assure you that upstream ocamlbuild with Windows support will definitely happen during the 2.2.0 Release Candidate period.
The current focus is on upstreaming the compiler in opam-repository, once that’s done and we have a Windows CI in opam-repository, we should be able to have someone working on upstreaming the patches to at least a couple of key packages which includes ocamlbuild.