anchor.diff:  
       maintainers = [ maintainers.eelco ];
     };
  +
   }
  
positive.code:   configureFlags =
      optional (singleBinary != false)
        ("--enable-single-binary" + optionalString (isString singleBinary) "=${singleBinary}")
      ++ optional stdenv.isSunOS "ac_cv_func_inotify_init=no"
      ++ optional withPrefix "--program-prefix=g";
  
    buildInputs = [ gmp ]
      ++ optional aclSupport acl
      ++ optional attrSupport attr
      ++ optionals stdenv.isCygwin [ autoconf automake114x texinfo ]   # due to patch
      ++ optionals selinuxSupport [ libselinux libsepol ];
  
    crossAttrs = {
      buildInputs = [ gmp.crossDrv ]
        ++ optional aclSupport acl.crossDrv
        ++ optional attrSupport attr.crossDrv
        ++ optionals selinuxSupport [ libselinux.crossDrv libsepol.crossDrv ]
        ++ optional (stdenv ? ccCross.libc.libiconv)
          stdenv.ccCross.libc.libiconv.crossDrv;
  
      # Prevents attempts of running 'help2man' on cross-built binaries.
      PERL = "missing";
  
      # Works around a bug with 8.26:
      # Makefile:3440: *** Recursive variable 'INSTALL' references itself (eventually).  Stop.
      preInstall = ''
        sed -i Makefile -e 's|^INSTALL =.*|INSTALL = ${buildPackages.coreutils}/bin/install -c|'
      '';
  
      postInstall = ''
        rm $out/share/man/man1/*
        cp ${buildPackages.coreutils}/share/man/man1/* $out/share/man/man1
      '';
  
      # Needed for fstatfs()
      # I don't know why it is not properly detected cross building with glibc.
      configureFlags = [ "fu_cv_sys_stat_statfs2_bsize=yes" ];
      doCheck = false;
    };
  
    # The tests are known broken on Cygwin
    # (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19025),
    # Darwin (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19351),
    # and {Open,Free}BSD.
    # With non-standard storeDir: https://github.com/NixOS/nix/issues/512
    doCheck = stdenv ? glibc && builtins.storeDir == "/nix/store";
  
    # Saw random failures like ‘help2man: can't get '--help' info from
    # man/sha512sum.td/sha512sum’.
    enableParallelBuilding = false;
  
    NIX_LDFLAGS = optionalString selinuxSupport "-lsepol";
    FORCE_UNSAFE_CONFIGURE = optionalString stdenv.isSunOS "1";
  
    makeFlags = optionalString stdenv.isDarwin "CFLAGS=-D_FORTIFY_SOURCE=0";
  
    meta = {
      homepage = http://www.gnu.org/software/coreutils/;
  
negative.code:   # FIXME needs gcc 4.9 in bootstrap tools
    hardeningDisable = [ "stackprotector" ];
  
    patches = optional hostPlatform.isCygwin ./coreutils-8.23-4.cygwin.patch;
  
    # The test tends to fail on btrfs and maybe other unusual filesystems.
    postPatch = optionalString (!hostPlatform.isDarwin) ''
      sed '2i echo Skipping dd sparse test && exit 0' -i ./tests/dd/sparse.sh
      sed '2i echo Skipping cp sparse test && exit 0' -i ./tests/cp/sparse.sh
      sed '2i echo Skipping rm deep-2 test && exit 0' -i ./tests/rm/deep-2.sh
  