Hi, This batch includes some minor refactoring, plus two major experimental features (to be enabled via `make.conf` by people ready to test them):
1. DISTUTILS_ALLOW_PYC_SYMLINKS to symlink matching .pyc files across optimization levels, e.g.: __init__.opt-2.pyc -> __init__.opt-1.pyc __init__.opt-1.pyc -> __init__.pyc 2. DISTUTILS_ALLOW_CROSS_IMPL_SYMLINKS to symlink matching files across different Python implementations and save lots of space, e.g.: python3.11/site-packages/frobnicate.py python3.12/site-packages/frobnicate.py -> ../../python3.11/site-packages/frobnicate.py python3.13/site-packages/frobnicate.py -> ../../python3.11/site-packages/frobnicate.py This can specifically help with large .py files, lots of data installed in package directory and stable ABI extensions. Both features are opt-in, and at this point considered experimental and dangerous. We may consider making the first one opt-out in the future, but I want to test both extensively first. Note that we may independently of this start moving package data out of site-packages and into /usr/share for some large packages. Michał Górny (4): python-utils-r1.eclass: Simplify _python_impl_matches distutils-r1.eclass: Quote DISTUTILS_ALLOW_WHEEL_REUSE distutils-r1.eclass: Support .pyc symlinking distutils-r1.eclass: Support cross-impl symlinks eclass/distutils-r1.eclass | 81 ++++++++++++++++++++++++++++++++++- eclass/python-utils-r1.eclass | 4 +- 2 files changed, 81 insertions(+), 4 deletions(-)