{ stdenv, fetchurl }:

stdenv.mkDerivation rec {
  name = "netrw-${version}";
  version = "1.3.2";

  src = fetchurl {
    urls = [
      "http://mamuti.net/files/netrw/netrw-${version}.tar.bz2"
      "http://www.sourcefiles.org/Networking/FTP/Other/netrw-${version}.tar.bz2"
    ];
    sha256 = "1gnl80i5zkyj2lpnb4g0q0r5npba1x6cnafl2jb3i3pzlfz1bndr";
  };

  meta = {
    description = "A simple tool for transporting data over the network.";
    homepage = "http://mamuti.net/netrw/index.en.html";
  };
}

{ stdenv, fetchurl
, checksumType ? "built-in"
, libmhash ? null
, openssl ? null
}:

assert checksumType == "mhash" -> libmhash != null;
assert checksumType == "openssl" -> openssl != null;

stdenv.mkDerivation rec {
  name = "netrw-${version}";
  version = "1.3.2";

  configureFlags = [
    "--with-checksum=${checksumType}"
  ];

  buildInputs = stdenv.lib.optional (checksumType == "mhash") libmhash
             ++ stdenv.lib.optional (checksumType == "openssl") openssl;

  src = fetchurl {
    urls = [
      "http://mamuti.net/files/netrw/netrw-${version}.tar.bz2"
      "http://www.sourcefiles.org/Networking/FTP/Other/netrw-${version}.tar.bz2"
    ];
    sha256 = "1gnl80i5zkyj2lpnb4g0q0r5npba1x6cnafl2jb3i3pzlfz1bndr";
  };

  meta = {
    description = "A simple tool for transporting data over the network.";
    homepage = "http://mamuti.net/netrw/index.en.html";
  };
}

Allow to specify checksum hash library.
netrw: Allow to specify checksum hash library.

Within netrw the only checksum algorithm that is available is MD5. We thus make
it possible for users to override this, so algorithms from other libraries such
as OpenSSL and MHash can used.
