Compare commits

..

279 Commits

Author SHA1 Message Date
f1f8eb8d7c Test all sigs, not just the main yaml 2023-11-12 15:52:28 +08:00
772e54b936 Re-sign 2023-11-12 15:47:23 +08:00
10ae84aa7b Test debian:unstable in bindist tests 2023-11-12 15:46:09 +08:00
0ae75a25ef Use deb11 for unknown debian version
See https://github.com/haskell/ghcup-metadata/pull/150
2023-11-12 15:44:54 +08:00
16fb138bbe Update toolRequirements 2023-11-12 15:43:46 +08:00
wz1000
6786ac32c0 Merge pull request #148 from haskell/wip/9.4.8-release
9.4.8 release
2023-11-10 07:49:17 -08:00
Zubin Duggal
9d6836aa76 Release 9.4.8 2023-11-10 20:33:54 +05:30
0239166c31 Re-sign 2023-11-10 21:39:27 +08:00
025f276131 Update 0.0.8 yamls 2023-11-10 21:39:04 +08:00
cae42448a0 Add ghcup 0.1.20.0 2023-11-10 21:38:49 +08:00
56d759176e Re-sign 2023-11-06 22:18:42 +08:00
df143e226f Backport fix to vanilla 2023-11-06 22:18:27 +08:00
e914259ed7 Merge remote-tracking branch 'origin/pr/144' into develop 2023-11-06 22:17:14 +08:00
Arjun Kathuria
48cae51c31 fix incorrect link to 32-bit(A_32) Linux_Debian cabal-install-3.10.2.0
* The link for 32-bit (A_32) Linux_Debian cabal-install under
  version 3.10.2.0 points to the 64-bit (x64-64) version.

* The hash for this however was found to be correct here, so
  it was left unchanged.

* Fixes the link to point to the 32-bit (i386) version.
2023-11-06 16:42:41 +05:30
173d03ef56 Add cabal-install 3.10.2.0 2023-11-05 11:50:38 +01:00
c806339f69 Add missing sigs 2023-10-21 19:42:28 +08:00
68633d49a5 Update sigs 2023-10-21 19:42:15 +08:00
7625d4bf83 Update system requirements for Ubuntu 23 2023-10-21 19:41:58 +08:00
2efadd4588 Re-sign 2023-10-21 19:29:53 +08:00
4917c671bf Update system requirements 2023-10-21 19:28:50 +08:00
Ben Gamari
dd4f6ff001 ghcup-vanilla: Add GHC 9.8.1 2023-10-11 13:24:22 -04:00
wz1000
70eccfe8d6 Merge pull request #141 from haskell/wip/hls-2.4.0.0
HLS 2.4.0.0
2023-10-10 10:52:31 -07:00
Zubin Duggal
0fde7e8686 Resign 2023-10-10 22:44:05 +05:30
Zubin Duggal
c1764cadab Update metadata for HLS 2.4.0.0 2023-10-10 22:38:35 +05:30
Ben Gamari
1a5a7f3db4 Merge pull request #140 from bgamari/wip/ghc-9.8
Add GHC 9.8.1
2023-10-09 18:01:41 -04:00
Ben Gamari
43f4782658 Add GHC 9.8.1 2023-10-09 17:43:57 -04:00
374a68e074 Merge branch 'issue-99' into develop 2023-10-01 17:47:51 +08:00
493c2c81f4 Re-sign 2023-10-01 16:44:02 +08:00
041f8b1421 Bump recommended GHC to 9.4.7 2023-10-01 16:43:47 +08:00
b62f7ffa3b Re-sign 2023-10-01 16:41:08 +08:00
6ee7342fe3 Merge remote-tracking branch 'origin/pr/119' into develop 2023-10-01 16:40:09 +08:00
1d43217082 Re-sign 2023-10-01 16:17:54 +08:00
4ffadfdda4 Fix ghcup-prereleases yaml issues 2023-10-01 16:17:38 +08:00
3e2ab12988 Merge branch 'issue-135' into develop 2023-10-01 16:17:18 +08:00
68731892cc Validate all tags in CI, wrt #135 2023-10-01 15:55:02 +08:00
b2843da016 Re-sign 2023-10-01 14:51:03 +08:00
53ef921fe1 Add stack to vanilla channel as well 2023-10-01 14:50:44 +08:00
20916def87 Merge remote-tracking branch 'origin/pr/132' into develop 2023-10-01 14:47:27 +08:00
335bc378aa Document tags wrt #136 2023-10-01 14:41:34 +08:00
Ben Gamari
1d366edea6 Merge pull request #133 from haskell/wip/ghc-9.8
Update tags of 9.8.1-rc1
2023-09-30 10:49:43 -04:00
Ben Gamari
971e013861 Update tags of 9.8.1-rc1
I had overlooked this when initially adding the release.
2023-09-30 10:30:07 -04:00
Mike Pilgrem
397fd411af Fix #131 Add Stack 2.13.1 ('official' bindists only) 2023-09-30 12:02:03 +01:00
Ben Gamari
124f62c0a2 Merge pull request #130 from bgamari/wip/ghc-9.8
Add ghc-9.8.1-rc1
2023-09-29 17:52:38 -04:00
Ben Gamari
e93e21835e Add ghc-9.8.1-rc1 2023-09-29 17:32:06 -04:00
2d5701d480 Improve README 2023-09-30 00:34:13 +08:00
d9fe82364c Move signatures to separate file 2023-09-30 00:05:30 +08:00
Hécate Moonlight
ac43fb74c8 Add Hécate's PGP key 2023-09-30 00:00:14 +08:00
wz1000
5013094656 Merge pull request #129 from haskell/wip/hls-2.3.0.0
Metadata for HLS 2.3.0.0
2023-09-29 16:49:34 +05:30
Zubin Duggal
fe6ad60f1d Resign 2023-09-29 16:46:44 +05:30
Zubin Duggal
5e077005e6 Add freebsd bindists 2023-09-29 16:46:22 +05:30
Zubin Duggal
ad3f8f9507 Resign 2023-09-29 14:52:31 +05:30
Zubin Duggal
97553d92cc Add metadata for HLS 2.3.0.0 2023-09-29 14:52:11 +05:30
Zubin Duggal
4f4e82f3a7 Resign 2023-09-26 20:52:39 +05:30
wz1000
9f5f9d0d40 Merge pull request #126 from haskell/stack-2.13.0.1
Add Stack 2.13.0.1 pre-release to GHCup metadata
2023-09-26 20:52:02 +05:30
Mike Pilgrem
0e394642f1 Add 'official' Stack 2.13.0.1 for macOS/AArch64 2023-09-26 16:12:26 +01:00
Mike Pilgrem
977147b65a Add Stack 2.13.0.1 pre-release to GHCup metadata 2023-09-26 16:12:26 +01:00
Zubin Duggal
67de4cb8db Resign 2023-09-26 00:36:53 +05:30
wz1000
9946e32869 Merge pull request #124 from haskell/b/ghc-9.6.3
Add GHC-9.6.3
2023-09-26 00:34:32 +05:30
Bryan Richter
7aa3b26848 Add GHC-9.6.3 2023-09-25 21:54:05 +03:00
Ben Gamari
c8cfd2717f Merge pull request #122 from bgamari/wip/fix-keys
test-sigs: Fix key validation
2023-09-22 10:54:01 -04:00
Ben Gamari
62c55a1893 test-sigs: Fix key validation
My personal key was added here instead of the ben@well-typed.com key
which I use for signing GHC-related things.
2023-09-22 10:43:02 -04:00
Ben Gamari
0972ffb4c9 Merge pull request #121 from bgamari/wip/ghc-9.8
Add ghc-9.8.1-alpha4
2023-09-22 10:18:46 -04:00
Ben Gamari
73a6c8c0cf Add ghc-9.8.1-alpha4 2023-09-22 09:52:28 -04:00
Mike Pilgrem
cca4a2386d Fix #118 Recommend the latest version of Stack 2023-09-09 17:09:32 +01:00
44cad536cf Re-sign 2023-09-04 15:09:40 +08:00
392c3879da Merge remote-tracking branch 'origin/pr/115' into develop 2023-09-04 14:58:49 +08:00
Arjun Kathuria
0702ea6eac fix(docs): Adds new docs generation code that takes OS-versions into account
* Adds new docs generation code that takes OS/distro version into
  account when generating dependency list for that platform.

* Moves away from old hard-coded approach to a new approach
  that reads Distro/OS version from the yaml file and
  generates the dependecy list taking distro/OS versions
  from the yaml file into account

* Fixes a very commonly reported bug
  - https://github.com/haskell/ghcup-hs/issues/777
2023-09-02 20:52:45 +05:30
Arjun Kathuria
88882cc757 refactor: Upgrade "ghcup-hs" dependency version in cabal.project
* Upgrade `ghcup-hs` project version to a new one that has
  new pretty-print instances needed, after my previous PR
  got merged.

* PR - fd6ff9f8ec
2023-09-02 20:48:28 +05:30
b2d276cd43 Add WT keys 2023-09-01 13:14:24 +08:00
4be5f2a861 Sign 2023-08-29 18:21:02 +08:00
76bbc57292 Merge remote-tracking branch 'origin/pr/114' into hls-2.2.0.0 2023-08-29 18:20:35 +08:00
Fendor
7c3d976be2 Add VSCode hls metadata for 2.2.0.0 2023-08-27 14:18:49 +02:00
Fendor
4543dbe628 Update metadata for HLS 2.2.0.0 2023-08-27 13:34:47 +02:00
0dd813c3bc Test keys 2023-08-26 14:12:35 +08:00
9cda41867d Fix undocumented keys 2023-08-26 13:21:16 +08:00
wz1000
3fb3d65717 Merge pull request #110 from haskell/wip/9.4.7-release
Metadata for GHC 9.4.7
2023-08-25 20:44:38 +05:30
Ben Gamari
a66c722d9c Merge pull request #111 from bgamari/wip/ghc-9.8
Add GHC 9.8.1-alpha3
2023-08-23 21:28:20 -04:00
Ben Gamari
228b60092e Add GHC 9.8.1-alpha3 2023-08-23 15:22:20 -04:00
Zubin Duggal
236a679e1f Metadata for GHC 9.4.7 2023-08-23 17:45:51 +05:30
69dd66bfb8 Fix prerelease tags 2023-08-17 19:51:31 +08:00
Ben Gamari
fab0629aab Fix release date of 9.8.1-alpha2 2023-08-15 08:06:52 -04:00
dff3e395c0 Merge remote-tracking branch 'origin/pr/103' into develop 2023-08-14 17:52:46 +08:00
8faa5a00a4 Re-sign with proper key 2023-08-14 17:51:52 +08:00
Zubin Duggal
44c6e2b5d0 Sign metadata 2023-08-11 22:38:28 +05:30
wz1000
9332b5c3b6 Merge pull request #109 from fendor/hls-metadata-2.1.0.0
Update metadata for HLS 2.1.0.0
2023-08-11 22:35:17 +05:30
Fendor
6dc4112b03 Do not promote to recommended 2023-08-11 18:32:17 +02:00
Fendor
f40933da42 Promote to recommended 2023-08-11 18:22:56 +02:00
Fendor
9137f4b994 Update metadata for HLS 2.1.0.0 2023-08-11 18:20:39 +02:00
Ben Gamari
ae0c031c78 Merge pull request #108 from bgamari/wip/ghc-9.8
Add GHC-9.8.1-alpha2
2023-08-10 11:05:38 -04:00
Ben Gamari
309ceffb43 Add GHC-9.8.1-alpha2 2023-08-09 21:52:28 -04:00
Ben Gamari
a239e448fa Sign ghcup-0.0.7.yaml 2023-08-07 12:07:38 -04:00
Ben Gamari
5c735e8478 Merge pull request #106 from wz1000/wip/9.4.6-release
9.4.6 release
2023-08-07 11:51:20 -04:00
Zubin Duggal
fb1e1a8f7d 9.4.6 release 2023-08-07 15:54:20 +05:30
Arjun Kathuria
803b2cfd1b fix: Upgrade to newest ghcup-hs master
* Upgrades ghcup-metadata to use newest master branch commit.
  - updates cabal.project

* fixes breaking changes when upgrading to new ghcup-hs
  - `listVersions` function changed type-signature, fixed useages
  - needed some GHCTargetVersion -> Version type conversions
