32762 Commits

Author SHA1 Message Date
MarcoFalke
fa65f26f4d
Merge bitcoin/bitcoin#24237: test: Avoid testing negative block heights
fad81548fa03861c244397201d6b6e6cbf883c38 test: Avoid testing negative block heights (MarcoFalke)

Pull request description:

  A negative chain height is only used to denote an empty chain, not the height of any block.

  So stop testing that and remove a suppression.

ACKs for top commit:
  brunoerg:
    crACK fad81548fa03861c244397201d6b6e6cbf883c38

Tree-SHA512: 0f9e91617dfb6ceda99831e6cf4b4bf0d951054957c159b1a05a178ab6090798fae7368edefe12800da24585bcdf7299ec3534f4d3bbf5ce6a6eca74dd3bb766
2022-02-07 14:03:56 +01:00
MarcoFalke
5034b7fa3b
Merge bitcoin/bitcoin#24217: Fix unsigned integer overflow in tapscript validation weight calculation
fadc54b79b14ba0bbdcf5eff1277295851fe7a9e Fix unsigned integer overflow in tapscript validation weight calculation (MarcoFalke)

Pull request description:

  Change the tapscript validation weight constants from uint64_t to int64_t, since the type of m_validation_weight_left is also int64_t. Otherwise this will cause sanitizer warnings.

  This should be safe because signed integer overflow isn't expected to happen.

ACKs for top commit:
  PastaPastaPasta:
    utACK fadc54b79b14ba0bbdcf5eff1277295851fe7a9e
  theStack:
    Code-review ACK fadc54b79b14ba0bbdcf5eff1277295851fe7a9e

Tree-SHA512: 7a62d3a84733ab7827e3fa50d83f5493f2481b725c587e986eb2c128a769f023756f3ad964401526e386a847aa630a9f6c43a57d25ce5fd4af0b6bb5e0615528
2022-02-07 09:26:35 +01:00
Bitcoin Hodler
bac30e85f3
docs: Move explanation of hardened key syntax closer to KEY section
Before 7cedafc5412857404e9a6c3450b100cb8ee4081a added the TREE
section, this line appeared right after the KEY section.

It doesn't really fit in its former location since it's the KEY
section that discusses derivation path syntax, not the TREE section.
2022-02-07 06:24:42 +00:00
Hennadii Stepanov
a5f67b4ca8
build: Fix make deploy for Windows when building out of source tree 2022-02-06 13:34:49 +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
Hennadii Stepanov
b9c113af75
util: Avoid buggy std::filesystem:::create_directories() call
Compiled with some libstdc++ versions (e.g., on Ubuntu 20.04)
std::filesystem:::create_directories() call fails to handle symbol links
properly.
2022-02-05 18:32:39 +02:00
fanquake
1e7564eca8
Merge bitcoin/bitcoin#24251: Re-enable windows path tests disabled by #20744
d216bc8d76d7f4e9dce58b0bb732a2d4deaf23b6 Re-enable walletinit_verify_walletdir_no_trailing2 test disabled in #20744 (Ryan Ofsky)
80cd64e84296f1166e133c237fa0afc046b01ce2 Re-enable util_datadir check disabled in #20744 (Ryan Ofsky)

Pull request description:

  Reenable some broken tests as discussed https://github.com/bitcoin/bitcoin/pull/20744#discussion_r798651736 and https://github.com/bitcoin/bitcoin/pull/20744#discussion_r798678137

  Fix windows test cases broken in #20744, by passing normalized path arguments to fs::equivalent, fs::exists, and fs::is_directory, instead of non-normalized arguments. Also re-enable the tests.

  It is possible these changes also fix real init behavior on windows when -datadir or -walletdir paths with trailing dots or dashes are used, but it's not clear because I only tested on wine.

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

Tree-SHA512: 2099ddfa1a3ad70f7ac2ff413929414a1851d257b280da25c0f5cefb46fd1372b580a1f1ee5280681a1c16e6031f119185cadd4f7a6121298562cf001f711068
2022-02-05 20:02:41 +08:00
fanquake
b23e037961
Merge bitcoin/bitcoin#24268: Add bitcoin_config.h to build_msvc/.gitignore
d570f26e173391fb63ced03773edbffae22b77af Add bitcoin_config.h to build_msvc/.gitignore (Hennadii Stepanov)

