diff --git a/pkgs/applications/science/logic/opensmt/default.nix b/pkgs/applications/science/logic/opensmt/default.nix index 03b3ce4ff0b..1681d454590 100644 --- a/pkgs/applications/science/logic/opensmt/default.nix +++ b/pkgs/applications/science/logic/opensmt/default.nix @@ -1,25 +1,38 @@ -{ stdenv, fetchurl, automake, libtool, autoconf, intltool, perl -, gmpxx, flex, bison +{ stdenv, lib, fetchFromGitHub +, cmake, libedit, gmpxx, bison, flex +, enableReadline ? false, readline +, gtest }: stdenv.mkDerivation rec { pname = "opensmt"; - version = "20101017"; + version = "2.0.1"; - src = fetchurl { - url = "http://opensmt.googlecode.com/files/opensmt_src_${version}.tgz"; - sha256 = "0xrky7ixjaby5x026v7hn72xh7d401w9jhccxjn0khhn1x87p2w1"; + src = fetchFromGitHub { + owner = "usi-verification-and-security"; + repo = "opensmt"; + rev = "v${version}"; + sha256 = "uoIcXWsxxRsIuFsou3RcN9e48lc7cWMgRPVJLFVslDE="; }; - buildInputs = [ automake libtool autoconf intltool perl gmpxx flex bison ]; + nativeBuildInputs = [ cmake bison flex ]; + buildInputs = [ libedit gmpxx ] + ++ lib.optional enableReadline readline; - meta = with stdenv.lib; { + preConfigure = '' + substituteInPlace test/CMakeLists.txt \ + --replace 'FetchContent_Populate' '#FetchContent_Populate' + ''; + cmakeFlags = [ + "-Dgoogletest_SOURCE_DIR=${gtest.src}" + "-Dgoogletest_BINARY_DIR=./gtest-build" + ]; + + meta = with lib; { description = "A satisfiability modulo theory (SMT) solver"; maintainers = [ maintainers.raskin ]; platforms = platforms.linux; - license = licenses.gpl3; - homepage = "http://code.google.com/p/opensmt/"; - broken = true; - downloadPage = "http://code.google.com/p/opensmt/downloads/list"; + license = if enableReadline then licenses.gpl2Plus else licenses.mit; + homepage = "https://github.com/usi-verification-and-security/opensmt"; }; }