anchor.diff:      sha256 = "03hnrqvjq6ghg1mp3gkarfxh6g3x1n1vjrzpbc5lh9717vklrxiz";
     };
   
  -  prePatch = stdenv.lib.optionalString hpnSupport
  +  prePatch = optionalString hpnSupport
       ''
         gunzip -c ${hpnSrc} | patch -p1
         export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s"
  
positive.code:     url = mirror://sourceforge/hpnssh/openssh-6.6p1-hpnssh14v5.diff.gz;
      sha256 = "682b4a6880d224ee0b7447241b684330b731018585f1ba519f46660c10d63950";
    };
    optionalString = stdenv.lib.optionalString;
  
  in
  
  stdenv.mkDerivation rec {
    name = "openssh-6.8p1";
  
  
negative.code:   patches = [ ./locale_archive.patch ];
  
    buildInputs = [ zlib openssl libedit pkgconfig pam ]
      ++ optional withKerberos [ kerberos ];
  
    # I set --disable-strip because later we strip anyway. And it fails to strip
    # properly when cross building.
    configureFlags = [
      "--localstatedir=/var"
      "--with-mantype=man"
      "--with-libedit=yes"
      "--disable-strip"
      (if pam != null then "--with-pam" else "--without-pam")
    ] ++ optional (etcDir != null) "--sysconfdir=${etcDir}"
      ++ optional withKerberos "--with-kerberos5=${kerberos}"
      ++ optional stdenv.isDarwin "--disable-libutil";
  
    preConfigure = ''
      configureFlagsArray+=("--with-privsep-path=$out/empty")
      mkdir -p $out/empty
    '';
  
    enableParallelBuilding = true;
  
    postInstall = ''
      # Install ssh-copy-id, it's very useful.
      cp contrib/ssh-copy-id $out/bin/
      chmod +x $out/bin/ssh-copy-id
      cp contrib/ssh-copy-id.1 $out/share/man/man1/
    '';
  
    installFlags = [
      "sysconfdir=\${out}/etc/ssh"
    ];
  
    meta = {
      homepage = "http://www.openssh.org/";
      description = "An implementation of the SSH protocol";
      license = stdenv.lib.licenses.bsd2;
  