python.port.mk, update-plist, MODPY_ABI3SO

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

python.port.mk, update-plist, MODPY_ABI3SO

Stuart Henderson
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.

Reply | Threaded
Open this post in threaded view
|

Re: python.port.mk, update-plist, MODPY_ABI3SO

Jeremie Courreges-Anglas-2
On Thu, Jun 20 2019, Stuart Henderson <[hidden email]> wrote:

> 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?

yep, ok jca@

> 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.
>

--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE