Skip to content
Windows installer for the Haskell Platform (old repo).
NSIS Python Haskell Shell
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Windows installer for the Haskell Platform.

How to make an installer

0. Install the prerequisites: Python, MSYS and NSIS.
   Install GHC.
   Make sure that you have the special build of NSIS with large strings support.
   Add $GHCDIR/mingw/bin to PATH.
   Add $GHCDIR/perl to PATH.

1. Manually install cabal-install's dependencies: zlib, transformers,
   mtl, text, parsec, network, HTTP, random (in this order). Make sure
   to use appropriate versions (see haskell-platform.cabal).

   To install libraries manually:
   	 $ wget http://...$PACKAGE.tar.gz
         $ tar xzf $PACKAGE.tar.gz
	 $ cd $PACKAGE

2. Manually install cabal-install:
   	 $ wget http://...cabal-install-$VERSION.tar.gz
         $ tar xzf cabal-install-$VERSION.tar.gz
         $ cd cabal-install-$VERSION
         $ runghc Setup.hs configure
	 $ runghc Setup.hs build
 	 $ runghc Setup.hs install

3. $ cabal update

4. $ git clone
   $ cd haskell-platform
   $ git checkout pre-release

5. Make sure that you have 'library-profiling' set to True, 'shared' set to
   True, 'split-objs' set to True, 'user-install' set to False, and
   'documentation' set to True in $APPDATA/cabal/config.

   Make sure that you have glut.h and libglut32.a in
   $GHCDIR/mingw/{include/GL,lib} (can be copied from the previous Platform

   In the haskell-platform directory:
   $ cabal install
   $ cabal install alex-$ALEX_VERSION happy-$HAPPY_VERSION

6. Move all stuff from $PROGRAMFILES/Haskell/{bin,lib} to

7. Run (editing it beforehand to fix the paths).
   Run ghc-pkg recache.
   Run 'ghc-pkg check' to check that recaching caused no problems.

8. Go to $GHCDIR/doc/html/libraries and run $THISDIR/
(editing it beforehand)

9. Copy the contents of $GHCDIR to $THISDIR/files & uninstall GHC.

   Don't forget to remove unins000.dat and unins000.exe from $THISDIR/files.

10. Build winghci (or just copy from the previous HP files) & put it into

    Don't forget the runtime library (depends on the Visual Studio version:
    e.g. for MSVC 9 it's msvcr900.dll, can be checked with dependency walker).

11. Update GHC_VERSION and PLATFORM_VERSION variables in Nsisfile.nsi.

12. Copy $THISDIR/icons/*.ico to $THISDIR/files/icons

13. $ files inst.dat uninst.dat

14. Build the installer (right-click Nsisfile.nsi -> Compile NSIS Script).

15. Test the installer (see the 'test' dir).

    I usually check that regex-posix and glut work.

16. Don't forget to publish the MD5 sig when doing the release announcement.
Something went wrong with that request. Please try again.