Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)

coqPackages: move to a separate file and filter the package set

+115 -70
+6 -6
pkgs/development/coq-modules/CoLoR/default.nix
··· 1 - { stdenv, fetchurl, coq, coqPackages }: 2 - 3 - if !stdenv.lib.versionAtLeast coq.coq-version "8.6" 4 - then throw "CoLoR is not available for Coq ${coq.coq-version}" 5 - else 1 + { stdenv, fetchurl, coq, bignums }: 6 2 7 3 stdenv.mkDerivation { 8 4 name = "coq${coq.coq-version}-CoLoR-1.4.0"; ··· 12 8 sha256 = "1jsp9adsh7w59y41ihbwchryjhjpajgs9bhf8rnb4b3hzccqxgag"; 13 9 }; 14 10 15 - buildInputs = [ coq coqPackages.bignums ]; 11 + buildInputs = [ coq bignums ]; 16 12 enableParallelBuilding = false; 17 13 18 14 installPhase = '' ··· 24 20 description = "CoLoR is a library of formal mathematical definitions and proofs of theorems on rewriting theory and termination whose correctness has been mechanically checked by the Coq proof assistant."; 25 21 maintainers = with maintainers; [ jwiegley ]; 26 22 platforms = coq.meta.platforms; 23 + }; 24 + 25 + passthru = { 26 + compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6"; 27 27 }; 28 28 }
+5 -3
pkgs/development/coq-modules/HoTT/default.nix
··· 1 1 { stdenv, fetchFromGitHub, autoconf, automake, coq }: 2 2 3 - if !stdenv.lib.versionAtLeast coq.coq-version "8.6" 4 - then throw "This version of HoTT requires Coq 8.6" 5 - else stdenv.mkDerivation rec { 3 + stdenv.mkDerivation rec { 6 4 name = "coq${coq.coq-version}-HoTT-${version}"; 7 5 version = "20170921"; 8 6 ··· 55 53 description = "Homotopy type theory"; 56 54 maintainers = with maintainers; [ siddharthist ]; 57 55 platforms = coq.meta.platforms; 56 + }; 57 + 58 + passthru = { 59 + compatibleCoqVersions = v: v == "8.6"; 58 60 }; 59 61 }
+4
pkgs/development/coq-modules/category-theory/default.nix
··· 42 42 platforms = coq.meta.platforms; 43 43 }; 44 44 45 + passthru = { 46 + compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" ]; 47 + }; 48 + 45 49 }
+4
pkgs/development/coq-modules/equations/default.nix
··· 42 42 platforms = coq.meta.platforms; 43 43 }; 44 44 45 + passthru = { 46 + compatibleCoqVersions = v: builtins.elem v [ "8.6" "8.7" ]; 47 + }; 48 + 45 49 }
+3 -1
pkgs/development/coq-modules/fiat/HEAD.nix
··· 30 30 description = "A library for the Coq proof assistant for synthesizing efficient correct-by-construction programs from declarative specifications"; 31 31 maintainers = with maintainers; [ jwiegley ]; 32 32 platforms = coq.meta.platforms; 33 - broken = stdenv.lib.versionAtLeast coq.coq-version "8.6"; 34 33 }; 35 34 35 + passthru = { 36 + compatibleCoqVersions = v: v == "8.5"; 37 + }; 36 38 }
+7 -6
pkgs/development/coq-modules/math-classes/default.nix
··· 1 - { stdenv, fetchFromGitHub, coq, coqPackages }: 2 - 3 - if ! stdenv.lib.versionAtLeast coq.coq-version "8.6" then 4 - throw "Math-Classes requires Coq 8.6 or later." 5 - else 1 + { stdenv, fetchFromGitHub, coq, bignums }: 6 2 7 3 stdenv.mkDerivation rec { 8 4 ··· 16 12 sha256 = "0wgnczacvkb2pc3vjbni9bwjijfyd5jcdnyyjg8185hkf9zzabgi"; 17 13 }; 18 14 19 - buildInputs = [ coq coqPackages.bignums ]; 15 + buildInputs = [ coq bignums ]; 20 16 enableParallelBuilding = true; 21 17 installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/"; 22 18 ··· 26 22 maintainers = with maintainers; [ siddharthist jwiegley ]; 27 23 platforms = coq.meta.platforms; 28 24 }; 25 + 26 + passthru = { 27 + compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6"; 28 + }; 29 + 29 30 }
+6 -3
pkgs/development/coq-modules/metalib/default.nix
··· 1 - { stdenv, fetchgit, coq, ocamlPackages, haskellPackages, which, ott 1 + { stdenv, fetchgit, coq, haskellPackages, which, ott 2 2 }: 3 3 4 4 stdenv.mkDerivation rec { ··· 29 29 license = stdenv.lib.licenses.mit; 30 30 }; 31 31 32 - buildInputs = [ coq.ocaml coq.camlp5 which coq lngen ott ] 33 - ++ (with ocamlPackages; [ findlib ]); 32 + buildInputs = [ coq.ocaml coq.camlp5 which coq lngen ott coq.findlib ]; 34 33 propagatedBuildInputs = [ coq ]; 35 34 36 35 enableParallelBuilding = true; ··· 48 47 license = licenses.mit; 49 48 maintainers = [ maintainers.jwiegley ]; 50 49 platforms = coq.meta.platforms; 50 + }; 51 + 52 + passthru = { 53 + compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6"; 51 54 }; 52 55 53 56 }
+6 -51
pkgs/top-level/all-packages.nix
··· 18825 18825 18826 18826 boogie = dotnetPackages.Boogie; 18827 18827 18828 - coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix { 18829 - make = pkgs.gnumake3; 18830 - inherit (ocamlPackages_3_12_1) ocaml findlib; 18831 - camlp5 = ocamlPackages_3_12_1.camlp5_transitional; 18832 - lablgtk = ocamlPackages_3_12_1.lablgtk_2_14; 18833 - }; 18834 - coq_8_4 = callPackage ../applications/science/logic/coq/8.4.nix { 18835 - inherit (ocamlPackages_4_02) ocaml findlib lablgtk; 18836 - camlp5 = ocamlPackages_4_02.camlp5_transitional; 18837 - }; 18838 - coq_8_5 = callPackage ../applications/science/logic/coq { 18839 - version = "8.5pl3"; 18840 - }; 18841 - coq_8_6 = callPackage ../applications/science/logic/coq {}; 18842 - coq_8_7 = callPackage ../applications/science/logic/coq { 18843 - version = "8.7.1"; 18844 - }; 18845 - 18846 - mkCoqPackages = self: coq: let callPackage = newScope self; in rec { 18847 - inherit callPackage coq; 18848 - coqPackages = self; 18849 - 18850 - autosubst = callPackage ../development/coq-modules/autosubst {}; 18851 - bignums = if stdenv.lib.versionAtLeast coq.coq-version "8.6" 18852 - then callPackage ../development/coq-modules/bignums {} 18853 - else null; 18854 - coq-ext-lib = callPackage ../development/coq-modules/coq-ext-lib {}; 18855 - coquelicot = callPackage ../development/coq-modules/coquelicot {}; 18856 - dpdgraph = callPackage ../development/coq-modules/dpdgraph {}; 18857 - flocq = callPackage ../development/coq-modules/flocq {}; 18858 - heq = callPackage ../development/coq-modules/heq {}; 18859 - HoTT = callPackage ../development/coq-modules/HoTT {}; 18860 - interval = callPackage ../development/coq-modules/interval {}; 18861 - mathcomp = callPackage ../development/coq-modules/mathcomp { }; 18862 - metalib = callPackage ../development/coq-modules/metalib { }; 18863 - paco = callPackage ../development/coq-modules/paco {}; 18864 - ssreflect = callPackage ../development/coq-modules/ssreflect { }; 18865 - QuickChick = callPackage ../development/coq-modules/QuickChick {}; 18866 - CoLoR = callPackage ../development/coq-modules/CoLoR {}; 18867 - math-classes = callPackage ../development/coq-modules/math-classes { }; 18868 - fiat_HEAD = callPackage ../development/coq-modules/fiat/HEAD.nix {}; 18869 - equations = callPackage ../development/coq-modules/equations { }; 18870 - coq-haskell = callPackage ../development/coq-modules/coq-haskell { }; 18871 - category-theory = callPackage ../development/coq-modules/category-theory { }; 18872 - }; 18873 - 18874 - coqPackages_8_5 = mkCoqPackages coqPackages_8_5 coq_8_5; 18875 - coqPackages_8_6 = mkCoqPackages coqPackages_8_6 coq_8_6; 18876 - coqPackages_8_7 = mkCoqPackages coqPackages_8_7 coq_8_7; 18877 - coqPackages = coqPackages_8_6; 18878 - coq = coqPackages.coq; 18828 + inherit (callPackage ./coq-packages.nix {}) 18829 + mkCoqPackages 18830 + coq_8_3 coq_8_4 coq_8_5 coq_8_6 coq_8_7 18831 + coqPackages_8_5 coqPackages_8_6 coqPackages_8_7 18832 + coqPackages coq 18833 + ; 18879 18834 18880 18835 coq2html = callPackage ../applications/science/logic/coq2html { 18881 18836 make = pkgs.gnumake3;
+74
pkgs/top-level/coq-packages.nix
··· 1 + { lib, callPackage, newScope 2 + , gnumake3 3 + , ocamlPackages_3_12_1 4 + , ocamlPackages_4_02 5 + }: 6 + 7 + let 8 + mkCoqPackages' = self: coq: 9 + let callPackage = newScope self ; in rec { 10 + inherit callPackage coq; 11 + coqPackages = self; 12 + 13 + autosubst = callPackage ../development/coq-modules/autosubst {}; 14 + bignums = if lib.versionAtLeast coq.coq-version "8.6" 15 + then callPackage ../development/coq-modules/bignums {} 16 + else null; 17 + category-theory = callPackage ../development/coq-modules/category-theory { }; 18 + CoLoR = callPackage ../development/coq-modules/CoLoR {}; 19 + coq-ext-lib = callPackage ../development/coq-modules/coq-ext-lib {}; 20 + coq-haskell = callPackage ../development/coq-modules/coq-haskell { }; 21 + coquelicot = callPackage ../development/coq-modules/coquelicot {}; 22 + dpdgraph = callPackage ../development/coq-modules/dpdgraph {}; 23 + equations = callPackage ../development/coq-modules/equations { }; 24 + fiat_HEAD = callPackage ../development/coq-modules/fiat/HEAD.nix {}; 25 + flocq = callPackage ../development/coq-modules/flocq {}; 26 + heq = callPackage ../development/coq-modules/heq {}; 27 + HoTT = callPackage ../development/coq-modules/HoTT {}; 28 + interval = callPackage ../development/coq-modules/interval {}; 29 + math-classes = callPackage ../development/coq-modules/math-classes { }; 30 + mathcomp = callPackage ../development/coq-modules/mathcomp { }; 31 + metalib = callPackage ../development/coq-modules/metalib { }; 32 + paco = callPackage ../development/coq-modules/paco {}; 33 + QuickChick = callPackage ../development/coq-modules/QuickChick {}; 34 + ssreflect = callPackage ../development/coq-modules/ssreflect { }; 35 + }; 36 + 37 + filterCoqPackages = coq: 38 + lib.filterAttrs 39 + (_: p: 40 + let pred = p.compatibleCoqVersions or (_: true); 41 + in pred coq.coq-version 42 + ); 43 + 44 + in rec { 45 + 46 + mkCoqPackages = coq: 47 + let self = mkCoqPackages' self coq; in 48 + filterCoqPackages coq self; 49 + 50 + coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix { 51 + make = gnumake3; 52 + inherit (ocamlPackages_3_12_1) ocaml findlib; 53 + camlp5 = ocamlPackages_3_12_1.camlp5_transitional; 54 + lablgtk = ocamlPackages_3_12_1.lablgtk_2_14; 55 + }; 56 + coq_8_4 = callPackage ../applications/science/logic/coq/8.4.nix { 57 + inherit (ocamlPackages_4_02) ocaml findlib lablgtk; 58 + camlp5 = ocamlPackages_4_02.camlp5_transitional; 59 + }; 60 + coq_8_5 = callPackage ../applications/science/logic/coq { 61 + version = "8.5pl3"; 62 + }; 63 + coq_8_6 = callPackage ../applications/science/logic/coq {}; 64 + coq_8_7 = callPackage ../applications/science/logic/coq { 65 + version = "8.7.1"; 66 + }; 67 + 68 + coqPackages_8_5 = mkCoqPackages coq_8_5; 69 + coqPackages_8_6 = mkCoqPackages coq_8_6; 70 + coqPackages_8_7 = mkCoqPackages coq_8_7; 71 + coqPackages = coqPackages_8_6; 72 + coq = coqPackages.coq; 73 + 74 + }