Compare commits

..

414 Commits

Author SHA1 Message Date
6949f03f17 Re-sign 2024-04-18 16:43:47 +08:00
e00c42402c Add GHC 9.6.5 proper 2024-04-18 16:43:36 +08:00
6addf3ebcd Merge branch 'javascript-unknown-ghcjs-9.10.0.20240413' into develop 2024-04-16 21:27:19 +08:00
7cd13946d3 Re-sign 2024-04-16 21:27:01 +08:00
31ef65a669 Add javascript-unknown-ghcjs-9.10.0.20240413 2024-04-16 21:18:27 +08:00
211ad0ccf9 Merge remote-tracking branch 'origin/9.6.5-release' into develop 2024-04-16 15:10:43 +08:00
Zubin Duggal
f9f996f2da Metadata for GHC 9.6.5 2024-04-16 12:27:20 +05:30
7cd74ae04c Re-sign 2024-04-16 13:26:22 +08:00
afda237897 Fix tags 2024-04-16 13:26:05 +08:00
c673aa2b6c Merge remote-tracking branch 'origin/wip/ghc-9.10' into develop 2024-04-16 13:07:56 +08:00
Ben Gamari
0022dff59c Add GHC 9.10.1-alpha3 2024-04-15 14:41:23 -04:00
51635e6c8f Remove cabal scripts 2024-04-14 17:18:56 +08:00
b6ee7bd147 Merge branch 'cabal-install-3.10.3.0-recommended' into develop 2024-04-10 17:03:52 +08:00
75ff83159f Re-sign 2024-04-10 16:46:25 +08:00
27259a5371 Set cabal 3.10.3.0 as recommended 2024-04-10 16:45:56 +08:00
dac355d04e Re-sign 2024-04-10 16:24:55 +08:00
89515a5e88 Don't do newline in tool requirement notes 2024-04-10 16:24:35 +08:00
9ff4c6722e Merge branch 'issue-182' into develop 2024-04-10 16:17:38 +08:00
7d12752e39 Add void glibc to bindist installation 2024-04-10 16:11:01 +08:00
99f30b6972 Re-sign 2024-04-10 16:08:43 +08:00
d982705683 More awesome tool requirements 2024-04-10 16:08:25 +08:00
c0e640eaf4 Merge branch 'libffi8' into develop 2024-04-10 16:04:56 +08:00
b55e19ec58 Re-sign 2024-04-10 15:37:58 +08:00
2aab4576b3 Fix libffi8 install instructions on Ubuntu
Fixes https://github.com/haskell/ghcup-hs/issues/1038
2024-04-10 15:37:29 +08:00
05dfb012c3 Merge branch 'ubuntu-16.04' into develop 2024-04-05 23:01:45 +08:00
b104b36a89 Add Ubuntu 16.04 to bindist action 2024-04-05 22:49:12 +08:00
3122e40551 Re-sign 2024-04-05 22:45:07 +08:00
669b5f2c7a Fix ubuntu-16.04 support 2024-04-05 22:44:01 +08:00
c9dae0c587 Re-sign 2024-03-30 22:45:48 +08:00
9c91a1db9d Set stack-2.15.5 as recommended 2024-03-30 22:45:25 +08:00
dc922fdaf7 Re-sign 2024-03-30 15:39:09 +08:00
96270a6e47 Bump reecommended GHC in vanilla 2024-03-30 15:38:54 +08:00
fb62effd61 Merge branch 'cabal-install-3.10.3.0-vanilla' into develop 2024-03-30 15:35:56 +08:00
ad7dfb2577 Re-sign 2024-03-30 15:31:37 +08:00
f2a0f90504 Add cabal-install-3.10.3.0 to vanilla channels 2024-03-30 15:31:36 +08:00
20bc3d5321 Merge branch 'stack-2.15.5' into develop 2024-03-30 15:19:41 +08:00
eb5db9a12b Re-sign 2024-03-30 15:14:54 +08:00
80bd6f4e01 Add stack-2.15.5 2024-03-30 15:14:43 +08:00
2022a078ba Merge branch 'ghc-9.10.1-alpha2' into develop 2024-03-30 15:08:27 +08:00
98bf80ea7c Re-sign 2024-03-30 14:55:14 +08:00
237788718c Fix tags in prereleases 2024-03-30 14:55:14 +08:00
b9809328e8 Make sure GHC prerelease pipeline works 2024-03-30 14:55:14 +08:00
Ben Gamari
8d3f759a52 Re-sign 2024-03-29 16:39:02 -04:00
Ben Gamari
159705f7d2 Add GHC 9.10.1-alpha2 2024-03-29 16:06:24 -04:00
7cf8f08ab5 Re-sign 2024-03-29 15:59:52 +08:00
6471d04eca Merge remote-tracking branch 'origin/stack-2.15.5' into develop 2024-03-29 15:59:34 +08:00
Mike Pilgrem
986c42c23d Re #191 Add metadata on release of Stack 2.15.5 2024-03-29 00:02:38 +00:00
cca49a2e02 Re-sign 2024-03-21 23:55:31 +08:00
1a8dd34c9c Merge remote-tracking branch 'origin/pr/190' into develop 2024-03-21 23:55:07 +08:00
Mike Pilgrem
0aeed7fce1 Add Stack 2.15.4.1 pre-release to GHCup metadata 2024-03-21 11:54:22 +00:00
6364364dac Merge branch 'cabal-3.10.3.0' into develop 2024-03-20 00:15:05 +08:00
38aaac1e7c Re-sign 2024-03-20 00:06:26 +08:00
14c047a815 Fix mint 19 2024-03-20 00:06:11 +08:00
ca852c7689 Re-sign 2024-03-19 23:59:51 +08:00
199c9883aa Fix 0.0.7 2024-03-19 23:59:40 +08:00
98ffebe604 Re-sign 2024-03-19 23:55:27 +08:00
7d12142865 Add cabal 3.10.3.0 2024-03-19 23:55:04 +08:00
7188f45251 Re-sign 2024-03-19 20:44:56 +08:00
3c5c69c484 Merge remote-tracking branch 'origin/pr/187' into develop 2024-03-19 20:44:36 +08:00
amesgen
99b460e5f7 Add ghc-9.10.0.20240313-wasm32-wasi 2024-03-19 00:34:52 +01:00
8b6dfe1726 Re-sign 2024-03-15 01:12:21 +08:00
d098409897 Merge remote-tracking branch 'origin/pr/186' into develop 2024-03-15 01:04:19 +08:00
Ben Gamari
1d39781039 Add GHC 9.10.1-alpha1 2024-03-14 11:09:35 -04:00
2e40f18b3f Re-sign 2024-03-13 21:18:55 +08:00
6e8925c6e2 Update GHCup in vanilla channel too 2024-03-13 21:18:37 +08:00
1b60a75363 Use latest bootstrap script 2024-03-13 21:06:20 +08:00
a200e133ef Fix CI 2024-03-13 21:02:45 +08:00
e0f04e5382 Merge branch 'update-ghcup' into develop 2024-03-13 21:00:37 +08:00
c996fb58db Re-sign 2024-03-13 20:58:16 +08:00
29ddd6df49 Update ghcup to 0.1.22.0 2024-03-13 20:57:44 +08:00
e3af73ea0e Re-sign 2024-03-13 12:42:31 +08:00
fef02e86ec Add stack 2.15.3 2024-03-13 12:41:56 +08:00
204be22f1d Re-sign 2024-03-13 10:45:36 +08:00
df3c6da761 Merge remote-tracking branch 'origin/pr/185' into develop 2024-03-13 10:45:22 +08:00
Fendor
ca2685f24d Bump recommended HLS version 2024-03-11 18:38:53 +01:00
aedc11e4fb Re-sign 2024-03-11 17:14:30 +08:00
ab4fd8cc5e Merge remote-tracking branch 'origin/pr/184' into develop 2024-03-11 17:07:22 +08:00
Mike Pilgrem
0b6aaed91b Fix #183 Add metadata on release of Stack 2.15.3 2024-03-07 20:23:38 +00:00
74461fa3eb Re-sign 2024-03-02 16:28:14 +08:00
203a1b94e6 Add pre-install messages to cross bindists 2024-03-02 16:27:51 +08:00
2c1774d54d Re-sign 2024-03-02 13:09:54 +08:00
f39585c4cd Merge remote-tracking branch 'origin/pr/173' into develop 2024-03-02 12:49:23 +08:00
df9a1823da Re-sign 2024-03-02 10:16:37 +08:00
8e2325be15 Update hls-metadata 2024-03-02 10:16:20 +08:00
4970bda020 Merge branch 'HLS-2.7.0.0' into develop 2024-03-02 00:32:24 +08:00
970c2bf6fa Fix HLS test 2024-03-02 00:13:21 +08:00
eb4a09e61c Re-sign 2024-03-02 00:07:10 +08:00
900bd360fe Add HLS 2.7.0.0 2024-03-02 00:05:46 +08:00
f2f8784adf Update bindist workflow 2024-03-02 00:04:08 +08:00
d55e426431 Re-sign 2024-03-01 00:32:42 +08:00
487d818c4b Fix FreeBSD 9.2.8 GHC bindists
Resolves the HSC2HS_EXTRA bug manually.
2024-03-01 00:32:33 +08:00
bef4f9cdeb Re-sign 2024-02-29 16:23:10 +08:00
cac4281b4e Merge remote-tracking branch 'origin/hls/2.7.0.0' 2024-02-29 16:07:16 +08:00
195a8db791 Merge remote-tracking branch 'origin/wip/ghc-9.8.2-fixes' 2024-02-29 16:05:46 +08:00
Zubin Duggal
ceddc91bbb Resign 2024-02-27 11:59:14 +05:30
Fendor
e2510ee0a5 Sign vanilla channel signatures 2024-02-27 11:59:05 +05:30
Fendor
0b9211ee4a Add Vanilla Bindists for HLS 2.7.0.0 2024-02-27 11:58:54 +05:30
Zubin Duggal
54b32c287a Fix test bindist 2024-02-26 16:27:09 +05:30
Zubin Duggal
a4f1e138df Fix vanilla metadata for aarch64-alpine on 9.8.2 2024-02-26 14:19:24 +05:30
d345ae6edd Merge remote-tracking branch 'origin/develop' 2024-02-25 18:44:46 +08:00
3679dde28e Don't test for manpage on windows 2024-02-25 18:29:37 +08:00
de91dadf5f Re-sign 2024-02-25 18:10:05 +08:00
fb1102a779 Use unofficial bindists with fixed manpages 2024-02-25 18:09:43 +08:00
7bb3e8dab8 Re-sign 2024-02-24 19:29:26 +08:00
ba379f1545 Add GHC 9.8.2 2024-02-24 19:29:09 +08:00
80e1d2443f Check for GHC manpage existence
Wrt https://github.com/haskell/ghcup-hs/issues/990
2024-02-24 19:27:40 +08:00
wz1000
a994cb2632 Merge pull request #175 from haskell/develop
merge 9.8.2 release into master
2024-02-23 16:29:41 +05:30
wz1000
7c4d1fbec7 Merge pull request #174 from haskell/wip/ghc-9.8.2
Add metadata for GHC 9.8.2
2024-02-23 16:13:06 +05:30
Zubin Duggal
dfdf0d8de5 update
Signed-off-by: Zubin Duggal <zubin.duggal@gmail.com>
2024-02-23 16:12:03 +05:30
Zubin Duggal
e065282f9c Add metadata for GHC 9.8.2
Signed-off-by: Zubin Duggal <zubin.duggal@gmail.com>
2024-02-23 16:07:48 +05:30
Cheng Shao
9be7c1cd8b Update wasm bindists 2024-02-21 00:11:22 +00:00
13878c1718 Merge branch 'stack-2.15.1' into develop 2024-02-11 21:20:29 +08:00
df03513b8f Re-sign 2024-02-11 21:17:04 +08:00
805da33550 Update for stack 2.15.1 2024-02-11 21:16:51 +08:00
Mike Pilgrem
2bc225772c Add metadata on release of Stack 2.15.1 2024-02-11 21:14:28 +08:00
d7770f9e23 Fix FreeBSD stack 2024-02-10 14:12:26 +08:00
f8e0ec9b12 Remove cabal foo 2024-02-03 17:06:25 +08:00
6c6e2241bb Add FreeBSD to bindist install action 2024-02-03 17:03:45 +08:00
f6ef3672ba Re-sign 2024-01-29 13:30:46 +08:00
cf678f25a0 Update ghcup-prereleases-0.0.7.yaml as well 2024-01-29 13:30:29 +08:00
8d715cf0a5 Merge branch 'stack-2.15.0.1' into develop 2024-01-29 13:29:50 +08:00
Mike Pilgrem
0404f1bee5 Add Stack 2.15.0.1 pre-release to GHCup metadata 2024-01-28 17:42:37 +00:00
441cf7328f Merge branch 'hls-2.6.0.0-ghcup' into develop 2024-01-26 15:38:52 +08:00
5d2a8921b1 Update hls-metadata-0.0.1.json 2024-01-26 15:35:35 +08:00
66c91f75b1 Release HLS 2.6.0.0 2024-01-26 15:19:58 +08:00
5771daa5f1 Update for newer ghcup 2024-01-22 16:13:05 +08:00
wz1000
a6c8849dcb Merge pull request #166 from haskell/wip/hls-2.6.0.0
HLS 2.6.0.0
2024-01-15 22:57:36 +05:30
Zubin Duggal
3c173efdc4 HLS 2.6.0.0 2024-01-15 22:16:48 +05:30
487b049ae1 Re-sign 2024-01-10 00:43:08 +08:00
75abeb4731 Add stack-2.13.1 FreeBSD binary 2024-01-10 00:42:46 +08:00
ff8aa8a0dd Add GHC 9.6.4 2024-01-10 00:38:21 +08:00
wz1000
2bfdba63c9 Merge pull request #165 from haskell/9.6.4-release
Metadata for GHC 9.6.4
2024-01-09 15:09:10 +05:30
Zubin Duggal
3ecc0fb399 identifiers 2024-01-09 14:54:43 +05:30
Zubin Duggal
147e54ae6c Metadata for GHC 9.6.4 2024-01-09 14:28:55 +05:30
ec519eb080 Re-sign 2024-01-04 21:36:35 +08:00
4f3a14ed90 Fix format for older ghcup versions 2024-01-04 21:36:21 +08:00
703e930808 Re-sign 2024-01-04 20:19:20 +08:00
41fe6ba6f0 Optimize unknown_version to always use static binary 2024-01-04 20:18:53 +08:00
8ac41d2124 Re-sign 2024-01-04 20:14:15 +08:00
dd975d630a Distribute cabal-3.10.2.1 and set it as recommended 2024-01-04 20:12:21 +08:00
582ffbc09f Re-sign 2024-01-04 14:52:49 +08:00
0471ccf394 Set 3.10.2.0 as recommended to unbreak windows
Related:

