Compare commits

..

153 Commits

Author SHA1 Message Date
970c2bf6fa Fix HLS test 2024-03-02 00:13:21 +08:00
eb4a09e61c Re-sign 2024-03-02 00:07:10 +08:00
900bd360fe Add HLS 2.7.0.0 2024-03-02 00:05:46 +08:00
f2f8784adf Update bindist workflow 2024-03-02 00:04:08 +08:00
d55e426431 Re-sign 2024-03-01 00:32:42 +08:00
487d818c4b Fix FreeBSD 9.2.8 GHC bindists
Resolves the HSC2HS_EXTRA bug manually.
2024-03-01 00:32:33 +08:00
bef4f9cdeb Re-sign 2024-02-29 16:23:10 +08:00
cac4281b4e Merge remote-tracking branch 'origin/hls/2.7.0.0' 2024-02-29 16:07:16 +08:00
195a8db791 Merge remote-tracking branch 'origin/wip/ghc-9.8.2-fixes' 2024-02-29 16:05:46 +08:00
Zubin Duggal
ceddc91bbb Resign 2024-02-27 11:59:14 +05:30
Fendor
e2510ee0a5 Sign vanilla channel signatures 2024-02-27 11:59:05 +05:30
Fendor
0b9211ee4a Add Vanilla Bindists for HLS 2.7.0.0 2024-02-27 11:58:54 +05:30
Zubin Duggal
54b32c287a Fix test bindist 2024-02-26 16:27:09 +05:30
Zubin Duggal
a4f1e138df Fix vanilla metadata for aarch64-alpine on 9.8.2 2024-02-26 14:19:24 +05:30
d345ae6edd Merge remote-tracking branch 'origin/develop' 2024-02-25 18:44:46 +08:00
3679dde28e Don't test for manpage on windows 2024-02-25 18:29:37 +08:00
de91dadf5f Re-sign 2024-02-25 18:10:05 +08:00
fb1102a779 Use unofficial bindists with fixed manpages 2024-02-25 18:09:43 +08:00
7bb3e8dab8 Re-sign 2024-02-24 19:29:26 +08:00
ba379f1545 Add GHC 9.8.2 2024-02-24 19:29:09 +08:00
80e1d2443f Check for GHC manpage existence
Wrt https://github.com/haskell/ghcup-hs/issues/990
2024-02-24 19:27:40 +08:00
wz1000
a994cb2632 Merge pull request #175 from haskell/develop
merge 9.8.2 release into master
2024-02-23 16:29:41 +05:30
wz1000
7c4d1fbec7 Merge pull request #174 from haskell/wip/ghc-9.8.2
Add metadata for GHC 9.8.2
2024-02-23 16:13:06 +05:30
Zubin Duggal
dfdf0d8de5 update
Signed-off-by: Zubin Duggal <zubin.duggal@gmail.com>
2024-02-23 16:12:03 +05:30
Zubin Duggal
e065282f9c Add metadata for GHC 9.8.2
Signed-off-by: Zubin Duggal <zubin.duggal@gmail.com>
2024-02-23 16:07:48 +05:30
13878c1718 Merge branch 'stack-2.15.1' into develop 2024-02-11 21:20:29 +08:00
df03513b8f Re-sign 2024-02-11 21:17:04 +08:00
805da33550 Update for stack 2.15.1 2024-02-11 21:16:51 +08:00
Mike Pilgrem
2bc225772c Add metadata on release of Stack 2.15.1 2024-02-11 21:14:28 +08:00
d7770f9e23 Fix FreeBSD stack 2024-02-10 14:12:26 +08:00
f8e0ec9b12 Remove cabal foo 2024-02-03 17:06:25 +08:00
6c6e2241bb Add FreeBSD to bindist install action 2024-02-03 17:03:45 +08:00
f6ef3672ba Re-sign 2024-01-29 13:30:46 +08:00
cf678f25a0 Update ghcup-prereleases-0.0.7.yaml as well 2024-01-29 13:30:29 +08:00
8d715cf0a5 Merge branch 'stack-2.15.0.1' into develop 2024-01-29 13:29:50 +08:00
Mike Pilgrem
0404f1bee5 Add Stack 2.15.0.1 pre-release to GHCup metadata 2024-01-28 17:42:37 +00:00
441cf7328f Merge branch 'hls-2.6.0.0-ghcup' into develop 2024-01-26 15:38:52 +08:00
5d2a8921b1 Update hls-metadata-0.0.1.json 2024-01-26 15:35:35 +08:00
66c91f75b1 Release HLS 2.6.0.0 2024-01-26 15:19:58 +08:00
wz1000
a6c8849dcb Merge pull request #166 from haskell/wip/hls-2.6.0.0
HLS 2.6.0.0
2024-01-15 22:57:36 +05:30
Zubin Duggal
3c173efdc4 HLS 2.6.0.0 2024-01-15 22:16:48 +05:30
487b049ae1 Re-sign 2024-01-10 00:43:08 +08:00
75abeb4731 Add stack-2.13.1 FreeBSD binary 2024-01-10 00:42:46 +08:00
ff8aa8a0dd Add GHC 9.6.4 2024-01-10 00:38:21 +08:00
wz1000
2bfdba63c9 Merge pull request #165 from haskell/9.6.4-release
Metadata for GHC 9.6.4
2024-01-09 15:09:10 +05:30
Zubin Duggal
3ecc0fb399 identifiers 2024-01-09 14:54:43 +05:30
Zubin Duggal
147e54ae6c Metadata for GHC 9.6.4 2024-01-09 14:28:55 +05:30
ec519eb080 Re-sign 2024-01-04 21:36:35 +08:00
4f3a14ed90 Fix format for older ghcup versions 2024-01-04 21:36:21 +08:00
703e930808 Re-sign 2024-01-04 20:19:20 +08:00
41fe6ba6f0 Optimize unknown_version to always use static binary 2024-01-04 20:18:53 +08:00
8ac41d2124 Re-sign 2024-01-04 20:14:15 +08:00
dd975d630a Distribute cabal-3.10.2.1 and set it as recommended 2024-01-04 20:12:21 +08:00
582ffbc09f Re-sign 2024-01-04 14:52:49 +08:00
0471ccf394 Set 3.10.2.0 as recommended to unbreak windows
Related:

