nixpkgs/pkgs/applications/science/logic/cvc4/default.nix

49 lines
1.3 KiB
Nix

{ lib, stdenv, fetchFromGitHub, cmake, cln, gmp, git, swig, pkg-config
, readline, libantlr3c, boost, jdk, python3, antlr3_4
}:
stdenv.mkDerivation rec {
pname = "cvc4";
version = "1.8";
src = fetchFromGitHub {
owner = "cvc4";
repo = "cvc4";
rev = version;
sha256 = "1rhs4pvzaa1wk00czrczp58b2cxfghpsnq534m0l3snnya2958jp";
};
nativeBuildInputs = [ pkg-config cmake ];
buildInputs = [ gmp git python3.pkgs.toml readline swig libantlr3c antlr3_4 boost jdk python3 ]
++ lib.optionals (!stdenv.isDarwin) [ cln ];
configureFlags = [
"--enable-language-bindings=c,c++,java"
"--enable-gpl"
"--with-readline"
"--with-boost=${boost.dev}"
] ++ lib.optionals (!stdenv.isDarwin) [ "--with-cln" ];
prePatch = ''
patch -p1 -i ${./minisat-fenv.patch} -d src/prop/minisat
patch -p1 -i ${./minisat-fenv.patch} -d src/prop/bvminisat
'';
patches = [
./cvc4-bash-patsub-replacement.patch
];
preConfigure = ''
patchShebangs ./src/
'';
cmakeBuildType = "Production";
meta = with lib; {
description = "A high-performance theorem prover and SMT solver";
homepage = "http://cvc4.cs.stanford.edu/web/";
license = licenses.gpl3;
platforms = platforms.unix;
maintainers = with maintainers; [ vbgl thoughtpolice gebner ];
};
}