anchor.diff:    outputs = [ "out" "info" ];
     separateDebugInfo = true;
   
  -  nativeBuildInputs = [ perl xz.bin autoreconfHook ] # autoreconfHook is due to patch, normally only needed for cygwin
  -    ++ optionals stdenv.hostPlatform.isCygwin [ texinfo ];  # due to patch
  +  nativeBuildInputs = [
  +    # autoreconfHook is due to patch, normally only needed for cygwin
  +    autoreconfHook
  +    perl
  +    xz.bin
  +  ]
  +  ++ optionals stdenv.hostPlatform.isCygwin [
  +    # due to patch
  +    texinfo
  +  ];
  +
  +  buildInputs = [ ]
  +    ++ optional aclSupport acl
  +    ++ optional attrSupport attr
  +    ++ optional gmpSupport gmp
  +    ++ optional withOpenssl openssl
  +    ++ optionals selinuxSupport [ libselinux libsepol ]
  +    # TODO(@Ericson2314): Investigate whether Darwin could benefit too
  +    ++ optional (isCross && stdenv.hostPlatform.libc != "glibc") libiconv;
  +
     configureFlags = [ "--with-packager=https://nixos.org" ]
       ++ optional (singleBinary != false)
         ("--enable-single-binary" + optionalString (isString singleBinary) "=${singleBinary}")
       ++ optional withOpenssl "--with-openssl"
       ++ optional stdenv.hostPlatform.isSunOS "ac_cv_func_inotify_init=no"
       ++ optional withPrefix "--program-prefix=g"
  -    ++ optional stdenv.isDarwin "--disable-nls" # the shipped configure script doesn't enable nls, but using autoreconfHook does so which breaks the build
  -    ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.libc == "glibc") [
  +    # the shipped configure script doesn't enable nls, but using autoreconfHook
  +    # does so which breaks the build
  +    ++ optional stdenv.isDarwin "--disable-nls"
  +    ++ optionals (isCross && stdenv.hostPlatform.libc == "glibc") [
         # TODO(19b98110126fde7cbb1127af7e3fe1568eacad3d): Needed for fstatfs() I
         # don't know why it is not properly detected cross building with glibc.
         "fu_cv_sys_stat_statfs2_bsize=yes"
       ];
  -
  -
  -  buildInputs = [ gmp ]
  -    ++ optional aclSupport acl
  -    ++ optional attrSupport attr
  -    ++ optional withOpenssl openssl
  -    ++ optionals selinuxSupport [ libselinux libsepol ]
  -       # TODO(@Ericson2314): Investigate whether Darwin could benefit too
  -    ++ optional (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.libc != "glibc") libiconv;
   
     # The tests are known broken on Cygwin
     # (http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/19025),
  
positive.code:   };
  
    postPatch = ''
      # The test tends to fail on btrfs,f2fs and maybe other unusual filesystems.
      sed '2i echo Skipping dd sparse test && exit 77' -i ./tests/dd/sparse.sh
      sed '2i echo Skipping du threshold test && exit 77' -i ./tests/du/threshold.sh
      sed '2i echo Skipping cp sparse test && exit 77' -i ./tests/cp/sparse.sh
  
negative.code: 
    # Works around a bug with 8.26:
    # Makefile:3440: *** Recursive variable 'INSTALL' references itself (eventually).  Stop.
    preInstall = optionalString isCross ''
      sed -i Makefile -e 's|^INSTALL =.*|INSTALL = ${buildPackages.coreutils}/bin/install -c|'
    '';
  
    postInstall = optionalString (isCross && !minimal) ''
      rm $out/share/man/man1/*
      cp ${buildPackages.coreutils-full}/share/man/man1/* $out/share/man/man1
    ''
  