[Nix-dev] Haskell build failures

Mateusz Kowalczyk fuuzetsu at fuuzetsu.co.uk
Fri Aug 8 21:29:31 CEST 2014


On 08/08/2014 09:19 PM, Peter Simons wrote:
> 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 at lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
> 

Can we not add a field to the Haskell expressions that's akin to the
usual ‘platforms’ field? If we know that somePackage_0_1_old doesn't
compile from 7.2 onwards, perhaps we could tell Hydra not to build it
with newer compilers. Seems like it would make a lot of breakage disappear.

-- 
Mateusz K.


More information about the nix-dev mailing list