Skip to content

Commit e1a8512

Browse files
committed
Qt 6.8.4
1 parent c29b735 commit e1a8512

5 files changed

Lines changed: 78 additions & 61 deletions

File tree

.dockerignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
11
*
2-
!.github/
3-
!.github/qt_helper.py

.github/workflows/build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,13 @@ jobs:
9090
- name: install dependencies
9191
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi libsodium ninja openssl pkg-config protobuf unbound zeromq aria2
9292
- name: download Qt
93-
run: mkdir qt6.8.3 && cd qt6.8.3 && python3 ../monero-gui/.github/qt_helper.py mac_x64 desktop 6.8.3 clang_64 c9cdbe2ad3d34cf6e675a7e6eaf5a16560a51305dd06aed97b8d93359b1b90fa
93+
run: mkdir qt6.11.1 && cd qt6.11.1 && python3 ../monero-gui/.github/qt_helper.py mac_x64 desktop 6.11.1 clang_64 4a88665d61643410399e15d2cc7625cca62d7f5a005d88c02a1e17dde7d9f62c
9494
working-directory: ../
9595
- name: configure
9696
run: >
9797
cmake -S . -B build -G Ninja
98-
-D CMAKE_PREFIX_PATH="/Users/runner/work/monero-gui/qt6.8.3/"
99-
-D CMAKE_OSX_DEPLOYMENT_TARGET="12.0"
98+
-D CMAKE_PREFIX_PATH="/Users/runner/work/monero-gui/qt6.11.1/"
99+
-D CMAKE_OSX_DEPLOYMENT_TARGET="13.0"
100100
-D ARCH=default
101101
- name: build
102102
run: cmake --build build

Dockerfile.android

Lines changed: 39 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,35 @@
11
FROM debian:bookworm
22

33
ARG THREADS=1
4-
ARG QT_VERSION=v6.8.3
5-
ARG QT_COMMIT=bab1fecd556ea561c4a89686293116741acfa1b4
4+
ARG QT_VERSION=v6.8.4-lts-lgpl
5+
ARG QT_COMMIT=487fcaa501534f0906dd2c19714f9052164142fc
66
ARG ANDROID_NDK_REVISION=26d
77
ARG ANDROID_NDK_HASH=eefeafe7ccf177de7cc57158da585e7af119bb7504a63604ad719e4b2a328b54
88
ARG ANDROID_SDK_REVISION=11076708_latest
99
ARG ANDROID_SDK_HASH=2d2d50857e4eb553af5a6dc3ad507a17adf43d115264b1afc116f95c92e5e258
10-
ARG QT_HOST_VERSION=6.8.3
11-
ARG QT_HOST_SHA256=8bbea76f5298021048f54c3e2934d7a73e2e6498ebc5a0cb30de16e24a66d847
1210

1311
WORKDIR /opt/android
1412
ENV WORKDIR=/opt/android
1513

16-
ENV ANDROID_NATIVE_API_LEVEL=34
14+
ENV ANDROID_NATIVE_API_LEVEL=35
1715
ENV ANDROID_API=android-${ANDROID_NATIVE_API_LEVEL}
1816
ENV ANDROID_CLANG=aarch64-linux-android${ANDROID_NATIVE_API_LEVEL}-clang
1917
ENV ANDROID_CLANGPP=aarch64-linux-android${ANDROID_NATIVE_API_LEVEL}-clang++
2018
ENV ANDROID_NDK_ROOT=${WORKDIR}/android-ndk-r${ANDROID_NDK_REVISION}
2119
ENV ANDROID_SDK_ROOT=${WORKDIR}/cmdline-tools
2220
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
23-
ENV PATH=${WORKDIR}/qt-host/bin:${WORKDIR}/qt-host/libexec:${JAVA_HOME}/bin:${PATH}
21+
ENV QT_HOST_BUILD=${WORKDIR}/qt-host
22+
ENV QT_HOST_PREFIX=${QT_HOST_BUILD}/qtbase
23+
ENV PATH=${QT_HOST_PREFIX}/bin:${QT_HOST_PREFIX}/libexec:${JAVA_HOME}/bin:${PATH}
2424
ENV PREFIX=${WORKDIR}/prefix
25-
ENV QT_HOST_PREFIX=${WORKDIR}/qt-host
2625
ENV LD_LIBRARY_PATH=${QT_HOST_PREFIX}/lib:${QT_HOST_PREFIX}
2726
ENV TOOLCHAIN_DIR=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64
2827
ENV DEBIAN_FRONTEND=noninteractive
2928

