overte-Armored-Dragon/tools/ci-scripts/linux-ci/Dockerfile_build_ubuntu-22.04
Julian Groß 3be0b9484d Update CI container images to include python3-packaging.
We already include the changes from the Conan pull request: Adding Conan and updating CMake and GCC for some images.
2025-03-01 14:07:19 +01:00

63 lines
2.8 KiB
Text

# Copyright 2022-2025 Overte e.V.
# SPDX-License-Identifier: Apache-2.0
# Docker file for building Overte
# Example build: docker build -t overte/overte-full-build:0.1.6-ubuntu-22.04 -f Dockerfile_build_ubuntu-22.04 .
FROM ubuntu:22.04
LABEL maintainer="Julian Groß (julian.gro@overte.org)"
LABEL description="Development image for full Overte builds"
# Don't use any frontend when installing packages during the creation of this container
ARG DEBIAN_FRONTEND=noninteractive
RUN echo UTC >/etc/timezone
# Installing via dependency causes interactive hang:
RUN apt-get update && apt-get -y install tzdata
# Install Conan
RUN apt-get -y install python3-pip
RUN pip3 install conan
# Install CMake from Kitware
RUN apt-get update
RUN apt-get -y install ca-certificates gpg wget
RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
RUN echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
RUN apt-get update
RUN rm /usr/share/keyrings/kitware-archive-keyring.gpg && apt-get -y install kitware-archive-keyring
RUN apt-get -y install cmake
# Install GCC 13 from Toolchain test PPA
RUN apt-get -y install software-properties-common
RUN add-apt-repository ppa:ubuntu-toolchain-r/test
RUN apt-get update
RUN apt-get -y install gcc-13 g++-13
# Set GCC 13 as default
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 --slave /usr/bin/g++ g++ /usr/bin/g++-13 --slave /usr/bin/gcov gcov /usr/bin/gcov-13
# Install Overte domain-server and assignment-client build dependencies
RUN apt-get -y install curl ninja-build git cmake g++ libssl-dev libqt5websockets5-dev qtscript5-dev qtdeclarative5-dev qtmultimedia5-dev python3-distutils python3-distro mesa-common-dev libgl1-mesa-dev libsystemd-dev python3-packaging
# Install Overte tools build dependencies
RUN apt-get -y install libqt5webchannel5-dev qtwebengine5-dev libqt5xmlpatterns5-dev
# Install Overte Interface build dependencies
RUN apt-get -y install libqt5svg5-dev qttools5-dev vulkan-validationlayers libvulkan-dev libvulkan1 libqt5x11extras5-dev qtbase5-private-dev
# Install server-console build dependencies
RUN apt-get -y install npm
# Install tools for package creation
RUN apt-get -y install sudo chrpath binutils dh-make
# Install locales package
RUN apt-get -y install locales
# Uncomment en_US.UTF-8 for inclusion in generation
RUN sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen
# Generate locale
RUN locale-gen
# Export env vars
RUN echo "export LC_ALL=en_US.UTF-8" >> ~/.bashrc
RUN echo "export LANG=en_US.UTF-8" >> ~/.bashrc
RUN echo "export LANGUAGE=en_US.UTF-8" >> ~/.bashrc
# Install tools needed for our Github Actions Workflow
Run apt-get -y install python3-boto3 python3-github zip