summaryrefslogtreecommitdiff
path: root/patches/0004-fix-build-issues.patch
diff options
context:
space:
mode:
authorcyan <cyjan@mrcyjanek.net>2024-11-02 20:51:39 +0000
committercyan <cyjan@mrcyjanek.net>2024-11-02 20:51:39 +0000
commitc2f8725addb42d39fc16ecb7f07a93d98c846cc2 (patch)
tree5581f3c3376a4d2216dc7c1515510ccd2b06b632 /patches/0004-fix-build-issues.patch
parent0f2f9ad40cb8bfc3fe946a92114aaa482f54e9db (diff)
fix zano boost issues
Diffstat (limited to 'patches/0004-fix-build-issues.patch')
-rw-r--r--patches/0004-fix-build-issues.patch262
1 files changed, 262 insertions, 0 deletions
diff --git a/patches/0004-fix-build-issues.patch b/patches/0004-fix-build-issues.patch
new file mode 100644
index 0000000..fde38f4
--- /dev/null
+++ b/patches/0004-fix-build-issues.patch
@@ -0,0 +1,262 @@
+From d06b49d9a45750b97eee974f2e7453fb24246165 Mon Sep 17 00:00:00 2001
+From: cyan <cyjan@mrcyjanek.net>
+Date: Sat, 2 Nov 2024 20:50:26 +0000
+Subject: [PATCH] fix build issues
+
+---
+ contrib/db/libmdbx/CMakeLists.txt | 2 +-
+ .../db/libmdbx/packages/rpm/CMakeLists.txt | 2 +-
+ contrib/depends/hosts/android.mk | 19 ++++++++++---
+ contrib/depends/hosts/darwin.mk | 2 +-
+ contrib/depends/packages/android_ndk.mk | 27 ++++++++++++++-----
+ contrib/depends/packages/boost.mk | 17 +++++++-----
+ contrib/depends/packages/openssl.mk | 2 +-
+ contrib/depends/toolchain.cmake.in | 17 ++++++------
+ contrib/epee/include/file_io_utils.h | 8 +++---
+ 9 files changed, 62 insertions(+), 34 deletions(-)
+
+diff --git a/contrib/db/libmdbx/CMakeLists.txt b/contrib/db/libmdbx/CMakeLists.txt
+index 75e9b3b0..01a5915c 100644
+--- a/contrib/db/libmdbx/CMakeLists.txt
++++ b/contrib/db/libmdbx/CMakeLists.txt
+@@ -80,7 +80,7 @@ macro(add_mdbx_option NAME DESCRIPTION DEFAULT)
+ endmacro()
+
+ # only for compatibility testing
+-# set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+
+ if(NOT "$ENV{TEAMCITY_PROCESS_FLOW_ID}" STREQUAL "")
+ set(CI TEAMCITY)
+diff --git a/contrib/db/libmdbx/packages/rpm/CMakeLists.txt b/contrib/db/libmdbx/packages/rpm/CMakeLists.txt
+index 5949e9f0..e7b677bd 100644
+--- a/contrib/db/libmdbx/packages/rpm/CMakeLists.txt
++++ b/contrib/db/libmdbx/packages/rpm/CMakeLists.txt
+@@ -12,7 +12,7 @@ set(MDBX_VERSION_STRING ${MDBX_VERSION_MAJOR}.${MDBX_VERSION_MINOR}.${MDBX_VERSI
+ enable_language(C)
+ enable_language(CXX)
+
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_STANDARD_REQUIRED on)
+
+ add_definitions(-DNDEBUG=1 -DMDBX_DEBUG=0 -DLIBMDBX_EXPORTS=1 -D_GNU_SOURCE=1)
+diff --git a/contrib/depends/hosts/android.mk b/contrib/depends/hosts/android.mk
+index bbc8bd3b..827103c3 100644
+--- a/contrib/depends/hosts/android.mk
++++ b/contrib/depends/hosts/android.mk
+@@ -1,12 +1,22 @@
+ ANDROID_API=21
+-
+-ifeq ($(host_arch),arm)
+-host_toolchain=arm-linux-androideabi-
++host_toolchain=nonexistent
++ifeq ($(host_arch),armv7a)
++host_toolchain=armv7a-linux-androideabi${ANDROID_API}-
++endif
++ifeq ($(host_arch),x86_64)
++host_toolchain=x86_64-linux-android${ANDROID_API}-
++endif
++ifeq ($(host_arch),i686)
++host_toolchain=i686-linux-android${ANDROID_API}-
++endif
++ifeq ($(host_arch),aarch64)
++host_toolchain=aarch64-linux-android${ANDROID_API}-
+ endif
+
+ android_CC=$(host_toolchain)clang
+ android_CXX=$(host_toolchain)clang++
+-android_RANLIB=:
++android_RANLIB=llvm-ranlib
++android_AR=llvm-ar
+
+ android_CFLAGS=-pipe
+ android_CXXFLAGS=$(android_CFLAGS)
+@@ -19,3 +29,4 @@ android_debug_CFLAGS=-g -O0
+ android_debug_CXXFLAGS=$(android_debug_CFLAGS)
+
+ android_native_toolchain=android_ndk
++
+diff --git a/contrib/depends/hosts/darwin.mk b/contrib/depends/hosts/darwin.mk
+index cbe79508..b14ee5c5 100644
+--- a/contrib/depends/hosts/darwin.mk
++++ b/contrib/depends/hosts/darwin.mk
+@@ -1,4 +1,4 @@
+-OSX_MIN_VERSION=10.8
++OSX_MIN_VERSION=10.14
+ LD64_VERSION=609
+ ifeq (aarch64, $(host_arch))
+ CC_target=arm64-apple-$(host_os)
+diff --git a/contrib/depends/packages/android_ndk.mk b/contrib/depends/packages/android_ndk.mk
+index b7fbb373..2c2914ec 100644
+--- a/contrib/depends/packages/android_ndk.mk
++++ b/contrib/depends/packages/android_ndk.mk
+@@ -1,11 +1,13 @@
+ package=android_ndk
+-$(package)_version=17b
++$(package)_version=26d
+ $(package)_download_path=https://dl.google.com/android/repository/
+-$(package)_file_name=android-ndk-r$($(package)_version)-linux-x86_64.zip
+-$(package)_sha256_hash=5dfbbdc2d3ba859fed90d0e978af87c71a91a5be1f6e1c40ba697503d48ccecd
++$(package)_file_name=android-ndk-r$($(package)_version)-linux.zip
++$(package)_sha256_hash=eefeafe7ccf177de7cc57158da585e7af119bb7504a63604ad719e4b2a328b54
++
++$(package)_version_apiversion=21
+
+ define $(package)_set_vars
+-$(package)_config_opts_arm=--arch arm
++$(package)_config_opts_armv7a=--arch arm
+ $(package)_config_opts_aarch64=--arch arm64
+ $(package)_config_opts_x86_64=--arch x86_64
+ $(package)_config_opts_i686=--arch x86
+@@ -16,8 +18,19 @@ define $(package)_extract_cmds
+ unzip -q $($(1)_source_dir)/$($(package)_file_name)
+ endef
+
++# arm-linux-androideabi-ar - openssl workaround
++
+ define $(package)_stage_cmds
+- android-ndk-r$($(package)_version)/build/tools/make_standalone_toolchain.py --api 21 \
+- --install-dir $(build_prefix) --stl=libc++ $($(package)_config_opts) &&\
+- mv $(build_prefix) $($(package)_staging_dir)/$(host_prefix)
++ mkdir -p $(build_prefix) &&\
++ echo $(build_prefix)/toolchain && \
++ android-ndk-r$($(package)_version)/build/tools/make_standalone_toolchain.py --api $($(package)_version_apiversion) \
++ --install-dir $(build_prefix)/toolchain --stl=libc++ $($(package)_config_opts) &&\
++ mv $(build_prefix)/toolchain $($(package)_staging_dir)/$(host_prefix)/native && \
++ cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ar $($(package)_staging_dir)/$(host_prefix)/native/bin/$(host)$($(package)_version_apiversion)-ar &&\
++ cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ar $($(package)_staging_dir)/$(host_prefix)/native/bin/arm-linux-androideabi-ar &&\
++ cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ranlib $($(package)_staging_dir)/$(host_prefix)/native/bin/$(host)$($(package)_version_apiversion)-ranlib &&\
++ cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ranlib $($(package)_staging_dir)/$(host_prefix)/native/bin/arm-linux-androideabi-ranlib &&\
++ cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ar $($(package)_staging_dir)/$(host_prefix)/native/bin/$(host)-ar &&\
++ cp $($(package)_staging_dir)/$(host_prefix)/native/bin/llvm-ranlib $($(package)_staging_dir)/$(host_prefix)/native/bin/$(host)-ranlib
+ endef
++
+diff --git a/contrib/depends/packages/boost.mk b/contrib/depends/packages/boost.mk
+index be382d3a..d60bfa74 100644
+--- a/contrib/depends/packages/boost.mk
++++ b/contrib/depends/packages/boost.mk
+@@ -1,8 +1,8 @@
+ package=boost
+-$(package)_version=1_70_0
+-$(package)_download_path=https://downloads.sourceforge.net/project/boost/boost/1.70.0/
++$(package)_version=1_84_0
++$(package)_download_path=https://downloads.sourceforge.net/project/boost/boost/1.84.0/
+ $(package)_file_name=$(package)_$($(package)_version).tar.bz2
+-$(package)_sha256_hash=430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778
++$(package)_sha256_hash=cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454
+ $(package)_dependencies=libiconv
+ $(package)_patches=fix_aroptions.patch fix_arm_arch.patch fix_pthread_win.patch fix_pthread.patch
+
+@@ -26,13 +26,16 @@ $(package)_config_libraries=system,filesystem,thread,timer,date_time,chrono,rege
+ $(package)_cxxflags=-std=c++11
+ $(package)_cxxflags_linux=-fPIC
+ $(package)_cxxflags_freebsd=-fPIC
++$(package)_cxxflags_android=-fPIC
+ endef
++# patch -p1 < $($(package)_patch_dir)/fix_aroptions.patch &&\
++# patch -p1 < $($(package)_patch_dir)/fix_arm_arch.patch &&\
++# patch -p1 < $($(package)_patch_dir)/fix_pthread_win.patch &&\
++# patch -p1 < $($(package)_patch_dir)/fix_pthread.patch &&\
++#
++#
+
+ define $(package)_preprocess_cmds
+- patch -p1 < $($(package)_patch_dir)/fix_aroptions.patch &&\
+- patch -p1 < $($(package)_patch_dir)/fix_arm_arch.patch &&\
+- patch -p1 < $($(package)_patch_dir)/fix_pthread_win.patch &&\
+- patch -p1 < $($(package)_patch_dir)/fix_pthread.patch &&\
+ echo "using $(boost_toolset_$(host_os)) : : $($(package)_cxx) : <cxxflags>\"$($(package)_cxxflags) $($(package)_cppflags)\" <linkflags>\"$($(package)_ldflags)\" <archiver>\"$(boost_archiver_$(host_os))\" <arflags>\"$($(package)_arflags)\" <striper>\"$(host_STRIP)\" <ranlib>\"$(host_RANLIB)\" <rc>\"$(host_WINDRES)\" : ;" > user-config.jam
+ endef
+
+diff --git a/contrib/depends/packages/openssl.mk b/contrib/depends/packages/openssl.mk
+index a157762c..2430f649 100644
+--- a/contrib/depends/packages/openssl.mk
++++ b/contrib/depends/packages/openssl.mk
+@@ -34,7 +34,7 @@ $(package)_config_opts_x86_64_linux=linux-x86_64
+ $(package)_config_opts_i686_linux=linux-generic32
+ $(package)_config_opts_arm_linux=linux-generic32
+ $(package)_config_opts_aarch64_linux=linux-generic64
+-$(package)_config_opts_arm_android=--static android-arm
++$(package)_config_opts_armv7a_android=--static android-arm
+ $(package)_config_opts_aarch64_android=--static android-arm64
+ $(package)_config_opts_aarch64_darwin=darwin64-arm64-cc
+ $(package)_config_opts_riscv64_linux=linux-generic64
+diff --git a/contrib/depends/toolchain.cmake.in b/contrib/depends/toolchain.cmake.in
+index 48279eda..48a6f947 100644
+--- a/contrib/depends/toolchain.cmake.in
++++ b/contrib/depends/toolchain.cmake.in
+@@ -14,7 +14,7 @@ SET(ARCH "default")
+ SET(BUILD_TESTS @build_tests@)
+ SET(TREZOR_DEBUG @build_tests@)
+
+-# where is the target environment
++# where is the target environment
+ SET(CMAKE_FIND_ROOT_PATH @prefix@ /usr)
+
+ SET(ENV{PKG_CONFIG_PATH} @prefix@/lib/pkgconfig)
+@@ -94,26 +94,27 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ SET(BREW OFF)
+ SET(PORT OFF)
+ SET(CMAKE_OSX_SYSROOT "@prefix@/native/SDK/")
+- SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.08")
++ SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.14")
+ SET(CMAKE_CXX_STANDARD 14)
+ SET(LLVM_ENABLE_PIC OFF)
+ SET(LLVM_ENABLE_PIE OFF)
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "Android")
+ SET(ANDROID TRUE)
+- if(ARCHITECTURE STREQUAL "arm")
++ if(ARCHITECTURE STREQUAL "armv7a")
+ SET(CMAKE_ANDROID_ARCH_ABI "armeabi-v7a")
+ SET(CMAKE_SYSTEM_PROCESSOR "armv7-a")
+ SET(CMAKE_ANDROID_ARM_MODE ON)
+- SET(CMAKE_C_COMPILER_TARGET arm-linux-androideabi)
+- SET(CMAKE_CXX_COMPILER_TARGET arm-linux-androideabi)
+- SET(_CMAKE_TOOLCHAIN_PREFIX arm-linux-androideabi-)
++ SET(CMAKE_C_COMPILER_TARGET armv7a-linux-androideabi21)
++ SET(CMAKE_CXX_COMPILER_TARGET armv7a-linux-androideabi21)
++ SET(_CMAKE_TOOLCHAIN_PREFIX armv7a-linux-androideabi21-)
+ elseif(ARCHITECTURE STREQUAL "aarch64")
+ SET(CMAKE_ANDROID_ARCH_ABI "arm64-v8a")
+ SET(CMAKE_SYSTEM_PROCESSOR "aarch64")
+ endif()
+ SET(CMAKE_ANDROID_STANDALONE_TOOLCHAIN @prefix@/native)
+- SET(CMAKE_C_COMPILER "${_CMAKE_TOOLCHAIN_PREFIX}clang")
+- SET(CMAKE_CXX_COMPILER "${_CMAKE_TOOLCHAIN_PREFIX}clang++")
++ SET(_ANDROID_STANDALONE_TOOLCHAIN_API 21)
++ SET(CMAKE_C_COMPILER @CC@)
++ SET(CMAKE_CXX_COMPILER @CXX@)
+ else()
+ SET(CMAKE_C_COMPILER @CC@)
+ SET(CMAKE_CXX_COMPILER @CXX@)
+diff --git a/contrib/epee/include/file_io_utils.h b/contrib/epee/include/file_io_utils.h
+index 9d5118cb..622d40e6 100644
+--- a/contrib/epee/include/file_io_utils.h
++++ b/contrib/epee/include/file_io_utils.h
+@@ -35,7 +35,7 @@
+ #include <iostream>
+ #include <boost/filesystem.hpp>
+ #include <boost/filesystem/fstream.hpp>
+-#include <filesystem>
++// #include <filesystem>
+
+ #ifndef MAKE64
+ #define MAKE64(low,high) ((__int64)(((DWORD)(low)) | ((__int64)((DWORD)(high))) << 32))
+@@ -562,10 +562,10 @@ namespace file_io_utils
+ try
+ {
+
+- std::filesystem::directory_iterator end_itr; // default construction yields past-the-end
+- for ( std::filesystem::directory_iterator itr( epee::string_encoding::utf8_to_wstring(path) ); itr != end_itr; ++itr )
++ boost::filesystem::directory_iterator end_itr; // default construction yields past-the-end
++ for ( boost::filesystem::directory_iterator itr( epee::string_encoding::utf8_to_wstring(path) ); itr != end_itr; ++itr )
+ {
+- if ( only_files && std::filesystem::is_directory(itr->status()) )
++ if ( only_files && boost::filesystem::is_directory(itr->status()) )
+ {
+ continue;
+ }
+--
+2.43.0
+