From 5add082ab892453ce2cc14186312ccc8b8a462df Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 22 Jul 2014 14:57:57 +0200 Subject: [PATCH] gcc-4.2: Remove --- pkgs/development/compilers/gcc/4.2/builder.sh | 96 ------------ .../development/compilers/gcc/4.2/default.nix | 66 --------- .../compilers/gcc/4.2/no-sys-dirs.patch | 139 ------------------ .../compilers/gcc/4.2/pass-cxxcpp.patch | 21 --- .../compilers/gcc/4.2/siginfo_t.patch | 15 -- pkgs/top-level/all-packages.nix | 11 -- 6 files changed, 348 deletions(-) delete mode 100644 pkgs/development/compilers/gcc/4.2/builder.sh delete mode 100644 pkgs/development/compilers/gcc/4.2/default.nix delete mode 100644 pkgs/development/compilers/gcc/4.2/no-sys-dirs.patch delete mode 100644 pkgs/development/compilers/gcc/4.2/pass-cxxcpp.patch delete mode 100644 pkgs/development/compilers/gcc/4.2/siginfo_t.patch diff --git a/pkgs/development/compilers/gcc/4.2/builder.sh b/pkgs/development/compilers/gcc/4.2/builder.sh deleted file mode 100644 index d749fc08d2a0..000000000000 --- a/pkgs/development/compilers/gcc/4.2/builder.sh +++ /dev/null @@ -1,96 +0,0 @@ -source $stdenv/setup - - -export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy -mkdir $NIX_FIXINC_DUMMY - - -# 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=( \ - "${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() { - # Perform the build in a different directory. - mkdir ../build - cd ../build - configureScript=../$sourceRoot/configure -} - - -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 - 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 - - for i in $out/bin/*-c++* $out/bin/*-g++*; do - if cmp -s $out/bin/g++ $i; then - ln -sfn g++ $i - fi - done -} - - -if test -z "$profiledCompiler"; then - buildFlags="bootstrap $buildFlags" -else - buildFlags="profiledbootstrap $buildFlags" -fi - -genericBuild diff --git a/pkgs/development/compilers/gcc/4.2/default.nix b/pkgs/development/compilers/gcc/4.2/default.nix deleted file mode 100644 index 69cac159d4a5..000000000000 --- a/pkgs/development/compilers/gcc/4.2/default.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ stdenv, fetchurl, noSysDirs -, langC ? true, langCC ? true, langFortran ? false -, profiledCompiler ? false -, staticCompiler ? false -, gmp ? null -, mpfr ? null -, texinfo ? null -, name ? "gcc" -}: - -with stdenv.lib; - -let version = "4.2.4"; in - -stdenv.mkDerivation { - name = "${name}-${version}"; - - builder = ./builder.sh; - - src = - optional /*langC*/ true (fetchurl { - url = "mirror://gnu/gcc/gcc-${version}/gcc-core-${version}.tar.bz2"; - sha256 = "0cm5yzhqhgdfk03aayakmdj793sya42xkkqhslj7s2b697hygjfg"; - }) ++ - optional langCC (fetchurl { - url = "mirror://gnu/gcc/gcc-${version}/gcc-g++-${version}.tar.bz2"; - sha256 = "0gq8ikci0qqgck71qqlhfld6zkwn9179x6z15vdd9blkdig55nxg"; - }) ++ - optional langFortran (fetchurl { - url = "mirror://gnu/gcc/gcc-${version}/gcc-fortran-${version}.tar.bz2"; - sha256 = "013yqiqhdavgxzjryvylgf3lcnknmw89fx41jf2v4899srn0bhkg"; - }); - - patches = - [./pass-cxxcpp.patch ./siginfo_t.patch] - ++ 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 langFortran "fortran" - ) - ) - } - ${if stdenv.isi686 then "--with-arch=i686" else ""} - "; - - NIX_EXTRA_LDFLAGS = if staticCompiler then "-static" else ""; - - passthru = { inherit langC langCC langFortran; }; - - meta = { - homepage = "http://gcc.gnu.org/"; - license = "GPL/LGPL"; - description = "GNU Compiler Collection, 4.2.x"; - }; -} diff --git a/pkgs/development/compilers/gcc/4.2/no-sys-dirs.patch b/pkgs/development/compilers/gcc/4.2/no-sys-dirs.patch deleted file mode 100644 index f1d429e274a0..000000000000 --- a/pkgs/development/compilers/gcc/4.2/no-sys-dirs.patch +++ /dev/null @@ -1,139 +0,0 @@ -diff -rc gcc-4.2.0-orig/Makefile.in gcc-4.2.0/Makefile.in -*** gcc-4.2.0-orig/Makefile.in 2006-12-29 18:47:06.000000000 +0100 ---- gcc-4.2.0/Makefile.in 2007-05-20 21:06:42.000000000 +0200 -*************** -*** 364,369 **** ---- 364,377 ---- - @host_makefile_frag@ - ### - -+ CFLAGS += $(NIX_EXTRA_CFLAGS) -+ CPPFLAGS_FOR_TARGET += $(NIX_EXTRA_CFLAGS) -+ CXXFLAGS += $(NIX_EXTRA_CFLAGS) -+ LDFLAGS += $(NIX_EXTRA_LDFLAGS) -+ LDFLAGS_FOR_TARGET += $(NIX_EXTRA_LDFLAGS) -+ BOOT_CFLAGS += $(NIX_EXTRA_CFLAGS) -+ BOOT_LDFLAGS += $(NIX_EXTRA_LDFLAGS) -+ - # This is the list of directories that may be needed in RPATH_ENVVAR - # so that prorgams built for the target machine work. - TARGET_LIB_PATH = $(TARGET_LIB_PATH_libstdc++-v3)$(TARGET_LIB_PATH_libmudflap)$(TARGET_LIB_PATH_libssp)$(TARGET_LIB_PATH_libgomp)$(HOST_LIB_PATH_gcc) -diff -rc gcc-4.2.0-orig/gcc/Makefile.in gcc-4.2.0/gcc/Makefile.in -*** gcc-4.2.0-orig/gcc/Makefile.in 2007-03-12 05:40:09.000000000 +0100 ---- gcc-4.2.0/gcc/Makefile.in 2007-05-20 19:35:13.000000000 +0200 -*************** -*** 396,402 **** - MD5_H = $(srcdir)/../include/md5.h - - # Default native SYSTEM_HEADER_DIR, to be overridden by targets. -! NATIVE_SYSTEM_HEADER_DIR = /usr/include - # Default cross SYSTEM_HEADER_DIR, to be overridden by targets. - CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@ - ---- 396,406 ---- - MD5_H = $(srcdir)/../include/md5.h - - # Default native SYSTEM_HEADER_DIR, to be overridden by targets. -! # Nix: we override NATIVE_SYSTEM_HEADER_DIR in order to prevent -! # `fixinc' from fixing header files in /usr/include. However, -! # NATIVE_SYSTEM_HEADER_DIR must point to an existing directory, so set -! # it to some dummy directory. -! NATIVE_SYSTEM_HEADER_DIR = $(NIX_FIXINC_DUMMY) - # Default cross SYSTEM_HEADER_DIR, to be overridden by targets. - CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@ - -*************** -*** 3066,3072 **** - -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ - -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \ - -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \ -! -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \ - -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \ - -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \ - @TARGET_SYSTEM_ROOT_DEFINE@ ---- 3070,3076 ---- - -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ - -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \ - -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \ -! -DLOCAL_INCLUDE_DIR=\"/no-such-dir\" \ - -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \ - -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \ - @TARGET_SYSTEM_ROOT_DEFINE@ -diff -rc gcc-4.2.0-orig/gcc/cppdefault.c gcc-4.2.0/gcc/cppdefault.c -*** gcc-4.2.0-orig/gcc/cppdefault.c 2006-01-20 22:00:03.000000000 +0100 ---- gcc-4.2.0/gcc/cppdefault.c 2007-05-20 17:16:44.000000000 +0200 -*************** -*** 41,46 **** ---- 41,50 ---- - # undef CROSS_INCLUDE_DIR - #endif - -+ #undef LOCAL_INCLUDE_DIR -+ #undef SYSTEM_INCLUDE_DIR -+ #undef STANDARD_INCLUDE_DIR -+ - const struct default_include cpp_include_defaults[] - #ifdef INCLUDE_DEFAULTS - = INCLUDE_DEFAULTS; -diff -rc gcc-4.2.0-orig/gcc/gcc.c gcc-4.2.0/gcc/gcc.c -*** gcc-4.2.0-orig/gcc/gcc.c 2007-03-05 21:37:05.000000000 +0100 ---- gcc-4.2.0/gcc/gcc.c 2007-05-20 17:49:48.000000000 +0200 -*************** -*** 1449,1458 **** - /* Default prefixes to attach to command names. */ - - #ifndef STANDARD_STARTFILE_PREFIX_1 -! #define STANDARD_STARTFILE_PREFIX_1 "/lib/" - #endif - #ifndef STANDARD_STARTFILE_PREFIX_2 -! #define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" - #endif - - #ifdef CROSS_COMPILE /* Don't use these prefixes for a cross compiler. */ ---- 1449,1458 ---- - /* Default prefixes to attach to command names. */ - - #ifndef STANDARD_STARTFILE_PREFIX_1 -! #define STANDARD_STARTFILE_PREFIX_1 "" - #endif - #ifndef STANDARD_STARTFILE_PREFIX_2 -! #define STANDARD_STARTFILE_PREFIX_2 "" - #endif - - #ifdef CROSS_COMPILE /* Don't use these prefixes for a cross compiler. */ -*************** -*** 1473,1480 **** - #endif - - static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX; -! static const char *const standard_exec_prefix_1 = "/usr/libexec/gcc/"; -! static const char *const standard_exec_prefix_2 = "/usr/lib/gcc/"; - static const char *md_exec_prefix = MD_EXEC_PREFIX; - - static const char *md_startfile_prefix = MD_STARTFILE_PREFIX; ---- 1473,1480 ---- - #endif - - static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX; -! static const char *const standard_exec_prefix_1 = "/no-such-path/"; -! static const char *const standard_exec_prefix_2 = "/no-such-path/"; - static const char *md_exec_prefix = MD_EXEC_PREFIX; - - static const char *md_startfile_prefix = MD_STARTFILE_PREFIX; -diff -rc gcc-4.2.0-orig/ltconfig gcc-4.2.0/ltconfig -*** gcc-4.2.0-orig/ltconfig 2007-02-14 18:08:35.000000000 +0100 ---- gcc-4.2.0/ltconfig 2007-05-20 22:16:24.000000000 +0200 -*************** -*** 2322,2327 **** ---- 2322,2332 ---- - # A language-specific compiler. - CC=$CC - -+ # Ugly hack to get libmudflap (and possibly other libraries) to build. -+ # Libtool filters out \`-B' flags when linking (why?), so the \`-B' flag -+ # to Glibc gets lost. Here we forcibly add it to any invocation. -+ CC="\$CC $NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" -+ - # Is the compiler the GNU C compiler? - with_gcc=$with_gcc - diff --git a/pkgs/development/compilers/gcc/4.2/pass-cxxcpp.patch b/pkgs/development/compilers/gcc/4.2/pass-cxxcpp.patch deleted file mode 100644 index 9b0676d4fdc9..000000000000 --- a/pkgs/development/compilers/gcc/4.2/pass-cxxcpp.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -rc gcc-orig/Makefile.in gcc-4.1.1/Makefile.in -*** gcc-orig/Makefile.in Wed Jun 21 13:40:23 2006 ---- gcc-4.1.1/Makefile.in Wed Jun 21 14:19:44 2006 -*************** -*** 213,219 **** - RAW_CXX_TARGET_EXPORTS = \ - $(BASE_TARGET_EXPORTS) \ - CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \ -! CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; - - NORMAL_TARGET_EXPORTS = \ - $(BASE_TARGET_EXPORTS) \ ---- 213,220 ---- - RAW_CXX_TARGET_EXPORTS = \ - $(BASE_TARGET_EXPORTS) \ - CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \ -! CXX="$(RAW_CXX_FOR_TARGET) $(CFLAGS_FOR_BUILD)"; export CXX; \ -! CXXCPP="$(RAW_CXX_FOR_TARGET) $(CFLAGS_FOR_BUILD) -E"; export CXXCPP; - - NORMAL_TARGET_EXPORTS = \ - $(BASE_TARGET_EXPORTS) \ diff --git a/pkgs/development/compilers/gcc/4.2/siginfo_t.patch b/pkgs/development/compilers/gcc/4.2/siginfo_t.patch deleted file mode 100644 index bfb9f9753728..000000000000 --- a/pkgs/development/compilers/gcc/4.2/siginfo_t.patch +++ /dev/null @@ -1,15 +0,0 @@ -https://bbs.archlinux.org/viewtopic.php?id=144949 ---- a/gcc/config/i386/linux-unwind.h 2011-01-03 20:52:22.000000000 +0000 -+++ b/gcc/config/i386/linux-unwind.h 2012-07-06 12:23:51.562859470 +0100 -@@ -133,9 +133,9 @@ - { - struct rt_sigframe { - int sig; -- struct siginfo *pinfo; -+ siginfo_t *pinfo; - void *puc; -- struct siginfo info; -+ siginfo_t info; - struct ucontext uc; - } *rt_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0e07e136bf5d..26eb6b70caec 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2614,16 +2614,6 @@ let 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. - - gcc42 = wrapGCC (makeOverridable (import ../development/compilers/gcc/4.2) { - inherit fetchurl stdenv noSysDirs; - profiledCompiler = false; - }); - gcc43 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc/4.3) { inherit stdenv fetchurl gmp mpfr noSysDirs; texinfo = texinfo4; @@ -10690,7 +10680,6 @@ let arb = callPackage ../applications/science/biology/arb { lesstif = lesstif93; - stdenv = overrideGCC stdenv gcc42; }; archimedes = callPackage ../applications/science/electronics/archimedes { };