aboutsummaryrefslogtreecommitdiff
path: root/depends
diff options
context:
space:
mode:
Diffstat (limited to 'depends')
-rw-r--r--depends/Makefile9
-rw-r--r--depends/README.md1
-rw-r--r--depends/config.site.in9
-rw-r--r--depends/packages/libICE.mk23
-rw-r--r--depends/packages/libSM.mk23
-rw-r--r--depends/packages/libX11.mk4
-rw-r--r--depends/packages/libXau.mk4
-rw-r--r--depends/packages/libXext.mk4
-rw-r--r--depends/packages/libxcb.mk1
-rw-r--r--depends/packages/packages.mk6
-rw-r--r--depends/packages/protobuf.mk5
-rw-r--r--depends/packages/qrencode.mk4
-rw-r--r--depends/packages/qt.mk10
-rw-r--r--depends/packages/rapidcheck.mk18
-rw-r--r--depends/packages/xextproto.mk4
-rw-r--r--depends/packages/xproto.mk4
-rw-r--r--depends/packages/xtrans.mk4
-rw-r--r--depends/patches/qt/fix_rcc_determinism.patch15
-rw-r--r--depends/patches/qt/fix_riscv64_arch.patch14
-rw-r--r--depends/patches/qt/xkb-default.patch26
20 files changed, 133 insertions, 55 deletions
diff --git a/depends/Makefile b/depends/Makefile
index 3686aaf1f8..50cc77ddeb 100644
--- a/depends/Makefile
+++ b/depends/Makefile
@@ -5,6 +5,7 @@ WORK_PATH = $(BASEDIR)/work
BASE_CACHE ?= $(BASEDIR)/built
SDK_PATH ?= $(BASEDIR)/SDKs
NO_QT ?=
+RAPIDCHECK ?=
NO_WALLET ?=
NO_UPNP ?=
FALLBACK_DOWNLOAD_PATH ?= https://bitcoincore.org/depends-sources
@@ -14,7 +15,7 @@ HOST ?= $(BUILD)
PATCHES_PATH = $(BASEDIR)/patches
BASEDIR = $(CURDIR)
HASH_LENGTH:=11
-DOWNLOAD_CONNECT_TIMEOUT:=10
+DOWNLOAD_CONNECT_TIMEOUT:=30
DOWNLOAD_RETRIES:=3
HOST_ID_SALT ?= salt
BUILD_ID_SALT ?= salt
@@ -93,6 +94,8 @@ qt_packages_$(NO_QT) = $(qt_packages) $(qt_$(host_os)_packages) $(qt_$(host_arch
wallet_packages_$(NO_WALLET) = $(wallet_packages)
upnp_packages_$(NO_UPNP) = $(upnp_packages)
+rapidcheck_packages_$(RAPIDCHECK) = $(rapidcheck_packages)
+
packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages) $(qt_packages_) $(wallet_packages_) $(upnp_packages_)
native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages)
@@ -100,6 +103,10 @@ ifneq ($(qt_packages_),)
native_packages += $(qt_native_packages)
endif
+ifeq ($(rapidcheck_packages_),)
+packages += $(rapidcheck_packages)
+endif
+
all_packages = $(packages) $(native_packages)
meta_depends = Makefile funcs.mk builders/default.mk hosts/default.mk hosts/$(host_os).mk builders/$(build_os).mk
diff --git a/depends/README.md b/depends/README.md
index fd343f7010..73bfc8b726 100644
--- a/depends/README.md
+++ b/depends/README.md
@@ -63,6 +63,7 @@ The following can be set when running make: make FOO=bar
NO_WALLET: Don't download/build/cache libs needed to enable the wallet
NO_UPNP: Don't download/build/cache packages needed for enabling upnp
DEBUG: disable some optimizations and enable more runtime checking
+ RAPIDCHECK: build rapidcheck (experimental)
HOST_ID_SALT: Optional salt to use when generating host package ids
BUILD_ID_SALT: Optional salt to use when generating build package ids
diff --git a/depends/config.site.in b/depends/config.site.in
index 8444dc26f2..b7a5e795c8 100644
--- a/depends/config.site.in
+++ b/depends/config.site.in
@@ -61,9 +61,12 @@ fi
CPPFLAGS="-I$depends_prefix/include/ $CPPFLAGS"
LDFLAGS="-L$depends_prefix/lib $LDFLAGS"
-CC="@CC@"
-CXX="@CXX@"
-OBJC="${CC}"
+if test -n "@CC@" -a -z "${CC}"; then
+ CC="@CC@"
+fi
+if test -n "@CXX@" -a -z "${CXX}"; then
+ CXX="@CXX@"
+fi
PYTHONPATH=$depends_prefix/native/lib/python/dist-packages:$PYTHONPATH
if test -n "@AR@"; then
diff --git a/depends/packages/libICE.mk b/depends/packages/libICE.mk
deleted file mode 100644
index fc60323b1c..0000000000
--- a/depends/packages/libICE.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-package=libICE
-$(package)_version=1.0.9
-$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/
-$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=8f7032f2c1c64352b5423f6b48a8ebdc339cc63064af34d66a6c9aa79759e202
-$(package)_dependencies=xtrans xproto
-
-define $(package)_set_vars
- $(package)_config_opts=--disable-static --disable-docs --disable-specs --without-xsltproc
- $(package)_config_opts_linux=--with-pic
-endef
-
-define $(package)_config_cmds
- $($(package)_autoconf)
-endef
-
-define $(package)_build_cmds
- $(MAKE)
-endef
-
-define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
-endef
diff --git a/depends/packages/libSM.mk b/depends/packages/libSM.mk
deleted file mode 100644
index 0f9307ca76..0000000000
--- a/depends/packages/libSM.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-package=libSM
-$(package)_version=1.2.2
-$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/
-$(package)_file_name=$(package)-$($(package)_version).tar.bz2
-$(package)_sha256_hash=0baca8c9f5d934450a70896c4ad38d06475521255ca63b717a6510fdb6e287bd
-$(package)_dependencies=xtrans xproto libICE
-
-define $(package)_set_vars
- $(package)_config_opts=--without-libuuid --without-xsltproc --disable-docs --disable-static
- $(package)_config_opts_linux=--with-pic
-endef
-
-define $(package)_config_cmds
- $($(package)_autoconf)
-endef
-
-define $(package)_build_cmds
- $(MAKE)
-endef
-
-define $(package)_stage_cmds
- $(MAKE) DESTDIR=$($(package)_staging_dir) install
-endef
diff --git a/depends/packages/libX11.mk b/depends/packages/libX11.mk
index 178d592ee6..298616bea4 100644
--- a/depends/packages/libX11.mk
+++ b/depends/packages/libX11.mk
@@ -10,6 +10,10 @@ $(package)_config_opts=--disable-xkb --disable-static
$(package)_config_opts_linux=--with-pic
endef
+define $(package)_preprocess_cmds
+ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
+endef
+
define $(package)_config_cmds
$($(package)_autoconf)
endef
diff --git a/depends/packages/libXau.mk b/depends/packages/libXau.mk
index e87df2e4de..304494e3c5 100644
--- a/depends/packages/libXau.mk
+++ b/depends/packages/libXau.mk
@@ -10,6 +10,10 @@ define $(package)_set_vars
$(package)_config_opts_linux=--with-pic
endef
+define $(package)_preprocess_cmds
+ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
+endef
+
define $(package)_config_cmds
$($(package)_autoconf)
endef
diff --git a/depends/packages/libXext.mk b/depends/packages/libXext.mk
index 4db836066f..c0565dd672 100644
--- a/depends/packages/libXext.mk
+++ b/depends/packages/libXext.mk
@@ -9,6 +9,10 @@ define $(package)_set_vars
$(package)_config_opts=--disable-static
endef
+define $(package)_preprocess_cmds
+ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
+endef
+
define $(package)_config_cmds
$($(package)_autoconf)
endef
diff --git a/depends/packages/libxcb.mk b/depends/packages/libxcb.mk
index 28f2bd6f25..3f346d9728 100644
--- a/depends/packages/libxcb.mk
+++ b/depends/packages/libxcb.mk
@@ -10,6 +10,7 @@ $(package)_config_opts=--disable-static
endef
define $(package)_preprocess_cmds
+ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub build-aux &&\
sed "s/pthread-stubs//" -i configure
endef
diff --git a/depends/packages/packages.mk b/depends/packages/packages.mk
index 69acb19b8f..38329d16d7 100644
--- a/depends/packages/packages.mk
+++ b/depends/packages/packages.mk
@@ -3,9 +3,9 @@ packages:=boost openssl libevent zeromq
qt_native_packages = native_protobuf
qt_packages = qrencode protobuf zlib
-qt_x86_64_linux_packages:=qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans
-qt_i686_linux_packages:=$(qt_x86_64_linux_packages)
-qt_arm_linux_packages:=$(qt_x86_64_linux_packages)
+qt_linux_packages:=qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans
+
+rapidcheck_packages = rapidcheck
qt_darwin_packages=qt
qt_mingw32_packages=qt
diff --git a/depends/packages/protobuf.mk b/depends/packages/protobuf.mk
index 54d3fd9245..d201d1183f 100644
--- a/depends/packages/protobuf.mk
+++ b/depends/packages/protobuf.mk
@@ -11,6 +11,11 @@ define $(package)_set_vars
$(package)_config_opts_linux=--with-pic
endef
+define $(package)_preprocess_cmds
+ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub . &&\
+ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub gtest/build-aux
+endef
+
define $(package)_config_cmds
$($(package)_autoconf)
endef
diff --git a/depends/packages/qrencode.mk b/depends/packages/qrencode.mk
index 44fdf1c295..313e4adf2a 100644
--- a/depends/packages/qrencode.mk
+++ b/depends/packages/qrencode.mk
@@ -9,6 +9,10 @@ $(package)_config_opts=--disable-shared -without-tools --disable-sdltest
$(package)_config_opts_linux=--with-pic
endef
+define $(package)_preprocess_cmds
+ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub use
+endef
+
define $(package)_config_cmds
$($(package)_autoconf)
endef
diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk
index c7982d4523..5286f89c30 100644
--- a/depends/packages/qt.mk
+++ b/depends/packages/qt.mk
@@ -8,7 +8,7 @@ $(package)_dependencies=openssl zlib
$(package)_linux_dependencies=freetype fontconfig libxcb libX11 xproto libXext
$(package)_build_subdir=qtbase
$(package)_qt_libs=corelib network widgets gui plugins testlib
-$(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch fix_no_printer.patch
+$(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch fix_no_printer.patch fix_rcc_determinism.patch fix_riscv64_arch.patch xkb-default.patch
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
$(package)_qttranslations_sha256_hash=9822084f8e2d2939ba39f4af4c0c2320e45d5996762a9423f833055607604ed8
@@ -83,7 +83,7 @@ $(package)_config_opts_darwin += -device-option MAC_TARGET=$(host)
$(package)_config_opts_darwin += -device-option MAC_LD64_VERSION=$(LD64_VERSION)
endif
-$(package)_config_opts_linux = -qt-xkbcommon
+$(package)_config_opts_linux = -qt-xkbcommon-x11
$(package)_config_opts_linux += -qt-xcb
$(package)_config_opts_linux += -system-freetype
$(package)_config_opts_linux += -no-feature-sessionmanager
@@ -92,8 +92,11 @@ $(package)_config_opts_linux += -no-opengl
$(package)_config_opts_arm_linux += -platform linux-g++ -xplatform bitcoin-linux-g++
$(package)_config_opts_i686_linux = -xplatform linux-g++-32
$(package)_config_opts_x86_64_linux = -xplatform linux-g++-64
+$(package)_config_opts_aarch64_linux = -xplatform linux-aarch64-gnu-g++
+$(package)_config_opts_riscv64_linux = -platform linux-g++ -xplatform bitcoin-linux-g++
$(package)_config_opts_mingw32 = -no-opengl -xplatform win32-g++ -device-option CROSS_COMPILE="$(host)-"
$(package)_build_env = QT_RCC_TEST=1
+$(package)_build_env += QT_RCC_SOURCE_DATE_OVERRIDE=1
endef
define $(package)_fetch_cmds
@@ -133,9 +136,12 @@ define $(package)_preprocess_cmds
patch -p1 -i $($(package)_patch_dir)/fix_qt_pkgconfig.patch &&\
patch -p1 -i $($(package)_patch_dir)/fix_configure_mac.patch &&\
patch -p1 -i $($(package)_patch_dir)/fix_no_printer.patch &&\
+ patch -p1 -i $($(package)_patch_dir)/fix_rcc_determinism.patch &&\
+ patch -p1 -i $($(package)_patch_dir)/xkb-default.patch &&\
echo "!host_build: QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
echo "!host_build: QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
echo "!host_build: QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
+ patch -p1 -i $($(package)_patch_dir)/fix_riscv64_arch.patch &&\
echo "QMAKE_LINK_OBJECT_MAX = 10" >> qtbase/mkspecs/win32-g++/qmake.conf &&\
echo "QMAKE_LINK_OBJECT_SCRIPT = object_script" >> qtbase/mkspecs/win32-g++/qmake.conf &&\
sed -i.old "s|QMAKE_CFLAGS = |!host_build: QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \
diff --git a/depends/packages/rapidcheck.mk b/depends/packages/rapidcheck.mk
new file mode 100644
index 0000000000..19cf1cae2e
--- /dev/null
+++ b/depends/packages/rapidcheck.mk
@@ -0,0 +1,18 @@
+package=rapidcheck
+$(package)_version=10fc0cb
+$(package)_download_path=https://github.com/MarcoFalke/rapidcheck/archive
+$(package)_file_name=$(package)-$($(package)_version).tar.gz
+$(package)_sha256_hash=9640926223c00af45bce4c7df8b756b5458a89b2ba74cfe3e404467f13ce26df
+
+define $(package)_config_cmds
+ cmake -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true .
+endef
+
+define $(package)_build_cmds
+ $(MAKE) && \
+ mkdir -p $($(package)_staging_dir)$(host_prefix)/include && \
+ cp -a include/* $($(package)_staging_dir)$(host_prefix)/include/ && \
+ cp -a extras/boost_test/include/rapidcheck/* $($(package)_staging_dir)$(host_prefix)/include/rapidcheck/ && \
+ mkdir -p $($(package)_staging_dir)$(host_prefix)/lib && \
+ cp -a librapidcheck.a $($(package)_staging_dir)$(host_prefix)/lib/
+endef
diff --git a/depends/packages/xextproto.mk b/depends/packages/xextproto.mk
index 98a11eb497..7065237bd5 100644
--- a/depends/packages/xextproto.mk
+++ b/depends/packages/xextproto.mk
@@ -4,6 +4,10 @@ $(package)_download_path=http://xorg.freedesktop.org/releases/individual/proto
$(package)_file_name=$(package)-$($(package)_version).tar.bz2
$(package)_sha256_hash=f3f4b23ac8db9c3a9e0d8edb591713f3d70ef9c3b175970dd8823dfc92aa5bb0
+define $(package)_preprocess_cmds
+ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
+endef
+
define $(package)_set_vars
$(package)_config_opts=--disable-shared
endef
diff --git a/depends/packages/xproto.mk b/depends/packages/xproto.mk
index 50a90b2685..5328ec8481 100644
--- a/depends/packages/xproto.mk
+++ b/depends/packages/xproto.mk
@@ -8,6 +8,10 @@ define $(package)_set_vars
$(package)_config_opts=--disable-shared
endef
+define $(package)_preprocess_cmds
+ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
+endef
+
define $(package)_config_cmds
$($(package)_autoconf)
endef
diff --git a/depends/packages/xtrans.mk b/depends/packages/xtrans.mk
index 99eefa6d5e..c313b1f609 100644
--- a/depends/packages/xtrans.mk
+++ b/depends/packages/xtrans.mk
@@ -9,6 +9,10 @@ define $(package)_set_vars
$(package)_config_opts_linux=--with-pic --disable-static
endef
+define $(package)_preprocess_cmds
+ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub .
+endef
+
define $(package)_config_cmds
$($(package)_autoconf)
endef
diff --git a/depends/patches/qt/fix_rcc_determinism.patch b/depends/patches/qt/fix_rcc_determinism.patch
new file mode 100644
index 0000000000..c1b07fe23a
--- /dev/null
+++ b/depends/patches/qt/fix_rcc_determinism.patch
@@ -0,0 +1,15 @@
+--- old/qtbase/src/tools/rcc/rcc.cpp
++++ new/qtbase/src/tools/rcc/rcc.cpp
+@@ -207,7 +207,11 @@ void RCCFileInfo::writeDataInfo(RCCResourceLibrary &lib)
+ if (lib.formatVersion() >= 2) {
+ // last modified time stamp
+ const QDateTime lastModified = m_fileInfo.lastModified();
+- lib.writeNumber8(quint64(lastModified.isValid() ? lastModified.toMSecsSinceEpoch() : 0));
++ quint64 lastmod = quint64(lastModified.isValid() ? lastModified.toMSecsSinceEpoch() : 0);
++ static const quint64 sourceDate = 1000 * qgetenv("QT_RCC_SOURCE_DATE_OVERRIDE").toULongLong();
++ if (sourceDate != 0)
++ lastmod = sourceDate;
++ lib.writeNumber8(lastmod);
+ if (text || pass1)
+ lib.writeChar('\n');
+ }
diff --git a/depends/patches/qt/fix_riscv64_arch.patch b/depends/patches/qt/fix_riscv64_arch.patch
new file mode 100644
index 0000000000..e7f29f01f9
--- /dev/null
+++ b/depends/patches/qt/fix_riscv64_arch.patch
@@ -0,0 +1,14 @@
+diff --git a/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h b/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h
+index 20bfd36..93729fa 100644
+--- a/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h
++++ b/qtbase/src/3rdparty/double-conversion/include/double-conversion/utils.h
+@@ -65,7 +65,8 @@
+ defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
+ defined(__SH4__) || defined(__alpha__) || \
+ defined(_MIPS_ARCH_MIPS32R2) || \
+- defined(__AARCH64EL__)
++ defined(__AARCH64EL__) || defined(__aarch64__) || \
++ defined(__riscv)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+ #elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
+ #if defined(_WIN32)
diff --git a/depends/patches/qt/xkb-default.patch b/depends/patches/qt/xkb-default.patch
new file mode 100644
index 0000000000..165abf3e2e
--- /dev/null
+++ b/depends/patches/qt/xkb-default.patch
@@ -0,0 +1,26 @@
+--- old/qtbase/src/gui/configure.pri 2018-06-06 17:28:10.000000000 -0400
++++ new/qtbase/src/gui/configure.pri 2018-08-17 18:43:01.589384567 -0400
+@@ -43,18 +43,11 @@
+ }
+
+ defineTest(qtConfTest_xkbConfigRoot) {
+- qtConfTest_getPkgConfigVariable($${1}): return(true)
+-
+- for (dir, $$list("/usr/share/X11/xkb", "/usr/local/share/X11/xkb")) {
+- exists($$dir) {
+- $${1}.value = $$dir
+- export($${1}.value)
+- $${1}.cache += value
+- export($${1}.cache)
+- return(true)
+- }
+- }
+- return(false)
++ $${1}.value = "/usr/share/X11/xkb"
++ export($${1}.value)
++ $${1}.cache += value
++ export($${1}.cache)
++ return(true)
+ }
+
+ defineTest(qtConfTest_qpaDefaultPlatform) {