Index: Mk/Uses/python.mk =================================================================== --- Mk/Uses/python.mk +++ Mk/Uses/python.mk @@ -247,44 +247,75 @@ .endif # COMPAT KNOBS, remove them, once the tree is cleaned +.undef _PY_COMPAT_OLD +# We will reuse USE_PYTHON with a different meaning, so make sure that, while +# we are in the transition phase from USE_PYTHON -> USES=python, it is mapped +# and reassigned correctly +.if defined(USE_PYTHON_BUILD) || defined(USE_PYTHON_RUN) +# old style +_PY_COMPAT_OLD= yes +.elif defined(USE_PYTHON) +.if ${USE_PYTHON} == "yes" +# old style +_PY_COMPAT_OLD= yes +.elif ${USE_PYTHON:C/[-0-9.+]*//} == "" +# old style X.Y, X.Y+, X.Y-, -X.Y, X.Y-Z.A +_PY_COMPAT_OLD= yes +.endif # ${USE_PYTHON} == "yes" ... +.endif # defined(USE_PYTHON_BUILD) || defined(USE_PYTHON_RUN) + +.if defined(_PY_COMPAT_OLD) .if defined(USE_PYTHON) .if ${USE_PYTHON} != "yes" -python_ARGS= ${USE_PYTHON} +python_ARGS:= ${USE_PYTHON} .endif -.elif defined(USE_PYTHON_BUILD) +.else +.if defined(USE_PYTHON_BUILD) .if ${USE_PYTHON_BUILD} != "yes" python_ARGS= ${USE_PYTHON_BUILD},build +.else +python_ARGS= build .endif -.elif defined(USE_PYTHON_RUN) +.endif # defined(USE_PYTHON_BUILD) +.if defined(USE_PYTHON_RUN) .if ${USE_PYTHON_RUN} != "yes" -python_ARGS= ${USE_PYTHON_RUN},run +python_ARGS+= ${USE_PYTHON_RUN},run +.else +python_ARGS+= run .endif +.endif # defined(USE_PYTHON_RUN) .endif # defined(USE_PYTHON) -.if !defined(PYTHON_FEATURES) -PYTHON_FEATURES= +# Everything passed to python_ARGS, undef USE_PYTHON, since we will reuse +# it with a different meaning below +.undef USE_PYTHON +.endif # defined(_PY_COMPAT_OLD) +.undef _PY_COMPAT_OLD + +.if !defined(USE_PYTHON) +USE_PYTHON= .if defined(USE_PYDISTUTILS) -PYTHON_FEATURES+= distutils +USE_PYTHON+= distutils .endif .if defined(PYDISTUTILS_AUTOPLIST) -PYTHON_FEATURES+= autoplist +USE_PYTHON+= autoplist .endif .if defined(PYTHON_PY3K_PLIST_HACK) -PYTHON_FEATURES+= py3kplist +USE_PYTHON+= py3kplist .endif .if defined(PYTHON_CONCURRENT_INSTALL) -PYTHON_FEATURES+= concurrent +USE_PYTHON+= concurrent .endif .if defined(USE_PYTHON_PREFIX) -PYTHON_FEATURES+= pythonprefix +USE_PYTHON+= pythonprefix .endif .if defined(PYDISTUTILS_NOEGGINFO) -PYTHON_FEATURES+= noegginfo +USE_PYTHON+= noegginfo .endif -.endif # !defined(PYTHON_FEATURES) +.endif # !defined(USE_PYTHON) # COMPAT KNOBS END # Make each individual feature available as _PYTHON_FEATURE_ -.for var in ${PYTHON_FEATURES:S/,/ /g} +.for var in ${USE_PYTHON:S/,/ /g} _PYTHON_FEATURE_${var:tu}= yes .endfor Index: Mk/bsd.sanity.mk =================================================================== --- Mk/bsd.sanity.mk +++ Mk/bsd.sanity.mk @@ -118,11 +118,12 @@ DEV_WARNING+= "USE_GNOME=ltverhack is deprecated, please use USES=libtool" .endif -.if defined(USE_PYTHON) -.if ${USE_PYTHON} != "yes" -DEV_WARNING+= "USE_PYTHON is deprecated, please use USES=python:${USE_PYTHON}" +.if defined(USE_PYTHON) && (${USE_PYTHON} == "yes" || ${USE_PYTHON:C/[-0-9.+]*//} == "") +_PYTHON_VAL := ${USE_PYTHON} +.if ${_PYTHON_VAL} != "yes" +DEV_WARNING+= "USE_PYTHON=${_PYTHON_VAL} is deprecated, please use USES=python:${_PYTHON_VAL}" .else -DEV_WARNING+= "USE_PYTHON is deprecated, please use USES=python" +DEV_WARNING+= "USE_PYTHON=yes is deprecated, please use USES=python" .endif .endif .if defined(USE_PYTHON_RUN) @@ -172,12 +173,12 @@ USE_GETTEXT_ALT= USES=gettext USE_SCONS_ALT= USES=scons USE_DRUPAL_ALT= USES=drupal -USE_PYDISTUTILS_ALT= PYTHON_FEATURES=distutils -PYTHON_CONCURRENT_INSTALL_ALT= PYTHON_FEATURES=concurrent -PYDISTUTILS_AUTOPLIST_ALT= PYTHON_FEATURES=autoplist -PYTHON_PY3K_PLIST_HACK_ALT= PYTHON_FEATURES=py3kplist -PYDISTUTILS_NOEGGINFO_ALT= PYTHON_FEATURES=noegginfo -USE_PYTHON_PREFIX_ALT= PYTHON_FEATURES=pythonprefix +USE_PYDISTUTILS_ALT= USE_PYTHON=distutils +PYTHON_CONCURRENT_INSTALL_ALT= USE_PYTHON=concurrent +PYDISTUTILS_AUTOPLIST_ALT= USE_PYTHON=autoplist +PYTHON_PY3K_PLIST_HACK_ALT= USE_PYTHON=py3kplist +PYDISTUTILS_NOEGGINFO_ALT= USE_PYTHON=noegginfo +USE_PYTHON_PREFIX_ALT= USE_PYTHON=pythonprefix PYTHON_PKGNAMESUFFIX_ALT= PYTHON_PKGNAMEPREFIX PYTHON_MASTER_SITES_ALT= MASTER_SITE_PYTHON Index: accessibility/py-papi/Makefile =================================================================== --- accessibility/py-papi/Makefile +++ accessibility/py-papi/Makefile @@ -12,7 +12,7 @@ USES= pkgconfig python:2 USE_GNOME= atk -PYTHON_FEATURES=autoplist distutils +USE_PYTHON= autoplist distutils EXAMPLES= atkaction.py atkapplication.py atkcapi.c atktext.py atkvalue.py \ msaaapplication.py msaacapi.cpp Index: astro/py-RO/Makefile =================================================================== --- astro/py-RO/Makefile +++ astro/py-RO/Makefile @@ -22,8 +22,8 @@ PYFITS_DESC= Add Support for PyFITS PYGAME_DESC= Add Support for PyGame -USES= python -PYTHON_FEATURES= distutils autoplist +USES= python +USE_PYTHON= distutils autoplist MATPLOTLIB_RUN_DEPENDS= ${PKGNAMEPREFIX}matplotlib>=0.98:${PORTSDIR}/math/py-matplotlib PYFITS_RUN_DEPENDS= ${PKGNAMEPREFIX}pyfits>=1.1:${PORTSDIR}/astro/py-pyfits Index: audio/py-al/Makefile =================================================================== --- audio/py-al/Makefile +++ audio/py-al/Makefile @@ -11,6 +11,6 @@ COMMENT= PyAL is a binding of OpenAL for Python USES= openal:al python -PYTHON_FEATURES=autoplist distutils +USE_PYTHON= autoplist distutils .include Index: databases/py-pg8000/Makefile =================================================================== --- databases/py-pg8000/Makefile +++ databases/py-pg8000/Makefile @@ -12,7 +12,7 @@ LICENSE= BSD3CLAUSE -USES= python:2 -PYTHON_FEATURES= distutils autoplist +USES= python:2 +USE_PYTHON= distutils autoplist .include Index: devel/py-astroid/Makefile =================================================================== --- devel/py-astroid/Makefile +++ devel/py-astroid/Makefile @@ -18,7 +18,7 @@ USES= python WRKSRC= ${WRKDIR}/logilab-astroid-e003574ae51b MAKE_ENV= NO_SETUPTOOLS=1 -PYTHON_FEATURES=distutils +USE_PYTHON= distutils .include Index: devel/py-dynrules/Makefile =================================================================== --- devel/py-dynrules/Makefile +++ devel/py-dynrules/Makefile @@ -13,7 +13,7 @@ LICENSE= ZLIB USES= python -PYTHON_FEATURES=autoplist distutils +USE_PYTHON= autoplist distutils OPTIONS_DEFINE= DOCS Index: devel/py-game/Makefile =================================================================== --- devel/py-game/Makefile +++ devel/py-game/Makefile @@ -20,7 +20,7 @@ USES= python USE_SDL= ttf image mixer sdl USE_GCC= any -PYTHON_FEATURES=autoplist distutils +USE_PYTHON= autoplist distutils SDLNOX11= sdl-nox11-[0-9]* Index: devel/py-icalendar/Makefile =================================================================== --- devel/py-icalendar/Makefile +++ devel/py-icalendar/Makefile @@ -16,7 +16,7 @@ ${PYTHON_PKGNAMEPREFIX}pytz>0:${PORTSDIR}/devel/py-pytz USES= python:2 -PYTHON_FEATURES= distutils, autoplist +USE_PYTHON= distutils autoplist DOCSDIR= ${PREFIX}/share/doc/py-${PORTNAME} PORTDOCS= * Index: devel/py-logilab-common/Makefile =================================================================== --- devel/py-logilab-common/Makefile +++ devel/py-logilab-common/Makefile @@ -15,6 +15,6 @@ USES= python MAKE_ENV= NO_SETUPTOOLS=1 -PYTHON_FEATURES=distutils +USE_PYTHON= distutils .include Index: devel/py-ocempgui/Makefile =================================================================== --- devel/py-ocempgui/Makefile +++ devel/py-ocempgui/Makefile @@ -19,7 +19,6 @@ USES= python:2 USE_GNOME= atk - -PYTHON_FEATURES= autoplist distutils +USE_PYTHON= autoplist distutils .include Index: devel/py-ply/Makefile =================================================================== --- devel/py-ply/Makefile +++ devel/py-ply/Makefile @@ -13,7 +13,7 @@ LICENSE= BSD3CLAUSE USES= python -PYTHON_FEATURES=autoplist distutils +USE_PYTHON= autoplist distutils PORTDOCS= ply.html internal.html README Index: devel/py-sdl2/Makefile =================================================================== --- devel/py-sdl2/Makefile +++ devel/py-sdl2/Makefile @@ -12,9 +12,9 @@ LICENSE= ZLIB -USES= python -USE_SDL= sdl2 gfx2 image2 ttf2 mixer2 -PYTHON_FEATURES= autoplist distutils +USES= python +USE_SDL= sdl2 gfx2 image2 ttf2 mixer2 +USE_PYTHON= autoplist distutils OPTIONS_DEFINE= DOCS Index: devel/pychecker/Makefile =================================================================== --- devel/pychecker/Makefile +++ devel/pychecker/Makefile @@ -12,7 +12,7 @@ LICENSE= BSD3CLAUSE USES= python -PYTHON_FEATURES=autoplist distutils +USE_PYTHON= autoplist distutils DOCS= ChangeLog COPYRIGHT KNOWN_BUGS MAINTAINERS README TODO VERSION Index: devel/pylint/Makefile =================================================================== --- devel/pylint/Makefile +++ devel/pylint/Makefile @@ -16,7 +16,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}astroid>=1.1.0:${PORTSDIR}/devel/py-astroid USES= python -PYTHON_FEATURES=distutils +USE_PYTHON= distutils OPTIONS_DEFINE= GUI Index: devel/pyrex/Makefile =================================================================== --- devel/pyrex/Makefile +++ devel/pyrex/Makefile @@ -14,7 +14,7 @@ LICENSE= APACHE20 USES= python:2 -PYTHON_FEATURES=autoplist distutils +USE_PYTHON= autoplist distutils post-install: @${MKDIR} ${STAGEDIR}${DOCSDIR}/Manual Index: devel/winpdb/Makefile =================================================================== --- devel/winpdb/Makefile +++ devel/winpdb/Makefile @@ -16,7 +16,7 @@ RUN_DEPENDS= ${PYTHON_SITELIBDIR}/Crypto/__init__.py:${PORTSDIR}/security/py-pycrypto USES= python -PYTHON_FEATURES=autoplist distutils +USE_PYTHON= autoplist distutils USE_WX= 3.0+ WX_COMPS= python Index: games/pysolfc/Makefile =================================================================== --- games/pysolfc/Makefile +++ games/pysolfc/Makefile @@ -18,7 +18,7 @@ ${PYTHON_SITELIBDIR}/PIL/__init__.py:${PORTSDIR}/graphics/py-imaging USES= python tar:bzip2 -PYTHON_FEATURES=autoplist distutils +USE_PYTHON= autoplist distutils PLIST_FILES= share/pixmaps/pysolfc.png DATADIR= ${PREFIX}/share/PySolFC Index: graphics/py-PyX/Makefile =================================================================== --- graphics/py-PyX/Makefile +++ graphics/py-PyX/Makefile @@ -14,8 +14,7 @@ USES= python:3 USE_TEX= latex:build - -PYTHON_FEATURES= autoplist distutils +USE_PYTHON= autoplist distutils OPTIONS_DEFINE= T1CODE KPATHSEA OPTIONS_DEFAULT= T1CODE KPATHSEA Index: graphics/py-PyX12/Makefile =================================================================== --- graphics/py-PyX12/Makefile +++ graphics/py-PyX12/Makefile @@ -15,8 +15,7 @@ USES= python:2 USE_TEX= latex:build - -PYTHON_FEATURES= autoplist distutils +USE_PYTHON= autoplist distutils OPTIONS_DEFINE= T1CODE KPATHSEA OPTIONS_DEFAULT= T1CODE KPATHSEA