2023-07-30 12:30:49 +05:30
Ben Gamari
dac7e22520 Add metadata for GHC 9.8.1-alpha1 2023-07-29 14:25:30 -04:00
0759634d3c Update dlOutput 2023-07-14 21:21:44 +08:00
7312daf7da Re-sign 2023-07-14 21:16:36 +08:00
8fa3fc6f6f Add wasm32-wasi-9.6.2.20230523 to cross 2023-07-14 21:15:54 +08:00
8550a086b4 Fix ghcup prerelease 2023-07-14 00:46:53 +08:00
b2aaecac07 Re-sign 2023-07-14 00:22:04 +08:00
fd29f96559 Add darwin GHCJS 2023-07-14 00:20:15 +08:00
6aa90ff5dd Fix tags on prereleases 2023-07-13 22:04:25 +08:00
046205bdc0 Introduce cross channel 2023-07-12 17:57:06 +08:00
737cc346db Merge branch '0.1.19.5-prerelease' into develop 2023-07-12 17:52:26 +08:00
7ab3419345 Add ghcup 0.1.19.5 prerelease 2023-07-12 17:49:30 +08:00
c88802ea8c Re-sign 2023-07-02 18:53:14 +08:00
5a85e7f735 Bump GHCup to 0.1.19.4 2023-07-02 18:52:54 +08:00
cdd58df6a4 Re-sign 2023-07-02 15:28:15 +08:00
b089af6578 Fix yaml 2023-07-02 15:28:02 +08:00
909e64ae8b Re-sign 2023-07-02 15:11:09 +08:00
9cff00364a Fix alpine 32bit cabal 2023-07-02 15:09:46 +08:00
e34b095e99 Re-sign 2023-07-02 14:41:49 +08:00
1a10c6d2e2 Fix fdlock error on cabal armv7 2023-07-02 14:41:38 +08:00
f5cf930de3 Merge branch 'ghcup-0.1.19.3' into develop 2023-06-29 20:11:40 +08:00
3ff8cf172d Re-sign 2023-06-29 20:07:22 +08:00
2b0f9134e9 Update to ghcup 0.1.19.3 2023-06-29 20:07:07 +08:00
4854047dc9 Merge branch 'hls-2.0.0.1' into develop 2023-06-28 21:14:57 +08:00
9266021236 Re-sign 2023-06-28 20:56:30 +08:00
8defb9068a Update for HLS 2.0.0.1 2023-06-28 20:56:16 +08:00
b88e461c7c Update HLS metadata 2023-05-27 11:56:05 +08:00
bb94c7445a Re-sign 2023-05-26 23:47:20 +08:00
27325db7c0 Add 9.2.8 to vanilla channel 2023-05-26 23:47:02 +08:00
3459025d6f Merge remote-tracking branch 'origin/pr/95' into develop 2023-05-26 23:41:03 +08:00
Zubin Duggal
62c05e25c6 Add metadata for GHC 9.2.8 2023-05-26 17:30:50 +05:30
e2102511b1 Fix tags in vanilla 2023-05-24 22:36:55 +08:00
508f52dfb1 Remove debian 9 from CI 2023-05-24 22:27:03 +08:00
ec29b4bcc3 Sign 2023-05-24 22:22:37 +08:00
52f4dde1ee Fix test DL 2023-05-24 22:22:21 +08:00
4cf9867563 Merge remote-tracking branch 'origin/pr/94' into develop 2023-05-24 22:22:04 +08:00
Ben Gamari
e9426c246d ghcup-vanilla: Add 9.6.2 2023-05-24 08:59:44 -04:00
Ben Gamari
5cba359c78 Add ghc-9.6.2 2023-05-23 17:14:48 -04:00
66a24ec9aa Re-sign 2023-05-19 19:02:17 +08:00
d7d93a85c2 Add stack-2.11.1for main channil 2023-05-19 19:02:07 +08:00
13fad50ca2 Add stack-2.11.1 for vanilla channel 2023-05-19 19:02:07 +08:00
484dd1084c Add GHC-9.4.5 for FreeBSD 2023-05-19 17:42:21 +08:00
c58fe8aaef Update to HLS 2.0.0.0 2023-05-19 16:18:37 +08:00
407d47a2ba Merge remote-tracking branch 'origin/pr/92' into develop 2023-05-19 16:13:04 +08:00
Zubin Duggal
d643f9f84e Add freebsd and fix aarch64-darwin 2023-05-19 13:40:17 +05:30
Zubin Duggal
0540871277 Add metadata for HLS 2.0.0.0 2023-05-18 17:05:42 +05:30
49063b09ba Add M1 binaries for stack-2.11.0.1 2023-05-12 22:05:19 +08:00
d6e7b29250 Re-sign 2023-05-07 00:16:37 +08:00
ffc8c38074 Merge remote-tracking branch 'origin/pr/90' into develop 2023-05-07 00:04:46 +08:00
Mike Pilgrem
e7a1ac0c15 Update ghcup-prereleases-0.0.7.yaml for Stack 2.11.0.1 2023-05-06 12:07:15 +01:00
9459d1cb08 Re-sign 2023-05-05 21:35:51 +08:00
d97d4fb8d7 Merge branch 'redhat8' into develop 2023-05-05 21:35:35 +08:00
d35571f02d Fix RedHat 8 support 2023-05-02 22:52:42 +08:00
2dbfc84ef6 Fix RedHat 8 support 2023-05-02 18:54:41 +08:00
92efb732ac Re-sign 2023-04-20 18:04:28 +08:00
6474e0e7de Add 9.4.5 to vanilla channel 2023-04-20 18:04:05 +08:00
5f1802aee7 Fixup test DL 2023-04-20 18:03:57 +08:00
7a5ffc84ff Merge remote-tracking branch 'origin/pr/88' into develop 2023-04-20 17:56:12 +08:00
Zubin Duggal
b37a8ca419 Add metadata for GHC 9.4.5 2023-04-18 13:24:36 +05:30
309dcd0344 Mark more HLS versions as old 2023-03-30 23:34:07 +08:00
16ca788725 Mark more GHC versions as old 2023-03-30 23:33:03 +08:00
86526f6015 Set GHC-9.2.7 and HLS-1.10.0.0 as recommended 2023-03-30 23:23:18 +08:00
1d00d31730 Fix HLS bindist CI 2023-03-30 22:39:34 +08:00
c975203b5e Sign 2023-03-30 22:28:40 +08:00
5c692ab9ec Generate hls metadata 2023-03-30 22:28:17 +08:00
7c1bf39704 Fix yaml anchors in ghcup-vanilla 2023-03-30 22:18:04 +08:00
673a49bcc1 Fixup HLS 1.10.0.0 2023-03-30 22:17:22 +08:00
6926df6a00 Merge remote-tracking branch 'origin/pr/86' into develop 2023-03-30 22:07:00 +08:00
874f9a52f8 Re-sign 2023-03-30 20:52:33 +08:00
Zubin Duggal
cb19cf7a20 Fix anchors and unknown linux 2023-03-29 11:03:11 +05:30
Zubin Duggal
59ea5163ce Add metadata for HLS 1.10.0.0 2023-03-29 10:52:49 +05:30
b0a026f6a0 Fix cabal arm binaries 2023-03-15 00:01:08 +08:00
5700321a7d Fix armv7/aarch64 ghcup binaries 2023-03-14 22:49:31 +08:00
c58f03c71d Add GHC 9.6.1 proper 2023-03-12 18:40:57 +08:00
96b1c8e3e9 Fix armv7 2023-03-12 18:25:52 +08:00
60a30d8522 Fix CI 2023-03-12 18:17:00 +08:00
7de9fd3a8c Fix CI for cabal 2023-03-12 18:10:21 +08:00
b8606ec3b7 Sign 2023-03-12 18:02:59 +08:00
d19cc1d0f0 Clean up empty dlSubdir 2023-03-12 18:02:44 +08:00
b703c55991 Add cabal 3.10.1.0 proper 2023-03-12 18:02:35 +08:00
8b95d10664 Make latest and recommended match in vanilla channel 2023-03-12 16:25:10 +08:00
d5c7e708d8 Add GHC-9.6.1 to vanilla channel 2023-03-12 16:24:06 +08:00
fea14b9a06 Add cabal-3.10.1.0 to vanilla channel 2023-03-11 23:32:30 +08:00
eadf9b61ba Fixup prereleases 2023-03-04 12:19:44 +08:00
594bd5490d Merge remote-tracking branch 'origin/pr/82' into develop 2023-03-03 23:51:25 +08:00
Ben Gamari
1fa98afb67 Add ghc-9.6.1-rc1 2023-03-03 10:36:30 -05:00
9a262dc451 Fix CI 2023-02-27 23:38:50 +08:00
d4f085edf4 Add FreeBSD 9.4.4 bindist 2023-02-27 22:46:29 +08:00
9c4b70f495 Sign 2023-02-27 21:11:47 +08:00
3e05dee7bf Add FreeBSD stack 2.9.3 binary 2023-02-27 21:11:36 +08:00
f8d0da5743 Make stack 2.9.3 the recommended 2023-02-27 20:42:40 +08:00
dfe477c1b7 Re-sign 2023-02-27 16:00:21 +08:00
f752a23491 Merge branch 'ghc-9.2.7' into develop 2023-02-27 16:00:09 +08:00
df38f4edf2 Add unofficial FreeBSD 9.2.7 bindist 2023-02-27 15:58:21 +08:00
ad42891618 Fix FreeBSD ghcup binary 2023-02-27 13:59:59 +08:00
Zubin Duggal
fe5f56580b Add metadata for GHC 9.2.7 2023-02-27 13:35:18 +08:00
4f8635e560 Fix test 2023-02-24 20:44:47 +08:00
8501a6d4b2 Mark a couple of prereleases as old 2023-02-24 20:22:02 +08:00
94b469197d Update ghcup tag 2023-02-24 20:03:57 +08:00
b1c5e84b42 Fix ghcup-bindist for installing ghcup 2023-02-24 20:02:07 +08:00
51aa203205 Set LatestPrerelease tags 2023-02-24 20:00:08 +08:00
0b98de04cc Bump GHCup to 0.1.19.2 2023-02-24 19:32:15 +08:00
3e07ac0a20 Merge branch 'hls-ci' into develop 2023-02-21 22:38:53 +08:00
d819571955 Fix HLS CI 2023-02-21 22:20:01 +08:00
d33b26a495 Update ghcup-hs subrepo 2023-02-19 23:54:59 +08:00
0ba569e44c Update GHCup to 0.1.19.1 2023-02-19 23:53:05 +08:00
ea9b67d5d0 Fixup prereleases 2023-02-18 01:02:49 +08:00
f47527468b Merge remote-tracking branch 'origin/pr/72' into develop 2023-02-18 00:57:45 +08:00
Ben Gamari
0939170115 Add GHC 9.6.1-alpha3 2023-02-17 09:49:37 -05:00
2941394cb1 Merge branch 'hls-1.9.1.0' into develop 2023-02-15 00:40:14 +08:00
152f531e31 Add HLS 1.9.1.0 2023-02-15 00:25:44 +08:00
033fcb7f19 Add unofficial FreeBSD 9.2.5 GHC bindist 2023-02-11 19:12:47 +08:00
c3d3804e12 Sign 2023-02-11 13:10:43 +08:00
1b5713af8f Remove recommended from 9.2.6 for now 2023-02-11 13:07:07 +08:00
8544b1bd49 Add M1 and aarch to bindist tests 2023-02-11 13:01:36 +08:00
cd5ff36ece Fix bindist test 2023-02-11 12:30:56 +08:00
3520430cd5 Add rocky:8 test 2023-02-11 12:27:48 +08:00
95b6a0a455 Change mappings for Ubuntu and Mint on 9.2.6 2023-02-11 12:27:31 +08:00
a68345fa44 Fix src hast on 9.2.6 and rm ghc-post-remove 2023-02-11 12:02:59 +08:00
98ca9d2f37 Merge remote-tracking branch 'origin/pr/70' into develop 2023-02-11 12:00:43 +08:00
Zubin Duggal
f45f8c6061 Add metadata for GHC 9.2.6 2023-02-10 18:46:39 +05:30
12cb639ca1 Fix remaining issues for ghc-9.6.0.20230128 2023-02-01 00:06:29 +08:00
eeb1e14e37 Merge remote-tracking branch 'origin/pr/69' into develop 2023-01-31 23:29:20 +08:00
3d85d4d78a Oh, shoot 2023-01-30 18:36:12 +08:00
61f49e0992 Sign 2023-01-30 18:12:29 +08:00
7a709a22a4 Add testDL to vanilla 2023-01-30 18:12:11 +08:00
b0004fb0e3 Remove postRemove from vanilla 2023-01-30 18:11:55 +08:00
4b30ea60c0 Add viTestDL 2023-01-30 18:06:03 +08:00
bcc2ced30a Fix subdir validation 2023-01-30 18:05:47 +08:00
Ben Gamari
510f1f281d Address review comments for 9.6.1-alpha2 metadata 2023-01-29 12:23:03 -05:00
Ben Gamari
1b182831ae Add GHC 9.6.1-alpha2 metadata 2023-01-29 11:36:11 -05:00
7acba3cd1e Sign 2023-01-27 21:56:52 +08:00
023f6b1a74 Merge remote-tracking branch 'origin/pr/68' into develop 2023-01-27 21:56:28 +08:00
Mikolaj Konarski
f9977b5a25 Add cabal 3.9.0.0 prerelease from tag unofficial-prerelease-of-3.10 2023-01-27 10:56:56 +01:00
727ed6a374 Sign 2023-01-19 10:21:26 +08:00
f595461414 Merge remote-tracking branch 'origin/pr/67' into develop 2023-01-19 10:21:15 +08:00
Matthew Pickering
0daacd0fb3 Fix duplicate yaml anchors (cabal-3810-32) 2023-01-18 20:49:28 +00:00
0306776a0b Remove GHC postlog
This is already done in GHCup itself.
2023-01-16 22:14:57 +08:00
9e14e6c736 Fix 32bit 3.8 cabal binaries 2023-01-16 00:12:50 +08:00
25b231442a Fixup 9.6.0.20230111 subdirs 2023-01-15 23:02:13 +08:00
dde651c769 Fix cabal-3.8.1.0 bindists 2023-01-15 22:35:52 +08:00
a05354bbc8 Add missing bindists for cabal-3.8.1.0 2023-01-15 21:57:59 +08:00
27c82dc3f7 Sign 2023-01-14 23:27:08 +08:00
e85fc30d6c Merge remote-tracking branch 'origin/pr/66' into develop 2023-01-14 23:23:08 +08:00
Ben Gamari
93204da7fa Add GHC 9.6.1-alpha1 2023-01-13 18:16:06 -05:00
adae303354 Fix windows GHCup 0.1.19.0 binary
Fixes https://github.com/haskell/ghcup-hs/issues/745
2023-01-14 01:45:34 +08:00
b6698d1d2b Update ghcup to 0.1.19.0 2023-01-13 12:58:23 +08:00
7e08589078 Update ghcup build 2023-01-13 12:58:23 +08:00
e6b0a8086a Add armv7 for GHC 9.2.2 2023-01-12 15:36:02 +08:00
7fe858c762 Merge branch 'yamllint' into develop 2023-01-11 23:19:00 +08:00
c8fc5fb44e Implement yaml linting, fixes #63 2023-01-11 22:52:03 +08:00
0b92651bcc Sign 2023-01-11 21:40:26 +08:00
bcfe45ad6b Merge remote-tracking branch 'origin/pr/62' into develop 2023-01-11 21:39:05 +08:00
Matthew Pickering
ae180380b5 Fix duplicated cabal-3620-32 anchor 2023-01-10 09:00:25 +00:00
11aa850e1c Add vanilla metadata, fixes #43 2023-01-08 15:38:13 +08:00
e86689a03b Sign 2023-01-02 19:27:17 +08:00
053d4fe216 Merge remote-tracking branch 'origin/pr/58' into develop 2023-01-02 19:27:06 +08:00
Takahiro HIMURA
173dc63375 Fix a reference for HLS 1.9.0.0 Debian. 2023-01-02 19:49:11 +09:00
9061e416ce Sign 2023-01-01 17:30:11 +08:00
e3cdf35f45 Test bindists on fedora:27 as well 2023-01-01 17:02:52 +08:00
f45500e82a Fix 9.4.4 bindist for fedora <33 2023-01-01 16:03:45 +08:00
c42bb4a2ff Sign 2022-12-29 11:56:46 +08:00
Zubin Duggal
7601d79710 Fix hashes for HLS 1.9 2022-12-29 02:38:13 +05:30
Zubin Duggal
11cb83955f Add metadata for HLS 1.9.0.0 2022-12-26 20:18:38 +05:30
0a1655fbb2 Sign 2022-12-25 23:39:37 +08:00
4bccb92d3f Fix bindist CI 2022-12-25 23:33:21 +08:00
Ben Gamari
c3f824ddc3 Add GHC 9.4.4 2022-12-24 14:53:30 -05:00
9abf634f8c Improve stack post install 2022-12-19 00:15:27 +08:00
5d50438a4c Merge branch 'stack-2.9.3' into develop 2022-12-18 02:27:10 +08:00
22867158fa Add stack-2.9.3 2022-12-18 02:24:52 +08:00
d309865d02 Allow to trigger workflow via comment 2022-12-18 02:22:57 +08:00
af5688633d Fix build for Fedora <33 2022-12-16 12:23:55 +08:00
3b98df479a Fix CI 2022-12-14 22:37:57 +08:00
93514e964f Update sig 2022-12-14 20:57:07 +08:00
4466b7ce4d Merge branch 'develop' 2022-12-13 19:42:05 +08:00
1ba37946e1 Fix Linux Mint shenanigans with HLS 2022-12-13 19:10:08 +08:00
f37840f592 Merge branch 'develop' 2022-11-25 21:20:47 +08:00
Mike Pilgrem
5b58beb3bd Add Stack 2.9.2.1 pre-release to GHCup metadata 2022-11-24 05:56:33 +01:00
8f0e82ef06 Fix 2022-11-12 23:32:13 +08:00
de7b919c4f Fx 8.10.3 alpine bindist 2022-11-12 22:53:26 +08:00
1b9f1fc804 Add subcommand to output system requirements in markdown
Related: https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/411
2022-11-12 11:13:56 +08:00
32a75b482a Sign 2022-11-08 01:00:37 +08:00
6290ad816c Add GHC 9.2.5 2022-11-08 00:56:11 +08:00
2d705bf10a Sign 2022-11-06 23:56:24 +08:00
5da8fa8ea0 Add GHC 9.4.3 2022-11-06 23:08:19 +08:00
c3f3321617 Merge branch 'prof-libs' into develop 2022-10-10 13:30:11 +08:00
42 changed files with 23415 additions and 333 deletions

