Compare commits

...

648 Commits
CI ... develop

Author SHA1 Message Date
99a488d812
Re-sign 2024-04-28 23:00:12 +08:00
168ffe67a0
Merge remote-tracking branch 'origin/pr/207' into develop 2024-04-28 22:59:57 +08:00
Mike Pilgrem
404dede2a0 Add Stack 2.15.6.1 pre-release to GHCup metadata 2024-04-27 19:57:56 +01:00
dc1f856253
Re-sign 2024-04-27 22:21:50 +08:00
a0efa036ea
Merge remote-tracking branch 'origin/pr/206' into develop 2024-04-27 22:21:34 +08:00
Ben Gamari
1824f4a5f2 Add GHC 9.10.1-rc1 2024-04-27 09:58:02 -04:00
b75566fdb7
Re-sign 2024-04-27 15:44:28 +08:00
1a8f43c621
Merge remote-tracking branch 'origin/pr/205' into develop 2024-04-27 15:44:18 +08:00
David Binder
0eb0e41feb Add preInstall message for ghcjs-9.10.0.20240413
Bindist javascript-unknown-ghcjs-9.10.0.20240413
only compiles if emscripten 3.1.57 is installed.
Other versions of emscripten will lead to failure
during installation.
2024-04-24 01:44:53 +02:00
94a79c488a
Re-sign 2024-04-21 16:01:03 +08:00
cd8c556894
Fix ghcup-vanilla-0.0.7.yaml 2024-04-21 16:00:42 +08:00
6a586c209f
Add pkg-config to toolRequirements
Fixes https://github.com/haskell/ghcup-hs/issues/1039
2024-04-21 15:59:14 +08:00
1d55bd79dc
Re-sign 2024-04-19 16:54:26 +08:00
eaf801cf9e
Add cabal 3.11.0.0.2024.4.19 prerelease 2024-04-19 16:54:08 +08:00
022ea4fc9f
Re-sign 2024-04-18 20:53:36 +08:00
d86cdc6ad3
Add wasm32-wasi-9.10.0.20240412 2024-04-18 20:53:11 +08:00
0ec9a3501b
Merge branch 'ghc-9.6.5-proper' into develop 2024-04-18 16:56:48 +08:00
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
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
45db7a6349
Improve bindist install script
Test HLS and cabal better. Test profiling.
2022-10-10 12:56:43 +08:00
b29358a3ce
Add Linux Mint bindist installations to github actions 2022-10-08 21:37:57 +08:00
448e6b65a1
Sign 2022-09-26 23:02:33 +08:00
f79a614842
Set GHC 9.2.4 as recommended
Fixes #402
2022-09-26 23:00:49 +08:00
38af24534d
Add stack 2.9.1 2022-09-26 22:48:25 +08:00
70f6aa4112
Fix libffi install on ubuntu18.04 2022-09-16 17:16:51 +08:00
34414b4a6b
Add ubuntu 18.04 2022-09-16 17:14:11 +08:00
cea865595a
Fix ubuntu HLS 1.8.0.0 2022-09-16 17:04:42 +08:00
3f891cc56a
Allow to set arbitrary tools in bindist action
Fixes #35
2022-09-15 22:25:22 +08:00
fd71594ee6
Add linux aarch64 HLS 2022-09-15 22:20:01 +08:00
8a0fcd3172
Enable tests on develop branch 2022-09-15 19:58:05 +08:00
c5d3930c8f
Fix windows HLS 1.8 2022-09-15 19:46:08 +08:00
36dd18eeb5
Sign 2022-09-14 19:18:04 +08:00
4f8ca555fd
Merge remote-tracking branch 'origin/pr/33' 2022-09-14 19:01:18 +08:00
Pepe Iborra
03e9916d24
Update ghcup-0.0.7.yaml
Co-authored-by: wz1000 <zubin@cmi.ac.in>
2022-09-14 12:05:57 +02:00
Pepe Iborra
7737f5decf use SHA256 hashes 2022-09-14 11:56:26 +02:00
Pepe Iborra
ba07fa8baa yaml syntax fix 2022-09-14 11:46:30 +02:00
Pepe Iborra
e8336c3093 Fixes for Windows and Arm linux binaries 2022-09-14 11:45:29 +02:00
Pepe Iborra
7381149b4e remove recommended tags from 1.7.0.0 2022-09-14 11:43:45 +02:00
Pepe Iborra
ca7416674e fix Windows dlSubdir 2022-09-14 11:32:30 +02:00
Pepe Iborra
ab7231f10f fix Windows dlUri 2022-09-14 11:30:31 +02:00
Pepe Iborra
99133d949a add ghcup metadata 2022-09-14 11:29:05 +02:00
Pepe Iborra
02588b8025
Added metadata for HLS 1.8.0.0 2022-09-14 11:06:35 +02:00
9c78f17415
Sign 2022-08-26 08:38:31 +08:00
33cb0e8708
Mark 9.4.1 as old 2022-08-24 23:29:47 +08:00
bc72af60ca
Add g++ to requirements 2022-08-24 23:05:29 +08:00
320f96acf7
Merge remote-tracking branch 'origin/pr/31' 2022-08-24 23:05:13 +08:00
Taylor Fausak
f013568183 Add GHC 9.4.2 2022-08-23 07:00:40 -05:00
86da8c3dfe
Merge remote-tracking branch 'origin/pr/30' 2022-08-12 18:55:39 +08:00
amesgen
0bdb62c58e
Consolidate and isolate bindist installation
In particular, this now ensure that we actually use the ghcup version we
installed as well as a separate installation directory, instead of any
potentially previously installed versions/files.
2022-08-11 03:29:47 +02:00
amesgen
0c0736526a
Bindist CI: add windows 2022-08-10 19:50:04 +02:00
ff79db284a
Merge remote-tracking branch 'origin/pr/29' 2022-08-10 20:03:27 +08:00
86c7f4374a
Fix Red Hat 2022-08-10 19:58:48 +08:00
25a2382694
Merge branch 'cabal-3.8.1.0' 2022-08-10 08:39:11 +08:00
amesgen
928375fa74
Add CI for bindist installation 2022-08-09 21:44:47 +02:00
29c04ab231
Add cabal-3.8.1.0 2022-08-10 00:06:10 +08:00
1a87f77dda
Sign 2022-08-09 23:38:55 +08:00
fc911e1099
Merge remote-tracking branch 'origin/pr/27' 2022-08-09 23:33:52 +08:00
amesgen
2cc783fcab
Fix GHC 9.4.1 (e.g. on Ubuntu 20.04) 2022-08-09 13:58:58 +02:00
548aa90553
GPG sign 2022-08-09 19:02:59 +08:00
90571cee09
Fix darwin bindists
https://discourse.haskell.org/t/ghc-9-4-1-is-now-available/4901/6
2022-08-09 19:02:20 +08:00
540ee16e8e
Merge remote-tracking branch 'origin/pr/26' 2022-08-09 14:13:53 +08:00
amesgen
19bc7f338e
Add ghc-9.4.1 2022-08-09 00:38:30 +02:00
7ec72168b0
Mark more stuff as old 2022-08-06 15:47:26 +08:00
d819e05b93
Fix red hat HLS bindist 2022-07-30 18:01:10 +08:00
42f43a6b2d
Update ghcup to 0.1.18.0 2022-07-30 10:45:10 +08:00
012fbb3f13
Sign 2022-07-29 21:54:53 +08:00
3fe6f8d804
Merge branch 'pr/25' 2022-07-29 21:54:38 +08:00
Cheng Shao
bbcf300e90 Add ghc-9.2.4 2022-07-28 17:40:46 +00:00
38062b4b0d
Mark old prereleases as old 2022-07-27 23:36:15 +08:00
81e04c51f1
Update gpg signatures 2022-07-27 23:33:07 +08:00
ab64d11db6
Add GHC 9.4.1-rc1 2022-07-27 23:25:00 +08:00
4b22e690e7
Update HLS docs link 2022-07-27 21:47:45 +08:00
a81cfd135b
Fix source tarball for GHC-9.2.3 2022-07-06 11:19:52 +02:00
a8f55748cd
Fix bindists not respecting DESTDIR 2022-06-26 23:04:55 +02:00
2abf4f081b
Fix viPostRemove 2022-06-26 19:43:22 +02:00
1819b160ee
Add GHC 9.4.0.20220623 2022-06-26 18:10:26 +02:00
437a84e8d9
Fix 3.8.0.20220526 on windows
See https://github.com/haskell/cabal/issues/8210
2022-06-17 17:07:16 +02:00
ac3cfb6193
Add deb9 bindist to 9.4.1-alpha2 2022-06-05 00:23:53 +02:00
2c562f8eec
Add cabal 3.8.0.20220526 prerelease 2022-06-02 19:02:18 +02:00
a47c62ab54
Add 9.4.1-alpha2 pre-release 2022-05-28 16:35:54 +02:00
d54710d917
Add GHC 9.2.3 2022-05-28 15:02:16 +02:00
1eb6f3f256
Update signature 2022-05-12 18:31:17 +02:00
3a9d5453fc
Update windows bindist 2022-05-12 18:28:25 +02:00
366153c3c6
Update signature 2022-05-11 23:46:49 +02:00
85d1172440
Bump ghcup to 0.1.17.8 2022-05-11 23:43:49 +02:00
f7e62e1061
Update ghcup ref 2022-05-11 23:43:36 +02:00
7d8f7eaf66
Fix GHC 9.2.2 bindist on windows
By copying some DLLs, see https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/359
2022-05-05 22:15:07 +02:00
26e6477f3c
Add 9.4.1-alpha1 GHC prerelease 2022-05-03 15:40:10 +02:00
855a7a9bcf
Fix yaml 2022-05-01 18:40:16 +02:00
abf57dbe8c
Fix bindists for Linux Mint < 20 2022-05-01 17:34:27 +02:00
fbf06cc9ee
Fix HLS 1.7.0.0 bindist again 2022-04-27 14:55:36 +08:00
5f4cd00631
Fix HLS 1.7.0.0 windows bindist 2022-04-27 09:16:40 +08:00
ff2b373807
Release HLS 1.7.0.0 2022-04-27 02:07:29 +08:00
ac808aebbd
Fix darwin hash wrt #23 2022-04-24 10:41:38 +08:00
bb8c6b8d34
Bump ghcup to 0.1.17.7 2022-04-21 22:57:48 +02:00
88696a0cc5
Fix some bindists not providing profiling libs 2022-04-09 13:15:35 +02:00
c9384767ac
Add pre-release channel 2022-04-07 20:16:07 +02:00
359ed3103a
Bump ghcup to 0.1.17.6 2022-03-18 23:23:03 +01:00
ba42ed295f
Update ghcup ref 2022-03-18 21:28:31 +01:00
7ab9f62645
Fixup html generation 2022-03-18 18:51:55 +01:00
9d2ebcb74d
Fix hls-metadata for windows 2022-03-13 00:28:55 +01:00
4c23f6a49e
Generate tool tables for docs 2022-03-08 22:22:36 +01:00
3683db0155
Update README 2022-03-08 15:25:17 +01:00
cc4bf53a23
Generate hls-metadata-0.0.1.json 2022-03-08 14:59:58 +01:00
40bf6cd44b
Improve generate subcommand 2022-03-08 14:59:14 +01:00
3ad280534b
Add armv7 stack 2.7.5 2022-03-07 00:34:38 +01:00
40be6ebe7a
Fix tags for 9.2.1 2022-03-07 00:24:33 +01:00
7eac30f2d9
Backport stuff to ghcup-0.0.6.yaml 2022-03-07 00:19:59 +01:00
afcb5ff508
Add GHC 9.2.2 2022-03-07 00:17:16 +01:00
b8907c7c14
Add stack 2.7.5 2022-03-07 00:01:29 +01:00
df8ab38e1f
Bump ghcup version 2022-03-07 00:01:29 +01:00
6fae2f7bc2
Update sig 2022-03-02 18:44:34 +01:00
0371870d77
Update darwin M1 ghcup exe 2022-03-02 13:52:46 +01:00
03f047e369
Try to fix darwin M1 ghcup binaries 2022-03-02 13:27:28 +01:00
2bedba1205
Create subcommand for generating HLS metadata 2022-03-01 01:02:22 +01:00
3c9c41f9a7
Update aarch64-darwin-ghcup-0.1.17.5 ghcup binary
Stripped binaries make problems on M1 apparently,
due to codesigning.
So we re-upload non-stripped ones.
2022-02-26 22:00:30 +01:00
b1d0995221
Update signatures 2022-02-26 18:46:26 +01:00
c12e652817
Update ghcup artifacts to 0.1.17.5 2022-02-26 18:39:42 +01:00
80b61ee4b7
Prepare for ghcup 0.1.17.5 release 2022-02-26 15:23:28 +01:00
a5c26cedb3
Mark GHC 9.0.1 as old 2022-02-19 23:33:26 +01:00
ee446fb9f9
Fix subdir in 9.2.1 centos 2022-02-08 14:26:27 +01:00
81fe5fc42e
Fix Centos7 bindist for GHC 9.2.1 2022-02-08 13:36:53 +01:00
1dea46b148
Update signature 2022-01-30 18:04:41 +01:00
d68f918a6d
Merge remote-tracking branch 'origin/pr/20' 2022-01-30 18:04:03 +01:00
Javier Neira
8e59562a96
Update ghcup-0.0.6.yaml
Co-authored-by: Julian Ospald <hasufell@posteo.de>
2022-01-30 16:51:54 +01:00
jneira
9f06e257e0 Add hls-1.6.1.0 including alpine 2022-01-30 15:33:26 +01:00
0470341203
Update signature 2022-01-28 23:44:26 +01:00
0ccf71d8b9
Remove alex workaround 2022-01-28 23:43:40 +01:00
jneira
a7ceeca0f0 Remove alpine 2022-01-28 22:07:19 +01:00
jneira
e22bba40c3 Add hls-1.6.0.0 2022-01-28 19:54:45 +01:00
c43df2e806
Fix build because alex is broken 2022-01-21 17:20:19 +01:00
349f72488c
Replace alpine 9.2.1 bindist with dynamically linked one, fixes #16
Fixes issues with getEnv compilation:
  https://github.com/haskell/haskell-language-server/pull/2615#issuecomment-1018385710
