diff options
Diffstat (limited to 'pkgs/development/ocaml-modules/uucp/default.nix')
-rw-r--r-- | pkgs/development/ocaml-modules/uucp/default.nix | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/uucp/default.nix b/pkgs/development/ocaml-modules/uucp/default.nix new file mode 100644 index 00000000000..9031087f505 --- /dev/null +++ b/pkgs/development/ocaml-modules/uucp/default.nix @@ -0,0 +1,54 @@ +{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uchar, uutf, uunf, uucd }: + +let + pname = "uucp"; + version = "14.0.0"; + webpage = "https://erratique.ch/software/${pname}"; + minimumOCamlVersion = "4.03"; + doCheck = true; +in + +if !(lib.versionAtLeast ocaml.version minimumOCamlVersion) +then builtins.throw "${pname} needs at least OCaml ${minimumOCamlVersion}" +else + +stdenv.mkDerivation { + + name = "ocaml${ocaml.version}-${pname}-${version}"; + + src = fetchurl { + url = "${webpage}/releases/${pname}-${version}.tbz"; + sha256 = "sha256:1yx9nih3d9prb9zizq8fzmmqylf24a6yifhf81h33znrj5xn1mpj"; + }; + + nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ]; + buildInputs = [ topkg uutf uunf uucd ]; + + propagatedBuildInputs = [ uchar ]; + + strictDeps = true; + + buildPhase = '' + runHook preBuild + ${topkg.buildPhase} --with-cmdliner false --tests ${lib.boolToString doCheck} + runHook postBuild + ''; + + inherit (topkg) installPhase; + + inherit doCheck; + checkPhase = '' + runHook preCheck + ${topkg.run} test + runHook postCheck + ''; + checkInputs = [ uucd ]; + + meta = with lib; { + description = "An OCaml library providing efficient access to a selection of character properties of the Unicode character database"; + homepage = webpage; + inherit (ocaml.meta) platforms; + license = licenses.bsd3; + maintainers = [ maintainers.vbgl ]; + }; +} |