-
Notifications
You must be signed in to change notification settings - Fork 0
Windows installer for the Haskell Platform (old repo).
License
23Skidoo/haskell-platform-windows
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Windows installer for the Haskell Platform. This is a legacy repo, most current version lives in https://github.com/haskell/haskell-platform/ (specifically, https://github.com/haskell/haskell-platform/tree/master/hptool/os-extras/win). 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 $ ghc-install.sh 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 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, '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 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 $GHCDIR/{lib/extralibs/bin,lib/extralibs}. 7. Run recache.py (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/haddock-gen-index.py (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 $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. $ gen_list_files_for_nsis.py 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.
About
Windows installer for the Haskell Platform (old repo).
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published