On 17/11/2021 6:58 pm, Maxim Sobolev wrote:
Hi,
I am still a bit concerned with the total removal of python 2.7 year ago
and its support, I think this was a somewhat swift decision that may need
to be re-considered. I understand the urge for portmgr to move base over to
a supported version, but also that caused few important packages to be
dropped out of the FreeBSD without any fix in sight. I am specifically
talking about the PyPy package, which needs 2.7 to bootstrap itself even
when compiled as a "Python3" version.
At the same time we still have a port of for example GCC 4.6, which is like
what, 15 years old? Also things in the tree like jython or micropython are
effectively python 2 implementations, so why are they allowed to be present
while not rock solid and field tried 2.7? In fact jython specifically
recommends using CPython2.7 to byte-compile some of the code that it cannot
chew by itself, so it's somewhat broken as well*.
Is there any chance to bring CPython2.7 at the very least as a NO_PACKAGE
build tool that could be used for such cases now that we have moved most of
the supported packages to 3.x land?
I had always considered FreeBSD to be about "tools not policy", but in this
particular case the policy seemingly took priority over tools and common
sense.
Sorry if I am beating a dead horse here, just wanted to gauge the position
of the project before I go and open yet another bug report.
Thanks!
-Max
Hey Max,
We've had many user reports over the last year re the entire situation,
including a number recently about pypy in particular.
Feel free to reach out to python@ and we'll sort something out together.
We're on IRC (#freebsd-python @ libera) or you can email me off list and
we can work out a good place.
*) Like the following:
java.lang.RuntimeException: java.lang.RuntimeException:
Encountered too large method code in
/usr/ports/lang/pypy/work/pypy3.8-v7.3.7-src/rpython/rlib/unicodedata/unicodedb_6_0_0.py
Please provide a CPython 2.7 bytecode file (.pyc) to proceed, e.g. run
python -m py_compile
/usr/ports/lang/pypy/work/pypy3.8-v7.3.7-src/rpython/rlib/unicodedata/unicodedb_6_0_0.py
and try again.
Alternatively provide proper CPython 2.7 execute command via
cpython_cmd property, e.g. call
jython -J-Dcpython_cmd=python
or if running pip on Jython:
pip install --global-option="-J-Dcpython_cmd=python" <package>
*** Error code 255