* https://github.com/haskell/ghcup-hs/issues/966

We bump this, although 'cabal run' is known to be broken
on windows: https://github.com/haskell/cabal/issues/9334

However, backporting more patches to 3.6 is not sustainable.
Initially, I tried to backport
https://github.com/haskell/cabal/pull/8071,
but it's not clear whether that is the only thing that causes
compatibility issues with GHC 9.4 and might drive us into
an awkward situation as well.
2024-01-04 14:49:18 +08:00
fbc0843e53 Revert "Add cabal-3.6.2.0-p2"
This reverts commit 015db18a25.
2024-01-04 14:47:14 +08:00
cfa97b75bf Merge branch 'cabal-3.6.2.0-p2' into develop 2024-01-03 23:54:33 +08:00
0c2846b037 Re-sign 2024-01-03 23:53:24 +08:00
015db18a25 Add cabal-3.6.2.0-p2 2024-01-03 23:53:17 +08:00
9ebb937b37 Test that building hashable works 2024-01-03 23:49:21 +08:00
25f6f8cfad Re-sign 2023-12-26 23:00:37 +08:00
14d47470ca Merge branch 'recommended-stack-2.13.1' into develop 2023-12-26 23:00:20 +08:00
0bc52f0cf3 Re-sign 2023-12-26 22:21:59 +08:00
2b84274a65 Set stack 2.13.1 as recommended 2023-12-26 22:21:38 +08:00
c63fd65f90 Re-sign 2023-12-26 22:02:33 +08:00
a4fbe645e3 Bump GHC/HLS recommended versions 2023-12-26 22:02:12 +08:00
7e1a50cfff Re-sign 2023-12-03 23:22:12 +08:00
cb7d0c2f75 Switch alpine x86_64 bindists for GHC 9.2.8 and 9.6.3 to dynamic ones 2023-12-03 23:20:14 +08:00
e54435c057 Add missing alpine i386 bindists for GHC 9.2.8, 9.4.8, 9.6.3 and 9.8.1 2023-12-03 23:18:27 +08:00
95c57ba3e4 Sign 2023-12-02 02:53:15 +08:00
f2c6c71cf0 Update hls-metadata 2023-12-02 02:53:00 +08:00
2f761fc6fd Re-sign 2023-12-02 02:44:32 +08:00
a4bc77356f Release HLS 2.5.0.0 2023-12-02 02:44:08 +08:00
wz1000
f3264e2554 Merge pull request #159 from haskell/wip/hls-2.5.0.0
HLS 2.5.0.0
2023-12-01 05:27:50 -08:00
Zubin Duggal
54bd184feb HLS 2.5.0.0 2023-12-01 17:54:04 +05:30
Zubin Duggal
f413a1847b Update bindist job to use fedora 37 instead of 36 2023-11-30 13:34:26 +05:30
9a02e03efa Re-sign 2023-11-28 00:07:42 +08:00
aec5468b14 Fix GHC 9.6.1 test suite dlSubdir 2023-11-28 00:07:06 +08:00
69cec748d2 Re-sign 2023-11-28 00:00:16 +08:00
7f8a37de45 Add FreeBSD GHC 9.8.1 2023-11-27 23:59:59 +08:00
779120126e Re-sign 2023-11-27 22:49:05 +08:00
af900f6ff0 Add FreeBSD bindist for GHC-9.6.3 2023-11-27 22:47:17 +08:00
1fc03b2c69 Fix test bindist for GHC-9.8.1 2023-11-27 22:47:02 +08:00
dea08aac35 Fix GHC 9.6.3 test bindist 2023-11-27 22:42:41 +08:00
80b933b01b Fix test suite hast for GHC-9.4.8 2023-11-27 22:36:22 +08:00
82d1fda68b Add FreeBSD GHC 9.4.8 2023-11-27 22:07:10 +08:00
96bf980545 Add FreeBSD GHC 9.2.8 2023-11-27 21:38:06 +08:00
b20ad626e5 Fix source tarball hash for GHC 9.4.8 2023-11-27 21:34:52 +08:00
cb3428749a Fix cabal-install-3.10.2.0 on FreeBSD 2023-11-27 21:33:43 +08:00
178aaaaa23 Fix ghcup-0.0.7.yaml 2023-11-18 00:28:01 +08:00
c489e5198e Merge branch 'cabal-3.6.2.1' into develop 2023-11-18 00:12:58 +08:00
1936f88d5f Sign 2023-11-17 23:03:57 +08:00
578dc5e6d2 Use 3.6.2.0-p1 to mark it a distributor release 2023-11-17 23:03:31 +08:00
286d447f3d Sign 2023-11-17 22:34:16 +08:00
68b424fff3 Add cabal distributor release 3.6.2.1
And warn when installing vulnerable cabal versions.
2023-11-17 22:32:55 +08:00
dc6d43ddba Update ghcup-gen 2023-11-17 22:24:19 +08:00
174ff702a5 Set cabal version for installation to 3.6.2.0 2023-11-17 21:31:15 +08:00
6e3fef8e15 Build armv7 bindists for deb10 2023-11-17 21:25:24 +08:00
fae0dc57ee Fix release scripts 2023-11-17 21:23:02 +08:00
befd7b563e Add cabal release scripts 2023-11-17 21:00:12 +08:00
15dec1bfe8 Fix cirrus 2023-11-17 20:46:41 +08:00
bbd150a777 Comment 2023-11-17 20:27:56 +08:00
567fdeba31 Cirrus task is manual 2023-11-17 20:23:13 +08:00
44c4df7024 Merge branch 'wip/cabal-install-v3.6.2.0-p1' into develop 2023-11-17 20:21:53 +08:00
f755827e5e Add cirrus 2023-11-17 20:21:35 +08:00
a5bc56c914 Build clock for GHC bindist test 2023-11-17 19:05:41 +08:00
601b3e8d33 Sign 2023-11-17 18:26:19 +08:00
eb717c5a12 Add GHC 9.2.8 armv7 2023-11-17 18:25:45 +08:00
48e58345b0 Revert 9.2.8 armv7 for now, since linking is broken 2023-11-17 01:56:25 +08:00
407cc0fafe Sign 2023-11-17 01:41:41 +08:00
6b3f8f0732 Distribute 9.2.8 armv7 bindists that actually work 2023-11-17 01:41:31 +08:00
f6de249dc1 Re-sign 2023-11-16 22:13:18 +08:00
b928b5e0dd Add armv7 for GHC 9.2.8 2023-11-16 22:10:51 +08:00
999be172de Try to bump GHC versions for cabal build 2023-11-16 21:45:09 +08:00
67885734c9 Allow our own cabal-install bindist builds 2023-11-16 21:13:08 +08:00
988dcdac63 Improve metadata docs 2023-11-14 21:24:26 +08:00
0f13265d12 Merge remote-tracking branch 'origin/pr/152' into develop 2023-11-13 17:49:31 +08:00
Bryan Richter
967d4a81ab Point to the user guide re: cross compiling 2023-11-13 11:30:51 +02:00
b81e05d21e Sign 2023-11-13 14:36:20 +08:00
a586bd5dba Fix anchors in ghcup-cross-0.0.8 2023-11-13 14:35:49 +08:00
a1a80e41c9 Update ghcup prereleases yaml version 2023-11-12 18:24:08 +08:00
e9cc5626cb Remove ghcup from prereleases 2023-11-12 18:23:36 +08:00
cb09653a1b Update wasm cross bindists wrt #149 2023-11-12 18:20:39 +08:00
7bf64b363e Merge branch 'debian-unstable' into develop 2023-11-12 15:55:48 +08:00
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
42 changed files with 24720 additions and 229 deletions

