Skip to content

Commit b1ff202

Browse files
committed
Merge #12: Sync with the main repo
6a898ea addrman: detect on-disk corrupted nNew and nTried during unserialization (Vasil Dimov) e90ae3c Improve tests using statistics (John Newbery) 36c396f Add logging and addr rate limiting statistics (Pieter Wuille) 7d8dea0 Functional tests for addr rate limiting (Pieter Wuille) 795d1f2 Randomize the order of addr processing (Pieter Wuille) 8fcb30f Rate limit the processing of incoming addr messages (Pieter Wuille) 39649bf Make IsSegWitOutput return true for taproot outputs (Pieter Wuille) 72374f7 Move implementations of non-template fuzz helpers (Sriram) f814c9c Test that descriptor wallet upgrade does nothing (Andrew Chow) ec73b07 Change ScriptPubKeyMan::Upgrade to default to return true (Andrew Chow) 28f2976 Avoid GCC 7.1 ABI change warning in guix build (Pieter Wuille) c899a18 build, qt: Do not install *.prl files (Hennadii Stepanov) 7ebf24c build, qt: Fix wrong cross-compiling detection on macOS (Hennadii Stepanov) e7b75c7 build, qt: Force bootstrap while building linguist tools (Hennadii Stepanov) c9eb85f build, qt: Drop translations.pro hack (Hennadii Stepanov) 4f630b0 build, qt: Drop lrelease dependency patch (Hennadii Stepanov) a225e3e build, qt: Add linguist_tools list (Hennadii Stepanov) ca406d5 build: Use Qt top-level build facilities (Hennadii Stepanov) 7be9134 Mark print-% target as phony. (Dmitry Goncharov) 2931431 build: Add -Werror=implicit-fallthrough compile flag (Hennadii Stepanov) fbf6c7f Use C++17 [[fallthrough]] attribute, and drop -Wno-implicit-fallthrough (Hennadii Stepanov) 2b3e4db bench: fix 32-bit narrowing warning in bench/peer_eviction.cpp (Jon Atack) 6b54f72 test: ensure I2P addresses are relayed (Vasil Dimov) fb5a546 test: make CAddress in functional tests comparable (Vasil Dimov) e8e04f2 test: implement ser/unser of I2P addresses in functional tests (Vasil Dimov) 7f47efd test: use NODE_* constants instead of magic numbers (Vasil Dimov) cb443c7 net: relay I2P addresses even if not reachable (by us) (Vasil Dimov) 7c9a519 doc: added info to bitcoin.conf doc (Brian Liotti) ca97651 doc: Remove unnecessary steps from translations update process (Wladimir J. van der Laan) 97e175c doc: Add steps for transifex to release process (Wladimir J. van der Laan) a4ab8b5 p2p: earlier continuation when no remaining eviction candidates (Vasil Dimov) 197f9e4 p2p: process more candidates per protection iteration (Jon Atack) e1ee36d p2p: iterate eviction protection only on networks having candidates (Jon Atack) 1c53554 bench: add peer eviction protection benchmarks (Jon Atack) 00762ec refactor: move GetRandomNodeEvictionCandidates() to test utilities (Jon Atack) 6fa9e5d refactor: move UpdateTip into CChainState (James O'Beirne) bf5b8cb refactor: no mempool arg to GetCoinsCacheSizeState (James O'Beirne) 78bdd7b refactor: move UpdateMempoolForReorg into CChainState (James O'Beirne) 44bedb8 validation: make CChainState::m_mempool optional (James O'Beirne) f6ef790 Use DeploymentEnabled to hide VB deployments (MarcoFalke) 695f01a doc: Move buried deployment doc to the enum that enumerates them (MarcoFalke) 049413c test: move rpc_rawtransaction tests to < 30s group (Jon Atack) eac002f test: whitelist rpc_rawtransaction peers to speed up tests (Jon Atack) 236d364 test: Fix wallet_listdescriptors.py if bdb is not compiled (Hennadii Stepanov) b006d32 test: Add feature_taproot.py --previous_release (MarcoFalke) 0ea7bc2 test: move releases download incantation to README (Sjors Provoost) 3909b86 test: previous releases: add v0.20.1 (Sjors Provoost) 8fa6c3c doc: mention that we enforce port=0 in I2P (Vasil Dimov) c5cbbfc addrman: reset I2P ports to 0 when loading from disk (Vasil Dimov) ab9b064 test: ensure I2P ports are handled as expected (Vasil Dimov) a8d051e net: do not connect to I2P hosts on port!=0 (Vasil Dimov) 91ff57a net: distinguish default port per network (Vasil Dimov) 0d4337a net: change I2P seeds' ports to 0 (Vasil Dimov) 3bff4ce net: change assumed I2P port to 0 (Vasil Dimov) c1c8f2e init: remove straggling boost thread_group code (fanquake) bcc2846 fix incorrect testmempoolaccept doc (glozow) Pull request description: Synced up to bitcoin-core/gui@54e3174. ACKs for top commit: jarolrod: ACK 6a898ea Tree-SHA512: 76650944799722d36ff5a4d02c574da5bec86b064db712cc4f18058b74ac6dcf8dd1d38baa91b1c98078f9039d7d78bf95b7fa4c33b0247a736e98fa3f20c89d
2 parents a566d43 + 6a898ea commit b1ff202

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+1206
-460
lines changed