* https://github.com/haskell/ghcup-hs/issues/966

We bump this, although 'cabal run' is known to be broken
on windows: https://github.com/haskell/cabal/issues/9334

However, backporting more patches to 3.6 is not sustainable.
Initially, I tried to backport
https://github.com/haskell/cabal/pull/8071,
but it's not clear whether that is the only thing that causes
compatibility issues with GHC 9.4 and might drive us into
an awkward situation as well.
2024-01-04 14:49:18 +08:00
fbc0843e53 Revert "Add cabal-3.6.2.0-p2"
This reverts commit 015db18a25.
2024-01-04 14:47:14 +08:00
cfa97b75bf Merge branch 'cabal-3.6.2.0-p2' into develop 2024-01-03 23:54:33 +08:00
0c2846b037 Re-sign 2024-01-03 23:53:24 +08:00
015db18a25 Add cabal-3.6.2.0-p2 2024-01-03 23:53:17 +08:00
9ebb937b37 Test that building hashable works 2024-01-03 23:49:21 +08:00
25f6f8cfad Re-sign 2023-12-26 23:00:37 +08:00
14d47470ca Merge branch 'recommended-stack-2.13.1' into develop 2023-12-26 23:00:20 +08:00
0bc52f0cf3 Re-sign 2023-12-26 22:21:59 +08:00
2b84274a65 Set stack 2.13.1 as recommended 2023-12-26 22:21:38 +08:00
c63fd65f90 Re-sign 2023-12-26 22:02:33 +08:00
a4fbe645e3 Bump GHC/HLS recommended versions 2023-12-26 22:02:12 +08:00
7e1a50cfff Re-sign 2023-12-03 23:22:12 +08:00
cb7d0c2f75 Switch alpine x86_64 bindists for GHC 9.2.8 and 9.6.3 to dynamic ones 2023-12-03 23:20:14 +08:00
e54435c057 Add missing alpine i386 bindists for GHC 9.2.8, 9.4.8, 9.6.3 and 9.8.1 2023-12-03 23:18:27 +08:00
95c57ba3e4 Sign 2023-12-02 02:53:15 +08:00
f2c6c71cf0 Update hls-metadata 2023-12-02 02:53:00 +08:00
2f761fc6fd Re-sign 2023-12-02 02:44:32 +08:00
a4bc77356f Release HLS 2.5.0.0 2023-12-02 02:44:08 +08:00
wz1000
f3264e2554 Merge pull request #159 from haskell/wip/hls-2.5.0.0
HLS 2.5.0.0
2023-12-01 05:27:50 -08:00
Zubin Duggal
54bd184feb HLS 2.5.0.0 2023-12-01 17:54:04 +05:30
Zubin Duggal
f413a1847b Update bindist job to use fedora 37 instead of 36 2023-11-30 13:34:26 +05:30
9a02e03efa Re-sign 2023-11-28 00:07:42 +08:00
aec5468b14 Fix GHC 9.6.1 test suite dlSubdir 2023-11-28 00:07:06 +08:00
69cec748d2 Re-sign 2023-11-28 00:00:16 +08:00
7f8a37de45 Add FreeBSD GHC 9.8.1 2023-11-27 23:59:59 +08:00
779120126e Re-sign 2023-11-27 22:49:05 +08:00
af900f6ff0 Add FreeBSD bindist for GHC-9.6.3 2023-11-27 22:47:17 +08:00
1fc03b2c69 Fix test bindist for GHC-9.8.1 2023-11-27 22:47:02 +08:00
dea08aac35 Fix GHC 9.6.3 test bindist 2023-11-27 22:42:41 +08:00
80b933b01b Fix test suite hast for GHC-9.4.8 2023-11-27 22:36:22 +08:00
82d1fda68b Add FreeBSD GHC 9.4.8 2023-11-27 22:07:10 +08:00
96bf980545 Add FreeBSD GHC 9.2.8 2023-11-27 21:38:06 +08:00
b20ad626e5 Fix source tarball hash for GHC 9.4.8 2023-11-27 21:34:52 +08:00
cb3428749a Fix cabal-install-3.10.2.0 on FreeBSD 2023-11-27 21:33:43 +08:00
178aaaaa23 Fix ghcup-0.0.7.yaml 2023-11-18 00:28:01 +08:00
c489e5198e Merge branch 'cabal-3.6.2.1' into develop 2023-11-18 00:12:58 +08:00
1936f88d5f Sign 2023-11-17 23:03:57 +08:00
578dc5e6d2 Use 3.6.2.0-p1 to mark it a distributor release 2023-11-17 23:03:31 +08:00
286d447f3d Sign 2023-11-17 22:34:16 +08:00
68b424fff3 Add cabal distributor release 3.6.2.1
And warn when installing vulnerable cabal versions.
2023-11-17 22:32:55 +08:00
dc6d43ddba Update ghcup-gen 2023-11-17 22:24:19 +08:00
174ff702a5 Set cabal version for installation to 3.6.2.0 2023-11-17 21:31:15 +08:00
6e3fef8e15 Build armv7 bindists for deb10 2023-11-17 21:25:24 +08:00
fae0dc57ee Fix release scripts 2023-11-17 21:23:02 +08:00
befd7b563e Add cabal release scripts 2023-11-17 21:00:12 +08:00
15dec1bfe8 Fix cirrus 2023-11-17 20:46:41 +08:00
bbd150a777 Comment 2023-11-17 20:27:56 +08:00
567fdeba31 Cirrus task is manual 2023-11-17 20:23:13 +08:00
44c4df7024 Merge branch 'wip/cabal-install-v3.6.2.0-p1' into develop 2023-11-17 20:21:53 +08:00
f755827e5e Add cirrus 2023-11-17 20:21:35 +08:00
a5bc56c914 Build clock for GHC bindist test 2023-11-17 19:05:41 +08:00
601b3e8d33 Sign 2023-11-17 18:26:19 +08:00
eb717c5a12 Add GHC 9.2.8 armv7 2023-11-17 18:25:45 +08:00
48e58345b0 Revert 9.2.8 armv7 for now, since linking is broken 2023-11-17 01:56:25 +08:00
407cc0fafe Sign 2023-11-17 01:41:41 +08:00
6b3f8f0732 Distribute 9.2.8 armv7 bindists that actually work 2023-11-17 01:41:31 +08:00
f6de249dc1 Re-sign 2023-11-16 22:13:18 +08:00
b928b5e0dd Add armv7 for GHC 9.2.8 2023-11-16 22:10:51 +08:00
999be172de Try to bump GHC versions for cabal build 2023-11-16 21:45:09 +08:00
67885734c9 Allow our own cabal-install bindist builds 2023-11-16 21:13:08 +08:00
988dcdac63 Improve metadata docs 2023-11-14 21:24:26 +08:00
0f13265d12 Merge remote-tracking branch 'origin/pr/152' into develop 2023-11-13 17:49:31 +08:00
Bryan Richter
967d4a81ab Point to the user guide re: cross compiling 2023-11-13 11:30:51 +02:00
b81e05d21e Sign 2023-11-13 14:36:20 +08:00
a586bd5dba Fix anchors in ghcup-cross-0.0.8 2023-11-13 14:35:49 +08:00
a1a80e41c9 Update ghcup prereleases yaml version 2023-11-12 18:24:08 +08:00
e9cc5626cb Remove ghcup from prereleases 2023-11-12 18:23:36 +08:00
cb09653a1b Update wasm cross bindists wrt #149 2023-11-12 18:20:39 +08:00
7bf64b363e Merge branch 'debian-unstable' into develop 2023-11-12 15:55:48 +08:00
f1f8eb8d7c Test all sigs, not just the main yaml 2023-11-12 15:52:28 +08:00
772e54b936 Re-sign 2023-11-12 15:47:23 +08:00
10ae84aa7b Test debian:unstable in bindist tests 2023-11-12 15:46:09 +08:00
0ae75a25ef Use deb11 for unknown debian version
See https://github.com/haskell/ghcup-metadata/pull/150
2023-11-12 15:44:54 +08:00
16fb138bbe Update toolRequirements 2023-11-12 15:43:46 +08:00
wz1000
6786ac32c0 Merge pull request #148 from haskell/wip/9.4.8-release
9.4.8 release
2023-11-10 07:49:17 -08:00
Zubin Duggal
9d6836aa76 Release 9.4.8 2023-11-10 20:33:54 +05:30
0239166c31 Re-sign 2023-11-10 21:39:27 +08:00
025f276131 Update 0.0.8 yamls 2023-11-10 21:39:04 +08:00
cae42448a0 Add ghcup 0.1.20.0 2023-11-10 21:38:49 +08:00
56d759176e Re-sign 2023-11-06 22:18:42 +08:00
df143e226f Backport fix to vanilla 2023-11-06 22:18:27 +08:00
e914259ed7 Merge remote-tracking branch 'origin/pr/144' into develop 2023-11-06 22:17:14 +08:00
Arjun Kathuria
48cae51c31 fix incorrect link to 32-bit(A_32) Linux_Debian cabal-install-3.10.2.0
* The link for 32-bit (A_32) Linux_Debian cabal-install under
  version 3.10.2.0 points to the 64-bit (x64-64) version.