View File

@@ -16,7 +16,12 @@ on:
metadataFile:
description: Metadata file
required: true
default: ghcup-0.0.7.yaml
default: ghcup-0.0.8.yaml
type: string
channel:
description: Distribution channel (main|prerelease|nightly)
required: true
default: Main
type: string
env:
BOOTSTRAP_HASKELL_NONINTERACTIVE: 1
@@ -25,6 +30,7 @@ env:
TOOL: ${{ github.event.inputs.tool }}
VERSION: ${{ github.event.inputs.version }}
METADATA_FILE: ${{ github.event.inputs.metadataFile }}
CHANNEL: ${{ github.event.inputs.channel }}
jobs:
bindist-install:
name: linux-${{ matrix.image }}
@@ -36,15 +42,15 @@ jobs:
- image: alpine:latest
installCmd: apk update && apk add
toolRequirements: binutils-gold curl gcc g++ gmp-dev libc-dev libffi-dev make musl-dev ncurses-dev perl tar xz
- image: debian:9
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
- image: debian:10
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5 libnuma-dev
- image: debian:11
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5 libnuma-dev
- image: debian:unstable
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses6 libtinfo6 libnuma-dev
- image: ubuntu:18.04
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi6 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
@@ -57,15 +63,27 @@ jobs:
- image: archlinux:latest
installCmd: pacman -Syu --noconfirm
toolRequirements: which gcc gmp libffi make ncurses perl tar xz
- image: fedora:latest
- image: fedora:27
installCmd: dnf install -y
toolRequirements: which findutils gcc gcc-c++ gmp gmp-devel make ncurses ncurses-compat-libs xz perl
- image: fedora:36
installCmd: dnf install -y
toolRequirements: which gcc g++ gmp gmp-devel make ncurses ncurses-compat-libs xz perl
- image: rockylinux:8
installCmd: dnf install -y
toolRequirements: which findutils gcc gcc-c++ gmp gmp-devel make ncurses ncurses-compat-libs xz perl
- image: rockylinux:9
installCmd: dnf install -y --allowerasing
toolRequirements: which findutils gcc gcc-c++ gmp gmp-devel make ncurses xz perl
- image: linuxmintd/mint19.3-amd64
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi6 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
- image: linuxmintd/mint20.2-amd64
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
- image: linuxmintd/mint21.1-amd64
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
container:
image: ${{ matrix.image }}
steps:
@@ -73,20 +91,134 @@ jobs:
shell: sh
run: |
${{ matrix.installCmd }} curl bash git ${{ matrix.toolRequirements }}
- uses: actions/checkout@v3
- name: Install ghcup and bindist for ${{ github.event.inputs.tool }} ${{ github.event.inputs.version }}
- name: Install ghcup and bindist
run: .github/workflows/install-bindist.sh
bindist-install-non-linux:
name: ${{ matrix.os }}
bindist-install-mac-win:
name: Build non-linux
strategy:
fail-fast: false
matrix:
os:
- macos-11
- macos-12
- windows-latest
include:
- os: [self-hosted, macOS, ARM64]
- os: macos-11
- os: macos-12
- os: windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Install ghcup and bindist for ${{ github.event.inputs.tool }} ${{ github.event.inputs.version }}
- if: ${{ github.event_name == 'workflow_dispatch' }}
name: Install ghcup and bindist
run: .github/workflows/install-bindist.sh
bindist-install-arm:
name: Build ARM binary
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: [self-hosted, Linux, ARM64]
ARCH: ARM
- os: [self-hosted, Linux, ARM64]
ARCH: ARM64
steps:
- uses: docker://arm64v8/ubuntu:focal
name: Cleanup (aarch64 linux)
with:
args: "find . -mindepth 1 -maxdepth 1 -exec rm -rf -- {} +"
- name: git config
run: |
git config --global --get-all safe.directory | grep '^\*$' || git config --global --add safe.directory "*"
shell: bash
- uses: actions/checkout@v3
- if: matrix.ARCH == 'ARM'
uses: docker://hasufell/arm32v7-ubuntu-haskell:focal
name: Run build (armv7 linux)
with:
args: sh -c '.github/workflows/install-bindist.sh'
- if: matrix.ARCH == 'ARM64'
uses: docker://hasufell/arm64v8-ubuntu-haskell:focal
name: Run build (aarch64 linux)
with:
args: sh -c '.github/workflows/install-bindist.sh'
validate:
name: ghcup-gen check
runs-on: ubuntu-latest
env:
GHC: 9.2.8
CABAL: 3.10.1.0
steps:
- name: create ~/.local/bin
run: mkdir -p "$HOME/.local/bin"
shell: bash
- name: Add ~/.local/bin to PATH
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
shell: bash
- name: install yamllint
run: pip install yamllint
- name: Update cabal cache
run: cabal update
shell: bash
- name: Install requirements
shell: sh
run: |
export DEBIAN_FRONTEND=noninteractive
export TZ=Asia/Singapore
sudo apt-get update && sudo apt-get install -y curl bash git gnupg libarchive-dev
- uses: actions/checkout@v3
- name: Cache Cabal
uses: actions/cache@v2
env:
cache-name: cache-cabal
with:
path: |
~/.cabal/store
~/.cabal/packages
key: v2-${{ runner.os }}-${{ env.GHC }}-${{ env.CABAL }}-build-${{ hashFiles('cabal.project') }}
restore-keys: |
v2-${{ runner.os }}-${{ env.GHC }}-${{ env.CABAL }}-build-${{ hashFiles('cabal.project') }}
v2-${{ runner.os }}-${{ env.GHC }}-${{ env.CABAL }}-build-
v2-${{ runner.os }}-${{ env.GHC }}
- name: Install ghcup-gen
run: |
ghcup run --cabal 3.10.1.0 --ghc 9.2.8 --install -- cabal install --installdir="$HOME/.local/bin" --overwrite-policy=always --install-method=copy ghcup-gen
shell: bash
- name: Check yaml
run: |
ghcup-gen -- check -f ${{ env.METADATA_FILE }} --channel ${{ env.CHANNEL }}
yamllint ${{ env.METADATA_FILE }}
python3 -c "import yaml ; stream = open('${{ env.METADATA_FILE }}', 'r') ; yaml.safe_load(stream)"
shell: bash
signature-test:
name: Test signatures
runs-on: ubuntu-latest
steps:
- name: Install requirements
shell: sh
run: |
sudo apt-get update && sudo apt-get install -y curl bash git gnupg
- uses: actions/checkout@v3
- name: Test signatures
run: .github/workflows/test-sigs.sh

30
.github/workflows/common.sh vendored Normal file
View File

