anchor.diff: -{ stdenv, fetchurl, noSysDirs
  +{ stdenv, fetchurl, fetchpatch, noSysDirs
   , langC ? true, langCC ? true, langFortran ? false
   , langObjC ? targetPlatform.isDarwin
   , langObjCpp ? targetPlatform.isDarwin
  
positive.code: 
    hardeningDisable = [ "format" ];
  
    outputs = [ "out" "lib" "doc" ];
    setOutputFlags = false;
    NIX_NO_SELF_RPATH = true;
  
  
negative.code:       # target libraries and tools.
        ++ optional langAda ../gnat-cflags.patch
        ++ optional langFortran ../gfortran-driving.patch
        ++ optional hostPlatform.isDarwin ../gfortran-darwin-NXConstStr.patch
        ++ [(fetchpatch {
            name = "libc_name_p.diff"; # needed to build with gcc6
            url = "https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;h=ec1cc0263f1";
            sha256 = "01jd7pdarh54ki498g6sz64ijl9a1l5f9v8q2696aaxalvh2vwzl";
            excludes = [ "gcc/cp/ChangeLog" ];
          })]
        ;
  
      javaEcj = fetchurl {
        # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
  