Trying to fix priorities of various GHC/Haskell package versions.

svn path=/nixpkgs/trunk/; revision=24701
This commit is contained in:
Andres Löh 2010-11-15 20:28:42 +00:00
parent bc1f04c744
commit feecbd4ee3
2 changed files with 20 additions and 16 deletions

View File

@ -1820,8 +1820,8 @@ let
# reducing the number or "enabled" versions again. # reducing the number or "enabled" versions again.
# Helper functions to abstract away from repetitive instantiations. # Helper functions to abstract away from repetitive instantiations.
haskellPackagesFun = ghcPath : profDefault : recurseIntoAttrs (import ./haskell-packages.nix { haskellPackagesFun = ghcPath : profDefault : modifyPrio : recurseIntoAttrs (import ./haskell-packages.nix {
inherit pkgs newScope; inherit pkgs newScope modifyPrio;
enableLibraryProfiling = getConfig [ "cabal" "libraryProfiling" ] profDefault; enableLibraryProfiling = getConfig [ "cabal" "libraryProfiling" ] profDefault;
ghc = callPackage ghcPath { ghc = callPackage ghcPath {
ghc = ghc6101Binary; }; ghc = ghc6101Binary; };
@ -1829,32 +1829,32 @@ let
# Currently active GHC versions. # Currently active GHC versions.
haskellPackages_ghc6101 = haskellPackages_ghc6101 =
haskellPackagesFun ../development/compilers/ghc/6.10.1.nix false; haskellPackagesFun ../development/compilers/ghc/6.10.1.nix false (x : x);
haskellPackages_ghc6102 = haskellPackages_ghc6102 =
haskellPackagesFun ../development/compilers/ghc/6.10.2.nix false; haskellPackagesFun ../development/compilers/ghc/6.10.2.nix false (x : x);
haskellPackages_ghc6103 = haskellPackages_ghc6103 =
haskellPackagesFun ../development/compilers/ghc/6.10.3.nix false; haskellPackagesFun ../development/compilers/ghc/6.10.3.nix false (x : x);
haskellPackages_ghc6104 = haskellPackages_ghc6104 =
haskellPackagesFun ../development/compilers/ghc/6.10.4.nix false; haskellPackagesFun ../development/compilers/ghc/6.10.4.nix false (x : x);
haskellPackages_ghc6121 = haskellPackages_ghc6121 =
haskellPackagesFun ../development/compilers/ghc/6.12.1.nix false; haskellPackagesFun ../development/compilers/ghc/6.12.1.nix false (x : x);
haskellPackages_ghc6122 = haskellPackages_ghc6122 =
haskellPackagesFun ../development/compilers/ghc/6.12.2.nix false; haskellPackagesFun ../development/compilers/ghc/6.12.2.nix false (x : x);
# Current default version. # Current default version.
haskellPackages_ghc6123 = haskellPackages_ghc6123 =
haskellPackagesFun ../development/compilers/ghc/6.12.3.nix false; haskellPackagesFun ../development/compilers/ghc/6.12.3.nix false (x : x);
haskellPackages_ghc701 = haskellPackages_ghc701 =
lowPrio (haskellPackagesFun ../development/compilers/ghc/7.0.1.nix false); haskellPackagesFun ../development/compilers/ghc/7.0.1.nix false lowPrio;
haskellPackages_ghcHEAD = haskellPackages_ghcHEAD =
lowPrio (haskellPackagesFun ../development/compilers/ghc/head.nix false); haskellPackagesFun ../development/compilers/ghc/head.nix false lowPrio;
haxeDist = import ../development/compilers/haxe { haxeDist = import ../development/compilers/haxe {
inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper neko; inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper neko;

View File

@ -1,8 +1,12 @@
{pkgs, newScope, ghc, enableLibraryProfiling ? false}: {pkgs, newScope, ghc, enableLibraryProfiling ? false, modifyPrio ? (x : x)}:
let ghcReal = pkgs.lowPrio ghc; in let ghcOuter = ghc; in
let result = let callPackage = newScope result; in # We redefine callPackage to take into account the new scope. The optional
# modifyPrio argument can be set to lowPrio to make all Haskell packages have
# low priority.
let result = let callPackage = x : y : modifyPrio (newScope result x y); in
# Indentation deliberately broken at this point to keep the bulk # Indentation deliberately broken at this point to keep the bulk
# of this file at a low indentation level. # of this file at a low indentation level.
@ -13,14 +17,14 @@ rec {
# -> http://github.com/MarcWeber/hack-nix. Read its README file. # -> http://github.com/MarcWeber/hack-nix. Read its README file.
# You can install (almost) all packages from hackage easily. # You can install (almost) all packages from hackage easily.
inherit ghcReal; ghcReal = pkgs.lowPrio ghcOuter;
# In the remainder, `ghc' refers to the wrapper. This is because # In the remainder, `ghc' refers to the wrapper. This is because
# it's never useful to use the wrapped GHC (`ghcReal'), as the # it's never useful to use the wrapped GHC (`ghcReal'), as the
# wrapper provides essential functionality: the ability to find # wrapper provides essential functionality: the ability to find
# Haskell packages in the buildInputs automatically. # Haskell packages in the buildInputs automatically.
ghc = callPackage ../development/compilers/ghc/wrapper.nix { ghc = callPackage ../development/compilers/ghc/wrapper.nix {
ghc = ghcReal; ghc = ghcOuter;
}; };
cabal = callPackage ../development/libraries/haskell/cabal/cabal.nix {}; cabal = callPackage ../development/libraries/haskell/cabal/cabal.nix {};