diff options
Diffstat (limited to 'pkgs/development/coq-modules/paco/default.nix')
-rw-r--r-- | pkgs/development/coq-modules/paco/default.nix | 60 |
1 files changed, 14 insertions, 46 deletions
diff --git a/pkgs/development/coq-modules/paco/default.nix b/pkgs/development/coq-modules/paco/default.nix index 9d8a7a315a5..900e52f1682 100644 --- a/pkgs/development/coq-modules/paco/default.nix +++ b/pkgs/development/coq-modules/paco/default.nix @@ -1,42 +1,16 @@ -{stdenv, fetchFromGitHub, coq, unzip}: - -let - versions = { - pre_8_6 = rec { - rev = "v${version}"; - version = "1.2.8"; - sha256 = "05fskx5x1qgaf9qv626m38y5izichzzqc7g2rglzrkygbskrrwsb"; - }; - post_8_6 = rec { - rev = "v${version}"; - version = "4.0.0"; - sha256 = "1ncrdyijkgf0s2q4rg1s9r2nrcb17gq3jz63iqdlyjq3ylv8gyx0"; - }; - }; - params = { - "8.5" = versions.pre_8_6; - "8.6" = versions.post_8_6; - "8.7" = versions.post_8_6; - "8.8" = versions.post_8_6; - "8.9" = versions.post_8_6; - "8.10" = versions.post_8_6; - "8.11" = versions.post_8_6; - }; - param = params.${coq.coq-version}; -in - -stdenv.mkDerivation rec { - inherit (param) version; - name = "coq${coq.coq-version}-paco-${version}"; - - src = fetchFromGitHub { - inherit (param) rev sha256; - owner = "snu-sf"; - repo = "paco"; - }; - - buildInputs = with coq.ocamlPackages; [ ocaml camlp5 unzip ]; - propagatedBuildInputs = [ coq ]; +{ lib, mkCoqDerivation, coq, version ? null }: + +with lib; mkCoqDerivation { + pname = "paco"; + owner = "snu-sf"; + inherit version; + defaultVersion = with versions; switch coq.coq-version [ + { case = isGe "8.6"; out = "4.0.2"; } + { case = range "8.5" "8.8"; out = "1.2.8"; } + ] null; + release."4.0.2".sha256 = "1q96bsxclqx84xn5vkid501jkwlc1p6fhb8szrlrp82zglj58b0b"; + release."1.2.8".sha256 = "05fskx5x1qgaf9qv626m38y5izichzzqc7g2rglzrkygbskrrwsb"; + releaseRev = v: "v${v}"; preBuild = "cd src"; @@ -46,15 +20,9 @@ stdenv.mkDerivation rec { cp -pR *.vo $COQLIB/user-contrib/Paco ''; - meta = with stdenv.lib; { + meta = { homepage = "http://plv.mpi-sws.org/paco/"; description = "A Coq library implementing parameterized coinduction"; maintainers = with maintainers; [ jwiegley ptival ]; - platforms = coq.meta.platforms; }; - - passthru = { - compatibleCoqVersions = stdenv.lib.flip builtins.hasAttr params; - }; - } |