Commit graph

269 commits

Author SHA1 Message Date
MarcoFalke
6e9eda5567
Merge : build: remove -Wall from rapidcheck build flags
63d0a079e0 build: dont compile rapidcheck with -Wall (fanquake)

Pull request description:

  Fixes .

  Remove `-Wall` from the rapidcheck build flags pre compilation.

  Discussed briefly with theuni.

ACKs for top commit:
  MarcoFalke:
    ACK 63d0a079e0 (checked that `RAPIDCHECK=1 make rapidcheck` fails without this)

Tree-SHA512: 6cb3653221c1eadbc8da54812298a061130b4377da6f63dcc2dfb97379d303b4db538e67f4fe3c96a03ee6a1e65840f0def0ac4e862553480c7ac4bdcc77e113
2019-06-30 12:11:09 -04:00
fanquake
63d0a079e0
build: dont compile rapidcheck with -Wall 2019-06-23 22:40:50 +08:00
Carl Dong
30ea931dee
depends: xtrans: Configure flags cleanup.
xtrans does not understand the --with-pic and --disable-shared flags we
pass it because it is not a library. Instead, we should pass it flags
that disable features/packages we're not using so they don't get a
chance to sneak in.
2019-06-12 10:55:39 -04:00
Wladimir J. van der Laan
36fb968825
Merge : [depends] update to Boost 1.70
2620e24b83 [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: : fixes the single arm64 configuration ([06ee5b5](06ee5b54ef))

ACKs for commit 2620e2:

Tree-SHA512: 6e0174f1d92c2c24314c0689d4809e048914f8f42d17aa73799f5ee232169e0dd0ed71f5f973903c44c08309f2837c629c493f15e5c31ec6c7bd1daae5f3b25f
2019-06-06 13:42:25 +02:00
Wladimir J. van der Laan
03858b23fe
Merge : depends: Purge libtool archives
8541cbea2 depends: libX*: --disable-malloc0returnsnull in conf (Carl Dong)
0e752637a depends: libXext: Bump to 1.3.3 to fix _XEatDataWords (Carl Dong)
683b7d7a3 depends: Purge libtool archives (Carl Dong)
14209286d depends: Build secondary deps statically. (Carl Dong)

Pull request description:

  ```
  We use pkg-config where we can, which generally replaces libtool at a
  higher level and does not have the same downsides as libtool. These
  archives sit in our depends tree with no purpose and pollute the final
  bitcoin build with massive overlinking.
  ```

  See [here](https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Handling_Libtool_Archives) for an explanation of the various problems libtool archives can cause.

  Unrelated in every way except in spirit: `-D__LIBTOOL_IS_A_FOOL__`!!

  -----

  This PR is based on , and therefore should be merged after .

ACKs for commit 8541cb:

Tree-SHA512: 76030cf32361f0b1cfe14e3827a0cbec99994e7da00a56194ca40cf6cf7d87f78552f49d03d41ce9cf9b642992b90d993578ed1f0ad6bae15cd3f1c88dfaa4b0
2019-06-05 16:37:56 +02:00
Carl Dong
8541cbea29
depends: libX*: --disable-malloc0returnsnull in conf 2019-05-28 11:03:37 -04:00
Carl Dong
0e752637a2
depends: libXext: Bump to 1.3.3 to fix _XEatDataWords
Compilation error for _XEatDataWords fixed in bb24f29, first included in
libXext 1.3.3.
2019-05-28 11:02:45 -04:00
Carl Dong
683b7d7a3f
depends: Purge libtool archives
We use pkg-config where we can, which generally replaces libtool at a
higher level and does not have the same downsides as libtool. These
archives sit in our depends tree with no purpose and pollute the final
bitcoin build with massive overlinking.
2019-05-28 11:02:42 -04:00
Carl Dong
14209286df
depends: Build secondary deps statically.
Secondary dependencies don't need to be shared.
2019-05-28 10:51:18 -04:00
fanquake
c995c870aa
depends: add ability to skip building zeromq 2019-05-25 12:06:23 -04:00
MarcoFalke
953f757677
Merge : depends: switch to secure download of all dependencies
d8bc47fde4 depends: switch to secure download of all dependencies (Ulrich Kempken)

Pull request description:

  Even if we potentially check the integrity of the downloaded file via hash comparison, we should make use of SSL since it is available.

ACKs for commit d8bc47:
  jonasschnelli:
    utACK d8bc47fde4
  practicalswift:
    utACK d8bc47fde4
  dongcarl:
    tACK d8bc47fde4

Tree-SHA512: e47702f6d243ed7f498ca84c193244382f16f08df6a297caa224b4468f501f3da6fe542fcf3a0dd9c24ab1b0b38bbc51478068e6006a92854ded23abf90de3c8
2019-05-22 07:40:01 -04:00
Ulrich Kempken
d8bc47fde4 depends: switch to secure download of all dependencies
Some dependency sources were downloaded via http, even though https (SSL/TLS) options are available.
Even if we potentially check the integrity of the downloaded files via hash comparison, we should make
use of this additional security layer.

bdb.mk
fontconfig.mk
freetype.mk
libX11.mk
libXau.mk
libXext.mk
libxcb.mk
native_cctools.mk
native_cdrkit.mk
xcb_proto.mk
xextproto.mk
xproto.mk
xtrans.mk
zlib.mk

miniupnp was switched to official project mirror with SSL support
2019-05-20 22:25:52 +00:00
fanquake
4de3c15671
depends: add patch to common dependencies 2019-05-20 12:01:17 +08:00
MarcoFalke
faf666f814
Remove Windows 32 bit build 2019-05-03 13:41:27 -04:00
Sjors Provoost
2620e24b83
[depends] boost: update to 1.70 2019-05-03 13:22:17 +01:00
MarcoFalke
b4e74f938b
Merge : Improve depends debuggability
6d44c5ebf9 depends: Add commands for each package for each stage (Carl Dong)
80f0e05b70 depends: Preprocessing doesn't care about deps (Carl Dong)

Pull request description:

  Adds make targets for each package for each stage, e.g.

  ```sh
  make zeromq_configured
  ```

ACKs for commit 6d44c5:
  MarcoFalke:
    ACK 6d44c5ebf9 (Haven't looked at the code changes, but adding this feature makes sense)
  ryanofsky:
    ACK 6d44c5ebf9

Tree-SHA512: f1ac0aecfd2372aed09ca63603e2634552cb3f6ff9d610f958e2a66952d7d9e870b4c32b7d996886879e6d3016532272e8b1a10c13ed7b31009c6c96f786db9f
2019-04-08 10:19:14 -04:00
fanquake
ac67582ff7
depends: latest rapidcheck, use INSTALL_ALL_EXTRAS 2019-03-24 13:26:07 +08:00
Carl Dong
f7696e6183 depends: qt: Don't hardcode pwd path
Let a man use his builtins if he wants to! Also, removes the unnecessary
assumption that pwd lives under /bin/pwd.
2019-03-18 11:05:17 -04:00
Carl Dong
89bee1bdbf depends: tar: Always extract as yourself
For normal users, --no-same-owner is default, but not so for root, where
it is assumed that root can change ownership willy-nilly. This is not
the case for privilege-limited container environments where we gaslight
the process into thinking it's root.
2019-03-18 11:05:17 -04:00
MarcoFalke
acbbb7bf0d
Merge : build: depends: Switch to python3 (take 3)
fa0f92af9a build: depends: Switch to python3 (MarcoFalke)

Pull request description:

  Actually try to switch to python3 after the incomplete attempts:

  *  Remove Python2 support 
  *  build: Require python 3.5 
  * ...

Tree-SHA512: ba689c3788f2dd91c15d4ff5f6a73219c1a73893c18d3bb8e6da5c35acfef9897c7e100439ce5cac05624c66f7619d13528b60065c36545608fb387aab25e117
2019-03-17 15:59:27 -04:00
MarcoFalke
fa0f92af9a
build: depends: Switch to python3 2019-03-14 15:47:00 -04:00
Carl Dong
19a0c4af0f depends: native_protobuf: avoid system zlib 2019-03-11 13:05:58 -04:00
MarcoFalke
fab5a1e0f4
build: Require python 3.5 2019-03-02 10:40:23 -05:00
Carl Dong
6d44c5ebf9 depends: Add commands for each package for each stage 2019-02-19 15:59:36 -05:00
Carl Dong
80f0e05b70 depends: Preprocessing doesn't care about deps 2019-02-19 14:50:07 -05:00
Dimitris Apostolou
3046e5fc01
Update zmq to 4.3.1
Addresses https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-6250
2019-01-18 10:25:14 +02:00
MarcoFalke
d71d0d7b7f
Merge : depends: Enable bdb unicode support for Windows
5bb0164cee depends: Enable unicode support on dbd for Windows (Chun Kuan Lee)

Pull request description:

  define `UNICODE` and `_UNICODE` while compiling for Windows. This would make dbd read filename as utf8 string.

Tree-SHA512: 58ee86ca5333c416c7c4db8266887c085c486cabfbb68c6bd0e66519abb3abfedac6bb7d28e4228eb5c2c4436e4e5060eb7b22490044143b6676d23fc627540a
2019-01-03 23:41:59 +01:00
fanquake
a46c8476e9
depends: disable unused qt features 2018-12-12 20:59:30 +08:00
fanquake
73b46eeb7e
depends: qt 5.9.7 2018-12-12 20:59:30 +08:00
fanquake
095e765975
depends: expat 2.2.6 2018-12-12 20:58:25 +08:00
Jon Layton
63c74d2d3a build: Remove illegal spacing in darwin.mk 2018-11-03 05:03:50 -05:00
MarcoFalke
4de0b5f39c
Merge : depends: qt: avoid system harfbuzz and bz2
f149e31ea2 depends: qt: avoid system harfbuzz and bz2 (Cory Fields)

Pull request description:

  Should fix .

  Gitian builds end up with this config implicitly due to missing harfbuzz system lib, this change explicitly disables the use of the lib completely, even if present.

  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.

  @real-or-random Can you confirm that this fixes your issue?

Tree-SHA512: 1ad3dd572c1f2004ec80ebaf3b6831327b0267fb3dc1895e77bd04785cd6e32bafc931932195462bbae807289bc565f0ea740f4050d26f0233ddcd62bfdb0685
2018-10-08 05:27:28 -03:00
MarcoFalke
69a29b5a8e
Merge : doc: Split depends installation instructions per arch
fad95e8da6 doc: Split build linux dependencies (MarcoFalke)
0000009015 doc: Split depends installation instructions per arch (MarcoFalke)

Pull request description:

  The current depends installation instructions fail on bionic with

  ```
  E: Unable to locate package g++-4.8-aarch64-linux-gnu
  E: Unable to locate package gcc-4.8-aarch64-linux-gnu
  E: Unable to locate package g++-4.8-arm-linux-gnueabihf
  E: Unable to locate package gcc-4.8-arm-linux-gnueabihf
  ```

  Also, they fail due to missing dependencies `make automake cmake pkg-config python3`

  Fix this by removing the explicit version and splitting them into common instructions and instructions per linux architecture.

Tree-SHA512: 25d5efa7450a0b1bbd569f431158f5a25bf4fe34f6adc32ebdfd6b6db9447ce083f555f20ff5b9f7c458864986c15d65219a31a1cd2b18bad9965ece2ea5e3be
2018-10-04 00:58:08 -03:00
Cory Fields
f149e31ea2 depends: qt: avoid system harfbuzz and bz2
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.
2018-10-03 16:50:42 -04:00
Cory Fields
430bf6c7a1 depends: fix bitcoin-qt back-compat with older freetype versions at runtime
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.
2018-09-28 09:04:13 -04:00
MarcoFalke
fad95e8da6
doc: Split build linux dependencies 2018-09-19 10:18:35 -04:00
MarcoFalke
0000009015
doc: Split depends installation instructions per arch 2018-09-18 20:46:02 -04:00
mruddy
f1bd03eb01 [depends, zmq, doc] upgrade zeromq to 4.2.5 and avoid deprecated zeromq api functions 2018-09-11 16:33:05 -04:00
Wladimir J. van der Laan
0de0abc85b
Merge : Scripts and tools: increased timeout downloading
e7a72455fa Scripts and tools: increased timeout downloading (Emanuele Cisbani)

Pull request description:

  DOWNLOAD_CONNECT_TIMEOUT changed from 10 to 30 because some file start only after 15 sec (see below).
  ```
  Fetching boost_1_64_0.tar.bz2 from https://dl.bintray.com/boostorg/release/1.64.0/source/
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                   Dload  Upload   Total   Spent    Left  Speed
    0     0    0     0    0     0      0      0 --:--:--  0:00:15 --:--:--     0
  100 76.7M  100 76.7M    0     0  1863k      0  0:00:42  0:00:42 --:--:-- 8136k
  /home/gitianuser/bitcoin/depends/work/download/boost-1_64_0/boost_1_64_0.tar.bz2.temp: OK
  ```

Tree-SHA512: 43250df818eacedeed5fa3cc8453ecedbf564776fa1c6124e872f46d123423f8bdf174a47389dce7d6cc6b96791953b1bb2f96ce3df6c156415f0c3de2d5cc76
2018-09-11 10:28:58 +02:00
Chun Kuan Lee
7177e093f9 depends: Remove unused Qt 4 dependencies 2018-09-10 10:49:35 +08:00
Emanuele Cisbani
e7a72455fa Scripts and tools: increased timeout downloading
DOWNLOAD_CONNECT_TIMEOUT changed from 10 to 30 because some file start only after 15 sec (see below).

Fetching boost_1_64_0.tar.bz2 from https://dl.bintray.com/boostorg/release/1.64.0/source/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:15 --:--:--     0
100 76.7M  100 76.7M    0     0  1863k      0  0:00:42  0:00:42 --:--:-- 8136k
/home/gitianuser/bitcoin/depends/work/download/boost-1_64_0/boost_1_64_0.tar.bz2.temp: OK
2018-09-09 18:31:09 +02:00
Chris Stewart
b2f49bd732 Integration of property based testing into Bitcoin Core
update copyright headers

attempt to fix linting errors

Fixing issue with make check classifying generator files as actual unit tests

Wrapping gen files in ENABLE_PROPERTY_TESTS macro

Make macro better
2018-08-27 08:51:51 -05:00
Chun Kuan Lee
5bb0164cee depends: Enable unicode support on dbd for Windows 2018-08-24 11:32:49 +08:00
Cory Fields
0d00fd5901 depends: allow CC/CXX to be overridden during configure 2018-08-23 17:43:35 -04:00
Cory Fields
de0b4fba2f depends: fix qt determinism
Qt's configure grabs the path to xkb's data root during configure, but the
build changes in 5.8 apparently broke the handling for cross builds. As a
result, the string embedded in the binary depends on whether or not some files
are present in the builder's filesystem.

The "-xkb-config-root" configure setting is intended to allow manual overriding
but it is also broken. See: https://bugreports.qt.io/browse/QTBUG-60005

This has since been fixed upstream, so just hard-code the path for now. We can
drop this patch when we bump to a fixed Qt.

Also, fix the "-qt-xkbcommon-x11" config param which was renamed. This does not
appear to affect build results, presumably because auto-detection is working,
but it does not hurt to be explicit.
2018-08-17 19:02:35 -04:00
Chun Kuan Lee
96dda8b058 [depends] Add riscv qt depends support for cross compiling bitcoin-qt 2018-08-09 03:34:44 +08:00
TheCharlatan
00db418176 Add aarch64 qt depends support for cross compiling bitcoin-qt 2018-07-29 15:59:55 +02:00
MarcoFalke
e8ffec69f7
Merge : Depends: Fix Qt's rcc determinism
6b5506a286 Fix Qt's rcc determinism for depends/gitian (Fuzzbawls)

Pull request description:

  With the update to Qt 5.9 having been merged, Qt's `rcc` tool now embeds a file's last modified time in it's output. Since the build system generates temporary files for all locale translations (`*.qm` files) at build time, the resulting `qrc_bitcoin_locale.cpp` file was always being generated in a non-deterministic way.

  This is a backport of https://bugreports.qt.io/browse/QTBUG-62511, which is included in Qt versions 5.11+, that allows for an environment variable (`QT_RCC_SOURCE_DATE_OVERRIDE`) to override the behavior described above. This environment variable is in turn set in the gitian descriptors, as that is where determinism is vital for release purposes.

  Prior to this, the `qt_libbitcoinqt_a-qrc_bitcoin_locale.o` object file (included into `libbitcoinqt.a`) was returning a different `sha256sum` for each and every build, regardless of file contents change, thus breaking determinism in the resulting binaries.

  This should fix 

Tree-SHA512: 174017e41f9afc3950ef54a9419de81577ec900db9aec3c78ccd3d879c6aecaaeb944fde0615b933f43e6ca9d7898a27ec071cdd0b91cb772755a3012de96725
2018-07-29 08:06:45 -04:00
Fuzzbawls
6b5506a286
Fix Qt's rcc determinism for depends/gitian
Backport of https://bugreports.qt.io/browse/QTBUG-62511 to resolve
locale determinism during the build process.
2018-07-25 13:53:53 -07:00
MarcoFalke
c883653202
Merge : 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
2018-07-25 06:59:10 -04:00