1{ stdenv, lib, fetchFromGitHub, perl, gmp, mpfr, ppl, ocaml, findlib, camlidl, mlgmpidl
2, flint, pplite
3}:
4
5stdenv.mkDerivation rec {
6 pname = "ocaml${ocaml.version}-apron";
7 version = "0.9.14";
8 src = fetchFromGitHub {
9 owner = "antoinemine";
10 repo = "apron";
11 rev = "v${version}";
12 hash = "sha256-e8bSf0FPB6E3MFHHoSrE0x/6nrUStO+gOKxJ4LDHBi0=";
13 };
14
15 nativeBuildInputs = [ ocaml findlib perl ];
16 buildInputs = [ gmp mpfr ppl camlidl flint pplite ];
17 propagatedBuildInputs = [ mlgmpidl ];
18
19 # TODO: Doesn't produce the library correctly if true
20 strictDeps = false;
21
22 outputs = [ "out" "dev" ];
23
24 configurePhase = ''
25 runHook preConfigure
26 ./configure -prefix $out ${lib.optionalString stdenv.isDarwin "-no-strip"}
27 mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs
28 runHook postConfigure
29 '';
30
31 postInstall = ''
32 mkdir -p $dev/lib
33 mv $out/lib/ocaml $dev/lib/
34 '';
35
36 meta = {
37 license = lib.licenses.lgpl21;
38 homepage = "http://apron.cri.ensmp.fr/library/";
39 maintainers = [ lib.maintainers.vbgl ];
40 description = "Numerical abstract domain library";
41 inherit (ocaml.meta) platforms;
42 };
43}