{ stdenv , lib , fetchFromGitHub , cmake , llvmPackages_9 , clang_9 , z3 , stp , cryptominisat , gperftools , sqlite , gtest , lit , debug ? false }: stdenv.mkDerivation rec { pname = "klee"; version = "2.2"; src = fetchFromGitHub { owner = "klee"; repo = "klee"; rev = "v${version}"; sha256 = "Ar3BKfADjJvvP0dI9+x/l3RDs8ncx4jmO7ol4MgOr4M="; }; buildInputs = [ llvmPackages_9.llvm clang_9 z3 stp cryptominisat gperftools sqlite ]; nativeBuildInputs = [ cmake gtest lit ]; cmakeFlags = [ "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" "-DKLEE_RUNTIME_BUILD_TYPE=${if debug then "Debug" else "Release"}" "-DENABLE_UNIT_TESTS=ON" "-DGTEST_SRC_DIR=${gtest.src}" "-DGTEST_INCLUDE_DIR=${gtest.src}/googletest/include" "-DENABLE_POSIX_RUNTIME=ON" ]; /*testPhase = '' make systemtests unittests '';*/ }