Pull request description:

  `bitcoin_config.h` is auto-generated by the `msvc-autogen.py` script.

ACKs for top commit:
  sipsorcery:
    ACK d570f26e173391fb63ced03773edbffae22b77af
  vincenzopalazzo:
    ACK d570f26e17

Tree-SHA512: 913a04733454e3f9309db19e53a9f499fb304a9d1bff5aa51f2b2938adbd67d35ddacb31c5a2cec8790a060b1ee48c546bc3e755ee4945023b23fc9236deb3e4
2022-02-05 19:47:53 +08:00
Hennadii Stepanov
d570f26e17
Add bitcoin_config.h to build_msvc/.gitignore
bitcoin_config.h is auto-generated by the msvc-autogen.py script.
2022-02-05 12:48:21 +02:00
fanquake
372cb6c186
Merge bitcoin/bitcoin#24252: bench: Represent paths with fs::path instead of std::string
824e1ffa9fd957d05e34f36abe381c2465d89702 bench: Represents paths with fs::path instead of std::string (Ryan Ofsky)

Pull request description:

  Suggested https://github.com/bitcoin/bitcoin/pull/20744#issuecomment-1022486215

ACKs for top commit:
  fanquake:
    untested ACK 824e1ffa9fd957d05e34f36abe381c2465d89702
  hebasto:
    ACK 824e1ffa9fd957d05e34f36abe381c2465d89702, tested on Linux Mint 20.2 (x86_64).

Tree-SHA512: 348fc189f30b5ad9a8e49e95e535d2c044462a9d534c3f34d887fbde0c05c41e88e02b4fc340709e6395a1188496a8333eb9e734310aa4c41755ec080e53c06e
2022-02-05 10:58:35 +08:00
laanwj
87f54060ff doc: Swap gen-manpages and update RC steps in release process 2022-02-04 17:03:31 +01:00
laanwj
42c202893b doc: Fix gen-manpages, rewrite in Python
Rewrite the manual page generation script in Python.

