Commit Graph

609 Commits

Author SHA1 Message Date
Kittywhiskers Van Gogh
b02d5e34ff
merge bitcoin#30217: Update Boost download link 2024-08-13 22:53:52 +07:00
Kittywhiskers Van Gogh
9e80893a3c
partial bitcoin#28622: use macOS 14 SDK (Xcode 15.0)
includes:
- 51c97ffb6989a4cf56ad966d360a9fa0426e174c
2024-08-13 22:53:52 +07:00
Kittywhiskers Van Gogh
1d8b8900ef
merge bitcoin#26557: Update Boost to 1.81.0 in depends 2024-08-13 22:53:49 +07:00
Kittywhiskers Van Gogh
1ad64dadca
merge bitcoin#25873: Boost 1.80.0 2024-08-13 22:53:49 +07:00
Kittywhiskers Van Gogh
aa361b2717
merge bitcoin#24301: header-only Boost 2024-08-13 22:53:48 +07:00
pasta
d1addb27aa
fix: change fallback download path to be an s3 link which includes a few packages
Reasonably enough I guess, it appears that a number of our dependencies block github runner IP addresses? the blobs stored at the s3 link were downloadable from the normal location when accessed locally, but returned a 404 from github runners. These blobs were also not present in the bitcoincore depends-sources anyhow.
2024-08-11 15:02:31 +07:00
pasta
efe4c2d6eb
Merge #6143: backport: bitcoin#19160, #21663, #21669, #21732, #21738, #21750, #21775, #21812
f4cb0fbfe1 fix: no need to relay quorum commitment in case of block undo (Konstantin Akimov)
0431a33919 fix: follow-up changes for bitcoin#14193. (Konstantin Akimov)
86b76d19b6 Merge bitcoin/bitcoin#21812: ci: Enable D_GLIBCXX_DEBUG for multiprocess task (fanquake)
334496ea7e Merge bitcoin/bitcoin#21775: p2p: Limit m_block_inv_mutex (MarcoFalke)
23b83109ea Merge bitcoin/bitcoin#21750: net: remove unnecessary check of CNode::cs_vSend (MarcoFalke)
b34514191f Merge bitcoin/bitcoin#21738: test: Use clang-12 for ASAN, Add missing suppression (fanquake)
3411577473 Merge bitcoin/bitcoin#19160: multiprocess: Add basic spawn and IPC support (W. J. van der Laan)
970048d917 fix: missing changes from bitcoin#19267 - run multiprocess on CI (Konstantin Akimov)
f2b7ee73db fix: follow-up bitcoin#15402 - removed dead code (Konstantin Akimov)
274068cdbc fix: follow-up bitcoin/bitcoin#21732 - minor missing typo (MarcoFalke)
e9450a8b36 Merge #21669: test: Remove spurious double lock tsan suppressions by bumping to clang-12 (MarcoFalke)
ef92c3065c Merge #21663: ci: Fix macOS brew install command (W. J. van der Laan)

Pull request description:

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

  ## What was done?
  See commits for backports.

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

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

  ## Breaking Changes
  N/A

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

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

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

Pull request description:

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

  ---

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

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

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

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

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

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

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

Tree-SHA512: 52a948b5e18a26d7d7a09b83003eaae9b1ed2981978c36c959fe9a55abf70ae6a627c4ff913a3428be17400a3dace30c58b5057fa75c319662c3be98f19810c6
2024-07-27 13:04:24 +07:00
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
W. J. van der Laan
641dc6623a
Merge bitcoin/bitcoin#21427: depends: Fix id_string invocations
fa872c9af397837bb17859b5f43adec71239682a depends: Fix id_string invocations (Carl Dong)

Pull request description:

  Closes: #21242

  ```
  Reproduced from depends/Makefile comment:

  When invoking a shell, GNU Make special-cases exit code 127 (command not
  found) by not capturing the output but instead passing it through. This
  is not done for any other exit code.

  Therefore, we require a "|| true" to avoid this behaviour when in an
  environment where the build_* or host_* may not exist yet.
  ```

ACKs for top commit:
  laanwj:
    Concept and light code review ACK fa872c9af397837bb17859b5f43adec71239682a

Tree-SHA512: 9ce88381aec579d956572cf70c4f69dc5a3873f0d2af14a71cf24814192a89452b8280258bed8cca804e4bd2644db056d213ab733df46a10560a47079524d8ac
2023-04-14 23:34:14 -05:00
fanquake
6ad61a0efe Merge #20985: doc: add xorriso to macOS depends packages
5b41d84b3469484ff6a1f4eb7c890b6444a16091 doc: add xorriso to macOS depends packages (fanquake)

Pull request description:

  This was missed in #20470.

ACKs for top commit:
  hebasto:
    ACK 5b41d84b3469484ff6a1f4eb7c890b6444a16091, tested on Linux Mint 20.1 (x86_64).

Tree-SHA512: bcfd8468a099c69175f8a9d295c1466764ab25d6a61121b28675a09c3e96f45b6309e1523d341f4cb21d0ddee4945f00ba060ba02da835f2f0db7e694fd6c44b
2023-04-09 00:06:56 -05:00
fanquake
ececf49df0 Merge #16691: doc: improve depends prefix documentation
2483266c591f7b2e62df68ee2d13740a706415ec packages.md: document depends build targets (Russell Yanofsky)
be27161ee4bb7cb63346f1e79fc36ce33103a635 Clarify need to specify --prefix with depends (Russell Yanofsky)

