Commit Graph

565 Commits

Author SHA1 Message Date
fanquake
65471008e0
depends: libnatpmp 07004b97cf691774efebe70404cf22201e4d330d
This pulls in two changes I've upstreamed:
Support for pkg-config: https://github.com/miniupnp/libnatpmp/pull/19
Suppressing a deprecation warning: https://github.com/miniupnp/libnatpmp/pull/28

Somewhat related to #22644.
2022-08-24 16:03:21 +01:00
fanquake
cc8dff5f8f
depends: Boost 1.80.0
https://www.boost.org/users/history/version_1_80_0.html
2022-08-19 10:47:30 +01:00
Hennadii Stepanov
59f2cc23e0
build, qt: Use mkspecs/bitcoin-linux-g++ for all Linux hosts 2022-08-13 14:08:42 +01:00
Hennadii Stepanov
a2e733b946
doc: Remove no longer needed comments
Co-authored-by: fanquake <fanquake@gmail.com>
2022-08-13 14:08:04 +01:00
fanquake
08bd338277
build: optimise arm64 darwin qt build using -O1
Building at higher optimisation levels causes reproducibility issues
when building on different architectures.
2022-08-12 16:38:29 +01:00
fanquake
08085c764d
Merge bitcoin/bitcoin#25633: depends: don't restrict --enable-lto to non-guix cctools
7f73f422a4 depends: don't restrict --enable-lto to non-guix cctools (fanquake)
9b60690b94 cctools: fixup building with LTO (fanquake)

Pull request description:

  This wasn't actually disabling LTO support anyways, because it's enabled
  by default.

  Guix Build (x86_64):
  ```bash
  af6e0b5fd494f714a84716161352aee415700c1f50f1f08665a474dc2ed56bad  guix-build-7f73f422a49f/output/aarch64-linux-gnu/SHA256SUMS.part
  1ecdbf2b579204cf2086001df3887da2ba50cd3f7b8f735113cce8f1b634fdb2  guix-build-7f73f422a49f/output/aarch64-linux-gnu/bitcoin-7f73f422a49f-aarch64-linux-gnu-debug.tar.gz
  878ea08855dc559e62fd1932f8a54d53fc63e0ce7d587345c7326892622feee9  guix-build-7f73f422a49f/output/aarch64-linux-gnu/bitcoin-7f73f422a49f-aarch64-linux-gnu.tar.gz
  4d1d35bd329935bc74b82a78a7fb8dd39c3268d4bbb33ecd877079e49de97a88  guix-build-7f73f422a49f/output/arm-linux-gnueabihf/SHA256SUMS.part
  c0c5418dc270d716b354d2190fddde3d25794758dee45c9068e9f5aac20e5617  guix-build-7f73f422a49f/output/arm-linux-gnueabihf/bitcoin-7f73f422a49f-arm-linux-gnueabihf-debug.tar.gz
  5e13ac8cacf1042746eef7e85695469c50d6afc06dfdb5da53039175e5185b52  guix-build-7f73f422a49f/output/arm-linux-gnueabihf/bitcoin-7f73f422a49f-arm-linux-gnueabihf.tar.gz
  218b2463a07503e77711fcf0245bc642eb9ed76e4a3e8b61d66a5c76bdc25c62  guix-build-7f73f422a49f/output/arm64-apple-darwin/SHA256SUMS.part
  dd15af2b7a333f3c4b3f75abd307e1789a1629728a0ae33d8a509478ace91134  guix-build-7f73f422a49f/output/arm64-apple-darwin/bitcoin-7f73f422a49f-arm64-apple-darwin-unsigned.dmg
  5cdfd9fc347007890991c68746b1bb36e0cced57fee685337b3d079d498f687d  guix-build-7f73f422a49f/output/arm64-apple-darwin/bitcoin-7f73f422a49f-arm64-apple-darwin-unsigned.tar.gz
  80f957e78177927ace323ea90d4bad2e8d2b846b199a0dcb085c3ceae8516631  guix-build-7f73f422a49f/output/arm64-apple-darwin/bitcoin-7f73f422a49f-arm64-apple-darwin.tar.gz
  3cb9cb04db3ebf328bfabfda874fce09764f3840c98bd850d85f71892617fb99  guix-build-7f73f422a49f/output/dist-archive/bitcoin-7f73f422a49f.tar.gz
  e4e7c9d5366b658fc420c1fd3cf12bfb9863b8061c83b06fe2492e934bb75ae9  guix-build-7f73f422a49f/output/powerpc64-linux-gnu/SHA256SUMS.part
  da4ea7dd9a131901ff2f7fcd6eba573fe946ea671ae6ada418a4ceebcc4bd3b6  guix-build-7f73f422a49f/output/powerpc64-linux-gnu/bitcoin-7f73f422a49f-powerpc64-linux-gnu-debug.tar.gz
  221f6e1d5193207eed400c186c8f83747fbf90c3244cd044b36acadbed0c83a6  guix-build-7f73f422a49f/output/powerpc64-linux-gnu/bitcoin-7f73f422a49f-powerpc64-linux-gnu.tar.gz
  12d36079b330ec75209219ce58ca580ca5a5eeac64fb7ae424c64e7f3d466ee5  guix-build-7f73f422a49f/output/powerpc64le-linux-gnu/SHA256SUMS.part
  3cef0194569d6fa968e92be1d2189be4f1337272dc213c25b8d4afe6b174310c  guix-build-7f73f422a49f/output/powerpc64le-linux-gnu/bitcoin-7f73f422a49f-powerpc64le-linux-gnu-debug.tar.gz
  a8ff109153926b3240f830c3501977046b6c470b67380a01c55aea2401a1a833  guix-build-7f73f422a49f/output/powerpc64le-linux-gnu/bitcoin-7f73f422a49f-powerpc64le-linux-gnu.tar.gz
  70b3a841bb232fefe27f857ee826ea6a84f59bc781acda608bd6d9385a1ef149  guix-build-7f73f422a49f/output/riscv64-linux-gnu/SHA256SUMS.part
  841a276263877027f256c3b7ad1c5bc3ae3ad4d6a7157690daa947f6809776e2  guix-build-7f73f422a49f/output/riscv64-linux-gnu/bitcoin-7f73f422a49f-riscv64-linux-gnu-debug.tar.gz
  6cce2c36c2a53035d7ee5d285c8b4b99256772c7a9dca1739f0639ecc0bed71d  guix-build-7f73f422a49f/output/riscv64-linux-gnu/bitcoin-7f73f422a49f-riscv64-linux-gnu.tar.gz
  e910b32efebca682cf8bc3994d2c7513b16cdeb6f94cef906efb6629ec53268d  guix-build-7f73f422a49f/output/x86_64-apple-darwin/SHA256SUMS.part
  3a4bc1573d9c576184d69b953ea6a85650d4e15b71503b909ccd4fb8a69ca383  guix-build-7f73f422a49f/output/x86_64-apple-darwin/bitcoin-7f73f422a49f-x86_64-apple-darwin-unsigned.dmg
  60a114ece1d9a274d9f3d80a9633eb22d589213ba53a956f3b1138d7c8f55560  guix-build-7f73f422a49f/output/x86_64-apple-darwin/bitcoin-7f73f422a49f-x86_64-apple-darwin-unsigned.tar.gz
  b6c6eca3e81bfadfed3ddcb7830857c954c8a7b0ff458f14050f4952240ebf27  guix-build-7f73f422a49f/output/x86_64-apple-darwin/bitcoin-7f73f422a49f-x86_64-apple-darwin.tar.gz
  aab972c6f051c379a20eb694128a4df4e3737758fbca3902d28d72cd93e6d33a  guix-build-7f73f422a49f/output/x86_64-linux-gnu/SHA256SUMS.part
  b8e643eeb72cf04664462f815497cbef1443f2e113de14bc93b058d83836c7df  guix-build-7f73f422a49f/output/x86_64-linux-gnu/bitcoin-7f73f422a49f-x86_64-linux-gnu-debug.tar.gz
  3b40fb5f1341cc3b49c9eccc68fc75e1cc7e7d2c6a5664fa2f8f095290e3733a  guix-build-7f73f422a49f/output/x86_64-linux-gnu/bitcoin-7f73f422a49f-x86_64-linux-gnu.tar.gz
  96138d5f591a8ba8589eb81d2c79ee269556996ae93c6a3fc77746e101b60cab  guix-build-7f73f422a49f/output/x86_64-w64-mingw32/SHA256SUMS.part
  6ef2d9436caa550bec7defda1d769bffc2e0fe8f7acf99e2fbcefd2e9b920a64  guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64-debug.zip
  91c8c3f0aec623f4183c4ebc141816dddb4482509e99812d32298f3e83da920f  guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64-setup-unsigned.exe
  1de7cd32d74990cfcd4e00428c53a35742b7a480f18ae1bd60dbf91b60400947  guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64-unsigned.tar.gz
  e4d4ba33bbdd8d9181c8422af31ad6127f3627c327a93cbe8245d7154b5a936c  guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64.zip
  ```

  Guix Build (arm64):
  ```bash
  4d1d35bd329935bc74b82a78a7fb8dd39c3268d4bbb33ecd877079e49de97a88  guix-build-7f73f422a49f/output/arm-linux-gnueabihf/SHA256SUMS.part
  c0c5418dc270d716b354d2190fddde3d25794758dee45c9068e9f5aac20e5617  guix-build-7f73f422a49f/output/arm-linux-gnueabihf/bitcoin-7f73f422a49f-arm-linux-gnueabihf-debug.tar.gz
  5e13ac8cacf1042746eef7e85695469c50d6afc06dfdb5da53039175e5185b52  guix-build-7f73f422a49f/output/arm-linux-gnueabihf/bitcoin-7f73f422a49f-arm-linux-gnueabihf.tar.gz
  5768bc05947954f8d0caa1869edbba7a9102339d43c47a43cbc5eabdabebfd16  guix-build-7f73f422a49f/output/arm64-apple-darwin/SHA256SUMS.part
  e506d3a635364751eaeccf553bd8c8847e5a2ab4a28bb03108052ae697b49e7e  guix-build-7f73f422a49f/output/arm64-apple-darwin/bitcoin-7f73f422a49f-arm64-apple-darwin-unsigned.dmg
  76fd8b6954ead8bbbba56fbf747459019dcd2def22ab6615ce817f2fff7adcb8  guix-build-7f73f422a49f/output/arm64-apple-darwin/bitcoin-7f73f422a49f-arm64-apple-darwin-unsigned.tar.gz
  f369a59d44cd31a505faf1eefd84b9ecde91f4cb036e79d38188c9ed0f9c094c  guix-build-7f73f422a49f/output/arm64-apple-darwin/bitcoin-7f73f422a49f-arm64-apple-darwin.tar.gz
  3cb9cb04db3ebf328bfabfda874fce09764f3840c98bd850d85f71892617fb99  guix-build-7f73f422a49f/output/dist-archive/bitcoin-7f73f422a49f.tar.gz
  e4e7c9d5366b658fc420c1fd3cf12bfb9863b8061c83b06fe2492e934bb75ae9  guix-build-7f73f422a49f/output/powerpc64-linux-gnu/SHA256SUMS.part
  da4ea7dd9a131901ff2f7fcd6eba573fe946ea671ae6ada418a4ceebcc4bd3b6  guix-build-7f73f422a49f/output/powerpc64-linux-gnu/bitcoin-7f73f422a49f-powerpc64-linux-gnu-debug.tar.gz
  221f6e1d5193207eed400c186c8f83747fbf90c3244cd044b36acadbed0c83a6  guix-build-7f73f422a49f/output/powerpc64-linux-gnu/bitcoin-7f73f422a49f-powerpc64-linux-gnu.tar.gz
  12d36079b330ec75209219ce58ca580ca5a5eeac64fb7ae424c64e7f3d466ee5  guix-build-7f73f422a49f/output/powerpc64le-linux-gnu/SHA256SUMS.part
  3cef0194569d6fa968e92be1d2189be4f1337272dc213c25b8d4afe6b174310c  guix-build-7f73f422a49f/output/powerpc64le-linux-gnu/bitcoin-7f73f422a49f-powerpc64le-linux-gnu-debug.tar.gz
  a8ff109153926b3240f830c3501977046b6c470b67380a01c55aea2401a1a833  guix-build-7f73f422a49f/output/powerpc64le-linux-gnu/bitcoin-7f73f422a49f-powerpc64le-linux-gnu.tar.gz
  70b3a841bb232fefe27f857ee826ea6a84f59bc781acda608bd6d9385a1ef149  guix-build-7f73f422a49f/output/riscv64-linux-gnu/SHA256SUMS.part
  841a276263877027f256c3b7ad1c5bc3ae3ad4d6a7157690daa947f6809776e2  guix-build-7f73f422a49f/output/riscv64-linux-gnu/bitcoin-7f73f422a49f-riscv64-linux-gnu-debug.tar.gz
  6cce2c36c2a53035d7ee5d285c8b4b99256772c7a9dca1739f0639ecc0bed71d  guix-build-7f73f422a49f/output/riscv64-linux-gnu/bitcoin-7f73f422a49f-riscv64-linux-gnu.tar.gz
  e910b32efebca682cf8bc3994d2c7513b16cdeb6f94cef906efb6629ec53268d  guix-build-7f73f422a49f/output/x86_64-apple-darwin/SHA256SUMS.part
  3a4bc1573d9c576184d69b953ea6a85650d4e15b71503b909ccd4fb8a69ca383  guix-build-7f73f422a49f/output/x86_64-apple-darwin/bitcoin-7f73f422a49f-x86_64-apple-darwin-unsigned.dmg
  60a114ece1d9a274d9f3d80a9633eb22d589213ba53a956f3b1138d7c8f55560  guix-build-7f73f422a49f/output/x86_64-apple-darwin/bitcoin-7f73f422a49f-x86_64-apple-darwin-unsigned.tar.gz
  b6c6eca3e81bfadfed3ddcb7830857c954c8a7b0ff458f14050f4952240ebf27  guix-build-7f73f422a49f/output/x86_64-apple-darwin/bitcoin-7f73f422a49f-x86_64-apple-darwin.tar.gz
  aab972c6f051c379a20eb694128a4df4e3737758fbca3902d28d72cd93e6d33a  guix-build-7f73f422a49f/output/x86_64-linux-gnu/SHA256SUMS.part
  b8e643eeb72cf04664462f815497cbef1443f2e113de14bc93b058d83836c7df  guix-build-7f73f422a49f/output/x86_64-linux-gnu/bitcoin-7f73f422a49f-x86_64-linux-gnu-debug.tar.gz
  3b40fb5f1341cc3b49c9eccc68fc75e1cc7e7d2c6a5664fa2f8f095290e3733a  guix-build-7f73f422a49f/output/x86_64-linux-gnu/bitcoin-7f73f422a49f-x86_64-linux-gnu.tar.gz
  96138d5f591a8ba8589eb81d2c79ee269556996ae93c6a3fc77746e101b60cab  guix-build-7f73f422a49f/output/x86_64-w64-mingw32/SHA256SUMS.part
  6ef2d9436caa550bec7defda1d769bffc2e0fe8f7acf99e2fbcefd2e9b920a64  guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64-debug.zip
  91c8c3f0aec623f4183c4ebc141816dddb4482509e99812d32298f3e83da920f  guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64-setup-unsigned.exe
  1de7cd32d74990cfcd4e00428c53a35742b7a480f18ae1bd60dbf91b60400947  guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64-unsigned.tar.gz
  e4d4ba33bbdd8d9181c8422af31ad6127f3627c327a93cbe8245d7154b5a936c  guix-build-7f73f422a49f/output/x86_64-w64-mingw32/bitcoin-7f73f422a49f-win64.zip
  ```

