pkgs/top-level/all-packages.nix: prefer makeOverridable over getConfig to customize libc version

Previously, the getConfig variable 'brokenRedHatKernel' was used to switch back
to glibc 2.5, which fixes various run-time problems on Red Hat Linux. Now, the
same can be achieved by configuring

  {
    packageOverrides = pkgs:
    {
      glibc = pkgs.useFromStdenv "glibc" pkgs.glibc25;
    };
  }

in $NIXPKGS_CONFIG. Similarly, the argument 'installLocales' can be overridden
by setting:

  {
    packageOverrides = pkgs:
    {
      glibc = pkgs.useFromStdenv "glibc" (pkgs.glibc25.override { installLocales = true; });
    };
  }

svn path=/nixpkgs/trunk/; revision=21865
This commit is contained in:
Peter Simons 2010-05-19 12:25:54 +00:00
parent aa600ed8f7
commit 7f0dc973f4

View File

@ -3866,17 +3866,12 @@ let
inherit (xlibs) libX11 libXext xextproto;
};
glibc =
let haveRedHatKernel = system == "i686-linux" || system == "x86_64-linux";
haveBrokenRedHatKernel = haveRedHatKernel && getConfig ["brokenRedHatKernel"] false;
in
useFromStdenv "glibc" (if haveBrokenRedHatKernel then glibc25 else
glibc211);
glibc = useFromStdenv "glibc" glibc211;
glibc25 = import ../development/libraries/glibc-2.5 {
glibc25 = makeOverridable (import ../development/libraries/glibc-2.5) {
inherit fetchurl stdenv;
kernelHeaders = linuxHeaders;
installLocales = getPkgConfig "glibc" "locales" false;
installLocales = false;
};
glibc27 = import ../development/libraries/glibc-2.7 {