* 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; builder = if langF77 then ./fortran.sh else ./builder.sh;
src = src =
[(fetchurl { optional /*langC*/ true (fetchurl {
url = mirror://gnu/gcc/gcc-4.1.2/gcc-core-4.1.2.tar.bz2; url = mirror://gnu/gcc/gcc-4.1.2/gcc-core-4.1.2.tar.bz2;
sha256 = "07binc1hqlr0g387zrg5sp57i12yzd5ja2lgjb83bbh0h3gwbsbv"; 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; url = mirror://gnu/gcc/gcc-4.1.2/gcc-g++-4.1.2.tar.bz2;
sha256 = "1qm2izcxna10jai0v4s41myki0xkw9174qpl6k1rnrqhbx0sl1hc"; 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; url = mirror://gnu/gcc/gcc-4.1.2/gcc-fortran-4.1.2.tar.bz2;
sha256 = "0772dhmm4gc10420h0d0mfkk2sirvjmjxz8j0ywm8wp5qf8vdi9z"; sha256 = "0772dhmm4gc10420h0d0mfkk2sirvjmjxz8j0ywm8wp5qf8vdi9z";
})] else []); });
patches = patches =
optional noSysDirs [./no-sys-dirs.patch]; optional noSysDirs [./no-sys-dirs.patch];

View File

@ -40,6 +40,7 @@ if test "$noSysDirs" = "1"; then
done done
makeFlagsArray=( \ makeFlagsArray=( \
"${makeFlagsArray[@]}" \
NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
LIMITS_H_TEST=true \ LIMITS_H_TEST=true \
@ -68,18 +69,24 @@ postInstall() {
# Remove `fixincl' to prevent a retained dependency on the # Remove `fixincl' to prevent a retained dependency on the
# previous gcc. # previous gcc.
rm -rf $out/libexec/gcc/*/*/install-tools rm -rf $out/libexec/gcc/*/*/install-tools
rm -rf $out/lib/gcc/*/*/install-tools
# Get rid of some "fixed" header files # Get rid of some "fixed" header files
rm -rf $out/lib/gcc/*/*/include/root 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
if test -z "$profiledCompiler"; then buildFlags="bootstrap $buildFlags"
buildFlags="bootstrap $buildFlags" else
else buildFlags="profiledbootstrap $buildFlags"
buildFlags="profiledbootstrap $buildFlags"
fi
fi fi
genericBuild genericBuild

View File

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

View File

@ -1,4 +1,4 @@
args: with args; {stdenv, fetchurl, unicodeSupport ? false, cplusplusSupport ? true}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "pcre-7.4"; name = "pcre-7.4";
@ -7,7 +7,8 @@ stdenv.mkDerivation {
sha256 = "1rdks2h5f3p2d71c4jnxaic1c9gmgsfky80djnafcdbdrhzkiyx5"; sha256 = "1rdks2h5f3p2d71c4jnxaic1c9gmgsfky80djnafcdbdrhzkiyx5";
}; };
configureFlags = configureFlags =
if unicodeSupport then (if unicodeSupport then
"--enable-unicode-properties --enable-shared --disable-static" "--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 then pkgsDiet.gawk
else pkgsStatic.gawk; else pkgsStatic.gawk;
gcc = import ../../development/compilers/gcc-4.1 { gcc = import ../../development/compilers/gcc-4.2 {
inherit (pkgs) fetchurl stdenv; inherit (pkgs) fetchurl stdenv;
noSysDirs = true; noSysDirs = true;
langCC = false; langCC = false;
staticCompiler = true; staticCompiler = true;
profiledCompiled = true;
}; };
curl = pkgsDiet.realCurl; curl = pkgsDiet.realCurl;

View File

@ -46,7 +46,7 @@ cp $findutils/bin/find tools/bin
cp $findutils/bin/xargs tools/bin cp $findutils/bin/xargs tools/bin
cp $diffutils/bin/* tools/bin cp $diffutils/bin/* tools/bin
cp $gnused/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 cp $gawk/bin/gawk tools/bin
ln -s gawk tools/bin/awk ln -s gawk tools/bin/awk
cp $gnutar/bin/* tools/bin cp $gnutar/bin/* tools/bin

View File

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