@@ -0,0 +1,30 @@
#!/bin/bash
if [ "${RUNNER_OS}" = "Windows" ] ; then
ext=".exe"
else
ext=''
fi
echo_color() {
local color="$1"
local msg="$2"
echo -e "\033[${color}m${msg}\033[0m"
}
error() { echo_color "${RED}" "$1"; }
warn() { echo_color "${LT_BROWN}" "$1"; }
info() { echo_color "${LT_BLUE}" "$1"; }
fail() { error "error: $1"; exit 1; }
mktempdir() {
case "$(uname -s)" in
"Darwin"|"darwin")
mktemp -d -t hls_ci.XXXXXXX
;;
*)
mktemp -d
;;
esac
}

View File

@@ -1,16 +1,33 @@
#!/usr/bin/env bash
set -x
set -eo pipefail
. .github/workflows/common.sh
export GHCUP_INSTALL_BASE_PREFIX=$RUNNER_TEMP/foobarbaz
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
source $GHCUP_INSTALL_BASE_PREFIX/.ghcup/env || source ~/.bashrc
source "$GHCUP_INSTALL_BASE_PREFIX"/.ghcup/env || source "$HOME/.bashrc"
ghcup --version
which ghcup | grep foobarbaz
ghcup -v --url-source=file:$METADATA_FILE install $TOOL --set $VERSION
ghcup_fun() {
ghcup -v --url-source="file:$METADATA_FILE" "$@"
}
case $TOOL in
ghcup)
ghcup_fun upgrade --force
;;
*) ghcup_fun install "$TOOL" --set "$VERSION"
;;
esac
mkdir -p /tmp/install-bindist-ci
cp "$METADATA_FILE" /tmp/install-bindist-ci/
cd /tmp/install-bindist-ci
cat <<EOF > main.hs
{- cabal:
@@ -21,9 +38,65 @@ main = print $ 1 + 1
EOF
case $TOOL in
ghcup)
ghcup_fun list
;;
hls)
haskell-language-server-wrapper --version
haskell-language-server-wrapper typecheck main.hs
ghcup_fun install cabal latest
ghcup_fun install ghc --set recommended
cabal update
test_package="bytestring-0.11.1.0"
test_module="Data/ByteString.hs"
create_cradle() {
echo "cradle:" > hie.yaml
echo " cabal:" >> hie.yaml
}
enter_test_package() {
local tmp_dir
tmp_dir=$(mktempdir)
cd "$tmp_dir"
cabal unpack "${test_package}"
cd "${test_package}"
cp "/tmp/install-bindist-ci/${METADATA_FILE}" .
}
# For all HLS GHC versions and the wrapper, run 'typecheck'
# over the $test_module
test_all_hls() {
local bin
local bin_noexe
local bindir
local hls
bindir=$1
for hls in "${bindir}/"haskell-language-server-* ; do
bin=${hls##*/}
bin_noexe=${bin/.exe/}
if ! [[ "${bin_noexe}" =~ "haskell-language-server-wrapper" ]] && ! [[ "${bin_noexe}" =~ "~" ]] && ! [[ "${bin_noexe}" =~ ".shim" ]] ; then
if ghcup_fun install ghc --set "${bin_noexe/haskell-language-server-/}" ; then
"${hls}" typecheck "${test_module}" || fail "failed to typecheck with HLS for GHC ${bin_noexe/haskell-language-server-/}"
else
fail "GHCup failed to install GHC ${bin_noexe/haskell-language-server-/}"
fi
ghcup_fun rm ghc "${bin_noexe/haskell-language-server-/}"
fi
done
"$bindir/haskell-language-server-wrapper${ext}" typecheck "${test_module}" || fail "failed to typecheck with HLS wrapper"
}
enter_test_package
create_cradle
case "$(uname -s)" in
MSYS_*|MINGW*)
test_all_hls "$(dirname "$(which ghcup)")"
;;
*)
test_all_hls "$(ghcup whereis bindir)"
;;
esac
;;
ghc)
ghc --version
@@ -32,6 +105,7 @@ case $TOOL in
[[ $(./main +RTS -s) -eq 2 ]]
;;
cabal)
ghcup_fun install ghc --set "$(ghcup_fun list -t ghc -r -c available | tail -1 | awk '{ print $2 }')"
cabal --version
cabal update
[[ $(cabal --verbose=0 run --enable-profiling ./main.hs -- +RTS -s) -eq 2 ]]

6
.github/workflows/sigs vendored Normal file
View File

@@ -0,0 +1,6 @@
keys=(
7D1E8AFD1D4A16D71FADA2F2CCC85C0E40C06A8C # Julian Ospald <maerwald@hasufell.de>
FFEB7CE81E16A36B3E2DED6F2DE04D4E97DB64AD # Ben Gamari <ben@well-typed.com>
88B57FCF7DB53B4DB3BFA4B1588764FBE22D19C4 # Zubin Duggal <zubin@well-typed.com>
EAF2A9A722C0C96F2B431CA511AAD8CEDEE0CAEF # Hécate <hecate@glitchbra.in>
)

27
.github/workflows/test-sigs.sh vendored Executable file
View File

@@ -0,0 +1,27 @@
#!/usr/bin/env bash
set -x
set -eo pipefail
. .github/workflows/common.sh
get_key() {
local key=$1
local server=$2
gpg --batch --keyserver "${server}" --recv-keys "${key}"
echo -e "${key}:6:" | gpg --import-ownertrust
}
# verify signature
. .github/workflows/sigs
for key in "${keys[@]}" ; do
get_key "${key}" keys.openpgp.org || get_key "${key}" keyserver.ubuntu.com
done
unset key
gpg --verify "${METADATA_FILE}.sig"
for f in ghcup-*.json ghcup-*.yaml hls-metadata-*.json ; do
gpg --verify "${f}.sig"
done

View File

@@ -11,7 +11,7 @@ jobs:
name: Test metadata
runs-on: ${{ matrix.os }}
env:
YAML_VER: 0.0.6
YAML_VER: 0.0.7
strategy:
matrix:
ghc:
@@ -19,7 +19,7 @@ jobs:
cabal:
- '3.6.2.0'
os:
- ubuntu-latest
- ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v2
@@ -51,18 +51,30 @@ jobs:
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
shell: bash
- name: install yamllint
run: pip install yamllint
- name: Update cabal cache
run: cabal update
shell: bash
- name: Install some deps
run: |
export DEBIAN_FRONTEND=noninteractive
export TZ=Asia/Singapore
sudo apt install -y libarchive-dev
shell: bash
- name: Install ghcup-gen
run: |
cabal install --installdir="$HOME/.local/bin" --overwrite-policy=always --install-method=copy ghcup-gen
shell: bash
- name: Check
- name: Check yaml
run: |
ghcup-gen -- check -f ghcup-${{ env.YAML_VER }}.yaml
yamllint ghcup-${{ env.YAML_VER }}.yaml
python3 -c "import yaml ; stream = open('ghcup-${{ env.YAML_VER }}.yaml', 'r') ; yaml.safe_load(stream)"
shell: bash
- name: Check tarballs

5
.yamllint Normal file
View File

@@ -0,0 +1,5 @@
extends: default
rules:
line-length: disable
indentation: disable

View File

