diff options
author | Guillaume Girol <symphorien@users.noreply.github.com> | 2021-07-26 19:45:46 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-26 19:45:46 +0000 |
commit | 455712841c00c0637f744396c0fe2c609b5364e1 (patch) | |
tree | 99c0076a1137fcba9ff313f2939cd49d2088b082 /pkgs/applications | |
parent | b27f145c81e181723304cb7c2972f025b5d5e775 (diff) | |
parent | 1894e8d9452640610c531a31186261b97d5d8f1c (diff) | |
download | nixlib-455712841c00c0637f744396c0fe2c609b5364e1.tar nixlib-455712841c00c0637f744396c0fe2c609b5364e1.tar.gz nixlib-455712841c00c0637f744396c0fe2c609b5364e1.tar.bz2 nixlib-455712841c00c0637f744396c0fe2c609b5364e1.tar.lz nixlib-455712841c00c0637f744396c0fe2c609b5364e1.tar.xz nixlib-455712841c00c0637f744396c0fe2c609b5364e1.tar.zst nixlib-455712841c00c0637f744396c0fe2c609b5364e1.zip |
Merge pull request #130663 from symphorien/bitwuzla
bitwuzla: init at unstable-2021-07-01
Diffstat (limited to 'pkgs/applications')
-rw-r--r-- | pkgs/applications/science/logic/bitwuzla/default.nix | 67 | ||||
-rw-r--r-- | pkgs/applications/science/logic/cadical/default.nix | 22 |
2 files changed, 86 insertions, 3 deletions
diff --git a/pkgs/applications/science/logic/bitwuzla/default.nix b/pkgs/applications/science/logic/bitwuzla/default.nix new file mode 100644 index 000000000000..a8820b55b746 --- /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 ]; + }; +} diff --git a/pkgs/applications/science/logic/cadical/default.nix b/pkgs/applications/science/logic/cadical/default.nix index ca5e6b5c4195..6758eeb66055 100644 --- a/pkgs/applications/science/logic/cadical/default.nix +++ b/pkgs/applications/science/logic/cadical/default.nix @@ -11,14 +11,30 @@ stdenv.mkDerivation rec { sha256 = "05lvnvapjawgkky38xknb9lgaliiwan4kggmb9yggl4ifpjrh8qf"; }; + outputs = [ "out" "dev" "lib" ]; doCheck = true; - dontAddPrefix = true; + + # the configure script is not generated by autotools and does not accept the + # arguments that the default configurePhase passes like --prefix and --libdir + configurePhase = '' + runHook preConfigure + + ./configure + + runHook postConfigure + ''; installPhase = '' + runHook preInstall + install -Dm0755 build/cadical "$out/bin/cadical" install -Dm0755 build/mobical "$out/bin/mobical" - mkdir -p "$out/share/doc/${pname}-${version}/" - install -Dm0755 {LICEN?E,README*,VERSION} "$out/share/doc/${pname}-${version}/" + install -Dm0644 src/ccadical.h "$dev/include/ccadical.h" + install -Dm0644 build/libcadical.a "$lib/lib/libcadical.a" + mkdir -p "$out/share/doc/${pname}/" + install -Dm0755 {LICEN?E,README*,VERSION} "$out/share/doc/${pname}/" + + runHook postInstall ''; meta = with lib; { |