mirror of
https://github.com/monero-project/monero-gui.git
synced 2026-04-08 23:57:25 -04:00
Compare commits
66 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
24b4e0209f | ||
|
|
35bc27a3a8 | ||
|
|
f903e0e447 | ||
|
|
b4b2ed3976 | ||
|
|
4195735cd3 | ||
|
|
3ae3261315 | ||
|
|
47f0047c9f | ||
|
|
33f08aee3e | ||
|
|
a064b42917 | ||
|
|
62496a2c99 | ||
|
|
1669a64025 | ||
|
|
413c0db7c0 | ||
|
|
521fee91cd | ||
|
|
3021970193 | ||
|
|
82714e6d26 | ||
|
|
351f4aba1c | ||
|
|
daf3a1c5b8 | ||
|
|
2d2c7476db | ||
|
|
aec2f94d4b | ||
|
|
45fe6e6991 | ||
|
|
e496b03c63 | ||
|
|
39606d2eb1 | ||
|
|
970c33332b | ||
|
|
fa02fa8ac5 | ||
|
|
9015dd5367 | ||
|
|
e1a3dbd738 | ||
|
|
8cabe04d0f | ||
|
|
0aaa963b5a | ||
|
|
7e7215c71e | ||
|
|
04637127ee | ||
|
|
8512de2bdd | ||
|
|
b0ecc8cf33 | ||
|
|
ea39b20d64 | ||
|
|
cdf8a1a854 | ||
|
|
0a9d61986c | ||
|
|
8af3cd09ca | ||
|
|
b521e83829 | ||
|
|
8f17b89979 | ||
|
|
7c41202b98 | ||
|
|
e18c2cfdfc | ||
|
|
08e2eafb7c | ||
|
|
c27bb53d7c | ||
|
|
6f9769607a | ||
|
|
551ab27b09 | ||
|
|
c57bdfaeaf | ||
|
|
af92ca67d7 | ||
|
|
6889ab5ac1 | ||
|
|
eddafbbdcc | ||
|
|
8d110ec790 | ||
|
|
a49cd13a83 | ||
|
|
50d479f7a6 | ||
|
|
94477c5480 | ||
|
|
ff1e50745d | ||
|
|
8118355f39 | ||
|
|
1d686adcb9 | ||
|
|
f8aa11bc41 | ||
|
|
923f77a2db | ||
|
|
45a2b1d2a7 | ||
|
|
7a3ea3a93c | ||
|
|
1878338a44 | ||
|
|
a64ae977cc | ||
|
|
f0b1b8cd08 | ||
|
|
674f69f131 | ||
|
|
5d5ac6a371 | ||
|
|
0c3e2301ed | ||
|
|
ca3dafc5f0 |
24
.github/workflows/build.yml
vendored
24
.github/workflows/build.yml
vendored
@@ -8,7 +8,7 @@ env:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-macos:
|
build-macos:
|
||||||
runs-on: macOS-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
with:
|
with:
|
||||||
@@ -56,7 +56,7 @@ jobs:
|
|||||||
- uses: eine/setup-msys2@v2
|
- uses: eine/setup-msys2@v2
|
||||||
with:
|
with:
|
||||||
update: true
|
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
|
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
|
||||||
- name: build
|
- name: build
|
||||||
run: DEV_MODE=ON make release-win64 -j2
|
run: DEV_MODE=ON make release-win64 -j2
|
||||||
- name: deploy
|
- name: deploy
|
||||||
@@ -66,17 +66,19 @@ jobs:
|
|||||||
run: build/release/bin/monero-wallet-gui --test-qml
|
run: build/release/bin/monero-wallet-gui --test-qml
|
||||||
|
|
||||||
macos-bundle:
|
macos-bundle:
|
||||||
runs-on: macOS-latest
|
runs-on: macos-13
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- name: install dependencies
|
- 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
|
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq libpgm miniupnpc expat libunwind-headers protobuf pkg-config pyenv p7zip aria2
|
||||||
- name: install dependencies
|
- name: install dependencies
|
||||||
run: pip3 install defusedxml
|
run: |
|
||||||
|
pyenv install 3.12.0
|
||||||
|
pip install defusedxml
|
||||||
- name: download qt
|
- name: download qt
|
||||||
run: python3 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 5.15.2 clang_64 c384008156fe63cc183bade0316828c598ff3e5074397c0c9ccc588d6cdc5aca
|
||||||
working-directory: ../
|
working-directory: ../
|
||||||
- name: build
|
- name: build
|
||||||
run: |
|
run: |
|
||||||
@@ -91,7 +93,7 @@ jobs:
|
|||||||
- name: create .tar
|
- name: create .tar
|
||||||
run: tar -cf monero-wallet-gui.tar monero-wallet-gui.app
|
run: tar -cf monero-wallet-gui.tar monero-wallet-gui.app
|
||||||
working-directory: build/bin
|
working-directory: build/bin
|
||||||
- uses: actions/upload-artifact@v2
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ github.job }}
|
name: ${{ github.job }}
|
||||||
path: build/bin/monero-wallet-gui.tar
|
path: build/bin/monero-wallet-gui.tar
|
||||||
@@ -121,7 +123,7 @@ jobs:
|
|||||||
run: shasum -a256 /home/runner/work/monero-gui/monero-gui/build/release/bin/monero-wallet-gui
|
run: shasum -a256 /home/runner/work/monero-gui/monero-gui/build/release/bin/monero-wallet-gui
|
||||||
- name: test qml
|
- name: test qml
|
||||||
run: xvfb-run -a /home/runner/work/monero-gui/monero-gui/build/release/bin/monero-wallet-gui --test-qml
|
run: xvfb-run -a /home/runner/work/monero-gui/monero-gui/build/release/bin/monero-wallet-gui --test-qml
|
||||||
- uses: actions/upload-artifact@v2
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ github.job }}
|
name: ${{ github.job }}
|
||||||
path: |
|
path: |
|
||||||
@@ -149,7 +151,7 @@ jobs:
|
|||||||
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 monero:build-env-windows sh -c 'make depends root=/depends target=x86_64-w64-mingw32 tag=win-x64 -j3'
|
||||||
- name: sha256sum
|
- name: sha256sum
|
||||||
run: shasum -a256 /home/runner/work/monero-gui/monero-gui/build/x86_64-w64-mingw32/release/bin/monero-wallet-gui.exe
|
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@v2
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ github.job }}
|
name: ${{ github.job }}
|
||||||
path: |
|
path: |
|
||||||
@@ -177,7 +179,7 @@ jobs:
|
|||||||
run: docker run --rm -v /home/runner/work/monero-gui/monero-gui:/monero-gui -e THREADS=3 monero:build-env-android
|
run: docker run --rm -v /home/runner/work/monero-gui/monero-gui:/monero-gui -e THREADS=3 monero:build-env-android
|
||||||
- name: Remove obsolete docker layers
|
- name: Remove obsolete docker layers
|
||||||
run: docker images -a | grep none | awk '{ print $3; }' | xargs docker rmi || true
|
run: docker images -a | grep none | awk '{ print $3; }' | xargs docker rmi || true
|
||||||
- uses: actions/upload-artifact@v2
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ github.job }}
|
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-gui.apk
|
||||||
@@ -195,7 +197,7 @@ jobs:
|
|||||||
export OUTPUT="$VERSION.tar"
|
export OUTPUT="$VERSION.tar"
|
||||||
echo "OUTPUT=$OUTPUT" >> $GITHUB_ENV
|
echo "OUTPUT=$OUTPUT" >> $GITHUB_ENV
|
||||||
/home/runner/.local/bin/git-archive-all --prefix "$VERSION/" --force-submodules "$OUTPUT"
|
/home/runner/.local/bin/git-archive-all --prefix "$VERSION/" --force-submodules "$OUTPUT"
|
||||||
- uses: actions/upload-artifact@v2
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ env.OUTPUT }}
|
name: ${{ env.OUTPUT }}
|
||||||
path: /home/runner/work/monero-gui/monero-gui/${{ env.OUTPUT }}
|
path: /home/runner/work/monero-gui/monero-gui/${{ env.OUTPUT }}
|
||||||
|
|||||||
4
.github/workflows/flatpak.yml
vendored
4
.github/workflows/flatpak.yml
vendored
@@ -72,7 +72,7 @@ jobs:
|
|||||||
platforms: arm64
|
platforms: arm64
|
||||||
|
|
||||||
- name: Restore flatpak-builder
|
- name: Restore flatpak-builder
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4.1.7
|
||||||
with:
|
with:
|
||||||
name: flatpak-builder-${{ matrix.arch }}
|
name: flatpak-builder-${{ matrix.arch }}
|
||||||
|
|
||||||
@@ -129,7 +129,7 @@ jobs:
|
|||||||
platforms: arm64
|
platforms: arm64
|
||||||
|
|
||||||
- name: Restore flatpak-builder
|
- name: Restore flatpak-builder
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4.1.7
|
||||||
with:
|
with:
|
||||||
name: flatpak-builder-${{ matrix.arch }}
|
name: flatpak-builder-${{ matrix.arch }}
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ project(monero-gui)
|
|||||||
message(STATUS "Initiating compile using CMake ${CMAKE_VERSION}")
|
message(STATUS "Initiating compile using CMake ${CMAKE_VERSION}")
|
||||||
|
|
||||||
set(VERSION_MAJOR "18")
|
set(VERSION_MAJOR "18")
|
||||||
set(VERSION_MINOR "3")
|
set(VERSION_MINOR "4")
|
||||||
set(VERSION_REVISION "2")
|
set(VERSION_REVISION "0")
|
||||||
set(VERSION "0.${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}")
|
set(VERSION "0.${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}")
|
||||||
|
|
||||||
option(STATIC "Link libraries statically, requires static Qt")
|
option(STATIC "Link libraries statically, requires static Qt")
|
||||||
@@ -16,6 +16,14 @@ option(WITH_DESKTOP_ENTRY "Ask to install desktop entry on first startup" ON)
|
|||||||
option(WITH_UPDATER "Regularly check for new updates" ON)
|
option(WITH_UPDATER "Regularly check for new updates" ON)
|
||||||
option(DEV_MODE "Checkout latest monero master on build" OFF)
|
option(DEV_MODE "Checkout latest monero master on build" OFF)
|
||||||
|
|
||||||
|
if(DEV_MODE)
|
||||||
|
# DEV_MODE checks out the monero submodule to master, which requires C++17.
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
else()
|
||||||
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
|
endif()
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_SOURCE_DIR}/cmake")
|
list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_SOURCE_DIR}/cmake")
|
||||||
include(CheckCCompilerFlag)
|
include(CheckCCompilerFlag)
|
||||||
include(CheckCXXCompilerFlag)
|
include(CheckCXXCompilerFlag)
|
||||||
@@ -60,6 +68,7 @@ set(CMAKE_AUTORCC ON)
|
|||||||
set(CMAKE_AUTOUIC ON)
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
|
||||||
get_directory_property(ARCH_WIDTH DIRECTORY "monero" DEFINITION ARCH_WIDTH)
|
get_directory_property(ARCH_WIDTH DIRECTORY "monero" DEFINITION ARCH_WIDTH)
|
||||||
|
get_directory_property(Boost_VERSION_STRING DIRECTORY "monero" DEFINITION Boost_VERSION_STRING)
|
||||||
|
|
||||||
if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
add_definitions(-DQT_NO_DEBUG)
|
add_definitions(-DQT_NO_DEBUG)
|
||||||
@@ -356,7 +365,7 @@ if(APPLE)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (APPLE AND NOT IOS)
|
if (APPLE AND NOT IOS)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=default -std=c++11")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=default")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
@@ -442,7 +451,7 @@ message(STATUS "Using C++ security hardening flags: ${CXX_SECURITY_FLAGS}")
|
|||||||
message(STATUS "Using linker security hardening flags: ${LD_SECURITY_FLAGS}")
|
message(STATUS "Using linker security hardening flags: ${LD_SECURITY_FLAGS}")
|
||||||
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 ${C_SECURITY_FLAGS}")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11 ${C_SECURITY_FLAGS}")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ${CXX_SECURITY_FLAGS}")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_SECURITY_FLAGS}")
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LD_SECURITY_FLAGS} ${STATIC_FLAGS}")
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LD_SECURITY_FLAGS} ${STATIC_FLAGS}")
|
||||||
|
|
||||||
add_subdirectory(translations)
|
add_subdirectory(translations)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Use macOS 10.12 - 10.13 for better backwards compability.
|
Use macOS 10.12 - 10.13 for better backwards compability.
|
||||||
|
|
||||||
1. `HOMEBREW_OPTFLAGS="-march=core2" HOMEBREW_OPTIMIZATION_LEVEL="O0" brew install boost zmq libpgm miniupnpc libsodium expat libunwind-headers protobuf libgcrypt hidapi`
|
1. `HOMEBREW_OPTFLAGS="-march=core2" HOMEBREW_OPTIMIZATION_LEVEL="O0" brew install boost zmq libpgm miniupnpc libsodium expat libunwind-headers protobuf@21 libgcrypt hidapi libusb cmake pkg-config && brew link protobuf@21`
|
||||||
|
|
||||||
2. Get the latest LTS from here: https://www.qt.io/offline-installers and install
|
2. Get the latest LTS from here: https://www.qt.io/offline-installers and install
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ Use macOS 10.12 - 10.13 for better backwards compability.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
cmake -D CMAKE_BUILD_TYPE=Release -D ARCH=default -D CMAKE_PREFIX_PATH=~/Qt5.12.8/5.12.8/clang_64 ..
|
cmake -D CMAKE_BUILD_TYPE=Release -D ARCH=default -D CMAKE_PREFIX_PATH=/path/to/Qt5.12.8/5.12.8/clang_64 ..
|
||||||
make
|
make
|
||||||
make deploy
|
make deploy
|
||||||
```
|
```
|
||||||
@@ -40,9 +40,9 @@ You can check if this step worked by using `codesign -dvvv monero-wallet-gui.app
|
|||||||
|
|
||||||
3. `hdiutil create -fs HFS+ -srcfolder monero-gui-v0.X.Y.Z -volname monero-wallet-gui monero-gui-mac-x64-v0.X.Y.Z.dmg`
|
3. `hdiutil create -fs HFS+ -srcfolder monero-gui-v0.X.Y.Z -volname monero-wallet-gui monero-gui-mac-x64-v0.X.Y.Z.dmg`
|
||||||
|
|
||||||
4. `xcrun altool -t osx --file monero-gui-mac-x64-v0.X.Y.Z.dmg --primary-bundle-id org.monero-project.monero-wallet-gui.dmg --notarize-app --username email@address.org`
|
4. `xcrun notarytool submit monero-gui-mac-x64-v0.X.Y.Z.dmg --apple-id email@address.org --team-id XXXXXXXXXX`
|
||||||
|
|
||||||
5. `xcrun altool --notarization-info aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeee -u email@address.org`
|
5. `xcrun notarytool info aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeee --apple-id email@address.org --team-id XXXXXXXXXX`
|
||||||
|
|
||||||
6. `xcrun stapler staple -v monero-gui-mac-x64-v0.X.Y.Z.dmg`
|
6. `xcrun stapler staple -v monero-gui-mac-x64-v0.X.Y.Z.dmg`
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
FROM debian:buster
|
FROM debian:buster
|
||||||
|
|
||||||
ARG THREADS=1
|
ARG THREADS=1
|
||||||
ARG ANDROID_NDK_REVISION=21e
|
ARG ANDROID_NDK_REVISION=23c
|
||||||
ARG ANDROID_NDK_HASH=c3ebc83c96a4d7f539bd72c241b2be9dcd29bda9
|
ARG ANDROID_NDK_HASH=e5053c126a47e84726d9f7173a04686a71f9a67a
|
||||||
ARG ANDROID_SDK_REVISION=7302050_latest
|
ARG ANDROID_SDK_REVISION=7302050_latest
|
||||||
ARG ANDROID_SDK_HASH=7a00faadc0864f78edd8f4908a629a46d622375cbe2e5814e82934aebecdb622
|
ARG ANDROID_SDK_HASH=7a00faadc0864f78edd8f4908a629a46d622375cbe2e5814e82934aebecdb622
|
||||||
ARG QT_VERSION=v5.15.7-lts-lgpl
|
ARG QT_VERSION=v5.15.16-lts-lgpl
|
||||||
|
|
||||||
WORKDIR /opt/android
|
WORKDIR /opt/android
|
||||||
ENV WORKDIR=/opt/android
|
ENV WORKDIR=/opt/android
|
||||||
|
|
||||||
ENV ANDROID_NATIVE_API_LEVEL=30
|
ENV ANDROID_NATIVE_API_LEVEL=31
|
||||||
ENV ANDROID_API=android-${ANDROID_NATIVE_API_LEVEL}
|
ENV ANDROID_API=android-${ANDROID_NATIVE_API_LEVEL}
|
||||||
ENV ANDROID_CLANG=aarch64-linux-android${ANDROID_NATIVE_API_LEVEL}-clang
|
ENV ANDROID_CLANG=aarch64-linux-android${ANDROID_NATIVE_API_LEVEL}-clang
|
||||||
ENV ANDROID_CLANGPP=aarch64-linux-android${ANDROID_NATIVE_API_LEVEL}-clang++
|
ENV ANDROID_CLANGPP=aarch64-linux-android${ANDROID_NATIVE_API_LEVEL}-clang++
|
||||||
@@ -32,7 +32,7 @@ RUN PACKAGE_NAME=commandlinetools-linux-${ANDROID_SDK_REVISION}.zip \
|
|||||||
&& unzip -q ${PACKAGE_NAME} \
|
&& unzip -q ${PACKAGE_NAME} \
|
||||||
&& rm -f ${PACKAGE_NAME}
|
&& rm -f ${PACKAGE_NAME}
|
||||||
|
|
||||||
RUN PACKAGE_NAME=android-ndk-r${ANDROID_NDK_REVISION}-linux-x86_64.zip \
|
RUN PACKAGE_NAME=android-ndk-r${ANDROID_NDK_REVISION}-linux.zip \
|
||||||
&& wget -q https://dl.google.com/android/repository/${PACKAGE_NAME} \
|
&& wget -q https://dl.google.com/android/repository/${PACKAGE_NAME} \
|
||||||
&& echo "${ANDROID_NDK_HASH} ${PACKAGE_NAME}" | sha1sum -c \
|
&& echo "${ANDROID_NDK_HASH} ${PACKAGE_NAME}" | sha1sum -c \
|
||||||
&& unzip -q ${PACKAGE_NAME} \
|
&& unzip -q ${PACKAGE_NAME} \
|
||||||
@@ -98,27 +98,25 @@ RUN wget -q http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${ICONV_VERSION}.tar.gz
|
|||||||
&& make -j${THREADS} \
|
&& make -j${THREADS} \
|
||||||
&& make -j${THREADS} install
|
&& make -j${THREADS} install
|
||||||
|
|
||||||
ARG BOOST_VERSION=1_74_0
|
ARG BOOST_VERSION=1_85_0
|
||||||
ARG BOOST_VERSION_DOT=1.74.0
|
ARG BOOST_VERSION_DOT=1.85.0
|
||||||
ARG BOOST_HASH=83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff025e116b1
|
ARG BOOST_HASH=7009fe1faa1697476bdc7027703a2badb84e849b7b0baad5086b087b971f8617
|
||||||
RUN wget -q https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION_DOT}/source/boost_${BOOST_VERSION}.tar.bz2 \
|
RUN wget -q https://archives.boost.io/release/${BOOST_VERSION_DOT}/source/boost_${BOOST_VERSION}.tar.bz2 \
|
||||||
&& echo "${BOOST_HASH} boost_${BOOST_VERSION}.tar.bz2" | sha256sum -c \
|
&& echo "${BOOST_HASH} boost_${BOOST_VERSION}.tar.bz2" | sha256sum -c \
|
||||||
&& tar -xf boost_${BOOST_VERSION}.tar.bz2 \
|
&& tar -xf boost_${BOOST_VERSION}.tar.bz2 \
|
||||||
&& rm -f boost_${BOOST_VERSION}.tar.bz2 \
|
&& rm -f boost_${BOOST_VERSION}.tar.bz2 \
|
||||||
&& cd boost_${BOOST_VERSION} \
|
&& cd boost_${BOOST_VERSION} \
|
||||||
&& PATH=${HOST_PATH} ./bootstrap.sh --prefix=${PREFIX} \
|
&& PATH=${HOST_PATH} ./bootstrap.sh --prefix=${PREFIX} \
|
||||||
|
&& printf "using clang : arm : ${ANDROID_CLANGPP} :\n<cxxflags>\"-fPIC\"\n<cflags>\"-fPIC\" ;" > user.jam \
|
||||||
&& PATH=${TOOLCHAIN_DIR}/bin:${HOST_PATH} ./b2 --build-type=minimal link=static runtime-link=static \
|
&& PATH=${TOOLCHAIN_DIR}/bin:${HOST_PATH} ./b2 --build-type=minimal link=static runtime-link=static \
|
||||||
--with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization \
|
--with-chrono --with-date_time --with-filesystem --with-program_options --with-regex --with-serialization \
|
||||||
--with-system --with-thread --with-locale --build-dir=android --stagedir=android toolset=clang threading=multi \
|
--with-system --with-thread --with-locale --build-dir=android --stagedir=android toolset=clang-arm threading=multi \
|
||||||
threadapi=pthread target-os=android -sICONV_PATH=${PREFIX} \
|
threadapi=pthread target-os=android -sICONV_PATH=${PREFIX} --user-config=user.jam architecture=arm address-model=64 \
|
||||||
cflags='--target=aarch64-linux-android' \
|
|
||||||
cxxflags='--target=aarch64-linux-android' \
|
|
||||||
linkflags='--target=aarch64-linux-android --sysroot=${ANDROID_NDK_ROOT}/platforms/${ANDROID_API}/arch-arm64 ${ANDROID_NDK_ROOT}/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_shared.so -nostdlib++' \
|
|
||||||
install -j${THREADS} \
|
install -j${THREADS} \
|
||||||
&& rm -rf $(pwd)
|
&& rm -rf $(pwd)
|
||||||
|
|
||||||
ARG OPENSSL_VERSION=1.1.1u
|
ARG OPENSSL_VERSION=1.1.1w
|
||||||
ARG OPENSSL_HASH=e2f8d84b523eecd06c7be7626830370300fbcc15386bf5142d72758f6963ebc6
|
ARG OPENSSL_HASH=cf3098950cb4d853ad95c0841f1f9c6d3dc102dccfcacd521d93925208b76ac8
|
||||||
RUN wget -q https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
|
RUN wget -q https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
|
||||||
&& echo "${OPENSSL_HASH} openssl-${OPENSSL_VERSION}.tar.gz" | sha256sum -c \
|
&& echo "${OPENSSL_HASH} openssl-${OPENSSL_VERSION}.tar.gz" | sha256sum -c \
|
||||||
&& tar -xzf openssl-${OPENSSL_VERSION}.tar.gz \
|
&& tar -xzf openssl-${OPENSSL_VERSION}.tar.gz \
|
||||||
@@ -133,9 +131,9 @@ RUN wget -q https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz \
|
|||||||
&& make -j${THREADS} install \
|
&& make -j${THREADS} install \
|
||||||
&& rm -rf $(pwd)
|
&& rm -rf $(pwd)
|
||||||
|
|
||||||
ARG EXPAT_VERSION=2.4.1
|
ARG EXPAT_VERSION=2.6.4
|
||||||
ARG EXPAT_HASH=2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40
|
ARG EXPAT_HASH=8dc480b796163d4436e6f1352e71800a774f73dbae213f1860b60607d2a83ada
|
||||||
RUN wget https://github.com/libexpat/libexpat/releases/download/R_2_4_1/expat-${EXPAT_VERSION}.tar.bz2 && \
|
RUN wget https://github.com/libexpat/libexpat/releases/download/R_2_6_4/expat-${EXPAT_VERSION}.tar.bz2 && \
|
||||||
echo "${EXPAT_HASH} expat-${EXPAT_VERSION}.tar.bz2" | sha256sum -c && \
|
echo "${EXPAT_HASH} expat-${EXPAT_VERSION}.tar.bz2" | sha256sum -c && \
|
||||||
tar -xf expat-${EXPAT_VERSION}.tar.bz2 && \
|
tar -xf expat-${EXPAT_VERSION}.tar.bz2 && \
|
||||||
rm expat-${EXPAT_VERSION}.tar.bz2 && \
|
rm expat-${EXPAT_VERSION}.tar.bz2 && \
|
||||||
@@ -145,8 +143,8 @@ RUN wget https://github.com/libexpat/libexpat/releases/download/R_2_4_1/expat-${
|
|||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
ARG UNBOUND_VERSION=1.16.2
|
ARG UNBOUND_VERSION=1.22.0
|
||||||
ARG UNBOUND_HASH=2e32f283820c24c51ca1dd8afecfdb747c7385a137abe865c99db4b257403581
|
ARG UNBOUND_HASH=c5dd1bdef5d5685b2cedb749158dd152c52d44f65529a34ac15cd88d4b1b3d43
|
||||||
RUN wget https://www.nlnetlabs.nl/downloads/unbound/unbound-${UNBOUND_VERSION}.tar.gz && \
|
RUN wget https://www.nlnetlabs.nl/downloads/unbound/unbound-${UNBOUND_VERSION}.tar.gz && \
|
||||||
echo "${UNBOUND_HASH} unbound-${UNBOUND_VERSION}.tar.gz" | sha256sum -c && \
|
echo "${UNBOUND_HASH} unbound-${UNBOUND_VERSION}.tar.gz" | sha256sum -c && \
|
||||||
tar -xzf unbound-${UNBOUND_VERSION}.tar.gz && \
|
tar -xzf unbound-${UNBOUND_VERSION}.tar.gz && \
|
||||||
@@ -157,8 +155,8 @@ RUN wget https://www.nlnetlabs.nl/downloads/unbound/unbound-${UNBOUND_VERSION}.t
|
|||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
ARG ZMQ_VERSION=v4.3.4
|
ARG ZMQ_VERSION=v4.3.5
|
||||||
ARG ZMQ_HASH=4097855ddaaa65ed7b5e8cb86d143842a594eebd
|
ARG ZMQ_HASH=622fc6dde99ee172ebaa9c8628d85a7a1995a21d
|
||||||
RUN git clone https://github.com/zeromq/libzmq.git -b ${ZMQ_VERSION} --depth 1 \
|
RUN git clone https://github.com/zeromq/libzmq.git -b ${ZMQ_VERSION} --depth 1 \
|
||||||
&& cd libzmq \
|
&& cd libzmq \
|
||||||
&& git checkout ${ZMQ_HASH} \
|
&& git checkout ${ZMQ_HASH} \
|
||||||
@@ -169,8 +167,8 @@ RUN git clone https://github.com/zeromq/libzmq.git -b ${ZMQ_VERSION} --depth 1 \
|
|||||||
&& make -j${THREADS} install \
|
&& make -j${THREADS} install \
|
||||||
&& rm -rf $(pwd)
|
&& rm -rf $(pwd)
|
||||||
|
|
||||||
ARG SODIUM_VERSION=1.0.18
|
ARG SODIUM_VERSION=1.0.20-RELEASE
|
||||||
ARG SODIUM_HASH=4f5e89fa84ce1d178a6765b8b46f2b6f91216677
|
ARG SODIUM_HASH=9511c982fb1d046470a8b42aa36556cdb7da15de
|
||||||
RUN set -ex \
|
RUN set -ex \
|
||||||
&& git clone https://github.com/jedisct1/libsodium.git -b ${SODIUM_VERSION} --depth 1 \
|
&& git clone https://github.com/jedisct1/libsodium.git -b ${SODIUM_VERSION} --depth 1 \
|
||||||
&& cd libsodium \
|
&& cd libsodium \
|
||||||
@@ -198,23 +196,20 @@ RUN git clone -b libgcrypt-1.10.1 --depth 1 git://git.gnupg.org/libgcrypt.git \
|
|||||||
&& make -j${THREADS} install \
|
&& make -j${THREADS} install \
|
||||||
&& rm -rf $(pwd)
|
&& rm -rf $(pwd)
|
||||||
|
|
||||||
RUN git clone -b v3.24.2 --depth 1 https://github.com/Kitware/CMake \
|
RUN git clone -b v3.31.4 --depth 1 https://github.com/Kitware/CMake \
|
||||||
&& cd CMake \
|
&& cd CMake \
|
||||||
&& git reset --hard 31f835410efeea50acd43512eb9e5646a26ea177 \
|
&& git reset --hard 569b821a138a4d3f7f4cc42c0cf5ae5e68d56f96 \
|
||||||
&& PATH=${HOST_PATH} ./bootstrap \
|
&& PATH=${HOST_PATH} ./bootstrap \
|
||||||
&& PATH=${HOST_PATH} make -j${THREADS} \
|
&& PATH=${HOST_PATH} make -j${THREADS} \
|
||||||
&& PATH=${HOST_PATH} make -j${THREADS} install \
|
&& PATH=${HOST_PATH} make -j${THREADS} install \
|
||||||
&& rm -rf $(pwd)
|
&& rm -rf $(pwd)
|
||||||
|
|
||||||
RUN GRADLE_VERSION=5.6.4 \
|
# Workaround
|
||||||
&& GRADLE_HASH=1f3067073041bc44554d0efe5d402a33bc3d3c93cc39ab684f308586d732a80d \
|
ENV NEW_SDK_ROOT=${WORKDIR}/sdk
|
||||||
&& wget -q https\://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip \
|
RUN mkdir ${NEW_SDK_ROOT} \
|
||||||
&& echo "${GRADLE_HASH} gradle-${GRADLE_VERSION}-bin.zip" | sha256sum -c \
|
&& cp -r ${ANDROID_SDK_ROOT}/licenses ${NEW_SDK_ROOT} \
|
||||||
&& GRADLE_LOCAL_PATH=gradle/wrapper/dists/gradle-${GRADLE_VERSION}-bin/bxirm19lnfz6nurbatndyydux \
|
&& cp -r ${ANDROID_SDK_ROOT}/platforms ${NEW_SDK_ROOT} \
|
||||||
&& mkdir -p ${GRADLE_LOCAL_PATH} \
|
&& cp -r ${ANDROID_SDK_ROOT}/build-tools ${NEW_SDK_ROOT}
|
||||||
&& mv gradle-${GRADLE_VERSION}-bin.zip ${GRADLE_LOCAL_PATH}
|
|
||||||
|
|
||||||
ENV GRADLE_USER_HOME=${WORKDIR}/gradle
|
|
||||||
|
|
||||||
CMD set -ex \
|
CMD set -ex \
|
||||||
&& cd /monero-gui \
|
&& cd /monero-gui \
|
||||||
@@ -232,10 +227,12 @@ CMD set -ex \
|
|||||||
-DBoost_USE_STATIC_RUNTIME=ON \
|
-DBoost_USE_STATIC_RUNTIME=ON \
|
||||||
-DLRELEASE_PATH="${PREFIX}/bin" \
|
-DLRELEASE_PATH="${PREFIX}/bin" \
|
||||||
-DQT_ANDROID_APPLICATION_BINARY="monero-wallet-gui" \
|
-DQT_ANDROID_APPLICATION_BINARY="monero-wallet-gui" \
|
||||||
-DANDROID_SDK="${ANDROID_SDK_ROOT}" \
|
-DANDROID_SDK="${NEW_SDK_ROOT}" \
|
||||||
-DWITH_SCANNER=ON \
|
-DWITH_SCANNER=ON \
|
||||||
-DWITH_DESKTOP_ENTRY=OFF \
|
-DWITH_DESKTOP_ENTRY=OFF \
|
||||||
../../.. \
|
../../.. \
|
||||||
&& PATH=${HOST_PATH} make generate_translations_header \
|
&& PATH=${HOST_PATH} make generate_translations_header \
|
||||||
|
&& sed -i -e "s#../monero/external/randomx/librandomx.a##" src/CMakeFiles/monero-wallet-gui.dir/link.txt \
|
||||||
|
&& sed -i -e "s#-lm#-lm ../monero/external/randomx/librandomx.a#" src/CMakeFiles/monero-wallet-gui.dir/link.txt \
|
||||||
&& make -j${THREADS} -C src \
|
&& make -j${THREADS} -C src \
|
||||||
&& make -j${THREADS} apk
|
&& make -j${THREADS} apk
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
FROM ubuntu:16.04
|
FROM ubuntu:18.04
|
||||||
|
|
||||||
ARG THREADS=1
|
ARG THREADS=1
|
||||||
ARG QT_VERSION=v5.15.12-lts-lgpl
|
ARG QT_VERSION=v5.15.16-lts-lgpl
|
||||||
|
|
||||||
ENV CFLAGS="-fPIC"
|
ENV CFLAGS="-fPIC"
|
||||||
ENV CPPFLAGS="-fPIC"
|
ENV CPPFLAGS="-fPIC"
|
||||||
@@ -10,7 +10,7 @@ ENV SOURCE_DATE_EPOCH=1397818193
|
|||||||
|
|
||||||
RUN apt update && \
|
RUN apt update && \
|
||||||
apt install -y automake autopoint bison gettext git gperf libgl1-mesa-dev libglib2.0-dev \
|
apt install -y automake autopoint bison gettext git gperf libgl1-mesa-dev libglib2.0-dev \
|
||||||
libpng12-dev libpthread-stubs0-dev libsodium-dev libtool-bin libudev-dev libusb-1.0-0-dev mesa-common-dev \
|
libpng-dev libpthread-stubs0-dev libsodium-dev libtool-bin libudev-dev libusb-1.0-0-dev mesa-common-dev \
|
||||||
pkg-config python wget xutils-dev
|
pkg-config python wget xutils-dev
|
||||||
|
|
||||||
RUN git clone -b xorgproto-2020.1 --depth 1 https://gitlab.freedesktop.org/xorg/proto/xorgproto && \
|
RUN git clone -b xorgproto-2020.1 --depth 1 https://gitlab.freedesktop.org/xorg/proto/xorgproto && \
|
||||||
@@ -121,8 +121,8 @@ RUN git clone -b v1.3 --depth 1 https://github.com/madler/zlib && \
|
|||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
RUN git clone -b VER-2-10-2 --depth 1 https://git.savannah.gnu.org/git/freetype/freetype2.git && \
|
RUN git clone -b VER-2-10-2 --depth 1 https://gitlab.freedesktop.org/freetype/freetype.git && \
|
||||||
cd freetype2 && \
|
cd freetype && \
|
||||||
git reset --hard 132f19b779828b194b3fede187cee719785db4d8 && \
|
git reset --hard 132f19b779828b194b3fede187cee719785db4d8 && \
|
||||||
./autogen.sh && \
|
./autogen.sh && \
|
||||||
./configure --disable-shared --enable-static --with-zlib=no && \
|
./configure --disable-shared --enable-static --with-zlib=no && \
|
||||||
@@ -156,7 +156,7 @@ RUN git clone -b release-64-2 --depth 1 https://github.com/unicode-org/icu && \
|
|||||||
make -j$THREADS install && \
|
make -j$THREADS install && \
|
||||||
rm -rf $(pwd)
|
rm -rf $(pwd)
|
||||||
|
|
||||||
RUN wget https://boostorg.jfrog.io/artifactory/main/release/1.80.0/source/boost_1_80_0.tar.gz && \
|
RUN wget https://archives.boost.io/release/1.80.0/source/boost_1_80_0.tar.gz && \
|
||||||
echo "4b2136f98bdd1f5857f1c3dea9ac2018effe65286cf251534b6ae20cc45e1847 boost_1_80_0.tar.gz" | sha256sum -c && \
|
echo "4b2136f98bdd1f5857f1c3dea9ac2018effe65286cf251534b6ae20cc45e1847 boost_1_80_0.tar.gz" | sha256sum -c && \
|
||||||
tar -xzf boost_1_80_0.tar.gz && \
|
tar -xzf boost_1_80_0.tar.gz && \
|
||||||
rm boost_1_80_0.tar.gz && \
|
rm boost_1_80_0.tar.gz && \
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
FROM ubuntu:20.04
|
FROM ubuntu:20.04
|
||||||
|
|
||||||
ARG THREADS=1
|
ARG THREADS=1
|
||||||
ARG QT_VERSION=v5.15.12-lts-lgpl
|
ARG QT_VERSION=v5.15.16-lts-lgpl
|
||||||
ENV SOURCE_DATE_EPOCH=1397818193
|
ENV SOURCE_DATE_EPOCH=1397818193
|
||||||
|
|
||||||
RUN apt update && \
|
RUN apt update && \
|
||||||
@@ -12,9 +12,9 @@ RUN apt update && \
|
|||||||
RUN update-alternatives --set x86_64-w64-mingw32-g++ $(which x86_64-w64-mingw32-g++-posix) && \
|
RUN update-alternatives --set x86_64-w64-mingw32-g++ $(which x86_64-w64-mingw32-g++-posix) && \
|
||||||
update-alternatives --set x86_64-w64-mingw32-gcc $(which x86_64-w64-mingw32-gcc-posix)
|
update-alternatives --set x86_64-w64-mingw32-gcc $(which x86_64-w64-mingw32-gcc-posix)
|
||||||
|
|
||||||
RUN git clone -b v0.18.2.0 --depth 1 https://github.com/monero-project/monero && \
|
RUN git clone -b v0.18.4.0 --depth 1 https://github.com/monero-project/monero && \
|
||||||
cd monero && \
|
cd monero && \
|
||||||
git reset --hard 99be9a044f3854f339548e2d99c539c18d7b1b01 && \
|
git reset --hard f1311d4237404ab7da76241dbf10e92a65132cc4 && \
|
||||||
cp -a contrib/depends / && \
|
cp -a contrib/depends / && \
|
||||||
cd .. && \
|
cd .. && \
|
||||||
rm -rf monero
|
rm -rf monero
|
||||||
|
|||||||
15
README.md
15
README.md
@@ -60,9 +60,7 @@ The Bitcoin donation address is: `1KTexdemPdxSBcG55heUuTjDRYqbC5ZL8H`
|
|||||||
GUI development funding and/or some supporting services are also graciously provided by [sponsors](https://www.getmonero.org/community/sponsorships/):
|
GUI development funding and/or some supporting services are also graciously provided by [sponsors](https://www.getmonero.org/community/sponsorships/):
|
||||||
|
|
||||||
[<img width="150" src="https://www.getmonero.org/img/sponsors/tarilabs.png"/>](https://tarilabs.com/)
|
[<img width="150" src="https://www.getmonero.org/img/sponsors/tarilabs.png"/>](https://tarilabs.com/)
|
||||||
[<img width="150" src="https://www.getmonero.org/img/sponsors/globee.png"/>](https://globee.com/)
|
|
||||||
[<img width="150" src="https://www.getmonero.org/img/sponsors/symas.png"/>](https://symas.com/)
|
[<img width="150" src="https://www.getmonero.org/img/sponsors/symas.png"/>](https://symas.com/)
|
||||||
[<img width="150" src="https://www.getmonero.org/img/sponsors/forked_logo.png"/>](http://www.forked.net/)
|
|
||||||
[<img width="150" src="https://www.getmonero.org/img/sponsors/macstadium.png"/>](https://www.macstadium.com/)
|
[<img width="150" src="https://www.getmonero.org/img/sponsors/macstadium.png"/>](https://www.macstadium.com/)
|
||||||
|
|
||||||
There are also several mining pools that kindly donate a portion of their fees, [a list of them can be found on our Bitcointalk post](https://bitcointalk.org/index.php?topic=583449.0).
|
There are also several mining pools that kindly donate a portion of their fees, [a list of them can be found on our Bitcointalk post](https://bitcointalk.org/index.php?topic=583449.0).
|
||||||
@@ -98,7 +96,7 @@ Packaging for your favorite distribution would be a welcome contribution!
|
|||||||
|
|
||||||
*Note*: Qt 5.9.7 is the minimum version required to build the GUI.
|
*Note*: Qt 5.9.7 is the minimum version required to build the GUI.
|
||||||
|
|
||||||
*Note*: Official GUI releases use monero-wallet-gui from this process alongside the supporting binaries (monerod, etc) from the [CLI deterministic builds](https://github.com/monero-project/monero/blob/master/contrib/gitian/README.md).
|
*Note*: Official GUI releases use monero-wallet-gui from this process alongside the supporting binaries (monerod, etc) from the [CLI deterministic builds](https://github.com/monero-project/monero/blob/release-v0.18/contrib/gitian/README.md).
|
||||||
|
|
||||||
### Building Reproducible Windows static binaries with Docker (any OS)
|
### Building Reproducible Windows static binaries with Docker (any OS)
|
||||||
|
|
||||||
@@ -107,7 +105,7 @@ Packaging for your favorite distribution would be a welcome contribution!
|
|||||||
```
|
```
|
||||||
git clone --branch master --recursive https://github.com/monero-project/monero-gui.git
|
git clone --branch master --recursive https://github.com/monero-project/monero-gui.git
|
||||||
```
|
```
|
||||||
\* `master` - replace with the desired version tag (e.g. `v0.18.3.2`) to build the release binaries.
|
\* `master` - replace with the desired version tag (e.g. `v0.18.4.0`) to build the release binaries.
|
||||||
3. Prepare build environment
|
3. Prepare build environment
|
||||||
```
|
```
|
||||||
cd monero-gui
|
cd monero-gui
|
||||||
@@ -130,7 +128,7 @@ Packaging for your favorite distribution would be a welcome contribution!
|
|||||||
```
|
```
|
||||||
git clone --branch master --recursive https://github.com/monero-project/monero-gui.git
|
git clone --branch master --recursive https://github.com/monero-project/monero-gui.git
|
||||||
```
|
```
|
||||||
\* `master` - replace with the desired version tag (e.g. `v0.18.3.2`) to build the release binaries.
|
\* `master` - replace with the desired version tag (e.g. `v0.18.4.0`) to build the release binaries.
|
||||||
3. Prepare build environment
|
3. Prepare build environment
|
||||||
```
|
```
|
||||||
cd monero-gui
|
cd monero-gui
|
||||||
@@ -144,8 +142,9 @@ Packaging for your favorite distribution would be a welcome contribution!
|
|||||||
```
|
```
|
||||||
\* `<MONERO_GUI_DIR_FULL_PATH>` - absolute path to `monero-gui` directory
|
\* `<MONERO_GUI_DIR_FULL_PATH>` - absolute path to `monero-gui` directory
|
||||||
\* `4` - number of CPU threads to use
|
\* `4` - number of CPU threads to use
|
||||||
5. Monero GUI Linux static binaries will be placed in `monero-gui/build/release/bin` directory
|
5. Monero GUI Linux static binary will be placed in `monero-gui/build/release/bin` directory
|
||||||
6. (*Optional*) Compare `monero-wallet-gui` SHA-256 hash to the one obtained from a trusted source
|
6. (*Note*) This process is only for building `monero-wallet-gui`, `monerod` has to be built separately according to the instructions in the `monero` repository.
|
||||||
|
7. (*Optional*) Compare `monero-wallet-gui` SHA-256 hash to the one obtained from a trusted source
|
||||||
```
|
```
|
||||||
docker run --rm -it -v <MONERO_GUI_DIR_FULL_PATH>:/monero-gui -w /monero-gui monero:build-env-linux sh -c 'shasum -a 256 /monero-gui/build/release/bin/monero-wallet-gui'
|
docker run --rm -it -v <MONERO_GUI_DIR_FULL_PATH>:/monero-gui -w /monero-gui monero:build-env-linux sh -c 'shasum -a 256 /monero-gui/build/release/bin/monero-wallet-gui'
|
||||||
```
|
```
|
||||||
@@ -310,7 +309,7 @@ The Monero GUI on Windows is 64 bits only; 32-bit Windows GUI builds are not off
|
|||||||
3. Install MSYS2 packages for Monero dependencies; the needed 64-bit packages have `x86_64` in their names
|
3. Install MSYS2 packages for Monero dependencies; the needed 64-bit packages have `x86_64` in their names
|
||||||
|
|
||||||
```
|
```
|
||||||
pacman -S mingw-w64-x86_64-toolchain make 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-libgcrypt mingw-w64-x86_64-unbound mingw-w64-x86_64-pcre
|
pacman -S mingw-w64-x86_64-toolchain make 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-libgcrypt mingw-w64-x86_64-unbound mingw-w64-x86_64-pcre mingw-w64-x86_64-angleproject
|
||||||
```
|
```
|
||||||
|
|
||||||
You find more details about those dependencies in the [Monero documentation](https://github.com/monero-project/monero). Note that that there is no more need to compile Boost from source; like everything else, you can install it now with a MSYS2 package.
|
You find more details about those dependencies in the [Monero documentation](https://github.com/monero-project/monero). Note that that there is no more need to compile Boost from source; like everything else, you can install it now with a MSYS2 package.
|
||||||
|
|||||||
@@ -58,7 +58,6 @@ if(APPLE OR (WIN32 AND NOT STATIC))
|
|||||||
libboost_filesystem-mt.dll
|
libboost_filesystem-mt.dll
|
||||||
libboost_locale-mt.dll
|
libboost_locale-mt.dll
|
||||||
libboost_program_options-mt.dll
|
libboost_program_options-mt.dll
|
||||||
libboost_regex-mt.dll
|
|
||||||
libboost_serialization-mt.dll
|
libboost_serialization-mt.dll
|
||||||
libboost_thread-mt.dll
|
libboost_thread-mt.dll
|
||||||
libprotobuf.dll
|
libprotobuf.dll
|
||||||
@@ -97,12 +96,18 @@ if(APPLE OR (WIN32 AND NOT STATIC))
|
|||||||
libssl-3-x64.dll
|
libssl-3-x64.dll
|
||||||
libcrypto-3-x64.dll
|
libcrypto-3-x64.dll
|
||||||
#icu
|
#icu
|
||||||
libicudt74.dll
|
libicudt76.dll
|
||||||
libicuin74.dll
|
libicuin76.dll
|
||||||
libicuio74.dll
|
libicuio76.dll
|
||||||
libicutu74.dll
|
libicutu76.dll
|
||||||
libicuuc74.dll
|
libicuuc76.dll
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Boost Regex is header-only since 1.77
|
||||||
|
if (Boost_VERSION_STRING VERSION_LESS 1.77.0)
|
||||||
|
list(APPEND WIN_DEPLOY_DLLS libboost_regex-mt.dll)
|
||||||
|
endif()
|
||||||
|
|
||||||
list(TRANSFORM WIN_DEPLOY_DLLS PREPEND "$ENV{MSYSTEM_PREFIX}/bin/")
|
list(TRANSFORM WIN_DEPLOY_DLLS PREPEND "$ENV{MSYSTEM_PREFIX}/bin/")
|
||||||
add_custom_command(TARGET deploy
|
add_custom_command(TARGET deploy
|
||||||
POST_BUILD
|
POST_BUILD
|
||||||
|
|||||||
BIN
images/trezor5.png
Normal file
BIN
images/trezor5.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 305 KiB |
@@ -70,7 +70,7 @@ function checkSignature(signature) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function isValidOpenAliasAddress(address) {
|
function isValidOpenAliasAddress(address) {
|
||||||
var regex = /^[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)+$/; // Basic domain structure
|
var regex = /^[A-Za-z0-9-@]+(\.[A-Za-z0-9-]+)+$/; // Basic domain structure, allow email-like address
|
||||||
|
|
||||||
if (!regex.test(address)) {
|
if (!regex.test(address)) {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ function getApproximateBlockchainHeight(_date, _nettype){
|
|||||||
|
|
||||||
if(_nettype == "Testnet" || _nettype == "Stagenet"){
|
if(_nettype == "Testnet" || _nettype == "Stagenet"){
|
||||||
// testnet got some huge rollbacks, so the estimation is way off
|
// testnet got some huge rollbacks, so the estimation is way off
|
||||||
var approximateTestnetRolledBackBlocks = _nettype == "Testnet" ? 342100 : 30000;
|
var approximateTestnetRolledBackBlocks = _nettype == "Testnet" ? 342100 : _nettype == "Stagenet" ? 60000 : 30000;
|
||||||
if(approxBlockchainHeight > approximateTestnetRolledBackBlocks)
|
if(approxBlockchainHeight > approximateTestnetRolledBackBlocks)
|
||||||
approxBlockchainHeight -= approximateTestnetRolledBackBlocks
|
approxBlockchainHeight -= approximateTestnetRolledBackBlocks
|
||||||
}
|
}
|
||||||
|
|||||||
2
monero
2
monero
Submodule monero updated: ef3e18b51b...f1311d4237
1
qml.qrc
1
qml.qrc
@@ -283,6 +283,7 @@
|
|||||||
<file>images/ledgerNanoX.png</file>
|
<file>images/ledgerNanoX.png</file>
|
||||||
<file>images/ledgerStax.png</file>
|
<file>images/ledgerStax.png</file>
|
||||||
<file>images/trezor3.png</file>
|
<file>images/trezor3.png</file>
|
||||||
|
<file>images/trezor5.png</file>
|
||||||
<file>images/trezorT.png</file>
|
<file>images/trezorT.png</file>
|
||||||
<file>images/trezorT@2x.png</file>
|
<file>images/trezorT@2x.png</file>
|
||||||
<file>qtquickcontrols2.conf</file>
|
<file>qtquickcontrols2.conf</file>
|
||||||
|
|||||||
@@ -70,9 +70,6 @@ namespace
|
|||||||
|
|
||||||
QPixmap screenshot()
|
QPixmap screenshot()
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_MAC
|
|
||||||
return MacOSHelper::screenshot();
|
|
||||||
#else
|
|
||||||
std::unordered_set<QWindow *> hidden;
|
std::unordered_set<QWindow *> hidden;
|
||||||
const QWindowList windows = QGuiApplication::allWindows();
|
const QWindowList windows = QGuiApplication::allWindows();
|
||||||
for (QWindow *window : windows)
|
for (QWindow *window : windows)
|
||||||
@@ -91,7 +88,6 @@ QPixmap screenshot()
|
|||||||
});
|
});
|
||||||
|
|
||||||
return QGuiApplication::primaryScreen()->grabWindow(0);
|
return QGuiApplication::primaryScreen()->grabWindow(0);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
@@ -307,7 +303,7 @@ std::pair<quint8, QString> OSHelper::getNetworkTypeAndAddressFromFile(const QStr
|
|||||||
address = _address;
|
address = _address;
|
||||||
if(address.startsWith("5") || address.startsWith("7")){
|
if(address.startsWith("5") || address.startsWith("7")){
|
||||||
networkType = NetworkType::STAGENET;
|
networkType = NetworkType::STAGENET;
|
||||||
} else if(address.startsWith("9") || address.startsWith("B")){
|
} else if(address.startsWith("9") || address.startsWith("A")){
|
||||||
networkType = NetworkType::TESTNET;
|
networkType = NetworkType::TESTNET;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,21 +53,21 @@ void P2PoolManager::download() {
|
|||||||
QString fileName;
|
QString fileName;
|
||||||
QString validHash;
|
QString validHash;
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
url = "https://github.com/SChernykh/p2pool/releases/download/v3.10/p2pool-v3.10-windows-x64.zip";
|
url = "https://github.com/SChernykh/p2pool/releases/download/v4.4/p2pool-v4.4-windows-x64.zip";
|
||||||
fileName = m_p2poolPath + "/p2pool-v3.10-windows-x64.zip";
|
fileName = m_p2poolPath + "/p2pool-v4.4-windows-x64.zip";
|
||||||
validHash = "2b5a37576ac6e73a6f26a0112d9a51360babef765199fbe06a6bfc513ed45581";
|
validHash = "2f04ec3f4b28edf6f70bfc369b6ffba8d38af53d7a787d9ef5d630e5925e51de";
|
||||||
#elif defined(Q_OS_LINUX)
|
#elif defined(Q_OS_LINUX)
|
||||||
url = "https://github.com/SChernykh/p2pool/releases/download/v3.10/p2pool-v3.10-linux-x64.tar.gz";
|
url = "https://github.com/SChernykh/p2pool/releases/download/v4.4/p2pool-v4.4-linux-x64.tar.gz";
|
||||||
fileName = m_p2poolPath + "/p2pool-v3.10-linux-x64.tar.gz";
|
fileName = m_p2poolPath + "/p2pool-v4.4-linux-x64.tar.gz";
|
||||||
validHash = "441969c999e860231b2e48651747866754bad17292331fb22c5340c8a250168a";
|
validHash = "a3495e19b2587a38ac9afdb73de8e2eadc90f21e2c348cb972a3ece678cad5f1";
|
||||||
#elif defined(Q_OS_MACOS_AARCH64)
|
#elif defined(Q_OS_MACOS_AARCH64)
|
||||||
url = "https://github.com/SChernykh/p2pool/releases/download/v3.10/p2pool-v3.10-macos-aarch64.tar.gz";
|
url = "https://github.com/SChernykh/p2pool/releases/download/v4.4/p2pool-v4.4-macos-aarch64.tar.gz";
|
||||||
fileName = m_p2poolPath + "/p2pool-v3.10-macos-aarch64.tar.gz";
|
fileName = m_p2poolPath + "/p2pool-v4.4-macos-aarch64.tar.gz";
|
||||||
validHash = "f8ff6de7b2ac38f0d3ac23e30cc8827d5a1b83c4190f4e79e8db695acc742a68";
|
validHash = "b8496fe1c5312fa3678e3d0e5ba0cfb7b498b1358dc7ed76a20a38574fef35d4";
|
||||||
#elif defined(Q_OS_MACOS)
|
#elif defined(Q_OS_MACOS)
|
||||||
url = "https://github.com/SChernykh/p2pool/releases/download/v3.10/p2pool-v3.10-macos-x64.tar.gz";
|
url = "https://github.com/SChernykh/p2pool/releases/download/v4.4/p2pool-v4.4-macos-x64.tar.gz";
|
||||||
fileName = m_p2poolPath + "/p2pool-v3.10-macos-x64.tar.gz";
|
fileName = m_p2poolPath + "/p2pool-v4.4-macos-x64.tar.gz";
|
||||||
validHash = "9b20656556fe4bfe3df1df9a6f2c7c8bc9aa0dd2c4ac66ebca2c8580581ff9f6";
|
validHash = "8ab40faf7d1032835a3b3319b193ad2e14901e0b01e1e802c6b8333c8b75dfad";
|
||||||
#endif
|
#endif
|
||||||
QFile file(fileName);
|
QFile file(fileName);
|
||||||
epee::net_utils::http::http_simple_client http_client;
|
epee::net_utils::http::http_simple_client http_client;
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ class MacOSHelper
|
|||||||
public:
|
public:
|
||||||
static bool isCapsLock();
|
static bool isCapsLock();
|
||||||
static bool openFolderAndSelectItem(const QUrl &path);
|
static bool openFolderAndSelectItem(const QUrl &path);
|
||||||
static QPixmap screenshot();
|
|
||||||
static QString bundlePath();
|
static QString bundlePath();
|
||||||
static void disableWindowTabbing();
|
static void disableWindowTabbing();
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -68,41 +68,6 @@ bool MacOSHelper::openFolderAndSelectItem(const QUrl &path)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPixmap MacOSHelper::screenshot()
|
|
||||||
{
|
|
||||||
std::unordered_set<uintptr_t> appWindowIds;
|
|
||||||
for (NSWindow *window in [NSApp windows])
|
|
||||||
{
|
|
||||||
appWindowIds.insert((uintptr_t)[window windowNumber]);
|
|
||||||
}
|
|
||||||
|
|
||||||
CFArrayRef onScreenWindows = CGWindowListCreate(kCGWindowListOptionOnScreenOnly, kCGNullWindowID);
|
|
||||||
const auto onScreenWindowsClenaup = sg::make_scope_guard([&onScreenWindows]() {
|
|
||||||
CFRelease(onScreenWindows);
|
|
||||||
});
|
|
||||||
|
|
||||||
CFMutableArrayRef foreignWindows = CFArrayCreateMutable(NULL, CFArrayGetCount(onScreenWindows), NULL);
|
|
||||||
const auto foreignWindowsClenaup = sg::make_scope_guard([&foreignWindows]() {
|
|
||||||
CFRelease(foreignWindows);
|
|
||||||
});
|
|
||||||
|
|
||||||
for (CFIndex index = 0, count = CFArrayGetCount(onScreenWindows); index < count; ++index)
|
|
||||||
{
|
|
||||||
const uintptr_t windowId = reinterpret_cast<const uintptr_t>(CFArrayGetValueAtIndex(onScreenWindows, index));
|
|
||||||
if (appWindowIds.find(windowId) == appWindowIds.end())
|
|
||||||
{
|
|
||||||
CFArrayAppendValue(foreignWindows, reinterpret_cast<const void *>(windowId));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CGImageRef image = CGWindowListCreateImageFromArray(CGRectInfinite, foreignWindows, kCGWindowListOptionAll);
|
|
||||||
const auto imageClenaup = sg::make_scope_guard([&image]() {
|
|
||||||
CFRelease(image);
|
|
||||||
});
|
|
||||||
|
|
||||||
return QtMac::fromCGImageRef(image);
|
|
||||||
}
|
|
||||||
|
|
||||||
QString MacOSHelper::bundlePath()
|
QString MacOSHelper::bundlePath()
|
||||||
{
|
{
|
||||||
NSBundle *main = [NSBundle mainBundle];
|
NSBundle *main = [NSBundle mainBundle];
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ QString xdgMime(){
|
|||||||
"X-GNOME-FullName=Monero-GUI\n"
|
"X-GNOME-FullName=Monero-GUI\n"
|
||||||
"Comment=Monero GUI\n"
|
"Comment=Monero GUI\n"
|
||||||
"Keywords=Monero;\n"
|
"Keywords=Monero;\n"
|
||||||
"Exec=%1 %u\n"
|
"Exec=\"%1\" %u\n"
|
||||||
"Terminal=false\n"
|
"Terminal=false\n"
|
||||||
"Type=Application\n"
|
"Type=Application\n"
|
||||||
"Icon=monero\n"
|
"Icon=monero\n"
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ Rectangle {
|
|||||||
ListElement { column1: "Ledger Stax"; column2: "Ledger";}
|
ListElement { column1: "Ledger Stax"; column2: "Ledger";}
|
||||||
ListElement { column1: "Trezor Model T"; column2: "Trezor";}
|
ListElement { column1: "Trezor Model T"; column2: "Trezor";}
|
||||||
ListElement { column1: "Trezor Safe 3"; column2: "Trezor";}
|
ListElement { column1: "Trezor Safe 3"; column2: "Trezor";}
|
||||||
|
ListElement { column1: "Trezor Safe 5"; column2: "Trezor";}
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
@@ -169,6 +170,8 @@ Rectangle {
|
|||||||
return "qrc:///images/trezorT.png";
|
return "qrc:///images/trezorT.png";
|
||||||
} else if (trezorType == "Trezor Safe 3") {
|
} else if (trezorType == "Trezor Safe 3") {
|
||||||
return "qrc:///images/trezor3.png";
|
return "qrc:///images/trezor3.png";
|
||||||
|
} else if (trezorType == "Trezor Safe 5") {
|
||||||
|
return "qrc:///images/trezor5.png";
|
||||||
}
|
}
|
||||||
} else if (hardwareWalletType == "Ledger") {
|
} else if (hardwareWalletType == "Ledger") {
|
||||||
if (ledgerType == "Ledger Nano S") {
|
if (ledgerType == "Ledger Nano S") {
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ Rectangle {
|
|||||||
imageIcon: "qrc:///images/local-node-full.png"
|
imageIcon: "qrc:///images/local-node-full.png"
|
||||||
|
|
||||||
onMenuClicked: {
|
onMenuClicked: {
|
||||||
appWindow.persistentSettings.pruneBlockchain = false; // can be toggled on next page
|
appWindow.persistentSettings.pruneBlockchain = true;
|
||||||
applyWalletMode(2, 'wizardHome');
|
applyWalletMode(2, 'wizardHome');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ Rectangle {
|
|||||||
progress: appWindow.walletMode <= 1 ? 2 : 3
|
progress: appWindow.walletMode <= 1 ? 2 : 3
|
||||||
|
|
||||||
onPrevClicked: {
|
onPrevClicked: {
|
||||||
|
btnNext.enabled = true;
|
||||||
if (appWindow.walletMode <= 1){
|
if (appWindow.walletMode <= 1){
|
||||||
wizardStateView.state = "wizardRestoreWallet1";
|
wizardStateView.state = "wizardRestoreWallet1";
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user