Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Windows installer for the Haskell Platform (old repo).
NSIS Python Haskell Shell
Tree: 02d85c031c

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: ActivePerl, 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.

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, '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 files).
   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/

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 & put it into $THISDIR/files/winghci.

    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.

    I usually check that regex-posix and glut work.
Something went wrong with that request. Please try again.