snoyberg/haskell-windows-installer — pull request #1 by ndmitchell (2014-12-09 16:21:07+00:00)
Title: Rewrite everything in Haskell

I've rewritten everything in Haskell, and added lots of functionality. The new Main.hs script requires nsis (latest as of a few hours ago), Shake and the extra library. It's a Shake build system to grab the files, then the NSIS library to generate the installer file. The overview improvements are:

* No bash, just Haskell.
* Use the bzip2 GHC files, since the xv ones are a lot harder to extract on Windows (I couldn't manage it).
* Shake means we get transactions (half downloaded files aren't considered present) and parallelism.
* I renamed the NSIS installer to MinGHC, instead of LTSHaskell (my guess is thats the project you started from). Feel free to pick a different name if you wish.
* I made the installer write out a switcher file, so you can put just the switch (`minghc-7.8.3.bat`) on the PATH, and run that to put the rest on the PATH.
* If you pass a command line arg it considers that to be the version of GHC to use, e.g. `runhaskell Main 7.8.2` build an older installer.

With all that done, it is a really nice experience. I'd love to have copies for all GHC releases, and ideally GHC nightlies - they're about 20 times more useful than the ones provided by GHC HQ.