Commit Graph

550 Commits

Author SHA1 Message Date
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
MarcoFalke
cc169c2457
partial Merge #20842: docs: consolidate typo & url fixing
BACKPORT NOTICE:
missing changes in src/test/validation_tests.cpp (signet)

1112035d32ffe73a4522226c8cb2f6a5878d3ada doc: fix various typos (Ikko Ashimine)
e8640849c775efcf202dbd34736fed8d61379c49 doc: Use https URLs where possible (Sawyer Billings)

Pull request description:

  Consolidates / fixes the changes from #20762, #20836, #20810. There is no output when  `test/lint/lint-all.sh` is run.

  Closes #20807.

ACKs for top commit:
  MarcoFalke:
    ACK 1112035d32ffe73a4522226c8cb2f6a5878d3ada

Tree-SHA512: 22ca824688758281a74e5ebc6a84a358142351434e34c88c6b36045d2d241ab95fd0958565fd2060f98317e62e683323b5320cc7ec13592bf340e6922294ed78
2024-07-26 13:32:54 +07:00
laanwj
5587bf15db
Merge bitcoin/bitcoin#24156: build: Replace which command with command -v
148b33cf72033eced8a701d127e21dfe8a816ce3 build: Replace `which` command with `command -v` (Hennadii Stepanov)

