overte/tools/ci-scripts/rpm_package/Dockerfile_build_rockylinux-9

41 lines
1.8 KiB
Text

# Copyright 2022-2025 Overte e.V.
# SPDX-License-Identifier: Apache-2.0
# Docker file for building Overte Server
# Example build: docker build --no-cache -t overte/overte-server-build:0.1.7-rockylinux-9-amd64 -f Dockerfile_build_rockylinux-9 .
FROM rockylinux:9
LABEL maintainer="Julian Groß (julian.gro@overte.org)"
LABEL description="Development image for Overte Domain server and assignment clients."
# Add required Rocky Linux tools
RUN dnf -y install dnf-utils
# Add "Extra Packages for Enterprise Linux" repository
RUN dnf -y install epel-release
# Add "Code Ready Builder" repository
RUN dnf config-manager --enable crb
# Install Overte domain-server and assignment-client build dependencies
# Work around an issue with aarch64 shipping curl-minimal and us requesting curl by allowing dnf to use erase curl-minimal.
RUN dnf -y --allowerasing install curl ninja-build git cmake gcc-c++ openssl-devel qt5-qtwebsockets-devel qt5-qtmultimedia-devel unzip libXext-devel qt5-qtwebchannel-devel qt5-qtwebengine-devel qt5-qtxmlpatterns-devel systemd-devel python3-packaging
# Install additional build tools
RUN dnf -y install zip unzip
# Install tools for package creation
RUN dnf -y install chrpath rpmdevtools
# Install tools needed for our Github Actions Workflow
RUN dnf -y install python3-boto3 python3-github
# Install Conan
RUN dnf -y install python3-pip
RUN pip3 install conan
# Install Python 2 which is required for building Qt Webengine 5.15.x
RUN curl -L -O https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz
RUN tar xf Python-2.7.18.tar.xz
RUN rm Python-2.7.18.tar.xz
RUN cd Python-2.7.18 && ./configure --prefix=/usr/local --enable-shared --enable-unicode=ucs4 && make -j8 && make altinstall
ENV LD_LIBRARY_PATH="/usr/local/lib:/usr/local/bin/python2.7:$LD_LIBRARY_PATH"
ENV PATH="$PATH:/usr/local/bin/python2.7"