Compare commits
68 Commits
pr/25
...
rm-ghc-pos
| Author | SHA1 | Date | |
|---|---|---|---|
|
e658bd1372
|
|||
|
9abf634f8c
|
|||
|
5d50438a4c
|
|||
|
22867158fa
|
|||
|
d309865d02
|
|||
|
af5688633d
|
|||
|
3b98df479a
|
|||
|
93514e964f
|
|||
|
4466b7ce4d
|
|||
|
1ba37946e1
|
|||
|
f37840f592
|
|||
|
|
5b58beb3bd | ||
|
8f0e82ef06
|
|||
|
de7b919c4f
|
|||
|
1b9f1fc804
|
|||
|
32a75b482a
|
|||
|
6290ad816c
|
|||
|
2d705bf10a
|
|||
|
5da8fa8ea0
|
|||
|
c3f3321617
|
|||
|
45db7a6349
|
|||
|
b29358a3ce
|
|||
|
448e6b65a1
|
|||
|
f79a614842
|
|||
|
38af24534d
|
|||
|
70f6aa4112
|
|||
|
34414b4a6b
|
|||
|
cea865595a
|
|||
|
3f891cc56a
|
|||
|
fd71594ee6
|
|||
|
8a0fcd3172
|
|||
|
c5d3930c8f
|
|||
|
36dd18eeb5
|
|||
|
4f8ca555fd
|
|||
|
|
03e9916d24 | ||
|
|
7737f5decf | ||
|
|
ba07fa8baa | ||
|
|
e8336c3093 | ||
|
|
7381149b4e | ||
|
|
ca7416674e | ||
|
|
ab7231f10f | ||
|
|
99133d949a | ||
|
|
02588b8025 | ||
|
9c78f17415
|
|||
|
33cb0e8708
|
|||
|
bc72af60ca
|
|||
|
320f96acf7
|
|||
|
|
f013568183 | ||
|
86da8c3dfe
|
|||
|
|
0bdb62c58e | ||
|
|
0c0736526a | ||
|
ff79db284a
|
|||
|
86c7f4374a
|
|||
|
25a2382694
|
|||
|
|
928375fa74 | ||
|
29c04ab231
|
|||
|
1a87f77dda
|
|||
|
fc911e1099
|
|||
|
|
2cc783fcab | ||
|
548aa90553
|
|||
|
90571cee09
|
|||
|
540ee16e8e
|
|||
|
|
19bc7f338e | ||
|
7ec72168b0
|
|||
|
d819e05b93
|
|||
|
42f43a6b2d
|
|||
|
012fbb3f13
|
|||
|
3fe6f8d804
|
259
.github/workflows/bindists.yaml
vendored
Normal file
259
.github/workflows/bindists.yaml
vendored
Normal file
@@ -0,0 +1,259 @@
|
||||
name: Bindist installation
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened]
|
||||
issue_comment:
|
||||
types: [created]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
tool:
|
||||
description: Tool
|
||||
required: true
|
||||
type: string
|
||||
version:
|
||||
description: Version
|
||||
required: true
|
||||
type: string
|
||||
metadataFile:
|
||||
description: Metadata file
|
||||
required: true
|
||||
default: ghcup-0.0.7.yaml
|
||||
type: string
|
||||
env:
|
||||
BOOTSTRAP_HASKELL_NONINTERACTIVE: 1
|
||||
BOOTSTRAP_HASKELL_MINIMAL: 1
|
||||
BOOTSTRAP_HASKELL_ADJUST_BASHRC: 1
|
||||
TOOL: ${{ github.event.inputs.tool }}
|
||||
VERSION: ${{ github.event.inputs.version }}
|
||||
METADATA_FILE: ${{ github.event.inputs.metadataFile }}
|
||||
jobs:
|
||||
bindist-install:
|
||||
name: linux-${{ matrix.image }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- image: alpine:latest
|
||||
installCmd: apk update && apk add
|
||||
toolRequirements: binutils-gold curl gcc g++ gmp-dev libc-dev libffi-dev make musl-dev ncurses-dev perl tar xz
|
||||
- image: debian:9
|
||||
installCmd: apt-get update && apt-get install -y
|
||||
toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
|
||||
- image: debian:10
|
||||
installCmd: apt-get update && apt-get install -y
|
||||
toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
|
||||
- image: debian:11
|
||||
installCmd: apt-get update && apt-get install -y
|
||||
toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
|
||||
- image: ubuntu:18.04
|
||||
installCmd: apt-get update && apt-get install -y
|
||||
toolRequirements: build-essential curl libffi-dev libffi6 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
|
||||
- image: ubuntu:20.04
|
||||
installCmd: apt-get update && apt-get install -y
|
||||
toolRequirements: build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
|
||||
- image: ubuntu:22.04
|
||||
installCmd: apt-get update && apt-get install -y
|
||||
toolRequirements: build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
|
||||
- image: archlinux:latest
|
||||
installCmd: pacman -Syu --noconfirm
|
||||
toolRequirements: which gcc gmp libffi make ncurses perl tar xz
|
||||
- image: fedora:36
|
||||
installCmd: dnf install -y
|
||||
toolRequirements: which gcc g++ gmp gmp-devel make ncurses ncurses-compat-libs xz perl
|
||||
- image: linuxmintd/mint19.3-amd64
|
||||
installCmd: apt-get update && apt-get install -y
|
||||
toolRequirements: build-essential curl libffi-dev libffi6 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
|
||||
- image: linuxmintd/mint20.2-amd64
|
||||
installCmd: apt-get update && apt-get install -y
|
||||
toolRequirements: build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
|
||||
container:
|
||||
image: ${{ matrix.image }}
|
||||
steps:
|
||||
- name: Install requirements
|
||||
shell: sh
|
||||
run: |
|
||||
${{ matrix.installCmd }} curl bash git ${{ matrix.toolRequirements }}
|
||||
|
||||
- uses: shpingalet007/pull-request-comment-trigger@696de492b50cee0ba671934893c91c5805a403b9
|
||||
id: check
|
||||
with:
|
||||
trigger: '@bindistTest ** ** **'
|
||||
reaction: rocket
|
||||
allow_arguments: true
|
||||
env:
|
||||
GITHUB_TOKEN: '${{secrets.GITHUB_TOKEN}}'
|
||||
|
||||
- uses: shpingalet007/pull-request-comment-trigger@696de492b50cee0ba671934893c91c5805a403b9
|
||||
id: checkRef
|
||||
with:
|
||||
trigger: '@bindistTestRef ** ** ** **'
|
||||
reaction: rocket
|
||||
allow_arguments: true
|
||||
env:
|
||||
GITHUB_TOKEN: '${{secrets.GITHUB_TOKEN}}'
|
||||
|
||||
- if: ${{ steps.checkRef.outputs.triggered == 'true' }}
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ fromJson(steps.check.outputs.arguments)[3] }}
|
||||
|
||||
- if: ${{ steps.checkRef.outputs.triggered != 'true' }}
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- if: ${{ github.event_name != 'workflow_dispatch' || steps.check.outputs.triggered == 'true' }}
|
||||
continue-on-error: true
|
||||
name: Install ghcup and bindist
|
||||
run: |
|
||||
[ -z "${TOOL}" ] && export TOOL=${{ fromJson(steps.check.outputs.arguments)[0] }}
|
||||
[ -z "${VERSION}" ] && export VERSION=${{ fromJson(steps.check.outputs.arguments)[1] }}
|
||||
[ -z "${METADATA_FILE}" ] && export METADATA_FILE=${{ fromJson(steps.check.outputs.arguments)[2] }}
|
||||
.github/workflows/install-bindist.sh
|
||||
echo SUCCESS=true >> $GITHUB_ENV
|
||||
|
||||
- if: ${{ github.event_name != 'workflow_dispatch' && steps.check.outputs.triggered != 'true' && steps.checkRef.outputs.triggered == 'true' }}
|
||||
continue-on-error: true
|
||||
name: Install ghcup and bindist
|
||||
run: |
|
||||
[ -z "${TOOL}" ] && export TOOL=${{ fromJson(steps.checkRef.outputs.arguments)[0] }}
|
||||
[ -z "${VERSION}" ] && export VERSION=${{ fromJson(steps.checkRef.outputs.arguments)[1] }}
|
||||
[ -z "${METADATA_FILE}" ] && export METADATA_FILE=${{ fromJson(steps.checkRef.outputs.arguments)[2] }}
|
||||
.github/workflows/install-bindist.sh
|
||||
echo SUCCESS=true >> $GITHUB_ENV
|
||||
|
||||
- if: ${{ github.event_name == 'workflow_dispatch' }}
|
||||
name: Install ghcup and bindist
|
||||
run: |
|
||||
.github/workflows/install-bindist.sh
|
||||
echo SUCCESS=true >> $GITHUB_ENV
|
||||
|
||||
- run: |
|
||||
if [ "${{ env.SUCCESS }}" = "true" ] ; then
|
||||
echo "true" > message-linux.txt
|
||||
else
|
||||
echo "false" > message-linux.txt
|
||||
fi
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: artifacts
|
||||
path: |
|
||||
./message-linux.txt
|
||||
|
||||
bindist-install-non-linux:
|
||||
name: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- macos-11
|
||||
- macos-12
|
||||
- windows-latest
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: shpingalet007/pull-request-comment-trigger@696de492b50cee0ba671934893c91c5805a403b9
|
||||
id: check
|
||||
with:
|
||||
trigger: '@bindistTest ** ** **'
|
||||
reaction: rocket
|
||||
allow_arguments: true
|
||||
env:
|
||||
GITHUB_TOKEN: '${{secrets.GITHUB_TOKEN}}'
|
||||
|
||||
- uses: shpingalet007/pull-request-comment-trigger@696de492b50cee0ba671934893c91c5805a403b9
|
||||
id: checkRef
|
||||
with:
|
||||
trigger: '@bindistTestRef ** ** ** **'
|
||||
reaction: rocket
|
||||
allow_arguments: true
|
||||
env:
|
||||
GITHUB_TOKEN: '${{secrets.GITHUB_TOKEN}}'
|
||||
|
||||
- if: ${{ steps.checkRef.outputs.triggered == 'true' }}
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ fromJson(steps.check.outputs.arguments)[3] }}
|
||||
|
||||
- if: ${{ steps.checkRef.outputs.triggered != 'true' }}
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- if: ${{ github.event_name != 'workflow_dispatch' || steps.check.outputs.triggered == 'true' }}
|
||||
continue-on-error: true
|
||||
name: Install ghcup and bindist
|
||||
run: |
|
||||
[ -z "${TOOL}" ] && export TOOL=${{ fromJson(steps.check.outputs.arguments)[0] }}
|
||||
[ -z "${VERSION}" ] && export VERSION=${{ fromJson(steps.check.outputs.arguments)[1] }}
|
||||
[ -z "${METADATA_FILE}" ] && export METADATA_FILE=${{ fromJson(steps.check.outputs.arguments)[2] }}
|
||||
.github/workflows/install-bindist.sh
|
||||
echo SUCCESS=true >> $GITHUB_ENV
|
||||
|
||||
- if: ${{ github.event_name != 'workflow_dispatch' && steps.check.outputs.triggered != 'true' && steps.checkRef.outputs.triggered == 'true' }}
|
||||
continue-on-error: true
|
||||
name: Install ghcup and bindist
|
||||
run: |
|
||||
[ -z "${TOOL}" ] && export TOOL=${{ fromJson(steps.checkRef.outputs.arguments)[0] }}
|
||||
[ -z "${VERSION}" ] && export VERSION=${{ fromJson(steps.checkRef.outputs.arguments)[1] }}
|
||||
[ -z "${METADATA_FILE}" ] && export METADATA_FILE=${{ fromJson(steps.checkRef.outputs.arguments)[2] }}
|
||||
.github/workflows/install-bindist.sh
|
||||
echo SUCCESS=true >> $GITHUB_ENV
|
||||
|
||||
- if: ${{ github.event_name == 'workflow_dispatch' }}
|
||||
name: Install ghcup and bindist
|
||||
run: |
|
||||
.github/workflows/install-bindist.sh
|
||||
echo SUCCESS=true >> $GITHUB_ENV
|
||||
|
||||
- run: |
|
||||
if [ "${{ env.SUCCESS }}" = "true" ] ; then
|
||||
echo "true" > message.txt
|
||||
else
|
||||
echo "false" > message.txt
|
||||
fi
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: artifacts
|
||||
path: |
|
||||
./message.txt
|
||||
|
||||
comment:
|
||||
name: comment
|
||||
needs: ["bindist-install", "bindist-install-non-linux"]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: artifacts
|
||||
|
||||
- run: |
|
||||
if [ "$(cat message.txt)" == "true" ] && [ "$(cat message-linux.txt)" == "true" ] ; then
|
||||
echo "SUCCESS=true" >> $GITHUB_ENV
|
||||
else
|
||||
echo "SUCCESS=false" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- id: message
|
||||
run: |
|
||||
if [ "${{ env.SUCCESS }}" = "true" ] ; then
|
||||
echo 'MESSAGE=Bindist check success :+1:' >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo 'MESSAGE=Bindist check failure :-1:' >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
- if: ${{ github.event_name == 'pull_request' }}
|
||||
name: Comment PR
|
||||
uses: thollander/actions-comment-pull-request@v2
|
||||
with:
|
||||
message: |
|
||||
${{ steps.message.outputs.MESSAGE }}
|
||||
|
||||
- name: Check on failures
|
||||
if: env.SUCCESS != 'true'
|
||||
run: exit 1
|
||||
|
||||
51
.github/workflows/install-bindist.sh
vendored
Executable file
51
.github/workflows/install-bindist.sh
vendored
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env bash
|
||||
set -x
|
||||
set -eo pipefail
|
||||
|
||||
export GHCUP_INSTALL_BASE_PREFIX=$RUNNER_TEMP/foobarbaz
|
||||
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh
|
||||
|
||||
source $GHCUP_INSTALL_BASE_PREFIX/.ghcup/env || source ~/.bashrc
|
||||
|
||||
ghcup --version
|
||||
which ghcup | grep foobarbaz
|
||||
|
||||
# oh no
|
||||
if [ "${TOOL}" = "hls" ] ; then
|
||||
ghcup -v --url-source=file:$METADATA_FILE install ghc --set 9.2.4
|
||||
fi
|
||||
|
||||
ghcup -v --url-source=file:$METADATA_FILE install $TOOL --set $VERSION
|
||||
|
||||
mkdir /tmp/install-bindist-ci
|
||||
cd /tmp/install-bindist-ci
|
||||
|
||||
cat <<EOF > main.hs
|
||||
{- cabal:
|
||||
build-depends: base
|
||||
-}
|
||||
|
||||
main = print $ 1 + 1
|
||||
EOF
|
||||
|
||||
case $TOOL in
|
||||
hls)
|
||||
haskell-language-server-wrapper --version
|
||||
haskell-language-server-wrapper typecheck main.hs
|
||||
;;
|
||||
ghc)
|
||||
ghc --version
|
||||
ghc --info
|
||||
ghc -prof main.hs
|
||||
[[ $(./main +RTS -s) -eq 2 ]]
|
||||
;;
|
||||
cabal)
|
||||
cabal --version
|
||||
cabal update
|
||||
[[ $(cabal --verbose=0 run --enable-profiling ./main.hs -- +RTS -s) -eq 2 ]]
|
||||
;;
|
||||
*)
|
||||
$TOOL --version
|
||||
;;
|
||||
esac
|
||||
4
.github/workflows/test.yaml
vendored
4
.github/workflows/test.yaml
vendored
@@ -2,9 +2,9 @@ name: Tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ master, develop ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
branches: [ master, develop ]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
|
||||
@@ -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.18.0:
|
||||
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.18.0/x86_64-linux-ghcup-0.1.18.0
|
||||
dlHash: 94559eb7c4569919446af1597d07675e803c20b150323edb7f9d8601c8bbda50
|
||||
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.18.0/x86_64-apple-darwin-ghcup-0.1.18.0
|
||||
dlHash: b34ed98bc0cc6d2169974f8d03173f93c3e3f60607013f1af42c9882c1a0d6f0
|
||||
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.18.0/x86_64-freebsd12-ghcup-0.1.18.0
|
||||
dlHash: cc8378a53f3028331dc853acfb253e2258d720b0e18b618b294ed67182a7fa03
|
||||
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.18.0/x86_64-mingw64-ghcup-0.1.18.0.exe
|
||||
dlHash: e2166a50437c677dfab3362749f676f92ff786aae1bfd7a2d289efa3544ee654
|
||||
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.18.0/i386-linux-ghcup-0.1.18.0
|
||||
dlHash: 222914720135261dcc644155bc8a5b15d1d4966c769d50686fe4f41547208759
|
||||
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.18.0/aarch64-linux-ghcup-0.1.18.0
|
||||
dlHash: 3e3ee4aa06e426373fb7e29f1770987ca1621e414925f261f325f9acb77e0bcb
|
||||
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.18.0/aarch64-apple-darwin-ghcup-0.1.18.0
|
||||
dlHash: 2d3aa19d6f012c1a4ebc5907a05b06cf0d43a1499107020f59847ea2638c8649
|
||||
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.18.0/armv7-linux-ghcup-0.1.18.0
|
||||
dlHash: 2e94920c772bc24c9fe41004dedf46840f5f036d28d3ed183679d3f34d2c50e0
|
||||
HLS:
|
||||
1.1.0:
|
||||
viTags: []
|
||||
|
||||
Binary file not shown.
@@ -2569,7 +2569,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.18.0:
|
||||
viTags:
|
||||
- Recommended
|
||||
- Latest
|
||||
@@ -2579,46 +2579,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.18.0/x86_64-linux-ghcup-0.1.18.0
|
||||
dlHash: 94559eb7c4569919446af1597d07675e803c20b150323edb7f9d8601c8bbda50
|
||||
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.18.0/x86_64-apple-darwin-ghcup-0.1.18.0
|
||||
dlHash: b34ed98bc0cc6d2169974f8d03173f93c3e3f60607013f1af42c9882c1a0d6f0
|
||||
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.18.0/x86_64-freebsd12-ghcup-0.1.18.0
|
||||
dlHash: cc8378a53f3028331dc853acfb253e2258d720b0e18b618b294ed67182a7fa03
|
||||
'( >= 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.18.0/x86_64-freebsd13-ghcup-0.1.18.0
|
||||
dlHash: cc8378a53f3028331dc853acfb253e2258d720b0e18b618b294ed67182a7fa03
|
||||
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.18.0/x86_64-mingw64-ghcup-0.1.18.0.exe
|
||||
dlHash: e2166a50437c677dfab3362749f676f92ff786aae1bfd7a2d289efa3544ee654
|
||||
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.18.0/i386-linux-ghcup-0.1.18.0
|
||||
dlHash: 222914720135261dcc644155bc8a5b15d1d4966c769d50686fe4f41547208759
|
||||
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.18.0/aarch64-linux-ghcup-0.1.18.0
|
||||
dlHash: 3e3ee4aa06e426373fb7e29f1770987ca1621e414925f261f325f9acb77e0bcb
|
||||
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.18.0/aarch64-apple-darwin-ghcup-0.1.18.0
|
||||
dlHash: 2d3aa19d6f012c1a4ebc5907a05b06cf0d43a1499107020f59847ea2638c8649
|
||||
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.18.0/armv7-linux-ghcup-0.1.18.0
|
||||
dlHash: 2e94920c772bc24c9fe41004dedf46840f5f036d28d3ed183679d3f34d2c50e0
|
||||
HLS:
|
||||
1.1.0:
|
||||
viTags:
|
||||
|
||||
Binary file not shown.
705
ghcup-0.0.7.yaml
705
ghcup-0.0.7.yaml
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -11,6 +11,7 @@ module Generate where
|
||||
|
||||
import GHCup
|
||||
import GHCup.Download
|
||||
import GHCup.Requirements
|
||||
import GHCup.Errors
|
||||
import GHCup.Types
|
||||
import GHCup.Types.Optics
|
||||
@@ -144,13 +145,14 @@ generateTable output = do
|
||||
handle <- case output of
|
||||
StdOut -> pure stdout
|
||||
FileOutput fp -> liftIO $ openFile fp WriteMode
|
||||
|
||||
|
||||
forM_ [GHC,Cabal,HLS,Stack] $ \tool -> do
|
||||
case tool of
|
||||
GHC -> liftIO $ hPutStrLn handle $ "<details> <summary>Show all supported <a href='https://www.haskell.org/ghc/'>GHC</a> versions</summary>"
|
||||
Cabal -> liftIO $ hPutStrLn handle $ "<details> <summary>Show all supported <a href='https://cabal.readthedocs.io/en/stable/'>cabal-install</a> versions</summary>"
|
||||
HLS -> liftIO $ hPutStrLn handle $ "<details> <summary>Show all supported <a href='https://haskell-language-server.readthedocs.io/en/stable/'>HLS</a> versions</summary>"
|
||||
Stack -> liftIO $ hPutStrLn handle $ "<details> <summary>Show all supported <a href='https://docs.haskellstack.org/en/stable/README/'>Stack</a> versions</summary>"
|
||||
_ -> fail "no"
|
||||
liftIO $ hPutStrLn handle $ "<table>"
|
||||
liftIO $ hPutStrLn handle $ "<thead><tr><th>" <> show tool <> " Version</th><th>Tags</th></tr></thead>"
|
||||
liftIO $ hPutStrLn handle $ "<tbody>"
|
||||
@@ -175,3 +177,53 @@ generateTable output = do
|
||||
printTag (Base pvp'') = "base-" ++ T.unpack (prettyPVP pvp'')
|
||||
printTag (UnknownTag t ) = t
|
||||
printTag Old = ""
|
||||
|
||||
|
||||
generateSystemInfo :: ( MonadFail m
|
||||
, MonadMask m
|
||||
, Monad m
|
||||
, MonadReader env m
|
||||
, HasSettings env
|
||||
, HasDirs env
|
||||
, HasLog env
|
||||
, MonadThrow m
|
||||
, MonadIO m
|
||||
, HasPlatformReq env
|
||||
, HasGHCupInfo env
|
||||
, MonadUnliftIO m
|
||||
)
|
||||
=> Output
|
||||
-> m ExitCode
|
||||
generateSystemInfo output = do
|
||||
handle <- case output of
|
||||
StdOut -> pure stdout
|
||||
FileOutput fp -> liftIO $ openFile fp WriteMode
|
||||
|
||||
forM_ [ Linux Debian
|
||||
, Linux Ubuntu
|
||||
, Linux Fedora
|
||||
, Linux CentOS
|
||||
, Linux Alpine
|
||||
, Linux UnknownLinux
|
||||
, Darwin
|
||||
, FreeBSD
|
||||
, Windows
|
||||
] $ \plat -> do
|
||||
GHCupInfo { .. } <- getGHCupInfo
|
||||
(Just req) <- pure $ getCommonRequirements (PlatformResult plat Nothing) _toolRequirements
|
||||
liftIO $ hPutStrLn handle $ "### " <> (prettyPlat plat) <> "\n"
|
||||
liftIO $ hPutStrLn handle $ (T.unpack $ pretty' req) <> "\n"
|
||||
pure ExitSuccess
|
||||
where
|
||||
pretty' Requirements {..} =
|
||||
let d = if not . null $ _distroPKGs
|
||||
then "The following distro packages are required: " <> "`" <> T.intercalate " " _distroPKGs <> "`"
|
||||
else ""
|
||||
n = if not . T.null $ _notes then _notes else ""
|
||||
in if | T.null d -> n
|
||||
| T.null n -> d
|
||||
| otherwise -> d <> "\n" <> n
|
||||
|
||||
prettyPlat (Linux UnknownLinux) = "Linux (generic)"
|
||||
prettyPlat p = show p
|
||||
|
||||
|
||||
@@ -65,6 +65,7 @@ data Command = ValidateYAML ValidateYAMLOpts
|
||||
| ValidateTarballs ValidateYAMLOpts TarballFilter
|
||||
| GenerateHlsGhc ValidateYAMLOpts Format Output
|
||||
| GenerateToolTable ValidateYAMLOpts Output
|
||||
| GenerateSystemDepsInfo ValidateYAMLOpts Output
|
||||
|
||||
|
||||
fileOutput :: Parser Output
|
||||
@@ -152,11 +153,17 @@ com = subparser
|
||||
(progDesc "Generate a list of HLS-GHC support")
|
||||
)
|
||||
<> command
|
||||
"generate-table"
|
||||
"generate-tool-table"
|
||||
(info
|
||||
((GenerateToolTable <$> validateYAMLOpts <*> outputP) <**> helper)
|
||||
(progDesc "Generate a markdown table of available tool versions")
|
||||
)
|
||||
<> command
|
||||
"generate-system-deps-info"
|
||||
(info
|
||||
((GenerateSystemDepsInfo <$> validateYAMLOpts <*> outputP) <**> helper)
|
||||
(progDesc "Generate a markdown info for system dependencies")
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -202,6 +209,7 @@ main = do
|
||||
ValidateTarballs vopts tarballFilter -> withValidateYamlOpts vopts (validateTarballs tarballFilter)
|
||||
GenerateHlsGhc vopts format output -> withValidateYamlOpts vopts (generateHLSGhc format output)
|
||||
GenerateToolTable vopts output -> withValidateYamlOpts vopts (generateTable output)
|
||||
GenerateSystemDepsInfo vopts output -> withValidateYamlOpts vopts (generateSystemInfo output)
|
||||
pure ()
|
||||
|
||||
where
|
||||
|
||||
@@ -428,3 +428,37 @@ ghcupDownloads:
|
||||
dlUri: https://downloads.haskell.org/~ghc/9.4.1-rc1/ghc-9.4.0.20220721-aarch64-apple-darwin.tar.xz
|
||||
dlSubdir: ghc-9.4.0.20220721-aarch64-apple-darwin
|
||||
dlHash: cca7bfbb7a8d4884314d8c033d4f9a96a9be5f399db276b796ad8cbb2deba6bd
|
||||
Stack:
|
||||
2.9.2.1:
|
||||
viTags:
|
||||
- Prerelease
|
||||
viChangeLog: https://github.com/commercialhaskell/stack/blob/rc/v2.9/ChangeLog.md#v2921-release-candidate
|
||||
viArch:
|
||||
A_64:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning: &stack-2921-64
|
||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/rc/v2.9.2.1/stack-2.9.2.1-linux-x86_64-static.tar.gz
|
||||
dlHash: 65b9d1c41f9e1537567722329d8f6d066ddb82d8789f5a25a04b4b4da89f2616
|
||||
dlSubdir:
|
||||
RegexDir: "stack-.*"
|
||||
Darwin:
|
||||
unknown_versioning:
|
||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/rc/v2.9.2.1/stack-2.9.2.1-osx-x86_64.tar.gz
|
||||
dlHash: 13e86f181a959d2eac118f2a7f287227a7238c91b648ee30523ff300c2d5b1bb
|
||||
dlSubdir:
|
||||
RegexDir: "stack-.*"
|
||||
Windows:
|
||||
unknown_versioning:
|
||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/rc/v2.9.2.1/stack-2.9.2.1-windows-x86_64.tar.gz
|
||||
dlHash: cd7f2bde0d4dcd5e7f0d75cf082b7a0fdc0347c5bc9006f67cd8635889c473a8
|
||||
dlSubdir:
|
||||
RegexDir: "stack-.*"
|
||||
Linux_Alpine:
|
||||
unknown_versioning: *stack-2921-64
|
||||
A_ARM64:
|
||||
Linux_UnknownLinux:
|
||||
unknown_versioning:
|
||||
dlUri: https://github.com/commercialhaskell/stack/releases/download/rc/v2.9.2.1/stack-2.9.2.1-linux-aarch64.tar.gz
|
||||
dlHash: 6e9f646ecd04892cf7edda11ff989abd885e29d05ad9f88d19e22afeb6e14275
|
||||
dlSubdir:
|
||||
RegexDir: "stack-.*"
|
||||
|
||||
@@ -516,5 +516,97 @@
|
||||
"9.2.2"
|
||||
]
|
||||
}
|
||||
},
|
||||
"1.8.0.0": {
|
||||
"A_64": {
|
||||
"Darwin": [
|
||||
"8.6.5",
|
||||
"8.8.4",
|
||||
"8.10.7",
|
||||
"9.0.2",
|
||||
"9.2.3",
|
||||
"9.2.4",
|
||||
"9.4.1",
|
||||
"9.4.2"
|
||||
],
|
||||
"Linux_CentOS": [
|
||||
"8.6.5",
|
||||
"8.8.4",
|
||||
"8.10.7",
|
||||
"9.0.2",
|
||||
"9.2.3",
|
||||
"9.2.4",
|
||||
"9.4.1",
|
||||
"9.4.2"
|
||||
],
|
||||
"Linux_Debian": [
|
||||
"8.6.5",
|
||||
"8.8.4",
|
||||
"8.10.7",
|
||||
"9.0.2",
|
||||
"9.2.3",
|
||||
"9.2.4",
|
||||
"9.4.1",
|
||||
"9.4.2"
|
||||
],
|
||||
"Linux_Fedora": [
|
||||
"8.6.5",
|
||||
"8.8.4",
|
||||
"8.10.7",
|
||||
"9.0.2",
|
||||
"9.2.3",
|
||||
"9.2.4",
|
||||
"9.4.1",
|
||||
"9.4.2"
|
||||
],
|
||||
"Linux_Mint": [
|
||||
"8.6.5",
|
||||
"8.8.4",
|
||||
"8.10.7",
|
||||
"9.0.2",
|
||||
"9.2.3",
|
||||
"9.2.4",
|
||||
"9.4.1",
|
||||
"9.4.2"
|
||||
],
|
||||
"Linux_Ubuntu": [
|
||||
"8.6.5",
|
||||
"8.8.4",
|
||||
"8.10.7",
|
||||
"9.0.2",
|
||||
"9.2.3",
|
||||
"9.2.4",
|
||||
"9.4.1",
|
||||
"9.4.2"
|
||||
],
|
||||
"Linux_UnknownLinux": [
|
||||
"8.6.5",
|
||||
"8.8.4",
|
||||
"8.10.7",
|
||||
"9.0.2",
|
||||
"9.2.3",
|
||||
"9.2.4",
|
||||
"9.4.1",
|
||||
"9.4.2"
|
||||
],
|
||||
"Windows": [
|
||||
"8.10.7",
|
||||
"9.0.2",
|
||||
"9.2.3",
|
||||
"9.2.4",
|
||||
"9.4.1",
|
||||
"9.4.2"
|
||||
]
|
||||
},
|
||||
"A_ARM64": {
|
||||
"Darwin": [
|
||||
"8.10.7",
|
||||
"9.0.2",
|
||||
"9.2.3",
|
||||
"9.2.4",
|
||||
"9.4.1",
|
||||
"9.4.2"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user