From 1894e8d9452640610c531a31186261b97d5d8f1c Mon Sep 17 00:00:00 2001 From: Guillaume Girol Date: Mon, 19 Jul 2021 12:00:00 +0000 Subject: bitwuzla: init at unstable-2021-07-01 --- .../science/logic/bitwuzla/default.nix | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 pkgs/applications/science/logic/bitwuzla/default.nix (limited to 'pkgs/applications') diff --git a/pkgs/applications/science/logic/bitwuzla/default.nix b/pkgs/applications/science/logic/bitwuzla/default.nix new file mode 100644 index 00000000000..a8820b55b74 --- /dev/null +++ b/pkgs/applications/science/logic/bitwuzla/default.nix @@ -0,0 +1,67 @@ +{ stdenv +, fetchFromGitHub +, lib +, python3 +, cmake +, lingeling +, btor2tools +, gtest +, gmp +, cadical +, minisat +, picosat +, cryptominisat +, zlib +, pkg-config + # "*** internal error in 'lglib.c': watcher stack overflow" on aarch64-linux +, withLingeling ? !stdenv.hostPlatform.isAarch64 +}: + +stdenv.mkDerivation rec { + pname = "bitwuzla"; + version = "unstable-2021-07-01"; + + src = fetchFromGitHub { + owner = "bitwuzla"; + repo = "bitwuzla"; + rev = "58d720598e359b1fdfec4a469c76f1d1f24db51a"; + sha256 = "06ymqsdppyixb918161rmbgqvbnarj4nm4az88lkn3ri4gyimw04"; + }; + + nativeBuildInputs = [ cmake pkg-config ]; + buildInputs = [ + cadical + cryptominisat + picosat + minisat + btor2tools + gmp + zlib + ] ++ lib.optional withLingeling lingeling; + + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" + "-DPicoSAT_INCLUDE_DIR=${lib.getDev picosat}/include/picosat" + "-DBtor2Tools_INCLUDE_DIR=${lib.getDev btor2tools}/include/btor2parser" + "-DBtor2Tools_LIBRARIES=${lib.getLib btor2tools}/lib/libbtor2parser${stdenv.hostPlatform.extensions.sharedLibrary}" + ] ++ lib.optional doCheck "-DTESTING=YES"; + + checkInputs = [ python3 gtest ]; + # two tests fail on darwin and 3 on aarch64-linux + doCheck = stdenv.hostPlatform.isLinux && (!stdenv.hostPlatform.isAarch64); + preCheck = let + var = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; + in + '' + export ${var}=$(readlink -f lib) + patchShebangs .. + ''; + + meta = with lib; { + description = "A SMT solver for fixed-size bit-vectors, floating-point arithmetic, arrays, and uninterpreted functions"; + homepage = "https://bitwuzla.github.io"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = with maintainers; [ symphorien ]; + }; +} -- cgit 1.4.1