# example tags:
# date="2007-20-10"; (get the last version before given date)
# tag="<tagname>" (get version by tag name)
# If you don't specify neither one date="NOW" will be used (get latest)

{stdenvNoCC, cvs, openssh, lib}:

lib.makeOverridable (
  lib.fetchers.withNormalizedHash { } (
    {cvsRoot, module, tag ? null, date ? null, outputHash, outputHashAlgo}:

    stdenvNoCC.mkDerivation {
      name = "cvs-export";
      builder = ./builder.sh;
      nativeBuildInputs = [cvs openssh];

      inherit outputHash outputHashAlgo;
      outputHashMode = "recursive";

      inherit cvsRoot module tag date;
    }
  )
)