@@ -1,6 +1,26 @@
# GHCup metadata
## Adding a new GHC version
## For end users
### Metadata variants (distribution channels)
* `ghcup-A.B.C.yaml`: this is the main metadata and what ghcup uses by default
* `ghcup-vanilla-A.B.C.yaml`: this is similar to `ghcup-A.B.C.yaml`, but only uses upstream bindists (no patches/fixes are applied, no missing platforms added)
* `ghcup-prereleases-A.B.C.yaml`: this contains pre-releases of all tools
* `ghcup-cross-A.B.C.yaml`: this contains (usually experimental) cross compilers
### Using the metadata
If you want access to both pre-releases and cross compilers, run:
```
ghcup config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml
ghcup config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-cross-0.0.8.yaml
```
## For contributors
### Adding a new GHC version
1. open the latest `ghcup-<yaml-ver>.yaml`
2. find the latest ghc version (in yaml tree e.g. `ghcupDownloads -> GHC -> 8.10.7`)
@@ -11,3 +31,24 @@
7. run `cabal run ghcup-gen -- check-tarballs -f ghcup-<yaml-ver>.yaml -u 'ghc-8\.10\.8'`
8. run `cabal run ghcup-gen -- generate-hls-ghcs -f ghcup-<yaml-ver>.yaml --format json -o hls-metadata-0.0.1.json`
9. run `cabal run ghcup-gen -- generate-table -f ghcup-<yaml-ver>.yaml --stdout` and adjust [docs/install](https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/docs/install.md) tables
### During a pull request
* make sure to always add new versions to both `ghcup-A.B.C.yaml` and `ghcup-vanilla-A.B.C.yaml`
* make sure to run the bindist action to check tool installation on all platforms: https://github.com/haskell/ghcup-metadata/actions/workflows/bindists.yaml
- this is a manual pipeline
- set the appropriate parameters
* make sure to sign the yaml files you edited, e.g.: `gpg --detach-sign -u <your-email> ghcup-0.0.7.yaml` or ask a GHCup developer to sign
- PGP pubkeys need to be cross-signed by the GHCup team
- they need to be added to the CI: https://github.com/haskell/ghcup-metadata/blob/develop/.github/workflows/sigs
- and need to be documented on the homepage
* https://github.com/haskell/ghcup-hs/blob/master/docs/guide.md#gpg-verification
* https://github.com/haskell/ghcup-hs/blob/master/docs/install.md#unix
### Understanding tags
Tags are documented [here](https://github.com/haskell/ghcup-hs/blob/master/lib/GHCup/Types.hs). Search for `data Tag`.
Some tags are unique. Uniqueness is checked by `cabal run ghcup-gen -- check -f ghcup-<yaml-ver>.yaml`.
If you want to check prereleases, do: `cabal run ghcup-gen -- check -f ghcup-prereleases-<yaml-ver>.yaml --channel=prerelease`

View File

@@ -2,19 +2,18 @@ packages: ./ghcup-gen/ghcup-gen.cabal
package ghcup
tests: False
flags: -tui +no-exe
flags: +tui +no-exe
source-repository-package
type: git
location: https://gitlab.haskell.org/haskell/ghcup-hs.git
tag: v0.1.17.8
location: https://github.com/haskell/ghcup-hs.git
tag: e27fed09f3eb4b0b72ce7825c65f16a4202a2399
constraints: http-io-streams -brotli,
any.Cabal ==3.6.2.0,
any.aeson >= 2.0.1.0
package libarchive
flags: -system-libarchive
flags: +system-libarchive
package aeson-pretty
flags: +lib-only
@@ -25,5 +24,5 @@ package cabal-plan
package aeson
flags: +ordered-keymap
allow-newer: base, ghc-prim, template-haskell, language-c
package streamly
flags: +use-unliftio

View File

@@ -2132,43 +2132,39 @@
}
},
"GHCup": {
"0.1.17.5": {
"0.1.19.0": {
"viTags": [
"Recommended",
"Latest"
],
"viChangeLog": "https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/CHANGELOG.md",
"viChangeLog": "https://github.com/haskell/ghcup-hs/blob/master/CHANGELOG.md",
"viSourceDL": null,
"viArch": {
"A_64": {
"Linux_UnknownLinux": {
"unknown_versioning": {
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-linux-ghcup-0.1.17.5",
"dlSubdir": null,
"dlHash": "7541bcf0b402f99d05cd1937f9fef69aec45c3153e42606671825be248484fb5"
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-linux-ghcup-0.1.19.0",
"dlHash": "33ee6a758ee06e3b520be176905e6192e31f5fa2e2acdc525b1bea77ca368a12"
}
},
"Darwin": {
"unknown_versioning": {
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-apple-darwin-ghcup-0.1.17.5",
"dlSubdir": null,
"dlHash": "8b5159775de08a5f268f4be217fbb6f427ff8d8977197af209211b81ca0fe27f"
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-apple-darwin-ghcup-0.1.19.0",
"dlHash": "416de8509092fd95f97ee19a5f3def91fbd6e6fa4fa630a5c5e7226f49a83af7"
}
},
"FreeBSD": {
"unknown_versioning": {
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-freebsd12-ghcup-0.1.17.5",
"dlSubdir": null,
"dlHash": "babb7366abb17bcb5d4fc1500039040f1b957073d618db3f1473b0bae6abc6bb"
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-portbld-freebsd-ghcup-0.1.19.0",
"dlHash": "dadf49f8ac045946ccea7369d0c80cf3a5221b2282d8f9943cc3dc86e8516a62"
}
}
},
"A_32": {
"Linux_UnknownLinux": {
"unknown_versioning": {
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.17.5/i386-linux-ghcup-0.1.17.5",
"dlSubdir": null,
"dlHash": "5a2b1d2ceb32857866689ee1a1e29c5747333882a4e952d80eccf49482d3daab"
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.19.0/i386-linux-ghcup-0.1.19.0",
"dlHash": "0308ebed4431241ef2886a9d374feb20a795d97ef3a24dd38b6bc7dd69e81e53"
}
}
}

Binary file not shown.

View File

@@ -2674,51 +2674,51 @@
}
},
"GHCup": {
"0.1.16.2": {
"0.1.19.0": {
"viTags": [
"Recommended",
"Latest"
],
"viChangeLog": "https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/CHANGELOG.md",
"viChangeLog": "https://github.com/haskell/ghcup-hs/blob/master/CHANGELOG.md",
"viSourceDL": null,
"viArch": {
"A_64": {
"Linux_UnknownLinux": {
"unknown_versioning": {
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-linux-ghcup-0.1.16.2",
"dlHash": "d5e43b95ce1d42263376e414f7eb7c5dd440271c7c6cd9bad446fdeff3823893"
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-linux-ghcup-0.1.19.0",
"dlHash": "33ee6a758ee06e3b520be176905e6192e31f5fa2e2acdc525b1bea77ca368a12"
}
},
"Darwin": {
"unknown_versioning": {
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-apple-darwin-ghcup-0.1.16.2",
"dlHash": "a334620ccce7705211b2142882dde544003e6030af4b91a44c890542a90f879f"
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-apple-darwin-ghcup-0.1.19.0",
"dlHash": "416de8509092fd95f97ee19a5f3def91fbd6e6fa4fa630a5c5e7226f49a83af7"
}
},
"FreeBSD": {
"unknown_versioning": {
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-portbld-freebsd-ghcup-0.1.16.2",
"dlHash": "92359592a5694375e53b22628920086bf4bbf0faff5be018a0ed3e745a6426a9"
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-portbld-freebsd-ghcup-0.1.19.0",
"dlHash": "dadf49f8ac045946ccea7369d0c80cf3a5221b2282d8f9943cc3dc86e8516a62"
}
},
"Linux_Alpine": {
"unknown_versioning": {
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-linux-ghcup-0.1.16.2",
"dlHash": "d5e43b95ce1d42263376e414f7eb7c5dd440271c7c6cd9bad446fdeff3823893"
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-linux-ghcup-0.1.19.0",
"dlHash": "33ee6a758ee06e3b520be176905e6192e31f5fa2e2acdc525b1bea77ca368a12"
}
}
},
"A_32": {
"Linux_UnknownLinux": {
"unknown_versioning": {
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.16.2/i386-linux-ghcup-0.1.16.2",
"dlHash": "01968ca6decac7b6e8ba6e2c817870d3fa47289a6507e0c1ab563f7b6eec0e38"
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.19.0/i386-linux-ghcup-0.1.19.0",
"dlHash": "0308ebed4431241ef2886a9d374feb20a795d97ef3a24dd38b6bc7dd69e81e53"
}
},
"Linux_Alpine": {
"unknown_versioning": {
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.16.2/i386-linux-ghcup-0.1.16.2",
"dlHash": "01968ca6decac7b6e8ba6e2c817870d3fa47289a6507e0c1ab563f7b6eec0e38"
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.19.0/i386-linux-ghcup-0.1.19.0",
"dlHash": "0308ebed4431241ef2886a9d374feb20a795d97ef3a24dd38b6bc7dd69e81e53"
}
}
}

Binary file not shown.

View File

@@ -1384,32 +1384,32 @@ ghcupDownloads:
dlUri: https://oleg.fi/cabal-install-3.4.0.0-rc4/cabal-install-3.4.0.0-x86_64-freebsd-12.1-release.tar.xz
dlHash: 9705e16d03497b46be4ad477e6c64d10890af853eafa8a9adf6dba89aa9e05f7
GHCup:
0.1.17.5:
0.1.19.0:
viTags:
- Recommended
- Latest
viChangeLog: https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/CHANGELOG.md
viChangeLog: https://github.com/haskell/ghcup-hs/blob/master/CHANGELOG.md
viSourceDL:
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-linux-ghcup-0.1.17.5
dlHash: 7541bcf0b402f99d05cd1937f9fef69aec45c3153e42606671825be248484fb5
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-linux-ghcup-0.1.19.0
dlHash: 33ee6a758ee06e3b520be176905e6192e31f5fa2e2acdc525b1bea77ca368a12
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-apple-darwin-ghcup-0.1.17.5
dlHash: 8b5159775de08a5f268f4be217fbb6f427ff8d8977197af209211b81ca0fe27f
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-apple-darwin-ghcup-0.1.19.0
dlHash: 416de8509092fd95f97ee19a5f3def91fbd6e6fa4fa630a5c5e7226f49a83af7
FreeBSD:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-freebsd12-ghcup-0.1.17.5
dlHash: babb7366abb17bcb5d4fc1500039040f1b957073d618db3f1473b0bae6abc6bb
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-portbld-freebsd-ghcup-0.1.19.0
dlHash: dadf49f8ac045946ccea7369d0c80cf3a5221b2282d8f9943cc3dc86e8516a62
Linux_Alpine:
unknown_versioning: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/i386-linux-ghcup-0.1.17.5
dlHash: 5a2b1d2ceb32857866689ee1a1e29c5747333882a4e952d80eccf49482d3daab
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/i386-linux-ghcup-0.1.19.0
dlHash: 0308ebed4431241ef2886a9d374feb20a795d97ef3a24dd38b6bc7dd69e81e53
Linux_Alpine:
unknown_versioning: *ghcup-32

Binary file not shown.

View File

@@ -1451,33 +1451,33 @@ ghcupDownloads:
dlUri: https://oleg.fi/cabal-install-3.4.0.0-rc4/cabal-install-3.4.0.0-x86_64-freebsd-12.1-release.tar.xz
dlHash: 9705e16d03497b46be4ad477e6c64d10890af853eafa8a9adf6dba89aa9e05f7
GHCup:
0.1.17.5:
0.1.19.0:
viTags:
- Recommended
- Latest
viChangeLog: https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/CHANGELOG.md
viChangeLog: https://github.com/haskell/ghcup-hs/blob/master/CHANGELOG.md
viSourceDL:
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-linux-ghcup-0.1.17.5
dlHash: 7541bcf0b402f99d05cd1937f9fef69aec45c3153e42606671825be248484fb5
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-linux-ghcup-0.1.19.0
dlHash: 33ee6a758ee06e3b520be176905e6192e31f5fa2e2acdc525b1bea77ca368a12
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-apple-darwin-ghcup-0.1.17.5
dlHash: 8b5159775de08a5f268f4be217fbb6f427ff8d8977197af209211b81ca0fe27f
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-apple-darwin-ghcup-0.1.19.0
dlHash: 416de8509092fd95f97ee19a5f3def91fbd6e6fa4fa630a5c5e7226f49a83af7
FreeBSD:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-freebsd12-ghcup-0.1.17.5
dlHash: babb7366abb17bcb5d4fc1500039040f1b957073d618db3f1473b0bae6abc6bb
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-portbld-freebsd-ghcup-0.1.19.0
dlHash: dadf49f8ac045946ccea7369d0c80cf3a5221b2282d8f9943cc3dc86e8516a62
Linux_Alpine:
unknown_versioning: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/i386-linux-ghcup-0.1.17.5
dlHash: 5a2b1d2ceb32857866689ee1a1e29c5747333882a4e952d80eccf49482d3daab
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/i386-linux-ghcup-0.1.19.0
dlHash: 0308ebed4431241ef2886a9d374feb20a795d97ef3a24dd38b6bc7dd69e81e53
Linux_Alpine:
unknown_versioning: *ghcup-32
HLS:

Binary file not shown.

Binary file not shown.

View File

@@ -1868,49 +1868,49 @@ ghcupDownloads:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.4.0.0/cabal-install-3.4.0.0-armv7-linux-bootstrapped.tar.xz
dlHash: 16c0d1eaba24bed14f3e152970179a45d9f9bb5cc839b2c210ad06eb7d4826ed
GHCup:
0.1.17.7:
0.1.19.0:
viTags:
- Recommended
- Latest
viChangeLog: https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/CHANGELOG.md
viChangeLog: https://github.com/haskell/ghcup-hs/blob/master/CHANGELOG.md
viSourceDL:
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-linux-ghcup-0.1.17.7
dlHash: e16eaf59dab84be7aa6415b53a3497f211d05163a50584dc854569b2ef8a7a3a
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-linux-ghcup-0.1.19.0
dlHash: 33ee6a758ee06e3b520be176905e6192e31f5fa2e2acdc525b1bea77ca368a12
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-apple-darwin-ghcup-0.1.17.7
dlHash: 9702f30c9374a122d79f7ef11170b34deb248a0f3cd92d671c0aab747be4add7
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-apple-darwin-ghcup-0.1.19.0
dlHash: 416de8509092fd95f97ee19a5f3def91fbd6e6fa4fa630a5c5e7226f49a83af7
FreeBSD:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-freebsd12-ghcup-0.1.17.7
dlHash: d3d0644dc5d9b51ed1c345fc006e936e9284b3181e5a9cccf4cf70a7184398fe
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-portbld-freebsd-ghcup-0.1.19.0
dlHash: dadf49f8ac045946ccea7369d0c80cf3a5221b2282d8f9943cc3dc86e8516a62
Linux_Alpine:
unknown_versioning: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/i386-linux-ghcup-0.1.17.7
dlHash: 209f61872a5b401e85e4d542dd8d0c96437c1f1ad94b4fa5a28856f34ab0cab8
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/i386-linux-ghcup-0.1.19.0
dlHash: 0308ebed4431241ef2886a9d374feb20a795d97ef3a24dd38b6bc7dd69e81e53
Linux_Alpine:
unknown_versioning: *ghcup-32
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/aarch64-linux-ghcup-0.1.17.7
dlHash: 392dc46ef3f98733b154188982866859d174a750e32c5b742e6a1cf60159954e
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/aarch64-linux-ghcup-0.1.19.0
dlHash: a546dcd23a7e56f31bc4d6afad0276f88d3f0b850a3d3c36369721797dc3c3d5
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/aarch64-apple-darwin-ghcup-0.1.17.7
dlHash: 102d808b31248f86cbf569162ba1b7955e6747a684b2b4200b0958d6e4c54267
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/aarch64-apple-darwin-ghcup-0.1.19.0
dlHash: 69bd8e37cd07606d928dca9215c066564a264e0def3c81171b76d5747dc6507c
A_ARM:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/armv7-linux-ghcup-0.1.17.7
dlHash: 8438e22241fab4bfde94066a34600ab003db2f4ecadfd54bfad4ae990e6549a1
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/armv7-linux-ghcup-0.1.19.0
dlHash: 58a170c1fb0b4e701ebb40f90a23f6ababe9e61291726aad82e18d4649aed908
HLS:
1.1.0:
viTags:

Binary file not shown.

View File

@@ -2025,53 +2025,53 @@ ghcupDownloads:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.4.0.0/cabal-install-3.4.0.0-armv7-linux-bootstrapped.tar.xz
dlHash: 16c0d1eaba24bed14f3e152970179a45d9f9bb5cc839b2c210ad06eb7d4826ed
GHCup:
0.1.18.0:
0.1.19.0:
viTags:
- Recommended
- Latest
viChangeLog: https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/CHANGELOG.md
viChangeLog: https://github.com/haskell/ghcup-hs/blob/master/CHANGELOG.md
viSourceDL:
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0
dlHash: 94559eb7c4569919446af1597d07675e803c20b150323edb7f9d8601c8bbda50
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-linux-ghcup-0.1.19.0
dlHash: 33ee6a758ee06e3b520be176905e6192e31f5fa2e2acdc525b1bea77ca368a12
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-apple-darwin-ghcup-0.1.18.0
dlHash: b34ed98bc0cc6d2169974f8d03173f93c3e3f60607013f1af42c9882c1a0d6f0
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-apple-darwin-ghcup-0.1.19.0
dlHash: 416de8509092fd95f97ee19a5f3def91fbd6e6fa4fa630a5c5e7226f49a83af7
FreeBSD:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-freebsd12-ghcup-0.1.18.0
dlHash: cc8378a53f3028331dc853acfb253e2258d720b0e18b618b294ed67182a7fa03
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-portbld-freebsd-ghcup-0.1.19.0
dlHash: dadf49f8ac045946ccea7369d0c80cf3a5221b2282d8f9943cc3dc86e8516a62
Windows:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-mingw64-ghcup-0.1.18.0.exe
dlHash: e2166a50437c677dfab3362749f676f92ff786aae1bfd7a2d289efa3544ee654
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-mingw64-ghcup-0.1.19.0.exe
dlHash: c4e4a764b0844e351eb6939ff236452f33c34808aaca69f973ea82e18d3aa1ac
Linux_Alpine:
unknown_versioning: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/i386-linux-ghcup-0.1.18.0
dlHash: 222914720135261dcc644155bc8a5b15d1d4966c769d50686fe4f41547208759
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/i386-linux-ghcup-0.1.19.0
dlHash: 0308ebed4431241ef2886a9d374feb20a795d97ef3a24dd38b6bc7dd69e81e53
Linux_Alpine:
unknown_versioning: *ghcup-32
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/aarch64-linux-ghcup-0.1.18.0
dlHash: 3e3ee4aa06e426373fb7e29f1770987ca1621e414925f261f325f9acb77e0bcb
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/aarch64-linux-ghcup-0.1.19.0
dlHash: a546dcd23a7e56f31bc4d6afad0276f88d3f0b850a3d3c36369721797dc3c3d5
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/aarch64-apple-darwin-ghcup-0.1.18.0
dlHash: 2d3aa19d6f012c1a4ebc5907a05b06cf0d43a1499107020f59847ea2638c8649
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/aarch64-apple-darwin-ghcup-0.1.19.0
dlHash: 69bd8e37cd07606d928dca9215c066564a264e0def3c81171b76d5747dc6507c
A_ARM:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/armv7-linux-ghcup-0.1.18.0
dlHash: 2e94920c772bc24c9fe41004dedf46840f5f036d28d3ed183679d3f34d2c50e0
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/armv7-linux-ghcup-0.1.19.0
dlHash: 58a170c1fb0b4e701ebb40f90a23f6ababe9e61291726aad82e18d4649aed908
HLS:
1.1.0:
viTags: []

Binary file not shown.

View File

@@ -2569,56 +2569,53 @@ ghcupDownloads:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.6.2.0/cabal-install-3.6.2.0-armv7-linux-deb10.tar.xz
dlHash: 694ba7c14f8d720c6e790ab0488dbff2d8a07d9c6de97b4deeba31088f825bc2
GHCup:
0.1.18.0:
0.1.19.0:
viTags:
- Recommended
- Latest
viChangeLog: https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/CHANGELOG.md
viChangeLog: https://github.com/haskell/ghcup-hs/blob/master/CHANGELOG.md
viSourceDL:
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-linux-ghcup-0.1.18.0
dlHash: 94559eb7c4569919446af1597d07675e803c20b150323edb7f9d8601c8bbda50
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-linux-ghcup-0.1.19.0
dlHash: 33ee6a758ee06e3b520be176905e6192e31f5fa2e2acdc525b1bea77ca368a12
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-apple-darwin-ghcup-0.1.18.0
dlHash: b34ed98bc0cc6d2169974f8d03173f93c3e3f60607013f1af42c9882c1a0d6f0
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-apple-darwin-ghcup-0.1.19.0
dlHash: 416de8509092fd95f97ee19a5f3def91fbd6e6fa4fa630a5c5e7226f49a83af7
FreeBSD:
'( >= 12 && < 13 )':
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-freebsd12-ghcup-0.1.18.0
dlHash: cc8378a53f3028331dc853acfb253e2258d720b0e18b618b294ed67182a7fa03
'( >= 13 )':
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-freebsd13-ghcup-0.1.18.0
dlHash: cc8378a53f3028331dc853acfb253e2258d720b0e18b618b294ed67182a7fa03
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-portbld-freebsd-ghcup-0.1.19.0
dlHash: dadf49f8ac045946ccea7369d0c80cf3a5221b2282d8f9943cc3dc86e8516a62
Windows:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/x86_64-mingw64-ghcup-0.1.18.0.exe
dlHash: e2166a50437c677dfab3362749f676f92ff786aae1bfd7a2d289efa3544ee654
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-mingw64-ghcup-0.1.19.0.exe
dlHash: c4e4a764b0844e351eb6939ff236452f33c34808aaca69f973ea82e18d3aa1ac
Linux_Alpine:
unknown_versioning: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/i386-linux-ghcup-0.1.18.0
dlHash: 222914720135261dcc644155bc8a5b15d1d4966c769d50686fe4f41547208759
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/i386-linux-ghcup-0.1.19.0
dlHash: 0308ebed4431241ef2886a9d374feb20a795d97ef3a24dd38b6bc7dd69e81e53
Linux_Alpine:
unknown_versioning: *ghcup-32
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/aarch64-linux-ghcup-0.1.18.0
dlHash: 3e3ee4aa06e426373fb7e29f1770987ca1621e414925f261f325f9acb77e0bcb
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/aarch64-linux-ghcup-0.1.19.0
dlHash: a546dcd23a7e56f31bc4d6afad0276f88d3f0b850a3d3c36369721797dc3c3d5
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/aarch64-apple-darwin-ghcup-0.1.18.0
dlHash: 2d3aa19d6f012c1a4ebc5907a05b06cf0d43a1499107020f59847ea2638c8649
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/aarch64-apple-darwin-ghcup-0.1.19.0
dlHash: 69bd8e37cd07606d928dca9215c066564a264e0def3c81171b76d5747dc6507c
A_ARM:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.18.0/armv7-linux-ghcup-0.1.18.0
dlHash: 2e94920c772bc24c9fe41004dedf46840f5f036d28d3ed183679d3f34d2c50e0
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/armv7-linux-ghcup-0.1.19.0
dlHash: 58a170c1fb0b4e701ebb40f90a23f6ababe9e61291726aad82e18d4649aed908
HLS:
1.1.0:
viTags:

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

6256
ghcup-0.0.8.yaml Normal file

File diff suppressed because it is too large Load Diff

BIN
ghcup-0.0.8.yaml.sig Normal file

Binary file not shown.

42
ghcup-cross-0.0.8.yaml Normal file
View File

@@ -0,0 +1,42 @@
---
globalTools:
ShimGen:
dlUri: https://downloads.haskell.org/~ghcup/shimgen/shim-2.exe
dlHash: 7c55e201f71860c5babea886007c8fa44b861abf50d1c07e5677eb0bda387a70
toolRequirements: {}
ghcupDownloads:
GHC:
javascript-unknown-ghcjs-9.6.2:
viTags:
- base-4.18.0.0
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning:
dlHash: 4e12b602869206830eef1aa6a17a5a00fa887d6c98c3a552269c418ee7f736f8
dlSubdir: ghc-9.6.2-javascript-unknown-ghcjs
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/javascript-unknown-ghcjs-9.6.2/ghc-javascript-unknown-ghcjs-9.6.2-x86_64-linux-unknown.tar.xz
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/javascript-unknown-ghcjs-9.6.2/ghc-javascript-unknown-ghcjs-9.6.2-x86_64-apple-darwin.tar.xz
dlHash: dddb0ee68857a79e67a52c4ab9b7230023a8684a5e826e9afbb9c5820abf47e1
dlSubdir: ghc-9.6.2-javascript-unknown-ghcjs
A_ARM64:
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/javascript-unknown-ghcjs-9.6.2/ghc-javascript-unknown-ghcjs-9.6.2-aarch64-apple-darwin.tar.xz
dlHash: 0d65bb3940a820d95b4b33ea0cd61bf39670d48c4d8f747153ded01a7ef34821
dlSubdir: ghc-9.6.2-javascript-unknown-ghcjs
wasm32-wasi-9.6.2.20230523:
viTags:
- base-4.18.0.0
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghc-wasm32-wasi-64-static
dlHash: 85433ce296f2f95a5c60f78060cb4a3a8bf8b56bf83ddd75f1b23cb2e2378888
dlSubdir: ghc-9.6.2.20230523-wasm32-wasi
dlUri: https://gitlab.haskell.org/api/v4/projects/3223/jobs/1530829/artifacts/ghc-x86_64-linux-alpine3_12-cross_wasm32-wasi-release%2Bfully_static.tar.xz
dlOutput: ghc-9.6.2.20230523-x86_64-linux-alpine3_12-cross_wasm32-wasi-release+fully_static.tar.xz
Linux_Alpine:
unknown_versioning: *ghc-wasm32-wasi-64-static

BIN
ghcup-cross-0.0.8.yaml.sig Normal file

Binary file not shown.

View File

@@ -6,11 +6,13 @@
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE ViewPatterns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE LambdaCase #-}
module Generate where
import GHCup
import GHCup.Download
import GHCup.Requirements
import GHCup.Errors
import GHCup.Types
import GHCup.Types.Optics
@@ -39,7 +41,7 @@ import System.Exit
import System.FilePath
import System.IO
import Text.Regex.Posix
import GHCup.Utils.String.QQ
import GHCup.Prelude.String.QQ
import qualified Data.ByteString.Lazy as BSL
import qualified Data.Map.Strict as M
@@ -47,6 +49,12 @@ import qualified Data.Text as T
import qualified Data.Yaml.Pretty as YAML
import qualified Text.Megaparsec as MP
import Data.Bifoldable (bifoldMap)
import Data.Foldable (traverse_)
import Data.Text (Text)
import Text.PrettyPrint.HughesPJClass (pPrint)
data Format = FormatJSON
| FormatYAML
@@ -83,6 +91,7 @@ generateHLSGhc format output = do
, DownloadFailed
, UnknownArchive
, ArchiveResult
, ContentLengthError
] $ do
fp <- liftE $ downloadCached dli Nothing
let subd = _dlSubdir dli
@@ -144,17 +153,18 @@ generateTable output = do
handle <- case output of
StdOut -> pure stdout
FileOutput fp -> liftIO $ openFile fp WriteMode
forM_ [GHC,Cabal,HLS,Stack] $ \tool -> do
case tool of
GHC -> liftIO $ hPutStrLn handle $ "<details> <summary>Show all supported <a href='https://www.haskell.org/ghc/'>GHC</a> versions</summary>"
Cabal -> liftIO $ hPutStrLn handle $ "<details> <summary>Show all supported <a href='https://cabal.readthedocs.io/en/stable/'>cabal-install</a> versions</summary>"
HLS -> liftIO $ hPutStrLn handle $ "<details> <summary>Show all supported <a href='https://haskell-language-server.readthedocs.io/en/stable/'>HLS</a> versions</summary>"
Stack -> liftIO $ hPutStrLn handle $ "<details> <summary>Show all supported <a href='https://docs.haskellstack.org/en/stable/README/'>Stack</a> versions</summary>"
_ -> fail "no"
liftIO $ hPutStrLn handle $ "<table>"
liftIO $ hPutStrLn handle $ "<thead><tr><th>" <> show tool <> " Version</th><th>Tags</th></tr></thead>"
liftIO $ hPutStrLn handle $ "<tbody>"
vers <- reverse <$> listVersions (Just tool) Nothing
vers <- reverse <$> listVersions (Just tool) [] False False (Nothing, Nothing)
forM_ (filter (\ListResult{..} -> not lStray) vers) $ \ListResult{..} -> do
liftIO $ hPutStrLn handle $
"<tr><td>"
@@ -175,3 +185,103 @@ generateTable output = do
printTag (Base pvp'') = "base-" ++ T.unpack (prettyPVP pvp'')
printTag (UnknownTag t ) = t
printTag Old = ""
generateSystemInfo :: ( MonadFail m
, MonadMask m
, Monad m
, MonadReader env m
, HasSettings env
, HasDirs env
, HasLog env
, MonadThrow m
, MonadIO m
, HasPlatformReq env
, HasGHCupInfo env
, MonadUnliftIO m
)
=> Output
-> m ExitCode
generateSystemInfo output = do
handle <- case output of
StdOut -> pure stdout
FileOutput fp -> liftIO $ openFile fp WriteMode
forM_ [ Linux Debian
, Linux Ubuntu
, Linux Fedora
, Linux CentOS
, Linux Alpine
, Linux UnknownLinux
, Darwin
, FreeBSD
, Windows
] $ \plat -> do
GHCupInfo { .. } <- getGHCupInfo
(Just req) <- pure $ getCommonRequirements (PlatformResult plat Nothing) _toolRequirements
liftIO $ hPutStrLn handle $ "### " <> (prettyPlat plat) <> "\n"
liftIO $ hPutStrLn handle $ (T.unpack $ pretty' req) <> "\n"
pure ExitSuccess
where
pretty' Requirements {..} =
let d = if not . null $ _distroPKGs
then "The following distro packages are required: " <> "`" <> T.intercalate " " _distroPKGs <> "`"
else ""
n = if not . T.null $ _notes then _notes else ""
in if | T.null d -> n
| T.null n -> d
| otherwise -> d <> "\n" <> n
prettyPlat (Linux UnknownLinux) = "Linux (generic)"
prettyPlat p = show p
generateSystemInfoWithDistroVersion :: ( MonadFail m
, MonadMask m
, Monad m
, MonadReader env m
, HasSettings env
, HasDirs env
, HasLog env
, MonadThrow m
, MonadIO m
, HasPlatformReq env
, HasGHCupInfo env
, MonadUnliftIO m
)
=> Output
-> m ExitCode
generateSystemInfoWithDistroVersion output = do
handle <- case output of
StdOut -> pure stdout
FileOutput fp -> liftIO $ openFile fp WriteMode
GHCupInfo { _toolRequirements = tr } <- getGHCupInfo
let ghcInfo = M.lookup Nothing <$> M.lookup GHC tr
liftIO $ traverse_ (\(key, value) -> do
liftIO $ hPutStrLn handle $ "### " <> prettyPlat key <> "\n"
liftIO $ hPutStrLn handle $ T.unpack $ versionsAndRequirements value <> T.pack "\n")
$ M.toList $ fromJust (fromJust ghcInfo)
pure ExitSuccess
where
pretty' Requirements {..} =
let d = if not . null $ _distroPKGs
then "The following distro packages are required: " <> "`" <> T.intercalate " " _distroPKGs <> "`" <> "\n"
else ""
n = if not . T.null $ _notes then _notes else ""
in if | T.null d -> n
| T.null n -> d
| otherwise -> d <> "\n" <> n
versionsAndRequirements :: PlatformReqVersionSpec -> Text
versionsAndRequirements =
bifoldMap
( \case
Nothing -> T.pack $ "#### Generic" <> "\n"
Just verz -> T.pack "#### Version " <> T.pack (show $ pPrint verz) <> "\n"
)
pretty'
prettyPlat (Linux UnknownLinux) = "Linux (generic)"
prettyPlat p = show p

View File

@@ -11,7 +11,7 @@ import GHCup.Types
import GHCup.Errors
import GHCup.Platform
import GHCup.Utils.Dirs
import GHCup.Utils.Logger
import GHCup.Prelude.Logger
import GHCup.Types.JSON ( )
import Control.Exception ( displayException )
@@ -65,6 +65,7 @@ data Command = ValidateYAML ValidateYAMLOpts
| ValidateTarballs ValidateYAMLOpts TarballFilter
| GenerateHlsGhc ValidateYAMLOpts Format Output
| GenerateToolTable ValidateYAMLOpts Output
| GenerateSystemDepsInfo ValidateYAMLOpts Output
fileOutput :: Parser Output
@@ -104,11 +105,30 @@ inputP :: Parser Input
inputP = fileInput <|> stdInput
data ValidateYAMLOpts = ValidateYAMLOpts
{ vInput :: Maybe Input
{ vChannel :: DistributionChannel
, vInput :: Maybe Input
}
validateYAMLOpts :: Parser ValidateYAMLOpts
validateYAMLOpts = ValidateYAMLOpts <$> optional inputP
validateYAMLOpts = ValidateYAMLOpts <$> channelParser <*> optional inputP
channelParser :: Parser DistributionChannel
channelParser =
option
(eitherReader chanP)
(long "channel" <> metavar "CHANNEL" <> help
"Signal which distribution channel the YAML denotes: (main | prerelease | nightly). Main is defaul."
<> value MainChan
)
where
chanP :: String -> Either String DistributionChannel
chanP s' | t == T.pack "main" = Right MainChan
| t == T.pack "prerelease" = Right PrereleaseChan
| t == T.pack "prereleases" = Right PrereleaseChan
| t == T.pack "nightly" = Right NightlyChan
| t == T.pack "nightlies" = Right NightlyChan
| otherwise = Left ("Unknown channel value: " <> s')
where t = T.toLower (T.pack s')
tarballFilterP :: Parser TarballFilter
tarballFilterP = option readm $
@@ -152,11 +172,17 @@ com = subparser
(progDesc "Generate a list of HLS-GHC support")
)
<> command
"generate-table"
"generate-tool-table"
(info
((GenerateToolTable <$> validateYAMLOpts <*> outputP) <**> helper)
(progDesc "Generate a markdown table of available tool versions")
)
<> command
"generate-system-deps-info"
(info
((GenerateSystemDepsInfo <$> validateYAMLOpts <*> outputP) <**> helper)
(progDesc "Generate a markdown info for system dependencies")
)
)
@@ -170,7 +196,7 @@ main = do
, fancyColors = not no_color
}
dirs <- liftIO getAllDirs
let leanAppstate = LeanAppState (Settings True 0 False Never Curl True GHCupURL False GPGNone True) dirs defaultKeyBindings loggerConfig
let leanAppstate = LeanAppState (Settings True 0 Lax False Never Curl True GHCupURL False GPGNone True Nothing (DM mempty)) dirs defaultKeyBindings loggerConfig
pfreq <- (
flip runReaderT leanAppstate . runE @'[NoCompatiblePlatform, NoCompatibleArch, DistroNotFound] $ platformRequest
@@ -180,7 +206,7 @@ main = do
flip runReaderT leanAppstate $ logError $ T.pack $ prettyShow e
liftIO $ exitWith (ExitFailure 2)
let appstate = AppState (Settings True 0 False Never Curl True GHCupURL False GPGNone True) dirs defaultKeyBindings (GHCupInfo mempty mempty mempty) pfreq loggerConfig
let appstate = AppState (Settings True 0 Lax False Never Curl True GHCupURL False GPGNone True Nothing (DM mempty)) dirs defaultKeyBindings (GHCupInfo mempty mempty mempty) pfreq loggerConfig
let withValidateYamlOpts vopts f = case vopts of
ValidateYAMLOpts { vInput = Nothing } ->
@@ -198,10 +224,11 @@ main = do
_ <- customExecParser (prefs showHelpOnError) (info (opts <**> helper) idm)
>>= \Options {..} -> case optCommand of
ValidateYAML vopts -> withValidateYamlOpts vopts validate
ValidateYAML vopts@ValidateYAMLOpts{ .. } -> withValidateYamlOpts vopts (validate vChannel)
ValidateTarballs vopts tarballFilter -> withValidateYamlOpts vopts (validateTarballs tarballFilter)
GenerateHlsGhc vopts format output -> withValidateYamlOpts vopts (generateHLSGhc format output)
GenerateToolTable vopts output -> withValidateYamlOpts vopts (generateTable output)
GenerateSystemDepsInfo vopts output -> withValidateYamlOpts vopts (generateSystemInfoWithDistroVersion output)
pure ()
where

View File

@@ -15,8 +15,8 @@ import GHCup.Errors
import GHCup.Types
import GHCup.Types.Optics
import GHCup.Utils
import GHCup.Utils.Logger
import GHCup.Utils.Version.QQ
import GHCup.Prelude.Logger
import GHCup.Prelude.Version.QQ
import Codec.Archive
import Control.Applicative
@@ -51,6 +51,11 @@ data ValidationError = InternalError String
instance Exception ValidationError
data DistributionChannel = MainChan
| PrereleaseChan
| NightlyChan
deriving (Show, Eq)
addError :: (MonadReader (IORef Int) m, MonadIO m, Monad m) => m ()
addError = do
@@ -66,8 +71,9 @@ validate :: ( Monad m
, MonadUnliftIO m
, HasGHCupInfo env
)
=> m ExitCode
validate = do
=> DistributionChannel
-> m ExitCode
validate distroChannel = do
GHCupInfo { _ghcupDownloads = dls } <- getGHCupInfo
ref <- liftIO $ newIORef 0
@@ -81,7 +87,7 @@ validate = do
forM_ (M.toList dls) $ \(t, versions) ->
forM_ (M.toList versions) $ \(v, vi) ->
forM_ (M.toList $ _viArch vi) $ \(arch, pspecs) -> do
checkHasRequiredPlatforms t v (_viTags vi) arch (M.keys pspecs)
checkHasRequiredPlatforms t (_tvVersion v) (_viTags vi) arch (M.keys pspecs)
checkGHCVerIsValid
forM_ (M.toList dls) $ \(t, _) -> checkMandatoryTags t
@@ -95,33 +101,36 @@ validate = do
lift $ logInfo "All good"
pure ExitSuccess
where
checkHasRequiredPlatforms t v tags arch pspecs = do
let v' = prettyVer v
arch' = prettyShow arch
when (Linux UnknownLinux `notElem` pspecs) $ do
lift $ logError $
"Linux UnknownLinux missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'
addError
when ((Darwin `notElem` pspecs) && arch == A_64) $ do
lift $ logError $ "Darwin missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'
addError
when ((FreeBSD `notElem` pspecs) && arch == A_64) $ lift $ logWarn $
"FreeBSD missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'
when (Windows `notElem` pspecs && arch == A_64) $ do
lift $ logError $ "Windows missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'
addError
checkHasRequiredPlatforms t v tags arch pspecs
-- relax requirements for prerelease and nightly channels
| distroChannel `elem` [PrereleaseChan, NightlyChan] = pure ()
| otherwise = do
let v' = prettyVer v
arch' = prettyShow arch
when (Linux UnknownLinux `notElem` pspecs) $ do
lift $ logError $
"Linux UnknownLinux missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'
addError
when ((Darwin `notElem` pspecs) && arch == A_64) $ do
lift $ logError $ "Darwin missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'
addError
when ((FreeBSD `notElem` pspecs) && arch == A_64) $ lift $ logWarn $
"FreeBSD missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'
when (Windows `notElem` pspecs && arch == A_64) $ do
lift $ logError $ "Windows missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'
addError
-- alpine needs to be set explicitly, because
-- we cannot assume that "Linux UnknownLinux" runs on Alpine
-- (although it could be static)
when (Linux Alpine `notElem` pspecs) $
case t of
GHCup | arch `elem` [A_64, A_32] -> lift (logError $ "Linux Alpine missing for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack (prettyShow arch)) >> addError
Cabal | v > [vver|2.4.1.0|]
, arch `elem` [A_64, A_32] -> lift (logError $ "Linux Alpine missing for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack (prettyShow arch)) >> addError
GHC | Latest `elem` tags || Recommended `elem` tags
, arch `elem` [A_64, A_32] -> lift (logError $ "Linux Alpine missing for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack (prettyShow arch))
_ -> lift $ logWarn $ "Linux Alpine missing for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack (prettyShow arch)
-- alpine needs to be set explicitly, because
-- we cannot assume that "Linux UnknownLinux" runs on Alpine
-- (although it could be static)
when (Linux Alpine `notElem` pspecs) $
case t of
GHCup | arch `elem` [A_64, A_32] -> lift (logError $ "Linux Alpine missing for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack (prettyShow arch)) >> addError
Cabal | v > [vver|2.4.1.0|]
, arch `elem` [A_64, A_32] -> lift (logError $ "Linux Alpine missing for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack (prettyShow arch)) >> addError
GHC | Latest `elem` tags || Recommended `elem` tags
, arch `elem` [A_64, A_32] -> lift (logError $ "Linux Alpine missing for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack (prettyShow arch))
_ -> lift $ logWarn $ "Linux Alpine missing for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack (prettyShow arch)
checkUniqueTags tool = do
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
@@ -145,16 +154,19 @@ validate = do
lift $ logError $ "Tags not unique for " <> T.pack (prettyShow tool) <> ": " <> T.pack (prettyShow xs)
addError
where
isUniqueTag Latest = True
isUniqueTag Recommended = True
isUniqueTag Old = False
isUniqueTag Prerelease = False
isUniqueTag (Base _) = False
isUniqueTag (UnknownTag _) = False
isUniqueTag Latest = True
isUniqueTag Recommended = True
isUniqueTag Old = False
isUniqueTag Prerelease = False
isUniqueTag LatestPrerelease = True
isUniqueTag Nightly = False
isUniqueTag LatestNightly = True
isUniqueTag (Base _) = False
isUniqueTag (UnknownTag _) = False
checkGHCVerIsValid = do
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
let ghcVers = toListOf (ix GHC % to M.keys % folded) dls
let ghcVers = toListOf (ix GHC % to M.keys % to (map _tvVersion) % folded) dls
forM_ ghcVers $ \v ->
case [ x | (x,"") <- readP_to_S V.parseVersion (T.unpack . prettyVer $ v) ] of
[_] -> pure ()
@@ -166,19 +178,28 @@ validate = do
checkMandatoryTags tool = do
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
let allTags = _viTags =<< M.elems (availableToolVersions dls tool)
forM_ [Latest, Recommended] $ \t -> case t `elem` allTags of
forM_ (mandatoryTags tool) $ \t -> case t `elem` allTags of
False -> do
lift $ logError $ "Tag " <> T.pack (prettyShow t) <> " missing from " <> T.pack (prettyShow tool)
addError
True -> pure ()
mandatoryTags tool
-- due to a quirk, even for ghcup prereleases we need the 'latest' tag
-- https://github.com/haskell/ghcup-hs/issues/891
| tool == GHCup = [Latest, Recommended]
| otherwise = case distroChannel of
MainChan -> [Latest, Recommended]
PrereleaseChan -> [LatestPrerelease]
NightlyChan -> [LatestNightly]
-- all GHC versions must have a base tag
checkGHCHasBaseVersion = do
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
let allTags = M.toList $ availableToolVersions dls GHC
forM allTags $ \(ver, _viTags -> tags) -> case any isBase tags of
False -> do
lift $ logError $ "Base tag missing from GHC ver " <> prettyVer ver
lift $ logError $ "Base tag missing from GHC ver " <> prettyVer (_tvVersion ver)
addError
True -> pure ()
@@ -210,7 +231,11 @@ validateTarballs (TarballFilter etool versionRegex) = do
ref <- liftIO $ newIORef 0
-- download/verify all tarballs
let dlis = either (const []) (\tool -> nubOrd $ dls ^.. each %& indices (maybe (const True) (==) tool) %> each %& indices (matchTest versionRegex . T.unpack . prettyVer) % (viSourceDL % _Just `summing` viArch % each % each % each)) etool
let dlis = either (const []) (\tool -> nubOrd $ dls ^.. each %& indices (maybe (const True) (==) tool)
%> each %& indices (matchTest versionRegex . T.unpack . prettyVer . _tvVersion)
% (viTestDL % _Just `summing` viSourceDL % _Just `summing` viArch % each % each % each)
)
etool
let gdlis = nubOrd $ gt ^.. each
let allDls = either (const gdlis) (const dlis) etool
when (null allDls) $ logError "no tarballs selected by filter" *> runReaderT addError ref
@@ -245,32 +270,32 @@ validateTarballs (TarballFilter etool versionRegex) = do
, DownloadFailed
, UnknownArchive
, ArchiveResult
, ContentLengthError
]
$ do
case etool of
Right (Just GHCup) -> do
tmpUnpack <- lift mkGhcupTmpDir
_ <- liftE $ download (_dlUri dli) Nothing (Just (_dlHash dli)) tmpUnpack Nothing False
_ <- liftE $ download (_dlUri dli) Nothing (Just (_dlHash dli)) Nothing (fromGHCupPath tmpUnpack) Nothing False
pure Nothing
Right _ -> do
p <- liftE $ downloadCached dli Nothing
fmap (Just . head . splitDirectories . head)
. liftE
. getArchiveFiles
$ p
fmap Just $ liftE
. getArchiveFiles
$ p
Left ShimGen -> do
tmpUnpack <- lift mkGhcupTmpDir
_ <- liftE $ download (_dlUri dli) Nothing (Just (_dlHash dli)) tmpUnpack Nothing False
_ <- liftE $ download (_dlUri dli) Nothing (Just (_dlHash dli)) Nothing (fromGHCupPath tmpUnpack) Nothing False
pure Nothing
case r of
VRight (Just basePath) -> do
VRight (Just entries) -> do
case _dlSubdir dli of
Just (RealDir prel) -> do
logInfo
$ " verifying subdir: " <> T.pack prel
when (basePath /= prel) $ do
when (normalise prel `notElem` fmap (normalise . takeDirectory) entries) $ do
logError $
"Subdir doesn't match: expected " <> T.pack prel <> ", got " <> T.pack basePath
"Subdir doesn't match: expected " <> T.pack prel
runReaderT addError ref
Just (RegexDir regexString) -> do
logInfo $
@@ -279,9 +304,9 @@ validateTarballs (TarballFilter etool versionRegex) = do
compIgnoreCase
execBlank
regexString
unless (match regex basePath) $ do
unless (or $ fmap (match regex. normalise) entries) $ do
logError $
"Subdir doesn't match: expected regex " <> T.pack regexString <> ", got " <> T.pack basePath
"Subdir doesn't match: expected regex " <> T.pack regexString
runReaderT addError ref
Nothing -> pure ()
VRight Nothing -> pure ()

View File

@@ -47,14 +47,14 @@ executable ghcup-gen
build-depends:
, aeson-pretty ^>=0.8.9
, base >=4.13 && <5
, bytestring ^>=0.10
, bytestring ^>=0.11
, containers ^>=0.6
, deepseq ^>=1.4
, filepath ^>=1.4.2.1
, ghcup ^>=0.1.17.3
, ghcup ^>=0.1.19.0
, haskus-utils-variant ^>=3.2
, libarchive ^>=3.0.3.0
, megaparsec ^>=9.0
, megaparsec >=8.0.0 && <9.3
, mtl ^>=2.2
, optics ^>=0.4
, optparse-applicative >=0.15.1.0 && <0.17
@@ -63,7 +63,7 @@ executable ghcup-gen
, regex-posix ^>=0.96
, resourcet ^>=1.2.2
, safe-exceptions ^>=0.1
, text ^>=1.2.4.0
, text ^>=2.0
, transformers ^>=0.5
, versions >=4.0.1 && <5.1
, yaml-streamly ^>=0.12.0

File diff suppressed because it is too large Load Diff

Binary file not shown.

5868
ghcup-vanilla-0.0.7.yaml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

5868
ghcup-vanilla-0.0.8.yaml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -608,5 +608,828 @@
"9.4.2"
]
}
},
"1.9.0.0": {
"A_64": {
"Darwin": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.4.3",
"9.4.4"
],
"Linux_CentOS": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.4.3",
"9.4.4"
],
"Linux_Debian": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.4.3",
"9.4.4"
],
"Linux_Fedora": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.4.3",
"9.4.4"
],
"Linux_Mint": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.4.3",
"9.4.4"
],
"Linux_Ubuntu": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.4.3",
"9.4.4"
],
"Linux_UnknownLinux": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.4.3",
"9.4.4"
],
"Windows": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.4.3",
"9.4.4"
]
},
"A_ARM64": {
"Darwin": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.4.3",
"9.4.4"
],
"Linux_UnknownLinux": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.4.3",
"9.4.4"
]
}
},
"1.9.1.0": {
"A_64": {
"Darwin": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.6",
"9.4.4"
],
"FreeBSD": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.6"
],
"Linux_CentOS": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.6",
"9.4.4"
],
"Linux_Debian": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.6",
"9.4.4"
],
"Linux_Fedora": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.6",
"9.4.4"
],
"Linux_Mint": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.6",
"9.4.4"
],
"Linux_RedHat": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.6",
"9.4.4"
],
"Linux_Ubuntu": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.6",
"9.4.4"
],
"Linux_UnknownLinux": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.6",
"9.4.4"
],
"Windows": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.6",
"9.4.4"
]
},
"A_ARM64": {
"Darwin": [
"8.10.7",
"9.2.5",
"9.2.6",
"9.4.4"
],
"Linux_UnknownLinux": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.6",
"9.4.4"
]
}
},
"1.10.0.0": {
"A_64": {
"Darwin": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.4",
"9.6.1"
],
"FreeBSD": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.7"
],
"Linux_CentOS": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.4",
"9.6.1"
],
"Linux_Debian": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.4",
"9.6.1"
],
"Linux_Fedora": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.4",
"9.6.1"
],
"Linux_Mint": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.4",
"9.6.1"
],
"Linux_RedHat": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.4",
"9.6.1"
],
"Linux_Ubuntu": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.4",
"9.6.1"
],
"Linux_UnknownLinux": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.4",
"9.6.1"
],
"Windows": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.4",
"9.6.1"
]
},
"A_ARM64": {
"Darwin": [
"8.10.7",
"9.2.7",
"9.4.4",
"9.6.1"
],
"Linux_UnknownLinux": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.4",
"9.6.1"
]
}
},
"2.0.0.0": {
"A_64": {
"Darwin": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.5",
"9.6.1"
],
"FreeBSD": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.7"
],
"Linux_CentOS": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.5",
"9.6.1"
],
"Linux_Debian": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.5",
"9.6.1"
],
"Linux_Fedora": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.5",
"9.6.1"
],
"Linux_Mint": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.5",
"9.6.1"
],
"Linux_RedHat": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.5",
"9.6.1"
],
"Linux_Ubuntu": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.5",
"9.6.1"
],
"Linux_UnknownLinux": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.5",
"9.6.1"
],
"Windows": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.5",
"9.6.1"
]
},
"A_ARM64": {
"Darwin": [
"8.10.7",
"9.2.7",
"9.4.5",
"9.6.1"
],
"Linux_UnknownLinux": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.4.5",
"9.6.1"
]
}
},
"2.0.0.1": {
"A_64": {
"Darwin": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.2.8",
"9.4.5",
"9.6.2"
],
"FreeBSD": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.7"
],
"Linux_CentOS": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.2.8",
"9.4.5",
"9.6.2"
],
"Linux_Debian": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.2.8",
"9.4.5",
"9.6.2"
],
"Linux_Fedora": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.2.8",
"9.4.5",
"9.6.2"
],
"Linux_Mint": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.2.8",
"9.4.5",
"9.6.2"
],
"Linux_RedHat": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.2.8",
"9.4.5",
"9.6.2"
],
"Linux_Ubuntu": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.2.8",
"9.4.5",
"9.6.2"
],
"Linux_UnknownLinux": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.2.8",
"9.4.5",
"9.6.2"
],
"Windows": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.2.8",
"9.4.5",
"9.6.2"
]
},
"A_ARM64": {
"Darwin": [
"8.10.7",
"9.2.7",
"9.2.8",
"9.4.5",
"9.6.2"
],
"Linux_UnknownLinux": [
"8.10.7",
"9.0.2",
"9.2.7",
"9.2.8",
"9.6.2"
]
}
},
"2.1.0.0": {
"A_64": {
"Darwin": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.6.2"
],
"FreeBSD": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.7"
],
"Linux_CentOS": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.6.2"
],
"Linux_Debian": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.6.2"
],
"Linux_Fedora": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.6.2"
],
"Linux_Mint": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.6.2"
],
"Linux_RedHat": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.6.2"
],
"Linux_Ubuntu": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.6.2"
],
"Linux_UnknownLinux": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.6.2"
],
"Windows": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.6.2"
]
},
"A_ARM64": {
"Darwin": [
"8.10.7",
"9.2.8",
"9.4.5",
"9.4.6",
"9.6.2"
],
"Linux_UnknownLinux": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.6.2"
]
}
},
"2.2.0.0": {
"A_64": {
"Darwin": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.4.7",
"9.6.2"
],
"FreeBSD": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.7"
],
"Linux_CentOS": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.4.7",
"9.6.2"
],
"Linux_Debian": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.4.7",
"9.6.2"
],
"Linux_Fedora": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.4.7",
"9.6.2"
],
"Linux_Mint": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.4.7",
"9.6.2"
],
"Linux_RedHat": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.4.7",
"9.6.2"
],
"Linux_Ubuntu": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.4.7",
"9.6.2"
],
"Linux_UnknownLinux": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.4.7",
"9.6.2"
],
"Windows": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.4.7",
"9.6.2"
]
},
"A_ARM64": {
"Darwin": [
"8.10.7",
"9.2.8",
"9.4.5",
"9.4.6",
"9.4.7",
"9.6.2"
],
"Linux_UnknownLinux": [
"8.10.7",
"9.0.2",
"9.2.8",
"9.4.5",
"9.4.6",
"9.4.7",
"9.6.2"
]
}
},
"2.3.0.0": {
"A_64": {
"Darwin": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.2",
"9.6.3"
],
"FreeBSD": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.7"
],
"Linux_CentOS": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.2",
"9.6.3"
],
"Linux_Debian": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.2",
"9.6.3"
],
"Linux_Fedora": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.2",
"9.6.3"
],
"Linux_Mint": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.2",
"9.6.3"
],
"Linux_RedHat": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.2",
"9.6.3"
],
"Linux_Ubuntu": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.2",
"9.6.3"
],
"Linux_UnknownLinux": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.2",
"9.6.3"
],
"Windows": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.2",
"9.6.3"
]
},
"A_ARM64": {
"Darwin": [
"9.2.8",
"9.4.7",
"9.6.2",
"9.6.3"
],
"Linux_UnknownLinux": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.2",
"9.6.3"
]
}
},
"2.4.0.0": {
"A_64": {
"Darwin": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"FreeBSD": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.7"
],
"Linux_CentOS": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Linux_Debian": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Linux_Fedora": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Linux_Mint": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Linux_RedHat": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Linux_Ubuntu": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Linux_UnknownLinux": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Windows": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
]
},
"A_ARM64": {
"Darwin": [
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Linux_UnknownLinux": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
]
}
}
}

Binary file not shown.