mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2025-01-04 01:42:53 +03:00
* Glibc 2.7.
* Hack to remove the dependency on Perl. * Hack to work around this bug: http://sourceware.org/bugzilla/show_bug.cgi 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. The error message for reference: ../sysdeps/i386/fpu/s_frexp.S: Assembler messages: ../sysdeps/i386/fpu/s_frexp.S:66: Error: invalid identifier for ".ifdef" ../sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1' ... ../sysdeps/i386/fpu/s_frexp.S:66: Error: ".endif" without ".if" ../sysdeps/i386/fpu/s_frexp.S:66: Error: junk `.get_pc_thunk.dx' after expression Now Glibc builds again with GCC 4.x. svn path=/nixpkgs/branches/stdenv-updates/; revision=9660
This commit is contained in:
parent
3b1aac231b
commit
b5409b8e98
@ -16,6 +16,13 @@ preConfigure() {
|
|||||||
--replace "@PWD@" "pwd"
|
--replace "@PWD@" "pwd"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# In the glibc 2.6/2.7 tarballs C-translit.h is a little bit older
|
||||||
|
# than C-translit.h.in, forcing Make to rebuild it unnecessarily.
|
||||||
|
# This wouldn't be problem except that it requires Perl, which we
|
||||||
|
# don't want as a dependency in the Nixpkgs bootstrap. So force
|
||||||
|
# the output file to be newer.
|
||||||
|
touch locale/C-translit.h
|
||||||
|
|
||||||
mkdir ../build
|
mkdir ../build
|
||||||
cd ../build
|
cd ../build
|
||||||
|
|
||||||
|
@ -1,18 +1,16 @@
|
|||||||
{ stdenv, fetchurl, kernelHeaders
|
{ stdenv, fetchurl, kernelHeaders
|
||||||
,perl
|
|
||||||
, installLocales ? true
|
, installLocales ? true
|
||||||
, profilingLibraries ? false
|
, profilingLibraries ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "glibc-2.6.1-nptl";
|
name = "glibc-2.7";
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
|
|
||||||
src =
|
src = fetchurl {
|
||||||
fetchurl {
|
url = mirror://gnu/glibc/glibc-2.7.tar.bz2;
|
||||||
url = http://ftp.gnu.org/gnu/glibc/glibc-2.6.1.tar.bz2;
|
sha256 = "06j5q20l11x8kcrl9bg15xgb1pw0w82pazikxf4zvq2fmhiaa922";
|
||||||
sha256 = "08pcfsi9zpikjakljklks2ln3hn7544cr9br4kbh5kx27cy3mv9x";
|
};
|
||||||
};
|
|
||||||
|
|
||||||
patches = [ ./glibc-pwd.patch ./glibc-getcwd-param-MAX.patch ];
|
patches = [ ./glibc-pwd.patch ./glibc-getcwd-param-MAX.patch ];
|
||||||
|
|
||||||
@ -20,12 +18,17 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
inherit (stdenv) is64bit;
|
inherit (stdenv) is64bit;
|
||||||
|
|
||||||
buildInputs=[perl];
|
|
||||||
|
|
||||||
# `--with-tls --without-__thread' enables support for TLS but causes
|
# `--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
|
# it not to be used. Required if we don't want to barf on 2.4
|
||||||
# kernels. Or something.
|
# kernels. Or something.
|
||||||
configureFlags="--enable-add-ons
|
configureFlags="--enable-add-ons
|
||||||
--with-headers=${kernelHeaders}/include
|
--with-headers=${kernelHeaders}/include
|
||||||
${if profilingLibraries then "--enable-profile" else "--disable-profile"}";
|
${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";
|
||||||
}
|
}
|
||||||
|
@ -1747,8 +1747,7 @@ rec {
|
|||||||
});
|
});
|
||||||
|
|
||||||
glibcNPTL = import ../development/libraries/glibc-nptl {
|
glibcNPTL = import ../development/libraries/glibc-nptl {
|
||||||
inherit fetchurl kernelHeaders perl;
|
inherit fetchurl stdenv kernelHeaders;
|
||||||
stdenv = overrideGCC stdenv gcc34;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
glibmm = import ../development/libraries/gtk-libs-2.6/glibmm {
|
glibmm = import ../development/libraries/gtk-libs-2.6/glibmm {
|
||||||
|
Loading…
Reference in New Issue
Block a user