Commit Graph

414 Commits

Author SHA1 Message Date
Alexander Block
3039d44d39 Add Chia bls-signatures library to depends 2018-10-07 19:36:03 +02:00
Alexander Block
057d7445eb Add libgmp to depends 2018-10-04 16:46:48 +02:00
UdjinM6
8a1b513560
Backport: Fix Qt build with XCode (for depends) (#2325)
* [Depends] Fix Qt build with Xcode 9.2

GitHub-Pull: #11995
Rebased-From: 2b1f794

* depends: Fix Qt build with XCode 9.3

GitHub-Pull: #12946
Rebased-From: 5b4fc3e

* add newline
2018-09-30 14:03:13 +03:00
Alexander Block
eb202e812f Use ccache in gitian builds (#2185)
* Use subdirectory for depends cache in gitian builds

* Make timestamps of wrappers deterministic

* Use ccache in gitian builds

* Upgrade ccache to latest version (3.4.2)

* Build the branch that belongs to the Jenkins build instead of develop
2018-07-20 16:33:02 +03:00
Alexander Block
f3e380659a Move to in-docker CI builds and add Jenkins support (#2178)
* GCC-7 and glibc-2.27 compat code

* Statically link libstdc++ for GCC based builds

Makes sure binaries which are built on a newer build host still work
on older distros.

* Use python3 when installing MacOS native tools

* Move actual build logic out of Travis and upgrade to gcc-7

Travis will now simply call a few scripts which do the actual work.
These scripts will first create a "builder image" which contains the
necessary environment for the actual build. Then scripts are called
inside this builder image to do the build.

This should make us more independant from Travis and also allows us
to do local CI testing.

The build matrix is also moved out of .travis.yml and instead moved
into ci/matrix.sh. This script is sourced with only "BUILD_TARGET" being
set so that it internally can figure out which other environment
variables need to be set.

This commit also upgrades the used GCC version to 7. This is due to the
use of ubuntu:bionic as base image for the builder image.

* Add Jenkinsfiles for regular CI and nightly gitian builds

* Automatically download OSX SDK in gitian-build.sh

* Remove bogus "export MAKEJOBS=-j5"

* Forward cache/src dirs into builder container

Fixes caching issues on Travis.

* fix

* Fail build immediately when building depends took too long
2018-07-12 16:28:59 +03:00
Oleg Girko
5036d7dfc5 depends: Update Qt download url (#2177) 2018-07-12 12:09:02 +03:00
Wladimir J. van der Laan
8ee652f4c3 Merge #10851: depends: fix fontconfig with newer glibc
3498a8d depends: fix fontconfig with newer glibc (Cory Fields)

Pull request description:

  Fixes build with newer gcc.

  Without this, depends builds fail with gcc7, maybe gcc6.

Tree-SHA512: 3cfcebdb137c3e368c69d25012ceb32809890e67521aaa8b074f2092f847e3e7ae82ac9050b4600ba18f443d2a8fe1f8523c808d77642a1e7782d558cbad4a74
2018-01-30 08:47:50 +01:00
Oleg Girko
9a26b427fb Don't set PKG_CONFIG_SYSROOT_DIR env variable to build Qt.
Setting PKG_CONFIG_SYSROOT_DIR environment variable to "/"
for building Qt makes pkgconf behave strange
(remove "/" prefix instead of adding it).

And it makes no sense to set this variable for old pkgconfig anyway.

Signed-off-by: Oleg Girko <ol@infoserver.lv>
2018-01-30 07:03:28 +01:00
Wladimir J. van der Laan
12099e52d4 Merge #10414: [depends] miniupnpc 2.0.20170509
af5d48c [depends] miniupnpc 2.0.20170509 (fanquake)

Tree-SHA512: e6cfa7856aa4ceb17de5e84156cdb90094eedfb08a84ba1cd9a5ce1689533e17863e3f5692a1b7b7b096a7ac88f18539e4b6b7a79f7726401effb11bf9a5ef2f
2018-01-26 12:59:29 +01:00
Wladimir J. van der Laan
a81f445433 Merge #9973: depends: fix zlib build on osx
c624753 depends: fix zlib build on osx (Cory Fields)

Tree-SHA512: fd9343edc24762fc4b7eb9798f0fb6f76d5f5aeef16a0bc3bab5400cb8f9b3ae8a2d34b480f03c853bb31ff4e39c267a2b81cd86df0532f11976072354aa9378
2018-01-26 12:59:29 +01:00
Wladimir J. van der Laan
818fc1eafb Merge #9891: depends: make osx output deterministic
9e4d842 depends: make osx output deterministic (Cory Fields)

Tree-SHA512: 997a671832a28e600bc3c9cd1340c6c1fa08f050d7cf676a5d51b38f08161ac418621520459a9a53dd87102c13fb69cb2e58ec3cc00f738e204eb787d6f0cad6
2018-01-26 12:59:29 +01:00
Wladimir J. van der Laan
a757261e89 Merge #9646: depends: Fix cross build for qt5.7
b5f374f qt: fix build with zlib for target (Cory Fields)
8efa34f depends: add a zlib build (Cory Fields)
342eb96 build: find qt's renamed helper libs from 5.7 (Cory Fields)
2018-01-21 12:48:34 +01:00
Wladimir J. van der Laan
e09d5db455 Merge #9574: [depends] Fix QT build on OSX
c36ec71 depends: qt: disable printer for all platforms, not just osx (Cory Fields)
2018-01-21 12:48:34 +01:00
Wladimir J. van der Laan
87229e06c2 Merge #9469: [depends] Qt 5.7.1
bb077fa [depends] Remove OBJCXX define from config.site.in (fanquake)
c37ea4d depends: fix qt translations build (Cory Fields)
2b32dea depends: use new variable layout for qt sdk (Cory Fields)
02fcb29 [depends] Qt 5.7.1 (fanquake)
2018-01-21 12:48:32 +01:00
Wladimir J. van der Laan
5b763faba3 Merge #9468: [Depends] Dependency updates for 0.14.0
7f1fa99 [depends] native_ds_store 1.1.0 (fanquake)
c6347ae [depends] dbus 1.10.14 (fanquake)
a4c6da0 [depends] ccache 3.3.3 (fanquake)
6019d21 [depends] FreeType 2.7.1 (fanquake)
4ed6faf [depends] Boost 1.63.0 (fanquake)
8ac1830 [depends] Latest config.guess and config.sub (fanquake)
2018-01-21 12:48:32 +01:00
Wladimir J. van der Laan
3a503b99f2 Merge #8820: [depends] Fix Qt compilation with Xcode 8
5776e8a [depends] Fix Qt compilation with Xcode 8 (fanquake)
2018-01-12 08:02:45 +01:00
Wladimir J. van der Laan
801c9e259d Merge #8423: [depends] expat 2.2.0, ccache 3.3.1, fontconfig 2.12.1
86d410d [depends] fontconfig 2.12.1 (fanquake)
9616ac8 [depends] ccache 3.3.1 (fanquake)
6b6cbdd [depends] expat 2.2.0 (fanquake)
2018-01-11 13:22:22 +01:00
Wladimir J. van der Laan
a2d18b4758 Merge #8640: [depends] Remove Qt46 package
3e7d2a2 [depends] Remove Qt46 package (Michael Ford)
2018-01-09 14:16:38 +01:00
Wladimir J. van der Laan
e6dca369e6 Merge #8504: test: Remove java comparison tool
eb0c52e travis: Remove hostname hack (Wladimir J. van der Laan)
3c5251d test: Remove java comparison tool (Wladimir J. van der Laan)
2018-01-08 18:04:55 +01:00
Wladimir J. van der Laan
eb54680c35 Merge #8238: [WIP][depends] ZeroMQ 4.1.5 && ZMQ on Windows
a615386 [depends] ZeroMQ 4.1.5 (fanquake)
2018-01-08 18:04:55 +01:00
Wladimir J. van der Laan
68757db683 Merge #8210: [Qt] Bump to Qt5.6.1
2759597 Only pass -lQt5PlatformSupport if >=Qt5.6 (Jonas Schnelli)
59d063d Use runtime linking of QT libdbus, use custom/temp. SDK URL (Jonas Schnelli)
6194d9a Fix bitcoin_qt.m4 and fix-xcb-include-order.patch (Jonas Schnelli)
f6eb4e2 [depends] OpenSSL 1.0.1k - update config_opts (fanquake)
f25209a depends: bump OSX toolchain (Cory Fields)
2017-12-28 11:44:59 +01:00
Wladimir J. van der Laan
06a73ad7c4 Merge #8188: Add armhf/aarch64 gitian builds
9d25362 build: add armhf/aarch64 gitian builds (Cory Fields)
980e7eb depends: only build qt on linux for x86_64/x86 (Cory Fields)
2017-12-22 17:20:42 +01:00
Wladimir J. van der Laan
fc7b5778f1 Merge #7993: [depends] Bump Freetype, ccache, ZeroMQ, miniupnpc, expat
6a4cf16 [depends] expat 2.1.1 (fanquake)
3e0587b [depends] miniupnpc 2.0 (fanquake)
87b8175 [depends] Latest config.guess & config.sub (fanquake)
bd3cbd5 [depends] ZeroMQ 4.1.4 (fanquake)
0385202 [depends] ccache 3.2.5 (fanquake)
2b2d52e [depends] Freetype 2.6.3 (fanquake)
2017-12-22 16:33:56 +01:00
Wladimir J. van der Laan
b2eabb0974 Merge #7809: depends: some base fixes/changes
11d9f6b depends: qt/cctools: fix checksum checksum tests (Cory Fields)
bb717f4 depends: fix "unexpected operator" error during "make download" (Cory Fields)
fe740f1 depends: fix fallback downloads (Cory Fields)
dc4ec6d depends: create a hostid and buildid and add option for salts (Cory Fields)
2017-12-20 17:25:02 +01:00
Wladimir J. van der Laan
1f8ca7546e depends: mac deploy Py3 compatibility
This fixes the gitian MacOSX build, it was broken in #7723.

The patch to `native_mac_alias` should probably make it upstream.
2017-12-20 08:49:46 +01:00
Wladimir J. van der Laan
953aeead1f Merge #7710: [Depends] Bump miniupnpc and config.guess+sub
c85f475 [Depends] Latest config.guess & config.sub (fanquake)
5fd2318 [Depends] Miniupnpc 1.9.20160209 (fanquake)
2017-12-19 13:18:30 +01:00
Wladimir J. van der Laan
4e0bb527d0 Merge #8373: Fix OSX non-deterministic dmg
3b3ce25 build: fix non-deterministic biplist (Cory Fields)
2017-12-11 08:30:26 +01:00
Wladimir J. van der Laan
e7a6f79e5a Merge #7192: Unify product name to as few places as possible
027fdb8 When/if the copyright line does not mention Bitcoin Core developers, add a second line to copyrights in -version, About dialog, and splash screen (Luke Dashjr)
cc2095e Rewrite FormatParagraph to handle newlines within input strings correctly (Luke Dashjr)
cddffaf Bugfix: Include COPYRIGHT_HOLDERS_SUBSTITUTION in Makefile substitutions so it gets passed to extract-strings correctly (Luke Dashjr)
29598e4 Move PACKAGE_URL to configure.ac (Luke Dashjr)
78ec83d splashscreen: Resize text to fit exactly (Luke Dashjr)
3cae140 Bugfix: Actually use _COPYRIGHT_HOLDERS_SUBSTITUTION everywhere (Luke Dashjr)
4d5a3df Bugfix: gitian-descriptors: Add missing python-setuptools requirement for OS X (biplist module) (Luke Dashjr)
e4ab5e5 Bugfix: Correct copyright year in Mac DMG background image (Luke Dashjr)
917b1d0 Set copyright holders displayed in notices separately from the package name (Luke Dashjr)
c39a6ff Travis & gitian-osx: Use depends for ds_store and mac_alias modules (Luke Dashjr)
902ccde depends: Add mac_alias to depends (Luke Dashjr)
82a2d98 depends: Add ds_store to depends (Cory Fields)
de619a3 depends: Pass PYTHONPATH along to configure (Cory Fields)
e611b6e macdeploy: Use rsvg-convert rather than cairosvg (Luke Dashjr)
63bcdc5 More complicated package name substitution for Mac deployment (Luke Dashjr)
1a6c67c Parameterise 2009 in translatable copyright strings (Luke Dashjr)
d5f4683 Unify package name to as few places as possible without major changes (Luke Dashjr)
2017-12-11 08:30:26 +01:00
fanquake
7f87754094 Boost 1.63.0 2017-05-12 00:58:36 +03:00
fanquake
be968206bb Boost 1.61.0 2017-05-12 00:58:36 +03:00
Oleg Girko
39750439bf Force to use C++11 mode for compilation (#1463)
* build: Enable C++11 build, require C++11 compiler

Implements #6211.

* depends: use c++11

* build: update ax_cxx_compile_stdcxx to serial 4

* build: force a c++ standard to be specified

Newer compilers may switch to newer standards by default. For example, gcc6
uses std=gnu++14 by default.

* c++11: fix libbdb build against libc++ in c++11 mode

atomic_init clashes with

* c++11: CAccountingEntry must be defined before use in a list

c++11ism. This fixes builds against libc++.
2017-05-05 14:27:27 +03:00
Holger Schinzel
70c872fe4a [depends] Fixing download path and sha256 hash (#1398)
* Fixing download path and sha256 hash
* typo
* package version variable
2017-03-16 00:15:36 +01:00
UdjinM6
92f965fc08 bump libevent to 2.1.8 (stable) (#1397) 2017-03-15 17:12:02 +01:00
TheLazieR Yip
5a2a9ccfd5 Update download path for native_ccache (#1283)
* Update download path for native_ccache

* Remove www.
2017-01-25 15:37:33 +04:00
Holger Schinzel
0e65968384 fix Qt 5.5 download path (#1216) 2016-12-20 17:31:54 +04:00
UdjinM6
48d0edcbdf Merge remote-tracking branch 'bitpay/0.12.1-bitcore' into dashBitcore1
Resolved Conflicts:
	.travis.yml (ignoring changes, leaving dash version)
	src/Makefile.am
	src/main.cpp
	src/main.h
	src/rpcclient.cpp
	src/rpcserver.cpp
	src/script/script.cpp
	src/script/script.h
2016-07-19 08:49:28 +03:00
Cory Fields
6c44620e5a travis: switch to Trusty
Github-Pull: #7920
Rebased-From: 06fdffd222, 9267a47d86, cf77fcdb1f, 174023c9b0, a33b7c9cb5
Cherry-pick-From: 564aaa2cd0
2016-06-02 12:15:37 -04:00
UdjinM6
a5ac60b868 Merge remote-tracking branch 'bitcoin/0.12' into HEAD
+ merge fixes
+ keepass on evhttp
2016-02-06 16:48:04 +03:00
Holger Schinzel
920594453e [depends] Fix miniupnpc compilation on osx 2016-01-08 10:43:38 +01:00
evan82
6ebd5d2090 Merge pull request #659 from thelazier/v0.12.1.x_openssl
Bump openssl to 1.0.1q
2016-01-05 10:41:31 -07:00
evan82
9a4a611b66 Merge pull request #658 from thelazier/v0.12.1.x_boost
Bump boost version to 1.59
2016-01-05 10:41:25 -07:00
evan82
eafba13a2e Merge pull request #657 from thelazier/v0.12.1.x_miniupnpc
Bump miniupnpc version to 1.9.20151026
2016-01-05 10:41:18 -07:00
evan82
1142c8e9ad Merge pull request #656 from thelazier/v0.12.1.x_native_protobuf
Bump native protobuf to 2.6.1
2016-01-05 10:41:08 -07:00
fanquake
eccd67106d
[Depends] Bump Boost, miniupnpc, ccache & zeromq
Bring dependencies up to date with master:
[depends] Boost 1.59.0
[depends] miniupnpc 1.9.20151026
[depends] native ccache 3.2.4
[depends] zeromq 4.0.7
[depends] Latest config.guess & config.sub
[depends] Fix miniupnpc compilation on osx

Github-Pull: #6980
Rebased-From: 9e940fa4c6 17ad964c2f 26f8ea5342 10d3c77644 23a3c47f95 e0769e1928
2015-12-18 09:42:09 +01:00
TheLazieR Yip
6e19549864 Bump native protobuf to 2.6.1 2015-12-10 10:00:24 +07:00
TheLazieR Yip
7acab55119 Bump native ccache to 3.2.4 2015-12-10 09:59:45 +07:00
TheLazieR Yip
acc28458c6 Bump miniupnpc version to 1.9.20151026 2015-12-10 09:58:46 +07:00
TheLazieR Yip
c4042e0fbf Bump boost version to 1.59 2015-12-10 09:57:38 +07:00
TheLazieR Yip
7a7129d254 Bump openssl to 1.0.1q 2015-12-10 09:55:15 +07:00
Wladimir J. van der Laan
a1bfca8052
Merge pull request #7059
2798e0b add powerpc build support for openssl lib (daniel)
2015-11-20 08:35:29 +01:00
daniel
2798e0b0d2 add powerpc build support for openssl lib 2015-11-19 13:29:57 +08:00
Wladimir J. van der Laan
0b416c6e9c depends: qt PIDLIST_ABSOLUTE patch
Remove sed-based qt PIDLIST_ABSOLUTE workaround, replace by a patch that
works for both old (such as used by Travis and Ubuntu Precise) and new
mingw (Ubuntu Trusty).
2015-11-16 16:39:24 +01:00
Wladimir J. van der Laan
bfcdc21a5d 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)
2015-10-19 12:03:29 +02:00
Wladimir J. van der Laan
0cca0248f0 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.
2015-10-09 13:16:44 +02:00
Wladimir J. van der Laan
486270854e
Merge pull request #6619
42cf089 depends: bump ccache to 3.2.3 (fanquake)
888c595 depends: bump miniupnpc to 1.9.20150730 (fanquake)
2015-09-25 16:29:24 +02:00
Jonas Schnelli
93254172ce depends: fix platform specific packages variable
prefix instead of postfix
2015-09-17 14:30:46 +02:00
Cory Fields
1136879df8 Depends: Add ZeroMQ package 2015-09-16 10:59:32 +01:00
Cory Fields
4be0b082b9 libevent: Windows reuseaddr workaround in depends
Make it possible to reuse sockets.
This is necessary to make the RPC tests work in WINE.
2015-09-03 10:59:19 +02:00
Cory Fields
a9af234c1f libevent: add depends 2015-09-02 18:38:41 +02:00
fanquake
42cf08905f depends: bump ccache to 3.2.3 2015-09-03 00:05:35 +08:00
fanquake
888c595cff depends: bump miniupnpc to 1.9.20150730 2015-09-03 00:05:35 +08:00
Cory Fields
ecd6a89381 depends: make more qt flags explicit 2015-07-27 12:25:28 +02:00
Cory Fields
ab67dd7818 depends: bump to qt 5.5 2015-07-23 21:10:35 -04:00
Jacob Welsh
5189fe3d88 depends: split qt config options to separate lines
Helps ease of reading and comparison. Removed some duplicates.
2015-07-23 21:10:35 -04:00
Cory Fields
eb4f35dc7d depends: bump qrencode to 3.4.4 2015-07-03 17:21:55 -04:00
Cory Fields
142ee60a89 depends: bump protobuf to 2.6.1
Also change the download source from googlecode to github.
2015-07-03 12:59:13 -04:00
Cory Fields
d5b1851743 depends: bump ccache to 3.2.2 2015-07-03 12:59:13 -04:00
Cory Fields
00c5a73136 depends: bump miniupnpc to 1.9.20150609 2015-07-03 12:59:13 -04:00
Cory Fields
4bdad99f50 depends: bump boost to 1.58.0 2015-07-03 12:59:13 -04:00
Cory Fields
7c2c270829 build: comparison tool NPE fix
This should fix the spurious comparison tool failures.
See discussion here: https://github.com/bitcoin/bitcoin/pull/6305

The race fix was cherry-picked on top of the version we're currently using, so
it should be functionally identical otherwise.
2015-06-21 12:12:05 -04:00
Cory Fields
a4d9f95653 build: comparison tool swap
This should be functionally identical to what's in place now. It was built from
be0eef7744

That commit is the same as this pruned commit in TheBlueMatt's repo:
https://github.com/TheBlueMatt/bitcoinj/commit/0f7b5d8

Now we'll be able to trust the line numbers in the stack traces.
2015-06-19 01:52:26 -04:00
Jacob Welsh
b19a88b2a0 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
2015-06-13 17:02:34 -05:00
UdjinM6
18c60f9ecb Merge branch 'master' into v0.12.0.x_merge_btc010_master (fix spaces) 2015-05-16 02:34:25 +03: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
crowning-
2c02be6dda samba.org redirects to www.samba.org now. Gitian does not like that. 2015-04-25 22:05:37 +02: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: c3200bcd1e
2015-01-12 16:19:24 +01:00
Wladimir J. van der Laan
c3200bcd1e
depends: remove embedded OpenSSL timestamp for determinism 2015-01-12 15:29:51 +01:00
Cory Fields
2d375fe97b
depends: bump openssl to 1.0.1k
Github-Pull: #5634
Rebased-From: dad7764a9d
2015-01-10 08:10:35 +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
Evan Duffield
cbdf23070f update gitian descriptors 2014-12-31 12:03:18 -07:00
Evan Duffield
cf92651fc4 More gitian updates 2014-12-31 09:49:12 -07:00
Wladimir J. van der Laan
e36e619886 Add mips, mipsel and aarch64 to depends platforms 2014-12-17 13:20:11 +01:00
BtcDrak
a572ff7139
Fix download link for gitian builds
Rebased-From: 164a45f57a
Github-Pull: #5471
2014-12-15 09:49:05 +01:00
BtcDrak
164a45f57a
Fix download link for gitian builds 2014-12-13 09:03:33 +00:00
Cory Fields
0133e4fb48
depends: Gitian 0.10 fixes
Github-Pull: #5465
Rebased-From: 422f873ef3 d546191dc2 d7db4b6317 e27d7cb248
2014-12-12 11:48:27 +01: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
Cory Fields
d61dc25c71 qt: osx: fix hidden symbol visibility
Fixes default hidden symbol visibility for our linux->osx cross build. Without
this change, the check for working -fvisibility=hidden fails, and all symbols
are visible by default.

Ugly as this is, it's just a simple find/replace to fix a bug in Qt's configure.
They assume in an "XPLATFORM_MAC" block that the builder is capable of running
osx programs. This should be "BUILD_ON_MAC" instead.
2014-11-24 22:00:31 -05:00
Cory Fields
1aead42d41 gitian: descriptors overhaul
Descriptors now make use of the dependencies builder, so results are cached.
A very new version (>= e9741525c) of Gitian should be used in order to take
advantage of caching.
2014-11-19 22:49:41 -05:00
Cory Fields
5f93ec2028 depends: Add a package for qt4.6. Linux uses it by default.
We're not ready to switch to a static qt5 for Linux yet due to missing plugin
support. This adds a recipe for building a shared qt4 that we build and link
against, but don't distribute.

make USE_LINUX_STATIC_QT5=1 can be used to build static qt5 as before.
2014-11-19 22:49:41 -05:00
Cory Fields
4302fa67b1 depends: Use pic for all linux dependencies
This avoids textrels, and matches previous gitian behavior.
2014-11-19 22:49:41 -05:00
Cory Fields
ff1e5ba8c7 depends: add gmp package 2014-11-18 18:06:46 +01:00
Cory Fields
187739006c depends: cleanup better after qt and force a bump
qt needs to be rebuilt for travis. The previous commit should help ensure that
this won't need to be done again.
2014-11-13 04:09:19 -05:00
Cory Fields
0246ab6088 depends: boost: hard-code hidden symbol visibility
tl;dr: This solves boost visibility problems for default/release build configs
on non-Linux platforms.

When Bitcoin builds against boost's header-only classes, it ends up with
objects containing symbols that the upstream boost libs also have. Since
Bitcoin builds by default with hidden symbol visibility, it can end up trying
to link against a copy of the same symbols with default visibility.
This is not a problem on Linux because 3rd party static libs are un-exported
by default (--exclude-libs,ALL), but that is not available for MinGW and OSX.

Those platforms (and maybe others?) end up confused about which version to use.

The OSX linker spews hundreds of: "ld: warning: direct access in <foo> to
global weak symbol guard variable for <bar> means the weak symbol cannot be
overridden at runtime. This was likely caused by different translation units
being compiled with different visibility settings."

MinGW's linker complains similarly.

Since the default symbol visibility for Bitcoin is hidden and releases are
built that way as well, build Boost with hidden visibility. Linux builds Boost
this way also, but only for the sake of continuity.

This means that the linker confusion logic is reversed, so the problem will
will now be encountered if Bitcoin is built with --disable-reduce-exports, but
that's better than the current situation.
2014-11-05 01:16:53 -05:00
Dominyk Tiller
a6a3f141b1 openssl version bump
Bumps the OpenSSL version to the latest release, and kills SSL2. (SSL3 was already killed here, so I'm not sure why SSL2 was left around?)

No other changes.
2014-10-21 21:49:45 +01:00
Matt Corallo
c9c51cba4e Make comptool more deterministic 2014-10-02 13:52:19 -07:00
Cory Fields
609adc7660 depends: disable unused bdb replication manager. Fixes new mingw builds
Newer mingw supports the features necessary to enable this api, whereas older
versions didn't. However once enabled (automatically by configure), it triggers
an unrelated build bug.

Since it was not enabled previously anyway, and we don't depend on the
functionality, just disable it across the board.
2014-10-02 13:41:31 -04:00
Pieter Wuille
0f78a0a2eb Upgrade comparison tool further 2014-10-02 03:55:33 +02:00
Cory Fields
6d7a0fa4e5 depends: update the comparison tool to a more recent version 2014-09-30 12:14:22 -07:00
Cory Fields
b1efba8298 depends: give miniupnpc cppflags 2014-09-25 14:56:26 -04:00
Cory Fields
1d154db457 depends: teach qt to honor debug/release
This means it also needs to honor our flags, so patch them in as necessary.
2014-09-25 14:56:26 -04:00
Cory Fields
3b63df5fac depends: boost: build for debug or release as requested
Also hook up cppflags there, which was missing before.
2014-09-25 14:56:26 -04:00
Cory Fields
7e99df78c4 depends: make sure openssl sees cppflags 2014-09-25 14:56:26 -04:00
Cory Fields
21f139b4a6 qt: fix tablet crash. closes #4854.
This backports the relevant parts of:
https://codereview.qt-project.org/#/c/82689/
2014-09-08 14:42:46 -04:00
Wladimir J. van der Laan
107922663b
Merge pull request #4767
b144a74 depends: bump miniupnpc to 1.9.20140701. (Cory Fields)
f628127 depends: bump openssl to 1.0.1i (Cory Fields)
9f7f504 build: add -DMINIUPNP_STATICLIB for new version (Cory Fields)
2014-09-01 10:28:33 +02:00
Cory Fields
b144a74a08 depends: bump miniupnpc to 1.9.20140701.
This is the forward-port of a9c6eef915
2014-08-27 02:54:49 -04:00
Cory Fields
f628127887 depends: bump openssl to 1.0.1i
This is the forward-port of bba0175022.
2014-08-26 15:28:31 -04:00
Cory Fields
c897b1e732 depends: add a fallback path in case package sources go missing
If a source url fails to download, try again at
$FALLBACK_DOWNLOAD_PATH/file.name, where FALLBACK_DOWNLOAD_PATH can be
overridden by the user.
2014-08-22 15:42:54 -04:00
Cory Fields
1dec09b341 depends: add shared dependency builder
See the README's in depends for documentation
2014-08-08 15:10:46 -04:00