28
.github/scripts/brew.sh vendored Normal file
View File

@@ -0,0 +1,28 @@
#!/bin/sh
set -eux
# shellcheck disable=SC1091
. .github/scripts/env.sh
if [ -e "$HOME/.brew" ] ; then
(
cd "$HOME/.brew"
git fetch --depth 1
git reset --hard origin/master
)
else
git clone --depth=1 https://github.com/Homebrew/brew "$HOME/.brew"
fi
export PATH="$HOME/.brew/bin:$HOME/.brew/sbin:$PATH"
mkdir -p "$CI_PROJECT_DIR/.brew_cache"
export HOMEBREW_CACHE="$CI_PROJECT_DIR/.brew_cache"
mkdir -p "$CI_PROJECT_DIR/.brew_logs"
export HOMEBREW_LOGS="$CI_PROJECT_DIR/.brew_logs"
mkdir -p /private/tmp/.brew_tmp
export HOMEBREW_TEMP=/private/tmp/.brew_tmp
#brew update
brew install ${1+"$@"}

66
.github/scripts/build.sh vendored Normal file
View File

@@ -0,0 +1,66 @@
#!/bin/bash
set -eux
# shellcheck disable=SC1091
. .github/scripts/env.sh
# shellcheck disable=SC1091
. .github/scripts/common.sh
uname -a
uname -p
uname
pwd
env
# ensure ghcup
install_ghcup
# build
ghcup install ghc "${GHC_VERSION}"
ghcup set ghc "${GHC_VERSION}"
sed -i.bak -e '/DELETE MARKER FOR CI/,/END DELETE/d' cabal.project # see comment in cabal.project
ecabal update
ecabal user-config diff
ecabal user-config init -f
"ghc-${GHC_VERSION}" --info
"ghc" --info
# https://github.com/haskell/cabal/issues/7313#issuecomment-811851884
if [ "$(getconf LONG_BIT)" == "32" ] || [ "${DISTRO}" == "CentOS" ] ; then
echo 'constraints: lukko -ofd-locking' >> cabal.project.release.local
fi
# shellcheck disable=SC2206
args=(
-w "ghc-$GHC_VERSION"
--disable-profiling
--enable-executable-stripping
--project-file=cabal.project.release
${ADD_CABAL_ARGS}
)
run cabal v2-build "${args[@]}" cabal-install
mkdir -p "$CI_PROJECT_DIR/out"
# shellcheck disable=SC2154
cp "$(cabal list-bin "${args[@]}" cabal-install:exe:cabal)" "$CI_PROJECT_DIR/out/cabal$ext"
cp dist-newstyle/cache/plan.json "$CI_PROJECT_DIR/out/plan.json"
cd "$CI_PROJECT_DIR/out/"
# create tarball/zip
TARBALL_PREFIX="cabal-install-$("$CI_PROJECT_DIR/out/cabal" --numeric-version)"
case "${TARBALL_EXT}" in
zip)
zip "${TARBALL_PREFIX}-${ARTIFACT}.${TARBALL_EXT}" "cabal${ext}" plan.json
;;
tar.xz)
tar caf "${TARBALL_PREFIX}-${ARTIFACT}.${TARBALL_EXT}" "cabal${ext}" plan.json
;;
*)
fail "Unknown TARBALL_EXT: ${TARBALL_EXT}"
;;
esac
rm cabal plan.json

