Files

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

60 lines
1.3 KiB
Nix
Raw Permalink Normal View History

2025-10-09 14:15:47 +02:00
{
lib,
stdenv,
fetchurl,
ocaml,
findlib,
ocamlbuild,
cmdliner,
topkg,
uchar,
version ?
if lib.versionAtLeast ocaml.version "4.08" then
"1.0.4"
else if lib.versionAtLeast ocaml.version "4.03" then
"1.0.3"
else
throw "uutf is not available with OCaml ${ocaml.version}",
}:
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-uutf-${version}";
inherit version;
src = fetchurl {
url = "https://erratique.ch/software/uutf/releases/uutf-${version}.tbz";
hash =
{
"1.0.3" = "sha256-h3KlYT0ecCmM4U3zMkGjaF8h5O9r20zwP+mF+x7KBWg=";
"1.0.4" = "sha256-p6V45q+RSaiJThjjtHWchWWTemnGyaznowu/BIRhnKg=";
}
."${version}";
};
nativeBuildInputs = [
ocaml
ocamlbuild
findlib
topkg
];
buildInputs = [
topkg
cmdliner
];
propagatedBuildInputs = [ uchar ];
strictDeps = true;
inherit (topkg) buildPhase installPhase;
meta = with lib; {
description = "Non-blocking streaming Unicode codec for OCaml";
homepage = "https://erratique.ch/software/uutf";
changelog = "https://raw.githubusercontent.com/dbuenzli/uutf/refs/tags/v${version}/CHANGES.md";
license = licenses.isc;
maintainers = [ maintainers.vbgl ];
mainProgram = "utftrip";
inherit (ocaml.meta) platforms;
};
}