From 2478e6dd0397f1fa674ee300d7d638395ee2e32a Mon Sep 17 00:00:00 2001
From: Basile Burg <basile.b@gmx.com>
Date: Fri, 7 Jul 2023 00:40:21 +0200
Subject: [PATCH] change the image used to build the releases

---
 .gitlab-ci.yml                         | 23 +----------------------
 .appveyor.yml => disabled.appveyor.yml |  0
 setup/Dockerfile                       | 10 ++++++++++
 setup/build-rlz-image.sh               |  1 +
 4 files changed, 12 insertions(+), 22 deletions(-)
 rename .appveyor.yml => disabled.appveyor.yml (100%)
 create mode 100644 setup/Dockerfile
 create mode 100644 setup/build-rlz-image.sh

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 62298235..2e8700c7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -16,30 +16,9 @@ pages:
   - merge_requests
 
 release:
-  image: dlang2/ldc-ubuntu
+  image: registry.gitlab.com/basile.b/dexed/rlz-image.fedora.x86_64:1.3
   variables:
     GIT_SUBMODULE_STRATEGY: normal
-  before_script:
-  - apt-get update -y
-  # deps, packaging tools
-  - apt-get install -y rpm
-  - apt-get install -y git
-  - apt-get install -y zip
-  - apt-get install -y libcurl4-openssl-dev
-  - apt-get install -y git-lfs && git lfs install
-  # gitlab Ubuntu-based runners default to LD gold
-  # but linking lazarus programs requires LD bfd.
-  - update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 20
-  - update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" 10
-  - update-alternatives --config ld
-  - ld --version
-  # lazarus
-  - git clone https://gitlab.com/basile.b/laz-bin-cache.git --depth=1
-  - cd laz-bin-cache
-  - apt install -y ./fpc-laz_3.2.2-210709_amd64.deb
-  - apt install -y ./fpc-src_3.2.2-210709_amd64.deb
-  - apt install -y ./lazarus-project_2.2.0-0_amd64.deb
-  - cd ..
   script:
   - bash setup/build-release.sh
   artifacts:
diff --git a/.appveyor.yml b/disabled.appveyor.yml
similarity index 100%
rename from .appveyor.yml
rename to disabled.appveyor.yml
diff --git a/setup/Dockerfile b/setup/Dockerfile
new file mode 100644
index 00000000..72575a17
--- /dev/null
+++ b/setup/Dockerfile
@@ -0,0 +1,10 @@
+FROM fedora:37
+RUN dnf install -y "coreutils" "dpkg" "rpm" "rpm-build" "zip" "tar" "make" "findutils" "curl" "git" "libgcc" "bash" "which" &&\
+  curl -JLO "https://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20x86_64%20RPM/Lazarus%202.2.6/fpc-3.2.2-1.x86_64.rpm/download" &&\
+  curl -JLO "https://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20x86_64%20RPM/Lazarus%202.2.6/fpc-src-3.2.2-1.x86_64.rpm" &&\
+  curl -JLO "https://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20x86_64%20RPM/Lazarus%202.2.6/lazarus-2.2.6-0.x86_64.rpm/download" &&\
+  dnf install -y "fpc-3.2.2-1.x86_64.rpm" "fpc-src-3.2.2-1.x86_64.rpm" "lazarus-2.2.6-0.x86_64.rpm" &&\
+  curl -JLO "https://github.com/ldc-developers/ldc/releases/download/v1.32.2/ldc2-1.32.2-linux-x86_64.tar.xz" &&\
+  tar -xf "ldc2-1.32.2-linux-x86_64.tar.xz" && mv "ldc2-1.32.2-linux-x86_64" "ldc2-" &&\
+  ln -s "/ldc2-/bin/ldc2" "/usr/bin/ldc2" && ln -s "/ldc2-/bin/ldmd2" "/usr/bin/ldmd2" && ln -s "/ldc2-/bin/dub" "/usr/bin/dub" &&\
+  dnf clean all && rm -rf "/var/cache/yum"
diff --git a/setup/build-rlz-image.sh b/setup/build-rlz-image.sh
new file mode 100644
index 00000000..3b9d1e13
--- /dev/null
+++ b/setup/build-rlz-image.sh
@@ -0,0 +1 @@
+sudo docker build $(realpath ".") -t "registry.gitlab.com/basile.b/dexed/rlz-image.fedora.x86_64:1.3"