diff --git a/pkgs/development/compilers/gcc/4.2-apple64/builder.sh b/pkgs/development/compilers/gcc/4.2-apple64/builder.sh deleted file mode 100644 index 4a4fb476a35..00000000000 --- a/pkgs/development/compilers/gcc/4.2-apple64/builder.sh +++ /dev/null @@ -1,131 +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 - - # Figure out what extra flags to pass to the gcc compilers being - # generated to make sure that they use our glibc. - if test -e $NIX_CC/nix-support/orig-glibc; then - glibc=$(cat $NIX_CC/nix-support/orig-glibc) - - # Ugh. Copied from gcc-wrapper/builder.sh. We can't just - # source in $NIX_CC/nix-support/add-flags, since that would - # cause *this* GCC to be linked against the *previous* GCC. - # Need some more modularity there. - extraCFlags="-B$glibc/lib -isystem $glibc/include" - extraLDFlags="-B$glibc/lib -L$glibc/lib -Wl,-s \ - -Wl,-dynamic-linker,$glibc/lib/ld-linux.so.2" - - # Oh, what a hack. I should be shot for this. In stage 1, we - # should link against the previous GCC, but not afterwards. - # Otherwise we retain a dependency. However, ld-wrapper, - # which adds the linker flags for the previous GCC, is also - # used in stage 2/3. We can prevent it from adding them by - # NIX_GLIBC_FLAGS_SET, but then gcc-wrapper will also not add - # them, thereby causing stage 1 to fail. So we use a trick to - # only set the flags in gcc-wrapper. - hook=$(pwd)/ld-wrapper-hook - echo "NIX_GLIBC_FLAGS_SET=1" > $hook - export NIX_LD_WRAPPER_START_HOOK=$hook - - # 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=$glibc/include - fi - - export NIX_EXTRA_CFLAGS=$extraCFlags - export NIX_EXTRA_LDFLAGS=$extraLDFlags - export CFLAGS=$extraCFlags - export CXXFLAGS=$extraCFlags - export LDFLAGS=$extraLDFlags -fi - - -preConfigure() { - - # Determine the frontends to build. - langs="c" - if test -n "$langCC"; then - langs="$langs,c++" - fi - if test -n "$langF77"; then - langs="$langs,f95" - fi - if test -n "$langObjC"; then - langs="$langs,objc" - fi - - # Perform the build in a different directory. - mkdir ../build - cd ../build - - configureScript=../$sourceRoot/configure - configureFlags="--enable-languages=$langs --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-multilib --with-gxx-include-dir=${STDCXX_INCDIR} --host=x86_64-apple-darwin10 --build=x86_64-apple-darwin10 --target=x86_64-apple-darwin10" -} - - -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 -} - - -postUnpack() { - mv $libstdcxx/libstdcxx $sourceRoot/ -} - - -STDCXX_INCDIR="$out/include/c++/4.2.1" - -genericBuild - - -echo '-------------------------------------------------------------------------------------------------------------------------' -echo 'libstdcxx' -echo '-------------------------------------------------------------------------------------------------------------------------' - -cd .. -pwd - -unpackPhase () { - true -} - -patchPhase() { - true -} - -preConfigure() { - # Perform the build in a different directory. - mkdir ../build_libstdcxx - cd ../build_libstdcxx - - ln -s ../build/gcc gcc - - configureScript=../$sourceRoot/libstdcxx/configure - configureFlags="--disable-libstdcxx-pch --disable-libstdcxx-debug --disable-multilib --with-gxx-include-dir=${STDCXX_INCDIR}" -} - -postInstall() { - echo "cp -v ${STDCXX_INCDIR}/*/bits/* ${STDCXX_INCDIR}/bits/" - cp -v ${STDCXX_INCDIR}/*/bits/* ${STDCXX_INCDIR}/bits/ -} - -genericBuild - -ln -s $out/lib/x86_64 $out/lib64 diff --git a/pkgs/development/compilers/gcc/4.2-apple64/debug_list.patch b/pkgs/development/compilers/gcc/4.2-apple64/debug_list.patch deleted file mode 100644 index b26f15e6512..00000000000 --- a/pkgs/development/compilers/gcc/4.2-apple64/debug_list.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -rc libstdcxx-16-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstdcxx-16/libstdcxx/libstdc++-v3/src/Makefile.in -*** libstdcxx-16-orig/libstdcxx/libstdc++-v3/src/Makefile.in Thu Jul 23 19:13:52 2009 ---- libstdcxx-16/libstdcxx/libstdc++-v3/src/Makefile.in Thu Jul 23 19:38:23 2009 -*************** -*** 65,71 **** - numeric_members.lo time_members.lo - am__objects_2 = basic_file.lo c++locale.lo - am__objects_3 = bitmap_allocator.lo pool_allocator.lo mt_allocator.lo \ -! codecvt.lo complex_io.lo ctype.lo debug.lo debug_list.lo \ - functexcept.lo globals_locale.lo globals_io.lo ios.lo \ - ios_failure.lo ios_init.lo ios_locale.lo limits.lo list.lo \ - locale.lo locale_init.lo locale_facets.lo localename.lo \ ---- 65,71 ---- - numeric_members.lo time_members.lo - am__objects_2 = basic_file.lo c++locale.lo - am__objects_3 = bitmap_allocator.lo pool_allocator.lo mt_allocator.lo \ -! codecvt.lo complex_io.lo ctype.lo debug.lo \ - functexcept.lo globals_locale.lo globals_io.lo ios.lo \ - ios_failure.lo ios_init.lo ios_locale.lo limits.lo list.lo \ - locale.lo locale_init.lo locale_facets.lo localename.lo \ -*************** -*** 315,321 **** - complex_io.cc \ - ctype.cc \ - debug.cc \ -- debug_list.cc \ - functexcept.cc \ - globals_locale.cc \ - globals_io.cc \ ---- 315,320 ---- diff --git a/pkgs/development/compilers/gcc/4.2-apple64/default.nix b/pkgs/development/compilers/gcc/4.2-apple64/default.nix deleted file mode 100644 index 42d9f29e2b5..00000000000 --- a/pkgs/development/compilers/gcc/4.2-apple64/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ stdenv, fetchurl, noSysDirs -, langCC ? true, langObjC ? true, langF77 ? false -, profiledCompiler ? false -, gmp ? null, mpfr ? null, bison ? null, flex ? null -}: - -assert false; -assert stdenv.isDarwin; -assert langF77 -> gmp != null; - -let - version = "4.2.1"; # Upstream GCC version, from `gcc/BASE-VER'. - revision = "5666.3"; # Apple's fork revision number. -in - -stdenv.mkDerivation rec { - name = "gcc-apple-${version}.${revision}"; - - builder = ./builder.sh; - - src = - stdenv.lib.optional true (fetchurl { - url = "http://www.opensource.apple.com/tarballs/gcc/gcc-${revision}.tar.gz"; - sha256 = "0nq1szgqx9ryh1qsn5n6yd55gpvf56wr8f7w1jzabb8idlvz8ikc"; - }) ++ - stdenv.lib.optional langCC (fetchurl { - url = http://www.opensource.apple.com/tarballs/libstdcxx/libstdcxx-39.tar.gz; - sha256 = "ccf4cf432c142778c766affbbf66b61001b6c4f1107bc2b2c77ce45598786b6d"; - }); - - enableParallelBuilding = true; - - libstdcxx = "libstdcxx-39"; - - sourceRoot = "gcc-${revision}/"; - - # The floor_log2_patch is from a Gentoo fix for the same issue: - # https://bugs.gentoo.org/attachment.cgi?id=363174&action=diff - patches = - [ ./pass-cxxcpp.patch ./floor_log2_patch.diff ] - ++ stdenv.lib.optional noSysDirs ./no-sys-dirs.patch - ++ stdenv.lib.optional langCC ./fix-libstdc++-link.patch; - - inherit noSysDirs langCC langF77 langObjC; - langC = true; - - buildInputs = stdenv.lib.optionals langF77 [ gmp mpfr bison flex ]; - - #meta.broken = true; -} diff --git a/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch b/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch deleted file mode 100644 index 5a417f8151b..00000000000 --- a/pkgs/development/compilers/gcc/4.2-apple64/fix-libstdc++-link.patch +++ /dev/null @@ -1,71 +0,0 @@ -Prevent our libstdc++.dylib from having a runtime dependency on -/usr/lib/libstdc++.dylib. This is caused by the implicit -lstdc++ -passed by g++ when it links libstdc++.dylib. Adding "-nostdlib" to -the g++ invocation prevents this. - -jww (2014-06-21): I've added several more patches to this, for building on -Mavericks. - -diff -ru -x '*~' libstdcxx-39-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstdcxx-39/libstdcxx/libstdc++-v3/src/Makefile.in ---- x/libstdcxx/libstdc++-v3/src/Makefile.in 2006-10-16 21:08:22.000000000 +0200 -+++ y/libstdcxx/libstdc++-v3/src/Makefile.in 2012-02-17 18:44:05.210570590 +0100 -@@ -388,7 +388,7 @@ - - libstdc___la_DEPENDENCIES = ${version_dep} $(libstdc___la_LIBADD) - libstdc___la_LDFLAGS = \ -- -version-info $(libtool_VERSION) ${version_arg} -lm -+ -version-info $(libtool_VERSION) ${version_arg} -lm -Wc,-nostdlib - - - # Use special rules for the deprecated source files so that they find ---- x/libstdcxx/libstdc++-v3/libsupc++/unwind-cxx.h -+++ y/libstdcxx/libstdc++-v3/libsupc++/unwind-cxx.h -@@ -38,7 +38,7 @@ - #include - #include - #include --#include "unwind.h" -+#include "unwind-generic.h" - - #pragma GCC visibility push(default) - -@@ -133,7 +133,7 @@ extern "C" void __cxa_bad_typeid (); - // throws, and if bad_exception needs to be thrown. Called from the - // compiler. - extern "C" void __cxa_call_unexpected (void *) __attribute__((noreturn)); --extern "C" void __cxa_call_terminate (void*) __attribute__((noreturn)); -+extern "C" void __cxa_call_terminate(_Unwind_Exception* ue_header); - - #ifdef __ARM_EABI_UNWINDER__ - // Arm EABI specified routines. ---- x/libstdcxx/libstdc++-v3/include/ext/bitmap_allocator.h -+++ y/libstdcxx/libstdc++-v3/include/ext/bitmap_allocator.h -@@ -549,6 +549,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) - */ - class free_list - { -+ public: - typedef size_t* value_type; - typedef __detail::__mini_vector vector_type; - typedef vector_type::iterator iterator; ---- x/libstdcxx/libstdc++-v3/include/ext/ropeimpl.h -+++ y/libstdcxx/libstdc++-v3/include/ext/ropeimpl.h -@@ -433,7 +433,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) - { - size_t __old_len = __r->_M_size; - _CharT* __new_data = (_CharT*) -- _Data_allocate(_S_rounded_up_size(__old_len + __len)); -+ _Base::_Data_allocate(_S_rounded_up_size(__old_len + __len)); - _RopeLeaf* __result; - - uninitialized_copy_n(__r->_M_data, __old_len, __new_data); -@@ -817,7 +817,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) - if (__result_len > __lazy_threshold) - goto lazy; - __section = (_CharT*) -- _Data_allocate(_S_rounded_up_size(__result_len)); -+ _Base::_Data_allocate(_S_rounded_up_size(__result_len)); - try - { (*(__f->_M_fn))(__start, __result_len, __section); } - catch(...) - diff --git a/pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff b/pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff deleted file mode 100644 index f37e6c4990e..00000000000 --- a/pkgs/development/compilers/gcc/4.2-apple64/floor_log2_patch.diff +++ /dev/null @@ -1,62 +0,0 @@ ---- gcc-5666.3/gcc/toplev.h -+++ gcc-5666.3/gcc/toplev.h -@@ -151,6 +151,8 @@ - /* Return true iff flags are set as if -ffast-math. */ - extern bool fast_math_flags_set_p (void); - -+#if GCC_VERSION < 3004 -+ - /* Return log2, or -1 if not exact. */ - extern int exact_log2 (unsigned HOST_WIDE_INT); - -@@ -158,7 +160,7 @@ - extern int floor_log2 (unsigned HOST_WIDE_INT); - - /* Inline versions of the above for speed. */ --#if GCC_VERSION >= 3004 -+#else /* GCC_VERSION < 3004 */ - # if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG - # define CLZ_HWI __builtin_clzl - # define CTZ_HWI __builtin_ctzl -@@ -172,18 +172,18 @@ - # define CTZ_HWI __builtin_ctz - # endif - --extern inline int -+static inline int - floor_log2 (unsigned HOST_WIDE_INT x) - { - return x ? HOST_BITS_PER_WIDE_INT - 1 - (int) CLZ_HWI (x) : -1; - } - --extern inline int -+static inline int - exact_log2 (unsigned HOST_WIDE_INT x) - { - return x == (x & -x) && x ? (int) CTZ_HWI (x) : -1; - } --#endif /* GCC_VERSION >= 3004 */ -+#endif /* GCC_VERSION < 3004 */ - - /* Functions used to get and set GCC's notion of in what directory - compilation was started. */ ---- gcc-5666.3/gcc/toplev.c -+++ gcc-5666.3/gcc/toplev.c -@@ -555,7 +555,7 @@ - for floor_log2 and exact_log2; see toplev.h. That construct, however, - conflicts with the ISO C++ One Definition Rule. */ - --#if GCC_VERSION < 3004 || !defined (__cplusplus) -+#if GCC_VERSION < 3004 - - /* Given X, an unsigned number, return the largest int Y such that 2**Y <= X. - If X is 0, return -1. */ -@@ -607,7 +607,7 @@ - #endif - } - --#endif /* GCC_VERSION < 3004 || !defined (__cplusplus) */ -+#endif /* GCC_VERSION < 3004 */ - - /* Handler for fatal signals, such as SIGSEGV. These are transformed - into ICE messages, which is much more user friendly. In case the diff --git a/pkgs/development/compilers/gcc/4.2-apple64/no-sys-dirs.patch b/pkgs/development/compilers/gcc/4.2-apple64/no-sys-dirs.patch deleted file mode 100644 index 69f9d9d14c6..00000000000 --- a/pkgs/development/compilers/gcc/4.2-apple64/no-sys-dirs.patch +++ /dev/null @@ -1,99 +0,0 @@ -diff -ruN gcc-4.1.0/gcc/Makefile.in gcc-4.1.0.new/gcc/Makefile.in ---- gcc-4.1.0/gcc/Makefile.in 2006-02-16 16:23:24.000000000 +0100 -+++ gcc-4.1.0.new/gcc/Makefile.in 2006-03-01 18:55:12.000000000 +0100 -@@ -219,7 +219,7 @@ - CPPFLAGS = @CPPFLAGS@ - - # These exists to be overridden by the x-* and t-* files, respectively. --X_CFLAGS = -+X_CFLAGS = $(NIX_EXTRA_CFLAGS) $(NIX_EXTRA_LDFLAGS) - T_CFLAGS = - - X_CPPFLAGS = -@@ -383,7 +383,11 @@ - MD5_H = $(srcdir)/../include/md5.h - - # Default native SYSTEM_HEADER_DIR, to be overridden by targets. --NATIVE_SYSTEM_HEADER_DIR = /usr/include -+# 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@ - -@@ -395,7 +399,7 @@ - STMP_FIXINC = @STMP_FIXINC@ - - # Test to see whether exists in the system header files. --LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h ] -+LIMITS_H_TEST = true - - # Directory for prefix to system directories, for - # each of $(system_prefix)/usr/include, $(system_prefix)/usr/lib, etc. -@@ -3002,7 +3006,7 @@ - -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)\" \ -+ -DLOCAL_INCLUDE_DIR=\"/no-such-dir\" \ - -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \ - -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \ - @TARGET_SYSTEM_ROOT_DEFINE@ - -diff -ruN gcc-4.1.0/ltcf-cxx.sh gcc-4.1.0.new/ltcf-cxx.sh ---- gcc-4.1.0/ltcf-cxx.sh 2005-07-16 04:30:53.000000000 +0200 -+++ gcc-4.1.0.new/ltcf-cxx.sh 2006-03-01 18:58:15.000000000 +0100 -@@ -989,7 +989,7 @@ - # the conftest object file. - pre_test_object_deps_done=no - -- for p in `eval $output_verbose_link_cmd`; do -+ for p in `true`; do - - case $p in - -diff -ruN gcc-4.1.0/ltconfig gcc-4.1.0.new/ltconfig ---- gcc-4.1.0/ltconfig 2005-07-16 04:30:53.000000000 +0200 -+++ gcc-4.1.0.new/ltconfig 2006-03-01 18:59:58.000000000 +0100 -@@ -2322,6 +2322,11 @@ - # 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_LDFLAGS" -+ - # Is the compiler the GNU C compiler? - with_gcc=$with_gcc - -diff -ruN gcc-4.1.0/Makefile.in gcc-4.1.0.new/Makefile.in ---- gcc-4.1.0/Makefile.in 2005-12-15 15:02:02.000000000 +0100 -+++ gcc-4.1.0.new/Makefile.in 2006-03-01 19:41:04.000000000 +0100 -@@ -286,7 +286,7 @@ - WINDRES = @WINDRES@ - - CFLAGS = @CFLAGS@ --LDFLAGS = -+LDFLAGS = $(NIX_EXTRA_LDFLAGS) - LIBCFLAGS = $(CFLAGS) - CXXFLAGS = @CXXFLAGS@ - LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates -@@ -329,12 +329,12 @@ - # CFLAGS will be just -g. We want to ensure that TARGET libraries - # (which we know are built with gcc) are built with optimizations so - # prepend -O2 when setting CFLAGS_FOR_TARGET. --CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) -+CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(NIX_EXTRA_CFLAGS) - SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@ --CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) -+CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(NIX_EXTRA_CFLAGS) - LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET) - LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates --LDFLAGS_FOR_TARGET = -+LDFLAGS_FOR_TARGET = $(NIX_EXTRA_LDFLAGS) - PICFLAG_FOR_TARGET = - - # ------------------------------------ diff --git a/pkgs/development/compilers/gcc/4.2-apple64/pass-cxxcpp.patch b/pkgs/development/compilers/gcc/4.2-apple64/pass-cxxcpp.patch deleted file mode 100644 index 4f9a29ae51b..00000000000 --- a/pkgs/development/compilers/gcc/4.2-apple64/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)"; export CXX; \ -! CXXCPP="$(RAW_CXX_FOR_TARGET) $(CFLAGS_FOR_BUILD) -E"; export CXXCPP; - - NORMAL_TARGET_EXPORTS = \ - $(BASE_TARGET_EXPORTS) \