diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 64517817f625d..31f6c1bd80219 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,8 @@ jobs: run: | # A workaround for "The `brew link` step did not complete successfully" error. brew install --quiet python@3 || brew link --overwrite python@3 - brew install --quiet coreutils ninja pkg-config gnu-getopt ccache boost libevent zeromq qt@5 qrencode + # Update to install pkgconf, once the GHA image has been updated. + brew install --quiet coreutils ninja gnu-getopt ccache boost libevent zeromq qt@5 qrencode - name: Set Ccache directory run: echo "CCACHE_DIR=${RUNNER_TEMP}/ccache_dir" >> "$GITHUB_ENV" diff --git a/CMakeLists.txt b/CMakeLists.txt index 50092d84cba7f..b5d0e72047a9a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -417,6 +417,7 @@ else() try_append_cxx_flags("-Wunreachable-code" TARGET warn_interface SKIP_LINK) try_append_cxx_flags("-Wdocumentation" TARGET warn_interface SKIP_LINK) try_append_cxx_flags("-Wself-assign" TARGET warn_interface SKIP_LINK) + try_append_cxx_flags("-Wbidi-chars=any" TARGET warn_interface SKIP_LINK) # try_append_cxx_flags("-Wundef" TARGET warn_interface SKIP_LINK) # Some compilers (gcc) ignore unknown -Wno-* options, but warn about all diff --git a/contrib/guix/manifest.scm b/contrib/guix/manifest.scm index b9f0334552d42..a7d43e31aab93 100644 --- a/contrib/guix/manifest.scm +++ b/contrib/guix/manifest.scm @@ -511,7 +511,6 @@ inspecting signatures in Mach-O binaries.") gcc-toolchain-12 cmake-minimal gnu-make - pkg-config ;; Scripting python-minimal ;; (3.10) ;; Git @@ -527,6 +526,7 @@ inspecting signatures in Mach-O binaries.") osslsigncode)) ((string-contains target "-linux-") (list bison + pkg-config (list gcc-toolchain-12 "static") (make-groestlcoin-cross-toolchain target))) ((string-contains target "darwin") diff --git a/depends/packages.md b/depends/packages.md index 7a7a42afa10be..6b458f22dd434 100644 --- a/depends/packages.md +++ b/depends/packages.md @@ -153,8 +153,8 @@ Most autotools projects can be properly staged using: ## Build outputs: In general, the output of a depends package should not contain any libtool -archives. Instead, the package should output `.pc` (`pkg-config`) files where -possible. +archives or `.pc` (`pkg-config`) files. Instead, the package should output +`.cmake` (CMake) files where possible. From the [Gentoo Wiki entry](https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Handling_Libtool_Archives): diff --git a/depends/packages/fontconfig.mk b/depends/packages/fontconfig.mk index 6baaecc55a76b..bd20d7c9ff77c 100644 --- a/depends/packages/fontconfig.mk +++ b/depends/packages/fontconfig.mk @@ -29,5 +29,5 @@ define $(package)_stage_cmds endef define $(package)_postprocess_cmds - rm -rf var lib/*.la + rm -rf bin etc share var lib/*.la endef diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk index 917e17993228f..727dcfc9efff3 100644 --- a/depends/packages/qt.mk +++ b/depends/packages/qt.mk @@ -10,7 +10,6 @@ $(package)_linguist_tools = lrelease lupdate lconvert $(package)_patches = qt.pro $(package)_patches += qttools_src.pro $(package)_patches += mac-qmake.conf -$(package)_patches += fix_qt_pkgconfig.patch $(package)_patches += no-xlib.patch $(package)_patches += dont_hardcode_pwd.patch $(package)_patches += qtbase-moc-ignore-gcc-macro.patch @@ -64,6 +63,7 @@ $(package)_config_opts += -no-mimetype-database $(package)_config_opts += -no-mtdev $(package)_config_opts += -no-openssl $(package)_config_opts += -no-openvg +$(package)_config_opts += -no-pkg-config $(package)_config_opts += -no-reduce-relocations $(package)_config_opts += -no-schannel $(package)_config_opts += -no-sctp @@ -84,7 +84,6 @@ $(package)_config_opts += -nomake examples $(package)_config_opts += -nomake tests $(package)_config_opts += -nomake tools $(package)_config_opts += -opensource -$(package)_config_opts += -pkg-config $(package)_config_opts += -prefix $(host_prefix) $(package)_config_opts += -qt-libpng $(package)_config_opts += -qt-pcre @@ -226,7 +225,6 @@ define $(package)_preprocess_cmds cp $($(package)_patch_dir)/qttools_src.pro qttools/src/src.pro && \ patch -p1 -i $($(package)_patch_dir)/fix-macos-linker.patch && \ patch -p1 -i $($(package)_patch_dir)/dont_hardcode_pwd.patch && \ - patch -p1 -i $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \ patch -p1 -i $($(package)_patch_dir)/no-xlib.patch && \ patch -p1 -i $($(package)_patch_dir)/qtbase-moc-ignore-gcc-macro.patch && \ patch -p1 -i $($(package)_patch_dir)/memory_resource.patch && \ @@ -273,6 +271,6 @@ define $(package)_stage_cmds endef define $(package)_postprocess_cmds - rm -rf doc/ native/lib/ && \ - rm -f lib/lib*.la + rm -rf doc/ native/lib/ lib/pkgconfig/ && \ + rm -f lib/lib*.la lib/Qt5*.la endef diff --git a/depends/packages/sqlite.mk b/depends/packages/sqlite.mk index d803a375a6ede..1cb2e299b9ba9 100644 --- a/depends/packages/sqlite.mk +++ b/depends/packages/sqlite.mk @@ -31,5 +31,6 @@ define $(package)_stage_cmds endef define $(package)_postprocess_cmds + rm -rf lib/pkgconfig && \ rm lib/*.la endef diff --git a/depends/patches/qt/fix_qt_pkgconfig.patch b/depends/patches/qt/fix_qt_pkgconfig.patch deleted file mode 100644 index 73f4d89f7354e..0000000000000 --- a/depends/patches/qt/fix_qt_pkgconfig.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- old/qtbase/mkspecs/features/qt_module.prf -+++ new/qtbase/mkspecs/features/qt_module.prf -@@ -269,7 +269,7 @@ load(qt_installs) - load(qt_targets) - - # this builds on top of qt_common --!internal_module:if(unix|mingw):!if(darwin:debug_and_release:CONFIG(debug, debug|release)) { -+if(unix|mingw):!if(darwin:debug_and_release:CONFIG(debug, debug|release)) { - CONFIG += create_pc - QMAKE_PKGCONFIG_DESTDIR = pkgconfig - host_build: \ diff --git a/depends/toolchain.cmake.in b/depends/toolchain.cmake.in index 37a0c670ddffa..69ff3cfb74ea8 100644 --- a/depends/toolchain.cmake.in +++ b/depends/toolchain.cmake.in @@ -87,15 +87,6 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND NOT CMAKE_HOST_APPLE) set(CMAKE_FRAMEWORK_PATH "@OSX_SDK@/System/Library/Frameworks") endif() - -# Customize pkg-config behaviour. -cmake_path(APPEND CMAKE_FIND_ROOT_PATH "lib" "pkgconfig" OUTPUT_VARIABLE pkg_config_path) -set(ENV{PKG_CONFIG_PATH} ${pkg_config_path}) -set(ENV{PKG_CONFIG_LIBDIR} ${pkg_config_path}) -unset(pkg_config_path) -set(PKG_CONFIG_ARGN --static) - - # Set configuration options for the main build system. set(qt_packages @qt_packages@) if("${qt_packages}" STREQUAL "") diff --git a/doc/build-osx.md b/doc/build-osx.md index d639d687eece4..07f2123720c67 100644 --- a/doc/build-osx.md +++ b/doc/build-osx.md @@ -48,7 +48,7 @@ See [dependencies.md](dependencies.md) for a complete overview. To install, run the following from your terminal: ``` bash -brew install cmake boost pkg-config libevent +brew install cmake boost pkgconf libevent ``` ### 4. Clone Groestlcoin repository diff --git a/doc/tracing.md b/doc/tracing.md index cadffae93c6e5..6ccb73a1db1a9 100644 --- a/doc/tracing.md +++ b/doc/tracing.md @@ -245,14 +245,15 @@ Arguments passed: 2. Replaced transaction virtual size as `int32` 3. Replaced transaction fee as `int64` 4. Replaced transaction mempool entry time (epoch) as `uint64` -5. Replacement transaction ID (hash) as `pointer to unsigned chars` (i.e. 32 bytes in little-endian) +5. Replacement transaction ID or package hash as `pointer to unsigned chars` (i.e. 32 bytes in little-endian) 6. Replacement transaction virtual size as `int32` 7. Replacement transaction fee as `int64` +8. `bool` indicating if the argument 5. is a transaction ID or package hash (true if it's a transaction ID) -Note: In cases where a single replacement transaction replaces multiple +Note: In cases where a replacement transaction or package replaces multiple existing transactions in the mempool, the tracepoint is called once for each -replaced transaction, with data of the replacement transaction being the same -in each call. +replaced transaction, with data of the replacement transaction or package +being the same in each call. #### Tracepoint `mempool:rejected` diff --git a/src/bench/mempool_ephemeral_spends.cpp b/src/bench/mempool_ephemeral_spends.cpp index e867c61752c1e..f34664a736bee 100644 --- a/src/bench/mempool_ephemeral_spends.cpp +++ b/src/bench/mempool_ephemeral_spends.cpp @@ -11,6 +11,7 @@ #include