Commit Graph

172 Commits

Author SHA1 Message Date
Jack Grigg b123b9bb79
depends: Upgrade Rust to 1.26.0-beta.3 2018-04-11 07:59:46 -06:00
Simon 09bf7d2d3c Upgrade OpenSSL to 1.1.0h 2018-03-29 23:05:17 -07:00
Homu 058efdbe0f Auto merge of #3124 - bitcartel:update_boost_url, r=str4d
Update boost package URL to match official download url on boost.org

Part of #3123.
2018-03-28 08:26:39 -07: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
Homu 2c91e3ebc0 Auto merge of #3117 - charlieok:add_windows_rust_package, r=daira
Add filename and SHA256 hash for Windows Rust package

When running `make download` in the `depends` directory, the `download-win` target (which `download` depends on) generates an error when it runs the commands defined in `check_or_remove_sources`:

```Makefile
sha256sum: /home/vagrant/zcash/depends/work/download/rust-1.16.0/..hash: no properly formatted SHA256 checksum lines found
funcs.mk:242: recipe for target '/home/vagrant/gitian-builder/cache/common/download-stamps/.stamp_fetched-rust-.hash' failed
make[1]: *** [/home/vagrant/gitian-builder/cache/common/download-stamps/.stamp_fetched-rust-.hash] Error 1
make[1]: Leaving directory '/home/vagrant/zcash/depends'
Makefile:153: recipe for target 'download-win' failed
make: *** [download-win] Error 2
```

The reason for the error is that `depends/packages/rust.mk` defines `rust_file_name_linux` and `rust_file_name_darwin` but leaves `rust_file_name_mingw32` undefined.

A directory of available rust downloads is here: https://static.rust-lang.org/dist/index.html

The closest windows analog in that list (using the same version number as currently defined in `rust.mk`) appears to be `rust-mingw-1.16.0-x86_64-pc-windows-gnu.tar.gz`. A corresponding sha256 value is also given in `rust-mingw-1.16.0-x86_64-pc-windows-gnu.tar.gz.sha256`.

After adding these values to `rust.mk`, the rust-mingw tar package was downloaded along with the rest of the dependencies and the above error message went away.
2018-03-28 05:31:43 -07:00
Simon 2b0783792b Update boost package URL to match official download url on boost.org 2018-03-27 09:39:06 -07:00
Charlie O'Keefe de2c5e9be9 Add filename and sha256 hash for windows rust package 2018-03-26 14:52:58 -06:00
Jack Grigg 1c4a74d40b
depends: Remove -mt suffix from Boost libraries
Requires disabling --build-type=complete, because in Boost 1.66 it appears to be
broken (only the tagged libraries are built).
2018-03-26 16:33:27 +02:00
Jack Grigg e6a34c283a
Revert "remove -mt suffix from boost libraries built by depends"
This reverts commit 33ae5edd2c.
2018-03-26 16:20:55 +02:00
Simon bbcdabc28d Update boost to 1.66.0 2018-03-23 15:07:17 -07:00
rofl0r 33ae5edd2c remove -mt suffix from boost libraries built by depends 2018-02-23 15:52:55 +00:00
daniel 0b2a64f484
add powerpc build support for openssl lib 2017-12-01 14:10:15 +00:00
Jack Grigg 9635679cba
Replace "install -D" with "mkdir -p && install" 2017-11-29 17:26:47 +00:00
Cory Fields 038a858d2f
depends: use c++11 2017-11-29 17:24:59 +00:00
Cory Fields 1f623c64b6
c++11: fix libbdb build against libc++ in c++11 mode
atomic_init clashes with
2017-11-29 17:24:59 +00:00
Homu 099bf3dd8f Auto merge of #2763 - syd0:upgrade-libsodium, r=daira
Update libsodium from 1.0.11 to 1.0.15

