2008-10-12 Hackage status with GHC 6.10 release candidate
dons at galois.com
Sun Oct 12 17:46:05 EDT 2008
The GHC 6.10 RCs are out, and we're preparing the release. To help manage the
transistion to GHC 6.10 it is now possible to actually build all the 3rd party
Haskell packages, and publish their results wrt. the release candidate.
For the first time ever, we're able to have all the 3rd party code
tested and ready to go *prior* to the release of the new compiler and
Using GHC 6.10 RC, Cabal 1.6 and cabal-install 1.16, of 682 libraries and apps
tried in total,
Note that these builds are with "soft deps", provided on hackage,
base < 4
parsec < 3
HaXml == 1.13.*
QuickCheck < 2
which train cabal-install to build a larger set of packages.
The important result:
*46 packages produce different results to ghc 6.8.2*
These packages and their logs are listed below.
If you maintain one of the following packages, and are able to fix it before
GHC 6.10 is released, your users will be happy.
The most common issues for these differences are,
* Changes to Arrow class definition
* Changes to types of Map and Set functions
* Cabal changes
* Changes to ghc-api
* Changes to when 'forall' is parsed (add Rank2Types)
* GHC.Prim was moved,
* Changes to -fvia-C and headers
* GADT changes,
* pragma warnings tightened
* Integer constructors have moved
* New warnings and used -Werror
How to address these, as library maintainers, is addressed here,
Build reports for everything, produced today, are here,
The following packages are producing different results than with ghc 6.8.2.
Package maintainers are invited to look at them.
If you'd like to try your own build of all of hackage, grab a package
list (such as this one),
Install a GHC 6.10 release candidate, upgrade to Cabal 1.6 (on hackage),
and cabal-install 0.6 (on hackage), and then simply,
cabal install -v -O0 $(cat pkgs-6.10) --build-reports
This will construct a clever plan to install all the packages in the
right order, and write logs to ~/.cabal/logs and a full structured build
report into ~/.cabal/packages/hackage.*/build-report.log
More information about the Libraries