nixpkgs/pkgs/development/tools/ocaml/ocamlmod/default.nix
sternenseemann cdb97ba523 ocamlPackages.ocamlmod: disable tests if ounit is not available
When we redid ounit and ounit2, the minimumOCamlVersion was also pushed
to OCaml 4.04. ocamlmod builds on earlier versions as well, but doesn't
evaluate if we pull in ounit.

Therefore we conditionally disable tests for OCaml < 4.04 which means
for example oasis is available for those versions again as well.
2021-02-21 10:12:22 +01:00

40 lines
1 KiB
Nix

{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, ounit }:
let
# ounit is only available for OCaml >= 4.04
doCheck = lib.versionAtLeast ocaml.version "4.04";
in
stdenv.mkDerivation {
pname = "ocamlmod";
version = "0.0.9";
src = fetchurl {
url = "https://forge.ocamlcore.org/frs/download.php/1702/ocamlmod-0.0.9.tar.gz";
sha256 = "0cgp9qqrq7ayyhddrmqmq1affvfqcn722qiakjq4dkywvp67h4aa";
};
buildInputs = [ ocaml findlib ocamlbuild ];
configurePhase = "ocaml setup.ml -configure --prefix $out"
+ lib.optionalString doCheck " --enable-tests";
buildPhase = "ocaml setup.ml -build";
installPhase = "ocaml setup.ml -install";
inherit doCheck;
checkInputs = [ ounit ];
checkPhase = "ocaml setup.ml -test";
dontStrip = true;
meta = {
homepage = "https://forge.ocamlcore.org/projects/ocamlmod/ocamlmod";
description = "Generate OCaml modules from source files";
platforms = ocaml.meta.platforms or [];
maintainers = with lib.maintainers; [
maggesi
];
};
}