Index: Mk/Uses/python.mk =================================================================== --- Mk/Uses/python.mk +++ Mk/Uses/python.mk @@ -330,26 +330,7 @@ DEV_ERROR+= "USES=python:3 is no longer supported, use USES=python:3.5+ or an appropriate version range" .endif # ${_PYTHON_ARGS} == "2" -.if defined(PYTHON_VERSION) -# A port/user requests a specific python version for its dependencies via -# DEPENDS_ARGS, since it requires the specific python version itself. -# Several things can happen now: -# a) the dependency supports the requested version -> everything's fine -# b) the dependency does not support the requested version -# 1) the dependency works in a way that the different python -# versions do not matter -> everything's fine -# 2) the dependency is likely to break due to the conflict -# nothing's fine -# -# b.2) needs to be resolved. Due to the complexity of how different pieces of -# software are built, we can't solve this automatically. Instead, let's assume -# that maintainers know what they are doing and assume PYTHON_VERSION to be a -# hint. Just warn maintainers, if the versions do not match -# (_PYTHON_VERSION_NONSUPPORTED). -_PYTHON_VERSION:= ${PYTHON_VERSION:S/^python//} -.else _PYTHON_VERSION:= ${PYTHON_DEFAULT} -.endif # defined(PYTHON_VERSION) # Validate Python version whether it meets the version restriction. _PYTHON_VERSION_CHECK:= ${_PYTHON_ARGS:C/^([1-9]\.[0-9])$/\1-\1/} @@ -372,28 +353,6 @@ _PYTHON_VERSION_NONSUPPORTED= ${_PYTHON_VERSION_MAXIMUM} at most .endif -# If we have an unsupported version of Python, try another. -.if defined(_PYTHON_VERSION_NONSUPPORTED) -.if defined(PYTHON_VERSION) || defined(PYTHON_CMD) -_PV:= ${_PYTHON_VERSION} # preserve the specified python version -IGNORE= needs Python ${_PYTHON_VERSION_NONSUPPORTED}, but ${_PV} was specified -.endif # defined(PYTHON_VERSION) || defined(PYTHON_CMD) -.undef _PYTHON_VERSION -.for ver in ${PYTHON2_DEFAULT} ${PYTHON3_DEFAULT} ${_PYTHON_VERSIONS} -__VER= ${ver} -.if !defined(_PYTHON_VERSION) && \ - !(!empty(_PYTHON_VERSION_MINIMUM) && ( \ - ${__VER} < ${_PYTHON_VERSION_MINIMUM})) && \ - !(!empty(_PYTHON_VERSION_MAXIMUM) && ( \ - ${__VER} > ${_PYTHON_VERSION_MAXIMUM})) -_PYTHON_VERSION= ${ver} -.endif -.endfor -.if !defined(_PYTHON_VERSION) -IGNORE= needs an unsupported version of Python -.endif -.endif # defined(_PYTHON_VERSION_NONSUPPORTED) - # Automatically generates FLAVORS if empty .if empty(FLAVORS) && defined(_PYTHON_FEATURE_FLAVORS) . undef _VALID_PYTHON_VERSIONS @@ -454,25 +413,7 @@ # - From PYTHON_DEFAULT PY_FLAVOR= py${_PYTHON_VERSION:S/.//} -# Pass PYTHON_VERSION down the dependency chain. This ensures that -# port A -> B -> C all will use the same python version and do not -# try to find a different one, if the passed version fits into -# the supported version range. -PYTHON_VERSION?= python${_PYTHON_VERSION} -.if !defined(PYTHON_NO_DEPENDS) && \ - ${PYTHON_VERSION} != python${PYTHON_DEFAULT} -DEPENDS_ARGS+= PYTHON_VERSION=${PYTHON_VERSION} -.endif - -# NOTE: -# -# PYTHON_VERSION will hold whatever is passed down the dependency chain. -# If a user runs `make PYTHON_VERSION=python3.5, PYTHON_VERSION will be -# set to 'python3.5'. A port however may require a different version, -# which is stored (above) in _PYTHON_VERSION. -# Every python bit below hence should use python${_PYTHON_VERSION}, since -# this is the value, the _port_ requires -# +PYTHON_VERSION= python${_PYTHON_VERSION} # Got the correct python version, set some publicly accessible variables PYTHON_VER= ${_PYTHON_VERSION} @@ -557,7 +498,7 @@ _USES_POST+= uniquefiles:dirs .if defined(_PYTHON_FEATURE_FLAVORS) && ${FLAVOR} == ${FLAVORS:[1]} UNIQUE_DEFAULT_LINKS= yes -.elif !defined(_PYTHON_FEATURE_FLAVORS) && ${PYTHON_VERSION} == python${PYTHON_DEFAULT} +.elif !defined(_PYTHON_FEATURE_FLAVORS) && ${_PYTHON_VERSION} == ${PYTHON_DEFAULT} UNIQUE_DEFAULT_LINKS= yes .else UNIQUE_DEFAULT_LINKS= no