[ANNOUNCE] Shaking up GHC

Herbert Valerio Riedel hvriedel at gmail.com
Sat Jan 23 17:13:45 UTC 2016

On 2016-01-23 at 14:05:56 +0100, Andrey Mokhov wrote:
>> Are there any plans as to how to include it in the GHC tree? Does it
>> ship with all the libraries required to build the build system, will we
>> have a mini-build system to bootstrap it? If I recall correctly, we rely
>> on Cabal sandboxes on Linux/OSX and global Cabal library
>> installations on Windows in order to run it.
> The simplest way is to add the 'shake-build' folder to the GHC tree and
> ask first adopters of the new build system to globally install the
> dependencies (ansi-terminal, mtl, shake, QuickCheck). Then 'build.sh'
> and 'build.bat' scripts should work.
> I am open to suggestions on how to make this more convenient and
> robust. I've never used anything more advanced than a global cabal
> installation, so I'd appreciate input from more experienced users.

I think it's already quite convenient. After all, you're expected to
have a minimum GHC bootstrapping environment anyway. So having the tools
installed (as already do now, e.g. you need alex, happy, and ghc to be
able to work on GHC).

And the new cabal nix-store feature to show-case as tech-preview
together with GHC 8.0 makes this even more robust by avoiding pkg-db
breakages due to reinstalls, which would be the main reason not to
rely on "global installed dependency".

The shake-build.sh script simply needs to invoke `cabal new-build` to
generate the ghc shake build-tool executable.

More information about the ghc-devs mailing list