From nobody Thu Jan 30 14:43:56 2025 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4YkMGj50Rlz5mcp7; Thu, 30 Jan 2025 14:43:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4YkMGh6kXQz3Mbg; Thu, 30 Jan 2025 14:43:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738248236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wFJdQR6C2Q71+0EXTPeMkEaslOxZfKR4jlZqReJOXUc=; b=MG6WJYO+vEzHD9k9FaVsqhLgbWAza/90vh5gj1vct/OGpp6nfdhQslTAs6P3BSxohwzhVh EBmsuhrVp91ftdCL/BCw/XJmAhmUwn4thlpaM3jQLm7eNQFjF4Kq8zrwHcQRL1YAU/P4J5 VKhvW+GQvNOaL2ugINLopkfuDjHDMeCFSZvs62lgDavHkUcWqS51mViLCXKG8uwkLiuixS r9FtWxa1wki/iSfmoryTGkr4J+RCRgIy/EW5BudE2Oo86aY9jDAhgq50hVaOyTDW5GzjCR cnReFOaCeMhADrT8Nm86MC4oAvZoWVwzvNStkPROO62IyxgBcBQNN4D2QgNtEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1738248236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=wFJdQR6C2Q71+0EXTPeMkEaslOxZfKR4jlZqReJOXUc=; b=SsKPKohh+AgRlA4l7Coi24ysJKxFOhhSEGN2Um6yVSmnODH6XI9lJLwx2M9kXaBegU20Jd hhugaAsXU4/Qx4DfoqHat4AXCmQauQaByySfglywsiR9CWHz0Lwj+udT5BrrvZRLvyLMM+ TGjcBoScrAkucB3k/1F3yh1m0YenkS8CsJSV518I6SCEQOIk0MeMgLdSzI6jBz++A4nsIk vtCa8JiDm2oMVLzKLQ8/WS/SkU81vaPnvEObNxLr1lEAgrA8p8P8LFb+IGmTDo/M6KMmDj sOtaRy7CsJU0YHKFyFIn3edYukh64/+Ufdf3jmf9R5GwRdN6mxSzCFF67JdSrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1738248236; a=rsa-sha256; cv=none; b=wn++ACGwgtkAQzq4/DH6kWT86y8y7LisHRfZlcRwzb5/sibKSFux8P7OKWzimGsc1Zr2Yy d49v5a6eqRKjlknjSgig6Xs5VNPElXOhmN+rfhP1bMEd4sz/S7IsA73c+BFlZalo7NqYJd LxaBut7H6gK6w2I9484X3dlNeQTKOL8PNsdHHG1o1LyupfJEH7B/8ygTBosTp/A0f+X5GP 7IBaLJegAvoK+qJXkXJq1Cv5YvLU5kpq//mWjA58pfjZ1zqBFQA1j+OmY4b9pA1KOmfjMZ rHZmUiIBYeVeE99gZKpAatHb4iEyMmH01+rZuG1hvXzBGlHmxNMJhzgKsK3Thg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4YkMGh6H9szrds; Thu, 30 Jan 2025 14:43:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 50UEhuxn092668; Thu, 30 Jan 2025 14:43:56 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 50UEhucR092665; Thu, 30 Jan 2025 14:43:56 GMT (envelope-from git) Date: Thu, 30 Jan 2025 14:43:56 GMT Message-Id: <202501301443.50UEhucR092665@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Xavier Beaudouin Subject: git: 88f648d07d3c - main - devel/tevent016: Talloc based event loop library List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kiwi X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 88f648d07d3c059903aee189b7e0703c37a7d04d Auto-Submitted: auto-generated The branch main has been updated by kiwi: URL: https://cgit.FreeBSD.org/ports/commit/?id=88f648d07d3c059903aee189b7e0703c37a7d04d commit 88f648d07d3c059903aee189b7e0703c37a7d04d Author: Xavier Beaudouin AuthorDate: 2025-01-28 09:39:01 +0000 Commit: Xavier Beaudouin CommitDate: 2025-01-30 14:41:59 +0000 devel/tevent016: Talloc based event loop library 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. This port is needed for Samba 4.20 This commit is just a repocopy. I will update the port to the correct version and connect it to the build in the next commit. PR: 280533 Sponsored by: Klara, Inc. Approved by: 0mp (mentor) Approved by: samba (0mp, kiwi) Differential Revision: https://reviews.freebsd.org/D48658 --- devel/tevent016/Makefile | 75 ++++++++++++++++++++++ devel/tevent016/distinfo | 3 + .../patch-buildtools_wafsamba_samba__autoconf.py | 35 ++++++++++ .../patch-buildtools_wafsamba_samba__install.py | 11 ++++ .../files/patch-buildtools_wafsamba_wscript | 15 +++++ devel/tevent016/files/patch-lib_replace_wscript | 11 ++++ devel/tevent016/files/patch-wscript | 11 ++++ devel/tevent016/pkg-descr | 6 ++ devel/tevent016/pkg-plist | 7 ++ 9 files changed, 174 insertions(+) diff --git a/devel/tevent016/Makefile b/devel/tevent016/Makefile new file mode 100644 index 000000000000..0ab8dec78ce6 --- /dev/null +++ b/devel/tevent016/Makefile @@ -0,0 +1,75 @@ +PORTNAME= tevent +DISTVERSION= 0.15.0 +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 + +MANPAGES_DESC= Build and install manpages (requires textproc/docbook-xsl) + +OPTIONS_DEFINE= DEBUG MANPAGES 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 + +MANPAGES_CONFIGURE_ENV_OFF= XSLTPROC="true" +MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \ + xsltproc:textproc/libxslt +# 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/tevent016/distinfo b/devel/tevent016/distinfo new file mode 100644 index 000000000000..56e4d3c17266 --- /dev/null +++ b/devel/tevent016/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1722344186 +SHA256 (tevent-0.15.0.tar.gz) = 662a9f277281bcf506b6bc0a0baa03e44a62229516ee34bcc703a0b82aa46905 +SIZE (tevent-0.15.0.tar.gz) = 884634 diff --git a/devel/tevent016/files/patch-buildtools_wafsamba_samba__autoconf.py b/devel/tevent016/files/patch-buildtools_wafsamba_samba__autoconf.py new file mode 100644 index 000000000000..c5db6dc61150 --- /dev/null +++ b/devel/tevent016/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/tevent016/files/patch-buildtools_wafsamba_samba__install.py b/devel/tevent016/files/patch-buildtools_wafsamba_samba__install.py new file mode 100644 index 000000000000..5a85a034aea7 --- /dev/null +++ b/devel/tevent016/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/tevent016/files/patch-buildtools_wafsamba_wscript b/devel/tevent016/files/patch-buildtools_wafsamba_wscript new file mode 100644 index 000000000000..3d4b6a56e345 --- /dev/null +++ b/devel/tevent016/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/tevent016/files/patch-lib_replace_wscript b/devel/tevent016/files/patch-lib_replace_wscript new file mode 100644 index 000000000000..d476cec47cfb --- /dev/null +++ b/devel/tevent016/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/tevent016/files/patch-wscript b/devel/tevent016/files/patch-wscript new file mode 100644 index 000000000000..b17d04a3f874 --- /dev/null +++ b/devel/tevent016/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/tevent016/pkg-descr b/devel/tevent016/pkg-descr new file mode 100644 index 000000000000..0b31d18127a1 --- /dev/null +++ b/devel/tevent016/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/tevent016/pkg-plist b/devel/tevent016/pkg-plist new file mode 100644 index 000000000000..bf60cf03f8ed --- /dev/null +++ b/devel/tevent016/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_EXT_SUFFIX%%.so +%%PYTHON%%%%PYTHON_SITELIBDIR%%/tevent.py +%%PKGCONFIGDIR%%/tevent.pc