Re: Bringing back lang/python27 with few modules?

From: Kubilay Kocak <koobs_at_FreeBSD.org>
Date: Thu, 18 Nov 2021 01:37:30 UTC
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
>