[Haskell-cafe] GHC update from 7.8.4 to 7.10.1 breaks 1, 500 packages in NixOS

Peter Simons simons at cryp.to
Tue Mar 31 11:14:15 UTC 2015

Hi guys,

the Nixpkgs distribution [1] contains all of Hackage -- 7,898 packages at
the time of this writing --, and we regularly build these packages with
GHC 7.8.4 in our CI environment [2] running NixOS Linux. About 3,000 of
these builds are disabled outright, because we know they won't succeed
anyway (i.e. they have dependencies we cannot fulfill), but the remaining
5,000 packages compile successfully most of the time.

Now, a few days ago, we created a separate build job [2] that compiles the
same package set with GHC 7.10.1, and the result is interesting: with the
newer compiler, approximately 1,500 packages are broken compared to the
state with 7.8.4. A detailed list of broken packages can be found at [4].

Keep in mind that those figures only approximate reality. For instance, we
patch packages sometimes to make their builds succeed even though the
pristine version would not, and so far much more effort has gone into
fixing 7.8.4 builds than we spent on fixing 7.10.1 builds. Also, some
packages may compile fine when you run "cabal install <foo>" on your
workstation, but those builds may fail in the context of NixOS for
whatever reason. If anyone were to repeat this experiment on Darwin,
Windows, Ubuntu, or Red Hat, the results would be different from our

Still, based on the information we have, it's probably fair to say that
the GHC 7.10.1 update breaks approximately 30% of all Haskell builds that
worked with 7.8.4.

Best regards,

[1] https://github.com/nixos/nixpkgs
[2] http://hydra.cryp.to/jobset/nixpkgs/haskell-updates
[3] http://hydra.cryp.to/jobset/nixpkgs/haskell-updates-ghc7101
[4] http://hydra.cryp.to/eval/304489#tabs-still-fail

More information about the Haskell-Cafe mailing list