Commit graph

502 commits

Author SHA1 Message Date
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
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
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