From 456d16ff4b01aee5fa9ac52eb215c3ee54a46a02 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Sat, 12 Mar 2016 15:41:12 +0100 Subject: [PATCH] verasco: init at 1.3 --- .../tools/analysis/verasco/default.nix | 48 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 8 ++++ 2 files changed, 56 insertions(+) create mode 100644 pkgs/development/tools/analysis/verasco/default.nix diff --git a/pkgs/development/tools/analysis/verasco/default.nix b/pkgs/development/tools/analysis/verasco/default.nix new file mode 100644 index 000000000000..9b3ff8e570d6 --- /dev/null +++ b/pkgs/development/tools/analysis/verasco/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchurl, coq, ocamlPackages +, tools ? stdenv.cc +}: + +stdenv.mkDerivation rec { + name = "verasco-1.3"; + src = fetchurl { + url = "http://compcert.inria.fr/verasco/release/${name}.tgz"; + sha256 = "0zvljrpwnv443k939zlw1f7ijwx18nhnpr8jl3f01jc5v66hr2k8"; + }; + + buildInputs = [ coq ] ++ (with ocamlPackages; [ ocaml findlib menhir zarith ]); + + preConfigure = '' + substituteInPlace ./configure --replace '{toolprefix}gcc' '{toolprefix}cc' + ''; + + configureFlags = [ + "-toolprefix ${tools}/bin/" + (if stdenv.isDarwin then "ia32-macosx" else "ia32-linux") + ]; + + prefixKey = "-prefix "; + + enableParallelBuilding = true; + buildFlags = "proof extraction ccheck"; + + installPhase = '' + mkdir -p $out/bin + cp ccheck $out/bin/ + ln -s $out/bin/ccheck $out/bin/verasco + if [ -e verasco.ini ] + then + mkdir -p $out/share + cp verasco.ini $out/share/ + fi + mkdir -p $out/lib/compcert + cp -riv runtime/include $out/lib/compcert + ''; + + meta = { + homepage = http://compcert.inria.fr/verasco/; + description = "A static analyzer for the CompCert subset of ISO C 1999"; + maintainers = with stdenv.lib.maintainers; [ vbgl ]; + license = stdenv.lib.licenses.unfree; + platforms = with stdenv.lib.platforms; darwin ++ linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0733d656bacb..6f8ad9688e30 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6363,6 +6363,14 @@ let valkyrie = callPackage ../development/tools/analysis/valkyrie { }; + verasco = callPackage ../development/tools/analysis/verasco (( + if system == "x86_64-linux" + then { tools = pkgsi686Linux.stdenv.cc; } + else {} + ) // { + ocamlPackages = ocamlPackages_4_02; + }); + xc3sprog = callPackage ../development/tools/misc/xc3sprog { }; xmlindent = callPackage ../development/web/xmlindent {};