nixpkgs-immich/pkgs/development/coq-modules/stalmarck/default.nix
2024-09-17 10:23:40 -06:00

38 lines
1.1 KiB
Nix

{ lib, mkCoqDerivation, coq, version ? null }:
let
repo = "stalmarck";
defaultVersion = with lib.versions; lib.switch coq.coq-version [
{ case = isEq "8.20"; out = "8.20.0"; }
] null;
release = {
"8.20.0".sha256 = "sha256-jITxQT1jLyZvWCGPnmK8i3IrwsZwMPOV0aBe9r22TIQ=";
};
releaseRev = v: "v${v}";
packages = [ "stalmarck" "stalmarck-tactic" ];
stalmarck_ = package: let
pname = package;
istac = package == "stalmarck-tactic";
propagatedBuildInputs =
lib.optional istac (stalmarck_ "stalmarck");
description =
if istac then
"Coq tactic and verified tool for proving tautologies using Stålmarck's algorithm"
else
"A two-level approach to prove tautologies using Stålmarck's algorithm in Coq.";
in mkCoqDerivation {
inherit version pname defaultVersion release releaseRev repo
propagatedBuildInputs;
mlPlugin = istac;
useDune = istac;
meta = { inherit description; license = lib.licenses.lgpl21Plus; };
passthru = lib.genAttrs packages stalmarck_;
};
in
stalmarck_ "stalmarck-tactic"