diff --git a/pkgs/development/ocaml-modules/uucp/default.nix b/pkgs/development/ocaml-modules/uucp/default.nix index 8e65dd942c4c..66e1a3fc5726 100644 --- a/pkgs/development/ocaml-modules/uucp/default.nix +++ b/pkgs/development/ocaml-modules/uucp/default.nix @@ -12,65 +12,54 @@ uucd, }: -let +stdenv.mkDerivation (finalAttrs: { + name = "ocaml${ocaml.version}-${finalAttrs.pname}-${finalAttrs.version}"; pname = "uucp"; version = "17.0.0"; - webpage = "https://erratique.ch/software/${pname}"; - minimalOCamlVersion = "4.03"; + + src = fetchurl { + url = "https://erratique.ch/software/uucp/releases/uucp-${finalAttrs.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 finalAttrs.doCheck} + runHook postBuild + ''; + + inherit (topkg) installPhase; + doCheck = true; -in + checkPhase = '' + runHook preCheck + ${topkg.run} test + runHook postCheck + ''; + checkInputs = [ uucd ]; -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 = { - description = "OCaml library providing efficient access to a selection of character properties of the Unicode character database"; - homepage = webpage; - inherit (ocaml.meta) platforms; - license = lib.licenses.bsd3; - maintainers = [ lib.maintainers.vbgl ]; - }; - } + meta = { + description = "OCaml library providing efficient access to a selection of character properties of the Unicode character database"; + homepage = "https://erratique.ch/software/uucp"; + inherit (ocaml.meta) platforms; + license = lib.licenses.bsd3; + maintainers = [ lib.maintainers.vbgl ]; + }; +})