coqPackages: refactor
This commit is contained in:
committed by
Vincent Laporte
parent
04065a7354
commit
9ffd16b385
@@ -1,37 +1,19 @@
|
||||
{ stdenv, fetchFromGitHub, coq, Cheerios, InfSeqExt, ssreflect }:
|
||||
{ lib, mkCoqDerivation, coq, Cheerios, InfSeqExt, ssreflect, version ? null }:
|
||||
|
||||
let param =
|
||||
if stdenv.lib.versionAtLeast coq.coq-version "8.7" then
|
||||
{
|
||||
version = "20200131";
|
||||
rev = "fdb4ede19d2150c254f0ebcfbed4fb9547a734b0";
|
||||
sha256 = "1a2k19f9q5k5djbxplqmmpwck49kw3lrm3aax920h4yb40czkd8m";
|
||||
} else {
|
||||
version = "20181102";
|
||||
rev = "25b79cf1be5527ab8dc1b8314fcee93e76a2e564";
|
||||
sha256 = "1vw47c37k5vaa8vbr6ryqy8riagngwcrfmb3rai37yi9xhdqg55z";
|
||||
};
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "coq${coq.coq-version}-verdi-${param.version}";
|
||||
with lib; mkCoqDerivation {
|
||||
pname = "verdi";
|
||||
owner = "uwplse";
|
||||
inherit version;
|
||||
defaultVersion = with versions; switch coq.coq-version [
|
||||
{ case = isGe "8.7"; out = "20200131"; }
|
||||
{ case = isEq "8.6"; out = "20181102"; }
|
||||
] null;
|
||||
release."20200131".rev = "fdb4ede19d2150c254f0ebcfbed4fb9547a734b0";
|
||||
release."20200131".sha256 = "1a2k19f9q5k5djbxplqmmpwck49kw3lrm3aax920h4yb40czkd8m";
|
||||
release."20181102".rev = "25b79cf1be5527ab8dc1b8314fcee93e76a2e564";
|
||||
release."20181102".sha256 = "1vw47c37k5vaa8vbr6ryqy8riagngwcrfmb3rai37yi9xhdqg55z";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "uwplse";
|
||||
repo = "verdi";
|
||||
inherit (param) rev sha256;
|
||||
};
|
||||
|
||||
buildInputs = [ coq ];
|
||||
propagatedBuildInputs = [ Cheerios InfSeqExt ssreflect ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
preConfigure = "patchShebangs ./configure";
|
||||
|
||||
installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
|
||||
|
||||
passthru = {
|
||||
compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" "8.8" "8.9" "8.10" "8.11" "8.12" ];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user