Hi Daniel, > Nix includes several versions of GHC, and one of the few cases where > we include multiple versions of a Haskell library is when that library > ships with GHC or Haskell Platform. Eg, 10 versions of HTTP, 9 > versions of GLUT. > > We end up telling Hydra to build every version of the library against > every version of GHC, when what we actually want is to pick a library > version based on the GHC version. (With maybe some overlap.)
yes, exactly, that is the problem we have. We keep old versions of libraries around because we need them to support, say GHC 6.12.3 or an old Haskell Platform, but newer compilers cannot build those packages any more. Still, Hydra tries to build every single package in haskell-packages.nix with the latest compiler. Ideally, Hydra would build no Haskell package that has a version number as part of its attribute name. For example, Hydra should build HTTP, but not HTTP_4000_0_6, HTTP_4000_0_9, HTTP_4000_1_1, and so on. Furthermore, Hydra builds the Haskell package set in 4 separate copies: haskellPackages_ghc783_no_profiling haskellPackages_ghc783_profiling haskellPackages_ghc783 haskellPackages This means that every failing package contributes 4 build errors to the statistics. Of course, we have also our fair share of packages that are just plain broken. I'm sure many packages that worked with GHC 7.0.4 have bit-rotted away by now, but nobody notices because the package is obsolete anyway. Just my 2 cents, Peter _______________________________________________ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev