nerdfonts: fix wrong attribute name in error message (#364463)
[NixPkgs.git] / pkgs / development / ocaml-modules / uunf / default.nix
blobf51dc88eeb7b8f89b70af6e9ad902707041f7ec2
2   lib,
3   stdenv,
4   fetchurl,
5   ocaml,
6   findlib,
7   ocamlbuild,
8   topkg,
9   uutf,
10   cmdliner,
11   cmdlinerSupport ? lib.versionAtLeast cmdliner.version "1.1",
12   version ? if lib.versionAtLeast ocaml.version "4.14" then "16.0.0" else "15.0.0",
15 let
16   pname = "uunf";
17   webpage = "https://erratique.ch/software/${pname}";
18   hash =
19     {
20       "15.0.0" = "sha256-B/prPAwfqS8ZPS3fyDDIzXWRbKofwOCyCfwvh9veuug=";
21       "16.0.0" = "sha256-iQNkT1av6ONJXn3yWbNbEVV8lKGYOKh/nPU0tkUdX64=";
22     }
23     ."${version}";
26 if lib.versionOlder ocaml.version "4.03" then
27   throw "${pname} is not available for OCaml ${ocaml.version}"
28 else
30   stdenv.mkDerivation {
31     name = "ocaml${ocaml.version}-${pname}-${version}";
32     inherit version;
34     src = fetchurl {
35       url = "${webpage}/releases/${pname}-${version}.tbz";
36       inherit hash;
37     };
39     nativeBuildInputs = [
40       ocaml
41       findlib
42       ocamlbuild
43       topkg
44     ];
45     buildInputs = [
46       topkg
47       uutf
48     ] ++ lib.optional cmdlinerSupport cmdliner;
50     strictDeps = true;
52     prePatch = lib.optionalString stdenv.hostPlatform.isAarch64 "ulimit -s 16384";
54     buildPhase = ''
55       runHook preBuild
56       ${topkg.run} build \
57         --with-uutf true \
58         --with-cmdliner ${lib.boolToString cmdlinerSupport}
59       runHook postBuild
60     '';
62     inherit (topkg) installPhase;
64     meta = with lib; {
65       description = "OCaml module for normalizing Unicode text";
66       homepage = webpage;
67       license = licenses.bsd3;
68       maintainers = [ maintainers.vbgl ];
69       mainProgram = "unftrip";
70       inherit (ocaml.meta) platforms;
71     };
72   }