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
path: root/client
diff options
context:
space:
mode:
authorFelix Weilbach <felix.weilbach@nextcloud.com>2021-08-17 15:29:58 +0300
committerFelix Weilbach <felix.weilbach@nextcloud.com>2021-08-17 20:50:29 +0300
commit136a12a9c381ae293b097d4a5b2a6a5dd5ca7663 (patch)
treeca19205fb9731d5ee5cdfe15abc885b0178f72d2 /client
parent39aedc04c13fa1a4d5b271dc7afcfd65b9dd9b10 (diff)
Upgrade to Qt 5.15
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
Diffstat (limited to 'client')
-rw-r--r--client/Dockerfile48
1 files changed, 26 insertions, 22 deletions
diff --git a/client/Dockerfile b/client/Dockerfile
index 0480423..7c3b8f0 100644
--- a/client/Dockerfile
+++ b/client/Dockerfile
@@ -5,8 +5,8 @@ MAINTAINER Roeland Jago Douma <roeland@famdouma.nl>
# Run 'docker build' with '--build-arg BUILD_QT=1' to build Qt from source (default: not set)
ARG BUILD_QT
-ENV VER_QT 5.12.10
-ENV VER_QT_DATE 2021-04-30
+ENV VER_QT 5.15
+ENV VER_QT_DATE 2021-08-17
ENV VER_OPENSSL 1.1.1k
ENV QT_ROOT /opt/qt${VER_QT}
@@ -24,6 +24,7 @@ RUN sed -i '/deb-src/s/^# //' /etc/apt/sources.list && \
wget \
libsqlite3-dev \
git \
+ ninja-build \
curl \
jq \
perl \
@@ -46,7 +47,7 @@ RUN sed -i '/deb-src/s/^# //' /etc/apt/sources.list && \
libcmocka-dev \
# Add libsecret for qtkeychain
libsecret-1-dev \
-# Add Qt-5.12 build dependencies
+# Add Qt build dependencies
libclang-dev \
gperf \
flex \
@@ -109,29 +110,30 @@ RUN cd /tmp && \
cd openssl-${VER_OPENSSL} && \
./config && \
make -j$(nproc) && \
- make install && \
+ make -j$(nproc) install && \
cd .. && \
rm -rf openssl*
###########################################################################
-# Download Qt-5.12 sources
+# Download Qt sources
RUN if [ "$BUILD_QT" = "1" ] ; then echo Build Qt from source. && \
- 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} \
+ git clone git://code.qt.io/qt/qt5.git && \
+ cd qt5 && \
+ git checkout ${VER_QT} && \
+ ./init-repository --module-subset=default,-qt3d \
; fi
-# Build Qt-5.12
+# Build Qt
RUN if [ "$BUILD_QT" = "1" ] ; then \
- cd qt-everywhere-src-${VER_QT} && \
- OPENSSL_LIBS='-L/usr/local/lib -lssl -lcrypto' ./configure -nomake tests -nomake examples -opensource \
- -confirm-license -release -openssl-linked -prefix ${QT_ROOT} && \
- make -j$(nproc) && \
- make install && \
- cd .. && \
- rm -rf qt-everywhere* && \
- tar cfJ /qt-bin-${VER_QT}-openssl-${VER_OPENSSL}-linux-x86_64-$(date +"%Y-%m-%d").tar.xz ${QT_ROOT} \
+ mkdir qt5-${VER_QT}-linux-release && \
+ cd qt5-${VER_QT}-linux-release && \
+ OPENSSL_LIBS='-L/usr/local/lib -lssl -lcrypto' ../qt5/configure -release -prefix ${QT_ROOT} -nomake examples -nomake tests -opensource -confirm-license -openssl-linked -skip qt3d && \
+ make -j$(nproc) && \
+ make -j$(nproc) install && \
+ cd .. && \
+ rm -rf qt5 && \
+ tar cfJ /qt-bin-${VER_QT}-openssl-${VER_OPENSSL}-linux-x86_64-$(date +"%Y-%m-%d").tar.xz ${QT_ROOT} \
; fi
#
@@ -144,10 +146,10 @@ RUN if [ "$BUILD_QT" = "1" ] ; then \
# Run 'docker build' with '--build-arg BUILD_QT=1' to build Qt from source (default: not set)
# on a dedicated build machine:
#
-# docker build -f Dockerfile-5.12 -t client-5.12 . --build-arg BUILD_QT=1
+# docker build . -t client-5.15 . --build-arg BUILD_QT=1
#
-# Download Qt-5.12 precompiled
+# Download Qt precompiled
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. && \
@@ -164,13 +166,15 @@ ENV LD_LIBRARY_PATH ${QT_ROOT}/lib/x86_64-linux-gnu:${QT_ROOT}/lib:/usr/local/li
ENV PKG_CONFIG_PATH ${QT_ROOT}/lib/pkgconfig:${PKG_CONFIG_PATH}
# Install QtKeychain
-RUN cd /tmp && \
+RUN if [ "$BUILD_QT" != "1" ] ; then \
+ 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 && \
+ make -j$(nproc) install && \
cd .. && \
- rm -rf qtkeychain
+ rm -rf qtkeychain \
+ ; fi