summaryrefslogtreecommitdiffstats
path: root/pkgs/development/libraries/glibc-2.7/default.nix
blob: 8a5a84bd2c678b21eebf1cd2fa7a72e916c679ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{ stdenv, fetchurl, kernelHeaders
, installLocales ? true
, profilingLibraries ? false
}:

stdenv.mkDerivation {
  name = "glibc-2.7";
  builder = ./builder.sh;

  src = fetchurl {
    url = mirror://gnu/glibc/glibc-2.7.tar.bz2;
    sha256 = "06j5q20l11x8kcrl9bg15xgb1pw0w82pazikxf4zvq2fmhiaa922";
  };

  patches = [ ./glibc-pwd.patch ./glibc-getcwd-param-MAX.patch ];

  inherit kernelHeaders installLocales;

  inherit (stdenv) is64bit;

  # `--with-tls --without-__thread' enables support for TLS but causes
  # it not to be used.  Required if we don't want to barf on 2.4
  # kernels.  Or something.
  configureFlags="--enable-add-ons
    --with-headers=${kernelHeaders}/include
    ${if profilingLibraries then "--enable-profile" else "--disable-profile"}";

  # Workaround for this bug:
  #   http://sourceware.org/bugzilla/show_bug.cgi?id=411
  # I.e. when gcc is compiled with --with-arch=i686, then the
  # preprocessor symbol `__i686' will be defined to `1'.  This causes
  # the symbol __i686.get_pc_thunk.dx to be mangled.
  NIX_CFLAGS_COMPILE = "-U__i686";
}