|
| 1 | +{ |
| 2 | + coq, |
| 3 | + mkCoqDerivation, |
| 4 | + mathcomp-analysis, |
| 5 | + mathcomp-analysis-stdlib, |
| 6 | + interval, |
| 7 | + lib, |
| 8 | + version ? null, |
| 9 | +}: |
| 10 | + |
| 11 | +(mkCoqDerivation { |
| 12 | + namePrefix = [ |
| 13 | + "coq" |
| 14 | + "mathcomp" |
| 15 | + ]; |
| 16 | + pname = "infotheo"; |
| 17 | + owner = "affeldt-aist"; |
| 18 | + inherit version; |
| 19 | + |
| 20 | + defaultVersion = |
| 21 | + let |
| 22 | + case = coq: mc: out: { |
| 23 | + cases = [ |
| 24 | + coq |
| 25 | + mc |
| 26 | + ]; |
| 27 | + inherit out; |
| 28 | + }; |
| 29 | + in |
| 30 | + with lib.versions; |
| 31 | + lib.switch |
| 32 | + [ coq.coq-version mathcomp-analysis.version ] |
| 33 | + [ |
| 34 | + (case (range "8.20" "9.1") (isGe "1.12") "0.9.4") |
| 35 | + (case (range "8.19" "8.20") (range "1.10" "1.11") "0.9.3") |
| 36 | + (case (range "8.19" "8.20") (isGe "1.9") "0.9.1") |
| 37 | + (case (range "8.19" "8.20") (isGe "1.7") "0.7.7") |
| 38 | + (case (range "8.19" "8.20") (isGe "1.7") "0.7.5") |
| 39 | + (case (range "8.18" "8.20") (isGe "1.5") "0.7.3") |
| 40 | + (case (range "8.18" "8.19") (isGe "1.2") "0.7.2") |
| 41 | + (case (range "8.17" "8.19") (isGe "1.0") "0.7.1") |
| 42 | + (case (isGe "8.17") (range "0.6.6" "0.7.0") "0.6.1") |
| 43 | + (case (range "8.17" "8.18") (range "0.6.0" "0.6.7") "0.5.2") |
| 44 | + (case (range "8.15" "8.16") (range "0.5.4" "0.6.5") "0.5.1") |
| 45 | + ] |
| 46 | + null; |
| 47 | + release."0.9.4".sha256 = "sha256-btHOBNMdXvlG2jxC04+4qmIjeyuaqtyugm2Ruj3lQr8="; |
| 48 | + release."0.9.3".sha256 = "sha256-8+cnVKNAvZ3MVV3BpS8UmCIxJphsQRBv3swek1eEBjE="; |
| 49 | + release."0.9.1".sha256 = "sha256-WI20HxMHr1ZUwOGPIUl+nRI8TxVUa2+F1xcGjRDHO9g="; |
| 50 | + release."0.7.7".sha256 = "sha256-kEbpMl7U+I2kvqi1VrjhIVFkZFO6h0tTHEUZRbHYG7E="; |
| 51 | + release."0.7.5".sha256 = "sha256-pzPo+Acjx3vlyqOkSZQ8uT2BDLSTfbAnRm39e+/CqE0="; |
| 52 | + release."0.7.3".sha256 = "sha256-7+qPtE1KfDmo9ZsQtWMzoR2MYnFpTjFHK/yZYVm+GxA="; |
| 53 | + release."0.7.2".sha256 = "sha256-dekrdVmuTcqXXmKhIb831EKtMhbPrXHJZhzmGb9rdRo="; |
| 54 | + release."0.7.1".sha256 = "sha256-/4Elb35SmscG6EjEcHYDo+AmWrpBUlygZL0WhaD+fcY="; |
| 55 | + release."0.6.1".sha256 = "sha256-tFB5lrwRPIlHkP+ebgcJwu03Cc9yVaOINOAo8Bf2LT4="; |
| 56 | + release."0.5.1".sha256 = "sha256-yBBl5l+V+dggsg5KM59Yo9CULKog/xxE8vrW+ZRnX7Y="; |
| 57 | + release."0.5.2".sha256 = "sha256-8WAnAV53c0pMTdwj8XcUDUkLZbpUgIQbEOgOb63uHQA="; |
| 58 | + |
| 59 | + propagatedBuildInputs = [ mathcomp-analysis-stdlib ]; |
| 60 | + |
| 61 | + meta = with lib; { |
| 62 | + description = "Coq formalization of information theory and linear error-correcting codes"; |
| 63 | + license = licenses.lgpl21Plus; |
| 64 | + }; |
| 65 | +}).overrideAttrs |
| 66 | + (o: { |
| 67 | + propagatedBuildInputs = |
| 68 | + o.propagatedBuildInputs |
| 69 | + ++ lib.optional (lib.versions.isGe "0.7.2" o.version || o.version == "dev") interval; |
| 70 | + }) |
0 commit comments