Commit Graph

66 Commits

Author SHA1 Message Date
Jack Grigg d3b434eb0f depends: Update cxx to 1.0.76 2022-09-23 03:44:07 +00:00
Daira Hopwood a227652d7d Update cxx to 1.0.72.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-07-25 14:57:19 +01:00
Jack Grigg c85c5b5c12 depends: Vendor dependencies of native_cxxbuild 2022-05-27 23:16:17 +00:00
Jack Grigg 1ad8ee8735 qa: Boost 1.77.0
- The patches `iostreams-106.patch` and `signals2-noise.patch` were
  incorporated into Boost 1.75.
- The allocator access deprecation issue was fixed in Boost 1.76.

Closes zcash/zcash#4945.
2021-09-15 00:35:53 +01:00
str4d bdaf3e1ab2 depends: Greatly simplify the Clang 12 patch
We can avoid the "%s" optimization with "%s%s" :D

Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-07-30 19:53:18 +01:00
Jack Grigg 18e39ff9f0 depends: Fix issue cross-compiling BDB to Windows with Clang 12 2021-07-30 18:22:05 +01:00
Luke Dashjr dc0d4bcb53 depends: Patch libevent build to fix IPv6 -rpcbind on Windows
libevent uses getaddrinfo when available, and falls back to gethostbyname
Windows has both, but gethostbyname only supports IPv4
libevent fails to detect Windows's getaddrinfo due to not including the right headers
This patches libevent's configure script to check it correctly

(cherry picked from commit 03e056edcd1a7f7197a29068c52fa33fce12f7d7)
2021-06-05 15:20:22 +01:00
Jack Grigg c996fc1ca4 Revert "Update boost to 1.75, postpone other updates."
This reverts commit 8f4dd4460b.
2021-01-25 11:35:18 +00:00
Jack Grigg fa41e9adca depends: Fix Boost warnings under Clang 11
C++17 deprecated the two-argument version of std::allocator::allocate.
Starting with 11.0, libc++ enforces these deprecations, which causes
warnings from the Boost headers, and since we require native Linux
builds to be warning-free, this breaks CI.

Boost addressed this issue for MSVC in 1.75; the patch in this commit
forces Clang to be handled in the same way.
2021-01-18 21:55:22 +00:00
Alex Wied 2e36d4208c
Use parentheses for defined in windows-unused-variables.diff
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-01-05 22:16:20 -05:00
Alex Wied eadc3d48f2 Add support for FreeBSD 12 2020-12-30 19:50:25 -05:00
Kris Nuttycombe 8f4dd4460b Update boost to 1.75, postpone other updates.
This removes the paches iostreams-106.patch and signals2-noise.patch
which have been incorporated into boost 1.75. Also, this further
postpones updates to native_clank, libcxx and native_ccache.
2020-12-18 14:13:42 -07:00
Jack Grigg ab4033c49c depends: Fix boost::iostreams usage on Windows with libc++
Fixed upstream (but not yet in a Boost release):
    https://github.com/boostorg/iostreams/pull/106
2020-10-13 16:33:25 +01:00
Jack Grigg 3973a16358 depends: Fix "unused variables" warning when compiling zeromq for Windows
Clang triggers that warning, which becomes an error due to -Werror.
2020-10-13 14:12:41 +01:00
Jack Grigg 4abd76f70e depends: Use vendored Clang for macOS cross-compilation 2020-10-12 17:55:12 +01:00
Nate Wilcox 5a47aa5350 Convert a sed command to a static patch file. 2020-10-12 11:58:28 +09:00
Jack Grigg a9f62bdda0 depends: Boost 1.74.0
- The old patch is no longer necessary because of this upstream fix:
    https://github.com/boostorg/build/pull/560

- Boost 1.72 removed a <deque> from an include, which exposed a missing
  include in src/httpserver.cpp.

- Boost 1.73 moved function placeholders into the boost::placeholders
  namespace.

