Commit Graph

448 Commits

Author SHA1 Message Date
merge-script
24973ee34c
Merge bitcoin/bitcoin#30488: depends: Fix CMake-generated libevent*.pc files
8c935e625ea75d180144f0526d6a0d5fd58c1f29 depends: Fix CMake-generated `libevent*.pc` files (Hennadii Stepanov)

Pull request description:

  Broken out of #30454. This is a backport of the merged upstream PR: https://github.com/libevent/libevent/pull/1622.

  Note that after #29835 we might end up dropping pkg-config and using the installed CMake files directly, but that depends on whether or not enough distros actually ship those files.

  Either way, having fixed up .pc files won't hurt.

ACKs for top commit:
  hebasto:
    ACK 8c935e625ea75d180144f0526d6a0d5fd58c1f29.
  fanquake:
    ACK 8c935e625ea75d180144f0526d6a0d5fd58c1f29

Tree-SHA512: 259c2ad78fb9e90370a7205dc71c40acda1a872f6509435133bc1c4c2c3de57366e80679aa083e13ed85e7966883dc470c0147ee171a2ed0171a18cd5ffc99b3
2024-09-27 12:52:15 -05:00
merge-script
a27b08ed7a
Merge bitcoin/bitcoin#29835: depends: build libevent with CMake
f59e9057e2aa596b54cf9e85bab35c3ead137547 depends: switch libevent to CMake (Cory Fields)

Pull request description:

  Switches libevent in depends to be built with CMake.

ACKs for top commit:
  TheCharlatan:
    ACK f59e9057e2aa596b54cf9e85bab35c3ead137547
  willcl-ark:
    ACK f59e9057e2aa596b54cf9e85bab35c3ead137547

Tree-SHA512: 875bf9bc57653c78775a1f8192a2c964fea8f4490d733ff796d9efb00e786f0ca9a7c1a3fd610cda032273c4f2ae06394585b03567d5f241ab073c83a47cf927
2024-09-27 12:52:15 -05:00
merge-script
02aee122de
Merge bitcoin/bitcoin#30508: depends: Fix CMake-generated libzmq.pc file
371910a7682ecdaf86b3e65753667746add1ecd2 depends: Fix CMake-generated `libzmq.pc` file (Hennadii Stepanov)

Pull request description:

  This is a backport of: https://github.com/zeromq/libzmq/pull/4706.

  Similar to https://github.com/bitcoin/bitcoin/pull/30488.

  Addresses https://github.com/bitcoin/bitcoin/pull/29723#issuecomment-2239864170:
  > Looking at the mingw .pc generated by this PR:
  >
  > ```
  > Libs: -L${libdir} -lzmq
  > Libs.private:
  > Requires.private:
  > ```
  >
  > It looks like we'll need to take [zeromq/libzmq#4706](https://github.com/zeromq/libzmq/pull/4706) as well for CMake. That can be done as a follow-up though, as it's not yet merged upstream.

ACKs for top commit:
  fanquake:
    ACK 371910a7682ecdaf86b3e65753667746add1ecd2

Tree-SHA512: 6f9c2e32f83c0e629e32fd3e4c86712af00ffeaf0906bf85e5c2df889302707b9df102e8031249d1bae036eb4fc019c2a5124655682fbc5652d9337cb21c5f2c
2024-09-27 12:52:15 -05:00
merge-script
e2b24461d4
Merge bitcoin/bitcoin#29723: depends: build zeromq with CMake
0388ad0d65b6c9ee802ca641eb01d69fcdd5605d depends: switch zmq to CMake (Cory Fields)
fefb3bbe5b538f8faa59de191914ad0c22c3ade6 depends: add zeromq no librt patch (fanquake)
a522ef15424110f76172b3c0603fa08f7291c9fc depends: add zeromq cmake minimum patch (fanquake)
cbbc229adf4c12ad4bd7edde71425b8ef217edfc depends: add zeromq windows usage patch (fanquake)
2de68d6d388b9a33c57234d3161f6ffc4c2a0246 depends: add zeromq builtin sha1 patch (fanquake)
0c8605253ae887dac316264cb969b752027d277a depends: add zeromq mktemp macos patch (fanquake)

Pull request description:

  This picks up a change, which is a switch to building zeromq with CMake. It includes a number of patches, some which have already been upstreamed (see each patch for details).

ACKs for top commit:
  hebasto:
    ACK 0388ad0d65b6c9ee802ca641eb01d69fcdd5605d.

Tree-SHA512: 5567e432b4e4e0446c41d502bd61810a80b329dea2399b5d9d9f6e79acc450d1c6ba861c8238ba895de98338cfc5dc44ad2bf86ee8c222ecb3fbf47d6eb60da4
2024-09-27 12:52:15 -05:00
pasta
801c4fc24a
build: followup to 29488 applied to gmp 2024-09-27 10:22:36 -05:00
fanquake
4b704a60ad
Merge bitcoin/bitcoin#28627: depends: zeromq 4.3.5
986d7fed057b995a720787cbbd21e1c41763fb83 depends: zeromq 4.3.5 (fanquake)

Pull request description:

  First new point release of zeromq in two and a half years. Mostly bug fixes; the project also completed a relicense to the "Mozilla Public License".

  See https://github.com/zeromq/libzmq/releases/tag/v4.3.5.

ACKs for top commit:
  hebasto:
    ACK 986d7fed057b995a720787cbbd21e1c41763fb83, I have reviewed the code and it looks OK.
  TheCharlatan:
    ACK 986d7fed057b995a720787cbbd21e1c41763fb83

Tree-SHA512: cdd6abfbbe10873c1ca267fed648c2e6ff17a4aff50c414924006e63fa39d501e803f8893a5cd966a2078b5c077f2578e482483e6723ea6f5760f16211d40998
2024-09-26 22:44:19 -05:00
fanquake
0e6cb989a7
Merge bitcoin/bitcoin#26421: build: copy config.{guess,sub} post autogen in zmq package
1914e470e327091c625f627b4447beb336f7fe5a build: copy config.{guess,sub} post autogen in zmq package (fanquake)

Pull request description:

  Otherwise our config.guess and config.sub will be copied over. This problem has been masked by the fact that modern systems ship with versions that recognise all the triplets we use (namely arm64-apple-darwin). However building on ubuntu 20.04 surfaces the issue.

  Fixes #26420.

ACKs for top commit:
  hebasto:
    ACK 1914e470e327091c625f627b4447beb336f7fe5a, tested on Ubuntu 18.04.

Tree-SHA512: dff64c3c62d9f8fc205e5a4dffe8befd58838418d073a15dfe304a0f64b182dfffd9dcf98b53df44bfab905c12a62d03cd5c0f91fa7c4b246ac21ae5f20540fd
2024-09-26 22:44:15 -05:00
fanquake
cd33b69bfd
Merge bitcoin/bitcoin#29488: depends: always configure with --with-pic
e037c4fe0914d8fa9149ce7532c0d70f738e79e9 depends: always configure with --with-pic (fanquake)

Pull request description:

  We currently do this sporadically. Not only amongst packages, but across OS's, i.e sometimes it's done for BSDs/Android, and sometimes not.

  Configure with `--with-pic` globally instead. I think this generally makes more sense, and should not have any downsides.

  See related discussion in https://github.com/bitcoin/bitcoin/pull/28846#discussion_r1399123100.

ACKs for top commit:
  hebasto:
    ACK e037c4fe0914d8fa9149ce7532c0d70f738e79e9.

Tree-SHA512: efc743ff92f9f99f3ac16514e98363ad395c6f956cd4be7e785b5c573685baf7fcd68c51d6a705ee8761fc676eb045b7e61676595be0eb0f70f34e99174cddc0
2024-09-26 22:38:53 -05:00
fanquake
1b88674815
Merge bitcoin/bitcoin#29287: depends: Do not override CFLAGS when building SQLite with DEBUG=1
5fb8f0f80fc41cc636da56864195244d8fd9116e depends: Do not override CFLAGS when building SQLite with DEBUG=1 (Hennadii Stepanov)
2b0dd88f1ce9084324dc54db578fade9c926fd71 depends: Ensure definitions are passed when building SQLite with DEBUG=1 (Hennadii Stepanov)

Pull request description:

  The `--enable-debug` configure option for the SQLite package does two things:
  ```autoconf
  #-----------------------------------------------------------------------
  #   --enable-debug
  #
  AC_ARG_ENABLE(debug, [AS_HELP_STRING(
    [--enable-debug], [build with debugging features enabled [default=no]])],
    [], [])
  AC_MSG_CHECKING([Build type])
  if test x"$enable_debug" = "xyes"; then
    BUILD_CFLAGS="$BUILD_CFLAGS -DSQLITE_DEBUG -DSQLITE_ENABLE_SELECTTRACE -DSQLITE_ENABLE_WHERETRACE"
    CFLAGS="-g -O0"
    AC_MSG_RESULT([debug])
  else
    AC_MSG_RESULT([release])
  fi
  #-----------------------------------------------------------------------
  ```

  It adds three preprocessor definitions and overrides `CFLAGS` with `"-g -O0"`. The latter breaks the user's ability to provide sanitizer and LTO flags.

  This PR might be especially useful for OSS-Fuzz where `DEBUG=1` has been used since https://github.com/google/oss-fuzz/pull/10503.

  Also it makes a workaround for building SQLite for 32-bit unneeded. For details, please refer to https://github.com/hebasto/oss-fuzz/tree/240120-sqlite.

  Changes in https://github.com/bitcoin/bitcoin/pull/29282 might not be strictly required now. However, I consider them an improvement.

ACKs for top commit:
  fanquake:
    ACK 5fb8f0f80fc41cc636da56864195244d8fd9116e - downstream is also green, so i'll fixup the PR there.

Tree-SHA512: 8593d8a0237ebb270d5da763fb65ed642ab8ed0d44e57704a34154621f49e3d5c58b462cc0070251fa1ba556c58a3c7d3620530d6839dc6dc9e0887010330eca
2024-09-26 22:37:07 -05:00
Andrew Chow
f50fb6e627
Merge bitcoin/bitcoin#26998: depends: ensure we are appending to sqlite cflags
56a03f1834a7437e3357923a1e45e512c9b2e6fc depends: ensure we are appending to sqlite cflags (fanquake)

Pull request description:

  Otherwise we'll just override other flags passed in (i.e msan).

  Should fix https://cirrus-ci.com/task/6598922274078720?logs=ci#L3661.

ACKs for top commit:
  achow101:
    ACK 56a03f1834a7437e3357923a1e45e512c9b2e6fc
  TheCharlatan:
    ACK 56a03f1834a7437e3357923a1e45e512c9b2e6fc

Tree-SHA512: 5890018cfc5deaef18b0f01a3a0396f803e97f9a9785bf6873ef48bc13b74b644315f0f29cf11d3522964a6396f74e1f080bb4e412bc302956a651fed28b27df
2024-09-26 22:37:04 -05:00
Andrew Chow
25a594f46e
Merge bitcoin/bitcoin#25987: build: compile depends sqlite with more recommended options
dee690257c7948510a0661e23c9e398a13e20659 build: pass --enable-debug to sqlite when DEBUG=1 (fanquake)
807b61fcca6d301286ae43d00f88d986a985ea38 build: use more recommended sqlite3 compile options (fanquake)

