aboutsummaryrefslogtreecommitdiff
path: root/depends
diff options
context:
space:
mode:
Diffstat (limited to 'depends')
-rw-r--r--depends/README.md1
-rw-r--r--depends/hosts/darwin.mk6
-rw-r--r--depends/hosts/mingw32.mk2
-rw-r--r--depends/packages/boost.mk3
-rw-r--r--depends/packages/zeromq.mk11
-rw-r--r--depends/patches/zeromq/netbsd_kevent_void.patch57
6 files changed, 70 insertions, 10 deletions
diff --git a/depends/README.md b/depends/README.md
index 9f0b60adf8..6b6af99dee 100644
--- a/depends/README.md
+++ b/depends/README.md
@@ -29,6 +29,7 @@ Common `host-platform-triplet`s for cross compilation are:
- `x86_64-pc-linux-gnu` for x86 Linux
- `x86_64-w64-mingw32` for Win64
- `x86_64-apple-darwin` for macOS
+- `arm64-apple-darwin` for ARM macOS
- `arm-linux-gnueabihf` for Linux ARM 32 bit
- `aarch64-linux-gnu` for Linux ARM 64 bit
- `powerpc64-linux-gnu` for Linux POWER 64-bit (big endian)
diff --git a/depends/hosts/darwin.mk b/depends/hosts/darwin.mk
index ea92bb7793..6bf30b499a 100644
--- a/depends/hosts/darwin.mk
+++ b/depends/hosts/darwin.mk
@@ -1,7 +1,7 @@
OSX_MIN_VERSION=10.15
-OSX_SDK_VERSION=10.15.6
-XCODE_VERSION=12.1
-XCODE_BUILD_ID=12A7403
+OSX_SDK_VERSION=11.0
+XCODE_VERSION=12.2
+XCODE_BUILD_ID=12B45b
LD64_VERSION=609
OSX_SDK=$(SDK_PATH)/Xcode-$(XCODE_VERSION)-$(XCODE_BUILD_ID)-extracted-SDK-with-libcxx-headers
diff --git a/depends/hosts/mingw32.mk b/depends/hosts/mingw32.mk
index 92fd1b81bf..2f370d2b87 100644
--- a/depends/hosts/mingw32.mk
+++ b/depends/hosts/mingw32.mk
@@ -1,4 +1,4 @@
-ifneq ($(shell which $(host)-g++-posix),)
+ifneq ($(shell $(SHELL) $(.SHELLFLAGS) "command -v $(host)-g++-posix"),)
mingw32_CXX := $(host)-g++-posix
endif
diff --git a/depends/packages/boost.mk b/depends/packages/boost.mk
index 5e3baa5d75..9d3ba321f9 100644
--- a/depends/packages/boost.mk
+++ b/depends/packages/boost.mk
@@ -27,8 +27,7 @@ $(package)_cxxflags+=-std=c++17
$(package)_cxxflags_linux=-fPIC
$(package)_cxxflags_freebsd=-fPIC
$(package)_cxxflags_android=-fPIC
-$(package)_cxxflags_x86_64_darwin=-fcf-protection=full
-$(package)_cxxflags_mingw32=-fcf-protection=full
+$(package)_cxxflags_x86_64=-fcf-protection=full
endef
define $(package)_preprocess_cmds
diff --git a/depends/packages/zeromq.mk b/depends/packages/zeromq.mk
index 473f48dd38..c56ec5c2bd 100644
--- a/depends/packages/zeromq.mk
+++ b/depends/packages/zeromq.mk
@@ -1,12 +1,13 @@
package=zeromq
-$(package)_version=4.3.1
+$(package)_version=4.3.4
$(package)_download_path=https://github.com/zeromq/libzmq/releases/download/v$($(package)_version)/
$(package)_file_name=$(package)-$($(package)_version).tar.gz
-$(package)_sha256_hash=bcbabe1e2c7d0eec4ed612e10b94b112dd5f06fcefa994a0c79a45d835cd21eb
-$(package)_patches=remove_libstd_link.patch
+$(package)_sha256_hash=c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5
+$(package)_patches=remove_libstd_link.patch netbsd_kevent_void.patch
define $(package)_set_vars
- $(package)_config_opts=--without-docs --disable-shared --disable-curve --disable-curve-keygen --disable-perf
+ $(package)_config_opts = --without-docs --disable-shared --disable-valgrind
+ $(package)_config_opts += --disable-perf --disable-curve-keygen --disable-curve --disable-libbsd
$(package)_config_opts += --without-libsodium --without-libgssapi_krb5 --without-pgm --without-norm --without-vmci
$(package)_config_opts += --disable-libunwind --disable-radix-tree --without-gcov --disable-dependency-tracking
$(package)_config_opts += --disable-Werror --disable-drafts --enable-option-checking
@@ -18,10 +19,12 @@ endef
define $(package)_preprocess_cmds
patch -p1 < $($(package)_patch_dir)/remove_libstd_link.patch && \
+ patch -p1 < $($(package)_patch_dir)/netbsd_kevent_void.patch && \
cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub config
endef
define $(package)_config_cmds
+ ./autogen.sh && \
$($(package)_autoconf)
endef
diff --git a/depends/patches/zeromq/netbsd_kevent_void.patch b/depends/patches/zeromq/netbsd_kevent_void.patch
new file mode 100644
index 0000000000..845c6bdda6
--- /dev/null
+++ b/depends/patches/zeromq/netbsd_kevent_void.patch
@@ -0,0 +1,57 @@
+commit 129137d5182967dbfcfec66bad843df2a992a78f
+Author: fanquake <fanquake@gmail.com>
+Date: Mon Jan 3 20:13:33 2022 +0800
+
+ problem: kevent udata is now void* on NetBSD Current (10)
+
+ solution: check for the intptr_t variant in configure.
+
+diff --git a/configure.ac b/configure.ac
+index 1a571291..402f8b86 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -307,6 +307,27 @@ case "${host_os}" in
+ if test "x$libzmq_netbsd_has_atomic" = "xno"; then
+ AC_DEFINE(ZMQ_FORCE_MUTEXES, 1, [Force to use mutexes])
+ fi
++ # NetBSD Current (to become 10) has changed the type of udata in it's
++ # kevent struct from intptr_t to void * to align with darwin and other
++ # BSDs, see upstream commit:
++ # https://github.com/NetBSD/src/commit/e5ead823eb916b56589d2c6c560dbcfe4a2d0afc
++ AC_MSG_CHECKING([whether kevent udata type is intptr_t])
++ AC_LANG_PUSH([C++])
++ AC_LINK_IFELSE([AC_LANG_PROGRAM(
++ [[#include <sys/types.h>
++ #include <sys/event.h>
++ #include <sys/time.h>]],
++ [[struct kevent ev;
++ intptr_t udata;
++ EV_SET(&ev, 0, 0, EV_ADD, 0, 0, udata);
++ return 0;]])],
++ [libzmq_netbsd_kevent_udata_intptr_t=yes],
++ [libzmq_netbsd_kevent_udata_intptr_t=no])
++ AC_LANG_POP([C++])
++ AC_MSG_RESULT([$libzmq_netbsd_kevent_udata_intptr_t])
++ if test "x$libzmq_netbsd_kevent_udata_intptr_t" = "xyes"; then
++ AC_DEFINE(ZMQ_NETBSD_KEVENT_UDATA_INTPTR_T, 1, [kevent udata type is intptr_t])
++ fi
+ ;;
+ *openbsd*|*bitrig*)
+ # Define on OpenBSD to enable all library features
+diff --git a/src/kqueue.cpp b/src/kqueue.cpp
+index 53d82ac4..a6a7a7f2 100644
+--- a/src/kqueue.cpp
++++ b/src/kqueue.cpp
+@@ -46,9 +46,9 @@
+ #include "i_poll_events.hpp"
+ #include "likely.hpp"
+
+-// NetBSD defines (struct kevent).udata as intptr_t, everyone else
+-// as void *.
+-#if defined ZMQ_HAVE_NETBSD
++// NetBSD up to version 9 defines (struct kevent).udata as intptr_t,
++// everyone else as void *.
++#if defined ZMQ_HAVE_NETBSD && defined(ZMQ_NETBSD_KEVENT_UDATA_INTPTR_T)
+ #define kevent_udata_t intptr_t
+ #else
+ #define kevent_udata_t void *