- The new patch is a fix from just after Boost 1.74 was released, fixing
  a warning that was missed.
2020-10-05 19:48:46 +01:00
Jack Grigg 96da9c2c00 depends: libevent 2.1.12
This includes https://github.com/libevent/libevent/pull/637 which fixes
a problem we encounter during cross-compilation with clang.
2020-10-01 10:56:42 +01:00
Kris Nuttycombe 0391809da1 Remove amqp code and Proton library depenencies & flags. 2020-07-31 13:08:18 -06:00
Homu 4eb3dc7ec6 Auto merge of #4321 - str4d:internalise-rust, r=str4d
Bring the librustzcash crate into this repository

Rust dependencies are now canonically pinned within this repository by
`Cargo.lock`. We continue to use the depends system for vendoring the
dependencies, to ensure our Gitian builds continue to function (which have
no network access at build time, and fetch dependencies separately).

The `--enable-online-rust` configure flag replicates the behaviour of the
`LIBRUSTZCASH_OVERRIDE` environment variable (enabling the build system to
use https://crates.io instead of vendored dependencies).

This pulls in the exact version of `librustzcash` that we currently depend on
(corresponding to the `0.1.0` tag in https://github.com/zcash/librustzcash).
The changes to the crate since then will be pulled in as a separate PR.

Part of zcash/librustzcash#155.
Part of #4230.
2020-03-11 14:20:17 +00:00
Homu dcd3614de4 Auto merge of #4359 - str4d:2872-upgrade-libsodium, r=str4d
Upgrade libsodium to 1.0.18

Includes patches that maintain consensus compatibility with libsodium 1.0.15 for Ed25519 pubkey and signature validation.

Replaces #4239. Closes #2872.
2020-03-10 03:10:01 +00:00
Jack Grigg 90f7234136 Replace librustzcash from depends system with src/rust
The --enable-online-rust configure flag replicates the behaviour of the
LIBRUSTZCASH_OVERRIDE environment variable (enabling the build system to
use crates.io instead of vendored dependencies).
2020-03-06 16:49:03 +13:00
Jack Grigg 0cca79a2d8 depends: Remove comments from libsodium signature validation patch
Some of the comments in the 1.0.15 code were incorrect.
2020-03-06 16:19:23 +13:00
Jack Grigg 0f12f47f58 Patch libsodium 1.0.15 signature validation onto 1.0.18 2020-02-18 01:18:37 +00:00
Jack Grigg 4fe5969157 Patch libsodium 1.0.15 pubkey validation onto 1.0.18 2020-02-18 01:18:37 +00:00
Dimitris Apostolou daff771ca4
End diff with LF character 2020-02-16 21:14:42 +02:00
Dimitris Apostolou 2d2b7a1be7
Fix Boost compilation on macOS 2020-02-07 21:41:02 +02:00
Taylor Hornby 84497b862a Fix broken proton build 2020-01-08 16:23:29 -07:00
Taylor Hornby a5affb11d1 Update proton from 0.26.0 to 0.30.0 2020-01-07 21:36:14 +00:00
Jack Grigg be2fdeaaf3
Upgrade librustzcash to 0.2.0
librustzcash now requires a minimum of Rust 1.36.0.

The proc-macro2, quote, syn, and unicode-xid dependencies are pulled in
because we moved to using ff_derive inside pairing to derive the
BLS12-381 fields. We will be going back to explicit implementations with
the jubjub and bls12_381 crates, so these dependencies will disappear
once that is done.

The autocfg crate is pulled in by the upgraded num-integer crate, which
is transitively used by fpe. Rewriting fpe to not use num-bigint would
drop:

- autocfg
- num-bigint
- num-integer
- num-traits

We primarily depend on rand_core in our crates. The rand crate, and its
other dependencies, are pulled in for two reasons:

- The group crate exposes testing helper functions in its public API
  that use distribution sampling APIs in the rand crate.

- zcash_primitives::transaction::Builder uses rand::seq::SliceRandom to
  shuffle the order of Sapling spends and outputs.

Refactoring these in order to drop rand would additionally drop:

- c2-chacha
- rand_chacha
- rand_hc
- rand_xorshift
2019-10-20 19:10:34 +13:00
Jack Grigg bfc997c32e depends: Patch libevent to detect arch4random_addrandom
See details in https://github.com/libevent/libevent/issues/615.
The patches can be dropped after we move to the next stable release.
2019-05-22 11:37:56 +00:00
Homu ab856294d9 Auto merge of #3505 - str4d:rust-targets, r=str4d
depends: Support additional cross-compilation targets in Rust

This will make it easier for third parties to cross-compile `zcashd` for other platforms. The third commit in this PR shows how to add a new target to the Rust dependency builder.

The default Rust target during cross-compilation is the canonical host, which is derived from `HOST` using `depends/config.sub`. If the canonical host differs from the required Rust target, add the necessary mapping in addition to the target itself.

Also includes fixes for cross-compiling aarch64 targets.
2019-04-23 08:33:40 -07:00
Taylor Hornby 675cf3d606 Patch out proton::url deprecation as workaround for build warnings 2019-03-25 17:38:07 -06:00
Taylor Hornby 8088476911 Fix proton patch regression. #3916 2019-03-25 11:46:37 -06:00
Jack Grigg d7ab954511
depends: Generalise the rust package cross-compilation functions 2019-03-13 04:40:57 +00:00
Taylor Hornby 78c916eb2e Patch Proton for a minimal build. #3786 2019-02-06 13:18:53 -07:00
Jack Grigg eff2938e46
Migrate to current librustzcash
The only upstream change relative to the previous commit is that the
various Zcash-specific dependencies have been pulled into a cargo
workspace. The dependecies in the workspace use the same commits as the
crates we had previously vendored.

The patches are necessary to handle the fact that cargo requires that
dev dependencies are available even if not used, and we would otherwise
need to vendor all the underlying crates.
2018-10-27 17:03:47 +13:00
Jack Grigg f8d65e8f03
Update librustzcash with ZIP 32 APIs 2018-09-03 10:27:52 +01:00
Jack Grigg f77650a6ac
depends: Configure librustzcash for cross-compiling 2018-08-17 16:41:51 +01:00
Sean Bowe b7b088c46b Update librustzcash and sapling-crypto. 2018-07-30 21:59:12 -06:00
Sean Bowe b9a5a116cd Update librustzcash 2018-05-18 13:26:37 -06:00
Sean Bowe fcbe7eef8d Update sapling-crypto and librustzcash 2018-05-07 18:56:55 -06:00
Jack Grigg a560c24d6b
depends: Update to latest librustzcash with sapling-crypto dependencies 2018-04-11 08:06:40 -06:00
Homu a08ad2b815 Auto merge of #3096 - str4d:2231-depends-vendor-rust-crates, r=str4d
depends: Explicitly download and vendor Rust dependencies

Closes #2231.
2018-03-28 07:01:39 -07:00
Jack Grigg 0adfdc99b2
depends: Explicitly download and vendor Rust dependencies
Closes #2231.
2018-03-28 15:46:51 +02:00
Simon bbcdabc28d Update boost to 1.66.0 2018-03-23 15:07:17 -07:00
Daira Hopwood 506a21850a Remove UPnP support. fixes #2500
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-07-03 08:57:05 +01:00
Simon b9f6e40c9c Patch to build Proton with minimal dependencies.
Closes #2279.  Configures CMake to enable C++11, build static libaries
and only build cpp bindings with minimal dependencies. Documentation,
examples, tests and other language bindings are no longer built.
CMake will no longer try to find commands and packages which are not
required for building the target.
2017-04-28 12:03:37 -07:00
Daira Hopwood 8247636d21 Remove unused packages and patches.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-03-07 19:40:09 +00:00
Jack Grigg bebec25313
Add an upstream miniupnpc patch revision 2016-12-01 12:29:18 +13:00