From ad0c279ac805f310fb7fe1814945eecae228f607 Mon Sep 17 00:00:00 2001 From: fanquake Date: Sat, 10 Dec 2022 10:25:21 +0000 Subject: [PATCH 1/7] Merge bitcoin/bitcoin#26672: build: Update libmultiprocess library 1986f129c6af7644d238c76f032713731d7afcac build: Update `libmultiprocess` library (Hennadii Stepanov) Pull request description: This update in particular includes: - https://github.com/chaincodelabs/libmultiprocess/pull/78 which is [required](https://github.com/bitcoin/bitcoin/pull/25972#issuecomment-1246812573) for https://github.com/bitcoin/bitcoin/pull/25972 - https://github.com/chaincodelabs/libmultiprocess/pull/74 - https://github.com/chaincodelabs/libmultiprocess/pull/70 ACKs for top commit: ryanofsky: Code review ACK 1986f129c6af7644d238c76f032713731d7afcac Tree-SHA512: 2d9fa72df5de7d5be37d77d479702cba36c45e9fa9d9fc27e58aac0437c39e4a1054c0ac53b612cb43e830982e444d98c7d3e651d093ac68344e66f4734227bb --- depends/packages/libmultiprocess.mk | 2 +- depends/packages/native_libmultiprocess.mk | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/depends/packages/libmultiprocess.mk b/depends/packages/libmultiprocess.mk index f4532daaea..765d649377 100644 --- a/depends/packages/libmultiprocess.mk +++ b/depends/packages/libmultiprocess.mk @@ -24,5 +24,5 @@ define $(package)_build_cmds endef define $(package)_stage_cmds - $(MAKE) DESTDIR=$($(package)_staging_dir) install + $(MAKE) DESTDIR=$($(package)_staging_dir) install-lib endef diff --git a/depends/packages/native_libmultiprocess.mk b/depends/packages/native_libmultiprocess.mk index 6e600c5720..e647afba5f 100644 --- a/depends/packages/native_libmultiprocess.mk +++ b/depends/packages/native_libmultiprocess.mk @@ -1,8 +1,8 @@ package=native_libmultiprocess -$(package)_version=d576d975debdc9090bd2582f83f49c76c0061698 +$(package)_version=1af83d15239ccfa7e47b8764029320953dd7fdf1 $(package)_download_path=https://github.com/chaincodelabs/libmultiprocess/archive $(package)_file_name=$($(package)_version).tar.gz -$(package)_sha256_hash=9f8b055c8bba755dc32fe799b67c20b91e7b13e67cadafbc54c0f1def057a370 +$(package)_sha256_hash=e5587d3feedc7f8473f178a89b94163a11076629825d664964799bbbd5844da5 $(package)_dependencies=native_capnp define $(package)_config_cmds @@ -14,5 +14,5 @@ define $(package)_build_cmds endef define $(package)_stage_cmds - $(MAKE) DESTDIR=$($(package)_staging_dir) install + $(MAKE) DESTDIR=$($(package)_staging_dir) install-bin endef From 318471d599017392b92cb39a0c72ecd8166ce6ba Mon Sep 17 00:00:00 2001 From: fanquake Date: Sun, 5 Nov 2023 18:18:57 +0000 Subject: [PATCH 2/7] Merge bitcoin/bitcoin#28735: depends: Bump to capnproto-c++-1.0.1 BACKPORT NOTICE: excludes ci/test/00_setup_env_i686_multiprocess.sh changes, however, these do not satisfy enough this to be partial to me 3333f14efac815ba3c885398a6795c7e8ce68d08 depends: Bump to capnproto-c++-1.0.1 (MarcoFalke) Pull request description: Reasons: * Debian is starting to ship this version in Trixie (https://packages.debian.org/trixie/capnproto), which will likely become the version shipped with Ubuntu 24.04 LTS. So testing with this version will help to find any issues before real users start to use those distro packages. * The feature is currently experimental, so bumping the version shouldn't cause any production issues. * With multiprocess begin a priority project for 27.0, it seems better to do build system changes/bumps early, rather than later, to allow for more time testing them. ACKs for top commit: TheCharlatan: Re-ACK 3333f14efac815ba3c885398a6795c7e8ce68d08 fanquake: ACK 3333f14efac815ba3c885398a6795c7e8ce68d08 - the response from upstream is that [if we submit a PR, they can take a look](https://github.com/capnproto/capnproto/issues/1833#issuecomment-1792582206), so if anyone would like this to work for Windows, I'd suggest sending a patch. ryanofsky: Code review ACK 3333f14efac815ba3c885398a6795c7e8ce68d08 Tree-SHA512: 7d53ad1536f042ab43dbc7847126b826e7fc76694f173c348b835fd1067b8f3dd682c5bcb4887f09ee85bab69130721cd7f8fb96b2e82053d4e28bd5c38bdc5f --- depends/packages/capnp.mk | 1 + depends/packages/native_capnp.mk | 8 ++++++-- depends/packages/native_libmultiprocess.mk | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/depends/packages/capnp.mk b/depends/packages/capnp.mk index f4778c1ecd..47df202771 100644 --- a/depends/packages/capnp.mk +++ b/depends/packages/capnp.mk @@ -8,6 +8,7 @@ $(package)_dependencies=native_$(package) define $(package)_set_vars := $(package)_config_opts := --with-external-capnp +$(package)_config_opts += --without-openssl $(package)_config_opts += CAPNP="$$(native_capnp_prefixbin)/capnp" $(package)_config_opts += CAPNP_CXX="$$(native_capnp_prefixbin)/capnp-c++" $(package)_config_opts_android := --disable-shared diff --git a/depends/packages/native_capnp.mk b/depends/packages/native_capnp.mk index ed5a6deee2..ad87eed354 100644 --- a/depends/packages/native_capnp.mk +++ b/depends/packages/native_capnp.mk @@ -1,9 +1,13 @@ package=native_capnp -$(package)_version=0.7.0 +$(package)_version=1.0.1 $(package)_download_path=https://capnproto.org/ $(package)_download_file=capnproto-c++-$($(package)_version).tar.gz $(package)_file_name=capnproto-cxx-$($(package)_version).tar.gz -$(package)_sha256_hash=c9a4c0bd88123064d483ab46ecee777f14d933359e23bff6fb4f4dbd28b4cd41 +$(package)_sha256_hash=0f7f4b8a76a2cdb284fddef20de8306450df6dd031a47a15ac95bc43c3358e09 + +define $(package)_set_vars + $(package)_config_opts = --without-openssl +endef define $(package)_config_cmds $($(package)_autoconf) diff --git a/depends/packages/native_libmultiprocess.mk b/depends/packages/native_libmultiprocess.mk index e647afba5f..c91ffb0334 100644 --- a/depends/packages/native_libmultiprocess.mk +++ b/depends/packages/native_libmultiprocess.mk @@ -1,8 +1,8 @@ package=native_libmultiprocess -$(package)_version=1af83d15239ccfa7e47b8764029320953dd7fdf1 +$(package)_version=61d5a0e661f20a4928fbf868ec9c3c6f17883cc7 $(package)_download_path=https://github.com/chaincodelabs/libmultiprocess/archive $(package)_file_name=$($(package)_version).tar.gz -$(package)_sha256_hash=e5587d3feedc7f8473f178a89b94163a11076629825d664964799bbbd5844da5 +$(package)_sha256_hash=5cfda224cc2ce913f2493f843317e0fca3184f6d7c1434c9754b2e7dca440ab5 $(package)_dependencies=native_capnp define $(package)_config_cmds From 630e767be7797dd543f9cdd5926fc0ace6865cad Mon Sep 17 00:00:00 2001 From: fanquake Date: Wed, 22 Nov 2023 11:47:58 +0000 Subject: [PATCH 3/7] Merge bitcoin/bitcoin#28907: depends: bump libmultiprocess to fix capnproto deprecation warnings 21bfee0720ba72935d4f9fc4c2a2887ae5b54092 depends: bump libmultiprocess to fix capnproto deprecation warnings (Ryan Ofsky) Pull request description: This incorporates PR chaincodelabs/libmultiprocess#88 and reverts the NO_WERROR CI workaround added in #28735 Upstream diff: https://github.com/chaincodelabs/libmultiprocess/compare/61d5a0e661f20a4928fbf868ec9c3c6f17883cc7...414542f81e0997354b45b8ade13ca144a3e35ff1 --- This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/issues/28722). ACKs for top commit: maflcko: lgtm ACK 21bfee0720ba72935d4f9fc4c2a2887ae5b54092 hebasto: ACK 21bfee0720ba72935d4f9fc4c2a2887ae5b54092, I have reviewed the code and it looks OK. I've also skimmed through the related changes in the https://github.com/chaincodelabs/libmultiprocess repository. Tree-SHA512: b5addb0deed694eeec62a0ae08b4715a811110201f39f3e6cadee8fc4e6231b0e66c844a98512072a1445bac122ab561dc1711e27fb4d7ac5c08ac46780a4acf --- depends/packages/native_libmultiprocess.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/depends/packages/native_libmultiprocess.mk b/depends/packages/native_libmultiprocess.mk index c91ffb0334..946e885354 100644 --- a/depends/packages/native_libmultiprocess.mk +++ b/depends/packages/native_libmultiprocess.mk @@ -1,8 +1,8 @@ package=native_libmultiprocess -$(package)_version=61d5a0e661f20a4928fbf868ec9c3c6f17883cc7 +$(package)_version=414542f81e0997354b45b8ade13ca144a3e35ff1 $(package)_download_path=https://github.com/chaincodelabs/libmultiprocess/archive $(package)_file_name=$($(package)_version).tar.gz -$(package)_sha256_hash=5cfda224cc2ce913f2493f843317e0fca3184f6d7c1434c9754b2e7dca440ab5 +$(package)_sha256_hash=8542dbaf8c4fce8fd7af6929f5dc9b34dffa51c43e9ee360e93ee0f34b180bc2 $(package)_dependencies=native_capnp define $(package)_config_cmds From 7a63c20c47b5c1abaeae252d7f7cfd38b8d31ae8 Mon Sep 17 00:00:00 2001 From: fanquake Date: Tue, 23 Jan 2024 16:57:03 +0000 Subject: [PATCH 4/7] Merge bitcoin/bitcoin#29276: depends: Update libmultiprocess library to fix C++20 macos build error b8105b3ed7c97cd6545dba99d0e13c33f183e450 depends: Update libmultiprocess library to fix C++20 macos build error (Ryan Ofsky) Pull request description: Fixes #29248 The std::result_of type was removed in c++20, but was being referenced in some old, unused code in the library. The issue was fixed in: - https://github.com/chaincodelabs/libmultiprocess/pull/91 This update also includes other recent libmultiprocess changes to improve C++20 support and fix build issues: - https://github.com/chaincodelabs/libmultiprocess/pull/89 - https://github.com/chaincodelabs/libmultiprocess/pull/90 - https://github.com/chaincodelabs/libmultiprocess/pull/93 ACKs for top commit: fanquake: ACK b8105b3ed7c97cd6545dba99d0e13c33f183e450. Tree-SHA512: 2ca64b5fc27be752baba38df4b4faf62152e18c70ead6e0e063f1cb0c25dd5d924dec7ebfd7f8bbd651ae50eb35e8d8b591a9847c36f22558b5f5effccf56536 --- depends/packages/native_libmultiprocess.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/depends/packages/native_libmultiprocess.mk b/depends/packages/native_libmultiprocess.mk index 946e885354..bcdb1f9e7c 100644 --- a/depends/packages/native_libmultiprocess.mk +++ b/depends/packages/native_libmultiprocess.mk @@ -1,8 +1,8 @@ package=native_libmultiprocess -$(package)_version=414542f81e0997354b45b8ade13ca144a3e35ff1 +$(package)_version=8da797c5f1644df1bffd84d10c1ae9836dc70d60 $(package)_download_path=https://github.com/chaincodelabs/libmultiprocess/archive $(package)_file_name=$($(package)_version).tar.gz -$(package)_sha256_hash=8542dbaf8c4fce8fd7af6929f5dc9b34dffa51c43e9ee360e93ee0f34b180bc2 +$(package)_sha256_hash=030f4d393d2ac9deba98d2e1973e22fc439ffc009d5f8ae3225c90639f86beb0 $(package)_dependencies=native_capnp define $(package)_config_cmds From d46e16c023b55e2425a55fe3b370d77333fa90a8 Mon Sep 17 00:00:00 2001 From: merge-script Date: Sat, 20 Jul 2024 13:26:07 +0100 Subject: [PATCH 5/7] Merge bitcoin/bitcoin#30490: depends: bump libmultiprocess for CMake fixes d318c4ef56465ccad1a1d4d27c52216e0b69ad4e depends: bump libmultiprocess for CMake fixes (Cory Fields) Pull request description: Broken out of #30454 . Bumped [even further](https://github.com/bitcoin/bitcoin/pull/30454/commits/4883197abc63aedbc395f37f6d2aded5db5270aa#r1684802528) after https://github.com/chaincodelabs/libmultiprocess/pull/98 was merged upstream. hebasto Presumably this approach works now with the CMake branch? ACKs for top commit: ryanofsky: Code review ACK d318c4ef56465ccad1a1d4d27c52216e0b69ad4e. Tree-SHA512: 4b5491f73c0063d09e8339829cd831b1f4c441dd7b55a22037c9337c80cce19bb00a3e5cf925efa77d6d4e89ab45482f40f5799bc14948f8cabcbad3c3549430 --- depends/packages/native_libmultiprocess.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/depends/packages/native_libmultiprocess.mk b/depends/packages/native_libmultiprocess.mk index bcdb1f9e7c..ea08eefea6 100644 --- a/depends/packages/native_libmultiprocess.mk +++ b/depends/packages/native_libmultiprocess.mk @@ -1,8 +1,8 @@ package=native_libmultiprocess -$(package)_version=8da797c5f1644df1bffd84d10c1ae9836dc70d60 +$(package)_version=8b8a4766ce0a1892b9e8a5eb73dc39821005e520 $(package)_download_path=https://github.com/chaincodelabs/libmultiprocess/archive $(package)_file_name=$($(package)_version).tar.gz -$(package)_sha256_hash=030f4d393d2ac9deba98d2e1973e22fc439ffc009d5f8ae3225c90639f86beb0 +$(package)_sha256_hash=475c0dc2357a2ff30e9a164e4c16dc8a6597a57c9193d646fa9cbf0a55c45d78 $(package)_dependencies=native_capnp define $(package)_config_cmds From 0f135dd233f995febd2905b84c9b7a8e742af050 Mon Sep 17 00:00:00 2001 From: merge-script Date: Thu, 25 Jul 2024 12:06:55 +0100 Subject: [PATCH 6/7] Merge bitcoin/bitcoin#30522: ci: Add missing qttools5-dev install to Asan task faa359877270121b3cd442e1e5e865586ce7e530 ci: Add missing qttools5-dev install to Asan task (MarcoFalke) Pull request description: This is required, according to the docs: ``` $ git grep --line-number 'qtbase5-dev qttools5-dev qttools5-dev-tools' doc doc/build-unix.md:84: sudo apt-get install qtbase5-dev qttools5-dev qttools5-dev-tools ``` Also, needed for cmake. ACKs for top commit: hebasto: ACK faa359877270121b3cd442e1e5e865586ce7e530. Tree-SHA512: c986908f757d70d958267c1e902b5d7d94589360db61ddf7b9b398cd635b2172e83510c0c77fd6032810166342a286c0f95225b6c6639acd869e1e51c3348ea7 --- ci/test/00_setup_env_native_asan.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/test/00_setup_env_native_asan.sh b/ci/test/00_setup_env_native_asan.sh index 71192f25c6..a202278b74 100755 --- a/ci/test/00_setup_env_native_asan.sh +++ b/ci/test/00_setup_env_native_asan.sh @@ -6,7 +6,7 @@ export LC_ALL=C.UTF-8 -export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev-tools libevent-dev bsdmainutils libboost-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev" +export PACKAGES="clang llvm python3-zmq qtbase5-dev qttools5-dev qttools5-dev-tools libevent-dev bsdmainutils libboost-dev libdb5.3++-dev libminiupnpc-dev libzmq3-dev libqrencode-dev" export NO_DEPENDS=1 export TEST_RUNNER_EXTRA="--timeout-factor=4" # Increase timeout because sanitizers slow down export FUNCTIONAL_TESTS_CONFIG="--exclude wallet_multiwallet.py" # Temporarily suppress ASan heap-use-after-free (see issue #14163) From 1b622944c43b3013597625ab83eab4c781c6702d Mon Sep 17 00:00:00 2001 From: merge-script Date: Thu, 5 Sep 2024 10:36:35 +0100 Subject: [PATCH 7/7] Merge bitcoin/bitcoin#30743: depends: build libevent with `-D_GNU_SOURCE` 556775408797d8e27154c3edaf139820b0979cce depends: build libevent with -D_GNU_SOURCE (fanquake) Pull request description: Currently, builds of libevent in depends, using CMake, fail on some systems, like Alpine, with the following: ```bash /bitcoin/depends/work/build/aarch64-unknown-linux-musl/libevent/2.1.12-stable-1516ed47ea8/evmap.c: In function 'evmap_signal_add_': /bitcoin/depends/work/build/aarch64-unknown-linux-musl/libevent/2.1.12-stable-1516ed47ea8/evmap.c:456:31: error: 'NSIG' undeclared (first use in this function) 456 | if (sig < 0 || sig >= NSIG) ``` From what I can tell the `GNU_SOURCE` "detection" in libevents CMake build system, never? really worked, primarily relies on looking for a deprecated define, and it's not clear what a nice fix is. For now, always build with `_GNU_SOURCE`, to match the autotools behaviour. ACKs for top commit: TheCharlatan: ACK 556775408797d8e27154c3edaf139820b0979cce Tree-SHA512: 4552b4a92867e8fa2af0ffa39b2be6c994bf739de7ce6a7c581590be486da81f7d93fca816854548c1e912347d33a35218c441b5058c3cbd3e82c74a9b7c78d9 --- depends/packages/libevent.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/depends/packages/libevent.mk b/depends/packages/libevent.mk index 12bb136ab0..5110e249db 100644 --- a/depends/packages/libevent.mk +++ b/depends/packages/libevent.mk @@ -14,6 +14,7 @@ define $(package)_set_vars $(package)_config_opts=-DEVENT__DISABLE_BENCHMARK=ON -DEVENT__DISABLE_OPENSSL=ON $(package)_config_opts+=-DEVENT__DISABLE_SAMPLES=ON -DEVENT__DISABLE_REGRESS=ON $(package)_config_opts+=-DEVENT__DISABLE_TESTS=ON -DEVENT__LIBRARY_TYPE=STATIC + $(package)_cppflags += -D_GNU_SOURCE $(package)_cppflags_mingw32=-D_WIN32_WINNT=0x0601 endef