Closes #2693.
2017-11-28 13:20:13 -08:00
syd 0c177bc585 Update libsodium from 1.0.11 to 1.0.15 2017-11-22 23:16:51 -05:00
syd 24902602f2 Upgrade googletest to 1.8.0 2017-11-19 14:08:17 -05:00
Sean Bowe 26a8f68ea8
Remove libsnark from depends system and integrate it into build system. 2017-08-02 15:49:30 +01: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
kozyilmaz e6dc07bc69 support per platform filename and hash setting for dependencies 2017-06-09 13:15:27 +03: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
Simon 56f66372c5 Fix proton build issue with debian jessie, as used on CI servers.
Debian 8 stable ships with gcc 4.9.2 and cmake 3.0.2.  Previously
the depends package used CMAKE_CXX_STANDARD to tell cmake to use
C++11, but the option requires cmakes 3.1+.  To resolve the issue
we now update relevant CMakeLists.txt and set CMAKE_CXX_FLAGS.
2017-04-16 00:30:58 -07:00
Simon f493d3e044 Add --disable-proton flag to build.sh. Proton has build/linker issues with gcc 4.9.2 and requires gcc 5.x. 2017-03-25 09:41:54 -07:00
Simon 99eb947a98 Add AMQP 1.0 support via Apache Qpid Proton C++ API 0.17.0 2017-03-25 08:51:40 -07:00
Jack Grigg a163953929
[depends] libevent 2.1.8 2017-03-24 09:03:59 +13:00
fanquake ec626cc530
[depends] libevent 2.1.7rc 2017-03-24 09:03:59 +13:00
Wladimir J. van der Laan 32f4e7744c
depends: Add libevent compatibility patch for windows
Add a patch that seems to be necessary for compatibilty of libevent
2.0.22 with recent mingw-w64 gcc versions (at least GCC 5.3.1 from Ubuntu
16.04).

Without this patch the Content-Length in the HTTP header ends up as
`Content-Length: zu`, causing communication between the RPC
client and server to break down. See discussion in #8653.

Source: https://sourceforge.net/p/levent/bugs/363/

Thanks to @sstone for the suggestion.
2017-03-24 09:03:59 +13:00
Cory Fields 91295c4b4d
libevent: Windows reuseaddr workaround in depends
Make it possible to reuse sockets.
This is necessary to make the RPC tests work in WINE.
2017-03-24 09:03:59 +13:00
Cory Fields 505b30ff01
libevent: add depends 2017-03-24 09:03:59 +13:00
Sean Bowe 802ea76b3a Allow Rust-language related assets to be disabled with `--disable-rust`. 2017-03-18 07:47:40 -06:00
Sean Bowe 6a0c7ceae9 Introduce librustzcash and Rust to depends system. 2017-03-17 11:46:41 -06: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
Sean Bowe 69566ad756 Update libsnark. 2017-02-09 15:30:09 -07:00
Jack Grigg 602407de95
[depends] ZeroMQ 4.2.1 2017-02-08 22:11:53 +00:00
fanquake 00bcf2230d
[depends] ZeroMQ 4.1.5 2017-02-08 22:11:53 +00:00
fanquake c3c55e10e8
[depends] ZeroMQ 4.1.4 2017-02-08 22:11:53 +00:00
fanquake 6702d371c5
[depends] zeromq 4.0.7 2017-02-08 22:10:42 +00:00
Jonas Schnelli 0388c23a76
depends: fix platform specific packages variable
prefix instead of postfix
2017-02-08 22:10:42 +00:00
Cory Fields cce7754eb8
Depends: Add ZeroMQ package 2017-02-08 22:10:42 +00:00
Jack Grigg 18cc8f45fd
Upgrade OpenSSL to 1.1.0d
Closes #2047
2017-01-31 15:23:56 +01:00
Jack Grigg bebec25313
Add an upstream miniupnpc patch revision 2016-12-01 12:29:18 +13:00
Jack Grigg aefa70f948
Apply miniupnpc patches to enable compilation on Solaris 11
These can be removed after the next MiniUPnP release.

Closes #1835.
2016-12-01 01:12:59 +13:00
Jack Grigg da7bcff4fe
Build libsnark with -march=x86-64 instead of -march=native 2016-10-27 16:32:27 -07:00
Daira Hopwood 9cb7abafb5 Changes to upgrade bdb to 6.2.23
ref #1255
2016-10-25 16:18:19 +01:00
zkbot 90031e1d61 Auto merge of #1577 - radix42:v1.0.0-rc1-gitian, r=daira
V1.0.0 rc1 gitian