Pull request description:

  There seems to be some confusion about exactly how to use depends, when to pass a prefix to `./configure` etc (see #16367, #16654).

  I've cherry-picked two of russ's commits out of #16367, as they are clear stand-alone improvements and we don't have to wait for #16367 to improve the depends documentation.

ACKs for top commit:
  Sjors:
    utACK 2483266
  hebasto:
    ACK 2483266c591f7b2e62df68ee2d13740a706415ec, I have reviewed the code and it looks OK, I agree it can be merged.
  jonasschnelli:
    ACK 2483266c591f7b2e62df68ee2d13740a706415ec

Tree-SHA512: a198c288248f573519a3b0ef384626b61cc803803280af9a448c28466e3d9949bed0332af6618dac19e81c5a6e9694afa83d976b176fd13c32a6c2c3fea3fc1f
2023-04-04 12:45:27 -05:00
Wladimir J. van der Laan
4459e60acc Merge #16352: build: prune dbus from depends
e8fabd9253400a7c3fe45b34bc572eb00ff5522d build: prune dbus from depends (fanquake)

Pull request description:

  Since #8210 (59d063d076), we've been passing `-dbus-runtime` when configuring Qt.

  ```
  qtbase-opensource-src-5.9.7 $ ./configure -h | grep -i dbus
    -no-dbus ............. Do not build the Qt D-Bus module
    -dbus-linked ......... Build Qt D-Bus and link to libdbus-1 [auto]
    -dbus-runtime ........ Build Qt D-Bus and dynamically load libdbus-1 [no]
  ```

  This means we don't actually seem to be using the `D-Bus` we build in depends. This was pointed out by theuni at the time, [here](https://github.com/bitcoin/bitcoin/pull/7993#issuecomment-223114395) and [here](https://github.com/bitcoin/bitcoin/pull/8210#issuecomment-226930545), but was never followed up. dongcarl also bought it up as part of #16150.

  I've tested building and running `bitcoin-qt` using depends on Debian. Needs further testing.

ACKs for top commit:
  laanwj:
    code review ACK e8fabd9253400a7c3fe45b34bc572eb00ff5522d

Tree-SHA512: 164e6e52b6f97c04aef42bd185e2a157bc1a42103840f9404c5a795749f45a8c2c35f35873395a3a56398b3cd5955496b90d9c885d929b434c9bc871695abe20
2023-03-29 21:01:56 +03:00
fanquake
7d78f06a92 partial Merge bitcoin/bitcoin#19817: build: macOS toolchain bump
a5550f877a2c46d01bb620ae051c0c8ed0fecd0b build: use -stdlib++-isystem with Clang 10 (fanquake)
51d9d1607f2e9d593693ca799393f068192e41aa guix: use Clang 10 for the macOS cross compile (fanquake)
b80a6af9e55325d444e117e85bbfc76d88d898a8 build: no longer patch threading out of ld64 (fanquake)
c29cba44b3706e0a2035e440e560f2d15d50433b build: Xcode 12.1, macOS SDK 10.15.6 (fanquake)
9ed2f19d385aa95f65807999bba2e18417b143dc build: native cctools 973.0.1, ld64 609 (fanquake)
f48f187cce7fa43646fb0d796c244e1515e763ec build: Clang 10.0.1 (Hennadii Stepanov)
9b193cd2a3ca20917611fbed56dfbcd8a39aeab8 build: libtapi 1100.0.11 (fanquake)

Pull request description:

  Bumps our macOS toolchain to be using the following:
  * Clang 10.0.1 (gitian) & Clang 10.0.0 (Guix)
  * ld64 609
  * libtapi 1100.0.11
  * cctools  973.0.1
  * Xcode 12.1
  * macOS SDK 10.15.6

  which are currently the most recent releases available as open source. See upstream [`cctools`](https://github.com/tpoechtrager/cctools-port/commits/973.0.1-ld64-609) and [`libtapi`](https://github.com/tpoechtrager/apple-libtapi/tree/1100.0.11).

  This should improve the possibility of Apple ARM cross-compilation in depends.

  This also removes our [patching out of pthreads usage](https://github.com/bitcoin/bitcoin/blob/master/depends/patches/native_cctools/ld64_disable_threading.patch) in `ld64`. There have been multiple changes since `ld64 450.3`, which have likely fixed the non-determinism we were working around. i.e from [InputFiles.cpp](https://opensource.apple.com/source/ld64/ld64-609/src/ld/InputFiles.cpp.auto.html):
  ```cpp
  // <rdar://problem/15002251> make implicit dylib order be deterministic by sorting by install_name
  std::sort(implicitDylibs.begin(), implicitDylibs.end(), DylibByInstallNameSorter());
  ```

  ```cpp
  // <rdar://problem/42675402> ld64 output is not deterministic due to dylib processing order
  std::sort(unprocessedDylibs.begin(), unprocessedDylibs.end(), [](const ld::dylib::File* lhs, const ld::dylib::File* rhs) {
  return strcmp(lhs->path(), rhs->path()) < 0;
  });
  ```

  Guix Build:
  ```bash
  find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  f6c3817b8fe5f7370299d1ae2533e4a3acd313ba9f9aa8d423a8956117e52dd5  guix-build-a5550f877a2c/output/dist-archive/bitcoin-a5550f877a2c.tar.gz
  4954dcf563c2d496b8d9fecd48f8e3f7fba2f319ffa254a5bc8ee12cfee6acf0  guix-build-a5550f877a2c/output/x86_64-apple-darwin18/bitcoin-a5550f877a2c-osx-unsigned.dmg
  8f6095b445c7f1a8e6accd86bb7f0696d5849402084927d2b726b7d557831c3a  guix-build-a5550f877a2c/output/x86_64-apple-darwin18/bitcoin-a5550f877a2c-osx-unsigned.tar.gz
  cc40f25477b4defc1617ae694313d80f307ddf6742fe6cc85c6bc0e215ef8be0  guix-build-a5550f877a2c/output/x86_64-apple-darwin18/bitcoin-a5550f877a2c-osx64.tar.gz
  ```

  Gitian Build:
  ```bash
  Generating report
  506a8abdefe559999b43dd9f14905b9b2b5a3363b1cd013d45ae47acc1f7ef6c  bitcoin-a5550f877a2c-osx-unsigned.dmg
  f606997f74026dd12d110d683c6f116b40df324836904ef507dd7ac787e6ebe2  bitcoin-a5550f877a2c-osx-unsigned.tar.gz
  5b495ef15f2c3260c2950921b61326912a9bf533cccd51e13818809fd225489e  bitcoin-a5550f877a2c-osx64.tar.gz
  f6c3817b8fe5f7370299d1ae2533e4a3acd313ba9f9aa8d423a8956117e52dd5  src/bitcoin-a5550f877a2c.tar.gz
  9eb0221e962d2839770963bd03c6c9e98e8bf3078566bee2ae42f06233a710fa  bitcoin-core-osx-22-res.yml
  Done.
  ```

ACKs for top commit:
  hebasto:
    ACK a5550f877a2c46d01bb620ae051c0c8ed0fecd0b

Tree-SHA512: 504c4b0f9cd3b939714a322298320c5bde07e9356a48a9a000060b36f8dce4d6134ed60c3a5188810476a28ec5b108733eabbc6fb8053231b9ea8a494cc91b12
2023-03-26 16:50:26 -05:00
W. J. van der Laan
0d5bc0b0f5 Merge #21304: guix: Add guix-clean script + establish gc-root for container profiles
867a5e172a23899a4a70eca4a396c64f1951745e guix: Register garbage collector root for containers (Carl Dong)
8f8b96fb542701b7717683caa3848390b24f77ab guix: Update hint messages to mention guix-clean (Carl Dong)
44f6d4f56b16e1dc5e8a23318b8e7aad0665f178 guix: Record precious directories and add guix-clean (Carl Dong)
84912d4b24382ae022da3a863bd6caa2b8948d94 build: Remove spaces from variable-printing rules (Carl Dong)

Pull request description:

  ```
  guix: Record precious directories and add guix-clean

  Many users have reported problems that stem from having an unclean
  working tree. To that end, I've written a guix-clean script which should
  help reset the working tree while respecting user-specified precious
  directories.

  Precious directories, such as:

  - SOURCES_PATH
  - BASE_CACHE
  - SDK_PATH
  - OUTDIR

  Should be preserved when cleaning the working tree, and are thus
  recorded in ./contrib/guix/var/precious_dirs.

  The ./contrib/guix/guix-clean script is able to parse that file and make
  sure to avoid them when cleaning out the working tree.
  ```

ACKs for top commit:
  laanwj:
    ACK 867a5e172a23899a4a70eca4a396c64f1951745e

Tree-SHA512: c498fad781ff5e6406639df2b91b687fc528273fdf266bcdba8f6eec3b3b37ecce544b6da0252f0b9c6717f9d88e844e4c7b72d1877bdbabfc6871ddd0172af5
2023-03-26 16:50:26 -05:00
W. J. van der Laan
dfd1045284 Merge #21375: guix: Misc feedback-based fixes + hier restructuring
7476b46f1893a4858616d2a8456a7c43238851ed guix: Build dmg as a static binary (Carl Dong)
06d6cf6784421290e6235fe8684d5e08ed6f1b62 depends: libdmg-hfsplus: Skip CMake RPATH patching (Carl Dong)
65176ab5730dff34466caaecdd292625ef8294fc guix: Remove codesign_allocate+pagestuff from unsigned tarball (Carl Dong)
ca85679eb43b8375a95d82101977829d08fb1e1b guix: Use clang-toolchain instead of clang (Carl Dong)
1aec0eda8fd31a57b0621eea616398017c2ead98 guix: Fallback to local build for substitute-enabled Guix users (Carl Dong)
1742f8e12d163852df09575e03edcd3db73198ee guix: Add early health check for guix-daemon (Carl Dong)
c1ae726a13ecfa5e7e9fdc3030a8110b8bb263f8 guix: More thoroughly control native toolchain (Carl Dong)
39741128d3775d198dbee34dc827353bfd18acd8 guix: Supply --link-profile (Carl Dong)
d55a1056ee565afed64e42d6f6efb6b0adc5599b guix: Add troubleshooting documentation entries (Carl Dong)
7f401c953f8bb3574cec48561e13ef3b47dedc6e guix: Adapt guix-build to prelude, restructure hier (Carl Dong)
4eccf063b252bfe256cf72d363a24cf0183e926e guix: Remove guix-build.sh filename extension (Carl Dong)
7753357a7bae98ec775c707b9dec4cea1e945802 guix: Add source-able bash prelude and utils (Carl Dong)
e5b49a01f5d0f631e7f08f86ca8a2c2b8213319f guix: Create windeploy inside distsrc-* (Carl Dong)
3e9982ab3877eb8fe0a8c0cb3d847ac0913c7336 contrib: Silence git-describe when looking for tag (Carl Dong)
d5a71e97853ea9e1b879e8c76bfb01d4bef33172 guix: Use --cores instead of --max-jobs (Carl Dong)

Pull request description:

  This PR addresses a few hiccups encountered by the brave souls who've been experimenting with the Guix scripts:
  - Resolves confusion between `--cores=` and `--max-jobs=`
    - `guix`'s `--cores=` actually corresponds to make's `--jobs=`, so let's just control `--cores=` with our overridable env var
  - `git-describe` will scream `fatal: no tag exactly matches '<hash>'` when looking for a tag, but we don't care, so silence that
  - `windeploy/unsigned` should be inside `distsrc-*` and created idempotently (sorry I know this one annoyed people)
  - Add troubleshooting documentation to `README.md`
  - Add early health check for `guix-daemon` in case user forgot to start a `guix-daemon`
  - Depending on configuration, a `--fallback` flag may be needed to tell Guix to not fail if substitutes fail but fallback to building locally
  - `codesign_allocate` and `pagestuff` are now unnecessary for codesigning as we're now using `signapple`

  A few robustness changes are also included:
  - We supply the `--link-profile` flag, as some Guix packages may expect the profile to be available under `$HOME/.guix-profile`
  - We now clear and manually set all toolchain-related env vars (e.g. `C*_INCLUDE_PATH`) ourselves, after patching a Qt::moc bug
  - We use the native `clang-toolchain` package for darwin builds instead of `clang`, lining up with all our other toolchain packages.

  Finally, we restructure the guix building hierarchy such that it looks something like:
  ```
  guix-build-<short-hash-or-version-tag>
  ├── distsrc-<short-hash-or-version-tag>-${HOST}
  │   ├── contrib
  │   ├── depends
  │   ├── src
  │   └── ...
  ├── distsrc-<short-hash-or-version-tag>-...
  └── output
      ├── dist-archive
      │   └── bitcoin-<short-hash-or-version-tag>.tar.gz
      ├── *-linux-*
      │   ├── bitcoin-<short-hash-or-version-tag>-*-linux-*-debug.tar.gz
      │   └── bitcoin-<short-hash-or-version-tag>-*-linux-*.tar.gz
      ├── x86_64-apple-darwin18
      │   ├── bitcoin-<short-hash-or-version-tag>-osx64.tar.gz
      │   ├── bitcoin-<short-hash-or-version-tag>-osx-unsigned.dmg
      │   └── bitcoin-<short-hash-or-version-tag>-osx-unsigned.tar.gz
      └── x86_64-w64-mingw32
          ├── bitcoin-<short-hash-or-version-tag>-win64-debug.zip
          ├── bitcoin-<short-hash-or-version-tag>-win64-setup-unsigned.exe
          ├── bitcoin-<short-hash-or-version-tag>-win64.zip
          └── bitcoin-<short-hash-or-version-tag>-win-unsigned.tar.gz
  ```
  Separating guix builds by their version identifier (basically namespacing them) allows us to change the layout in the future without worry about potential naming conflicts.

ACKs for top commit:
  sipa:
    ACK 7476b46f1893a4858616d2a8456a7c43238851ed
  laanwj:
    ACK 7476b46f1893a4858616d2a8456a7c43238851ed

Tree-SHA512: 0e899aa941aafdf552b2a7e8a08131ee9283180bbef7334439e2461a02aa7235ab7b9ca9c149b80fc5d0a9f4bbd35bc80fcee26197c0836ba8eaf2d86ffa0386
2023-03-26 16:50:26 -05:00
Wladimir J. van der Laan
b207af123c Merge #20629: depends: Improve id string robustness
5200929bfe26c549d7da92c0adf8adf61e143416 depends: Include GUIX_ENVIRONMENT in id string (Carl Dong)
4c7d41858821e4fecf7cb0cec3fcad002365e6c9 depends: Improve id string robustness (Carl Dong)
b3bdff42b5a7b4b956da700b187a7254daac54ae build: Proper quoting for var printing targets (Carl Dong)

Pull request description:

  ```
  Environment variables and search paths can drastically effect the
  operation of build tools.

  Include these in our id string to mitigate against false cache hits.
  ```

  Note to builders: This will invalidate all depends output caches in `BASE_CACHE`

ACKs for top commit:
  laanwj:
    re-ACK 5200929bfe26c549d7da92c0adf8adf61e143416

Tree-SHA512: e70c98da89cde90dc54bc3be89b925787cf94bbf246e27cc9345816b312073d78a02215448f731f21d8cf033c455234a2377ff1d66c00e1f3db69c9c9687d027
2023-03-26 16:50:26 -05:00
Wladimir J. van der Laan
aec7441ac2 Merge #15277: contrib: Enable building in Guix containers
751549b52a9a4cd27389d807ae67f02bbb39cd7f contrib: guix: Additional clarifications re: substitutes (Carl Dong)
cd3e947f50db7cfe05c05b368c25742193729a62 contrib: guix: Various improvements. (Carl Dong)
8dff3e48a9e03299468ed3b342642f01f70da9db contrib: guix: Clarify SOURCE_DATE_EPOCH. (Carl Dong)
3e80ec3ea9691c7c89173de922a113e643fe976b contrib: Add deterministic Guix builds. (Carl Dong)

Pull request description:

  ~~**This post is kept updated as this project progresses. Use this [latest update link](https://github.com/bitcoin/bitcoin/pull/15277#issuecomment-497303718) to see what's new.**~~

  Please read the `README.md`.

  -----

  ### Guix Introduction

  This PR enables building bitcoin in Guix containers. [Guix](https://www.gnu.org/software/guix/manual/en/html_node/Features.html) is a transactional package manager much like Nix, but unlike Nix, it has more of a focus on [bootstrappability](https://www.gnu.org/software/guix/manual/en/html_node/Bootstrapping.html) and [reproducibility](https://www.gnu.org/software/guix/blog/tags/reproducible-builds/) which are attractive for security-sensitive projects like bitcoin.

  ### Guix Build Walkthrough

  Please read the `README.md`.

  [Old instructions no. 4](https://github.com/bitcoin/bitcoin/pull/15277#issuecomment-497303718)

  [Old instructions no. 3](https://github.com/bitcoin/bitcoin/pull/15277#issuecomment-493827011)

  [Old instructions no. 2](https://github.com/bitcoin/bitcoin/pull/15277#issuecomment-471658439)

  <details>
  <summary>Old instructions no. 1</summary>
  In this PR, we define a Guix [manifest](https://www.gnu.org/software/guix/manual/en/html_node/Invoking-guix-package.html#profile_002dmanifest) in `contrib/guix/manifest.scm`, which declares what packages we want in our environment.

  We can then invoke
  ```
  guix environment --manifest=contrib/guix/manifest.scm --container --pure --no-grafts --no-substitutes
  ```
  To have Guix:
  1. Build an environment containing the packages we defined in our `contrib/guix/manifest.scm` manifest from the Guix bootstrap binaries (see [bootstrappability](https://www.gnu.org/software/guix/manual/en/html_node/Bootstrapping.html) for more details).
  2. Start a container with that environment that has no network access, and no access to the host's filesystem except to the `pwd` that it was started in.
  3. Drop you into a shell in that container.

  > Note: if you don't want to wait hours for Guix to build the entire world from scratch, you can eliminate the `--no-substitutes` option to have Guix download from available binary sources. Note that this convenience doesn't necessarily compromise your security, as you can check that a package was built correctly after the fact using `guix build --check <packagename>`

  Therefore, we can perform a build of bitcoin much like in Gitian by invoking the following:

  ```
  make -C depends -j"$(nproc)" download && \
      cat contrib/guix/build.sh | guix environment --manifest=contrib/guix/manifest.scm --container --pure --no-grafts --no-substitutes
  ```

  We don't include `make -C depends -j"$(nproc)" download` inside `contrib/guix/build.sh` because `contrib/guix/build.sh` is run inside the container, which has no network access (which is a good thing).
  </details>

  ### Rationale

  I believe that this represents a substantial improvement for the "supply chain security" of bitcoin because:

  1. We no longer have to rely on Ubuntu for our build environment for our releases ([oh the horror](72bd4ab867/contrib/gitian-descriptors/gitian-linux.yml (L10))), because Guix builds everything about the container, we can perform this on almost any Linux distro/system.
  2. It is now much easier to determine what trusted binaries are in our supply chain, and even make a nice visualization! (see [bootstrappability](https://www.gnu.org/software/guix/manual/en/html_node/Bootstrapping.html)).
  3. There is active effort among Guix folks to minimize the number of trusted binaries even further. OriansJ's [stage0](https://github.com/oriansj/stage0), and janneke's [Mes](https://www.gnu.org/software/mes/) all aim to achieve [reduced binary boostrap](http://joyofsource.com/reduced-binary-seed-bootstrap.html) for Guix. In fact, I believe if OriansJ gets his way, we will end up some day with only a single trusted binary: hex0 (a ~500 byte self-hosting hex assembler).

  ### Steps to Completion

  - [x] Successfully build bitcoin inside the Guix environment
  - [x] Make `check-symbols` pass
  - [x] Do the above but without nasty hacks
  - [x] Solve some of the more innocuous hacks
  - [ ] Make it cross-compile (HELP WANTED HERE)
    - [x] Linux
      - [x] x86_64-linux-gnu
      - [x] i686-linux-gnu
      - [x] aarch64-linux-gnu
      - [x] arm-linux-gnueabihf
      - [x] riscv64-linux-gnu
    - [ ] OS X
      - [ ] x86_64-apple-darwin14
    - [ ] Windows
      - [ ] x86_64-w64-mingw32
  - [ ] Maybe make importer for depends syntax
  - [ ] Document build process for future releases
  - [ ] Extra: Pin the revision of Guix that we build with with Guix [inferiors](https://www.gnu.org/software/guix/manual/en/html_node/Inferiors.html)

  ### Help Wanted

  [Old content no. 3](https://github.com/bitcoin/bitcoin/pull/15277#issuecomment-483318210)

  [Old content no. 2](https://github.com/bitcoin/bitcoin/pull/15277#issuecomment-471658439)

  <details>
  <summary>Old content no. 1</summary>
  As of now, the command described above to perform a build of bitcoin a lot like Gitian works, but fails at the `check-symbols` stage. This is because a few dynamic libraries are linked in that shouldn't be.

  Here's what `ldd src/bitcoind` looks like when built in a Guix container:
  ```
  	linux-vdso.so.1 (0x00007ffcc2d90000)
  	libdl.so.2 => /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/libdl.so.2 (0x00007fb7eda09000)
  	librt.so.1 => /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/librt.so.1 (0x00007fb7ed9ff000)
  	libstdc++.so.6 => /gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/libstdc++.so.6 (0x00007fb7ed87c000)
  	libpthread.so.0 => /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/libpthread.so.0 (0x00007fb7ed85b000)
  	libm.so.6 => /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/libm.so.6 (0x00007fb7ed6da000)
  	libgcc_s.so.1 => /gnu/store/4sqps8dczv3g7rwbdibfz6rf5jlk7w90-gcc-5.5.0-lib/lib/libgcc_s.so.1 (0x00007fb7ed6bf000)
  	libc.so.6 => /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/libc.so.6 (0x00007fb7ed506000)
  	/gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fb7ee3a0000)
  ```

  And here's what it looks in one of our releases:
  ```
  	linux-vdso.so.1 (0x00007ffff52cd000)
  	libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f87726b4000)
  	librt.so.1 => /usr/lib/librt.so.1 (0x00007f87726aa000)
  	libm.so.6 => /usr/lib/libm.so.6 (0x00007f8772525000)
  	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f877250b000)
  	libc.so.6 => /usr/lib/libc.so.6 (0x00007f8772347000)
  	/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f8773392000)
  ```

  ~~I suspect it is because my script does not apply the gitian-input patches [described in the release process](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#fetch-and-create-inputs-first-time-or-when-dependency-versions-change) but there is no description as to how these patches are applied.~~ It might also be something else entirely.

  Edit: It is something else. It appears that the gitian inputs are only used by [`gitian-win-signer.yml`](d6e700e40f/contrib/gitian-descriptors/gitian-win-signer.yml (L14))
  </details>

  ### How to Help

  1. Install Guix on your distro either [from source](https://www.gnu.org/software/guix/manual/en/html_node/Requirements.html) or perform a [binary installation](https://www.gnu.org/software/guix/manual/en/html_node/Binary-Installation.html#Binary-Installation)
  2. Try out my branch and the command described above!

ACKs for top commit:
  MarcoFalke:
    Thanks for the replies. ACK 751549b52a9a4cd27389d807ae67f02bbb39cd7f
  laanwj:
    ACK 751549b52a9a4cd27389d807ae67f02bbb39cd7f

Tree-SHA512: 50e6ab58c6bda9a67125b6271daf7eff0ca57d0efa8941ed3cd951e5bf78b31552fc5e537b1e1bcf2d3cc918c63adf19d685aa117a0f851024dc67e697890a8d
2023-02-20 09:09:23 -06:00
Kittywhiskers Van Gogh
dc7ad45131 merge bitcoin#25378: sqlite 3380500 in depends 2023-02-07 10:53:33 -06:00
UdjinM6
90c7f16596 build: Avoid fcntl64@GLIBC_2.28 in libsqlite3.a 2023-02-07 10:53:33 -06:00
Kittywhiskers Van Gogh
f42288c984 partial bitcoin#19077: Add sqlite as an alternative wallet database and use it for new descriptor wallets 2023-02-07 10:53:33 -06:00
Konstantin Akimov
e2224cbf8a
build: remove cmake from list of packages (#5179)
## Issue being fixed or feature implemented
Seems as `cmake` package is not needed anymore so far as `immer` moved
inside src/ directory.
`immer` is integrated to our Makefile.am and do not requires extra call
of cmake as it used to be.

## What was done?
Removed cmake from list of packages and removed package `cmake.mk`


## How Has This Been Tested?
Tested build with HEAD - succeed.
After that reverted to the old revision that have `immer` package
(85d6cadbfa).
Failed as expected:
```
make: *** No rule to make target 'cmake', needed by '/home/knst/projects/dash/depends/built/x86_64-pc-linux-gnu/bls-dash/bls-dash-1.2.0-6213882c069.tar.gz'.  Stop.
```


## Breaking Changes
No breaking changes


## Checklist:
- [x] I have performed a self-review of my own code
- [x] I have assigned this pull request to a milestone

---------

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2023-02-07 09:31:20 -06:00
Kittywhiskers Van Gogh
797dd852b7 merge bitcoin#25964: fix mingw miniupnpc cflags 2023-01-18 19:02:39 -06:00
Kittywhiskers Van Gogh
42b7c71d8b merge bitcoin#20421: miniupnpc 2.2.2 2023-01-18 19:02:39 -06:00
Kittywhiskers Van Gogh
823e7b1456 merge bitcoin#19375: target Windows 7 when building libevent and fix ipv6 usage 2023-01-18 19:02:39 -06:00
Kittywhiskers Van Gogh
838ae6b6c8 build: drop immer from depends 2022-12-01 00:51:08 +05:30
Kittywhiskers Van Gogh
305abe91f9
build/depends: commit dashpay/bls-signatures@66ee820f to source tree as vendored (#5077)
* Squashed 'src/dashbls/' content from commit 66ee820fbc

git-subtree-dir: src/dashbls
git-subtree-split: 66ee820fbc9e3b97370db8c164904af48327a124

* build: stop tracking build-system generated relic_conf.h.in

* build: add support for building bls-signatures from local subtree

* build: add exclusions to linting scripts and filters

* build: drop bls-signatures (bls-dash) from depends
2022-11-22 11:34:46 -06:00
Wladimir J. van der Laan
5b4a1e7ec7 Merge #17008: build: bump libevent to 2.1.11 in depends
02ac445b2fec60e028d2cc93bbf74a35e3d0f48e bump libevent to 2.1.11 in depends (stefanwouldgo)

Pull request description:

  this doesn't need patches on Android anymore like 2.1.8 did.

ACKs for top commit:
  laanwj:
    ACK 02ac445b2fec60e028d2cc93bbf74a35e3d0f48e

Tree-SHA512: 1fbfe342ee15fa4c5cb417979bd6c443f7c7aa40a489accf8ccd7c919e5b08e859b3da6edeee3de484f6f156b35dd4e97c7e2c7971b59fc31029865585ccb296
2022-11-02 10:24:45 -05:00
laanwj
4fde6a8f71 Merge bitcoin/bitcoin#25436: build: GCC-12 build improvements
880d4aaf81f3d5d7fbb915905c2e61b816a6a747 build: use BOOST_NO_CXX98_FUNCTION_BASE to suppress warnings (fanquake)
1bdbbbdc46c4e50bf07bc362e7e391ea1a53ea2f build: suppress array-bounds errors in libxkbcommon (fanquake)

Pull request description:

  2 changes to better support building with GCC 12, which out of the box, is currently broken if you want to build using depends.
  Prevent `-Warray-bounds` errors when building libxkbcommon. i.e:
  ```bash
  src/xkbcomp/ast-build.c:82:27: error: array subscript 'ExprDef[0]' is partly outside array bounds of 'unsigned char[32]' [-Werror=array-bounds]
     82 |     expr->expr.value_type = type;
        |     ~~~~~~~~~~~~~~~~~~~~~~^~~~~~
  src/xkbcomp/ast-build.c:75:21: note: object of size 32 allocated by 'malloc'
     75 |     ExprDef *expr = malloc(size);
        |                     ^~~~~~~~~~~~
  ```

  It might be the case that these would be fixed by updating the
  package, but that would also require installing new build tools (meson),
  as well as potentially more dependencies (wayland), and it'd need
  testing with Qt. For now, just turn the errors into wanrings.

  Define `BOOST_NO_CXX98_FUNCTION_BASE` to prevent GCC warning about the use of `std::unary_function`. i.e:
  ```bash
  /bitcoin/depends/aarch64-unknown-linux-gnu/include/boost/container_hash/hash.hpp:131:33:
  warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations]
    131 |         struct hash_base : std::unary_function<T, std::size_t> {};
        |                                 ^~~~~~~~~~~~~~
  In file included from /usr/include/c++/12/bits/unique_ptr.h:37,
                   from /usr/include/c++/12/memory:76,
                   from ./init.h:10,
                   from init.cpp:10:
  /usr/include/c++/12/bits/stl_function.h:117:12: note: declared here
    117 |     struct unary_function
  ```

  Boost `container_hash` (included via functional -> multi_index) uses
  [`std::unary_function`, which was deprecated in C++11](https://en.cppreference.com/w/cpp/utility/functional/unary_function), and "removed" in
  C++17. It's use causes warnings with newer compilers, i.e GCC 12.1.

  Use the MACRO outlined in https://github.com/boostorg/container_hash/issues/22, and added to Boost Config for GCC 12 in https://github.com/boostorg/config/pull/430, to prevent it's use.

  [BOOST_NO_CXX98_FUNCTION_BASE](https://www.boost.org/doc/libs/master/libs/config/doc/html/boost_config/boost_macro_reference.html):
  > The standard library no longer supports std::unary_function and std::binary_function.
  > They were deprecated in C++11 and is removed from C++14.

  Guix Build (x86_64):
  ```bash

  ```

  Guix Build (arm64):
  ```bash

  ```

ACKs for top commit:
  laanwj:
    Code review ACK 880d4aaf81f3d5d7fbb915905c2e61b816a6a747

Tree-SHA512: 10c4679c3eb788e9279acc4960731c55ae1568bd3df525d3c46f97d8b0319e7d8450b1638b6777d98111b5991dba5c787e95d80b1ac932e0b4779d4b8e74875e
2022-11-02 10:24:45 -05:00
fanquake
4e6b49d6f6
Merge bitcoin/bitcoin#24093: build: specify hosts for qrencode package
bf044ef9ecc93a69619cbaa9fa2b874d5fc06932 build: specify hosts for qrencode package (fanquake)

Pull request description:

  Similar to how we specify the OS's we build Qt for, specify which OS's
  we will build qrencode for (a qt dependency). This commit alone doesn't
  change anything, but when we start supporting other OS's, i.e #23948,
  where we wont support qt (or at least initially), it'll skip building
  the qrencode package, which would be unused.

  I'll rebase the other *BSD changes on top of this.

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

Tree-SHA512: 3f5f11f122704a664dd77d8da0b7e9b95d44b2f1514d0199deed9b8b8ad0d8883a1de1f444b796c5f4681f423a380c3905fce720d7d2b788130162c907c2ce3b
2022-06-27 11:37:04 -05:00
fanquake
12b6efe874
Merge bitcoin/bitcoin#23617: doc: Fix typos in packages.md
83c08ba0c97798e7da2d4e74722ece534d0f8620 doc: Fix typos in packages.md (Hennadii Stepanov)

Pull request description:

ACKs for top commit:
  theStack:
    ACK 83c08ba0c97798e7da2d4e74722ece534d0f8620
  Zero-1729:
    ACK 83c08ba0c97798e7da2d4e74722ece534d0f8620
  brunoerg:
    ACK 83c08ba0c97798e7da2d4e74722ece534d0f8620

Tree-SHA512: d6b192ecf10254943c6be0762a512258642862992d28834b0429d5b95601192da60058cf1d72fd1a4e5834b56e11776aa8b994b7947d3d29d6592617b9d875ef
2022-06-27 11:37:04 -05:00
fanquake
a1ecac0f61
Merge bitcoin/bitcoin#22783: build: Cleanup depends build system
539ca409c939a31bc51f41f14ebb8bf8f48e0073 build: Remove unneeded share/man directory from libXau package (Hennadii Stepanov)
6c25c83050a8401a76502a1f0ace0ca1428e2916 build: Remove unneeded share/man directory from freetype package (Hennadii Stepanov)
9067c6c451262222a11785ce9622dd6627644cf1 build: Remove empty var/cache/fontconfig directory from fontconfig (Hennadii Stepanov)
4a37c268dbeed3a361286dcd090aea779527d996 build: Remove unneeded share/doc directory from expat package (Hennadii Stepanov)
acb9400ab602065d0996f3901de418b710a18159 build: Drop non-existent share/pkgconfig directory (Hennadii Stepanov)

Pull request description:

  This PR:
  - removes non-existent `share/pkgconfig` path from `PKG_CONFIG_PATH`. This change, actually, make `PKG_CONFIG_PATH` unused in the depends build system
  - removes `doc`,  `man` and empty directories from the built packages

ACKs for top commit:
  fanquake:
    ACK 539ca409c939a31bc51f41f14ebb8bf8f48e0073

Tree-SHA512: 41ffd5cea962f7533cb5d66ff9e8fd71a3dd7a8d9568b1bb63fc68e7070d7e416f6db02a0f8ab4d94063ee7f6370f00d62a5791b44f0d21c10666af590268c36
2022-06-27 11:37:03 -05:00
PastaPastaPasta
951398e8b3
Merge pull request #4792 from vijaydasmp/bp2007
Merge #16949,#15084,#17138,#16689,#15098, #15932
2022-06-18 22:12:07 -07:00
fanquake
746ff12632
Merge #16949: build: only pass --disable-dependency-tracking to packages that understand it
1ba49bcdc216162f513e74e371ee9f26418a390e build: pass --enable-option-checking to applicable packages (fanquake)
bcff8e21b1bb360c3cf1e1d2e1a2a54ec7581720 build: only pass --disable-dependency-tracking to packages that understand it (fanquake)

Pull request description:

  By blanket passing `--disable-dependency-tracking` to all depends packages we end up with warnings (i.e in `bdb` or `freetype`) like:
  ```bash
  configure: WARNING: unrecognized options: --disable-dependency-tracking
  ```
  Instead, only pass it to packages that actually understand it. Related to https://github.com/bitcoin/bitcoin/issues/16354.

  More info on `--disable-dependency-tracking` available [here](https://www.gnu.org/software/automake/manual/html_node/Dependency-Tracking.html).

  This PR also adds `--enable-option-checking` as a configure option to all applicable packages.

ACKs for top commit:
  laanwj:
    ACK 1ba49bcdc216162f513e74e371ee9f26418a390e
  theuni:
    ACK 1ba49bcdc216162f513e74e371ee9f26418a390e

Tree-SHA512: 6d3143ad5f5d1abed5e0a0b2ffbb4323f21c7bf24b0b8df26fb1b3cd16cf5309bbb830aa5aaec99164d5bbe8e9c62b97aa3e97ee1ddc2c7612bf8ff88a63885e
2022-06-18 17:19:48 +05:30
Konstantin Akimov
6e5440d505 Removed some extra qt dependencies (seems missing in previous backports) 2022-06-17 04:06:49 +07:00
Wladimir J. van der Laan
a91a406890 Merge #17730: depends: remove Qt networking features
244501fc85a1319857efb227093c0e71c1d5a01e depends: disable unused qt networking features (fanquake)
29d56c62b7f206d42f0908819ff2e1926737f988 depends: -optimized-qmake is now -optimized-tools (fanquake)
ccdda96804088ec3ad01aec5ab0ff8e9b05b161b depends: skip building qt proxies (fanquake)

Pull request description:

  Somewhat of a followup to removing BIP70 support in #17165. This removes networking features from our Qt build. This also removes the need to link against the `CFNetwork` and `SystemConfiguration` libraries on macOS.

  ```diff
  src/qt/bitcoin-qt:
   /usr/lib/libSystem.B.dylib
   /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
   /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
   /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
   /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
   /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
   /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
  -/System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
   /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
   /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
   /usr/lib/libc++.1.dylib
  -/System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
   /System/Library/Frameworks/CoreText.framework/Versions/A/CoreText
   /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO
   /usr/lib/libobjc.A.dylib
  ```

  > Introduced the -optimized-tools option; supersedes -optimized-qmake.

  `optimized-qmake` became `optimized-tools` in Qt 5.6.0. While the former still works, we can use the newer flag.

  A diff of the removed symbols is available [here](https://gist.github.com/fanquake/9c8d5961c91f90a2966191367adfb391).

  We still need to actually build the network module, because we are using `QLocalServer` & `QLocalSocket` in the payment server.

ACKs for top commit:
  Sjors:
    Code review ACK 244501fc85a1319857efb227093c0e71c1d5a01e: just a rebase (_updated since I accidentally repeated the previous hash_)
  practicalswift:
    ACK 244501fc85a1319857efb227093c0e71c1d5a01e -- diff looks correct
  promag:
    Code review ACK 244501fc85a1319857efb227093c0e71c1d5a01e.

Tree-SHA512: 79734e3c96c40e7e484c86ac4cd4f738c05fcebe4771aeac443883f618a6c766e667909d5f8f14f9bd82f43206387c952458c5fa765cd0830f8beda6e6ac80ae
2022-06-17 04:06:49 +07:00
Wladimir J. van der Laan
b9893e5025 Merge #17698: depends: don't configure xcb_proto
e97f5c18238835bc3a3aee2e9e65b287f1c8b938 depends: don't configure xcb_proto (fanquake)

Pull request description:

  xcb_proto's configure doesn't understand `--disable-shared` or
  `--with-pic`. All the package does it put a stack of XML files into
  a directory to be used by libxcb.

  Probably enough to close #16354.

ACKs for top commit:
  dongcarl:
    ACK e97f5c18238835bc3a3aee2e9e65b287f1c8b938

Tree-SHA512: 1a49fd7c8269405bbf312be33c1aeaac5f25ef8666829b01dc3c58f3a2a9281c23c42614a7f1cfc3ee260be4ea3e71285869b1cb9c2035dceda336296d9d9dea
2022-06-08 12:33:00 +07:00
Wladimir J. van der Laan
6ae64262a8 Merge #17658: depends: add ability to skip building qrencode
c8becb82805ed1483e009eba682f19fe9e8b8c9c depends: add ability to skip building qrencode (fanquake)

Pull request description:

  Similar to other depends packages, add the ability to skip building `qrencode` by passing `NO_QR=1`. Same as #16089.

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

Tree-SHA512: 86c7a87a31b1b2e65be2b79f533ce49f8b0074cf31331411cb3d32bb542d0b99e69605482ad75e4d1be5f2c8c613f17ba9ff17195a6b48f45365f5eb35df8bf9
2022-05-30 19:09:39 +07:00
Konstantin Akimov
e4dbd22532
docs/build: Kubuntu 22.04 build fix (#4843)
* Fix build of qtbase in contrib for Gcc 11.x

It adds a patch with missing include <limits> in qtbase/src/tools/moc/generator.cpp

* Merge bitcoin/bitcoin#23716: test: replace hashlib.ripemd160 with an own implementation

5b559dc7ecf37ab1604b75ec8ffe8436377a5fb1 Swap out hashlib.ripemd160 for own implementation (Pieter Wuille)
ad3e9e1f214d739e098c6ebbd300da5df1026a44 Add pure Python RIPEMD-160 (Pieter Wuille)

Pull request description:

  Closes #23710.

ACKs for top commit:
  jamesob:
    ACK 5b559dc7ec, pending CI

Tree-SHA512: dcd4ea2027eac572f7ab0da434b081b9a5d6b78675e559258a446b4d254b29d93c4d2cc12da4a28303543d6d99f5f2246fde4052e84af81d18e04399b137b39e

* Updates doc for Unix build: added missing dependency bison

Co-authored-by: MarcoFalke <falke.marco@gmail.com>
2022-05-28 23:27:04 -05:00
PastaPastaPasta
bb4be52b48
Merge pull request #4679 from Munkybooty/backports-0.19-pr12
backport: 0.19 pr12
2022-05-18 10:07:50 -05:00
Wladimir J. van der Laan
8c889e7297 Partial Merge #15844: depends: Purge libtool archives
8541cbea2 depends: libX*: --disable-malloc0returnsnull in conf (Carl Dong)
0e752637a depends: libXext: Bump to 1.3.3 to fix _XEatDataWords (Carl Dong)
683b7d7a3 depends: Purge libtool archives (Carl Dong)
14209286d depends: Build secondary deps statically. (Carl Dong)

Pull request description:

  ```
  We use pkg-config where we can, which generally replaces libtool at a
  higher level and does not have the same downsides as libtool. These
  archives sit in our depends tree with no purpose and pollute the final
  bitcoin build with massive overlinking.
  ```

  See [here](https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Handling_Libtool_Archives) for an explanation of the various problems libtool archives can cause.

  Unrelated in every way except in spirit: `-D__LIBTOOL_IS_A_FOOL__`!!

  -----

  This PR is based on #16041, and therefore should be merged after #16041.

ACKs for commit 8541cb:

Tree-SHA512: 76030cf32361f0b1cfe14e3827a0cbec99994e7da00a56194ca40cf6cf7d87f78552f49d03d41ce9cf9b642992b90d993578ed1f0ad6bae15cd3f1c88dfaa4b0
2022-05-17 12:57:47 -04:00
Kittywhiskers Van Gogh
4ecc49fb73
trivial: bump immer to 9cb6a5a, fix irange to work on c++20 (#4827)
* depends: bump immer from 0.6.2 to 0.7.0 (9cb6a5a)

* util: ensure irange operator lhs and rhs are both const types
2022-05-09 09:49:33 -05:00
fanquake
27fead1012 Merge bitcoin/bitcoin#21593: build, qt, refactor: Get rid of some sed command instances
b95f7f8ac0dc102ece82bb2b97c8123e9da5b806 build, qt, refactor: Drop sed commands for win32-g++/qmake.conf (Hennadii Stepanov)

Pull request description:

  Such possibility is [available](https://codereview.qt-project.org/c/qt/qtbase/+/165348) since Qt 5.8.0.

ACKs for top commit:
  fanquake:
    ACK b95f7f8ac0dc102ece82bb2b97c8123e9da5b806

Tree-SHA512: e56a3d208a6bd5d42c722f8b344010fe7d1b6f7a28486613dfcb03f0403a47cee8476e2366eeaac401a19836cd09f782e8741a1e781ab4d78f72c500a30e4929
2022-04-28 10:59:05 -05:00
UdjinM6
4db1397927 fix glibc compatibility issues 2022-04-26 20:37:31 +05:30
UdjinM6
dfa16fc05d merge bitcoin#22054: Bump Qt version to 5.12.11 2022-04-26 20:37:20 +05:30
UdjinM6
e3dbd51296 merge bitcoin#21423: Cleanups and follow ups after bumping Qt to 5.12.10 2022-04-26 20:36:54 +05:30
Kittywhiskers Van Gogh
59b9725d23 merge bitcoin#20641: Use Qt top-level build facilities 2022-04-26 20:36:54 +05:30
Kittywhiskers Van Gogh
627a2d66ff merge bitcoin#21497: Do not opt-in unused CoreWLAN stuff in depends for macOS 2022-04-26 20:36:54 +05:30
Kittywhiskers Van Gogh
1658dc4d67 merge bitcoin#20520: Do not force Precompiled Headers (PCH) for building Qt on Linux 2022-04-26 20:36:54 +05:30
Kittywhiskers Van Gogh
65f779489d partial bitcoin#21694: Use XLIFF file to provide more context to Transifex translators
Excludes 35d52397e72f3ab96a7797148666b501d50b445d
2022-04-26 20:36:54 +05:30