Unverified Commit b1c58f7f authored by Yifei Sun's avatar Yifei Sun Committed by Vincent Laporte
Browse files

ocamlPackages.ocamlmod: 0.0.9 -> 0.1.1



Update pkgs/development/tools/ocaml/ocamlmod/default.nix

Co-authored-by: default avatarVincent Laporte <vbgl@users.noreply.github.com>
parent a15b0255
Loading
Loading
Loading
Loading
+22 −45
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchurl,
  ocaml,
  findlib,
  ocamlbuild,
  ounit,
  buildDunePackage,
  fetchurl,
  ounit2,
}:

let
  # ounit is only available for OCaml >= 4.08
  doCheck = lib.versionAtLeast ocaml.version "4.08";
in

lib.throwIf (lib.versionAtLeast ocaml.version "5.0") "ocamlmod is not available for OCaml ≥ 5.0"

  stdenv.mkDerivation
  {
buildDunePackage (finalAttrs: {
  pname = "ocamlmod";
    version = "0.0.9";
  version = "0.1.1";

  minimalOCamlVersion = "4.03";

  src = fetchurl {
      url = "https://forge.ocamlcore.org/frs/download.php/1702/ocamlmod-0.0.9.tar.gz";
      sha256 = "0cgp9qqrq7ayyhddrmqmq1affvfqcn722qiakjq4dkywvp67h4aa";
    url = "https://github.com/gildor478/ocamlmod/releases/download/v${finalAttrs.version}/ocamlmod-${finalAttrs.version}.tbz";
    hash = "sha256-qMG+y/iS+L4qtKiJX01pTTAdQuGLoIA+so1fqY9bm8o=";
  };

    strictDeps = !doCheck;

    nativeBuildInputs = [
      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;
    nativeCheckInputs = [ ounit ];

    checkPhase = "ocaml setup.ml -test";
  doCheck = lib.versionAtLeast ocaml.version "4.08";
  checkInputs = [ ounit2 ];

  dontStrip = true;

  meta = {
      homepage = "https://forge.ocamlcore.org/projects/ocamlmod/ocamlmod";
    homepage = "https://github.com/gildor478/ocamlmod";
    description = "Generate OCaml modules from source files";
      platforms = ocaml.meta.platforms or [ ];
    maintainers = with lib.maintainers; [
      maggesi
    ];
    mainProgram = "ocamlmod";
  };
  }
})