aboutsummaryrefslogtreecommitdiff
path: root/depends
AgeCommit message (Collapse)Author
2019-09-30Merge #16927: depends: Refresh ZeroMQ 4.3.1 patchWladimir J. van der Laan
463a1d5244337915de36db36de573eb8782bc430 Refresh ZeroMQ 4.3.1 patch (Nathan Marley) Pull request description: Currently in Alpine Linux (latest, 3.10) in the depends system, one of the ZeroMQ patches won't apply cleanly because the context around the patch has changed and Alpine's `patch` implementation can't handle the diff. Some patch implementations can't handle fuzz / too much divergence from the original code. This PR just tweaks the context code around the patch so that less-sophisticated patch implementations (such as on Alpine Linux) can apply the patch without errors. This partially fixes #16925 ACKs for top commit: fanquake: ACK 463a1d5244337915de36db36de573eb8782bc430 - Tested building zeromq in depends inside an [Alpine container](https://github.com/fanquake/core-review/blob/master/docker/alpine.dockerfile) as well as on macOS. Tree-SHA512: d6e3cb60835cdd090b9b864ca9cb33961687606bc9184fbbeb7a54ec23db4057b9317b65c5c276fb8c5492cb3cfcc4a7f3369f049551f4eb0915db971f2290ce
2019-09-30Merge #16926: depends: Add OpenSSL termios fix for musl libcWladimir J. van der Laan
568aa0cf8329293692e4249dabd94052533c050d Add OpenSSL termios fix for musl libc (Nathan Marley) Pull request description: Currently the version of OpenSSL included in the depends system won't build on musl based systems because `termio.h` does not exist. The proper header named `termios.h` does exist. This PR adds a patch for OpenSSL to replace the `termio.h` header with `termios.h`, which is the proper POSIX header as I understand it. This is a known issue as `TERMIOS` (not `TERMIO`) should be the default, and is fixed in later versions of OpenSSL. There is discussion on the OpenSSL repo here: openssl/openssl#163 This has been [fixed in OpenSSL](https://github.com/openssl/openssl/commit/64e6bf64b36136d487e2fbf907f09612e69ae911). This partly fixes #16925 and allows building Bitcoin on Alpine using the depends system. ACKs for top commit: laanwj: ACK 568aa0cf8329293692e4249dabd94052533c050d Tree-SHA512: d0aac116b7a1133bdecb34a9fb6c63db0336a3547585c07ed31ac9c5edb97e9570dcbf931e7fbc7172ce0735b6bfc11fb204e015532fcd90496a233e8fc17081
2019-09-26Merge #16837: depends: qt: Fix {C{,XX},LD}FLAGS pickupWladimir J. van der Laan
1b4030e26450b0f9320d64714d8e8dee37b050d2 depends: qt: Fix LDFLAGS pickup (Carl Dong) 6eb12ffcbdca53fac304d8fedcfc69effab63b0d depends: qt: Fix C{,XX}FLAGS pickup (Carl Dong) Pull request description: Note: ~~Will~~ [Did](https://github.com/bitcoin/bitcoin/issues/16838) open issue about robustness of `sed` calls in `depends`. ACKs for top commit: laanwj: ACK 1b4030e26450b0f9320d64714d8e8dee37b050d2 Tree-SHA512: d0bfc8ea32118cd90bb323efab58661f2218a2cb0f150e716cfd5355c7e2a1eba70298a144b159941248170e2894659c376219edac2c79a9d777f6ada5fa6b2f
2019-09-20Add OpenSSL termios fix for musl libcNathan Marley
2019-09-20Refresh ZeroMQ 4.3.1 patchNathan Marley
Some patch implementations can't handle fuzz / too much divergence from the original code. This just tweaks the context code around the patch so that less-sophisticated patch implementations (such as on Alpine Linux) can apply the patch without errors.
2019-09-18Merge #16809: depends: zlib: Move toolchain options to configureWladimir J. van der Laan
f0636d34185d235f51eebaa2ad14c1e6fcaed6c2 depends: zlib: Move toolchain options to configure (Carl Dong) Pull request description: ``` zlib has its own custom configure script, see comment in zlib.mk for more details ``` Performed Guix cross-builds locally and everything worked as expected. ACKs for top commit: laanwj: ACK f0636d34185d235f51eebaa2ad14c1e6fcaed6c2 Tree-SHA512: 7ff6114e52a9c49941da31cb0ebd8918b056bf23343790d758e107003d856f3b1f16ebf4ce0ce22e1216a37a610b4c106def3f869d128bfffa61280d45ed6b38
2019-09-18Merge #16879: build: remove redundant sed patchingfanquake
93995c27515aa268c2c1aefe82f1a3cee33966ce build: remove unnecessary qt xcb patching (fanquake) 4d45577c4314fd7075094d5b3384b4b86100c125 build: remove unnecessary macOS qt patching (fanquake) Pull request description: While looking at #16838 I found at least two cases of `sed` patching in depends that now seems to be redundant. There's possibly a [third case](https://github.com/bitcoin/bitcoin/pull/16837#discussion_r322842701), but I haven't looked into that enough yet. Patching `0` -> `kCGMouseButtonLeft` should not be required, as [`kCGMouseButtonLeft`](https://code.qt.io/cgit/qt/qtbase.git/tree/src/plugins/platforms/cocoa/qcocoacursor.mm?h=5.9#n82) has been used in the `cocoa/qcocoacursor.mm` source for a while. The include we were modifying in [`src/plugins/platforms/xcb/qxcbxsettings.cpp`](https://code.qt.io/cgit/qt/qtbase.git/tree/src/plugins/platforms/xcb/qxcbxsettings.cpp?h=5.9#n47) was removed in [this commit](https://code.qt.io/cgit/qt/qtbase.git/commit/src/plugins/platforms/xcb/qxcbxsettings.cpp?h=5.9&id=78731b434e0e99ad108601249108e12d8a49c350). ACKs for top commit: dongcarl: ACK 93995c27515aa268c2c1aefe82f1a3cee33966ce Tree-SHA512: 5e0cbf317b798ce2e142a42b7fabf1d9e8e00d12f59589e98d790195ba27db60858f933b035c6e9cd0deadd8c3406f1ff4a4ed2af4a19e9b5b43aa97d04b9ecb
2019-09-17doc: Fix whitespace errs in .md files, bitcoin.conf, Info.plist.in, and ↵Jon Layton
find_bdb48.m4
2019-09-16depends: qt: Fix LDFLAGS pickupCarl Dong
QMAKE_LFLAGS was removed from qtbase/mkspecs/win32-g++/qmake.conf in 39fc377bf105ba09e2a8f9acae467dc789b96525. Here, we add it back in with our LDFLAGS from depends before the first occurance of any QMAKE_LFLAGS_* variable settings.
2019-09-16build: remove unnecessary qt xcb patchingfanquake
The lines that this sed command was modifying were removed some time ago. Relevant upstream change: https://code.qt.io/cgit/qt/qtbase.git/commit/src/plugins/platforms/xcb/qxcbxsettings.cpp?id=538b9f504c0de11c473a40aed66df9900ac1c6c4
2019-09-16build: remove unnecessary macOS qt patchingfanquake
Patching in kCGMouseButtonLeft should not be required. Looks like this hasn't been needed since qt 5.5 or so: https://codereview.qt-project.org/c/qt/qtbase/+/115138
2019-09-14build: make protobuf optional in dependsfanquake
Those that want to build it can now pass PROTOBUF=1.
2019-09-10Merge #16413: depends: Bump QT to LTS release 5.9.8Wladimir J. van der Laan
0c6054fc9fd27d8e2ef49419c07c5e8f2485e1f7 depends: Bump QT to LTS release 5.9.8 (THETCR) Pull request description: This update is only a minor version but in contrary to 5.9.7 it's a LTS release. It doesn't add any new functionality to Qt but fixes multiple security issues and bugs. Including some race conditions and annoying bugs on macOS. ACKs for top commit: Sjors: ACK 0c6054fc9fd27d8e2ef49419c07c5e8f2485e1f7. Lightly tested on macOS 10.14.6. Not really sure what difference would matter on macOS. Tree-SHA512: f01d947cc0db6d761e32551071fa00fe8014fb7b2ce707271a159bb61c6d60e062ac8f4da5f36bd8fc4736e1e852368a1353ea3f994f61f1d0c76cc7d1664938
2019-09-09depends: qt: Fix C{,XX}FLAGS pickupCarl Dong
2019-09-05depends: zlib: Move toolchain options to configureCarl Dong
zlib has its own custom configure script, see comment in zlib.mk for more details
2019-08-24Merge #16370: depends: cleanup package configure flagsMeshCollider
c295cba5a2f934e51a7c8610ab4c58b8e9d56619 depends: zeromq: disable draft classes and methods (fanquake) 0072237b9e33e0b89f6c9f51dd0b946fa89a6134 depends: xproto: configure flags cleanup (fanquake) 6a8ada3a4f67affcf0ef7452e206083d7b58b2bc depends: qrencode: configure flags cleanup (fanquake) 86beb8cdc4e312bd0bed2cbb273aebb792be2747 depends: fontconfig: configure flags cleanup (fanquake) e656d95ec74336c2bd93bd387f67aeb6aed4dc40 depends: libxcb: configure flags cleanup (fanquake) e439388b352b7dfbf2e00c6ba2970fed0a4a5554 depends: libXau: configure flags cleanup (fanquake) Pull request description: Related to #16354. This PR adds additional configure flags to packages in depends to explicitly disable features we aren't using; similar to #16183. It also fixes passing `--without-tools` to `qrencode`. I've added `--disable-drafts` to `zeromq`: ```bash Build and install draft classes and methods [default=yes] ``` I'm not entirely sure how far we want to take this. i.e in the `zeromq` package we explicitly pass `--without-libsodium`, even though it's disabled by default. Do we also want to explicitly pass all the other `--without` flags? : ```bash --with-libgssapi_krb5 require libzmq build with libgssapi_krb5 [default=no] --with-libsodium use libsodium instead of built-in tweetnacl [default=no] --with-pgm build libzmq with PGM extension. Requires pkg-config [default=no] --with-norm build libzmq with NORM protocol extension, optionally specifying norm path [default=no] --with-vmci build libzmq with VMCI transport [default=no] ``` ACKs for top commit: dongcarl: ACK c295cba5a2f934e51a7c8610ab4c58b8e9d56619 Tree-SHA512: df6d38b863b4008ed2cb06c97eb0e21eaa4b5fde552876065ba7f3c87bf6e372e5b954a51bf3fde2151cfb6d2c022227d34337fc6e50ce0caa1d518abbd2412a
2019-08-23packages.md: document depends build targetsRussell Yanofsky
2019-08-23Clarify need to specify --prefix with dependsRussell Yanofsky
If not cross compiling, it might actually be nice for it to be picked up automatically. But for now clarify the readme to try to minimize confusion. https://github.com/chaincodelabs/libmultiprocess/issues/4#issuecomment-515619707 https://github.com/chaincodelabs/libmultiprocess/issues/5#issuecomment-518826298
2019-08-21build: update RapidCheck MakefileJon Atack
- update RapidCheck to latest commit on master - install only the extras needed by Bitcoin Core - update shasum hash - remove CMake warning
2019-08-14depends: zeromq: disable draft classes and methodsfanquake
2019-08-14depends: xproto: configure flags cleanupfanquake
2019-08-14depends: qrencode: configure flags cleanupfanquake
This also fixes passing --without-tools
2019-08-14depends: fontconfig: configure flags cleanupfanquake
2019-08-14depends: libxcb: configure flags cleanupfanquake
2019-08-14depends: libXau: configure flags cleanupfanquake
2019-08-06build: disable libxcb extensionsfanquake
Because we pass -qt-xcb to Qt, it will compile in a set of xcb helper libraries and extensions. So skip building all of the libxcb extensions when we build libcxb in depends. More info is available here: https://doc.qt.io/qt-5.9/linux-requirements.html
2019-07-29Merge #16441: build: remove qt libjpeg check from bitcoin_qt.m4Wladimir J. van der Laan
f509e3b8ce0c5652e85ce26545f7ed94689f46ab doc: remove line numbers from qt package links (fanquake) 1bb1661a402de573840d2089fc27f797c8b64f15 doc: fix typo in bitcoin_qt.m4 comment (fanquake) 0aeb98ac1fc5cf62b4516896fa93ac97faafd736 build: remove jpeg lib check from bitcoin_qt.m4 (fanquake) 98a64bd296b06ea0dddf91b08134871158609bbf build: disable libjpeg in qt (fanquake) Pull request description: When gitian building on Windows I'm seeing: ```bash checking for Qt 5... yes checking for > Qt 5.7... yes checking for main in -limm32... yes checking for main in -lz ... yes checking for library containing jpeg_create_decompress ... configure: WARNING: libjpeg not found. Assuming qt has it built-in no checking for library containing png_error ... -lqtlibpng checking for library containing pcre2_match_16... -lqtpcre2 checking for library containing hb_ot_tags_from_script ... -lqtharfbuzz ``` We are passing `-qt-libjpeg` to Qt: https://github.com/bitcoin/bitcoin/blob/e6e99d4f757f2e5052f0cc68951c75e91e4753e3/depends/packages/qt.mk#L66 but I dont think we are doing anything with `jpeg` related regardless? ACKs for top commit: laanwj: ACK f509e3b8ce0c5652e85ce26545f7ed94689f46ab promag: ACK f509e3b8ce0c5652e85ce26545f7ed94689f46ab. Tree-SHA512: 61ea20c11df11b9d426644df9a01aac12b76897003121a283fc784a8c30e9b5ad34c9805069fec20926f7aa279e59528e2e13697a944a22760c3acb6366fffbe
2019-07-24depends: disable unused Qt featuresfanquake
2019-07-24build: disable libjpeg in qtfanquake
2019-07-18depends: qt: Patch to remove dep on libX11Carl Dong
We can actually patch QT to remove its dependency on libX11's headers. It turns it this wasn't that hard.
2019-07-18depends: Bump QT to LTS release 5.9.8THETCR
2019-07-17depends: libXext isn't needed by anyoneCarl Dong
libXext was only needed (as a library) by QT when it was using XLib/libX11 (as a library), now that we're building QT without XLib/libX11, we can safely remove libXext.
2019-07-17depends: libX11: Make package headers-onlyCarl Dong
We're no longer building QT with libX11/XLib, however, libX11/XLib headers are still required for parts of QT. In this commit we add a minimal configure.ac for libX11/XLib that is headers-only. This change allows us to remove all of libX11/XLib's dependencies.
2019-07-17depends: qt: Explicitly stop using Xlib/libX11Carl Dong
Previously, in 683b7d7a3fc1b9240333faf3d04497aa61583016 and 0e752637a26cf75187864a466db9a92540a2d3c8, we accidentally broke QT's ability to pick up Xlib thru the config.gui.tests.xlib configuration test, which also means that config.gui.libraries.xcb_xlib wasn't run. This resulted in a QT build that was implicitly -no-xcb-lib and -no-feature-xlib. This is actually a desired behaviour, as it means less required shared objects for our final bitcoin-qt binary. Specifically, it eliminated the libX11-xcb.so.1 and libX11.so.6 requirements. In this commit, we explicitly build without Xlib. We should continue to track upstream ticket https://bugreports.qt.io/browse/QTBUG-61452 which talks about adding a -no-xlib (non-hidden) flag instead of the -no-feature-xlib (hidden) flag.
2019-07-17depends: xproto is only directly needed by libXauCarl Dong
2019-07-12contrib: Add deterministic Guix builds.Carl Dong
2019-07-09depends: expat 2.2.7fanquake
2019-07-07build: prune dbus from dependsfanquake
2019-06-30Merge #16271: build: remove -Wall from rapidcheck build flagsMarcoFalke
63d0a079e04dad42c6f63793505a0af59d085a7f build: dont compile rapidcheck with -Wall (fanquake) Pull request description: Fixes #16062. Remove `-Wall` from the rapidcheck build flags pre compilation. Discussed briefly with theuni. ACKs for top commit: MarcoFalke: ACK 63d0a079e04dad42c6f63793505a0af59d085a7f (checked that `RAPIDCHECK=1 make rapidcheck` fails without this) Tree-SHA512: 6cb3653221c1eadbc8da54812298a061130b4377da6f63dcc2dfb97379d303b4db538e67f4fe3c96a03ee6a1e65840f0def0ac4e862553480c7ac4bdcc77e113
2019-06-23build: dont compile rapidcheck with -Wallfanquake
2019-06-12depends: xtrans: Configure flags cleanup.Carl Dong
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-06Merge #15461: [depends] update to Boost 1.70Wladimir J. van der Laan
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](https://github.com/ruslo/hunter/commit/06ee5b54ef310b376cdaa7928f89b4995ceb2efc)) ACKs for commit 2620e2: Tree-SHA512: 6e0174f1d92c2c24314c0689d4809e048914f8f42d17aa73799f5ee232169e0dd0ed71f5f973903c44c08309f2837c629c493f15e5c31ec6c7bd1daae5f3b25f
2019-06-05Merge #15844: depends: Purge libtool archivesWladimir J. van der Laan
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 #16041, and therefore should be merged after #16041. ACKs for commit 8541cb: Tree-SHA512: 76030cf32361f0b1cfe14e3827a0cbec99994e7da00a56194ca40cf6cf7d87f78552f49d03d41ce9cf9b642992b90d993578ed1f0ad6bae15cd3f1c88dfaa4b0
2019-05-28depends: libX*: --disable-malloc0returnsnull in confCarl Dong
2019-05-28depends: libXext: Bump to 1.3.3 to fix _XEatDataWordsCarl Dong
Compilation error for _XEatDataWords fixed in bb24f29, first included in libXext 1.3.3.
2019-05-28depends: Purge libtool archivesCarl Dong
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-28depends: Build secondary deps statically.Carl Dong
Secondary dependencies don't need to be shared.
2019-05-25depends: add ability to skip building zeromqfanquake
2019-05-22Merge #16049: depends: switch to secure download of all dependenciesMarcoFalke
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 d8bc47fde46ca0711fa54a0d70ff5d066c708e50 practicalswift: utACK d8bc47fde46ca0711fa54a0d70ff5d066c708e50 dongcarl: tACK d8bc47fde46ca0711fa54a0d70ff5d066c708e50 Tree-SHA512: e47702f6d243ed7f498ca84c193244382f16f08df6a297caa224b4468f501f3da6fe542fcf3a0dd9c24ab1b0b38bbc51478068e6006a92854ded23abf90de3c8
2019-05-20depends: switch to secure download of all dependenciesUlrich Kempken
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