nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at haskell-updates 109 lines 3.9 kB view raw
1{ 2 lib, 3 mkCoqDerivation, 4 coq, 5 mathcomp-boot, 6 ExtLib, 7 simple-io, 8 version ? null, 9}: 10 11let 12 recent = lib.versions.isGe "8.7" coq.coq-version || coq.coq-version == "dev"; 13in 14(mkCoqDerivation { 15 pname = "QuickChick"; 16 owner = "QuickChick"; 17 inherit version; 18 defaultVersion = 19 let 20 case = coq: mc: out: { 21 cases = [ 22 coq 23 mc 24 ]; 25 inherit out; 26 }; 27 in 28 lib.switch 29 [ coq.coq-version mathcomp-boot.version ] 30 [ 31 (case (lib.versions.range "8.15" "9.1") lib.pred.true "2.1.1") 32 (case (lib.versions.range "8.13" "8.17") lib.pred.true "1.6.5") 33 (case "8.13" lib.pred.true "1.5.0") 34 (case "8.12" lib.pred.true "1.4.0") 35 (case "8.11" lib.pred.true "1.3.2") 36 (case "8.10" lib.pred.true "1.2.1") 37 (case "8.9" lib.pred.true "1.1.0") 38 (case "8.8" lib.pred.true "20190311") 39 (case "8.7" (lib.versions.isLe "1.8") "1.0.0") 40 (case "8.6" lib.pred.true "20171102") 41 (case "8.5" lib.pred.true "20170512") 42 ] 43 null; 44 release."2.1.1".sha256 = "sha256-tcZFpf8joEdVCgy1oKWdaM/9q3EMsF/jT+zz+kIsix8="; 45 release."2.0.4".sha256 = "sha256-WD8B+n8gyGctHMO+M8201Ca3Uw8zCWYsOatSNGCf0/s="; 46 release."2.0.2".sha256 = "sha256-xxKkwDRjB8nUiXNhein1Ppn0DP5FZ13J90xUPAnQBbs="; 47 release."2.0.1".sha256 = "sha256-gJc+9Or6tbqE00920Il4pnEvokRoiADX6CxP/Q0QZaY="; 48 release."1.6.5".sha256 = "sha256-rcFyRDH8UbB9KVk10P5qjtPkWs04p78VNHkCq4mXr3U="; 49 release."1.6.4".sha256 = "sha256-C1060wPSU33yZAFLxGmZlAMXASnx98qz3oSLO8DO+mM="; 50 release."1.6.2".sha256 = "0g5q9zw3xd4zndihq96nxkq4w3dh05418wzlwdk1nnn3b6vbx6z0"; 51 release."1.5.0".sha256 = "1lq8x86vd3vqqh2yq6hvyagpnhfq5wmk5pg2z0xq7b7dcw7hyfkw"; 52 release."1.4.0".sha256 = "068p48pm5yxjc3yv8qwzp25bp9kddvxj81l31mjkyx3sdrsw3kyc"; 53 release."1.3.2".sha256 = "0lciwaqv288dh2f13xk2x0lrn6zyrkqy6g4yy927wwzag2gklfrs"; 54 release."1.2.1".sha256 = "17vz88xjzxh3q7hs6hnndw61r3hdfawxp5awqpgfaxx4w6ni8z46"; 55 release."1.1.0".sha256 = "1c34v1k37rk7v0xk2czv5n79mbjxjrm6nh3llg2mpfmdsqi68wf3"; 56 release."1.0.0".sha256 = "1gqy9a4yavd0sa7kgysf9gf2lq4p8dmn4h89y8081f2j8zli0w5y"; 57 release."20190311".rev = "22af9e9a223d0038f05638654422e637e863b355"; 58 release."20190311".sha256 = "00rnr19lg6lg0haq1sy4ld38p7imzand6fc52fvfq27gblxkp2aq"; 59 release."20171102".rev = "0fdb769e1dc87a278383b44a9f5102cc7ccbafcf"; 60 release."20171102".sha256 = "0fri4nih40vfb0fbr82dsi631ydkw48xszinq43lyinpknf54y17"; 61 release."20170512".rev = "31eb050ae5ce57ab402db9726fb7cd945a0b4d03"; 62 release."20170512".sha256 = "033ch10i5wmqyw8j6wnr0dlbnibgfpr1vr0c07q3yj6h23xkmqpg"; 63 releaseRev = v: "v${v}"; 64 65 preConfigure = lib.optionalString recent "substituteInPlace Makefile --replace quickChickTool.byte quickChickTool.native"; 66 67 useDuneifVersion = v: lib.versions.isGe "2.1" v || v == "dev"; 68 opam-name = "coq-quickchick"; 69 70 mlPlugin = true; 71 nativeBuildInputs = lib.optional recent coq.ocamlPackages.ocamlbuild; 72 propagatedBuildInputs = [ 73 mathcomp-boot 74 ] 75 ++ lib.optionals recent [ 76 ExtLib 77 simple-io 78 ]; 79 extraInstallFlags = [ "-f Makefile.coq" ]; 80 81 enableParallelBuilding = false; 82 83 meta = { 84 description = "Randomized property-based testing plugin for Coq; a clone of Haskell QuickCheck"; 85 maintainers = with lib.maintainers; [ jwiegley ]; 86 }; 87}).overrideAttrs 88 ( 89 o: 90 let 91 after_1_6 = lib.versions.isGe "1.6" o.version || o.version == "dev"; 92 after_2_1 = lib.versions.isGe "2.1" o.version || o.version == "dev"; 93 in 94 { 95 nativeBuildInputs = 96 o.nativeBuildInputs 97 ++ lib.optional after_1_6 coq.ocamlPackages.cppo 98 ++ lib.optional after_2_1 coq.ocamlPackages.menhir; 99 propagatedBuildInputs = 100 o.propagatedBuildInputs 101 ++ lib.optionals after_1_6 ( 102 with coq.ocamlPackages; 103 [ 104 findlib 105 zarith 106 ] 107 ); 108 } 109 )