Re: Python version dependencies in pkg

From: Shane Ambler <FreeBSD_at_ShaneWare.Biz>
Date: Mon, 10 Oct 2022 03:04:47 UTC
On 8/10/22 3:06 pm, Tatsuki Makino wrote:

> This is the behavior that causes the difference between USE_PYTHON=allflavors and -D BUILD_ALL_PYTHON_FLAVORS, which I am relentlessly :) repeating.
> Specifically here: https://cgit.freebsd.org/ports/tree/Mk/Uses/python.mk?id=7d48381cbd686ee8d77871bc25cf1e926a314f85#n414
> If the above variables are not defined here, FLAVORS will be narrowed down to only the PYTHON{,[23]}_DEFAULT flavors.
> Currently _PYTHON_ARGS defaults to 3.7+, so only py39 remains.
> If FLAVOR that does not exist in FLAVORS is specified, IGNORE is defined here.
> https://cgit.freebsd.org/ports/tree/Mk/bsd.port.mk?id=b74ed0f79d32e7564969faac41a2e1083bbc49f4#n1474

Notice that valid python versions vary per port -

% cd /usr/ports/math/py-numpy
% make -V _PYTHON_VERSIONS -V _PYTHON_VERSION_MINIMUM -V
_PYTHON_VERSION_MAXIMUM -V _VALID_PYTHON_VERSIONS -V FLAVORS
3.9 3.8 3.7 3.10 3.11 2.7
3.8
3.10
3.8 3.9 3.10
py38 py39 py310

py-numpy has USES=python:3.8-3.10 which matches that valid list


While -
% cd /usr/ports/devel/py-six
% make -V _PYTHON_VERSIONS -V _PYTHON_VERSION_MINIMUM -V
_PYTHON_VERSION_MAXIMUM -V _VALID_PYTHON_VERSIONS -V FLAVORS
3.9 3.8 3.7 3.10 3.11 2.7
2.7

3.8 2.7 3.9 3.7 3.10 3.11
py38 py27 py39 py37 py310 py311

py-six has USES=python:2.7+ so all versions are valid

If your FLAVORS list is shorter than that, maybe you have another
setting in make.conf causing that. Try removing your make.conf and see
if you get different values.

Also check that you have a complete up-to-date ports tree, a local
modification can prevent git checkouts.

-- 
FreeBSD - the place to B...Software Developing

Shane Ambler