* The hash for this however was found to be correct here, so
  it was left unchanged.

* Fixes the link to point to the 32-bit (i386) version.
2023-11-06 16:42:41 +05:30
173d03ef56 Add cabal-install 3.10.2.0 2023-11-05 11:50:38 +01:00
c806339f69 Add missing sigs 2023-10-21 19:42:28 +08:00
68633d49a5 Update sigs 2023-10-21 19:42:15 +08:00
7625d4bf83 Update system requirements for Ubuntu 23 2023-10-21 19:41:58 +08:00
2efadd4588 Re-sign 2023-10-21 19:29:53 +08:00
4917c671bf Update system requirements 2023-10-21 19:28:50 +08:00
Ben Gamari
dd4f6ff001 ghcup-vanilla: Add GHC 9.8.1 2023-10-11 13:24:22 -04:00
wz1000
70eccfe8d6 Merge pull request #141 from haskell/wip/hls-2.4.0.0
HLS 2.4.0.0
2023-10-10 10:52:31 -07:00
Zubin Duggal
0fde7e8686 Resign 2023-10-10 22:44:05 +05:30
Zubin Duggal
c1764cadab Update metadata for HLS 2.4.0.0 2023-10-10 22:38:35 +05:30
Ben Gamari
1a5a7f3db4 Merge pull request #140 from bgamari/wip/ghc-9.8
Add GHC 9.8.1
2023-10-09 18:01:41 -04:00
Ben Gamari
43f4782658 Add GHC 9.8.1 2023-10-09 17:43:57 -04:00
374a68e074 Merge branch 'issue-99' into develop 2023-10-01 17:47:51 +08:00
493c2c81f4 Re-sign 2023-10-01 16:44:02 +08:00
041f8b1421 Bump recommended GHC to 9.4.7 2023-10-01 16:43:47 +08:00
31 changed files with 18040 additions and 255 deletions

28
.github/scripts/brew.sh vendored Normal file
View File

@@ -0,0 +1,28 @@
#!/bin/sh
set -eux
# shellcheck disable=SC1091
. .github/scripts/env.sh
if [ -e "$HOME/.brew" ] ; then
(
cd "$HOME/.brew"
git fetch --depth 1
git reset --hard origin/master
)
else
git clone --depth=1 https://github.com/Homebrew/brew "$HOME/.brew"
fi
export PATH="$HOME/.brew/bin:$HOME/.brew/sbin:$PATH"
mkdir -p "$CI_PROJECT_DIR/.brew_cache"
export HOMEBREW_CACHE="$CI_PROJECT_DIR/.brew_cache"
mkdir -p "$CI_PROJECT_DIR/.brew_logs"
export HOMEBREW_LOGS="$CI_PROJECT_DIR/.brew_logs"
mkdir -p /private/tmp/.brew_tmp
export HOMEBREW_TEMP=/private/tmp/.brew_tmp
#brew update
brew install ${1+"$@"}

66
.github/scripts/build.sh vendored Normal file
View File

