# This Containerfile builds the image that we use in all github workflows. # When this file is changed, or one needs to rebuild the image for another # reason, bump the `IMAGE_TAG` in the container.yml workflow. FROM ubuntu:latest RUN apt update RUN apt upgrade -y # Install dependencies RUN apt install -y --no-install-recommends \ gcc clang \ ca-certificates \ desktop-file-utils \ fuse3 \ gettext \ git \ gnome-desktop-testing \ gtk-doc-tools \ jq \ libcap2-bin \ libflatpak-dev \ libfontconfig1-dev \ libfuse3-dev \ libgdk-pixbuf-2.0-dev \ librsvg2-2 \ librsvg2-common \ libgstreamer-plugins-base1.0-dev \ gstreamer1.0-plugins-good \ libgstreamer-plugins-good1.0-dev \ gstreamer1.0-tools \ libgeoclue-2-dev \ libglib2.0-dev \ libgudev-1.0-dev \ libjson-glib-dev \ libpipewire-0.3-dev \ libsystemd-dev \ libtool \ llvm \ libclang-rt-18-dev \ python3-gi \ shared-mime-info # Install meson RUN apt install -y --no-install-recommends meson # Install pytest RUN apt install -y --no-install-recommends \ python3-pytest \ python3-pytest-xdist \ python3-dbusmock \ python3-dbus \ libumockdev0 \ libumockdev-dev \ umockdev \ gir1.2-umockdev-1.0 # Install pip RUN apt install -y --no-install-recommends python3-pip # Install doc dependencies RUN pip install --user --break-system-packages furo">=2024.04.27" \ sphinx-copybutton sphinxext-opengraph matplotlib # Install pre-commit RUN pip install --user --break-system-packages pre-commit # Install qdbusxml2cpp RUN apt install -y --no-install-recommends qt6-base-dev-tools