diff --git a/devel/libevent/Makefile b/devel/libevent/Makefile index ac25858ce367..36e58831f3e7 100644 --- a/devel/libevent/Makefile +++ b/devel/libevent/Makefile @@ -1,36 +1,32 @@ # Created by: Martin Matuska # $FreeBSD$ PORTNAME= libevent -PORTVERSION= 2.1.8 -PORTREVISION= 3 -DISTVERSIONPREFIX= release- +DISTVERSION= 2.1.10 DISTVERSIONSUFFIX= -stable CATEGORIES= devel +MASTER_SITES= https://github.com/libevent/libevent/releases/download/release-2.1.10-stable/ MAINTAINER= mm@FreeBSD.org COMMENT= API for executing callback functions on events or timeouts LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -USES= autoreconf libtool pathfix pkgconfig python:2.7,env shebangfix -SHEBANG_FILES= event_rpcgen.py -USE_GITHUB= yes -GNU_CONFIGURE= yes -INSTALL_TARGET= install-strip -TEST_TARGET= check +USES= cmake shebangfix USE_LDCONFIG= yes -OPTIONS_DEFINE= OPENSSL THREADS +OPTIONS_DEFINE= DEBUG OPENSSL THREADS OPTIONS_DEFAULT= OPENSSL THREADS OPTIONS_SUB= yes -OPENSSL_USES= ssl -OPENSSL_CPPFLAGS= -I${OPENSSLINC} -OPENSSL_LDFLAGS= -L${OPENSSLLIB} -OPENSSL_CONFIGURE_ENABLE= openssl +CMAKE_ARGS+= -DBUILD_TESTING:BOOL=OFF -DEVENT__DISABLE_BENCHMARK:BOOL=ON +CMAKE_ARGS+= -DEVENT__DISABLE_SAMPLES:BOOL=ON -DEVENT__DISABLE_TESTS:BOOL=ON +CMAKE_ARGS+= -DEVENT__DISABLE_REGRESS:BOOL=ON -THREADS_CONFIGURE_ENABLE= thread-support +OPENSSL_USES= ssl +DEBUG_CMAKE_BOOL_OFF= EVENT__DISABLE_DEBUG_MODE +OPENSSL_CMAKE_BOOL_OFF= EVENT__DISABLE_OPENSSL +THREADS_CMAKE_BOOL_OFF= EVENT__DISABLE_THREAD_SUPPORT .include diff --git a/devel/libevent/distinfo b/devel/libevent/distinfo index 6dbdcef463b3..1728ef0b9530 100644 --- a/devel/libevent/distinfo +++ b/devel/libevent/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1485387435 -SHA256 (libevent-libevent-release-2.1.8-stable_GH0.tar.gz) = 316ddb401745ac5d222d7c529ef1eada12f58f6376a66c1118eee803cb70f83d -SIZE (libevent-libevent-release-2.1.8-stable_GH0.tar.gz) = 700896 +TIMESTAMP = 1559254101 +SHA256 (libevent-2.1.10-stable.tar.gz) = e864af41a336bb11dab1a23f32993afe963c1f69618bd9292b89ecf6904845b0 +SIZE (libevent-2.1.10-stable.tar.gz) = 1074897 diff --git a/devel/libevent/files/patch-gcc7 b/devel/libevent/files/patch-gcc7 deleted file mode 100644 index d072a5a559b8..000000000000 --- a/devel/libevent/files/patch-gcc7 +++ /dev/null @@ -1,83 +0,0 @@ -Fix -Werror=implicit-fallthrough (fixes gcc-7) - -https://github.com/libevent/libevent/commit/94e7dcebc320 -https://github.com/libevent/libevent/commit/ffbce578c40a - ---- bufferevent_filter.c.orig 2017-01-25 23:37:15 UTC -+++ bufferevent_filter.c -@@ -612,9 +612,12 @@ be_filter_ctrl(struct bufferevent *bev, - bevf->underlying->be_ops->ctrl) { - return (bevf->underlying->be_ops->ctrl)(bevf->underlying, op, data); - } -+ EVUTIL_FALLTHROUGH; - - case BEV_CTRL_GET_FD: -+ EVUTIL_FALLTHROUGH; - case BEV_CTRL_CANCEL_ALL: -+ EVUTIL_FALLTHROUGH; - default: - return -1; - } ---- evdns.c.orig 2017-01-25 23:37:15 UTC -+++ evdns.c -@@ -2265,10 +2265,11 @@ evdns_request_transmit(struct request *r - nameserver_write_waiting(req->ns, 1); - return 1; - case 2: -- /* failed to transmit the request entirely. */ -+ /* failed to transmit the request entirely. we can fallthrough since -+ * we'll set a timeout, which will time out, and make us retransmit the -+ * request anyway. */ - retcode = 1; -- /* fall through: we'll set a timeout, which will time out, -- * and make us retransmit the request anyway. */ -+ EVUTIL_FALLTHROUGH; - default: - /* all ok */ - log(EVDNS_LOG_DEBUG, ---- event.c.orig 2017-01-25 23:37:15 UTC -+++ event.c -@@ -2960,6 +2960,7 @@ event_callback_activate_nolock_(struct e - switch (evcb->evcb_flags & (EVLIST_ACTIVE|EVLIST_ACTIVE_LATER)) { - default: - EVUTIL_ASSERT(0); -+ EVUTIL_FALLTHROUGH; - case EVLIST_ACTIVE_LATER: - event_queue_remove_active_later(base, evcb); - r = 0; ---- util-internal.h.orig 2017-01-25 23:37:15 UTC -+++ util-internal.h -@@ -50,6 +50,20 @@ - extern "C" { - #endif - -+/* __has_attribute() wrapper */ -+#ifdef __has_attribute -+#define EVUTIL_HAS_ATTRIBUTE __has_attribute -+#endif -+/** clang 3 __has_attribute misbehaves in some versions */ -+#if defined(__clang__) && \ -+ __clang__ == 1 && __clang_major__ == 3 && \ -+ (__clang_minor__ >= 2 && __clang_minor__ <= 5) -+#undef EVUTIL_HAS_ATTRIBUTE -+#endif -+#ifndef EVUTIL_HAS_ATTRIBUTE -+#define EVUTIL_HAS_ATTRIBUTE(x) 0 -+#endif -+ - /* If we need magic to say "inline", get it for free internally. */ - #ifdef EVENT__inline - #define inline EVENT__inline -@@ -308,6 +322,12 @@ ev_int32_t evutil_weakrand_range_(struct - #define EVUTIL_UNLIKELY(p) (p) - #endif - -+#if EVUTIL_HAS_ATTRIBUTE(fallthrough) -+#define EVUTIL_FALLTHROUGH __attribute__((fallthrough)) -+#else -+#define EVUTIL_FALLTHROUGH /* fallthrough */ -+#endif -+ - /* Replacement for assert() that calls event_errx on failure. */ - #ifdef NDEBUG - #define EVUTIL_ASSERT(cond) EVUTIL_NIL_CONDITION_(cond) diff --git a/devel/libevent/files/patch-libressl b/devel/libevent/files/patch-libressl deleted file mode 100644 index e63059ad9689..000000000000 --- a/devel/libevent/files/patch-libressl +++ /dev/null @@ -1,103 +0,0 @@ -From 28b8075400c70b2d2da2ce07e590c2ec6d11783d Mon Sep 17 00:00:00 2001 -From: Bernard Spil -Date: Mon, 2 Apr 2018 13:18:27 +0200 -Subject: [PATCH] Fix build with LibreSSL 2.7 - -LibreSSL 2.7 implements OpenSSL 1.1 API except for BIO_get_init() - -See also: https://bugs.freebsd.org/226900 -Signed-off-by: Bernard Spil -Closes: #617 (cherry-pick) ---- openssl-compat.h.orig 2017-01-25 23:37:15 UTC -+++ openssl-compat.h -@@ -1,7 +1,8 @@ - #ifndef OPENSSL_COMPAT_H - #define OPENSSL_COMPAT_H - --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \ -+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) - - static inline BIO_METHOD *BIO_meth_new(int type, const char *name) - { -@@ -30,6 +31,11 @@ static inline BIO_METHOD *BIO_meth_new(i - - #define TLS_method SSLv23_method - --#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ -+#endif /* (OPENSSL_VERSION_NUMBER < 0x10100000L) || \ -+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) */ -+ -+#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x20700000L -+#define BIO_get_init(b) (b)->init -+#endif - - #endif /* OPENSSL_COMPAT_H */ ---- sample/https-client.c.orig 2017-01-25 23:37:15 UTC -+++ sample/https-client.c -@@ -312,7 +312,8 @@ main(int argc, char **argv) - } - uri[sizeof(uri) - 1] = '\0'; - --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \ -+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) - // Initialize OpenSSL - SSL_library_init(); - ERR_load_crypto_strings(); -@@ -480,7 +481,8 @@ cleanup: - SSL_CTX_free(ssl_ctx); - if (type == HTTP && ssl) - SSL_free(ssl); --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \ -+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) - EVP_cleanup(); - ERR_free_strings(); - -@@ -492,7 +494,8 @@ cleanup: - CRYPTO_cleanup_all_ex_data(); - - sk_SSL_COMP_free(SSL_COMP_get_compression_methods()); --#endif /*OPENSSL_VERSION_NUMBER < 0x10100000L */ -+#endif /* (OPENSSL_VERSION_NUMBER < 0x10100000L) || \ -+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) */ - - #ifdef _WIN32 - WSACleanup(); ---- sample/le-proxy.c.orig 2017-01-25 23:37:15 UTC -+++ sample/le-proxy.c -@@ -259,7 +259,8 @@ main(int argc, char **argv) - - if (use_ssl) { - int r; --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \ -+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) - SSL_library_init(); - ERR_load_crypto_strings(); - SSL_load_error_strings(); ---- sample/openssl_hostname_validation.c.orig 2017-01-25 23:37:15 UTC -+++ sample/openssl_hostname_validation.c -@@ -48,7 +48,8 @@ SOFTWARE. - - #define HOSTNAME_MAX_SIZE 255 - --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || \ -+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) - #define ASN1_STRING_get0_data ASN1_STRING_data - #endif - ---- test/regress_ssl.c.orig 2017-01-25 23:37:15 UTC -+++ test/regress_ssl.c -@@ -186,7 +186,8 @@ get_ssl_ctx(void) - void - init_ssl(void) - { --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || \ -+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) - SSL_library_init(); - ERR_load_crypto_strings(); - SSL_load_error_strings(); diff --git a/devel/libevent/files/patch-test_bench b/devel/libevent/files/patch-test_bench deleted file mode 100644 index 0972c1c8512d..000000000000 --- a/devel/libevent/files/patch-test_bench +++ /dev/null @@ -1,75 +0,0 @@ -Fix feature conditionals in bench tests. - -https://github.com/libevent/libevent/commit/d9118c8daa0e -https://github.com/libevent/libevent/commit/77ec05e50dfe - ---- configure.ac.orig 2017-01-25 23:37:15 UTC -+++ configure.ac -@@ -715,8 +715,7 @@ AC_CHECK_MEMBERS([struct in6_addr.s6_add - #endif - ]) - --AC_CHECK_TYPES([struct so_linger], --[#define HAVE_SO_LINGER], , -+AC_CHECK_TYPES([struct linger],,, - [ - #ifdef HAVE_SYS_SOCKET_H - #include ---- test/bench.c.orig 2017-01-25 23:37:15 UTC -+++ test/bench.c -@@ -136,7 +136,7 @@ run_once(void) - int - main(int argc, char **argv) - { --#ifdef HAVE_SETRLIMIT -+#ifdef EVENT__HAVE_SETRLIMIT - struct rlimit rl; - #endif - int i, c; -@@ -167,7 +167,7 @@ main(int argc, char **argv) - } - } - --#ifdef HAVE_SETRLIMIT -+#ifdef EVENT__HAVE_SETRLIMIT - rl.rlim_cur = rl.rlim_max = num_pipes * 2 + 50; - if (setrlimit(RLIMIT_NOFILE, &rl) == -1) { - perror("setrlimit"); ---- test/bench_cascade.c.orig 2017-01-25 23:37:15 UTC -+++ test/bench_cascade.c -@@ -139,7 +139,7 @@ run_once(int num_pipes) - int - main(int argc, char **argv) - { --#ifdef HAVE_SETRLIMIT -+#ifdef EVENT__HAVE_SETRLIMIT - struct rlimit rl; - #endif - int i, c; -@@ -162,7 +162,7 @@ main(int argc, char **argv) - } - } - --#ifdef HAVE_SETRLIMIT -+#ifdef EVENT__HAVE_SETRLIMIT - rl.rlim_cur = rl.rlim_max = num_pipes * 2 + 50; - if (setrlimit(RLIMIT_NOFILE, &rl) == -1) { - perror("setrlimit"); ---- test/bench_httpclient.c.orig 2017-01-25 23:37:15 UTC -+++ test/bench_httpclient.c -@@ -113,13 +113,13 @@ errorcb(struct bufferevent *b, short wha - static void - frob_socket(evutil_socket_t sock) - { --#ifdef HAVE_SO_LINGER -+#ifdef EVENT__HAVE_STRUCT_LINGER - struct linger l; - #endif - int one = 1; - if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (void*)&one, sizeof(one))<0) - perror("setsockopt(SO_REUSEADDR)"); --#ifdef HAVE_SO_LINGER -+#ifdef EVENT__HAVE_STRUCT_LINGER - l.l_onoff = 1; - l.l_linger = 0; - if (setsockopt(sock, SOL_SOCKET, SO_LINGER, (void*)&l, sizeof(l))<0) diff --git a/devel/libevent/files/patch-test_test.sh b/devel/libevent/files/patch-test_test.sh deleted file mode 100644 index ef1eed633ea5..000000000000 --- a/devel/libevent/files/patch-test_test.sh +++ /dev/null @@ -1,32 +0,0 @@ -regress runs multiple tests, don't silence it completely. - -https://github.com/libevent/libevent/pull/446 - ---- test/test.sh.orig 2017-01-25 23:37:15 UTC -+++ test/test.sh -@@ -99,10 +99,10 @@ run_tests () { - fi - - test -x $TEST_DIR/regress || return -- announce_n " regress: " -+ announce " regress: [multiple tests]" - if test "$TEST_OUTPUT_FILE" = "/dev/null" ; - then -- $TEST_DIR/regress --quiet $REGRESS_ARGS -+ $TEST_DIR/regress $REGRESS_ARGS - else - $TEST_DIR/regress $REGRESS_ARGS >>"$TEST_OUTPUT_FILE" - fi -@@ -114,10 +114,10 @@ run_tests () { - FAILED=yes - fi - -- announce_n " regress_debug: " -+ announce " regress_debug: [multiple tests]" - if test "$TEST_OUTPUT_FILE" = "/dev/null" ; - then -- EVENT_DEBUG_MODE=1 $TEST_DIR/regress --quiet $REGRESS_ARGS -+ EVENT_DEBUG_MODE=1 $TEST_DIR/regress $REGRESS_ARGS - else - EVENT_DEBUG_MODE=1 $TEST_DIR/regress $REGRESS_ARGS >>"$TEST_OUTPUT_FILE" - fi diff --git a/devel/libevent/pkg-plist b/devel/libevent/pkg-plist index 77ca43225dde..803938f4c4c8 100644 --- a/devel/libevent/pkg-plist +++ b/devel/libevent/pkg-plist @@ -1,57 +1,50 @@ -bin/event_rpcgen.py include/evdns.h include/event.h include/event2/buffer.h include/event2/buffer_compat.h +%%OPENSSL%%include/event2/bufferevent_ssl.h include/event2/bufferevent.h include/event2/bufferevent_compat.h -include/event2/bufferevent_ssl.h include/event2/bufferevent_struct.h include/event2/dns.h include/event2/dns_compat.h include/event2/dns_struct.h include/event2/event-config.h include/event2/event.h include/event2/event_compat.h include/event2/event_struct.h include/event2/http.h include/event2/http_compat.h include/event2/http_struct.h include/event2/keyvalq_struct.h include/event2/listener.h include/event2/rpc.h include/event2/rpc_compat.h include/event2/rpc_struct.h include/event2/tag.h include/event2/tag_compat.h include/event2/thread.h include/event2/util.h include/event2/visibility.h include/evhttp.h include/evrpc.h include/evutil.h -lib/libevent-2.1.so.6 -lib/libevent-2.1.so.6.0.2 -lib/libevent.a +lib/cmake/libevent/LibeventConfig.cmake +lib/cmake/libevent/LibeventConfigVersion.cmake +lib/cmake/libevent/LibeventTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/libevent/LibeventTargets.cmake lib/libevent.so -lib/libevent_core-2.1.so.6 -lib/libevent_core-2.1.so.6.0.2 -lib/libevent_core.a +lib/libevent.so.2.1.10 lib/libevent_core.so -lib/libevent_extra-2.1.so.6 -lib/libevent_extra-2.1.so.6.0.2 -lib/libevent_extra.a +lib/libevent_core.so.2.1.10 lib/libevent_extra.so -%%OPENSSL%%lib/libevent_openssl-2.1.so.6 -%%OPENSSL%%lib/libevent_openssl-2.1.so.6.0.2 -%%OPENSSL%%lib/libevent_openssl.a +lib/libevent_extra.so.2.1.10 %%OPENSSL%%lib/libevent_openssl.so -%%THREADS%%lib/libevent_pthreads-2.1.so.6 -%%THREADS%%lib/libevent_pthreads-2.1.so.6.0.2 -%%THREADS%%lib/libevent_pthreads.a +%%OPENSSL%%lib/libevent_openssl.so.2.1.10 %%THREADS%%lib/libevent_pthreads.so +%%THREADS%%lib/libevent_pthreads.so.2.1.10 libdata/pkgconfig/libevent.pc libdata/pkgconfig/libevent_core.pc libdata/pkgconfig/libevent_extra.pc %%OPENSSL%%libdata/pkgconfig/libevent_openssl.pc %%THREADS%%libdata/pkgconfig/libevent_pthreads.pc