@@ -0,0 +1,66 @@
#!/bin/bash
set -eux
# shellcheck disable=SC1091
. .github/scripts/env.sh
# shellcheck disable=SC1091
. .github/scripts/common.sh
uname -a
uname -p
uname
pwd
env
# ensure ghcup
install_ghcup
# build
ghcup install ghc "${GHC_VERSION}"
ghcup set ghc "${GHC_VERSION}"
sed -i.bak -e '/DELETE MARKER FOR CI/,/END DELETE/d' cabal.project # see comment in cabal.project
ecabal update
ecabal user-config diff
ecabal user-config init -f
"ghc-${GHC_VERSION}" --info
"ghc" --info
# https://github.com/haskell/cabal/issues/7313#issuecomment-811851884
if [ "$(getconf LONG_BIT)" == "32" ] || [ "${DISTRO}" == "CentOS" ] ; then
echo 'constraints: lukko -ofd-locking' >> cabal.project.release.local
fi
# shellcheck disable=SC2206
args=(
-w "ghc-$GHC_VERSION"
--disable-profiling
--enable-executable-stripping
--project-file=cabal.project.release
${ADD_CABAL_ARGS}
)
run cabal v2-build "${args[@]}" cabal-install
mkdir -p "$CI_PROJECT_DIR/out"
# shellcheck disable=SC2154
cp "$(cabal list-bin "${args[@]}" cabal-install:exe:cabal)" "$CI_PROJECT_DIR/out/cabal$ext"
cp dist-newstyle/cache/plan.json "$CI_PROJECT_DIR/out/plan.json"
cd "$CI_PROJECT_DIR/out/"
# create tarball/zip
TARBALL_PREFIX="cabal-install-$("$CI_PROJECT_DIR/out/cabal" --numeric-version)"
case "${TARBALL_EXT}" in
zip)
zip "${TARBALL_PREFIX}-${ARTIFACT}.${TARBALL_EXT}" "cabal${ext}" plan.json
;;
tar.xz)
tar caf "${TARBALL_PREFIX}-${ARTIFACT}.${TARBALL_EXT}" "cabal${ext}" plan.json
;;
*)
fail "Unknown TARBALL_EXT: ${TARBALL_EXT}"
;;
esac
rm cabal plan.json

110
.github/scripts/common.sh vendored Normal file
View File

@@ -0,0 +1,110 @@
#!/bin/bash
# shellcheck disable=SC1091
. .github/scripts/env.sh
# Colors
RED="0;31"
LT_BROWN="1;33"
LT_BLUE="1;34"
ecabal() {
cabal "$@"
}
nonfatal() {
"$@" || "$* failed"
}
sha_sum() {
if [ "${RUNNER_OS}" = "FreeBSD" ] ; then
sha256 "$@"
else
sha256sum "$@"
fi
}
git_describe() {
git config --global --get-all safe.directory | grep '^\*$' || git config --global --add safe.directory "*"
git describe --always
}
install_ghcup() {
# find "$GHCUP_INSTALL_BASE_PREFIX"
mkdir -p "$GHCUP_BIN"
mkdir -p "$GHCUP_BIN"/../cache
if [ "${RUNNER_OS}" = "FreeBSD" ] ; then
curl -o ghcup https://downloads.haskell.org/ghcup/tmp/x86_64-portbld-freebsd-ghcup-0.1.18.1
chmod +x ghcup
mv ghcup "$HOME/.local/bin/ghcup"
else
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_MINIMAL=1 sh
source "$(dirname "${GHCUP_BIN}")/env"
ghcup install cabal --set "${BOOTSTRAP_HASKELL_CABAL_VERSION}"
fi
}
strip_binary() {
(
set -e
local binary=$1
case "$(uname -s)" in
"Darwin"|"darwin")
;;
MSYS_*|MINGW*)
;;
*)
strip -s "${binary}"
;;
esac
)
}
# GitLab Pipelines log section delimiters
# https://gitlab.com/gitlab-org/gitlab-foss/issues/14664
start_section() {
name="$1"
echo -e "section_start:$(date +%s):$name\015\033[0K"
}
end_section() {
name="$1"
echo -e "section_end:$(date +%s):$name\015\033[0K"
}
echo_color() {
local color="$1"
local msg="$2"
echo -e "\033[${color}m${msg}\033[0m"
}
error() { echo_color "${RED}" "$1"; }
warn() { echo_color "${LT_BROWN}" "$1"; }
info() { echo_color "${LT_BLUE}" "$1"; }
fail() { error "error: $1"; exit 1; }
run() {
info "Running $*..."
"$@" || ( error "$* failed"; return 1; )
}
emake() {
if command -v gmake >/dev/null 2>&1 ; then
gmake "$@"
else
make "$@"
fi
}
mktempdir() {
case "$(uname -s)" in
"Darwin"|"darwin")
mktemp -d -t cabal_ci.XXXXXXX
;;
*)
mktemp -d
;;
esac
}

38
.github/scripts/env.sh vendored Normal file
View File

@@ -0,0 +1,38 @@
#!/bin/bash
mkdir -p "$HOME"/.local/bin
if [ "${RUNNER_OS}" = "Windows" ] ; then
ext=".exe"
else
# shellcheck disable=SC2034
ext=''
fi
export PATH="$HOME/.local/bin:$PATH"
export BOOTSTRAP_HASKELL_NONINTERACTIVE=1
export BOOTSTRAP_HASKELL_CABAL_VERSION="${CABAL_VER:-3.6.2.0-p2}"
export BOOTSTRAP_HASKELL_ADJUST_CABAL_CONFIG=no
export BOOTSTRAP_HASKELL_INSTALL_NO_STACK=yes
export BOOTSTRAP_HASKELL_ADJUST_BASHRC=1
if [ "${RUNNER_OS}" = "Windows" ] ; then
# on windows use pwd to get unix style path
CI_PROJECT_DIR="$(pwd)"
export CI_PROJECT_DIR
export GHCUP_INSTALL_BASE_PREFIX="/c"
export GHCUP_BIN="$GHCUP_INSTALL_BASE_PREFIX/ghcup/bin"
export PATH="$GHCUP_BIN:$PATH"
export CABAL_DIR="C:\\Users\\runneradmin\\AppData\\Roaming\\cabal"
else
export CI_PROJECT_DIR="${GITHUB_WORKSPACE}"
export GHCUP_INSTALL_BASE_PREFIX="$CI_PROJECT_DIR"
export GHCUP_BIN="$GHCUP_INSTALL_BASE_PREFIX/.ghcup/bin"
export PATH="$GHCUP_BIN:$PATH"
export CABAL_DIR="$CI_PROJECT_DIR/cabal"
export CABAL_CACHE="$CI_PROJECT_DIR/cabal-cache"
fi
export DEBIAN_FRONTEND=noninteractive
export TZ=Asia/Singapore

