summary refs log tree commit diff
path: root/pkgs/applications/science/logic/satallax
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2010-12-03 11:26:34 +0000
committerMichael Raskin <7c6f434c@mail.ru>2010-12-03 11:26:34 +0000
commit64ed7e705d418aa34d8a14bf1e82f6627d9354a2 (patch)
tree672f19747773652bb896a392a04ef3ea2048674d /pkgs/applications/science/logic/satallax
parent44e152f8d8ede72a1b4e9325dbfc347fa8be8727 (diff)
downloadnixlib-64ed7e705d418aa34d8a14bf1e82f6627d9354a2.tar
nixlib-64ed7e705d418aa34d8a14bf1e82f6627d9354a2.tar.gz
nixlib-64ed7e705d418aa34d8a14bf1e82f6627d9354a2.tar.bz2
nixlib-64ed7e705d418aa34d8a14bf1e82f6627d9354a2.tar.lz
nixlib-64ed7e705d418aa34d8a14bf1e82f6627d9354a2.tar.xz
nixlib-64ed7e705d418aa34d8a14bf1e82f6627d9354a2.tar.zst
nixlib-64ed7e705d418aa34d8a14bf1e82f6627d9354a2.zip
Adding Satallax prover
svn path=/nixpkgs/trunk/; revision=24963
Diffstat (limited to 'pkgs/applications/science/logic/satallax')
-rw-r--r--pkgs/applications/science/logic/satallax/default.nix72
1 files changed, 72 insertions, 0 deletions
diff --git a/pkgs/applications/science/logic/satallax/default.nix b/pkgs/applications/science/logic/satallax/default.nix
new file mode 100644
index 000000000000..4bf6e53737e9
--- /dev/null
+++ b/pkgs/applications/science/logic/satallax/default.nix
@@ -0,0 +1,72 @@
+x@{builderDefsPackage
+  , sbcl, zlib
+  , ...}:
+builderDefsPackage
+(a :  
+let 
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ 
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="satallax";
+    version="1.4";
+    name="${baseName}-${version}";
+    url="http://www.ps.uni-saarland.de/~cebrown/satallax/downloads/${name}.tar.gz";
+    hash="0l8dq4nyfw2bdsyqmgb4v6fjw3739p8nqv4bh2gh2924ibzrq5fc";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  phaseNames = ["doDeployMinisat" "doDeploy"];
+
+  doDeployMinisat = a.fullDepEntry (''
+    (
+      cd minisat/simp
+      make
+    )
+
+    ensureDir "$out/bin"
+    cp minisat/simp/minisat "$out/bin"
+
+    echo "(setq *minisat-binary* \"$out/bin/minisat\")" > config.lisp
+
+  '') ["defEnsureDir" "minInit" "addInputs" "doUnpack"];
+  doDeploy = a.fullDepEntry (''
+    ensureDir "$out/share/satallax/build-dir"
+    cp -r * "$out/share/satallax/build-dir"
+    cd  "$out/share/satallax/build-dir"
+
+    sbcl --load make.lisp
+    ! ( ./test | grep ERROR )
+    
+    ensureDir "$out/bin"
+    cp bin/satallax "$out/bin"
+  '') ["defEnsureDir" "minInit" "addInputs" "doUnpack"];
+      
+  meta = {
+    description = "A higher-order logic prover";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      unix;
+    license = "free-noncopyleft";
+    homepage = "http://www.ps.uni-saarland.de/~cebrown/satallax/";
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://www.ps.uni-saarland.de/~cebrown/satallax/";
+    };
+  };
+}) x
+