Removes indeterminism from gitian builds: underlying processor instruction set variant of x86_64 was being detected by the libgmp autoconf process, which caused differences in libgmp and libsnark
2016-10-20 17:40:27 -04:00
David Mercer ed928f413e explicitly pass HOST and BUILD to libgmp ./configure 2016-10-19 20:18:03 -07:00
Daira Hopwood 0ee86d399e Changes to build on Alpine Linux.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-20 00:36:32 +01:00
Jack Grigg de064bab95
Update libsnark to include determinism fix 2016-10-16 12:27:01 -05:00
Jack Grigg 63bc8c9a17 Downgrade bdb to 5.3.28
bdb 6.X was released under the AGPL, which is incompatible with MIT-licensed
software (the result must be licensed under AGPL). bdb 5.X uses the same license
as bdb 4.8, and thus retains the same compatibility as in upstream Bitcoin.

Thanks to Luke-Jr for raising this issue.
2016-10-01 23:02:32 +13:00
Jack Grigg be9e7ce722 Remove no-autoalginit and no-autoerrinit OpenSSL flags
These flags are potentially risky, because they require that the app explicitly
initialize stuff that it wouldn't otherwise need to initialize, and we don't
have time for the necessary review.
2016-09-30 14:11:27 +13:00
Jack Grigg 629c8743a7 Disable nearly everything in OpenSSL
Flags obtained from:
https://gist.github.com/steakknife/8247726#gistcomment-1739713

Some flags not enabled because they aren't supported in OpenSSL 1.1.0b.

Flags not enabled because they break compilation:
- no-deprecated
- no-dh
- no-ec
2016-09-29 15:53:41 +13:00
Jack Grigg 21fb88a348 Fix auto_ptr deprecation warning in Boost 2016-09-29 14:15:55 +13:00
Jack Grigg 19c3917ce9 Upgrade ccache to 3.3.1 2016-09-29 12:34:40 +13:00
Jack Grigg 7bbf5f5ab2 Upgrade miniupnpc to 2.0 2016-09-29 12:34:40 +13:00
Jack Grigg fa318aa9fe Upgrade OpenSSL to 1.1.0b
Closes #1348
2016-09-29 12:34:09 +13:00
fanquake 95efc7cccb [depends] OpenSSL 1.0.1k - update config_opts 2016-09-29 12:07:23 +13:00
Jack Grigg 44bdcabc38 Upgrade libgmp to 6.1.1 2016-09-29 12:07:23 +13:00
Jack Grigg 2d6d5fb311 Upgrade Boost to 1.62.0
Part of #944
Closes #1241
2016-09-29 12:06:48 +13:00
Robert C. Seacord 4734b29ecd Changes to upgrade bdb to 6.2.23
Closes #1255
2016-09-29 11:56:56 +13:00
Sean Bowe f6b6c9bed8 Update libsnark again. 2016-09-05 12:00:50 -06:00
Sean Bowe 6a1653f009 Update libsnark dependency. 2016-08-22 15:48:20 -06:00
Taylor Hornby a635d6e995 Upgrade libsodium for AVX2-detection bugfix. 2016-08-17 10:43:06 -06:00
Sean Bowe 25d2197043 Remove more from libsnark, and fix potential remote-DoS. 2016-07-21 18:34:59 -06:00
Taylor Hornby 86551dcb18 Remove insecurely-downloaded dependencies that we don't currently use. 2016-07-19 16:42:58 -06:00
Sean Bowe e9f9a73ab7 Update libsnark to our fork. 2016-07-15 10:45:09 -06:00
Taylor Hornby 4e117b63c6 Rename zerocash_packages to zcash_packages in packages.mk 2016-07-11 19:30:18 -06:00
Simon 5dad8f569d Disable USE_ASM when building libsnark (issue 932). 2016-06-20 15:18:15 -07:00
Taylor Hornby 0af5e31282 Pass -DPURIFY to OpenSSL so it doesn't clutter valgrind output. 2016-05-25 16:42:39 -06:00
Sean Bowe e6c2d66c93 Enable MULTICORE proving behavior with omp. 2016-05-25 11:19:13 -06:00
Sean Bowe 9285bba885 Enable binary serializations of proofs and r1cs keys, and make the `CPourTx` proof field fixed-size. 2016-05-24 11:08:31 -06:00
Taylor Hornby e334392fab Patch libsnark to build with my compiler. Upstream PR #35. 2016-05-18 11:22:29 -06:00
Nathan Wilcox b6aa043d1f Add googlemock 1.7.0 dependency. 2016-05-03 13:46:09 -07:00
Sean Bowe 6c36a9fe03 NoteEncryption implementation and integration, removal of ECIES and crypto++ dependencies. 2016-04-28 16:25:12 -06:00
Nathan Wilcox 0ee1d5d133 Add a depends description for googletest. 2016-04-18 11:13:05 -07:00
Taylor Hornby abbab2cc4f Add libsodium to the depends system. 2016-03-17 16:29:37 -06:00
Sean Bowe 1e62bba762 Remove ate-pairing, xbyak and libzerocash dependencies from the depends tree.
The ALT_BN128 curve does not need ate-pairing or xbyak.

