anchor.diff:    outputs = [ "out" "doc" ];
     outputMan = "out"; # users will want `man man` to work
   
  +  strictDeps = true;
     nativeBuildInputs = [ autoreconfHook groff makeWrapper pkg-config zstd ];
     buildInputs = [ libpipeline db groff ]; # (Yes, 'groff' is both native and build input)
     checkInputs = [ libiconv /* for 'iconv' binary */ ];
  
positive.code: 
      # Add mandb locations for the above
      echo "MANDB_MAP	/nix/var/nix/profiles/default/share/man	/var/cache/man/nixpkgs" >> src/man_db.conf.in
  
      # use absolute paths to reference programs, otherwise artifacts will have undeclared dependencies
      for f in configure.ac m4/man-check-progs.m4 m4/man-po4a.m4; do
        substituteInPlace $f \
          --replace AC_CHECK_PROGS AC_PATH_PROGS
      done
    '';
  
    configureFlags = [
  
negative.code:     # (multi-call binary). `apropos` is actually just a symlink to whatis. So we need to
      # make sure that we don't wrap symlinks (since that changes argv[0] to the -wrapped name)
      find "$out/bin" -type f | while read file; do
        wrapProgram "$file" \
          --prefix PATH : "${lib.getBin groff}/bin" \
          --prefix PATH : "${lib.getBin zstd}/bin"
      done
    '';
  
    disallowedReferences = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
      buildPackages.groff
    ];
  
    enableParallelBuilding = true;
  
  