1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 perl,
6 gmp,
7 mpfr,
8 ppl,
9 ocaml,
10 findlib,
11 camlidl,
12 mlgmpidl,
13 flint3,
14 pplite,
15}:
16
17stdenv.mkDerivation rec {
18 pname = "ocaml${ocaml.version}-apron";
19 version = "0.9.15";
20 src = fetchFromGitHub {
21 owner = "antoinemine";
22 repo = "apron";
23 rev = "v${version}";
24 hash = "sha256-gHLCurydxX1pS66DTAWUJGl9Yqu9RWRjkZh6lXzM7YY=";
25 };
26
27 nativeBuildInputs = [
28 ocaml
29 findlib
30 perl
31 ];
32 buildInputs = [
33 gmp
34 mpfr
35 ppl
36 camlidl
37 flint3
38 pplite
39 ];
40 propagatedBuildInputs = [ mlgmpidl ];
41
42 outputs = [
43 "out"
44 "dev"
45 ];
46
47 configurePhase = ''
48 runHook preConfigure
49 ./configure -prefix $out ${lib.optionalString stdenv.hostPlatform.isDarwin "--no-strip"}
50 mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs
51 runHook postConfigure
52 '';
53
54 postInstall = ''
55 mkdir -p $dev/lib
56 mv $out/lib/ocaml $dev/lib/
57 '';
58
59 meta = {
60 license = lib.licenses.lgpl21;
61 homepage = "http://apron.cri.ensmp.fr/library/";
62 maintainers = [ lib.maintainers.vbgl ];
63 description = "Numerical abstract domain library";
64 inherit (ocaml.meta) platforms;
65 };
66}