qTox/buildscripts/docker/Dockerfile.ubuntu_lts

109 lines
3.3 KiB
Docker

# Copyright © 2019-2021 by The qTox Project Contributors
#
# This file is part of qTox, a Qt-based graphical interface for Tox.
# qTox is libre software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# qTox is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with qTox. If not, see <http://www.gnu.org/licenses/>
FROM ubuntu:18.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get -y --force-yes --no-install-recommends install \
build-essential \
autoconf \
automake \
libtool \
cmake \
extra-cmake-modules \
git \
libavcodec-dev \
libavdevice-dev \
libavfilter-dev \
libavutil-dev \
libexif-dev \
libgdk-pixbuf2.0-dev \
libglib2.0-dev \
libgtk2.0-dev \
libopenal-dev \
libopus-dev \
libqrencode-dev \
libqt5opengl5-dev \
libqt5svg5-dev \
libsodium-dev \
libsqlcipher-dev \
libswresample-dev \
libswscale-dev \
libvpx-dev \
libkf5sonnet-dev \
libxss-dev \
qt5-default \
qttools5-dev \
zsync \
libarchive-dev \
libfuse-dev \
liblzma-dev \
libglib2.0-dev \
libssl-dev \
libinotifytools0-dev \
liblz4-dev \
libcairo-dev \
desktop-file-utils \
wget \
xxd \
ca-certificates \
curl \
patchelf \
lcov && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
COPY download/common.sh /build/download/common.sh
COPY build_utils.sh /build/build_utils.sh
COPY download/download_snore.sh /build/download/download_snore.sh
COPY build_snore_linux.sh /build/build_snore_linux.sh
COPY patches/snore.patch /build/patches/snore.patch
RUN mkdir -p /src/snore && \
cd /src/snore && \
/build/build_snore_linux.sh --system-install && \
rm -fr /src/snore
COPY download/download_ldqt.sh /build/download/download_ldqt.sh
COPY build_ldqt_linux.sh /build/build_ldqt_linux.sh
RUN mkdir -p /src/ldqt && \
cd /src/ldqt && \
/build/build_ldqt_linux.sh && \
rm -fr /src/ldqt
COPY download/download_aitool.sh /build/download/download_aitool.sh
COPY build_aitool_linux.sh /build/build_aitool_linux.sh
RUN mkdir -p /src/aitool && \
cd /src/aitool && \
/build/build_aitool_linux.sh && \
rm -fr /src/aitool
COPY download/download_toxcore.sh /build/download/download_toxcore.sh
COPY download/download_toxext.sh /build/download/download_toxext.sh
COPY download/download_toxext_messages.sh /build/download/download_toxext_messages.sh
COPY build_toxcore_linux.sh /build/build_toxcore_linux.sh
RUN mkdir -p /src/tox && \
cd /src/tox && \
/build/build_toxcore_linux.sh && \
rm -fr /src/tox
RUN echo '/usr/local/lib/' >> /etc/ld.so.conf.d/locallib.conf && \
ldconfig
WORKDIR /qtox