on b81f8bd help sign in
build-constraints.yaml+9−13
since splitsnapshots
unifiedsplit
@@ -1576,7 +1576,7 @@ packages:
1576 - hasql
1576 - hasql
1577 - hasql-optparse-applicative
1577 - hasql-optparse-applicative
1578 - hasql-pool
1578 - hasql-pool
1579− - hasql-th < 0 # 0.4.0.9 TH compile error
1579+ - hasql-th < 0 # 0.4.0.10 TH compile error
1580 - hasql-transaction
1580 - hasql-transaction
1581 - headed-megaparsec
1581 - headed-megaparsec
1582 - jsonifier
1582 - jsonifier
@@ -5204,18 +5204,18 @@ packages:
5204 - boxes
5204 - boxes
5205 - cassava
5205 - cassava
5206 - charsetdetect-ae # #6326/closed
5206 - charsetdetect-ae # #6326/closed
5207− - coercible-utils # 6271
5207+ - coercible-utils # #6271
5208 - compiler-warnings # #6326/closed
5208 - compiler-warnings # #6326/closed
5209 - curl
5209 - curl
5210 - docopt # #6326/closed
5210 - docopt # #6326/closed
5211 - dynamic-state # #6326/closed
5211 - dynamic-state # #6326/closed
5212 - first-class-patterns # #5965/closed
5212 - first-class-patterns # #5965/closed
5213 - ghc-trace-events # #6326/closed
5213 - ghc-trace-events # #6326/closed
5214− - hashing # 6271
5214+ - hashing # #6271
5215− - hnix-store-core # 6271
5215+ - hnix-store-core # #6271
5216 - ilist # #5965/closed
5216 - ilist # #5965/closed
5217 - io-storage # #6326/closed
5217 - io-storage # #6326/closed
5218− - monadlist # 6271
5218+ - monadlist # #6271
5219 - non-empty-sequence
5219 - non-empty-sequence
5220 - numeric-limits # #6326/closed
5220 - numeric-limits # #6326/closed
5221 - oo-prototypes # #6326/closed
5221 - oo-prototypes # #6326/closed
@@ -5223,7 +5223,7 @@ packages:
5223 - opentelemetry-extra # #6326/closed
5223 - opentelemetry-extra # #6326/closed
5224 - opentelemetry-lightstep # #6326/closed
5224 - opentelemetry-lightstep # #6326/closed
5225 - opentelemetry-wai # #6326/closed
5225 - opentelemetry-wai # #6326/closed
5226− - path # 6271
5226+ - path # #6271
5227 - pattern-arrows
5227 - pattern-arrows
5228 - planb-token-introspection # #6326/closed
5228 - planb-token-introspection # #6326/closed
5229 - pointedlist # #6326/closed
5229 - pointedlist # #6326/closed
@@ -5324,7 +5324,6 @@ packages:
5324 - exinst < 0 # 0.8
5324 - exinst < 0 # 0.8
5325 - ftp-client-conduit < 0 # 0.5.0.5
5325 - ftp-client-conduit < 0 # 0.5.0.5
5326 - giphy-api < 0 # 0.7.0.0 https://github.com/passy/giphy-api/pull/19
5326 - giphy-api < 0 # 0.7.0.0 https://github.com/passy/giphy-api/pull/19
5327− - groundhog-th < 0 # 0.11
5328 - gluturtle < 0 # 0.0.58.1
5327 - gluturtle < 0 # 0.0.58.1
5329 - haskell-import-graph < 0 # 1.0.4
5328 - haskell-import-graph < 0 # 1.0.4
5330 - haskell-spacegoo < 0 # 0.2.0.1
5329 - haskell-spacegoo < 0 # 0.2.0.1
@@ -5387,7 +5386,6 @@ packages:
5387 - tintin < 0 # 1.10.1
5386 - tintin < 0 # 1.10.1
5388 - turtle-options < 0 # 0.1.0.4
5387 - turtle-options < 0 # 0.1.0.4
5389 - type-assertions < 0 # 0.1.0.0
5388 - type-assertions < 0 # 0.1.0.0
5390− - type-map < 0 # 0.1.6.0
5391 - typecheck-plugin-nat-simple < 0 # 0.1.0.2
5389 - typecheck-plugin-nat-simple < 0 # 0.1.0.2
5392 - ulid < 0 # 0.3.0.0
5390 - ulid < 0 # 0.3.0.0
5393 - uncertain < 0 # 0.3.1.0
5391 - uncertain < 0 # 0.3.1.0
@@ -5973,7 +5971,7 @@ packages:
5973 - google-translate < 0 # tried google-translate-0.5, but its *library* does not support: http-client-0.7.9
5971 - google-translate < 0 # tried google-translate-0.5, but its *library* does not support: http-client-0.7.9
5974 - graphql-client < 0 # tried graphql-client-1.1.1, but its *executable* does not support: path-0.9.2
5972 - graphql-client < 0 # tried graphql-client-1.1.1, but its *executable* does not support: path-0.9.2
5975 - groundhog-inspector < 0 # tried groundhog-inspector-0.11.0, but its *library* does not support: groundhog-0.12.0
5973 - groundhog-inspector < 0 # tried groundhog-inspector-0.11.0, but its *library* does not support: groundhog-0.12.0
5976− - groundhog-inspector < 0 # tried groundhog-inspector-0.11.0, but its *library* requires the disabled package: groundhog-th
5974+ - groundhog-inspector < 0 # tried groundhog-inspector-0.11.0, but its *library* does not support: groundhog-th-0.12
5977 - groundhog-mysql < 0 # tried groundhog-mysql-0.12, but its *library* does not support: mysql-0.2.1
5975 - groundhog-mysql < 0 # tried groundhog-mysql-0.12, but its *library* does not support: mysql-0.2.1
5978 - grouped-list < 0 # tried grouped-list-0.2.2.1, but its *library* does not support: base-4.15.1.0
5976 - grouped-list < 0 # tried grouped-list-0.2.2.1, but its *library* does not support: base-4.15.1.0
5979 - gtk3 < 0 # tried gtk3-0.15.6, but its *library* does not support: Cabal-3.4.1.0
5977 - gtk3 < 0 # tried gtk3-0.15.6, but its *library* does not support: Cabal-3.4.1.0
@@ -6042,8 +6040,8 @@ packages:
6042 - haskell-tools-rewrite < 0 # tried haskell-tools-rewrite-1.1.1.0, but its *library* requires the disabled package: references
6040 - haskell-tools-rewrite < 0 # tried haskell-tools-rewrite-1.1.1.0, but its *library* requires the disabled package: references
6043 - haskey < 0 # tried haskey-0.3.1.0, but its *library* does not support: stm-containers-1.2
6041 - haskey < 0 # tried haskey-0.3.1.0, but its *library* does not support: stm-containers-1.2
6044 - haskey-mtl < 0 # tried haskey-mtl-0.3.1.0, but its *library* does not support: monad-control-1.0.3.1
6042 - haskey-mtl < 0 # tried haskey-mtl-0.3.1.0, but its *library* does not support: monad-control-1.0.3.1
6045− - haskoin-store < 0 # tried haskoin-store-0.64.10, but its *library* requires the disabled package: haskoin-node
6043+ - haskoin-store < 0 # tried haskoin-store-0.64.11, but its *library* requires the disabled package: haskoin-node
6046− - haskoin-store < 0 # tried haskoin-store-0.64.10, but its *library* requires the disabled package: haskoin-store-data
6044+ - haskoin-store < 0 # tried haskoin-store-0.64.11, but its *library* requires the disabled package: haskoin-store-data
6047 - hasmin < 0 # tried hasmin-1.0.3, but its *executable* does not support: optparse-applicative-0.16.1.0
6045 - hasmin < 0 # tried hasmin-1.0.3, but its *executable* does not support: optparse-applicative-0.16.1.0
6048 - hasmin < 0 # tried hasmin-1.0.3, but its *library* does not support: attoparsec-0.14.3
6046 - hasmin < 0 # tried hasmin-1.0.3, but its *library* does not support: attoparsec-0.14.3
6049 - haxl-amazonka < 0 # tried haxl-amazonka-0.1.1, but its *library* requires the disabled package: haxl
6047 - haxl-amazonka < 0 # tried haxl-amazonka-0.1.1, but its *library* requires the disabled package: haxl
@@ -7441,7 +7439,6 @@ expected-test-failures:
7441 - cpio-conduit # Test file not in tarball https://github.com/da-x/cpio-conduit/issues/1
7439 - cpio-conduit # Test file not in tarball https://github.com/da-x/cpio-conduit/issues/1
7442 - crypto-pubkey # https://github.com/vincenthz/hs-crypto-pubkey/issues/23
7440 - crypto-pubkey # https://github.com/vincenthz/hs-crypto-pubkey/issues/23
7443 - doctest
7441 - doctest
7444− - doctest-discover # 0.1.0.9 https://github.com/karun012/doctest-discover/issues/22
7445 - ghc-events # https://github.com/haskell/ghc-events/issues/70
7442 - ghc-events # https://github.com/haskell/ghc-events/issues/70
7446 - gitlab-haskell # https://github.com/commercialhaskell/stackage/issues/6088
7443 - gitlab-haskell # https://github.com/commercialhaskell/stackage/issues/6088
7447 - hspec-core # https://github.com/commercialhaskell/stackage/issues/6291
7444 - hspec-core # https://github.com/commercialhaskell/stackage/issues/6291
@@ -7696,7 +7693,6 @@ expected-benchmark-failures:
7696 # Compilation failures
7693 # Compilation failures
7697 - OrderedBits # 0.0.2.0
7694 - OrderedBits # 0.0.2.0
7698 - aeson-combinators # 0.0.5.0
7695 - aeson-combinators # 0.0.5.0
7699− - cipher-blowfish # 0.0.11 https://github.com/vincenthz/hs-crypto-cipher/issues/46
7700 - cmark-gfm # https://github.com/kivikakk/cmark-gfm-hs/issues/5
7696 - cmark-gfm # https://github.com/kivikakk/cmark-gfm-hs/issues/5
7701 - cryptohash # 0.11.9 https://github.com/vincenthz/hs-cryptohash/pull/43
7697 - cryptohash # 0.11.9 https://github.com/vincenthz/hs-cryptohash/pull/43
7702 - incremental-parser # 0.5.0.2
7698 - incremental-parser # 0.5.0.2
etc/commenter/src/lib.rs+19−13
@@ -41,20 +41,20 @@ impl VersionTag {
41
41
42 fn version(&self) -> &str {
42 fn version(&self) -> &str {
43 match self {
43 match self {
44− VersionTag::Manual(s) => &s,
44+ VersionTag::Manual(s) => s,
45− VersionTag::Auto(s) => &s,
45+ VersionTag::Auto(s) => s,
46 }
46 }
47 }
47 }
48}
48}
49
49
50pub fn outdated() {
50pub fn outdated() {
51 let mut all: Vec<String> = vec![];
51 let mut all: Vec<String> = vec![];
52− let disabled = handle(false, |_loc, lines| {
52+ let versioned = handle(false, |_loc, lines| {
53 all.extend(lines);
53 all.extend(lines);
54 vec![]
54 vec![]
55 });
55 });
56 let mut map: BTreeMap<String, VersionTag> = BTreeMap::new();
56 let mut map: BTreeMap<String, VersionTag> = BTreeMap::new();
57− for DisabledPackage { package, version } in disabled {
57+ for VersionedPackage { package, version } in versioned {
58 map.insert(package, VersionTag::Manual(version));
58 map.insert(package, VersionTag::Manual(version));
59 }
59 }
60 let mut support: BTreeMap<(String, String), BTreeSet<(String, String)>> = BTreeMap::new();
60 let mut support: BTreeMap<(String, String), BTreeSet<(String, String)>> = BTreeMap::new();
@@ -107,7 +107,7 @@ pub fn outdated() {
107 let latest = latest_version(&package);
107 let latest = latest_version(&package);
108 if version != latest {
108 if version != latest {
109 let max = 3;
109 let max = 3;
110− let dependents_stripped = dependents.len().checked_sub(max).unwrap_or(0);
110+ let dependents_stripped = dependents.len().saturating_sub(max);
111 let dependents = dependents
111 let dependents = dependents
112 .into_iter()
112 .into_iter()
113 .take(max)
113 .take(max)
@@ -139,9 +139,11 @@ fn is_boot(package: &str) -> bool {
139 "filepath",
139 "filepath",
140 "deepseq",
140 "deepseq",
141 "ghc",
141 "ghc",
142+ "ghc-bignum",
142 "ghc-boot",
143 "ghc-boot",
143 "ghc-boot-th",
144 "ghc-boot-th",
144 "ghc-prim",
145 "ghc-prim",
146+ "ghc-lib-parser", // not a boot lib, but tied to the GHC version.
145 "integer-gmp",
147 "integer-gmp",
146 "process",
148 "process",
147 "stm",
149 "stm",
@@ -175,34 +177,38 @@ enum State {
175 Done,
177 Done,
176}
178}
177
179
178−struct DisabledPackage {
180+struct VersionedPackage {
179 package: String,
181 package: String,
180 version: String,
182 version: String,
181}
183}
182
184
183−fn parse_disabled_package(s: &str) -> Option<DisabledPackage> {
185+fn parse_versioned_package(s: &str) -> Option<VersionedPackage> {
184 if let Some(caps) = regex!(r#"- *([^ ]+) < *0 *# *([\d.]+)"#).captures(s) {
186 if let Some(caps) = regex!(r#"- *([^ ]+) < *0 *# *([\d.]+)"#).captures(s) {
185 let package = caps.get(1).unwrap().as_str().to_owned();
187 let package = caps.get(1).unwrap().as_str().to_owned();
186 let version = caps.get(2).unwrap().as_str().to_owned();
188 let version = caps.get(2).unwrap().as_str().to_owned();
189+ Some(VersionedPackage { package, version })
190+ } else if let Some(caps) = regex!(r#"- *([^ ]+) *# *([\d.]+)"#).captures(s) {
191+ let package = caps.get(1).unwrap().as_str().to_owned();
192+ let version = caps.get(2).unwrap().as_str().to_owned();
187− Some(DisabledPackage { package, version })
193+ Some(VersionedPackage { package, version })
188 } else {
194 } else {
189 None
195 None
190 }
196 }
191}
197}
192
198
193−fn handle<F>(write: bool, mut f: F) -> Vec<DisabledPackage>
199+fn handle<F>(write: bool, mut f: F) -> Vec<VersionedPackage>
194where
200where
195 F: FnMut(Location, Vec<String>) -> Vec<String>,
201 F: FnMut(Location, Vec<String>) -> Vec<String>,
196{
202{
197 let path = "build-constraints.yaml";
203 let path = "build-constraints.yaml";
198 let mut new_lines: Vec<String> = vec![];
204 let mut new_lines: Vec<String> = vec![];
199− let mut disabled_packages: Vec<DisabledPackage> = vec![];
205+ let mut versioned_packages: Vec<VersionedPackage> = vec![];
200
206
201 let mut state = State::LookingForLibBounds;
207 let mut state = State::LookingForLibBounds;
202 let mut buf = vec![];
208 let mut buf = vec![];
203 for line in read_lines(path).map(|s| s.unwrap()) {
209 for line in read_lines(path).map(|s| s.unwrap()) {
204− if let Some(disabled_package) = parse_disabled_package(&line) {
210+ if let Some(versioned_package) = parse_versioned_package(&line) {
205− disabled_packages.push(disabled_package);
211+ versioned_packages.push(versioned_package);
206 }
212 }
207
213
208 match state {
214 match state {
@@ -273,7 +279,7 @@ where
273 file.flush().unwrap();
279 file.flush().unwrap();
274 }
280 }
275
281
276− disabled_packages
282+ versioned_packages
277}
283}
278
284
279enum Location {
285enum Location {