[Bug 265022] x11/xcb-proto: Fails to package: python3.7/site-packages/xcbgen/__pycache__/*.pyc: No such file or directory

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 05 Jul 2022 19:00:41 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265022

--- Comment #9 from Michael Osipov <michael.osipov@siemens.com> ---
Some more investigation: The used PYTHON_EXT_SUFFIX is empty before Python
3.8.7. Other ports use .cpython-%%PYTHON_SUFFIX%% for this reason. I have tried
in the pkg-plist:
%%PYTHON_SITELIBDIR%%/xcbgen/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-2.pyc

Haven't tested with 3.8+, but logically this should work. 

Now, either this port is broken or these lines are:
https://github.com/freebsd/freebsd-ports/blob/dee560336f0d0bc6e38bdecbe92edf370f4e2905/Mk/Uses/python.mk#L505-L509

Here it is:
https://github.com/freebsd/freebsd-ports/commit/fd8c799f257f75622e7f1a9f74b4e1130002ef74

I have the feeling that it has been backported to 3.7.x at some point in time.

root@123-release-amd64-default-ldadw-base:/usr/ports/x11/xcb-proto # grep -r -l
PYTHON_SUFFIX /usr/ports | cut -f 4-5 -d / | sort -u
accessibility/accerciser
accessibility/py-speech-dispatcher
accessibility/redshift
archivers/py-lz4
archivers/py-rjsmin
astro/py-jplephem
astro/py-sgp4
astro/py-skyfield
astro/py-skyfield-data
astro/py-spktype01
astro/py-spktype21
astro/weather
biology/hmmer
biology/infernal
biology/py-PySCeS
cad/astk-serveur
cad/freecad
cad/libredwg
chinese/ibus-cangjie
chinese/pycangjie
databases/arrow
databases/grass7
databases/ldb15
databases/ldb20
databases/ldb21
databases/ldb22
databases/py-apache-arrow
databases/py-duckdb
databases/py-gdbm
databases/py-sqlite3
databases/py-xapian
databases/redisdesktopmanager
databases/tdb
deskutils/py-autokey
deskutils/py-term-background
deskutils/recoll
deskutils/treeline
devel/boost-python-libs
devel/cmake
devel/distcc
devel/gitg
devel/gobject-introspection
devel/icestorm
devel/ikos
devel/libsearpc
devel/mercurial
devel/py-cysignals
devel/py-gobject3
devel/py-guppy3
devel/py-jaraco
devel/py-odfpy
devel/py-pysimdjson
devel/pyside2
devel/pyside2-tools
devel/shiboken2
devel/talloc
devel/tevent
devel/tortoisehg
devel/youcompleteme
emulators/virtualbox-ose
emulators/virtualbox-ose-legacy
finance/gnucash
french/aster
french/homard
games/anki
games/monsterz
games/openage
games/whichwayisup
graphics/eog-plugins
graphics/lensfun
graphics/py-cairocffi
graphics/py-mcomix
graphics/py-python-poppler-qt5
japanese/ibus-anthy
lang/python-tools
lang/python310
lang/python311
lang/python37
lang/python38
lang/python39
mail/mailutils
math/cadabra2
math/convertall
math/e-antic
math/mathicsscript
math/py-brial
math/py-cypari2
math/py-fpylll
math/py-mathics
math/py-mathics-scanner
math/py-matplotlib
math/py-pandas
math/py-piranha
math/py-pplpy
math/py-rpy2
math/py-spot
math/rpcalc
math/sage
misc/hashdb
misc/veles
multimedia/gpodder
multimedia/gstreamer1-validate
multimedia/mythtv
multimedia/photofilmstrip
multimedia/pitivi
multimedia/py-mlt6
net-mgmt/net-snmp
net-mgmt/seafile-client
net-mgmt/seafile-server
net-p2p/py-libtorrent-rasterbar
net/ceph14
net/glusterfs
net/pacemaker1
net/samba412
net/samba413
print/lilypond-devel
print/lyx
print/system-config-printer
science/cantera
science/code_saturne
science/elmerfem
science/openbabel
science/py-asap3
science/py-dipy
science/py-dlib
science/py-jupyter_jsmol
science/py-pymol
science/py-pyprecice
science/tfel-edf
science/v_sim
security/apkid
security/py-pass-audit
security/sssd
security/zeronet
sysutils/calamares
sysutils/catfish
sysutils/datadog-integrations
sysutils/py-salt
sysutils/scanmem
sysutils/syslog-ng
sysutils/xen-tools
textproc/gtk-doc
textproc/ibus-typing-booster
textproc/meld
textproc/py-enchant
textproc/py-langid
textproc/py-mathics-pygments
textproc/py-wordcloud
www/npm
www/py-seafdav
www/py-seafobj
www/unit-python
x11-toolkits/py-tkinter
x11-wm/chamfer
x11/guake
x11/mate-dock-applet
x11/menulibre
x11/py-xcffib
x11/xcb-proto
x11/xpra

vs 

root@123-release-amd64-default-ldadw-base:/usr/ports/x11/xcb-proto # grep -r -l
PYTHON_EXT_SUFFIX /usr/ports | cut -f 4-5 -d / | sort -u
accessibility/orca
archivers/py-lz4
astro/astrometry
astro/kosmorro
astro/py-ephem
astro/py-kosmorrolib
astro/py-sgp4
audio/picard-plugins
biology/py-python-libsbml
cad/klayout
cad/netgen
comms/hamlib
converters/py-bsdconv
databases/grass8
databases/ldb15
databases/ldb20
databases/ldb21
databases/ldb22
databases/py-apache-arrow
databases/py-xapian
databases/pymongo
databases/rrdtool
databases/tdb
deskutils/gnome-tweaks
deskutils/mozo
deskutils/py-paperless
deskutils/recoll
devel/cbang
devel/cpplint
devel/git-cola
devel/gobject-introspection
devel/kf5-kapidox
devel/llvm-devel
devel/llvm14
devel/omniORB
devel/py-cld
devel/py-cysignals
devel/py-gobject3
devel/py-grpcio
devel/py-guppy3
devel/py-ice37
devel/py-jep
devel/py-jsonnet
devel/py-memory-allocator
devel/py-omniorb
devel/py-pysimdjson
devel/py-qt5-pyqt
devel/talloc
devel/tevent
devel/youcompleteme
editors/pluma
editors/pluma-plugins
finance/odoo
games/openage
graphics/mypaint
graphics/opencv
graphics/openimageio
graphics/py-cairo
graphics/py-python-poppler-qt5
math/cadabra2
math/openturns
math/py-cypari2
math/py-dionysus
math/py-fpylll
math/py-heyoka
math/py-kahip
math/py-mathics
math/py-matplotlib
math/py-nlopt
math/py-pandas
math/py-pplpy
math/py-primecountpy
math/py-primme
math/py-spot
math/py-topologic
math/sage
misc/adios2
misc/py-ezc3d
misc/py-xgboost
multimedia/onevpl
multimedia/openshot
multimedia/py-gstreamer1
multimedia/py-opentimelineio
net-mgmt/crmsh
net-mgmt/net-snmp
net/ceph14
net/kea
net/ns3
net/pacemaker2
net/py-libdnet
net/samba412
net/samba413
print/lilypond
print/pdfarranger
science/agrum
science/cantera
science/code_saturne
science/py-PyNE
science/py-avogadrolibs
science/py-fresnel
science/py-hoomd-blue
science/py-libgetar
science/py-pygmo2
science/py-pymol
science/tfel
science/yoda
security/libpreludedb
security/libpwquality
security/py-gpgme
security/py-ospd-openvas
security/py-yara-python-dex
security/silktools
security/suricata
sysutils/android-file-transfer
sysutils/bareos-server
sysutils/bareos20-server
sysutils/openzfs
sysutils/webmin
sysutils/xen-tools
textproc/meld
textproc/py-hunspell
textproc/py-wordcloud
textproc/redland-bindings
x11-toolkits/nanogui
x11-wm/qtile
x11/xpra

This now needs someone who knows Python internals better than me.

-- 
You are receiving this mail because:
You are the assignee for the bug.