diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml
index fc301aecbb97..d7614cd3488c 100644
--- a/nixos/doc/manual/release-notes/rl-2003.xml
+++ b/nixos/doc/manual/release-notes/rl-2003.xml
@@ -615,6 +615,12 @@ auth required pam_succeed_if.so uid >= 1000 quiet
release notes.
+
+
+ The gcc-snapshot-package has been removed. It's marked as broken for >2 years and used to point
+ to a fairly old snapshot from the gcc7-branch.
+
+
diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix
deleted file mode 100644
index 0441296ef179..000000000000
--- a/pkgs/development/compilers/gcc/snapshot/default.nix
+++ /dev/null
@@ -1,252 +0,0 @@
-{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
-, langC ? true, langCC ? true, langFortran ? false
-, langObjC ? stdenv.targetPlatform.isDarwin
-, langObjCpp ? stdenv.targetPlatform.isDarwin
-, langGo ? false
-, profiledCompiler ? false
-, staticCompiler ? false
-, enableShared ? true
-, enableLTO ? true
-, texinfo ? null
-, perl ? null # optional, for texi2pod (then pod2man)
-, gmp, mpfr, libmpc, gettext, which
-, libelf # optional, for link-time optimizations (LTO)
-, isl ? null # optional, for the Graphite optimization framework.
-, zlib ? null
-, enableMultilib ? false
-, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
-, name ? "gcc"
-, libcCross ? null
-, threadsCross ? null # for MinGW
-, crossStageStatic ? false
-, # Strip kills static libs of other archs (hence no cross)
- stripped ? stdenv.hostPlatform == stdenv.buildPlatform
- && stdenv.targetPlatform == stdenv.hostPlatform
-, gnused ? null
-, cloog # unused; just for compat with gcc4, as we override the parameter on some places
-, flex ? null
-, buildPackages
-}:
-
-# LTO needs libelf and zlib.
-assert libelf != null -> zlib != null;
-
-# Make sure we get GNU sed.
-assert stdenv.hostPlatform.isDarwin -> gnused != null;
-
-# The go frontend is written in c++
-assert langGo -> langCC;
-
-# threadsCross is just for MinGW
-assert threadsCross != null -> stdenv.targetPlatform.isWindows;
-
-with stdenv.lib;
-with builtins;
-
-let majorVersion = "7";
- version = "${majorVersion}-20170409";
-
- inherit (stdenv) buildPlatform hostPlatform targetPlatform;
-
- patches =
- [ ]
- ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
- ++ optional noSysDirs ../no-sys-dirs.patch
- ++ optional langFortran ../gfortran-driving.patch
- ++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
- url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
- sha256 = "1nyjnshpq5gbcbbpfv27hy4ajvycmgkpiabkjlxnnrnq1d99k1ay";
- });
-
- /* Cross-gcc settings (build == host != target) */
- crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
- stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
- crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
-
-in
-
-stdenv.mkDerivation ({
- pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
- inherit version;
-
- builder = ../builder.sh;
-
- src = fetchurl {
- url = "mirror://gcc/snapshots/${version}/gcc-${version}.tar.bz2";
- sha256 = "19197rw1xrpkb8h10lfgn6zj7yj52x95hdmr0x5lg8i4v3i23b67";
- };
-
- inherit patches;
-
- outputs = [ "out" "lib" "man" "info" ];
- setOutputFlags = false;
- NIX_NO_SELF_RPATH = true;
-
- libc_dev = stdenv.cc.libc_dev;
-
- hardeningDisable = [ "format" "pie" ];
-
- postPatch =
- if targetPlatform != hostPlatform || stdenv.cc.libc != null then
- # On NixOS, use the right path to the dynamic linker instead of
- # `/lib/ld*.so'.
- let
- libc = if libcCross != null then libcCross else stdenv.cc.libc;
- in
- '' echo "fixing the \`GLIBC_DYNAMIC_LINKER' and \`UCLIBC_DYNAMIC_LINKER' macros..."
- for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
- do
- grep -q LIBC_DYNAMIC_LINKER "$header" || continue
- echo " fixing \`$header'..."
- sed -i "$header" \
- -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g'
- done
- ''
- else null;
-
- inherit noSysDirs staticCompiler crossStageStatic
- libcCross crossMingw;
-
- depsBuildBuild = [ buildPackages.stdenv.cc ];
- nativeBuildInputs = [ texinfo which gettext ]
- ++ (optional (perl != null) perl);
-
- # For building runtime libs
- depsBuildTarget =
- if hostPlatform == buildPlatform then [
- targetPackages.stdenv.cc.bintools # newly-built gcc will be used
- ] else assert targetPlatform == hostPlatform; [ # build != host == target
- stdenv.cc
- ];
-
- buildInputs = [
- gmp mpfr libmpc libelf flex
- targetPackages.stdenv.cc.bintools # For linking code at run-time
- ] ++ (optional (isl != null) isl)
- ++ (optional (zlib != null) zlib)
- # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
- # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
- ++ (optional hostPlatform.isDarwin gnused)
- ;
-
- depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
-
- NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
-
- preConfigure = import ../common/pre-configure.nix {
- inherit (stdenv) lib;
- inherit version hostPlatform langGo;
- };
-
- dontDisableStatic = true;
-
- # TODO(@Ericson2314): Always pass "--target" and always prefix.
- configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
-
- configureFlags = import ../common/configure-flags.nix {
- inherit
- stdenv
- targetPackages
- crossStageStatic libcCross
- version
-
- gmp mpfr libmpc libelf isl
-
- enableLTO
- enableMultilib
- enablePlugin
- enableShared
-
- langC
- langCC
- langFortran
- langGo
- langObjC
- langObjCpp
- ;
- };
-
- targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
-
- buildFlags = optional
- (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
- (if profiledCompiler then "profiledbootstrap" else "bootstrap");
-
- dontStrip = !stripped;
- NIX_STRIP_DEBUG = !stripped;
-
- installTargets =
- if stripped
- then "install-strip"
- else "install";
-
- # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
- ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
-
- # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
- # library headers and binaries, regarless of the language being compiled.
- #
- # Likewise, the LTO code doesn't find zlib.
- #
- # Cross-compiling, we need gcc not to read ./specs in order to build the g++
- # compiler (after the specs for the cross-gcc are created). Having
- # LIBRARY_PATH= makes gcc read the specs from ., and the build breaks.
-
- CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
- ++ optional (zlib != null) zlib
- ));
-
- LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
-
- inherit
- (import ../common/extra-target-flags.nix {
- inherit stdenv crossStageStatic libcCross threadsCross;
- })
- EXTRA_TARGET_FLAGS
- EXTRA_TARGET_LDFLAGS
- ;
-
- passthru = {
- inherit langC langCC langObjC langObjCpp langFortran langGo version;
- isGNU = true;
- };
-
- enableParallelBuilding = true;
- inherit enableMultilib;
-
- inherit (stdenv) is64bit;
-
- meta = {
- homepage = https://gcc.gnu.org/;
- license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+
- description = "GNU Compiler Collection, version ${version}"
- + (if stripped then "" else " (with debugging info)");
-
- longDescription = ''
- The GNU Compiler Collection includes compiler front ends for C, C++,
- Objective-C, Fortran, OpenMP for C/C++/Fortran, and Ada, as well as
- libraries for these languages (libstdc++, libgomp,...).
-
- GCC development is a part of the GNU Project, aiming to improve the
- compiler used in the GNU system including the GNU/Linux variant.
- '';
-
- maintainers = with stdenv.lib.maintainers; [ ];
-
- platforms =
- stdenv.lib.platforms.linux ++
- stdenv.lib.platforms.freebsd ++
- stdenv.lib.platforms.illumos ++
- stdenv.lib.platforms.darwin;
-
- broken = true;
- };
-}
-
-// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) {
- makeFlags = [ "all-gcc" "all-target-libgcc" ];
- installTargets = "install-gcc install-target-libgcc";
-}
-
-// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
-)
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 4ee74a0f58e0..de6cb64bf982 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -571,4 +571,6 @@ mapAliases ({
dnscrypt-proxy = throw "dnscrypt-proxy has been removed. Please use dnscrypt-proxy2."; # added 2020-02-02
sqldeveloper_18 = throw "sqldeveloper_18 is not maintained anymore!"; # added 2020-02-04
+
+ gcc-snapshot = throw "Marked as broken for >2 years, additionally this 'snapshot' pointed to a fairly old one from gcc7.";
})
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 361b30a187f7..3140dd17bf7a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8133,18 +8133,6 @@ in
isl = if !stdenv.isDarwin then isl_0_17 else null;
}));
- gcc-snapshot = lowPrio (wrapCC (callPackage ../development/compilers/gcc/snapshot {
- inherit noSysDirs;
-
- # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion
- profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
-
- libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
- threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
-
- isl = isl_0_17;
- }));
-
gfortran = gfortran9;
gfortran48 = wrapCC (gcc48.cc.override {