110
.github/scripts/common.sh vendored Normal file
View File

@@ -0,0 +1,110 @@
#!/bin/bash
# shellcheck disable=SC1091
. .github/scripts/env.sh
# Colors
RED="0;31"
LT_BROWN="1;33"
LT_BLUE="1;34"
ecabal() {
cabal "$@"
}
nonfatal() {
"$@" || "$* failed"
}
sha_sum() {
if [ "${RUNNER_OS}" = "FreeBSD" ] ; then
sha256 "$@"
else
sha256sum "$@"
fi
}
git_describe() {
git config --global --get-all safe.directory | grep '^\*$' || git config --global --add safe.directory "*"
git describe --always
}
install_ghcup() {
# find "$GHCUP_INSTALL_BASE_PREFIX"
mkdir -p "$GHCUP_BIN"
mkdir -p "$GHCUP_BIN"/../cache
if [ "${RUNNER_OS}" = "FreeBSD" ] ; then
curl -o ghcup https://downloads.haskell.org/ghcup/tmp/x86_64-portbld-freebsd-ghcup-0.1.18.1
chmod +x ghcup
mv ghcup "$HOME/.local/bin/ghcup"
else
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_MINIMAL=1 sh
source "$(dirname "${GHCUP_BIN}")/env"
ghcup install cabal --set "${BOOTSTRAP_HASKELL_CABAL_VERSION}"
fi
}
strip_binary() {
(
set -e
local binary=$1
case "$(uname -s)" in
"Darwin"|"darwin")
;;
MSYS_*|MINGW*)
;;
*)
strip -s "${binary}"
;;
esac
)
}
# GitLab Pipelines log section delimiters
# https://gitlab.com/gitlab-org/gitlab-foss/issues/14664
start_section() {
name="$1"
echo -e "section_start:$(date +%s):$name\015\033[0K"
}
end_section() {
name="$1"
echo -e "section_end:$(date +%s):$name\015\033[0K"
}
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; }
run() {
info "Running $*..."
"$@" || ( error "$* failed"; return 1; )
}
emake() {
if command -v gmake >/dev/null 2>&1 ; then
gmake "$@"
else
make "$@"
fi
}
mktempdir() {
case "$(uname -s)" in
"Darwin"|"darwin")
mktemp -d -t cabal_ci.XXXXXXX
;;
*)
mktemp -d
;;
esac
}

