On Sun, May 14, 2023 at 05:10:08PM -0400, Brad Smith wrote: > Here is a port for asio. > > This is the standalone copy unlike the Boost integrated version. > > > Information for inst:asio-1.28.0 > > Comment: > header-only C++ library for asynchronous I/O programming > > Description: > Asio is a cross-platform C++ library for network and low-level I/O > programming that provides developers with a consistent asynchronous > model using a modern C++ approach.
and here is a diff to have galera use the external copy. The included version is very old. Index: Makefile =================================================================== RCS file: /home/cvs/ports/databases/galera/Makefile,v retrieving revision 1.1.1.1 diff -u -p -u -p -r1.1.1.1 Makefile --- Makefile 14 May 2023 10:42:59 -0000 1.1.1.1 +++ Makefile 15 May 2023 01:09:44 -0000 @@ -2,6 +2,7 @@ COMMENT= synchronous multi-master replic VERSION= 26.4.14 DISTNAME= galera-${VERSION} +REVISION= 0 CATEGORIES= databases @@ -26,7 +27,8 @@ COMPILER= base-clang ports-gcc MODULES= devel/cmake -BUILD_DEPENDS= devel/check +BUILD_DEPENDS= devel/asio \ + devel/check LIB_DEPENDS= devel/boost WANTLIB += ${COMPILER_LIBCXX} boost_program_options-mt c crypto m ssl Index: patches/patch-asio_asio_ssl_impl_context_ipp =================================================================== RCS file: patches/patch-asio_asio_ssl_impl_context_ipp diff -N patches/patch-asio_asio_ssl_impl_context_ipp --- patches/patch-asio_asio_ssl_impl_context_ipp 14 May 2023 10:42:59 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,144 +0,0 @@ -Index: asio/asio/ssl/impl/context.ipp ---- asio/asio/ssl/impl/context.ipp.orig -+++ asio/asio/ssl/impl/context.ipp -@@ -87,7 +87,7 @@ context::context(context::method m) - #endif // (OPENSSL_VERSION_NUMBER >= 0x10100000L) || defined(OPENSSL_NO_SSL2) - - // SSL v3. --#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) -+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) - case context::sslv3: - handle_ = ::SSL_CTX_new(::TLS_method()); - if (handle_) -@@ -132,7 +132,7 @@ context::context(context::method m) - #endif // defined(OPENSSL_NO_SSL3) - - // TLS v1.0. --#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) -+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) - case context::tlsv1: - handle_ = ::SSL_CTX_new(::TLS_method()); - if (handle_) -@@ -177,7 +177,7 @@ context::context(context::method m) - #endif // defined(SSL_TXT_TLSV1) - - // TLS v1.1. --#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) -+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) - case context::tlsv11: - handle_ = ::SSL_CTX_new(::TLS_method()); - if (handle_) -@@ -222,7 +222,7 @@ context::context(context::method m) - #endif // defined(SSL_TXT_TLSV1_1) - - // TLS v1.2. --#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) -+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) - case context::tlsv12: - handle_ = ::SSL_CTX_new(::TLS_method()); - if (handle_) -@@ -267,8 +267,7 @@ context::context(context::method m) - #endif // defined(SSL_TXT_TLSV1_2) - - // TLS v1.3. --#if (OPENSSL_VERSION_NUMBER >= 0x10101000L) \ -- && !defined(LIBRESSL_VERSION_NUMBER) -+#if (OPENSSL_VERSION_NUMBER >= 0x10101000L) - case context::tlsv13: - handle_ = ::SSL_CTX_new(::TLS_method()); - if (handle_) -@@ -294,7 +293,6 @@ context::context(context::method m) - } - break; - #else // (OPENSSL_VERSION_NUMBER >= 0x10101000L) -- // && !defined(LIBRESSL_VERSION_NUMBER) - case context::tlsv13: - case context::tlsv13_client: - case context::tlsv13_server: -@@ -302,7 +300,6 @@ context::context(context::method m) - asio::error::invalid_argument, "context"); - break; - #endif // (OPENSSL_VERSION_NUMBER >= 0x10101000L) -- // && !defined(LIBRESSL_VERSION_NUMBER) - - // Any supported SSL/TLS version. - case context::sslv23: -@@ -316,7 +313,7 @@ context::context(context::method m) - break; - - // Any supported TLS version. --#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) -+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) - case context::tls: - handle_ = ::SSL_CTX_new(::TLS_method()); - if (handle_) -@@ -386,8 +383,7 @@ context::~context() - { - if (handle_) - { --#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \ -- && !defined(LIBRESSL_VERSION_NUMBER)) \ -+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) \ - || defined(ASIO_USE_WOLFSSL) - void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_); - #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L) -@@ -399,8 +395,7 @@ context::~context() - static_cast<detail::password_callback_base*>( - cb_userdata); - delete callback; --#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \ -- && !defined(LIBRESSL_VERSION_NUMBER)) \ -+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) \ - || defined(ASIO_USE_WOLFSSL) - ::SSL_CTX_set_default_passwd_cb_userdata(handle_, 0); - #else // (OPENSSL_VERSION_NUMBER >= 0x10100000L) -@@ -738,8 +733,7 @@ ASIO_SYNC_OP_VOID context::use_certificate_chain( - bio_cleanup bio = { make_buffer_bio(chain) }; - if (bio.p) - { --#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \ -- && !defined(LIBRESSL_VERSION_NUMBER)) \ -+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) \ - || defined(ASIO_USE_WOLFSSL) - pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_); - void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_); -@@ -767,8 +761,7 @@ ASIO_SYNC_OP_VOID context::use_certificate_chain( - ASIO_SYNC_OP_VOID_RETURN(ec); - } - --#if ((OPENSSL_VERSION_NUMBER >= 0x10002000L) \ -- && !defined(LIBRESSL_VERSION_NUMBER)) \ -+#if (OPENSSL_VERSION_NUMBER >= 0x10002000L) \ - || defined(ASIO_USE_WOLFSSL) - ::SSL_CTX_clear_chain_certs(handle_); - #else -@@ -846,8 +839,7 @@ ASIO_SYNC_OP_VOID context::use_private_key( - { - ::ERR_clear_error(); - --#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \ -- && !defined(LIBRESSL_VERSION_NUMBER)) \ -+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) \ - || defined(ASIO_USE_WOLFSSL) - pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_); - void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_); -@@ -915,8 +907,7 @@ ASIO_SYNC_OP_VOID context::use_rsa_private_key( - { - ::ERR_clear_error(); - --#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \ -- && !defined(LIBRESSL_VERSION_NUMBER)) \ -+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) \ - || defined(ASIO_USE_WOLFSSL) - pem_password_cb* callback = ::SSL_CTX_get_default_passwd_cb(handle_); - void* cb_userdata = ::SSL_CTX_get_default_passwd_cb_userdata(handle_); -@@ -1156,8 +1147,7 @@ int context::verify_callback_function(int preverified, - ASIO_SYNC_OP_VOID context::do_set_password_callback( - detail::password_callback_base* callback, asio::error_code& ec) - { --#if ((OPENSSL_VERSION_NUMBER >= 0x10100000L) \ -- && !defined(LIBRESSL_VERSION_NUMBER)) \ -+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) \ - || defined(ASIO_USE_WOLFSSL) - void* old_callback = ::SSL_CTX_get_default_passwd_cb_userdata(handle_); - ::SSL_CTX_set_default_passwd_cb_userdata(handle_, callback);