Compare commits

..

1 Commits

Author SHA1 Message Date
37fb99d25a Use integer-gmp bindists for alpine x86_64, fixes #14 2022-01-20 16:33:10 +01:00
26 changed files with 118 additions and 4315 deletions

View File

@@ -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. 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
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'`

View File

@@ -7,7 +7,7 @@ package ghcup
source-repository-package
type: git
location: https://gitlab.haskell.org/haskell/ghcup-hs.git
tag: v0.1.17.6
tag: v0.1.17.4
constraints: http-io-streams -brotli,
any.Cabal ==3.6.2.0,

View File

@@ -2132,7 +2132,7 @@
}
},
"GHCup": {
"0.1.17.5": {
"0.1.16.2": {
"viTags": [
"Recommended",
"Latest"
@@ -2143,32 +2143,32 @@
"A_64": {
"Linux_UnknownLinux": {
"unknown_versioning": {
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-linux-ghcup-0.1.17.5",
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-linux-ghcup-0.1.16.2",
"dlSubdir": null,
"dlHash": "7541bcf0b402f99d05cd1937f9fef69aec45c3153e42606671825be248484fb5"
"dlHash": "d5e43b95ce1d42263376e414f7eb7c5dd440271c7c6cd9bad446fdeff3823893"
}
},
"Darwin": {
"unknown_versioning": {
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-apple-darwin-ghcup-0.1.17.5",
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-apple-darwin-ghcup-0.1.16.2",
"dlSubdir": null,
"dlHash": "8b5159775de08a5f268f4be217fbb6f427ff8d8977197af209211b81ca0fe27f"
"dlHash": "a334620ccce7705211b2142882dde544003e6030af4b91a44c890542a90f879f"
}
},
"FreeBSD": {
"unknown_versioning": {
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-freebsd12-ghcup-0.1.17.5",
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-portbld-freebsd-ghcup-0.1.16.2",
"dlSubdir": null,
"dlHash": "babb7366abb17bcb5d4fc1500039040f1b957073d618db3f1473b0bae6abc6bb"
"dlHash": "92359592a5694375e53b22628920086bf4bbf0faff5be018a0ed3e745a6426a9"
}
}
},
"A_32": {
"Linux_UnknownLinux": {
"unknown_versioning": {
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.17.5/i386-linux-ghcup-0.1.17.5",
"dlUri": "https://downloads.haskell.org/~ghcup/0.1.16.2/i386-linux-ghcup-0.1.16.2",
"dlSubdir": null,
"dlHash": "5a2b1d2ceb32857866689ee1a1e29c5747333882a4e952d80eccf49482d3daab"
"dlHash": "01968ca6decac7b6e8ba6e2c817870d3fa47289a6507e0c1ab563f7b6eec0e38"
}
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -1384,7 +1384,7 @@ ghcupDownloads:
dlUri: https://oleg.fi/cabal-install-3.4.0.0-rc4/cabal-install-3.4.0.0-x86_64-freebsd-12.1-release.tar.xz
dlHash: 9705e16d03497b46be4ad477e6c64d10890af853eafa8a9adf6dba89aa9e05f7
GHCup:
0.1.17.5:
0.1.16.2:
viTags:
- Recommended
- Latest
@@ -1394,22 +1394,22 @@ ghcupDownloads:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-linux-ghcup-0.1.17.5
dlHash: 7541bcf0b402f99d05cd1937f9fef69aec45c3153e42606671825be248484fb5
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-linux-ghcup-0.1.16.2
dlHash: d5e43b95ce1d42263376e414f7eb7c5dd440271c7c6cd9bad446fdeff3823893
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-apple-darwin-ghcup-0.1.17.5
dlHash: 8b5159775de08a5f268f4be217fbb6f427ff8d8977197af209211b81ca0fe27f
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-apple-darwin-ghcup-0.1.16.2
dlHash: a334620ccce7705211b2142882dde544003e6030af4b91a44c890542a90f879f
FreeBSD:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-freebsd12-ghcup-0.1.17.5
dlHash: babb7366abb17bcb5d4fc1500039040f1b957073d618db3f1473b0bae6abc6bb
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-portbld-freebsd-ghcup-0.1.16.2
dlHash: 92359592a5694375e53b22628920086bf4bbf0faff5be018a0ed3e745a6426a9
Linux_Alpine:
unknown_versioning: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/i386-linux-ghcup-0.1.17.5
dlHash: 5a2b1d2ceb32857866689ee1a1e29c5747333882a4e952d80eccf49482d3daab
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/i386-linux-ghcup-0.1.16.2
dlHash: 01968ca6decac7b6e8ba6e2c817870d3fa47289a6507e0c1ab563f7b6eec0e38
Linux_Alpine:
unknown_versioning: *ghcup-32

Binary file not shown.

View File

@@ -1451,7 +1451,7 @@ ghcupDownloads:
dlUri: https://oleg.fi/cabal-install-3.4.0.0-rc4/cabal-install-3.4.0.0-x86_64-freebsd-12.1-release.tar.xz
dlHash: 9705e16d03497b46be4ad477e6c64d10890af853eafa8a9adf6dba89aa9e05f7
GHCup:
0.1.17.5:
0.1.16.2:
viTags:
- Recommended
- Latest
@@ -1461,23 +1461,23 @@ ghcupDownloads:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-linux-ghcup-0.1.17.5
dlHash: 7541bcf0b402f99d05cd1937f9fef69aec45c3153e42606671825be248484fb5
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-linux-ghcup-0.1.16.2
dlHash: d5e43b95ce1d42263376e414f7eb7c5dd440271c7c6cd9bad446fdeff3823893
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-apple-darwin-ghcup-0.1.17.5
dlHash: 8b5159775de08a5f268f4be217fbb6f427ff8d8977197af209211b81ca0fe27f
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-apple-darwin-ghcup-0.1.16.2
dlHash: a334620ccce7705211b2142882dde544003e6030af4b91a44c890542a90f879f
FreeBSD:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/x86_64-freebsd12-ghcup-0.1.17.5
dlHash: babb7366abb17bcb5d4fc1500039040f1b957073d618db3f1473b0bae6abc6bb
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-portbld-freebsd-ghcup-0.1.16.2
dlHash: 92359592a5694375e53b22628920086bf4bbf0faff5be018a0ed3e745a6426a9
Linux_Alpine:
unknown_versioning: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.5/i386-linux-ghcup-0.1.17.5
dlHash: 5a2b1d2ceb32857866689ee1a1e29c5747333882a4e952d80eccf49482d3daab
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/i386-linux-ghcup-0.1.16.2
dlHash: 01968ca6decac7b6e8ba6e2c817870d3fa47289a6507e0c1ab563f7b6eec0e38
Linux_Alpine:
unknown_versioning: *ghcup-32
HLS:

Binary file not shown.

Binary file not shown.

View File

@@ -1868,7 +1868,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
GHCup:
0.1.17.7:
0.1.16.2:
viTags:
- Recommended
- Latest
@@ -1878,39 +1878,39 @@ ghcupDownloads:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-linux-ghcup-0.1.17.7
dlHash: e16eaf59dab84be7aa6415b53a3497f211d05163a50584dc854569b2ef8a7a3a
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-linux-ghcup-0.1.16.2
dlHash: d5e43b95ce1d42263376e414f7eb7c5dd440271c7c6cd9bad446fdeff3823893
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-apple-darwin-ghcup-0.1.17.7
dlHash: 9702f30c9374a122d79f7ef11170b34deb248a0f3cd92d671c0aab747be4add7
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-apple-darwin-ghcup-0.1.16.2
dlHash: a334620ccce7705211b2142882dde544003e6030af4b91a44c890542a90f879f
FreeBSD:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-freebsd12-ghcup-0.1.17.7
dlHash: d3d0644dc5d9b51ed1c345fc006e936e9284b3181e5a9cccf4cf70a7184398fe
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-portbld-freebsd-ghcup-0.1.16.2
dlHash: 92359592a5694375e53b22628920086bf4bbf0faff5be018a0ed3e745a6426a9
Linux_Alpine:
unknown_versioning: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/i386-linux-ghcup-0.1.17.7
dlHash: 209f61872a5b401e85e4d542dd8d0c96437c1f1ad94b4fa5a28856f34ab0cab8
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/i386-linux-ghcup-0.1.16.2
dlHash: 01968ca6decac7b6e8ba6e2c817870d3fa47289a6507e0c1ab563f7b6eec0e38
Linux_Alpine:
unknown_versioning: *ghcup-32
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/aarch64-linux-ghcup-0.1.17.7
dlHash: 392dc46ef3f98733b154188982866859d174a750e32c5b742e6a1cf60159954e
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/aarch64-linux-ghcup-0.1.16.2
dlHash: 0bdbfc724e0ddabb266156eea83c2c4e19c6ed79dd06db0c29b7d69df8d9fa8c
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/aarch64-apple-darwin-ghcup-0.1.17.7
dlHash: 102d808b31248f86cbf569162ba1b7955e6747a684b2b4200b0958d6e4c54267
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/aarch64-apple-darwin-ghcup-0.1.16.2
dlHash: 8854e991a2ba1350abda59dab96ce50ae7729d1ce99399d67929ef31e90f1da5
A_ARM:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/armv7-linux-ghcup-0.1.17.7
dlHash: 8438e22241fab4bfde94066a34600ab003db2f4ecadfd54bfad4ae990e6549a1
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/armv7-linux-ghcup-0.1.16.2
dlHash: 983ebb5b584bfa600704216a63f94b40d36a02573834e90ef1042c8472d9ad57
HLS:
1.1.0:
viTags:

Binary file not shown.

View File

@@ -2025,7 +2025,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
GHCup:
0.1.17.7:
0.1.16.2:
viTags:
- Recommended
- Latest
@@ -2035,43 +2035,43 @@ ghcupDownloads:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-linux-ghcup-0.1.17.7
dlHash: e16eaf59dab84be7aa6415b53a3497f211d05163a50584dc854569b2ef8a7a3a
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-linux-ghcup-0.1.16.2
dlHash: d5e43b95ce1d42263376e414f7eb7c5dd440271c7c6cd9bad446fdeff3823893
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-apple-darwin-ghcup-0.1.17.7
dlHash: 9702f30c9374a122d79f7ef11170b34deb248a0f3cd92d671c0aab747be4add7
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-apple-darwin-ghcup-0.1.16.2
dlHash: a334620ccce7705211b2142882dde544003e6030af4b91a44c890542a90f879f
FreeBSD:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-freebsd12-ghcup-0.1.17.7
dlHash: d3d0644dc5d9b51ed1c345fc006e936e9284b3181e5a9cccf4cf70a7184398fe
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-portbld-freebsd-ghcup-0.1.16.2
dlHash: 92359592a5694375e53b22628920086bf4bbf0faff5be018a0ed3e745a6426a9
Windows:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-mingw64-ghcup-0.1.17.7.exe
dlHash: 3f372469e2cb21546bd2a4925747aabb175a8a55639ed8bf4610c5390bfa7b6b
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/x86_64-mingw64-ghcup-0.1.16.2.exe
dlHash: ec78872a84213968c490675127b9aad2285980b747c68207801ae824b98c7948
Linux_Alpine:
unknown_versioning: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/i386-linux-ghcup-0.1.17.7
dlHash: 209f61872a5b401e85e4d542dd8d0c96437c1f1ad94b4fa5a28856f34ab0cab8
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/i386-linux-ghcup-0.1.16.2
dlHash: 01968ca6decac7b6e8ba6e2c817870d3fa47289a6507e0c1ab563f7b6eec0e38
Linux_Alpine:
unknown_versioning: *ghcup-32
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/aarch64-linux-ghcup-0.1.17.7
dlHash: 392dc46ef3f98733b154188982866859d174a750e32c5b742e6a1cf60159954e
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/aarch64-linux-ghcup-0.1.16.2
dlHash: 0bdbfc724e0ddabb266156eea83c2c4e19c6ed79dd06db0c29b7d69df8d9fa8c
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/aarch64-apple-darwin-ghcup-0.1.17.7
dlHash: 102d808b31248f86cbf569162ba1b7955e6747a684b2b4200b0958d6e4c54267
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/aarch64-apple-darwin-ghcup-0.1.16.2
dlHash: 8854e991a2ba1350abda59dab96ce50ae7729d1ce99399d67929ef31e90f1da5
A_ARM:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/armv7-linux-ghcup-0.1.17.7
dlHash: 8438e22241fab4bfde94066a34600ab003db2f4ecadfd54bfad4ae990e6549a1
dlUri: https://downloads.haskell.org/~ghcup/0.1.16.2/armv7-linux-ghcup-0.1.16.2
dlHash: 983ebb5b584bfa600704216a63f94b40d36a02573834e90ef1042c8472d9ad57
HLS:
1.1.0:
viTags: []

Binary file not shown.

View File

@@ -1902,7 +1902,6 @@ ghcupDownloads:
9.0.1:
viTags:
- base-4.15.0.0
- old
viChangeLog: https://downloads.haskell.org/~ghc/9.0.1/docs/html/users_guide/9.0.1-notes.html
viSourceDL:
dlUri: https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-src.tar.xz
@@ -2089,7 +2088,7 @@ ghcupDownloads:
dlHash: b1fcab17fe48326d2ff302d70c12bc4cf4d570dfbbce68ab57c719cfec882b05
9.2.1:
viTags:
- old
- Latest
- base-4.16.0.0
viChangeLog: https://downloads.haskell.org/~ghc/9.2.1/docs/html/users_guide/index.html
viSourceDL:
@@ -2120,12 +2119,6 @@ ghcupDownloads:
Linux_Fedora:
'( >= 27 && < 28 )': *ghc-921-64-fedora
unknown_versioning: *ghc-921-64-fedora
Linux_CentOS:
'( >= 7 && < 8 )': &ghc-921-64-centos
dlUri: https://downloads.haskell.org/~ghc/9.2.1/ghc-9.2.1-x86_64-centos7-linux.tar.xz
dlSubdir: ghc-9.2.1
dlHash: 4b67324507f5d14c23db3ed83c57f4e25d877e97d2b93cfe8e1a9fdf65e4efa1
unknown_versioning: *ghc-921-64-centos
Linux_UnknownLinux:
unknown_versioning: *ghc-921-64-fedora
Darwin:
@@ -2140,9 +2133,9 @@ ghcupDownloads:
dlHash: 649e04abd4fa35796070b35de1c353721507a49842b18663aa1c7adc6b4115d8
Linux_Alpine:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/9.2.1/ghc-9.2.1-x86_64-alpine-linux-integer-gmp.tar.xz
dlSubdir: ghc-9.2.1
dlHash: 03dc9e3ee8f2f00c0d6be7e36e733c0229bbcb7eedc970247ef413a8708ff5d7
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
@@ -2178,86 +2171,6 @@ ghcupDownloads:
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
9.2.2:
viTags:
- Latest
- base-4.16.1.0
viChangeLog: https://downloads.haskell.org/~ghc/9.2.2/docs/html/users_guide/index.html
viSourceDL:
dlUri: https://downloads.haskell.org/~ghc/9.2.2/ghc-9.2.2-src.tar.xz
dlSubdir: ghc-9.2.2
dlHash: 902463a4cc6ee479af9358b9f8b2ee3237b03e934a1ea65b6d1fcf3e0d749ea6
viPostRemove: *ghc-post-remove
viArch:
A_64:
Linux_Debian:
'< 10': &ghc-922-64-deb9
dlUri: https://downloads.haskell.org/~ghc/9.2.2/ghc-9.2.2-x86_64-deb9-linux.tar.xz
dlSubdir: ghc-9.2.2
dlHash: 91052766a8bec6a1a8529eda9ff587ce821a071cf52705e1b8caa3d38d3913f4
'>= 10': &ghc-922-64-deb10
dlUri: https://downloads.haskell.org/~ghc/9.2.2/ghc-9.2.2-x86_64-deb10-linux.tar.xz
dlSubdir: ghc-9.2.2
dlHash: fb61dea556a2023dc2d50ee61a22144bb23e4229a378e533065124c218f40cfc
unknown_versioning: *ghc-922-64-deb10
Linux_Ubuntu:
unknown_versioning: &ghc-922-64-fedora
dlUri: https://downloads.haskell.org/~ghc/9.2.2/ghc-9.2.2-x86_64-fedora27-linux.tar.xz
dlSubdir: ghc-9.2.2
dlHash: eab2b4e3ca99eb7cc81aa3136e9e0b245ba6b3e9057f02a2d289fbf60856eb10
'( >= 16 && < 19 )': *ghc-922-64-deb9
Linux_Mint:
unknown_versioning: *ghc-922-64-deb10
Linux_Fedora:
'( >= 27 && < 28 )': *ghc-922-64-fedora
unknown_versioning: *ghc-922-64-fedora
Linux_CentOS:
'( >= 7 && < 8 )': &ghc-922-64-centos
dlUri: https://downloads.haskell.org/~ghc/9.2.2/ghc-9.2.2-x86_64-centos7-linux.tar.xz
dlSubdir: ghc-9.2.2
dlHash: 5100aa7dea87aaf2ed596be83c93165d7199492f6db431d874fcfa07e8ac76ab
unknown_versioning: *ghc-922-64-centos
Linux_UnknownLinux:
unknown_versioning: *ghc-922-64-fedora
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.2.2/ghc-9.2.2-x86_64-apple-darwin.tar.xz
dlSubdir: ghc-9.2.2-x86_64-apple-darwin
dlHash: 934abbd6083d3aeb5ff081955682d7711d9e79db57b1613eb229c325dd06f83f
Windows:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.2.2/ghc-9.2.2-x86_64-unknown-mingw32.zip
dlSubdir: ghc-9.2.2-x86_64-unknown-mingw32
dlHash: 5ca4b69e74e62ed57b737949fa8c4e991c24703f1477521f842a6297d36dab10
Linux_Alpine:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.2.2/ghc-9.2.2-x86_64-alpine3.12-linux-gmp.tar.xz
dlSubdir: ghc-9.2.2-x86_64-unknown-linux
dlHash: 624523826e24eae33c03490267cddecc1d80c047f2a3f4b03580f1040112d5c0
A_32:
Linux_Debian:
'< 10': &ghc-922-32-deb9
dlUri: https://downloads.haskell.org/~ghc/9.2.2/ghc-9.2.2-i386-deb9-linux.tar.xz
dlSubdir: ghc-9.2.2
dlHash: 24234486ed4508161c6f88f4750a36d38b135b0c6e5fe78efe2d85c612ecaf9e
unknown_versioning: *ghc-922-32-deb9
Linux_Ubuntu:
unknown_versioning: *ghc-922-32-deb9
Linux_Mint:
unknown_versioning: *ghc-922-32-deb9
Linux_UnknownLinux:
unknown_versioning: *ghc-922-32-deb9
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.2.2/ghc-9.2.2-aarch64-deb10-linux.tar.xz
dlSubdir: ghc-9.2.2
dlHash: f3621ccba7ae48fcd67a9505f61bb5ccfb05c4cbfecd5a6ea65fe3f150af0e98
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghc/9.2.2/ghc-9.2.2-aarch64-apple-darwin.tar.xz
dlSubdir: ghc-9.2.2-aarch64-apple-darwin
dlHash: d1f04f7cc062ed134f863305c67dfe2c42df46ed658dd34f9dd552186f194e5c
Cabal:
2.4.1.0:
viTags:
@@ -2569,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.7:
0.1.17.4:
viTags:
- Recommended
- Latest
@@ -2579,46 +2492,46 @@ ghcupDownloads:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-linux-ghcup-0.1.17.7
dlHash: e16eaf59dab84be7aa6415b53a3497f211d05163a50584dc854569b2ef8a7a3a
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.4/x86_64-linux-ghcup-0.1.17.4
dlHash: a737cdf850d4874659050968b42745229f44b32cb40f7f3ad90b3820bb969582
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.7/x86_64-apple-darwin-ghcup-0.1.17.7
dlHash: 9702f30c9374a122d79f7ef11170b34deb248a0f3cd92d671c0aab747be4add7
dlUri: https://downloads.haskell.org/~ghcup/0.1.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.7/x86_64-freebsd12-ghcup-0.1.17.7
dlHash: d3d0644dc5d9b51ed1c345fc006e936e9284b3181e5a9cccf4cf70a7184398fe
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.7/x86_64-freebsd13-ghcup-0.1.17.7
dlHash: d3d0644dc5d9b51ed1c345fc006e936e9284b3181e5a9cccf4cf70a7184398fe
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.7/x86_64-mingw64-ghcup-0.1.17.7.exe
dlHash: 3f372469e2cb21546bd2a4925747aabb175a8a55639ed8bf4610c5390bfa7b6b
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.7/i386-linux-ghcup-0.1.17.7
dlHash: 209f61872a5b401e85e4d542dd8d0c96437c1f1ad94b4fa5a28856f34ab0cab8
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.7/aarch64-linux-ghcup-0.1.17.7
dlHash: 392dc46ef3f98733b154188982866859d174a750e32c5b742e6a1cf60159954e
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.7/aarch64-apple-darwin-ghcup-0.1.17.7
dlHash: 102d808b31248f86cbf569162ba1b7955e6747a684b2b4200b0958d6e4c54267
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.7/armv7-linux-ghcup-0.1.17.7
dlHash: 8438e22241fab4bfde94066a34600ab003db2f4ecadfd54bfad4ae990e6549a1
dlUri: https://downloads.haskell.org/~ghcup/0.1.17.4/armv7-linux-ghcup-0.1.17.4
dlHash: 1ae599a96daf8de717b80a0bf8e7575b533b4baadb5f5720e478146b58e90a2a
HLS:
1.1.0:
viTags:
@@ -2771,7 +2684,9 @@ ghcupDownloads:
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: []
viTags:
- Recommended
- Latest
viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#151
viPostInstall: *hls-post-install
viSourceDL:
@@ -2815,102 +2730,6 @@ ghcupDownloads:
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
1.6.0.0:
viTags:
- old
viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#1600
viPostInstall: *hls-post-install
viSourceDL:
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.0.0/haskell-language-server-1.6.0.0-src.tar.gz
dlSubdir: haskell-language-server-1.6.0.0
dlHash: 08703a234327b977cf6cff32d20fa3a4e3a2f8ea15d11c10fa51e69bb82bae41
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &hls-1600-64
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.0.0/haskell-language-server-Linux-1.6.0.0.tar.gz
dlHash: dba25f63264e05ee0b7e45526f0ffbfb9b16bea72c25c1f23fbea2be921a7e62
Darwin:
unknown_versioning:
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.0.0/haskell-language-server-macOS-1.6.0.0.tar.gz
dlHash: e5cbca6cdd73977ef18d6c254bc741a4c285845e23459ae0e5a9033e72d66696
FreeBSD:
'( >= 12 && < 13 )':
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.0.0/haskell-language-server-FreeBSD12-x86_64-1.6.0.0.tar.xz
dlHash: 736c5d286d0a2d488baa2ef68961cdad8846410acb423115c2f42a0a0cf46dcd
'( >= 13 )':
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.0.0/haskell-language-server-FreeBSD13-x86_64-1.6.0.0.tar.xz
dlHash: 0fcb58a457ee91cd89011a3a49d6cedea9f2a002fcdd4b0bbd4fe1d550b9bdf7
Windows:
unknown_versioning:
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.0.0/haskell-language-server-Windows-1.6.0.0.tar.gz
dlHash: 9f1b4ea31602a775a8f5bfedcc6290d3e45dd695f389fd705c9fff96c63c8570
Linux_Alpine:
unknown_versioning: *hls-1600-64
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.0.0/haskell-language-server-Linux-aarch64-1.6.0.0.tar.xz
dlHash: 6ff33c8029d47248bdbcb0f01e81532d5f5afc012b538eabd9074f5cad2e9ac9
Darwin:
unknown_versioning:
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.0.0/haskell-language-server-macOS-aarch64-1.6.0.0.tar.xz
dlHash: c6046353b0a6807d840ba2b98484fcfc76d0894f3cabcb3c1802c84f476f8383
A_ARM:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.0.0/haskell-language-server-Linux-armv7-1.6.0.0.tar.xz
dlHash: b4b73cfdd3fce33ecf5e9e75b40d7b01f0889eceef1b39e57f958579b194e2bf
1.6.1.0:
viTags:
- Recommended
- Latest
viChangeLog: https://github.com/haskell/haskell-language-server/blob/master/ChangeLog.md#1610
viPostInstall: *hls-post-install
viSourceDL:
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.1.0/haskell-language-server-1.6.1.0-src.tar.gz
dlSubdir: haskell-language-server-1.6.1.0
dlHash: e5c336ad2de8d021c882cdac5bbc26bf6427df8d2a5bd244c05cf18296a9bfdc
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.1.0/haskell-language-server-Linux-1.6.1.0.tar.gz
dlHash: 03f13214216c39c09ed9d073317cbf7bdc98a75d0c4ee2fd526e446457591d25
Darwin:
unknown_versioning:
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.1.0/haskell-language-server-macOS-1.6.1.0.tar.gz
dlHash: 287adf17a4d5704316a5dd441719a6f6ad657ab6ac660a17bfca0c07c283a6b8
FreeBSD:
'( >= 12 && < 13 )':
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.1.0/haskell-language-server-FreeBSD12-x86_64-1.6.1.0.tar.xz
dlHash: 3d765164b9f9ae5c9ce3b9ed1d04559767c189c5b4a02b0691731fd05fe5e6d0
'( >= 13 )':
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.1.0/haskell-language-server-FreeBSD13-x86_64-1.6.1.0.tar.xz
dlHash: be8a8f7b5775fada0c2313ec14e9763908ecc1d82b48522e76c356750fe752fb
Windows:
unknown_versioning:
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.1.0/haskell-language-server-Windows-1.6.1.0.tar.gz
dlHash: b5efc77facde2136a1c5fbc1fbe1affa270efd913f9f1a200fb82b5f5b111756
Linux_Alpine:
unknown_versioning:
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.1.0/haskell-language-server-Linux-alpine-x86_64-1.6.1.0.tar.xz
dlHash: 9dcf35793b8ede815db9ecf13d94fa89dfb498dcda4281bbbb94ae4efe332cf5
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.1.0/haskell-language-server-Linux-aarch64-1.6.1.0.tar.xz
dlHash: 19318d240d2fa8ec3e22ae7c4746445b25e132cbb2eca2adc5e87f7544b5a7e4
Darwin:
unknown_versioning:
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.1.0/haskell-language-server-macOS-aarch64-1.6.1.0.tar.xz
dlHash: feca2336d7b98d23ceff10438d26476c71ce6ce45e617195927556a24e1480bf
A_ARM:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://github.com/haskell/haskell-language-server/releases/download/1.6.1.0/haskell-language-server-Linux-armv7-1.6.1.0.tar.xz
dlHash: ea174e82678c25a017ff564c5329a80dc18030139b9bfcad2da8fe888617446b
Stack:
2.5.1:
@@ -2979,7 +2798,9 @@ ghcupDownloads:
Linux_Alpine:
unknown_versioning: *stack-271-64
2.7.3:
viTags: []
viTags:
- Latest
- Recommended
viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v273
viPostInstall: *stack-post
viArch:
@@ -3029,56 +2850,4 @@ ghcupDownloads:
unknown_versioning:
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.7.3/stack-2.7.3-linux-armv7.tar.gz
dlHash: 3e22c66ea38525ca2ee5b0d222c8aa193c50152a53ff2c80ae179a40592512fe
2.7.5:
viTags:
- Latest
- Recommended
viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v275
viPostInstall: *stack-post
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &stack-275-64
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.7.5/stack-2.7.5-linux-x86_64-static.tar.gz
dlHash: 2a02fefefcc1758033d0aea566a521a290e3c68739ce9894bd6492a346af79c5
dlSubdir:
RegexDir: "stack-.*"
Darwin:
unknown_versioning:
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.7.5/stack-2.7.5-osx-x86_64.tar.gz
dlHash: 94176b71425d76b94b088515103316ae1ff96d123344b1f4609c103d0d5bdcc4
dlSubdir:
RegexDir: "stack-.*"
Windows:
unknown_versioning:
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.7.5/stack-2.7.5-windows-x86_64.tar.gz
dlHash: c9b07982590d63db2310a44bfcf33c9f8bd84a0828abc17b2a394e90fbf6a914
dlSubdir:
RegexDir: "stack-.*"
FreeBSD:
'>= 12':
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.7.5/stack-2.7.5-freebsd-x86_64.tar.gz
dlHash: fceb15b22d3dbd8d25cb84ad66a2eb71a5034f7e2c47a74f25141994feee7c36
Linux_Alpine:
unknown_versioning: *stack-275-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &stack-275-32
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.7.5/stack-2.7.5-linux-i386.tar.gz
dlHash: a679eaebe627444fe17fc794ddfb3fe9ee4281a4e9e9137cb04318873e23a2f6
Linux_Alpine:
unknown_versioning: *stack-275-32
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.7.5/stack-2.7.5-linux-aarch64.tar.gz
dlHash: f362fa4786b17252004b2619ec96b9687e561dc4e55c2612c53d60be767cabba
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.7.5/stack-2.7.5-osx-aarch64.tar.gz
dlHash: cea34367981ed6f5629d23d17957920b1a06cc0a00580ba62e960a64087f25fe
A_ARM:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.7.5/stack-2.7.5-linux-armv7.tar.gz
dlHash: 8be2342deea5309a32e28a0c5eb341ea9557401f08484676036471250ca12e21

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1,177 +0,0 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE ViewPatterns #-}
{-# LANGUAGE OverloadedStrings #-}
module Generate where
import GHCup
import GHCup.Download
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.Utils.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
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
] $ 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>"
liftIO $ hPutStrLn handle $ "<table>"
liftIO $ hPutStrLn handle $ "<thead><tr><th>" <> show tool <> " Version</th><th>Tags</th></tr></thead>"
liftIO $ hPutStrLn handle $ "<tbody>"
vers <- reverse <$> listVersions (Just tool) Nothing
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 = ""

View File

@@ -29,7 +29,6 @@ import System.Environment
import System.Exit
import System.IO ( stderr )
import Text.Regex.Posix
import Generate
import Validate
import Text.PrettyPrint.HughesPJClass ( prettyShow )
@@ -43,46 +42,10 @@ 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
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
@@ -145,18 +108,6 @@ com = subparser
((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-table"
(info
((GenerateToolTable <$> validateYAMLOpts <*> outputP) <**> helper)
(progDesc "Generate a markdown table of available tool versions")
)
)
@@ -170,7 +121,7 @@ main = do
, fancyColors = not no_color
}
dirs <- liftIO getAllDirs
let leanAppstate = LeanAppState (Settings True 0 False Never Curl True GHCupURL False GPGNone True) dirs defaultKeyBindings loggerConfig
let leanAppstate = LeanAppState (Settings True 0 False Never Curl True GHCupURL False GPGNone False) dirs defaultKeyBindings loggerConfig
pfreq <- (
flip runReaderT leanAppstate . runE @'[NoCompatiblePlatform, NoCompatibleArch, DistroNotFound] $ platformRequest
@@ -180,28 +131,25 @@ main = do
flip runReaderT leanAppstate $ logError $ T.pack $ prettyShow e
liftIO $ exitWith (ExitFailure 2)
let appstate = AppState (Settings True 0 False Never Curl True GHCupURL False GPGNone True) dirs defaultKeyBindings (GHCupInfo mempty mempty mempty) pfreq loggerConfig
let 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
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 validate
ValidateTarballs vopts tarballFilter -> withValidateYamlOpts vopts (validateTarballs tarballFilter)
GenerateHlsGhc vopts format output -> withValidateYamlOpts vopts (generateHLSGhc format output)
GenerateToolTable vopts output -> withValidateYamlOpts vopts (generateTable output)
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

View File

@@ -58,18 +58,11 @@ addError = do
liftIO $ modifyIORef ref (+ 1)
validate :: ( Monad m
, MonadReader env m
, HasLog env
, MonadThrow m
, MonadIO m
, MonadUnliftIO m
, HasGHCupInfo env
)
=> m ExitCode
validate = do
GHCupInfo { _ghcupDownloads = dls } <- getGHCupInfo
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 --
@@ -124,7 +117,6 @@ validate = do
_ -> 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
@@ -153,7 +145,6 @@ validate = do
isUniqueTag (UnknownTag _) = False
checkGHCVerIsValid = do
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
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
@@ -164,7 +155,6 @@ validate = do
-- 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_ [Latest, Recommended] $ \t -> case t `elem` allTags of
False -> do
@@ -174,7 +164,6 @@ validate = do
-- 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
@@ -201,12 +190,12 @@ validateTarballs :: ( Monad m
, MonadMask m
, Alternative m
, MonadFail m
, HasGHCupInfo env
)
=> TarballFilter
-> GHCupDownloads
-> M.Map GlobalTool DownloadInfo
-> m ExitCode
validateTarballs (TarballFilter etool versionRegex) = do
GHCupInfo { _ghcupDownloads = dls, _globalTools = gt } <- getGHCupInfo
validateTarballs (TarballFilter etool versionRegex) dls gt = do
ref <- liftIO $ newIORef 0
-- download/verify all tarballs

View File

@@ -23,7 +23,6 @@ source-repository head
executable ghcup-gen
main-is: Main.hs
other-modules: Validate
Generate
default-language: Haskell2010
default-extensions:
DeriveGeneric
@@ -45,16 +44,13 @@ executable ghcup-gen
-fwarn-incomplete-record-updates -threaded
build-depends:
, aeson-pretty ^>=0.8.9
, base >=4.13 && <5
, bytestring ^>=0.10
, containers ^>=0.6
, deepseq ^>=1.4
, filepath ^>=1.4.2.1
, ghcup ^>=0.1.17.3
, haskus-utils-variant ^>=3.2
, libarchive ^>=3.0.3.0
, megaparsec ^>=9.0
, mtl ^>=2.2
, optics ^>=0.4
, optparse-applicative >=0.15.1.0 && <0.17

View File

@@ -1,51 +0,0 @@
---
globalTools: {}
toolRequirements: {}
ghcupDownloads:
Cabal:
3.7.0.0:
viTags:
- Prerelease
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &cabal-3720-32
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.7.0.0-pre20220407/cabal-install-3.7-x86_64-linux-alpine.tar.xz
dlHash: c9e28e1578dfb851918e523040cb0f913df747fe95e24d089bcf7cd821c21885
Linux_Alpine:
unknown_versioning: *cabal-3720-32
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.7.0.0-pre20220407/cabal-install-3.7-x86_64-darwin.tar.xz
dlHash: 9b30b1231b280cdd95c60ac2d94d4bec6ccf07febd294d4f8e9e2d001fe1c55c
FreeBSD:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.7.0.0-pre20220407/cabal-install-3.7-x86_64-freebsd12.tar.xz
dlHash: ac482eb709af36ee0f11aebd3dc38fbc5fa5f767ea854c028257fabf39154005
Windows:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.7.0.0-pre20220407/cabal-install-3.7-x86_64-windows.zip
dlSubdir:
dlHash: 98efc1acd61c7cf262d9eb618548f463698016f9d67fbb7ad7501097206f29cf
A_32:
Linux_UnknownLinux:
unknown_versioning: &cabal-3720-32
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.7.0.0-pre20220407/cabal-install-3.7-i386-linux-alpine.tar.xz
dlHash: bf189ad094b02e42ef23b53384ecef7b1c27fea8323f9e09c00abab353f19d55
Linux_Alpine:
unknown_versioning: *cabal-3720-32
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.7.0.0-pre20220407/cabal-install-3.7-aarch64-linux-deb10.tar.xz
dlHash: 58306000d96674927ca2d811d3d4ee027d26e9b67f67de4e3de547de2042c3fc
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.7.0.0-pre20220407/cabal-install-3.7-aarch64-darwin.tar.xz
dlHash: 324b8bf3a6f010b5c7083f1460e1e65881fecf5efd99ce21e4e7c73a020ab0bf
A_ARM:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.7.0.0-pre20220407/cabal-install-3.7-armv7-linux-deb1.tar.xz
dlHash: 51dc486776a0047bc7b0122f468625e5d64189fac1948a6ba4e8ce85f47703ac

Binary file not shown.

View File

@@ -1,520 +0,0 @@
{
"1.1.0": {
"A_64": {
"Darwin": [
"8.10.2",
"8.10.3",
"8.10.4",
"8.6.4",
"8.6.5",
"8.8.2",
"8.8.3",
"8.8.4"
],
"Linux_Alpine": [
"8.10.2",
"8.10.3",
"8.10.4",
"8.6.4",
"8.6.5",
"8.8.2",
"8.8.3",
"8.8.4"
],
"Linux_UnknownLinux": [
"8.10.2",
"8.10.3",
"8.10.4",
"8.6.4",
"8.6.5",
"8.8.2",
"8.8.3",
"8.8.4"
],
"Windows": [
"8.6.4",
"8.6.5",
"8.8.4",
"8.10.2",
"8.10.3",
"8.10.4"
]
}
},
"1.2.0": {
"A_64": {
"Darwin": [
"8.10.2",
"8.10.3",
"8.10.4",
"8.10.5",
"8.6.4",
"8.6.5",
"8.8.2",
"8.8.3",
"8.8.4"
],
"Linux_Alpine": [
"8.10.2",
"8.10.3",
"8.10.4",
"8.10.5",
"8.6.4",
"8.6.5",
"8.8.2",
"8.8.3",
"8.8.4"
],
"Linux_UnknownLinux": [
"8.10.2",
"8.10.3",
"8.10.4",
"8.10.5",
"8.6.4",
"8.6.5",
"8.8.2",
"8.8.3",
"8.8.4"
],
"Windows": [
"8.10.2",
"8.10.3",
"8.10.4",
"8.10.5",
"8.6.4",
"8.6.5",
"8.8.4"
]
}
},
"1.3.0": {
"A_64": {
"Darwin": [
"8.10.2",
"8.10.3",
"8.10.4",
"8.10.5",
"8.6.4",
"8.6.5",
"8.8.3",
"8.8.4",
"9.0.1"
],
"Linux_Alpine": [
"8.10.2",
"8.10.3",
"8.10.4",
"8.10.5",
"8.6.4",
"8.6.5",
"8.8.3",
"8.8.4",
"9.0.1"
],
"Linux_UnknownLinux": [
"8.10.2",
"8.10.3",
"8.10.4",
"8.10.5",
"8.6.4",
"8.6.5",
"8.8.3",
"8.8.4",
"9.0.1"
],
"Windows": [
"8.10.2",
"8.10.3",
"8.10.4",
"8.10.5",
"8.6.4",
"8.6.5",
"8.8.4",
"9.0.1"
]
}
},
"1.4.0": {
"A_64": {
"Darwin": [
"8.10.2",
"8.10.3",
"8.10.4",
"8.10.5",
"8.10.6",
"8.10.7",
"8.6.4",
"8.6.5",
"8.8.3",
"8.8.4",
"9.0.1"
],
"FreeBSD": [
"8.10.7"
],
"Linux_Alpine": [
"8.10.2",
"8.10.3",
"8.10.4",
"8.10.5",
"8.10.6",
"8.10.7",
"8.6.4",
"8.6.5",
"8.8.3",
"8.8.4",
"9.0.1"
],
"Linux_UnknownLinux": [
"8.10.2",
"8.10.3",
"8.10.4",
"8.10.5",
"8.10.6",
"8.10.7",
"8.6.4",
"8.6.5",
"8.8.3",
"8.8.4",
"9.0.1"
],
"Windows": [
"8.10.2",
"8.10.3",
"8.10.4",
"8.10.5",
"8.10.6",
"8.10.7",
"8.6.4",
"8.6.5",
"8.8.4",
"9.0.1"
]
},
"A_ARM": {
"Linux_UnknownLinux": [
"8.10.7"
]
},
"A_ARM64": {
"Darwin": [
"8.10.7"
],
"Linux_UnknownLinux": [
"8.10.7"
]
}
},
"1.5.0": {
"A_64": {
"Darwin": [
"8.10.5",
"8.10.6",
"8.10.7",
"8.6.5",
"8.8.3",
"8.8.4",
"9.0.1"
],
"FreeBSD": [
"8.6.5",
"8.8.4",
"8.10.5",
"8.10.6",
"8.10.7",
"9.0.1"
],
"Linux_Alpine": [
"8.10.5",
"8.10.6",
"8.10.7",
"8.6.5",
"8.8.3",
"8.8.4",
"9.0.1"
],
"Linux_UnknownLinux": [
"8.10.5",
"8.10.6",
"8.10.7",
"8.6.5",
"8.8.3",
"8.8.4",
"9.0.1"
],
"Windows": [
"8.10.5",
"8.10.6",
"8.10.7",
"8.6.5",
"8.8.4",
"9.0.1"
]
},
"A_ARM": {
"Linux_UnknownLinux": [
"8.10.7"
]
},
"A_ARM64": {
"Darwin": [
"8.10.7"
],
"Linux_UnknownLinux": [
"8.10.7"
]
}
},
"1.5.1": {
"A_64": {
"Darwin": [
"8.10.5",
"8.10.6",
"8.10.7",
"8.6.5",
"8.8.3",
"8.8.4",
"9.0.1"
],
"FreeBSD": [
"8.10.7",
"8.8.4",
"9.0.1"
],
"Linux_Alpine": [
"8.10.5",
"8.10.6",
"8.10.7",
"8.6.5",
"8.8.3",
"8.8.4",
"9.0.1"
],
"Linux_UnknownLinux": [
"8.10.5",
"8.10.6",
"8.10.7",
"8.6.5",
"8.8.3",
"8.8.4",
"9.0.1"
],
"Windows": [
"8.10.5",
"8.10.6",
"8.10.7",
"8.6.5",
"8.8.4",
"9.0.1"
]
},
"A_ARM": {
"Linux_UnknownLinux": [
"8.10.7"
]
},
"A_ARM64": {
"Darwin": [
"8.10.7"
],
"Linux_UnknownLinux": [
"8.10.7"
]
}
},
"1.6.0.0": {
"A_64": {
"Darwin": [
"8.10.6",
"8.10.7",
"8.6.5",
"8.8.4",
"9.0.1",
"9.0.2",
"9.2.1"
],
"FreeBSD": [
"8.10.7",
"8.8.4",
"9.0.2"
],
"Linux_Alpine": [
"8.10.6",
"8.10.7",
"8.6.5",
"8.8.4",
"9.0.1",
"9.0.2",
"9.2.1"
],
"Linux_UnknownLinux": [
"8.10.6",
"8.10.7",
"8.6.5",
"8.8.4",
"9.0.1",
"9.0.2",
"9.2.1"
],
"Windows": [
"8.10.6",
"8.10.7",
"8.6.5",
"8.8.4",
"9.0.1",
"9.0.2",
"9.2.1"
]
},
"A_ARM": {
"Linux_UnknownLinux": [
"8.10.7"
]
},
"A_ARM64": {
"Darwin": [
"8.10.7"
],
"Linux_UnknownLinux": [
"8.10.7"
]
}
},
"1.6.1.0": {
"A_64": {
"Darwin": [
"8.10.6",
"8.10.7",
"8.6.5",
"8.8.4",
"9.0.1",
"9.0.2",
"9.2.1"
],
"FreeBSD": [
"8.10.7",
"8.8.4",
"9.0.2"
],
"Linux_Alpine": [
"8.10.7",
"8.8.4",
"9.0.2",
"9.2.1"
],
"Linux_UnknownLinux": [
"8.10.6",
"8.10.7",
"8.6.5",
"8.8.4",
"9.0.1",
"9.0.2",
"9.2.1"
],
"Windows": [
"8.10.6",
"8.10.7",
"8.6.5",
"8.8.4",
"9.0.1",
"9.0.2",
"9.2.1"
]
},
"A_ARM": {
"Linux_UnknownLinux": [
"8.10.7"
]
},
"A_ARM64": {
"Darwin": [
"8.10.7"
],
"Linux_UnknownLinux": [
"8.10.7"
]
}
},
"1.7.0.0": {
"A_64": {
"Darwin": [
"8.6.5",
"8.8.4",
"8.10.7",
"9.0.2",
"9.2.1",
"9.2.2"
],
"Linux_CentOS": [
"8.6.5",
"8.8.4",
"8.10.7",
"9.0.2",
"9.2.1",
"9.2.2"
],
"Linux_Debian": [
"8.6.5",
"8.8.4",
"8.10.7",
"9.0.2",
"9.2.1",
"9.2.2"
],
"Linux_Fedora": [
"8.6.5",
"8.8.4",
"8.10.7",
"9.0.2",
"9.2.1",
"9.2.2"
],
"Linux_Mint": [
"8.6.5",
"8.8.4",
"8.10.7",
"9.0.2",
"9.2.1",
"9.2.2"
],
"Linux_Ubuntu": [
"8.6.5",
"8.8.4",
"8.10.7",
"9.0.2",
"9.2.1",
"9.2.2"
],
"Linux_UnknownLinux": [
"8.6.5",
"8.8.4",
"8.10.7",
"9.0.2",
"9.2.1",
"9.2.2"
],
"Windows": [
"8.6.5",
"8.8.4",
"8.10.7",
"9.0.2",
"9.2.1",
"9.2.2"
]
},
"A_ARM64": {
"Darwin": [
"8.10.7",
"9.0.2",
"9.2.1",
"9.2.2"
],
"Linux_UnknownLinux": [
"8.10.7",
"9.0.2",
"9.2.1",
"9.2.2"
]
}
}
}

Binary file not shown.