Revert "Mk/Uses/python.mk: Fix USE_PYTHON=pep517: always compile and install bytecode"
Despite installer's default behaviour to compile and install bytecode, we are not doing so going forward at stage/package time. [0] During initial development and qualification of PEP-517 framework support, compiling and installing bytecode at stage/package time was considered, but was found problematic, fragile and ultimately unreliable, both currently and historically (with USE_PYTHON=distutils), due to our fixed plist requirement. While the living binary distribution format (wheel) specification [1] says to compile bytecode, that is in the pure Python package management context (pip, etc); nuance always exists when interacting with "system" package management. Additionally, "bytecode is an implementation detail of the CPython interpreter. No guarantees are made that bytecode will not be added, removed, or changed between versions of Python," thus "should not be considered to work across Python VMs or Python releases." [2] This is important to ensuring correctness for those ports specifying NO_ARCH. Instead of compiling and installing bytecode at stage/package time, there is a WIP, review D34739, that compiles and installs bytecode at install time instead, using triggers. The aforementioned build_fs_violations will be investigated. This reverts commit de696525. With hat: python Approved by: tcberner (mentor, portmgr) Reference: https://wiki.freebsd.org/Python/PEP-517 [0] https://packaging.python.org/en/latest/specifications/binary-distribution-format/ [1] https://docs.python.org/3/library/dis.html [2]
Loading
Please register or sign in to comment