View File

@@ -16,7 +16,7 @@ on:
metadataFile:
description: Metadata file
required: true
default: ghcup-0.0.7.yaml
default: ghcup-0.0.8.yaml
type: string
channel:
description: Distribution channel (main|prerelease|nightly)
@@ -48,6 +48,12 @@ jobs:
- image: debian:11
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5 libnuma-dev
- image: debian:12
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5 libnuma-dev
- image: debian:unstable
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libgmp-dev libgmp10 libncurses-dev libncurses6 libtinfo6 libnuma-dev
- image: ubuntu:18.04
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi6 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
@@ -63,7 +69,7 @@ jobs:
- image: fedora:27
installCmd: dnf install -y
toolRequirements: which findutils gcc gcc-c++ gmp gmp-devel make ncurses ncurses-compat-libs xz perl
- image: fedora:36
- image: fedora:37
installCmd: dnf install -y
toolRequirements: which gcc g++ gmp gmp-devel make ncurses ncurses-compat-libs xz perl
- image: rockylinux:8
@@ -75,10 +81,10 @@ jobs:
- 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
- image: linuxmintd/mint20.3-amd64
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
- image: linuxmintd/mint21.1-amd64
- image: linuxmintd/mint21.3-amd64
installCmd: apt-get update && apt-get install -y
toolRequirements: build-essential curl libffi-dev libffi7 libgmp-dev libgmp10 libncurses-dev libncurses5 libtinfo5
container:
@@ -149,6 +155,15 @@ jobs:
with:
args: sh -c '.github/workflows/install-bindist.sh'
bindist-install-freebsd:
name: Install FreeBSD binary
runs-on: [self-hosted, FreeBSD, X64]
steps:
- uses: actions/checkout@v3
- name: Run build
run: .github/workflows/install-bindist.sh
validate:
name: ghcup-gen check
runs-on: ubuntu-latest

View File

@@ -29,6 +29,8 @@ mkdir -p /tmp/install-bindist-ci
cp "$METADATA_FILE" /tmp/install-bindist-ci/
cd /tmp/install-bindist-ci
trap 'rm -rf -- /tmp/install-bindist-ci' EXIT
cat <<EOF > main.hs
{- cabal:
build-depends: base
@@ -84,6 +86,7 @@ case $TOOL in
ghcup_fun rm ghc "${bin_noexe/haskell-language-server-/}"
fi
done
ghcup_fun install ghc --set recommended
"$bindir/haskell-language-server-wrapper${ext}" typecheck "${test_module}" || fail "failed to typecheck with HLS wrapper"
}
@@ -103,6 +106,19 @@ case $TOOL in
ghc --info
ghc -prof main.hs
[[ $(./main +RTS -s) -eq 2 ]]
ghcup_fun install cabal recommended
cabal --version
cabal update
cabal install --lib --package-env=. clock
# https://github.com/haskell/ghcup-hs/issues/966
cabal install --lib --package-env=. hashable
case "$(uname -s)" in
MSYS_*|MINGW*)
;;
*)
[[ -e "$(ghcup whereis --directory ghc "$VERSION")/../share/man/man1/ghc.1" ]]
;;
esac
;;
cabal)
ghcup_fun install ghc --set "$(ghcup_fun list -t ghc -r -c available | tail -1 | awk '{ print $2 }')"

View File

@@ -21,3 +21,7 @@ done
unset key
gpg --verify "${METADATA_FILE}.sig"
for f in ghcup-*.json ghcup-*.yaml hls-metadata-*.json ; do
gpg --verify "${f}.sig"
done

4
.gitignore vendored
View File

@@ -12,6 +12,6 @@ tags
TAGS
/tmp/
.entangled
release/
releases/
/release/
/releases/
site/

View File

