Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Migrate to Qt6 #4407

Draft
wants to merge 32 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
c433938
Qt6: cmake changes
Malinero Jan 31, 2025
c414ff0
Qt6: replace QtGraphicalEffects with Qt5Compat.GraphicalEffects
Malinero Jan 31, 2025
11b633f
Qt6: Datetime replace deprecated functions
Malinero Jan 31, 2025
749d234
Qt6: replace QStringRef with QStringView
Malinero Jan 31, 2025
ef675bf
Qt6: QKeySequence
Malinero Jan 31, 2025
46fc5da
Qt6: MOC requires complete type knowledge
Malinero Jan 31, 2025
e19acc0
Qt6: workaround QObject not mixing well with net::http::client
Malinero Jan 31, 2025
e0fe298
Qt6: fix QFileInfo casting issue
Malinero Jan 31, 2025
8d13273
Qt6: remove obsolete QDesktopWidget
Malinero Jan 31, 2025
9cb6157
Qt6: QML styles are case-sensitive now
Malinero Jan 31, 2025
9334baa
Qt6: Replace RegExpValidator with RegularExpressionValidator
Malinero Jan 31, 2025
8a64342
Qt6: Replace XmlRole with XmlListModelRole
Malinero Jan 31, 2025
b0be947
Qt6: QML: Remove plugins versions
Malinero Jan 31, 2025
048fa7c
Qt6: QML: Replace shortcuts with StandardPaths
Malinero Jan 31, 2025
cb27868
Qt6: QML: FileDialog changes
Malinero Jan 31, 2025
065f508
Qt6: QML: fix MessageDialog buttons
Malinero Jan 31, 2025
64c4566
Qt6: windows installer replace Qt5 with Qt6
Malinero Jan 31, 2025
c809526
Qt6: TODO fixme
Malinero Jan 31, 2025
6fafb0d
Qt6: Dockerfile linux TODO fixme
Malinero Jan 31, 2025
a5653fe
Qt6: CI: build-ubuntu
Malinero Jan 31, 2025
c3fe592
Qt6: cmake changes for static build
Malinero Feb 5, 2025
50225cd
Qt6: Add missing static plugins
Malinero Feb 5, 2025
d5c96a9
Qt6: undef additional conflicting keywords
Malinero Feb 5, 2025
215f720
Qt6: replace default style to Fusion
Malinero Feb 5, 2025
074b0d2
CI: free more disk space
Malinero Feb 8, 2025
1ad120a
Qt6: CI docker-linux-static: add libopengl for tests
Malinero Feb 8, 2025
6144710
Qt6: CI qt_helper adjustments
Malinero Feb 8, 2025
b38d7aa
Qt6: build-macos: replace qt5 with qt6
Malinero Feb 8, 2025
703f3ad
Qt6: CI: macos-bundle
Malinero Feb 8, 2025
d2472a2
Qt6: remove QtMacExtra usage
Malinero Feb 8, 2025
656d55f
Qt6: CI macos-bundle: set DEVMODE=ON TODO remove
Malinero Feb 8, 2025
15694ad
Qt6: CI macos-bundle: copy libboost_system
Malinero Feb 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/qt_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
def fetch_links_to_archives(os, target, major, minor, patch, toolchain):
MAX_XML_SIZE = 1024 * 1024 * 1024
MIRROR = 'download.qt.io'
base_url = f'https://{MIRROR}/online/qtsdkrepository/{os}/{target}/qt{major}_{major}{minor}{patch}'
base_url = f'https://{MIRROR}/online/qtsdkrepository/{os}/{target}/qt{major}_{major}{minor}{patch}/qt{major}_{major}{minor}{patch}'
url = f'{base_url}/Updates.xml'
for _ in range(MAX_TRIES):
try:
Expand Down Expand Up @@ -100,7 +100,7 @@ def main():
result = calc_hash_sum([l['name'] for l in links])
print('result', result, 'expect', expect, flush=True)
assert result == expect
assert extract_archives([l['name'] for l in links], '.', ['{}.{}.{}'.format(major, minor, patch)])
assert extract_archives([l['name'] for l in links], '{}.{}.{}'.format(major, minor, patch))
[pathlib.Path(l['name']).unlink() for l in links]

