about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAustin Seipp <aseipp@pobox.com>2014-04-28 13:46:16 -0500
committerAustin Seipp <aseipp@pobox.com>2014-04-28 13:46:27 -0500
commitaaa0304a45c8f1f9898bcbd355631407c26b5615 (patch)
tree2adee18b6ae691f0d070d93ab92e286cd4411434
parentcbfba813fe22b80e82bfa6fd5c10db6624130774 (diff)
downloadnixlib-aaa0304a45c8f1f9898bcbd355631407c26b5615.tar
nixlib-aaa0304a45c8f1f9898bcbd355631407c26b5615.tar.gz
nixlib-aaa0304a45c8f1f9898bcbd355631407c26b5615.tar.bz2
nixlib-aaa0304a45c8f1f9898bcbd355631407c26b5615.tar.lz
nixlib-aaa0304a45c8f1f9898bcbd355631407c26b5615.tar.xz
nixlib-aaa0304a45c8f1f9898bcbd355631407c26b5615.tar.zst
nixlib-aaa0304a45c8f1f9898bcbd355631407c26b5615.zip
nixpkgs: verifast 13.11.14
Signed-off-by: Austin Seipp <aseipp@pobox.com>
-rw-r--r--pkgs/applications/science/logic/verifast/default.nix47
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/applications/science/logic/verifast/default.nix b/pkgs/applications/science/logic/verifast/default.nix
new file mode 100644
index 000000000000..71c5faf4bc81
--- /dev/null
+++ b/pkgs/applications/science/logic/verifast/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, gtk, gdk_pixbuf, atk, pango, glib, cairo, freetype
+, fontconfig, libxml2, gnome2 }:
+
+let
+  libPath = stdenv.lib.makeLibraryPath
+    [ stdenv.gcc.libc stdenv.gcc.gcc gtk gdk_pixbuf atk pango glib cairo
+      freetype fontconfig libxml2 gnome2.gtksourceview
+    ];
+
+  patchLib = x: extra: "patchelf --set-rpath ${libPath}:${extra} ${x}";
+  patchExe = x: extra: ''
+    patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
+      --set-rpath ${libPath}:${extra} ${x}
+  '';
+in
+stdenv.mkDerivation rec {
+  name    = "verifast-${version}";
+  version = "13.11.14";
+
+  src = fetchurl {
+    url    = "http://people.cs.kuleuven.be/~bart.jacobs/verifast/verifast-13.11.14.tar.gz";
+    sha256 = "1ahay7achjsfz59d3b6vl1v91gr5j34vb494isqw3fsw5l8jd9p7";
+  };
+
+  dontStrip = true;
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -R bin $out/libexec
+
+    ${patchLib "$out/libexec/libz3-gmp.so"  "$out/libexec"}
+    ${patchExe "$out/libexec/vfide-core"    "$out/libexec"}
+    ${patchExe "$out/libexec/verifast-core" "$out/libexec"}
+
+    ln -s $out/libexec/verifast-core $out/bin/verifast
+    ln -s $out/libexec/vfide-core    $out/bin/vfide
+  '';
+
+  phases = "unpackPhase installPhase";
+
+  meta = {
+    description = "Verification for C and Java programs via separation logic";
+    homepage    = "http://people.cs.kuleuven.be/~bart.jacobs/verifast/";
+    license     = stdenv.lib.licenses.unfreeRedistributable;
+    platforms   = [ "i686-linux" ];
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2cb412f4ddf8..091d27edece8 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10352,6 +10352,8 @@ let
 
   tptp = callPackage ../applications/science/logic/tptp {};
 
+  verifast = callPackage_i686 ../applications/science/logic/verifast {};
+
   yices = callPackage ../applications/science/logic/yices {};
 
   z3 = callPackage ../applications/science/logic/z3 {};