git: e9a013ef465e - main - devel/tevent017: Repocopy from devel/tevent016

From: Mateusz Piotrowski <0mp_at_FreeBSD.org>
Date: Tue, 26 Aug 2025 16:45:40 UTC
The branch main has been updated by 0mp:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e9a013ef465e7e3b9e29eb2bdb0178441858d0ad

commit e9a013ef465e7e3b9e29eb2bdb0178441858d0ad
Author:     Mateusz Piotrowski <0mp@FreeBSD.org>
AuthorDate: 2025-08-26 14:46:45 +0000
Commit:     Mateusz Piotrowski <0mp@FreeBSD.org>
CommitDate: 2025-08-26 16:44:03 +0000

    devel/tevent017: Repocopy from devel/tevent016
    
    PR:             287985
    Reported by:    Andrej Ebert <andrej@ebert.su>
    Sponsored by:   Klara, Inc.
---
 devel/tevent017/Makefile                           | 74 ++++++++++++++++++++++
 devel/tevent017/distinfo                           |  3 +
 .../patch-buildtools_wafsamba_samba__autoconf.py   | 35 ++++++++++
 .../patch-buildtools_wafsamba_samba__install.py    | 11 ++++
 .../files/patch-buildtools_wafsamba_wscript        | 15 +++++
 devel/tevent017/files/patch-lib_replace_wscript    | 11 ++++
 devel/tevent017/files/patch-wscript                | 11 ++++
 devel/tevent017/pkg-descr                          |  6 ++
 devel/tevent017/pkg-plist                          |  7 ++
 9 files changed, 173 insertions(+)