2022-01-21 17:00:47 +01:00
cbc7043918
Use integer-gmp bindists for alpine x86_64, fixes #14 2022-01-20 17:11:23 +01:00
610714d15f
Add alpine i386 GHC 9.0.2 2022-01-05 11:46:40 +01:00
fd8e23873a
Revert "Don't make missing i386 alpine fatal"
This reverts commit b24fff8359.
2022-01-05 11:46:20 +01:00
37e87912c3
Add GHC 9.0.2 2022-01-05 10:54:13 +01:00
b24fff8359
Don't make missing i386 alpine fatal 2022-01-05 10:53:21 +01:00
e199e9bc99
Improve toolRequirements for Darwin M1 2021-12-04 20:39:08 +01:00
453552f9b1
Add FreeBSD 13 ghcup 2021-12-02 17:47:30 +01:00
9f0a816876
Add HLS-1.5.1 FreeBSD 13 bindist 2021-12-02 15:50:00 +01:00
de121bca52
Update signature 2021-12-02 14:37:38 +01:00
401b308307
Merge remote-tracking branch 'origin/pr/11' 2021-12-02 12:42:51 +01:00
jneira
acfaee0bd5 Complete gitlab artifacts 2021-12-02 10:01:18 +01:00
jneira
e0a863cd53 Add hls-1.5.1 (incomplete) 2021-11-29 22:00:51 +01:00
176d619b1f
Add experimental unofficial stack binaries 2021-11-22 18:16:40 +01:00
ffd62a4c32
Uhm 2021-11-18 18:10:37 +01:00
11600fbb34
Fix signature 2021-11-18 18:09:07 +01:00
15c76331f8
Sign 2021-11-18 18:07:24 +01:00
8fd5f30f19
Add HLS-1.5.0 2021-11-18 18:06:56 +01:00
3a7b8e138c
Update sig 2021-11-14 12:17:52 +01:00
9fb3a29d64
Bump to 0.1.17.4 2021-11-14 12:17:12 +01:00
e966566fc3
Bump to latest ghcup 2021-11-13 21:21:19 +01:00
0730c8727d
Update debian version constraints, fixes #8 2021-10-31 00:29:45 +02:00
837be46b54
Add alpine 32bit 2021-10-29 22:37:15 +02:00
b0afc6ce76
Add ghc-9.2.1 2021-10-29 19:31:13 +02:00
97a0c97074
Merge branch 'ghcup-gen' 2021-10-27 15:48:45 +02:00
f16faca114
Add ghcup-gen 2021-10-27 15:28:43 +02:00
8e457d1870
Set Cabal 3.6.2.0 as recommended 2021-10-27 15:10:29 +02:00
aa77fec353
Update ghcup to 0.1.17.3 2021-10-27 14:26:29 +02:00
8b9e932c2d
Merge branch 'CI' 2021-10-27 14:25:50 +02:00
51 changed files with 36587 additions and 238 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

