Commit Graph

216 Commits

Author SHA1 Message Date
dustinface
9c64708269
bls|depends: Upgrade to bls-signatures version 1.0.0 (#4027)
* build: Add cmake as depends package (cmake.mk)

The bls-signatures library requires cmake 3.14

* depends: Update chia_bls to version 1.0.0 of dashpay/bls-signatures

* depends: Rename package chia_bls to bls-dash

* depends: Disable blspy/tests/benchmarks build for chia_bls

Note: Building with tests would require the following:

depends: Fix macOS build for versions < 10.12

Seems like older versions of macOS pretend to support c++17 std libs but do not have/have issues with uncaught_exceptions. "Catch", the testing framework used in the bls lib wants those by default but setting `DCATCH_CONFIG_NO_CPP17_UNCAUGHT_EXCEPTIONS` disables them which should be just fine to do in all cases here.
---
 depends/packages/chia_bls.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/depends/packages/chia_bls.mk b/depends/packages/chia_bls.mk
index e79a85844f..25749b74ab 100644
--- a/depends/packages/chia_bls.mk
+++ b/depends/packages/chia_bls.mk
@@ -28,6 +28,8 @@ define $(package)_set_vars
     $(package)_config_opts_darwin+= -DCMAKE_AR="$(host_prefix)/native/bin/$($(package)_ar)"
     $(package)_config_opts_darwin+= -DCMAKE_RANLIB="$(host_prefix)/native/bin/$($(package)_ranlib)"
   endif
+
+  $(package)_cppflags+= -DCATCH_CONFIG_NO_CPP17_UNCAUGHT_EXCEPTIONS
 endef

 define $(package)_config_cmds
--

* depends: Drop obsolete variable

* bls: Integrate the upgraded version into the codebase

* depends: Pre-fetch relic to fix gitian

Can fetch apt packages only when building with lxc

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-03-26 15:32:31 +03:00
PastaPastaPasta
64b05b61d3
Merge pull request #4005 from xdustinface/pr-fix-qt-debug
depends|build: Make sure configuration detects Qt built with DEBUG=1
2021-02-21 16:36:25 -06:00
fanquake
086bb0bae8 Merge #16408: depends: Prune X packages
0c55d8b58186ba69fffc147cd02b174450dac578 depends: qt: Patch to remove dep on libX11 (Carl Dong)
222e6cc52075cf6f866ce4a2e5900f0d6358f903 gitignore: Actually pay attention to depends patches (Carl Dong)
65f8da08df601ac98bad6f638392343fd564c0b9 symbol-check: Disallow libX11-*.so.* shared libraries (Carl Dong)
924569914e6079763fd1692bed372ded2c63d685 depends: libXext isn't needed by anyone (Carl Dong)
689d3b4a030675b6de87a55463a8e155843293fb build-aux: Remove check for x11-xcb (Carl Dong)
aa53cb7a2f04a59a4722c662e67b7a6ec04e32b5 depends: libX11: Make package headers-only (Carl Dong)
9a01ab04e1125b37618266d7fd1c3a6e3bb7e3f8 depends: qt: Explicitly stop using Xlib/libX11 (Carl Dong)
1ec30b8fbe4a162d6e2e6a9711d83f1bafd9b645 depends: xproto is only directly needed by libXau (Carl Dong)

Pull request description:

  Related to: #16150

  We noticed that we could build QT without using XLib/libX11 as a library. XLib/libX11's headers are still used, and a minimal `configure.ac` has been added to eliminate overly-enthusiastic configure-time dependencies that aren't actually required to obtain the headers.

  This also means that we eliminate XLib/libX11 as required shared libraries at runtime, which is desirable.

  See commit messages for more details.

  ---

  Reviewers: I am least sure about the minimal `configure.ac`, as I'm not too familiar with the autoconf syntax. Any improvements w/re robustness would be welcome.

ACKs for top commit:
  theuni:
    ACK 0c55d8b58186ba69fffc147cd02b174450dac578
  fanquake:
    ACK 0c55d8b58186ba69fffc147cd02b174450dac578

Tree-SHA512: 41f653a0f91bc0e0faac49713c0c6dfd8cb605f9c4e34eb75a790dd808ebf3e5c160f1dd40bc8fbc911ee718ea319313b526d63733c98ff62d8dffecb58caa01
2021-02-18 16:24:11 +01:00
Hennadii Stepanov
0180cdd729 Merge #18298: build: Fix Qt processing of configure script for depends with DEBUG=1
Now, if depends is built with DEBUG=1, the configure script correctly
finds Qt for macOS and Windows.
2021-02-17 20:53:33 +01:00
fanquake
e2d3235eb2 Merge #18297: build: Use pkg-config in BITCOIN_QT_CONFIGURE for all hosts including Windows
8a26848c460160e1279f26bc413f693a34e33b9d build: Fix m4 escaping (Hennadii Stepanov)
9123ec15db104397998f5084afc69403d2f9e4b8 build: Remove extra tokens warning (Hennadii Stepanov)
fded4f48c33742d7c790335c8de59c15b80d94e6 build: Remove duplicated QT_STATICPLUGIN define (Hennadii Stepanov)
05a93d5d96101b45d87571af5b772c7a1e82fd27 build: Fix indentation in bitcoin_qt.m4 (Hennadii Stepanov)
ddbb41931019ed4226af3df37874c7eb7cf570f1 build: Use pkg-config in BITCOIN_QT_CONFIGURE for all hosts (Hennadii Stepanov)
492971de35bab26346545f68365872211f458b00 build: Fix mingw pkgconfig file and dependency naming (Hennadii Stepanov)

Pull request description:

  This PR makes `bitcoin_qt.m4` to use `pkg-config` for all hosts and removes non-pkg-config paths from it. This is a step towards the idea which was clear [stated](https://github.com/bitcoin/bitcoin/pull/8314#issue-76644643) by Cory Fields:
  > I believe the consensus is to treat Windows like the others and require pkg-config across the board. We can drop all of the non-pkg-config paths, and simply AC_REQUIRE(PKG_PROG_PKG_CONFIG)

  There are two unsolved problems with this PR. If depends is built with `DEBUG=1` the `configure` script fails to pickup Qt:
  - for macOS host (similar to, but not the same as #16391)
  - for Windows host (regression)

  The fix is ~on its way~ submitted in #18298 (as a followup).

  Also this PR picks some small improvements from #17820.

ACKs for top commit:
  theuni:
    Code review ACK 8a26848c460160e1279f26bc413f693a34e33b9d
  dongcarl:
    Code Review ACK 8a26848c460160e1279f26bc413f693a34e33b9d
  laanwj:
    Code review ACK 8a26848c460160e1279f26bc413f693a34e33b9d

Tree-SHA512: 3b25990934b939121983df7707997b31d61063b1207d909f539d69494c7cb85212f353092956d09ecffebb9fef28b869914dd1216a596d102fcb9744bb5487f7
2021-02-17 19:25:55 +01:00
Wladimir J. van der Laan
53ad08710c Merge #20195: build: fix mutex detection when building bdb on macOS
d0a829e9632379e42f0be5c554e3b692f0d14a95 build: fix mutex detection when building bdb on macOS (fanquake)

Pull request description:

  Starting with the Apple Clang shipped with Xcode 12, [Apple has enabled -Werror=implicit-function-declaration by default](https://developer.apple.com/documentation/xcode-release-notes/xcode-12-release-notes):
  > Clang now reports an error when you use a function without an explicit declaration when building C or Objective-C code for macOS (-Werror=implicit-function-declaration flag is on). This additional error detection unifies Clang’s behavior for iOS/tvOS and macOS 64-bit targets for this diagnostic. (49917738)

  This causes bdbs mutex detection to fail when building on macOS (not cross-compiling):
  ```bash
  checking for mutexes... UNIX/fcntl
  configure: WARNING: NO SHARED LATCH IMPLEMENTATION FOUND FOR THIS PLATFORM.
  configure: error: Unable to find a mutex implementation
  ```

  as previously emitted warnings are being turned into errors. i.e:
  ```bash
  configure:18704: checking for mutexes
  configure:18815: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -mmacosx-version-min=10.12 --sysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -o conftest -pipe -O2  -I/Users/michael/github/fanquake-bitcoin/depends/x86_64-apple-darwin19.6.0/include -L/Users/michael/github/fanquake-bitcoin/depends/x86_64-apple-darwin19.6.0/lib conftest.c  -lpthread >&5
  conftest.c:46:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
  main() {
  ^
  conftest.c:51:2: error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
          exit (
          ^
  conftest.c:51:2: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit'
  1 warning and 1 error generated.
  ```

  Append `-Wno-error=implicit-function-declaration` to `cflags` so that `-Wimplicit-function-declaration` [returns to being a warning](https://clang.llvm.org/docs/UsersManual.html#cmdoption-wno-error), and the configure checks succeed.

  Fixes #19411.

ACKs for top commit:
  laanwj:
    Code review ACK d0a829e9632379e42f0be5c554e3b692f0d14a95

Tree-SHA512: 7813005b1fc0b370f843b6c0672acab32c999416e92c3f02b75d866e9c7aa41fe5822704fc74de6b65f0d7d94f2cdd05cc7c3ee83295ff1ecbc71d8492b9a2bf
2021-02-17 15:21:53 +01:00
Wladimir J. van der Laan
badc91f98e Merge #17231: depends: fix boost mac cross build with clang 9+
50037e97d11356218c4b36767232e47b74742b0b depends: fix boost mac cross build with clang 9+ (Cory Fields)

Pull request description:

  The ancient "darwin-4.9.1" profile has long been used to match against clang, which prior to version 9, reported 4.9.1 as its version when invoking "clang++ -dumpversion". Presumably this was a historical compatibility quirk related to Apple's switch from gcc to clang.

  This was "fixed" in clang 9.0, so that -dumpversion reports the real version. Unfortunately that had the side-effect of breaking the (brittle) boost compiler detection.

  Move to the seemingly more-correct "clang-darwin" profile, which passes the checks and builds correctly.

  Also switch to using ar rather than libtool for archiving, as it's what the clang-darwin profile expects to be using.

  Note that because this is using a different profile, some of the final command-line arguments end up changing. Those changes look sane at a glance.

ACKs for top commit:
  fanquake:
    ACK 50037e97d11356218c4b36767232e47b74742b0b - tested on on macOS, will wait for the gitian build.

Tree-SHA512: eac1f353513a445add6fbece7fc78dd3dbdde5e2219bfb7739b82f40bb14de449667a94d2e303d43c67d9b38e7ceb0ba5f0d8fe20b40be2017b1ca0875467c2c
2021-02-17 14:53:57 +01:00
Wladimir J. van der Laan
d390a1412e Merge #15461: [depends] update to Boost 1.70
2620e24b83d16bf0f2bfe360dee1e98b4be59ca5 [depends] boost: update to 1.70 (Sjors Provoost)

Pull request description:

  Version [1.70](https://www.boost.org/users/history/version_1_70_0.html) is most recent.

  Versions needed for:
  * 1.66: #12557: fixes the single arm64 configuration ([06ee5b5](06ee5b54ef))

ACKs for commit 2620e2:

Tree-SHA512: 6e0174f1d92c2c24314c0689d4809e048914f8f42d17aa73799f5ee232169e0dd0ed71f5f973903c44c08309f2837c629c493f15e5c31ec6c7bd1daae5f3b25f
2021-02-17 14:22:09 +01:00
UdjinM6
489770a35f
depends|qt: Fix build on Mojave (10.14.6) 2020-12-18 15:09:04 +03:00
UdjinM6
6fc0d83806
Revert "Don't set PKG_CONFIG_SYSROOT_DIR env variable to build Qt."
This reverts commit 9a26b427fb.
2020-12-18 05:23:25 +03:00
Wladimir J. van der Laan
276e712bf0
Merge #14348: depends: fix bitcoin-qt back-compat with older freetype versions at runtime
430bf6c7a1a24a59050e7c9dac56b64b820edb43 depends: fix bitcoin-qt back-compat with older freetype versions at runtime (Cory Fields)

Pull request description:

  Fixes #14339. Thanks to @fanquake for confirming.

  A few years ago, libfreetype introduced ```FT_Get_Font_Format()``` as an alias for ```FT_Get_X11_Font_Format()```, but ```FT_Get_X11_Font_Format()``` was kept for abi backwards-compatibility.

  Our qt bump to 5.9 introduced a call to```FT_Get_Font_Format()```. Replace it with ```FT_Get_X11_Font_Format()``` in order to remain compatibile with older freetype, which is still used by e.g. Ubuntu Trusty.

  Needs 0.17 backport.

Tree-SHA512: 89c7b268c7d397c5195f5fb6f27473dbf5bdd6c85f7c6f6b35b49c719df1dbc117e105275f1d31bc2b80fecf5f8a852dc89247c4e4537a788f8e76ad34c72d64
2020-12-18 01:17:58 +03:00
Wladimir J. van der Laan
3242f08e33
Merge #14005: [0.17] depends: fix qt determinism
48c845902ac044af99ceb7cacc1ea3eacfaeb913 depends: fix qt determinism (Cory Fields)

Pull request description:

  Backport for rc2

Tree-SHA512: 990a1b32ca8c80b22595c4b19e801d5033e42b7e86da0f80028e708131a136f6383d7510dab8bd7cd12fe8533f73246fe78c72a8a22a54eb136b2bfada1e67ea
2020-12-18 01:16:35 +03:00
MarcoFalke
39ff085409
Merge #13617: release: require macOS 10.10+
3828a79711 scripted-diff: prefer MAC_OSX over __APPLE__ (fanquake)
fa6e841e89 gui: remove macOS ProgressBar workaround (fanquake)
68c272527f gui: remove SubstituteFonts (fanquake)
6c6dbd8af5 doc: mention that macOS 10.10 is now required (fanquake)
84b0cfa8b6 release: bump minimum required macOS to 10.10 (fanquake)
26b15df99d depends: set OSX_MIN_VERSION to 10.10 (fanquake)

Pull request description:

  Closes #13362

  d99abfddb0c8f2111340a6127e77cc686e0043d8
  This workaround should no longer be required, as it should have only been in use when compiled with the 10.7 SDK, which we haven't been building with for a while now.

  5bc5ae30982a0f0f6a9804b05d99434af770c724
  The bugreport linked with this code is for an unrelated? issue, however from what I can tell the correct QTBUG is this one https://bugreports.qt.io/browse/QTBUG-20880. Reading though the discussion there, it seems that the way progress bars are animated changed in macOS 10.10.
  Qt was patched [here (5.5+)](https://codereview.qt-project.org/#/c/112379/):
  > Disable progress bar animations on 10.10 Yosemite and higher - the native style does not animate them any more. Keep the indeterminate progress bar animation.

  Given all of that, I don't think this is worth keeping around, as it would seem to only be useful in the case that a macOS user is compiling with a Qt < 5.5. That should be pretty unlikely, as we don't support downloaded Qt binaries, and brew currently provides [5.11.1](571b46213c/Formula/qt.rb).

Tree-SHA512: 4278cb30cc9bcb313e166129ecf032c808995f8b51a3123637c47860a0010ac88f86f82ec44792153b6b1e5cca595f25013b2eaeae80194647b9ce4f7eaf32c1
2020-12-18 01:14:34 +03:00
Fuzzbawls
bccd313d7f
Merge #13732: Depends: Fix Qt's rcc determinism
Backport of https://bugreports.qt.io/browse/QTBUG-62511 to resolve
locale determinism during the build process.
2020-12-18 01:06:07 +03:00
Sebastian Kung
d1fa6edca6
Merge #12971: depends: Upgrade Qt to 5.9.6
Ugrade Qt depends to Qt5.9.4

Depends can now be built with Qt5.9.4 , which is Qt's new long term
support version.

Fix depends Qt5.9.4 mac build

Apply patch from QTBUG-67286

Upgrade Qt depends to 5.9.6
2020-12-18 01:05:25 +03:00
Oleg Girko
ba35dae02d
depends: Update Qt download url. (#3756)
Signed-off-by: Oleg Girko <ol@infoserver.lv>

Co-authored-by: Oleg Girko <ol@infoserver.lv>
2020-10-05 14:56:15 +03:00
UdjinM6
98f19e4442
Fetch chia_bls from dashpay github repo (#3654) 2020-08-06 12:08:00 +03:00
MarcoFalke
bd8f48820e Merge #13696: Add aarch64 qt depends support for cross compiling bitcoin-qt
00db418176 Add aarch64 qt depends support for cross compiling bitcoin-qt (TheCharlatan)

Pull request description:

  This also adds a generic qt linux target in packages.mk . I am a bit confused by the existing docs for the RISC addition. Are there boards that would support running bitcoin-qt, or at the very least forwarding X over ssh? Is everybody building depends with `NO_QT=1` when targeting RISC? If not, I will revert the change for a generic qt linux package definition back to the piecemeal solution.

  This pull request should close #13495

Tree-SHA512: 519b951bf50f214ad725e5330094582a212333cd85b0ae442c67f9afec5629995dfad130258c7706a61f7b7cccbfa49bce69b9931f7e30cf12b382cd9a0a4749
2020-07-28 21:35:31 -05:00
MarcoFalke
f8c309ca54
Merge #13750: depends: use MacOS friendly sed syntax in qt.mk
12c93cb85b depends: use MacOS friendly sed syntax in qt.mk (Sjors Provoost)

Pull request description:

  I just got this error on master:
  ```
  make clean-all
  make -j5
  [...]
  /bitcoin/depends/sources/qttools-opensource-src-5.9.6.tar.xz: OK
  Preprocessing qt...
  sed: 1: "qtbase/mkspecs/bitcoin- ...": extra characters at the end of q command
  make: *** /bitcoin/depends/work/build/x86_64-apple-darwin17.7.0/qt/5.9.6-b48df1b490b/.stamp_preprocessed] Error 1
  ```

Tree-SHA512: 1eaee535c0d637a67801c7dd48e9cd5a037823f4e162a6f50e375787045fdb95929f409a88c7d000d8781a4edc497b5ccb1fd23a24e29324ec633157fadd371e
2020-07-28 11:45:26 -05:00
Wladimir J. van der Laan
d8fa5f1bbc Merge #13604: Add depends 32-bit arm support for bitcoin-qt
4b6998455776ed3e1b7c996c14f15f0c304c9269 Add depends 32-bit arm support for bitcoin-qt (Sebastian Kung)

Pull request description:

  Some hobbyists are used to using the desktop for interfacing with their raspberry pi. This commits adds qt to the arm-linux-gnueabihf target.

Tree-SHA512: cb03387267eb8f68dfd79735c2c01c5a119c406e5578805e60b377934da42d46cb34d35e45c8843979dfb4070859c553d09ae348b468d9731523f33307132fa8
2020-07-26 19:39:13 -05:00
Wladimir J. van der Laan
c1b358aeb9 Merge #12715: depends: Add 'make clean' rule
aff16fd depends: Add 'make clean' and 'make clean-all' rules (Henrik Jonsson)

Pull request description:

  It's useful to have a standard way to clean up the work done by the
  depends system when testing changes to it.

Tree-SHA512: d56686ca810c2531d852049420f242178d124d45a2508feeac0acf80408e8a95fc9915fb777ff0cbc4edc496990f5fdecf699c87d7986164c74b8fbf418ebf49
2020-06-27 10:43:32 -05:00
Wladimir J. van der Laan
3cea6084a9
Merge #12625: depends: biplist 1.0.3
4ef82f1 depends: biplist 1.0.3 (fanquake)

Pull request description:

  biplist should now be usable for reproducible builds without any patching.

  One change has been incorporated,  the two remaining changes were rejected upstream: https://bitbucket.org/wooster/biplist/pull-requests/9/make-biplist-ordering-deterministic/diff#comment-None

  testing on gitian cc @jonasschnelli

Tree-SHA512: a3ef3ecad08b09f7a34d927bc4e3d8604099e9acb2c984bbe741df6162f4014f40e9eb2fd28309fc79d3dd2bb82f14bfd473925b90048e5fd135a471726a4836
2020-06-18 11:41:53 -05:00
Wladimir J. van der Laan
2cf1ddcff5
Merge #12466: depends: Only use D_DARWIN_C_SOURCE when building miniupnpc on darwin
992f56876 depends: Only use D_DARWIN_C_SOURCE when building miniupnpc on darwin (fanquake)

Pull request description:

  Only use D_DARWIN_C_SOURCE when building on darwin, so we don't inadvertently introduce issues elsewhere.

  cc @theuni

Tree-SHA512: e49a8456ba2b9925c06e62c73e139152b6d63cc5a4cee66944e41c863ca9103e98ac81a5718eceb3d0885a677fc53ece34062b02c304a05c3280e094965e856a
2020-06-11 23:11:49 -05:00
MarcoFalke
b31cb3a365
Merge #13689: depends: disable Werror when building zmq
a4ba2388fe depends: disable Werror for zmqlib release, causes ndk build to break (Lawrence Nahum)

Pull request description:

  This PR ~~backports this libzmq commit 58d13395ec from this merged upstream PR (but unreleased as of today) https://github.com/zeromq/libzmq/pull/3140 as a patch to our zmq 4.2.3 version.~~ passes --disable-Werror when we build zmq.

  For reference see https://github.com/bitcoin/bitcoin/issues/11844#issuecomment-398406988

  ~~This patch~~ A similar patch is already in use in abcore/bitcoin_ndk and needed to build bitcoind for android using NDK or some versions of clang 6+ during cross compilation.

  This patch won't be necessary once zmqlib releases a 4.2.6+ version including the fix and bitcoin core updates to it but it may be good to [have](https://github.com/bitcoin/bitcoin/pull/13689#issuecomment-405644394)

  ~~It also reintroduces autogen.sh as it is necessary for the patch to work, otherwise you'll have aclocal issues (see https://travis-ci.org/greenaddress/bitcoin/jobs/404902106). autogen,sh was removed in master only https://github.com/bitcoin/bitcoin/pull/11986 as non-necessary but otherwise unreleased.~~

  In the likely case https://github.com/bitcoin/bitcoin/pull/13578 is merged first I rebased the patch for the newer zmq version (4.2.5) in https://github.com/greenaddress/bitcoin/tree/zmq-upgrade-mruddy-patched and i can update the PR accordingly or close and open a new one.

Tree-SHA512: ba8780c84b4ac4ead5605c0305827431a85c1c8503b7ed255a552469b22bdb4ca018449282f738794f573f93caed95c14ede7caadb3a3f14989f57cb74501f00
2020-06-11 23:11:18 -05:00
UdjinM6
2b7657d9e4
Merge pull request #3518 from PastaPastaPasta/backports-0.17-pr1
Backports 0.17 pr1
2020-06-11 20:51:58 +03:00
Wladimir J. van der Laan
04dac120f2
Merge #12417: Upgrade mac_alias to 2.0.7
fc1bfcf Update mac_alias to 2.0.7 (Douglas Roark)
deee216 Delete mac_alias patch (Douglas Roark)

Pull request description:

  The patch Bitcoin Core has been maintaining for mac_alias was pulled by the mac_alias maintainer in commit 4f31cb084c1c6a8626128b0b00842020b6db9037. Delete the patch and remove the patch from the depends system.

  Note that this PR won't be complete until a new version of mac_alias containing the patch has been released, and the depends system is updated to reflect the new version.

Tree-SHA512: e13f1b45c0a56e95645b1aff77036c8a24c29c3f18ea0d386fba8d6d0f5fd07c434afc09dcd644d46ca096d6a7a0d5097f1eca3be5b5a5475eb3d54407044fd9
2020-06-11 00:17:08 -05:00
Wladimir J. van der Laan
4a7c3c22a7
Merge #13543: depends: Add RISC-V support
974f0bf8e684696be7796dbf3d48ff0a41f4ac26 depends: Mention RISC-V known compilation issue with gcc-7.3.x (Wladimir J. van der Laan)
0d1f38c45ff40f17b42074e3b58211e794a19edb depends: update zmq config.guess/config.sub for riscv support (fanquake)
409481c46555afb34a038dbc69a8285b83eb952e depends: latest config.sub (fanquake)
d7005e9988ddae4d3507963b42c525257c34ddb0 depends: latest config.guess (fanquake)
359e2e352590e1e473da70e28a38d14a068a3103 depends: Add RISC-V support (Wladimir J. van der Laan)

Pull request description:

  This adds support for riscv32 and riscv64 builds to the depends system.

  The change consists of documentation and build system changes. The most significant change is an update of `config.sub` and `config.guess` inside zeromq patch, as the current version does not recognize the `riscv*` host tuples (there's no new version of ZeroMQ yet with newer ones).

  Good thing: RISC-V 64-bit toolchain packages can be installed out of the box on Ubuntu 18.04+.

  I would also like to add RISC-V 64-bit executables to gitian, but this will not be possible until #12511 .

Tree-SHA512: 358ed72ee9e4ae44e7d305c09a4ff5ce5460eeb7ed915eb25d39c8f43b61e7b347f51bf0ae5d83ddb4ce8876dea7703c926b3baa3cccb4932b3bc17160d801bb
(cherry picked from commit 6c6a3001e51b1679af2f375f158d8c87bbb330bc)

# Conflicts:
#	depends/Makefile
2020-05-17 02:31:35 -03:00
Wladimir J. van der Laan
0c2b520c48
Merge #12402: [depends] expat 2.2.5, ccache 3.4.1, miniupnpc 2.0.20180203
25409b1 fixme: depends: Add D_DARWIN_C_SOURCE to miniupnpc CFLAGS (fanquake)
3335d45 [depends] latest config.guess and config.sub (fanquake)
41550d6 [depends] miniupnpc 2.0.20180203 (fanquake)
61647a4 [depends] ccache 3.4.1 (fanquake)
5a10859 [depends] expat 2.2.5 (fanquake)

Pull request description:

  miniupnpc changelog: http://miniupnp.free.fr/files/changelog.php?file=miniupnpc-2.0.20180203.tar.gz
  2.0.20180203 includes fixes for the recent buffer overflow and segfault issues, see https://github.com/miniupnp/miniupnp/issues/268.

  expat changelog: https://github.com/libexpat/libexpat/blob/R_2_2_5/expat/Changes
  2.2.2 & 2.2.3 included security fixes.

  ccache changelog: https://ccache.samba.org/releasenotes.html#_ccache_3_4_1

  Also includes latest config.guess and config.sub.

Tree-SHA512: 5115b6ccf2bc50c62fd16ab2350bdc752eef7db8b1e4fbe35998fe1aac3702baa6c7f5e471ec48f7c614278df20a68ee6a254dde7c3e2d5c6ce2d10257a5aa21
(cherry picked from commit 59e032b43c)

# Conflicts:
#	depends/packages/miniupnpc.mk
#	depends/packages/native_ccache.mk
#	doc/dependencies.md
2020-05-17 02:31:35 -03:00
Wladimir J. van der Laan
45db031556
Merge #11986: [depends] zeromq 4.2.3
13a399a46 depends: patch pthread_set_name_np out of zeromq (Cory Fields)
8f7922636 depends: zeromq 4.2.3 (fanquake)

Pull request description:

  This is a followup to #9254 and #11981. Zeromq 4.2.3 was released just after #9254 was merged, and contains a years worth of improvements/bug fixes. See the release notes [here](https://github.com/zeromq/libzmq/releases/tag/v4.2.3).

  Todo:
  - [ ] Add zeromq-4.2.3.tar.gz to /depends-sources on bitcoincore.org
  - [ ] Verify gitian builds are still OK
  - [ ] Check: https://github.com/zeromq/libzmq/pull/2787

Tree-SHA512: 85e06f47be3e1fdedcee50ce90e3391d69df2ea1c167472ffc3126d8970d418eb75141b970e422eb2fda9a8cad00e6ba5b36afa53565171a9ebaa152a9dc9b60
(cherry picked from commit 765a3ebb02)

# Conflicts:
#	doc/dependencies.md
2020-05-17 02:31:19 -03:00
10xcryptodev
7fdc4c7b0d
change miniupnp lib server (#3452)
* change miniupnp lib server

* adding files to URL
2020-04-26 03:41:42 +03:00
Jonas Schnelli
47be3441b0 Merge #11903: [trivial] Add required package dependencies for depends cross compilation
31a013563 Add required package dependencies for depends cross compilation [skip-ci] (Jonas Schnelli)

Pull request description:

  Stumbled over this during a setup of a new depends compile system.
  Related to #8913.

Tree-SHA512: 67e2fdf9ca3cbedeb02982fa73771dd36978b319e9291ea5a41ede7fdf772c4505ccc9523b48fe66ead927f141efefbdf1e3eaa19a9d8a1304861a8ede040056
2020-04-03 05:06:59 -05:00
Wladimir J. van der Laan
7b1f32082c Merge #11981: Fix gitian build after libzmq bump
a6365c5 depends: fix libzmq's needless linking against libstdc++ (Cory Fields)

Pull request description:

  Broken gitian builds were introduced with #9254. Big thanks to @jonasschnelli for narrowing down the bisection.

  This is broken for a number of reasons, including:
  - g++ understands "-static-libstdc++ -lstdc++" to mean "link against whatever libstdc++ exists, probably shared", which in itself is buggy.
  - another stdlib (libc++ for example) may be in use

Tree-SHA512: d84968ee680f32ea799034ee516e9477fff2b1ef1b7c9a8ef1941631520ab196ecd50f5d64f3ed1c84113ead44be5e3ddf6ff2ae0277625bdeed05f1da89e017
2020-04-01 12:43:18 -05:00
Wladimir J. van der Laan
ce0118b613
Merge #9254: [depends] ZeroMQ 4.2.2
126999d depends: fix zmq build with mingw < 4.0 (Cory Fields)
387879d [depends] ZeroMQ 4.2.2 (fanquake)

Pull request description:

  Update depends ZeroMQ to 4.2.2, the release notes are available [here](https://github.com/zeromq/libzmq/releases).

  We can drop both patches, as they have both been merged upstream (they actually had been for some time but just hadn't yet made it into a release).

  `--without-documentation` is deprecated and has been replaced with `--without-docs`.
  `--disable-perf` disables building performance measuring tools, which are enabled by default, see the libzmq [configure.ac](https://github.com/zeromq/libzmq/blob/master/configure.ac#L367).
  Updated dependencies.md.
  `--disable-curve-keygen` disable building the curve key generation tool. See [here](https://github.com/zeromq/libzmq/blob/master/configure.ac#L405).

  Can someone on windows test that this is still working correctly. Maybe @achow101 ?

Tree-SHA512: c6c4b15f545b6de21648f05027b5500fca0e6b5b72e791ac9a0aa523c57f2feb5aae94e42531275dddd922e11e462a52f08be1118ba1629c3cae765b18e5d720
2020-03-14 10:49:59 -05:00
Jonas Schnelli
a592123640
Merge #11460: [depends] mac_alias 2.0.6, ds_store 1.1.2
f617d1b06 [depends] native_ds_store 1.1.2 (fanquake)
46b752ab5 [depends] native_mac_alias 2.0.6 (fanquake)

Pull request description:

  mac_alias and ds_store have moved from Bitbucket to GitHub.
  See https://github.com/al45tair/mac_alias and https://github.com/al45tair/ds_store.

  mac_alias has been updated to be compatible with Python 3? ~~~so we should be able to drop our patch.~~~ I've dropped some of the patch for now.

  Quickly tested on macOS, because depends building is broken with latest the Xcode see #11461.
  Related #8134.

Tree-SHA512: d0017883f86b29bc4ab03bade5aaad9959e4343cd66596805fae48a1804e4bd150c77652f08e3e6cfafb3193f7c0183686f1f60c83f3a4204d40f76041c13ed2
2020-02-08 23:33:25 -06:00
MarcoFalke
b74f55143f
Merge #11286: [depends] Don't build libevent sample code
f38c05104 [depends] Don't build libevent sample code (fanquake)

Pull request description:

  Noticed today while doing Windows depends builds.
  Before and after libevent build on OS X.

  ```
  Building libevent...
    GEN      include/event2/event-config.h
  /Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
    CC       buffer.lo
    CC       bufferevent.lo
    CC       bufferevent_filter.lo
    CC       bufferevent_ratelim.lo
    CC       bufferevent_sock.lo
    CC       bufferevent_pair.lo
    CC       event.lo
    CC       evmap.lo
    CC       evthread.lo
    CC       evutil.lo
    CC       evutil_rand.lo
    CC       evutil_time.lo
    CC       listener.lo
    CC       log.lo
    CC       select.lo
    CC       poll.lo
    CC       kqueue.lo
    CC       signal.lo
    CC       evdns.lo
    CC       event_tagging.lo
    CC       evrpc.lo
    CC       http.lo
    CC       evthread_pthread.lo
    CC       sample/dns-example.o
    CC       sample/event-read-fifo.o
    CC       sample/hello-world.o
    CC       sample/http-server.o
    CC       sample/http-connect.o
    CC       sample/signal-test.o
    CC       sample/time-test.o
    CCLD     libevent_core.la
    CCLD     libevent_pthreads.la
    CCLD     libevent.la
    CCLD     libevent_extra.la
    CCLD     sample/event-read-fifo
    CCLD     sample/dns-example
    CCLD     sample/hello-world
    CCLD     sample/http-server
    CCLD     sample/http-connect
    CCLD     sample/signal-test
    CCLD     sample/time-test
  Staging libevent...
  ```

  ```
  Building libevent...
    GEN      include/event2/event-config.h
  /Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
    CC       buffer.lo
    CC       bufferevent.lo
    CC       bufferevent_filter.lo
    CC       bufferevent_pair.lo
    CC       bufferevent_ratelim.lo
    CC       bufferevent_sock.lo
    CC       event.lo
    CC       evmap.lo
    CC       evthread.lo
    CC       evutil.lo
    CC       evutil_rand.lo
    CC       evutil_time.lo
    CC       listener.lo
    CC       log.lo
    CC       select.lo
    CC       poll.lo
    CC       kqueue.lo
    CC       signal.lo
    CC       evdns.lo
    CC       event_tagging.lo
    CC       evrpc.lo
    CC       http.lo
    CC       evthread_pthread.lo
    CCLD     libevent_core.la
    CCLD     libevent_pthreads.la
    CCLD     libevent.la
    CCLD     libevent_extra.la
  Staging libevent...
  ```

Tree-SHA512: a82bde38e110a16f934c0f1e95d3ae66662c1b3c1367e4a6e7c4994f585ebeea4f5cbee4d98a8dc64a8e8936eb9f4bb0c55fb65e718f724d88e81cb8fa84be88
2020-01-10 10:33:55 -06:00
MarcoFalke
1ef70ac9ef Merge #12607: depends: Remove ccache
cc879675e1 depends: Remove ccache (fanquake)

Pull request description:

  After discussion with @theuni, we can possibly just remove ccache from depends entirely.

  Related to #12606

Tree-SHA512: ae0a60c8d97467fa41d617daa48ed22159cf32613808634a983304901dd5ed27124e77868d2314004e5144f7b35ba1333f720bb12daec4c5ca03aaf29d593ef2
2019-11-04 13:20:45 +01:00
Wladimir J. van der Laan
0f7d8f8983 Merge #17118: build: depends macOS: point --sysroot to SDK
a0daea459cf4812fbdda9a7ead131a73f5856c09 [build] depends macOS: point --sysroot to SDK (Sjors Provoost)

Pull request description:

  Fixes errors like `fatal error: 'unistd.h' file not found` when building depends on macOS.

  Replaces #14352 (which doesn't work on Catalina).

ACKs for top commit:
  jonasschnelli:
    utACK a0daea459cf4812fbdda9a7ead131a73f5856c09

Tree-SHA512: 995b1e1e84e635b32d1d4038bc63730c94a7c318b7240f6d62825977e5c97fe52c5aa5a0f39070beb0df8271dd294b36d6b5cf7f09ad07494fb15d5bd4d77f68
2019-10-17 14:57:47 +03:00
Nathan Marley
e2d651f601 Add OpenSSL termios fix for musl libc (#3099) 2019-09-22 23:47:02 +03:00
Nathan Marley
7320c3da24 Refresh zmq 4.1.5 patches (#3092)
Some implementations of the `patch` tool cannot handle fuzz / divergence
2019-09-22 23:46:18 +03:00
Nathan Marley
822e617bef Fix chia_bls include prefix (#3091) 2019-09-22 23:46:04 +03:00
Wladimir J. van der Laan
41302bbae0
Merge #10628: [depends] expat 2.2.1
2c3fc51 [depends] expat 2.2.1 (fanquake)

Tree-SHA512: ad0e18f2770c0c4b378123bcbcf93ed0ee0b03dbf6360f02e88b01052ef7b0f5540a0a5cbb6d0d3a3d70db29b0413a43f17e7fa5092185fb874470a9f6be4d76
2019-07-11 10:34:46 -05:00
UdjinM6
b401a3baa9
Fix compilation on Ubuntu 16.04 (#3013) 2019-07-02 23:45:33 +03:00
Alexander Block
63424fb26a Fix 2 common Travis failures which happen when Travis has network issues (#3003)
* Retry downloading of depends sources 3 times

* Manually invoke apt-get update and install instead of using addon

This allows us to use travis_retry on these operations.

* Add exception for depends/Makefile in .gitignore

* Remove --retry from curl call

This avoids future confusion as we don't rely on curl anymore to properly
retry downloads. curls does only retry on transient errors, while Travis
might cause all kinds of errors which circumvent the retry logic of curl.
2019-06-27 23:25:30 +03:00
Wladimir J. van der Laan
32c0e0f9b1
Merge #10325: 0.15.0 Depends Updates
355c116 [depends] dbus 1.10.18 (fanquake)
a8d7474 [depends] ccache 3.3.4 (fanquake)
daeb767 [depends] libevent 2.1.8-stable (fanquake)
d78269a [depends] Boost 1.64.0 (fanquake)
7d92c6f [depends] Latest config.guess and config.sub (fanquake)

Tree-SHA512: c63cdffabb1f57b7efd71c85f845c30ce00cda56f6d665f935674f3324563a7364f3bc30c105a1ee1064f1d24eb7345d7e44791cd471094dcc5e20f307fec4cb
2019-06-19 08:20:15 -05:00
fish-en
080b59a573 Backport bitcoin#14385: qt: avoid system harfbuzz and bz2 (#2732)
We may eventually want to break out harfbuzz and build it in depends, but
for now just ensure that runtime dependencies don't depend on whether or not
harfbuzz was present on the builder.
2019-03-01 18:29:48 +03:00
Alexander Block
48d92f116e Implement optional pretty printed stacktraces (#2420)
* Add libbacktrace to depends

This is currently only useful to extract symbols. It fails to gather
stacktraces when compiled with MinGW, so we can only use it to get symbol
information from a stack trace which we gathered outside of libbacktrace.

* Add -mbig-obj to CXXFLAGS for MinGW builds

* Implement stacktraces for C++ exceptions

This is a hack and should only be used for debugging. It works by wrapping
the C++ ABI __wrap___cxa_allocate_exception. The wrapper records a backtrace
and stores it in a global map. Later the stacktrace can be retrieved with
GetExceptionStacktraceStr.

This commit also adds handlers to pretty print uncaught exceptions and
signals.

* Use GetPrettyExceptionStr for all unhandled exceptions

* Use --enable-stacktraces in CI for linux32/linux64

* Register exception translators to pretty print exceptions in unit tests

* Catch and print python exceptions when stopping nodes

Otherwise the code at the bottom is never executed when nodes crash,
leading to no output of debug.log files on Travis.

* Remove now unneeded/unused TestCrash methods
2019-02-21 21:37:15 +03:00
UdjinM6
8cd7287ba6
Fix missing lupdate in depends (#2633) 2019-01-22 14:15:26 +03:00
strophy
04d1671b9c armv7l build support (#2601)
* Fixes from Bitcoin #12474

This commit fixes building of boost and openssl on armv7l as described in Bitcoin issue #12474

* Prevent compiler from emitting illegal instructions to armv7l CPUs

* Limit dwsize for armv7l

* Remove superfluous cppflags argument
2019-01-05 08:53:37 +03:00
PastaPastaPasta
a49f4123e5 Backports 0.15 pr1 (#2590)
* Merge #9744: Remove unused module from rpc-tests

a432aa0 Remove unused module from rpc-tests (Takashi Mitsuta)

* Merge #9696: [trivial] Fix recently introduced typos in comments

0c9b9b7 [trivial] Fix recently introduced typos in comments (practicalswift)

* Merge #9657: Improve rpc-tests.py

a6a3e58 Various review markups for rpc-tests.py improvements (John Newbery)
3de3ccd Refactor rpc-tests.py (John Newbery)
afd38e7 Improve rpc-tests.py arguments (John Newbery)
91bffff Use argparse in rpc_tests.py (John Newbery)
1581ecb Use configparser in rpc-tests.py (John Newbery)

* Merge #9724: Qt/Intro: Add explanation of IBD process

f6d18f5 Qt/Intro: Explain a bit more what will happen first time (Luke Dashjr)
50c5657 Qt/Intro: Storage shouldn't grow significantly with pruning enabled (Luke Dashjr)
9adb694 Qt/Intro: Move sizeWarningLabel text into C++ code (Luke Dashjr)

* Merge #9794: Minor update to qrencode package builder

1bfe6b4 Use package name variable inside $(package)_file_name variable (Mitchell Cash)

* Merge #9726: netbase: Do not print an error on connection timeouts through proxy

3ddfe29 netbase: Do not print an error on connection timeouts through proxy (Wladimir J. van der Laan)
13f6085 netbase: Make InterruptibleRecv return an error code instead of bool (Wladimir J. van der Laan)

* Merge #9727: Remove fallbacks for boost_filesystem < v3

056aba2 Remove fallbacks for boost_filesystem < v3 (Wladimir J. van der Laan)

* Merge #9485: ZMQ example using python3 and asyncio

b471daf Adddress nits, use asyncio signal handling, create_task (Bob McElrath)
4bb7d1b Add python version checks and 3.4 example (Bob McElrath)
5406d51 Rewrite to not use Polling wrapper for asyncio, link to python2.7 example (Bob McElrath)
5ea5368 ZMQ example using python3 and asyncio (Bob McElrath)

* Merge #9807: RPC doc fix-ups.

851f6a3 [qa][doc] Correct rpc test options in readme (fanquake)
41e7219 [trivial] Add tests_config.ini to .gitignore (fanquake)

* Dashify

Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>

* Change file permissions

* update travis.yml -parallel -> --jobs
2019-01-03 12:18:47 +03:00
Alexander Block
5e829a3b1b Update Chia bls-signature to latest version (#2409)
Brings in:
1. https://github.com/Chia-Network/bls-signatures/pull/41
2. https://github.com/Chia-Network/bls-signatures/pull/46
3. A few commits from https://github.com/codablock/bls-signatures are now
   merged into upstream.

This removes the need for manual initialization of the BLS library. This is
now done internally and in a thread-safe way.

Also switch to using tags instead of raw commit hashes. Makes testing
easier and also removes the risk of Github deleting commits due to
cleanup jobs.
2018-11-02 00:59:11 +03:00