Pull request description:

  On some systems the `which` command can emit messages into stderr. For example, for `debianutils 5.5-1` package in Debian Sid:
  ```
  # which cat
  /usr/bin/which: this version of `which' is deprecated; use `command -v' in scripts instead.
  /bin/cat
  ```

  Although such messages are harmless, they could distract developers needlessly (see bitcoin/bitcoin#24056).

  Fixes bitcoin/bitcoin#24056.

ACKs for top commit:
  dongcarl:
    Code Review ACK 148b33cf72033eced8a701d127e21dfe8a816ce3
  laanwj:
    Code review ACK 148b33cf72033eced8a701d127e21dfe8a816ce3

Tree-SHA512: 36ee45d8831afb75a1ba6f8c8491fa5381159a2b86042140ac09037752f74e92d3e725caa793b8e97c36afe03ada0b557eede95df2bec049173c27f32ffc804a
2024-07-24 14:04:28 -05: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
5db84e2a5b
revert: partial dash#3003 (Fix 2 common Travis failures which happen when Travis has network issues)
commits reverted:
- 9a45241621
- 41f46f5ea6
2024-07-11 16:31:07 +00:00
Kittywhiskers Van Gogh
cc55ebbf93
merge bitcoin#22093: Try posix-specific CXX first for mingw32 host 2024-06-25 13:39:57 +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
a3702534e5
Merge #21354: build, doc: Drop no longer required packages from macOS cross-compiling dependencies
f7f3829a68df173c54ab11ecfe162b840afb64e8 build, doc: Drop libbz2-dev from macOS cross-compiling dependencies (Hennadii Stepanov)
d8239362e283107657a5a6577890fdb198a1d334 build, doc: Drop libcap-dev from macOS cross-compiling dependencies (Hennadii Stepanov)

Pull request description:

  The `libcap-dev` and `libbz2-dev` packages are no longer required when cross-compiling for macOS.

ACKs for top commit:
  fanquake:
    ACK f7f3829a68df173c54ab11ecfe162b840afb64e8

Tree-SHA512: 820cdc2724f3346c0942d4d4115fc7206f7bf02889d9fa6cbdbd1d9e3afa03a067c1c3fa64dff596aefdc74898178b7c7d64027a6501486e3b606f4760de04ae
2024-04-11 02:25:07 +07:00
Konstantin Akimov
0c38cc325e
fix: drop -static-libstc++ from depends/hosts/{linux,mingw32}.mk which is clang-only 2024-04-03 16:03:26 +07: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
Wladimir J. van der Laan
ed8d370545
Merge #19124: doc: Document ALLOW_HOST_PACKAGES dependency option
47e2a35fac9951c125b784a9d14027338c56c750 doc: Document ALLOW_HOST_PACKAGES dependency option (skmcontrib)

Pull request description:

  Provided entry in depends, README.md to ensure that ALLOW_HOST_PACKAGES dependency option is documented, #19113

ACKs for top commit:
  hebasto:
    ACK 47e2a35fac9951c125b784a9d14027338c56c750.

Tree-SHA512: 10d9285885be25f092881e4886c6a804cd42b5224bdf1dfa8b8369463808ddaf533a8604f14f7fe45478434a22feae98053f4731b51d976c071d69882bdac72b
2024-01-26 12:50:31 -06:00
fanquake
b8d3a682fb
Merge bitcoin/bitcoin#24392: build: Fix configuring depends with cmake
ff4a38a32766942ce5c4be6d6510f800a9f8e0d9 build: Fix configuring depends with cmake (Hennadii Stepanov)

Pull request description:

  This PR fixes bitcoin/bitcoin#24389.

  On master (28aa0e3ca0a6cfeb5b2b63929d4bc58de6ee6f02) configuring of the `libmultiprocess` package for the `x86_64-w64-mingw32` target fails:
  ```
  $ cd depends
  $ make libmultiprocess_configured MULTIPROCESS=1 HOST=x86_64-w64-mingw32
  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.

  -- The CXX compiler identification is GNU 9.3.0
  -- Check for working CXX compiler: /usr/bin/x86_64-w64-mingw32-g++-posix
  -- Check for working CXX compiler: /usr/bin/x86_64-w64-mingw32-g++-posix -- broken
  CMake Error at /usr/share/cmake-3.16/Modules/CMakeTestCXXCompiler.cmake:53 (message):
    The C++ compiler

      "/usr/bin/x86_64-w64-mingw32-g++-posix"

    is not able to compile a simple test program.

    It fails with the following output:

      Change Dir: /home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeTmp

      Run Build Command(s):/usr/bin/make cmTC_93273/fast && make[1]: Entering directory '/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeTmp'
      /usr/bin/make -f CMakeFiles/cmTC_93273.dir/build.make CMakeFiles/cmTC_93273.dir/build
      make[2]: Entering directory '/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeTmp'
      Building CXX object CMakeFiles/cmTC_93273.dir/testCXXCompiler.cxx.o
      /usr/bin/x86_64-w64-mingw32-g++-posix    -I/home/hebasto/GitHub/bitcoin/depends/x86_64-w64-mingw32/include     -pipe -O2    -o CMakeFiles/cmTC_93273.dir/testCXXCompiler.cxx.o -c /home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
      Linking CXX executable cmTC_93273
      /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_93273.dir/link.txt --verbose=1
      /usr/bin/x86_64-w64-mingw32-g++-posix  -I/home/hebasto/GitHub/bitcoin/depends/x86_64-w64-mingw32/include     -pipe -O2   -L/home/hebasto/GitHub/bitcoin/depends/x86_64-w64-mingw32/lib  -rdynamic CMakeFiles/cmTC_93273.dir/testCXXCompiler.cxx.o  -o cmTC_93273
      x86_64-w64-mingw32-g++-posix: error: unrecognized command line option ‘-rdynamic’
      make[2]: *** [CMakeFiles/cmTC_93273.dir/build.make:87: cmTC_93273] Error 1
      make[2]: Leaving directory '/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeTmp'
      make[1]: *** [Makefile:121: cmTC_93273/fast] Error 2
      make[1]: Leaving directory '/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeTmp'

    CMake will not be able to correctly generate this project.
  Call Stack (most recent call first):
    CMakeLists.txt:6 (project)

  -- Configuring incomplete, errors occurred!
  See also "/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeOutput.log".
  See also "/home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/CMakeFiles/CMakeError.log".
  make: *** [funcs.mk:283: /home/hebasto/GitHub/bitcoin/depends/work/build/x86_64-w64-mingw32/libmultiprocess/d576d975debdc9090bd2582f83f49c76c0061698-f496b1e64cb/./.stamp_configured] Error 1

  ```

  The reason of that failure is the unset `-DCMAKE_SYSTEM_NAME` flag:
  ```
  $ make print-libmultiprocess_cmake MULTIPROCESS=1 HOST=x86_64-w64-mingw32
  libmultiprocess_cmake=env CC="x86_64-w64-mingw32-gcc" CFLAGS="  -I/home/hebasto/GitHub/bitcoin/depends/x86_64-w64-mingw32/include     -pipe -O2    " CXX="x86_64-w64-mingw32-g++-posix" CXXFLAGS="  -I/home/hebasto/GitHub/bitcoin/depends/x86_64-w64-mingw32/include     -pipe -O2    " LDFLAGS="  -L/home/hebasto/GitHub/bitcoin/depends/x86_64-w64-mingw32/lib    " cmake -DCMAKE_INSTALL_PREFIX:PATH="/home/hebasto/GitHub/bitcoin/depends/x86_64-w64-mingw32" -DCMAKE_SYSTEM_NAME= -DCMAKE_C_COMPILER_TARGET=x86_64-w64-mingw32 -DCMAKE_CXX_COMPILER_TARGET=x86_64-w64-mingw32
  ```

  This PR fixes this error:
  ```
  $ make libmultiprocess_configured MULTIPROCESS=1 HOST=x86_64-w64-mingw32
  $ # no errors
  ```

ACKs for top commit:
  fanquake:
    ACK ff4a38a32766942ce5c4be6d6510f800a9f8e0d9 - going to merge this now, and we can follow up with more cmake improvements.

Tree-SHA512: bd8d8b2f4eedcc8c46cf995b9c39493ea4d0b13c224f77ef62985304ebd392f05119043a06f1401c64f962007a8faa4bb53715d99a408ee6c33bb49a2dd650ba
2024-01-19 11:02:22 -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
701f785686
Merge #21403: build: set --build when configuring packages in depends
735610940c0cac72343ca247eb3062b2e09512a0 build: set --build when configuring packages in depends (fanquake)

Pull request description:

  After reading [#Specifying-Target-Triplets](https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/autoconf.html#Specifying-Target-Triplets) in the autoconf manuel, my understanding is that this change should mostly be a no-op, as `--build` defaults to the output of [`config.guess`](https://github.com/bitcoin/bitcoin/blob/master/depends/config.guess), however, this may be slightly more correct

  >  For historical reasons, whenever you specify --host, be sure to specify --build too; this will be fixed in the future.

  and will quell some warnings in depends (#16354), i.e:
  > configure: WARNING: If you wanted to set the --build type, don't use --host.
      If a cross compiler is detected then cross compile mode will be used.

  If anything, this also explicitly enables cross-compilation mode when `--host` differs from `--build`. As for "fixed in the future", this is the case for Autoconf 2.70+.

  If we don't make this change, I think we should consider closing #16354. We've now got a good handle on our depends configure flags, and we can just leave the last few warnings as they are. It's also unlikely that we are going to add the `xorg-macros` package to depends.

  Guix builds at 735610940c0cac72343ca247eb3062b2e09512a0:
  ```bash
  bash-5.1# find output -type f -name *$(git rev-parse --short HEAD)*.* -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  afabf99650d57abd3df2c7e6253a3281f9814ada77d01c28ffb57c740b14fd8e  output/bitcoin-735610940c0c-aarch64-linux-gnu-debug.tar.gz
  6e9dedced61489f7734c5387ee05823db68eb4b890fa05f11541c1b966576446  output/bitcoin-735610940c0c-aarch64-linux-gnu.tar.gz
  5333a3c5978a61966251e56fedab8e059d9d8a1a7231a0908095bb373204a81f  output/bitcoin-735610940c0c-arm-linux-gnueabihf-debug.tar.gz
  d28e1c166b96e58cf40b3f9801c3050c2785b25eeb261d44eeb31a32a75e134c  output/bitcoin-735610940c0c-arm-linux-gnueabihf.tar.gz
  e00b0149c52e9207be1cfb56ec3b715b55f41691401095f7a7038ac124f08d80  output/bitcoin-735610940c0c-osx-unsigned.dmg
  ae5052ad1a05916bc6656b034c169097471fd9bdba16b606e2bcb592c9395544  output/bitcoin-735610940c0c-osx-unsigned.tar.gz
  8586a9b8b82a8832397fcd0756aa9649adc3e61ae579fb370b99fe406298199f  output/bitcoin-735610940c0c-osx64.tar.gz
  d560a8781bae856b6593e9b731fa99de0a4ad7bd3e03084166dc98904ece9e7b  output/bitcoin-735610940c0c-powerpc64-linux-gnu-debug.tar.gz
  a24cf28b7efd5ebdc892e7e8809a05b3405bb4222f7d2eaa32de265214c78f28  output/bitcoin-735610940c0c-powerpc64-linux-gnu.tar.gz
  ad29421842dbbe96526eb597a7ff2970f0acae8c3e75dc6c2100716a2ba20606  output/bitcoin-735610940c0c-powerpc64le-linux-gnu-debug.tar.gz
  ee7a8ccfd68cc2297bb96eaaacf7b3eb939a5e39cecc3c710dbe828518f1bfbd  output/bitcoin-735610940c0c-powerpc64le-linux-gnu.tar.gz
  185bf4ea3b35072a8dd54aedbafc0892ec1e486c8ebd311f05f0fb47a19058cf  output/bitcoin-735610940c0c-riscv64-linux-gnu-debug.tar.gz
  803078b15a9bbaa567176827639895e762edbe80844b80400f8a9581e5311d32  output/bitcoin-735610940c0c-riscv64-linux-gnu.tar.gz
  d920327a32a42a5abadd247f0d3f3ee0ab0488a28892c11838d99bede6456723  output/bitcoin-735610940c0c-win-unsigned.tar.gz
  9f1741a37e294af153d57ad4a6dad3e5f1cdf75f1588c86cb467abf0c177ae27  output/bitcoin-735610940c0c-win64-debug.zip
  2d1a91552c0dd7bb400ce6c71d2e98de702743a97afe5f4b0945865f251f3aea  output/bitcoin-735610940c0c-win64-setup-unsigned.exe
  8a70020bb0cb68516acf4b2cc89832d72373f31611bd075826a30a817a071cd2  output/bitcoin-735610940c0c-win64.zip
  93b03837679474905538e96c44ba81ee5653795ad333dc00569b92c82dc6ea31  output/bitcoin-735610940c0c-x86_64-linux-gnu-debug.tar.gz
  6ccd046a83ef5089667ad426875319beb83e2b2a5fb4d4459d5c5ce8d75f1a31  output/bitcoin-735610940c0c-x86_64-linux-gnu.tar.gz
  12771acb17de84cda8e81c59704c00b1d4725ff51fa84c9067dc61a8dc795bdc  output/src/bitcoin-735610940c0c.tar.gz
  ```

  Gitian builds:
  ```bash
  # macOS:
  7d087749f610e5e3eca91c730d41afd4d404808e276242d05cedb89403de247f  bitcoin-735610940c0c-osx-unsigned.dmg
  96d68b4f0042dc40f5e8e362fa84dcf8e122dcb566889feb48ad8a982847dd8b  bitcoin-735610940c0c-osx-unsigned.tar.gz
  2dea72cbe5c3e228babd88b516a6f43b0e040e9510ea95b62f07fc0815bf8d22  bitcoin-735610940c0c-osx64.tar.gz
  12771acb17de84cda8e81c59704c00b1d4725ff51fa84c9067dc61a8dc795bdc  src/bitcoin-735610940c0c.tar.gz
  478dbda9d551a8bed985c61c625df3f543afab26989a52bc44d5a4745715af81  bitcoin-core-osx-22-res.yml

  # Windows:
  c31a5118dfa21259b9868e2c4858c635becb786c2ee8af92302da7811a1efe9b  bitcoin-735610940c0c-win-unsigned.tar.gz
  5c171ec3aee830abc8ae843d674d5fe7a57420e782ee765b6992914ae5b7671a  bitcoin-735610940c0c-win64-debug.zip
  ca010ced982f75d111e01f3759b961deb83e7bf511b1ee9c9041f4830570f2a0  bitcoin-735610940c0c-win64-setup-unsigned.exe
  62514b01281f81af6057fb12cc5e3813c1d8f6532d0d8ac8f6f2909a595aa1dd  bitcoin-735610940c0c-win64.zip
  12771acb17de84cda8e81c59704c00b1d4725ff51fa84c9067dc61a8dc795bdc  src/bitcoin-735610940c0c.tar.gz
  e26b55d8302a419f594396db6ff441aaeb5e275e02fde7b1b4eb092270f902e7  bitcoin-core-win-22-res.yml

  # Linux:
  e5be4deb91cb372de484468c0575a04f907f982e35a9841659bb213540f770d0  bitcoin-735610940c0c-aarch64-linux-gnu-debug.tar.gz
  6169e822679ece2bb6af7027362a6f373eb939eef9d89edc58c21190b4083c7d  bitcoin-735610940c0c-aarch64-linux-gnu.tar.gz
  aee5308767c5c930853a80ab94325b2a4ab3dbe9a7a20c7a9d60d57af2b5383f  bitcoin-735610940c0c-arm-linux-gnueabihf-debug.tar.gz
  a9cf6e56d859fffd5a2b5f1e6360515bc6b06b048776b93cc08954859457a251  bitcoin-735610940c0c-arm-linux-gnueabihf.tar.gz
  7617d85c358e6614fd40026a8d346f9edba5b5139e3daade2ec2aec72aed3a1f  bitcoin-735610940c0c-powerpc64-linux-gnu-debug.tar.gz
  f76e46a8b130812541ebcaaba173b4cbe2ec1781e348579b44f96e9244cc2475  bitcoin-735610940c0c-powerpc64-linux-gnu.tar.gz
  19ada7abb801422bd7772d7ee559004cab11a46141a747aabd27085e8c3d200d  bitcoin-735610940c0c-powerpc64le-linux-gnu-debug.tar.gz
  f3a6bbefe9f47b3960e3b9eeb3f740ecddf8773ae76961ced6a3cdf82503e37f  bitcoin-735610940c0c-powerpc64le-linux-gnu.tar.gz
  42ca333e8f82b4ec0b2354efc7c4f1c27ed32d60c35b88e33d26833419f19e69  bitcoin-735610940c0c-riscv64-linux-gnu-debug.tar.gz
  dde930d9134fb5be1374014db3f6f503b614ae801a1d77f6f4b82a5f11eb2518  bitcoin-735610940c0c-riscv64-linux-gnu.tar.gz
  82e1b4cc8aac309a99458cc27fd0285215a8af53780094c4990303ce8948cf0c  bitcoin-735610940c0c-x86_64-linux-gnu-debug.tar.gz
  ee8caad2ccddd8eaf8aa2d19040d859130168183355b09a2a0f77a59a97fcaee  bitcoin-735610940c0c-x86_64-linux-gnu.tar.gz
  12771acb17de84cda8e81c59704c00b1d4725ff51fa84c9067dc61a8dc795bdc  src/bitcoin-735610940c0c.tar.gz
  d90545b13226a338c994d9e538f468a6fafd694273bf71e14614feeaf5727ad4  bitcoin-core-linux-22-res.yml
  ```

ACKs for top commit:
  dongcarl:
    Code Review ACK 735610940c0cac72343ca247eb3062b2e09512a0
  hebasto:
    ACK 735610940c0cac72343ca247eb3062b2e09512a0, tested on Linux Mint 20.1 (x86_64).

Tree-SHA512: 13ce05269309a12d03b81a539ba5585003785f7b1bb7894a9353385a6e9c709f920cc4f79322f28d7a256809754f201e70be6b917915c7b14e1461530075781d
2024-01-19 11:02:19 -06:00
fanquake
7f63e7fb60
Merge #20046: depends: Set CMAKE_INSTALL_RPATH for native packages
7d0271b5c30f86e4af175a5ab7df5e593cd85195 depends: Set CMAKE_INSTALL_RPATH for native packages (Russell Yanofsky)

Pull request description:

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

  ---

  After #19685 started setting `LDFLAGS`, the `INSTALL_RPATH_USE_LINK_PATH` cmake option used in the libmultiprocess build no longer works, so it is neccessary to set `CMAKE_INSTALL_RPATH` as a fallback.

  It's unclear currently whether the bad interaction between `INSTALL_RPATH_USE_LINK_PATH` and `LDFLAGS` is a bug, but the issue is reported:

  - https://github.com/bitcoin/bitcoin/issues/19981#issuecomment-696680877
  - https://discourse.cmake.org/t/install-rpath-use-link-path-not-working-when-cmake-exe-linker-flags-ldflags-is-set/1892

  Fixes #19981

ACKs for top commit:
  fanquake:
    ACK 7d0271b5c30f86e4af175a5ab7df5e593cd85195 - I haven't looked in depth, but I've re-read through #19981 and checked the failure by testing #19160 (with this reverted):
  dongcarl:
    ACK 7d0271b Looked into this a bit, it makes sense that for the things we build in depends, we want the library search to start in depends. It seems reasonable to expect this to happen automatically when `CMAKE_INSTALL_PREFIX` and `INSTALL_RPATH_USE_LINK_PATH` are set, but oh well...

Tree-SHA512: 97cc5801c3204c14cd33004423631456ca0701e2127ee5146810a76e2f4aac9de1f4b5437402a4329cda54e022dc99270fee7e38c2995765f36b3848215fa78e
2024-01-16 09:34:27 -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
Konstantin Akimov
d2a8946915
fix: linter error in depends/config.site.in (#5812)
## Issue being fixed or feature implemented
Fix linter error:
```
In depends/config.site.in line 66:
if test "x@host_os@" = xdarwin; then
        ^----------^ SC2268 (style): Avoid x-prefix in comparisons as it no longer serves a purpose.