ACKs for top commit:
  hebasto:
    ACK 7f73f422a4

Tree-SHA512: 8e49bed15b9f92e9905a004c01134ebcef9d7e006c96a8bab1606b1af8a20d495e3aa9846344bac5169fee86fa611dc660cf0bd04dd07f393e5e3f1b12ad4a01
2022-08-04 08:28:13 +01:00
fanquake
b46c6ec52e
bdb: disable Werror for format-security
This is causing build failures in some build environments, like NixOS.
I don't think we are going to patch bdb at this point, and this warning
has existed for as long as we've used bdb.

Fixes #25211.

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

Co-authored-by: Ryan Ofsky <ryan@ofsky.org>
2022-08-01 12:10:00 +01:00
fanquake
fd0e8df67c
qt: use patch over sed for guix CROSS_LIBRARY_PATH change 2022-07-30 16:03:46 +01:00
Hennadii Stepanov
ecb617fefe
build: Bump Qt to 5.15.5 in depends 2022-07-30 15:44:20 +01:00
fanquake
8f1ff487b3
libxcb: use a patch instead of sed
To remove the unneeded pthread-stubs requirements.
2022-07-29 14:02:23 +01:00
fanquake
7f73f422a4
depends: don't restrict --enable-lto to non-guix cctools
This wasn't actually disabling LTO support anyways, because it's enabled
by default.
2022-07-29 12:48:19 +01:00
fanquake
9b60690b94
cctools: fixup building with LTO
Use lto.h from clang+llvm not libtapi. The later is older,
and comes bundled with the libtapi repo.

Copy libLTO.so when building with FORCE_USE_SYSTEM_CLANG.
2022-07-29 12:48:19 +01:00
fanquake
207a228773
Merge bitcoin/bitcoin#25697: depends: expat 2.4.8 & fix building with -flto
e838a98475 depends: re-enable using -flto when building expat (fanquake)
304452558c 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 e838a98475, 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 e838a98475

Tree-SHA512: 9dbf64c9bd1fd995a4d1addc011ffeff83d50df736030012346c97605e63aed4b5bac390a81abe646c1be28ad6fd600f64560dcb26bbc2edf5d513ca3b180bfa
2022-07-27 12:56:17 +01:00
fanquake
e838a98475
depends: re-enable using -flto when building expat 2022-07-26 11:37:55 +01:00
fanquake
304452558c
depends: expat 2.4.8 2022-07-26 11:37:35 +01:00
fanquake
3009180751
depends: always use correct ar for win qt
If we don't set this explicitly, then qt will still use it's default
windows ar, when building with LTO (when we want it to use gcc-ar).

So set `QMAKE_LIB` which is used for win32, and defaults to `ar -rc`.
This way we always get the correct ar.

Issue can be seen building in Guix with LTO. i.e:
```bash
x86_64-w64-mingw32-ar: .obj/release/hb-blob.o: plugin needed to handle lto object
```
2022-07-26 09:38:42 +01:00
fanquake
c32fa85909
depends: modify FastFixedDtoa optimisation flags
This fixes a non-determinism issue in the asm produced for
this function when cross-compiling on x86_64 and aarch64 for
the arm-linux-gnueabihf HOST.

Related to #21194.
2022-07-19 12:12:26 +01:00
fanquake
d806407173
Merge bitcoin/bitcoin#25542: build: Use Link Time Optimization for Qt code on Linux
3442865360 build: Use Link Time Optimization for Qt code on Linux (Hennadii Stepanov)
ebce66e532 build: pass -fno-lto when building expat (fanquake)

