Skip to content

Commit

Permalink
Update install instructions.
Browse files Browse the repository at this point in the history
  • Loading branch information
23Skidoo committed May 31, 2012
1 parent 1e5c8ba commit 2961e51
Showing 1 changed file with 48 additions and 31 deletions.
79 changes: 48 additions & 31 deletions README
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -3,54 +3,71 @@ Windows installer for the Haskell Platform.
How to make an installer How to make an installer
------------------------ ------------------------


0. Install GHC, msys, nsis and darcs (http://wiki.darcs.net/Binaries). 0. Install the prerequisites: ActivePerl, Python, MSYS and NSIS.
Make sure that you have the special build of nsis with large strings support. Install GHC.
Make sure that you have the special build of NSIS with large strings support.
Add $GHCDIR/mingw/bin to PATH. Add $GHCDIR/mingw/bin to PATH.


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


(That is: download/unpack the .tar.gz, runghc Setup.hs To install libraries manually:
configure -p/build/install; or use ghc-install.sh). $ wget http://...$PACKAGE.tar.gz

$ tar xzf $PACKAGE.tar.gz
2. Manually install cabal-install $ cd $PACKAGE

$ ghc-install.sh
3. cabal update
cabal install alex-$ALEX_VERSION happy-$HAPPY_VERSION 2. Manually install cabal-install:

$ wget http://...cabal-install-$VERSION.tar.gz
4. darcs get --lazy http://code.haskell.org/haskell-platform/ $ tar xzf cabal-install-$VERSION.tar.gz

$ cd cabal-install-$VERSION
5. cd haskell-platform && cabal install $ runghc Setup.hs configure

$ runghc Setup.hs build
Make sure that you have library-profiling set to True and user-install set to $ runghc Setup.hs install
False in $APPDATA/cabal/config.

3. $ cabal update
Make sure that you have glut.h and libglut32.a in $GHCDIR/mingw/{include/GL,lib}.
4. $ git clone https://github.com/haskell/haskell-platform.git
$ 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 6. Move all stuff from $PROGRAMFILES/Haskell/{bin,lib} to
$GHCDIR/{lib/extralibs/bin,lib/extralibs}. $GHCDIR/{lib/extralibs/bin,lib/extralibs}.


7. Run recache.py (editing it beforehand to fix the paths). 7. Run recache.py (editing it beforehand to fix the paths).
Run 'ghc-pkg check' to check that 'recache.py' caused no problems. 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/haddock-gen-index.py


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


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


9. Build winghci & put it into $THISDIR/files/winghci. 10. Build winghci & put it into $THISDIR/files/winghci.


Don't forget the runtime library (depends on the Visual Studio version: 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). 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. Update GHC_VERSION and PLATFORM_VERSION variables in Nsisfile.nsi.


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


12. gen_files_for_nsis.py files inst.dat uninst.dat 13. gen_files_for_nsis.py files inst.dat uninst.dat


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


14. Test the installer. 15. Test the installer.


I usually check that regex-posix and glut work. I usually check that regex-posix and glut work.

0 comments on commit 2961e51

Please sign in to comment.