Did you mean: 
if test "@host_os@" = darwin; then

For more information:
  https://www.shellcheck.net/wiki/SC2268 -- Avoid x-prefix in comparisons as ...
^---- failure generated from test/lint/lint-shell.sh
```


## How Has This Been Tested?
run linter `test/lint/lint-all.sh`

## 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
2024-01-10 15:07:40 -06:00
Kittywhiskers Van Gogh
d3edc5b42c
merge bitcoin#21629: fix configuring when building depends with NO_BDB=1 2024-01-10 12:11:19 -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
Kittywhiskers Van Gogh
5ded21d77c
merge bitcoin#19683: Pin clang search paths for darwin host
continued from 7260597fc6 from dash#4378

includes:
- 80331107416b8a6cb487ee1c89a39c6a8bced27b
2024-01-10 12:11:16 -06:00
Kittywhiskers Van Gogh
c2caf384db
merge bitcoin#18051: Fix behavior when ALLOW_HOST_PACKAGES unset 2024-01-10 12:11:16 -06:00
Kittywhiskers Van Gogh
6539191715
merge bitcoin#10508: Run Qt wallet tests on travis 2024-01-10 12:11:16 -06:00
laanwj
bd36ec9a85
Merge bitcoin/bitcoin#24285: build, refactor: Drop useless call Make function
e644591426fb4ee1bba5c4bfdde85eb378258272 build, refactor: Drop useless `call` Make function (Hennadii Stepanov)

Pull request description:

  Using the [`call`](https://www.gnu.org/software/make/manual/html_node/Call-Function.html) function with `$(package)_*_cmds` is effectively noop because the latter, which could be found in `<package>.mk` files, do not use temporary `$(1)` variable at all.

  This PR removes useless calls of the `call` function, and makes code more readable and easier to reason about.

  No change in resulted dependency binaries could be easy verified with bitcoin/bitcoin/#21995.

ACKs for top commit:
  laanwj:
    Code review ACK e644591426fb4ee1bba5c4bfdde85eb378258272
  shaavan:
    Code review ACK e644591426fb4ee1bba5c4bfdde85eb378258272

Tree-SHA512: 8481fa0dc5bbf7dd6a180f7fae5a2ccc07f85b50c7a966bceb2d7e010e07e5f211ee3f74f8ac79bc5acfde5f0764264d599d959ff3ebb8511b1b4a33f79509bd
2024-01-02 11:17:48 -06:00
fanquake
e552c49538
Merge bitcoin/bitcoin#24604: build: fix copypasta in OpenBSD C{XX} flags
28f17c1a6de7b50482d8f55fe03698126862e8eb build: fix copypasta in OpenBSD C{XX} flags (fanquake)

Pull request description:

  Introduced in #23998.

ACKs for top commit:
  hebasto:
    ACK 28f17c1a6de7b50482d8f55fe03698126862e8eb, I have reviewed the code and it looks OK, not tested on OpenBSD though.

Tree-SHA512: d905161534075f518c8924d3c42cca7ff8d4898e559f1daa9bd03dac95b109b2c3e76790fb8bc65b9e45e8a59566825afbf4dc3734ad74617dfdf797430e486b
2024-01-01 17:48:19 -06:00
fanquake
2600e4cb10
Merge bitcoin/bitcoin#24613: build: remove unused QMAKE_* VARs
3a463992b981be382200004d5c44c130fc7a509f build: remove unused QMAKE_* VARs (fanquake)

Pull request description:

  As far as I can gather Qts build system doesn't respect either of these
  variables (there is a `QMAKE_LIBTOOL_LIBDIR`).

  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
  dd12aaea98cfaa85a7d4b2e0cd8c4c01766ad47cb2d41a516073b7e0304ccab1  guix-build-3a463992b981/output/aarch64-linux-gnu/SHA256SUMS.part
  7107fce198c238c6b88a58574be5cfd77ac2aa8176488738671c4873a21e1efe  guix-build-3a463992b981/output/aarch64-linux-gnu/bitcoin-3a463992b981-aarch64-linux-gnu-debug.tar.gz
  2fe573897994e9dbb4a5123045e86ed3fefbf3381eddb5f17f2034aecb5adb80  guix-build-3a463992b981/output/aarch64-linux-gnu/bitcoin-3a463992b981-aarch64-linux-gnu.tar.gz
  250246aef50a752d56a63a58978cd95555a4e4447b83577615e85cfee30003b6  guix-build-3a463992b981/output/arm-linux-gnueabihf/SHA256SUMS.part
  4e07018fcb47d0674b4dc598c23179f05124e9cf70e8dd229ef74542d3b106a3  guix-build-3a463992b981/output/arm-linux-gnueabihf/bitcoin-3a463992b981-arm-linux-gnueabihf-debug.tar.gz
  649115440ff109d427718aa8468ef65f50ac50edf5722c233dad2fb9e90d4af6  guix-build-3a463992b981/output/arm-linux-gnueabihf/bitcoin-3a463992b981-arm-linux-gnueabihf.tar.gz
  3f5dae095c718854ae2de1dcbc88a91b14cdb13adb9a7bd5e2a08bf006a1bca9  guix-build-3a463992b981/output/arm64-apple-darwin/SHA256SUMS.part
  e8f546db5bc14452a50041d46711160d4f4d4fd7b93092a20cdb96a3549f92d2  guix-build-3a463992b981/output/arm64-apple-darwin/bitcoin-3a463992b981-arm64-apple-darwin-unsigned.dmg
  5f1c9695d1ef286b8b779b8ae76af8dfe45d31ce9b081122d1d5594c21c73de2  guix-build-3a463992b981/output/arm64-apple-darwin/bitcoin-3a463992b981-arm64-apple-darwin-unsigned.tar.gz
  5eccb71d8c0c0b0806bf8858079d7a8b626d23446ba6b09920b0118debea6b88  guix-build-3a463992b981/output/arm64-apple-darwin/bitcoin-3a463992b981-arm64-apple-darwin.tar.gz
  59c52d0190ad6182ffb5ca7124d05e9a18df4472db2662fe4dada7636f0b93c4  guix-build-3a463992b981/output/dist-archive/bitcoin-3a463992b981.tar.gz
  bb5b090610c2200223fbb3ac18bd274f3ac5cbbf0b122b520645b1945f03e7f1  guix-build-3a463992b981/output/powerpc64-linux-gnu/SHA256SUMS.part
  4e76e3e933ac1cad56ef8a970c7dc617a57bbd46d1c13554455f6ed72114d7d3  guix-build-3a463992b981/output/powerpc64-linux-gnu/bitcoin-3a463992b981-powerpc64-linux-gnu-debug.tar.gz
  2039d619824f4678367e71ca1a09c2dcd01ba4fca0151193235e991fec927cf2  guix-build-3a463992b981/output/powerpc64-linux-gnu/bitcoin-3a463992b981-powerpc64-linux-gnu.tar.gz
  9023d223c41a82907b5cea5f011b16b9ac83155d7c152315576339dd78d2ed7b  guix-build-3a463992b981/output/powerpc64le-linux-gnu/SHA256SUMS.part
  35d374257124b4c8bc59f938dbc9428f4c45fd38a45e29f9afa4c31fb129c593  guix-build-3a463992b981/output/powerpc64le-linux-gnu/bitcoin-3a463992b981-powerpc64le-linux-gnu-debug.tar.gz
  aee514d913c905c153ec06a20521fa5698096e94e124f2262a16bba3bf7dc0fb  guix-build-3a463992b981/output/powerpc64le-linux-gnu/bitcoin-3a463992b981-powerpc64le-linux-gnu.tar.gz
  39ca1e06c8ef5086055242286e58c096965494ce050b7780171492fcbc6c78e1  guix-build-3a463992b981/output/riscv64-linux-gnu/SHA256SUMS.part
  f92412fdf3566518dc16a03a24eaa00e82550ad0f7f0ef14e2d4772f69ff8496  guix-build-3a463992b981/output/riscv64-linux-gnu/bitcoin-3a463992b981-riscv64-linux-gnu-debug.tar.gz
  11c0a55d760f422135c3a5c9e3b7acdec4a1e001dde47e4830f9a64e39cea13c  guix-build-3a463992b981/output/riscv64-linux-gnu/bitcoin-3a463992b981-riscv64-linux-gnu.tar.gz
  c0a4bfb7f3b62bbe9b3e0e8dc05395e72d31a151038a5278acf78c5f3abd1b30  guix-build-3a463992b981/output/x86_64-apple-darwin/SHA256SUMS.part
  3c6a8e2b91b66cbdbf811251e95ae2a68604fc0f442695211727b6f740e303f9  guix-build-3a463992b981/output/x86_64-apple-darwin/bitcoin-3a463992b981-x86_64-apple-darwin-unsigned.dmg
  2d0b0b0615d83ef4c876fd99628e2d21b57acef0f1dc2ee175d0c0c3786dc63c  guix-build-3a463992b981/output/x86_64-apple-darwin/bitcoin-3a463992b981-x86_64-apple-darwin-unsigned.tar.gz
  e4c123cc6c848d342154cf6f47518465ab0238e8779f5d253095cf429eb2cafb  guix-build-3a463992b981/output/x86_64-apple-darwin/bitcoin-3a463992b981-x86_64-apple-darwin.tar.gz
  4f6801b93e458f59611e40d725eb910720ef91cb6dc5052f8b314df2b892e5f8  guix-build-3a463992b981/output/x86_64-linux-gnu/SHA256SUMS.part
  5a60dab96f4db45facd0d0f126803f3af864eb0fe6bfdb338deb89a28d22c857  guix-build-3a463992b981/output/x86_64-linux-gnu/bitcoin-3a463992b981-x86_64-linux-gnu-debug.tar.gz
  949185ab779c0f7199a468fb384636de30e8f689173c797dec0ab51eb67e6120  guix-build-3a463992b981/output/x86_64-linux-gnu/bitcoin-3a463992b981-x86_64-linux-gnu.tar.gz
  ffc2e51b928c6f76ee678cbf8291c5dce00a221c5241d88fcd449dbdfc2b0861  guix-build-3a463992b981/output/x86_64-w64-mingw32/SHA256SUMS.part
  2ba59ab5a27249ab06a396401633ff9fb688b02fb364a39edad4d3120e3f02aa  guix-build-3a463992b981/output/x86_64-w64-mingw32/bitcoin-3a463992b981-win64-debug.zip
  17378a06f3ae08cd50f840bf8279b4a54ef587da69080ad59a5948799af47eda  guix-build-3a463992b981/output/x86_64-w64-mingw32/bitcoin-3a463992b981-win64-setup-unsigned.exe
  89e1929c669e9d62dae804f65a886eae8ff7fdf7fe8ba965c57ba9ebaf84e7ff  guix-build-3a463992b981/output/x86_64-w64-mingw32/bitcoin-3a463992b981-win64-unsigned.tar.gz
  7ec3021e84296632182261d3017a9e25c4573013d61fb2a13c9ec46ef35a1e59  guix-build-3a463992b981/output/x86_64-w64-mingw32/bitcoin-3a463992b981-win64.zip
  ```

