mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-10 03:47:29 -03:00
Merge bitcoin/bitcoin#30565: depends: Fix zeromq
build on OpenBSD
89b1d5c818
depends: Fix `zeromq` build on OpenBSD (Hennadii Stepanov) Pull request description: On the master branch @66e82dc90c
, the `zeromq` package fails to build on OpenBSD 7.5: ``` [ 19%] Building CXX object CMakeFiles/objects.dir/src/io_thread.cpp.o /home/hebasto/bitcoin/depends/work/build/amd64-unknown-openbsd7.5/zeromq/4.3.5-df5b1b9f936/src/io_thread.cpp:14:22: error: static_cast from 'std::nullptr_t' to 'poller_t::handle_t' (aka 'int') is not allowed _mailbox_handle (static_cast<poller_t::handle_t> (NULL)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. ``` This [regression](https://github.com/bitcoin/bitcoin/pull/29723#issuecomment-2261513105) was overlooked by me in https://github.com/bitcoin/bitcoin/pull/29723. This PR fixes the issue by backporting an upstream commit from https://github.com/zeromq/libzmq/pull/4659. ACKs for top commit: theStack: tACK89b1d5c818
Tree-SHA512: 48d22ea99dfd44c5adf858c74e64082390da27b8ccad8c0d5a91d4dabfa3d12267cef98e4bb8c088e4cd0ec477c242cb1d47aace5c88cd86f796715bba957ed8
This commit is contained in:
commit
dc605cf6e6
2 changed files with 26 additions and 0 deletions
|
@ -8,6 +8,7 @@ $(package)_patches = remove_libstd_link.patch
|
|||
$(package)_patches += macos_mktemp_check.patch
|
||||
$(package)_patches += builtin_sha1.patch
|
||||
$(package)_patches += fix_have_windows.patch
|
||||
$(package)_patches += openbsd_kqueue_headers.patch
|
||||
$(package)_patches += cmake_minimum.patch
|
||||
$(package)_patches += no_librt.patch
|
||||
|
||||
|
@ -25,6 +26,7 @@ define $(package)_preprocess_cmds
|
|||
patch -p1 < $($(package)_patch_dir)/macos_mktemp_check.patch && \
|
||||
patch -p1 < $($(package)_patch_dir)/builtin_sha1.patch && \
|
||||
patch -p1 < $($(package)_patch_dir)/fix_have_windows.patch && \
|
||||
patch -p1 < $($(package)_patch_dir)/openbsd_kqueue_headers.patch && \
|
||||
patch -p1 < $($(package)_patch_dir)/cmake_minimum.patch && \
|
||||
patch -p1 < $($(package)_patch_dir)/no_librt.patch
|
||||
endef
|
||||
|
|
24
depends/patches/zeromq/openbsd_kqueue_headers.patch
Normal file
24
depends/patches/zeromq/openbsd_kqueue_headers.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
commit ff231d267370493814f933d151441866bf1e200b
|
||||
Author: Min RK <benjaminrk@gmail.com>
|
||||
Date: Fri Feb 23 13:21:08 2024 +0100
|
||||
|
||||
Problem: cmake search for kqueue missing headers
|
||||
|
||||
Solution: include sys/types.h and sys/time.h as documented by kqueue
|
||||
and used in autotools
|
||||
|
||||
fixes kqueue detection on openbsd
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index f956f3fd..814d5d46 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -380,7 +380,7 @@ endif(WIN32)
|
||||
|
||||
if(NOT MSVC)
|
||||
if(POLLER STREQUAL "")
|
||||
- check_cxx_symbol_exists(kqueue sys/event.h HAVE_KQUEUE)
|
||||
+ check_cxx_symbol_exists(kqueue "sys/types.h;sys/event.h;sys/time.h" HAVE_KQUEUE)
|
||||
if(HAVE_KQUEUE)
|
||||
set(POLLER "kqueue")
|
||||
endif()
|
Loading…
Reference in a new issue