MODPY_ABI3SO is used for python .so files which have a name like foo.abi3.so - it is set to either ".abi3" or "" (blank), so plist entries for these look like
lib/python${MODPY_VERSION}/site-packages/bcrypt/_bcrypt${MODPY_ABI3SO}.so The current UPDATE_PLIST_ARGS uses -S ("match only at end of path") which can't work with this (running update-plist strips the substitution). I think it should just be changed to -I, does that makes sense? Index: python.port.mk =================================================================== RCS file: /cvs/ports/lang/python/python.port.mk,v retrieving revision 1.113 diff -u -p -r1.113 python.port.mk --- python.port.mk 18 May 2019 18:56:45 -0000 1.113 +++ python.port.mk 20 Jun 2019 13:59:54 -0000 @@ -190,7 +190,7 @@ SUBST_VARS := MODPY_PYCACHE MODPY_COMMEN MODPY_PY_PREFIX MODPY_PYOEXTENSION ${SUBST_VARS} UPDATE_PLIST_ARGS += -S MODPY_BIN_SUFFIX -S MODPY_PYOEXTENSION \ - -S MODPY_ABI3SO -c MODPY_COMMENT -I MODPY_PYCACHE + -I MODPY_ABI3SO -c MODPY_COMMENT -I MODPY_PYCACHE # set MODPY_BIN for executable scripts MODPY_BIN_ADJ = perl -pi \ I considered changing MODPY_ABI3SO to set to ".abi3.so" or ".so", which would work with the existing UPDATE_PLIST_ARGS, but will cause a horrible mess as all "foo.so" files in ports that use the python module but don't use FLAVOR=python3 will then get updated to "foo${MODPY_ABI3SO}" which is going to be wrong in many cases.