On Mon, Nov 10, 2025 at 02:47:05PM -0500, George Koehler wrote:
> On Sat, 8 Nov 2025 17:48:22 +0100
> Marc Espie <[email protected]> wrote:
> 
> > If you wonder whether it should be @so's with no version at all or @lib 
> > libraries, that's a secondary concern, imo. Make sure everything
> > that says "@lib" has a corresponding SHARED_LIBS, then you can
> > decide what you want to do.
> 
> This diff checks that each @lib has a LIBname_VERSION, but doesn't
> look for '${LIBname_VERSION}'.  This works with all ports but
> devel/qcad when I tried "make print-plist-all >/dev/null".  It works
> with devel/libtalloc where make(1) expands a version variable before
> pkg_create(1) can see it,
> 
> devel/libtalloc/Makefile:
> PYTALLOC_UTIL_LIBSUFFIX=      
> cpython-${MODPY_MAJORMINOR}.so.${LIBpytalloc-util.cpython-${MODPY_MAJORMINOR}_VERSION}
> devel/libtalloc/pkg/PLIST-python:
> @lib lib/libpytalloc-util.${PYTALLOC_UTIL_LIBSUFFIX}

This makes libtalloc vaguely sane.

Now, the check may need to do a subst on the libname so that it matches 
reality, but at least this helps SHARED_LIBS register ALL the shared libs
properly wrt pkg_create.



Index: Makefile
===================================================================
RCS file: /vide/cvs/ports/devel/libtalloc/Makefile,v
diff -u -p -r1.43 Makefile
--- Makefile    8 Mar 2025 05:25:47 -0000       1.43
+++ Makefile    12 Nov 2025 10:46:43 -0000
@@ -11,10 +11,10 @@ PKGNAME-python=     py3-${DISTNAME}
 MULTI_PACKAGES=        -main -python
 
 SHARED_LIBS+=  talloc          1.2
-SHARED_LIBS+=  pytalloc-util.cpython-${MODPY_MAJORMINOR}       0.0
+SHARED_LIBS+=  ${PYTALLOC_UTIL_LIBNAME}        0.0
 
-PYTALLOC_UTIL_LIBSUFFIX=       
cpython-${MODPY_MAJORMINOR}.so.${LIBpytalloc-util.cpython-${MODPY_MAJORMINOR}_VERSION}
-SUBST_VARS+=                   PYTALLOC_UTIL_LIBSUFFIX
+PYTALLOC_UTIL_LIBNAME =                
pytalloc-util.cpython-${MODPY_MAJORMINOR}
+SUBST_VARS+=   PYTALLOC_UTIL_LIBNAME
 
 CATEGORIES=    devel
 
@@ -50,7 +50,7 @@ LIB_DEPENDS-python=   ${BUILD_PKGPATH},-ma
 WAF_ARGS=      -v -j ${MAKE_JOBS}
 MAKE_FLAGS=    WAF_ARGS="${WAF_ARGS}"
 MAKE_ENV +=    LIBtalloc_VERSION=${LIBtalloc_VERSION}
-MAKE_ENV +=    
LIBpytalloc_util_cpython_${MODPY_MAJORMINOR}_VERSION=${LIBpytalloc-util.cpython-${MODPY_MAJORMINOR}_VERSION}
+MAKE_ENV +=    
LIBpytalloc_util_cpython_${MODPY_MAJORMINOR}_VERSION=${LIB${PYTALLOC_UTIL_LIBNAME}_VERSION}
 
 TEST_ENV=      LD_LIBRARY_PATH="${WRKSRC}/bin/default"
 
@@ -59,3 +59,4 @@ CONFIGURE_ARGS= --prefix='${PREFIX}' --m
                --disable-rpath
 
 .include <bsd.port.mk>
+
Index: pkg/PLIST-python
===================================================================
RCS file: /vide/cvs/ports/devel/libtalloc/pkg/PLIST-python,v
diff -u -p -r1.3 PLIST-python
--- pkg/PLIST-python    10 Mar 2022 00:04:05 -0000      1.3
+++ pkg/PLIST-python    12 Nov 2025 10:32:18 -0000
@@ -1,6 +1,6 @@
 @conflict libtalloc-<2.1.16p0
 include/pytalloc.h
-@comment @lib lib/libpytalloc-util.${PYTALLOC_UTIL_LIBSUFFIX}
-@lib lib/libpytalloc-util.${PYTALLOC_UTIL_LIBSUFFIX}
+@comment lib 
lib/lib${PYTALLOC_UTIL_LIBNAME}.so.${LIB${PYTALLOC_UTIL_LIBNAME}_VERSION}
+@lib lib/lib${PYTALLOC_UTIL_LIBNAME}.so.${LIB${PYTALLOC_UTIL_LIBNAME}_VERSION}
 lib/pkgconfig/pytalloc-util.${MODPY_PYC_MAGIC_TAG}pc
 @so lib/python${MODPY_VERSION}/site-packages/talloc.${MODPY_PYC_MAGIC_TAG}so

Reply via email to