242
.github/workflows/bindists.yaml vendored Normal file
View File

@ -0,0 +1,242 @@
name: Bindist installation
defaults:
run:
shell: bash
on:
workflow_dispatch:
inputs:
tool:
description: Tool
required: true
type: string
version:
description: Version
required: true
type: string
metadataFile:
description: Metadata file
required: true
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
BOOTSTRAP_HASKELL_MINIMAL: 1
BOOTSTRAP_HASKELL_ADJUST_BASHRC: 1
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 }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- 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:10
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:11
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: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
- image: ubuntu:20.04
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
- image: ubuntu:22.04
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
- image: archlinux:latest
installCmd: pacman -Syu --noconfirm
toolRequirements: which gcc gmp libffi make ncurses perl tar xz
- 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: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.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:
- name: Install requirements
shell: sh
run: |
${{ matrix.installCmd }} curl bash git ${{ matrix.toolRequirements }}
- uses: actions/checkout@v3
- name: Install ghcup and bindist
run: .github/workflows/install-bindist.sh
bindist-install-mac-win:
name: Build non-linux
strategy:
fail-fast: false
matrix:
include:
- os: [self-hosted, macOS, ARM64]
- os: macos-11
- os: macos-12
- os: windows-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- 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, maerwald]
ARCH: ARM
- os: [self-hosted, Linux, ARM64, maerwald]
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'
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
}

