diff --git a/pkgs/development/compilers/gcc-4.0/default.nix b/pkgs/development/compilers/gcc-4.0/default.nix index 5d81ecbfd74d..8e7724865599 100644 --- a/pkgs/development/compilers/gcc-4.0/default.nix +++ b/pkgs/development/compilers/gcc-4.0/default.nix @@ -1,7 +1,8 @@ { stdenv, fetchurl, noSysDirs , langC ? true, langCC ? true, langF77 ? false , profiledCompiler ? false -,gmp ? null , mpfr ? null +, gmp ? null , mpfr ? null +, texinfo ? null }: assert langC; @@ -24,6 +25,7 @@ stdenv.mkDerivation { buildInputs = [] ++ (if gmp != null then [gmp] else []) ++ (if mpfr != null then [mpfr] else []) + ++ (if texinfo != null then [texinfo] else []) ; configureFlags = " diff --git a/pkgs/development/compilers/gcc-4.1/default.nix b/pkgs/development/compilers/gcc-4.1/default.nix index e6d5452512e0..f01696b36648 100644 --- a/pkgs/development/compilers/gcc-4.1/default.nix +++ b/pkgs/development/compilers/gcc-4.1/default.nix @@ -4,6 +4,7 @@ , staticCompiler ? false , gmp ? null , mpfr ? null +, texinfo ? null }: assert langC || langF77; @@ -66,5 +67,6 @@ stdenv.mkDerivation ({ // (if gmp != null || mpfr != null then { buildInputs = [] ++ (if gmp != null then [gmp] else []) - ++ (if mpfr != null then [mpfr] else []); + ++ (if mpfr != null then [mpfr] else []) + ++ (if texinfo != null then [texinfo] else []); } else {})) diff --git a/pkgs/development/compilers/gcc-4.2/default.nix b/pkgs/development/compilers/gcc-4.2/default.nix index 2681531f2044..a027512f5083 100644 --- a/pkgs/development/compilers/gcc-4.2/default.nix +++ b/pkgs/development/compilers/gcc-4.2/default.nix @@ -2,6 +2,7 @@ , langC ? true, langCC ? true, langF77 ? false , profiledCompiler ? false , staticCompiler ? false +, texinfo ? null }: assert langC; @@ -32,6 +33,9 @@ stdenv.mkDerivation { inherit noSysDirs profiledCompiler staticCompiler; + buildInputs = [] + ++ optional (texinfo != null) [texinfo]; + configureFlags = " --disable-multilib --disable-libstdcxx-pch diff --git a/pkgs/development/tools/misc/texinfo/4.9.nix b/pkgs/development/tools/misc/texinfo/4.9.nix new file mode 100644 index 000000000000..fd42093e561d --- /dev/null +++ b/pkgs/development/tools/misc/texinfo/4.9.nix @@ -0,0 +1,10 @@ +{stdenv, fetchurl, ncurses}: + +stdenv.mkDerivation { + name = "texinfo-4.9"; + src = fetchurl { + url = mirror://gnu/texinfo/texinfo-4.9.tar.bz2; + sha256 = "0h7q9h405m88fjj067brzniiv8306ryl087pgjpmbpd2jci9h6g7"; + }; + buildInputs = [ncurses]; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1bf3f007775e..9ef5d47c0adb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1094,13 +1094,20 @@ rec { inherit fetchurl stdenv noSysDirs; }); + # XXX: GCC 4.2 (and possibly others) misdetects `makeinfo' when + # using Texinfo >= 4.10, just because it uses a stupid regexp that + # expects a single digit after the dot. As a workaround, we feed + # GCC with Texinfo 4.9. Stupid bug, hackish workaround. + gcc40 = wrapGCC (import ../development/compilers/gcc-4.0 { inherit fetchurl stdenv noSysDirs; + texinfo = texinfo49; profiledCompiler = true; }); gcc41 = useFromStdenv (stdenv ? gcc) stdenv.gcc (wrapGCC (import ../development/compilers/gcc-4.1 { inherit fetchurl stdenv noSysDirs; + texinfo = texinfo49; profiledCompiler = false; })); @@ -1108,6 +1115,7 @@ rec { gcc42 = lowPrio (wrapGCC (import ../development/compilers/gcc-4.2 { inherit fetchurl stdenv noSysDirs; + texinfo = texinfo49; profiledCompiler = true; })); @@ -1990,6 +1998,10 @@ rec { javaSupport = true; })); + texinfo49 = import ../development/tools/misc/texinfo/4.9.nix { + inherit fetchurl stdenv ncurses; + }; + texinfo = import ../development/tools/misc/texinfo { inherit fetchurl stdenv ncurses; };