Compare commits
28 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
37fb99d25a
|
|||
|
610714d15f
|
|||
|
fd8e23873a
|
|||
|
37e87912c3
|
|||
|
b24fff8359
|
|||
|
e199e9bc99
|
|||
|
453552f9b1
|
|||
|
9f0a816876
|
|||
|
de121bca52
|
|||
|
401b308307
|
|||
|
|
acfaee0bd5 | ||
|
|
e0a863cd53 | ||
|
176d619b1f
|
|||
|
ffd62a4c32
|
|||
|
11600fbb34
|
|||
|
15c76331f8
|
|||
|
8fd5f30f19
|
|||
|
3a7b8e138c
|
|||
|
9fb3a29d64
|
|||
|
e966566fc3
|
|||
|
0730c8727d
|
|||
|
837be46b54
|
|||
|
b0afc6ce76
|
|||
|
97a0c97074
|
|||
|
f16faca114
|
|||
|
8e457d1870
|
|||
|
aa77fec353
|
|||
|
8b9e932c2d
|
24
.github/workflows/test.yaml
vendored
24
.github/workflows/test.yaml
vendored
@@ -14,6 +14,10 @@ jobs:
|
||||
YAML_VER: 0.0.6
|
||||
strategy:
|
||||
matrix:
|
||||
ghc:
|
||||
- '8.10.7'
|
||||
cabal:
|
||||
- '3.6.2.0'
|
||||
os:
|
||||
- ubuntu-latest
|
||||
steps:
|
||||
@@ -22,8 +26,22 @@ jobs:
|
||||
|
||||
- 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"
|
||||
@@ -39,7 +57,7 @@ jobs:
|
||||
|
||||
- name: Install ghcup-gen
|
||||
run: |
|
||||
cabal install --installdir="$HOME/.local/bin" --overwrite-policy=always --install-method=copy ghcup
|
||||
cabal install --installdir="$HOME/.local/bin" --overwrite-policy=always --install-method=copy ghcup-gen
|
||||
shell: bash
|
||||
|
||||
- name: Check
|
||||
|
||||
17
.gitignore
vendored
Normal file
17
.gitignore
vendored
Normal 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/
|
||||
@@ -7,7 +7,6 @@
|
||||
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'`
|
||||
|
||||
|
||||
29
cabal.project
Normal file
29
cabal.project
Normal file
@@ -0,0 +1,29 @@
|
||||
packages: ./ghcup-gen/ghcup-gen.cabal
|
||||
|
||||
package ghcup
|
||||
tests: False
|
||||
flags: -tui +no-exe
|
||||
|
||||
source-repository-package
|
||||
type: git
|
||||
location: https://gitlab.haskell.org/haskell/ghcup-hs.git
|
||||
tag: v0.1.17.4
|
||||
|
||||
constraints: http-io-streams -brotli,
|
||||
any.Cabal ==3.6.2.0,
|
||||
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
|
||||
|
||||
allow-newer: base, ghc-prim, template-haskell, language-c
|
||||
|
||||
486
ghcup-0.0.6.yaml
486
ghcup-0.0.6.yaml
@@ -130,6 +130,9 @@ toolRequirements:
|
||||
notes: On OS X, in the course of running ghcup you will be given a dialog
|
||||
box to install the command line tools. Accept and the requirements will
|
||||
be installed for you. You will then need to run the command again.
|
||||
|
||||
On Darwin M1 you might also need a working llvm installed (e.g. via brew)
|
||||
and have the toolchain exposed in PATH.
|
||||
FreeBSD:
|
||||
unknown_versioning:
|
||||
distroPKGs:
|
||||
@@ -234,7 +237,7 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 7 && < 8 )':
|
||||
'< 8':
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-x86_64-deb7-linux.tar.xz
|
||||
dlSubdir: ghc-8.0.2
|
||||
dlHash: b2f5c304b57ac5840a0d2ef763a3c6fa858c70840f749cfad12ed227da973c0a
|
||||
@@ -270,7 +273,7 @@ ghcupDownloads:
|
||||
dlHash: 8c42c1f4af995205b9816a1e97e2752fe758544c1f5fe77958cdcd319c9c2d53
|
||||
A_32:
|
||||
Linux_Debian:
|
||||
'( >= 7 && < 8 )':
|
||||
'< 8':
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.0.2/ghc-8.0.2-i386-deb7-linux.tar.xz
|
||||
dlSubdir: ghc-8.0.2
|
||||
dlHash: 07ead3a49f8c9df4b429e7a2f96f6f31bcab8d3ff8277a9aed0201d13ddad448
|
||||
@@ -298,7 +301,7 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 7 && < 8 )': &ghc-822-64-deb7
|
||||
'< 8': &ghc-822-64-deb7
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-x86_64-deb7-linux.tar.xz
|
||||
dlSubdir: ghc-8.2.2
|
||||
dlHash: cd7afbca54edf9890da9f432c63366556246c85c1198e40c99df5af01c555834
|
||||
@@ -339,7 +342,7 @@ ghcupDownloads:
|
||||
dlHash: 1e033df2092aa546e763e7be63167720b32df64f76673ea1ce7ae7c9f564b223
|
||||
A_32:
|
||||
Linux_Debian:
|
||||
'( >= 7 && < 8 )':
|
||||
'< 8':
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.2.2/ghc-8.2.2-i386-deb7-linux.tar.xz
|
||||
dlSubdir: ghc-8.2.2
|
||||
dlHash: cd18766b1a9b74fc6c90003a719ecab158f281f9a755d8b1bd3fd764ba6947b5
|
||||
@@ -426,7 +429,7 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 8 && < 9 )':
|
||||
'< 9':
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.4.2/ghc-8.4.2-x86_64-deb8-linux.tar.xz
|
||||
dlSubdir: ghc-8.4.2
|
||||
dlHash: 246f66eb56f4ad0f1c7755502cfc8f9972f2d067dede17e151f6f479c1f76fbd
|
||||
@@ -486,7 +489,7 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 8 && < 9 )':
|
||||
'< 9':
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.4.3/ghc-8.4.3-x86_64-deb8-linux.tar.xz
|
||||
dlSubdir: ghc-8.4.3
|
||||
dlHash: 30a402c6d4754a6c020e0547f19ae3ac42e907e35349aa932d347f73e421a8e2
|
||||
@@ -540,7 +543,7 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 8 && < 9 )':
|
||||
'< 9':
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.4.4/ghc-8.4.4-x86_64-deb8-linux.tar.xz
|
||||
dlSubdir: ghc-8.4.4
|
||||
dlHash: 4c2a8857f76b7f3e34ecba0b51015d5cb8b767fe5377a7ec477abde10705ab1a
|
||||
@@ -619,7 +622,7 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 8 && < 9 )':
|
||||
'< 9':
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.6.1/ghc-8.6.1-x86_64-deb8-linux.tar.xz
|
||||
dlSubdir: ghc-8.6.1
|
||||
dlHash: 6d8784401b7dd80c90fa17306ec0539920e3987399a2c7ef247989e53197dc42
|
||||
@@ -730,7 +733,7 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 8 && < 9 )':
|
||||
'< 9':
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.6.3/ghc-8.6.3-x86_64-deb8-linux.tar.xz
|
||||
dlSubdir: ghc-8.6.3
|
||||
dlHash: 291ca565374f4d51cc311488581f3279d3167a064fabfd4a6722fe2bd4532fd5
|
||||
@@ -799,7 +802,7 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 8 && < 9 )':
|
||||
'< 9':
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.6.4/ghc-8.6.4-x86_64-deb8-linux.tar.xz
|
||||
dlSubdir: ghc-8.6.4
|
||||
dlHash: 34ef5fc8ddf2fc32a027180bea5b1c8a81ea840c87faace2977a572188d4b42d
|
||||
@@ -853,7 +856,7 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 8 && < 9 )':
|
||||
'< 9':
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.6.5/ghc-8.6.5-x86_64-deb8-linux.tar.xz
|
||||
dlSubdir: ghc-8.6.5
|
||||
dlHash: c419fd0aa9065fe4d2eb9a248e323860c696ddf3859749ca96a84938aee49107
|
||||
@@ -938,7 +941,7 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 8 && < 9 )':
|
||||
'< 9':
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.8.1/ghc-8.8.1-x86_64-deb8-linux.tar.xz
|
||||
dlSubdir: ghc-8.8.1
|
||||
dlHash: fd96eb851971fbc3332bf2fa7821732cfa8b37e5a076a69f6a06f83f0ea7ccc5
|
||||
@@ -1002,7 +1005,7 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 8 && < 9 )':
|
||||
'< 9':
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.8.2/ghc-8.8.2-x86_64-deb8-linux.tar.xz
|
||||
dlSubdir: ghc-8.8.2
|
||||
dlHash: fbe69652eba75dadb758d00292247d17fb018c29cac5acd79843e56311256c9f
|
||||
@@ -1066,7 +1069,7 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 8 && < 9 )':
|
||||
'< 9':
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.8.3/ghc-8.8.3-x86_64-deb8-linux.tar.xz
|
||||
dlSubdir: ghc-8.8.3
|
||||
dlHash: 92b9fadc442976968d2c190c14e000d737240a7d721581cda8d8741b7bd402f0
|
||||
@@ -1140,7 +1143,7 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 8 && < 9 )':
|
||||
'< 9':
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.8.4/ghc-8.8.4-x86_64-deb8-linux.tar.xz
|
||||
dlSubdir: ghc-8.8.4
|
||||
dlHash: 51a36892f1264744195274187298d13ac62bce2da86d4ddf76d8054ab90f2feb
|
||||
@@ -1219,15 +1222,15 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-8101-64-deb9
|
||||
'< 10': &ghc-8101-64-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.1
|
||||
dlHash: d1cf7886f27af070f3b7dbe1975a78b43ef2d32b86362cbe953e79464fe70761
|
||||
'( >= 10 && < 11 )': &ghc-8101-64-deb10
|
||||
'>= 10': &ghc-8101-64-deb10
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-deb10-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.1
|
||||
dlHash: c1e31d798b013699b3c0de4fda27fb4cda47f572df0e75e3bd598a3012060615
|
||||
unknown_versioning: *ghc-8101-64-deb9
|
||||
unknown_versioning: *ghc-8101-64-deb10
|
||||
Linux_Ubuntu:
|
||||
unknown_versioning: &ghc-8101-64-fedora
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-x86_64-fedora27-linux.tar.xz
|
||||
@@ -1273,7 +1276,7 @@ ghcupDownloads:
|
||||
dlHash: 38a3166ea50cccd5bae7e1680eae3aae2b4ae31b61f82a1d8168fb821f43bd67
|
||||
A_32:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-8101-32-deb9
|
||||
'< 10': &ghc-8101-32-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.1/ghc-8.10.1-i386-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.1
|
||||
dlHash: 8b53eef2c827b5f634d72920a93c0c9dd66ea288691a2bfe28def45d3c686ee2
|
||||
@@ -1314,15 +1317,15 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-8102-64-deb9
|
||||
'< 10': &ghc-8102-64-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.2
|
||||
dlHash: 4dbe3b479e76767bfeb4cbb7a4db8b761c4720266193483ca370b2ace3f10f7c
|
||||
'( >= 10 && < 11 )': &ghc-8102-64-deb10
|
||||
'>= 10': &ghc-8102-64-deb10
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-deb10-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.2
|
||||
dlHash: 94513d82c38c848f489113a75fa5ef4e5a8e3ecfaa74ca90e2620d2193ff1632
|
||||
unknown_versioning: *ghc-8102-64-deb9
|
||||
unknown_versioning: *ghc-8102-64-deb10
|
||||
Linux_Ubuntu:
|
||||
unknown_versioning: &ghc-8102-64-fedora
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-x86_64-fedora27-linux.tar.xz
|
||||
@@ -1368,7 +1371,7 @@ ghcupDownloads:
|
||||
dlHash: dcae4c173b9896e07ff048de5509aa0a4537233150e06e5ce8848303dfadc176
|
||||
A_32:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-8102-32-deb9
|
||||
'< 10': &ghc-8102-32-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.2/ghc-8.10.2-i386-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.2
|
||||
dlHash: 9dae2a86ad43d08f72c783542c944d1556b075aa20a8063efae5034ea88e7c2f
|
||||
@@ -1409,15 +1412,15 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-8103-64-deb9
|
||||
'< 10': &ghc-8103-64-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.3
|
||||
dlHash: 95e4aadea30701fe5ab84d15f757926d843ded7115e11c4cd827809ca830718d
|
||||
'( >= 10 && < 11 )': &ghc-8103-64-deb10
|
||||
'>= 10': &ghc-8103-64-deb10
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-deb10-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.3
|
||||
dlHash: c8f3d9f0e61a89eaba1d3ad8fb2eced1af0e81576811261b887993bee12538ac
|
||||
unknown_versioning: *ghc-8103-64-deb9
|
||||
unknown_versioning: *ghc-8103-64-deb10
|
||||
Linux_Ubuntu:
|
||||
unknown_versioning: &ghc-8103-64-fedora
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-x86_64-fedora27-linux.tar.xz
|
||||
@@ -1463,7 +1466,7 @@ ghcupDownloads:
|
||||
dlHash: 927a6c699533a115cd49772ef2c753d9af2c13bf9f0b2d3bd13645cc6a144ee3
|
||||
A_32:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-8103-32-deb9
|
||||
'< 10': &ghc-8103-32-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.3/ghc-8.10.3-i386-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.3
|
||||
dlHash: f0addd2a16b705f58ff9e8702c3ddf3e2d6bd0d3555707b5b5095e51bafee7b1
|
||||
@@ -1505,15 +1508,15 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-8104-64-deb9
|
||||
'< 10': &ghc-8104-64-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.4
|
||||
dlHash: 5694200a5c38f22c142baf850b1d2f3784211d2ec9302e11693259a1ae8e38b7
|
||||
'( >= 10 && < 11 )': &ghc-8104-64-deb10
|
||||
'>= 10': &ghc-8104-64-deb10
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-deb10-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.4
|
||||
dlHash: 816365565e9927459b035515a7db6a0db62f9796f327389b6f8a0035d12fbda0
|
||||
unknown_versioning: *ghc-8104-64-deb9
|
||||
unknown_versioning: *ghc-8104-64-deb10
|
||||
Linux_Ubuntu:
|
||||
unknown_versioning: &ghc-8104-64-fedora
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-x86_64-fedora27-linux.tar.xz
|
||||
@@ -1559,7 +1562,7 @@ ghcupDownloads:
|
||||
dlHash: e9175a276504c3390a5e0084954e6997d56078737dbe7158049518892cf6bfb2
|
||||
A_32:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-8104-32-deb9
|
||||
'< 10': &ghc-8104-32-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.4/ghc-8.10.4-i386-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.4
|
||||
dlHash: 0022c5b9ac22825bb7b4745af3d92cef0ba1ecd01fab3ef387ddbd47146569ad
|
||||
@@ -1606,15 +1609,15 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-8105-64-deb9
|
||||
'< 10': &ghc-8105-64-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.5
|
||||
dlHash: 15e71325c3bdfe3804be0f84c2fc5c913d811322d19b0f4d4cff20f29cdd804d
|
||||
'( >= 10 && < 11 )': &ghc-8105-64-deb10
|
||||
'>= 10': &ghc-8105-64-deb10
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-deb10-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.5
|
||||
dlHash: bc623c20ca4c5c18e952071ba14aa0cfc5c94d34219bffaa615f7b491f376787
|
||||
unknown_versioning: *ghc-8105-64-deb9
|
||||
unknown_versioning: *ghc-8105-64-deb10
|
||||
Linux_Ubuntu:
|
||||
unknown_versioning: &ghc-8105-64-fedora
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-x86_64-fedora27-linux.tar.xz
|
||||
@@ -1660,7 +1663,7 @@ ghcupDownloads:
|
||||
dlHash: 4443d989df4f2680f681a4d8b8db310ce9582d21743984016b0eb0163b0c9998
|
||||
A_32:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-8105-32-deb9
|
||||
'< 10': &ghc-8105-32-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.5/ghc-8.10.5-i386-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.5
|
||||
dlHash: 0ccb5b2c1222374874795c35410754dd650f649b774872abbea2a4ef21ac9c9d
|
||||
@@ -1708,15 +1711,15 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-8106-64-deb9
|
||||
'< 10': &ghc-8106-64-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-x86_64-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.6
|
||||
dlHash: c14b631437ebc867f1fe1648579bc1dbe1a9b9ad31d7c801c3c77639523a83ae
|
||||
'( >= 10 && < 11 )': &ghc-8106-64-deb10
|
||||
'>= 10': &ghc-8106-64-deb10
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-x86_64-deb10-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.6
|
||||
dlHash: 95be925e310b8c419e1099d620a727a1ca2d8c918f33eb905a8221d7eb16467b
|
||||
unknown_versioning: *ghc-8106-64-deb9
|
||||
unknown_versioning: *ghc-8106-64-deb10
|
||||
Linux_Ubuntu:
|
||||
unknown_versioning: &ghc-8106-64-fedora
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-x86_64-fedora27-linux.tar.xz
|
||||
@@ -1738,9 +1741,9 @@ ghcupDownloads:
|
||||
unknown_versioning: *ghc-8106-64-centos
|
||||
Linux_Alpine:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-x86_64-alpine3.10-linux-integer-simple.tar.xz
|
||||
dlSubdir: ghc-8.10.6-x86_64-unknown-linux
|
||||
dlHash: f6c86909f665c9a01b9703450a500a5206a951ee43e6a0a227eebe1da0987d6a
|
||||
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/8.10.6/ghc-8.10.6-x86_64-alpine-linux-integer-gmp.tar.xz
|
||||
dlSubdir: ghc-8.10.6
|
||||
dlHash: 9abde42f1acb713d3423957c13af8c5e654f51126e66586f9b9c4df266c6c044
|
||||
Linux_AmazonLinux:
|
||||
unknown_versioning: *ghc-8106-64-centos
|
||||
Linux_UnknownLinux:
|
||||
@@ -1762,7 +1765,7 @@ ghcupDownloads:
|
||||
dlHash: ff62f4a245c2427a1a5e6f5f1c2ad7521f69f9274a27ffb17c76f252ca573f3b
|
||||
A_32:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-8106-32-deb9
|
||||
'< 10': &ghc-8106-32-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.6/ghc-8.10.6-i386-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.6
|
||||
dlHash: 31f934423d7971b462eaa53cf87b15265d11420578c5a8a04304348cb90f1c13
|
||||
@@ -1809,15 +1812,15 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-8107-64-deb9
|
||||
'< 10': &ghc-8107-64-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-x86_64-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.7
|
||||
dlHash: ced9870ea351af64fb48274b81a664cdb6a9266775f1598a79cbb6fdd5770a23
|
||||
'( >= 10 && < 11 )': &ghc-8107-64-deb10
|
||||
'>= 10': &ghc-8107-64-deb10
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-x86_64-deb10-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.7
|
||||
dlHash: a13719bca87a0d3ac0c7d4157a4e60887009a7f1a8dbe95c4759ec413e086d30
|
||||
unknown_versioning: *ghc-8107-64-deb9
|
||||
unknown_versioning: *ghc-8107-64-deb10
|
||||
Linux_Ubuntu:
|
||||
unknown_versioning: &ghc-8107-64-fedora
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-x86_64-fedora27-linux.tar.xz
|
||||
@@ -1839,9 +1842,9 @@ ghcupDownloads:
|
||||
unknown_versioning: *ghc-8107-64-centos
|
||||
Linux_Alpine:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-x86_64-alpine3.10-linux-integer-simple.tar.xz
|
||||
dlSubdir: ghc-8.10.7-x86_64-unknown-linux
|
||||
dlHash: 16903df850ef73d5246f2ff169cbf57ecab76c2ac5acfa9928934282cfad575c
|
||||
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/8.10.7/ghc-8.10.7-x86_64-alpine-linux-integer-gmp.tar.xz
|
||||
dlSubdir: ghc-8.10.7
|
||||
dlHash: fa9fbb921fba5a9482ac009800be43f0fe42c60e54fab55ded9f2327d624cb6d
|
||||
Linux_AmazonLinux:
|
||||
unknown_versioning: *ghc-8107-64-centos
|
||||
Linux_UnknownLinux:
|
||||
@@ -1863,7 +1866,7 @@ ghcupDownloads:
|
||||
dlHash: b6515b0ea3f7a6e34d92e7fcd0c1fef50d6030fe8f46883000185289a4b8ea9a
|
||||
A_32:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-8107-32-deb9
|
||||
'< 10': &ghc-8107-32-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/8.10.7/ghc-8.10.7-i386-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-8.10.7
|
||||
dlHash: fbfc1ef194f4e7a4c0da8c11cc69b17458a4b928b609b3622c97acc4acd5c5ab
|
||||
@@ -1898,7 +1901,6 @@ ghcupDownloads:
|
||||
dlHash: 3949c31bdf7d3b4afb765ea8246bca4ca9707c5d988d9961a244f0da100956a2
|
||||
9.0.1:
|
||||
viTags:
|
||||
- Latest
|
||||
- base-4.15.0.0
|
||||
viChangeLog: https://downloads.haskell.org/~ghc/9.0.1/docs/html/users_guide/9.0.1-notes.html
|
||||
viSourceDL:
|
||||
@@ -1909,15 +1911,15 @@ ghcupDownloads:
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-901-64-deb9
|
||||
'< 10': &ghc-901-64-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-9.0.1
|
||||
dlHash: 4ca6252492f59fe589029fadca4b6f922d6a9f0ff39d19a2bd9886fde4e183d5
|
||||
'( >= 10 && < 11 )': &ghc-901-64-deb10
|
||||
'>= 10': &ghc-901-64-deb10
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-deb10-linux.tar.xz
|
||||
dlSubdir: ghc-9.0.1
|
||||
dlHash: c253e7eb62cc9da6524c491c85ec8d3727c2ca6035a8653388e636aaa30a2a0f
|
||||
unknown_versioning: *ghc-901-64-deb9
|
||||
unknown_versioning: *ghc-901-64-deb10
|
||||
Linux_Ubuntu:
|
||||
unknown_versioning: &ghc-901-64-fedora
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-fedora27-linux.tar.xz
|
||||
@@ -1939,9 +1941,9 @@ ghcupDownloads:
|
||||
unknown_versioning: *ghc-901-64-centos
|
||||
Linux_Alpine:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-alpine3.10-linux-integer-simple.tar.xz
|
||||
dlSubdir: ghc-9.0.1-x86_64-unknown-linux
|
||||
dlHash: 7c1a0154c9e361b75be6cb0305533bb8a3b963c54e8092ffd1759e5710805a5c
|
||||
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/9.0.1/ghc-9.0.1-x86_64-alpine-linux-integer-gmp.tar.xz
|
||||
dlSubdir: ghc-9.0.1
|
||||
dlHash: 33dd5221ead3c81711f2a21fbf97b411327c837f2d1b8753e2de5e6e63abb805
|
||||
Linux_AmazonLinux:
|
||||
unknown_versioning: *ghc-901-64-centos
|
||||
Linux_UnknownLinux:
|
||||
@@ -1963,7 +1965,7 @@ ghcupDownloads:
|
||||
dlHash: 4f4ab118df01cbc7e7c510096deca0cb25025339a97730de0466416296202493
|
||||
A_32:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-901-32-deb9
|
||||
'< 10': &ghc-901-32-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-i386-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-9.0.1
|
||||
dlHash: 880e37cea8328401bcfecfe4bb56eb85195f30135b140140b3f24094264f8ba5
|
||||
@@ -1991,86 +1993,184 @@ ghcupDownloads:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-armv7-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-9.0.1
|
||||
dlHash: 6f404f9b88468407b3a9ec5800bcc2d01dd453ef3d63414853b4fbbd4d8df496
|
||||
9.2.0.20210821:
|
||||
9.0.2:
|
||||
viTags:
|
||||
- Prerelease
|
||||
- base-4.16.0.0
|
||||
viChangeLog: https://downloads.haskell.org/~ghc/9.2.1-rc1/docs/html/users_guide/index.html
|
||||
- base-4.15.1.0
|
||||
viChangeLog: https://downloads.haskell.org/~ghc/9.0.2/docs/html/users_guide/9.0.2-notes.html
|
||||
viSourceDL:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-src.tar.xz
|
||||
dlSubdir: ghc-9.2.0.20210821
|
||||
dlHash: 7c4772d9a22a1774a13f67a570719c339f744b1607fbddfdf4702bb1fbbd57e0
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.2/ghc-9.0.2-src.tar.xz
|
||||
dlSubdir: ghc-9.0.2
|
||||
dlHash: 140e42b96346322d1a39eb17602bcdc76e292028ad4a69286b230bab188a9197
|
||||
viPostRemove: *ghc-post-remove
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-921-rc1-64-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-x86_64-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-9.2.0.20210821
|
||||
dlHash: 4a561cb97f0cbe51de676d4e29968d49beb415a0190514d8f1a8f8ae0405f313
|
||||
'( >= 10 && < 11 )': &ghc-921-rc1-64-deb10
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-x86_64-deb10-linux.tar.xz
|
||||
dlSubdir: ghc-9.2.0.20210821
|
||||
dlHash: 28112271739b490635e7fd6ed1936949c3a3c41d4a7d95833bb47f420dd1a815
|
||||
unknown_versioning: *ghc-921-rc1-64-deb9
|
||||
'< 10': &ghc-902-64-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.2/ghc-9.0.2-x86_64-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-9.0.2
|
||||
dlHash: 805f5628ce6cec678ba77ff48c924831ebdf75ec2c66368e8935a618913a150e
|
||||
'>= 10': &ghc-902-64-deb10
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.2/ghc-9.0.2-x86_64-deb10-linux.tar.xz
|
||||
dlSubdir: ghc-9.0.2
|
||||
dlHash: 5d0b9414b10cfb918453bcd01c5ea7a1824fe95948b08498d6780f20ba247afc
|
||||
unknown_versioning: *ghc-902-64-deb10
|
||||
Linux_Ubuntu:
|
||||
unknown_versioning: &ghc-921-rc1-64-fedora
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-x86_64-fedora27-linux.tar.xz
|
||||
dlSubdir: ghc-9.2.0.20210821
|
||||
dlHash: 3c4d3874e4438baf54bdf8bcbdca60a7416ca88c32da1823127dd3159bbede62
|
||||
'( >= 16 && < 19 )': *ghc-921-rc1-64-deb9
|
||||
unknown_versioning: &ghc-902-64-fedora
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.2/ghc-9.0.2-x86_64-fedora27-linux.tar.xz
|
||||
dlSubdir: ghc-9.0.2
|
||||
dlHash: f42f7bf075665a3971fa0d9b881f1400725e9e6cc3b5067cb83442f578c62691
|
||||
'( >= 16 && < 19 )': *ghc-902-64-deb9
|
||||
Linux_Mint:
|
||||
unknown_versioning: *ghc-921-rc1-64-deb10
|
||||
unknown_versioning: *ghc-902-64-deb10
|
||||
Linux_Fedora:
|
||||
'( >= 27 && < 28 )': *ghc-921-rc1-64-fedora
|
||||
unknown_versioning: *ghc-921-rc1-64-fedora
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning: *ghc-921-rc1-64-fedora
|
||||
FreeBSD:
|
||||
'( >= 27 && < 28 )': *ghc-902-64-fedora
|
||||
unknown_versioning: *ghc-902-64-fedora
|
||||
Linux_CentOS:
|
||||
'( >= 7 && < 8 )': &ghc-902-64-centos
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.2/ghc-9.0.2-x86_64-centos7-linux.tar.xz
|
||||
dlSubdir: ghc-9.0.2
|
||||
dlHash: 42c78fa5ca8eb2bc7fabb8b9d7634d5b0ddd81c7fe16d8e212aeb9dac91a4f4e
|
||||
unknown_versioning: *ghc-902-64-centos
|
||||
Linux_RedHat:
|
||||
unknown_versioning: *ghc-902-64-centos
|
||||
Linux_Alpine:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-x86_64-unknown-freebsd.tar.xz
|
||||
dlSubdir: ghc-9.2.0.20210821
|
||||
dlHash: ed31d0ca40588fcbed4f03e83e49abea7babb37e528bb36ab3c1fb6191c4c422
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.2/ghc-9.0.2-x86_64-alpine3.12-linux-gmp.tar.xz
|
||||
dlSubdir: ghc-9.0.2-x86_64-unknown-linux
|
||||
dlHash: 5bb1e7192c2b9fcff68930dbdc65509d345138e9a43c5d447056a68decc05ec8
|
||||
Linux_AmazonLinux:
|
||||
unknown_versioning: *ghc-902-64-centos
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning: *ghc-902-64-fedora
|
||||
Darwin:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-x86_64-apple-darwin.tar.xz
|
||||
dlSubdir: ghc-9.2.0.20210821-x86_64-apple-darwin
|
||||
dlHash: 38199ca35117cc1f4372a4b6692596f8639688c286d2a0d09bc7336826c05e10
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.2/ghc-9.0.2-x86_64-apple-darwin.tar.xz
|
||||
dlSubdir: ghc-9.0.2-x86_64-apple-darwin
|
||||
dlHash: e1fe990eb987f5c4b03e0396f9c228a10da71769c8a2bc8fadbc1d3b10a0f53a
|
||||
FreeBSD:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.2/ghc-9.0.2-x86_64-portbld-freebsd.tar.xz
|
||||
dlSubdir: ghc-9.0.2
|
||||
dlHash: 1c8057803e3d8dcb86b5e36a1cfcad15d95bdf6a202f4ac614aea5952d34673d
|
||||
Windows:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-x86_64-unknown-mingw32.tar.xz
|
||||
dlSubdir: ghc-9.2.0.20210821-x86_64-unknown-mingw32
|
||||
dlHash: 3926620698cb43b9e9a5381b4c3b7b84d22c67b3509a546581aa17afecd6a846
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.2/ghc-9.0.2-x86_64-unknown-mingw32.tar.xz
|
||||
dlSubdir: ghc-9.0.2-x86_64-unknown-mingw32
|
||||
dlHash: f6fbb8047ae16049dc6215a6abb652b4307205310bfffddea695a854af92dc99
|
||||
A_32:
|
||||
Linux_Debian:
|
||||
'( >= 9 && < 10 )': &ghc-921-rc1-32-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-i386-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-9.2.0.20210821
|
||||
dlHash: 30b25b787a787473988a785606b01099ce077f99d5c08940c0024537433f5084
|
||||
unknown_versioning: *ghc-921-rc1-32-deb9
|
||||
'< 10': &ghc-902-32-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.2/ghc-9.0.2-i386-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-9.0.2
|
||||
dlHash: fdeb9f8928fbe994064778a8e1e85bb1a58a6cd3dd7b724fcc2a1dcfda6cad47
|
||||
unknown_versioning: *ghc-902-32-deb9
|
||||
Linux_Ubuntu:
|
||||
unknown_versioning: *ghc-921-rc1-32-deb9
|
||||
unknown_versioning: *ghc-902-32-deb9
|
||||
Linux_Mint:
|
||||
unknown_versioning: *ghc-921-rc1-32-deb9
|
||||
unknown_versioning: *ghc-902-32-deb9
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning: *ghc-921-rc1-32-deb9
|
||||
unknown_versioning: *ghc-902-32-deb9
|
||||
Linux_Alpine:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/ghc/9.0.2/ghc-9.0.2-i386-alpine-linux.tar.xz
|
||||
dlSubdir: ghc-9.0.2
|
||||
dlHash: 13d00eacd9a9fdc3453f3cfa43a79ea6ab88746f20622dd50e2c1f4db34c06c9
|
||||
A_ARM64:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-aarch64-deb10-linux.tar.xz
|
||||
dlSubdir: ghc-9.2.0.20210821
|
||||
dlHash: 289fc361be4a3199ac15449e30405a9831454811dd454e81eab73bfcdd2c4088
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.2/ghc-9.0.2-aarch64-deb10-linux.tar.xz
|
||||
dlSubdir: ghc-9.0.2
|
||||
dlHash: cb016344c70a872738a24af60bd15d3b18749087b9905c1b3f1b1549dc01f46d
|
||||
Darwin:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-aarch64-apple-darwin.tar.xz
|
||||
dlSubdir: ghc-9.2.0.20210821-aarch64-apple-darwin
|
||||
dlHash: 0d763fb619cfa32fa37c113c446e13bebc2215db5946e5fa8fd8400559cf4152
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.0.2/ghc-9.0.2-aarch64-apple-darwin.tar.xz
|
||||
dlSubdir: ghc-9.0.2-aarch64-apple-darwin
|
||||
dlHash: b1fcab17fe48326d2ff302d70c12bc4cf4d570dfbbce68ab57c719cfec882b05
|
||||
9.2.1:
|
||||
viTags:
|
||||
- Latest
|
||||
- base-4.16.0.0
|
||||
viChangeLog: https://downloads.haskell.org/~ghc/9.2.1/docs/html/users_guide/index.html
|
||||
viSourceDL:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1/ghc-9.2.1-src.tar.xz
|
||||
dlSubdir: ghc-9.2.1
|
||||
dlHash: f444012f97a136d9940f77cdff03fda48f9475e2ed0fec966c4d35c4df55f746
|
||||
viPostRemove: *ghc-post-remove
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_Debian:
|
||||
'< 10': &ghc-921-64-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1/ghc-9.2.1-x86_64-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-9.2.1
|
||||
dlHash: f09133ed735e9f3b221b5ed54787e5651f039ed0f7dab0ab834a27c8ca68fc9b
|
||||
'>= 10': &ghc-921-64-deb10
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1/ghc-9.2.1-x86_64-deb10-linux.tar.xz
|
||||
dlSubdir: ghc-9.2.1
|
||||
dlHash: 53f1650ed092230480ff5750b94f409e5dfe66bd07ced00bbbcdf5d6b180234c
|
||||
unknown_versioning: *ghc-921-64-deb10
|
||||
Linux_Ubuntu:
|
||||
unknown_versioning: &ghc-921-64-fedora
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1/ghc-9.2.1-x86_64-fedora27-linux.tar.xz
|
||||
dlSubdir: ghc-9.2.1
|
||||
dlHash: e37cd1fe64006dd42f418dacbae3fea0938ce0905407cfc7c3ea61054f5d5329
|
||||
'( >= 16 && < 19 )': *ghc-921-64-deb9
|
||||
Linux_Mint:
|
||||
unknown_versioning: *ghc-921-64-deb10
|
||||
Linux_Fedora:
|
||||
'( >= 27 && < 28 )': *ghc-921-64-fedora
|
||||
unknown_versioning: *ghc-921-64-fedora
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning: *ghc-921-64-fedora
|
||||
Darwin:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1/ghc-9.2.1-x86_64-apple-darwin.tar.xz
|
||||
dlSubdir: ghc-9.2.1-x86_64-apple-darwin
|
||||
dlHash: c527700a210306098ce85d2c956089deea539aefe1d1816701d5c14cf9c113b7
|
||||
Windows:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1/ghc-9.2.1-x86_64-unknown-mingw32.tar.xz
|
||||
dlSubdir: ghc-9.2.1-x86_64-unknown-mingw32
|
||||
dlHash: 649e04abd4fa35796070b35de1c353721507a49842b18663aa1c7adc6b4115d8
|
||||
Linux_Alpine:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1/ghc-9.2.1-x86_64-alpine3.12-linux-gmp.tar.xz
|
||||
dlSubdir: ghc-9.2.1-x86_64-unknown-linux
|
||||
dlHash: 952b37671ef2838961e53949f4eecb4667d57472720058922929005ea7dc5b15
|
||||
A_32:
|
||||
Linux_Debian:
|
||||
'< 10': &ghc-921-32-deb9
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1/ghc-9.2.1-i386-deb9-linux.tar.xz
|
||||
dlSubdir: ghc-9.2.1
|
||||
dlHash: 6daa9e983fbe5af5a3c449c92e5b331d2ecb8e76ea07fc4e237ba5ff27af2c45
|
||||
unknown_versioning: *ghc-921-32-deb9
|
||||
Linux_Ubuntu:
|
||||
unknown_versioning: *ghc-921-32-deb9
|
||||
Linux_Mint:
|
||||
unknown_versioning: *ghc-921-32-deb9
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning: *ghc-921-32-deb9
|
||||
Linux_Alpine:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/9.2.1/ghc-9.2.1-i386-unknown-linux.tar.xz
|
||||
dlSubdir: ghc-9.2.1-i386-unknown-linux
|
||||
dlHash: 92e8c4d3eee1ede5bbc324b3ebad0bdb891413a872335733b754543162dadd98
|
||||
A_ARM64:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1/ghc-9.2.1-aarch64-deb10-linux.tar.xz
|
||||
dlSubdir: ghc-9.2.1
|
||||
dlHash: 717d4246a8b407a807048ce6eddb2785aca2e4c73b6b634c01e1726f42d539a1
|
||||
Darwin:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1/ghc-9.2.1-aarch64-apple-darwin.tar.xz
|
||||
dlSubdir: ghc-9.2.1-aarch64-apple-darwin
|
||||
dlHash: 356b99081ae38ded43b78840d673e8c782e0088e9a2aea0e19faaf677ccb54cf
|
||||
A_ARM:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.2.1-rc1/ghc-9.2.0.20210821-armv7-deb10-linux.tar.xz
|
||||
dlSubdir: ghc-9.2.0.20210821
|
||||
dlHash: 9ff0be63191181700a1f51c453056c2dab16e11ecb7a4b1dd72e4b7aad5999a6
|
||||
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/9.2.1/ghc-9.2.1-armv7-linux-deb10.tar.xz
|
||||
dlSubdir: ghc-9.2.1
|
||||
dlHash: 3bde9deeb6969ff0f5aea566d2602edc57f5f3ca158b4c03f039c44d8c51ea0f
|
||||
Cabal:
|
||||
2.4.1.0:
|
||||
viTags:
|
||||
@@ -2233,8 +2333,7 @@ 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
|
||||
3.4.1.0:
|
||||
viTags:
|
||||
- Recommended
|
||||
viTags: []
|
||||
viChangeLog: https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.4.1.0.md
|
||||
viArch:
|
||||
A_64:
|
||||
@@ -2335,6 +2434,7 @@ ghcupDownloads:
|
||||
3.6.2.0:
|
||||
viTags:
|
||||
- Latest
|
||||
- Recommended
|
||||
viChangeLog: https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.6.2.0.md
|
||||
viArch:
|
||||
A_64:
|
||||
@@ -2382,7 +2482,7 @@ ghcupDownloads:
|
||||
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.6.2.0/cabal-install-3.6.2.0-armv7-linux-deb10.tar.xz
|
||||
dlHash: 694ba7c14f8d720c6e790ab0488dbff2d8a07d9c6de97b4deeba31088f825bc2
|
||||
GHCup:
|
||||
0.1.17.2:
|
||||
0.1.17.4:
|
||||
viTags:
|
||||
- Recommended
|
||||
- Latest
|
||||
@@ -2392,46 +2492,46 @@ ghcupDownloads:
|
||||
A_64:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning: &ghcup-64
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/x86_64-linux-ghcup-0.1.17.2
|
||||
dlHash: e9adb022b9bcfe501caca39e76ae7241af0f30fbb466a2202837a7a578607daf
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.4/x86_64-linux-ghcup-0.1.17.4
|
||||
dlHash: a737cdf850d4874659050968b42745229f44b32cb40f7f3ad90b3820bb969582
|
||||
Darwin:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/x86_64-apple-darwin-ghcup-0.1.17.2
|
||||
dlHash: 9418dab0f603b25f925739d66ca2328e876ce5197c131d7e75060f8edf7c57c9
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.4/x86_64-apple-darwin-ghcup-0.1.17.4
|
||||
dlHash: f49841668e224381be8ee63579492ff01dc730019fd0d3047d2628103da9fcbb
|
||||
FreeBSD:
|
||||
'( >= 12 && < 13 )':
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/x86_64-portbld-freebsd12-ghcup-0.1.17.2
|
||||
dlHash: b6f0558e66f95a0772a60902c2c96202d0271d8d963db436a1359f1c4e1d2947
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.4/x86_64-freebsd12-ghcup-0.1.17.4
|
||||
dlHash: 3fd8b644ddee0614cd1aaac8e066f69f13647e76b381f61a68099e29f8e8db53
|
||||
'( >= 13 )':
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/x86_64-portbld-freebsd13-ghcup-0.1.17.2
|
||||
dlHash: 5bd5760dd29117ca2797a87b79f99b804743e7e64fcdcfe6ad6436314423ef84
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.4/x86_64-freebsd13-ghcup-0.1.17.4
|
||||
dlHash: 2245bcfbb6a20c400e11726e87610e73968d6611ddfceaa66ebe9ce6ef72e9cf
|
||||
Windows:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/x86_64-mingw64-ghcup-0.1.17.2.exe
|
||||
dlHash: 17ab704551c691067d590760c513891d0d0d375efb59dc3c99219fdf352fed71
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.4/x86_64-mingw64-ghcup-0.1.17.4.exe
|
||||
dlHash: e39791a87f4c1561082214b722c982ba92c4c25e1f686f2083872e096cd05280
|
||||
Linux_Alpine:
|
||||
unknown_versioning: *ghcup-64
|
||||
A_32:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning: &ghcup-32
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/i386-linux-ghcup-0.1.17.2
|
||||
dlHash: eb29a33ed9798c94ed05b10c66c2cd6690a4d5aa79ed7ce6a9b8564e0c095ff4
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.4/i386-linux-ghcup-0.1.17.4
|
||||
dlHash: 889357956397a4f77eb320e39fc1c628c7c51bd7934095bc87792959ecd0e62d
|
||||
Linux_Alpine:
|
||||
unknown_versioning: *ghcup-32
|
||||
A_ARM64:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/aarch64-linux-ghcup-0.1.17.2
|
||||
dlHash: ad72641877f91f1cc5142151dafad68566f439114f96a738837ed549430173a5
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.4/aarch64-linux-ghcup-0.1.17.4
|
||||
dlHash: 5a3075337e638245d182d9d27030cddbd3cb5e3ab8e3e88cd3ae412d2974c4a2
|
||||
Darwin:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/aarch64-apple-darwin-ghcup-0.1.17.2
|
||||
dlHash: bf8691a88627b02253c2068537dc16e7eb1d3dbb22bcb1342cb7f0d00df08fd5
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.4/aarch64-apple-darwin-ghcup-0.1.17.4
|
||||
dlHash: 6e7a9c009d152e291ad67f6399ccba87a71f9e9698a9cda3b1854b85bf3c6565
|
||||
A_ARM:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.2/armv7-linux-ghcup-0.1.17.2
|
||||
dlHash: 03f2f8aaa8393372e9f7e16061703eda3f497b9604171825995389f3d5cc8f8f
|
||||
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.4/armv7-linux-ghcup-0.1.17.4
|
||||
dlHash: 1ae599a96daf8de717b80a0bf8e7575b533b4baadb5f5720e478146b58e90a2a
|
||||
HLS:
|
||||
1.1.0:
|
||||
viTags:
|
||||
@@ -2479,7 +2579,8 @@ ghcupDownloads:
|
||||
Linux_Alpine:
|
||||
unknown_versioning: *hls-120-64
|
||||
1.3.0:
|
||||
viTags: []
|
||||
viTags:
|
||||
- old
|
||||
viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#130
|
||||
viPostInstall: *hls-post-install
|
||||
viArch:
|
||||
@@ -2499,9 +2600,7 @@ ghcupDownloads:
|
||||
Linux_Alpine:
|
||||
unknown_versioning: *hls-130-64
|
||||
1.4.0:
|
||||
viTags:
|
||||
- Recommended
|
||||
- Latest
|
||||
viTags: []
|
||||
viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#140
|
||||
viPostInstall: *hls-post-install
|
||||
viSourceDL:
|
||||
@@ -2542,6 +2641,96 @@ ghcupDownloads:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/haskell-language-server/1.4.0/haskell-language-server-linux-armv7-1.4.0.tar.gz
|
||||
dlHash: 4a921fbca06b02f3b1c0930cec5e65e9362b603e7715680ec7b150f18bd703d6
|
||||
1.5.0:
|
||||
viTags: []
|
||||
viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#150
|
||||
viPostInstall: *hls-post-install
|
||||
viSourceDL:
|
||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.5.0/haskell-language-server-1.5.0-src.tar.gz
|
||||
dlSubdir: haskell-language-server-1.5.0
|
||||
dlHash: fb801c0693cb98446667b94bd858dcaaca2c1e18ec12bf260c4c928023bdfd06
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning: &hls-150-64
|
||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.5.0/haskell-language-server-Linux-1.5.0.tar.gz
|
||||
dlHash: 9fcd5f97de4efa92534b199965aa4aff7907fdc0eff4e2ae5af4c8b33cca2acc
|
||||
Darwin:
|
||||
unknown_versioning:
|
||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.5.0/haskell-language-server-macOS-1.5.0.tar.gz
|
||||
dlHash: 4557c0692f3ea0fc67e171b80c15dc9556d94853ab7d2f1a5ad882d0c50ce31c
|
||||
FreeBSD:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/haskell-language-server/1.5.0/haskell-language-server-FreeBSD-1.5.0.tar.xz
|
||||
dlHash: a399cb7b2ab76d1d4e481f2dd234da30f78c3f4790bac6a44635f636ce3b4d72
|
||||
Windows:
|
||||
unknown_versioning:
|
||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.5.0/haskell-language-server-Windows-1.5.0.tar.gz
|
||||
dlHash: 60c4a876181b4372a9b883b9257680517462f0400d9ac0b5aca38cbedb6fec8a
|
||||
Linux_Alpine:
|
||||
unknown_versioning: *hls-150-64
|
||||
A_ARM64:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/haskell-language-server/1.5.0/haskell-language-server-linux-aarch64-1.5.0.tar.xz
|
||||
dlHash: 7310a233094e0d4303f72afbb49b724c68a25a20fcb16354f862dd95ca63ad0a
|
||||
Darwin:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/haskell-language-server/1.5.0/haskell-language-server-macOS-aarch64-1.5.0.tar.xz
|
||||
dlHash: ebabc495c7741bb8969470ac94a6a58e4e88be2feb2ca7e28060ba7dce044b38
|
||||
A_ARM:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/haskell-language-server/1.5.0/haskell-language-server-linux-armv7-1.5.0.tar.xz
|
||||
dlHash: 7115c5861d8d30206ba2600d1a294539f3a15c09a1cb88ce48ac75dc5034e38a
|
||||
1.5.1:
|
||||
viTags:
|
||||
- Recommended
|
||||
- Latest
|
||||
viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#151
|
||||
viPostInstall: *hls-post-install
|
||||
viSourceDL:
|
||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.5.1/haskell-language-server-1.5.1-src.tar.gz
|
||||
dlSubdir: haskell-language-server-1.5.1
|
||||
dlHash: fa2b1d39d413283202ee1f75e4ad9fc44544535741370d6f1e63afd5878d9e40
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning: &hls-151-64
|
||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.5.1/haskell-language-server-Linux-1.5.1.tar.gz
|
||||
dlHash: 8c6406f46181f31e2314ec008bd290bfcdfe2c6126851934b3b11d7d0266c554
|
||||
Darwin:
|
||||
unknown_versioning:
|
||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.5.1/haskell-language-server-macOS-1.5.1.tar.gz
|
||||
dlHash: 9efcff9ed2b8f07176899dfdb1b2ad6161f994e56102cf020cbe9602ad0a0e34
|
||||
FreeBSD:
|
||||
'( >= 12 && < 13 )':
|
||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.5.1/haskell-language-server-FreeBSD-1.5.1.tar.xz
|
||||
dlHash: 79d0ca919800f361dca9d69ce822b6ac178f60c6594925e24e8931f9328e68c6
|
||||
'( >= 13 )':
|
||||
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/haskell-language-server/1.5.1/haskell-language-server-1.5.1.0-x86_64-freebsd13.tar.xz
|
||||
dlHash: 86152ac4c5400fc17b7459f4f94d2b41395ac6860511db7ca9ba1c41510636b2
|
||||
Windows:
|
||||
unknown_versioning:
|
||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.5.1/haskell-language-server-Windows-1.5.1.tar.gz
|
||||
dlHash: 353756304f8a912e329a6d18e588560d3ee8d34fe5ca14a0c7adee787d350bb0
|
||||
Linux_Alpine:
|
||||
unknown_versioning: *hls-151-64
|
||||
A_ARM64:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning:
|
||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.5.1/haskell-language-server-Linux-aarch64-1.5.1.tar.xz
|
||||
dlHash: 1f4252132f1eec5d84f5e5b7a296e90f2c8ab401f07f3a3de645110ba0190894
|
||||
Darwin:
|
||||
unknown_versioning:
|
||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.5.1/haskell-language-server-macOS-aarch64-1.5.1.tar.xz
|
||||
dlHash: af8f5038678f8e16466a885e9d56dc9ae750d1e19426c16716410d032515c7fc
|
||||
A_ARM:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning:
|
||||
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.5.1/haskell-language-server-Linux-armv7-1.5.1.tar.xz
|
||||
dlHash: d28beb003581d5a2133099fd59c83a49af850e7b5cbca72fb3df088d218e0f2b
|
||||
|
||||
Stack:
|
||||
2.5.1:
|
||||
viTags:
|
||||
@@ -2552,7 +2741,7 @@ ghcupDownloads:
|
||||
GHC versions you can run the following commands:
|
||||
stack config set install-ghc false --global
|
||||
stack config set system-ghc true --global
|
||||
|
||||
|
||||
On windows, you may find the following config options useful too:
|
||||
skip-msys, extra-path, extra-include-dirs, extra-lib-dirs
|
||||
|
||||
@@ -2634,6 +2823,31 @@ ghcupDownloads:
|
||||
dlHash: e6ba12e0ecabf0df2567d88a0d247da238bc114bcccfca4195f5e86472c9330c
|
||||
dlSubdir:
|
||||
RegexDir: "stack-.*"
|
||||
FreeBSD:
|
||||
'>= 12':
|
||||
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.7.3/stack-2.7.3-freebsd-x86_64.tar.gz
|
||||
dlHash: 000ffd88795b628b1438266827894f6af1c5d020217610eda19962915dd935b3
|
||||
Linux_Alpine:
|
||||
unknown_versioning: *stack-273-64
|
||||
A_32:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning: &stack-273-32
|
||||
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.7.3/stack-2.7.3-linux-i386.tar.gz
|
||||
dlHash: 507730fcee5289c90811633d48d3ec437f165eec9c700908bbfc1e21c226effd
|
||||
Linux_Alpine:
|
||||
unknown_versioning: *stack-273-32
|
||||
A_ARM64:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.7.3/stack-2.7.3-linux-aarch64.tar.gz
|
||||
dlHash: d9721a46fcff2d9873c1bb6310116e21b0a6923fc5c952849843d27f0225c2a2
|
||||
Darwin:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.7.3/stack-2.7.3-osx-aarch64.tar.gz
|
||||
dlHash: 9abaf77787cdad8c2db97a087c6295f197f256181602b4424f03220ae21b47d9
|
||||
A_ARM:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning:
|
||||
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.7.3/stack-2.7.3-linux-armv7.tar.gz
|
||||
dlHash: 3e22c66ea38525ca2ee5b0d222c8aa193c50152a53ff2c80ae179a40592512fe
|
||||
|
||||
|
||||
Binary file not shown.
6
ghcup-gen/CHANGELOG.md
Normal file
6
ghcup-gen/CHANGELOG.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# Revision history for ghcup-gen
|
||||
|
||||
## 0.1.17.3 -- 2021-10-27
|
||||
|
||||
* First release (split from ghcup)
|
||||
|
||||
165
ghcup-gen/LICENSE
Normal file
165
ghcup-gen/LICENSE
Normal 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.
|
||||
155
ghcup-gen/Main.hs
Normal file
155
ghcup-gen/Main.hs
Normal file
@@ -0,0 +1,155 @@
|
||||
{-# 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.Utils.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 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
|
||||
}
|
||||
|
||||
data Command = ValidateYAML ValidateYAMLOpts
|
||||
| ValidateTarballs ValidateYAMLOpts TarballFilter
|
||||
|
||||
|
||||
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
|
||||
{ vInput :: Maybe Input
|
||||
}
|
||||
|
||||
validateYAMLOpts :: Parser ValidateYAMLOpts
|
||||
validateYAMLOpts = ValidateYAMLOpts <$> optional inputP
|
||||
|
||||
tarballFilterP :: Parser TarballFilter
|
||||
tarballFilterP = option readm $
|
||||
long "tarball-filter" <> short 'u' <> metavar "<tool>-<version>" <> value def
|
||||
<> help "Only check certain tarballs (format: <tool>-<version>)"
|
||||
where
|
||||
def = TarballFilter (Right Nothing) (makeRegex ("" :: String))
|
||||
readm = do
|
||||
s <- str
|
||||
case span (/= '-') s of
|
||||
(_, []) -> fail "invalid format, missing '-' after the tool name"
|
||||
(t, v) | [tool] <- [ tool | tool <- [minBound..maxBound], low (show tool) == low t ] ->
|
||||
pure (TarballFilter $ Right $ Just tool) <*> makeRegexOptsM compIgnoreCase execBlank (drop 1 v)
|
||||
(t, v) | [tool] <- [ tool | tool <- [minBound..maxBound], low (show tool) == low t ] ->
|
||||
pure (TarballFilter $ Left tool) <*> makeRegexOptsM compIgnoreCase execBlank (drop 1 v)
|
||||
_ -> 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)")
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
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 False Never Curl True GHCupURL False GPGNone False) 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 False Never Curl True GHCupURL False GPGNone False) dirs defaultKeyBindings (GHCupInfo mempty mempty mempty) pfreq loggerConfig
|
||||
|
||||
_ <- customExecParser (prefs showHelpOnError) (info (opts <**> helper) idm)
|
||||
>>= \Options {..} -> case optCommand of
|
||||
ValidateYAML vopts -> withValidateYamlOpts vopts (\dl m -> flip runReaderT appstate $ validate dl m)
|
||||
ValidateTarballs vopts tarballFilter -> withValidateYamlOpts vopts (\dl m -> flip runReaderT appstate $ validateTarballs tarballFilter dl m)
|
||||
pure ()
|
||||
|
||||
where
|
||||
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
|
||||
(GHCupInfo _ av gt) <- case Y.decodeEither' contents of
|
||||
Right r -> pure r
|
||||
Left e -> die (color Red $ displayException e)
|
||||
f av gt
|
||||
>>= exitWith
|
||||
280
ghcup-gen/Validate.hs
Normal file
280
ghcup-gen/Validate.hs
Normal file
@@ -0,0 +1,280 @@
|
||||
{-# 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.Utils.Logger
|
||||
import GHCup.Utils.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
|
||||
|
||||
|
||||
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)
|
||||
=> GHCupDownloads
|
||||
-> M.Map GlobalTool DownloadInfo
|
||||
-> m ExitCode
|
||||
validate dls _ = do
|
||||
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 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 = 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
|
||||
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 (Base _) = False
|
||||
isUniqueTag (UnknownTag _) = False
|
||||
|
||||
checkGHCVerIsValid = do
|
||||
let ghcVers = toListOf (ix GHC % to M.keys % 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
|
||||
let allTags = _viTags =<< M.elems (availableToolVersions dls tool)
|
||||
forM_ [Latest, Recommended] $ \t -> case t `elem` allTags of
|
||||
False -> do
|
||||
lift $ logError $ "Tag " <> T.pack (prettyShow t) <> " missing from " <> T.pack (prettyShow tool)
|
||||
addError
|
||||
True -> pure ()
|
||||
|
||||
-- all GHC versions must have a base tag
|
||||
checkGHCHasBaseVersion = do
|
||||
let allTags = M.toList $ availableToolVersions dls GHC
|
||||
forM allTags $ \(ver, _viTags -> tags) -> case any isBase tags of
|
||||
False -> do
|
||||
lift $ logError $ "Base tag missing from GHC ver " <> prettyVer ver
|
||||
addError
|
||||
True -> pure ()
|
||||
|
||||
isBase (Base _) = True
|
||||
isBase _ = False
|
||||
|
||||
data TarballFilter = TarballFilter
|
||||
{ tfTool :: Either GlobalTool (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
|
||||
)
|
||||
=> TarballFilter
|
||||
-> GHCupDownloads
|
||||
-> M.Map GlobalTool DownloadInfo
|
||||
-> m ExitCode
|
||||
validateTarballs (TarballFilter etool versionRegex) dls gt = do
|
||||
ref <- liftIO $ newIORef 0
|
||||
|
||||
-- download/verify all tarballs
|
||||
let dlis = either (const []) (\tool -> nubOrd $ dls ^.. each %& indices (maybe (const True) (==) tool) %> each %& indices (matchTest versionRegex . T.unpack . prettyVer) % (viSourceDL % _Just `summing` viArch % each % each % each)) etool
|
||||
let gdlis = nubOrd $ gt ^.. each
|
||||
let allDls = either (const gdlis) (const dlis) etool
|
||||
when (null allDls) $ logError "no tarballs selected by filter" *> runReaderT addError ref
|
||||
forM_ allDls (downloadAll ref)
|
||||
|
||||
-- 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
|
||||
]
|
||||
$ do
|
||||
case etool of
|
||||
Right (Just GHCup) -> do
|
||||
tmpUnpack <- lift mkGhcupTmpDir
|
||||
_ <- liftE $ download (_dlUri dli) Nothing (Just (_dlHash dli)) tmpUnpack Nothing False
|
||||
pure Nothing
|
||||
Right _ -> do
|
||||
p <- liftE $ downloadCached dli Nothing
|
||||
fmap (Just . head . splitDirectories . head)
|
||||
. liftE
|
||||
. getArchiveFiles
|
||||
$ p
|
||||
Left ShimGen -> do
|
||||
tmpUnpack <- lift mkGhcupTmpDir
|
||||
_ <- liftE $ download (_dlUri dli) Nothing (Just (_dlHash dli)) tmpUnpack Nothing False
|
||||
pure Nothing
|
||||
case r of
|
||||
VRight (Just basePath) -> do
|
||||
case _dlSubdir dli of
|
||||
Just (RealDir prel) -> do
|
||||
logInfo
|
||||
$ " verifying subdir: " <> T.pack prel
|
||||
when (basePath /= prel) $ do
|
||||
logError $
|
||||
"Subdir doesn't match: expected " <> T.pack prel <> ", got " <> T.pack basePath
|
||||
runReaderT addError ref
|
||||
Just (RegexDir regexString) -> do
|
||||
logInfo $
|
||||
"verifying subdir (regex): " <> T.pack regexString
|
||||
let regex = makeRegexOpts
|
||||
compIgnoreCase
|
||||
execBlank
|
||||
regexString
|
||||
unless (match regex basePath) $ do
|
||||
logError $
|
||||
"Subdir doesn't match: expected regex " <> T.pack regexString <> ", got " <> T.pack basePath
|
||||
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
|
||||
65
ghcup-gen/ghcup-gen.cabal
Normal file
65
ghcup-gen/ghcup-gen.cabal
Normal file
@@ -0,0 +1,65 @@
|
||||
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
|
||||
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:
|
||||
, base >=4.13 && <5
|
||||
, bytestring ^>=0.10
|
||||
, containers ^>=0.6
|
||||
, filepath ^>=1.4.2.1
|
||||
, ghcup ^>=0.1.17.3
|
||||
, haskus-utils-variant ^>=3.2
|
||||
, libarchive ^>=3.0.3.0
|
||||
, 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 ^>=1.2.4.0
|
||||
, transformers ^>=0.5
|
||||
, versions >=4.0.1 && <5.1
|
||||
, yaml-streamly ^>=0.12.0
|
||||
Reference in New Issue
Block a user