From 7d7428af21d65fbfccc7ecad0b200e03e0d12d77 Mon Sep 17 00:00:00 2001
From: lcoursodon <liam.coursodon@savoirfairelinux.com>
Date: Thu, 28 Sep 2023 09:51:41 -0400
Subject: [PATCH] Almalinux: build on stable version without plugin store

GitLab: #1418

Change-Id: I37239869e691a621138ae0616695f8efdf4b47ca
---
 build.py                                      |   2 +-
 extras/packaging/gnu-linux/Makefile           |   1 +
 .../gnu-linux/docker/Dockerfile_alma_9        | 105 ++++++++++++++++++
 .../gnu-linux/scripts/build-package-rpm.sh    |   2 +
 4 files changed, 109 insertions(+), 1 deletion(-)
 create mode 100644 extras/packaging/gnu-linux/docker/Dockerfile_alma_9

diff --git a/build.py b/build.py
index 04e865aa1..6e9a513bd 100755
--- a/build.py
+++ b/build.py
@@ -45,7 +45,7 @@ APT_BASED_DISTROS = [
 ]
 
 DNF_BASED_DISTROS = [
-    'fedora', 'rhel',
+    'fedora', 'rhel', 'almalinux',
 ]
 
 PACMAN_BASED_DISTROS = [
diff --git a/extras/packaging/gnu-linux/Makefile b/extras/packaging/gnu-linux/Makefile
index 28e476e9d..2b36fb75c 100644
--- a/extras/packaging/gnu-linux/Makefile
+++ b/extras/packaging/gnu-linux/Makefile
@@ -171,6 +171,7 @@ DISTRIBUTIONS := \
 	fedora_37 \
 	fedora_38 \
 	fedora_39 \
+	alma_9 \
 	opensuse-leap_15.4 \
 	snap
 
diff --git a/extras/packaging/gnu-linux/docker/Dockerfile_alma_9 b/extras/packaging/gnu-linux/docker/Dockerfile_alma_9
new file mode 100644
index 000000000..b91bc1183
--- /dev/null
+++ b/extras/packaging/gnu-linux/docker/Dockerfile_alma_9
@@ -0,0 +1,105 @@
+FROM almalinux:9
+RUN dnf clean all
+RUN dnf update -y
+RUN dnf install -y epel-release
+RUN dnf install -y 'dnf-command(config-manager)'
+RUN dnf config-manager --set-enabled crb
+RUN dnf config-manager --set-enabled appstream
+RUN dnf install -y dnf-command\(builddep\) rpmdevtools && \
+    dnf install -y mock
+RUN yum install -y wget && \
+    wget https://repo.almalinux.org/almalinux/9/devel/x86_64/os/Packages/uuid-c++-devel-1.6.2-55.el9.x86_64.rpm && \
+    yum localinstall -y uuid-c++-devel-1.6.2-55.el9.x86_64.rpm && \
+    rm -f uuid-c++-devel-1.6.2-55.el9.x86_64.rpm
+RUN yum install -y xorg-x11-xauth
+RUN dnf install -y \
+        git \
+        rpm-build \
+        tar \
+        make \
+        autoconf \
+        automake \
+        nasm \
+        speexdsp-devel \
+        pulseaudio-libs-devel \
+        libcanberra-devel \
+        libcurl-devel \
+        libtool \
+        mesa-libgbm-devel \
+        mesa-dri-drivers \
+        dbus-devel \
+        expat-devel \
+        pcre-devel \
+        yaml-cpp-devel \
+        libXext-devel \
+        libXfixes-devel \
+        yasm \
+        speex-devel \
+        gsm-devel \
+        chrpath \
+        check \
+        astyle \
+        gettext-devel \
+        gcc-c++ \
+        which \
+        alsa-lib-devel \
+        systemd-devel \
+        libuuid-devel \
+        uuid-devel \
+        gnutls-devel \
+        nettle-devel \
+        opus-devel \
+        patch \
+        jsoncpp-devel \
+        libnatpmp-devel \
+        webkitgtk4-devel \
+        cryptopp-devel \
+        libva-devel \
+        libvdpau-devel \
+        msgpack-devel \
+        NetworkManager-libnm-devel \
+        openssl-devel \
+        clutter-devel \
+        clutter-gtk-devel \
+        libappindicator-gtk3-devel \
+        libnotify-devel \
+        libupnp-devel \
+        qrencode-devel \
+        libargon2-devel \
+        libsndfile-devel \
+        libdrm \
+        gperf \
+        bison \
+        clang \
+        clang-devel \
+        llvm-devel \
+        nodejs \
+        flex \
+        gstreamer1 gstreamer1-devel \
+        gstreamer1-plugins-base-devel \
+        gstreamer1-plugins-good \
+        gstreamer1-plugins-bad-free-devel \
+        nss-devel \
+        libxcb* \
+        libxkb* \
+        libX11-devel \
+        vulkan-devel \
+        libXrender-devel \
+        xcb-util-* \
+        xz \
+        xkeyboard-config \
+        libnotify \
+        wget \
+        libstdc++-static \
+        sqlite-devel \
+        perl-generators \
+        perl-English \
+        libxshmfence-devel \
+        ninja-build \
+        clang \
+        cmake \
+        fmt-devel \
+        python3-html5lib \
+        cups-devel
+ADD extras/packaging/gnu-linux/scripts/build-package-rpm.sh /opt/build-package-rpm.sh
+CMD ["/opt/build-package-rpm.sh"]
\ No newline at end of file
diff --git a/extras/packaging/gnu-linux/scripts/build-package-rpm.sh b/extras/packaging/gnu-linux/scripts/build-package-rpm.sh
index e15185fed..21e499478 100755
--- a/extras/packaging/gnu-linux/scripts/build-package-rpm.sh
+++ b/extras/packaging/gnu-linux/scripts/build-package-rpm.sh
@@ -113,6 +113,8 @@ if [ ! -f "${RPM_PATH}" ]; then
             cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc38.x86_64.rpm "${RPM_PATH}"
         elif [[ "${DISTRIBUTION}" == "fedora_39" ]]; then
             cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.fc39.x86_64.rpm "${RPM_PATH}"
+        elif [[ "${DISTRIBUTION}" == "alma_9" ]]; then
+            cp /root/rpmbuild/RPMS/x86_64/jami-libqt-$QT_MAJOR_MINOR_PATCH-*.el9.x86_64.rpm "${RPM_PATH}"
         else
             cp /root/rpmbuild/RPMS/x86_64/jami-libqt-*.rpm "${RPM_PATH}"
         fi
-- 
GitLab