GNU bug report logs -
#53609
[PATCH] Add GHC 4 for the Haskell bootstrap
Previous Next
Reported by: Ricardo Wurmus <rekado <at> elephly.net>
Date: Fri, 28 Jan 2022 17:44:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
This patch adds GHC 4.08.2. GHC 4.08.2 is sufficient to build GHC 6.0.
GHC 6.6 was released in April 2007. To build 6.6 you need GHC > 5.04
(http://web.archive.org/web/20070426051520/http://hackage.haskell.org:80/trac/ghc/wiki/Building/Prerequisites)
or maybe 6.0
(http://web.archive.org/web/20071224035747/http://hackage.haskell.org:80/trac/ghc/wiki/Building/Prerequisites)
To build 6.8.* you need GHC >= 6.4
To build 6.10.* you need GHC >= 6.6
To build 7.4.* you need GHC >= 6.12
To build 7.6.* you need GHC >= 7.0.1
So with this chain we should be able to bootstrap GHC:
4.08.2 -> 6.0 -> 6.6 -> 6.12(?) -> 7.4 -> 7.6
Back to 4.08.2. It’s ancient and it’s not possible to build it even
with GCC 4.9; it will not fail, but it will print a bunch of serious
errors. So I’m using GCC 2.95, which we already have for the
early GCC bootstrap. That’s why all of this is in commencement.scm — it
may be worth exporting GCC 2.95, so that this whole GHC bootstrap can go
to haskell.scm instead of cluttering up commencement.scm.
I also need to use Perl 5.14, as one of the Perl scripts uses $*, which
used to enable multi-line regexp matching. It’s not easy to just remove
this and update the regular expressions with the /s or /m modifiers
because there are dozens of non-trivial regexes there that are affected
by $*. It would be very nice to patch this though.
Building with a more recent (but not latest) Perl works, but prints a
warning. That’s not okay, because $* simply has no effect in these
versions of Perl. Later this silent change was turned into a visible
error, which is why the build would fail with the latest Perl.
I used the “--enable-hc-boot” configure flag, which lets us bootstrap
from hc files. I don’t see a reason not to use them as they are proper
code; they don’t look generated nor are they unintelligible.
Comments on all this would be very welcome!
--
Ricardo
This bug report was last modified 3 years and 194 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.