This:
- Solves '-' stripping issue (fixes #22681)
- Makes that copyright footer is generated again
2022-02-04 17:03:31 +01:00
MarcoFalke
fa4b61911d
test: Remove unused valgrind suppressions 2022-02-04 16:35:15 +01:00
MarcoFalke
faccb2d7fe
test: Exclude broken feature_init for now 2022-02-04 16:33:36 +01:00
MarcoFalke
fa086d891b
test: Properly skip feature_syscall_sandbox in valgrind
Follow up to commit fa9c26ab3a09c843cb598d188162403bbf8c9b36
2022-02-04 16:33:05 +01:00
MarcoFalke
b2a8371913
Merge bitcoin/bitcoin#24262: upstream: Update minisketch subtree
8fcb19fb47ae4629f40cd7ef04b5993855ddb462 Squashed 'src/minisketch/' changes from 89629eb2c7..7eeb778fef (fanquake)

Pull request description:

  Marco mentioned issues running the native valgrind job (it sets `-Werror`) on arm64 hardware due to compile errors:
  ```bash
  minisketch/src/minisketch.cpp:66:20: error: unused function 'EnableClmul' [-Werror,-Wunused-function]
  ```

  Pull the subtree to fix this. The only change here is https://github.com/sipa/minisketch/pull/58.

ACKs for top commit:
  MarcoFalke:
    cr ACK 4382d098964c4eee09505d74eac9e2d05b2945ce

Tree-SHA512: 8dbb2d8a4269e187987a9e6084c6265ed8256859b0776474c2d332df64427cd55608932e1e2053dcc3d8d1699a82c667afae20c3db7a35407bea662ada65a5f7
2022-02-04 16:28:29 +01:00
fanquake
4382d09896
Update minisketch subtree to latest upstream 2022-02-04 22:47:49 +08:00
fanquake
8fcb19fb47 Squashed 'src/minisketch/' changes from 89629eb2c7..7eeb778fef
7eeb778fef Merge sipa/minisketch#58: Move `#ifdef HAVE_CLMUL` guard outside of the EnableClmul definition
4d9db2b897 Move `#ifdef HAVE_CLMUL` guard outside of the EnableClmul definition

git-subtree-dir: src/minisketch
git-subtree-split: 7eeb778fef45e21abca01ede85cf0a82e8a510df
2022-02-04 22:47:49 +08:00
Ryan Ofsky
824e1ffa9f bench: Represents paths with fs::path instead of std::string
Also uses fs::path quoting in bench printed strings and fixes a
misleading error message.

Originally suggested https://github.com/bitcoin/bitcoin/pull/20744#issuecomment-1022486215

Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
2022-02-04 09:33:41 -05:00
Ryan Ofsky
d216bc8d76 Re-enable walletinit_verify_walletdir_no_trailing2 test disabled in #20744
This should also fix an init error if a -walletdir with a trailing slash
is used on windows. This appears to be a real error and regression
introduced with #20744.

On windows (or at least wine), fs calls that actuallly access the
filesystem like fs::equivalent or fs::exists seem to treat directory
paths with trailing slashes as not existing, so it's necessary to
normalize these paths before using them. This change passes canonical
paths to fs calls validating the -walletdir path to fix this.
2022-02-04 09:10:19 -05:00
Ryan Ofsky
80cd64e842 Re-enable util_datadir check disabled in #20744
This should also fix an assert error if a -datadir with a trailing slash
is used on windows. This appears to be a real error and regression
introduced with #20744.

On windows (or at least wine), fs calls that actuallly access the
filesystem like fs::equivalent or fs::exists seem to treat directory
paths with trailing slashes as not existing, so it's necessary to
normalize these paths before using them. This fix adds a
path::lexically_normal() call to the failing assert so it passes.
2022-02-04 09:09:09 -05:00
laanwj
a5edd191be
Merge bitcoin/bitcoin#22151: build: Follow Transifex docs to prepare XLIFF source
985d85e9a8d3dd6e52fef27f76b49c5aa4b34f30 Follow Transifex docs to prepare XLIFF source (Hennadii Stepanov)

Pull request description:

  This PR is a #21694 follow up.

  From the Transifex [docs](https://docs.transifex.com/formats/xliff#how-to-distinguish-between-a-source-file-and-a-translation-file):
  > A source file is different than a translation file. The translation file contains \<Target> references, whereas a source file does not.

  This PR makes the `qt/locale/bitcoin_en.xlf` source file according to the docs.

ACKs for top commit:
  laanwj:
    ACK 985d85e9a8d3dd6e52fef27f76b49c5aa4b34f30

Tree-SHA512: 537ef78f39a12f094b17fc902c5b59c7ae4d27e5fa35fbf6b33386843e4521236dac3275ba26ff2d1c435e53e8942284644d5de67b0b3543cec96cbcd4351607
2022-02-04 13:43:36 +01:00
Hennadii Stepanov
5c6b3d5b35
Merge bitcoin-core/gui#524: Replace int with std::chrono in for the timer->setInterval() argument
f7a19ef774ef92ce348215593e3590a750c345e1 qt,refactor: Use std::chrono in TrafficGraphWidget class (Shashwat)

Pull request description:

  The PR is a follow-up to #517

  - It addresses the change suggested in [this](https://github.com/bitcoin-core/gui/pull/517#pullrequestreview-850260826) comment.
  - This PR changes the type of `msecsPerSample` from **int** to **std::chrono::minutes** and makes other relevant subsequent changes that were limited to the **trafficgraphwidget** file.

ACKs for top commit:
  RandyMcMillan:
    tACK f7a19ef774ef92ce348215593e3590a750c345e1
  hebasto:
    ACK f7a19ef774ef92ce348215593e3590a750c345e1
  promag:
    Code review ACK f7a19ef774ef92ce348215593e3590a750c345e1.

Tree-SHA512: 5094ba894f3051fc99148cb8f408fc6f9d6571188673dcb7bf24366cdfb3eaf6d4e41083685d578ad2a9fbe31cc491a5f3fa9b7c9ab6eb90e4dc1356f89ae18a
2022-02-04 12:39:07 +02:00
laanwj
515200298b
Merge bitcoin/bitcoin#24250: Update translations for 0.23 string freeze
04255073bbd2b8ea71ae8a9ff7433be499312758 qt: Update source translations (laanwj)
cf79c56e65595612d899f0551348656b00d1108f init: Remove confusing '(possible integer overflow?)' from error message (laanwj)
d570a63894d5285d350b628b47014abba280743f qt: Update transifex resource blob to 23.0 (laanwj)

Pull request description:

  - Update translations for 0.23 string freeze
  - Update transifex resource blob to 23.0

  This is necessary before a 23.0 resource can be created on Transifex.

ACKs for top commit:
  hebasto:
    ACK 04255073bbd2b8ea71ae8a9ff7433be499312758

Tree-SHA512: ff886e92721f070e3c135cfec229c41848a67c02355b88f2a5a507241b545f4209167d83b561420c2a82f49a5994170b01dcfb95bfc3fe6b9c832abcc6547b14
2022-02-04 09:25:36 +01:00
laanwj
e8a3882e20
Merge bitcoin/bitcoin#23604: Use Sock in CNode
ef5014d256638735b292672c774446db4003f03b style: wrap long lines in CNode creation and add some comments (Vasil Dimov)
b68349164827f14c472201cad54c4e19a3321261 scripted-diff: rename CNode::cs_hSocket to CNode::m_sock_mutex (Vasil Dimov)
c41a1162ac4da437c5d755e8fe2bf636bed22b0f net: use Sock in CNode (Vasil Dimov)
c5dd72e146dd8fa77d29c8689a42322a4d1ec780 fuzz: move FuzzedSock earlier in src/test/fuzz/util.h (Vasil Dimov)

Pull request description:

  _This is a piece of #21878, chopped off to ease review._

  Change `CNode` to use a pointer to `Sock` instead of a bare `SOCKET`.
  This will help mocking / testing / fuzzing more code.

ACKs for top commit:
  jonatack:
    re-ACK ef5014d256638735b292672c774446db4003f03b changes since last review are the removal of an unneeded dtor and the addition of a style commit
  w0xlt:
    reACK ef5014d
  PastaPastaPasta:
    utACK ef5014d256638735b292672c774446db4003f03b, I have reviewed the code, and believe it makes sense to merge
  theStack:
    Cod-review ACK ef5014d256638735b292672c774446db4003f03b

Tree-SHA512: 7f5414dd339cd2f16f7cbdc5fcec238d68b6d50072934aea10b901f409da28ff1ece6db6e899196616aa8127b8b25ab5b86d000bdcee58b4cadd7a3c1cf560c5
2022-02-04 09:24:17 +01:00
Anthony Towns
e5f0356e3f rpc/blockchain: rename getdeploymentinfo tip/active_chain_tip to blockindex 2022-02-04 13:43:52 +10:00
MarcoFalke
fa1b227a72
Remove broken and unused CDataStream methods 2022-02-03 20:16:50 +01:00
MarcoFalke
faee5f8dc2
test: Create fresh CDataStream each time
Can be reviewed with --ignore-all-space
2022-02-03 20:16:41 +01:00
MarcoFalke
fa71114926
test: Inline expected_xor 2022-02-03 20:16:39 +01:00
MarcoFalke
3ace3a17c9
Merge bitcoin/bitcoin#20744: Use std::filesystem. Remove Boost Filesystem & System
07269321f38e46e9e02f16d7cd135ea90692638d build: remove Boost::system usage (fanquake)
b87f9c5edf3895df9650131fcf8551c3ad1d7301 build: remove boost::filesystem usage (Kiminuo)
41d7166c8a598b604aad6c6b1d88ad46e23be247 refactor: replace boost::filesystem with std::filesystem (Kiminuo)
ffc89d1f21258553c0087b774a9ea1ce84139d4f build: add support for std::filesystem (fanquake)

Pull request description:

  This PR replaces our Boost Filesystem usage with [`std::filesystem`](https://en.cppreference.com/w/cpp/filesystem) and includes dropping Boost System as a dependency. It includes a squashed down version of the changes from #19245.

  [A macro has been added](7002c4ade0), modelling how we check for `-latomic` to facilitate linking with `-lstdc++fs` when required. This is  ~GCC < 9.1 & ~Clang < 9.0, however not always. i.e you could be using Clang 7 on top of a GCC 9 installation (i.e Ubuntu Focal) and use `<filesystem>` without passing any additional arguments. I've tested this with GCC 8 on Bionic, Clang 7 on Focal & with Apple Clang 12.0.0 on macOS.

  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
  c1f9b326f9be4140f00cebeae5ff8de428a2fb8ecced539fcc36c53f53bfecf4  guix-build-07269321f38e/output/aarch64-linux-gnu/SHA256SUMS.part
  b44aca3bcf5ea92a3a6c48c24d6f85576f425f59b73528d4d00c20e950cf2128  guix-build-07269321f38e/output/aarch64-linux-gnu/bitcoin-07269321f38e-aarch64-linux-gnu-debug.tar.gz
  27a5553f7bd14797293fc40c5fb131c91e98a61d5481a283f13a1d0497eb5ed8  guix-build-07269321f38e/output/aarch64-linux-gnu/bitcoin-07269321f38e-aarch64-linux-gnu.tar.gz
  99e55a88823f6095864a09c9eaa824e24d9ec527380eb394f751c7205b930f69  guix-build-07269321f38e/output/arm-linux-gnueabihf/SHA256SUMS.part
  b720b2724fa47fde584f58ed3b587f1d1183523540777fd367ab7e582605cfea  guix-build-07269321f38e/output/arm-linux-gnueabihf/bitcoin-07269321f38e-arm-linux-gnueabihf-debug.tar.gz
  c19c247f4e9e0d7f888ac8ba9de1c12d382f48fa828a685d4fe02818a18abd1f  guix-build-07269321f38e/output/arm-linux-gnueabihf/bitcoin-07269321f38e-arm-linux-gnueabihf.tar.gz
  55b49ccb38de03bb95101354a16fd8d2190abede5ccc0d9b00b40c0cd526a2f6  guix-build-07269321f38e/output/arm64-apple-darwin/SHA256SUMS.part
  baa44752470a6be9acae1c2f8fd1b9bc37afb00971787ea11fbaeddc9ab7c4aa  guix-build-07269321f38e/output/arm64-apple-darwin/bitcoin-07269321f38e-arm64-apple-darwin.tar.gz
  ad7df4d8026d5bcce1321cdccc2e1820e8a8bb7e1064ed16e20a7ea354057fd2  guix-build-07269321f38e/output/arm64-apple-darwin/bitcoin-07269321f38e-osx-unsigned.dmg
  f342066dc34a14d67c47779a2413a14633a996e8e7ddca89ae0184e23ef99efd  guix-build-07269321f38e/output/arm64-apple-darwin/bitcoin-07269321f38e-osx-unsigned.tar.gz
  f6905346a5d48f57805fb062d0247ab5007c89047070a0b3125941dd1a2b8aa6  guix-build-07269321f38e/output/dist-archive/bitcoin-07269321f38e.tar.gz
  a1f6c4b2b118dbd89770801f0bcffd2218b82df408cd227e34c40493469bb7a2  guix-build-07269321f38e/output/powerpc64-linux-gnu/SHA256SUMS.part
  ba8359426e523bf013d93579c1bedc57380214c8170a9743b64ec1a8a3bbccbf  guix-build-07269321f38e/output/powerpc64-linux-gnu/bitcoin-07269321f38e-powerpc64-linux-gnu-debug.tar.gz
  b0bb500c274a683ea28ecbc1e8f18c618a9f8acb00045f80ae43c515288402c0  guix-build-07269321f38e/output/powerpc64-linux-gnu/bitcoin-07269321f38e-powerpc64-linux-gnu.tar.gz
  38c85e9589e092cd3aa08996aa383c0ccd5c73208943389741355a6eb7f72537  guix-build-07269321f38e/output/powerpc64le-linux-gnu/SHA256SUMS.part
  50fcba7942ff48d91e84c093fda0affc17e46167fe1d5137c6e14c5c41f289d1  guix-build-07269321f38e/output/powerpc64le-linux-gnu/bitcoin-07269321f38e-powerpc64le-linux-gnu-debug.tar.gz
  fa08ef1ceca072e014faa95ffee945954b2976fa28f90926b87ab0e5f15f8ca5  guix-build-07269321f38e/output/powerpc64le-linux-gnu/bitcoin-07269321f38e-powerpc64le-linux-gnu.tar.gz
  e52dd80a9c306d6aeb544acaa1f4ed560b6b92b5184764a05026d45451aa2e94  guix-build-07269321f38e/output/riscv64-linux-gnu/SHA256SUMS.part
  864e0a16c485b4159cec3ee0a83b046f1b1c3bc821670011c5ac5cd09ddfb91f  guix-build-07269321f38e/output/riscv64-linux-gnu/bitcoin-07269321f38e-riscv64-linux-gnu-debug.tar.gz
  4a061172181322e7ad0cf06405bf74f4c8683eaba3a67ecfd46158cba7627f62  guix-build-07269321f38e/output/riscv64-linux-gnu/bitcoin-07269321f38e-riscv64-linux-gnu.tar.gz
  876d82251853205420dffe7237523fc6ee3d09f78bf74cc03dc71f548446f335  guix-build-07269321f38e/output/x86_64-apple-darwin/SHA256SUMS.part
  3f82b2e62c60eee68e7b8fc28e4792e069e3c2cd780ee2d67290ca422cdbc47c  guix-build-07269321f38e/output/x86_64-apple-darwin/bitcoin-07269321f38e-osx-unsigned.dmg
  4ccdd4c410cac9d627e54ce83ee4816608681735da3cb93c60c5eb70ca86337a  guix-build-07269321f38e/output/x86_64-apple-darwin/bitcoin-07269321f38e-osx-unsigned.tar.gz
  2179d36b2f60e28c15262d4e51f27465b5ae077f60e550345e125683ca611066  guix-build-07269321f38e/output/x86_64-apple-darwin/bitcoin-07269321f38e-osx64.tar.gz
  b377e72fe84b6a982b8d414d60c85e6319523dff50dc852a0ba907f6d850ddd0  guix-build-07269321f38e/output/x86_64-linux-gnu/SHA256SUMS.part
  8547e2f582ce05ae6a6224793b64efb2eb63f2816bf0bed5d53fcc4786274597  guix-build-07269321f38e/output/x86_64-linux-gnu/bitcoin-07269321f38e-x86_64-linux-gnu-debug.tar.gz
  83b64805aa39f31a6fa4c2ed41e029c3be084e6dea06b90fac1ebca5c95bce29  guix-build-07269321f38e/output/x86_64-linux-gnu/bitcoin-07269321f38e-x86_64-linux-gnu.tar.gz
  ```

ACKs for top commit:
  laanwj:
    Code review ACK 07269321f38e46e9e02f16d7cd135ea90692638d
  MarcoFalke:
    Concept ACK 07269321f38e46e9e02f16d7cd135ea90692638d 🎀
  hebasto:
    ACK 07269321f38e46e9e02f16d7cd135ea90692638d

Tree-SHA512: 1f11614467d2013ed799f23c1c14716570f4c798f231671c731a69c7773ef32a0aa2acc69d4ac2f1f176ef6f160f56566c6bd75c9c059a0e82ab4c58d2b2a750
2022-02-03 15:50:10 +01:00
laanwj
04255073bb qt: Update source translations 2022-02-03 13:37:18 +01:00
laanwj
cf79c56e65 init: Remove confusing '(possible integer overflow?)' from error message 2022-02-03 13:36:56 +01:00
laanwj
d570a63894 qt: Update transifex resource blob to 23.0 2022-02-03 13:18:28 +01: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
Kiminuo
41d7166c8a
refactor: replace boost::filesystem with std::filesystem
Warning: Replacing fs::system_complete calls with fs::absolute calls
in this commit may cause minor changes in behaviour because fs::absolute
no longer strips trailing slashes; however these changes are believed to
be safe.

Co-authored-by: Russell Yanofsky <russ@yanofsky.org>
Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
2022-02-03 18:35:52 +08:00
fanquake
ffc89d1f21
build: add support for std::filesystem
Add a macro to check if linking with -lstdc++fs or -lc++fs is required.
2022-02-03 18:35:41 +08:00
fanquake
c194293883
Merge bitcoin/bitcoin#24131: build, qt: Fix Windows cross-compiling with Qt 5.15
9796dcacdc3841ab6e3359bd5ca67a5f634bf176 doc: Install only "-posix" MinGW compiler when possible (Hennadii Stepanov)
0bbae237a8e0122b97c5c71bc85bc845e26d5b47 ci: Drop no longer needed `update-alternatives` (Hennadii Stepanov)
01d1845a80ae48d741deea695ddce95d940ab0d8 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
01e121d29087db047e4bc01bd64d054f83cfc5df depends: fix capnp's descriptor for make download (Cory Fields)

Pull request description:

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

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

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

Tree-SHA512: 2605d895f3799be5a311f6f7d36a5c13cdb715dc148915ad818f4afc7d5de92cd6b8ecd34ff2b21cef6743b090819bba1e3353096cfb5659c55f76113ce5adf3
2022-02-03 10:44:17 +08:00
laanwj
c545a7aeb1
Merge bitcoin/bitcoin#23948: build: add support for FreeBSD to depends
ae9175f6086aa6c177084365c795e78c580eac1d 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 ae9175f6086aa6c177084365c795e78c580eac1d

Tree-SHA512: 1ecc7855f0195f68c96e534bd77ce17c3975db1dfb3caa35302c2b46643c8c30f75b1c2e1735cf69f1eddb70447d11e67e7f339ef5497336cdff7a59b32be961
2022-02-02 20:00:53 +01:00
laanwj
df669230cf
Merge bitcoin/bitcoin#24166: p2p, contrib: add cjdns hardcoded seeds and update the i2p seeds
bcc5676f16d86a2d271e0d822d836d9c47ef298b p2p, contrib: update i2p hardcoded seeds (Jon Atack)
e5332425fc9527645aade0c7509c4c3f72e9fe95 p2p, contrib: add cjdns hardcoded seeds (Jon Atack)

Pull request description:

  This update targets the v23 release.  Additional reliable CJDNS seeds, and feedback on the I2P seeds, is welcome.  To verify `src/chainparamsseeds.h` locally, run:
  ```
  contrib/seeds/generate-seeds.py contrib/seeds > src/chainparamsseeds.h
  ```

ACKs for top commit:
  laanwj:
    Code review ACK bcc5676f16d86a2d271e0d822d836d9c47ef298b
  lsilva01:
    tACK bcc5676

Tree-SHA512: 40b1bbb89b9677e1e88c17ac279d6ff5a8ea9f4a1e1ef07e2b71074471308da4760b69cf5130134082c25e7caf4ded02bcc89bd75fae68c2834c64c230e82ac4
2022-02-02 19:38:07 +01:00
laanwj
56a0fbf836
Merge bitcoin/bitcoin#24156: build: Replace which command with command -v
148b33cf72033eced8a701d127e21dfe8a816ce3 build: Replace `which` command with `command -v` (Hennadii Stepanov)

Pull request description:

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

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

  Fixes bitcoin/bitcoin#24056.

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

Tree-SHA512: 36ee45d8831afb75a1ba6f8c8491fa5381159a2b86042140ac09037752f74e92d3e725caa793b8e97c36afe03ada0b557eede95df2bec049173c27f32ffc804a
2022-02-02 19:24:37 +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
9796dcacdc
doc: Install only "-posix" MinGW compiler when possible 2022-02-02 19:29:01 +02:00
Hennadii Stepanov
0bbae237a8
ci: Drop no longer needed update-alternatives 2022-02-02 19:29:01 +02: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
Sebastian Falbesoner
0c49e52b22 build: remove unneeded getentropy detection (HAVE_GETENTROPY) 2022-02-02 17:22:42 +01:00
Sebastian Falbesoner
5cd15ffdce random: use arc4random on OpenBSD
Following best practices on OpenBSD. The getentropy(2) man page states:
"getentropy() is not intended for regular code;
 please use the arc4random(3) family of functions instead."
2022-02-02 15:35:26 +01:00
MarcoFalke
fad81548fa
test: Avoid testing negative block heights 2022-02-02 15:32:06 +01:00