summary refs log tree commit diff
path: root/pkgs/applications/science
diff options
context:
space:
mode:
authorAistis Raulinaitis <sheganinans@gmail.com>2015-05-08 23:45:07 -0700
committerDomen Kožar <domen@dev.si>2015-05-10 13:46:00 +0200
commit4672fa43d95e96fa91bf341d5ec64ca97a4b65cf (patch)
tree89c2db164995aa44fac8ef46f046b180865e2bb0 /pkgs/applications/science
parent2b45d39720b20361a4970b8e94e47248d9538721 (diff)
downloadnixlib-4672fa43d95e96fa91bf341d5ec64ca97a4b65cf.tar
nixlib-4672fa43d95e96fa91bf341d5ec64ca97a4b65cf.tar.gz
nixlib-4672fa43d95e96fa91bf341d5ec64ca97a4b65cf.tar.bz2
nixlib-4672fa43d95e96fa91bf341d5ec64ca97a4b65cf.tar.lz
nixlib-4672fa43d95e96fa91bf341d5ec64ca97a4b65cf.tar.xz
nixlib-4672fa43d95e96fa91bf341d5ec64ca97a4b65cf.tar.zst
nixlib-4672fa43d95e96fa91bf341d5ec64ca97a4b65cf.zip
z3 opt
Diffstat (limited to 'pkgs/applications/science')
-rw-r--r--pkgs/applications/science/logic/z3_opt/default.nix44
1 files changed, 44 insertions, 0 deletions
diff --git a/pkgs/applications/science/logic/z3_opt/default.nix b/pkgs/applications/science/logic/z3_opt/default.nix
new file mode 100644
index 000000000000..b4d8fbc95298
--- /dev/null
+++ b/pkgs/applications/science/logic/z3_opt/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchFromGitHub, python }:
+
+# Copied shamelessly from the normal z3 .nix
+
+stdenv.mkDerivation rec {
+  name = "z3_opt-${version}";
+  version = "4.3.2";
+
+  src = fetchFromGitHub {
+    owner  = "Z3Prover";
+    repo   = "z3";
+    rev    = "9377779e5818b2ca15c4f39921b2ba3a42f948e7";
+    sha256 = "15d6hsb61hrm5vy3l2gnkrfnqr68lvspnznm17vyhm61ld33yaff";
+  };
+
+  buildInputs = [ python ];
+  enableParallelBuilding = true;
+
+  configurePhase = "python scripts/mk_make.py --prefix=$out && cd build";
+
+  # z3's install phase is stupid because it tries to calculate the
+  # python package store location itself, meaning it'll attempt to
+  # write files into the nix store, and fail.
+  soext = if stdenv.system == "x86_64-darwin" then ".dylib" else ".so";
+  installPhase = ''
+    mkdir -p $out/bin $out/lib/${python.libPrefix}/site-packages $out/include
+    cp ../src/api/z3*.h       $out/include
+    cp ../src/api/c++/z3*.h   $out/include
+    cp z3                     $out/bin
+    cp libz3${soext}          $out/lib
+    cp libz3${soext}          $out/lib/${python.libPrefix}/site-packages
+    cp z3*.pyc                $out/lib/${python.libPrefix}/site-packages
+    cp ../src/api/python/*.py $out/lib/${python.libPrefix}/site-packages
+  '';
+
+  meta = {
+    description = "A high-performance theorem prover and SMT solver, optimization edition";
+    homepage    = "http://github.com/Z3Prover/z3";
+    license     = stdenv.lib.licenses.mit;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice sheganinans ];
+  };
+}
+