diff options
author | Camila <hello@camila.codes> | 2022-10-03 17:18:38 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-03 17:18:38 +0300 |
commit | b12b54b6716e61ed5953e3766f855cbe1fcf3af8 (patch) | |
tree | d283e9626c66d5fa60438bd81345f152eecfe410 | |
parent | ed9802336bbfaf8d2e4e221aad10c6f5cda94e9f (diff) | |
parent | 64f6a64b4b1f7eeb852ba1ad8eefc200a7a6bdc7 (diff) |
Merge pull request #423 from nextcloud/upgradeAppimageDesktopCLientQt5.15.6
upgrade desktop client appimage CI image to Qt 5.15.6
-rw-r--r-- | client-appimage/Dockerfile | 7 | ||||
-rw-r--r-- | client/DockerfileBasic | 137 | ||||
m--------- | client/desktop/desktop | 0 |
3 files changed, 140 insertions, 4 deletions
diff --git a/client-appimage/Dockerfile b/client-appimage/Dockerfile index 7eb55ca..774f83c 100644 --- a/client-appimage/Dockerfile +++ b/client-appimage/Dockerfile @@ -6,9 +6,9 @@ MAINTAINER Desktop Team <desktop@nextcloud.com> ARG BUILD_QT ENV VER_QT kde-5.15 -ENV VER_QT_DATE 2022-08-30 +ENV VER_QT_DATE 2022-10-04 ENV VER_OPENSSL 3.0.5 -ENV VER_KFRAMEWORKS 5.96.0 +ENV VER_KFRAMEWORKS 5.98.0 ENV QT_ROOT /opt/qt${VER_QT} @@ -148,7 +148,7 @@ RUN if [ "$BUILD_QT" = "1" ] ; then \ # Build Qt RUN if [ "$BUILD_QT" = "1" ] ; then \ # Do not require matching versions of Qt dependencies for WebEngine modules - sed -i "s/5.15.11 /5.15.5 /" ${QT_ROOT}/lib/cmake/*/*Config.cmake \ + sed -i "s/5.15.11 /5.15.6 /" ${QT_ROOT}/lib/cmake/*/*Config.cmake \ ; fi # Build Qt @@ -160,7 +160,6 @@ 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 5.15.5/5.15.11 && \ wget https://download.nextcloud.com/desktop/development/qt/${QT_TARBALL} && \ tar -xvf ${QT_TARBALL} && \ rm ${QT_TARBALL} \ diff --git a/client/DockerfileBasic b/client/DockerfileBasic new file mode 100644 index 0000000..5647aab --- /dev/null +++ b/client/DockerfileBasic @@ -0,0 +1,137 @@ +FROM ubuntu:22.04 + +MAINTAINER Desktop Team <desktop@nextcloud.com> + +# Run 'docker build' with '--build-arg BUILD_QT=1' to build Qt from source (default: not set) +ARG BUILD_QT + +ENV VER_QT kde-5.15 +ENV VER_QT_DATE 2022-08-31 +ENV VER_OPENSSL 3.0.5 +ENV VER_KFRAMEWORKS 5.96.0 + +ENV QT_ROOT /opt/qt${VER_QT} + +# https://askubuntu.com/questions/158871/how-do-i-enable-the-source-code-repositories +RUN sed -i '/deb-src/s/^# //' /etc/apt/sources.list && \ + # Ubuntus version of inkscape is outdated + apt-get update && \ + apt-get install -y apt-transport-https && \ + DEBIAN_FRONTEND=noninteractive apt-get install -q -y software-properties-common && \ + rm -rf /var/lib/apt/lists/* && \ + add-apt-repository -y ppa:inkscape.dev/stable && \ + apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -q -y \ + wget \ + libsqlite3-dev \ + git \ + ninja-build \ + curl \ + jq \ + perl \ + python3 \ + python3-pip \ + software-properties-common \ + build-essential \ + mesa-common-dev \ + pkg-config \ + ninja-build \ + gcc-11 \ + g++-11 \ + clang-14 \ + clang-format-14 \ + clang-tidy-14 \ + clazy \ + cmake \ + zlib1g-dev \ + xz-utils \ +# For cmocka based csync tests + libcmocka-dev \ +# Add libsecret for qtkeychain + libsecret-1-dev \ +# Add Qt build dependencies + libclang-dev \ + gperf \ + flex \ + bison \ +# Libxcb, libxcb-xinerama0-dev + '^libxcb.*-dev' \ + libx11-xcb-dev \ + libglu1-mesa-dev \ + libxrender-dev \ + libxi-dev \ +# OpenGL support + libicu-dev \ + libxslt-dev \ + ruby \ +# Qt WebEngine + 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 + libasound2-dev \ + libgstreamer1.0-dev \ + libgstreamer-plugins-base1.0-dev \ +# QDoc Documentation Generator Tool + libclang-14-dev \ + llvm-14 \ +# generate png images from svg + inkscape \ +# SonarCloud + openjdk-11-jdk \ +# install xvfb to enable graphical tests + xvfb \ +# html documentation generation + python3-sphinx \ +# Qt Web Engine + nodejs && \ +# https://wiki.qt.io/Building_Qt_5_from_Git + apt-get build-dep -y libqt5core5a libqt5webengine5 && \ +# Cleaning up + DEBIAN_FRONTEND=noninteractive apt-get remove -q -y --purge libssl-dev && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +########################################################################### + +COPY openssl-deprecation.patch /tmp/openssl-deprecation.patch + +# Install openssl +RUN cd /tmp && \ + wget https://www.openssl.org/source/openssl-${VER_OPENSSL}.tar.gz && \ + tar -xvf openssl-${VER_OPENSSL}.tar.gz && \ + cd openssl-${VER_OPENSSL} && \ + patch -p 0 < ../openssl-deprecation.patch && \ + ./config && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + cd .. && \ + rm -rf openssl* + +########################################################################### + +# Download Qt sources +RUN if [ "$BUILD_QT" = "1" ] ; then echo Build Qt from source. && \ + git clone https://invent.kde.org/qt/qt/qt5.git && \ + cd qt5 && \ + git checkout kde/5.15 && \ + ./init-repository --module-subset=default,-qt3d,-qtlocation \ + ; fi diff --git a/client/desktop/desktop b/client/desktop/desktop new file mode 160000 +Subproject 70fac7a5fc8ecaf845b59f5c65c4e09f52e98b3 |