38
.github/scripts/env.sh vendored Normal file
View File

@@ -0,0 +1,38 @@
#!/bin/bash
mkdir -p "$HOME"/.local/bin
if [ "${RUNNER_OS}" = "Windows" ] ; then
ext=".exe"
else
# shellcheck disable=SC2034
ext=''
fi
export PATH="$HOME/.local/bin:$PATH"
export BOOTSTRAP_HASKELL_NONINTERACTIVE=1
export BOOTSTRAP_HASKELL_CABAL_VERSION="${CABAL_VER:-3.6.2.0-p2}"
export BOOTSTRAP_HASKELL_ADJUST_CABAL_CONFIG=no
export BOOTSTRAP_HASKELL_INSTALL_NO_STACK=yes
export BOOTSTRAP_HASKELL_ADJUST_BASHRC=1
if [ "${RUNNER_OS}" = "Windows" ] ; then
# on windows use pwd to get unix style path
CI_PROJECT_DIR="$(pwd)"
export CI_PROJECT_DIR
export GHCUP_INSTALL_BASE_PREFIX="/c"
export GHCUP_BIN="$GHCUP_INSTALL_BASE_PREFIX/ghcup/bin"
export PATH="$GHCUP_BIN:$PATH"
export CABAL_DIR="C:\\Users\\runneradmin\\AppData\\Roaming\\cabal"
else
export CI_PROJECT_DIR="${GITHUB_WORKSPACE}"
export GHCUP_INSTALL_BASE_PREFIX="$CI_PROJECT_DIR"
export GHCUP_BIN="$GHCUP_INSTALL_BASE_PREFIX/.ghcup/bin"
export PATH="$GHCUP_BIN:$PATH"
export CABAL_DIR="$CI_PROJECT_DIR/cabal"
export CABAL_CACHE="$CI_PROJECT_DIR/cabal-cache"
fi
export DEBIAN_FRONTEND=noninteractive
export TZ=Asia/Singapore

View File

@@ -3,10 +3,6 @@ defaults:
run:
shell: bash
on:
pull_request:
types: [opened]
issue_comment:
types: [created]
workflow_dispatch:
inputs:
tool:
@@ -20,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
@@ -29,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 }}
@@ -40,15 +42,21 @@ 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:12
installCmd: apt-get update && apt-get install -y
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:16.04
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi6 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
- 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
@@ -64,18 +72,27 @@ jobs:
- 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
- image: fedora:37
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
- image: linuxmintd/mint20.3-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.3-amd64
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
- image: ghcr.io/void-linux/void-glibc-full:latest
installCmd: xbps-install -Suy && xbps-install -y
toolRequirements: binutils curl gcc gmp-devel glibc-devel libffi-devel make ncurses-devel ncurses-libtinfo-libs perl tar xz
container:
image: ${{ matrix.image }}
steps:
@@ -115,9 +132,9 @@ jobs:
fail-fast: false
matrix:
include:
- os: [self-hosted, Linux, ARM64, aarch32-linux]
- os: [self-hosted, Linux, ARM64, maerwald]
ARCH: ARM
- os: [self-hosted, Linux, ARM64]
- os: [self-hosted, Linux, ARM64, maerwald]
ARCH: ARM64
steps:
- uses: docker://arm64v8/ubuntu:focal
@@ -143,3 +160,83 @@ jobs:
name: Run build (aarch64 linux)
with:
args: sh -c '.github/workflows/install-bindist.sh'
bindist-install-freebsd:
name: Install FreeBSD binary
runs-on: [self-hosted, FreeBSD, X64]
steps:
- uses: actions/checkout@v3
- name: Run build
run: .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

