52 lines
1.2 KiB
Nix
52 lines
1.2 KiB
Nix
{
|
|
lib,
|
|
fetchurl,
|
|
buildDunePackage,
|
|
ocaml,
|
|
ounit,
|
|
ounit2,
|
|
seq,
|
|
}:
|
|
|
|
let
|
|
version_sha =
|
|
if lib.versionAtLeast ocaml.version "4.12" then
|
|
{
|
|
version = "1.12.0";
|
|
hash = "sha256-oB8r8i9ywvSrq9jT52NeNcG/a8WkGtbVoAdFTdq60dQ=";
|
|
}
|
|
else if lib.versionAtLeast ocaml.version "4.08" then
|
|
{
|
|
version = "1.11.0";
|
|
hash = "sha256-AfwkR4DA9r5yrnlrH7dQ82feGGJP110H7nl4LtbfjU8=";
|
|
}
|
|
else
|
|
{
|
|
version = "1.9.0";
|
|
hash = "sha256:1gas4ky49zgxph3870nffzkr6y41kkpqp4nj38pz1gh49zcf12aj";
|
|
};
|
|
in
|
|
|
|
buildDunePackage rec {
|
|
pname = "re";
|
|
version = version_sha.version;
|
|
|
|
minimalOCamlVersion = "4.02";
|
|
|
|
src = fetchurl {
|
|
url = "https://github.com/ocaml/ocaml-re/releases/download/${version}/re-${version}.tbz";
|
|
inherit (version_sha) hash;
|
|
};
|
|
|
|
propagatedBuildInputs = [ seq ];
|
|
doCheck = lib.versionAtLeast ocaml.version "4.08";
|
|
checkInputs = [ (if lib.versionAtLeast version "1.12" then ounit2 else ounit) ];
|
|
|
|
meta = {
|
|
homepage = "https://github.com/ocaml/ocaml-re";
|
|
description = "Pure OCaml regular expressions, with support for Perl and POSIX-style strings";
|
|
license = lib.licenses.lgpl2;
|
|
maintainers = with lib.maintainers; [ vbgl ];
|
|
};
|
|
}
|