3029
RUN apt-get update \
31-
&& apt-get install -y ant aria2 automake build-essential ca-certificates-java file gettext git libc6 libncurses5 \
32-
libdbus-1-3 libegl1 libfontconfig1 libfreetype6 libgl1 libglib2.0-0 libgssapi-krb5-2 libssl-dev \
33-
libstdc++6 libtinfo5 libtool libx11-6 libxkbcommon0 libz1 libzstd1 libarchive-tools ninja-build openjdk-17-jdk-headless \
30+
&& apt-get install -y ant automake build-essential ca-certificates-java file gettext git libc6 libncurses5 \
31+
libdbus-1-3 libegl1 libfontconfig1 libfreetype6 libgl1-mesa-dev libglib2.0-0 libgssapi-krb5-2 libssl-dev \
32+
libstdc++6 libtinfo5 libtool libx11-6 libxkbcommon0 libz1 libzstd1 ninja-build openjdk-17-jdk-headless \
3433
openjdk-17-jre-headless pkg-config python3 unzip wget \
3534
&& rm -rf /var/lib/apt/lists/*
3635

@@ -63,20 +62,34 @@ RUN git clone -b v4.3.3 --depth 1 https://github.com/Kitware/CMake \
6362
ENV HOST_PATH=${PATH}
6463
ENV PATH=${TOOLCHAIN_DIR}/aarch64-linux-android/bin:${TOOLCHAIN_DIR}/bin:${PATH}
6564

66-
COPY .github/qt_helper.py /tmp/qt_helper.py
67-
68-
RUN mkdir -p "${QT_HOST_PREFIX}" \
69-
&& cd "${QT_HOST_PREFIX}" \
70-
&& python3 /tmp/qt_helper.py linux_x64 desktop "${QT_HOST_VERSION}" linux_gcc_64 "${QT_HOST_SHA256}" \
71-
--add-package addons.qtshadertools \
72-
--archive 'qtbase-*.7z' \
73-
--archive 'qtdeclarative-*.7z' \
74-
--archive 'qttools-*.7z' \
75-
--archive 'icu-*.7z' \
76-
--archive 'qtshadertools-*.7z' \
77-
&& rm /tmp/qt_helper.py \
78-
&& printf '%s\n%s\n' "${QT_HOST_PREFIX}/lib" "${QT_HOST_PREFIX}" > /etc/ld.so.conf.d/qt-host.conf \
79-
&& ldconfig
65+
RUN git clone https://github.com/qt/qt5.git -b ${QT_VERSION} --depth 1 qt-sources \
66+
&& git -C qt-sources reset --hard ${QT_COMMIT} \
67+
&& mkdir -p "${QT_HOST_BUILD}" \
68+
&& cd "${QT_HOST_BUILD}" \
69+
&& PATH=${HOST_PATH} ../qt-sources/configure -init-submodules \
70+
-submodules qtbase,qtdeclarative,qtshadertools,qttools \
71+
-skip qtactiveqt \
72+
-skip qtlanguageserver \
73+
-skip qtquicktimeline \
74+
-developer-build \
75+
-opensource \
76+
-confirm-license \
77+
-release \
78+
-no-feature-assistant \
79+
-no-feature-clang \
80+
-no-feature-clangcpp \
81+
-no-feature-designer \
82+
-no-feature-distancefieldgenerator \
83+
-no-feature-pixeltool \
84+
-no-feature-qdbus \
85+
-no-feature-qdoc \
86+
-no-feature-qev \
87+
-no-feature-qtattributionsscanner \
88+
-no-feature-qtdiag \
89+
-no-feature-qtplugininfo \
90+
-nomake examples \
91+
-nomake tests \
92+
&& PATH=${HOST_PATH} cmake --build . --parallel ${THREADS} --target host_tools
8093

8194
ARG ZLIB_VERSION=1.3.1
8295
ARG ZLIB_HASH=9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23
@@ -90,14 +103,12 @@ RUN wget -q https://github.com/madler/zlib/releases/download/v${ZLIB_VERSION}/zl
90103
&& make -j${THREADS} install \
91104
&& rm -rf $(pwd)
92105

93-
RUN git clone https://github.com/qt/qt5.git -b ${QT_VERSION} --depth 1 qt-sources \
94-
&& git -C qt-sources reset --hard ${QT_COMMIT} \
95-
&& mkdir qt-build-android \
106+
RUN mkdir qt-build-android \
96107
&& cd qt-build-android \
97108
&& PATH=${HOST_PATH} ../qt-sources/configure -init-submodules \
98109
-submodules qtbase,qtdeclarative,qtshadertools,qtsvg,qttools \
99110
-prefix ${PREFIX} \
100-
-qt-host-path ${QT_HOST_PREFIX} \
111+
-qt-host-path "${QT_HOST_PREFIX}" \
101112
-android-ndk ${ANDROID_NDK_ROOT} \
102113
-android-sdk ${ANDROID_SDK_ROOT} \
103114
-android-abis arm64-v8a \

Dockerfile.linux

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
FROM ubuntu:20.04
22

33
ARG THREADS=1
4-
ARG QT_VERSION=v6.8.3
5-
ARG QT_COMMIT=bab1fecd556ea561c4a89686293116741acfa1b4
4+
ARG QT_VERSION=v6.8.4-lts-lgpl
5+
ARG QT_COMMIT=487fcaa501534f0906dd2c19714f9052164142fc
66

77
ENV CFLAGS="-fPIC"
88
ENV CPPFLAGS="-fPIC"

Dockerfile.windows

Lines changed: 34 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
FROM ubuntu:24.04
22

33
ARG THREADS=1
4-
ARG QT_VERSION=6.8.3
5-
ARG QT_COMMIT=bab1fecd556ea561c4a89686293116741acfa1b4
6-
ARG QT_HOST_SHA256=8bbea76f5298021048f54c3e2934d7a73e2e6498ebc5a0cb30de16e24a66d847
4+
ARG QT_VERSION=v6.8.4-lts-lgpl
5+
ARG QT_COMMIT=487fcaa501534f0906dd2c19714f9052164142fc
76

87
ENV SOURCE_DATE_EPOCH=1397818193
9-
ENV QT_HOST_PATH=/opt/qt-host
10-
ENV LD_LIBRARY_PATH=${QT_HOST_PATH}/lib:${QT_HOST_PATH}
8+
ENV QT_HOST_BUILD=/opt/qt-host
9+
ENV QT_HOST_PREFIX=${QT_HOST_BUILD}/qtbase
10+
ENV LD_LIBRARY_PATH=${QT_HOST_PREFIX}/lib:${QT_HOST_PREFIX}
1111
ENV QT_TARGET_PREFIX=/depends/x86_64-w64-mingw32
12-
ENV PATH=/opt/qt-host/bin:/opt/qt-host/libexec:${PATH}
12+
ENV PATH=${QT_HOST_PREFIX}/bin:${QT_HOST_PREFIX}/libexec:${PATH}
1313

1414
RUN apt update && \
1515
DEBIAN_FRONTEND=noninteractive apt install -y \
1616
autoconf \
1717
automake \
18-
aria2 \
1918
autopoint \
2019
bison \
2120
build-essential \
@@ -27,7 +26,6 @@ RUN apt update && \
2726
gettext \
2827
git \
2928
gperf \
30-
libarchive-tools \
3129
libdbus-1-3 \
3230
libfontconfig1-dev \
3331
libglib2.0-0 \
@@ -55,24 +53,34 @@ RUN git clone -b v0.18.5.1 --depth 1 https://github.com/monero-project/monero &&
5553

5654
RUN make -j"$THREADS" -C /depends HOST=x86_64-w64-mingw32
5755

58-
COPY .github/qt_helper.py /tmp/qt_helper.py
59-
60-
# Reuse Qt's matching Linux host tools instead of compiling them from source.
61-
RUN mkdir -p "${QT_HOST_PATH}" \
62-
&& cd "${QT_HOST_PATH}" \
63-
&& python3 /tmp/qt_helper.py linux_x64 desktop "${QT_VERSION}" linux_gcc_64 "${QT_HOST_SHA256}" \
64-
--add-package addons.qtshadertools \
65-
--archive 'qtbase-*.7z' \
66-
--archive 'qtdeclarative-*.7z' \
67-
--archive 'qttools-*.7z' \
68-
--archive 'icu-*.7z' \
69-
--archive 'qtshadertools-*.7z' \
70-
&& rm /tmp/qt_helper.py \
71-
&& printf '%s\n%s\n' "${QT_HOST_PATH}/lib" "${QT_HOST_PATH}" > /etc/ld.so.conf.d/qt-host.conf \
72-
&& ldconfig
73-
74-
RUN git clone https://github.com/qt/qt5.git -b "v${QT_VERSION}" --depth 1 qt-sources && \
56+
RUN git clone https://github.com/qt/qt5.git -b "${QT_VERSION}" --depth 1 qt-sources && \
7557
git -C qt-sources reset --hard "${QT_COMMIT}" && \
58+
mkdir -p "${QT_HOST_BUILD}" && \
59+
cd "${QT_HOST_BUILD}" && \
60+
/qt-sources/configure -init-submodules \
61+
-submodules qtbase,qtdeclarative,qtshadertools,qttools \
62+
-skip qtactiveqt \
63+
-skip qtlanguageserver \
64+
-skip qtquicktimeline \
65+
-developer-build \
66+
-opensource \
67+
-confirm-license \
68+
-release \
69+
-no-feature-assistant \
70+
-no-feature-clang \
71+
-no-feature-clangcpp \
72+
-no-feature-designer \
73+
-no-feature-distancefieldgenerator \
74+
-no-feature-pixeltool \
75+
-no-feature-qdbus \
76+
-no-feature-qdoc \
77+
-no-feature-qev \
78+
-no-feature-qtattributionsscanner \
79+
-no-feature-qtdiag \
80+
-no-feature-qtplugininfo \
81+
-nomake examples \
82+
-nomake tests && \
83+
cmake --build . --parallel "$THREADS" --target host_tools && \
7684
mkdir /qt-target-build && \
7785
cd /qt-target-build && \
7886
/qt-sources/configure -init-submodules \
@@ -81,7 +89,7 @@ RUN git clone https://github.com/qt/qt5.git -b "v${QT_VERSION}" --depth 1 qt-sou
8189
-skip qtlanguageserver \
8290
-skip qtquicktimeline \
8391
-prefix "${QT_TARGET_PREFIX}" \
84-
-qt-host-path "${QT_HOST_PATH}" \
92+
-qt-host-path "${QT_HOST_PREFIX}" \
8593
-xplatform win32-g++ \
8694
-device-option CROSS_COMPILE=/usr/bin/x86_64-w64-mingw32- \
8795
-opensource \

0 commit comments

Comments
 (0)