diff --git a/nix/ocamlgraph.nix b/nix/ocamlgraph.nix new file mode 100644 index 0000000000000000000000000000000000000000..66b1c4d3ec7ee8fbeba9cb9578d429173857e5f7 --- /dev/null +++ b/nix/ocamlgraph.nix @@ -0,0 +1,26 @@ +{ lib, fetchurl, buildDunePackage, stdlib-shims }: + +buildDunePackage rec { + pname = "ocamlgraph"; + version = "2.1.0"; + + src = fetchurl { + url = "https://github.com/backtracking/ocamlgraph/releases/download/${version}/ocamlgraph-${version}.tbz"; + sha256 = "sha256-D5YsNvklPfI5OVWvQbB0tqQmsvkqne95WyAFtX0wLWU="; + }; + + minimalOCamlVersion = "4.08"; + useDune2 = true; + + propagatedBuildInputs = [ + stdlib-shims + ]; + + meta = with lib; { + homepage = "http://ocamlgraph.lri.fr/"; + downloadPage = "https://github.com/backtracking/ocamlgraph"; + description = "Graph library for OCaml"; + license = licenses.gpl2Oss; + maintainers = with maintainers; [ ]; + }; +} diff --git a/nix/pkgs.nix b/nix/pkgs.nix index 69ec600c6a00dace82ffa98d0b4dbd1a110a69ed..25c355331580ddc8845fd3b16f76044ebbc0cd2e 100644 --- a/nix/pkgs.nix +++ b/nix/pkgs.nix @@ -7,6 +7,7 @@ let combinetura = oself.callPackage ./combinetura.nix {}; headache = oself.callPackage ./headache.nix {}; mlmpfr = oself.callPackage ./mlmpfr.nix {}; + ocamlgraph = oself.callPackage ./ocamlgraph.nix {}; why3 = oself.callPackage ./why3.nix {}; ppx_deriving_yaml = oself.callPackage ./ppx_deriving_yaml.nix {}; diff --git a/opam b/opam index 8ccaa3669bc50deb9d57482d14938f8583ffb088..8a017f19c580cdeef801414179abe04c8b876966 100644 --- a/opam +++ b/opam @@ -128,6 +128,7 @@ depends: [ "menhir" { >= "20181006" & build } "ocaml" { >= "4.13.1" } "ocamlgraph" { >= "1.8.8" } + "ocamlgraph" { with-test & >= "2.1.0" } "odoc" { with-doc } "unionFind" { >= "20220107" } "why3" { >= "1.6.0" } diff --git a/reference-configuration.md b/reference-configuration.md index b85304514189864476d23ecbdfc24428927afdeb..e075a0d9f602417ed4aaf598b7dd5ba6dabb6d57 100644 --- a/reference-configuration.md +++ b/reference-configuration.md @@ -10,7 +10,7 @@ compiling Frama-C+dev. - lablgtk3-sourceview3.3.1.3 - menhir.20211128 - ocamlfind.1.9.6 -- ocamlgraph.2.0.0 +- ocamlgraph.2.1.0 - ppx_deriving_yaml.0.2.1 - ppx_deriving_yojson.3.7.0 - ppx_import.1.10.0 diff --git a/src/plugins/dive/tests/dive/oracle/assigned_param.dot b/src/plugins/dive/tests/dive/oracle/assigned_param.dot index dbf37f6f407a6e3967e6f8f52940fa21910a2279..f5833aae3a4c7c6678b775551603d1a455209682 100644 --- a/src/plugins/dive/tests/dive/oracle/assigned_param.dot +++ b/src/plugins/dive/tests/dive/oracle/assigned_param.dot @@ -20,4 +20,4 @@ digraph G { cp7 -> cp3; cp9 -> cp5; - } \ No newline at end of file + } diff --git a/src/plugins/dive/tests/dive/oracle/callstack_global.dot b/src/plugins/dive/tests/dive/oracle/callstack_global.dot index 927402ef746431e2a2fddfc9e44d18404d0fcf87..ffcae6d054f55ecb535f841962d161b926ec071a 100644 --- a/src/plugins/dive/tests/dive/oracle/callstack_global.dot +++ b/src/plugins/dive/tests/dive/oracle/callstack_global.dot @@ -46,4 +46,4 @@ digraph G { cp23 -> cp19; cp25 -> cp21; - } \ No newline at end of file + } diff --git a/src/plugins/dive/tests/dive/oracle/callstack_strategy.dot b/src/plugins/dive/tests/dive/oracle/callstack_strategy.dot index f343686a117e0a25a97402d5b40f0ebad3efc64f..3baccd3f7ab3f4e97a494d4db1c99ad6087390c0 100644 --- a/src/plugins/dive/tests/dive/oracle/callstack_strategy.dot +++ b/src/plugins/dive/tests/dive/oracle/callstack_strategy.dot @@ -42,4 +42,4 @@ digraph G { cp15 -> cp18; cp18 -> cp13; - } \ No newline at end of file + } diff --git a/src/plugins/dive/tests/dive/oracle/const.dot b/src/plugins/dive/tests/dive/oracle/const.dot index bb67ee0a8f13e3ffdc2fa6069374d215300f5673..d359a854bc14c20ba274dbbc13390a685a60acd6 100644 --- a/src/plugins/dive/tests/dive/oracle/const.dot +++ b/src/plugins/dive/tests/dive/oracle/const.dot @@ -27,4 +27,4 @@ digraph G { cp13 -> cp9; cp13 -> cp11; - } \ No newline at end of file + } diff --git a/src/plugins/dive/tests/dive/oracle/exceptional.dot b/src/plugins/dive/tests/dive/oracle/exceptional.dot index b2e11483ced54ea2c35fe6c937654d0f7e265213..55e15cd1c72df4493609c7482f0f25fd0650264e 100644 --- a/src/plugins/dive/tests/dive/oracle/exceptional.dot +++ b/src/plugins/dive/tests/dive/oracle/exceptional.dot @@ -24,4 +24,4 @@ digraph G { cp11 -> cp5; cp13 -> cp7; - } \ No newline at end of file + } diff --git a/src/plugins/dive/tests/dive/oracle/global.dot b/src/plugins/dive/tests/dive/oracle/global.dot index 2659479de44b35d430becb1153d31d1a0c3dde6d..e812304b34e78d98aa61c29967cc9ad4820bc4ee 100644 --- a/src/plugins/dive/tests/dive/oracle/global.dot +++ b/src/plugins/dive/tests/dive/oracle/global.dot @@ -20,4 +20,4 @@ digraph G { cp7 -> cp3; cp9 -> cp3; - } \ No newline at end of file + } diff --git a/src/plugins/dive/tests/dive/oracle/manydeps.dot b/src/plugins/dive/tests/dive/oracle/manydeps.dot index d00972c3173b5d36ee80a6ec993194f0333bc635..69446545b0970cdde5830c57eda07661d37e7808 100644 --- a/src/plugins/dive/tests/dive/oracle/manydeps.dot +++ b/src/plugins/dive/tests/dive/oracle/manydeps.dot @@ -41,4 +41,4 @@ digraph G { cp25 -> cp24 [style="bold", ]; cp27 -> cp24; - } \ No newline at end of file + } diff --git a/src/plugins/dive/tests/dive/oracle/per_callstack.dot b/src/plugins/dive/tests/dive/oracle/per_callstack.dot index 0ae6f71c8c46c41651bae04ccc5c34b62cc54fc1..85100a27b32c57e627e50465b544714289348160 100644 --- a/src/plugins/dive/tests/dive/oracle/per_callstack.dot +++ b/src/plugins/dive/tests/dive/oracle/per_callstack.dot @@ -48,4 +48,4 @@ digraph G { cp23 -> cp17; cp25 -> cp19; - } \ No newline at end of file + } diff --git a/src/plugins/dive/tests/dive/oracle/pointed_param.dot b/src/plugins/dive/tests/dive/oracle/pointed_param.dot index 92f573361740169815209ed17afccd6a326b8974..46bb735bd56446636a18ce3e0e2c1cab7ab8137a 100644 --- a/src/plugins/dive/tests/dive/oracle/pointed_param.dot +++ b/src/plugins/dive/tests/dive/oracle/pointed_param.dot @@ -30,4 +30,4 @@ digraph G { cp11 -> cp9; cp13 -> cp11; - } \ No newline at end of file + } diff --git a/src/plugins/dive/tests/dive/oracle/pointers_to_local.dot b/src/plugins/dive/tests/dive/oracle/pointers_to_local.dot index b7876f50b929e04fe0f2704a4debfca7d0d72e98..1080f17282b79fcccd55eda8338ae7a53f2f775c 100644 --- a/src/plugins/dive/tests/dive/oracle/pointers_to_local.dot +++ b/src/plugins/dive/tests/dive/oracle/pointers_to_local.dot @@ -19,4 +19,4 @@ digraph G { cp5 -> cp2; cp8 -> cp2; - } \ No newline at end of file + } diff --git a/src/plugins/dive/tests/dive/oracle/ranges.dot b/src/plugins/dive/tests/dive/oracle/ranges.dot index 6c5989ea7f6c318bd227bd79f1caa8d57a1fce94..5544ffa739eb0e2c1eb7f69748b0e561848e5dfa 100644 --- a/src/plugins/dive/tests/dive/oracle/ranges.dot +++ b/src/plugins/dive/tests/dive/oracle/ranges.dot @@ -120,4 +120,4 @@ digraph G { cp95 -> cp37; cp97 -> cp37; - } \ No newline at end of file + } diff --git a/src/plugins/dive/tests/dive/oracle/unfocused_callers.dot b/src/plugins/dive/tests/dive/oracle/unfocused_callers.dot index c1212e05cefdb363f882f5cb34a1b977b4c942a1..6f0a41332ca46ba3eba82dbfa0ebe052460008d6 100644 --- a/src/plugins/dive/tests/dive/oracle/unfocused_callers.dot +++ b/src/plugins/dive/tests/dive/oracle/unfocused_callers.dot @@ -28,4 +28,4 @@ digraph G { cp9 -> cp5; cp9 -> cp7; - } \ No newline at end of file + } diff --git a/src/plugins/dive/tests/dive/oracle/various.dot b/src/plugins/dive/tests/dive/oracle/various.dot index 0a9076386dcb14e7caaaf483c9ecafa96355fd46..86fa80576bd0c301a76c490ccb2efca7ea3f5a65 100644 --- a/src/plugins/dive/tests/dive/oracle/various.dot +++ b/src/plugins/dive/tests/dive/oracle/various.dot @@ -68,4 +68,4 @@ digraph G { cp30 -> cp25; cp32 -> cp27; - } \ No newline at end of file + } diff --git a/tests/misc/oracle/interpreted_automata_dataflow_backward.dot b/tests/misc/oracle/interpreted_automata_dataflow_backward.dot index e21778fe0870ef3da3d767e80fca5039a7528270..99f06648f6e429f3618551c663ac9fd6b3d33fcf 100644 --- a/tests/misc/oracle/interpreted_automata_dataflow_backward.dot +++ b/tests/misc/oracle/interpreted_automata_dataflow_backward.dot @@ -73,4 +73,4 @@ digraph G { cp32 -> cp31 [label=<int a = 1;>, ]; cp33 -> cp23 [label=<i ++;>, ]; - } \ No newline at end of file + } diff --git a/tests/misc/oracle/interpreted_automata_dataflow_forward.dot b/tests/misc/oracle/interpreted_automata_dataflow_forward.dot index 654b07c305061523fc84f98606aae61d0e99807e..57834ef539166eac084da62b4a8825b7b2e741d7 100644 --- a/tests/misc/oracle/interpreted_automata_dataflow_forward.dot +++ b/tests/misc/oracle/interpreted_automata_dataflow_forward.dot @@ -73,4 +73,4 @@ digraph G { cp32 -> cp31 [label=<int a = 1;>, ]; cp33 -> cp23 [label=<i ++;>, ]; - } \ No newline at end of file + } diff --git a/tests/pdg/oracle/call.f.dot b/tests/pdg/oracle/call.f.dot index 6069991160613f9dc1bb4eaeea0e4dda95d7f71f..08ed9493b5c32ffc117f019f07b9e115474433db 100644 --- a/tests/pdg/oracle/call.f.dot +++ b/tests/pdg/oracle/call.f.dot @@ -28,4 +28,4 @@ digraph G { 8 -> 9 [color="#0000FF", ]; 9 -> 10 [color="#0000FF", ]; - } \ No newline at end of file + } diff --git a/tests/pdg/oracle/call.g.dot b/tests/pdg/oracle/call.g.dot index f0da71f1413380c06107d64436516841851b4eba..bf153f947b74048d92a76249df37bdbe9edce8b1 100644 --- a/tests/pdg/oracle/call.g.dot +++ b/tests/pdg/oracle/call.g.dot @@ -45,4 +45,4 @@ digraph G { 24 -> 27 [color="#0000FF", ]; 27 -> 28 [color="#0000FF", ]; - } \ No newline at end of file + }