Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tag: 2011.4.0.0-rc1
Fetching contributors…

Cannot retrieve contributors at this time

57 lines (34 sloc) 1.908 kB
Windows installer for the Haskell Platform.
How to make an installer
------------------------
0. Install GHC, msys, nsis and darcs (http://wiki.darcs.net/Binaries).
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, parsec, network, HTTP (in this order). Make sure to use appropriate
versions (see haskell-platform.cabal).
(That is: download/unpack the .tar.gz, runghc Setup.hs
configure -p/build/install; or use ghc-install.sh).
2. Manually install cabal-install
3. cabal update
cabal install alex-$ALEX_VERSION happy-$HAPPY_VERSION
4. darcs get --lazy http://code.haskell.org/haskell-platform/
5. cd haskell-platform && cabal install
Make sure that you have library-profiling set to True and user-install set to
False in $APPDATA/cabal/config.
Make sure that you have glut.h and libglut32.a in $GHCDIR/mingw/{include/GL,lib}.
6. Move all stuff from $PROGRAMFILES/Haskell/{bin,lib} to
$GHCDIR/{lib/extralibs/bin,lib/extralibs}.
7. Run recache.py (editing it beforehand to fix the paths).
Run 'ghc-pkg check' to check that 'recache.py' caused no problems.
8. Copy $GHCDIR to $THISDIR/files & uninstall GHC.
Don't forget to remove unins000.dat and unins000.exe from $THISDIR/files.
9. 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).
10. Update GHC_VERSION and PLATFORM_VERSION variables in Nsisfile.nsi.
11. Copy $THISDIR/icons/*.ico to $THISDIR/files/icons
12. gen_files_for_nsis.py files inst.dat uninst.dat
13. Build the installer (right-click Nsisfile.nsi -> Compile NSIS Script).
14. Test the installer.
I usually check that regex-posix and glut work.
Jump to Line
Something went wrong with that request. Please try again.