Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/docker-ci.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Ottens <kevin.ottens@nextcloud.com>2020-08-11 12:10:30 +0300
committerGitHub <noreply@github.com>2020-08-11 12:10:30 +0300
commit94a89454791b3c39e859400ce47dd5f5e949497a (patch)
treef92f9228c1ad6797eaa9caa1cd1d442fcb585f6e
parentc15d102dcef9364079107ac4c0815cbd13da5a4e (diff)
parentf01ad6a6843fca90841f477f519e3783c3daa705 (diff)
Merge pull request #234 from nextcloud/update_client_image_to_ubuntu_20.04client-5.12-10
Update client image to ubuntu 20.04
-rw-r--r--client/Dockerfile-5.12165
1 files changed, 88 insertions, 77 deletions
diff --git a/client/Dockerfile-5.12 b/client/Dockerfile-5.12
index 79ecbe4..3b990b6 100644
--- a/client/Dockerfile-5.12
+++ b/client/Dockerfile-5.12
@@ -1,4 +1,4 @@
-FROM ubuntu:xenial
+FROM ubuntu:20.04
MAINTAINER Roeland Jago Douma <roeland@famdouma.nl>
@@ -6,72 +6,91 @@ MAINTAINER Roeland Jago Douma <roeland@famdouma.nl>
ARG BUILD_QT
ENV VER_QT 5.12.9
-ENV VER_QT_DATE 2020-07-21
+ENV VER_QT_DATE 2020-08-05
ENV VER_OPENSSL 1.1.1g
ENV QT_ROOT /opt/qt${VER_QT}
-RUN apt-get update && \
- apt-get install -y apt-transport-https && \
- apt-get install -y wget libsqlite3-dev git curl jq perl python \
- software-properties-common build-essential mesa-common-dev \
- pkg-config ninja-build
-
-# Install gcc-7
-RUN add-apt-repository -y ppa:ubuntu-toolchain-r/test && \
- apt-get update && \
- apt-get install -y gcc-7 g++-7
-
-# Install clang-6
-RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
- apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main" && \
+# https://askubuntu.com/questions/158871/how-do-i-enable-the-source-code-repositories
+RUN sed -i '/deb-src/s/^# //' /etc/apt/sources.list && \
apt-get update && \
- apt-get install -y clang-6.0 clang-tidy-6.0
-
+ apt-get install -y apt-transport-https && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -q -y \
+ wget \
+ libsqlite3-dev \
+ git \
+ curl \
+ jq \
+ perl \
+ python \
+ software-properties-common \
+ build-essential \
+ mesa-common-dev \
+ pkg-config \
+ ninja-build \
+ gcc-10 \
+ g++-10 \
+ clang-10 \
+ clang-format-10 \
+ clang-tidy-10 \
+ clazy \
+ cmake \
+ zlib1g-dev \
+ xz-utils \
# Add libsecret for qtkeychain
-RUN apt-get install -y pkg-config libsecret-1-dev
-
-###########################################################################
-
+ libsecret-1-dev \
# Add Qt-5.12 build dependencies
-RUN apt install -y libclang-dev gperf flex bison pkg-config
-
-# https://wiki.qt.io/Building_Qt_5_from_Git
-# https://askubuntu.com/questions/158871/how-do-i-enable-the-source-code-repositories
-RUN sed -i '/deb-src/s/^# //' /etc/apt/sources.list && apt update && \
- apt-get build-dep -y qt5-default
-
+ libclang-dev \
+ gperf \
+ flex \
+ bison \
# Libxcb, libxcb-xinerama0-dev
-RUN apt install -y '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev
-
+ '^libxcb.*-dev' \
+ libx11-xcb-dev \
+ libglu1-mesa-dev \
+ libxrender-dev \
+ libxi-dev \
# OpenGL support
-RUN apt install -y flex bison gperf libicu-dev libxslt-dev ruby
-
+ libicu-dev \
+ libxslt-dev \
+ ruby \
# Qt WebEngine
-RUN apt install -y libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libdbus-1-dev \
- libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev \
- libasound2-dev libxss-dev libegl1-mesa-dev gperf bison \
- libbz2-dev libgcrypt11-dev libdrm-dev libcups2-dev libatkmm-1.6-dev
-
+ libssl-dev \
+ libxcursor-dev \
+ libxcomposite-dev \
+ libxdamage-dev \
+ libxrandr-dev \
+ libdbus-1-dev \
+ libfontconfig1-dev \
+ libcap-dev \
+ libxtst-dev \
+ libpulse-dev \
+ libudev-dev \
+ libpci-dev \
+ libnss3-dev \
+ libasound2-dev \
+ libxss-dev \
+ libegl1-mesa-dev \
+ libbz2-dev \
+ libgcrypt20-dev \
+ libdrm-dev \
+ libcups2-dev \
+ libatkmm-1.6-dev \
# Qt Multimedia
-RUN apt install -y libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
-
+ libasound2-dev \
+ libgstreamer1.0-dev \
+ libgstreamer-plugins-base1.0-dev \
# QDoc Documentation Generator Tool
-RUN apt install -y libclang-6.0-dev llvm-6.0
+ libclang-10-dev \
+ llvm-10 && \
+# https://wiki.qt.io/Building_Qt_5_from_Git
+ apt-get build-dep -y qt5-default && \
+# Cleaning up
+ apt-get clean && \
+ rm -rf /var/lib/apt/lists/*
###########################################################################
-# Install zlib
-RUN cd /tmp && \
- wget https://zlib.net/zlib-1.2.11.tar.gz && \
- tar -xvf zlib-1.2.11.tar.gz && \
- cd zlib-1.2.11 && \
- ./configure && \
- make -j$(nproc) && \
- make install && \
- cd .. && \
- rm -rf zlib*
-
# Install openssl
RUN cd /tmp && \
wget https://www.openssl.org/source/openssl-${VER_OPENSSL}.tar.gz && \
@@ -83,34 +102,10 @@ RUN cd /tmp && \
cd .. && \
rm -rf openssl*
-# Install cmake
-RUN cd /tmp && \
- wget https://github.com/Kitware/CMake/releases/download/v3.14.0/cmake-3.14.0-Linux-x86_64.tar.gz && \
- tar -xvf cmake-3.14.0-Linux-x86_64.tar.gz && \
- cd cmake-3.14.0-Linux-x86_64 && \
- cp -r bin /usr/ && \
- cp -r share /usr/ && \
- cp -r doc /usr/share/ && \
- cp -r man /usr/share/ && \
- cd .. && \
- rm -rf cmake*
-
-# Install clazy
-RUN cd /tmp && \
- wget https://downloads.kdab.com/clazy/1.6/Clazy-x86_64-1.6.AppImage -O Clazy.AppImage && \
- chmod +x Clazy.AppImage && \
- ./Clazy.AppImage --appimage-extract && \
- rm Clazy.AppImage && \
- mv squashfs-root /opt/clazy && \
- ln -s /opt/clazy/AppRun /usr/bin/clazy && \
- cd ..
-
-
###########################################################################
# Download Qt-5.12 sources
RUN if [ "$BUILD_QT" = "1" ] ; then echo Build Qt from source. && \
- apt install -y xz-utils && \
wget https://download.qt.io/official_releases/qt/5.12/${VER_QT}/single/qt-everywhere-src-${VER_QT}.tar.xz && \
tar -xvf qt-everywhere-src-${VER_QT}.tar.xz && \
cd qt-everywhere-src-${VER_QT} \
@@ -145,10 +140,26 @@ RUN if [ "$BUILD_QT" = "1" ] ; then \
ENV QT_TARBALL qt-bin-${VER_QT}-openssl-${VER_OPENSSL}-linux-x86_64-${VER_QT_DATE}.tar.xz
RUN if [ "$BUILD_QT" != "1" ] ; then echo Download precompiled Qt. && \
- apt install -y xz-utils && \
wget https://download.nextcloud.com/desktop/development/qt/${QT_TARBALL} && \
tar -xvf ${QT_TARBALL} && \
rm ${QT_TARBALL} \
; fi
###########################################################################
+
+ENV QTDIR ${QT_ROOT}
+ENV PATH ${QT_ROOT}/bin:${PATH}
+ENV LD_LIBRARY_PATH ${QT_ROOT}/lib/x86_64-linux-gnu:${QT_ROOT}/lib:/usr/local/lib:${LD_LIBRARY_PATH}
+ENV PKG_CONFIG_PATH ${QT_ROOT}/lib/pkgconfig:${PKG_CONFIG_PATH}
+
+# Install QtKeychain
+RUN cd /tmp && \
+ git clone https://github.com/frankosterfeld/qtkeychain.git --depth 1 -b v0.10.0 && \
+ cd qtkeychain && \
+ mkdir build && \
+ cd build && \
+ cmake ../ && \
+ make -j$(nproc) && \
+ make install && \
+ cd .. && \
+ rm -rf qtkeychain