From eeed10ba8e1fd93e23c4c8ef4a296bbdc6df557a Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 9 Apr 2009 15:24:33 +0000 Subject: [PATCH] * g77 -> gfortran throughout. Got rid of the separate expressions/builders for Fortran. Tested by building Octave with gfortran 4.3. svn path=/nixpkgs/branches/stdenv-updates/; revision=14978 --- .../science/math/scilab/default.nix | 4 +- pkgs/build-support/gcc-wrapper/default.nix | 13 ++- pkgs/development/compilers/gcc-3.3/builder.sh | 2 +- .../development/compilers/gcc-3.3/default.nix | 4 +- .../development/compilers/gcc-4.0/default.nix | 15 ++- .../development/compilers/gcc-4.1/default.nix | 20 ++-- pkgs/development/compilers/gcc-4.1/fortran.sh | 86 -------------- .../development/compilers/gcc-4.2/default.nix | 24 ++-- .../development/compilers/gcc-4.2/fortran.nix | 73 ------------ pkgs/development/compilers/gcc-4.2/fortran.sh | 86 -------------- .../development/compilers/gcc-4.3/default.nix | 7 +- pkgs/development/interpreters/octave/hg.nix | 7 +- pkgs/top-level/all-packages.nix | 107 +++++++----------- 13 files changed, 96 insertions(+), 352 deletions(-) delete mode 100644 pkgs/development/compilers/gcc-4.1/fortran.sh delete mode 100644 pkgs/development/compilers/gcc-4.2/fortran.nix delete mode 100644 pkgs/development/compilers/gcc-4.2/fortran.sh diff --git a/pkgs/applications/science/math/scilab/default.nix b/pkgs/applications/science/math/scilab/default.nix index 09ae78bb46b..bbb34e08c46 100644 --- a/pkgs/applications/science/math/scilab/default.nix +++ b/pkgs/applications/science/math/scilab/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, lib, g77 +{stdenv, fetchurl, lib, gfortran , ncurses , Xaw3d, withXaw3d ? false #, withPVMlib ? false @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { md5 = "17a7a6aa52918f33d96777a0dc423658"; }; - buildInputs = [g77 ncurses] + buildInputs = [gfortran ncurses] ++ lib.optionals withGtk [gtk] ++ lib.optionals withOCaml [ocaml] ++ lib.optionals withX [x11] diff --git a/pkgs/build-support/gcc-wrapper/default.nix b/pkgs/build-support/gcc-wrapper/default.nix index 5d15796d4be..cbdab8b1a9a 100644 --- a/pkgs/build-support/gcc-wrapper/default.nix +++ b/pkgs/build-support/gcc-wrapper/default.nix @@ -5,7 +5,7 @@ # stdenv.mkDerivation provides a wrapper that sets up the right environment # variables so that the compiler and the linker just "work". -{ name ? "gcc-wrapper", stdenv, nativeTools, nativeLibc, nativePrefix ? "" +{ name ? "", stdenv, nativeTools, nativeLibc, nativePrefix ? "" , gcc ? null, libc ? null, binutils ? null, shell ? "" }: @@ -13,10 +13,17 @@ assert nativeTools -> nativePrefix != ""; assert !nativeTools -> gcc != null && binutils != null; assert !nativeLibc -> libc != null; -let gccVersion = (builtins.parseDrvName gcc.name).version; in +let + + gccVersion = (builtins.parseDrvName gcc.name).version; + gccName = (builtins.parseDrvName gcc.name).name; + +in stdenv.mkDerivation { - name = name + (if gcc != null && gccVersion != "" then "-" + gccVersion else ""); + name = + (if name != "" then name else gccName + "-wrapper") + + (if gcc != null && gccVersion != "" then "-" + gccVersion else ""); builder = ./builder.sh; setupHook = ./setup-hook.sh; diff --git a/pkgs/development/compilers/gcc-3.3/builder.sh b/pkgs/development/compilers/gcc-3.3/builder.sh index e72849cdcce..20973c2623b 100644 --- a/pkgs/development/compilers/gcc-3.3/builder.sh +++ b/pkgs/development/compilers/gcc-3.3/builder.sh @@ -26,7 +26,7 @@ EOF if test -n "$langCC"; then langs="$langs,c++" fi - if test -n "$langF77"; then + if test -n "$langFortran"; then langs="$langs,f77" fi diff --git a/pkgs/development/compilers/gcc-3.3/default.nix b/pkgs/development/compilers/gcc-3.3/default.nix index fc5d7a9bb97..777662af73a 100644 --- a/pkgs/development/compilers/gcc-3.3/default.nix +++ b/pkgs/development/compilers/gcc-3.3/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, noSysDirs -, langC ? true, langCC ? true, langF77 ? false +, langC ? true, langCC ? true, langFortran ? false }: assert langC; @@ -13,5 +13,5 @@ stdenv.mkDerivation { url = http://ftp.gnu.org/gnu/gcc/gcc-3.3.6/gcc-3.3.6.tar.bz2; md5 = "6936616a967da5a0b46f1e7424a06414"; }; - inherit noSysDirs langC langCC langF77; + inherit noSysDirs langC langCC langFortran; } diff --git a/pkgs/development/compilers/gcc-4.0/default.nix b/pkgs/development/compilers/gcc-4.0/default.nix index e25145cb623..45c5bedd99b 100644 --- a/pkgs/development/compilers/gcc-4.0/default.nix +++ b/pkgs/development/compilers/gcc-4.0/default.nix @@ -1,8 +1,9 @@ { stdenv, fetchurl, noSysDirs -, langC ? true, langCC ? true, langF77 ? false +, langC ? true, langCC ? true, langFortran ? false , profiledCompiler ? false , gmp ? null , mpfr ? null , texinfo ? null +, name ? "gcc" }: assert langC; @@ -10,8 +11,10 @@ assert langC; with import ../../../lib; stdenv.mkDerivation { - name = "gcc-4.0.4"; + name = "${name}-4.0.4"; + builder = ./builder.sh; + src = fetchurl { url = ftp://ftp.nluug.nl/mirror/languages/gcc/releases/gcc-4.0.4/gcc-4.0.4.tar.bz2; sha256 = "0izwr8d69ld3a1yr8z94s7y7k861wi613mplys2c0bvdr58y1zgk"; @@ -20,7 +23,7 @@ stdenv.mkDerivation { patches = optional noSysDirs [./no-sys-dirs.patch]; - inherit noSysDirs langC langCC langF77 profiledCompiler; + inherit noSysDirs langC langCC langFortran profiledCompiler; buildInputs = [gmp mpfr texinfo]; @@ -31,9 +34,9 @@ stdenv.mkDerivation { --with-system-zlib --enable-languages=${ concatStrings (intersperse "," - ( optional langC "c" - ++ optional langCC "c++" - ++ optional langF77 "f95" + ( optional langC "c" + ++ optional langCC "c++" + ++ optional langFortran "f95" ) ) } diff --git a/pkgs/development/compilers/gcc-4.1/default.nix b/pkgs/development/compilers/gcc-4.1/default.nix index 3034bd5da8f..c11c76acc89 100644 --- a/pkgs/development/compilers/gcc-4.1/default.nix +++ b/pkgs/development/compilers/gcc-4.1/default.nix @@ -1,19 +1,21 @@ { stdenv, fetchurl, noSysDirs -, langC ? true, langCC ? true, langF77 ? false +, langC ? true, langCC ? true, langFortran ? false , profiledCompiler ? false , staticCompiler ? false , gmp ? null , mpfr ? null , texinfo ? null +, name ? "gcc" }: -assert langC || langF77; +assert langC || langFortran; with import ../../../lib; stdenv.mkDerivation { - name = "gcc-4.1.2"; - builder = if langF77 then ./fortran.sh else ./builder.sh; + name = "${name}-4.1.2"; + + builder = ./builder.sh; src = optional /*langC*/ true (fetchurl { @@ -24,7 +26,7 @@ stdenv.mkDerivation { url = mirror://gnu/gcc/gcc-4.1.2/gcc-g++-4.1.2.tar.bz2; sha256 = "1qm2izcxna10jai0v4s41myki0xkw9174qpl6k1rnrqhbx0sl1hc"; }) ++ - optional langF77 (fetchurl { + optional langFortran (fetchurl { url = mirror://gnu/gcc/gcc-4.1.2/gcc-fortran-4.1.2.tar.bz2; sha256 = "0772dhmm4gc10420h0d0mfkk2sirvjmjxz8j0ywm8wp5qf8vdi9z"; }); @@ -42,9 +44,9 @@ stdenv.mkDerivation { --with-system-zlib --enable-languages=${ concatStrings (intersperse "," - ( optional langC "c" - ++ optional langCC "c++" - ++ optional langF77 "fortran" + ( optional langC "c" + ++ optional langCC "c++" + ++ optional langFortran "fortran" ) ) } @@ -53,7 +55,7 @@ stdenv.mkDerivation { makeFlags = if staticCompiler then "LDFLAGS=-static" else ""; - passthru = { inherit langC langCC langF77; }; + passthru = { inherit langC langCC langFortran; }; meta = { homepage = "http://gcc.gnu.org/"; diff --git a/pkgs/development/compilers/gcc-4.1/fortran.sh b/pkgs/development/compilers/gcc-4.1/fortran.sh deleted file mode 100644 index 962e8d37238..00000000000 --- a/pkgs/development/compilers/gcc-4.1/fortran.sh +++ /dev/null @@ -1,86 +0,0 @@ -source $stdenv/setup - - -export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy -mkdir $NIX_FIXINC_DUMMY - -export X_CFLAGS="-I${gmp}/include -I${mpfr}/include -L${gmp}/lib -L${mpfr}/lib"; - -# libstdc++ needs this; otherwise it will use /lib/cpp, which is a Bad -# Thing. -export CPP="gcc -E" - - -if test "$noSysDirs" = "1"; then - - if test -e $NIX_GCC/nix-support/orig-libc; then - - # Figure out what extra flags to pass to the gcc compilers - # being generated to make sure that they use our glibc. - extraCFlags="$(cat $NIX_GCC/nix-support/libc-cflags)" - extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)" - - # Use *real* header files, otherwise a limits.h is generated - # that does not include Glibc's limits.h (notably missing - # SSIZE_MAX, which breaks the build). - export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include - - else - # Hack: support impure environments. - extraCFlags="-isystem /usr/include" - extraLDFlags="-L/usr/lib64 -L/usr/lib" - export NIX_FIXINC_DUMMY=/usr/include - fi - - extraCFlags="-g0 $extraCFlags" - extraLDFlags="--strip-debug $extraLDFlags" - - export NIX_EXTRA_CFLAGS=$extraCFlags - for i in $extraLDFlags; do - export NIX_EXTRA_LDFLAGS="$NIX_EXTRA_LDFLAGS -Wl,$i" - done - - makeFlagsArray=( \ - NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ - SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ - LIMITS_H_TEST=true \ - X_CFLAGS="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \ - LDFLAGS="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \ - LDFLAGS_FOR_TARGET="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \ - ) -fi - - -preConfigure=preConfigure -preConfigure() { - # Perform the build in a different directory. - mkdir ../build - cd ../build - configureScript=../$sourceRoot/configure -} - - -postInstall=postInstall -postInstall() { - # Remove precompiled headers for now. They are very big and - # probably not very useful yet. - find $out/include -name "*.gch" -exec rm -rf {} \; -prune - - # Remove `fixincl' to prevent a retained dependency on the - # previous gcc. - rm -rf $out/libexec/gcc/*/*/install-tools - - # Get rid of some "fixed" header files - rm -rf $out/lib/gcc/*/*/include/root -} - - -if test -z "$staticCompiler"; then - if test -z "$profiledCompiler"; then - buildFlags="bootstrap $buildFlags" - else - buildFlags="profiledbootstrap $buildFlags" - fi -fi - -genericBuild diff --git a/pkgs/development/compilers/gcc-4.2/default.nix b/pkgs/development/compilers/gcc-4.2/default.nix index 1ed4dd5058a..68a174cc579 100644 --- a/pkgs/development/compilers/gcc-4.2/default.nix +++ b/pkgs/development/compilers/gcc-4.2/default.nix @@ -1,18 +1,20 @@ { stdenv, fetchurl, noSysDirs -, langC ? true, langCC ? true, langF77 ? false +, langC ? true, langCC ? true, langFortran ? false , profiledCompiler ? false , staticCompiler ? false +, gmp ? null +, mpfr ? null , texinfo ? null +, name ? "gcc" }: -assert langC; - -with import ../../../lib; +with stdenv.lib; let version = "4.2.4"; in stdenv.mkDerivation { - name = "gcc-${version}"; + name = "${name}-${version}"; + builder = ./builder.sh; src = @@ -24,7 +26,7 @@ stdenv.mkDerivation { url = "mirror://gnu/gcc/gcc-${version}/gcc-g++-${version}.tar.bz2"; sha256 = "0gq8ikci0qqgck71qqlhfld6zkwn9179x6z15vdd9blkdig55nxg"; }) ++ - optional langF77 (fetchurl { + optional langFortran (fetchurl { url = "mirror://gnu/gcc/gcc-${version}/gcc-fortran-${version}.tar.bz2"; sha256 = "013yqiqhdavgxzjryvylgf3lcnknmw89fx41jf2v4899srn0bhkg"; }); @@ -35,7 +37,7 @@ stdenv.mkDerivation { inherit noSysDirs profiledCompiler staticCompiler; - buildInputs = [texinfo]; + buildInputs = [gmp mpfr texinfo]; configureFlags = " --disable-multilib @@ -43,9 +45,9 @@ stdenv.mkDerivation { --with-system-zlib --enable-languages=${ concatStrings (intersperse "," - ( optional langC "c" - ++ optional langCC "c++" - ++ optional langF77 "f77" + ( optional langC "c" + ++ optional langCC "c++" + ++ optional langFortran "fortran" ) ) } @@ -54,7 +56,7 @@ stdenv.mkDerivation { NIX_EXTRA_LDFLAGS = if staticCompiler then "-static" else ""; - passthru = { inherit langC langCC langF77; }; + passthru = { inherit langC langCC langFortran; }; meta = { homepage = "http://gcc.gnu.org/"; diff --git a/pkgs/development/compilers/gcc-4.2/fortran.nix b/pkgs/development/compilers/gcc-4.2/fortran.nix deleted file mode 100644 index c4b3d8e445d..00000000000 --- a/pkgs/development/compilers/gcc-4.2/fortran.nix +++ /dev/null @@ -1,73 +0,0 @@ -{ stdenv, fetchurl, noSysDirs -, langC ? true, langCC ? true, langF77 ? false -, profiledCompiler ? false -, staticCompiler ? false -, gmp ? null -, mpfr ? null -, texinfo ? null -}: - -assert langC || langF77; - -with import ../../../lib; - -let version = "4.2.4"; in - -stdenv.mkDerivation { - name = "gcc-${version}"; - builder = if langF77 then ./fortran.sh else ./builder.sh; - - src = - optional /*langC*/ true (fetchurl { - url = "mirror://gnu/gcc/gcc-${version}/gcc-core-${version}.tar.bz2"; - sha256 = "cfc9e7e14966097d24d510cfd905515e8f7464ab5379a50698ae3d88e1f7a532"; - }) ++ - optional langCC (fetchurl { - url = "mirror://gnu/gcc/gcc-${version}/gcc-g++-${version}.tar.bz2"; - sha256 = "0spzz549fifwv02ym33azzwizl0zkq5m1fgy88ccmcyzmwpgyzfq"; - }) ++ - optional langF77 (fetchurl { - url = "mirror://gnu/gcc/gcc-${version}/gcc-fortran-${version}.tar.bz2"; - sha256 = "6fc2056cd62921b2859381749710af765a46877bd46f9fe5ef6fab0671c47e04"; - }); - - patches = - optional noSysDirs [./no-sys-dirs.patch]; - - inherit noSysDirs profiledCompiler staticCompiler; - - buildInputs = [gmp mpfr texinfo]; - - configureFlags = " - --disable-multilib - --disable-libstdcxx-pch - --with-system-zlib - --enable-languages=${ - concatStrings (intersperse "," - ( optional langC "c" - ++ optional langCC "c++" - ++ optional langF77 "fortran" - ) - ) - } - ${if stdenv.isi686 then "--with-arch=i686" else ""} - ${if gmp != null then "--with-gmp=${gmp}" else ""} - ${if mpfr != null then "--with-mpfr=${mpfr}" else ""} - "; - - makeFlags = if staticCompiler then "LDFLAGS=-static" else ""; - - passthru = { inherit langC langCC langF77; }; - - postInstall = "if test -f $out/bin/gfrotran; then ln -s $out/bin/gfortran $out/bin/g77; fi"; - - meta = { - homepage = "http://gcc.gnu.org/"; - license = "GPL/LGPL"; - description = "GNU Compiler Collection, 4.2.x"; - - # Give the real GCC a lower priority than the GCC wrapper so that - # both can be installed at the same time. - priority = "7"; - }; -} diff --git a/pkgs/development/compilers/gcc-4.2/fortran.sh b/pkgs/development/compilers/gcc-4.2/fortran.sh deleted file mode 100644 index 962e8d37238..00000000000 --- a/pkgs/development/compilers/gcc-4.2/fortran.sh +++ /dev/null @@ -1,86 +0,0 @@ -source $stdenv/setup - - -export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy -mkdir $NIX_FIXINC_DUMMY - -export X_CFLAGS="-I${gmp}/include -I${mpfr}/include -L${gmp}/lib -L${mpfr}/lib"; - -# libstdc++ needs this; otherwise it will use /lib/cpp, which is a Bad -# Thing. -export CPP="gcc -E" - - -if test "$noSysDirs" = "1"; then - - if test -e $NIX_GCC/nix-support/orig-libc; then - - # Figure out what extra flags to pass to the gcc compilers - # being generated to make sure that they use our glibc. - extraCFlags="$(cat $NIX_GCC/nix-support/libc-cflags)" - extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)" - - # Use *real* header files, otherwise a limits.h is generated - # that does not include Glibc's limits.h (notably missing - # SSIZE_MAX, which breaks the build). - export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include - - else - # Hack: support impure environments. - extraCFlags="-isystem /usr/include" - extraLDFlags="-L/usr/lib64 -L/usr/lib" - export NIX_FIXINC_DUMMY=/usr/include - fi - - extraCFlags="-g0 $extraCFlags" - extraLDFlags="--strip-debug $extraLDFlags" - - export NIX_EXTRA_CFLAGS=$extraCFlags - for i in $extraLDFlags; do - export NIX_EXTRA_LDFLAGS="$NIX_EXTRA_LDFLAGS -Wl,$i" - done - - makeFlagsArray=( \ - NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ - SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ - LIMITS_H_TEST=true \ - X_CFLAGS="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \ - LDFLAGS="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \ - LDFLAGS_FOR_TARGET="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \ - ) -fi - - -preConfigure=preConfigure -preConfigure() { - # Perform the build in a different directory. - mkdir ../build - cd ../build - configureScript=../$sourceRoot/configure -} - - -postInstall=postInstall -postInstall() { - # Remove precompiled headers for now. They are very big and - # probably not very useful yet. - find $out/include -name "*.gch" -exec rm -rf {} \; -prune - - # Remove `fixincl' to prevent a retained dependency on the - # previous gcc. - rm -rf $out/libexec/gcc/*/*/install-tools - - # Get rid of some "fixed" header files - rm -rf $out/lib/gcc/*/*/include/root -} - - -if test -z "$staticCompiler"; then - if test -z "$profiledCompiler"; then - buildFlags="bootstrap $buildFlags" - else - buildFlags="profiledbootstrap $buildFlags" - fi -fi - -genericBuild diff --git a/pkgs/development/compilers/gcc-4.3/default.nix b/pkgs/development/compilers/gcc-4.3/default.nix index 1a2965fd7da..df4aca0bf55 100644 --- a/pkgs/development/compilers/gcc-4.3/default.nix +++ b/pkgs/development/compilers/gcc-4.3/default.nix @@ -6,17 +6,18 @@ , gmp, mpfr , bison ? null, flex ? null , enableMultilib ? false +, name ? "gcc" }: -assert langC; assert langTreelang -> bison != null && flex != null; -with import ../../../lib; +with stdenv.lib; let version = "4.3.3"; in stdenv.mkDerivation { - name = "gcc-${version}"; + name = "${name}-${version}"; + builder = ./builder.sh; src = diff --git a/pkgs/development/interpreters/octave/hg.nix b/pkgs/development/interpreters/octave/hg.nix index 9e7d1d46549..4d31cc84efc 100644 --- a/pkgs/development/interpreters/octave/hg.nix +++ b/pkgs/development/interpreters/octave/hg.nix @@ -1,10 +1,7 @@ -{stdenv, fetchurl, g77, readline, ncurses, perl, flex, +{stdenv, fetchurl, gfortran, readline, ncurses, perl, flex, bison, autoconf, automake, sourceByName, getConfig, lib, atlas, gperf, python, glibc, gnuplot, texinfo, texLive, qhull, libX11}: -assert readline != null && ncurses != null && flex != null; -assert g77.langFortran; - -let commonBuildInputs = [g77 readline ncurses perl glibc qhull libX11 texinfo]; in +let commonBuildInputs = [gfortran readline ncurses perl glibc qhull libX11 texinfo]; in stdenv.mkDerivation ({ NIX_LDFLAGS = "-lpthread"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 70812a95fe5..a7b257d8de5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1520,63 +1520,6 @@ let inherit fetchurl stdenv gawk system; }; - g77 = import ../build-support/gcc-wrapper { - name = "g77-wrapper"; - nativeTools = false; - nativeLibc = false; - gcc = import ../development/compilers/gcc-3.3 { - inherit fetchurl stdenv noSysDirs; - langF77 = true; - langCC = false; - }; - inherit (stdenv.gcc) binutils libc; - inherit stdenv; - }; - - g77_40 = import ../build-support/gcc-wrapper { - name = "g77-wrapper"; - nativeTools = false; - nativeLibc = false; - gcc = import ../development/compilers/gcc-4.0 { - inherit fetchurl stdenv noSysDirs; - langF77 = true; - langCC = false; - inherit gmp mpfr; - }; - inherit (stdenv.gcc) binutils libc; - inherit stdenv; - }; - - g77_41 = import ../build-support/gcc-wrapper { - name = "g77-wrapper"; - nativeTools = false; - nativeLibc = false; - gcc = import ../development/compilers/gcc-4.1 { - inherit fetchurl stdenv noSysDirs; - langF77 = true; - langCC = false; - langC = false; - inherit gmp mpfr; - }; - inherit (stdenv.gcc) binutils libc; - inherit stdenv; - }; - - gfortran = import ../build-support/gcc-wrapper { - name = "gfortran-wrapper"; - nativeTools = false; - nativeLibc = false; - gcc = import ../development/compilers/gcc-4.2/fortran.nix { - inherit fetchurl stdenv noSysDirs; - langF77 = true; - langCC = false; - langC = false; - inherit gmp mpfr; - }; - inherit (stdenv.gcc) binutils libc; - inherit stdenv; - }; - gcc = gcc43; gcc295 = wrapGCC (import ../development/compilers/gcc-2.95 { @@ -1596,27 +1539,29 @@ let # 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 { + gcc40 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.0) { inherit fetchurl stdenv noSysDirs; texinfo = texinfo49; profiledCompiler = true; }); - gcc41 = wrapGCC (import ../development/compilers/gcc-4.1 { + gcc41 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.1) { inherit fetchurl stdenv noSysDirs; texinfo = texinfo49; profiledCompiler = false; }); - gcc42 = wrapGCC (import ../development/compilers/gcc-4.2 { + gcc42 = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.2) { inherit fetchurl stdenv noSysDirs; profiledCompiler = false; }); - gcc43 = useFromStdenv "gcc" (wrapGCC (import ../development/compilers/gcc-4.3 { + gcc43 = useFromStdenv "gcc" gcc43_real; + + gcc43_real = wrapGCC (makeOverridable (import ../development/compilers/gcc-4.3) { inherit fetchurl stdenv texinfo gmp mpfr noSysDirs; profiledCompiler = true; - })); + }); gcc43multi = lowPrio (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (import ../development/compilers/gcc-4.3 { stdenv = overrideGCC stdenv (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi gcc); @@ -1635,6 +1580,39 @@ let texinfo = texinfo49; }); + gfortran = gfortran43; + + gfortran40 = wrapGCC (gcc40.gcc.override { + name = "gfortran"; + langFortran = true; + langCC = false; + inherit gmp mpfr; + }); + + gfortran41 = wrapGCC (gcc41.gcc.override { + name = "gfortran"; + langFortran = true; + langCC = false; + langC = false; + inherit gmp mpfr; + }); + + gfortran42 = wrapGCC (gcc42.gcc.override { + name = "gfortran"; + langFortran = true; + langCC = false; + langC = false; + inherit gmp mpfr; + }); + + gfortran43 = wrapGCC (gcc43_real.gcc.override { + name = "gfortran"; + langFortran = true; + langCC = false; + langC = false; + profiledCompiler = false; + }); + # This new ghc stuff is under heavy development and will change ! # =============================================================== @@ -2093,12 +2071,11 @@ let # mercurial (hg) bleeding edge version octaveHG = import ../development/interpreters/octave/hg.nix { - inherit fetchurl readline ncurses perl flex atlas getConfig glibc qhull; + inherit fetchurl readline ncurses perl flex atlas getConfig glibc qhull gfortran; inherit automake autoconf bison gperf lib python gnuplot texinfo texLive; # for dev Version inherit stdenv; inherit (xlibs) libX11; #stdenv = overrideGCC stdenv gcc40; - g77 = gfortran; inherit (bleedingEdgeRepos) sourceByName; }; @@ -9513,7 +9490,7 @@ let }; scilab = (import ../applications/science/math/scilab) { - inherit stdenv fetchurl lib g77; + inherit stdenv fetchurl lib gfortran; inherit (gtkLibs) gtk; inherit ncurses Xaw3d tcl tk ocaml x11;