Files
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

77 lines
1.5 KiB
Nix

{
lib,
stdenv,
fetchurl,
ocaml,
findlib,
ocamlbuild,
topkg,
uchar,
uutf,
uunf,
uucd,
}:
let
pname = "uucp";
version = "17.0.0";
webpage = "https://erratique.ch/software/${pname}";
minimalOCamlVersion = "4.03";
doCheck = true;
in
if lib.versionOlder ocaml.version minimalOCamlVersion then
throw "${pname} needs at least OCaml ${minimalOCamlVersion}"
else
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-${pname}-${version}";
src = fetchurl {
url = "${webpage}/releases/${pname}-${version}.tbz";
hash = "sha256-mSQtTn4DYa15pYWFt0J+/BEpJRaa+6uIKnifMV4Euhs=";
};
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 = "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 ];
};
}