[Nix-dev] Trying to nix-shell a Haskell package tries to build its older version.

Mateusz Kowalczyk fuuzetsu at fuuzetsu.co.uk
Sat May 3 04:52:46 CEST 2014


On 05/01/2014 07:44 AM, Mateusz Kowalczyk wrote:
> Hi,
> 
> There are some patches in git repository of HTTP Haskell package that I
> need so I thought, hey, I'll just make a default.nix there and play with
> it that way.
> 
> However, when I run
> 
> NIX_PATH=/home/shana/programming nix-shell
> 
> it does not build. In fact, in the build log (attached as ‘blog’), I can
> see that it tries to pull compile the 4000.2.12 version of HTTP while
> I'm trying to work with 4000.2.13! Understandably 4000.2.12 fails to
> build as the compiler I'm using (GHC HEAD-ish) made some changes which
> make it fail. In fact, the patches which make HTTP work again are
> precisely what is in 4000.2.13 and what I'd like to work with.
> 
> I also attach my default.nix for HTTP.
> 
> I'm working with GHC 7.9.20140430 which is not currently attached but I
> have in a personal branch in nixpkgs.
> 
> I don't know what I'm doing wrong here, and I need the patched HTTP for
> another project. If I try to use it from there, same thing happens: it
> tries to use 4000.2.12 instead.
> 
> 
> 
> _______________________________________________
> nix-dev mailing list
> nix-dev at lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
> 

It seems that if I add

      HTTP = self.HTTP_4000_2_13;

to the ghcHEADPrefs block in haskell-defaults.nix then 4000.2.12 is not
pulled in. I think what's happening is that HTTP_4000_2_12 is defined to
be used in haskellPlatformArgs_future and ghcHEAD block inherits that
without overwriting.

Is this a correct way to do this?

I'll be a much happier person if this build goes through.

-- 
Mateusz K.


More information about the nix-dev mailing list