Files
nixpkgs/pkgs/by-name/op/opensmt/package.nix
2025-10-18 21:49:15 -07:00

59 lines
1.2 KiB
Nix

{
stdenv,
lib,
fetchFromGitHub,
cmake,
libedit,
gmpxx,
bison,
flex,
enableReadline ? false,
readline,
gtest,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "opensmt";
version = "2.9.2";
src = fetchFromGitHub {
owner = "usi-verification-and-security";
repo = "opensmt";
tag = "v${finalAttrs.version}";
hash = "sha256-xKpYABMn2bsXRg2PMjiMhsx6+FbAsxitLRnmqa1kmu0=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
bison
flex
];
buildInputs = [
libedit
gmpxx
gtest
]
++ lib.optional enableReadline readline;
preConfigure = ''
substituteInPlace test/CMakeLists.txt --replace-fail \
'FetchContent_MakeAvailable' '#FetchContent_MakeAvailable'
'';
passthru.updateScript = nix-update-script { };
meta = {
broken = with stdenv.hostPlatform; (isLinux && isAarch64);
description = "Satisfiability modulo theory (SMT) solver";
mainProgram = "opensmt";
maintainers = [ lib.maintainers.raskin ];
platforms = lib.platforms.linux;
license = if enableReadline then lib.licenses.gpl2Plus else lib.licenses.mit;
homepage = "https://github.com/usi-verification-and-security/opensmt";
};
})