Compare commits
1 Commits
issue-99
...
bryans-pgp
| Author | SHA1 | Date | |
|---|---|---|---|
| 31448202b8 |
63
.github/workflows/bindists.yaml
vendored
63
.github/workflows/bindists.yaml
vendored
@@ -18,11 +18,6 @@ on:
|
|||||||
required: true
|
required: true
|
||||||
default: ghcup-0.0.7.yaml
|
default: ghcup-0.0.7.yaml
|
||||||
type: string
|
type: string
|
||||||
channel:
|
|
||||||
description: Distribution channel (main|prerelease|nightly)
|
|
||||||
required: true
|
|
||||||
default: Main
|
|
||||||
type: string
|
|
||||||
env:
|
env:
|
||||||
BOOTSTRAP_HASKELL_NONINTERACTIVE: 1
|
BOOTSTRAP_HASKELL_NONINTERACTIVE: 1
|
||||||
BOOTSTRAP_HASKELL_MINIMAL: 1
|
BOOTSTRAP_HASKELL_MINIMAL: 1
|
||||||
@@ -30,7 +25,6 @@ env:
|
|||||||
TOOL: ${{ github.event.inputs.tool }}
|
TOOL: ${{ github.event.inputs.tool }}
|
||||||
VERSION: ${{ github.event.inputs.version }}
|
VERSION: ${{ github.event.inputs.version }}
|
||||||
METADATA_FILE: ${{ github.event.inputs.metadataFile }}
|
METADATA_FILE: ${{ github.event.inputs.metadataFile }}
|
||||||
CHANNEL: ${{ github.event.inputs.channel }}
|
|
||||||
jobs:
|
jobs:
|
||||||
bindist-install:
|
bindist-install:
|
||||||
name: linux-${{ matrix.image }}
|
name: linux-${{ matrix.image }}
|
||||||
@@ -149,63 +143,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
args: sh -c '.github/workflows/install-bindist.sh'
|
args: sh -c '.github/workflows/install-bindist.sh'
|
||||||
|
|
||||||
validate:
|
|
||||||
name: ghcup-gen check
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
env:
|
|
||||||
GHC: 9.2.8
|
|
||||||
CABAL: 3.10.1.0
|
|
||||||
steps:
|
|
||||||
- name: create ~/.local/bin
|
|
||||||
run: mkdir -p "$HOME/.local/bin"
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Add ~/.local/bin to PATH
|
|
||||||
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: install yamllint
|
|
||||||
run: pip install yamllint
|
|
||||||
|
|
||||||
- name: Update cabal cache
|
|
||||||
run: cabal update
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Install requirements
|
|
||||||
shell: sh
|
|
||||||
run: |
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
export TZ=Asia/Singapore
|
|
||||||
sudo apt-get update && sudo apt-get install -y curl bash git gnupg libarchive-dev
|
|
||||||
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Cache Cabal
|
|
||||||
uses: actions/cache@v2
|
|
||||||
env:
|
|
||||||
cache-name: cache-cabal
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.cabal/store
|
|
||||||
~/.cabal/packages
|
|
||||||
key: v2-${{ runner.os }}-${{ env.GHC }}-${{ env.CABAL }}-build-${{ hashFiles('cabal.project') }}
|
|
||||||
restore-keys: |
|
|
||||||
v2-${{ runner.os }}-${{ env.GHC }}-${{ env.CABAL }}-build-${{ hashFiles('cabal.project') }}
|
|
||||||
v2-${{ runner.os }}-${{ env.GHC }}-${{ env.CABAL }}-build-
|
|
||||||
v2-${{ runner.os }}-${{ env.GHC }}
|
|
||||||
|
|
||||||
- name: Install ghcup-gen
|
|
||||||
run: |
|
|
||||||
ghcup run --cabal 3.10.1.0 --ghc 9.2.8 --install -- cabal install --installdir="$HOME/.local/bin" --overwrite-policy=always --install-method=copy ghcup-gen
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Check yaml
|
|
||||||
run: |
|
|
||||||
ghcup-gen -- check -f ${{ env.METADATA_FILE }} --channel ${{ env.CHANNEL }}
|
|
||||||
yamllint ${{ env.METADATA_FILE }}
|
|
||||||
python3 -c "import yaml ; stream = open('${{ env.METADATA_FILE }}', 'r') ; yaml.safe_load(stream)"
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
signature-test:
|
signature-test:
|
||||||
name: Test signatures
|
name: Test signatures
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/sigs
vendored
1
.github/workflows/sigs
vendored
@@ -3,4 +3,5 @@ keys=(
|
|||||||
FFEB7CE81E16A36B3E2DED6F2DE04D4E97DB64AD # Ben Gamari <ben@well-typed.com>
|
FFEB7CE81E16A36B3E2DED6F2DE04D4E97DB64AD # Ben Gamari <ben@well-typed.com>
|
||||||
88B57FCF7DB53B4DB3BFA4B1588764FBE22D19C4 # Zubin Duggal <zubin@well-typed.com>
|
88B57FCF7DB53B4DB3BFA4B1588764FBE22D19C4 # Zubin Duggal <zubin@well-typed.com>
|
||||||
EAF2A9A722C0C96F2B431CA511AAD8CEDEE0CAEF # Hécate <hecate@glitchbra.in>
|
EAF2A9A722C0C96F2B431CA511AAD8CEDEE0CAEF # Hécate <hecate@glitchbra.in>
|
||||||
|
FE5AB6C91FEA597C3B31180B73EDE9E8CFBAEF01 # Bryan Richter <b@chreekat.net>
|
||||||
)
|
)
|
||||||
|
|||||||
43
README.md
43
README.md
@@ -1,26 +1,6 @@
|
|||||||
# GHCup metadata
|
# GHCup metadata
|
||||||
|
|
||||||
## For end users
|
## Adding a new GHC version
|
||||||
|
|
||||||
### Metadata variants (distribution channels)
|
|
||||||
|
|
||||||
* `ghcup-A.B.C.yaml`: this is the main metadata and what ghcup uses by default
|
|
||||||
* `ghcup-vanilla-A.B.C.yaml`: this is similar to `ghcup-A.B.C.yaml`, but only uses upstream bindists (no patches/fixes are applied, no missing platforms added)
|
|
||||||
* `ghcup-prereleases-A.B.C.yaml`: this contains pre-releases of all tools
|
|
||||||
* `ghcup-cross-A.B.C.yaml`: this contains (usually experimental) cross compilers
|
|
||||||
|
|
||||||
### Using the metadata
|
|
||||||
|
|
||||||
If you want access to both pre-releases and cross compilers, run:
|
|
||||||
|
|
||||||
```
|
|
||||||
ghcup config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml
|
|
||||||
ghcup config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-cross-0.0.8.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
## For contributors
|
|
||||||
|
|
||||||
### Adding a new GHC version
|
|
||||||
|
|
||||||
1. open the latest `ghcup-<yaml-ver>.yaml`
|
1. open the latest `ghcup-<yaml-ver>.yaml`
|
||||||
2. find the latest ghc version (in yaml tree e.g. `ghcupDownloads -> GHC -> 8.10.7`)
|
2. find the latest ghc version (in yaml tree e.g. `ghcupDownloads -> GHC -> 8.10.7`)
|
||||||
@@ -31,24 +11,3 @@ ghcup config add-release-channel https://raw.githubusercontent.com/haskell/ghcup
|
|||||||
7. run `cabal run ghcup-gen -- check-tarballs -f ghcup-<yaml-ver>.yaml -u 'ghc-8\.10\.8'`
|
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`
|
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
|
9. run `cabal run ghcup-gen -- generate-table -f ghcup-<yaml-ver>.yaml --stdout` and adjust [docs/install](https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/docs/install.md) tables
|
||||||
|
|
||||||
### During a pull request
|
|
||||||
|
|
||||||
* make sure to always add new versions to both `ghcup-A.B.C.yaml` and `ghcup-vanilla-A.B.C.yaml`
|
|
||||||
* make sure to run the bindist action to check tool installation on all platforms: https://github.com/haskell/ghcup-metadata/actions/workflows/bindists.yaml
|
|
||||||
- this is a manual pipeline
|
|
||||||
- set the appropriate parameters
|
|
||||||
* make sure to sign the yaml files you edited, e.g.: `gpg --detach-sign -u <your-email> ghcup-0.0.7.yaml` or ask a GHCup developer to sign
|
|
||||||
- PGP pubkeys need to be cross-signed by the GHCup team
|
|
||||||
- they need to be added to the CI: https://github.com/haskell/ghcup-metadata/blob/develop/.github/workflows/sigs
|
|
||||||
- and need to be documented on the homepage
|
|
||||||
* https://github.com/haskell/ghcup-hs/blob/master/docs/guide.md#gpg-verification
|
|
||||||
* https://github.com/haskell/ghcup-hs/blob/master/docs/install.md#unix
|
|
||||||
|
|
||||||
### Understanding tags
|
|
||||||
|
|
||||||
Tags are documented [here](https://github.com/haskell/ghcup-hs/blob/master/lib/GHCup/Types.hs). Search for `data Tag`.
|
|
||||||
Some tags are unique. Uniqueness is checked by `cabal run ghcup-gen -- check -f ghcup-<yaml-ver>.yaml`.
|
|
||||||
|
|
||||||
If you want to check prereleases, do: `cabal run ghcup-gen -- check -f ghcup-prereleases-<yaml-ver>.yaml --channel=prerelease`
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ package ghcup
|
|||||||
source-repository-package
|
source-repository-package
|
||||||
type: git
|
type: git
|
||||||
location: https://github.com/haskell/ghcup-hs.git
|
location: https://github.com/haskell/ghcup-hs.git
|
||||||
tag: e27fed09f3eb4b0b72ce7825c65f16a4202a2399
|
tag: fd6ff9f8ece147bb4527843822462c72824e8ba7
|
||||||
|
|
||||||
constraints: http-io-streams -brotli,
|
constraints: http-io-streams -brotli,
|
||||||
any.aeson >= 2.0.1.0
|
any.aeson >= 2.0.1.0
|
||||||
|
|||||||
@@ -2851,6 +2851,7 @@ ghcupDownloads:
|
|||||||
9.2.8:
|
9.2.8:
|
||||||
viTags:
|
viTags:
|
||||||
- base-4.16.4.0
|
- base-4.16.4.0
|
||||||
|
- Recommended
|
||||||
viChangeLog: https://downloads.haskell.org/~ghc/9.2.8/docs/html/users_guide/index.html
|
viChangeLog: https://downloads.haskell.org/~ghc/9.2.8/docs/html/users_guide/index.html
|
||||||
viSourceDL:
|
viSourceDL:
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.2.8/ghc-9.2.8-src.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/9.2.8/ghc-9.2.8-src.tar.xz
|
||||||
@@ -3496,7 +3497,6 @@ ghcupDownloads:
|
|||||||
9.4.7:
|
9.4.7:
|
||||||
viTags:
|
viTags:
|
||||||
- base-4.17.2.0
|
- base-4.17.2.0
|
||||||
- Recommended
|
|
||||||
viChangeLog: https://downloads.haskell.org/~ghc/9.4.7/docs/users_guide/9.4.7-notes.html
|
viChangeLog: https://downloads.haskell.org/~ghc/9.4.7/docs/users_guide/9.4.7-notes.html
|
||||||
viSourceDL:
|
viSourceDL:
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.4.7/ghc-9.4.7-src.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/9.4.7/ghc-9.4.7-src.tar.xz
|
||||||
@@ -5707,7 +5707,8 @@ ghcupDownloads:
|
|||||||
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.9.1/stack-2.9.1-linux-armv7.tar.gz
|
dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.9.1/stack-2.9.1-linux-armv7.tar.gz
|
||||||
dlHash: fa53c58d8d00a6d49ec26624aa7f817f5ece3c4df339fa6e4fccf1038b7f1fa5
|
dlHash: fa53c58d8d00a6d49ec26624aa7f817f5ece3c4df339fa6e4fccf1038b7f1fa5
|
||||||
2.9.3:
|
2.9.3:
|
||||||
viTags: []
|
viTags:
|
||||||
|
- Recommended
|
||||||
viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v293
|
viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v293
|
||||||
viPostInstall: *stack-post
|
viPostInstall: *stack-post
|
||||||
viArch:
|
viArch:
|
||||||
@@ -5756,7 +5757,7 @@ ghcupDownloads:
|
|||||||
dlHash: a56d2cd37611eccf00ab8df38c3718923cf5677f3aeacd250394e79b676dcb98
|
dlHash: a56d2cd37611eccf00ab8df38c3718923cf5677f3aeacd250394e79b676dcb98
|
||||||
2.11.1:
|
2.11.1:
|
||||||
viTags:
|
viTags:
|
||||||
- Recommended
|
- Latest
|
||||||
viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v2111---2023-05-18
|
viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v2111---2023-05-18
|
||||||
viPostInstall: *stack-post
|
viPostInstall: *stack-post
|
||||||
viArch:
|
viArch:
|
||||||
@@ -5798,47 +5799,3 @@ ghcupDownloads:
|
|||||||
dlHash: 3ea56c5885c9c6d7e2dce927e44f48f6024a4a5a039f7acad79b19654a6f95b5
|
dlHash: 3ea56c5885c9c6d7e2dce927e44f48f6024a4a5a039f7acad79b19654a6f95b5
|
||||||
dlSubdir:
|
dlSubdir:
|
||||||
RegexDir: "stack-.*"
|
RegexDir: "stack-.*"
|
||||||
2.13.1:
|
|
||||||
viTags:
|
|
||||||
- Latest
|
|
||||||
viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v2131---2023-09-29
|
|
||||||
viPostInstall: *stack-post
|
|
||||||
viArch:
|
|
||||||
A_64:
|
|
||||||
Linux_UnknownLinux:
|
|
||||||
unknown_versioning: &stack-2131-64
|
|
||||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.13.1/stack-2.13.1-linux-x86_64.tar.gz
|
|
||||||
dlHash: 45281bb2385e928916ec8bcbc7ab790ce8721bbf805f3d0752544ada22ad5ea3
|
|
||||||
dlSubdir:
|
|
||||||
RegexDir: "stack-.*"
|
|
||||||
Darwin:
|
|
||||||
unknown_versioning:
|
|
||||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.13.1/stack-2.13.1-osx-x86_64.tar.gz
|
|
||||||
dlHash: b7d46382edb17230d21943844550d3aaeacee8b6fb1fcc7980ca59bee500b2a5
|
|
||||||
dlSubdir:
|
|
||||||
RegexDir: "stack-.*"
|
|
||||||
Windows:
|
|
||||||
unknown_versioning:
|
|
||||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.13.1/stack-2.13.1-windows-x86_64.tar.gz
|
|
||||||
dlHash: 728be2371e257c6960341167192fa704ff1f92ab61657dd4781710a257fae7c1
|
|
||||||
dlSubdir:
|
|
||||||
RegexDir: "stack-.*"
|
|
||||||
# FreeBSD:
|
|
||||||
# unknown_versioning:
|
|
||||||
# dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.13.1/stack-2.13.1-freebsd-x86_64.tar.xz
|
|
||||||
# dlHash: <replace_me>
|
|
||||||
Linux_Alpine:
|
|
||||||
unknown_versioning: *stack-2131-64
|
|
||||||
A_ARM64:
|
|
||||||
Linux_UnknownLinux:
|
|
||||||
unknown_versioning:
|
|
||||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.13.1/stack-2.13.1-linux-aarch64.tar.gz
|
|
||||||
dlHash: 37b1dbf39131eea629a6e3685fd1153fdfd2f0cd2179db92bb33784987b4ddb8
|
|
||||||
dlSubdir:
|
|
||||||
RegexDir: "stack-.*"
|
|
||||||
Darwin:
|
|
||||||
unknown_versioning:
|
|
||||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.13.1/stack-2.13.1-osx-aarch64.tar.gz
|
|
||||||
dlHash: 18ececd7112b1aad01ab0f88cb68ae63f2dc74aa9b8b5319828979f43cba9907
|
|
||||||
dlSubdir:
|
|
||||||
RegexDir: "stack-.*"
|
|
||||||
|
|||||||
Binary file not shown.
@@ -105,30 +105,11 @@ inputP :: Parser Input
|
|||||||
inputP = fileInput <|> stdInput
|
inputP = fileInput <|> stdInput
|
||||||
|
|
||||||
data ValidateYAMLOpts = ValidateYAMLOpts
|
data ValidateYAMLOpts = ValidateYAMLOpts
|
||||||
{ vChannel :: DistributionChannel
|
{ vInput :: Maybe Input
|
||||||
, vInput :: Maybe Input
|
|
||||||
}
|
}
|
||||||
|
|
||||||
validateYAMLOpts :: Parser ValidateYAMLOpts
|
validateYAMLOpts :: Parser ValidateYAMLOpts
|
||||||
validateYAMLOpts = ValidateYAMLOpts <$> channelParser <*> optional inputP
|
validateYAMLOpts = ValidateYAMLOpts <$> optional inputP
|
||||||
|
|
||||||
channelParser :: Parser DistributionChannel
|
|
||||||
channelParser =
|
|
||||||
option
|
|
||||||
(eitherReader chanP)
|
|
||||||
(long "channel" <> metavar "CHANNEL" <> help
|
|
||||||
"Signal which distribution channel the YAML denotes: (main | prerelease | nightly). Main is defaul."
|
|
||||||
<> value MainChan
|
|
||||||
)
|
|
||||||
where
|
|
||||||
chanP :: String -> Either String DistributionChannel
|
|
||||||
chanP s' | t == T.pack "main" = Right MainChan
|
|
||||||
| t == T.pack "prerelease" = Right PrereleaseChan
|
|
||||||
| t == T.pack "prereleases" = Right PrereleaseChan
|
|
||||||
| t == T.pack "nightly" = Right NightlyChan
|
|
||||||
| t == T.pack "nightlies" = Right NightlyChan
|
|
||||||
| otherwise = Left ("Unknown channel value: " <> s')
|
|
||||||
where t = T.toLower (T.pack s')
|
|
||||||
|
|
||||||
tarballFilterP :: Parser TarballFilter
|
tarballFilterP :: Parser TarballFilter
|
||||||
tarballFilterP = option readm $
|
tarballFilterP = option readm $
|
||||||
@@ -224,7 +205,7 @@ main = do
|
|||||||
|
|
||||||
_ <- customExecParser (prefs showHelpOnError) (info (opts <**> helper) idm)
|
_ <- customExecParser (prefs showHelpOnError) (info (opts <**> helper) idm)
|
||||||
>>= \Options {..} -> case optCommand of
|
>>= \Options {..} -> case optCommand of
|
||||||
ValidateYAML vopts@ValidateYAMLOpts{ .. } -> withValidateYamlOpts vopts (validate vChannel)
|
ValidateYAML vopts -> withValidateYamlOpts vopts validate
|
||||||
ValidateTarballs vopts tarballFilter -> withValidateYamlOpts vopts (validateTarballs tarballFilter)
|
ValidateTarballs vopts tarballFilter -> withValidateYamlOpts vopts (validateTarballs tarballFilter)
|
||||||
GenerateHlsGhc vopts format output -> withValidateYamlOpts vopts (generateHLSGhc format output)
|
GenerateHlsGhc vopts format output -> withValidateYamlOpts vopts (generateHLSGhc format output)
|
||||||
GenerateToolTable vopts output -> withValidateYamlOpts vopts (generateTable output)
|
GenerateToolTable vopts output -> withValidateYamlOpts vopts (generateTable output)
|
||||||
|
|||||||
@@ -51,11 +51,6 @@ data ValidationError = InternalError String
|
|||||||
|
|
||||||
instance Exception ValidationError
|
instance Exception ValidationError
|
||||||
|
|
||||||
data DistributionChannel = MainChan
|
|
||||||
| PrereleaseChan
|
|
||||||
| NightlyChan
|
|
||||||
deriving (Show, Eq)
|
|
||||||
|
|
||||||
|
|
||||||
addError :: (MonadReader (IORef Int) m, MonadIO m, Monad m) => m ()
|
addError :: (MonadReader (IORef Int) m, MonadIO m, Monad m) => m ()
|
||||||
addError = do
|
addError = do
|
||||||
@@ -71,9 +66,8 @@ validate :: ( Monad m
|
|||||||
, MonadUnliftIO m
|
, MonadUnliftIO m
|
||||||
, HasGHCupInfo env
|
, HasGHCupInfo env
|
||||||
)
|
)
|
||||||
=> DistributionChannel
|
=> m ExitCode
|
||||||
-> m ExitCode
|
validate = do
|
||||||
validate distroChannel = do
|
|
||||||
GHCupInfo { _ghcupDownloads = dls } <- getGHCupInfo
|
GHCupInfo { _ghcupDownloads = dls } <- getGHCupInfo
|
||||||
|
|
||||||
ref <- liftIO $ newIORef 0
|
ref <- liftIO $ newIORef 0
|
||||||
@@ -101,36 +95,33 @@ validate distroChannel = do
|
|||||||
lift $ logInfo "All good"
|
lift $ logInfo "All good"
|
||||||
pure ExitSuccess
|
pure ExitSuccess
|
||||||
where
|
where
|
||||||
checkHasRequiredPlatforms t v tags arch pspecs
|
checkHasRequiredPlatforms t v tags arch pspecs = do
|
||||||
-- relax requirements for prerelease and nightly channels
|
let v' = prettyVer v
|
||||||
| distroChannel `elem` [PrereleaseChan, NightlyChan] = pure ()
|
arch' = prettyShow arch
|
||||||
| otherwise = do
|
when (Linux UnknownLinux `notElem` pspecs) $ do
|
||||||
let v' = prettyVer v
|
lift $ logError $
|
||||||
arch' = prettyShow arch
|
"Linux UnknownLinux missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'
|
||||||
when (Linux UnknownLinux `notElem` pspecs) $ do
|
addError
|
||||||
lift $ logError $
|
when ((Darwin `notElem` pspecs) && arch == A_64) $ do
|
||||||
"Linux UnknownLinux missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'
|
lift $ logError $ "Darwin missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'
|
||||||
addError
|
addError
|
||||||
when ((Darwin `notElem` pspecs) && arch == A_64) $ do
|
when ((FreeBSD `notElem` pspecs) && arch == A_64) $ lift $ logWarn $
|
||||||
lift $ logError $ "Darwin missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'
|
"FreeBSD missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'
|
||||||
addError
|
when (Windows `notElem` pspecs && arch == A_64) $ do
|
||||||
when ((FreeBSD `notElem` pspecs) && arch == A_64) $ lift $ logWarn $
|
lift $ logError $ "Windows missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'
|
||||||
"FreeBSD missing for for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack arch'
|
addError
|
||||||
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
|
-- alpine needs to be set explicitly, because
|
||||||
-- we cannot assume that "Linux UnknownLinux" runs on Alpine
|
-- we cannot assume that "Linux UnknownLinux" runs on Alpine
|
||||||
-- (although it could be static)
|
-- (although it could be static)
|
||||||
when (Linux Alpine `notElem` pspecs) $
|
when (Linux Alpine `notElem` pspecs) $
|
||||||
case t of
|
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
|
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|]
|
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
|
, 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
|
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))
|
, 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)
|
_ -> lift $ logWarn $ "Linux Alpine missing for " <> T.pack (prettyShow t) <> " " <> v' <> " " <> T.pack (prettyShow arch)
|
||||||
|
|
||||||
checkUniqueTags tool = do
|
checkUniqueTags tool = do
|
||||||
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
|
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
|
||||||
@@ -154,15 +145,12 @@ validate distroChannel = do
|
|||||||
lift $ logError $ "Tags not unique for " <> T.pack (prettyShow tool) <> ": " <> T.pack (prettyShow xs)
|
lift $ logError $ "Tags not unique for " <> T.pack (prettyShow tool) <> ": " <> T.pack (prettyShow xs)
|
||||||
addError
|
addError
|
||||||
where
|
where
|
||||||
isUniqueTag Latest = True
|
isUniqueTag Latest = True
|
||||||
isUniqueTag Recommended = True
|
isUniqueTag Recommended = True
|
||||||
isUniqueTag Old = False
|
isUniqueTag Old = False
|
||||||
isUniqueTag Prerelease = False
|
isUniqueTag Prerelease = False
|
||||||
isUniqueTag LatestPrerelease = True
|
isUniqueTag (Base _) = False
|
||||||
isUniqueTag Nightly = False
|
isUniqueTag (UnknownTag _) = False
|
||||||
isUniqueTag LatestNightly = True
|
|
||||||
isUniqueTag (Base _) = False
|
|
||||||
isUniqueTag (UnknownTag _) = False
|
|
||||||
|
|
||||||
checkGHCVerIsValid = do
|
checkGHCVerIsValid = do
|
||||||
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
|
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
|
||||||
@@ -178,21 +166,12 @@ validate distroChannel = do
|
|||||||
checkMandatoryTags tool = do
|
checkMandatoryTags tool = do
|
||||||
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
|
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
|
||||||
let allTags = _viTags =<< M.elems (availableToolVersions dls tool)
|
let allTags = _viTags =<< M.elems (availableToolVersions dls tool)
|
||||||
forM_ (mandatoryTags tool) $ \t -> case t `elem` allTags of
|
forM_ [Latest, Recommended] $ \t -> case t `elem` allTags of
|
||||||
False -> do
|
False -> do
|
||||||
lift $ logError $ "Tag " <> T.pack (prettyShow t) <> " missing from " <> T.pack (prettyShow tool)
|
lift $ logError $ "Tag " <> T.pack (prettyShow t) <> " missing from " <> T.pack (prettyShow tool)
|
||||||
addError
|
addError
|
||||||
True -> pure ()
|
True -> pure ()
|
||||||
|
|
||||||
mandatoryTags tool
|
|
||||||
-- due to a quirk, even for ghcup prereleases we need the 'latest' tag
|
|
||||||
-- https://github.com/haskell/ghcup-hs/issues/891
|
|
||||||
| tool == GHCup = [Latest, Recommended]
|
|
||||||
| otherwise = case distroChannel of
|
|
||||||
MainChan -> [Latest, Recommended]
|
|
||||||
PrereleaseChan -> [LatestPrerelease]
|
|
||||||
NightlyChan -> [LatestNightly]
|
|
||||||
|
|
||||||
-- all GHC versions must have a base tag
|
-- all GHC versions must have a base tag
|
||||||
checkGHCHasBaseVersion = do
|
checkGHCHasBaseVersion = do
|
||||||
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
|
GHCupInfo { _ghcupDownloads = dls } <- lift getGHCupInfo
|
||||||
|
|||||||
@@ -13,11 +13,11 @@ ghcupDownloads:
|
|||||||
viArch:
|
viArch:
|
||||||
A_64:
|
A_64:
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
unknown_versioning: &cabal-3720-64
|
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
|
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
|
dlHash: c9e28e1578dfb851918e523040cb0f913df747fe95e24d089bcf7cd821c21885
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning: *cabal-3720-64
|
unknown_versioning: *cabal-3720-32
|
||||||
Darwin:
|
Darwin:
|
||||||
unknown_versioning:
|
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
|
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/3.7.0.0-pre20220407/cabal-install-3.7-x86_64-darwin.tar.xz
|
||||||
@@ -59,11 +59,11 @@ ghcupDownloads:
|
|||||||
viArch:
|
viArch:
|
||||||
A_64:
|
A_64:
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
unknown_versioning: &cabal-3810-64
|
unknown_versioning: &cabal-3810-32
|
||||||
dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.8.1.0-rc1/cabal-install-3.8.0.20220526-x86_64-linux-alpine.tar.xz
|
dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.8.1.0-rc1/cabal-install-3.8.0.20220526-x86_64-linux-alpine.tar.xz
|
||||||
dlHash: a4e6cb7990d7150c4e64cbd3ebd0a62fb6b00f96f0f9bc3fb751ff6d1f898fdb
|
dlHash: a4e6cb7990d7150c4e64cbd3ebd0a62fb6b00f96f0f9bc3fb751ff6d1f898fdb
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning: *cabal-3810-64
|
unknown_versioning: *cabal-3810-32
|
||||||
Darwin:
|
Darwin:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.8.1.0-rc1/cabal-install-3.8.0.20220526-x86_64-darwin.tar.xz
|
dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.8.1.0-rc1/cabal-install-3.8.0.20220526-x86_64-darwin.tar.xz
|
||||||
@@ -100,11 +100,11 @@ ghcupDownloads:
|
|||||||
viArch:
|
viArch:
|
||||||
A_64:
|
A_64:
|
||||||
Linux_UnknownLinux:
|
Linux_UnknownLinux:
|
||||||
unknown_versioning: &cabal-3900-64
|
unknown_versioning: &cabal-3900-32
|
||||||
dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.9.0.0/cabal-install-3.9-x86_64-linux-alpine.tar.xz
|
dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.9.0.0/cabal-install-3.9-x86_64-linux-alpine.tar.xz
|
||||||
dlHash: 0374716dc33f255e1fb9ec38d83fdd3a3dc81ecf38af0a94b8ab0e1ba1a1ac1c
|
dlHash: 0374716dc33f255e1fb9ec38d83fdd3a3dc81ecf38af0a94b8ab0e1ba1a1ac1c
|
||||||
Linux_Alpine:
|
Linux_Alpine:
|
||||||
unknown_versioning: *cabal-3900-64
|
unknown_versioning: *cabal-3900-32
|
||||||
Darwin:
|
Darwin:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.9.0.0/cabal-install-3.9-x86_64-darwin.tar.xz
|
dlUri: https://downloads.haskell.org/~cabal/cabal-install-3.9.0.0/cabal-install-3.9-x86_64-darwin.tar.xz
|
||||||
@@ -210,7 +210,7 @@ ghcupDownloads:
|
|||||||
dlUri: https://downloads.haskell.org/~ghc/9.4.1-alpha2/ghc-9.4.0.20220523-src.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/9.4.1-alpha2/ghc-9.4.0.20220523-src.tar.xz
|
||||||
dlSubdir: ghc-9.4.0.20220523
|
dlSubdir: ghc-9.4.0.20220523
|
||||||
dlHash: 3bcac9a2043bbc99cd8113547d92fdcad7d7bb4c286a9222ccbcbd4b4a26b635
|
dlHash: 3bcac9a2043bbc99cd8113547d92fdcad7d7bb4c286a9222ccbcbd4b4a26b635
|
||||||
viPostRemove: *ghc-post-remove
|
viPostRemove: &ghc-post-remove "After removing GHC you might also want to clean up your cabal store at: ~/.cabal/store/ghc-<ghcver>"
|
||||||
viArch:
|
viArch:
|
||||||
A_64:
|
A_64:
|
||||||
Linux_Debian:
|
Linux_Debian:
|
||||||
@@ -549,11 +549,11 @@ ghcupDownloads:
|
|||||||
viArch:
|
viArch:
|
||||||
A_32:
|
A_32:
|
||||||
Linux_Debian:
|
Linux_Debian:
|
||||||
<10: &ghc-961alpha2-32-deb9
|
<10: &ghc-961alpha2-64-deb9
|
||||||
dlHash: e2f3e622f1aecfe0b6a305d0fb997e83453ecbc2949cb2b393549e35f2b062e1
|
dlHash: e2f3e622f1aecfe0b6a305d0fb997e83453ecbc2949cb2b393549e35f2b062e1
|
||||||
dlSubdir: ghc-9.6.0.20230128-i386-unknown-linux
|
dlSubdir: ghc-9.6.0.20230128-i386-unknown-linux
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.6.0.20230128/ghc-9.6.0.20230128-i386-deb9-linux.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/9.6.0.20230128/ghc-9.6.0.20230128-i386-deb9-linux.tar.xz
|
||||||
unknown_versioning: *ghc-961alpha2-32-deb9
|
unknown_versioning: *ghc-961alpha2-64-deb9
|
||||||
A_64:
|
A_64:
|
||||||
Darwin:
|
Darwin:
|
||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
@@ -1290,7 +1290,7 @@ ghcupDownloads:
|
|||||||
dlSubdir: ghc-9.8.0.20230919
|
dlSubdir: ghc-9.8.0.20230919
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230919/ghc-9.8.0.20230919-src.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230919/ghc-9.8.0.20230919-src.tar.xz
|
||||||
viTags:
|
viTags:
|
||||||
- Prerelease
|
- LatestPrerelease
|
||||||
- base-4.19.0.0
|
- base-4.19.0.0
|
||||||
viTestDL:
|
viTestDL:
|
||||||
dlHash: a586567b51ce856d15cc4bdde2316aa0aaf7381d80896d2fdcc4f13757b303e6
|
dlHash: a586567b51ce856d15cc4bdde2316aa0aaf7381d80896d2fdcc4f13757b303e6
|
||||||
@@ -1298,121 +1298,6 @@ ghcupDownloads:
|
|||||||
dlSubdir: ghc-9.8.0.20230919
|
dlSubdir: ghc-9.8.0.20230919
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230919/ghc-9.8.0.20230919-src.tar.xz
|
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230919/ghc-9.8.0.20230919-src.tar.xz
|
||||||
|
|
||||||
9.8.0.20230929:
|
|
||||||
viArch:
|
|
||||||
A_32:
|
|
||||||
Linux_Debian:
|
|
||||||
unknown_versioning: &ghc-981rc1-i386-deb10
|
|
||||||
dlHash: 972ecaadafff7d4a65fa5c328d4f9b5210001c75534f3ba123fe51039643ab09
|
|
||||||
dlOutput: ghc-9.8.0.20230929-i386-linux-deb10.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929-i386-unknown-linux
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-i386-deb10-linux.tar.xz
|
|
||||||
Linux_Mint:
|
|
||||||
unknown_versioning: *ghc-981rc1-i386-deb10
|
|
||||||
Linux_Ubuntu:
|
|
||||||
unknown_versioning: *ghc-981rc1-i386-deb10
|
|
||||||
Linux_UnknownLinux:
|
|
||||||
unknown_versioning: *ghc-981rc1-i386-deb10
|
|
||||||
A_64:
|
|
||||||
Darwin:
|
|
||||||
unknown_versioning:
|
|
||||||
dlHash: 95ff4a6fe3202e14311bfd22b2ef166d47e8cc8a848cf9cfd5d66734e4dac919
|
|
||||||
dlOutput: ghc-9.8.0.20230929-x86_64-darwin.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929-x86_64-apple-darwin
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-x86_64-apple-darwin.tar.xz
|
|
||||||
Linux_Alpine:
|
|
||||||
unknown_versioning:
|
|
||||||
dlHash: 4f73dbe0967d831252744d59a238d4a49aa474ea04b4cc8683fe06847f6b071d
|
|
||||||
dlOutput: ghc-9.8.0.20230929-x86_64-linux-alpine3_12.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929-x86_64-unknown-linux
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-x86_64-alpine3_12-linux.tar.xz
|
|
||||||
Linux_CentOS:
|
|
||||||
( >= 7 && < 8 ): &ghc-981rc1-x86_64-centos7
|
|
||||||
dlHash: ca3526b013b9889f4b43074dcdb0cc213facb55db9f0e6de9c2365bb0365b664
|
|
||||||
dlOutput: ghc-9.8.0.20230929-x86_64-linux-centos7.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929-x86_64-unknown-linux
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-x86_64-centos7-linux.tar.xz
|
|
||||||
unknown_versioning: *ghc-981rc1-x86_64-centos7
|
|
||||||
Linux_Debian:
|
|
||||||
(>= 10 && < 11):
|
|
||||||
dlHash: abd39667c4227614c3f2c6a58a911837eb08f2664ca8dcc06389f6e2fe88d576
|
|
||||||
dlOutput: ghc-9.8.0.20230929-x86_64-linux-deb10.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929-x86_64-unknown-linux
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-x86_64-deb10-linux.tar.xz
|
|
||||||
< 10:
|
|
||||||
dlHash: 9d5c85c58b4f35125c6ff62974e935d035ff42ef7e4bb366007982127f9b4312
|
|
||||||
dlOutput: ghc-9.8.0.20230929-x86_64-linux-deb9.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929-x86_64-unknown-linux
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-x86_64-deb9-linux.tar.xz
|
|
||||||
'>= 11': &ghc-981rc1-x86_64-deb11
|
|
||||||
dlHash: 4be779e74afb510de27f7d9ed3b2a63044e678d2bdf8356a42f2232dcd4bc332
|
|
||||||
dlOutput: ghc-9.8.0.20230929-x86_64-linux-deb11.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929-x86_64-unknown-linux
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-x86_64-deb11-linux.tar.xz
|
|
||||||
unknown_versioning: *ghc-981rc1-x86_64-deb11
|
|
||||||
Linux_Fedora:
|
|
||||||
'>= 33':
|
|
||||||
dlHash: a85cfaee4b3d3a9900282a01f473e5520e31c405cd3319a30a8ab06321cd90e0
|
|
||||||
dlOutput: ghc-9.8.0.20230929-x86_64-linux-fedora33.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929-x86_64-unknown-linux
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-x86_64-fedora33-linux.tar.xz
|
|
||||||
unknown_versioning: *ghc-981rc1-x86_64-centos7
|
|
||||||
Linux_Mint:
|
|
||||||
< 20: &ghc-981rc1-x86_64-ubuntu18_04
|
|
||||||
dlHash: d07a57858490dfa5ed1299939eacf068f52603b4ab55a5cc68b3fe19b0bb81da
|
|
||||||
dlOutput: ghc-9.8.0.20230929-x86_64-linux-ubuntu18_04.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929-x86_64-unknown-linux
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-x86_64-ubuntu18_04-linux.tar.xz
|
|
||||||
'>= 20': &ghc-981rc1-x86_64-ubuntu20_04
|
|
||||||
dlHash: 433e70733015c64fd967ee2f6c93ac519a0a72455463dac76030a8b2aa54c021
|
|
||||||
dlOutput: ghc-9.8.0.20230929-x86_64-linux-ubuntu20_04.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929-x86_64-unknown-linux
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-x86_64-ubuntu20_04-linux.tar.xz
|
|
||||||
Linux_RedHat:
|
|
||||||
unknown_versioning: *ghc-981rc1-x86_64-centos7
|
|
||||||
Linux_Ubuntu:
|
|
||||||
( >= 16 && < 19 ): *ghc-981rc1-x86_64-ubuntu18_04
|
|
||||||
unknown_versioning: *ghc-981rc1-x86_64-ubuntu20_04
|
|
||||||
Linux_UnknownLinux:
|
|
||||||
unknown_versioning:
|
|
||||||
dlHash: aaaeb2c1a0bc111676b240bb171e622532cafab2b8d9fb98da181d8df799cf32
|
|
||||||
dlOutput: ghc-9.8.0.20230929-x86_64-linux-rocky8.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929-x86_64-unknown-linux
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-x86_64-rocky8-linux.tar.xz
|
|
||||||
Windows:
|
|
||||||
unknown_versioning:
|
|
||||||
dlHash: 89960b8e52b21c455369025a6ba9f7445ad763cd8ea924771ef65052d3b0caf6
|
|
||||||
dlOutput: ghc-9.8.0.20230929-x86_64-windows.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929-x86_64-unknown-mingw32
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-x86_64-unknown-mingw32.tar.xz
|
|
||||||
A_ARM64:
|
|
||||||
Darwin:
|
|
||||||
unknown_versioning:
|
|
||||||
dlHash: 62f66aa167ff08e862549750511fe4c7a1b789ac82a1203e5154ddaa62e0a0e6
|
|
||||||
dlOutput: ghc-9.8.0.20230929-aarch64-darwin.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929-aarch64-apple-darwin
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-aarch64-apple-darwin.tar.xz
|
|
||||||
Linux_UnknownLinux:
|
|
||||||
unknown_versioning:
|
|
||||||
dlHash: cf212fc580fd881dbf80c8a2d7df355cc8728c94b8bab2217a3257247d4b459a
|
|
||||||
dlOutput: ghc-9.8.0.20230929-aarch64-linux-deb10.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929-aarch64-unknown-linux
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-aarch64-deb10-linux.tar.xz
|
|
||||||
viChangeLog: https://downloads.haskell.org/~ghc/9.8.0.20230929/docs/users_guide/9.8.1-notes.html
|
|
||||||
viReleaseDay: '2023-09-29'
|
|
||||||
viSourceDL:
|
|
||||||
dlHash: 93bda13ca9e612210147210c23c2d565b9a4cfafa0f4d8a033ec533a8d07fd4b
|
|
||||||
dlOutput: ghc-9.8.0.20230929-src.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-src.tar.xz
|
|
||||||
viTags:
|
|
||||||
- LatestPrerelease
|
|
||||||
- base-4.19.0.0
|
|
||||||
viTestDL:
|
|
||||||
dlHash: b0afd2912ba91914519739907ede6008857871668a138829410d72948c3c359e
|
|
||||||
dlOutput: ghc-9.8.0.20230929-testsuite.tar.xz
|
|
||||||
dlSubdir: ghc-9.8.0.20230929
|
|
||||||
dlUri: https://downloads.haskell.org/~ghc/9.8.0.20230929/ghc-9.8.0.20230929-src.tar.xz
|
|
||||||
|
|
||||||
Stack:
|
Stack:
|
||||||
2.9.2.1:
|
2.9.2.1:
|
||||||
|
|||||||
Binary file not shown.
@@ -5378,7 +5378,9 @@ ghcupDownloads:
|
|||||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.9.3/stack-2.9.3-linux-aarch64.tar.gz
|
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.9.3/stack-2.9.3-linux-aarch64.tar.gz
|
||||||
dlHash: 161e1638da9efc56319f7225b3652ca3f339bcda9eadc7d6ce512f325b0f014a
|
dlHash: 161e1638da9efc56319f7225b3652ca3f339bcda9eadc7d6ce512f325b0f014a
|
||||||
2.11.1:
|
2.11.1:
|
||||||
viTags: []
|
viTags:
|
||||||
|
- Recommended
|
||||||
|
- Latest
|
||||||
viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v2111---2023-05-18
|
viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v2111---2023-05-18
|
||||||
viPostInstall: *stack-post
|
viPostInstall: *stack-post
|
||||||
viArch:
|
viArch:
|
||||||
@@ -5408,49 +5410,4 @@ ghcupDownloads:
|
|||||||
unknown_versioning:
|
unknown_versioning:
|
||||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.11.1/stack-2.11.1-linux-aarch64.tar.gz
|
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.11.1/stack-2.11.1-linux-aarch64.tar.gz
|
||||||
dlHash: c7733d07ed78d6f4d82e0ebf6d260eb693c6c9df2208003d60caba69766f9c15
|
dlHash: c7733d07ed78d6f4d82e0ebf6d260eb693c6c9df2208003d60caba69766f9c15
|
||||||
2.13.1:
|
|
||||||
viTags:
|
|
||||||
- Recommended
|
|
||||||
- Latest
|
|
||||||
viChangeLog: https://github.com/commercialhaskell/stack/blob/master/ChangeLog.md#v2131---2023-09-29
|
|
||||||
viPostInstall: *stack-post
|
|
||||||
viArch:
|
|
||||||
A_64:
|
|
||||||
Linux_UnknownLinux:
|
|
||||||
unknown_versioning: &stack-2131-64
|
|
||||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.13.1/stack-2.13.1-linux-x86_64.tar.gz
|
|
||||||
dlHash: 45281bb2385e928916ec8bcbc7ab790ce8721bbf805f3d0752544ada22ad5ea3
|
|
||||||
dlSubdir:
|
|
||||||
RegexDir: "stack-.*"
|
|
||||||
Darwin:
|
|
||||||
unknown_versioning:
|
|
||||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.13.1/stack-2.13.1-osx-x86_64.tar.gz
|
|
||||||
dlHash: b7d46382edb17230d21943844550d3aaeacee8b6fb1fcc7980ca59bee500b2a5
|
|
||||||
dlSubdir:
|
|
||||||
RegexDir: "stack-.*"
|
|
||||||
Windows:
|
|
||||||
unknown_versioning:
|
|
||||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.13.1/stack-2.13.1-windows-x86_64.tar.gz
|
|
||||||
dlHash: 728be2371e257c6960341167192fa704ff1f92ab61657dd4781710a257fae7c1
|
|
||||||
dlSubdir:
|
|
||||||
RegexDir: "stack-.*"
|
|
||||||
# FreeBSD:
|
|
||||||
# unknown_versioning:
|
|
||||||
# dlUri: https://downloads.haskell.org/ghcup/unofficial-bindists/stack/2.13.1/stack-2.13.1-freebsd-x86_64.tar.xz
|
|
||||||
# dlHash: <replace_me>
|
|
||||||
Linux_Alpine:
|
|
||||||
unknown_versioning: *stack-2131-64
|
|
||||||
A_ARM64:
|
|
||||||
Linux_UnknownLinux:
|
|
||||||
unknown_versioning:
|
|
||||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.13.1/stack-2.13.1-linux-aarch64.tar.gz
|
|
||||||
dlHash: 37b1dbf39131eea629a6e3685fd1153fdfd2f0cd2179db92bb33784987b4ddb8
|
|
||||||
dlSubdir:
|
|
||||||
RegexDir: "stack-.*"
|
|
||||||
Darwin:
|
|
||||||
unknown_versioning:
|
|
||||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/v2.13.1/stack-2.13.1-osx-aarch64.tar.gz
|
|
||||||
dlHash: 18ececd7112b1aad01ab0f88cb68ae63f2dc74aa9b8b5319828979f43cba9907
|
|
||||||
dlSubdir:
|
|
||||||
RegexDir: "stack-.*"
|
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user