ACKs for top commit:
  hebasto:
    ACK 3a463992b981be382200004d5c44c130fc7a509f

Tree-SHA512: 3b21129e2f30f9ddd977741216876b89dc151fe27a7ae0608bbd6d8f2cbf7f1e93967c34c0674cd01074abe07af6195b11e8b1d7bef2ede8573c5babadf774d4
2024-01-01 17:48:18 -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
0181d2bb15 (partial) Merge #17934: doc: Use CONFIG_SITE variable instead of --prefix option
223b1ba7d90509a47ea07af46f4b9c3b8efbc9f8 doc: Use CONFIG_SITE instead of --prefix (Hennadii Stepanov)

Pull request description:

  The current examples of `--prefix=...` option usage to point `configure` script to appropriate `depends` directory is not [standard](https://www.gnu.org/prep/standards/html_node/Directory-Variables.html). This causes some [confusion](https://github.com/bitcoin/bitcoin/pull/16691) and a bit of inconvenience.

  Consider a CentOS 7 32 bit system. Packages `libdb4-devel`, `libdb4-cxx-devel`, `miniupnpc-devel` and `zeromq-devel` are unavailable from repos. After recommended build with depends:
  ```
  cd depends
  make
  cd ..
  ./autogen.sh
  ./configure --prefix=$PWD/depends/i686-pc-linux-gnu
  make
  ```
  a user is unable to `make install` compiled binaries neither locally (to `~/.local`) nor system-wide (to `/usr/local`) as `--prefix` is set already.

  Meanwhile, the standard approach with using [`config.site`](https://www.gnu.org/software/automake/manual/html_node/config_002esite.html) files allows both possibilities:

  ```
  cd depends
  make
  cd ..
  ./autogen.sh
  CONFIG_SITE=$PWD/depends/i686-pc-linux-gnu/share/config.site ./configure --prefix ~/.local
  make
  make install
  ```

  or

  ```
  CONFIG_SITE=$PWD/depends/i686-pc-linux-gnu/share/config.site ./configure
  make
  sudo make install  # install to /usr/local
  ```

  Moreover, this approach is used in [Gitian descriptors](https://github.com/bitcoin/bitcoin/tree/master/contrib/gitian-descriptors) already.

ACKs for top commit:
  practicalswift:
    ACK 223b1ba7d90509a47ea07af46f4b9c3b8efbc9f8: patch looks correct
  fanquake:
    ACK 223b1ba7d90509a47ea07af46f4b9c3b8efbc9f8

Tree-SHA512: 46d97924f0fc7e95ee4566737cf7c2ae805ca500e5c49af9aa99ecc3acede4b00329bc727a110aa1b62618dfbf5d1ca2234e736f16fbdf96d6ece5f821712f54
2023-12-03 20:32:22 -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
Wladimir J. van der Laan
637cbc6a00 Merge #20681: doc: Convert depends options list from html to markdown
7b6887e75aec7e0d5c25682c26943073b7a728e5 doc: Convert depends options list from html to markdown (Wladimir J. van der Laan)

Pull request description:

  This makes it easier to read in `less`, which is important for install instructions.

  Rendered: [before](7ef6b1c51d/depends (dependency-options)) - [after](d97042406f/depends/README.md (dependency-options))

ACKs for top commit:
  jonatack:
    Code review re-ACK 7b6887e75aec7e0d5c25682c26943073b7a728e5 per `git diff d970424 7b6887e`
  hebasto:
    re-ACK 7b6887e75aec7e0d5c25682c26943073b7a728e5

Tree-SHA512: 02970b2bb97d2e8fb2d66470f6d70662653fda176bf6f4861742823b361fdc7ab6a2b44143480ac1a525b8d7808b6a068e8b3677dbba16cd783b4cab90470af5
2023-08-28 11:31:55 -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
66e1541808 merge bitcoin#21851: support cross-compiling for arm64-apple-darwin 2023-06-29 12:31:03 -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
ab8c26a533 merge bitcoin#23585: Drop Darwin version for better maintainability 2023-06-29 12:31:03 -05:00
Kittywhiskers Van Gogh
19a81643c8 merge bitcoin#23817: Fix regression introduced in PR23603 2023-06-29 12:31:03 -05:00
Kittywhiskers Van Gogh
13c2a9b586 merge bitcoin#23603: Fix x86_64 <-> arm64 cross-compiling for macOS 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
b1dd417f26 merge bitcoin#23909: use a static .tiff for macOS .dmg over generating 2023-06-18 11:47:54 -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
fanquake
89928a3e34 Merge bitcoin/bitcoin#22402: doc: Install Rosetta on M1-macOS for qt in depends
cdb41d5573b1e2ed1bc1d8d1dc9f77e82672ee1f doc: Install Rosetta on M1-macOS for qt in depends (Hennadii Stepanov)

Pull request description:

  On master (c609e10545492aba480ff17aff7eefc13a0b5cd8) `make -C depends qt` on Apple Silicon based macOS 11.4 ends with an error:
  ```
  /bin/sh: /Users/hebasto/bitcoin/depends/work/build/aarch64-apple-darwin20.5.0/qt/5.12.11-6c4d47a8f8f/qtbase/bin/moc: Bad CPU type in executable
  ```

  Installing Rosetta 2 fixes it.

  Explanation. On Apple Silicon macOS the `qt` package in depends actually is cross compiled. All native tools (including `moc`) are x86_64 binaries, that require Rosetta 2 to run.

ACKs for top commit:
  promag:
    ACK cdb41d5573b1e2ed1bc1d8d1dc9f77e82672ee1f.
  fanquake:
    ACK cdb41d5573b1e2ed1bc1d8d1dc9f77e82672ee1f - I have not tested after installing Rosetta 2, but I saw the same issue during my first cross-compile on an M1 box.
  Zero-1729:
    ACK cdb41d5573b1e2ed1bc1d8d1dc9f77e82672ee1f

Tree-SHA512: fb06a32d6fb40f405ce856b44f5d3af0c51089886f3be79e509e5c325614d7af58ce4480c064c17e0efb695a1f69f68d533c417f9631d46d8a630aba60ce4433
2023-05-31 10:52:02 -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
W. J. van der Laan
4e100ea192 Merge bitcoin/bitcoin#22283: build: Replace $(AT) with .SILENT
8494dcae0e32716fd7cc7abeacf0a795a1303e6a Replace $(AT) with .SILENCE. (Dmitry Goncharov)

Pull request description:

  This reduces the amount of syntax noise in the makefiles.
  Setting V=1 still enables verbose logging.

  The only noticeable difference in behavior is that, unless V=1 is specified, make won't print its own messages like
  make: Nothing to be done for 'all', make: 'all' is up to date, or touch <file>, if -t is specified.

ACKs for top commit:
  laanwj:
    Tested ACK 8494dcae0e32716fd7cc7abeacf0a795a1303e6a

Tree-SHA512: 66b9111229995aa54a9e87f4571648727d89b8529caec651063cdfe5c00a64341371b648701d192b2334df0614617a00c28eaa56c7f08ee9c00127cada0293ab
2023-04-18 23:24:06 +03:00
fanquake
48b1186ce1 Merge bitcoin/bitcoin#22234: build: Mark print-% target as phony.
fb7be92b094477131140b58a4e3ae98366b93e76 Mark print-% target as phony. (Dmitry Goncharov)

Pull request description:

  .PHONY does not take patterns (such as print-%) as prerequisites.
  Have print-% depend on force and mark force as phony.

  This change ensures print-% rule works even when there is a file that matches the target.

  ```
  $ # on master
  $ make print-host
  host=x86_64-pc-linux-gnu
  $ touch print-host
  $ make print-host
  make: 'print-host' is up to date.
  $
  $ git co mark_print_as_phony
  Switched to branch 'mark_print_as_phony'
  $ make print-host
  host=x86_64-pc-linux-gnu
  $ touch force
  $ make print-host
  host=x86_64-pc-linux-gnu
  ```

ACKs for top commit:
  hebasto:
    ACK fb7be92b094477131140b58a4e3ae98366b93e76, tested on Linux Mint 20.2 (x86_64).

Tree-SHA512: b89ae66aa8c7aa6a7ab5f0956f9eb3b3ef9d56994b60dc2a97d498d4c1bba537845c190723e8a10310280b1b35df2cd935cc30aeb76735cac2dc621ad7823772
2023-04-16 23:40:59 +03:00