Skip to content

Commit 3a62513

Browse files
committed
Update scripts/mirror-ghc-bindists-to-github for GHC 8.2.1
1 parent c2c860a commit 3a62513

File tree

1 file changed

+36
-24
lines changed

1 file changed

+36
-24
lines changed

etc/scripts/mirror-ghc-bindists-to-github.sh

Lines changed: 36 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@
1616
# The script will output a `stack-setup.yaml` file containing info for each
1717
# platform that you can paste into
1818
# https://github.com/fpco/stackage-content/blob/master/stack/stack-setup-2.yaml.
19+
# Be sure to double check the SHA1 sums against those in
20+
# https://downloads.haskell.org/~ghc/X.Y.Z/.
1921
#
20-
GHCVER=8.0.2
22+
GHCVER=8.2.1
2123
if [[ -z "$GITHUB_AUTH_TOKEN" ]]; then
2224
echo "$0: GITHUB_AUTH_TOKEN environment variable is required" >&2
2325
exit 1
@@ -33,45 +35,55 @@ fi
3335
echo 'ghc:' >stack-setup.yaml
3436

3537
mirror () {
36-
local srcfn=ghc-$GHCVER-$2.tar.$3
38+
suffix="$1"; shift
39+
srcext="$1"; shift
40+
destext="$1"; shift
41+
local srcfn=ghc-$GHCVER-${suffix}.tar.${srcext}
3742
if [[ ! -s "$srcfn.downloaded" ]]; then
3843
rm -f "$srcfn"
3944
curl -LO --fail "http://downloads.haskell.org/~ghc/$GHCVER/$srcfn"
4045
date >"$srcfn.downloaded"
4146
fi
42-
local destfn=ghc-$GHCVER-$2.tar.$4
47+
local destfn=ghc-$GHCVER-${suffix}.tar.${destext}
4348
if [[ ! -s "$destfn.uploaded" ]]; then
44-
if [[ "$3" == "xz" && "$4" == "bz2" ]]; then
49+
if [[ "${srcext}" == "xz" && "${destext}" == "bz2" ]]; then
4550
xzcat "$srcfn" | bzip2 -c > "$destfn"
46-
elif [[ "$3" != "$4" ]]; then
51+
elif [[ "${srcext}" != "${destext}" ]]; then
4752
set +x
4853
echo
49-
echo "$0: Unsupported conversion: $3 to $4" >&2
54+
echo "$0: Unsupported conversion: ${srcext} to ${destext}" >&2
5055
exit 1
5156
fi
5257
curl -X POST --data-binary "@$destfn" -H "Content-type: application/octet-stream" -H "Authorization: token $GITHUB_AUTH_TOKEN" "$UPLOAD_URL?name=$destfn"
5358
date >"$destfn.uploaded"
5459
fi
55-
echo " $1:" >>stack-setup.yaml
56-
echo " $GHCVER:" >>stack-setup.yaml
57-
echo " url: \"https://github.com/commercialhaskell/ghc/releases/download/ghc-$GHCVER-release/$destfn\"" >>stack-setup.yaml
58-
echo " content-length: $(stat --printf="%s" "$destfn" 2>/dev/null || stat -f%z "$destfn")" >>stack-setup.yaml
59-
echo " sha1: $(sha1sum $destfn |cut -d' ' -f1)" >>stack-setup.yaml
60+
while [[ $# -gt 0 ]]; do
61+
alias="$1"
62+
echo " $alias:" >>stack-setup.yaml
63+
echo " $GHCVER:" >>stack-setup.yaml
64+
echo " url: \"https://github.com/commercialhaskell/ghc/releases/download/ghc-$GHCVER-release/$destfn\"" >>stack-setup.yaml
65+
echo " content-length: $(stat --printf="%s" "$destfn" 2>/dev/null || stat -f%z "$destfn")" >>stack-setup.yaml
66+
echo " sha1: $(sha1sum $destfn |cut -d' ' -f1)" >>stack-setup.yaml
67+
shift
68+
done
6069
}
6170

62-
mirror linux32 i386-deb7-linux xz xz
63-
mirror linux32-nopie i386-deb8-linux xz xz
64-
mirror linux64 x86_64-deb7-linux xz xz
65-
mirror linux64-nopie x86_64-deb8-linux xz xz
66-
mirror linux32-gmp4 i386-centos67-linux xz xz
67-
mirror linux64-gmp4 x86_64-centos67-linux xz xz
68-
mirror macosx x86_64-apple-darwin xz bz2
69-
mirror windows32 i386-unknown-mingw32 xz xz
70-
mirror windows64 x86_64-unknown-mingw32 xz xz
71-
mirror freebsd32 i386-portbld-freebsd xz xz
72-
mirror freebsd64 x86_64-portbld-freebsd xz xz
73-
mirror openbsd64 x86_64-unknown-openbsd xz xz
74-
mirror linux-armv7 armv7-deb8-linux xz xz
71+
mirror i386-deb7-linux xz xz linux32
72+
mirror i386-deb8-linux xz xz linux32-nopie
73+
mirror x86_64-deb7-linux xz xz linux64
74+
mirror x86_64-deb8-linux xz xz linux64-nopie
75+
#@@@ 32-bit centos6 doesn't seem to be available: mirror i386-centos67-linux xz xz linux32-gmp4
76+
mirror x86_64-centos67-linux xz xz linux64-gmp4
77+
mirror armv7-deb8-linux xz xz linux-armv7
78+
mirror aarch64-deb8-linux xz xz linux-aarch64 #@@@: move to after linux-armv7
79+
mirror i386-unknown-mingw32 xz xz windows32
80+
mirror x86_64-unknown-mingw32 xz xz windows64
81+
mirror x86_64-apple-darwin xz bz2 macosx
82+
#@@@: add support for freebsd11 vs. freebsd10 to Stack (I think there may already be an issue for that?)
83+
#@@@: 32-bit freebsd not available: mirror i386-portbld-freebsd xz xz freebsd32
84+
mirror x86_64-portbld10_3-freebsd xz xz freebsd64
85+
mirror x86_64-portbld11-freebsd xz xz freebsd64-11
86+
mirror x86_64-openbsd60-openbsd xz xz openbsd64
7587

7688
set +x
7789
echo

0 commit comments

Comments
 (0)