Also, remove crypto++ dependency from libsnark.
2016-02-15 15:27:59 -07:00
Sean Bowe a8ac403db0 Added mapAnchors consensus rules, finished zcrawpour/zcrawreceive.
Some specifics on consensus changes:
* Transactions must be anchored to a real anchor in the chain.
* Anchors are pushed and popped during ConnectBlock/DisconnectBlock as appropriate.
* DisconnectTip triggers evictions, under some circumstances, of transactions in the
  mempool which are anchored to roots that are no longer valid.
* Commitments append to the tree at the current best root during ConnectBlock.
2016-01-19 14:36:04 -07:00
Sean Bowe e934af2404 Update libzerocash ref 2016-01-19 14:36:04 -07:00
Sean Bowe 9f25631d50 Add mapAnchors infrastructure to CCoinsView.
This adds the TXDB/CCoinsViewCache primitives necessary for
writing consensus rules for mapAnchors later.
2016-01-19 14:36:04 -07:00
Sean Bowe 96c31d163f Added CPourTx verification and construction routines. 2016-01-19 14:36:04 -07:00
Nathan Wilcox d7ad5f3c45 Upgrade libzerocash to a recent version without bitcoin serialization; also remove cut'n'paste error. 2015-12-22 09:20:42 -08:00
Nathan Wilcox c4da097069 Pull over depends and build changes from zc.v0.10.0.latest. Fails to build due to new ./configure dependency for serialization stuff. 2015-12-22 09:20:42 -08:00
Wladimir J. van der Laan 21e58b8e35
build: make sure OpenSSL heeds noexecstack
This passes `-Wa,--noexecstack` to the assembler when building
platform-specific assembly files, to signal that a non-executable stack
can be used. This is the same approach as used by Debian
(see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=430583)

Rebased-From: bfcdc21a5da25ec1aa4aecc4cd8960dfa1c11781
Github-Pull: #6852
2015-10-19 15:04:14 +02:00
Wladimir J. van der Laan b4ad73f706
Update miniupnpc to 1.9.20151008
This version of miniupnpc fixes a buffer overflow in the XML (ugh)
parser during initial network discovery.

http://talosintel.com/reports/TALOS-2015-0035/

The commit fixing the vulnerability is:
79cca974a4

Reported by timothy on IRC.

Github-Pull: 6789
Rebased-From: 0cca0248f030ea32bd8de778b5a2782e0d191978
2015-10-09 14:56:22 +02:00
Cory Fields 92401c2d90
Depends: bump to qt 5.5
Github-Pull: #6471
Rebased-From: fe997dfd121e3d82464908940753b77ebf61a10d 5189fe3d88b7d0154758379a877533fe364dec87 ab67dd7818ff2d0910f3fd9bfca9412d85de4424 ecd6a89381a34d4bcd07593a2e377656d070a7ed 060b3d377b0a0d318f630beb7fe4d8f41b99981c
2015-07-27 13:09:25 +02:00
Jacob Welsh 25c2216168
depends: fix Boost 1.55 build on GCC 5
Boost assumes variadic templates are always available in GCC 4.4+, but
they aren't since we don't build with -std=c++11.

This applies the patch that fixed the issue in boost 1.57:
eec8085549

See also: https://svn.boost.org/trac/boost/ticket/10500

Github-Pull: #6280
Rebased-From: b19a88b2a0e7bd9ef603055bc8e1ef058673025d
2015-06-17 09:10:01 +02:00
Cory Fields 235b3a789d depends: sanity-check sources and cached builds
In some cases (Travis), sources and build caches may be moved around in-between
builds, and we can't necessarily trust that everything is still intact.

This introduces pre-build checks that verify against stashed checksums.

