Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
272342c
Qt6: cmake changes
Malinero Jan 31, 2025
162f17c
Qt6: replace QtGraphicalEffects with Qt5Compat.GraphicalEffects
Malinero Jan 31, 2025
b52b918
Qt6: Datetime replace deprecated functions
Malinero Jan 31, 2025
b4c6fcd
Qt6: replace QStringRef with QStringView
Malinero Jan 31, 2025
df30290
Qt6: QKeySequence
Malinero Jan 31, 2025
2f77f42
Qt6: MOC requires complete type knowledge
Malinero Jan 31, 2025
8a78a19
Qt6: workaround QObject not mixing well with net::http::client
Malinero Jan 31, 2025
84bc30a
Qt6: fix QFileInfo casting issue
Malinero Jan 31, 2025
bbdc588
Qt6: remove obsolete QDesktopWidget
Malinero Jan 31, 2025
cd92004
Qt6: QML styles are case-sensitive now
Malinero Jan 31, 2025
d28ec15
Qt6: Replace RegExpValidator with RegularExpressionValidator
Malinero Jan 31, 2025
898455d
Qt6: Replace XmlRole with XmlListModelRole
Malinero Jan 31, 2025
fec1b46
Qt6: QML: Remove plugins versions
Malinero Jan 31, 2025
fc2f7e3
Qt6: QML: Replace shortcuts with StandardPaths
Malinero Jan 31, 2025
224dc62
Qt6: QML: FileDialog changes
Malinero Jan 31, 2025
4b3c5b4
Qt6: QML: fix MessageDialog buttons
Malinero Jan 31, 2025
7b4033e
Qt6: windows installer replace Qt5 with Qt6
Malinero Jan 31, 2025
b2565d8
Qt6: TODO fixme
Malinero Jan 31, 2025
3457c4d
Qt6: Dockerfile linux TODO fixme
Malinero Jan 31, 2025
2c83590
Qt6: CI: build-ubuntu
Malinero Jan 31, 2025
9e5e451
Qt6: cmake changes for static build
Malinero Feb 5, 2025
eb2e639
Qt6: Add missing static plugins
Malinero Feb 5, 2025
aece326
Qt6: undef additional conflicting keywords
Malinero Feb 5, 2025
4a03af4
Qt6: replace default style to Fusion
Malinero Feb 5, 2025
790469c
CI: free more disk space
Malinero Feb 8, 2025
bbbe5d8
Qt6: CI docker-linux-static: add libopengl for tests
Malinero Feb 8, 2025
3787839
Qt6: CI qt_helper adjustments
Malinero Feb 8, 2025
3de529e
Qt6: build-macos: replace qt5 with qt6
Malinero Feb 8, 2025
2add5a7
Qt6: CI: macos-bundle
Malinero Feb 8, 2025
1445b77
Qt6: remove QtMacExtra usage
Malinero Feb 8, 2025
b41d35b
Qt6: CI macos-bundle: set DEVMODE=ON TODO remove
Malinero Feb 8, 2025
8abd35c
Qt6: CI macos-bundle: copy libboost_system
Malinero Feb 8, 2025
8c1ee74
Qt6: fix QRCode scanning
Malinero Feb 21, 2025
726a82a
Qt6: cmake changes for android
Malinero Feb 21, 2025
9fce802
Qt6: fix QJSValueList initialization
Malinero Feb 21, 2025
289e503
Qt6: Docker android
Malinero Feb 21, 2025
a402a5a
tmp README
Malinero Feb 21, 2025
30eddb0
Qt6: CI android: change apk path
Malinero Feb 21, 2025
a36d4ea
Qt6 windows: undef interface
Malinero Feb 21, 2025
8232471
Qt6: docker windows
Malinero Feb 21, 2025
2805891
Qt6: qt_helper: download required addons
Malinero Feb 23, 2025
baba388
Qt6: cmake changes for mingw
Malinero Feb 23, 2025
c682dd5
Qt6: CI windows
Malinero Feb 23, 2025
e19934a
Qt6 win32 fix qml import path
Malinero Mar 1, 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
10 changes: 7 additions & 3 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 All @@ -31,7 +31,11 @@ def fetch_links_to_archives(os, target, major, minor, patch, toolchain):
name = pkg.find('.//Name')
if name == None:
continue
if name.text != f'qt.qt{major}.{major}{minor}{patch}.{toolchain}':
if name.text not in [
f'qt.qt{major}.{major}{minor}{patch}.{toolchain}',
f"qt.qt{major}.{major}{minor}{patch}.addons.qt5compat.{toolchain}",
f"qt.qt{major}.{major}{minor}{patch}.addons.qtshadertools.{toolchain}"
]:
continue
version = pkg.find('.//Version')
if version == None:
Expand Down Expand Up @@ -100,7 +104,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
18 changes: 9 additions & 9 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 /opt/hostedtoolcache

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 All @@ -56,7 +56,7 @@ jobs:
- uses: eine/setup-msys2@v2
with:
update: true
install: mingw-w64-x86_64-toolchain make mingw-w64-x86_64-pcre mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-protobuf-c mingw-w64-x86_64-libusb mingw-w64-x86_64-unbound git mingw-w64-x86_64-qt5 mingw-w64-x86_64-libgcrypt mingw-w64-x86_64-angleproject
install: mingw-w64-x86_64-toolchain make mingw-w64-x86_64-pcre mingw-w64-x86_64-cmake mingw-w64-x86_64-boost mingw-w64-x86_64-openssl mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-hidapi mingw-w64-x86_64-protobuf-c mingw-w64-x86_64-libusb mingw-w64-x86_64-unbound git mingw-w64-x86_64-qt6 mingw-w64-x86_64-libgcrypt mingw-w64-x86_64-angleproject
- name: build
run: DEV_MODE=ON make release-win64 -j2
- name: deploy
Expand All @@ -78,12 +78,12 @@ jobs:
pyenv install 3.12.0
pip install defusedxml
- name: download qt
run: python monero-gui/.github/qt_helper.py mac_x64 desktop 5.15.2 clang_64 c384008156fe63cc183bade0316828c598ff3e5074397c0c9ccc588d6cdc5aca
run: python monero-gui/.github/qt_helper.py mac_x64 desktop 6.8.2 clang_64 bb304d352a6bd6c88c9d109ab458064bbe0b729f2f09d00d8a9c1b6f7f996f23
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 @@ -112,7 +112,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 Expand Up @@ -148,7 +148,7 @@ jobs:
- name: prepare build environment
run: docker build --tag monero:build-env-windows --build-arg THREADS=3 --file Dockerfile.windows .
- name: build
run: docker run --rm -v /home/runner/work/monero-gui/monero-gui:/monero-gui -w /monero-gui monero:build-env-windows sh -c 'make depends root=/depends target=x86_64-w64-mingw32 tag=win-x64 -j3'
run: docker run --rm -v /home/runner/work/monero-gui/monero-gui:/monero-gui -w /monero-gui -e THREADS=2 monero:build-env-windows
- name: sha256sum
run: shasum -a256 /home/runner/work/monero-gui/monero-gui/build/x86_64-w64-mingw32/release/bin/monero-wallet-gui.exe
- uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -182,7 +182,7 @@ jobs:
- uses: actions/upload-artifact@v4
with:
name: ${{ github.job }}
path: /home/runner/work/monero-gui/monero-gui/build/Android/release/android-build/monero-gui.apk
path: /home/runner/work/monero-gui/monero-gui/build/Android/release/android-build/monero-wallet-gui.apk

source-archive:
runs-on: ubuntu-20.04
Expand Down
Loading
Loading