diff options
Diffstat (limited to 'pkgs/development/tools/analysis/frama-c/default.nix')
-rw-r--r-- | pkgs/development/tools/analysis/frama-c/default.nix | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix index fc817a8e391e..a1239c6a1216 100644 --- a/pkgs/development/tools/analysis/frama-c/default.nix +++ b/pkgs/development/tools/analysis/frama-c/default.nix @@ -1,6 +1,11 @@ -{ stdenv, fetchurl, ncurses, ocamlPackages, graphviz +{ stdenv, fetchurl, makeWrapper, ncurses, ocamlPackages, graphviz , ltl2ba, coq, alt-ergo, why3 }: +let + mkocamlpath = p: "${p}/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib"; + ocamlpath = "${mkocamlpath ocamlPackages.apron}:${mkocamlpath ocamlPackages.mlgmpidl}"; +in + stdenv.mkDerivation rec { name = "frama-c-${version}"; version = "20160501"; @@ -16,9 +21,11 @@ stdenv.mkDerivation rec { sha256 = "1335bhq9v3h46m8aba2c5myi9ghm87q41in0m15xvdrwq5big1jg"; }; + nativeBuildInputs = [ makeWrapper ]; + buildInputs = with ocamlPackages; [ ncurses ocaml findlib alt-ergo ltl2ba ocamlgraph - lablgtk coq graphviz zarith why3 zarith + lablgtk coq graphviz zarith why3 apron ]; @@ -38,11 +45,15 @@ stdenv.mkDerivation rec { FRAMAC=$out/bin/frama-c ./configure --prefix=$out make make install + for p in $out/bin/frama-c{,-gui}; + do + wrapProgram $p --prefix OCAMLPATH ':' ${ocamlpath} + done ''; - # Enter frama-c directory before patching prePatch = ''cd frama*''; + patches = [ ./dynamic.diff ]; postPatch = '' # strip absolute paths to /usr/bin for file in ./configure ./share/Makefile.common ./src/*/configure; do |