nixpkgs/pkgs/development/ocaml-modules/iter/default.nix
2023-04-05 08:43:27 +02:00

38 lines
1 KiB
Nix

{ lib, fetchFromGitHub, buildDunePackage, ocaml, dune-configurator
, result, seq
, mdx, ounit2, qcheck-core
}:
buildDunePackage rec {
pname = "iter";
version = "1.6";
duneVersion = "3";
src = fetchFromGitHub {
owner = "c-cube";
repo = pname;
rev = "v${version}";
sha256 = "sha256-FbM/Vk/h4wkrBjyf9/QXTvTOA0nNqsdHP1mDnVkg1is=";
};
buildInputs = [ dune-configurator ];
propagatedBuildInputs = [ result seq ];
doCheck = lib.versionAtLeast ocaml.version "4.08";
nativeCheckInputs = [ mdx.bin ];
checkInputs = [ ounit2 qcheck-core ];
meta = {
homepage = "https://github.com/c-cube/sequence";
description = "Simple sequence (iterator) datatype and combinators";
longDescription = ''
Simple sequence datatype, intended to transfer a finite number of
elements from one data structure to another. Some transformations on sequences,
like `filter`, `map`, `take`, `drop` and `append` can be performed before the
sequence is iterated/folded on.
'';
license = lib.licenses.bsd2;
};
}