Makefile.am

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
44

55
# Pattern rule to print variables, e.g. make print-top_srcdir
6-
print-%:
6+
print-%: FORCE
77
@echo '$*'='$($*)'
88

99
ACLOCAL_AMFLAGS = -I build-aux/m4

ci/test/00_setup_env_native_qt5.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ export TEST_RUNNER_EXTRA="--previous-releases --coverage --extended --exclude fe
1414
export RUN_UNIT_TESTS_SEQUENTIAL="true"
1515
export RUN_UNIT_TESTS="false"
1616
export GOAL="install"
17-
export PREVIOUS_RELEASES_TO_DOWNLOAD="v0.15.2 v0.16.3 v0.17.2 v0.18.1 v0.19.1"
17+
export PREVIOUS_RELEASES_TO_DOWNLOAD="v0.15.2 v0.16.3 v0.17.2 v0.18.1 v0.19.1 v0.20.1"
1818
export BITCOIN_CONFIG="--enable-zmq --with-libs=no --with-gui=qt5 --enable-glibc-back-compat --enable-reduce-exports
1919
--enable-debug --disable-fuzz-binary CFLAGS=\"-g0 -O2 -funsigned-char\" CXXFLAGS=\"-g0 -O2 -funsigned-char\""

configure.ac

+2-1
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,7 @@ if test "x$enable_werror" = "xyes"; then
426426
[AC_LANG_SOURCE([[struct A { virtual void f(); }; struct B : A { void f() final; };]])])
427427
AX_CHECK_COMPILE_FLAG([-Werror=unreachable-code-loop-increment],[ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=unreachable-code-loop-increment"],,[[$CXXFLAG_WERROR]])
428428
AX_CHECK_COMPILE_FLAG([-Werror=mismatched-tags], [ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=mismatched-tags"], [], [$CXXFLAG_WERROR])
429+
AX_CHECK_COMPILE_FLAG([-Werror=implicit-fallthrough], [ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=implicit-fallthrough"], [], [$CXXFLAG_WERROR])
429430

430431
if test x$suppress_external_warnings != xno ; then
431432
AX_CHECK_COMPILE_FLAG([-Werror=documentation],[ERROR_CXXFLAGS="$ERROR_CXXFLAGS -Werror=documentation"],,[[$CXXFLAG_WERROR]])
@@ -456,6 +457,7 @@ if test "x$CXXFLAGS_overridden" = "xno"; then
456457
AX_CHECK_COMPILE_FLAG([-Wsuggest-override],[WARN_CXXFLAGS="$WARN_CXXFLAGS -Wsuggest-override"],,[[$CXXFLAG_WERROR]],
457458
[AC_LANG_SOURCE([[struct A { virtual void f(); }; struct B : A { void f() final; };]])])
458459
AX_CHECK_COMPILE_FLAG([-Wunreachable-code-loop-increment],[WARN_CXXFLAGS="$WARN_CXXFLAGS -Wunreachable-code-loop-increment"],,[[$CXXFLAG_WERROR]])
460+
AX_CHECK_COMPILE_FLAG([-Wimplicit-fallthrough], [WARN_CXXFLAGS="$WARN_CXXFLAGS -Wimplicit-fallthrough"], [], [$CXXFLAG_WERROR])
459461

460462
if test x$suppress_external_warnings != xno ; then
461463
AX_CHECK_COMPILE_FLAG([-Wdocumentation],[WARN_CXXFLAGS="$WARN_CXXFLAGS -Wdocumentation"],,[[$CXXFLAG_WERROR]])
@@ -467,7 +469,6 @@ if test "x$CXXFLAGS_overridden" = "xno"; then
467469
AX_CHECK_COMPILE_FLAG([-Wunused-parameter],[NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-unused-parameter"],,[[$CXXFLAG_WERROR]])
468470
AX_CHECK_COMPILE_FLAG([-Wself-assign],[NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-self-assign"],,[[$CXXFLAG_WERROR]])
469471
AX_CHECK_COMPILE_FLAG([-Wunused-local-typedef],[NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-unused-local-typedef"],,[[$CXXFLAG_WERROR]])
470-
AX_CHECK_COMPILE_FLAG([-Wimplicit-fallthrough],[NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-implicit-fallthrough"],,[[$CXXFLAG_WERROR]])
471472
if test x$suppress_external_warnings != xyes ; then
472473
AX_CHECK_COMPILE_FLAG([-Wdeprecated-copy],[NOWARN_CXXFLAGS="$NOWARN_CXXFLAGS -Wno-deprecated-copy"],,[[$CXXFLAG_WERROR]])
473474
fi

contrib/guix/libexec/build.sh

+4
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,10 @@ esac
254254
# CXXFLAGS
255255
HOST_CXXFLAGS="$HOST_CFLAGS"
256256

257+
case "$HOST" in
258+
arm-linux-gnueabihf) HOST_CXXFLAGS="${HOST_CXXFLAGS} -Wno-psabi" ;;
259+
esac
260+
257261
# LDFLAGS
258262
case "$HOST" in
259263
*linux*) HOST_LDFLAGS="-Wl,--as-needed -Wl,--dynamic-linker=$glibc_dynamic_linker -static-libstdc++ -Wl,-O2" ;;

contrib/seeds/nodes_main.txt

+8-8
Original file line numberDiff line numberDiff line change
@@ -678,11 +678,11 @@ vi5bnbxkleeqi6hfccjochnn65lcxlfqs4uwgmhudph554zibiusqnad.onion:8333
678678
xqt25cobm5zqucac3634zfght72he6u3eagfyej5ellbhcdgos7t2had.onion:8333
679679

680680
# manually added 2021-05 for minimal i2p bootstrap support
681-
72l3ucjkuscrbiiepoehuwqgknyzgo7zuix5ty4puwrkyhtmnsga.b32.i2p:8333
682-
c4gfnttsuwqomiygupdqqqyy5y5emnk5c73hrfvatri67prd7vyq.b32.i2p:8333
683-
gehtac45oaghz54ypyopim64mql7oad2bqclla74l6tfeolzmodq.b32.i2p:8333
684-
h3r6bkn46qxftwja53pxiykntegfyfjqtnzbm6iv6r5mungmqgmq.b32.i2p:8333
685-
hnbbyjpxx54623l555sta7pocy3se4sdgmuebi5k6reesz5rjp6q.b32.i2p:8333
686-
pjs7or2ctvteeo5tu4bwyrtydeuhqhvdprtujn4daxr75jpebjxa.b32.i2p:8333
687-
wwbw7nqr3ahkqv62cuqfwgtneekvvpnuc4i4f6yo7tpoqjswvcwa.b32.i2p:8333
688-
zsxwyo6qcn3chqzwxnseusqgsnuw3maqnztkiypyfxtya4snkoka.b32.i2p:8333
681+
72l3ucjkuscrbiiepoehuwqgknyzgo7zuix5ty4puwrkyhtmnsga.b32.i2p:0
682+
c4gfnttsuwqomiygupdqqqyy5y5emnk5c73hrfvatri67prd7vyq.b32.i2p:0
683+
gehtac45oaghz54ypyopim64mql7oad2bqclla74l6tfeolzmodq.b32.i2p:0
684+
h3r6bkn46qxftwja53pxiykntegfyfjqtnzbm6iv6r5mungmqgmq.b32.i2p:0
685+
hnbbyjpxx54623l555sta7pocy3se4sdgmuebi5k6reesz5rjp6q.b32.i2p:0
686+
pjs7or2ctvteeo5tu4bwyrtydeuhqhvdprtujn4daxr75jpebjxa.b32.i2p:0
687+
wwbw7nqr3ahkqv62cuqfwgtneekvvpnuc4i4f6yo7tpoqjswvcwa.b32.i2p:0
688+
zsxwyo6qcn3chqzwxnseusqgsnuw3maqnztkiypyfxtya4snkoka.b32.i2p:0

depends/Makefile

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.NOTPARALLEL :
22

33
# Pattern rule to print variables, e.g. make print-top_srcdir
4-
print-%:
4+
print-%: FORCE
55
@echo '$*'='$($*)'
66

77
# When invoking a sub-make, keep only the command line variable definitions
@@ -284,3 +284,4 @@ download: download-osx download-linux download-win
284284
$(foreach package,$(all_packages),$(eval $(call ext_add_stages,$(package))))
285285

286286
.PHONY: install cached clean clean-all download-one download-osx download-linux download-win download check-packages check-sources
287+
.PHONY: FORCE

depends/packages/qt.mk

+19-33
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@ $(package)_file_name=qtbase-$($(package)_suffix)
66
$(package)_sha256_hash=1c1b4e33137ca77881074c140d54c3c9747e845a31338cfe8680f171f0bc3a39
77
$(package)_linux_dependencies=freetype fontconfig libxcb libxkbcommon
88
$(package)_qt_libs=corelib network widgets gui plugins testlib
9-
$(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_no_printer.patch no-xlib.patch
9+
$(package)_linguist_tools = lrelease lupdate lconvert
10+
$(package)_patches = qt.pro qttools_src.pro
11+
$(package)_patches += fix_qt_pkgconfig.patch mac-qmake.conf fix_no_printer.patch no-xlib.patch
1012
$(package)_patches+= fix_android_qmake_conf.patch fix_android_jni_static.patch dont_hardcode_pwd.patch
11-
$(package)_patches+= drop_lrelease_dependency.patch no_sdk_version_check.patch
13+
$(package)_patches+= no_sdk_version_check.patch
1214
$(package)_patches+= fix_lib_paths.patch fix_android_pch.patch
1315
$(package)_patches+= qtbase-moc-ignore-gcc-macro.patch fix_limits_header.patch
1416

@@ -64,6 +66,7 @@ $(package)_config_opts += -no-system-proxies
6466
$(package)_config_opts += -no-use-gold-linker
6567
$(package)_config_opts += -nomake examples
6668
$(package)_config_opts += -nomake tests
69+
$(package)_config_opts += -nomake tools
6770
$(package)_config_opts += -opensource
6871
$(package)_config_opts += -pkg-config
6972
$(package)_config_opts += -prefix $(host_prefix)
@@ -113,14 +116,13 @@ $(package)_config_opts_darwin = -no-dbus
113116
$(package)_config_opts_darwin += -no-opengl
114117
$(package)_config_opts_darwin += -pch
115118
$(package)_config_opts_darwin += -no-feature-corewlan
116-
$(package)_config_opts_darwin += -device-option QMAKE_MACOSX_DEPLOYMENT_TARGET=$(OSX_MIN_VERSION)
119+
$(package)_config_opts_darwin += QMAKE_MACOSX_DEPLOYMENT_TARGET=$(OSX_MIN_VERSION)
117120

118121
ifneq ($(build_os),darwin)
119122
$(package)_config_opts_darwin += -xplatform macx-clang-linux
120123
$(package)_config_opts_darwin += -device-option MAC_SDK_PATH=$(OSX_SDK)
121124
$(package)_config_opts_darwin += -device-option MAC_SDK_VERSION=$(OSX_SDK_VERSION)
122125
$(package)_config_opts_darwin += -device-option CROSS_COMPILE="$(host)-"
123-
$(package)_config_opts_darwin += -device-option MAC_MIN_VERSION=$(OSX_MIN_VERSION)
124126
$(package)_config_opts_darwin += -device-option MAC_TARGET=$(host)
125127
$(package)_config_opts_darwin += -device-option XCODE_VERSION=$(XCODE_VERSION)
126128
endif
@@ -201,26 +203,24 @@ endef
201203
#
202204
# 1. Apply our patches to the extracted source. See each patch for more info.
203205
#
204-
# 2. Point to lrelease in qttools/bin/lrelease; otherwise Qt will look for it in
205-
# $(host)/native/bin/lrelease and not find it.
206+
# 2. Create a macOS-Clang-Linux mkspec using our mac-qmake.conf.
206207
#
207-
# 3. Create a macOS-Clang-Linux mkspec using our mac-qmake.conf.
208-
#
209-
# 4. After making a copy of the mkspec for the linux-arm-gnueabi host, named
208+
# 3. After making a copy of the mkspec for the linux-arm-gnueabi host, named
210209
# bitcoin-linux-g++, replace instances of linux-arm-gnueabi with $(host). This
211210
# way we can generically support hosts like riscv64-linux-gnu, which Qt doesn't
212211
# ship a mkspec for. See it's usage in config_opts_* above.
213212
#
214-
# 5. Put our C, CXX and LD FLAGS into gcc-base.conf. Only used for non-host builds.
213+
# 4. Put our C, CXX and LD FLAGS into gcc-base.conf. Only used for non-host builds.
215214
#
216-
# 6. Do similar for the win32-g++ mkspec.
215+
# 5. Do similar for the win32-g++ mkspec.
217216
#
218-
# 7. In clang.conf, swap out clang & clang++, for our compiler + flags. See #17466.
217+
# 6. In clang.conf, swap out clang & clang++, for our compiler + flags. See #17466.
219218
#
220-
# 8. Adjust a regex in toolchain.prf, to accommodate Guix's usage of
219+
# 7. Adjust a regex in toolchain.prf, to accommodate Guix's usage of
221220
# CROSS_LIBRARY_PATH. See #15277.
222221
define $(package)_preprocess_cmds
223-
patch -p1 -i $($(package)_patch_dir)/drop_lrelease_dependency.patch && \
222+
cp $($(package)_patch_dir)/qt.pro qt.pro && \
223+
cp $($(package)_patch_dir)/qttools_src.pro qttools/src/src.pro && \
224224
patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch && \
225225
patch -p1 -i $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \
226226
patch -p1 -i $($(package)_patch_dir)/fix_no_printer.patch && \
@@ -232,7 +232,6 @@ define $(package)_preprocess_cmds
232232
patch -p1 -i $($(package)_patch_dir)/fix_lib_paths.patch && \
233233
patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \
234234
patch -p1 -i $($(package)_patch_dir)/fix_limits_header.patch && \
235-
sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \
236235
mkdir -p qtbase/mkspecs/macx-clang-linux &&\
237236
cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\
238237
cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \
@@ -249,35 +248,22 @@ endef
249248
define $(package)_config_cmds
250249
export PKG_CONFIG_SYSROOT_DIR=/ && \
251250
export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \
252-
export PKG_CONFIG_PATH=$(host_prefix)/share/pkgconfig && \
251+
export PKG_CONFIG_PATH=$(host_prefix)/share/pkgconfig && \
253252
cd qtbase && \
254-
./configure $($(package)_config_opts) && \
255-
cd .. && \
256-
$(MAKE) -C qtbase sub-src-clean && \
257-
qtbase/bin/qmake -o qttranslations/Makefile qttranslations/qttranslations.pro && \
258-
qtbase/bin/qmake -o qttranslations/translations/Makefile qttranslations/translations/translations.pro && \
259-
qtbase/bin/qmake -o qttools/src/linguist/lrelease/Makefile qttools/src/linguist/lrelease/lrelease.pro && \
260-
qtbase/bin/qmake -o qttools/src/linguist/lupdate/Makefile qttools/src/linguist/lupdate/lupdate.pro && \
261-
qtbase/bin/qmake -o qttools/src/linguist/lconvert/Makefile qttools/src/linguist/lconvert/lconvert.pro
253+
./configure -top-level $($(package)_config_opts)
262254
endef
263255

264256
define $(package)_build_cmds
265-
$(MAKE) -C qtbase/src $(addprefix sub-,$($(package)_qt_libs)) && \
266-
$(MAKE) -C qttools/src/linguist/lrelease && \
267-
$(MAKE) -C qttools/src/linguist/lupdate && \
268-
$(MAKE) -C qttools/src/linguist/lconvert && \
269-
$(MAKE) -C qttranslations
257+
$(MAKE)
270258
endef
271259

272260
define $(package)_stage_cmds
273261
$(MAKE) -C qtbase/src INSTALL_ROOT=$($(package)_staging_dir) $(addsuffix -install_subtargets,$(addprefix sub-,$($(package)_qt_libs))) && \
274-
$(MAKE) -C qttools/src/linguist/lrelease INSTALL_ROOT=$($(package)_staging_dir) install_target && \
275-
$(MAKE) -C qttools/src/linguist/lupdate INSTALL_ROOT=$($(package)_staging_dir) install_target && \
276-
$(MAKE) -C qttools/src/linguist/lconvert INSTALL_ROOT=$($(package)_staging_dir) install_target && \
262+
$(MAKE) -C qttools/src/linguist INSTALL_ROOT=$($(package)_staging_dir) $(addsuffix -install_subtargets,$(addprefix sub-,$($(package)_linguist_tools))) && \
277263
$(MAKE) -C qttranslations INSTALL_ROOT=$($(package)_staging_dir) install_subtargets
278264
endef
279265

280266
define $(package)_postprocess_cmds
281267
rm -rf native/mkspecs/ native/lib/ lib/cmake/ && \
282-
rm -f lib/lib*.la lib/*.prl plugins/*/*.prl
268+
rm -f lib/lib*.la
283269
endef

depends/patches/qt/drop_lrelease_dependency.patch

-20
This file was deleted.

depends/patches/qt/mac-qmake.conf

-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ include(../common/clang-mac.conf)
88
QMAKE_MAC_SDK_PATH=$${MAC_SDK_PATH}
99
QMAKE_XCODE_VERSION = $${XCODE_VERSION}
1010
QMAKE_XCODE_DEVELOPER_PATH=/Developer
11-
QMAKE_MACOSX_DEPLOYMENT_TARGET = $${MAC_MIN_VERSION}
1211
QMAKE_MAC_SDK=macosx
1312
QMAKE_MAC_SDK.macosx.Path = $${MAC_SDK_PATH}
1413
QMAKE_MAC_SDK.macosx.platform_name = macosx

depends/patches/qt/qt.pro

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Create the super cache so modules will add themselves to it.
2+
cache(, super)
3+
4+
!QTDIR_build: cache(CONFIG, add, $$list(QTDIR_build))
5+
6+
prl = no_install_prl
7+
CONFIG += $$prl
8+
cache(CONFIG, add stash, prl)
9+
10+
TEMPLATE = subdirs
11+
SUBDIRS = qtbase qttools qttranslations
12+
13+
qttools.depends = qtbase
14+
qttranslations.depends = qttools
15+
16+
load(qt_configure)

depends/patches/qt/qttools_src.pro

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
TEMPLATE = subdirs
2+
SUBDIRS = linguist
3+
4+
fb = force_bootstrap
5+
CONFIG += $$fb
6+
cache(CONFIG, add, fb)

doc/bitcoin-conf.md

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ The configuration file is used by `bitcoind`, `bitcoin-qt` and `bitcoin-cli`.
44

55
All command-line options (except for `-?`, `-help`, `-version` and `-conf`) may be specified in a configuration file, and all configuration file options (except for `includeconf`) may also be specified on the command line. Command-line options override values set in the configuration file and configuration file options override values set in the GUI.
66

7+
Changes to the configuration file while `bitcoind` or `bitcoin-qt` is running only take effect after restarting.
8+
79
## Configuration File Format
810

911
The configuration file is a plain text file and consists of `option=value` entries, one per line. Leading and trailing whitespaces are removed.

doc/i2p.md

+15
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,18 @@ RPC.
7070

7171
Bitcoin Core uses the [SAM v3.1](https://geti2p.net/en/docs/api/samv3) protocol
7272
to connect to the I2P network. Any I2P router that supports it can be used.
73+
74+
## Ports in I2P and Bitcoin Core
75+
76+
Bitcoin Core uses the [SAM v3.1](https://geti2p.net/en/docs/api/samv3)
77+
protocol. One particularity of SAM v3.1 is that it does not support ports,
78+
unlike newer versions of SAM (v3.2 and up) that do support them and default the
79+
port numbers to 0. From the point of view of peers that use newer versions of
80+
SAM or other protocols that support ports, a SAM v3.1 peer is connecting to them
81+
on port 0, from source port 0.
82+
83+
To allow future upgrades to newer versions of SAM, Bitcoin Core sets its
84+
listening port to 0 when listening for incoming I2P connections and advertises
85+
its own I2P address with port 0. Furthermore, it will not attempt to connect to
86+
I2P addresses with a non-zero port number because with SAM v3.1 the destination
87+
port (`TO_PORT`) is always set to 0 and is not in the control of Bitcoin Core.

doc/release-process.md

+8
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@ Release Process
3737
- This update should be reviewed with a reindex-chainstate with assumevalid=0 to catch any defect
3838
that causes rejection of blocks in the past history.
3939
- Clear the release notes and move them to the wiki (see "Write the release notes" below).
40+
- Translations on Transifex
41+
- Create [a new resource](https://www.transifex.com/bitcoin/bitcoin/content/) named after the major version with the slug `[bitcoin.qt-translation-<RRR>x]`, where `RRR` is the major branch number padded with zeros. Use `src/qt/locale/bitcoin_en.xlf` to create it.
42+
- In the project workflow settings, ensure that [Translation Memory Fill-up](https://docs.transifex.com/translation-memory/enabling-autofill) is enabled and that [Translation Memory Context Matching](https://docs.transifex.com/translation-memory/translation-memory-with-context) is disabled.
43+
- Update the Transifex slug in [`.tx/config`](/.tx/config) to the slug of the resource created in the first step. This identifies which resource the translations will be synchronized from.
44+
- Make an announcement that translators can start translating for the new version. You can use one of the [previous announcements](https://www.transifex.com/bitcoin/bitcoin/announcements/) as a template.
45+
- Change the auto-update URL for the resource to `master`, e.g. `https://raw.githubusercontent.com/bitcoin/bitcoin/master/src/qt/locale/bitcoin_en.xlf`. (Do this only after the previous steps, to prevent an auto-update from interfering.)
4046

4147
#### After branch-off (on master)
4248

@@ -46,6 +52,8 @@ Release Process
4652

4753
- Update the versions.
4854
- Create a pinned meta-issue for testing the release candidate (see [this issue](https://github.com/bitcoin/bitcoin/issues/17079) for an example) and provide a link to it in the release announcements where useful.
55+
- Translations on Transifex
56+
- Change the auto-update URL for the new major version's resource away from `master` and to the branch, e.g. `https://raw.githubusercontent.com/bitcoin/bitcoin/<branch>/src/qt/locale/bitcoin_en.xlf`. Do not forget this or it will keep tracking the translations on master instead, drifting away from the specific major release.
4957

5058
#### Before final release
5159

doc/translation_process.md

+4-9
Original file line numberDiff line numberDiff line change
@@ -63,17 +63,12 @@ username = USERNAME
6363
The Transifex Bitcoin project config file is included as part of the repo. It can be found at `.tx/config`, however you shouldn’t need to change anything.
6464

6565
### Synchronising translations
66-
To assist in updating translations, a helper script is available in the [maintainer-tools repo](https://github.com/bitcoin-core/bitcoin-maintainer-tools).
6766

68-
1. `python3 ../bitcoin-maintainer-tools/update-translations.py`
69-
2. `git add` new translations from `src/qt/locale/`
70-
3. Update `src/qt/bitcoin_locale.qrc` manually or via
71-
```bash
72-
git ls-files src/qt/locale/*ts|xargs -n1 basename|sed 's/\(bitcoin_\(.*\)\).ts/ <file alias="\2">locale\/\1.qm<\/file>/'
67+
To assist in updating translations, a helper script is available in the [maintainer-tools repo](https://github.com/bitcoin-core/bitcoin-maintainer-tools). To use it and commit the result, simply do:
68+
7369
```
74-
4. Update `src/Makefile.qt_locale.include` manually or via
75-
```bash
76-
git ls-files src/qt/locale/*ts|xargs -n1 basename|sed 's/\(bitcoin_\(.*\)\).ts/ qt\/locale\/\1.ts \\/'
70+
python3 ../bitcoin-maintainer-tools/update-translations.py
71+
git commit -a
7772
```
7873

7974
**Do not directly download translations** one by one from the Transifex website, as we do a few post-processing steps before committing the translations.

src/Makefile.am

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
44

55
# Pattern rule to print variables, e.g. make print-top_srcdir
6-
print-%:
6+
print-%: FORCE
77
@echo '$*'='$($*)'
88

99
DIST_SUBDIRS = secp256k1 univalue

src/Makefile.bench.include

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ bench_bench_bitcoin_SOURCES = \
3535
bench/mempool_stress.cpp \
3636
bench/nanobench.h \
3737
bench/nanobench.cpp \
38+
bench/peer_eviction.cpp \
3839
bench/rpc_blockchain.cpp \
3940
bench/rpc_mempool.cpp \
4041
bench/util_time.cpp \

src/Makefile.leveldb.include

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ LEVELDB_CPPFLAGS_INT += -DHAVE_SNAPPY=0 -DHAVE_CRC32C=1
2222
LEVELDB_CPPFLAGS_INT += -DHAVE_FDATASYNC=@HAVE_FDATASYNC@
2323
LEVELDB_CPPFLAGS_INT += -DHAVE_FULLFSYNC=@HAVE_FULLFSYNC@
2424
LEVELDB_CPPFLAGS_INT += -DHAVE_O_CLOEXEC=@HAVE_O_CLOEXEC@
25+
LEVELDB_CPPFLAGS_INT += -DFALLTHROUGH_INTENDED=[[fallthrough]]
2526

2627
if WORDS_BIGENDIAN
2728
LEVELDB_CPPFLAGS_INT += -DLEVELDB_IS_BIG_ENDIAN=1

0 commit comments

Comments
 (0)