@@ -2,25 +2,41 @@
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
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/haskell/ghcup-hs/master/scripts/bootstrap/bootstrap-haskell | 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
# oh no
if [ "${TOOL}" = "hls" ] ; then
ghcup -v --url-source=file:$METADATA_FILE install ghc --set 9.2.4
fi
ghcup_fun() {
case "$(uname -s)" in
MSYS_*|MINGW*)
ghcup -v --url-source="file:${GITHUB_WORKSPACE//\\//}/$METADATA_FILE" "$@"
;;
*)
ghcup -v --url-source="file://${GITHUB_WORKSPACE}/$METADATA_FILE" "$@"
;;
esac
}
ghcup -v --url-source=file:$METADATA_FILE install $TOOL --set $VERSION
case $TOOL in
ghcup)
ghcup_fun upgrade --force
;;
*) ghcup_fun install "$TOOL" --set "$VERSION"
;;
esac
mkdir -p /tmp/install-bindist-ci
cd /tmp/install-bindist-ci
trap 'rm -rf -- /tmp/install-bindist-ci' EXIT
cat <<EOF > main.hs
{- cabal:
build-depends: base
@@ -30,17 +46,96 @@ 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}"
}
# 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
ghcup_fun install ghc --set recommended
"$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
ghc --info
ghc -prof main.hs
[[ $(./main +RTS -s) -eq 2 ]]
ghcup install cabal recommended
cabal --version
cabal update
case "${CHANNEL}" in
Prerelease|prereleasee)
cabal install --lib --package-env=. --allow-newer clock
# https://github.com/haskell/ghcup-hs/issues/966
cabal install --lib --package-env=. --allow-newer --constraint='filepath <1.5' hashable
;;
*)
cabal install --lib --package-env=. clock
# https://github.com/haskell/ghcup-hs/issues/966
cabal install --lib --package-env=. hashable
;;
esac
case "$(uname -s)" in
MSYS_*|MINGW*)
;;
*)
[[ -e "$(ghcup whereis --directory ghc "$VERSION")/../share/man/man1/ghc.1" ]]
;;
esac
;;
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

@@ -19,7 +19,7 @@ jobs:
cabal:
- '3.6.2.0'
os:
- ubuntu-latest
- ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v2
@@ -58,6 +58,13 @@ jobs:
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

4
.gitignore vendored
View File

@@ -12,6 +12,6 @@ tags
TAGS
/tmp/
.entangled
release/
releases/
/release/
/releases/
site/

View File

