@@ -35,13 +35,16 @@ data Distro
3535 = Debian9
3636 | Debian10
3737 | Debian11
38+ | Debian12
3839 | Ubuntu1804
3940 | Ubuntu2004
4041 | Ubuntu2204
4142 | Mint193
4243 | Mint202
44+ | Mint213
4345 | Fedora27
4446 | Fedora33
47+ | Fedora40
4548 | Centos7
4649 | Rocky8
4750 deriving (Eq , Enum , Bounded )
@@ -64,15 +67,15 @@ data GHC
6467 = GHC948
6568 | GHC967
6669 | GHC984
67- | GHC9101
70+ | GHC9102
6871 | GHC9122
6972 deriving (Eq , Enum , Bounded )
7073
7174ghcVersion :: GHC -> String
7275ghcVersion GHC948 = " 9.4.8"
7376ghcVersion GHC967 = " 9.6.7"
7477ghcVersion GHC984 = " 9.8.4"
75- ghcVersion GHC9101 = " 9.10.1 "
78+ ghcVersion GHC9102 = " 9.10.2 "
7679ghcVersion GHC9122 = " 9.12.2"
7780
7881ghcVersionIdent :: GHC -> String
@@ -91,55 +94,67 @@ distroImage :: Distro -> String
9194distroImage Debian9 = " debian:9"
9295distroImage Debian10 = " debian:10"
9396distroImage Debian11 = " debian:11"
97+ distroImage Debian12 = " debian:12"
9498distroImage Ubuntu1804 = " ubuntu:18.04"
9599distroImage Ubuntu2004 = " ubuntu:20.04"
96100distroImage Ubuntu2204 = " ubuntu:22.04"
97101distroImage Mint193 = " linuxmintd/mint19.3-amd64"
98102distroImage Mint202 = " linuxmintd/mint20.2-amd64"
103+ distroImage Mint213 = " linuxmintd/mint21.3-amd64"
99104distroImage Fedora27 = " fedora:27"
100105distroImage Fedora33 = " fedora:33"
106+ distroImage Fedora40 = " fedora:40"
101107distroImage Centos7 = " centos:7"
102108distroImage Rocky8 = " rockylinux:8"
103109
104110distroName :: Distro -> String
105111distroName Debian9 = " deb9"
106112distroName Debian10 = " deb10"
107113distroName Debian11 = " deb11"
114+ distroName Debian12 = " deb12"
108115distroName Ubuntu1804 = " ubuntu1804"
109116distroName Ubuntu2004 = " ubuntu2004"
110117distroName Ubuntu2204 = " ubuntu2204"
111118distroName Mint193 = " mint193"
112119distroName Mint202 = " mint202"
120+ distroName Mint213 = " mint213"
113121distroName Fedora27 = " fedora27"
114122distroName Fedora33 = " fedora33"
123+ distroName Fedora40 = " fedora40"
115124distroName Centos7 = " centos7"
116125distroName Rocky8 = " unknown"
117126
118127distroInstall :: Distro -> String
119128distroInstall 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"
120129distroInstall Debian10 = " apt-get update && apt-get install -y"
121130distroInstall Debian11 = " apt-get update && apt-get install -y"
131+ distroInstall Debian12 = " apt-get update && apt-get install -y"
122132distroInstall Ubuntu1804 = " apt-get update && apt-get install -y"
123133distroInstall Ubuntu2004 = " apt-get update && apt-get install -y"
124134distroInstall Ubuntu2204 = " apt-get update && apt-get install -y"
125135distroInstall Mint193 = " apt-get update && apt-get install -y"
126136distroInstall Mint202 = " apt-get update && apt-get install -y"
137+ distroInstall Mint213 = " apt-get update && apt-get install -y"
127138distroInstall Fedora27 = " dnf install -y"
128139distroInstall Fedora33 = " dnf install -y"
140+ distroInstall Fedora40 = " dnf install -y"
129141distroInstall 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"
130142distroInstall Rocky8 = " yum -y install epel-release && yum install -y --allowerasing"
131143
132144distroTools :: Distro -> String
133145distroTools 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"
134146distroTools 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"
135147distroTools 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"
136149distroTools 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"
137150distroTools 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"
138151distroTools 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"
139152distroTools 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"
140153distroTools 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"
141155distroTools 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"
142156distroTools 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"
143158distroTools 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"
144159distroTools 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"
145160
0 commit comments