@@ -7,7 +7,7 @@
* `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
* `ghcup-cross-A.B.C.yaml`: this contains experimental cross compilers. See https://www.haskell.org/ghcup/guide/#cross-support for details.
### Using the metadata
@@ -18,6 +18,14 @@ ghcup config add-release-channel https://raw.githubusercontent.com/haskell/ghcup
ghcup config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-cross-0.0.8.yaml
```
If you want **only** vanilla upstream bindists and opt out of all unofficial stuff, you'd run:
```sh
ghcup config set url-source https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-vanilla-0.0.8.yaml
```
Also check the [config.yaml documentation](https://github.com/haskell/ghcup-hs/blob/master/data/config.yaml).
## For contributors
### Adding a new GHC version

View File

@@ -7,7 +7,7 @@ package ghcup
source-repository-package
type: git
location: https://github.com/haskell/ghcup-hs.git
tag: e27fed09f3eb4b0b72ce7825c65f16a4202a2399
tag: b1106985ec1173a0122f2781719e9bb1a85de257
constraints: http-io-streams -brotli,
any.aeson >= 2.0.1.0

File diff suppressed because it is too large Load Diff

Binary file not shown.

7088
ghcup-0.0.8.yaml Normal file

File diff suppressed because it is too large Load Diff

BIN
ghcup-0.0.8.yaml.sig Normal file

Binary file not shown.

View File

@@ -27,16 +27,30 @@ ghcupDownloads:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/javascript-unknown-ghcjs-9.6.2/ghc-javascript-unknown-ghcjs-9.6.2-aarch64-apple-darwin.tar.xz
dlHash: 0d65bb3940a820d95b4b33ea0cd61bf39670d48c4d8f747153ded01a7ef34821
dlSubdir: ghc-9.6.2-javascript-unknown-ghcjs
wasm32-wasi-9.6.2.20230523:
wasm32-wasi-9.6.3.20230927:
viTags:
- base-4.18.0.0
- base-4.18.1.0
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghc-wasm32-wasi-64-static
dlHash: 85433ce296f2f95a5c60f78060cb4a3a8bf8b56bf83ddd75f1b23cb2e2378888
dlSubdir: ghc-9.6.2.20230523-wasm32-wasi
dlUri: https://gitlab.haskell.org/api/v4/projects/3223/jobs/1530829/artifacts/ghc-x86_64-linux-alpine3_12-cross_wasm32-wasi-release%2Bfully_static.tar.xz
dlOutput: ghc-9.6.2.20230523-x86_64-linux-alpine3_12-cross_wasm32-wasi-release+fully_static.tar.xz
unknown_versioning: &ghc-wasm32-wasi-963-64-static
dlHash: 2e1d363320c03e35fd9048a252a0cfed8f7b87da76c063c7fc52122c390f42c3
dlSubdir: ghc-9.6.3.20230927-wasm32-wasi
dlUri: https://github.com/amesgen/ghc-wasm-bindists/releases/download/20231001T201511/wasm32-wasi-ghc-9.6.tar.xz
dlOutput: ghc-9.6.3.20230927-x86_64-linux-alpine3_12-cross_wasm32-wasi-release+fully_static.tar.xz
Linux_Alpine:
unknown_versioning: *ghc-wasm32-wasi-64-static
unknown_versioning: *ghc-wasm32-wasi-963-64-static
wasm32-wasi-9.8.0.20230927:
viTags:
- base-4.19.0.0
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghc-wasm32-wasi-980-64-static
dlHash: bad3393b6eba103230c62f050ffd9d458916c6238e5d5fa031d3eee5d995305a
dlSubdir: ghc-9.8.0.20230927-wasm32-wasi
dlUri: https://github.com/amesgen/ghc-wasm-bindists/releases/download/20231001T201511/wasm32-wasi-ghc-9.8.tar.xz
dlOutput: ghc-9.8.0.20230927-x86_64-linux-alpine3_12-cross_wasm32-wasi-release+fully_static.tar.xz
Linux_Alpine:
unknown_versioning: *ghc-wasm32-wasi-980-64-static

Binary file not shown.

View File

@@ -135,15 +135,13 @@ tarballFilterP = option readm $
long "tarball-filter" <> short 'u' <> metavar "<tool>-<version>" <> value def
<> help "Only check certain tarballs (format: <tool>-<version>)"
where
def = TarballFilter (Right Nothing) (makeRegex ("" :: String))
def = TarballFilter Nothing (makeRegex ("" :: String))
readm = do
s <- str
case span (/= '-') s of
(_, []) -> fail "invalid format, missing '-' after the tool name"
(t, v) | [tool] <- [ tool | tool <- [minBound..maxBound], low (show tool) == low t ] ->
pure (TarballFilter $ Right $ Just tool) <*> makeRegexOptsM compIgnoreCase execBlank (drop 1 v)
(t, v) | [tool] <- [ tool | tool <- [minBound..maxBound], low (show tool) == low t ] ->
pure (TarballFilter $ Left tool) <*> makeRegexOptsM compIgnoreCase execBlank (drop 1 v)
pure (TarballFilter $ Just tool) <*> makeRegexOptsM compIgnoreCase execBlank (drop 1 v)
_ -> fail "invalid tool"
low = fmap toLower
@@ -206,7 +204,7 @@ main = do
flip runReaderT leanAppstate $ logError $ T.pack $ prettyShow e
liftIO $ exitWith (ExitFailure 2)
let appstate = AppState (Settings True 0 Lax False Never Curl True GHCupURL False GPGNone True Nothing (DM mempty)) dirs defaultKeyBindings (GHCupInfo mempty mempty mempty) pfreq loggerConfig
let appstate = AppState (Settings True 0 Lax False Never Curl True GHCupURL False GPGNone True Nothing (DM mempty)) dirs defaultKeyBindings (GHCupInfo mempty mempty Nothing) pfreq loggerConfig
let withValidateYamlOpts vopts f = case vopts of
ValidateYAMLOpts { vInput = Nothing } ->

View File

@@ -207,7 +207,7 @@ validate distroChannel = do
isBase _ = False
data TarballFilter = TarballFilter
{ tfTool :: Either GlobalTool (Maybe Tool)
{ tfTool :: Maybe Tool
, tfVersion :: Regex
}
@@ -226,20 +226,16 @@ validateTarballs :: ( Monad m
)
=> TarballFilter
-> m ExitCode
validateTarballs (TarballFilter etool versionRegex) = do
GHCupInfo { _ghcupDownloads = dls, _globalTools = gt } <- getGHCupInfo
validateTarballs (TarballFilter mtool versionRegex) = do
GHCupInfo { _ghcupDownloads = dls } <- getGHCupInfo
ref <- liftIO $ newIORef 0
-- download/verify all tarballs
let dlis = either (const []) (\tool -> nubOrd $ dls ^.. each %& indices (maybe (const True) (==) tool)
%> each %& indices (matchTest versionRegex . T.unpack . prettyVer . _tvVersion)
% (viTestDL % _Just `summing` viSourceDL % _Just `summing` viArch % each % each % each)
)
etool
let gdlis = nubOrd $ gt ^.. each
let allDls = either (const gdlis) (const dlis) etool
when (null allDls) $ logError "no tarballs selected by filter" *> runReaderT addError ref
forM_ allDls (downloadAll ref)
let dlis = nubOrd $ dls ^.. each %& indices (maybe (const True) (==) mtool)
%> each %& indices (matchTest versionRegex . T.unpack . prettyVer . _tvVersion)
% (viTestDL % _Just `summing` viSourceDL % _Just `summing` viArch % each % each % each)
when (null dlis) $ logError "no tarballs selected by filter" *> runReaderT addError ref
forM_ dlis (downloadAll ref)
-- exit
e <- liftIO $ readIORef ref
@@ -273,20 +269,16 @@ validateTarballs (TarballFilter etool versionRegex) = do
, ContentLengthError
]
$ do
case etool of
Right (Just GHCup) -> do
case mtool of
(Just GHCup) -> do
tmpUnpack <- lift mkGhcupTmpDir
_ <- liftE $ download (_dlUri dli) Nothing (Just (_dlHash dli)) Nothing (fromGHCupPath tmpUnpack) Nothing False
pure Nothing
Right _ -> do
_ -> do
p <- liftE $ downloadCached dli Nothing
fmap Just $ liftE
. getArchiveFiles
$ p
Left ShimGen -> do
tmpUnpack <- lift mkGhcupTmpDir
_ <- liftE $ download (_dlUri dli) Nothing (Just (_dlHash dli)) Nothing (fromGHCupPath tmpUnpack) Nothing False
pure Nothing
case r of
VRight (Just entries) -> do
case _dlSubdir dli of

View File

@@ -65,5 +65,5 @@ executable ghcup-gen
, safe-exceptions ^>=0.1
, text ^>=2.0
, transformers ^>=0.5
, versions >=4.0.1 && <5.1
, versions >=6.0.0
, yaml-streamly ^>=0.12.0

View File

@@ -1490,7 +1490,8 @@ ghcupDownloads:
RegexDir: "stack-.*"
2.13.0.1:
viTags:
- LatestPrerelease
- Prerelease
- old
viChangeLog: https://github.com/commercialhaskell/stack/blob/rc/v2.13/ChangeLog.md#v21301-release-candidate
viArch:
A_64:
@@ -1527,55 +1528,42 @@ ghcupDownloads:
dlHash: 9c3b957c7c8b1c5c09e0251907372563b48d5869c31e35be43916736f679535d
dlSubdir:
RegexDir: "stack-.*"
GHCup:
0.1.19.5:
2.15.0.1:
viTags:
- Latest
- Recommended
viChangeLog: https://github.com/haskell/ghcup-hs/blob/master/CHANGELOG.md
viSourceDL:
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.5/ghcup-0.1.19.5-src.tar.gz
dlSubdir: ghcup-0.1.19.5
dlHash: abfb1f18201c77bcebae6a0282844df2cc644427270a8df9af341901211f7b9c
- LatestPrerelease
viChangeLog: https://github.com/commercialhaskell/stack/blob/rc/v2.15/ChangeLog.md#v21501-release-candidate---2024-01-27
viArch:
A_64:
Linux_UnknownLinux:
unknown_versioning: &ghcup-64
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.5/x86_64-linux-ghcup-0.1.19.5
dlHash: 2d07c7c64d9eb472d85210c27c4489931804fd753a99724d1df740dbf1bfc5a5
unknown_versioning: &stack-21501-64
dlUri: https://github.com/commercialhaskell/stack/releases/download/rc/v2.15.0.1/stack-2.15.0.1-linux-x86_64.tar.gz
dlHash: f59b41418b2c12f1ac643b1c8c8caa9e4936d2c5a35593e67d7243d97a1de948
dlSubdir:
RegexDir: "stack-.*"
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.5/x86_64-apple-darwin-ghcup-0.1.19.5
dlHash: bde41f049e795e086c1ee27a4ae0629285c56bdf041f039e798f77481a133202
FreeBSD:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.5/x86_64-portbld-freebsd-ghcup-0.1.19.5
dlHash: 6b743f440f6bf9e4525acec2bd360d8a07af06925a74d0d960b9fe7c8c90b176
dlUri: https://github.com/commercialhaskell/stack/releases/download/rc/v2.15.0.1/stack-2.15.0.1-osx-x86_64.tar.gz
dlHash: 7cbdb14060f19eefeff56d7d4887db0a1c5ade6bcd1d05abff5e5d819e4945f0
dlSubdir:
RegexDir: "stack-.*"
Windows:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.5/x86_64-mingw64-ghcup-0.1.19.5.exe
dlHash: 085fc717bcea786034133c5028e5c3e5d46da341787bb267482996e97d076c88
dlUri: https://github.com/commercialhaskell/stack/releases/download/rc/v2.15.0.1/stack-2.15.0.1-windows-x86_64.tar.gz
dlHash: f23f45c47228f98df47da4613df87f2ee5b55edcf4e466a1d7b3aced2161a7d0
dlSubdir:
RegexDir: "stack-.*"
Linux_Alpine:
unknown_versioning: *ghcup-64
A_32:
Linux_UnknownLinux:
unknown_versioning: &ghcup-32
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.5/i386-linux-ghcup-0.1.19.5
dlHash: 9bb0870ae4b4fd0d4d18982f4aa88749018aed81479e51070478f699ed9a85e0
Linux_Alpine:
unknown_versioning: *ghcup-32
unknown_versioning: *stack-21501-64
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.5/aarch64-linux-ghcup-0.1.19.5
dlHash: cea78d9189be6fd62519c9d450654e7dd4e0923a7834c38b0539ba9264c6762e
dlUri: https://github.com/commercialhaskell/stack/releases/download/rc/v2.15.0.1/stack-2.15.0.1-linux-aarch64.tar.gz
dlHash: 087b9b02e318ba28cbbd13b512da0758e2522016e260e2b2a3d076148225972e
dlSubdir:
RegexDir: "stack-.*"
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.5/aarch64-apple-darwin-ghcup-0.1.19.5
dlHash: 4dafad0be3314372e2d312ee4ff3999060826ed1b53678dc2fb8715ee4bb4c53
A_ARM:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/0.1.19.5/armv7-linux-ghcup-0.1.19.5
dlHash: 46147824b921b61e3161e03c638a8ff684667ea1d877df0e06721c4b2149cd5f
dlUri: https://github.com/commercialhaskell/stack/releases/download/rc/v2.15.0.1/stack-2.15.0.1-osx-aarch64.tar.gz
dlHash: 2c5fb2efcf646287aa91d3a1d6f8d08129734bc3e0c50d6756aba81b9309d7c1
dlSubdir:
RegexDir: "stack-.*"

Binary file not shown.

1569
ghcup-prereleases-0.0.8.yaml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

6404
ghcup-vanilla-0.0.8.yaml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -1343,5 +1343,255 @@
"9.6.3"
]
}
},
"2.4.0.0": {
"A_64": {
"Darwin": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"FreeBSD": [
"8.10.7",
"9.0.2",
"9.2.5",
"9.2.7"
],
"Linux_CentOS": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Linux_Debian": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Linux_Fedora": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Linux_Mint": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Linux_RedHat": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Linux_Ubuntu": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Linux_UnknownLinux": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Windows": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
]
},
"A_ARM64": {
"Darwin": [
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
],
"Linux_UnknownLinux": [
"9.0.2",
"9.2.8",
"9.4.7",
"9.6.3",
"9.8.1"
]
}
},
"2.5.0.0": {
"A_64": {
"Darwin": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"FreeBSD": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_CentOS": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_Debian": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_Fedora": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_Mint": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_RedHat": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_Ubuntu": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_UnknownLinux": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Windows": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
]
},
"A_ARM64": {
"Darwin": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
],
"Linux_UnknownLinux": [
"9.2.8",
"9.4.8",
"9.6.3",
"9.8.1"
]
}
},
"2.6.0.0": {
"A_64": {
"Darwin": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"FreeBSD": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_Alpine": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_CentOS": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_Debian": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_Fedora": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_Mint": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_RedHat": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_Ubuntu": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_UnknownLinux": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Windows": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
]
},
"A_ARM64": {
"Darwin": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
],
"Linux_UnknownLinux": [
"9.2.8",
"9.4.8",
"9.6.4",
"9.8.1"
]
}
}
}

