Comment optional post-install field in the ghcup metadata script and fix typos
[cabal.git] / scripts / release / create-release-metadata-for-ghcup.sh
blob6cf3415ce7542e7ddfd930d25be0fddee4f4901e
1 #!/usr/bin/env bash
3 # This script, when passed the cabal release number as the first and only argument
4 # generates the metadata in the correct format to be useable as is by GHCup
5 # for eg:-
6 # $ create-release-metadata-for-ghcup.sh 3.10.2.0 or "3.10.2.0"
8 # Note:- Please run ./download-cabal-install-release-binaries.sh before running this script.
9 set -eu
10 set -o pipefail
12 RELEASE=$1
13 ## FixMe:// What dir to use here?
15 if [ -d "binary-downloads/cabal-install-${RELEASE}-binaries" ]; then
16 echo "binary downloads folder for release ${RELEASE} found, starting generating GHCup metadata..."
17 else
18 echo "The binary downloads for release ${RELEASE} not found."
19 echo "Please run the script to download them first."
22 cd "binary-downloads/cabal-install-${RELEASE}-binaries"
24 cat <<EOF > /dev/stdout
25 $RELEASE:
26 viTags:
27 - Latest
28 viChangeLog: https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-$RELEASE.md
29 # uncomment viPostInstall if the release needs a post-install message
30 # viPostInstall: &cabal-${RELEASE//./}-post-install |
31 viArch:
32 A_64:
33 Linux_UnknownLinux:
34 unknown_versioning: &cabal-${RELEASE//./}-64
35 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-x86_64-linux-alpine3_12.tar.xz
36 dlHash: $(sha256sum "cabal-install-$RELEASE-x86_64-linux-alpine3_12.tar.xz" | awk '{ print $1 }')
37 Linux_Alpine:
38 unknown_versioning: *cabal-${RELEASE//./}-64
39 Linux_CentOS:
40 unknown_versioning: &cabal-${RELEASE//./}-64-centos7
41 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-x86_64-linux-centos7.tar.xz
42 dlHash: $(sha256sum "cabal-install-$RELEASE-x86_64-linux-centos7.tar.xz" | awk '{ print $1 }')
43 Linux_Debian:
44 '( >= 9 && < 10)': &cabal-${RELEASE//./}-64-debian
45 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-x86_64-linux-deb9.tar.xz
46 dlHash: $(sha256sum "cabal-install-$RELEASE-x86_64-linux-deb9.tar.xz" | awk '{ print $1 }')
47 '( == 10 && < 11)':
48 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-x86_64-linux-deb10.tar.xz
49 dlHash: $(sha256sum "cabal-install-$RELEASE-x86_64-linux-deb10.tar.xz" | awk '{ print $1 }')
50 '( >= 11)':
51 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-x86_64-linux-deb11.tar.xz
52 dlHash: $(sha256sum "cabal-install-$RELEASE-x86_64-linux-deb11.tar.xz" | awk '{ print $1 }')
53 unknown_versioning: *cabal-${RELEASE//./}-64-debian
54 Linux_Fedora:
55 '>= 33':
56 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-x86_64-linux-fedora33.tar.xz
57 dlHash: $(sha256sum "cabal-install-$RELEASE-x86_64-linux-fedora33.tar.xz" | awk '{ print $1 }')
58 unknown_versioning: *cabal-${RELEASE//./}-64-centos7
59 Linux_Ubuntu:
60 '< 20': &cabal-${RELEASE//./}-64-ubuntu18
61 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-x86_64-linux-ubuntu18_04.tar.xz
62 dlHash: $(sha256sum "cabal-install-$RELEASE-x86_64-linux-ubuntu18_04.tar.xz" | awk '{ print $1 }')
63 '>= 20': &cabal-${RELEASE//./}-64-ubuntu20
64 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-x86_64-linux-ubuntu20_04.tar.xz
65 dlHash: $(sha256sum "cabal-install-$RELEASE-x86_64-linux-ubuntu20_04.tar.xz" | awk '{ print $1 }')
66 unknown_versioning: *cabal-${RELEASE//./}-64-ubuntu18
67 Linux_Mint:
68 '< 20': *cabal-${RELEASE//./}-64-ubuntu18
69 '>= 20': *cabal-${RELEASE//./}-64-ubuntu20
70 unknown_versioning: *cabal-${RELEASE//./}-64-ubuntu18
71 Darwin:
72 unknown_versioning:
73 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-x86_64-darwin.tar.xz
74 dlHash: $(sha256sum "cabal-install-$RELEASE-x86_64-darwin.tar.xz" | awk '{ print $1 }')
75 Windows:
76 unknown_versioning:
77 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-x86_64-windows.zip
78 dlHash: $(sha256sum "cabal-install-$RELEASE-x86_64-windows.zip" | awk '{ print $1 }')
79 FreeBSD:
80 unknown_versioning:
81 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-x86_64-freebsd-14.tar.xz
82 dlHash: $(sha256sum "cabal-install-$RELEASE-x86_64-freebsd-14.tar.xz" | awk '{ print $1 }')
83 A_32:
84 Linux_UnknownLinux:
85 unknown_versioning: &cabal-${RELEASE//./}-32
86 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-i386-linux-alpine3_12.tar.xz
87 dlHash: $(sha256sum "cabal-install-$RELEASE-i386-linux-alpine3_12.tar.xz" | awk '{ print $1 }')
88 Linux_Alpine:
89 unknown_versioning: *cabal-${RELEASE//./}-32
90 Linux_Debian:
91 '( >= 9 )':
92 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-i386-linux-deb9.tar.xz
93 dlHash: $(sha256sum "cabal-install-$RELEASE-i386-linux-deb9.tar.xz" | awk '{ print $1 }')
94 unknown_versioning: *cabal-${RELEASE//./}-32
95 A_ARM64:
96 Darwin:
97 unknown_versioning:
98 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-aarch64-darwin.tar.xz
99 dlHash: $(sha256sum "cabal-install-$RELEASE-aarch64-darwin.tar.xz" | awk '{ print $1 }')
100 Linux_Debian:
101 '( >= 10 && < 11)': &cabal-${RELEASE//./}-arm64
102 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-aarch64-linux-deb10.tar.xz
103 dlHash: $(sha256sum "cabal-install-$RELEASE-aarch64-linux-deb10.tar.xz" | awk '{ print $1 }')
104 '( >= 11)':
105 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-aarch64-linux-deb11.tar.xz
106 dlHash: $(sha256sum "cabal-install-$RELEASE-aarch64-linux-deb11.tar.xz" | awk '{ print $1 }')
107 unknown_versioning: *cabal-${RELEASE//./}-arm64
108 Linux_Alpine:
109 unknown_versioning:
110 dlUri: https://downloads.haskell.org/~cabal/cabal-install-$RELEASE/cabal-install-$RELEASE-aarch64-linux-alpine3_18.tar.xz
111 dlHash: $(sha256sum "cabal-install-$RELEASE-aarch64-linux-alpine3_18.tar.xz" | awk '{ print $1 }')
112 Linux_UnknownLinux:
113 unknown_versioning: *cabal-${RELEASE//./}-arm64