if __name__ == '__main__':
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on: [push, pull_request]

env:
FREE_DISKSPACE: |
sudo rm -rf /usr/local/.ghcup /usr/share/dotnet /usr/share/swift /usr/share/miniconda
sudo rm -rf /usr/local/.ghcup /usr/share/dotnet /usr/share/swift /usr/share/miniconda /usr/local/lib/android

jobs:
build-macos:
Expand All @@ -14,7 +14,7 @@ jobs:
with:
submodules: recursive
- name: install dependencies
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq libpgm libsodium miniupnpc expat libunwind-headers protobuf qt5 pkg-config
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq libpgm libsodium miniupnpc expat libunwind-headers protobuf qt6 pkg-config
- name: build
run: DEV_MODE=ON make release -j3
- name: test qml
Expand All @@ -38,7 +38,7 @@ jobs:
- name: install monero dependencies
run: sudo apt -y install build-essential cmake libboost-all-dev miniupnpc libunbound-dev graphviz doxygen libunwind8-dev pkg-config libssl-dev libzmq3-dev libsodium-dev libhidapi-dev libnorm-dev libusb-1.0-0-dev libpgm-dev libprotobuf-dev protobuf-compiler
- name: install monero gui dependencies
run: sudo apt -y install qtbase5-dev qtdeclarative5-dev qml-module-qtqml-models2 qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs qml-module-qtquick-xmllistmodel qml-module-qt-labs-settings qml-module-qt-labs-platform qml-module-qt-labs-folderlistmodel qttools5-dev-tools qml-module-qtquick-templates2 libqt5svg5-dev libgcrypt20-dev xvfb
run: sudo apt -y install qt6-base-dev qt6-declarative-dev qml6-module-qtqml-models qml6-module-qtquick-controls qml6-module-qtquick-dialogs qml6-module-qtqml-xmllistmodel qml6-module-qt-labs-settings qml6-module-qt-labs-platform qml6-module-qt-labs-folderlistmodel qt6-tools-dev-tools qt6-tools-dev qml6-module-qtquick-templates libqt6svg6-dev libgcrypt20-dev xvfb qml6-module-qt5compat-graphicaleffects qml6-module-qtqml-workerscript qml6-module-qtquick-layouts qml6-module-qtcore
- name: build
run: DEV_MODE=ON make release -j3
- name: test qml
Expand Down Expand Up @@ -74,14 +74,14 @@ jobs:
- name: install dependencies
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq libpgm miniupnpc expat libunwind-headers protobuf pkg-config python3 p7zip aria2
- name: install dependencies
run: pip3 install defusedxml
run: python3 -m venv /tmp/venv && source /tmp/venv/bin/activate && pip3 install defusedxml
- name: download qt
run: python3 monero-gui/.github/qt_helper.py mac_x64 desktop 5.15.2 clang_64 c384008156fe63cc183bade0316828c598ff3e5074397c0c9ccc588d6cdc5aca
run: source /tmp/venv/bin/activate && python3 monero-gui/.github/qt_helper.py mac_x64 desktop 6.8.2 clang_64 eb909ac47aee46d9d6bec3bb840d593b9f0903ce86f2c07c5f77cd4cba63eee8
working-directory: ../
- name: build
run: |
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release -D ARCH=default -D CMAKE_PREFIX_PATH=/Users/runner/work/monero-gui/5.15.2/clang_64 ..
cmake -D CMAKE_BUILD_TYPE=Release -D ARCH=default -D CMAKE_PREFIX_PATH=/Users/runner/work/monero-gui/6.8.2/lib/cmake/Qt6 -D DEV_MODE=ON ..
make
- name: deploy
run: make deploy
Expand Down Expand Up @@ -110,7 +110,7 @@ jobs:
restore-keys: |
docker-linux-static-
- name: install dependencies
run: sudo apt -y install xvfb libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xkb1 libxcb-shape0 libxkbcommon-x11-0
run: sudo apt -y install xvfb libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xkb1 libxcb-shape0 libxkbcommon-x11-0 libopengl0 libegl-dev
- name: free up diskspace
run: ${{env.FREE_DISKSPACE}}
- name: prepare build environment
Expand Down
Loading
Loading