Introduction

GODI is a source-based package management system for the OCaml ecosystem. It provides an easy and consistent method of configuring, building, installing, upgrading, and removing software needed by OCaml developers: The OCaml compiler itself and a large list of libraries and development tools.

WODI is an extended Windows port of GODI. Its build system and package tools rely on Cygwin, but the libraries and programs, compiled with mingw-w64 and OCaml, are independent of Cygwin.

WODI differs from the official GODI distribution in the following ways:

  • It ships compiled libraries and binaries for Windows (for 32- and 64-bit systems). You don’t need to build the OCaml compiler and third-party libraries from source. Patching and compiling packages from source is of course still possible.
  • The source code and build instructions of many packages have been patched for better Windows support.
  • It provides many often used external libraries (pcre, gmp, zlib, gtk, …) that are usually already installed on *nix systems, but are not available at default on Windows. They are often difficult to install for inexperienced users.
  • There is a GTK based user interface that hides the Cygwin shell and the GODI console from casual users.
  • It provides improved Cygwin and Windows integration.
  • The installation is easier and less time consuming.
  • WODI is maintained.

News

( Archive )

OCaml 4.02.1 released

October 17, 2014

Windows binary builds for OCaml 4.02.1 are now available. Download links for the 32-bit and 64-bit build can be found in the download section.

You can upgrade from an existing installation of OCaml 4.02.0 with

godi_upgrade

or from source code with:

godi_update
godi_perform -rebuild -newer

The OCaml 4.02.0 builds are not longer maintained. If you still want to continue to use the binary builds for this OCaml version (or revert back to it), you have to change the repository address at /opt/wodi(32|64)/etc/godi.conf from

GODI_BINPKG_SERVER=http://dl.arirux.de/7/binaries${MINGW_WORDSIZE}/

to

GODI_BINPKG_SERVER=http://dl.arirux.de/7.old/binaries${MINGW_WORDSIZE}/


OCaml 4.02.0 available

September 04, 2014

WODI, the OCaml distribution for Windows, now officially supports OCaml 4.02.0. Updated installers and archives can be found in the download section.

Not all packages are yet officially ported to OCaml 4.02.0. In some cases, they were patched, so that depending libraries and program could be built; the rest will hopefully be available soon.

The changes to WODI apart from the upgrade to OCaml 4.02.0 were already discussed in the previous posts that announces OCaml 4.02.0rc1 and 4.02.0beta:

  • external libraries are now based on fedora’s repository.

  • better integration into cygwin (windows-style newlines \r\n breaks autoconf scripts and many makefile, they are therefore disabled for common invocations like ocamlc -where).

  • the quote handling of ocamlbuild was changed.

  • the performance of godi-tools has been improved.

Upgrade

Instead of upgrading a previous version, it’s probably easier to start with a fresh installation:

/opt/wodi32/lib/godi/winconfig --remove # This removes environment
  # variables that were set by WODI from the environment outside cygwin
mv -i /opt/wodi32 /opt/wodi32.old
wget 'http://ml.ignorelist.com/wodi/7/wodi32.tar.xz' -O - | tar -C /tmp -xJf-
bash /tmp/wodi32/install.sh
eval $(/opt/wodi32/sbin/godi_env)
godi_add godi-core_kernel godi-batteries # your favorite packages here

Or just use the installer and install WODI to a different location. You can use different installations of cygwin/WODI in parallel. Just disable the export of environment variables like PATH or OCAMLLIB during the installation process (and don’t create links in the start menu).



OCaml 4.02.0 / release candidate 1

August 21, 2014

[Edit: the files now contain the final release of OCaml 4.02.0, not OCaml 4.02.0rc1]

OCaml 4.02.0rc1 was released today:

If you are already using OCaml 4.02.0beta, you can upgrade your installation with

$ godi_upgrade

or (if you don’t use the pre-built binary packages)

$ godi_update
$ godi_perform -rebuild -newer

OCaml has been slightly modified for WODI:

Please let me know, if you have any problems with these changes. Otherwise, I will also apply the patches to the final release of OCaml 4.02.0.



OCaml 4.02.0-beta

May 31, 2014

I’m pleased to announce the availability of the first builds of OCaml 4.02.0-beta:

[edit: builds last updated on 25 July 2014; problems related to Windows XP are hopefully fixed now]

The builds also include several other changes besides the upgrade to OCaml-4.02beta, that I want to test before making an “official” release in July/August:

  • an experimental patch has been applied to ocamlbuild. (The trunk ocamlbuild can’t quote properly and calls cmd.exe to start bash, which then in turn calls the real command, e.g. ocamlc. This is obviously slow and error prone due the obscure quoting rules and other restrictions of cmd.exe that are usually ignored.)
  • godi-tools has been updated. Some operations should be considerably faster now.
  • the external c/c++ libraries (the base-* packages) are not longer taken from openSUSE. They are now loosely based on fedora’s repository.

Upgrading an existing installation is not possible at the moment, you need to create a fresh installation. The new version of godi-tools introduces incompatibilities to the old one. I have not yet created a build, that makes the transition between the two version possible.



OCaml 4.01.0 bug fix build online

May 10, 2014

A bug fix build of ocaml 4.01.0 is now available at the usual location. This build includes patches for #5959, #6273, #6328, #6332, and #6361.

If you are using the official binary packages, you can upgrade from shell with:

$ godi_upgrade

If godi_upgrade doesn’t exist, you have an older version of godi-tools installed. In this case, use the GUI (“WODI Package Manager”) and upgrade first godi-tools-gui and then godi-tools (In two steps, not at once. Older releases of godi-tools-gui have a bug. You can’t update godi-tools with these versions). Then proceed with godi_upgrade.

If you want to continue to use the old builds for some time (or revert back to it), you can change the repository address at /opt/wodi(32|64)/etc/godi.conf from

GODI_BINPKG_SERVER=http://dl.arirux.de/5/binaries${MINGW_WORDSIZE}/

to

GODI_BINPKG_SERVER=http://dl.arirux.de/5.old/binaries${MINGW_WORDSIZE}/