frama-c: link to the apron library
This commit is contained in:
parent
67a5833330
commit
939e2d702f
@ -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
|
||||
|
12
pkgs/development/tools/analysis/frama-c/dynamic.diff
Normal file
12
pkgs/development/tools/analysis/frama-c/dynamic.diff
Normal file
@ -0,0 +1,12 @@
|
||||
--- a/src/kernel_services/plugin_entry_points/dynamic.ml 2016-05-30 16:15:22.000000000 +0200
|
||||
+++ b/src/kernel_services/plugin_entry_points/dynamic.ml 2016-10-13 18:25:31.000000000 +0200
|
||||
@@ -287,7 +287,8 @@
|
||||
(List.fold_right (add_dir ~user:false) Config.plugin_dir []) ;
|
||||
let pkgs = ref [] in
|
||||
List.iter (scan_directory pkgs) !load_path ;
|
||||
- let findlib_path = String.concat ":" !load_path in
|
||||
+ let findlib_path = String.concat ":" (!load_path @
|
||||
+ try [Sys.getenv "OCAMLPATH"] with Not_found -> []) in
|
||||
Klog.debug ~dkey "setting findlib path to %s" findlib_path;
|
||||
Findlib.init ~env_ocamlpath:findlib_path ();
|
||||
load_packages (List.rev !pkgs) ;
|
Loading…
Reference in New Issue
Block a user