Binary file not shown.

View File

@@ -0,0 +1,105 @@
#!/bin/bash
set -eu
set -o pipefail
RELEASE=$1
VERSION=${RELEASE#cabal-install-v}
cd "gh-release-artifacts/cabal-${VERSION}"
cat <<EOF > /dev/stdout
$VERSION:
viTags:
- Latest
viChangeLog: https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-$VERSION.md
viArch:
A_64:
Linux_Debian:
'< 10': &cabal-${VERSION//./}-64-deb9
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-linux-deb9.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-linux-deb9.tar.xz" | awk '{ print $1 }')
'(>= 10 && < 11)': &cabal-${VERSION//./}-64-deb10
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-linux-deb10.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-linux-deb10.tar.xz" | awk '{ print $1 }')
unknown_versioning: &cabal-${VERSION//./}-64-deb11
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-linux-deb11.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-linux-deb11.tar.xz" | awk '{ print $1 }')
Linux_Ubuntu:
'( >= 16 && < 19 )': &cabal-${VERSION//./}-64-ubuntu18
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-linux-ubuntu18.04.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-linux-ubuntu18.04.tar.xz" | awk '{ print $1 }')
'( >= 20 && < 22 )': &cabal-${VERSION//./}-64-ubuntu20
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-linux-ubuntu20.04.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-linux-ubuntu20.04.tar.xz" | awk '{ print $1 }')
unknown_versioning: &cabal-${VERSION//./}-64-ubuntu22
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-linux-ubuntu22.04.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-linux-ubuntu22.04.tar.xz" | awk '{ print $1 }')
Linux_Mint:
'< 20':
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-linux-mint19.3.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-linux-mint19.3.tar.xz" | awk '{ print $1 }')
'(>= 20 && < 21)':
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-linux-mint20.2.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-linux-mint20.2.tar.xz" | awk '{ print $1 }')
'>= 21': *cabal-${VERSION//./}-64-ubuntu22
Linux_Fedora:
'< 33': &cabal-${VERSION//./}-64-fedora27
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-linux-fedora27.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-linux-fedora27.tar.xz" | awk '{ print $1 }')
'>= 33': &cabal-${VERSION//./}-64-fedora33
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-linux-fedora33.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-linux-fedora33.tar.xz" | awk '{ print $1 }')
unknown_versioning: *cabal-${VERSION//./}-64-fedora27
Linux_CentOS:
'( >= 7 && < 8 )': &cabal-${VERSION//./}-64-centos
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-linux-centos7.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-linux-centos7.tar.xz" | awk '{ print $1 }')
unknown_versioning: *cabal-${VERSION//./}-64-centos
Linux_RedHat:
unknown_versioning: *cabal-${VERSION//./}-64-centos
Linux_UnknownLinux:
unknown_versioning: &cabal-${VERSION//./}-64-unknown
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-linux-unknown.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-linux-unknown.tar.xz" | awk '{ print $1 }')
Linux_Rocky:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-linux-rocky8.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-linux-rocky8.tar.xz" | awk '{ print $1 }')
Linux_Alpine:
unknown_versioning: *cabal-${VERSION//./}-64-unknown
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-apple-darwin.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-apple-darwin.tar.xz" | awk '{ print $1 }')
Windows:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-mingw64.zip
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-mingw64.zip" | awk '{ print $1 }')
FreeBSD:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-x86_64-portbld-freebsd.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-x86_64-portbld-freebsd.tar.xz" | awk '{ print $1 }')
A_32:
Linux_UnknownLinux:
unknown_versioning: &cabal-${VERSION//./}-32-unknown
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-i386-linux-unknown.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-i386-linux-unknown.tar.xz" | awk '{ print $1 }')
Linux_Alpine:
unknown_versioning: *cabal-${VERSION//./}-32-unknown
A_ARM64:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-aarch64-linux-deb10.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-aarch64-linux-deb10.tar.xz" | awk '{ print $1 }')
Darwin:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-aarch64-apple-darwin.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-aarch64-apple-darwin.tar.xz" | awk '{ print $1 }')
A_ARM:
Linux_UnknownLinux:
unknown_versioning:
dlUri: https://downloads.haskell.org/~ghcup/unofficial-bindists/cabal/$VERSION/cabal-install-$VERSION-armv7-linux-deb10.tar.xz
dlHash: $(sha256sum "cabal-install-$VERSION-armv7-linux-deb10.tar.xz" | awk '{ print $1 }')
EOF

View File

@@ -0,0 +1,35 @@
#!/bin/bash
set -eu
set -o pipefail
RELEASE=$1
VERSION=${RELEASE#cabal-install-v}
SIGNER=$2
echo "RELEASE: $RELEASE"
echo "SIGNER: $SIGNER"
for com in gh gpg curl sha256sum ; do
command -V ${com} >/dev/null 2>&1
done
[ ! -e "gh-release-artifacts/cabal-${VERSION}" ]
mkdir -p "gh-release-artifacts/cabal-${VERSION}"
cd "gh-release-artifacts/cabal-${VERSION}"
# github
gh release download "$RELEASE"
# cirrus
curl --fail -L -o "cabal-install-${VERSION}-x86_64-portbld-freebsd.tar.xz" \
"https://api.cirrus-ci.com/v1/artifact/github/haskell/ghcup-metadata/build/binaries/out/cabal-install-${VERSION}-x86_64-portbld-freebsd.tar.xz?branch=develop"
sha256sum ./* > SHA256SUMS
gpg --detach-sign -u "${SIGNER}" SHA256SUMS
gh release upload "$RELEASE" "cabal-install-${VERSION}-x86_64-portbld-freebsd.tar.xz" SHA256SUMS SHA256SUMS.sig