mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Update Docker to Qt 6.2.4, get rid of Qt 5 support
This commit is contained in:
parent
129c58370a
commit
e036f7503a
1 changed files with 15 additions and 64 deletions
|
@ -1,25 +1,18 @@
|
||||||
# Default value of the arg should be specified here
|
|
||||||
ARG QT6=true
|
|
||||||
|
|
||||||
FROM centos:7 AS builder
|
FROM centos:7 AS builder
|
||||||
|
|
||||||
ENV GIT https://github.com
|
ENV GIT https://github.com
|
||||||
ENV GIT_FREEDESKTOP ${GIT}/gitlab-freedesktop-mirrors
|
ENV GIT_FREEDESKTOP ${GIT}/gitlab-freedesktop-mirrors
|
||||||
ENV PKG_CONFIG_PATH /usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig
|
ENV PKG_CONFIG_PATH /usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig
|
||||||
ENV QT5_VER 5_15_2
|
ENV QT 6_2_4
|
||||||
ENV QT5_TAG v5.15.2
|
ENV QT_TAG v6.2.4
|
||||||
ENV QT5_PREFIX /usr/local/desktop-app/Qt-5.15.2
|
ENV QT_PREFIX /usr/local/desktop-app/Qt-6.2.4
|
||||||
ENV Qt5_DIR ${QT5_PREFIX}
|
ENV Qt6_DIR ${QT_PREFIX}
|
||||||
ENV QT6_VER 6_2_3
|
|
||||||
ENV QT6_TAG v6.2.3
|
|
||||||
ENV QT6_PREFIX /usr/local/desktop-app/Qt-6.2.3
|
|
||||||
ENV Qt6_DIR ${QT6_PREFIX}
|
|
||||||
ENV OPENSSL_VER 1_1_1
|
ENV OPENSSL_VER 1_1_1
|
||||||
ENV OPENSSL_PREFIX /usr/local/desktop-app/openssl-1.1.1
|
ENV OPENSSL_PREFIX /usr/local/desktop-app/openssl-1.1.1
|
||||||
ENV OPENSSL_ROOT_DIR ${OPENSSL_PREFIX}
|
ENV OPENSSL_ROOT_DIR ${OPENSSL_PREFIX}
|
||||||
ENV CMAKE_VER 3.21.3
|
ENV CMAKE_VER 3.21.3
|
||||||
ENV CMAKE_FILE cmake-$CMAKE_VER-Linux-x86_64.sh
|
ENV CMAKE_FILE cmake-$CMAKE_VER-Linux-x86_64.sh
|
||||||
ENV PATH ${PATH}:${QT5_PREFIX}/bin:${QT6_PREFIX}/bin
|
ENV PATH ${PATH}:${QT_PREFIX}/bin
|
||||||
ENV HFLAGS_DEBUG "-fstack-protector-all -fstack-clash-protection -fPIC"
|
ENV HFLAGS_DEBUG "-fstack-protector-all -fstack-clash-protection -fPIC"
|
||||||
ENV HFLAGS "$HFLAGS_DEBUG -D_FORTIFY_SOURCE=2"
|
ENV HFLAGS "$HFLAGS_DEBUG -D_FORTIFY_SOURCE=2"
|
||||||
|
|
||||||
|
@ -51,7 +44,7 @@ RUN ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
|
||||||
RUN rm $CMAKE_FILE
|
RUN rm $CMAKE_FILE
|
||||||
|
|
||||||
FROM builder AS patches
|
FROM builder AS patches
|
||||||
RUN git clone $GIT/desktop-app/patches.git && cd patches && git checkout 49d233d5de
|
RUN git clone $GIT/desktop-app/patches.git && cd patches && git checkout 43c34f586a
|
||||||
|
|
||||||
FROM builder AS libffi
|
FROM builder AS libffi
|
||||||
RUN git clone -b v3.4.2 --depth=1 $GIT/libffi/libffi.git
|
RUN git clone -b v3.4.2 --depth=1 $GIT/libffi/libffi.git
|
||||||
|
@ -589,7 +582,6 @@ WORKDIR ..
|
||||||
RUN rm -rf glibmm
|
RUN rm -rf glibmm
|
||||||
|
|
||||||
FROM patches AS qt
|
FROM patches AS qt
|
||||||
ARG QT6
|
|
||||||
|
|
||||||
COPY --from=libffi ${LibrariesPath}/libffi-cache /
|
COPY --from=libffi ${LibrariesPath}/libffi-cache /
|
||||||
COPY --from=zlib ${LibrariesPath}/zlib-cache /
|
COPY --from=zlib ${LibrariesPath}/zlib-cache /
|
||||||
|
@ -606,58 +598,17 @@ COPY --from=wayland ${LibrariesPath}/wayland-cache /
|
||||||
COPY --from=openssl ${LibrariesPath}/openssl-cache /
|
COPY --from=openssl ${LibrariesPath}/openssl-cache /
|
||||||
COPY --from=xkbcommon ${LibrariesPath}/xkbcommon-cache /
|
COPY --from=xkbcommon ${LibrariesPath}/xkbcommon-cache /
|
||||||
|
|
||||||
RUN [ -n "${QT6}" ] || git clone -b ${QT5_TAG} --depth=1 git://code.qt.io/qt/qt5.git qt_${QT5_VER}
|
RUN git clone -b ${QT_TAG} --depth=1 git://code.qt.io/qt/qt5.git qt_${QT}
|
||||||
WORKDIR qt_${QT5_VER}
|
WORKDIR qt_${QT}
|
||||||
RUN [ -n "${QT6}" ] || perl init-repository --module-subset=qtbase,qtwayland,qtimageformats,qtsvg
|
RUN perl init-repository --module-subset=qtbase,qtwayland,qtimageformats,qtsvg,qt5compat
|
||||||
|
|
||||||
WORKDIR qtbase
|
WORKDIR qtbase
|
||||||
RUN [ -n "${QT6}" ] || find ../../patches/qtbase_${QT5_VER} -type f -print0 | sort -z | xargs -r0 git apply
|
RUN find ../../patches/qtbase_${QT} -type f -print0 | sort -z | xargs -r0 git apply
|
||||||
WORKDIR ../qtwayland
|
WORKDIR ../qtwayland
|
||||||
RUN [ -n "${QT6}" ] || find ../../patches/qtwayland_${QT5_VER} -type f -print0 | sort -z | xargs -r0 git apply
|
RUN find ../../patches/qtwayland_${QT} -type f -print0 | sort -z | xargs -r0 git apply
|
||||||
WORKDIR ..
|
WORKDIR ..
|
||||||
|
|
||||||
RUN [ -n "${QT6}" ] || ./configure -prefix "$QT5_PREFIX" \
|
RUN ./configure -prefix "$QT_PREFIX" \
|
||||||
-release \
|
|
||||||
-force-debug-info \
|
|
||||||
-opensource \
|
|
||||||
-confirm-license \
|
|
||||||
-xcb \
|
|
||||||
-libproxy \
|
|
||||||
-qt-libpng \
|
|
||||||
-qt-harfbuzz \
|
|
||||||
-qt-pcre \
|
|
||||||
-no-icu \
|
|
||||||
-no-feature-xcb-sm \
|
|
||||||
-no-feature-wayland-server \
|
|
||||||
-no-feature-egl-extension-platform-wayland \
|
|
||||||
-static \
|
|
||||||
-dbus-runtime \
|
|
||||||
-openssl-linked \
|
|
||||||
-I "$OPENSSL_PREFIX/include" \
|
|
||||||
OPENSSL_LIBS="$OPENSSL_PREFIX/lib/libssl.a $OPENSSL_PREFIX/lib/libcrypto.a -lz -ldl -lpthread" \
|
|
||||||
LIBPROXY_LIBS="-lproxy -ldl"\
|
|
||||||
-nomake examples \
|
|
||||||
-nomake tests
|
|
||||||
|
|
||||||
RUN [ -n "${QT6}" ] || make -j$(nproc)
|
|
||||||
RUN [ -n "${QT6}" ] || make INSTALL_ROOT="$LibrariesPath/qt-cache" install
|
|
||||||
|
|
||||||
WORKDIR ..
|
|
||||||
RUN [ -n "${QT6}" ] || rm -rf qt_${QT5_VER}
|
|
||||||
|
|
||||||
RUN [ -z "${QT6}" ] || git clone -b ${QT6_TAG} --depth=1 git://code.qt.io/qt/qt5.git qt_${QT6_VER}
|
|
||||||
WORKDIR qt_${QT6_VER}
|
|
||||||
RUN [ -z "${QT6}" ] || perl init-repository --module-subset=qtbase,qtwayland,qtimageformats,qtsvg,qt5compat
|
|
||||||
|
|
||||||
WORKDIR qtbase
|
|
||||||
RUN [ -z "${QT6}" ] || find ../../patches/qtbase_${QT6_VER} -type f -print0 | sort -z | xargs -r0 git apply
|
|
||||||
WORKDIR ../qtwayland
|
|
||||||
RUN [ -z "${QT6}" ] || find ../../patches/qtwayland_${QT6_VER} -type f -print0 | sort -z | xargs -r0 git apply
|
|
||||||
WORKDIR ../qt5compat
|
|
||||||
RUN [ -z "${QT6}" ] || find ../../patches/qt5compat_${QT6_VER} -type f -print0 | sort -z | xargs -r0 git apply
|
|
||||||
WORKDIR ..
|
|
||||||
|
|
||||||
RUN [ -z "${QT6}" ] || ./configure -prefix "$QT6_PREFIX" \
|
|
||||||
-release \
|
-release \
|
||||||
-force-debug-info \
|
-force-debug-info \
|
||||||
-opensource \
|
-opensource \
|
||||||
|
@ -678,11 +629,11 @@ RUN [ -z "${QT6}" ] || ./configure -prefix "$QT6_PREFIX" \
|
||||||
-- \
|
-- \
|
||||||
-DINPUT_egl_extension_platform_wayland=no
|
-DINPUT_egl_extension_platform_wayland=no
|
||||||
|
|
||||||
RUN [ -z "${QT6}" ] || cmake --build . --parallel
|
RUN cmake --build . --parallel
|
||||||
RUN [ -z "${QT6}" ] || DESTDIR="$LibrariesPath/qt-cache" cmake --install .
|
RUN DESTDIR="$LibrariesPath/qt-cache" cmake --install .
|
||||||
|
|
||||||
WORKDIR ..
|
WORKDIR ..
|
||||||
RUN [ -z "${QT6}" ] || rm -rf qt_${QT6_VER}
|
RUN rm -rf qt_${QT}
|
||||||
|
|
||||||
FROM patches AS breakpad
|
FROM patches AS breakpad
|
||||||
RUN git clone https://chromium.googlesource.com/breakpad/breakpad.git
|
RUN git clone https://chromium.googlesource.com/breakpad/breakpad.git
|
||||||
|
|
Loading…
Add table
Reference in a new issue