about summary refs log tree commit diff
path: root/pkgs/applications/science/logic/leo2
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2010-12-01 21:29:42 +0000
committerMichael Raskin <7c6f434c@mail.ru>2010-12-01 21:29:42 +0000
commitc32bd62956738a6750f1f1e01d01629f2bf1d4f7 (patch)
tree681c1556f24f1f61a3ae847232b4505d33c76630 /pkgs/applications/science/logic/leo2
parent373fabf1c0d3d6bdf6c8a029f59854080172baef (diff)
downloadnixlib-c32bd62956738a6750f1f1e01d01629f2bf1d4f7.tar
nixlib-c32bd62956738a6750f1f1e01d01629f2bf1d4f7.tar.gz
nixlib-c32bd62956738a6750f1f1e01d01629f2bf1d4f7.tar.bz2
nixlib-c32bd62956738a6750f1f1e01d01629f2bf1d4f7.tar.lz
nixlib-c32bd62956738a6750f1f1e01d01629f2bf1d4f7.tar.xz
nixlib-c32bd62956738a6750f1f1e01d01629f2bf1d4f7.tar.zst
nixlib-c32bd62956738a6750f1f1e01d01629f2bf1d4f7.zip
Adding LEO2 automated higher-order prover
svn path=/nixpkgs/trunk/; revision=24952
Diffstat (limited to 'pkgs/applications/science/logic/leo2')
-rw-r--r--pkgs/applications/science/logic/leo2/default.nix62
1 files changed, 62 insertions, 0 deletions
diff --git a/pkgs/applications/science/logic/leo2/default.nix b/pkgs/applications/science/logic/leo2/default.nix
new file mode 100644
index 000000000000..eb3a13593480
--- /dev/null
+++ b/pkgs/applications/science/logic/leo2/default.nix
@@ -0,0 +1,62 @@
+x@{builderDefsPackage
+  , ocaml, eprover
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    ["eprover"];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="leo2";
+    version="1.2.6";
+    name="${baseName}_v${version}";
+    url="http://www.ags.uni-sb.de/~leo/${name}.tgz";
+    hash="0gjgcm6nb9kzdl0y72sgvf2w2q92s1ix70lh6wjz9lj2qdf7gi1z";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  phaseNames = ["makeInstallationDir" "doUnpack" "doMake" "doFinalize"];
+
+  makeInstallationDir = a.fullDepEntry (''
+    ensureDir "$out/share/leo2/build-dir"
+    cd "$out/share/leo2/build-dir"
+  '') ["minInit" "defEnsureDir"];
+
+  goSrcDir = "cd src/";
+
+  doFinalize = a.fullDepEntry (''
+    ensureDir "$out/bin"
+    echo -e "#! /bin/sh\\n$PWD/../bin/leo --atprc $out/etc/leoatprc \"\$@\"\\n" > "$out/bin/leo"
+    chmod a+x "$out/bin/leo"
+    ensureDir "$out/etc"
+    echo -e "e = ${eprover}/bin/eprover\\nepclextract = ${eprover}/bin/epclextract" > "$out/etc/leoatprc"
+  '') ["minInit" "doMake" "defEnsureDir"];
+
+  meta = {
+    description = "A high-performance typed higher order prover";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = "BSD";
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://www.ags.uni-sb.de/~leo/download.html";
+    };
+  };
+}) x
+