Re: How do I depend on a python port without caring about flavor
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 20 Aug 2021 00:30:32 UTC
On 20/08/2021 7:07 am, Tatsuki Makino wrote:
> I also want to know the official way :)
>
> I think the following ports are strange for python.
>
> devel/llvm{-devel,12,11,10,90,80,70}
> databases/rrdtool
> graphics/opencv
> and astro/geographiclib (which are maintained by me :) )
>
> They do not seem to be able to support non-default versions of python.
> So they are not transparent to FLAVOR, even if they are libraries.
>
> I am thinking of the following changes for the next version of astro/geographiclib.
>
> - sphinx-build:textproc/py-sphinx
> + ${PYTHON_PKGNAMEPREFIX}sphinx>=0:textproc/py-sphinx@${PY_FLAVOR}
>
> If there is python:env in variable USES, it seems that variables such as PY_FLAVOR will be present.
>
> ... So, I'm not sure, what should I do? :)
>
> Regards.
>
>
Yep so:
*_DEPENDS=${PYTHONPKGNAMEPREFIX}foo<vspec>:port/origin@${PY_FLAVOR}
Is the correct method, in which PY_FLAVOR gets derived from
DEFAULT_VERSIONS, following the frameworks default versions over time,
and honoring user default preferences and selection.
With USES=python:env to bring in the relevant variables for use.
One just needs to *also* make sure that for any scripts provided in the
dependent port, they use ${PYTHON_CMD} for shebangs, etc, rather than
env python env python2, env python3, who's targets change over time
(depending on the default version)