diff --git a/devel/tevent/Makefile b/devel/tevent/Makefile index ef6e4b8a1812..7ac5b1d05f18 100644 --- a/devel/tevent/Makefile +++ b/devel/tevent/Makefile @@ -1,73 +1,73 @@ PORTNAME= tevent DISTVERSION= 0.15.0 -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 0 CATEGORIES= devel MASTER_SITES= SAMBA MAINTAINER= samba@FreeBSD.org COMMENT= Talloc based event loop library WWW= https://tevent.samba.org/ LICENSE= LGPL3 BUILD_DEPENDS= talloc>=2.3.4:devel/talloc RUN_DEPENDS= talloc>=2.3.4:devel/talloc USES= compiler pkgconfig shebangfix waf USE_LDCONFIG= yes SHEBANG_GLOB= *.py WAF_CMD= buildtools/bin/waf CONFIGURE_LOG= bin/config.log PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig PLIST_SUB= PKGCONFIGDIR=${PKGCONFIGDIR:S;^${PREFIX}/;;} CONFIGURE_ARGS= --disable-rpath \ --disable-rpath-install \ --bundled-libraries=!talloc,cmocka \ --builtin-libraries=replace \ --without-gettext CONFIGURE_ENV= PYTHONHASHSEED=1 MAKE_ENV= PYTHONHASHSEED=1 CONFLICTS_INSTALL= tevent[0-9]* OPTIONS_DEFINE= DEBUG PYTHON OPTIONS_DEFAULT= PYTHON OPTIONS_SUB= yes DEBUG_CFLAGS= -g -ggdb3 -O0 DEBUG_CONFIGURE_ON= --verbose --enable-debug DEBUG_MAKE_ARGS= --verbose PYTHON_USES= gettext-runtime python PYTHON_USE= python=py3kplist PYTHON_USES_OFF= python:build,test PYTHON_CONFIGURE_OFF= --disable-python # No fancy color error messages CFLAGS+= ${CFLAGS_${CHOSEN_COMPILER_TYPE}} CFLAGS_clang= -fno-color-diagnostics CONFIGURE_ENV+= NOCOLOR=yes MAKE_ENV+= NOCOLOR=yes # Some symbols in tevent's linker version scripts are not defined, but since the # scripts are generated dynamically, suppress errors with lld >= 17 due to these # undefined symbols. LDFLAGS+= -Wl,--undefined-version post-patch: @${REINPLACE_CMD} -e 's|%%PKGCONFIGDIR%%|${PKGCONFIGDIR}|g' \ ${BUILD_WRKSRC}/wscript post-install: ${RM} ${STAGEDIR}${PREFIX}/lib/tevent/libcmocka-tevent.so ${RM} ${STAGEDIR}${PREFIX}/lib/tevent/libpytalloc-util.cpython-${PYTHON_SUFFIX}-tevent.so ${RMDIR} ${STAGEDIR}${PREFIX}/lib/tevent ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libtevent.so post-install-PYTHON-on: ${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/_tevent*.so ${PYTHON_CMD} -m compileall -d ${PYTHON_SITELIBDIR} ${STAGEDIR}${PYTHON_SITELIBDIR} .include diff --git a/devel/tevent/files/patch-tevent__poll.c b/devel/tevent/files/patch-tevent__poll.c new file mode 100644 index 000000000000..fe285a375ca6 --- /dev/null +++ b/devel/tevent/files/patch-tevent__poll.c @@ -0,0 +1,18 @@ +--- tevent_poll.c.orig 2026-08-09 16:32:38 UTC ++++ tevent_poll.c +@@ -470,8 +470,13 @@ static int poll_event_loop_poll(struct tevent_context + } + + if (tvalp != NULL) { +- timeout = tvalp->tv_sec * 1000; +- timeout += (tvalp->tv_usec + 999) / 1000; ++ /* clamp: far-future timer overflows int ms -> poll(2) EINVAL busy-loop */ ++ if (tvalp->tv_sec > (INT_MAX / 1000) - 1) { ++ timeout = INT_MAX; ++ } else { ++ timeout = tvalp->tv_sec * 1000; ++ timeout += (tvalp->tv_usec + 999) / 1000; ++ } + } + + ok = poll_event_sync_arrays(ev, poll_ev);