aboutsummaryrefslogtreecommitdiff
path: root/depends
AgeCommit message (Collapse)Author
2024-03-14depends: always configure with --with-picfanquake
We currently do this sporadically. Not only amongst packages, but across OS's, i.e sometimes it's done for BSDs/Android, and sometimes not. Configure with `--with-pic` globally instead. I think this generally makes more sense, and should not have any downsides. See related discussion in https://github.com/bitcoin/bitcoin/pull/28846#discussion_r1399123100.
2024-03-14depends: drop 1 qt determinism patchfanquake
No-longer required now that we are building with GCC 12.
2024-03-08depends: don't use -h with touch on OpenBSDfanquake
Should fix #29447.
2024-02-18depends: fix BDB compilation on OpenBSDSebastian Falbesoner
Compiling C++ code with `-D_XOPEN_SOURCE=600` causes problems on OpenBSD. If that define is set, the C++ standard header detection routine in BDB's configure script fails. This results in `HAVE_CXX_STDHEADERS` not being defined, which then it turn leads to the inclusion of `<iostream.h>` (rather than `<iostream>`), which doesn't exist. According to a mailing list post discussing a similar problem [1], "OpenBSD provides the POSIX APIs by default", so we don't need this define anyway and can remove it. This fixes the BDB build problem as described in issue #28963. Tested on OpenBSD 7.4 with clang 13.0.0. [1] https://www.mail-archive.com/tech@openbsd.org/msg63386.html
2024-01-29Merge bitcoin/bitcoin#29298: depends: patch libool out of libnatpmp/miniupnpcfanquake
5b9d5bf866506b22270598aa2dc1269bc02e38e2 depends: remove (darwin) libtool now that it's no longer used (Cory Fields) 3ef6563495428d605409089b2267e18f2bf491f9 depends: use ar rather than libtool for miniupnpc/libnatpmp (Cory Fields) Pull request description: An alternative to https://github.com/bitcoin/bitcoin/pull/29232 Rather than switching to the CMake builds which [proved problematic](https://github.com/bitcoin/bitcoin/pull/29232#issuecomment-1898513919), do the quick and dirty thing of just patching out libtool. Doesn't seem to introduce any new issues. This should buy us time to upstream the necessary CMake fixes. ACKs for top commit: TheCharlatan: ACK 5b9d5bf866506b22270598aa2dc1269bc02e38e2 fanquake: ACK 5b9d5bf866506b22270598aa2dc1269bc02e38e2 Tree-SHA512: c75c4bcc9332d8c1fc3395e2b5fc7265849186afc7005700f662ab291e6ea1f111025fad733d0b0b39d35029d1b757d3f1937d63aad3c0c3b88d0f8ac902ee18
2024-01-26depends: remove (darwin) libtool now that it's no longer usedCory Fields
Note that this is completely unrelated to gnu usage of libtool.
2024-01-26depends: use ar rather than libtool for miniupnpc/libnatpmpCory Fields
2024-01-25depends: Do not override CFLAGS when building SQLite with DEBUG=1Hennadii Stepanov
The `--enable-debug` configure option for the SQLite package does two things. It adds three preprocessor definitions and overrides CFLAGS with "-g -O0". The latter breaks the user's ability to provide sanitizer and LTO flags.
2024-01-25depends: Ensure definitions are passed when building SQLite with DEBUG=1Hennadii Stepanov
The SQLite build system overrides the `CFLAGS` when is configured with the `--enable-debug` option.
2024-01-23Merge bitcoin/bitcoin#29276: depends: Update libmultiprocess library to fix ↵fanquake
C++20 macos build error b8105b3ed7c97cd6545dba99d0e13c33f183e450 depends: Update libmultiprocess library to fix C++20 macos build error (Ryan Ofsky) Pull request description: Fixes #29248 The std::result_of type was removed in c++20, but was being referenced in some old, unused code in the library. The issue was fixed in: - https://github.com/chaincodelabs/libmultiprocess/pull/91 This update also includes other recent libmultiprocess changes to improve C++20 support and fix build issues: - https://github.com/chaincodelabs/libmultiprocess/pull/89 - https://github.com/chaincodelabs/libmultiprocess/pull/90 - https://github.com/chaincodelabs/libmultiprocess/pull/93 ACKs for top commit: fanquake: ACK b8105b3ed7c97cd6545dba99d0e13c33f183e450. Tree-SHA512: 2ca64b5fc27be752baba38df4b4faf62152e18c70ead6e0e063f1cb0c25dd5d924dec7ebfd7f8bbd651ae50eb35e8d8b591a9847c36f22558b5f5effccf56536
2024-01-22depends: Update libmultiprocess library to fix C++20 macos build errorRyan Ofsky
Fixes #29248 The std::result_of type was removed in c++20, but was being referenced in some old, unused code in the library. The issue was fixed in: https://github.com/chaincodelabs/libmultiprocess/pull/91 util: Drop Bind, BindTuple, ComposeFn, GetFn, and ThrowFn helpers This update also includes other recent libmultiprocess changes to improve C++20 support and fix build issues: https://github.com/chaincodelabs/libmultiprocess/pull/89 pkgconfig: Drop -std=c++17 compile flag https://github.com/chaincodelabs/libmultiprocess/pull/90 pkgconfig: Use @CMAKE_INSTALL_LIBDIR@ variable https://github.com/chaincodelabs/libmultiprocess/pull/93 Fix support for vector<bool> serialization with libc++
2024-01-19Merge bitcoin/bitcoin#29249: depends: add NM output to gen_idfanquake
6ec2813cd88d5f0b955d746e4711a8ad256ea47f depends: add NM output to gen_id (fanquake) Pull request description: `NM` is part of the current toolset, and can be set by the user. Include it in `gen_id`. ACKs for top commit: TheCharlatan: Re-ACK 6ec2813cd88d5f0b955d746e4711a8ad256ea47f Tree-SHA512: 2ada61e03783f9eb441f285ef5da50557ad729cb52ce2d2c4b2c38103dab29920a26262d4545fd2ac7fbf1cedc4902cd2359833544fbc0debf829c12a63e9769
2024-01-16build: move -mlinker-version to *FLAGSfanquake
This doesn't need to exist in C & CXX.
2024-01-16depends: deduplicate use of mmacosx-version-min in macOS buildfanquake
2024-01-16depends: add NM output to gen_idfanquake
2024-01-16Merge bitcoin/bitcoin#29185: build: remove `--enable-lto`fanquake
2d1b1c7daeeada3f737e62ceb2db7484cde5ff4e build: remove --enable-lto (fanquake) Pull request description: This has outlived its usefulness, doesn't gel well with newer compilers & `-flto` related options, i.e thin vs full, or `=auto`, and having `-flto` as the only option means that sometimes this just needs to be worked around, i.e in oss-fuzz: https://github.com/google/oss-fuzz/blob/master/projects/bitcoin-core/build.sh. While it was convenient when `-flto` was newer, support for `-flto` is now in all compilers we use, and there's also no-longer any real need for us to treat `-flto` different to any other optimization option. Remove it, to remove build complexity, and so there's no need to port a similar option to CMake. Note that the LTO option remains in depends, because we still a way to build packages that have LTO specific patches/options. ACKs for top commit: TheCharlatan: ACK 2d1b1c7daeeada3f737e62ceb2db7484cde5ff4e hebasto: ACK 2d1b1c7daeeada3f737e62ceb2db7484cde5ff4e. Tree-SHA512: 91812de7da35346f51850714a188fcffbac478bc8b348bf756c2555fcbde86ba622ac2fb77d294dea0378c741d3656f06121ef3a795aeed63fd170fc31bfa5af
2024-01-11[depends] Allow PATH with spaces in directory names.Mark Friedenbach
added test and update code based on feedback
2024-01-11Merge bitcoin/bitcoin#28870: depends: Include `config.guess` and ↵fanquake
`config.sub` into `meta_depends` ff3f51b402efe6dc0b4bd14aecb9b58c2815c6e4 depends: Include `config.guess` and `config.sub` into `meta_depends` (Hennadii Stepanov) Pull request description: ACKs for top commit: theuni: ACK ff3f51b402efe6dc0b4bd14aecb9b58c2815c6e4. Tree-SHA512: e8575473d3fca2293181131c76bd6d43017fe753d2e670c53227a646b64b069dc542a0fc50a77b43e74bc6a0c0159ffa2fb1c3ff3aef9625684e0f78c16ad960
2024-01-08build: Drop `ALLOW_HOST_PACKAGES` support in dependsHennadii Stepanov
The `ALLOW_HOST_PACKAGES` variable was introduced in bitcoin#10508 "to speed up build and avoid timeout". It is no longer the case for our CI infrastructure, which uses self- hosted persistent workers and depends caching. In the current circumstances, it does not seem worth porting this feature to the upcoming CMake-based build system.
2024-01-05build: remove --enable-ltofanquake
This has outlived its usefulness, doesn't gel well with newer compilers & `-flto` related options, i.e thin vs full, or `=auto`, and having `-flto` as the only option means that sometimes this just needs to be worked around, i.e in oss-fuzz: https://github.com/google/oss-fuzz/blob/master/projects/bitcoin-core/build.sh. While it was convenient when `-flto` was newer, support for `-flto` is now in all compilers we use, and there's also no-longer any real need for us to treat `-flto` different to any other optimization option. Remove it, to remove build complexity, and so there's no need to port a similar option to CMake. Note that the LTO option remains in depends, because we still a way to build packages that have LTO specific patches/options. If we decide to merge this, I'll follow up downstream in oss-fuzz first, to make sure we don't break the build.
2024-01-04Revert "depends: systemtap: remove variadic params that trigger compiler ↵fanquake
warnings" This reverts commit df7ae8b7ca9cf53357d6a1c6bb70a2e40d2a1017.
2023-12-21depends: patch around non-determinism in qtfanquake
2023-12-21build: rename native_clang to native_llvmfanquake
This is more correct, as this is downloading LLVM, and already unpacking and using more than just clang.
2023-12-21Revert "build: Patch Qt to handle minimum macOS version properly"fanquake
This reverts commit 05aca093819be276ac7d648472c6ed5c7d235cc5.
2023-12-21build: Bump `native_clang` up to 17.0.6Hennadii Stepanov
2023-12-12depends: build libmultiprocess with position independant codefanquake
This matches what we do with all other dependencies, see `--with-pic`, and fixes build failures, like #26943.
2023-12-12depends: always install libmultiprocess to /libfanquake
On some systems, libmultiprocess would be installed into `lib64`, I assume due to the use of GNUInstallDirs, however all other libs we build in depends, go into lib/. Rather than adding lib64/ to the pkg-config and link flags, I opted for always installing into lib/. This was changed in https://github.com/chaincodelabs/libmultiprocess/pull/79 upstream. Co-authored-by: Ryan Ofsky <ryan@ofsky.org>
2023-12-12depends: always install capnp to /libfanquake
On some systems, capnp would be installed into `lib64`, I assume due to the use of GNUInstallDirs, however all other libs we build in depends, go into lib/. Rather than adding lib64/ to the pkg-config and link flags, I opted for always installing into lib/. Co-authored-by: Ryan Ofsky <ryan@ofsky.org>
2023-12-07build: Require C++20 compilerMarcoFalke
2023-12-07Merge bitcoin/bitcoin#28622: build: use macOS 14 SDK (Xcode 15.0)fanquake
8ea45e626e5a0482ee11d4376f961d8126ce7c7b build: use macOS 14 SDK (Xcode 15.0) (fanquake) 51c97ffb6989a4cf56ad966d360a9fa0426e174c build: patch boost process for macOS 14 SDK (fanquake) 423949a13b39a193dff8b2758d23d6691d11dbc3 depends: add -platform_version to macOS build flags (fanquake) Pull request description: This fixes: https://github.com/bitcoin/bitcoin/pull/28349#issuecomment-1748515277 (cross-compiling with C++20 for macOS). See https://developer.apple.com/xcode/cpp/#c++20 for C++20 support in Apples libc++, some features landed with Xcode 14.3, although many more landed with Xcode 15.0. ACKs for top commit: hebasto: ACK 8ea45e626e5a0482ee11d4376f961d8126ce7c7b. TheCharlatan: ACK 8ea45e626e5a0482ee11d4376f961d8126ce7c7b Tree-SHA512: 274ce2c9b9f8e4d755c07b8d0d4897a7f92708ac64e6afb7a3f75bdb485e863fc7f40badf3a88b129ce36f6cca72f768dc2ed7fba2bdf0bb6da2bf0c8fedee10
2023-12-05build: use macOS 14 SDK (Xcode 15.0)fanquake
2023-12-05build: patch boost process for macOS 14 SDKfanquake
2023-12-05depends: add -platform_version to macOS build flagsfanquake
```bash -platform_version platform min_version sdk_version This is set to indicate the platform, oldest supported version of that platform that output is to be used on, and the SDK that the output was built against. ```
2023-12-04depends: Build `native_capnp` package with CMakeHennadii Stepanov
2023-12-04depends: Build `capnp` package with CMakeHennadii Stepanov
This change fixes the `capnp` package cross-compiling for the `x86_64-w64-mingw32` and `arm64-apple-darwin` platforms.
2023-12-01Merge bitcoin/bitcoin#28851: build: Patch Qt to handle minimum macOS version ↵fanquake
properly 05aca093819be276ac7d648472c6ed5c7d235cc5 build: Patch Qt to handle minimum macOS version properly (Hennadii Stepanov) Pull request description: This PR is: - required to [switch](https://github.com/bitcoin/bitcoin/pull/28622) to macOS 14 SDK (Xcode 15). - an alternative to https://github.com/bitcoin/bitcoin/pull/28732 and https://github.com/bitcoin/bitcoin/pull/28775. Qt relies on the `__MAC_OS_X_VERSION_MIN_REQUIRED` macro, which is set in the `AvailabilityInternal.h` SDK header to the value provided by the Clang driver from the `-mmacos-version-min` / `-mmacosx-version-min` option. Xcode 12 SDK expects the OS-specific `__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__` macro: ```c++ #ifndef __MAC_OS_X_VERSION_MIN_REQUIRED #ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ /* compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ */ #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ #endif #endif /* __MAC_OS_X_VERSION_MIN_REQUIRED*/ ``` In the other hand, Xcode 15 SDK expects a general `__ENVIRONMENT_OS_VERSION_MIN_REQUIRED__` macro: ```c++ #ifndef __MAC_OS_X_VERSION_MIN_REQUIRED #if defined(__has_builtin) && __has_builtin(__is_target_os) #if __is_target_os(macos) #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_14_0 #endif #elif __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_14_0 #endif /* __has_builtin(__is_target_os) && __is_target_os(macos) */ #endif /* __MAC_OS_X_VERSION_MIN_REQUIRED */ ``` The latter macro is not provided by LLVM Clang until https://github.com/llvm/llvm-project/commit/c8e2dd8c6f490b68e41fe663b44535a8a21dfeab, which is available in Clang 17. The suggested patch makes Qt "borrow" the `__MAC_OS_X_VERSION_MIN_REQUIRED` value from `MAC_OS_X_VERSION_MIN_REQUIRED`, which is set in the `AvailabilityMacros.h` SDK header. ACKs for top commit: maflcko: lgtm ACK 05aca093819be276ac7d648472c6ed5c7d235cc5 Tree-SHA512: 8891aefde4b8a48885abf0648f4ec71a22f7fcfca1e17ebb8c70ce1ef44751ea5db6b8b652de6ee8a716ca5f96f720fef01600bc23986162d0146c946e2e8743
2023-11-30ci: remove libz-dev from macOS build depsfanquake
Remove no-longer used libz-dev (from DMG compression). Followup to #28432. Missed this in #28932.
2023-11-23ci: remove python3-setuptools from mac build depsfanquake
2023-11-17depends: bump libmultiprocess to fix capnproto deprecation warningsRyan Ofsky
This incorporates PR https://github.com/chaincodelabs/libmultiprocess/pull/88 "Fix current deprecation warnings as of capnproto-1.0.1" and reverts the NO_WERROR CI workaround added in https://github.com/bitcoin/bitcoin/pull/28735
2023-11-16Merge bitcoin/bitcoin#28605: Fix typosfanquake
43de4d3630274e1287179c86896ed4c2d8b9eff4 doc: fix typos (Sjors Provoost) Pull request description: This PR fixes typos found by lint-spelling.py using codespell 2.2.6. Our CI linter job uses codespell 2.2.5 and found fewer typos that I did locally. In any case it's happy now. ACKs for top commit: pablomartin4btc: re ACK 43de4d3630274e1287179c86896ed4c2d8b9eff4 Tree-SHA512: c032fe86cb49c924a468385653b31f309a9db68c478d70335bba3e65a1ff3826abe80284fe00a090ab5a509e1edbf17e476f6922fb15d055e50f1103dad2ccb0
2023-11-16Merge bitcoin/bitcoin#28845: depends: remove `PYTHONPATH` from config.sitefanquake
3b19100303e70315c31d7aa3a3fd38d58131246f depends: remove PYTHONPATH from config.site (fanquake) Pull request description: We no-longer need this, as we no-longer build python packages. ACKs for top commit: hebasto: ACK 3b19100303e70315c31d7aa3a3fd38d58131246f, this PR effectively reverts no longer needed de619a37fd18a17225c8a10b828fc61958abe4cf. Tree-SHA512: 775354773f83fc98922f1d4ee84d8f1e866fb6fb2a59a3eaf06a7a5f0d846f7dc1b84862c58195dfb91ddfb02b2dc86bee78b51459f91c65a5b1464df9f3c53c
2023-11-15doc: remove x86_64 build assumption from depends docfanquake
This dates from the introduction of depends, and has not been the case for some time now.
2023-11-14depends: remove PYTHONPATH from config.sitefanquake
We no-longer need this, as we no-longer build python packages. Effectively reverts de619a37fd18a17225c8a10b828fc61958abe4cf.
2023-11-14depends: Include `config.guess` and `config.sub` into `meta_depends`Hennadii Stepanov
2023-11-14Merge bitcoin/bitcoin#28781: depends: latest config.guess & config.subfanquake
49a92579c705831c7ffbcfb24cdf17a94e9a11a0 build: latest config.sub in depends (fanquake) ced0435a718ddda1451fb49af03bef07ca25b333 build: latest config.guess in depends (fanquake) Pull request description: Before we make any local modifications (i.e #28733) pull the latest files from upstream. ACKs for top commit: TheCharlatan: ACK 49a92579c705831c7ffbcfb24cdf17a94e9a11a0 Tree-SHA512: fbbe0d6ef72a196a652467af0550b38da23b932fe68da4965a9b0dc4795db9c869969db98f660cd360f6af3a7659b46c25e3fd398e0ef127dae71726b9a915a6
2023-11-10build: Patch Qt to handle minimum macOS version properlyHennadii Stepanov
This change is required to switch to macOS 14 SDK (Xcode 15).
2023-11-07doc: fix typosSjors Provoost
As found by lint-spelling.py using codespell 2.2.6.
2023-11-05Merge bitcoin/bitcoin#28735: depends: Bump to capnproto-c++-1.0.1fanquake
3333f14efac815ba3c885398a6795c7e8ce68d08 depends: Bump to capnproto-c++-1.0.1 (MarcoFalke) Pull request description: Reasons: * Debian is starting to ship this version in Trixie (https://packages.debian.org/trixie/capnproto), which will likely become the version shipped with Ubuntu 24.04 LTS. So testing with this version will help to find any issues before real users start to use those distro packages. * The feature is currently experimental, so bumping the version shouldn't cause any production issues. * With multiprocess begin a priority project for 27.0, it seems better to do build system changes/bumps early, rather than later, to allow for more time testing them. ACKs for top commit: TheCharlatan: Re-ACK 3333f14efac815ba3c885398a6795c7e8ce68d08 fanquake: ACK 3333f14efac815ba3c885398a6795c7e8ce68d08 - the response from upstream is that [if we submit a PR, they can take a look](https://github.com/capnproto/capnproto/issues/1833#issuecomment-1792582206), so if anyone would like this to work for Windows, I'd suggest sending a patch. ryanofsky: Code review ACK 3333f14efac815ba3c885398a6795c7e8ce68d08 Tree-SHA512: 7d53ad1536f042ab43dbc7847126b826e7fc76694f173c348b835fd1067b8f3dd682c5bcb4887f09ee85bab69130721cd7f8fb96b2e82053d4e28bd5c38bdc5f
2023-11-03depends: Bump to capnproto-c++-1.0.1MarcoFalke
2023-11-03build: latest config.sub in dependsfanquake