biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / science / logic / opensmt / default.nix
blob0ebbbc663caab0083b0b3697f6b9931a6e66abf5
1 { stdenv, lib, fetchFromGitHub
2 , cmake, libedit, gmpxx, bison, flex
3 , enableReadline ? false, readline
4 , gtest
5 }:
7 stdenv.mkDerivation rec {
8   pname = "opensmt";
9   version = "2.7.0";
11   src = fetchFromGitHub {
12     owner = "usi-verification-and-security";
13     repo = "opensmt";
14     rev = "v${version}";
15     sha256 = "sha256-zhNNnwc41B4sNq50kPub29EYhqV+FoDKRD/CLHnVyZw=";
16   };
18   nativeBuildInputs = [ cmake bison flex ];
19   buildInputs = [ libedit gmpxx ]
20     ++ lib.optional enableReadline readline;
22   preConfigure = ''
23     substituteInPlace test/CMakeLists.txt \
24       --replace 'FetchContent_Populate' '#FetchContent_Populate'
25   '';
26   cmakeFlags = [
27     "-Dgoogletest_SOURCE_DIR=${gtest.src}"
28     "-Dgoogletest_BINARY_DIR=./gtest-build"
29   ];
31   meta = with lib; {
32     broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64);
33     description = "Satisfiability modulo theory (SMT) solver";
34     mainProgram = "opensmt";
35     maintainers = [ maintainers.raskin ];
36     platforms = platforms.linux;
37     license = if enableReadline then licenses.gpl2Plus else licenses.mit;
38     homepage = "https://github.com/usi-verification-and-security/opensmt";
39   };