146
.github/workflows/install-bindist.sh vendored Executable file
View File

@ -0,0 +1,146 @@
#!/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://raw.githubusercontent.com/haskell/ghcup-hs/master/scripts/bootstrap/bootstrap-haskell | sh
source "$GHCUP_INSTALL_BASE_PREFIX"/.ghcup/env || source "$HOME/.bashrc"
ghcup --version
which ghcup | grep foobarbaz
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
}
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
-}
main = print $ 1 + 1
EOF
case $TOOL in
ghcup)
ghcup_fun list
;;
hls)
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 ]]
;;
*)
$TOOL --version
;;
esac

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

@ -2,28 +2,46 @@ name: Tests
on:
push:
branches: [ master ]
branches: [ master, develop ]
pull_request:
branches: [ master ]
branches: [ master, develop ]
jobs:
test:
name: Test metadata
runs-on: ${{ matrix.os }}
env:
YAML_VER: 0.0.6
YAML_VER: 0.0.7
strategy:
matrix:
ghc:
- '8.10.7'
cabal:
- '3.6.2.0'
os:
- ubuntu-latest
- ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v2
- uses: haskell/actions/setup@v1.2
with:
ghc-version: 8.10.7
cabal-version: 3.6.2.0
ghc-version: ${{ matrix.ghc }}
cabal-version: ${{ matrix.cabal }}
- name: Cache Cabal
uses: actions/cache@v2
env:
cache-name: cache-cabal
with:
path: |
~/.cabal/store
~/.cabal/packages
key: v2-${{ runner.os }}-${{ matrix.ghc }}-${{ matrix.cabal }}-build-${{ hashFiles('cabal.project') }}
restore-keys: |
v2-${{ runner.os }}-${{ matrix.ghc }}-${{ matrix.cabal }}-build-${{ hashFiles('cabal.project') }}
v2-${{ runner.os }}-${{ matrix.ghc }}-${{ matrix.cabal }}-build-
v2-${{ runner.os }}-${{ matrix.ghc }}
- name: create ~/.local/bin
run: mkdir -p "$HOME/.local/bin"
@ -33,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 ghcup-gen
- name: Install some deps
run: |
cabal install --installdir="$HOME/.local/bin" --overwrite-policy=always --install-method=copy ghcup
export DEBIAN_FRONTEND=noninteractive
export TZ=Asia/Singapore
sudo apt install -y libarchive-dev
shell: bash
- name: Check
- name: Install ghcup-gen
run: |
cabal install --installdir="$HOME/.local/bin" --overwrite-policy=always --install-method=copy ghcup-gen
shell: bash
- 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

17
.gitignore vendored Normal file
View File

