diff --git a/pkgs/applications/science/logic/minisat/default.nix b/pkgs/applications/science/logic/minisat/default.nix new file mode 100644 index 00000000000..34a6bd7ceff --- /dev/null +++ b/pkgs/applications/science/logic/minisat/default.nix @@ -0,0 +1,57 @@ +x@{builderDefsPackage + , zlib + , ...}: +builderDefsPackage +(a : +let + helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ + []; + + buildInputs = map (n: builtins.getAttr n x) + (builtins.attrNames (builtins.removeAttrs x helperArgNames)); + sourceInfo = rec { + baseName="minisat"; + version="2.2.0"; + name="${baseName}-${version}"; + url="http://minisat.se/downloads/${name}.tar.gz"; + hash="023qdnsb6i18yrrawlhckm47q8x0sl7chpvvw3gssfyw3j2pv5cj"; + }; +in +rec { + src = a.fetchurl { + url = sourceInfo.url; + sha256 = sourceInfo.hash; + }; + + inherit (sourceInfo) name version; + inherit buildInputs; + + phaseNames = ["setVars" "doMake" "doDeploy"]; + goSrcDir = "cd simp"; + doDeploy = a.fullDepEntry ('' + ensureDir "$out"/bin + cp minisat_static "$out/bin"/minisat + '') ["minInit" "defEnsureDir"]; + makeFlags = ["rs"]; + setVars = a.fullDepEntry ('' + export MROOT=$PWD/../ + '') ["doUnpack"]; + + meta = { + description = "A compact and readable SAT-solver"; + maintainers = with a.lib.maintainers; + [ + raskin + ]; + platforms = with a.lib.platforms; + linux; + license = "MIT"; + homepage = "http://minisat.se/"; + }; + passthru = { + updateInfo = { + downloadPage = "http://minisat.se/MiniSat.html"; + }; + }; +}) x + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8f29a5ead24..e878bf2bd9d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6983,6 +6983,8 @@ let leo2 = callPackage ../applications/science/logic/leo2 {}; + minisat = callPackage ../applications/science/logic/minisat {}; + opensmt = callPackage ../applications/science/logic/opensmt { flex = flex2535; };