diff options
| -rw-r--r-- | .github/workflows/build.yml | 8 | ||||
| -rw-r--r-- | Dockerfile.android | 2 | ||||
| -rw-r--r-- | Dockerfile.linux | 2 | ||||
| -rw-r--r-- | Dockerfile.windows | 2 | ||||
| -rw-r--r-- | Makefile | 4 | ||||
| -rw-r--r-- | README.md | 6 | ||||
| -rw-r--r-- | cmake/32-bit-toolchain.cmake | 50 | ||||
| -rw-r--r-- | cmake/64-bit-toolchain.cmake | 50 | ||||
| -rw-r--r-- | src/p2pool/P2PoolManager.cpp | 24 |
9 files changed, 25 insertions, 123 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e183613f..ef55788d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,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 libsodium miniupnpc unbound libunwind-headers protobuf qt5 pkg-config - name: build run: DEV_MODE=ON make release -j3 - name: test qml @@ -57,8 +57,10 @@ jobs: submodules: recursive - uses: eine/setup-msys2@v2 with: + msystem: ucrt64 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: make + pacboy: toolchain:p pcre:p cmake:p boost:p openssl:p zeromq:p libsodium:p hidapi:p protobuf-c:p libusb:p unbound:p git qt5:p libgcrypt:p angleproject:p - name: add qmake.exe and windeployqt.exe run: | cp -f "$MSYSTEM_PREFIX/bin/qmake-qt5.exe" "$MSYSTEM_PREFIX/bin/qmake.exe" @@ -78,7 +80,7 @@ jobs: with: submodules: recursive - name: install dependencies - run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq libpgm miniupnpc expat libunwind-headers protobuf pkg-config + run: HOMEBREW_NO_AUTO_UPDATE=1 brew install boost hidapi openssl zmq miniupnpc unbound libunwind-headers protobuf pkg-config - name: clone qt repo run: git clone -b "${QT_TAG}" --recursive --depth 1 --shallow-submodules https://github.com/qt/qt5 - name: build qt from source diff --git a/Dockerfile.android b/Dockerfile.android index 9d1e9ab9..7e3189cc 100644 --- a/Dockerfile.android +++ b/Dockerfile.android @@ -5,7 +5,7 @@ ARG ANDROID_NDK_REVISION=23c ARG ANDROID_NDK_HASH=e5053c126a47e84726d9f7173a04686a71f9a67a ARG ANDROID_SDK_REVISION=7302050_latest ARG ANDROID_SDK_HASH=7a00faadc0864f78edd8f4908a629a46d622375cbe2e5814e82934aebecdb622 -ARG QT_VERSION=v5.15.18-lts-lgpl +ARG QT_VERSION=v5.15.19-lts-lgpl WORKDIR /opt/android ENV WORKDIR=/opt/android diff --git a/Dockerfile.linux b/Dockerfile.linux index f6f75cef..dc5795cf 100644 --- a/Dockerfile.linux +++ b/Dockerfile.linux @@ -1,7 +1,7 @@ FROM ubuntu:18.04 ARG THREADS=1 -ARG QT_VERSION=v5.15.18-lts-lgpl +ARG QT_VERSION=v5.15.19-lts-lgpl ENV CFLAGS="-fPIC" ENV CPPFLAGS="-fPIC" diff --git a/Dockerfile.windows b/Dockerfile.windows index aaf4e4d6..07542705 100644 --- a/Dockerfile.windows +++ b/Dockerfile.windows @@ -1,7 +1,7 @@ FROM ubuntu:20.04 ARG THREADS=1 -ARG QT_VERSION=v5.15.18-lts-lgpl +ARG QT_VERSION=v5.15.19-lts-lgpl ENV SOURCE_DATE_EPOCH=1397818193 RUN apt update && \ @@ -64,7 +64,7 @@ debug-static-mac64: cd $(builddir)/debug && cmake -D STATIC=ON -D DEV_MODE=$(or ${DEV_MODE},ON) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Debug -D BUILD_TAG="mac-x64" $(topdir) && $(MAKE) release-static-win64: - mkdir -p $(builddir)/release && cd $(builddir)/release && cmake -D STATIC=ON -G "MSYS Makefiles" -D DEV_MODE=$(or ${DEV_MODE},OFF) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="win-x64" -D CMAKE_TOOLCHAIN_FILE=$(topdir)/cmake/64-bit-toolchain.cmake -D MSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) -D MINGW=ON $(topdir) && $(MAKE) + mkdir -p $(builddir)/release && cd $(builddir)/release && cmake -D STATIC=ON -G "MSYS Makefiles" -D DEV_MODE=$(or ${DEV_MODE},OFF) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="win-x64" $(topdir) && $(MAKE) release-win64: - mkdir -p $(builddir)/release && cd $(builddir)/release && cmake -D STATIC=OFF -G "MSYS Makefiles" -D DEV_MODE=$(or ${DEV_MODE},OFF) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="win-x64" -D CMAKE_TOOLCHAIN_FILE=$(topdir)/cmake/64-bit-toolchain.cmake -D MSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) -D MINGW=ON $(topdir) && $(MAKE) + mkdir -p $(builddir)/release && cd $(builddir)/release && cmake -D STATIC=OFF -G "MSYS Makefiles" -D DEV_MODE=$(or ${DEV_MODE},OFF) -DMANUAL_SUBMODULES=${MANUAL_SUBMODULES} -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="win-x64" $(topdir) && $(MAKE) @@ -219,9 +219,9 @@ Packaging for your favorite distribution would be a welcome contribution! 2. Install Qt: - *Note*: The Qt 5.9.7 or newer requirement makes **some** distributions (mostly based on Debian, like Ubuntu 16.x or Linux Mint 18.x) obsolete due to their repositories containing an older Qt version. + *Note*: The Qt 5.12 or newer requirement makes **some** distributions (mostly based on Debian, like Ubuntu 16.x or Linux Mint 18.x) obsolete due to their repositories containing an older Qt version. - The recommended way is to install 5.9.7 from the [official Qt installer](https://www.qt.io/download-qt-installer) or [compiling it yourself](https://wiki.qt.io/Install_Qt_5_on_Ubuntu). This ensures you have the correct version. Higher versions *can* work but as it differs from our production build target, slight differences may occur. + The recommended way is to install 5.12 or newer from the [official Qt installer](https://www.qt.io/download-qt-installer) or [compiling it yourself](https://wiki.qt.io/Install_Qt_5_on_Ubuntu). This ensures you have the correct version. Higher versions *can* work but as it differs from our production build target, slight differences may occur. The following instructions will fetch Qt from your distribution's repositories instead. Take note of what version it installs. Your mileage may vary. @@ -277,7 +277,7 @@ The executable can be found in the build/release/bin folder. 4. Install Qt: - `brew install qt5` (or download QT 5.9.7+ from [qt.io](https://www.qt.io/download-open-source/)) + `brew install qt5` (or download QT 5.12+ from [qt.io](https://www.qt.io/download-open-source/)) 5. Grab an up-to-date copy of the monero-gui repository diff --git a/cmake/32-bit-toolchain.cmake b/cmake/32-bit-toolchain.cmake deleted file mode 100644 index 852b151f..00000000 --- a/cmake/32-bit-toolchain.cmake +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright (c) 2014-2024, The Monero Project -# -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are -# permitted provided that the following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of -# conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list -# of conditions and the following disclaimer in the documentation and/or other -# materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be -# used to endorse or promote products derived from this software without specific -# prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL -# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF -# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (NOT CMAKE_HOST_WIN32) - set (CMAKE_SYSTEM_NAME Windows) -endif() - -set (GCC_PREFIX i686-w64-mingw32) -set (CMAKE_C_COMPILER ${GCC_PREFIX}-gcc) -set (CMAKE_CXX_COMPILER ${GCC_PREFIX}-g++) -set (CMAKE_AR ar CACHE FILEPATH "" FORCE) -set (CMAKE_NM nm CACHE FILEPATH "" FORCE) -set (CMAKE_LINKER ld CACHE FILEPATH "" FORCE) -#set (CMAKE_RANLIB ${GCC_PREFIX}-gcc-ranlib CACHE FILEPATH "" FORCE) -set (CMAKE_RC_COMPILER windres) - -set (CMAKE_FIND_ROOT_PATH "${MSYS2_FOLDER}/mingw32") - -# Ensure cmake doesn't find things in the wrong places -set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # Find programs on host -set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) # Find libs in target -set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # Find includes in target - -set (MINGW_FLAG "-m32") -set (USE_LTO_DEFAULT false) diff --git a/cmake/64-bit-toolchain.cmake b/cmake/64-bit-toolchain.cmake deleted file mode 100644 index 81e226e3..00000000 --- a/cmake/64-bit-toolchain.cmake +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright (c) 2014-2024, The Monero Project -# -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without modification, are -# permitted provided that the following conditions are met: -# -# 1. Redistributions of source code must retain the above copyright notice, this list of -# conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright notice, this list -# of conditions and the following disclaimer in the documentation and/or other -# materials provided with the distribution. -# -# 3. Neither the name of the copyright holder nor the names of its contributors may be -# used to endorse or promote products derived from this software without specific -# prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL -# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF -# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -if (NOT CMAKE_HOST_WIN32) - set (CMAKE_SYSTEM_NAME Windows) -endif() - -set (GCC_PREFIX x86_64-w64-mingw32) -set (CMAKE_C_COMPILER ${GCC_PREFIX}-gcc) -set (CMAKE_CXX_COMPILER ${GCC_PREFIX}-g++) -set (CMAKE_AR ar CACHE FILEPATH "" FORCE) -set (CMAKE_NM nm CACHE FILEPATH "" FORCE) -set (CMAKE_LINKER ld CACHE FILEPATH "" FORCE) -#set (CMAKE_RANLIB ${GCC_PREFIX}-gcc-ranlib CACHE FILEPATH "" FORCE) -set (CMAKE_RC_COMPILER windres) - -set (CMAKE_FIND_ROOT_PATH "${MSYS2_FOLDER}/mingw64") - -# Ensure cmake doesn't find things in the wrong places -set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # Find programs on host -set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) # Find libs in target -set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # Find includes in target - -set (MINGW_FLAG "-m64") -set (USE_LTO_DEFAULT false) diff --git a/src/p2pool/P2PoolManager.cpp b/src/p2pool/P2PoolManager.cpp index cf1af558..c1e580e4 100644 --- a/src/p2pool/P2PoolManager.cpp +++ b/src/p2pool/P2PoolManager.cpp @@ -55,21 +55,21 @@ void P2PoolManager::download() { QString fileName; QString validHash; #ifdef Q_OS_WIN - url = "https://github.com/SChernykh/p2pool/releases/download/v4.15/p2pool-v4.15-windows-x64.zip"; - fileName = m_p2poolPath + "/p2pool-v4.15-windows-x64.zip"; - validHash = "c131d1ebf8658780f632276db587866f9e0d6d7952c04135fb0559c76249541e"; + url = "https://github.com/SChernykh/p2pool/releases/download/v4.16/p2pool-v4.16-windows-x64.zip"; + fileName = m_p2poolPath + "/p2pool-v4.16-windows-x64.zip"; + validHash = "8f619bf215e986f8b96526a1a279b83c84b569a0916c1d19713bfb616e78160a"; #elif defined(Q_OS_LINUX) - url = "https://github.com/SChernykh/p2pool/releases/download/v4.15/p2pool-v4.15-linux-x64.tar.gz"; - fileName = m_p2poolPath + "/p2pool-v4.15-linux-x64.tar.gz"; - validHash = "1611a159b4f60e12d9dc9650597cbe831961a123621216349d764f620cdff34b"; + url = "https://github.com/SChernykh/p2pool/releases/download/v4.16/p2pool-v4.16-linux-x64.tar.gz"; + fileName = m_p2poolPath + "/p2pool-v4.16-linux-x64.tar.gz"; + validHash = "1b03b2e4d4adfe488b2867eb85b57366fbaf8594a7f84cdbf13a3c8519159280"; #elif defined(Q_OS_MACOS_AARCH64) - url = "https://github.com/SChernykh/p2pool/releases/download/v4.15/p2pool-v4.15-macos-aarch64.tar.gz"; - fileName = m_p2poolPath + "/p2pool-v4.15-macos-aarch64.tar.gz"; - validHash = "14211494a9d0adce8547c77eb75c5f86f8608dfbb4fa0e80b1967ece0dc916b5"; + url = "https://github.com/SChernykh/p2pool/releases/download/v4.16/p2pool-v4.16-macos-aarch64.tar.gz"; + fileName = m_p2poolPath + "/p2pool-v4.16-macos-aarch64.tar.gz"; + validHash = "8e1d8c10850015c50cc4955dc3b9681007f329d51325a3a55bde700298bcfaeb"; #elif defined(Q_OS_MACOS) - url = "https://github.com/SChernykh/p2pool/releases/download/v4.15/p2pool-v4.15-macos-x64.tar.gz"; - fileName = m_p2poolPath + "/p2pool-v4.15-macos-x64.tar.gz"; - validHash = "a358489a4b1a6addfcc86ff235a0ce50210899f5e3a6dc93ce0eb69e0d181564"; + url = "https://github.com/SChernykh/p2pool/releases/download/v4.16/p2pool-v4.16-macos-x64.tar.gz"; + fileName = m_p2poolPath + "/p2pool-v4.16-macos-x64.tar.gz"; + validHash = "573b6aa9b953fb5594f7eb21b1321a8d719e181b6814f931ce54b603dc6f0663"; #endif QFile file(fileName); epee::net_utils::http::http_simple_client http_client; |
