@@ -35,13 +35,16 @@ data Distro
35
35
= Debian9
36
36
| Debian10
37
37
| Debian11
38
+ | Debian12
38
39
| Ubuntu1804
39
40
| Ubuntu2004
40
41
| Ubuntu2204
41
42
| Mint193
42
43
| Mint202
44
+ | Mint213
43
45
| Fedora27
44
46
| Fedora33
47
+ | Fedora40
45
48
| Centos7
46
49
| Rocky8
47
50
deriving (Eq , Enum , Bounded )
@@ -64,15 +67,15 @@ data GHC
64
67
= GHC948
65
68
| GHC967
66
69
| GHC984
67
- | GHC9101
70
+ | GHC9102
68
71
| GHC9122
69
72
deriving (Eq , Enum , Bounded )
70
73
71
74
ghcVersion :: GHC -> String
72
75
ghcVersion GHC948 = " 9.4.8"
73
76
ghcVersion GHC967 = " 9.6.7"
74
77
ghcVersion GHC984 = " 9.8.4"
75
- ghcVersion GHC9101 = " 9.10.1 "
78
+ ghcVersion GHC9102 = " 9.10.2 "
76
79
ghcVersion GHC9122 = " 9.12.2"
77
80
78
81
ghcVersionIdent :: GHC -> String
@@ -91,55 +94,67 @@ distroImage :: Distro -> String
91
94
distroImage Debian9 = " debian:9"
92
95
distroImage Debian10 = " debian:10"
93
96
distroImage Debian11 = " debian:11"
97
+ distroImage Debian12 = " debian:12"
94
98
distroImage Ubuntu1804 = " ubuntu:18.04"
95
99
distroImage Ubuntu2004 = " ubuntu:20.04"
96
100
distroImage Ubuntu2204 = " ubuntu:22.04"
97
101
distroImage Mint193 = " linuxmintd/mint19.3-amd64"
98
102
distroImage Mint202 = " linuxmintd/mint20.2-amd64"
103
+ distroImage Mint213 = " linuxmintd/mint21.3-amd64"
99
104
distroImage Fedora27 = " fedora:27"
100
105
distroImage Fedora33 = " fedora:33"
106
+ distroImage Fedora40 = " fedora:40"
101
107
distroImage Centos7 = " centos:7"
102
108
distroImage Rocky8 = " rockylinux:8"
103
109
104
110
distroName :: Distro -> String
105
111
distroName Debian9 = " deb9"
106
112
distroName Debian10 = " deb10"
107
113
distroName Debian11 = " deb11"
114
+ distroName Debian12 = " deb12"
108
115
distroName Ubuntu1804 = " ubuntu1804"
109
116
distroName Ubuntu2004 = " ubuntu2004"
110
117
distroName Ubuntu2204 = " ubuntu2204"
111
118
distroName Mint193 = " mint193"
112
119
distroName Mint202 = " mint202"
120
+ distroName Mint213 = " mint213"
113
121
distroName Fedora27 = " fedora27"
114
122
distroName Fedora33 = " fedora33"
123
+ distroName Fedora40 = " fedora40"
115
124
distroName Centos7 = " centos7"
116
125
distroName Rocky8 = " unknown"
117
126
118
127
distroInstall :: Distro -> String
119
128
distroInstall Debian9 = " sed -i s/deb.debian.org/archive.debian.org/g /etc/apt/sources.list && sed -i 's|security.debian.org|archive.debian.org/|g' /etc/apt/sources.list && sed -i /-updates/d /etc/apt/sources.list && apt-get update && apt-get install -y"
120
129
distroInstall Debian10 = " apt-get update && apt-get install -y"
121
130
distroInstall Debian11 = " apt-get update && apt-get install -y"
131
+ distroInstall Debian12 = " apt-get update && apt-get install -y"
122
132
distroInstall Ubuntu1804 = " apt-get update && apt-get install -y"
123
133
distroInstall Ubuntu2004 = " apt-get update && apt-get install -y"
124
134
distroInstall Ubuntu2204 = " apt-get update && apt-get install -y"
125
135
distroInstall Mint193 = " apt-get update && apt-get install -y"
126
136
distroInstall Mint202 = " apt-get update && apt-get install -y"
137
+ distroInstall Mint213 = " apt-get update && apt-get install -y"
127
138
distroInstall Fedora27 = " dnf install -y"
128
139
distroInstall Fedora33 = " dnf install -y"
140
+ distroInstall Fedora40 = " dnf install -y"
129
141
distroInstall Centos7 = " sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* && yum -y install epel-release && yum install -y"
130
142
distroInstall Rocky8 = " yum -y install epel-release && yum install -y --allowerasing"
131
143
132
144
distroTools :: Distro -> String
133
145
distroTools Debian9 = " libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf"
134
146
distroTools Debian10 = " libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf"
135
147
distroTools Debian11 = " libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf"
148
+ distroTools Debian12 = " libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf"
136
149
distroTools Ubuntu1804 = " libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf"
137
150
distroTools Ubuntu2004 = " libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf"
138
151
distroTools Ubuntu2204 = " libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf"
139
152
distroTools Mint193 = " libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf"
140
153
distroTools Mint202 = " libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf"
154
+ distroTools Mint213 = " libnuma-dev zlib1g-dev libgmp-dev libgmp10 libssl-dev liblzma-dev libbz2-dev git wget lsb-release software-properties-common gnupg2 apt-transport-https gcc autoconf automake build-essential curl ghc gzip libffi-dev libncurses-dev libncurses5 libtinfo5 patchelf"
141
155
distroTools Fedora27 = " autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf"
142
156
distroTools Fedora33 = " autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf"
157
+ distroTools Fedora40 = " autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf"
143
158
distroTools Centos7 = " autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf"
144
159
distroTools Rocky8 = " autoconf automake binutils bzip2 coreutils curl elfutils-devel elfutils-libs findutils gcc gcc-c++ git gmp gmp-devel jq lbzip2 make ncurses ncurses-compat-libs ncurses-devel openssh-clients patch perl pxz python3 sqlite sudo wget which xz zlib-devel patchelf"
145
160
0 commit comments