Adds ocaml-uuseg

Uuseg is an OCaml library for segmenting Unicode text. It implements the
locale independent Unicode text segmentation algorithms to detect
grapheme cluster, word and sentence boundaries and the Unicode line
breaking algorithm to detect line break opportunities.

Homepage: http://erratique.ch/software/uuseg
This commit is contained in:
Vincent Laporte 2014-12-28 14:27:27 +01:00 committed by Peter Simons
parent f98df44ada
commit 56d651d347
2 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,47 @@
{ stdenv, fetchurl, ocaml, findlib, opam, uucp, uutf, cmdliner }:
let
inherit (stdenv.lib) getVersion versionAtLeast;
pname = "uuseg";
version = "0.8.0";
webpage = "http://erratique.ch/software/${pname}";
in
assert versionAtLeast (getVersion ocaml) "4.01";
stdenv.mkDerivation {
name = "ocaml-${pname}-${version}";
src = fetchurl {
url = "${webpage}/releases/${pname}-${version}.tbz";
sha256 = "00n4zi8dyw2yzi4nr2agcrr33b0q4dr9mgnkczipf4c0gm5cm50h";
};
buildInputs = [ ocaml findlib opam cmdliner ];
propagatedBuildInputs = [ uucp uutf ];
createFindlibDestdir = true;
unpackCmd = "tar xjf $src";
buildPhase = ''
ocaml pkg/build.ml \
native=true native-dynlink=true \
uutf=true cmdliner=true
'';
installPhase = ''
opam-installer --script --prefix=$out ${pname}.install | sh
ln -s $out/lib/${pname} $out/lib/ocaml/${getVersion ocaml}/site-lib/${pname}
'';
meta = with stdenv.lib; {
description = "An OCaml library for segmenting Unicode text";
homepage = "${webpage}";
platforms = ocaml.meta.platforms;
license = licenses.bsd3;
maintainers = [ maintainers.vbgl ];
};
}

View File

@ -3820,6 +3820,7 @@ let
uucd = callPackage ../development/ocaml-modules/uucd { };
uucp = callPackage ../development/ocaml-modules/uucp { };
uunf = callPackage ../development/ocaml-modules/uunf { };
uuseg = callPackage ../development/ocaml-modules/uuseg { };
uutf = callPackage ../development/ocaml-modules/uutf { };
vg = callPackage ../development/ocaml-modules/vg { };