diff --git a/devel/tevent017/Makefile b/devel/tevent017/Makefile
new file mode 100644
index 000000000000..81617f0e4d2a
--- /dev/null
+++ b/devel/tevent017/Makefile
@@ -0,0 +1,74 @@
+PORTNAME=			tevent
+DISTVERSION=			0.16.1
+PORTREVISION=			2
+PORTEPOCH=			0
+CATEGORIES=			devel
+MASTER_SITES=			SAMBA
+PKGNAMESUFFIX=			016
+
+MAINTAINER=			samba@FreeBSD.org
+COMMENT=			Talloc based event loop library
+WWW=				https://tevent.samba.org/
+
+LICENSE=			LGPL3
+
+BUILD_DEPENDS=			talloc242>=2.4.2:devel/talloc242
+RUN_DEPENDS=			talloc242>=2.4.2:devel/talloc242
+
+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
+
+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 <bsd.port.mk>
diff --git a/devel/tevent017/distinfo b/devel/tevent017/distinfo
new file mode 100644
index 000000000000..765a4b9ede4f
--- /dev/null
+++ b/devel/tevent017/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1737642434
+SHA256 (tevent-0.16.1.tar.gz) = 362971e0f32dc1905f6fe4736319c4b8348c22dc85aa6c3f690a28efe548029e
+SIZE (tevent-0.16.1.tar.gz) = 890010
diff --git a/devel/tevent017/files/patch-buildtools_wafsamba_samba__autoconf.py b/devel/tevent017/files/patch-buildtools_wafsamba_samba__autoconf.py
new file mode 100644
index 000000000000..c5db6dc61150
--- /dev/null
+++ b/devel/tevent017/files/patch-buildtools_wafsamba_samba__autoconf.py
@@ -0,0 +1,35 @@
+--- buildtools/wafsamba/samba_autoconf.py.orig	2019-09-04 15:42:16 UTC
++++ buildtools/wafsamba/samba_autoconf.py
+@@ -573,7 +573,7 @@ def library_flags(self, libs):
+ 
+ 
+ @conf
+-def CHECK_LIB(conf, libs, mandatory=False, empty_decl=True, set_target=True, shlib=False):
++def CHECK_LIB(conf, libs, mandatory=False, empty_decl=True, set_target=True, shlib=False, msg=None):
+     '''check if a set of libraries exist as system libraries
+ 
+     returns the sublist of libs that do exist as a syslib or []
+@@ -593,11 +593,14 @@ int foo()
+             ret.append(lib)
+             continue
+ 
++        if msg is None:
++            msg = 'Checking for library %s' % lib
++
+         (ccflags, ldflags, cpppath) = library_flags(conf, lib)
+         if shlib:
+-            res = conf.check(features='c cshlib', fragment=fragment, lib=lib, uselib_store=lib, cflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False)
++            res = conf.check(features='c cshlib', fragment=fragment, lib=lib, uselib_store=lib, cflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False, msg=msg)
+         else:
+-            res = conf.check(lib=lib, uselib_store=lib, cflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False)
++            res = conf.check(lib=lib, uselib_store=lib, cflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False, msg=msg)
+ 
+         if not res:
+             if mandatory:
+@@ -949,5 +952,5 @@ def SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS(conf):
+         conf.env.undefined_ldflags = conf.ADD_LDFLAGS('-Wl,-no-undefined', testflags=True)
+ 
+         if (conf.env.undefined_ignore_ldflags == [] and
+-            conf.CHECK_LDFLAGS(['-undefined', 'dynamic_lookup'])):
++            conf.CHECK_LDFLAGS(['-undefined', 'dynamic_lookup'] + conf.env.WERROR_CFLAGS)):
+             conf.env.undefined_ignore_ldflags = ['-undefined', 'dynamic_lookup']
diff --git a/devel/tevent017/files/patch-buildtools_wafsamba_samba__install.py b/devel/tevent017/files/patch-buildtools_wafsamba_samba__install.py
new file mode 100644
index 000000000000..5a85a034aea7
--- /dev/null
+++ b/devel/tevent017/files/patch-buildtools_wafsamba_samba__install.py
@@ -0,0 +1,11 @@
+--- buildtools/wafsamba/samba_install.py.orig	2019-03-21 10:12:32 UTC
++++ buildtools/wafsamba/samba_install.py
+@@ -115,7 +115,7 @@ def install_library(self):
+                 inst_name    = bld.make_libname(t.target)
+         elif self.vnum:
+             vnum_base    = self.vnum.split('.')[0]
+-            install_name = bld.make_libname(target_name, version=self.vnum)
++            install_name = bld.make_libname(target_name, version=vnum_base)
+             install_link = bld.make_libname(target_name, version=vnum_base)
+             inst_name    = bld.make_libname(t.target)
+             if not self.private_library or not t.env.SONAME_ST:
diff --git a/devel/tevent017/files/patch-buildtools_wafsamba_wscript b/devel/tevent017/files/patch-buildtools_wafsamba_wscript
new file mode 100644
index 000000000000..3d4b6a56e345
--- /dev/null
+++ b/devel/tevent017/files/patch-buildtools_wafsamba_wscript
@@ -0,0 +1,15 @@
+--- buildtools/wafsamba/wscript.orig	2019-03-21 10:12:32 UTC
++++ buildtools/wafsamba/wscript
+@@ -82,10 +82,10 @@ def options(opt):
+ 
+     opt.add_option('--with-libiconv',
+                    help='additional directory to search for libiconv',
+-                   action='store', dest='iconv_open', default='/usr/local',
++                   action='store', dest='iconv_open', default=None,
+                    match = ['Checking for library iconv', 'Checking for iconv_open', 'Checking for header iconv.h'])
+     opt.add_option('--without-gettext',
+-                   help=("Disable use of gettext"),
++                   help=("disable use of gettext"),
+                    action="store_true", dest='disable_gettext', default=False)
+ 
+     gr = opt.option_group('developer options')
diff --git a/devel/tevent017/files/patch-lib_replace_wscript b/devel/tevent017/files/patch-lib_replace_wscript
new file mode 100644
index 000000000000..d476cec47cfb
--- /dev/null
+++ b/devel/tevent017/files/patch-lib_replace_wscript
@@ -0,0 +1,11 @@
+--- lib/replace/wscript.orig	2019-03-21 10:12:32 UTC
++++ lib/replace/wscript
+@@ -119,7 +119,7 @@ def configure(conf):
+     conf.CHECK_HEADERS('sys/atomic.h stdatomic.h')
+     conf.CHECK_HEADERS('libgen.h')
+ 
+-    if conf.CHECK_CFLAGS('-Wno-format-truncation'):
++    if conf.CHECK_CFLAGS(['-Wno-format-truncation'] + conf.env.WERROR_CFLAGS):
+         conf.define('HAVE_WNO_FORMAT_TRUNCATION', '1')
+ 
+     if conf.CHECK_CFLAGS('-Wno-unused-function'):
diff --git a/devel/tevent017/files/patch-wscript b/devel/tevent017/files/patch-wscript
new file mode 100644
index 000000000000..b17d04a3f874
--- /dev/null
+++ b/devel/tevent017/files/patch-wscript
@@ -0,0 +1,11 @@
+--- wscript.orig	2017-07-22 22:25:22 UTC
++++ wscript
+@@ -88,7 +88,7 @@ def build(bld):
+         SRC += ' tevent_port.c'
+ 
+     if bld.env.standalone_tevent:
+-        bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
++        bld.env.PKGCONFIGDIR = '%%PKGCONFIGDIR%%'
+         private_library = False
+     else:
+         private_library = True
diff --git a/devel/tevent017/pkg-descr b/devel/tevent017/pkg-descr
new file mode 100644
index 000000000000..0b31d18127a1
--- /dev/null
+++ b/devel/tevent017/pkg-descr
@@ -0,0 +1,6 @@
+tevent is a simple library that can handle the main event loop for an
+application. It supports three kinds of events: timed events, file
+descriptors becoming readable or writable and signals.
+
+Talloc is used for memory management, both internally and for private
+data provided by users of the library.
diff --git a/devel/tevent017/pkg-plist b/devel/tevent017/pkg-plist
new file mode 100644
index 000000000000..a7591ca87d25
--- /dev/null
+++ b/devel/tevent017/pkg-plist
@@ -0,0 +1,7 @@
+include/tevent.h
+lib/libtevent.so
+lib/libtevent.so.0
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/__pycache__/tevent.cpython-%%PYTHON_SUFFIX%%.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/_tevent%%PYTHON_TAG%%.so
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/tevent.py
+%%PKGCONFIGDIR%%/tevent.pc