Pull request description:

  https://www.sqlite.org/compile.html

  [SQLITE_DQS](https://www.sqlite.org/compile.html#dqs)
  > This setting disables the double-quoted string literal misfeature.

  [SQLITE_DEFAULT_MEMSTATUS](https://www.sqlite.org/compile.html#default_memstatus)
  > This setting causes the sqlite3_status() interfaces that track
  > memory usage to be disabled.
  > This helps the sqlite3_malloc() routines run much faster, and since
  > SQLite uses sqlite3_malloc() internally, this helps to make the
  > entire library faster.

  [SQLITE_OMIT_DEPRECATED](https://www.sqlite.org/compile.html#omit_deprecated)
  > Omitting deprecated interfaces and features will not help SQLite
  > to run any faster.
  > It will reduce the library footprint, however. And it is the
  > right thing to do.

  [SQLITE_OMIT_SHARED_CACHE](https://www.sqlite.org/compile.html#omit_shared_cache)
  > Omitting the possibility of using shared cache allows many
  > conditionals in performance-critical sections of the code to be
  > eliminated. This can give a noticeable improvement in performance.

  Also: https://www.sqlite.org/sharedcache.html
  > Shared-cache mode is an obsolete feature.
  > The use of shared-cache mode is discouraged.
  > Most use cases for shared-cache are better served by WAL mode.
  > Applications that build their own copy of SQLite from source code
  > are encouraged to use the -DSQLITE_OMIT_SHARED_CACHE compile-time
  > option, as the resulting binary will be both smaller and faster.

  [SQLITE_OMIT_JSON](https://www.sqlite.org/compile.html#omit_json)
  > Starting with sqlite 3.38.0 the JSON extension became opt-out rather
  than opt-in, so we disable it here.

  --disable-rtree
  > An R-Tree is a special index that is designed for doing range queries.
  > R-Trees are most commonly used in geospatial systems...
  https://www.sqlite.org/rtree.html

  --disable-fts4 --disable-fts5
  > FTS5 is an SQLite virtual table module that provides full-text
  > search functionality to database applications.

  DSQLITE_LIKE_DOESNT_MATCH_BLOBS
  > simplifies the implementation of the LIKE optimization and allows
  > queries that use the LIKE optimization to run faster.

  DSQLITE_OMIT_DECLTYPE
  > By omitting the (seldom-needed) ability to return the declared type of
  > columns from the result set of query, prepared statements can be made
  > to consume less memory.

  DSQLITE_OMIT_PROGRESS_CALLBACK
  > By omitting this interface, a single conditional is removed from the
  > inner loop of the bytecode engine, helping SQL statements to run slightly
  > faster.

  DSQLITE_OMIT_AUTOINIT
  > with the SQLITE_OMIT_AUTOINIT option, the automatic initialization is omitted.
  > This helps many API calls to run a little faster
  > it also means that the application must call sqlite3_initialize()
  manually.

  On my Linux box this results in a `libsqlite3.a` that shrinks from ~1.7mb to ~1.3mb.
  On macOS, `libsqlite3.a` shrinks from ~2.2mb to ~1.3mb.

  Guix Build:
  ```bash
  04626ec7b64086103bfb5537397d7953d0699b31da1b1bc100003c7d30991fdf  guix-build-dee690257c79/output/aarch64-linux-gnu/SHA256SUMS.part
  a77c72052266788e890a0d3d89cc6eee9dd72db6a1b6fdc8aab882b35a315284  guix-build-dee690257c79/output/aarch64-linux-gnu/bitcoin-dee690257c79-aarch64-linux-gnu-debug.tar.gz
  86d782f185ee0fae8e8733ab8a511de2ca2500f02eb3d4aaa20d65b4434dcd77  guix-build-dee690257c79/output/aarch64-linux-gnu/bitcoin-dee690257c79-aarch64-linux-gnu.tar.gz
  d81874ecd378470b01a429f2a4be07fcb4824b56ace146226b77088cc3c41baa  guix-build-dee690257c79/output/arm-linux-gnueabihf/SHA256SUMS.part
  8f24076800e5a19ac9005af8c6e4987b32e0a857a83af84931958505228ef58d  guix-build-dee690257c79/output/arm-linux-gnueabihf/bitcoin-dee690257c79-arm-linux-gnueabihf-debug.tar.gz
  b913f2b0d8f0e32a176bc0e9330106cf1973afe6e8ee955f3eeb89918ab9d565  guix-build-dee690257c79/output/arm-linux-gnueabihf/bitcoin-dee690257c79-arm-linux-gnueabihf.tar.gz
  034b47d8a60a19391e0e18f6fcc8fb3a87be78a9707e3ac3e7ee45eb37687bb7  guix-build-dee690257c79/output/arm64-apple-darwin/SHA256SUMS.part
  9efc5c0ceac05f6efce03fcde0cbe8b79bae43fe0d98aecb817908e76f5c39b7  guix-build-dee690257c79/output/arm64-apple-darwin/bitcoin-dee690257c79-arm64-apple-darwin-unsigned.dmg
  a549cdcbd311d9b025971b13987290f6cd2b93e16c8389e8a7a2ccd3608326ed  guix-build-dee690257c79/output/arm64-apple-darwin/bitcoin-dee690257c79-arm64-apple-darwin-unsigned.tar.gz
  3dd9e26a41596151022aa4288d778dc335a2b38bd391e3f65c0575dd6eb47b54  guix-build-dee690257c79/output/arm64-apple-darwin/bitcoin-dee690257c79-arm64-apple-darwin.tar.gz
  a71685a3ff62fbf456fc1d3c0f78ab7ab1d5a4a094c1f43d3829730d65a3ec51  guix-build-dee690257c79/output/dist-archive/bitcoin-dee690257c79.tar.gz
  d5c74167b2260b7de72fdbac77eedacbbb929214e279e07f41c3236ea20116b6  guix-build-dee690257c79/output/powerpc64-linux-gnu/SHA256SUMS.part
  03c043daa971f70886805c9e4174acd600e5cda03ae0e827043c4df81a6a6426  guix-build-dee690257c79/output/powerpc64-linux-gnu/bitcoin-dee690257c79-powerpc64-linux-gnu-debug.tar.gz
  3884423f67d48f671a90169962f9568dcbd8df582cd269df29a4399dc9c70e99  guix-build-dee690257c79/output/powerpc64-linux-gnu/bitcoin-dee690257c79-powerpc64-linux-gnu.tar.gz
  cee2847d4feeadebfdf4d37110faafa250824c68cfefc3bfa289ae8b09599a20  guix-build-dee690257c79/output/powerpc64le-linux-gnu/SHA256SUMS.part
  ca9f1085184b50e7bd377b68a58afd42ac4055ffe214eede8c6ca7291e00b45a  guix-build-dee690257c79/output/powerpc64le-linux-gnu/bitcoin-dee690257c79-powerpc64le-linux-gnu-debug.tar.gz
  b9cadff5b30244f6cb4f277e1ac610841332cb0d732637fe438fd51c88adf5a4  guix-build-dee690257c79/output/powerpc64le-linux-gnu/bitcoin-dee690257c79-powerpc64le-linux-gnu.tar.gz
  db6e45d9fc8868e5cb25fa3d0789247db10a6bab2a6f3866a27d641ae00bd03b  guix-build-dee690257c79/output/riscv64-linux-gnu/SHA256SUMS.part
  751e90c0aefa249f175c0c1707dc5eee3637e2b9657a9ee1b2068479e9830ff0  guix-build-dee690257c79/output/riscv64-linux-gnu/bitcoin-dee690257c79-riscv64-linux-gnu-debug.tar.gz
  8dd87bb24f1fbdba67fb6b72ab5fc93532452eada8c2942463100b8ed8118ae3  guix-build-dee690257c79/output/riscv64-linux-gnu/bitcoin-dee690257c79-riscv64-linux-gnu.tar.gz
  b53fe650f431e394a5af6bd809401551e3c36e4f7d90c31f39f51c5fe236efaf  guix-build-dee690257c79/output/x86_64-apple-darwin/SHA256SUMS.part
  b35b4ae345a625e42b8315acd9b75bb651f60265f67ec6f7d78a41c8d21c635e  guix-build-dee690257c79/output/x86_64-apple-darwin/bitcoin-dee690257c79-x86_64-apple-darwin-unsigned.dmg
  6748e4c64ae069632624cbec20de7f03eca1a7578fcef96607f3e8cb0ac4106e  guix-build-dee690257c79/output/x86_64-apple-darwin/bitcoin-dee690257c79-x86_64-apple-darwin-unsigned.tar.gz
  6415cbecfa18002a1e4865b996268558b4f26121118fd73b0ef4ca44967f34c7  guix-build-dee690257c79/output/x86_64-apple-darwin/bitcoin-dee690257c79-x86_64-apple-darwin.tar.gz
  f0a8d8837e80e42b5d77c3efc9d746c11ffc9909aece16dcba0a10726e1be7e0  guix-build-dee690257c79/output/x86_64-linux-gnu/SHA256SUMS.part
  418f4607159387ee17657120beda1c741fa6060e4457b304b857aa6c33859e6a  guix-build-dee690257c79/output/x86_64-linux-gnu/bitcoin-dee690257c79-x86_64-linux-gnu-debug.tar.gz
  d384fe8f2d6515c256a371ad84ae76ac9727ffd49887c0e22bb5ada4cd890092  guix-build-dee690257c79/output/x86_64-linux-gnu/bitcoin-dee690257c79-x86_64-linux-gnu.tar.gz
  3f441eb2d68ddd530b32f56a16ff639b27dcc58b5ba395e40f4c2be805f6cd8b  guix-build-dee690257c79/output/x86_64-w64-mingw32/SHA256SUMS.part
  d3d22479adc554ced965c4bde79f4c919e6b216acfca598fac4ebfc3b0e2d39d  guix-build-dee690257c79/output/x86_64-w64-mingw32/bitcoin-dee690257c79-win64-debug.zip
  89de153f5d839df6cd1266f8b3cb3ad455b2f6c43cee7644889da1e3efc7b2f1  guix-build-dee690257c79/output/x86_64-w64-mingw32/bitcoin-dee690257c79-win64-setup-unsigned.exe
  ba30708b9551b3794e4d2726aff27775dd4f1b347ea71b3fe1b00e39e8b7a594  guix-build-dee690257c79/output/x86_64-w64-mingw32/bitcoin-dee690257c79-win64-unsigned.tar.gz
  ab6a2b7a3e899fc58030a44b555e449d64aa69b5215d761bc550946b14f93515  guix-build-dee690257c79/output/x86_64-w64-mingw32/bitcoin-dee690257c79-win64.zip
  ```

ACKs for top commit:
  Sjors:
    tACK dee690257c7948510a0661e23c9e398a13e20659
  achow101:
    ACK dee690257c7948510a0661e23c9e398a13e20659
  hebasto:
    ACK dee690257c7948510a0661e23c9e398a13e20659, I have reviewed the code and it looks OK.

Tree-SHA512: e0605f049404905db94ea61473b2b68df008ceb86b9a09d8562ca3acc1f3a3be3893149fc62d189a6fbf24cfc76c393f2d1a1215292e9ae5dc4afc199e876821
2024-09-26 22:35:05 -05:00
fanquake
d725c5880d
Merge bitcoin/bitcoin#27312: depends: qrencode 4.1.1
eb1c3adf38cb71c3e6f298a61871738c4919b4a1 depends: qrencode 4.1.1 (fanquake)

Pull request description:

  Upgrade to the latest qrencode, and disable some warnings that cause compile failures with newer compilers (clang-15+).

  I haven't tested this (from a GUI perspective) at all. This is just "good enough" to keep things compiling, and uses some similar work-arounds as we have with other older packages, i.e bdb.

  Note that upstream, libqrencode is effectively unmaintained. No code changes for > 2 years. No responses to issues/PRs. Seems like the author has mostly dropped off of GitHub as well.

  This fixes part of #27299.

ACKs for top commit:
  TheCharlatan:
    Code review ACK eb1c3adf38cb71c3e6f298a61871738c4919b4a1

Tree-SHA512: 898eaac3e9915dfcdc0a011b736fff685a3b46990bd27f6038ef4d3e7cb6a276206438ea50d45908a051ce55c9b0779347d4be1d35271b67f76f409a7dc21fed
2024-09-26 22:34:13 -05:00
fanquake
482e5bbc49
Merge bitcoin/bitcoin#27462: depends: fix compiling bdb with clang-16 on aarch64
f8b8458276983f8fc1e2a47c4d00c1e30633067d depends: fix compiling bdb with clang-16 on aarch64 (fanquake)

Pull request description:

  Compiling bdb with clang-16 on aarch64 (hardware) currently fails:
  ```bash
  make -C depends/ bdb CC=clang CXX=clang++
  ...
  checking for mutexes... UNIX/fcntl
  configure: WARNING: NO SHARED LATCH IMPLEMENTATION FOUND FOR THIS PLATFORM.
  configure: error: Unable to find a mutex implementation
  ```

  Looking at config.log we've got:
  ```bash
  configure:18704: checking for mutexes
  configure:18815: clang -o conftest -pipe -std=c11 -O2 -Wno-error=implicit-function-declaration -Wno-error=format-security    -I/bitcoin/depends/aarch64-unknown-linux-gnu/include -D_GNU_SOURCE -D_REENTRANT   -L/bitcoin/depends/aarch64-unknown-linux-gnu/lib conftest.c  -lpthread >&5
  conftest.c:45:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
  main() {
  ^
  int
  conftest.c:50:2: warning: call to undeclared library function 'exit' with type 'void (int) __attribute__((noreturn))'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
          exit (
          ^
  conftest.c:50:2: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit'
  1 warning and 1 error generated.
  ```

  Clang-16 changed `-Wimplicit-function-declaration` and `-Wimplicit-int`
  warnings into errors, see:
  https://releases.llvm.org/16.0.0/tools/clang/docs/ReleaseNotes.html#potentially-breaking-changes.

  > The -Wimplicit-function-declaration and -Wimplicit-int warnings now
  > default to an error in C99, C11, and C17. As of C2x, support for implicit
  > function declarations and implicit int has been removed, and the
  > warning options will have no effect. Specifying -Wimplicit-int in
  > C89 mode will now issue warnings instead of being a noop.

ACKs for top commit:
  hebasto:
    ACK f8b8458276983f8fc1e2a47c4d00c1e30633067d, tested on Ubuntu Lunar (`aarch64`) with:

Tree-SHA512: 5ca078b1c00915446e9f0f2ecaa4342295a2097996554345753315d1c81c23000c57be14e1ac5506a87820f5114aba748456f2c2b6426b0810504d62d761a787
2024-09-26 22:33:26 -05:00
merge-script
f0a53c99e9
Merge bitcoin/bitcoin#26994: depends: define __BSD_VISIBLE for FreeBSD bdb build
0e02f725482dd30b9f03903074a481af1164411d depends: define `__BSD_VISIBLE` for FreeBSD bdb build (fanquake)

Pull request description:

  Required for additional definitions (`IPC_R` & friends), to be available, when compiling under C11, which would otherwise cause compile fails.

  See: https://github.com/MarcoFalke/btc_nightly/pull/4.

ACKs for top commit:
  hebasto:
    ACK 0e02f725482dd30b9f03903074a481af1164411d, tested on FreeBSD 13.1:

Tree-SHA512: 885d4aa341d9668da360cf6dfafb97ce816803c54e76c0a06e448db39a723666d42cd14b3e713d17ecbe33163f5af69924567cf449d679a2db95b36357005d43
2024-09-26 22:32:03 -05:00
fanquake
b1ac9926e7
Merge bitcoin/bitcoin#26073: build: fix depends bdb compilation for BSDs
5b2529b2697e9b2675783c98a32a41e28c72e076 build: fix depends bdb compilation for BSDs (fanquake)

Pull request description:

  Currently, building bdb for *BSD HOSTs in depends fails with:
  ```bash
  libtool: compile:  clang -m64 -c -I. -I../dist/./.. -I/home/ubuntu/bitcoin/depends/x86_64-unknown-freebsd/include -D_THREAD_SAFE -pipe -std=c11 -O2 -Wno-error=implicit-function-declaration -Wno-error=format-security ../dist/./../mutex/mut_tas.c  -fPIC -DPIC -o mut_tas.o
  In file included from ../dist/./../mutex/mut_tas.c:11:
  In file included from ./db_int.h:884:
  In file included from ../dist/./../dbinc/mutex.h:15:
  ../dist/./../dbinc/mutex_int.h:932:2: error: unknown type name 'pthread_rwlock_t'
          MUTEX_FIELDS                    /* Opaque thread mutex structures. */
          ^
  ../dist/./../dbinc/mutex_int.h:65:3: note: expanded from macro 'MUTEX_FIELDS'
                  pthread_rwlock_t rwlock;        /* Read/write lock */   \
                  ^
  1 error generated.
  ```

  Defining `_XOPEN_SOURCE` >=600 fixes access to the missing `pthread_rwlock_t` definitions.

ACKs for top commit:
  jarolrod:
    ACK 5b2529b2697e9b2675783c98a32a41e28c72e076

Tree-SHA512: 76584bfef7a86c69a095eb722657aa681b95658a031ef2da79d91a616e5370da292a65e7d67cdf641711791422b8a407b647b630ad497ffb9908683479e6cfb6
2024-09-26 22:31:03 -05:00
fanquake
45e0f6e56d
Merge bitcoin/bitcoin#25763: bdb: disable Werror for format-security
b46c6ec52e1501b8c4337cead0301ef2c3777dd6 bdb: disable Werror for format-security (fanquake)

Pull request description:

  This is causing build failures in some build environments, like NixOS.
  I don't think we are going to patch bdb at this point, and this warning
  has existed for as long as we've used bdb.

  Fixes #25211.

  Tested (in Docker) with:
  ```bash
  docker run -it nixos/nix
  nix-shell -p gitMinimal gcc12 libtool pkg-config curl gnumake patch autoconf automake
  git clone https://github.com/bitcoin/bitcoin
  make -C bitcoin/depends bdb
  ```

  Co-authored-by: Ryan Ofsky <ryan@ofsky.org>

  Guix Build (x86_64):
  ```bash
  25981417fe09fa9e6f7b30875dac709a1de1146d77ec3c04bbf18eace16932b7  guix-build-b46c6ec52e15/output/aarch64-linux-gnu/SHA256SUMS.part
  9edc248dad9508ff7ec1ddc121caa606a2da27f5b36f664cb54b17bcdcfa407e  guix-build-b46c6ec52e15/output/aarch64-linux-gnu/bitcoin-b46c6ec52e15-aarch64-linux-gnu-debug.tar.gz
  e3bac816e7b1ef69927a818e6d882af0bf2dae69930181d4a144bfe309078391  guix-build-b46c6ec52e15/output/aarch64-linux-gnu/bitcoin-b46c6ec52e15-aarch64-linux-gnu.tar.gz
  d15461bb5fb5abafb3a515fa37e2f6b49a352e22b22d5d93aa4ecf7705781e72  guix-build-b46c6ec52e15/output/arm-linux-gnueabihf/SHA256SUMS.part
  f3d215bcee1e695a83092841544f00f34cbe65d6d5374673ef3b9a686caaaf85  guix-build-b46c6ec52e15/output/arm-linux-gnueabihf/bitcoin-b46c6ec52e15-arm-linux-gnueabihf-debug.tar.gz
  e9eb5bca37dfeac5207ec427bbe590528841cb9fb7d4a1e28646ebb00386a72d  guix-build-b46c6ec52e15/output/arm-linux-gnueabihf/bitcoin-b46c6ec52e15-arm-linux-gnueabihf.tar.gz
  d2b13313b5e638d54c77026c8e383c93e32c677fe9b48c457b16d872bf034219  guix-build-b46c6ec52e15/output/arm64-apple-darwin/SHA256SUMS.part
  21dc8ac4f0a1535c9459e9be43d65151e4affd7cdd0a65d2e95f6f8fb0960a71  guix-build-b46c6ec52e15/output/arm64-apple-darwin/bitcoin-b46c6ec52e15-arm64-apple-darwin-unsigned.dmg
  2dfb444497b71a546e56e0dbc1dc560860006489edfe0cf2e418378ac36c5780  guix-build-b46c6ec52e15/output/arm64-apple-darwin/bitcoin-b46c6ec52e15-arm64-apple-darwin-unsigned.tar.gz
  22ebb15f5bec1f5d610dc4706ebbb0977ed013209d73077a3c601e27db6bc37c  guix-build-b46c6ec52e15/output/arm64-apple-darwin/bitcoin-b46c6ec52e15-arm64-apple-darwin.tar.gz
  320d12f518f899fa1b31ca89553362f8e2855a4ae50e9756e8c12cdfbc4c5392  guix-build-b46c6ec52e15/output/dist-archive/bitcoin-b46c6ec52e15.tar.gz
  0c6773c8960746c837e2bd929057dab08f0d2963ef42f0ac071bfcb0fbc57e44  guix-build-b46c6ec52e15/output/powerpc64-linux-gnu/SHA256SUMS.part
  2c77c8213fa52bb0395a57d128b179e5615c463e4a4a582b111bf13bb907c293  guix-build-b46c6ec52e15/output/powerpc64-linux-gnu/bitcoin-b46c6ec52e15-powerpc64-linux-gnu-debug.tar.gz
  74023867ae64c3b32fccead48b3dcb81c55299a61bd921d22bc3a7c937c253fb  guix-build-b46c6ec52e15/output/powerpc64-linux-gnu/bitcoin-b46c6ec52e15-powerpc64-linux-gnu.tar.gz
  f3fff570610cf13ab77e8ce9b97700b82cf9d3f2ab61662ca49b2c99be824ae2  guix-build-b46c6ec52e15/output/powerpc64le-linux-gnu/SHA256SUMS.part
  a638b18d3281253ad20d54e1dfd83157d6d38c6bd90a30f724de1d29d416aff5  guix-build-b46c6ec52e15/output/powerpc64le-linux-gnu/bitcoin-b46c6ec52e15-powerpc64le-linux-gnu-debug.tar.gz
  340f56a514437cf25e75c14d3c90084f67b7c9cd0b304739033db17c9978c754  guix-build-b46c6ec52e15/output/powerpc64le-linux-gnu/bitcoin-b46c6ec52e15-powerpc64le-linux-gnu.tar.gz
  35c06a9e06fded9bdaff53c2f142c03e5dc255c3fdfa8bad0af068a29b488471  guix-build-b46c6ec52e15/output/riscv64-linux-gnu/SHA256SUMS.part
  049d06931661ab0f1cbcb37217083c35b809187a6bc51d7173c54c237ee1160d  guix-build-b46c6ec52e15/output/riscv64-linux-gnu/bitcoin-b46c6ec52e15-riscv64-linux-gnu-debug.tar.gz
  a128abdd8898a7fb75f1b293141ec64ef70129576f61415025187d3cb9f2ecc6  guix-build-b46c6ec52e15/output/riscv64-linux-gnu/bitcoin-b46c6ec52e15-riscv64-linux-gnu.tar.gz
  184be693f9633b0642bd75065d7bdf964cec9485af167504eea32d2d8aff8075  guix-build-b46c6ec52e15/output/x86_64-apple-darwin/SHA256SUMS.part
  53ab2fb050533dc9a0f7b301b53d47ca65484f4e4eeea3b1259c353dd2cde4f2  guix-build-b46c6ec52e15/output/x86_64-apple-darwin/bitcoin-b46c6ec52e15-x86_64-apple-darwin-unsigned.dmg
  5d92fcb539b41fb3b41bd1878025ecbb958521caf7eae8c3ae796aa4f235a982  guix-build-b46c6ec52e15/output/x86_64-apple-darwin/bitcoin-b46c6ec52e15-x86_64-apple-darwin-unsigned.tar.gz
  be71b8da7fa0ac39a3f8191293326b300b93b8fe4efba732a78366aebbb971b9  guix-build-b46c6ec52e15/output/x86_64-apple-darwin/bitcoin-b46c6ec52e15-x86_64-apple-darwin.tar.gz
  07c195ad1ad1b00f5062d405913169367b73363a0418330c6add394c9df6e30b  guix-build-b46c6ec52e15/output/x86_64-linux-gnu/SHA256SUMS.part
  4c11ba2d5a38921511b0fc88b1aca0e30f939291176d2c1f93b211d63b04fd45  guix-build-b46c6ec52e15/output/x86_64-linux-gnu/bitcoin-b46c6ec52e15-x86_64-linux-gnu-debug.tar.gz
  694d21edd3f462163ecf5821dae74b39c9ee4fc4f5697fe5865a71a7e3dc24dc  guix-build-b46c6ec52e15/output/x86_64-linux-gnu/bitcoin-b46c6ec52e15-x86_64-linux-gnu.tar.gz
  9b66a629a38e37b2746f237289bf4287184605876583ce24a073e42136e840af  guix-build-b46c6ec52e15/output/x86_64-w64-mingw32/SHA256SUMS.part
  7a8d633ac6f2c4a4955fb6dcc64b7560d96bfa74516ab2799ea7fc1b90c58b2f  guix-build-b46c6ec52e15/output/x86_64-w64-mingw32/bitcoin-b46c6ec52e15-win64-debug.zip
  81169a19c0a954949293fee2c8825a86bfb36a3a34c4c0271d926982cad626e2  guix-build-b46c6ec52e15/output/x86_64-w64-mingw32/bitcoin-b46c6ec52e15-win64-setup-unsigned.exe
  58be54d27b308f07609447ae6fca8a91e76630d7753adb54e200c576fee8e6c0  guix-build-b46c6ec52e15/output/x86_64-w64-mingw32/bitcoin-b46c6ec52e15-win64-unsigned.tar.gz
  f13243cb6527bf7e9182673d32ccee32cb160d404271a0057e092a1cb571cc29  guix-build-b46c6ec52e15/output/x86_64-w64-mingw32/bitcoin-b46c6ec52e15-win64.zip
  ```

  Guix Build (arm64):
  ```bash
  d15461bb5fb5abafb3a515fa37e2f6b49a352e22b22d5d93aa4ecf7705781e72  guix-build-b46c6ec52e15/output/arm-linux-gnueabihf/SHA256SUMS.part
  f3d215bcee1e695a83092841544f00f34cbe65d6d5374673ef3b9a686caaaf85  guix-build-b46c6ec52e15/output/arm-linux-gnueabihf/bitcoin-b46c6ec52e15-arm-linux-gnueabihf-debug.tar.gz
  e9eb5bca37dfeac5207ec427bbe590528841cb9fb7d4a1e28646ebb00386a72d  guix-build-b46c6ec52e15/output/arm-linux-gnueabihf/bitcoin-b46c6ec52e15-arm-linux-gnueabihf.tar.gz
  f699f38a59bc888d5b728c934d1bf2a30dc46e6e0dfe4f6109c90c1e557b6334  guix-build-b46c6ec52e15/output/arm64-apple-darwin/SHA256SUMS.part
  e60d6ea30c18bfc948e146f6e8a6d9d53c84500c2117472999bc60e1bfa2dc4a  guix-build-b46c6ec52e15/output/arm64-apple-darwin/bitcoin-b46c6ec52e15-arm64-apple-darwin-unsigned.dmg
  8f5693a12671ea789e885b40dfeefdf076dd6f9856bfa867f33b7e1005779dd4  guix-build-b46c6ec52e15/output/arm64-apple-darwin/bitcoin-b46c6ec52e15-arm64-apple-darwin-unsigned.tar.gz
  a56b01ad6bf161f4cd7e3f89faea5b464460093131400df8f89c3b78839a72a9  guix-build-b46c6ec52e15/output/arm64-apple-darwin/bitcoin-b46c6ec52e15-arm64-apple-darwin.tar.gz
  320d12f518f899fa1b31ca89553362f8e2855a4ae50e9756e8c12cdfbc4c5392  guix-build-b46c6ec52e15/output/dist-archive/bitcoin-b46c6ec52e15.tar.gz
  0c6773c8960746c837e2bd929057dab08f0d2963ef42f0ac071bfcb0fbc57e44  guix-build-b46c6ec52e15/output/powerpc64-linux-gnu/SHA256SUMS.part
  2c77c8213fa52bb0395a57d128b179e5615c463e4a4a582b111bf13bb907c293  guix-build-b46c6ec52e15/output/powerpc64-linux-gnu/bitcoin-b46c6ec52e15-powerpc64-linux-gnu-debug.tar.gz
  74023867ae64c3b32fccead48b3dcb81c55299a61bd921d22bc3a7c937c253fb  guix-build-b46c6ec52e15/output/powerpc64-linux-gnu/bitcoin-b46c6ec52e15-powerpc64-linux-gnu.tar.gz
  f3fff570610cf13ab77e8ce9b97700b82cf9d3f2ab61662ca49b2c99be824ae2  guix-build-b46c6ec52e15/output/powerpc64le-linux-gnu/SHA256SUMS.part
  a638b18d3281253ad20d54e1dfd83157d6d38c6bd90a30f724de1d29d416aff5  guix-build-b46c6ec52e15/output/powerpc64le-linux-gnu/bitcoin-b46c6ec52e15-powerpc64le-linux-gnu-debug.tar.gz
  340f56a514437cf25e75c14d3c90084f67b7c9cd0b304739033db17c9978c754  guix-build-b46c6ec52e15/output/powerpc64le-linux-gnu/bitcoin-b46c6ec52e15-powerpc64le-linux-gnu.tar.gz
  35c06a9e06fded9bdaff53c2f142c03e5dc255c3fdfa8bad0af068a29b488471  guix-build-b46c6ec52e15/output/riscv64-linux-gnu/SHA256SUMS.part
  049d06931661ab0f1cbcb37217083c35b809187a6bc51d7173c54c237ee1160d  guix-build-b46c6ec52e15/output/riscv64-linux-gnu/bitcoin-b46c6ec52e15-riscv64-linux-gnu-debug.tar.gz
  a128abdd8898a7fb75f1b293141ec64ef70129576f61415025187d3cb9f2ecc6  guix-build-b46c6ec52e15/output/riscv64-linux-gnu/bitcoin-b46c6ec52e15-riscv64-linux-gnu.tar.gz
  184be693f9633b0642bd75065d7bdf964cec9485af167504eea32d2d8aff8075  guix-build-b46c6ec52e15/output/x86_64-apple-darwin/SHA256SUMS.part
  53ab2fb050533dc9a0f7b301b53d47ca65484f4e4eeea3b1259c353dd2cde4f2  guix-build-b46c6ec52e15/output/x86_64-apple-darwin/bitcoin-b46c6ec52e15-x86_64-apple-darwin-unsigned.dmg
  5d92fcb539b41fb3b41bd1878025ecbb958521caf7eae8c3ae796aa4f235a982  guix-build-b46c6ec52e15/output/x86_64-apple-darwin/bitcoin-b46c6ec52e15-x86_64-apple-darwin-unsigned.tar.gz
  be71b8da7fa0ac39a3f8191293326b300b93b8fe4efba732a78366aebbb971b9  guix-build-b46c6ec52e15/output/x86_64-apple-darwin/bitcoin-b46c6ec52e15-x86_64-apple-darwin.tar.gz
  07c195ad1ad1b00f5062d405913169367b73363a0418330c6add394c9df6e30b  guix-build-b46c6ec52e15/output/x86_64-linux-gnu/SHA256SUMS.part
  4c11ba2d5a38921511b0fc88b1aca0e30f939291176d2c1f93b211d63b04fd45  guix-build-b46c6ec52e15/output/x86_64-linux-gnu/bitcoin-b46c6ec52e15-x86_64-linux-gnu-debug.tar.gz
  694d21edd3f462163ecf5821dae74b39c9ee4fc4f5697fe5865a71a7e3dc24dc  guix-build-b46c6ec52e15/output/x86_64-linux-gnu/bitcoin-b46c6ec52e15-x86_64-linux-gnu.tar.gz
  9b66a629a38e37b2746f237289bf4287184605876583ce24a073e42136e840af  guix-build-b46c6ec52e15/output/x86_64-w64-mingw32/SHA256SUMS.part
  7a8d633ac6f2c4a4955fb6dcc64b7560d96bfa74516ab2799ea7fc1b90c58b2f  guix-build-b46c6ec52e15/output/x86_64-w64-mingw32/bitcoin-b46c6ec52e15-win64-debug.zip
  81169a19c0a954949293fee2c8825a86bfb36a3a34c4c0271d926982cad626e2  guix-build-b46c6ec52e15/output/x86_64-w64-mingw32/bitcoin-b46c6ec52e15-win64-setup-unsigned.exe
  58be54d27b308f07609447ae6fca8a91e76630d7753adb54e200c576fee8e6c0  guix-build-b46c6ec52e15/output/x86_64-w64-mingw32/bitcoin-b46c6ec52e15-win64-unsigned.tar.gz
  f13243cb6527bf7e9182673d32ccee32cb160d404271a0057e092a1cb571cc29  guix-build-b46c6ec52e15/output/x86_64-w64-mingw32/bitcoin-b46c6ec52e15-win64.zip
  ```

ACKs for top commit:
  ryanofsky:
    Code review ACK b46c6ec52e1501b8c4337cead0301ef2c3777dd6. Thanks for addressing build issue. Probably there is no real security issue, but could look into that
  jarolrod:
    Code Review ACK b46c6ec52e1501b8c4337cead0301ef2c3777dd6

Tree-SHA512: 4b6b98e225e9b98fe1426a6402dae28e30327c932268d9bec31bf84aee12ec609ce97bd89a592a1f2cfd4d031ba520130bfef95006f7e09c0692af233f9614bb
2024-09-26 22:30:03 -05:00
Kittywhiskers Van Gogh
f4a53ba8ce
merge bitcoin#26945: systemtap 4.8 2024-09-04 18:46:14 +00:00
Kittywhiskers Van Gogh
457bbd3f8b
merge bitcoin#25360: SystemTap 4.7 (RISC-V support) 2024-09-04 18:46:14 +00:00
Kittywhiskers Van Gogh
c3d7e3a192
merge bitcoin#26944: fix systemtap download URL 2024-09-04 18:46:13 +00:00
Kittywhiskers Van Gogh
264e02fcc7
merge bitcoin#23724: add systemtap's sys/sdt.h as depends for GUIX builds with USDT tracepoints 2024-09-04 18:46:13 +00:00
Kittywhiskers Van Gogh
b02d5e34ff
merge bitcoin#30217: Update Boost download link 2024-08-13 22:53:52 +07:00
Kittywhiskers Van Gogh
9e80893a3c
partial bitcoin#28622: use macOS 14 SDK (Xcode 15.0)
includes:
- 51c97ffb6989a4cf56ad966d360a9fa0426e174c
2024-08-13 22:53:52 +07:00
Kittywhiskers Van Gogh
1d8b8900ef
merge bitcoin#26557: Update Boost to 1.81.0 in depends 2024-08-13 22:53:49 +07:00
Kittywhiskers Van Gogh
1ad64dadca
merge bitcoin#25873: Boost 1.80.0 2024-08-13 22:53:49 +07:00
Kittywhiskers Van Gogh
aa361b2717
merge bitcoin#24301: header-only Boost 2024-08-13 22:53:48 +07:00
pasta
efe4c2d6eb
Merge #6143: backport: bitcoin#19160, #21663, #21669, #21732, #21738, #21750, #21775, #21812
f4cb0fbfe1 fix: no need to relay quorum commitment in case of block undo (Konstantin Akimov)
0431a33919 fix: follow-up changes for bitcoin#14193. (Konstantin Akimov)
86b76d19b6 Merge bitcoin/bitcoin#21812: ci: Enable D_GLIBCXX_DEBUG for multiprocess task (fanquake)
334496ea7e Merge bitcoin/bitcoin#21775: p2p: Limit m_block_inv_mutex (MarcoFalke)
23b83109ea Merge bitcoin/bitcoin#21750: net: remove unnecessary check of CNode::cs_vSend (MarcoFalke)
b34514191f Merge bitcoin/bitcoin#21738: test: Use clang-12 for ASAN, Add missing suppression (fanquake)
3411577473 Merge bitcoin/bitcoin#19160: multiprocess: Add basic spawn and IPC support (W. J. van der Laan)
970048d917 fix: missing changes from bitcoin#19267 - run multiprocess on CI (Konstantin Akimov)
f2b7ee73db fix: follow-up bitcoin#15402 - removed dead code (Konstantin Akimov)
274068cdbc fix: follow-up bitcoin/bitcoin#21732 - minor missing typo (MarcoFalke)
e9450a8b36 Merge #21669: test: Remove spurious double lock tsan suppressions by bumping to clang-12 (MarcoFalke)
ef92c3065c Merge #21663: ci: Fix macOS brew install command (W. J. van der Laan)

Pull request description:

  ## Issue being fixed or feature implemented
  Just regular backports from v22

  ## What was done?
  See commits for backports.

  Also there're 2 bugs are fixed which became visible after backporting bitcoin#21775 - both are related to possible deadlocks in net_processing

  ## How Has This Been Tested?
  Run unit and functional tests. Enabled multiprocess builds on CI

  ## Breaking Changes
  N/A

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  UdjinM6:
    utACK f4cb0fbfe1
  PastaPastaPasta:
    utACK f4cb0fbfe1

Tree-SHA512: 3204c2aa243fa4834ccf4ff4672d183cf9b35f87b857df8543572cd685729e15fca39f85b27194233e57cbc1746e36b556efab95ce20d0aa0a7d4476a9f3c6c0
2024-08-10 19:15:13 +07:00
Kittywhiskers Van Gogh
a3b79267e0
merge bitcoin#20744: Use std::filesystem. Remove Boost Filesystem & System 2024-08-06 18:00:39 +00:00
Kittywhiskers Van Gogh
28b96a071d
merge bitcoin#22840: fix unoptimized libraries in depends 2024-08-06 18:00:37 +00:00
W. J. van der Laan
3411577473
Merge bitcoin/bitcoin#19160: multiprocess: Add basic spawn and IPC support
84934bf70e11fe4cda1cfda60113a54895d4fdd5 multiprocess: Add echoipc RPC method and test (Russell Yanofsky)
7d76cf667eff512043a28d4407cc89f58796c42b multiprocess: Add comments and documentation (Russell Yanofsky)
ddf7ecc8dfc64cf121099fb047e1ac871de94f4c multiprocess: Add bitcoin-node process spawning support (Russell Yanofsky)
10afdf0280fa93bfffb0a7665c60dc155cd84514 multiprocess: Add Ipc interface implementation (Russell Yanofsky)
745c9cebd50fea1664efef571dc1ee1bddc96102 multiprocess: Add Ipc and Init interface definitions (Russell Yanofsky)
5d62d7f6cd48bbc4e9f37ecc369f38d5e1e0036c Update libmultiprocess library (Russell Yanofsky)

Pull request description:

  This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10).

  ---

  This PR adds basic process spawning and IPC method call support to `bitcoin-node` executables built with `--enable-multiprocess`[*].

  These changes are used in https://github.com/bitcoin/bitcoin/pull/10102 to let node, gui, and wallet functionality run in different processes, and extended in https://github.com/bitcoin/bitcoin/pull/19460 and https://github.com/bitcoin/bitcoin/pull/19461 after that to allow gui and wallet processes to be started and stopped independently and connect to the node over a socket.

  These changes can also be used to implement new functionality outside the `bitcoin-node` process like external indexes or pluggable transports (https://github.com/bitcoin/bitcoin/pull/18988). The `Ipc::spawnProcess` and `Ipc::serveProcess` methods added here are entry points for spawning a child process and serving a parent process, and being able to make bidirectional, multithreaded method calls between the processes. A simple example of this is implemented in commit "Add echoipc RPC method and test."

  Changes in this PR aside from the echo test were originally part of #10102, but have been split and moved here for easier review, and so they can be used for other applications like external plugins.

  Additional notes about this PR can be found at https://bitcoincore.reviews/19160

  [*] Note: the `--enable-multiprocess` feature is still experimental, and not enabled by default, and not yet supported on windows. More information can be found in [doc/multiprocess.md](https://github.com/bitcoin/bitcoin/blob/master/doc/multiprocess.md)

ACKs for top commit:
  fjahr:
    re-ACK 84934bf70e11fe4cda1cfda60113a54895d4fdd5
  ariard:
    ACK 84934bf. Changes since last ACK fixes the silent merge conflict about `EnsureAnyNodeContext()`. Rebuilt and checked again debug command `echoipc`.

Tree-SHA512: 52a948b5e18a26d7d7a09b83003eaae9b1ed2981978c36c959fe9a55abf70ae6a627c4ff913a3428be17400a3dace30c58b5057fa75c319662c3be98f19810c6
2024-07-27 13:04:24 +07:00
Kittywhiskers Van Gogh
bbc99571f3
fix: sidestep c++17 std::unary_function removal by compiling boost with c++11
we can revert this after upgrading to boost 1.81
2024-07-11 19:00:02 +00:00
Kittywhiskers Van Gogh
3c622a3916
revert: partial dash#5610 (make depends compilable with Xcode 15 on macos)
reverted commit:
- aa7ba58804
2024-07-11 16:37:03 +00:00
Kittywhiskers Van Gogh
77862d8f5f
merge bitcoin#23494: minor boost tidyups 2024-06-25 13:39:57 +00:00
fanquake
73d64c48a9
Merge bitcoin/bitcoin#25738: depends: use a patch instead of sed in libxcb
8f1ff487b3df6f3e4cb53f88045a32ea4fbc0839 libxcb: use a patch instead of sed (fanquake)

Pull request description:

  To remove the unneeded pthread-stubs requirement.

  Should almost be enough to close #16838.

  seds dead (mostly). The usage left in `qt.mk` are for substituting runtime values.

ACKs for top commit:
  hebasto:
    ACK 8f1ff487b3df6f3e4cb53f88045a32ea4fbc0839.

Tree-SHA512: 2b6ebbe98a838d8e08e54737292b02176ff4c85a541ae1ec0c590c75e33ba92289628b88ca3144f2e214f4327515f7fd22c39687312f44183b759815c092b24f
2024-06-08 20:59:36 -05:00
Konstantin Akimov
0e82bf46d2
fix: bump version of libbacktrace library
Old version doesn't support debug information for ELF produced by modern compilers

It appears like an error:
 > unrecognized DWARF version in .debug_info at 6
 > no debug info in ELF executable

which causes:
 > No debug information available for stacktrace. You should add debug information and then run

And backtraces are not shown on linux even if debug infos here.

With this fixes output as expected:
```
std::terminate() called due to unhandled exception
Exception: type=char const*, what="HEHE"
   0#: (0x5D7C19364C3F) bitcoind.cpp:114          - AppInit
   1#: (0x5D7C19364C3F) bitcoind.cpp:273          - main
   2#: (0x7B0B19C28150) libc_start_call_main.h:74 - __libc_start_call_main
   3#: (0x7B0B19C28209) libc-start.c:128          - call_init
   4#: (0x7B0B19C28209) libc-start.c:347          - __libc_start_main_impl
   5#: (0x5D7C193734D5) <unknown-file>            - ???
```
2024-05-29 12:26:11 +07:00
fanquake
b85fc45a15
Merge bitcoin/bitcoin#28769: build: Update qt package up to 5.15.11
8047bb6feaa9ee5d6c1edb7640baaf228450bc6b build: Update `qt` package up to 5.15.11 (Hennadii Stepanov)

Pull request description:

  In the light of https://github.com/bitcoin/bitcoin/pull/28622, we probably have to patch Qt. It seems reasonable to update it up to the latest available version before doing that.

ACKs for top commit:
  TheCharlatan:
    ACK 8047bb6feaa9ee5d6c1edb7640baaf228450bc6b

Tree-SHA512: b4d7df2ff059b8f58c3202d913237c0d39a962748658f1ce853884dca095fbda5f56d4d68f73a1bc8da2f295e96a20927306e148b41a9f4afc42c8edb11c3729
2024-05-24 13:21:05 -05:00
fanquake
94a8e1a713
Merge bitcoin/bitcoin#28097: depends: xcb-proto 1.15.2
7cb88c8b46723d306b96953a6a60c90a4ab211e3 depends: xcb-proto 1.15.2 (fanquake)

Pull request description:

  Resolves build failures with Python 3.12, i.e building on rawhide:
  ```bash
  make -C depends -j9
  ...
  make[3]: Nothing to be done for 'install-exec-am'.
   /usr/bin/mkdir -p '/bitcoin/depends/work/staging/aarch64-unknown-linux-gnu/xcb_proto/1.14.1-4a91ac9dc41/bitcoin/depends/aarch64-unknown-linux-gnu/lib/python3.12/site-packages/xcbgen'
   /usr/bin/install -c -m 644 __init__.py error.py expr.py align.py matcher.py state.py xtypes.py '/bitcoin/depends/work/staging/aarch64-unknown-linux-gnu/xcb_proto/1.14.1-4a91ac9dc41/bitcoin/depends/aarch64-unknown-linux-gnu/lib/python3.12/site-packages/xcbgen'
  Traceback (most recent call last):
    File "<string>", line 2, in <module>
  ModuleNotFoundError: No module named 'imp'
  make[3]: *** [Makefile:271: install-pkgpythonPYTHON] Error 1
  ```

  `imp` was removed in 3.12: https://docs.python.org/3/library/imp.html.

  Guix Build:
  ```bash
  6d1725c9346bdf04e1eeec2deffda90957bd081700ba896834a143756410fb0e  guix-build-7cb88c8b4672/output/aarch64-linux-gnu/SHA256SUMS.part
  34486c39daea8a3ce8d92e9c1501f26e5f5e300d9612a25bd56c48ab56353329  guix-build-7cb88c8b4672/output/aarch64-linux-gnu/bitcoin-7cb88c8b4672-aarch64-linux-gnu-debug.tar.gz
  cb0080d75d0fc4fc5c7fc022b5771470c60609c35836e7b66c4f479a2edcd098  guix-build-7cb88c8b4672/output/aarch64-linux-gnu/bitcoin-7cb88c8b4672-aarch64-linux-gnu.tar.gz
  395c332f83206125819aabf9a5dad5c906bdcd78ec13269fdfb4215bb5cc3247  guix-build-7cb88c8b4672/output/arm-linux-gnueabihf/SHA256SUMS.part
  f9e72693dd59f1b4dce6b6efa7bf325b2b589075a904c57b430dbe5c39add4ff  guix-build-7cb88c8b4672/output/arm-linux-gnueabihf/bitcoin-7cb88c8b4672-arm-linux-gnueabihf-debug.tar.gz
  14cfcebcd557d30d5a07837ab38ca217346f9b97e238a96376d6467d0db39e1a  guix-build-7cb88c8b4672/output/arm-linux-gnueabihf/bitcoin-7cb88c8b4672-arm-linux-gnueabihf.tar.gz
  1aaa7c04156a78628060a2ec47077589fb5dfb7a2e558fe604aaaa916b8a7f51  guix-build-7cb88c8b4672/output/arm64-apple-darwin/SHA256SUMS.part
  94585898babc8fdce7660c3160fe7b26c6f6749ac53a177f91a8b4226856ab7b  guix-build-7cb88c8b4672/output/arm64-apple-darwin/bitcoin-7cb88c8b4672-arm64-apple-darwin-unsigned.dmg
  9bcc693e5fad668e6c7beb8280c9c3e6988318569e0efa7d24f8cd990a3c1dd4  guix-build-7cb88c8b4672/output/arm64-apple-darwin/bitcoin-7cb88c8b4672-arm64-apple-darwin-unsigned.tar.gz
  3e427a7c2530cc3bb2f87125997bafa94234c21ebb7004cc36dc8408c0b0c9ff  guix-build-7cb88c8b4672/output/arm64-apple-darwin/bitcoin-7cb88c8b4672-arm64-apple-darwin.tar.gz
  988909c91077cb83b8d5ee77933192525d1fa1fd0bba0874138433314cb64927  guix-build-7cb88c8b4672/output/dist-archive/bitcoin-7cb88c8b4672.tar.gz
  b13c8b1f4f75505d2356f9e702db384dbb58ee3f7f0af3b110df4b7bc4c80f52  guix-build-7cb88c8b4672/output/powerpc64-linux-gnu/SHA256SUMS.part
  6f2f204401c36ee59564c8d56f9adf4f2587471ea0705e0f6a89ade4a8decf55  guix-build-7cb88c8b4672/output/powerpc64-linux-gnu/bitcoin-7cb88c8b4672-powerpc64-linux-gnu-debug.tar.gz
  c1af63ec54fcbfd267a047d2dca41bdfcace1ae6a5746df11bd710217b17b205  guix-build-7cb88c8b4672/output/powerpc64-linux-gnu/bitcoin-7cb88c8b4672-powerpc64-linux-gnu.tar.gz
  2407bc6d0beaa12dd7601ff14ef2c077346752a7b57fdf27df0a512f2af825bd  guix-build-7cb88c8b4672/output/powerpc64le-linux-gnu/SHA256SUMS.part
  ff033b4b2a3c2816555ee3a443e4087cba47d4eb05b00e092603892ff91acc30  guix-build-7cb88c8b4672/output/powerpc64le-linux-gnu/bitcoin-7cb88c8b4672-powerpc64le-linux-gnu-debug.tar.gz
  ebd9c3ab462290e2c3264dd4184a1d132b90cc93d8359ae28bc23a120b918716  guix-build-7cb88c8b4672/output/powerpc64le-linux-gnu/bitcoin-7cb88c8b4672-powerpc64le-linux-gnu.tar.gz
  57afcfe859903b960ef792447d34a17d556e44c98c021f5a35bfbd963f9e7be5  guix-build-7cb88c8b4672/output/riscv64-linux-gnu/SHA256SUMS.part
  105e6ef4fbac91e1bbbea3e98c80915654894d247cbfe0e4d2ff89b633ace10e  guix-build-7cb88c8b4672/output/riscv64-linux-gnu/bitcoin-7cb88c8b4672-riscv64-linux-gnu-debug.tar.gz
  e893e321ddd966c29fa949c3d7866fd0dca6ea87f9185e702a17c62896acf90b  guix-build-7cb88c8b4672/output/riscv64-linux-gnu/bitcoin-7cb88c8b4672-riscv64-linux-gnu.tar.gz
  80e7610cdb2ea9f1a503fa7c9ac7e29600e98fdac020951a76525494822416d9  guix-build-7cb88c8b4672/output/x86_64-apple-darwin/SHA256SUMS.part
  8fe050ca40af1d2830f7efe928f8ea8e30800dfa286f5d22549255d7ed893a30  guix-build-7cb88c8b4672/output/x86_64-apple-darwin/bitcoin-7cb88c8b4672-x86_64-apple-darwin-unsigned.dmg
  51a06c78edb9b29008deab11f5e98acac04de64080804d22b5a4f30c4b195ee5  guix-build-7cb88c8b4672/output/x86_64-apple-darwin/bitcoin-7cb88c8b4672-x86_64-apple-darwin-unsigned.tar.gz
  5cb44b69b2315fd2bb4122fa252158a9460269f24121226d88f6146e52aafc5b  guix-build-7cb88c8b4672/output/x86_64-apple-darwin/bitcoin-7cb88c8b4672-x86_64-apple-darwin.tar.gz
  d57f8ad1041a8112b012472ff00593a214f55215a29c5e5c3bc724d5eb645b1e  guix-build-7cb88c8b4672/output/x86_64-linux-gnu/SHA256SUMS.part
  76f1865d49cedf4b03f9ac5c4cb968968e54f8b19e96391340d82669a9395e93  guix-build-7cb88c8b4672/output/x86_64-linux-gnu/bitcoin-7cb88c8b4672-x86_64-linux-gnu-debug.tar.gz
  63cca6f0cbfd74148b20093bc2494b9abf50594cfb7055c5b5d702583d6c37a4  guix-build-7cb88c8b4672/output/x86_64-linux-gnu/bitcoin-7cb88c8b4672-x86_64-linux-gnu.tar.gz
  8d2afd4156525bc4684271092b5017e12f01fcc3dad29608886d10c0ef01b09d  guix-build-7cb88c8b4672/output/x86_64-w64-mingw32/SHA256SUMS.part
  6ebb038dc1f589bf92bcf3766dfcb0310f7df9ff4f75c943c2eb6fcced1a2580  guix-build-7cb88c8b4672/output/x86_64-w64-mingw32/bitcoin-7cb88c8b4672-win64-debug.zip
  d73aad8495174a49dad172278fbe590b86104bca9fcec8301a548a9fc8b1118f  guix-build-7cb88c8b4672/output/x86_64-w64-mingw32/bitcoin-7cb88c8b4672-win64-setup-unsigned.exe
  7697fffdb9b2c2f0c6042f56daf9940c561ed4c950692a2adbb039ecd885e047  guix-build-7cb88c8b4672/output/x86_64-w64-mingw32/bitcoin-7cb88c8b4672-win64-unsigned.tar.gz
  4483876d0e5709b25bd2e238958a820f7996eaebe21c1c3f3a8c3f490a0c8562  guix-build-7cb88c8b4672/output/x86_64-w64-mingw32/bitcoin-7cb88c8b4672-win64.zip
  ```

ACKs for top commit:
  hebasto:
    ACK 7cb88c8b46723d306b96953a6a60c90a4ab211e3, tested on Ubuntu Mantic with:

Tree-SHA512: 7e01c20f15864c29ada6719051e683fbf7a533aaed810aa74763f50f6810fa49e8d3773d13d18ba88a20404305fc92d3c95190e799ebaf25a82301e97422e7a8
2024-05-07 12:34:22 -05:00
fanquake
267f42fd6a
Merge #21382: build: Clean remnants of QTBUG-34748 fix
173ef8980d921c9c0e46257747ab1165965e3ced build: Small libxcb.mk improvements (Hennadii Stepanov)
5129b36573cb07d8bcbac493506c46e26d7239eb build: Clean remnants of QTBUG-34748 fix (Hennadii Stepanov)

Pull request description:

  Hope, this PR will make [transit](https://github.com/bitcoin/bitcoin/pull/21376) to Qt 5.12.10 neater.

  A fix for [QTBUG-34748](https://bugreports.qt.io/browse/QTBUG-34748) was introduced in #5915 (v0.11.0, Qt 5.2.1).

  [QTBUG-34748](https://bugreports.qt.io/browse/QTBUG-34748) was [fixed](b19b080894) in Qt 5.3.0.

  The separated [`fix-xcb-include-order.patch`](bb44d9e754/depends/patches/qt/fix-xcb-include-order.patch), provided by #5915, was dropped in #12971 while bumping Qt to 5.9.4 (5.9.6). But `libxcb.mk` remained unchanged.

  This PR reverts #5915 for `libxcb.mk` as well.

ACKs for top commit:
  practicalswift:
    cr ACK 173ef8980d921c9c0e46257747ab1165965e3ced: patch looks correct
  fanquake:
    ACK 173ef8980d921c9c0e46257747ab1165965e3ced

Tree-SHA512: 9815a7e532ff4aa08f9623ded8d5708eca1c9c73ac7a2684419a18c125da7627b44ac3191f2e7978946942c8d0580e73b1a93df624986fb2a13791a68ce1e025
2024-03-23 19:26:38 -05:00
fanquake
1c66022e18
Merge bitcoin/bitcoin#25322: build: Fix capnp package build for Android
8b8edc25c13a3e613770bf38b21a2556192e6315 build: Specify native binaries explicitly when building `capnp` package (Hennadii Stepanov)
a413595c37f51557f9506e0a279cd80fc9a6fb36 build: Fix `capnp` package build for Android (Hennadii Stepanov)

Pull request description:

  On master (e3c08eb620a2f317fc09fdf20969fa26f02afb91):
  ```
  $ make -C depends capnp MULTIPROCESS=1 HOST=aarch64-linux-android ANDROID_SDK=$ANDROID_HOME ANDROID_NDK=$ANDROID_HOME/ndk/23.2.8568313 ANDROID_API_LEVEL=28 ANDROID_TOOLCHAIN_BIN=$ANDROID_HOME/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin
  ...
  ld: error: unable to find library -lkj
  ...
  ```

  This PR fixes this error, and also improves configuring according to the docs.

ACKs for top commit:
  ryanofsky:
    Code review ACK 8b8edc25c13a3e613770bf38b21a2556192e6315. I'd be a little curious to know what causes the error and how `--disable-shared` fixes it, but these changes all look good

Tree-SHA512: 1b07b75f2a83932d8dc1f007e42a67d8327bd5fe4566f554dab4599e2a1e04b0144648790a1fd2ab1c295dba728586035aa0ebdbe5cf49df048ec87736895aaf
2024-03-05 10:40:36 -06:00
fanquake
dc4e834d4a
Merge bitcoin/bitcoin#25918: build: prune event2 compat headers
22dada5d1744c3e6f1a38ef1b3f5a93cba6e3163 build: prune compat event headers (fanquake)

Pull request description:

  The `*_compat` headers are the deprecated / non-threadsafe function containing
  versions of the current headers. There's no need for us to ship them in depends.
  Prune them to save the safe / nuke the possibility of them being used.

  Guix Build (x86_64):
  ```bash
  4f48b4987101c3624673ab0a19daad5b99cb3c99b273d96a65e77cbbc3813444  guix-build-22dada5d1744/output/aarch64-linux-gnu/SHA256SUMS.part
  8296443d555666628d43be42c507e15856ee8e611738a1cdf4bdb731e1d75264  guix-build-22dada5d1744/output/aarch64-linux-gnu/bitcoin-22dada5d1744-aarch64-linux-gnu-debug.tar.gz
  dc986fe901d2fdfd2596325798ac8da3d3170ef66dfd3a4eb8804a3883c9e133  guix-build-22dada5d1744/output/aarch64-linux-gnu/bitcoin-22dada5d1744-aarch64-linux-gnu.tar.gz
  dcb142a1b2b9370cb2e3bf52853afc66ca9abede97189da8b05ecf5563054fb0  guix-build-22dada5d1744/output/arm-linux-gnueabihf/SHA256SUMS.part
  5e42eef5e8bc618878647e782a307f5a7780ffc1a263b3466d277341fdc33e2b  guix-build-22dada5d1744/output/arm-linux-gnueabihf/bitcoin-22dada5d1744-arm-linux-gnueabihf-debug.tar.gz
  4d766d4799e354c24973396eb97efefb356847b2b35a5540d2861ea8010ed8ca  guix-build-22dada5d1744/output/arm-linux-gnueabihf/bitcoin-22dada5d1744-arm-linux-gnueabihf.tar.gz
  a174b3da7a4a66210dafb4c7b1742e6fcefa2ac2d7e332cb1bd2e7d909fe2728  guix-build-22dada5d1744/output/arm64-apple-darwin/SHA256SUMS.part
  010fb348996a7ba55746d02ba83ad0638768c235015b23b84ab1fea5dc50fc55  guix-build-22dada5d1744/output/arm64-apple-darwin/bitcoin-22dada5d1744-arm64-apple-darwin-unsigned.dmg
  163a3e5f8ad71e41ce52a1f1f1281fbcbc73cfc66500345eae1ca99c3f5fba85  guix-build-22dada5d1744/output/arm64-apple-darwin/bitcoin-22dada5d1744-arm64-apple-darwin-unsigned.tar.gz
  bf88d8ab9d70be73e9d7b14053e7a9c5cf6641ccef8f100f6f6fba7762e8092e  guix-build-22dada5d1744/output/arm64-apple-darwin/bitcoin-22dada5d1744-arm64-apple-darwin.tar.gz
  d60415586a2d66558e816bc2be8b7a74f111b944ddb15e5a8e9c6331a0436083  guix-build-22dada5d1744/output/dist-archive/bitcoin-22dada5d1744.tar.gz
  665a9677417a1931382cf5dbeab29c84f642da31cf3258b5879ebd29ad43bed8  guix-build-22dada5d1744/output/powerpc64-linux-gnu/SHA256SUMS.part
  0e2551558bd40657bf0cc3cbd03b4bfdf3b87ac07258dc8751d616af5fce729d  guix-build-22dada5d1744/output/powerpc64-linux-gnu/bitcoin-22dada5d1744-powerpc64-linux-gnu-debug.tar.gz
  fd771b607cc5749b666ddd995f47ff7ba8e0e46d811abb295636cc90270ed30a  guix-build-22dada5d1744/output/powerpc64-linux-gnu/bitcoin-22dada5d1744-powerpc64-linux-gnu.tar.gz
  117e11774ab23f6302c363f710ea68367f8fa80342d8a8919775db76864fc151  guix-build-22dada5d1744/output/powerpc64le-linux-gnu/SHA256SUMS.part
  6e10bc01e2352d8db7eb16328206ee622fc2605a87d203f134e6137954789ce8  guix-build-22dada5d1744/output/powerpc64le-linux-gnu/bitcoin-22dada5d1744-powerpc64le-linux-gnu-debug.tar.gz
  1825d5bda86f6fd247c43cbf1922e0bcd60a0637233c6eb95d58917751eb2e3a  guix-build-22dada5d1744/output/powerpc64le-linux-gnu/bitcoin-22dada5d1744-powerpc64le-linux-gnu.tar.gz
  15ea9e04d72ebe4fd446698f71bf45c76b7e5bb8bdd5e027250d6efe1ac3ddfa  guix-build-22dada5d1744/output/riscv64-linux-gnu/SHA256SUMS.part
  7cf329951c79ccdf700f9283b5e55990eb85c9f11e74ee3672a15f5e5c1250f8  guix-build-22dada5d1744/output/riscv64-linux-gnu/bitcoin-22dada5d1744-riscv64-linux-gnu-debug.tar.gz
  5a73600f715e01823e9ede02376fc6538680996c713d04ccc8b2ae0caa6b476c  guix-build-22dada5d1744/output/riscv64-linux-gnu/bitcoin-22dada5d1744-riscv64-linux-gnu.tar.gz
  f5b30bcea748e78b125fa4da979038627e9a15b7a20f002f53538b4dbeed2c5d  guix-build-22dada5d1744/output/x86_64-apple-darwin/SHA256SUMS.part
  f649de898e0e2aebf7e94ee0fbd2d7011a789b235e0c9c151f33e0b9ad0fa132  guix-build-22dada5d1744/output/x86_64-apple-darwin/bitcoin-22dada5d1744-x86_64-apple-darwin-unsigned.dmg
  9f36c3d2edfd5f5b8d1833bb54f9fe0b91805de85828fed211d4d1e43c9d0fe3  guix-build-22dada5d1744/output/x86_64-apple-darwin/bitcoin-22dada5d1744-x86_64-apple-darwin-unsigned.tar.gz
  43b1c1880858a6a1c94bd2004d25172f0d12e5e6042c83f1905eda6252a0febb  guix-build-22dada5d1744/output/x86_64-apple-darwin/bitcoin-22dada5d1744-x86_64-apple-darwin.tar.gz
  ce7b249b3349f5c272484fd108239260c70eb6c9d2afcf2031650f7cbb09cd17  guix-build-22dada5d1744/output/x86_64-linux-gnu/SHA256SUMS.part
  ea6d8ffd517a07cb8c1806e6d4bf90dd5784db76bb8cb3ea0f747da92672a7f6  guix-build-22dada5d1744/output/x86_64-linux-gnu/bitcoin-22dada5d1744-x86_64-linux-gnu-debug.tar.gz
  18bed83f2384d8952c86c760f012fe870922a8cccaeb1181176bd05f06b43436  guix-build-22dada5d1744/output/x86_64-linux-gnu/bitcoin-22dada5d1744-x86_64-linux-gnu.tar.gz
  1836ad08ef45635dc2f5f49f48b0a812290b7cce23974474cc6a1db9e779d54e  guix-build-22dada5d1744/output/x86_64-w64-mingw32/SHA256SUMS.part
  37c859523561a9dedd956ef235189eb4335396f0be154cb36aa35cb0cd4f1b93  guix-build-22dada5d1744/output/x86_64-w64-mingw32/bitcoin-22dada5d1744-win64-debug.zip
  d574828d8a7c3ddcdc1ea1cf686ba7102a25b7403d338d896ef0e9a57e3b5611  guix-build-22dada5d1744/output/x86_64-w64-mingw32/bitcoin-22dada5d1744-win64-setup-unsigned.exe
  20828fd22d8b2104747440a180d4a944912244f405061c29fb58a8e19604dcbd  guix-build-22dada5d1744/output/x86_64-w64-mingw32/bitcoin-22dada5d1744-win64-unsigned.tar.gz
  a0ecdec301e54cb65e35badae05d94338ec33b03e0b4e0f332025ce5248fd74a  guix-build-22dada5d1744/output/x86_64-w64-mingw32/bitcoin-22dada5d1744-win64.zip
  ```

ACKs for top commit:
  hebasto:
    ACK 22dada5d1744c3e6f1a38ef1b3f5a93cba6e3163

Tree-SHA512: 8a042b25a8081678465fd00b615f8007a4be65c4d383725586e4b5f1b89638ad7d9eaba6113a8d96413aa774ec15b6593b0a364b593db8cdbb09e80e0b358109
2024-02-29 12:35:16 -06:00
fanquake
a852a919dd
Merge bitcoin/bitcoin#25697: depends: expat 2.4.8 & fix building with -flto
e838a9847580527b8321d65e57b1c53cc2af6bf4 depends: re-enable using -flto when building expat (fanquake)
304452558c7f6f5e32ba13d8f05325790c8a4f5f depends: expat 2.4.8 (fanquake)

Pull request description:

  Currently, when building the expat package in depends, using `-flto` (`LTO=1`), the configure check can fail, because it cannot determine the system endianess:
  ```bash
  configure:18718: result: unknown
  configure:18733: error: unknown endianness
   presetting ac_cv_c_bigendian=no (or yes) will help
  ```

  Fix that by defining `_DEFAULT_SOURCE`, which in turn defines `__USE_MISC` (`features.h`):
  ```c
  #if defined _DEFAULT_SOURCE
  # define __USE_MISC1
  #endif
  ```
  which exposes additional definitions in `endian.h`:
  ```c
  #include <features.h>

  /* Get the definitions of __*_ENDIAN, __BYTE_ORDER, and __FLOAT_WORD_ORDER.  */
  #include <bits/endian.h>

  #ifdef __USE_MISC
  # define LITTLE_ENDIAN__LITTLE_ENDIAN
  # define BIG_ENDIAN__BIG_ENDIAN
  # define PDP_ENDIAN__PDP_ENDIAN
  # define BYTE_ORDER__BYTE_ORDER
  #endif
  ```
  and gives us a working configure.

  You could test building this change with Guix + LTO with [this branch](https://github.com/fanquake/bitcoin/tree/lto_in_guix). Note that that build may fail for other reasons (on x86_64), unrelated to this change.

  Some related upstream discussion:
  https://bugs.gentoo.org/757681
  https://forums.gentoo.org/viewtopic-t-1013786.html

ACKs for top commit:
  hebasto:
    re-ACK e838a9847580527b8321d65e57b1c53cc2af6bf4, only [suggested](https://github.com/bitcoin/bitcoin/pull/25697#discussion_r929735675) changes since my recent [review](https://github.com/bitcoin/bitcoin/pull/25697#pullrequestreview-1050657421).
  jarolrod:
    code review ACK e838a9847580527b8321d65e57b1c53cc2af6bf4

Tree-SHA512: 9dbf64c9bd1fd995a4d1addc011ffeff83d50df736030012346c97605e63aed4b5bac390a81abe646c1be28ad6fd600f64560dcb26bbc2edf5d513ca3b180bfa
2024-02-28 13:16:40 -06:00
fanquake
aaa170af05
Merge bitcoin/bitcoin#25605: depends: update urls for dmg tools
718d29af233959896c2ef63340c3f61d2134ebcc depends: update urls for dmg tools (fanquake)

Pull request description:

  These repos have migrated from https://github.com/al45tair/ to
  https://github.com/dmgbuild/, so update our URLs to point to the new
  location. Note that GitHub is also already performing the redirect
  automatically.

  Guix Build (x86_64):
  ```bash
  d77fedbd1781e7106e567a43d6830f5ccecab9f234546871cb4928b1f98be989  guix-build-718d29af2339/output/arm64-apple-darwin/SHA256SUMS.part
  c96dac549214f2d5bcc496d321767b6440367677149d254242da47dcc860a121  guix-build-718d29af2339/output/arm64-apple-darwin/bitcoin-718d29af2339-arm64-apple-darwin-unsigned.dmg
  0d3cd6b6a1c3ca4d35fd7301cd02ca7bced8ffc587b653dcd0a3c67116ae8ac6  guix-build-718d29af2339/output/arm64-apple-darwin/bitcoin-718d29af2339-arm64-apple-darwin-unsigned.tar.gz
  f86eb599d21687ddaca35bdf5400a58ec03a48823357d0182110c3c507c09c58  guix-build-718d29af2339/output/arm64-apple-darwin/bitcoin-718d29af2339-arm64-apple-darwin.tar.gz
  6bbd4bdf2d90ab20ae4d6aa4e9a9cfef6e14f3784d0eda67fdbd0006f03a2feb  guix-build-718d29af2339/output/dist-archive/bitcoin-718d29af2339.tar.gz
  6c8a22474864fefbcd3ad676f46f7c10696a2801f2315367b64975f55877702d  guix-build-718d29af2339/output/x86_64-apple-darwin/SHA256SUMS.part
  d9caf693e70876d30cef2a38a0e5a62f808903f51bd3c845107f6dfc4dcf7b80  guix-build-718d29af2339/output/x86_64-apple-darwin/bitcoin-718d29af2339-x86_64-apple-darwin-unsigned.dmg
  1510f55407f61d6f1df2711b744bae6ba43ba926ff67b1eaafcb90415d8ce748  guix-build-718d29af2339/output/x86_64-apple-darwin/bitcoin-718d29af2339-x86_64-apple-darwin-unsigned.tar.gz
  3cf52eb02345dfc14039a7f37f49f0c0ea2c067a86b245981b767a2491e160c6  guix-build-718d29af2339/output/x86_64-apple-darwin/bitcoin-718d29af2339-x86_64-apple-darwin.tar.gz
  ```

  Guix Build (arm64):
  ```bash
  3451e31b7a3bb6c44c1cca70a954e82033894770396c625f2936b36cfdde3104  guix-build-718d29af2339/output/arm64-apple-darwin/SHA256SUMS.part
  757095bb54b407c76c03d4bc1e4ddba9247c521c815293e33273212a1255f2d7  guix-build-718d29af2339/output/arm64-apple-darwin/bitcoin-718d29af2339-arm64-apple-darwin-unsigned.dmg
  9f5c68f3310076eb1cfa15e8325f4ff81cb7c3929efe69d1ee3e4b40f65865fc  guix-build-718d29af2339/output/arm64-apple-darwin/bitcoin-718d29af2339-arm64-apple-darwin-unsigned.tar.gz
  d8ce004001d349be6b0ea20a6d59780ebdec4e8cca445f63da72c569d558ce4e  guix-build-718d29af2339/output/arm64-apple-darwin/bitcoin-718d29af2339-arm64-apple-darwin.tar.gz
  6bbd4bdf2d90ab20ae4d6aa4e9a9cfef6e14f3784d0eda67fdbd0006f03a2feb  guix-build-718d29af2339/output/dist-archive/bitcoin-718d29af2339.tar.gz
  6c8a22474864fefbcd3ad676f46f7c10696a2801f2315367b64975f55877702d  guix-build-718d29af2339/output/x86_64-apple-darwin/SHA256SUMS.part
  d9caf693e70876d30cef2a38a0e5a62f808903f51bd3c845107f6dfc4dcf7b80  guix-build-718d29af2339/output/x86_64-apple-darwin/bitcoin-718d29af2339-x86_64-apple-darwin-unsigned.dmg
  1510f55407f61d6f1df2711b744bae6ba43ba926ff67b1eaafcb90415d8ce748  guix-build-718d29af2339/output/x86_64-apple-darwin/bitcoin-718d29af2339-x86_64-apple-darwin-unsigned.tar.gz
  3cf52eb02345dfc14039a7f37f49f0c0ea2c067a86b245981b767a2491e160c6  guix-build-718d29af2339/output/x86_64-apple-darwin/bitcoin-718d29af2339-x86_64-apple-darwin.tar.gz
  ```

ACKs for top commit:
  hebasto:
    ACK 718d29af233959896c2ef63340c3f61d2134ebcc, I've manually downloaded archives from new links, and verified their hashes.
  jarolrod:
    ACK 718d29af233959896c2ef63340c3f61d2134ebcc

Tree-SHA512: 9dc69293775481abf5be4967cb42446707fa56a3bdba5e36125b02c0d73092871b6fb5d3467ebbeb5120c5df7a321e4dc7fbcf3600bfc8631f86bb781c4523c1
2024-02-28 13:16:40 -06:00
fanquake
0a847fd980
Merge bitcoin/bitcoin#25046: build: Fix libmultiprocess cross-compiling to Linux hosts
c0f5cc14ef9fae2b2de4222ee061729629ebb6b4 build: Fix `libmultiprocess` cross-compiling to Linux hosts (Hennadii Stepanov)

Pull request description:

  To successfully call the [`capnp_generate_cpp()`](d576d975de/CMakeLists.txt (L45)) function, the `libmultiprocess` build system must be provided with paths to the native `capnp` and `capnpc-c++` tools.

  This [comment](https://github.com/bitcoin/bitcoin/issues/24387#issuecomment-1054776195) points the same:
  > I think `packages/libmultiprocess.mk` probably needs to be passing a `-DCAPNP_EXECUTABLE=.../depends/arm-linux-gnueabihf/native/bin/capnp` argument to cmake. Also the package should have dependencies on both `capnp` and `native_capnp`.

  Fixes bitcoin/bitcoin#24387.

ACKs for top commit:
  ryanofsky:
    Code review ACK c0f5cc14ef9fae2b2de4222ee061729629ebb6b4

Tree-SHA512: 2986d8bf98d2761eceba21b1897145c5185a0922d4c2084e8812d4d07dc94237e5c2809036641c4f7c491a3414727fff328cba91ce138b89e37ec5cba61d8f61
2024-02-22 20:58:43 -06:00
fanquake
82eec21fee
Merge bitcoin/bitcoin#24754: build: specify cmake build dir for multiprocess depends build
7c218dacd0e9602b8f755be42e96c49706f96305 build: specify cmake build dir for multiprocess depends build (fanquake)

Pull request description:

  When no build dir is specified, cmake will warn:
  ```bash
  Preprocessing libmultiprocess...
  Configuring libmultiprocess...
  CMake Warning:
    No source or binary directory provided.  Both will be assumed to be the
    same as the current working directory, but note that this warning will
    become a fatal error in future CMake releases.
  ```

  It's unclear if this will actually ever become an error, but it's also easy
  enough to just supply the directory, and save this maybe breaking in
  future.

ACKs for top commit:
  ryanofsky:
    Code review ACK 7c218dacd0e9602b8f755be42e96c49706f96305. I guess the purpose of the warning is to encourage people not to build in the source directory, but reasons for encouraging this don't really apply to the depends build system, so it is appropriate to disable the warning.
  hebasto:
    ACK 7c218dacd0e9602b8f755be42e96c49706f96305, tested on Ubuntu 22.04.

Tree-SHA512: 6904f2095fe62cead4abc644ec888c5d836e54a3c0b2a84c467029116e5d14eba35190570acaa23c6831aed9a4a65898134480cc46cdb141279ec0dc6f534d5f
2024-02-22 20:58:43 -06:00
MarcoFalke
200d2d58dc
Merge bitcoin/bitcoin#24385: build: remove boost dep from libmultiprocess
07dcf1a76e34a6f7c919e7d5c57fa61caea6007b build: remove boost dep from libmultiprocess (fanquake)

Pull request description:

  Looks like this hasn't been needed since https://github.com/chaincodelabs/libmultiprocess/pull/25 and was just missed in #19160.

ACKs for top commit:
  ryanofsky:
    Code review ACK 07dcf1a76e34a6f7c919e7d5c57fa61caea6007b. Should probably wait for GUIX build results, but I think this should be fine
  hebasto:
    ACK 07dcf1a76e34a6f7c919e7d5c57fa61caea6007b

Tree-SHA512: 7988efd4aaf6ad512d60cfd33f350df56090daf88aac3aed2a1d400e80bc723dc27d27f5fa5d75359f9fae60d04b87d4b120d4e79e3079df8631956ab6c3b83c
2024-02-22 20:58:42 -06:00
fanquake
0a383e019d
Merge bitcoin/bitcoin#24240: depends: fix capnp's descriptor for make download
01e121d29087db047e4bc01bd64d054f83cfc5df depends: fix capnp's descriptor for make download (Cory Fields)

Pull request description:

  The non-native capnp was trying to fetch the wrong file.
  Without this, "make -C depends MULTIPROCESS=1 download" is broken.

  Presumably it breaks with the download target because the dependency graph is flattened. It manages to work if native_capnp is encountered first because it will then be found in the cache.

ACKs for top commit:
  gruve-p:
    tACK 01e121d290
  hebasto:
    ACK 01e121d29087db047e4bc01bd64d054f83cfc5df, tested on Linux Mint 20.2 (x86_64).

Tree-SHA512: 2605d895f3799be5a311f6f7d36a5c13cdb715dc148915ad818f4afc7d5de92cd6b8ecd34ff2b21cef6743b090819bba1e3353096cfb5659c55f76113ce5adf3
2024-01-19 11:02:21 -06:00
fanquake
a58c5651c9
Merge #19685: depends: CMake invocation cleanup
b8936883573708059357a66f67fad9dc77a8bade depends: Specify LDFLAGS to cmake as well (Carl Dong)
b3f541f618fe1f3d44baf6a0dd4299173c81f752 depends: Prepend CPPFLAGS to C{,XX}FLAGS for CMake (Carl Dong)
8e121e550953711cd03d7b6c221afd065c325c5e depends: Cleanup CMake invocation (Carl Dong)
8c7cd0c6d9f295bcb6913e3c69c9dac4ce2b25ce depends: More robust cmake invocation (Carl Dong)
3ecf0eca634601da216b06f091f95456c047f39c depends: Use $($(package)_cmake) instead of cmake (Carl Dong)

Pull request description:

  - Use `$($(package)_cmake)` instead of invoking `cmake` directly
  - Use well-known env vars instead of overriding CMake variables

ACKs for top commit:
  ryanofsky:
    Code review ACK b8936883573708059357a66f67fad9dc77a8bade. Only changes since last review are new commits adding whitespace, cppflags and ldflags to cmake invocation

Tree-SHA512: cfcd8cc9dcd0b336cf48b82fca9fe4bbc7930ed397cb7a68a07066680eb4c1906a6a9b5bd2589b4b4999e8f16232fa30ee9b376b60f4456d0fff931fbf9cc19a
2024-01-16 09:34:27 -06:00
fanquake
098d0fd430
Merge #18677: Multiprocess build support
e2bab2aa162ae38b2bf8195b577c982402fbee9d multiprocess: add multiprocess travis configuration (Russell Yanofsky)
603fd6a2e708c04ef6c9880f89d0a4cbaa6fc7c5 depends: add MULTIPROCESS depends option (Russell Yanofsky)
5d1377b52bfcd4edf8553aaf332bfeb92fc554cc build: multiprocess autotools changes (Russell Yanofsky)

Pull request description:

  This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10).

  ---

  This PR consists of build changes only. It adds an `--enable-multiprocess` autoconf option (off by default and marked experimental), that builds new `bitcoin-node` and `bitcoin-gui` binaries. These currently function the same as existing `bitcoind` and `bitcoin-qt` binaries, but are extended in #10102 with IPC features to execute node, wallet, and gui functions in separate processes.

  In addition to adding the `--enable-multiprocess` config flag, it also adds a depends package and autoconf rules to build with the [libmultiprocess](https://github.com/chaincodelabs/libmultiprocess) library, and it adds new travis configuration to exercise the build code and run functional tests with the new binaries.

  The changes in this PR were originally part of #10102 but were moved into #16367 to be able to develop and review the multiprocess build changes independently of the code changes. #16367 was briefly merged and then reverted in #18588. Only change since #16367 has been dropping the `native_boost.mk` depends package which was pointed out to be no longer necessary in https://github.com/bitcoin/bitcoin/pull/16367#issuecomment-596484337 and https://github.com/bitcoin/bitcoin/pull/18588#pullrequestreview-391765649

ACKs for top commit:
  practicalswift:
    ACK e2bab2aa162ae38b2bf8195b577c982402fbee9d
  Sjors:
    tACK e2bab2aa162ae38b2bf8195b577c982402fbee9d on macOS 10.15.4
  hebasto:
    ACK e2bab2aa162ae38b2bf8195b577c982402fbee9d, tested on Linux Mint 19.3 (x86_64):

Tree-SHA512: b5a76eab5abf63d9d8b6d628cbdff4cc1888eef15cafa0a5d56369e2f9d02595fed623f4b74b2cf2830c42c05a774f0943e700f9c768a82d9d348cad199e135c
2024-01-16 09:34:26 -06:00
Wladimir J. van der Laan
0e8a4d54a4
Merge #21064: refactor: use std::shared_mutex & remove Boost Thread
060a2a64d40d75fecb60b7d2b9946a67e46aa6fc ci: remove boost thread installation (fanquake)
06e1d7d81d5a56d136c6fc88f09a2b0654a164f9 build: don't build or use Boost Thread (fanquake)
7097add83c8596f81be9edd66971ffd2486357eb refactor: replace Boost shared_mutex with std shared_mutex in sigcache (fanquake)
8e55981ef834490c438436719f95cbaf888c4914 refactor: replace Boost shared_mutex with std shared_mutex in cuckoocache tests (fanquake)

Pull request description:

  This replaces `boost::shared_mutex` and `boost::unique_lock` with [`std::shared_mutex`](https://en.cppreference.com/w/cpp/thread/shared_mutex) & [`std::unique_lock`](https://en.cppreference.com/w/cpp/thread/unique_lock).

  Even though [some concerns were raised](https://github.com/bitcoin/bitcoin/issues/16684#issuecomment-726214696) in #16684 with regard to `std::shared_mutex` being unsafe to use across some glibc versions, I still think this change is an improvement. As I mentioned in #21022, I also think trying to restrict standard library feature usage based on bugs in glibc is not only hard to do, but it's not currently clear exactly how we do that in practice (does it also extend to patching out use in our dependencies, should we be implementing more runtime checks for features we are using, when do we consider an affected glibc "old enough" not to worry about? etc). If you take a look through the [glibc bug tracker](https://sourceware.org/bugzilla/describecomponents.cgi?product=glibc) you'll no doubt find plenty of (active) bug reports for standard library code we already using. Obviously not to say we shouldn't try and avoid buggy code where possible.

  Two other points:

  [Cory mentioned in #21022](https://github.com/bitcoin/bitcoin/pull/21022#issuecomment-769274179):
  > It also seems reasonable to me to worry that boost hits the same underlying glibc bug, and we've just not happened to trigger the right conditions yet.

  Moving away from Boost to the standard library also removes the potential for differences related to Boosts configuration. Boost has multiple versions of `shared_mutex`, and what you end up using, and what it's backed by depends on:
  * The version of Boost.
  * The platform you're building for.
  * Which version of `BOOST_THREAD_VERSION` is defined: (2,3,4 or 5) default=2. (see [here](https://www.boost.org/doc/libs/1_70_0/doc/html/thread/build.html#thread.build.configuration) for some of the differences).
  * Is `BOOST_THREAD_V2_SHARED_MUTEX` defined? (not by default). If so, you might get the ["less performant, but more robust"](https://github.com/boostorg/thread/issues/230#issuecomment-475937761) version of `shared_mutex`.

  A lot of these factors are eliminated by our use of depends, but users will have varying configurations. It's also not inconceivable to think that a distro, or some package manager might start defining something like `BOOST_THREAD_VERSION=3`. Boost tried to change the default from 2 to 3 at one point.

  With this change, we no longer use Boost Thread, so this PR also removes it from depends, the build system, CI etc.

  Previous similar PRs were #19183 & #20922. The authors are included in the commits here.
  Also related to #21022 - pthread sanity checking.

ACKs for top commit:
  laanwj:
    Code review ACK 060a2a64d40d75fecb60b7d2b9946a67e46aa6fc
  vasild:
    ACK 060a2a64d40d75fecb60b7d2b9946a67e46aa6fc

Tree-SHA512: 572d14d8c9de20bc434511f20d3f431836393ff915b2fe9de5a47a02dca76805ad5c3fc4cceecb4cd43f3ba939a0508178c4e60e62abdbaaa6b3e8db20b75b03
2024-01-16 09:29:52 -06:00
fanquake
595a1b3a8e
Merge bitcoin/bitcoin#24134: build: Fix zeromq package when cross-compiling
f13e642c831c5689cb2bb7f5c4f9cb4c0c03ef21 build: Disable valgrind when building zeromq package in depends (Hennadii Stepanov)
b970f03beae0f3ae6a796f0e3b97732fc579f6aa build: Disable libbsd when building zeromq package in depends (Hennadii Stepanov)
77899991b1e29a45bc377b21330148cb7cc08923 build: Update netbsd_kevent_void.patch (Hennadii Stepanov)

Pull request description:

  Since v4.3.3 (068385c951) `libzmq` uses `libbsd` by default.

  This PR disables `libbsd` explicitly, as it's not a part of our depends. Zeromq will fallback to its internal `strlcpy` implementation.

  Otherwise, on systems with installed `libbsd-dev` package the `zeromq` package build system erroneously detects `libbsd` package from the host system:

  ```diff
  --- a/libzmq.pc
  +++ b/libzmq.pc
  @@ -8,5 +8,5 @@
   Version: 4.3.4
   Libs: -L${libdir} -lzmq
   Libs.private:  -lpthread
  -Requires.private:
  +Requires.private:  libbsd
   Cflags: -I${includedir}
  ```

  This causes the `configure` fails to detect the `zeromq` package:
  ```
  configure: WARNING: libzmq version 4.x or greater not found, disabling
  ```

  ---

  Other minor improvements:
  - fixed `netbsd_kevent_void.patch` offset
  - disabled valgrind as it's used in unit tests which we do not run:
  ```diff
  --- a/zmq-configure-output
  +++ b/zmq-configure-output
  @@ -119,11 +119,6 @@
   checking whether the g++ -m64 linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
   checking dynamic linker characteristics... (cached) GNU/Linux ld.so
   checking how to hardcode library paths into programs... immediate
  -checking for valgrind... valgrind
  -checking for Valgrind tool memcheck... memcheck
  -checking for Valgrind tool helgrind... helgrind
  -checking for Valgrind tool drd... drd
  -checking for Valgrind tool exp-sgcheck... exp-sgcheck
   checking linker version script flag... --version-script
   checking if version scripts can use complex wildcards... yes
   checking for working posix_memalign... yes
  ```

ACKs for top commit:
  fanquake:
    ACK f13e642c831c5689cb2bb7f5c4f9cb4c0c03ef21

Tree-SHA512: d4c86d4a841eb6e7c32157e84972243072f905496c2a4c14ec6f6ab4216df6695cbf29baa2233ce27eaede35d1e250ad2f9975b16f570d01509f0c5da4597cad
2024-01-13 19:32:29 -06:00
fanquake
53b1557187
Merge bitcoin/bitcoin#23956: build: use zeromq 4.3.4 in depends & fix NetBSD 10 build
6897c4bdf51a4aa74320ebfffa9467db14670109 build: patch depends zeromq to fix building on NetBSD Current (fanquake)
ce6dd2f1a2e2c56d86d00e0eeec34c9982017416 zeromq 4.3.4 (fanquake)

Pull request description:

  This is a prerequisite for #23955. It updates zeromq to the latest available version, and adds a patch, [that I've sent upstream](https://github.com/zeromq/libzmq/pull/4326), to fix building on NetBSD Current (10).

ACKs for top commit:
  hebasto:
    ACK 6897c4bdf51a4aa74320ebfffa9467db14670109, I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: d05d9753630faebe842e1ca70c8c4af660a38e7331a9d95e84df3a3b14564c5118ca41c4fc49fb71dfee563b63e1014e5a3f8874d652e26de59e8e188a12970e
2024-01-13 19:32:29 -06:00
Kittywhiskers Van Gogh
bd5f0ac0db
merge bitcoin#19761: improve sed robustness by not using sed
continued from a2687d4594 from dash#4379

includes:
- 4af59a407a207e7de327c1bb145d68ebc8ddedd8

inapplicable:
- 335bd7f8bc415d6419763e17b013f94e5f0e5689

above commit is inapplicable as boost 1.71 bump did away with the patch,
backported as 6a367fc198 in dash#4356
2024-01-10 12:11:17 -06:00
Kittywhiskers Van Gogh
fb327d81bd
build: drop unused variable replacement and comment
we're currently using boost 1.77, this replacement was dropped in its
patch form in bitcoin#19764 (backported as 6a367fc1 in dash#4356), the
comment was dropped in bitcoin#19761 but the change is in this commit
instead due to direct relevance.
2024-01-10 12:11:17 -06:00
fanquake
5810d3ecd1
Merge bitcoin/bitcoin#24526: build: don't install deprecated libevent headers
339b4a51f6d3558c3489b14efe0c8c195295cf86 build: don't install deprecated libevent headers (fanquake)

Pull request description:

  We don't use the deprecated headers now, and never should do in the
  future, so there is no need for them to exist in depends.

  The headers themselves are just full of includes for the newer headers.

ACKs for top commit:
  hebasto:
    ACK 339b4a51f6d3558c3489b14efe0c8c195295cf86

Tree-SHA512: 736fd9e3b22212da462cc05203dd253806dc59f973090357b705f2742ed4a3b8c3cc44b3173d706527f60ad93e95cf4143ec6b7db4233a489890a98f8e5c8f07
2024-01-01 17:48:17 -06:00
fanquake
a1dc3f3f03
Merge bitcoin/bitcoin#23955: build: add support for NetBSD in depends
bcd36e14f0a2b89445f1436094de40696d6ad76c build: correct depends FreeBSD C{XX}FLAGS (fanquake)
7b06ffce9c50110b475c722918c55a14402346a5 build: add NetBSD support to depends (fanquake)

Pull request description:

  Similar to #23948. Doesn't build the Qt package; I haven't looked at doing that yet, but have an assumption that it's going to fail out of the box similar to the FreeBSD build.

  Guix Build:
  ```bash
  ```

ACKs for top commit:
  theuni:
    ACK bcd36e14f0a2b89445f1436094de40696d6ad76c

Tree-SHA512: 9a0946cefbcb9a92dd730b885463f3213e304c8d4b39fea8d831fc013a73d2ef998ca84e384bf45a01fa1449cf5a35eaffaa5b57a9062c2cdda34312d33ec3fc
2023-12-26 22:26:21 -06:00
fanquake
8f45702d0a
Merge bitcoin/bitcoin#23977: depends: Fix typo
d2fdc320cc9774775969f571e7a64fc3e8c226ef depends: Fix typo (Dimitris Apostolou)

Pull request description:

ACKs for top commit:
  fanquake:
    ACK d2fdc320cc9774775969f571e7a64fc3e8c226ef

Tree-SHA512: d40997c572cab4c54be6d4bde1965f614c0bd9900096ebe8875d5bf60d7d82819d222e5d9b25b40365cef4eaf835b4f1d963c4c4bf0939649010743179322c17
2023-12-26 22:26:20 -06:00
fanquake
db82ecbefe
Merge bitcoin/bitcoin#28561: build: Update qt package up to 5.15.10
6988a2f097e9af50e1b4222550b2593bfc5685ea build: Update qt package up to 5.15.10 (Hennadii Stepanov)

Pull request description:

  The Qt 5.15.10 contains at least three important for us fixes:
  - 8bb90ab760, which allows us to drop the [`dont_hardcode_x86_64.patch`](fd8ab08558/depends/patches/qt/dont_hardcode_x86_64.patch)
  - 8467beddb7, which allows us to drop the [`fix_montery_include.patch`](fd8ab08558/depends/patches/qt/fix_montery_include.patch)
  - df08a21fa4, which addresses https://github.com/bitcoin/bitcoin/pull/28349#issuecomment-1743519614

ACKs for top commit:
  fanquake:
    ACK 6988a2f097e9af50e1b4222550b2593bfc5685ea.

Tree-SHA512: 838c44cf0d7508714f35887bb1f0983e59d96764f08f467bbd03d102d7152e797daeedc178afb03141115cc3be623e4ef7c4c4c65c0a8d1f0bb9702c9a6f8fc6
2023-12-07 09:14:57 -06:00
laanwj
7917168158
Merge bitcoin/bitcoin#24383: build: upgrade depends Boost to 1.77.0
4bba7ab2ffc3a79acfec48727d3c8b35d8ee3f8f build: upgrade depends Boost to 1.77.0 (Pasta)

Pull request description:

  This primarily improves support for external signing, as it includes
  multiple bugfixes for Boost Process. As well as various improvements to
  the multi-index library.

  #23340 rebased.

  Guix build:
  ```bash
  bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  b5186404303e2a6573a6df404f943f6d172d4965bd9a78d7f9d1f7cf7080b774  guix-build-4bba7ab2ffc3/output/aarch64-linux-gnu/SHA256SUMS.part
  9d03756665fac8cb1e3af6623b8cede3032bad6cbc15739db5145c4813f0c2f9  guix-build-4bba7ab2ffc3/output/aarch64-linux-gnu/bitcoin-4bba7ab2ffc3-aarch64-linux-gnu-debug.tar.gz
  32897b5fda018d4fe57f65234da9620202de0b774ae4fa454309460ee451ef98  guix-build-4bba7ab2ffc3/output/aarch64-linux-gnu/bitcoin-4bba7ab2ffc3-aarch64-linux-gnu.tar.gz
  f64304b16fbfaf7a7330842bf8f535acacdcdd36ddf185f5dfcdbe184f05571f  guix-build-4bba7ab2ffc3/output/arm-linux-gnueabihf/SHA256SUMS.part
  f5cb4c742edf42aec2f64f97c727a8e325050d465ea58ff9c22f8b5b31073879  guix-build-4bba7ab2ffc3/output/arm-linux-gnueabihf/bitcoin-4bba7ab2ffc3-arm-linux-gnueabihf-debug.tar.gz
  0f834947a3eb2d802ba4d1d6dbd26fea9d3453bd8c2dedb06fcfbf1498b45433  guix-build-4bba7ab2ffc3/output/arm-linux-gnueabihf/bitcoin-4bba7ab2ffc3-arm-linux-gnueabihf.tar.gz
  389feef0bf716dd7ea7d72d755f999dbd2d3160f895a606ad6f4a14e97083a47  guix-build-4bba7ab2ffc3/output/arm64-apple-darwin/SHA256SUMS.part
  a9c791b6bcc2bbeff0c94f71dbd9967676559297e089079216253e303acd82cb  guix-build-4bba7ab2ffc3/output/arm64-apple-darwin/bitcoin-4bba7ab2ffc3-arm64-apple-darwin.tar.gz
  55cdef30941f3fc4716bae5be1230b529b171c5e2cd0c18cc57a15206d742a13  guix-build-4bba7ab2ffc3/output/arm64-apple-darwin/bitcoin-4bba7ab2ffc3-osx-unsigned.dmg
  5343499bd15ae59627d3b33259ac7ccec8c841c8bc27cd1a47b41389fae48ac3  guix-build-4bba7ab2ffc3/output/arm64-apple-darwin/bitcoin-4bba7ab2ffc3-osx-unsigned.tar.gz
  fbb99e7f3d5249b92c90ba312ac769adfc9813fb70468decd09f722826f48119  guix-build-4bba7ab2ffc3/output/dist-archive/bitcoin-4bba7ab2ffc3.tar.gz
  c5f466eb462dccea8daa10307ff140844f38097b198282600528acd486915e97  guix-build-4bba7ab2ffc3/output/powerpc64-linux-gnu/SHA256SUMS.part
  174c75cbf16f3ca593d1c684b597eb8dac483dc10ae3cd46cbff61d3f70e70a5  guix-build-4bba7ab2ffc3/output/powerpc64-linux-gnu/bitcoin-4bba7ab2ffc3-powerpc64-linux-gnu-debug.tar.gz
  1e6692f4876ba13847cd3722c6e2cd3ee886ebede6b12dffa01b1dbc55186358  guix-build-4bba7ab2ffc3/output/powerpc64-linux-gnu/bitcoin-4bba7ab2ffc3-powerpc64-linux-gnu.tar.gz
  dac7f60b99dfb96daf8c3c9a0b98d4ecc3a7ecf7ad6a8dfb879cb61aa4f2e429  guix-build-4bba7ab2ffc3/output/powerpc64le-linux-gnu/SHA256SUMS.part
  4cef32efcd9fa591a53ea5354d63e9d6c0d663ae7748599b34427f17ef462f1c  guix-build-4bba7ab2ffc3/output/powerpc64le-linux-gnu/bitcoin-4bba7ab2ffc3-powerpc64le-linux-gnu-debug.tar.gz
  d5ac47db91eb0232075a1138cc0ae212516e4f7fa022b2de181533d411a0d507  guix-build-4bba7ab2ffc3/output/powerpc64le-linux-gnu/bitcoin-4bba7ab2ffc3-powerpc64le-linux-gnu.tar.gz
  7eb67ea46c7ade1f51928648e664bc2295a96ae0e3f144cf6903f277334b228f  guix-build-4bba7ab2ffc3/output/riscv64-linux-gnu/SHA256SUMS.part
  b97d248731573ef3911f4d2750409615a940f975d9c4de783c76beb897a4dd53  guix-build-4bba7ab2ffc3/output/riscv64-linux-gnu/bitcoin-4bba7ab2ffc3-riscv64-linux-gnu-debug.tar.gz
  7d2b0cef4cc83dbf54cd1af18fe4cb7b7ea408747e30993c20e1012b1b628373  guix-build-4bba7ab2ffc3/output/riscv64-linux-gnu/bitcoin-4bba7ab2ffc3-riscv64-linux-gnu.tar.gz
  a45eb59edc5a1e8742dd9fce1a9916b43ab2894ff8f3c62d5110a9afa35cf9e9  guix-build-4bba7ab2ffc3/output/x86_64-apple-darwin/SHA256SUMS.part
  504efd5c1131407a3e3120e77a1abe1e183727d995e7cb944c9c8089518314a0  guix-build-4bba7ab2ffc3/output/x86_64-apple-darwin/bitcoin-4bba7ab2ffc3-osx-unsigned.dmg
  0f14f26d2074de96d078ea31ef249a6f9ba2db1fec86856496fca5ab2f517cb7  guix-build-4bba7ab2ffc3/output/x86_64-apple-darwin/bitcoin-4bba7ab2ffc3-osx-unsigned.tar.gz
  574aab5513038a80c6cac16eb927d7dcec27b880ffd313c6b56272ed577e2df3  guix-build-4bba7ab2ffc3/output/x86_64-apple-darwin/bitcoin-4bba7ab2ffc3-osx64.tar.gz
  ec7861c9840c2888022a81d5fbb807284c07f603053ba9cc200c103e26379e7f  guix-build-4bba7ab2ffc3/output/x86_64-linux-gnu/SHA256SUMS.part
  9d1d2fb313d15048ae6b10b9c50942a00ef8c65c367b25656810b3819fdc95ff  guix-build-4bba7ab2ffc3/output/x86_64-linux-gnu/bitcoin-4bba7ab2ffc3-x86_64-linux-gnu-debug.tar.gz
  d668065e2de147d352914f0d2f5769051f0ec0a29ce208979758724fe556cc04  guix-build-4bba7ab2ffc3/output/x86_64-linux-gnu/bitcoin-4bba7ab2ffc3-x86_64-linux-gnu.tar.gz
  aa1f2ce87f707d28c137775830da128bd2b49b20eb258ff46a78f1ada1516480  guix-build-4bba7ab2ffc3/output/x86_64-w64-mingw32/SHA256SUMS.part
  bcf3f19575662dadf3f77ca0bd5d4a3268314fd97c46f88679af1977d83863c5  guix-build-4bba7ab2ffc3/output/x86_64-w64-mingw32/bitcoin-4bba7ab2ffc3-win-unsigned.tar.gz
  c8d64700e03757a5f46ec04dc7e2cdf9435ebdee9e6cea5789475ca86461f912  guix-build-4bba7ab2ffc3/output/x86_64-w64-mingw32/bitcoin-4bba7ab2ffc3-win64-debug.zip
  92bd0cb7a43551e89910e8fabfb2915da03835ac074331436e1f159760ed8d19  guix-build-4bba7ab2ffc3/output/x86_64-w64-mingw32/bitcoin-4bba7ab2ffc3-win64-setup-unsigned.exe
  e414c9a500ebf49ef1f2625c6763b945a13d5f1d1c56463f642f325e054f87ed  guix-build-4bba7ab2ffc3/output/x86_64-w64-mingw32/bitcoin-4bba7ab2ffc3-win64.zip
  ```

ACKs for top commit:
  laanwj:
    ACK 4bba7ab2ffc3a79acfec48727d3c8b35d8ee3f8f
  hebasto:
    ACK 4bba7ab2ffc3a79acfec48727d3c8b35d8ee3f8f

Tree-SHA512: f0eb26860180c45ef169ea7fe70d43e68abf103185d5b9a1021d3c72e1cb0126809f43e56ec378430ab3625a09c025797fe1438360832101439c2b014287dc47
2023-12-06 18:40:36 -06:00
fanquake
cb63ec1e32
Merge bitcoin/bitcoin#24276: build, refactor: Improve package version usage
edc9a6afdc6926b40de2fed897b9b866d58f28d2 build, refactor: Reuse expat package version in its download path (Hennadii Stepanov)
4bb7821ab243325467a89ff8ffc1bed290f2cb58 build, refactor: Use conventional version notation for boost package (Hennadii Stepanov)

Pull request description:

  `boost` package:
  - `.` is used as a separator in versions of other depends packages.

  `expat` package:
  - reuse package version in its download path

  ---

  The straightforward way to verify this PR:
  ```
  $ cd depends
  $ make clean-all
  $ make boost_fetched
  $ make expat_fetched
  ```

ACKs for top commit:
  prusnak:
    ACK edc9a6a
  shaavan:
    ACK edc9a6afdc6926b40de2fed897b9b866d58f28d2

Tree-SHA512: c15d672fe34ac59850425d3d6a6eee5f720e16d227aad1332a563b218465879b7ee6fb865dd1bac06aedf356f9bb1c67112d9d88da8f877f04838b50a9dc97be
2023-12-06 18:38:53 -06:00
fanquake
114aa16a6f
Merge bitcoin/bitcoin#21658: build: fix make deploy for arm64-darwin
b353633bf488fbd89b66f6c534d5f0f676c9cf6d build: mac_alias 2.2.0 (sgulls)

Pull request description:

  Fix make deploy for arm64-darwin

  Accidentally [closed](https://github.com/bitcoin/bitcoin/pull/21555) the PR

ACKs for top commit:
  promag:
    Tested ACK b353633bf488fbd89b66f6c534d5f0f676c9cf6d.

Tree-SHA512: 08043792d63894b6738ea93d076cecace1d8b30a623b944170a34492c3838269da87e09878164c760cf321663fb72641a7295070a847ad67d91fc9970ebe5c6a
2023-12-03 20:44:58 -06:00
fanquake
ed8da9277a Merge bitcoin/bitcoin#25817: build: fix cross-arch macOS M1 build reproducibility
08bd3382777bf5d24fa8f32f27abc7b6d1e20dd9 build: optimise arm64 darwin qt build using -O1 (fanquake)

Pull request description:

  Building the macOS M1 bitcoin-qt binary at a optimisation level higher than `-O1` causes reproducibility issues when building on different architectures.

  Proposing somewhat of a hammer.

  This would fix 1 of the 2 remaining HOSTS in #21194.

  Guix Build (x86_64):
  ```bash
  1b58b5109b32dca2509499c93347148e6bab5dca835081f8cbd3123bed72cce1  guix-build-08bd3382777b/output/arm64-apple-darwin/SHA256SUMS.part
  0e0d063d3832fad7c5116dabb2ac33c919f40bda04759aad4523c6247295bc9e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.dmg
  1feb301245f2c664edcfd9ac528fe1543fc7b183b3b42637db77d57658bc2b5e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.tar.gz
  641eb100d0a281203f9d6e36e45dc0ffc772c680d6aec462434f106b4c44e295  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin.tar.gz
  9d89920626e35939aa6cf506fc85861179f3c0e18d4ef1954750cf81336a851a  guix-build-08bd3382777b/output/dist-archive/bitcoin-08bd3382777b.tar.gz
  e7697d30084270d0b5843b3baf0d752e240c2f708f728bc2f6896f153276ca6b  guix-build-08bd3382777b/output/x86_64-apple-darwin/SHA256SUMS.part
  dd77acee082dbfd3cdad2c564bbd3bdace8df9bf32f92cf4a2debd5a996ace49  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.dmg
  85e63fccb7af12468a04a678034c42dcd775d243b2d194a52e1086a6ffbdbe84  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.tar.gz
  ff2629957608898d76a42025985e3ec4bf5dc8572794e32b4182ba6f8babb828  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin.tar.gz
  ```

  Guix Build (arm64):
  ```bash
  1b58b5109b32dca2509499c93347148e6bab5dca835081f8cbd3123bed72cce1  guix-build-08bd3382777b/output/arm64-apple-darwin/SHA256SUMS.part
  0e0d063d3832fad7c5116dabb2ac33c919f40bda04759aad4523c6247295bc9e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.dmg
  1feb301245f2c664edcfd9ac528fe1543fc7b183b3b42637db77d57658bc2b5e  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin-unsigned.tar.gz
  641eb100d0a281203f9d6e36e45dc0ffc772c680d6aec462434f106b4c44e295  guix-build-08bd3382777b/output/arm64-apple-darwin/bitcoin-08bd3382777b-arm64-apple-darwin.tar.gz
  9d89920626e35939aa6cf506fc85861179f3c0e18d4ef1954750cf81336a851a  guix-build-08bd3382777b/output/dist-archive/bitcoin-08bd3382777b.tar.gz
  e7697d30084270d0b5843b3baf0d752e240c2f708f728bc2f6896f153276ca6b  guix-build-08bd3382777b/output/x86_64-apple-darwin/SHA256SUMS.part
  dd77acee082dbfd3cdad2c564bbd3bdace8df9bf32f92cf4a2debd5a996ace49  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.dmg
  85e63fccb7af12468a04a678034c42dcd775d243b2d194a52e1086a6ffbdbe84  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin-unsigned.tar.gz
  ff2629957608898d76a42025985e3ec4bf5dc8572794e32b4182ba6f8babb828  guix-build-08bd3382777b/output/x86_64-apple-darwin/bitcoin-08bd3382777b-x86_64-apple-darwin.tar.gz
  ```

ACKs for top commit:
  hebasto:
    ACK 08bd3382777bf5d24fa8f32f27abc7b6d1e20dd9
  jarolrod:
    ACK 08bd3382777bf5d24fa8f32f27abc7b6d1e20dd9

Tree-SHA512: 48da4acb1799c3153cdaf674f287c81c3da230a3476183616b74f318baa595af45b313136eb228ba13c63e0b8206a78064734f9fd0488e1e839c9e4e1d92ba25
2023-11-24 11:23:46 -06:00
UdjinM6
aa7ba58804
fix(depends): make it compilable with Xcode 15 on macos 2023-10-12 18:57:46 +03:00
fanquake
e4c9cb5371
Merge bitcoin/bitcoin#28571: depends: fix unusable memory_resource in macos qt build
848eec09363d1ba8198376eb9654b1a69e3541aa depends: fix unusable memory_resource in macos qt build (fanquake)

Pull request description:

  See https://codereview.qt-project.org/c/qt/qtbase/+/482392.

  Fixes #28566.

ACKs for top commit:
  hebasto:
    ACK 848eec09363d1ba8198376eb9654b1a69e3541aa.

Tree-SHA512: dd902f7abb09bda3800d78fe58937b4426d974c24ba321b979eba0d6da30fa0c661b4ed629afab827df8f9ab599efc7a288e9f381ec2b3c69d1063d4d4f73f9e
2023-10-12 16:47:57 +03:00
fanquake
c956c5ed8d
Merge bitcoin/bitcoin#28543: build, macos: Fix qt package build with new Xcode 15 linker
79ef528511f0cbbe0a7097ef031f2964aaccfe5c build, macos: Fix `qt` package build with new Xcode 15 linker (Hennadii Stepanov)

Pull request description:

  Fixes https://github.com/bitcoin/bitcoin/issues/28541 by backporting an upstream [patch](cdf64b0e47).

  Guix build:
  ```
  x86_64
  b37713bc8a526662eac3d9535924f4a4d2893c58f9c12d3c7599e761e6ff677c  guix-build-79ef528511f0/output/arm64-apple-darwin/SHA256SUMS.part
  0befb524181aa10e1635a2616a8bed53f51beafa4f0d495d3bf52a64cbd2d977  guix-build-79ef528511f0/output/arm64-apple-darwin/bitcoin-79ef528511f0-arm64-apple-darwin-unsigned.tar.gz
  9cba170f2ffe542c33fdd1ac52b7684dd6301e91d32aa45af7b4ce8769d88d4a  guix-build-79ef528511f0/output/arm64-apple-darwin/bitcoin-79ef528511f0-arm64-apple-darwin-unsigned.zip
  04556309266c791ae4d7409359222c88cd7aeb569566f7ef4d29816148a5b7e4  guix-build-79ef528511f0/output/arm64-apple-darwin/bitcoin-79ef528511f0-arm64-apple-darwin.tar.gz
  51229df8e104a2ffcd5c5b3f81f7585e1258ef10461d136948ea2a2d690a920d  guix-build-79ef528511f0/output/dist-archive/bitcoin-79ef528511f0.tar.gz
  3fe216a05561f2fe7229ddf186ff495b29a5cc31b6f35f407187573d072c5743  guix-build-79ef528511f0/output/x86_64-apple-darwin/SHA256SUMS.part
  961d71104e61a2baf727576eb2da630697bb4f109f66e73be5c96add25378d12  guix-build-79ef528511f0/output/x86_64-apple-darwin/bitcoin-79ef528511f0-x86_64-apple-darwin-unsigned.tar.gz
  5598f514d065756ac376e2f3c4f8e758bfba53a43ddef778f106456de1536073  guix-build-79ef528511f0/output/x86_64-apple-darwin/bitcoin-79ef528511f0-x86_64-apple-darwin-unsigned.zip
  5360ae1f1b7d96a44a33b2c87708b466e4a7bf3f9de0fc58bccbbcdb21ee254e  guix-build-79ef528511f0/output/x86_64-apple-darwin/bitcoin-79ef528511f0-x86_64-apple-darwin.tar.gz
  ```

Top commit has no ACKs.

Tree-SHA512: e3a0f7a578b30a216cc84c8ac6a0eeac3f59b02525e1eb5a9f5512bc9a049a1b17d3feb140259ffe5d2197279c74594126b85112aa596df9013f74bb1047c298
2023-10-12 16:47:52 +03:00
UdjinM6
5ed0e3fe88
Revert "depends|qt: Fix build on Mojave (10.14.6)"
This reverts commit 489770a35f.
2023-10-12 16:47:44 +03:00
UdjinM6
1dd4b09990
fix(qt): fix 3 gui issues (#5596)
## Issue being fixed or feature implemented
fix 3 gui issues reported about beta2

## What was done?
pls see individual commits

## How Has This Been Tested?
to test ad0c0eb591 (there were no css
issues on my machine with locally compiled binaries): compile, run

to test 09800cff8f: run beta2 guix
compiled binaries with css from this PR e.g. on macos:
`/path/to/Dash-Qt.app/Contents/MacOS/Dash-Qt --regtest --debug-ui
--custom-css-dir=/path/to/dash/src/qt/res/css`

before 139d70701c:
<img width="224" alt="Screenshot 2023-09-30 at 22 02 32"
src="https://github.com/dashpay/dash/assets/1935069/b7a26ae9-f87f-4dde-b1f6-9eb796c22495">
after 139d70701c:
<img width="229" alt="Screenshot 2023-09-30 at 22 02 59"
src="https://github.com/dashpay/dash/assets/1935069/57d92e97-b25d-4035-9d1b-da373e51a574">

## Breaking Changes
n/a

## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation
- [x] I have assigned this pull request to a milestone _(for repository
code-owners and collaborators only)_
2023-10-04 09:47:08 -05:00
Kittywhiskers Van Gogh
3d97c4b6a2 merge bitcoin#26057: Get rid of perl dependency 2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
2e144694b8 merge bitcoin#25719: Bump Qt to 5.15.5 in depends 2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
ce3521dd4d merge bitcoin#25542: Use Link Time Optimization for Qt code on Linux 2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
2fde05c2ae merge bitcoin#25708: always use correct ar for win qt build 2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
7e0cce3fb8 merge bitcoin#25424: Fix QMAKE_CXXFLAGS expression for mingw32 host 2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
16880f12d7 partial bitcoin#24131: Fix Windows cross-compiling with Qt 5.15
excludes
- 0bbae237a8e0122b97c5c71bc85bc845e26d5b47
- 9796dcacdc3841ab6e3359bd5ca67a5f634bf176
2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
7181c721e2 merge bitcoin#23998: support OpenBSD in depends
excludes `fix_openbsd_test_lib.patch` as it's already present

```
Preprocessing boost...
patching file boost/test/impl/execution_monitor.ipp
Reversed (or previously applied) patch detected!  Assume -R? [n]
```
2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
df50931ae2 merge bitcoin#23948: add FreeBSD support to depends 2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
d121666341 merge bitcoin#24668: bump Qt5 version to 5.15.3 2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
d63ec2cc9b merge bitcoin#24722: patch around qt duplicate symbol issue 2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
52e0dc4919 merge bitcoin#23862: Hardcode last modified timestamp in Qt RCC 2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
de72a04582 partial bitcoin#23677: Use Android NDK r23 LTS 2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
3fde12f6ec merge bitcoin#23556: Fix regression in rendering on macOS Big Sur 2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
6e0b683366 merge bitcoin#23675: Post-pr23489 small cleanups 2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
a7f90c070c merge bitcoin#23489: Qt 5.15.2 2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
8cd556376a trivial: rearrange patches to match upstream before upgrading Qt 2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
71ab30057f partial bitcoin#22469: Add support for Android NDK r22+
excludes:
- acaac6e86a9e808244d9c69a59ab3c2d8e34cad6
2023-08-08 06:05:02 -05:00
Kittywhiskers Van Gogh
82ed6f4d3e revert: fix glibc compatibility issues
This reverts commit 4db1397927.
2023-08-01 12:07:31 -05:00
Kittywhiskers Van Gogh
e3260fc53e revert: Avoid fcntl64@GLIBC_2.28 in libsqlite3.a
This reverts commit 90c7f16596.
2023-08-01 12:07:31 -05:00
Kittywhiskers Van Gogh
b8ffea6cc3 revert: Avoid @GLIBC_2.25 symbols for compatibility
This reverts commit 6de96a86bfe51fe974f756c4d8070865d2efc2f2.
2023-08-01 12:07:31 -05:00
Kittywhiskers Van Gogh
ba2f56d6ec merge bitcoin#25633: don't restrict --enable-lto to non-guix cctools 2023-06-29 12:31:03 -05:00
Kittywhiskers Van Gogh
6751b13f38 merge bitcoin#22526: use newer config.guess & config.sub in depends 2023-06-29 12:31:03 -05:00
Kittywhiskers Van Gogh
f16a29a864 partial bitcoin#22318: Avoid @GLIBC_2.25 symbols for compatibility
contains:
 - a4b0b340df22dd0e11096c94ebe669dc68f4a05d
2023-06-29 12:31:03 -05:00
Kittywhiskers Van Gogh
96e8ad8062 merge bitcoin#21991: libevent 2.1.12-stable 2023-06-29 12:31:03 -05:00
Kittywhiskers Van Gogh
7d9a5d6ddc merge bitcoin#23618: Ditch no_sdk_version_check.patch 2023-06-29 12:31:03 -05:00
Kittywhiskers Van Gogh
2ed704bc8c merge bitcoin#23583: Don't hard-code x86_64 as the arch when using qmake 2023-06-29 12:31:03 -05:00
Kittywhiskers Van Gogh
30cd5ef2fa merge bitcoin#25643: compile FastFixedDtoa with -O1 to fix cross-arch reproducibility for arm32 2023-06-29 12:31:03 -05:00
Kittywhiskers Van Gogh
77539574a7 merge bitcoin#20422: mac deployment unification 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
e39a1de731 merge bitcoin#23839: build with and test for control flow instrumentation on x86_64 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
1e9278ea11 merge bitcoin#23535: check for control flow instrumentation 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
8dab7027e3 merge bitcoin#22070: don't use cf-protection when targeting arm-apple-darwin 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
cdedbea0b4 merge bitcoin#21889: check for control flow instrumentation 2023-06-07 14:42:02 +05:30
Kittywhiskers Van Gogh
313326e846 merge bitcoin#26633: update qt 5.12 url to archive location 2023-06-06 16:19:57 +05:30
Kittywhiskers Van Gogh
458ed44d19 merge bitcoin#23744: Drop support for i686-linux-android host 2023-05-31 11:06:40 -05:00
MarcoFalke
578fac1743 Merge #17678: depends: Support for S390X and POWER targets
11113247c323c5b98debcb512fb9db9fe5a8e7cf depends: Support for S390X targets (MarcoFalke)
989fd539d5bf590c5f6070ee2a4a9e2d3018df2c depends: Support for 64-bit POWER targets (Luke Dashjr)

Pull request description:

  Failure before:

  ```
  $ make -C depends HOST=powerpc64-linux-gnu
  ...
  ERROR: Feature 'system-zlib' was enabled, but the pre-condition 'libs.zlib' failed.

  ERROR: Feature 'xcb' was enabled, but the pre-condition 'libs.xcb' failed.

  ERROR: Feature 'system-freetype' was enabled, but the pre-condition 'features.freetype && libs.freetype' failed.

  ERROR: Feature 'fontconfig' was enabled, but the pre-condition '!config.win32 && !config.darwin && features.system-freetype && libs.fontconfig' failed.
  make: *** [funcs.mk:254: /bitcoin/depends/work/build/powerpc64-linux-gnu/qt/5.9.8-95548079095/qtbase/.stamp_configured] Error 3

  $ make -C depends HOST=s390x-linux-gnu
  ...
  ERROR: Feature 'system-zlib' was enabled, but the pre-condition 'libs.zlib' failed.

  ERROR: Feature 'xcb' was enabled, but the pre-condition 'libs.xcb' failed.

  ERROR: Feature 'system-freetype' was enabled, but the pre-condition 'features.freetype && libs.freetype' failed.

  ERROR: Feature 'fontconfig' was enabled, but the pre-condition '!config.win32 && !config.darwin && features.system-freetype && libs.fontconfig' failed.
  make: *** [funcs.mk:254: /bitcoin/depends/work/build/s390x-linux-gnu/qt/5.9.8-79c6d6ca6ec/qtbase/.stamp_configured] Error 3
  ```

ACKs for top commit:
  laanwj:
    Code review ACK 11113247c323c5b98debcb512fb9db9fe5a8e7cf
  dongcarl:
    tested ACK 11113247c323c5b98debcb512fb9db9fe5a8e7cf
  practicalswift:
    ACK 11113247c323c5b98debcb512fb9db9fe5a8e7cf -- diff looks correct

Tree-SHA512: f990101ced0ed579168bb25762c1296c9b512c597bab924013af41832670a69ed786c6ec9b654c95fe064187797880a66c575395bc102a914c1bdb323ca7538a
2023-04-25 23:14:25 +03:00