I can only address a small subset of your comments as I don't usually
develop on Windows and hence lack any significant Windows experience...
> 2. Since the msys2 setup instructions are so simple and linear, perhaps it
> would be even better to put them in a shellscript and check that in? Then
> the wikipage would turn into a one-liner.
Fwiw, I recently tried msys2, but after wasting several hours I simply
couldn't get it to work in a way where I could ssh (tried Freesshd and
Winsshd) into an MSYS2 environemnt.
from now on the graphical Windows console/deskopt isn't required anymore
(which was my primary goal). Everything else can be done headless/remote
via ssh:
- `wget` ghc-7.6.3 windows bindist and unpack to /opt/ghc-7.6.3
- prepend /opt/ghc-7.6.3/bin/ and /opt/ghc-7.6.3/mingw/bin/ to user's
PATH via ~/.bash_profile or similiar
- follow similiar steps to grab cabal and install alex/happy like for
MSYS2; you need to pass `--configure-option=--build=x86_64-w64-mingw32`
to cabal, though.
- apt-cyg install automake git
- clone and build ghc as if it was MSYS2
> 3. Why is ghc-tarballs a git repository? That does not seem very wise.
[...]
> Could we have a stable folder under haskell.org/ to put the files in, to
> make sure that they never go away, and just wget/curl them from there?
http://thread.gmane.org/gmane.comp.lang.haskell.ghc.devel/4883/focus=4887
> 11. A build with the host gcc failed. I think the cause is that it is too
> new (4.9.1, significantly newer than 4.6.3 in ghc-tarballs). The build of
> the currently checked in GMP (libraries/integer-gmp) fails because a
> utility used in the build process segfaults. I tried upgrading gmp from
> 5.0.3 to 6.0.0, and 6.0.0 builds fine by itself but the ghc-specific patch
> used for 5.0.3 no longer applies (is it still necessary?). Oh brother. One
> of the advantages of tracking msys2's gcc would be that we would notice
> such breakage earlier. Shall I open an issue?
The patched in-tree GMP lib isn't necessary anymore with the rewritten
integer-gmp2 package (which was one of the motivations to do the rewrite
in the first place).
> Might be a good idea to put in a guard in the configure script to warn
> if a cygwin gcc is detected (or add explicit support for
> it). Actually, looks like there's already a related issue open,
> although I'm not quite sure what the scope is there (#8842
> <https://ghc.haskell.org/trac/ghc/ticket/8842>, thanks Thomas).
It'd be great if one couldn't only use Cygwin as a `build`-environment,
but also as the `host`-environment you compile for.
> 14. The test runner assumes native Windows Python, but it's only a few
> small changes away from working fine on the python2 provided by msys2,
> which would cut another external build dependency. Could someone review and
> merge my patches (#9604 <https://ghc.haskell.org/trac/ghc/ticket/9604>,
> #9626 <https://ghc.haskell.org/trac/ghc/ticket/9626>)? Thanks.
Fwiw, the test-runner seems to work fine with the Cygwin-provided Python
interpreter.