@@ -1,6 +1,34 @@
# 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 experimental cross compilers. See https://www.haskell.org/ghcup/guide/#cross-support for details.
### 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
```
If you want **only** vanilla upstream bindists and opt out of all unofficial stuff, you'd run:
```sh
ghcup config set url-source https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-vanilla-0.0.8.yaml
```
Also check the [config.yaml documentation](https://github.com/haskell/ghcup-hs/blob/master/data/config.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 +39,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

@@ -7,13 +7,13 @@ package ghcup
source-repository-package
type: git
location: https://github.com/haskell/ghcup-hs.git
tag: v0.1.19.0
tag: 91ef2c7666d118bc6bd7d2fc2eeb7754081a9f3d
constraints: http-io-streams -brotli,
any.aeson >= 2.0.1.0
package libarchive
flags: -system-libarchive
flags: +system-libarchive
package aeson-pretty
flags: +lib-only

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -2569,53 +2569,56 @@ 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.19.0:
0.1.22.0:
viTags:
- Recommended
- Latest
viChangeLog: https://github.com/haskell/ghcup-hs/blob/master/CHANGELOG.md
viSourceDL:
dlUri: https://downloads.haskell.org/~ghcup/0.1.22.0/ghcup-0.1.22.0-src.tar.gz
dlSubdir: ghcup-0.1.22.0
dlHash: 8309058a58e7b65e41cf045e555fd2f4e9e651c32d85c63fef09330b827d2478
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-linux-ghcup-0.1.19.0
dlHash: 33ee6a758ee06e3b520be176905e6192e31f5fa2e2acdc525b1bea77ca368a12
dlUri: https://downloads.haskell.org/~ghcup/0.1.22.0/x86_64-linux-ghcup-0.1.22.0
dlHash: bf213f4dfd2271b46ca52e2f14e96850ce32e9115e5acc90f1dc5a4e815e32af
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-apple-darwin-ghcup-0.1.19.0
dlHash: 416de8509092fd95f97ee19a5f3def91fbd6e6fa4fa630a5c5e7226f49a83af7
dlUri: https://downloads.haskell.org/~ghcup/0.1.22.0/x86_64-apple-darwin-ghcup-0.1.22.0
dlHash: e588fe2c6a065afb56eca257c4ff19b83f192e95ee74d9601976ce5c05991b06
FreeBSD:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-portbld-freebsd-ghcup-0.1.19.0
dlHash: dadf49f8ac045946ccea7369d0c80cf3a5221b2282d8f9943cc3dc86e8516a62
dlUri: https://downloads.haskell.org/~ghcup/0.1.22.0/x86_64-portbld-freebsd-ghcup-0.1.22.0
dlHash: ce87fcebd2db01adcb3e57635e611437a96dd8ba98932a436f45ac71c4ae2e8a
Windows:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/x86_64-mingw64-ghcup-0.1.19.0.exe
dlHash: c4e4a764b0844e351eb6939ff236452f33c34808aaca69f973ea82e18d3aa1ac
dlUri: https://downloads.haskell.org/~ghcup/0.1.22.0/x86_64-mingw64-ghcup-0.1.22.0.exe
dlHash: 92d3827cd369112a7e3c328807e1748db8da3df1661227d473d4cf019fb01e46
Linux_Alpine:
unknown_versioning: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/i386-linux-ghcup-0.1.19.0
dlHash: 0308ebed4431241ef2886a9d374feb20a795d97ef3a24dd38b6bc7dd69e81e53
dlUri: https://downloads.haskell.org/~ghcup/0.1.22.0/i386-linux-ghcup-0.1.22.0
dlHash: 1fd4fa989653a127d33f90cb4cc11fd024ea4085e795c0b0f6ed97afc5e8b634
Linux_Alpine:
unknown_versioning: *ghcup-32
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/aarch64-linux-ghcup-0.1.19.0
dlHash: a546dcd23a7e56f31bc4d6afad0276f88d3f0b850a3d3c36369721797dc3c3d5
dlUri: https://downloads.haskell.org/~ghcup/0.1.22.0/aarch64-linux-ghcup-0.1.22.0
dlHash: 3eda556959462579b73558616646c9fc01a583acc7a4611bb21a32706deae142
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/aarch64-apple-darwin-ghcup-0.1.19.0
dlHash: 69bd8e37cd07606d928dca9215c066564a264e0def3c81171b76d5747dc6507c
dlUri: https://downloads.haskell.org/~ghcup/0.1.22.0/aarch64-apple-darwin-ghcup-0.1.22.0
dlHash: d39a8dbbd6d76ce87ad91cee6ecc9c680af5339ab25e8789af5b7e717564fc95
A_ARM:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.0/armv7-linux-ghcup-0.1.19.0
dlHash: 58a170c1fb0b4e701ebb40f90a23f6ababe9e61291726aad82e18d4649aed908
dlUri: https://downloads.haskell.org/~ghcup/0.1.22.0/armv7-linux-ghcup-0.1.22.0
dlHash: 7c66253e52c5fb627a4d4b203a69e69f4d7732348ad6a830a41d7e2d79a61c5d
HLS:
1.1.0:
viTags:

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

7470
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.

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

@@ -0,0 +1,124 @@
---
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
javascript-unknown-ghcjs-9.10.0.20240413:
viTags:
- base-4.20.0.0
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/javascript-unknown-ghcjs-9.10.0.20240413/ghc-javascript-unknown-ghcjs-9.10.0.20240413-x86_64-linux-rocky-8.9-2024-04-16-dc318739.tar.xz
dlSubdir: ghc-9.10.0.20240413-javascript-unknown-ghcjs
dlHash: dc318739b1ec4f1051dd4b38793b5fbc8eb4dea56b6177d1fe212edcf9e28b30
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/javascript-unknown-ghcjs-9.10.0.20240413/ghc-javascript-unknown-ghcjs-9.10.0.20240413-x86_64-darwin-2024-04-16-a819da18.tar.xz
dlSubdir: ghc-9.10.0.20240413-javascript-unknown-ghcjs
dlHash: a819da1875e9763da5732c37dc7f36eb6e9eb6d33ddc6ea11894df9cfa18a6ee
A_ARM64:
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/javascript-unknown-ghcjs-9.10.0.20240413/ghc-javascript-unknown-ghcjs-9.10.0.20240413-aarch64-darwin-2024-04-16-c946719b.tar.xz
dlSubdir: ghc-9.10.0.20240413-javascript-unknown-ghcjs
dlHash: c946719b31f9249e899fdc15351b86a4297e66857ce4063743b1bcbd62cf9e0e
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/javascript-unknown-ghcjs-9.10.0.20240413/ghc-javascript-unknown-ghcjs-9.10.0.20240413-aarch64-linux-debian-12-2024-04-16-5f63452c.tar.xz
dlSubdir: ghc-9.10.0.20240413-javascript-unknown-ghcjs
dlHash: 5f63452c8bee2fcc1282645158bcd20bae7ff93181f3e5d5dc8b2aa8d15f4696
wasm32-wasi-9.6.3.20230927:
viTags:
- base-4.18.1.0
viPreInstall: &old-wasm-pre-install |
To use this bindist, you need to use the commit c0aa3bb7d88bb6ec809210e17658dd1ed64ba66c of ghc-wasm-meta repository.
Also see: https://www.haskell.org/ghcup/guide/#ghc-wasm-cross-bindists-experimental
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghc-wasm32-wasi-963-64-static
dlHash: 2e1d363320c03e35fd9048a252a0cfed8f7b87da76c063c7fc52122c390f42c3
dlSubdir: ghc-9.6.3.20230927-wasm32-wasi
dlUri: https://github.com/amesgen/ghc-wasm-bindists/releases/download/20231001T201511/wasm32-wasi-ghc-9.6.tar.xz
dlOutput: ghc-9.6.3.20230927-x86_64-linux-alpine3_12-cross_wasm32-wasi-release+fully_static.tar.xz
Linux_Alpine:
unknown_versioning: *ghc-wasm32-wasi-963-64-static
wasm32-wasi-9.6.4:
viTags:
- base-4.18.2.0
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghc-wasm32-wasi-964-64-static
dlHash: 9eebb42c40d880ec777f729e24b9b52e8aa51d76994f386bd79893d065f5239a
dlSubdir: ghc-9.6.4-wasm32-wasi
dlUri: https://github.com/amesgen/ghc-wasm-bindists/releases/download/20240218T031934/wasm32-wasi-ghc-9.6.tar.xz
dlOutput: ghc-9.6.4-x86_64-linux-alpine3_18-wasm-cross_wasm32-wasi-release+fully_static.tar.xz
Linux_Alpine:
unknown_versioning: *ghc-wasm32-wasi-964-64-static
wasm32-wasi-9.8.0.20230927:
viTags:
- base-4.19.0.0
viPreInstall: *old-wasm-pre-install
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghc-wasm32-wasi-980-64-static
dlHash: bad3393b6eba103230c62f050ffd9d458916c6238e5d5fa031d3eee5d995305a
dlSubdir: ghc-9.8.0.20230927-wasm32-wasi
dlUri: https://github.com/amesgen/ghc-wasm-bindists/releases/download/20231001T201511/wasm32-wasi-ghc-9.8.tar.xz
dlOutput: ghc-9.8.0.20230927-x86_64-linux-alpine3_12-cross_wasm32-wasi-release+fully_static.tar.xz
Linux_Alpine:
unknown_versioning: *ghc-wasm32-wasi-980-64-static
wasm32-wasi-9.8.1:
viTags:
- base-4.19.0.0
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghc-wasm32-wasi-981-64-static
dlHash: b1714d54468754e3a4353661bec883fef8b5d27398db53b5955753db7453da3e
dlSubdir: ghc-9.8.1-wasm32-wasi
dlUri: https://github.com/amesgen/ghc-wasm-bindists/releases/download/20240218T031934/wasm32-wasi-ghc-9.8.tar.xz
dlOutput: ghc-9.8.1-x86_64-linux-alpine3_18-wasm-cross_wasm32-wasi-release+fully_static.tar.xz
Linux_Alpine:
unknown_versioning: *ghc-wasm32-wasi-981-64-static
wasm32-wasi-9.10.0.20240313:
viTags:
- base-4.20.0.0
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghc-wasm32-wasi-9101-64-static
dlHash: e2ee5a0417f3617a93f8ca8df2b455c17e50dd5fb750b2fbe37e75982c3a4917
dlSubdir: ghc-9.10.0.20240313-wasm32-wasi
dlUri: https://github.com/amesgen/ghc-wasm-bindists/releases/download/20240318T183143/wasm32-wasi-ghc-9.10.tar.xz
dlOutput: ghc-x86_64-linux-alpine3_18-wasm-cross_wasm32-wasi-release+fully_static.tar.xz
Linux_Alpine:
unknown_versioning: *ghc-wasm32-wasi-9101-64-static

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

Binary file not shown.

View File

@@ -6,6 +6,7 @@
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE ViewPatterns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE LambdaCase #-}
module Generate where
@@ -48,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
@@ -157,7 +164,7 @@ generateTable output = do
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>"
@@ -228,3 +235,53 @@ generateSystemInfo output = do
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

@@ -105,26 +105,43 @@ 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 $
long "tarball-filter" <> short 'u' <> metavar "<tool>-<version>" <> value def
<> help "Only check certain tarballs (format: <tool>-<version>)"
where
def = TarballFilter (Right Nothing) (makeRegex ("" :: String))
def = TarballFilter Nothing (makeRegex ("" :: String))
readm = do
s <- str
case span (/= '-') s of
(_, []) -> fail "invalid format, missing '-' after the tool name"
(t, v) | [tool] <- [ tool | tool <- [minBound..maxBound], low (show tool) == low t ] ->
pure (TarballFilter $ Right $ Just tool) <*> makeRegexOptsM compIgnoreCase execBlank (drop 1 v)
(t, v) | [tool] <- [ tool | tool <- [minBound..maxBound], low (show tool) == low t ] ->
pure (TarballFilter $ Left tool) <*> makeRegexOptsM compIgnoreCase execBlank (drop 1 v)
pure (TarballFilter $ Just tool) <*> makeRegexOptsM compIgnoreCase execBlank (drop 1 v)
_ -> fail "invalid tool"
low = fmap toLower
@@ -187,7 +204,7 @@ main = do
flip runReaderT leanAppstate $ logError $ T.pack $ prettyShow e
liftIO $ exitWith (ExitFailure 2)
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 appstate = AppState (Settings True 0 Lax False Never Curl True GHCupURL False GPGNone True Nothing (DM mempty)) dirs defaultKeyBindings (GHCupInfo mempty mempty Nothing) pfreq loggerConfig
let withValidateYamlOpts vopts f = case vopts of
ValidateYAMLOpts { vInput = Nothing } ->
@@ -205,11 +222,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 (generateSystemInfo output)
GenerateSystemDepsInfo vopts output -> withValidateYamlOpts vopts (generateSystemInfoWithDistroVersion output)
pure ()
where

View File

@@ -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 ()
@@ -186,7 +207,7 @@ validate = do
isBase _ = False
data TarballFilter = TarballFilter
{ tfTool :: Either GlobalTool (Maybe Tool)
{ tfTool :: Maybe Tool
, tfVersion :: Regex
}
@@ -205,20 +226,16 @@ validateTarballs :: ( Monad m
)
=> TarballFilter
-> m ExitCode
validateTarballs (TarballFilter etool versionRegex) = do
GHCupInfo { _ghcupDownloads = dls, _globalTools = gt } <- getGHCupInfo
validateTarballs (TarballFilter mtool versionRegex) = do
GHCupInfo { _ghcupDownloads = dls } <- getGHCupInfo
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)
% (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
forM_ allDls (downloadAll ref)
let dlis = nubOrd $ dls ^.. each %& indices (maybe (const True) (==) mtool)
%> each %& indices (matchTest versionRegex . T.unpack . prettyVer . _tvVersion)
% (viTestDL % _Just `summing` viSourceDL % _Just `summing` viArch % each % each % each)
when (null dlis) $ logError "no tarballs selected by filter" *> runReaderT addError ref
forM_ dlis (downloadAll ref)
-- exit
e <- liftIO $ readIORef ref
@@ -252,20 +269,16 @@ validateTarballs (TarballFilter etool versionRegex) = do
, ContentLengthError
]
$ do
case etool of
Right (Just GHCup) -> do
case mtool of
(Just GHCup) -> do
tmpUnpack <- lift mkGhcupTmpDir
_ <- liftE $ download (_dlUri dli) Nothing (Just (_dlHash dli)) Nothing (fromGHCupPath tmpUnpack) Nothing False
pure Nothing
Right _ -> do
_ -> do
p <- liftE $ downloadCached dli Nothing
fmap Just $ liftE
. getArchiveFiles
$ p
Left ShimGen -> do
tmpUnpack <- lift mkGhcupTmpDir
_ <- liftE $ download (_dlUri dli) Nothing (Just (_dlHash dli)) Nothing (fromGHCupPath tmpUnpack) Nothing False
pure Nothing
case r of
VRight (Just entries) -> do
case _dlSubdir dli of

View File

@@ -52,7 +52,7 @@ executable ghcup-gen
, deepseq ^>=1.4
, filepath ^>=1.4.2.1
, ghcup ^>=0.1.19.0
, haskus-utils-variant ^>=3.2
, haskus-utils-variant ^>=3.3
, libarchive ^>=3.0.3.0
, megaparsec >=8.0.0 && <9.3
, mtl ^>=2.2
@@ -65,5 +65,5 @@ executable ghcup-gen
, safe-exceptions ^>=0.1
, text ^>=2.0
, transformers ^>=0.5
, versions >=4.0.1 && <5.1
, versions >=6.0.0
, yaml-streamly ^>=0.12.0

File diff suppressed because it is too large Load Diff

Binary file not shown.

1934
ghcup-prereleases-0.0.8.yaml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

6672
ghcup-vanilla-0.0.8.yaml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -772,5 +772,916 @@
"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"
]
}
},
"2.5.0.0": {
"A_64": {
"Darwin": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"FreeBSD": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_CentOS": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_Debian": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_Fedora": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_Mint": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_RedHat": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_Ubuntu": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_UnknownLinux": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Windows": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
]
},
"A_ARM64": {
"Darwin": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_UnknownLinux": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
]
}
},
"2.6.0.0": {
"A_64": {
"Darwin": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"FreeBSD": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_Alpine": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_CentOS": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_Debian": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_Fedora": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_Mint": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_RedHat": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_Ubuntu": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_UnknownLinux": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Windows": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
]
},
"A_ARM64": {
"Darwin": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_UnknownLinux": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
]
}
},
"2.7.0.0": {
"A_64": {
"Darwin": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.2"
],
"FreeBSD": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.2"
],
"Linux_Alpine": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.2"
],
"Linux_CentOS": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.2"
],
"Linux_Debian": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.2"
],
"Linux_Fedora": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.2"
],
"Linux_Mint": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.2"
],
"Linux_RedHat": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.2"
],
"Linux_Rocky": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.2"
],
"Linux_Ubuntu": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.2"
],
"Linux_UnknownLinux": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.2"
],
"Windows": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.2"
]
},
"A_ARM64": {
"Darwin": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.2"
],
"Linux_UnknownLinux": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.2"
]
}
}
}

Binary file not shown.