testdiff2/deploy/docker/Dockerfile-build-linux
2023-12-06 12:51:14 -05:00

75 lines
1.5 KiB
Plaintext

#
# QGroundControl linux build environment
#
FROM ubuntu:20.04
LABEL authors="Daniel Agar <daniel@agar.ca>, Patrick José Pereira <patrickelectric@gmail.com>"
ARG QT_VERSION=5.15.2
ENV DEBIAN_FRONTEND noninteractive
ENV DISPLAY :99
ENV QMAKESPEC linux-g++-64
ENV QT_PATH /opt/Qt
ENV QT_DESKTOP $QT_PATH/${QT_VERSION}/gcc_64
ENV PATH /usr/lib/ccache:$QT_DESKTOP/bin:$PATH
RUN apt-get update && apt-get -y --quiet --no-install-recommends install \
apt-utils \
binutils \
build-essential \
ca-certificates \
ccache \
checkinstall \
cmake \
curl \
espeak \
fuse \
g++ \
gcc \
git \
gosu \
kmod \
libespeak-dev \
libfontconfig1 \
libfuse2 \
libgstreamer-plugins-base1.0-dev \
libgstreamer1.0-0 \
libgstreamer1.0-dev \
libsdl2-dev \
libssl-dev \
libudev-dev \
locales \
make \
ninja-build \
openssh-client \
openssl \
patchelf \
pkg-config \
rsync \
speech-dispatcher \
wget \
xvfb \
zlib1g-dev \
&& apt-get -y autoremove \
&& apt-get clean autoclean \
&& rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/*
# Install Qt
COPY deploy/docker/install-qt-linux.sh /tmp/qt/
RUN /tmp/qt/install-qt-linux.sh
# Reconfigure locale
RUN locale-gen en_US.UTF-8 && dpkg-reconfigure locales
# create user with id 1000 to not run commands/generate files as root
RUN useradd user --create-home --home-dir /home/user --shell /bin/bash --uid 1000
USER user
WORKDIR /project/build
CMD qmake /project/source && make -j$(nproc)