base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / al / alt-ergo / package.nix
blob2f58141c3281bf441f3146baeb6db29948b06ab1
1 { darwin, fetchurl, lib, ocamlPackages, stdenv }:
3 let
4   pname = "alt-ergo";
5   version = "2.6.0";
7   src = fetchurl {
8     url = "https://github.com/OCamlPro/alt-ergo/releases/download/v${version}/alt-ergo-${version}.tbz";
9     hash = "sha256-EmkxGvJSeKRmiSuoeMyIi6WfF39T3QPxKixiOwP8834=";
10   };
13 let alt-ergo-lib = ocamlPackages.buildDunePackage rec {
14   pname = "alt-ergo-lib";
15   inherit version src;
16   buildInputs = with ocamlPackages; [ ppx_blob ];
17   propagatedBuildInputs = with ocamlPackages; [
18     camlzip
19     dolmen_loop
20     dune-build-info
21     fmt
22     ocplib-simplex
23     ppx_deriving
24     seq
25     stdlib-shims
26     zarith
27   ];
28 }; in
30 let alt-ergo-parsers = ocamlPackages.buildDunePackage rec {
31   pname = "alt-ergo-parsers";
32   inherit version src;
33   nativeBuildInputs = [ ocamlPackages.menhir ];
34   propagatedBuildInputs = [ alt-ergo-lib ] ++ (with ocamlPackages; [ psmt2-frontend ]);
35 }; in
37 ocamlPackages.buildDunePackage {
39   inherit pname version src;
41   nativeBuildInputs = [ ocamlPackages.menhir ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.sigtool ];
42   propagatedBuildInputs = [ alt-ergo-parsers ] ++ (with ocamlPackages; [ cmdliner dune-site ppxlib ]);
44   outputs = [ "bin" "out" ];
46   installPhase = ''
47     runHook preInstall
48     dune install --prefix $bin ${pname}
49     mkdir -p $out/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib
50     mv $bin/lib/alt-ergo $out/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib/
51     runHook postInstall
52   '';
54   meta = {
55     description = "High-performance theorem prover and SMT solver";
56     homepage    = "https://alt-ergo.ocamlpro.com/";
57     license     = lib.licenses.ocamlpro_nc;
58     maintainers = [ lib.maintainers.thoughtpolice ];
59   };