biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / ocaml-modules / uunf / default.nix
blob4785bbd0405167b26ff8d4e2f02e0af426d95237
1 { lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uutf, cmdliner
2 , cmdlinerSupport ? lib.versionAtLeast cmdliner.version "1.1"
3 , version ? if lib.versionAtLeast ocaml.version "4.14" then "15.1.0" else "15.0.0"
4 }:
6 let
7   pname = "uunf";
8   webpage = "https://erratique.ch/software/${pname}";
9   hash = {
10     "15.0.0" = "sha256-B/prPAwfqS8ZPS3fyDDIzXWRbKofwOCyCfwvh9veuug=";
11     "15.1.0" = "sha256-D8yvb7hVWaYxMqMZ5089/5tWDfvyGXKUOjhfU/4zSeQ=";
12   }."${version}";
15 if lib.versionOlder ocaml.version "4.03"
16 then throw "${pname} is not available for OCaml ${ocaml.version}"
17 else
19 stdenv.mkDerivation {
20   name = "ocaml${ocaml.version}-${pname}-${version}";
21   inherit version;
23   src = fetchurl {
24     url = "${webpage}/releases/${pname}-${version}.tbz";
25     inherit hash;
26   };
28   nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
29   buildInputs = [ topkg uutf ]
30   ++ lib.optional cmdlinerSupport cmdliner;
32   strictDeps = true;
34   prePatch = lib.optionalString stdenv.isAarch64 "ulimit -s 16384";
36   buildPhase = ''
37     runHook preBuild
38     ${topkg.run} build \
39       --with-uutf true \
40       --with-cmdliner ${lib.boolToString cmdlinerSupport}
41     runHook postBuild
42   '';
44   inherit (topkg) installPhase;
46   meta = with lib; {
47     description = "An OCaml module for normalizing Unicode text";
48     homepage = webpage;
49     license = licenses.bsd3;
50     maintainers = [ maintainers.vbgl ];
51     mainProgram = "unftrip";
52     inherit (ocaml.meta) platforms;
53   };