* pcre: don't compile with C++ support when doing a dietlibc build.

* GCC 4.2: restore the ability to build a statically linked compiler,
  needed for the Nixpkgs bootstrap.
* GCC 4.2: use symlinks instead of hard links in $out/bin
  (NIXPKGS-62).

svn path=/nixpkgs/branches/stdenv-updates/; revision=9771
This commit is contained in:
Eelco Dolstra 2007-11-21 19:28:54 +00:00
parent 10d9d4b456
commit 8b3186528e
7 changed files with 31 additions and 21 deletions

View File

@ -15,18 +15,18 @@ stdenv.mkDerivation ({
builder = if langF77 then ./fortran.sh else ./builder.sh;
src =
[(fetchurl {
optional /*langC*/ true (fetchurl {
url = mirror://gnu/gcc/gcc-4.1.2/gcc-core-4.1.2.tar.bz2;
sha256 = "07binc1hqlr0g387zrg5sp57i12yzd5ja2lgjb83bbh0h3gwbsbv";
})] ++
(if /*langCC*/ true then [(fetchurl {
}) ++
optional /*langCC*/ true (fetchurl {
url = mirror://gnu/gcc/gcc-4.1.2/gcc-g++-4.1.2.tar.bz2;
sha256 = "1qm2izcxna10jai0v4s41myki0xkw9174qpl6k1rnrqhbx0sl1hc";
})] else []) ++
(if langF77 then [(fetchurl {
}) ++
optional langF77 (fetchurl {
url = mirror://gnu/gcc/gcc-4.1.2/gcc-fortran-4.1.2.tar.bz2;
sha256 = "0772dhmm4gc10420h0d0mfkk2sirvjmjxz8j0ywm8wp5qf8vdi9z";
})] else []);
});
patches =
optional noSysDirs [./no-sys-dirs.patch];

View File

@ -40,6 +40,7 @@ if test "$noSysDirs" = "1"; then
done
makeFlagsArray=( \
"${makeFlagsArray[@]}" \
NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
LIMITS_H_TEST=true \
@ -68,18 +69,24 @@ postInstall() {
# Remove `fixincl' to prevent a retained dependency on the
# previous gcc.
rm -rf $out/libexec/gcc/*/*/install-tools
rm -rf $out/lib/gcc/*/*/install-tools
# Get rid of some "fixed" header files
rm -rf $out/lib/gcc/*/*/include/root
# Replace hard links for i686-pc-linux-gnu-gcc etc. with symlinks.
for i in $out/bin/*-gcc*; do
if cmp -s $out/bin/gcc $i; then
ln -sfn gcc $i
fi
done
}
if test -z "$staticCompiler"; then
if test -z "$profiledCompiler"; then
buildFlags="bootstrap $buildFlags"
else
buildFlags="profiledbootstrap $buildFlags"
fi
if test -z "$profiledCompiler"; then
buildFlags="bootstrap $buildFlags"
else
buildFlags="profiledbootstrap $buildFlags"
fi
genericBuild

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation {
url = mirror://gnu/gcc/gcc-4.2.2/gcc-core-4.2.2.tar.bz2;
sha256 = "01hdwd4im2xzg159fk022zqyhlxphqvpmabd25bqb8fjbs2yi80a";
}) ++
optional /*langCC*/ true (fetchurl {
optional langCC (fetchurl {
url = mirror://gnu/gcc/gcc-4.2.2/gcc-g++-4.2.2.tar.bz2;
sha256 = "04xankxi3bi4gvgv8rq9h6w3bdx59bg9zh0zv6lyw373gy26ygmq";
}) ++
@ -47,7 +47,7 @@ stdenv.mkDerivation {
${if stdenv.isi686 then "--with-arch=i686" else ""}
";
makeFlags = if staticCompiler then "LDFLAGS=-static" else "";
NIX_EXTRA_LDFLAGS = if staticCompiler then "-static" else "";
passthru = { inherit langC langCC langF77; };

View File

@ -1,4 +1,4 @@
args: with args;
{stdenv, fetchurl, unicodeSupport ? false, cplusplusSupport ? true}:
stdenv.mkDerivation {
name = "pcre-7.4";
@ -7,7 +7,8 @@ stdenv.mkDerivation {
sha256 = "1rdks2h5f3p2d71c4jnxaic1c9gmgsfky80djnafcdbdrhzkiyx5";
};
configureFlags =
if unicodeSupport then
(if unicodeSupport then
"--enable-unicode-properties --enable-shared --disable-static"
else "";
else "") +
(if !cplusplusSupport then "--disable-cpp" else "");
}

View File

@ -48,11 +48,12 @@ let
then pkgsDiet.gawk
else pkgsStatic.gawk;
gcc = import ../../development/compilers/gcc-4.1 {
gcc = import ../../development/compilers/gcc-4.2 {
inherit (pkgs) fetchurl stdenv;
noSysDirs = true;
langCC = false;
staticCompiler = true;
profiledCompiled = true;
};
curl = pkgsDiet.realCurl;

View File

@ -46,7 +46,7 @@ cp $findutils/bin/find tools/bin
cp $findutils/bin/xargs tools/bin
cp $diffutils/bin/* tools/bin
cp $gnused/bin/* tools/bin
cp $gnugrep/bin/* tools/bin
cp $gnugrep/bin/grep tools/bin
cp $gawk/bin/gawk tools/bin
ln -s gawk tools/bin/awk
cp $gnutar/bin/* tools/bin

View File

@ -2155,11 +2155,12 @@ rec {
pcre = import ../development/libraries/pcre {
inherit fetchurl stdenv;
unicodeSupport = getFlag "unicode" "pcre" false;
cplusplusSupport = !stdenv ? isDietLibC;
};
poppler = import ../development/libraries/poppler {
inherit fetchurl stdenv qt4 cairo freetype fontconfig zlib libjpeg;
inherit (gtkLibs) glib gtk;
inherit fetchurl stdenv qt4 cairo freetype fontconfig zlib libjpeg;
inherit (gtkLibs) glib gtk;
};
popt = import ../development/libraries/popt {