https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274671
--- Comment #29 from commit-h...@freebsd.org --- A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=4f0eba1efd73e85ccb544708c967bca70ad3e7a6 commit 4f0eba1efd73e85ccb544708c967bca70ad3e7a6 Author: Charlie Li <vish...@freebsd.org> AuthorDate: 2025-06-19 20:09:42 +0000 Commit: Charlie Li <vish...@freebsd.org> CommitDate: 2025-06-19 20:28:47 +0000 python.mk: rename PYTHON_EXT_SUFFIX to PYTHON_TAG, document, etc EXT_SUFFIX, according to PEP 3149, refers to the full tag and extension for compiled extension module objects, eg .cpython-311.so, .cpython-313t.so, etc. We do not use the correct semantic meaning, and this usage becomes ambiguous and confusing when tags do not match between bytecode and compiled extension module objects. Rename our PYTHON_EXT_SUFFIX to PYTHON_TAG to align with PEP 3147's specification of a magic tag, which consists of implementation name and shorthand version only. This is meant for bytecode and other files containing this tag in their filename that do not depend on a specific Python ABI for the same version. Chase all existing consumers. Introduce PYTHON_SOABI to align with PEP 3149's specification of a tag, which consists of implementation name, shorthand version and any ABI flags present (this and PYTHON_TAG are identical without ABI flags). This is meant for compiled extension module objects and other files that depend on a specific Python ABI for the same version. Add documentation for these variables that our PYTHON_EXT_SUFFIX never had. PR: 274671 Event: Kitchener-Waterloo Hackathon 202506 CHANGES | 9 + Mk/Uses/python.mk | 25 +- accessibility/caribou/pkg-plist | 72 +- accessibility/gammastep/pkg-plist | 20 +- accessibility/py-speech-dispatcher/pkg-plist | 28 +- astro/astrometry/Makefile | 2 +- astro/astrometry/pkg-plist | 10 +- astro/kosmorro/pkg-plist | 44 +- astro/py-ephem/Makefile | 2 +- astro/py-kosmorrolib/pkg-plist | 36 +- astro/py-sgp4/pkg-plist | 2 +- astro/py-skyfield/pkg-plist | 4 +- astro/weather/pkg-plist | 4 +- audio/exaile/pkg-plist | 428 +- audio/picard-plugins/pkg-plist | 412 +- audio/py-SoundFile/pkg-plist | 4 +- audio/py-essentia/Makefile | 2 +- audio/py-essentia/pkg-plist | 2 +- audio/py-pocketsphinx/Makefile | 8 +- audio/py-pocketsphinx/pkg-plist | 32 +- audio/py-samplerate/Makefile | 4 +- audio/py-simpleaudio/Makefile | 2 +- audio/py-soxr/Makefile | 2 +- audio/py-vosk/pkg-plist | 20 +- audio/qjackcapture/pkg-plist | 12 +- benchmarks/py-locust/pkg-plist | 168 +- benchmarks/uica/Makefile | 2 +- benchmarks/uica/pkg-plist | 36 +- biology/py-biosig/Makefile | 2 +- biology/py-pyrodigal/Makefile | 2 +- biology/py-pysam/Makefile | 2 +- biology/py-python-libsbml/pkg-plist | 4 +- biology/py-scikit-bio/Makefile | 4 +- biology/vcflib/pkg-plist | 2 +- cad/klayout/pkg-plist | 34 +- cad/netgen/pkg-plist | 2 +- cad/py-cocotb/Makefile | 2 +- cad/py-csxcad/Makefile | 2 +- chinese/ibus-array/pkg-plist | 8 +- chinese/ibus-libpinyin/pkg-plist | 20 +- comms/gnuradio/pkg-plist | 42 +- comms/gr-osmosdr/pkg-plist | 2 +- comms/hamlib/pkg-plist | 6 +- comms/uhd/pkg-plist | 2 +- converters/py-bsdconv/pkg-plist | 2 +- databases/grass8/pkg-plist | 806 +- databases/ldb25/Makefile | 12 +- databases/ldb28/Makefile | 12 +- databases/ldb29/Makefile | 12 +- databases/py-apache-arrow/pkg-plist | 454 +- databases/py-duckdb/Makefile | 2 +- databases/py-gdbm/Makefile | 6 +- databases/py-pymongo/Makefile | 4 +- databases/py-sqlcipher3/Makefile | 2 +- databases/py-sqlite3/Makefile | 6 +- databases/py-xapian/pkg-plist | 6 +- databases/rrdtool/pkg-plist | 2 +- databases/tdb/pkg-plist | 2 +- databases/tdb1410/pkg-plist | 2 +- deskutils/gnome-tweaks/pkg-plist | 76 +- deskutils/mozo/pkg-plist | 20 +- deskutils/py-paperless-ngx/pkg-plist | 992 +- deskutils/py-paperless/pkg-plist | 404 +- deskutils/recoll/pkg-plist | 6 +- deskutils/rednotebook/pkg-plist | 140 +- deskutils/treeline/pkg-plist | 172 +- devel/blueprint-compiler/pkg-plist | 200 +- devel/cbang/pkg-plist | 66 +- devel/cpplint/pkg-plist | 4 +- devel/distcc/pkg-plist | 2 +- devel/git-cola/pkg-plist | 356 +- devel/glib20/pkg-plist | 40 +- devel/gobject-introspection/pkg-plist | 2 +- devel/kf6-kapidox/pkg-plist | 68 +- devel/libsearpc/pkg-plist | 48 +- devel/llvm-devel/Makefile | 2 +- devel/llvm-devel/pkg-plist | 2 +- devel/llvm14/Makefile | 2 +- devel/llvm14/pkg-plist | 2 +- devel/llvm15/Makefile | 2 +- devel/llvm15/pkg-plist | 2 +- devel/llvm16/Makefile | 2 +- devel/llvm16/pkg-plist | 2 +- devel/llvm17/Makefile | 2 +- devel/llvm17/pkg-plist | 2 +- devel/llvm18/Makefile | 2 +- devel/llvm18/pkg-plist | 2 +- devel/llvm19/Makefile | 2 +- devel/llvm19/pkg-plist | 2 +- devel/llvm20/Makefile | 2 +- devel/llvm20/pkg-plist | 2 +- devel/nanopb/pkg-plist | 28 +- devel/omniORB/pkg-plist | 6 +- devel/py-PYB11Generator/pkg-plist | 28 +- devel/py-ast2json/pkg-plist | 20 +- devel/py-bps-restpy/pkg-plist | 60 +- devel/py-cftime/Makefile | 2 +- devel/py-cld/Makefile | 4 +- devel/py-cysignals/pkg-plist | 14 +- devel/py-dm-tree/pkg-plist | 18 +- devel/py-ewah-bool-utils/Makefile | 6 +- devel/py-grpcio/Makefile | 2 +- devel/py-guppy3/pkg-plist | 4 +- devel/py-ice37/pkg-plist | 2 +- devel/py-jep/pkg-plist | 2 +- devel/py-jsonnet/Makefile | 2 +- devel/py-line-profiler/Makefile | 2 +- devel/py-memory-allocator/pkg-plist | 8 +- devel/py-omniorb/pkg-plist | 48 +- devel/py-pysimdjson/pkg-plist | 2 +- devel/py-python-rapidjson/Makefile | 2 +- devel/py-qt5-pyqt/pkg-plist | 132 +- devel/py-qt6-pyqt/pkg-plist | 156 +- devel/py-qutip/Makefile | 4 +- devel/py-recordclass/pkg-plist | 8 +- devel/py-simsimd/Makefile | 2 +- devel/py-stringzilla/Makefile | 2 +- devel/py-time-machine/Makefile | 2 +- devel/py-zfp/Makefile | 2 +- devel/pybind11_protobuf/pkg-plist | 2 +- devel/pyside6-tools/pkg-plist | 112 +- devel/pyside6/pkg-plist | 40 +- devel/root/pkg-plist | 592 +- devel/shiboken6/pkg-plist | 12 +- devel/talloc/pkg-plist | 8 +- devel/talloc242/pkg-plist | 8 +- devel/tevent/pkg-plist | 2 +- devel/tevent016/pkg-plist | 2 +- devel/thonny/pkg-plist | 944 +- devel/viewvc-devel/pkg-plist | 58 +- devel/youcompleteme/pkg-plist | 2 +- editors/pluma-plugins/pkg-plist | 44 +- editors/pluma/pkg-plist | 120 +- filesystems/openzfs/pkg-plist | 26 +- finance/odoo/pkg-plist | 28700 +++++++++---------- finance/odoo16/pkg-plist | 22508 +++++++-------- finance/odoo17/pkg-plist | 26956 +++++++++--------- finance/py-bt/Makefile | 2 +- finance/py-ta-lib/Makefile | 2 +- games/kajongg/pkg-plist | 138 +- games/openage/pkg-plist | 602 +- games/pyspacewar/pkg-plist | 28 +- games/vamos/pkg-plist | 20 +- graphics/mypaint/pkg-plist | 554 +- graphics/opencv/pkg-plist | 2 +- graphics/openimageio/pkg-plist-pybind | 2 +- graphics/py-ManimPango/Makefile | 2 +- graphics/py-cairo/pkg-plist | 2 +- graphics/py-diplib/pkg-plist | 30 +- graphics/py-f3d/pkg-plist | 2 +- graphics/py-glcontext/Makefile | 4 +- graphics/py-moderngl/Makefile | 2 +- graphics/py-pivy/pkg-plist | 120 +- graphics/py-pygltflib/pkg-plist | 12 +- graphics/py-python-poppler-qt5/Makefile | 2 +- graphics/py-s2/pkg-plist | 4 +- graphics/py-simplejpeg/Makefile | 2 +- graphics/py-vispy/Makefile | 2 +- japanese/py-fugashi/Makefile | 2 +- lang/python310/pkg-plist | 10250 +++---- lang/python311/pkg-plist | 10918 ++++---- lang/python312/pkg-plist | 10794 +++---- lang/python39/pkg-plist | 10116 +++---- math/cadabra2/Makefile | 2 +- math/py-POT/Makefile | 2 +- math/py-SQNomad/Makefile | 2 +- math/py-ambit/pkg-plist | 2 +- math/py-annoy/Makefile | 2 +- math/py-clingcon/Makefile | 2 +- math/py-clingo/Makefile | 2 +- math/py-cvxpy/Makefile | 4 +- math/py-cyipopt/Makefile | 2 +- math/py-cypari2/pkg-plist | 16 +- math/py-daqp/Makefile | 2 +- math/py-deap/Makefile | 2 +- math/py-dgl/Makefile | 2 +- math/py-diffcp/Makefile | 2 +- math/py-dionysus/Makefile | 2 +- math/py-fastdtw/Makefile | 2 +- math/py-fpylll/pkg-plist | 28 +- math/py-fsph/Makefile | 4 +- math/py-heyoka/pkg-plist | 2 +- math/py-kahip/Makefile | 4 +- math/py-linearmodels/Makefile | 2 +- math/py-lrcalc/Makefile | 2 +- math/py-mapbox-earcut/Makefile | 2 +- math/py-mathics/pkg-plist | 28 +- math/py-matplotlib/pkg-plist | 8 +- math/py-minorminer/Makefile | 8 +- math/py-nlopt/pkg-plist | 8 +- math/py-or-tools/pkg-plist | 14 +- math/py-petsc4py/Makefile | 2 +- math/py-pplpy/pkg-plist | 14 +- math/py-primecountpy/pkg-plist | 6 +- math/py-primme/Makefile | 2 +- math/py-py-find-1st/Makefile | 2 +- math/py-pyFFTW/Makefile | 2 +- math/py-pyclipper/Makefile | 2 +- math/py-pyodeint/Makefile | 2 +- math/py-pytensor/Makefile | 2 +- math/py-rectangle-packer/Makefile | 4 +- math/py-rustworkx/Makefile | 2 +- math/py-scikit-umfpack/Makefile | 2 +- math/py-slepc4py/Makefile | 2 +- math/py-spot/pkg-plist | 8 +- math/py-symengine/pkg-plist | 2 +- math/py-topologic/Makefile | 4 +- misc/adios2/Makefile | 2 +- misc/adios2/pkg-plist | 2 +- misc/py-apache-beam/Makefile | 2 +- misc/py-mmcv/Makefile | 2 +- misc/py-numcodecs/Makefile | 2 +- misc/py-openvdb/Makefile | 2 +- misc/py-pytorch/Makefile | 4 +- misc/py-shap2/Makefile | 2 +- misc/py-tvm/pkg-plist | 4598 +-- misc/py-xformers/pkg-plist | 4 +- multimedia/gpodder/pkg-plist | 244 +- multimedia/mythtv/pkg-plist | 122 +- multimedia/onevpl/pkg-plist | 2 +- multimedia/openshot/pkg-plist | 500 +- multimedia/pitivi/pkg-plist | 152 +- multimedia/py-gstreamer1/pkg-plist | 24 +- multimedia/py-opentimelineio/pkg-plist | 240 +- multimedia/py-ustreamer/Makefile | 2 +- net-mgmt/crmsh/pkg-plist | 174 +- net-mgmt/net-snmp/pkg-plist | 2 +- net-mgmt/networkmgr/pkg-plist | 20 +- net-mgmt/seafile-client/pkg-plist | 12 +- net-mgmt/seafile-server/pkg-plist | 10 +- net-p2p/bazarr/pkg-plist | 14508 +++++----- net-p2p/py-libtorrent-rasterbar/Makefile | 4 +- net-p2p/py-pulsar-client/Makefile | 2 +- net-p2p/reticulum/pkg-plist | 304 +- net/kea-devel/pkg-plist | 12 +- net/kea/pkg-plist | 12 +- net/pacemaker2/pkg-plist | 204 +- net/py-libdnet/Makefile | 2 +- net/py-zope.proxy/Makefile | 2 +- net/samba416/pkg-plist | 12 +- net/samba416/pkg-plist.python | 148 +- net/samba419/pkg-plist | 12 +- net/samba419/pkg-plist.python | 158 +- net/samba420/pkg-plist | 12 +- net/samba420/pkg-plist.python | 172 +- print/lilypond-devel/pkg-plist | 6 +- print/lyx/pkg-plist | 168 +- print/pdfarranger/pkg-plist | 44 +- science/cantera/pkg-plist | 2 +- science/chemicalfun/Makefile | 2 +- science/chemicalfun/pkg-plist | 2 +- science/code_saturne/pkg-plist | 2358 +- science/fastjet/pkg-plist | 4 +- science/meep/pkg-plist | 138 +- science/psi4/pkg-plist | 2 +- science/py-GPy/Makefile | 4 +- science/py-PyNE/pkg-plist | 148 +- science/py-arbor/Makefile | 2 +- science/py-arbor/pkg-plist | 2 +- science/py-arch/Makefile | 4 +- science/py-avogadrolibs/Makefile | 4 +- science/py-dftd4/Makefile | 2 +- science/py-dimod/Makefile | 2 +- science/py-dipy/pkg-plist | 1474 +- science/py-dwave-inspector/pkg-plist | 36 +- science/py-dwave-optimization/Makefile | 4 +- science/py-dwave-preprocessing/Makefile | 4 +- science/py-dwave-preprocessing/pkg-plist | 48 +- science/py-dwave-samplers/Makefile | 2 +- science/py-dwave-samplers/pkg-plist | 82 +- science/py-dwave-system/pkg-plist | 144 +- science/py-fresnel/pkg-plist | 4 +- science/py-gemmi/pkg-plist | 2 +- science/py-hoomd-blue/pkg-plist | 8 +- science/py-kimpy/Makefile | 2 +- science/py-kpLib/Makefile | 2 +- science/py-libgetar/Makefile | 2 +- science/py-meshio/pkg-plist | 348 +- science/py-openEMS/Makefile | 2 +- science/py-openbabel/Makefile | 2 +- science/py-phonopy/Makefile | 2 +- science/py-pygmo2/pkg-plist | 2 +- science/py-pymol/pkg-plist | 760 +- science/salome-kernel/pkg-plist | 468 +- science/smoldyn/pkg-plist | 20 +- science/tfel/pkg-plist | 28 +- science/thermofun/Makefile | 2 +- science/thermofun/pkg-plist | 2 +- security/libpreludedb/pkg-plist | 4 +- security/libpwquality/pkg-plist | 2 +- security/py-gpgme/pkg-plist | 114 +- security/py-greenbone-feed-sync/pkg-plist | 56 +- security/py-notus-scanner/pkg-plist | 224 +- security/py-ospd-openvas/pkg-plist | 176 +- security/py-pass-audit/pkg-plist | 20 +- security/py-ssh-audit/pkg-plist | 128 +- security/py-yara-python-dex/pkg-plist | 2 +- security/sssd2/pkg-plist | 6 +- security/suricata/pkg-plist | 90 +- security/wazuh-manager/pkg-plist | 37016 ++++++++++++------------- sysutils/bareos-server/pkg-plist | 4 +- sysutils/bareos-server/pkg-plist.client | 2 +- sysutils/bareos22-server/pkg-plist | 4 +- sysutils/bareos22-server/pkg-plist.client | 2 +- sysutils/bareos23-server/pkg-plist | 4 +- sysutils/bareos23-server/pkg-plist.client | 2 +- sysutils/py-overlord/pkg-plist | 164 +- sysutils/syslog-ng/Makefile | 34 +- sysutils/webmin/pkg-plist | 4 +- sysutils/xen-tools/pkg-plist | 6 +- textproc/ibus/pkg-plist | 20 +- textproc/py-faust-cchardet/Makefile | 2 +- textproc/py-genshi/Makefile | 2 +- textproc/py-hunspell/Makefile | 2 +- textproc/py-libxml2/pkg-plist | 8 +- textproc/py-sphinx-material/pkg-plist | 8 +- textproc/py-wordcloud/pkg-plist | 2 +- textproc/redland-bindings/Makefile | 2 +- textproc/redland-bindings/pkg-plist | 2 +- www/npm-node22/pkg-plist | 232 +- www/pacparser/pkg-plist | 4 +- www/py-beautifulsoup/pkg-plist | 128 +- www/py-css-html-js-minify/pkg-plist | 12 +- www/py-seafdav/pkg-plist | 192 +- x11-toolkits/nanogui/pkg-plist | 2 +- x11-toolkits/py-tkinter/Makefile | 6 +- x11-wm/qtile/pkg-plist | 8 +- x11/alacarte/pkg-plist | 36 +- x11/kitty/pkg-plist | 1032 +- x11/menulibre/pkg-plist | 80 +- x11/xpra/pkg-plist | 2288 +- 331 files changed, 100105 insertions(+), 100079 deletions(-) -- You are receiving this mail because: You are the assignee for the bug.