@ -0,0 +1,17 @@
.ghci
.vim
codex.tags
dist-newstyle/
cabal.project.local
.stack-work/
bin/
/*.prof
/*.ps
/*.hp
tags
TAGS
/tmp/
.entangled
/release/
/releases/
site/

5
.yamllint Normal file
View File

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

View File

@ -1,13 +1,62 @@
# 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`)
3. copy-paste it
4. adjust the version, tags, changelog, source url
5. adjust the various bindist urls (make sure to also change the yaml anchors)
6. build the `ghcup-gen` binary from the [ghcup repo](https://gitlab.haskell.org/haskell/ghcup-hs)
7. run `ghcup-gen -- check -f ghcup-<yaml-ver>.yaml`
8. run `ghcup-gen -- check-tarballs -f ghcup-<yaml-ver>.yaml -u 'ghc-8\.10\.8'`
6. run `cabal run ghcup-gen -- check -f ghcup-<yaml-ver>.yaml`
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`

28
cabal.project Normal file
View File

@ -0,0 +1,28 @@
packages: ./ghcup-gen/ghcup-gen.cabal
package ghcup
tests: False
flags: +tui +no-exe
source-repository-package
type: git
location: https://github.com/haskell/ghcup-hs.git
tag: 91ef2c7666d118bc6bd7d2fc2eeb7754081a9f3d
constraints: http-io-streams -brotli,
any.aeson >= 2.0.1.0
package libarchive
flags: +system-libarchive
package aeson-pretty
flags: +lib-only
package cabal-plan
flags: -exe
package aeson
flags: +ordered-keymap
package streamly
flags: +use-unliftio

View File

@ -2132,43 +2132,39 @@
}
},
"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",
"dlSubdir": null,
"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",
"dlSubdir": null,
"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",
"dlSubdir": null,
"dlHash": "92359592a5694375e53b22628920086bf4bbf0faff5be018a0ed3e745a6426a9"
"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.16.2/i386-linux-ghcup-0.1.16.2",
"dlSubdir": null,
"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

@ -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.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:
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
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: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
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: *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.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:
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
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: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
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: *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.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:
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
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: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
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: *ghcup-32
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/aarch64-linux-ghcup-0.1.16.2
dlHash: 0bdbfc724e0ddabb266156eea83c2c4e19c6ed79dd06db0c29b7d69df8d9fa8c
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.16.2/aarch64-apple-darwin-ghcup-0.1.16.2
dlHash: 8854e991a2ba1350abda59dab96ce50ae7729d1ce99399d67929ef31e90f1da5
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.16.2/armv7-linux-ghcup-0.1.16.2
dlHash: 983ebb5b584bfa600704216a63f94b40d36a02573834e90ef1042c8472d9ad57
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.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:
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
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
Windows:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-mingw64-ghcup-0.1.16.2.exe
dlHash: ec78872a84213968c490675127b9aad2285980b747c68207801ae824b98c7948
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.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: *ghcup-32
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/aarch64-linux-ghcup-0.1.16.2
dlHash: 0bdbfc724e0ddabb266156eea83c2c4e19c6ed79dd06db0c29b7d69df8d9fa8c
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.16.2/aarch64-apple-darwin-ghcup-0.1.16.2
dlHash: 8854e991a2ba1350abda59dab96ce50ae7729d1ce99399d67929ef31e90f1da5
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.16.2/armv7-linux-ghcup-0.1.16.2
dlHash: 983ebb5b584bfa600704216a63f94b40d36a02573834e90ef1042c8472d9ad57
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.

7407
ghcup-0.0.7.yaml Normal file

File diff suppressed because it is too large Load Diff

BIN
ghcup-0.0.7.yaml.sig Normal file

Binary file not shown.

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

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

@ -0,0 +1,140 @@
---
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:
viPreInstall: |
To use this bindist, you have to use emscripten version 3.1.57
Also see: https://www.haskell.org/ghcup/guide/#ghc-js-cross-bindists-experimental
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-9.10.0.20240313-x86_64-linux-alpine3_18-wasm-cross_wasm32-wasi-release+fully_static.tar.xz
Linux_Alpine:
unknown_versioning: *ghc-wasm32-wasi-9101-64-static
wasm32-wasi-9.10.0.20240412:
viTags:
- base-4.20.0.0
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghc-wasm32-wasi-9101-a3-64-static
dlHash: e7648d84f7948d53dcd6935a0358967dc8d5d68ee3a60c0706f4b5a94a0fb628
dlSubdir: ghc-9.10.0.20240412-wasm32-wasi
dlUri: https://github.com/amesgen/ghc-wasm-bindists/releases/download/20240414T232345/wasm32-wasi-ghc-9.10.tar.xz
dlOutput: ghc-9.10.0.20240412-x86_64-linux-alpine3_18-wasm-cross_wasm32-wasi-release+fully_static.tar.xz
Linux_Alpine:
unknown_versioning: *ghc-wasm32-wasi-9101-a3-64-static

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

Binary file not shown.

6
ghcup-gen/CHANGELOG.md Normal file
View File

@ -0,0 +1,6 @@
# Revision history for ghcup-gen
## 0.1.17.3 -- 2021-10-27
* First release (split from ghcup)

287
ghcup-gen/Generate.hs Normal file
View File

@ -0,0 +1,287 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
{-# 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
import GHCup.Utils
import Codec.Archive
import Control.DeepSeq
import Control.Exception ( evaluate )
import Control.Exception.Safe hiding ( handle )
import Control.Monad
import Control.Monad.IO.Class
import Control.Monad.Reader.Class
import Control.Monad.Trans.Resource ( runResourceT
, MonadUnliftIO
)
import qualified Data.Aeson.Encode.Pretty as Aeson
import Data.ByteString ( ByteString )
import Data.Either
import Data.Maybe
import Data.List
import Data.Map.Strict ( Map )
import Data.Versions
import Haskus.Utils.Variant.Excepts
import System.Exit
import System.FilePath
import System.IO
import Text.Regex.Posix
import GHCup.Prelude.String.QQ
import qualified Data.ByteString.Lazy as BSL
import qualified Data.Map.Strict as M
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
data Output
= FileOutput FilePath -- optsparse-applicative doesn't handle ByteString correctly anyway
| StdOut
type HlsGhcVersions = Map Version (Map Architecture (Map Platform Version))
generateHLSGhc :: ( MonadFail m
, MonadMask m
, Monad m
, MonadReader env m
, HasSettings env
, HasDirs env
, HasLog env
, MonadThrow m
, MonadIO m
, MonadUnliftIO m
, HasGHCupInfo env
)
=> Format
-> Output
-> m ExitCode
generateHLSGhc format output = do
GHCupInfo { _ghcupDownloads = dls } <- getGHCupInfo
let hlses = dls M.! HLS
r <- forM hlses $ \(_viArch -> archs) ->
forM archs $ \plats ->
forM plats $ \(head . M.toList -> (_, dli)) -> do
VRight r <- runResourceT . runE
@'[DigestError
, GPGError
, DownloadFailed
, UnknownArchive
, ArchiveResult
, ContentLengthError
] $ do
fp <- liftE $ downloadCached dli Nothing
let subd = _dlSubdir dli
filesL <- liftE $ getArchiveFiles fp
files <- liftIO $ evaluate $ force filesL
case subd of
Just (RealDir d)
| d </> "GNUmakefile" `elem` files
-> do let regex = makeRegexOpts compExtended execBlank ([s|^haskell-language-server-([0-9]+\.)*([0-9]+)(\.in)$|] :: ByteString)
pure (rights $ MP.parse version' ""
. T.pack
. fromJust
. stripPrefix "haskell-language-server-"
. stripIn
<$> filter (match regex) (fromJust . stripPrefix (d <> "/") <$> files)
)
_ -> do let regex = makeRegexOpts compExtended execBlank ([s|^haskell-language-server-([0-9]+\.)*([0-9]+)(\.exe)?$|] :: ByteString)
pure (rights $ MP.parse version' ""
. T.pack
. fromJust
. stripPrefix "haskell-language-server-"
. stripExe
<$> filter (match regex) files
)
pure (sort r)
let w = case format of
FormatYAML -> BSL.fromStrict $ YAML.encodePretty YAML.defConfig r
FormatJSON -> Aeson.encodePretty r
case output of
StdOut -> liftIO $ BSL.putStr w
FileOutput f -> liftIO $ BSL.writeFile f w
pure ExitSuccess
where
stripExe :: String -> String
stripExe f = case reverse f of
('e':'x':'e':'.':r) -> reverse r
_ -> f
stripIn :: String -> String
stripIn f = case reverse f of
('n':'i':'.':r) -> reverse r
_ -> f
generateTable :: ( 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
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) [] False False (Nothing, Nothing)
forM_ (filter (\ListResult{..} -> not lStray) vers) $ \ListResult{..} -> do
liftIO $ hPutStrLn handle $
"<tr><td>"
<> T.unpack (prettyVer lVer)
<> "</td><td>"
<> intercalate ", " (filter (/= "") . fmap printTag $ sort lTag)
<> "</td></tr>"
pure ()
liftIO $ hPutStrLn handle $ "</tbody>"
liftIO $ hPutStrLn handle $ "</table>"
liftIO $ hPutStrLn handle $ "</details>"
liftIO $ hPutStrLn handle $ ""
pure ExitSuccess
where
printTag Recommended = "<span style=\"color:green\">recommended</span>"
printTag Latest = "<span style=\"color:blue\">latest</span>"
printTag Prerelease = "<span style=\"color:red\">prerelease</span>"
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

165
ghcup-gen/LICENSE Normal file
View File

@ -0,0 +1,165 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

232
ghcup-gen/Main.hs Normal file
View File

@ -0,0 +1,232 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeApplications #-}
module Main where
import GHCup.Types
import GHCup.Errors
import GHCup.Platform
import GHCup.Utils.Dirs
import GHCup.Prelude.Logger
import GHCup.Types.JSON ( )
import Control.Exception ( displayException )
import Control.Monad.Trans.Reader ( runReaderT )
import Control.Monad.IO.Class
import Data.Char ( toLower )
import Data.Maybe
#if !MIN_VERSION_base(4,13,0)
import Data.Semigroup ( (<>) )
#endif
import Options.Applicative hiding ( style )
import Haskus.Utils.Variant.Excepts
import System.Console.Pretty
import System.Environment
import System.Exit
import System.IO ( stderr )
import Text.Regex.Posix
import Generate
import Validate
import Text.PrettyPrint.HughesPJClass ( prettyShow )
import qualified Data.Text.IO as T
import qualified Data.Text as T
import qualified Data.ByteString as B
import qualified Data.Yaml.Aeson as Y
data Options = Options
{ optCommand :: Command
}
formatParser :: Parser Format
formatParser =
option
(eitherReader formatP)
(long "format" <> metavar "FORMAT" <> help
"Which format to use (JSON | YAML). Yaml is default."
<> value FormatJSON
)
where
formatP :: String -> Either String Format
formatP s' | t == T.pack "json" = Right FormatJSON
| t == T.pack "yaml" = Right FormatYAML
| t == T.pack "yml" = Right FormatYAML
| otherwise = Left ("Unknown format value: " <> s')
where t = T.toLower (T.pack s')
data Command = ValidateYAML ValidateYAMLOpts
| ValidateTarballs ValidateYAMLOpts TarballFilter
| GenerateHlsGhc ValidateYAMLOpts Format Output
| GenerateToolTable ValidateYAMLOpts Output
| GenerateSystemDepsInfo ValidateYAMLOpts Output
fileOutput :: Parser Output
fileOutput =
FileOutput
<$> strOption
(long "output-file" <> short 'o' <> metavar "FILENAME" <> help
"Output file to write to"
)
stdOutput :: Parser Output
stdOutput = flag'
StdOut
(short 'o' <> long "stdout" <> help "Output to stdout (default)")
outputP :: Parser Output
outputP = fileOutput <|> stdOutput
data Input
= FileInput FilePath -- optsparse-applicative doesn't handle ByteString correctly anyway
| StdInput
fileInput :: Parser Input
fileInput =
FileInput
<$> strOption
(long "file" <> short 'f' <> metavar "FILENAME" <> help
"Input file to validate"
)
stdInput :: Parser Input
stdInput = flag'
StdInput
(short 'i' <> long "stdin" <> help "Validate from stdin (default)")
inputP :: Parser Input
inputP = fileInput <|> stdInput
data ValidateYAMLOpts = ValidateYAMLOpts
{ vChannel :: DistributionChannel
, vInput :: Maybe Input
}
validateYAMLOpts :: Parser ValidateYAMLOpts
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 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 $ Just tool) <*> makeRegexOptsM compIgnoreCase execBlank (drop 1 v)
_ -> fail "invalid tool"
low = fmap toLower
opts :: Parser Options
opts = Options <$> com
com :: Parser Command
com = subparser
( command
"check"
( ValidateYAML
<$> info (validateYAMLOpts <**> helper)
(progDesc "Validate the YAML")
)
<> command
"check-tarballs"
(info
((ValidateTarballs <$> validateYAMLOpts <*> tarballFilterP) <**> helper)
(progDesc "Validate all tarballs (download and checksum)")
)
<> command
"generate-hls-ghcs"
(info
((GenerateHlsGhc <$> validateYAMLOpts <*> formatParser <*> outputP) <**> helper)
(progDesc "Generate a list of HLS-GHC support")
)
<> command
"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")
)
)
main :: IO ()
main = do
no_color <- isJust <$> lookupEnv "NO_COLOR"
let loggerConfig = LoggerConfig { lcPrintDebug = True
, consoleOutter = T.hPutStr stderr
, fileOutter = \_ -> pure ()
, fancyColors = not no_color
}
dirs <- liftIO getAllDirs
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
) >>= \case
VRight r -> pure r
VLeft e -> 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 Nothing) pfreq loggerConfig
let withValidateYamlOpts vopts f = case vopts of
ValidateYAMLOpts { vInput = Nothing } ->
B.getContents >>= valAndExit f
ValidateYAMLOpts { vInput = Just StdInput } ->
B.getContents >>= valAndExit f
ValidateYAMLOpts { vInput = Just (FileInput file) } ->
B.readFile file >>= valAndExit f
valAndExit f contents = do
ginfo <- case Y.decodeEither' contents of
Right r -> pure r
Left e -> die (color Red $ displayException e)
r <- flip runReaderT appstate { ghcupInfo = ginfo } f
exitWith r
_ <- customExecParser (prefs showHelpOnError) (info (opts <**> helper) idm)
>>= \Options {..} -> case optCommand of
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

308
ghcup-gen/Validate.hs Normal file
View File

@ -0,0 +1,308 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE ViewPatterns #-}
{-# LANGUAGE OverloadedStrings #-}
module Validate where
import GHCup
import GHCup.Download
import GHCup.Errors
import GHCup.Types
import GHCup.Types.Optics
import GHCup.Utils
import GHCup.Prelude.Logger
import GHCup.Prelude.Version.QQ
import Codec.Archive
import Control.Applicative
import Control.Exception.Safe
import Control.Monad
import Control.Monad.IO.Class
import Control.Monad.Reader.Class
import Control.Monad.Trans.Class ( lift )
import Control.Monad.Trans.Reader ( runReaderT )
import Control.Monad.Trans.Resource ( runResourceT
, MonadUnliftIO
)
import Data.Containers.ListUtils ( nubOrd )
import Data.IORef
import Data.List
import Data.Versions
import Haskus.Utils.Variant.Excepts
import Optics
import System.FilePath
import System.Exit
import Text.ParserCombinators.ReadP
import Text.PrettyPrint.HughesPJClass ( prettyShow )
import Text.Regex.Posix
import qualified Data.Map.Strict as M
import qualified Data.Text as T
import qualified Data.Version as V
data ValidationError = InternalError String
deriving Show
instance Exception ValidationError
data DistributionChannel = MainChan
| PrereleaseChan
| NightlyChan
deriving (Show, Eq)
addError :: (MonadReader (IORef Int) m, MonadIO m, Monad m) => m ()
addError = do
ref <- ask
liftIO $ modifyIORef ref (+ 1)
validate :: ( Monad m
, MonadReader env m
, HasLog env
, MonadThrow m
, MonadIO m
, MonadUnliftIO m
, HasGHCupInfo env
)
=> DistributionChannel
-> m ExitCode
validate distroChannel = do
GHCupInfo { _ghcupDownloads = dls } <- getGHCupInfo
ref <- liftIO $ newIORef 0
-- verify binary downloads --
flip runReaderT ref $ do
-- unique tags
forM_ (M.toList dls) $ \(t, _) -> checkUniqueTags t
-- required platforms
forM_ (M.toList dls) $ \(t, versions) ->
forM_ (M.toList versions) $ \(v, vi) ->
forM_ (M.toList $ _viArch vi) $ \(arch, pspecs) -> do
checkHasRequiredPlatforms t (_tvVersion v) (_viTags vi) arch (M.keys pspecs)
checkGHCVerIsValid
forM_ (M.toList dls) $ \(t, _) -> checkMandatoryTags t
_ <- checkGHCHasBaseVersion
-- exit
e <- liftIO $ readIORef ref
if e > 0
then pure $ ExitFailure e
else do
lift $ logInfo "All good"
pure ExitSuccess
where
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)
checkUniqueTags tool = do
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
let allTags = _viTags =<< M.elems (availableToolVersions dls tool)
let nonUnique =
fmap fst
. filter (\(_, b) -> not b)
<$> ( mapM
(\case
[] -> throwM $ InternalError "empty inner list"
(t : ts) ->
pure $ (t, ) (not (isUniqueTag t) || null ts)
)
. group
. sort
$ allTags
)
case join nonUnique of
[] -> pure ()
xs -> 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 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 % to (map _tvVersion) % folded) dls
forM_ ghcVers $ \v ->
case [ x | (x,"") <- readP_to_S V.parseVersion (T.unpack . prettyVer $ v) ] of
[_] -> pure ()
_ -> do
lift $ logError $ "GHC version " <> prettyVer v <> " is not valid"
addError
-- a tool must have at least one of each mandatory tags
checkMandatoryTags tool = do
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
let allTags = _viTags =<< M.elems (availableToolVersions dls tool)
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 (_tvVersion ver)
addError
True -> pure ()
isBase (Base _) = True
isBase _ = False
data TarballFilter = TarballFilter
{ tfTool :: Maybe Tool
, tfVersion :: Regex
}
validateTarballs :: ( Monad m
, MonadReader env m
, HasLog env
, HasDirs env
, HasSettings env
, MonadThrow m
, MonadIO m
, MonadUnliftIO m
, MonadMask m
, Alternative m
, MonadFail m
, HasGHCupInfo env
)
=> TarballFilter
-> m ExitCode
validateTarballs (TarballFilter mtool versionRegex) = do
GHCupInfo { _ghcupDownloads = dls } <- getGHCupInfo
ref <- liftIO $ newIORef 0
-- download/verify all tarballs
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
if e > 0
then pure $ ExitFailure e
else do
logInfo "All good"
pure ExitSuccess
where
downloadAll :: ( MonadUnliftIO m
, MonadIO m
, MonadReader env m
, HasLog env
, HasDirs env
, HasSettings env
, MonadCatch m
, MonadMask m
, MonadThrow m
)
=> IORef Int
-> DownloadInfo
-> m ()
downloadAll ref dli = do
r <- runResourceT
. runE @'[DigestError
, GPGError
, DownloadFailed
, UnknownArchive
, ArchiveResult
, ContentLengthError
]
$ 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
_ -> do
p <- liftE $ downloadCached dli Nothing
fmap Just $ liftE
. getArchiveFiles
$ p
case r of
VRight (Just entries) -> do
case _dlSubdir dli of
Just (RealDir prel) -> do
logInfo
$ " verifying subdir: " <> T.pack prel
when (normalise prel `notElem` fmap (normalise . takeDirectory) entries) $ do
logError $
"Subdir doesn't match: expected " <> T.pack prel
runReaderT addError ref
Just (RegexDir regexString) -> do
logInfo $
"verifying subdir (regex): " <> T.pack regexString
let regex = makeRegexOpts
compIgnoreCase
execBlank
regexString
unless (or $ fmap (match regex. normalise) entries) $ do
logError $
"Subdir doesn't match: expected regex " <> T.pack regexString
runReaderT addError ref
Nothing -> pure ()
VRight Nothing -> pure ()
VLeft e -> do
logError $
"Could not download (or verify hash) of " <> T.pack (show dli) <> ", Error was: " <> T.pack (prettyShow e)
runReaderT addError ref

69
ghcup-gen/ghcup-gen.cabal Normal file
View File

@ -0,0 +1,69 @@
cabal-version: 3.0
name: ghcup-gen
version: 0.1.17.3
license: LGPL-3.0-only
license-file: LICENSE
copyright: Julian Ospald 2020
maintainer: hasufell@posteo.de
author: Julian Ospald
homepage: https://github.com/haskell/ghcup-metadata
bug-reports: https://github.com/haskell/ghcup-metadata/issues
synopsis: ghcup-gen dev tool
description: Dev tool for handling ghcup metadata
category: System
build-type: Simple
extra-doc-files:
CHANGELOG.md
source-repository head
type: git
location: https://github.com/haskell/ghcup-metadata.git
executable ghcup-gen
main-is: Main.hs
other-modules: Validate
Generate
default-language: Haskell2010
default-extensions:
DeriveGeneric
LambdaCase
MultiWayIf
NamedFieldPuns
PackageImports
QuasiQuotes
RecordWildCards
ScopedTypeVariables
StrictData
TupleSections
TypeApplications
TypeFamilies
ViewPatterns
ghc-options:
-Wall -fwarn-tabs -fwarn-incomplete-uni-patterns
-fwarn-incomplete-record-updates -threaded
build-depends:
, aeson-pretty ^>=0.8.9
, base >=4.13 && <5
, bytestring ^>=0.11
, containers ^>=0.6
, deepseq ^>=1.4
, filepath ^>=1.4.2.1
, ghcup ^>=0.1.19.0
, haskus-utils-variant ^>=3.3
, libarchive ^>=3.0.3.0
, megaparsec >=8.0.0 && <9.3
, mtl ^>=2.2
, optics ^>=0.4
, optparse-applicative >=0.15.1.0 && <0.17
, pretty ^>=1.1.3.1
, pretty-terminal ^>=0.1.0.0
, regex-posix ^>=0.96
, resourcet ^>=1.2.2
, safe-exceptions ^>=0.1
, text ^>=2.0
, transformers ^>=0.5
, versions >=6.0.0
, yaml-streamly ^>=0.12.0

1649
ghcup-prereleases-0.0.7.yaml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

2207
ghcup-prereleases-0.0.8.yaml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

6699
ghcup-vanilla-0.0.7.yaml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

6744
ghcup-vanilla-0.0.8.yaml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

1687
hls-metadata-0.0.1.json Normal file

File diff suppressed because it is too large Load Diff

BIN
hls-metadata-0.0.1.json.sig Normal file

Binary file not shown.