-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
83 lines (58 loc) · 2.84 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
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.