Marcel Telka
2024-04-01 8b81466c5260d9945b49594e5cc088e75ee18d44
transforms/python-3-soabi
@@ -1,8 +1,39 @@
# Python 2's ABI for .so files is to simply append ".so".  But for Python
# 3, it appends ".cpython-3#[d][m][u].so", where # is the minor version,
# "d" is added if built --with-pydebug (we don't), "m" is added if built
# --with-pymalloc (we do) and "u" is added if built --with-wide-unicode
# (we don't).  See http://legacy.python.org/dev/peps/pep-3149/ for details.
<transform file -> edit path \
    (usr/lib/python3.)([0-9])(/vendor-packages/.*)\.so \
    \\1\\2\\3.cpython-3\\2m.so >
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved.
#
# Python ABI for .so files is to append ".cpython-3#.so".
# See http://legacy.python.org/dev/peps/pep-3149/ and
# https://github.com/python/cpython/issues/80888 for details.
$(PY3_CPYTHON_NAMING)<transform file path=(?!.*\.(cpython-3\d+|abi3)\.so$) -> edit path \
$(PY3_CPYTHON_NAMING)      "(usr/lib/python3\.)(\d+)(/vendor-packages/(.*/)?(64/)?.*)\.so$" \
$(PY3_CPYTHON_NAMING)      \\1\\2\\3.cpython-3\\2.so >
# It is also possible to create ABI3 compliant extensions that should support
# all Python versions.  The compiled shared libraries have ".abi3.so" suffix to
# indicate the usage of the limited API.
# See https://www.python.org/dev/peps/pep-0384/ for more information.
$(PY3_ABI3_NAMING)<transform file path=(?!.*\.(cpython-3\d+|abi3)\.so$) -> edit path \
$(PY3_ABI3_NAMING)      "(usr/lib/python3\.\d+/vendor-packages/(.*/)?(64/)?.*)\.so$" \
$(PY3_ABI3_NAMING)      \\1.abi3.so >