Note that this will cause all sources to be re-downloaded, since cached sources
weren't trustworthy before this.
2015-05-14 01:33:07 -04:00
Cory Fields bb44d9e754 depends: fix a static qt5 crash when using certain versions of libxcb
See here for background: https://bugreports.qt.io/browse/QTBUG-34748

libxcb temporarily had an abi breakage which caused crashes when qt was
compiled against a non-compatible version. Building qt with -qt-xcb should have
shielded us from this issue, except that incompatible headers were used when
building qt's wrapper.

Make sure those headers aren't picked up by qt's build.

Details:

qt's build adds a wrapper around the xcb libs when -qt-xcb is used. This is
done to avoid having to link to a handful of different libs, which may not be
api/abi stable. This build depends on include-order, so that its files are
found before the real libxcb headers.

Our build (for other reasons related to qt's complicated build-system) injects
our prefix into CXXFLAGS. Because libxcb is found in this path, that reverses
the include-order, negating the purpose of the wrapper.

To fix, libxcb's includes are simply moved to a subdir. pkg-config ensures that
they're still found properly when needed.

To make things even more interesting, this behavior in qt's .pro files is broken:
INCLUDEPATH += $$QMAKE_CFLAGS_XCB

The INCLUDEPATH variable is processed by qmake which automatically prefixes each
entry with "-I". The QMAKE_CFLAGS_XCB variable comes from pkg-config and
already contains -I, making the path look like "-I-I/path/to/xcb/headers".

To work around that, CFLAGS/CXXFLAGS are used here rather than INCLUDEPATH.
2015-03-16 23:45:15 -04:00
Cory Fields d23b0a2711 depends: always use static qt5 for linux 2015-02-25 18:41:59 -05:00
Wladimir J. van der Laan 90c71548c7
depends: remove embedded OpenSSL timestamp for determinism
Chery-picked from 0.10 branch.

Rebased-From: c3200bcd1e7116e079aebabed3a01dc5385bfc9e
2015-01-12 16:19:24 +01:00
Cory Fields dad7764a9d depends: bump openssl to 1.0.1k 2015-01-09 21:31:38 -05:00
Cory Fields 4caad26ba1 depends: bump cctools to a custom version with less deps
This one no longer requires native libuuid or libcrypto
2015-01-02 19:31:07 -05:00
Cory Fields 4fe6c3c24f depends: major upgrade to darwin toolchain
tl;dr: Update to the newer stable toolchain and SDK for OSX without giving up
any backwards compatibility. We can move to clang 3.5 as a next step which
allows use to use libc++ and the 10.10 sdk, but we'll need to find a build that
works in gitian/travis first.

Switch to a new, better maintained fork of cctools:
https://github.com/tpoechtrager/cctools-port

I've forked this and will be working on it some as well:
https://github.com/theuni/cctools-port

This brings in:
cctools v862
ld64: v241.9

It also fixes 64bit builds, so there's no longer any need to use a 32bit clang.
Since clang is no longer tied to an old/crusty 32bit build, clang has been
upgraded to 3.3. Unfortunately, there's a bug in 3.4 that breaks builds. 3.5
works fine, but there are no binary builds compatible with precise, which is
currently used for gitian and travis. We could always build our own if
necessary.

After updating to stable clang/linker/cctools, it's possible to use a more
recent SDK. The current SDK (10.7) through the most recent 10.10 have all been
built/tested successfully, both with and without 10.6 compatibility. However,
10.10 requires clang 3.5.

SDKs >= 10.9 use libc++ rather than libstdc++. This is verified working as well.
2015-01-02 15:09:43 -05:00
Cory Fields ec90c97d13 depends: osx: fix qt5 build against 10.10 sdk 2015-01-02 15:09:43 -05:00
Wladimir J. van der Laan e36e619886 Add mips, mipsel and aarch64 to depends platforms 2014-12-17 13:20:11 +01:00
BtcDrak 164a45f57a
Fix download link for gitian builds 2014-12-13 09:03:33 +00:00
Cory Fields d7db4b6317 depends: fix packages with hard-coded SOURCES_PATH
Also fixes a nasty bug that removes the downloaded comparisontool jar file.
2014-12-11 19:23:12 -05:00
Pieter Wuille ffe3291466 Remove gmp dependency and doc mentions 2014-12-04 19:17:02 +01:00