Pull request description:

  See: https://www.qt.io/blog/2019/01/02/qt-applications-lto

  `bitcon-qt` unstripped size:
  | host | master (31c6309cc6) | this PR, depends built with `LTO=1` |
  |---|:-:|:-:|
  | x86_64-pc-linux-gnu | 42 MB | 35 MB |
  | arm-linux-gnueabihf | 31 MB | 26 MB |
  | aarch64-linux-gnu | 41 MB | 32 MB |
  | powerpc64-linux-gnu | 51 MB | 41 MB |
  | powerpc64le-linux-gnu | 48 MB | 39 MB |
  | riscv64-linux-gnu | 35 MB | 29 MB |

  Based on the first commit from bitcoin/bitcoin#25391.

  Using LTO for macOS and Windows hosts has some issues which could be addressed in follow ups.

  x86_64 build:
  ![image](https://user-images.githubusercontent.com/32963518/179326902-f91853ca-23c1-4c04-9a6d-161b695f27b5.png)

ACKs for top commit:
  fanquake:
    ACK 3442865360

Tree-SHA512: 03eef2568358df9336e24d6c4e12f28b89d649076fb74e7e5303d61e52865c2360c5345a4fb2b1e4bdfdae194f273fc27a5f67e6cf797ed01a154f3da9117247
2022-07-18 10:39:24 +01:00
Hennadii Stepanov
3442865360
build: Use Link Time Optimization for Qt code on Linux
See: https://www.qt.io/blog/2019/01/02/qt-applications-lto
2022-07-15 23:58:45 +01:00
fanquake
ebce66e532
build: pass -fno-lto when building expat
Otherwise it's autoconf endianess check will fail to determine what the
endianess is..
2022-07-15 23:57:49 +01:00
fanquake
718d29af23
depends: update urls for dmg tools
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.
2022-07-13 12:47:20 +01:00
fanquake
1bdbbbdc46
build: suppress array-bounds errors in libxkbcommon
These occur when building with GCC 12.1.

It might be the case that these would be suppressed by updating the
package, but that would also require installing new build tools (meson),
as well as potentially more dependencies (wayland).

```bash
In function 'ExprCreateBoolean',
    inlined from 'BoolVarCreate' at src/xkbcomp/ast-build.c:316:19:
src/xkbcomp/ast-build.c:119:23: error: array subscript 'ExprDef[0]' is partly outside array bounds of 'unsigned char[32]' [-Werror=array-bounds]
  119 |     expr->boolean.set = set;
      |     ~~~~~~~~~~~~~~~~~~^~~~~
In function 'ExprCreate',
    inlined from 'ExprCreateBoolean' at src/xkbcomp/ast-build.c:118:5,
    inlined from 'BoolVarCreate' at src/xkbcomp/ast-build.c:316:19:
src/xkbcomp/ast-build.c:75:21: note: object of size 32 allocated by 'malloc'
   75 |     ExprDef *expr = malloc(size);
      |                     ^~~~~~~~~~~~
```
2022-06-23 17:29:31 +01:00
laanwj
e16f644104
Merge bitcoin/bitcoin#25378: build: use sqlite 3380500 in depends
9d6a7b2fb1 build: sqlite 3380500 in depends (fanquake)

Pull request description:

  Move to using [sqlite 3380500](https://www.sqlite.org/releaselog/3_38_5.html) in depends.

  Other than bug fixes and improvements compared to our current version (3320100), the newer version contains changes that deal with warnings produced with newer versions of GCC (11.2.0), which are also more likely to appear when building with LTO:
  ```bash
  ../depends/work/build/x86_64-pc-linux-gnu/sqlite/3320100-973d921a018/sqlite3.c: In function 'sqlite3SelectNew':
  ../depends/work/build/x86_64-pc-linux-gnu/sqlite/3320100-973d921a018/sqlite3.c:129016: warning: function may return address of local variable [-Wreturn-local-addr]
  ../depends/work/build/x86_64-pc-linux-gnu/sqlite/3320100-973d921a018/sqlite3.c:128976: note: declared here
  In function 'memcpy',
      inlined from 'sqlite3Fts5IndexQuery' at ../depends/work/build/x86_64-pc-linux-gnu/sqlite/3320100-973d921a018/sqlite3.c:220862:18:
  /usr/include/x86_64-linux-gnu/bits/string_fortified.h:29:10: warning: '__builtin_memcpy' specified bound 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
     29 |   return __builtin___memcpy_chk (__dest, __src, __len,
        |          ^
  ```

  Relevant upstream discussions:
  https://sqlite.org/forum/forumpost/845dd0be91a54ec8
  https://sqlite.org/forum/forumpost/f5eed70bd46ede56

  Guix Build (x86_64):
  ```bash
  5a2bb2a0c09ade10bc78af0eae910e842402598c28cd82dfe67fa7f0bdc7c7d0  guix-build-9d6a7b2fb1e0/output/aarch64-linux-gnu/SHA256SUMS.part
  e7e82c3ab4654c33389ffda83647723179f548b6d0372204914a94df1479f29c  guix-build-9d6a7b2fb1e0/output/aarch64-linux-gnu/bitcoin-9d6a7b2fb1e0-aarch64-linux-gnu-debug.tar.gz
  3574852251d08749193a05161a048ae7933aee8910da230a3c32fa874d4df027  guix-build-9d6a7b2fb1e0/output/aarch64-linux-gnu/bitcoin-9d6a7b2fb1e0-aarch64-linux-gnu.tar.gz
  a9d87e7197998051ff4d76253c5c8d86e859c3907d1f29023a62d40b5ca8f82f  guix-build-9d6a7b2fb1e0/output/arm-linux-gnueabihf/SHA256SUMS.part
  a0813408afb86f505f1ffd6f9361881c08b35b1a7cd869da7e1dad9f042a63ae  guix-build-9d6a7b2fb1e0/output/arm-linux-gnueabihf/bitcoin-9d6a7b2fb1e0-arm-linux-gnueabihf-debug.tar.gz
  e3d13d137c3bde9a25bf585ecdfe9001bc10b8c82b206d8fbf4977f3ab5da374  guix-build-9d6a7b2fb1e0/output/arm-linux-gnueabihf/bitcoin-9d6a7b2fb1e0-arm-linux-gnueabihf.tar.gz
  a84a8f5c152048e1a3287afe42f4909d2ea9a271b2474d7406a83482fb1de3c7  guix-build-9d6a7b2fb1e0/output/arm64-apple-darwin/SHA256SUMS.part
  4241ed6de223e899995d4df3ba8566e472e08a125cd1ecd5e1fdab5bc88bb6fd  guix-build-9d6a7b2fb1e0/output/arm64-apple-darwin/bitcoin-9d6a7b2fb1e0-arm64-apple-darwin-unsigned.dmg
  75e5096ccab23b546393a368d9beb9b2b0867bb0d0c84604ff2a131f4afb24fa  guix-build-9d6a7b2fb1e0/output/arm64-apple-darwin/bitcoin-9d6a7b2fb1e0-arm64-apple-darwin-unsigned.tar.gz
  ec453221fbd951b0fddfad283a310a550aa15b55aefe6ba6a0f290cfff1d2cb2  guix-build-9d6a7b2fb1e0/output/arm64-apple-darwin/bitcoin-9d6a7b2fb1e0-arm64-apple-darwin.tar.gz
  e01c2894eec3827c98241f5cf9c779b07cb4dee8e9e043a6840c8fcf6a91a23c  guix-build-9d6a7b2fb1e0/output/dist-archive/bitcoin-9d6a7b2fb1e0.tar.gz
  c926dcf8c351548c845e4c6c047a851cb99a72b028005c6c6b0e3e4f1d7384f7  guix-build-9d6a7b2fb1e0/output/powerpc64-linux-gnu/SHA256SUMS.part
  a6dea61ce6397ba4d5b3c35fae2c7b729cee23e07b71b5de6737663dd144d234  guix-build-9d6a7b2fb1e0/output/powerpc64-linux-gnu/bitcoin-9d6a7b2fb1e0-powerpc64-linux-gnu-debug.tar.gz
  77d6271322db5bb5ea25f20c5df5fc5a0150cfd1570a8e1a5d0c111702eca77c  guix-build-9d6a7b2fb1e0/output/powerpc64-linux-gnu/bitcoin-9d6a7b2fb1e0-powerpc64-linux-gnu.tar.gz
  57793bf2ea341012806d6dafb49659b40496eaeee3fe1da580e7c7aed07572ba  guix-build-9d6a7b2fb1e0/output/powerpc64le-linux-gnu/SHA256SUMS.part
  6a37d39313150ad90101b1e29ac7a7a32f3001cb9395326484b117c5538b27a3  guix-build-9d6a7b2fb1e0/output/powerpc64le-linux-gnu/bitcoin-9d6a7b2fb1e0-powerpc64le-linux-gnu-debug.tar.gz
  985ceb6eeba7590bef83755b73f1efdef922d50c5ebee7e0c521b27388874482  guix-build-9d6a7b2fb1e0/output/powerpc64le-linux-gnu/bitcoin-9d6a7b2fb1e0-powerpc64le-linux-gnu.tar.gz
  21a30c6f53d4544376ebc5f9fa3326edb305bf1dd55079512b7eaf16c408fcfc  guix-build-9d6a7b2fb1e0/output/riscv64-linux-gnu/SHA256SUMS.part
  c80d159154a4785dcaf42f77175aad38dd9498e8e0128f2c6277b4a2668f8aae  guix-build-9d6a7b2fb1e0/output/riscv64-linux-gnu/bitcoin-9d6a7b2fb1e0-riscv64-linux-gnu-debug.tar.gz
  d2ed0cde0f6e0245662e8f335091dbe0ed57dcb661ff1d5eac94f5af7cde4daf  guix-build-9d6a7b2fb1e0/output/riscv64-linux-gnu/bitcoin-9d6a7b2fb1e0-riscv64-linux-gnu.tar.gz
  d054f0bf16e69ad7b557faed4b5c349bdfba3ff554a2d3636ad913ac307dc2e9  guix-build-9d6a7b2fb1e0/output/x86_64-apple-darwin/SHA256SUMS.part
  a7279c357838b0aa1d3548b45be8568d759b141828e3b7d2ab2d2de9a95b7a8c  guix-build-9d6a7b2fb1e0/output/x86_64-apple-darwin/bitcoin-9d6a7b2fb1e0-x86_64-apple-darwin-unsigned.dmg
  efe4d4d9e4d7e966e19dcc819456169d02891087fa7e767c305afd297e981af2  guix-build-9d6a7b2fb1e0/output/x86_64-apple-darwin/bitcoin-9d6a7b2fb1e0-x86_64-apple-darwin-unsigned.tar.gz
  e1b72c3904a6cb3ba0c9eb156288ab216a94be5da2b10288d414d224ffa525b1  guix-build-9d6a7b2fb1e0/output/x86_64-apple-darwin/bitcoin-9d6a7b2fb1e0-x86_64-apple-darwin.tar.gz
  80e5b6ffce2bf33bc024ee1decd0d024fe2f23211dbe73cf1ade89abcf5910d9  guix-build-9d6a7b2fb1e0/output/x86_64-linux-gnu/SHA256SUMS.part
  9903f76bfce98415c6d6d1cc2057683b4fad9d02f4da0c2afe37b108a4d8d496  guix-build-9d6a7b2fb1e0/output/x86_64-linux-gnu/bitcoin-9d6a7b2fb1e0-x86_64-linux-gnu-debug.tar.gz
  9a05903423afef05222e13646c3b249c747b8cb9d487eceb1a120ca018b02dea  guix-build-9d6a7b2fb1e0/output/x86_64-linux-gnu/bitcoin-9d6a7b2fb1e0-x86_64-linux-gnu.tar.gz
  bbb8e284b9dced4db64c6fbb7ac53ddcc622b9c367300b280beaae2e288140b9  guix-build-9d6a7b2fb1e0/output/x86_64-w64-mingw32/SHA256SUMS.part
  b7064f1abbf8653e5c045c84244db112cef48043610a30fc878ba644e01b41ae  guix-build-9d6a7b2fb1e0/output/x86_64-w64-mingw32/bitcoin-9d6a7b2fb1e0-win64-debug.zip
  be1a9b270d834d59a731adebed1d4f2424fb6a1bb082808fadb5cf3b930a31a1  guix-build-9d6a7b2fb1e0/output/x86_64-w64-mingw32/bitcoin-9d6a7b2fb1e0-win64-setup-unsigned.exe
  b893e54fb43b5c256d46e4a58d65a8d3fc111eb65417cb56810f793b1813ca86  guix-build-9d6a7b2fb1e0/output/x86_64-w64-mingw32/bitcoin-9d6a7b2fb1e0-win64-unsigned.tar.gz
  603eb61bcf37ad0939cc588c79c544be545d443043bc194094d203eaab7981d2  guix-build-9d6a7b2fb1e0/output/x86_64-w64-mingw32/bitcoin-9d6a7b2fb1e0-win64.zip
  ```

  Guix Build (arm64):
  ```bash
  e4bd8215fb9ff88c58b7d1b2d13f90110585e3a7de7be20a962b4b00b5817012  guix-build-9d6a7b2fb1e0/output/arm-linux-gnueabihf/SHA256SUMS.part
  e03b9d5201b68087c267875a570e675a838753cc4062105bc3820b594dfbddc1  guix-build-9d6a7b2fb1e0/output/arm-linux-gnueabihf/bitcoin-9d6a7b2fb1e0-arm-linux-gnueabihf-debug.tar.gz
  7bb1d6c34910fcd8036adcf1c92ddff330242ad92ecd489864b7a44386e6afec  guix-build-9d6a7b2fb1e0/output/arm-linux-gnueabihf/bitcoin-9d6a7b2fb1e0-arm-linux-gnueabihf.tar.gz
  2e8dd34a1ff1ee041a7c2eb423ee84bdf00be28d71b2ffeb20752f10d10b856b  guix-build-9d6a7b2fb1e0/output/arm64-apple-darwin/SHA256SUMS.part
  b448114fdb7be57070d7bc563cfc8a3ef7b6658689598e8c1091c359f62a2445  guix-build-9d6a7b2fb1e0/output/arm64-apple-darwin/bitcoin-9d6a7b2fb1e0-arm64-apple-darwin-unsigned.dmg
  ea9d06d6208d3279c11eb2845fc6c1cbee4293ca0169e1ac3a6cec737f022230  guix-build-9d6a7b2fb1e0/output/arm64-apple-darwin/bitcoin-9d6a7b2fb1e0-arm64-apple-darwin-unsigned.tar.gz
  0a267860eb0414ac2a213b9c6accd24cc73da3474d535c85ec7d542aa08fda30  guix-build-9d6a7b2fb1e0/output/arm64-apple-darwin/bitcoin-9d6a7b2fb1e0-arm64-apple-darwin.tar.gz
  e01c2894eec3827c98241f5cf9c779b07cb4dee8e9e043a6840c8fcf6a91a23c  guix-build-9d6a7b2fb1e0/output/dist-archive/bitcoin-9d6a7b2fb1e0.tar.gz
  8b3a0634a29579352a50b596ff79b58442d53951e6fe7ca291362d697d8bff26  guix-build-9d6a7b2fb1e0/output/powerpc64-linux-gnu/SHA256SUMS.part
  2acc3541cf7d09eb0302605b8131aae4561918969bee2a397ef550412afecd86  guix-build-9d6a7b2fb1e0/output/powerpc64-linux-gnu/bitcoin-9d6a7b2fb1e0-powerpc64-linux-gnu-debug.tar.gz
  eec1781a5daf7e98213299c6aac37d111528f03bd5fa595371e4984491137e0b  guix-build-9d6a7b2fb1e0/output/powerpc64-linux-gnu/bitcoin-9d6a7b2fb1e0-powerpc64-linux-gnu.tar.gz
  b8d4b83f8194d77bbc09e1cbda9406365655865959bcb200eca76d5db630a0e3  guix-build-9d6a7b2fb1e0/output/powerpc64le-linux-gnu/SHA256SUMS.part
  05502d75b749465cc2deedcafdb34a910a14c75d3c0b25964899ef102dec8da3  guix-build-9d6a7b2fb1e0/output/powerpc64le-linux-gnu/bitcoin-9d6a7b2fb1e0-powerpc64le-linux-gnu-debug.tar.gz
  7c66573cc96f62a75549a5333d2b5c27fde78691f3fe8d863bb676a0a1052a0b  guix-build-9d6a7b2fb1e0/output/powerpc64le-linux-gnu/bitcoin-9d6a7b2fb1e0-powerpc64le-linux-gnu.tar.gz
  fac4613cf7d47f2f22a45c0030c480802dae805f46f59a596a98f4fd709209fd  guix-build-9d6a7b2fb1e0/output/riscv64-linux-gnu/SHA256SUMS.part
  df3d1045cb10d815f5b3bba5246c3349654346a156982c767e2c3b076598185b  guix-build-9d6a7b2fb1e0/output/riscv64-linux-gnu/bitcoin-9d6a7b2fb1e0-riscv64-linux-gnu-debug.tar.gz
  64ec31b702d3c6c25615618be64de631c70f69383e150f27493139933591f024  guix-build-9d6a7b2fb1e0/output/riscv64-linux-gnu/bitcoin-9d6a7b2fb1e0-riscv64-linux-gnu.tar.gz
  d054f0bf16e69ad7b557faed4b5c349bdfba3ff554a2d3636ad913ac307dc2e9  guix-build-9d6a7b2fb1e0/output/x86_64-apple-darwin/SHA256SUMS.part
  a7279c357838b0aa1d3548b45be8568d759b141828e3b7d2ab2d2de9a95b7a8c  guix-build-9d6a7b2fb1e0/output/x86_64-apple-darwin/bitcoin-9d6a7b2fb1e0-x86_64-apple-darwin-unsigned.dmg
  efe4d4d9e4d7e966e19dcc819456169d02891087fa7e767c305afd297e981af2  guix-build-9d6a7b2fb1e0/output/x86_64-apple-darwin/bitcoin-9d6a7b2fb1e0-x86_64-apple-darwin-unsigned.tar.gz
  e1b72c3904a6cb3ba0c9eb156288ab216a94be5da2b10288d414d224ffa525b1  guix-build-9d6a7b2fb1e0/output/x86_64-apple-darwin/bitcoin-9d6a7b2fb1e0-x86_64-apple-darwin.tar.gz
  05fa5c84dce57bb1728a8ac36a967177f25d9f8892b272da0483e4b8f4ea2b94  guix-build-9d6a7b2fb1e0/output/x86_64-linux-gnu/SHA256SUMS.part
  40cb0712447dc4e1f0574fcd307012206ce64c32aa12a240666070a18cf6af51  guix-build-9d6a7b2fb1e0/output/x86_64-linux-gnu/bitcoin-9d6a7b2fb1e0-x86_64-linux-gnu-debug.tar.gz
  7f6b0696f28348584eb62d69ab936f864310dd42a7e4cba7abe087e563b3b77f  guix-build-9d6a7b2fb1e0/output/x86_64-linux-gnu/bitcoin-9d6a7b2fb1e0-x86_64-linux-gnu.tar.gz
  d79bab5b5d4414d23cf26eaddb3c5eabc88e0700e9fd62686e5b44735c62453b  guix-build-9d6a7b2fb1e0/output/x86_64-w64-mingw32/SHA256SUMS.part
  55029375d671803013ba49c8f287101c49f62033569240efe9f089907dc47a58  guix-build-9d6a7b2fb1e0/output/x86_64-w64-mingw32/bitcoin-9d6a7b2fb1e0-win64-debug.zip
  be1a9b270d834d59a731adebed1d4f2424fb6a1bb082808fadb5cf3b930a31a1  guix-build-9d6a7b2fb1e0/output/x86_64-w64-mingw32/bitcoin-9d6a7b2fb1e0-win64-setup-unsigned.exe
  b893e54fb43b5c256d46e4a58d65a8d3fc111eb65417cb56810f793b1813ca86  guix-build-9d6a7b2fb1e0/output/x86_64-w64-mingw32/bitcoin-9d6a7b2fb1e0-win64-unsigned.tar.gz
  9626a24a47af1a1d5240a50c3d7fd74053657bc87a5dff32007b200f48e5573d  guix-build-9d6a7b2fb1e0/output/x86_64-w64-mingw32/bitcoin-9d6a7b2fb1e0-win64.zip
  ```

ACKs for top commit:
  hebasto:
    ACK 9d6a7b2fb1. Confirming that `-Wreturn-local-addr` and `-Wstringop-overflow=` warnings are gone. Verified the hash of the new source archive.

Tree-SHA512: 28783479623be0ccc8169ff63e169a61f850106e820f12917b867b07087d2817fe0d5432a5e1ddf564ed90ba371aaf801dd4e7b32acb3907736dc4dcdd129355
2022-06-20 22:05:40 +02:00
Hennadii Stepanov
71d33bf33f
build, qt: Fix QMAKE_CXXFLAGS expression for mingw32 host 2022-06-20 13:39:40 +02:00
laanwj
e5df0ba0d9
Merge bitcoin/bitcoin#25360: build: SystemTap 4.7 (RISC-V support)
b8c146b877 build: systemtap 4.7 (fanquake)

Pull request description:

  As of version 4.6, SystemTap now fully supports 64-bit RISC-V.

  Full SystemTap NEWS is here: https://sourceware.org/git/?p=systemtap.git;a=blob;f=NEWS;

  Guix Build (x86_64):
  ```bash
  2c4cf36ea601de27ce1b56b923d41aee30d9d64295a700dcc705bd518865c81c  guix-build-b8c146b87720/output/aarch64-linux-gnu/SHA256SUMS.part
  10dbe855ab64e0e76398fc27e9471071820b9cd5289773c8d9d272f9bb51b7ba  guix-build-b8c146b87720/output/aarch64-linux-gnu/bitcoin-b8c146b87720-aarch64-linux-gnu-debug.tar.gz
  530808f3803a31c4fe84ec85e7b6c284e52850ba32df12dd1e273e9896bad7ff  guix-build-b8c146b87720/output/aarch64-linux-gnu/bitcoin-b8c146b87720-aarch64-linux-gnu.tar.gz
  9fa9e1f2412854f87d980e97cb7b4df37a1a13d48a633b9df5b0006d60c10ede  guix-build-b8c146b87720/output/arm-linux-gnueabihf/SHA256SUMS.part
  dcf44666f80b71637403d5f6fb4eb8159ef61815b3feedc84e3a26c99bd18152  guix-build-b8c146b87720/output/arm-linux-gnueabihf/bitcoin-b8c146b87720-arm-linux-gnueabihf-debug.tar.gz
  8623a1e969a8f40286060ebbd9085f3d4f621c507fd5448b38ba36129ba0950a  guix-build-b8c146b87720/output/arm-linux-gnueabihf/bitcoin-b8c146b87720-arm-linux-gnueabihf.tar.gz
  59a71bdc8403f4fff4370922a297a7a2200b0a206d68ac71960f09e728bf0781  guix-build-b8c146b87720/output/arm64-apple-darwin/SHA256SUMS.part
  5e17c76526da9f4630ffed2cc2870aa058139fa439d4c756055d8b9f53fc05dc  guix-build-b8c146b87720/output/arm64-apple-darwin/bitcoin-b8c146b87720-arm64-apple-darwin-unsigned.dmg
  72ebdf006dd279128b33e3b0902f8d3d1291d90fd2d67be60bbbd0f0d5e5b336  guix-build-b8c146b87720/output/arm64-apple-darwin/bitcoin-b8c146b87720-arm64-apple-darwin-unsigned.tar.gz
  d3a1bafba070e8197d2d3f790053b6204e6779b8352c41118c82e16f2e500620  guix-build-b8c146b87720/output/arm64-apple-darwin/bitcoin-b8c146b87720-arm64-apple-darwin.tar.gz
  76510b7e6aaccfa8c0f370e1a6d4b6f79e21572ebc0a369d2195557cfc9f6966  guix-build-b8c146b87720/output/dist-archive/bitcoin-b8c146b87720.tar.gz
  cb18e130efa70ca58df2b89d7cc368f0374ad3cf6c59f97cee4c12cfbec6982c  guix-build-b8c146b87720/output/powerpc64-linux-gnu/SHA256SUMS.part
  1028f9deaa1bd140ead816e0278ea5f3eb27e0d70e3e3b11d1f6098da46a0538  guix-build-b8c146b87720/output/powerpc64-linux-gnu/bitcoin-b8c146b87720-powerpc64-linux-gnu-debug.tar.gz
  013d97e33f51b985b2b514dbdae093806c890d9f6ca58aec1d62814a874efb8a  guix-build-b8c146b87720/output/powerpc64-linux-gnu/bitcoin-b8c146b87720-powerpc64-linux-gnu.tar.gz
  3b2cfa1d9418682eeed02718de36137e330573df24b28b5681301a5cb5320e6b  guix-build-b8c146b87720/output/powerpc64le-linux-gnu/SHA256SUMS.part
  480fd977d8eda3bb9440bfa3e37452ecbeb0f1f4e36a35f6bfa820e7666d2a71  guix-build-b8c146b87720/output/powerpc64le-linux-gnu/bitcoin-b8c146b87720-powerpc64le-linux-gnu-debug.tar.gz
  eabab79ff95df3f326dc1e40dba4925b9a6de374763180c4170a30cdfe26136a  guix-build-b8c146b87720/output/powerpc64le-linux-gnu/bitcoin-b8c146b87720-powerpc64le-linux-gnu.tar.gz
  7f5b6d482bee0c73cf0727395d78591559ab974a2b9bff9689ca2262d0612f39  guix-build-b8c146b87720/output/riscv64-linux-gnu/SHA256SUMS.part
  228cc22329e50d99edc33465f10e136742833ebc675920bdbde07ca3388523d7  guix-build-b8c146b87720/output/riscv64-linux-gnu/bitcoin-b8c146b87720-riscv64-linux-gnu-debug.tar.gz
  b5d2565a0b05d51e9834c0212b34903c362061c2489878c82dfbe04729cefa2c  guix-build-b8c146b87720/output/riscv64-linux-gnu/bitcoin-b8c146b87720-riscv64-linux-gnu.tar.gz
  dde6dcf82d7b2f3279150564302a5008d69a3a0fcdedc717c124d460d73ff71d  guix-build-b8c146b87720/output/x86_64-apple-darwin/SHA256SUMS.part
  a5c2e69aba46a164425013b0360674d77687dfe8accc8e8cb97dc630542dc1d3  guix-build-b8c146b87720/output/x86_64-apple-darwin/bitcoin-b8c146b87720-x86_64-apple-darwin-unsigned.dmg
  cea73001db5a31880ec119f959bb0db21b3f7a12ac21a630b2f12247c4c0b578  guix-build-b8c146b87720/output/x86_64-apple-darwin/bitcoin-b8c146b87720-x86_64-apple-darwin-unsigned.tar.gz
  8cf6ba1de32f68c70ee23a19fbbeadb59df4c008792c717ac22d476ebe9aa921  guix-build-b8c146b87720/output/x86_64-apple-darwin/bitcoin-b8c146b87720-x86_64-apple-darwin.tar.gz
  061247b31ba1012689817e304357fca0b7262106223d6eaf8d0b31148bd764d1  guix-build-b8c146b87720/output/x86_64-linux-gnu/SHA256SUMS.part
  20caf9d234a88333b696e0261284c29ea4f83c3b9e590696230614220b2c7e2e  guix-build-b8c146b87720/output/x86_64-linux-gnu/bitcoin-b8c146b87720-x86_64-linux-gnu-debug.tar.gz
  54c3e57cc4cc6173aa2bb4e17f47e85a346ef752973d6b97f7a3ff015d4f5068  guix-build-b8c146b87720/output/x86_64-linux-gnu/bitcoin-b8c146b87720-x86_64-linux-gnu.tar.gz
  47f4104cbd46c96bf9c3cb4fcf9e813ee73566781a599e850bf8c5c8d6e7970a  guix-build-b8c146b87720/output/x86_64-w64-mingw32/SHA256SUMS.part
  b337b2841988f0cdcd8aebec669467f38354b626a7d331e84a5a7b7fc47f6a47  guix-build-b8c146b87720/output/x86_64-w64-mingw32/bitcoin-b8c146b87720-win64-debug.zip
  25e97d46edb35dd87a55b285dad03a6c571336ab93f8c7457571498e3057118a  guix-build-b8c146b87720/output/x86_64-w64-mingw32/bitcoin-b8c146b87720-win64-setup-unsigned.exe
  bc9870404d52a5423ce8fee37cae3ebda00d9958b1469d2930aa8f0d61ab55ef  guix-build-b8c146b87720/output/x86_64-w64-mingw32/bitcoin-b8c146b87720-win64-unsigned.tar.gz
  194615a1645bed622d91e8760cd3ec33fd0ef684dd6a7a04d1731272f7fd1557  guix-build-b8c146b87720/output/x86_64-w64-mingw32/bitcoin-b8c146b87720-win64.zip
  ```

  Guix Build (arm64):
  ```bash
  442bf81809c481be38317703bdf6ae45d9dd6f1b044515dfe36be514eae8b66a  guix-build-b8c146b87720/output/arm-linux-gnueabihf/SHA256SUMS.part
  a104a61a1dd4f663e809344cc86d500254d4d451f23c062f48e50c6418fcd135  guix-build-b8c146b87720/output/arm-linux-gnueabihf/bitcoin-b8c146b87720-arm-linux-gnueabihf-debug.tar.gz
  12f84be1ad44d28595144bbb6319cb2f6fb95b27c633f54771815ccff4fb40aa  guix-build-b8c146b87720/output/arm-linux-gnueabihf/bitcoin-b8c146b87720-arm-linux-gnueabihf.tar.gz
  e6b42524123488ef3342d0806ac562985a1fff214c1bfcd1a26ab8e288caf24a  guix-build-b8c146b87720/output/arm64-apple-darwin/SHA256SUMS.part
  bb01d384bff21c5280d4a193bd4fb158ecaa41d0746db30a52c135e5a6e76750  guix-build-b8c146b87720/output/arm64-apple-darwin/bitcoin-b8c146b87720-arm64-apple-darwin-unsigned.dmg
  2ebeca13939e408aae304f77eb32c683ce703262475d70f9c0a9a51533cabdb4  guix-build-b8c146b87720/output/arm64-apple-darwin/bitcoin-b8c146b87720-arm64-apple-darwin-unsigned.tar.gz
  b5df98dc9b66eb1ae725c050f9e1d94a551ce9637cef29f82cb38ef784996c1c  guix-build-b8c146b87720/output/arm64-apple-darwin/bitcoin-b8c146b87720-arm64-apple-darwin.tar.gz
  76510b7e6aaccfa8c0f370e1a6d4b6f79e21572ebc0a369d2195557cfc9f6966  guix-build-b8c146b87720/output/dist-archive/bitcoin-b8c146b87720.tar.gz
  d38cc0e933f37108f71d826e20d6cc1510fe98d830484977d032fbb66d94ab02  guix-build-b8c146b87720/output/powerpc64-linux-gnu/SHA256SUMS.part
  8dc33ebac8ec67cefe842419015ab42f344971a9fe071bda2b09f6b1696fea68  guix-build-b8c146b87720/output/powerpc64-linux-gnu/bitcoin-b8c146b87720-powerpc64-linux-gnu-debug.tar.gz
  57b01141e859246a70c9110c5daa2b388dfc5bab442a873f6b715981bd3dfca1  guix-build-b8c146b87720/output/powerpc64-linux-gnu/bitcoin-b8c146b87720-powerpc64-linux-gnu.tar.gz
  282befd619cfb541c31d1a81495e08c409f2d9174e876f05dc7bd361a3a1821e  guix-build-b8c146b87720/output/powerpc64le-linux-gnu/SHA256SUMS.part
  8ef3a9e19393ef36c8a001477e9ee08dba705978775fcebb5c2349612ce22808  guix-build-b8c146b87720/output/powerpc64le-linux-gnu/bitcoin-b8c146b87720-powerpc64le-linux-gnu-debug.tar.gz
  bbfde476e8f630783a12e9d900d91ab2ab24ee2c7e607699e37fd2d273627a0e  guix-build-b8c146b87720/output/powerpc64le-linux-gnu/bitcoin-b8c146b87720-powerpc64le-linux-gnu.tar.gz
  b0f8f33becc355ab70f549ed4d33b49f73aa5b4adb793b0e661ff1180861cdba  guix-build-b8c146b87720/output/riscv64-linux-gnu/SHA256SUMS.part
  7ee185e1aa6a7b4c536f375d165dd0232a310892a2e9446de713081b471d5d9e  guix-build-b8c146b87720/output/riscv64-linux-gnu/bitcoin-b8c146b87720-riscv64-linux-gnu-debug.tar.gz
  8d15acb1da57c753131e887453d95c0539f2d4bbb4e3a6deb976e17dee306946  guix-build-b8c146b87720/output/riscv64-linux-gnu/bitcoin-b8c146b87720-riscv64-linux-gnu.tar.gz
  dde6dcf82d7b2f3279150564302a5008d69a3a0fcdedc717c124d460d73ff71d  guix-build-b8c146b87720/output/x86_64-apple-darwin/SHA256SUMS.part
  a5c2e69aba46a164425013b0360674d77687dfe8accc8e8cb97dc630542dc1d3  guix-build-b8c146b87720/output/x86_64-apple-darwin/bitcoin-b8c146b87720-x86_64-apple-darwin-unsigned.dmg
  cea73001db5a31880ec119f959bb0db21b3f7a12ac21a630b2f12247c4c0b578  guix-build-b8c146b87720/output/x86_64-apple-darwin/bitcoin-b8c146b87720-x86_64-apple-darwin-unsigned.tar.gz
  8cf6ba1de32f68c70ee23a19fbbeadb59df4c008792c717ac22d476ebe9aa921  guix-build-b8c146b87720/output/x86_64-apple-darwin/bitcoin-b8c146b87720-x86_64-apple-darwin.tar.gz
  a05b02f8270bc1928e89ac03d2ab40da9e1fc35cf5416c511fe67a197c64b241  guix-build-b8c146b87720/output/x86_64-linux-gnu/SHA256SUMS.part
  9f213cfc3afb899cf1e06b796f0ab7e4414f60e267f286837d10944c592d0cad  guix-build-b8c146b87720/output/x86_64-linux-gnu/bitcoin-b8c146b87720-x86_64-linux-gnu-debug.tar.gz
  7f8100bbf4415f4cf531e0b652026e1429877df873bce6b45433e7e1b638efe4  guix-build-b8c146b87720/output/x86_64-linux-gnu/bitcoin-b8c146b87720-x86_64-linux-gnu.tar.gz
  8d5ad864562ca22a37380a89db7a78574462b78bd74fcf8b663b8164043e800f  guix-build-b8c146b87720/output/x86_64-w64-mingw32/SHA256SUMS.part
  3713b4d70e4eb56b0875d07c698eab270c680da0f81be5394ea16750c5b56490  guix-build-b8c146b87720/output/x86_64-w64-mingw32/bitcoin-b8c146b87720-win64-debug.zip
  25e97d46edb35dd87a55b285dad03a6c571336ab93f8c7457571498e3057118a  guix-build-b8c146b87720/output/x86_64-w64-mingw32/bitcoin-b8c146b87720-win64-setup-unsigned.exe
  bc9870404d52a5423ce8fee37cae3ebda00d9958b1469d2930aa8f0d61ab55ef  guix-build-b8c146b87720/output/x86_64-w64-mingw32/bitcoin-b8c146b87720-win64-unsigned.tar.gz
  1d78eb522fdebb8e494c63656212972657f323406b43a5f6af835f272529915f  guix-build-b8c146b87720/output/x86_64-w64-mingw32/bitcoin-b8c146b87720-win64.zip
  ```

ACKs for top commit:
  laanwj:
    Tested ACK b8c146b877

Tree-SHA512: e62621b3b51fe7e391f262137de87231a3fb0e39c4090017990317ae758493fab36e5764843b905b86a5d48bbf2c8a08de7c596c1cc590585099fe5bc9cc18be
2022-06-17 22:07:08 +02:00
fanquake
f7595f1354
build: add and use CXX_STANDARD in depends 2022-06-16 17:01:05 +01:00
fanquake
9d6a7b2fb1
build: sqlite 3380500 in depends 2022-06-15 09:16:57 +01:00
fanquake
b8c146b877
build: systemtap 4.7
From 4.6, SystemTap now supports 64-bit RISC-V.

* What's new in version 4.6, 2021-11-15
- SystemTap has added support for the 64-bit RISC-V architecture.
2022-06-13 14:43:06 +01:00
Hennadii Stepanov
8b8edc25c1
build: Specify native binaries explicitly when building capnp package
From `configure --help`:
  --with-external-capnp   use the system capnp binary (or the one specified
                          with $CAPNP) instead of compiling a new one (useful
                          for cross-compiling)
2022-06-09 15:56:52 +02:00
Hennadii Stepanov
a413595c37
build: Fix capnp package build for Android 2022-06-09 15:56:52 +02:00
Hennadii Stepanov
c0f5cc14ef
build: Fix libmultiprocess cross-compiling to Linux hosts
To successfully call the `capnp_generate_cpp()` function, the
`libmultiprocess` build system must be provided with paths to the native
`capnp` and `capnpc-c++` tools.
2022-05-01 10:41:32 +02:00
fanquake
1dd8cbfbc6
build: don't compress macOS DMG 2022-04-11 10:34:30 +01:00
fanquake
7c218dacd0
build: specify cmake build dir for multiprocess depends build
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.
2022-04-04 10:24:06 +01:00
Pavol Rusnak
7f6042849c
build, qt: use one patch per line in depends/packages/qt.mk 2022-04-01 17:02:46 +02:00
Hennadii Stepanov
826cbc470f
build, qt: drop fix_no_printer.patch
The removed patch is not required since switching Qt version from
5.12.11 to 5.15.2.
2022-04-01 16:56:41 +02:00
Pavol Rusnak
ef20add4c9
build, qt: bump Qt5 version to 5.15.3
Qt 5.15.3 release is a patch release made on the top of Qt 5.15.2. As a patch
release, Qt 5.15.3 does not add any new functionality but provides bug fixes
and other improvements.

https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/5.15.3/release-note.md

* dropped patches:
  - patches/qt/dont_use_avx_android_x86_64.patch
  - patches/qt/fix_bigsur_style.patch
* adjusted patches:
  - patches/qt/fix_android_jni_static.patch
  - patches/qt/fix_limits_header.patch
  - patches/qt/use_android_ndk23.patch

Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
2022-04-01 16:54:38 +02:00
fanquake
a24ef27cfe
build: patch around qt duplicate symbol issue
This is currently causing the same failure in two different PRs:
```bash
duplicate symbol 'lcQpaFonts()' in:
    /tmp/cirrus-ci-build/depends/x86_64-apple-darwin/lib/libQt5ThemeSupport.a(qgenericunixthemes.o)
    /tmp/cirrus-ci-build/depends/x86_64-apple-darwin/lib/libQt5FontDatabaseSupport.a(qfontengine_coretext.o)
ld: 1 duplicate symbol for architecture x86_64
```

```bash
x86_64-apple-darwin-ld: error: duplicate symbol: __Z10lcQpaFontsv
>>> defined in /tmp/cirrus-ci-build/depends/x86_64-apple-darwin/lib/libQt5ThemeSupport.a(qgenericunixthemes.o)
>>> defined in /tmp/cirrus-ci-build/depends/x86_64-apple-darwin/lib/libQt5FontDatabaseSupport.a(qfontengine_coretext.o)
```

Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
2022-03-31 21:23:38 +01:00
fanquake
339b4a51f6
build: don't install deprecated libevent headers
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.
2022-03-10 15:52:26 +00:00
Pasta
4bba7ab2ff
build: upgrade depends Boost to 1.77.0
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.
2022-02-22 15:53:45 +00:00
fanquake
07dcf1a76e
build: remove boost dep from libmultiprocess
Looks like this hasn't been needed since
https://github.com/chaincodelabs/libmultiprocess/pull/25 and was just
missed in #19160.
2022-02-18 15:13:09 +00:00
fanquake
8fe6f5a6fb
Merge bitcoin/bitcoin#24326: build: minor cleanups to native_clang package
4255b46693 build: remove -f from clang cp invocation (fanquake)
dbcaba835d build: remove unused include dir from clang package (fanquake)

Pull request description:

  Pulled out of #21778.

  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
  b7fc20b23d2270f0bf39859fc2d9b75c687a0cceaf287b3871d872e8e7aaaeb6  guix-build-4255b4669359/output/arm64-apple-darwin/SHA256SUMS.part
  bd31487de1f49fd84b1eb37c744ea55b1268d729ec4715e7cb50a768b147628e  guix-build-4255b4669359/output/arm64-apple-darwin/bitcoin-4255b4669359-arm64-apple-darwin.tar.gz
  6eca741ecd7e35e5d917442326e8f64e2f745cb0cf8573e616fb1fc388d3376f  guix-build-4255b4669359/output/arm64-apple-darwin/bitcoin-4255b4669359-osx-unsigned.dmg
  b54797d350e00a597478dadb3c7372d15306c095f63cc3e5257a3b1851856614  guix-build-4255b4669359/output/arm64-apple-darwin/bitcoin-4255b4669359-osx-unsigned.tar.gz
  af212f87138950a398e2cd1c3ebc69bbe90126ac916a735d5a24a91864e0a164  guix-build-4255b4669359/output/dist-archive/bitcoin-4255b4669359.tar.gz
  d25ab8698524f283958e32cbdfaa14d344d905f972c66987ff27286cb2abcdfa  guix-build-4255b4669359/output/x86_64-apple-darwin/SHA256SUMS.part
  39f069317efff319aea55d6f929ee4cd5e4c04cfb5cf84ea1e6500b18e368be3  guix-build-4255b4669359/output/x86_64-apple-darwin/bitcoin-4255b4669359-osx-unsigned.dmg
  dc755eff3cb4e628637f68c3e31a28ae41bbece1339067a2c0042f39899a275c  guix-build-4255b4669359/output/x86_64-apple-darwin/bitcoin-4255b4669359-osx-unsigned.tar.gz
  d084f798f08cb175272ae420a68df3fa69c3b2be2fbe972c929dd4d4214039f7  guix-build-4255b4669359/output/x86_64-apple-darwin/bitcoin-4255b4669359-osx64.tar.gz
  ```

ACKs for top commit:
  hebasto:
    ACK 4255b46693

Tree-SHA512: a8b08a74dca8d6e82c32b23e031ff1b7484d7436d8d8b169c267462766f3ee270ea22342ab81b00daeaed9b93705d51931ff9a327da07337b242e7e0e4d0521c
2022-02-14 20:24:53 +00:00
fanquake
7b06ffce9c
build: add NetBSD support to depends 2022-02-14 16:52:23 +00:00
fanquake
4255b46693
build: remove -f from clang cp invocation 2022-02-14 13:59:44 +00:00
fanquake
dbcaba835d
build: remove unused include dir from clang package 2022-02-14 13:59:09 +00:00
fanquake
5d399f9f3d
build: remove native B2 package 2022-02-13 20:59:07 +00:00
fanquake
2037a3b6c1
build: header-only Boost 2022-02-13 20:59:07 +00:00
fanquake
39e66e938f
build: use header-only Boost unit test 2022-02-13 20:59:02 +00:00
fanquake
25a91a571a
Merge bitcoin/bitcoin#24276: build, refactor: Improve package version usage
edc9a6afdc build, refactor: Reuse expat package version in its download path (Hennadii Stepanov)
4bb7821ab2 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 edc9a6afdc

Tree-SHA512: c15d672fe34ac59850425d3d6a6eee5f720e16d227aad1332a563b218465879b7ee6fb865dd1bac06aedf356f9bb1c67112d9d88da8f877f04838b50a9dc97be
2022-02-13 11:22:36 +00:00
fanquake
471d15536f
build: add support for OpenBSD to depends 2022-02-10 12:33:10 +00:00
fanquake
75ae39eeec
build: add a default build tar in depends
This is so we can override it later for BSDs.
2022-02-10 12:33:02 +00:00
Hennadii Stepanov
d644c45e39
build, refactor: Drop redundant $(package)_download_file assignments
No need to specify `$(package)_download_file` when it is equal to
`$(package)_file_name`.
2022-02-08 11:16:51 +02:00
Hennadii Stepanov
edc9a6afdc
build, refactor: Reuse expat package version in its download path 2022-02-06 13:19:35 +02:00
Hennadii Stepanov
4bb7821ab2
build, refactor: Use conventional version notation for boost package
Dot is used as a separator in versions of other depends packages.
2022-02-06 13:15:00 +02:00
fanquake
07269321f3
build: remove Boost::system usage 2022-02-03 18:35:52 +08:00
Kiminuo
b87f9c5edf
build: remove boost::filesystem usage 2022-02-03 18:35:52 +08:00
fanquake
c194293883
Merge bitcoin/bitcoin#24131: build, qt: Fix Windows cross-compiling with Qt 5.15
9796dcacdc doc: Install only "-posix" MinGW compiler when possible (Hennadii Stepanov)
0bbae237a8 ci: Drop no longer needed `update-alternatives` (Hennadii Stepanov)
01d1845a80 build, qt: Specify QMAKE_CXX explicitly (Hennadii Stepanov)

Pull request description:

  While changes introduced in bitcoin/bitcoin#22093 worked fine with Qt 5.12, after bumping Qt up to 5.15 the cross-compiling of `qt` package for Windows fails with `error: ‘mutex’ in namespace ‘std’ does not name a type`.

  The first commit fixes this bug.

  The second commit cleans up a related CI script.

  The third commit improves related docs (see https://github.com/bitcoin/bitcoin/pull/22093#discussion_r680911586).

ACKs for top commit:
  prusnak:
    ACK 9796dca

Tree-SHA512: 0dc46c5dfab85bd6d2901052cd630e86f9b4e09c08ef87136b44ddecb1783cdf3cd0a6e67b95ac7a78da24cd7adedc88745f61f9a8d9993fbff26d33bf88d874
2022-02-03 10:52:58 +08:00
fanquake
0f43fb5d87
Merge bitcoin/bitcoin#24240: depends: fix capnp's descriptor for make download
01e121d290 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 01e121d290, tested on Linux Mint 20.2 (x86_64).

Tree-SHA512: 2605d895f3799be5a311f6f7d36a5c13cdb715dc148915ad818f4afc7d5de92cd6b8ecd34ff2b21cef6743b090819bba1e3353096cfb5659c55f76113ce5adf3
2022-02-03 10:44:17 +08:00
laanwj
c545a7aeb1
Merge bitcoin/bitcoin#23948: build: add support for FreeBSD to depends
ae9175f608 build: add FreeBSD support to depends (fanquake)

Pull request description:

  Setup to use the system Clang (11.0.1 as of FreeBSD 13.0).

  Doesn't build the Qt package; that requires a few additional changes. The current issue is that FreeBSDs `byacc` seems to have an issue parsing something in libxkbcommon. Work in progress branch here: https://github.com/fanquake/bitcoin/tree/depends_support_freebsd_qt. In any case, I don't think building the Qt libs on FreeBSD is a super high priority (I'd also have no way to test the GUI).

ACKs for top commit:
  laanwj:
    ACK ae9175f608

Tree-SHA512: 1ecc7855f0195f68c96e534bd77ce17c3975db1dfb3caa35302c2b46643c8c30f75b1c2e1735cf69f1eddb70447d11e67e7f339ef5497336cdff7a59b32be961
2022-02-02 20:00:53 +01:00
Cory Fields
01e121d290 depends: fix capnp's descriptor for make download
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.
2022-02-02 17:55:20 +00:00
Hennadii Stepanov
01d1845a80
build, qt: Specify QMAKE_CXX explicitly
This change allows to drop the `update-alternatives` step if the
`g++-mingw-w64-x86-64` package has been installed.
2022-02-02 19:28:36 +02:00
fanquake
4241c193d4
Merge bitcoin/bitcoin#24134: build: Fix zeromq package when cross-compiling
f13e642c83 build: Disable valgrind when building zeromq package in depends (Hennadii Stepanov)
b970f03bea build: Disable libbsd when building zeromq package in depends (Hennadii Stepanov)
77899991b1 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 f13e642c83

Tree-SHA512: d4c86d4a841eb6e7c32157e84972243072f905496c2a4c14ec6f6ab4216df6695cbf29baa2233ce27eaede35d1e250ad2f9975b16f570d01509f0c5da4597cad
2022-01-27 10:44:48 +08:00
laanwj
792d0d8d51
Merge bitcoin/bitcoin#23839: Linux: build with and test for control flow instrumentation on x86_64
5a8f907c93 scripts: add CONTROL_FLOW to ELF security checks (fanquake)
e13f8f775d build: build x86_64 Linux Boost with -fcf-protection=full (fanquake)
6ca5efa8ed script rename control flow check to MACHO specific (fanquake)

Pull request description:

  Closes #21888.

  TODO:
  * Duplication in security-check-tests

  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
  8025e2e6859247eaf865a4a5009d0a39570ec5e8ab51739fa4da0d8ee4ab2117  guix-build-5a8f907c93f1/output/aarch64-linux-gnu/SHA256SUMS.part
  75576482994493262dbf7d3567b0450c0804bdc75c186d6b4c6a856bd0d8f0a3  guix-build-5a8f907c93f1/output/aarch64-linux-gnu/bitcoin-5a8f907c93f1-aarch64-linux-gnu-debug.tar.gz
  7cb89c9327cc540859334b597c041a2250156e3e83ce2aa7d16177376056302f  guix-build-5a8f907c93f1/output/aarch64-linux-gnu/bitcoin-5a8f907c93f1-aarch64-linux-gnu.tar.gz
  e264053e4c7a5d65340dd7bbd2c664bcd596292ab80f00a0bf0026bfe0c480bc  guix-build-5a8f907c93f1/output/arm-linux-gnueabihf/SHA256SUMS.part
  6c3ee9b3c0c4583620301b183226678f1618605dd07dbed0bbdf7d06d3591314  guix-build-5a8f907c93f1/output/arm-linux-gnueabihf/bitcoin-5a8f907c93f1-arm-linux-gnueabihf-debug.tar.gz
  f217cb8d8e233a8dbdbfde7dabf12c5d867d7de53e8c652b8ed1d4a55da82fd9  guix-build-5a8f907c93f1/output/arm-linux-gnueabihf/bitcoin-5a8f907c93f1-arm-linux-gnueabihf.tar.gz
  48b4b2a1b52b3098f4e92c11cb60f1e5e9696a2a960560cd6adea72277eaa4a4  guix-build-5a8f907c93f1/output/dist-archive/bitcoin-5a8f907c93f1.tar.gz
  40832db2446e129879caa9fbc9d682c53069876dbb2e0d4d76592e5dcb40bb12  guix-build-5a8f907c93f1/output/powerpc64-linux-gnu/SHA256SUMS.part
  26fdfa9b7b77d5db415ef34054cf6f6d020a5dab73239db6dd05539f654bc5d5  guix-build-5a8f907c93f1/output/powerpc64-linux-gnu/bitcoin-5a8f907c93f1-powerpc64-linux-gnu-debug.tar.gz
  3adbdb9d3eb1cb5f9adc38b29450054f286bd6d74cef8619adaee89494853605  guix-build-5a8f907c93f1/output/powerpc64-linux-gnu/bitcoin-5a8f907c93f1-powerpc64-linux-gnu.tar.gz
  8ec2baf82483a698350bfdabf530cd9b5241690c916f597c746210e95ac451de  guix-build-5a8f907c93f1/output/powerpc64le-linux-gnu/SHA256SUMS.part
  1797e75e1f66ec9068fa4e57e0108960475e863f8f054fbe854358b1f995c4df  guix-build-5a8f907c93f1/output/powerpc64le-linux-gnu/bitcoin-5a8f907c93f1-powerpc64le-linux-gnu-debug.tar.gz
  448bd289ef26c777a1fc4498e7ba7fb17d0f6a932dcac91b2f89cbba63704bb8  guix-build-5a8f907c93f1/output/powerpc64le-linux-gnu/bitcoin-5a8f907c93f1-powerpc64le-linux-gnu.tar.gz
  a23ee91eeae515c2a6a31eb25d659fab833839aaafa4676ccee364bdad2a468c  guix-build-5a8f907c93f1/output/riscv64-linux-gnu/SHA256SUMS.part
  82df1b6d5020d0af8268ecc8e823f752f20dec308277763b2dd675804dfa4bbd  guix-build-5a8f907c93f1/output/riscv64-linux-gnu/bitcoin-5a8f907c93f1-riscv64-linux-gnu-debug.tar.gz
  09a6098ce83896a6ee6d5c8aff12eaca51595bd724c8e0b2a6f90b6410dc168c  guix-build-5a8f907c93f1/output/riscv64-linux-gnu/bitcoin-5a8f907c93f1-riscv64-linux-gnu.tar.gz
  4fac2951f80eaa2bd1747a263be6be1b76282cac5062f7d86db631a2fb80f8db  guix-build-5a8f907c93f1/output/x86_64-apple-darwin/SHA256SUMS.part
  3392f417b09efca5916c384f0b2d0c177a72ec4921399c62e84484f0054cc8c4  guix-build-5a8f907c93f1/output/x86_64-apple-darwin/bitcoin-5a8f907c93f1-osx-unsigned.dmg
  bfb4f8ade6107996ec4bc9efdb53959151b8fb19b6790c34472fe218dd02383d  guix-build-5a8f907c93f1/output/x86_64-apple-darwin/bitcoin-5a8f907c93f1-osx-unsigned.tar.gz
  4de92e149bad46fc863efb3b650753d194aad96be991d020e0b859452cf27457  guix-build-5a8f907c93f1/output/x86_64-apple-darwin/bitcoin-5a8f907c93f1-osx64.tar.gz
  9329549a2f275a59e329afc8744ff8cbc297f3042e0ad03b47626805c7aae2e8  guix-build-5a8f907c93f1/output/x86_64-linux-gnu/SHA256SUMS.part
  d87deb1eca8a1d3780f02edde78350d27f700e13c7ff444be0bfb34e7369904a  guix-build-5a8f907c93f1/output/x86_64-linux-gnu/bitcoin-5a8f907c93f1-x86_64-linux-gnu-debug.tar.gz
  76f3bc2fad010d9373e854d941e8205b68fa6c9a8ecaff34c4978ae3ae76c806  guix-build-5a8f907c93f1/output/x86_64-linux-gnu/bitcoin-5a8f907c93f1-x86_64-linux-gnu.tar.gz
  2948631081c4bd475529da2b7bc2b32b5aa2e44de46dfdaa6cf9432b3c9fe869  guix-build-5a8f907c93f1/output/x86_64-w64-mingw32/SHA256SUMS.part
  c5d56fac163b73c00e9745aa7b0f9a0bd9fcac7517e39b677869b6e76faf7218  guix-build-5a8f907c93f1/output/x86_64-w64-mingw32/bitcoin-5a8f907c93f1-win-unsigned.tar.gz
  f12c7cd72511544c67f4934981c090cee0d9c17e931c059edbbbef6e843dd651  guix-build-5a8f907c93f1/output/x86_64-w64-mingw32/bitcoin-5a8f907c93f1-win64-debug.zip
  eb952cc4554f92ba6787353f4305d7cbcb1c6dafc4a3867b3088106252a573b8  guix-build-5a8f907c93f1/output/x86_64-w64-mingw32/bitcoin-5a8f907c93f1-win64-setup-unsigned.exe
  7bd2b071f1cdf9410535e6a10dd1da519f942bd2c1e47ed52c5b8c4f977e8f27  guix-build-5a8f907c93f1/output/x86_64-w64-mingw32/bitcoin-5a8f907c93f1-win64.zip
  ```

ACKs for top commit:
  laanwj:
    Code review ACK 5a8f907c93
  hebasto:
    ACK 5a8f907c93, I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: 75702ac01175ccf08e73b5c3bce266cee9dd15ccf8fb38d46108cfada156de9a8c18e27d996f9343ae33f7a75a6904d335cbe25256d90af1f4ccbe72ce1788bb
2022-01-25 16:01:21 +01:00
Hennadii Stepanov
f13e642c83
build: Disable valgrind when building zeromq package in depends
We are not running unit tests, therefore it is not required.
2022-01-25 14:44:33 +02:00
Hennadii Stepanov
b970f03bea
build: Disable libbsd when building zeromq package in depends
Since v4.3.3 (068385c951c0608edec6264d55ba9c4c923acccc) libbsd is used
by default. As we have no libbsd package in our depends, disable it
explicitly. Zeromq will fallback to its internal strlcpy implementation.
2022-01-25 14:36:05 +02:00
fanquake
7102f7d6f3
Merge bitcoin/bitcoin#23956: build: use zeromq 4.3.4 in depends & fix NetBSD 10 build
6897c4bdf5 build: patch depends zeromq to fix building on NetBSD Current (fanquake)
ce6dd2f1a2 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 6897c4bdf5, I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: d05d9753630faebe842e1ca70c8c4af660a38e7331a9d95e84df3a3b14564c5118ca41c4fc49fb71dfee563b63e1014e5a3f8874d652e26de59e8e188a12970e
2022-01-20 09:35:45 +08:00
fanquake
ae9175f608
build: add FreeBSD support to depends 2022-01-19 20:38:07 +08:00
fanquake
bf044ef9ec
build: specify hosts for qrencode package
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.
2022-01-18 15:30:31 +08:00
fanquake
542e405a85
Merge bitcoin/bitcoin#23724: build: add systemtap's sys/sdt.h as depends for GUIX builds with USDT tracepoints
6200fbf54f build: rename --enable-ebpf to --enable-usdt (0xb10c)
e158a2a7aa build: add systemtap's sys/sdt.h as depends (0xb10c)

Pull request description:

  There has been light conceptual agreement on including the Userspace, Statically Defined Tracing tracepoints in Bitcoin Core release builds. This, for example, enables user to hook into production deployments, if they need to. Binaries don't have to be switched out. This is possible because we don't do [expensive computations](https://github.com/bitcoin/bitcoin/blob/master/doc/tracing.md#no-expensive-computations-for-tracepoints) only needed for the tracepoints. The tracepoints are NOPs when not used.

  Systemtap's `sys/sdt.h` header is required to build Bitcoin Core with USDT support. The header file defines the `DTRACE_PROBE` macros used in [`src/util/trace.h`](https://github.com/bitcoin/bitcoin/blob/master/src/util/trace.h). This PR adds Systemtap 4.5 (May 2021) as dependency. GUIX builds for Linux hosts now include the tracepoints.

  Closes https://github.com/bitcoin/bitcoin/issues/23297.

ACKs for top commit:
  fanquake:
    ACK 6200fbf54f - tested enabling / disabling and with/without SDT from depends. We can follow up with #23819, #23907 and #23296, and if any serious issues arise before feature freeze, it is easy for us to flip depends such that USDT becomes opt-in, rather than opt-out, and thus, releases would be tracepoint free.

Tree-SHA512: 0263f44892bf8450e8a593e4de7a498243687f8d81269e1c3283fa8354922c7cf93fddef4b92cf5192d33798424aa5812e03e68ef8de31af078a32dd34021382
2022-01-10 10:59:52 +08:00
Dimitris Apostolou
d2fdc320cc
depends: Fix typo 2022-01-04 18:26:12 +02:00
fanquake
e13f8f775d
build: build x86_64 Linux Boost with -fcf-protection=full
This is required so that we can test for control flow in our ELF
security checks. Otherwise test_bitcoin will fail, as it has a main that
is provided by Boost, and wont have been built with
-fcf-protection=full.

While here simplify to using -fcf-protection for all x86_64 builds.
2022-01-04 22:45:44 +08:00
0xb10c
e158a2a7aa
build: add systemtap's sys/sdt.h as depends
The sys/sdt.h header is required to build Bitcoin Core with Userspace
Statically Defined Tracing support. Systemtap version 4.5 (May 2021)
is used as the most recent version 4.6 (Nov 2021) fails to build.
See e.g. https://sourceware.org/git/?p=systemtap.git;a=commit;h=1d3653936fc1fd13135a723a27e6c7e959793ad0

As Systemtap itself is not needed, the build steps (configure and
make) are skipped. We require fewer build dependecies and don't
waste time building depends we don't end up using. However, the
configure step would normally processes sys/sdt-config.h.in. The
resulting sdt-config.h defines _SDT_ASM_SECTION_AUTOGROUP_SUPPORT
(either 0 or 1 to indicate whether the assembler supports "?" in
.pushsection directives). For now, we assume all currently used
assemblers supports this feature and remove the check from the
sys/sdt.h header file in a patch.

Co-authored-by: Michael Ford <fanquake@gmail.com>
2022-01-04 10:13:24 +01:00
fanquake
6897c4bdf5
build: patch depends zeromq to fix building on NetBSD Current 2022-01-04 10:51:01 +08:00
Hennadii Stepanov
29e1794ba5
build, qt: No need to set inapplicable QPA backend for Android 2022-01-03 14:45:39 +02:00
fanquake
ce6dd2f1a2
zeromq 4.3.4 2022-01-03 19:11:05 +08:00
fanquake
de28c348a0
Merge bitcoin/bitcoin#22814: build: Add ability to build qt in depends with -stdlib=libc++
33796a964a build: Add ability to build qt in depends with -stdlib=libc++ (Hennadii Stepanov)

Pull request description:

  This PR makes possible to build the `qt` package in depends against `libc++` for x86_64 platform.

  Fixes #22344.

  Required for #22815.

  Also this PR [fixes](https://github.com/bitcoin/bitcoin/pull/23060#discussion_r716077050) the `[no wallet] [bionic]` task on CI:
  - on master (a8bbd4cc81), https://api.cirrus-ci.com/v1/task/5558609250615296/logs/ci.log:
  ```
  Options used to compile and link:
    external signer = yes
    multiprocess    = no
    with libs       = yes
    with wallet     = no
    with gui / qt   = no
  ```
  - this PR, https://api.cirrus-ci.com/v1/task/5502605561430016/logs/ci.log:
  ```
  Options used to compile and link:
    external signer = yes
    multiprocess    = no
    with libs       = yes
    with wallet     = no
    with gui / qt   = yes
  ```

ACKs for top commit:
  fanquake:
    ACK 33796a964a - While this sort of string matching is fragile, I think the risk of this causing any actual issues is low.

Tree-SHA512: 586dde2e9864cec7a49aeb4f2b77fb8c4ae96bd10b51f9c6de0cfe8512ad61db15bb7f8d1b0eb6a5a66fd2deee52ac52218f01eb6be107ac12f1a956190de54b
2021-12-30 11:36:30 +08:00
Hennadii Stepanov
11736dbe3d
build, qt: Hardcode last modified timestamp in Qt RCC
This change allows the already built qt package to be reused even with
the SOURCE_DATE_EPOCH variable set, e.g., for Guix builds.
2021-12-25 23:00:37 +02:00
W. J. van der Laan
fee16b15fa
Merge bitcoin/bitcoin#23744: build, qt: Drop support for i686-linux-android host
66a20a54a2 build, qt: Drop support for `i686-linux-android` host (Hennadii Stepanov)

Pull request description:

  There are no reasons to keep support for `i686-linux-android` host, which is actually broken in master (50c502f54a), and this fact has been unnoticed for months :)

  https://github.com/bitcoin/bitcoin/pull/23675#issuecomment-986206434:
  > I'm surprised `i686-linux-android` ABI is still supported. I would love to drop it...

  https://github.com/bitcoin/bitcoin/pull/23675#issuecomment-991340132
  > What is `i686-linux-android`? 32-bit x86 android? is that really a thing?

ACKs for top commit:
  prusnak:
    utACK 66a20a54a2

Tree-SHA512: 211f794de2fc569f0ade2a4da805b8bfd4ce2ab0930c5d427acc4f5d015fcdc4911f02fc64f6401197f7641aed79944a9594be80c817547be3269cdd721cf79b
2021-12-15 21:56:01 +01:00
Hennadii Stepanov
ef81c51f62
build: Use config_opts instead of passing a compiler flag directly
This approach is safer as it allows the configure script to check the
availability of a compiler flag.
2021-12-12 18:08:43 +02:00
Hennadii Stepanov
3b8f4e347b
build, qt: Drop unused CROSS_COMPILE variable for Android builds
Since Qt 5.14.0 the CROSS_COMPILE variable always being overridden by
the Qt build system internally.

See upstream commit: c28b881c98fadcd3415370fad2525b558f6b03e4
2021-12-12 18:08:43 +02:00
Hennadii Stepanov
66a20a54a2
build, qt: Drop support for i686-linux-android host 2021-12-11 08:15:25 +02:00
fanquake
ae017b8160
Merge bitcoin/bitcoin#23495: build: Bump Fontconfig version up to 2.12.6
6575d354c8 build: Bump Fonconfig version up to 2.12.6 (Hennadii Stepanov)

Pull request description:

  This PR gets rid of `remove_char_width_usage.patch`.

  Some additional observations:

  1. Newer Fontconfig versions (2.13.0 and 2.13.1) introduce a new dependency, `uuid`, in the [`7b48fd3dd406b926f0e5240b211f72197ed538a9`](7b48fd3dd4) commit
  2. In Fonconfig 2.13.1 (the current stable) excludes the `fcobjshash.h` from the distributive archive (see [`31269e3589e0e6432d12f55db316f4c720a090b5`](31269e3589)), that makes our `gperf_header_regen.patch` unusable, and requires `gperf` as a dependency.

ACKs for top commit:
  fanquake:
    ACK 6575d354c8 - from the best I can determine this doesn't have any versioning / ABI implications. The ABI difference between 2.12.1 and 2.12.6 is two symbol additions, neither of which are used by Qt. Fontconfig seems to be better at maintaining backwards compatibility compared to a library like Freetype.

Tree-SHA512: 36780a0c5a658469697e524d682ebab56c320cb04f8297bc215f4552f183d4f560501fb0a869982fd9053d4a2d571c7fd971d8f5e96c9da9a9d142c485e3baa4
2021-12-09 20:52:01 +08:00
fanquake
0d101050ef
Merge bitcoin/bitcoin#23678: build: Fix build for Android x86_64
ac9e4bc1e2 build: Fix build for Android x86_64 (Hennadii Stepanov)

Pull request description:

  bitcoin/bitcoin#23489 [introduced](https://github.com/bitcoin/bitcoin/pull/23489#issuecomment-985457915) a regression making build for `HOST=x86_64-linux-android` broken due to the [QTBUG-86785](https://bugreports.qt.io/browse/QTBUG-86785).

  This PR fixes this regression.

ACKs for top commit:
  fanquake:
    ACK ac9e4bc1e2

Tree-SHA512: c841a56d745c4b4a75e1bc4d89752de153aa6328752a8fd7df614363ed046a291a9eb58605d82fcba21f3c8b0f0bf47786ed0a63c29f81f5d4ad9c0b12304100
2021-12-08 09:29:39 +08:00
Hennadii Stepanov
ac9e4bc1e2
build: Fix build for Android x86_64 2021-12-05 15:41:08 +02:00
Hennadii Stepanov
78a6bc6919
build, qt: Use Android NDK r23 LTS 2021-12-05 03:00:02 +02:00
Hennadii Stepanov
6575d354c8
build: Bump Fonconfig version up to 2.12.6 2021-12-03 17:39:17 +02:00
Hennadii Stepanov
1732eaba4f
build, qt: Fix regression in rendering on macOS Big Sur 2021-12-03 14:07:12 +08:00
fanquake
c870027cc2
build: qt 5.15.2 2021-12-03 14:07:12 +08:00
fanquake
904ba2aa40
build: add libxcb_util_wm 0.4.1
Required for xcb_icccm.
2021-12-03 14:07:12 +08:00
fanquake
0e2ca89a78
build: add libxcb_util_image 0.4.0 2021-12-03 14:07:11 +08:00
fanquake
36af9b6c94
build: add libxcb_util_keysyms 0.4.0 2021-12-03 14:07:11 +08:00
fanquake
b3cfbf5af2
build: add libxcb_util_render 0.3.9 2021-12-03 14:07:11 +08:00
fanquake
e545b56dc5
build: add libxcb_util 0.4.0 2021-12-03 14:07:11 +08:00
fanquake
937b36b5f0
build: libxcb 1.14
Minimum required libxcb to build qt 5.15.x is 1.11.

https://codereview.qt.nokia.com/c/qt/qtbase/+/253905

Some plugins have been re-enabled as they are required by Qt.
2021-12-03 14:07:10 +08:00
fanquake
01544dd78c
build: freetype 2.11.0
Co-authored-by: mammix2 <mammix2@hotmail.com>
2021-12-03 14:07:10 +08:00
fanquake
10ac182f4c
build: expat 2.4.1 2021-12-03 14:07:10 +08:00
fanquake
d3d547c545
build: xcb_proto 1.14.1 2021-12-03 14:07:10 +08:00
fanquake
fc65127244
build: libXau 1.0.9 2021-12-03 14:07:10 +08:00
fanquake
0697557321
build: xproto 7.0.31 2021-12-03 14:07:09 +08:00
Hennadii Stepanov
855bd75503
build, qt: Ditch no_sdk_version_check.patch 2021-11-28 20:56:54 +02:00
Hennadii Stepanov
f6e2781675
build, qt, macOS: Don't pass -device-option when building natively 2021-11-25 09:35:24 +02:00