Changeset View
Changeset View
Standalone View
Standalone View
head/Mk/Uses/python.mk
Show First 20 Lines • Show All 214 Lines • ▼ Show 20 Lines | |||||
.if !defined(_INCLUDE_USES_PYTHON_MK) | .if !defined(_INCLUDE_USES_PYTHON_MK) | ||||
_INCLUDE_USES_PYTHON_MK= yes | _INCLUDE_USES_PYTHON_MK= yes | ||||
# What Python version and what Python interpreters are currently supported? | # What Python version and what Python interpreters are currently supported? | ||||
_PYTHON_VERSIONS= 2.7 3.4 3.5 3.3 3.2 # preferred first | _PYTHON_VERSIONS= 2.7 3.4 3.5 3.3 3.2 # preferred first | ||||
_PYTHON_PORTBRANCH= 2.7 # ${_PYTHON_VERSIONS:[1]} | _PYTHON_PORTBRANCH= 2.7 # ${_PYTHON_VERSIONS:[1]} | ||||
_PYTHON_BASECMD= ${LOCALBASE}/bin/python | _PYTHON_BASECMD= ${LOCALBASE}/bin/python | ||||
_PYTHON_RELPORTDIR= ${PORTSDIR}/lang/python | _PYTHON_RELPORTDIR= lang/python | ||||
# Make each individual feature available as _PYTHON_FEATURE_<FEATURENAME> | # Make each individual feature available as _PYTHON_FEATURE_<FEATURENAME> | ||||
.for var in ${USE_PYTHON} | .for var in ${USE_PYTHON} | ||||
_PYTHON_FEATURE_${var:tu}= yes | _PYTHON_FEATURE_${var:tu}= yes | ||||
.endfor | .endfor | ||||
# Make sure that no dependency or some other environment variable | # Make sure that no dependency or some other environment variable | ||||
# pollutes the build/run dependency detection | # pollutes the build/run dependency detection | ||||
▲ Show 20 Lines • Show All 145 Lines • ▼ Show 20 Lines | |||||
# Got the correct python version, set some publicly accessible variables | # Got the correct python version, set some publicly accessible variables | ||||
PYTHON_VER= ${_PYTHON_VERSION} | PYTHON_VER= ${_PYTHON_VERSION} | ||||
PYTHON_SUFFIX= ${_PYTHON_VERSION:S/.//g} | PYTHON_SUFFIX= ${_PYTHON_VERSION:S/.//g} | ||||
PYTHON_MAJOR_VER= ${PYTHON_VER:R} | PYTHON_MAJOR_VER= ${PYTHON_VER:R} | ||||
PYTHON_REL= # empty | PYTHON_REL= # empty | ||||
PYTHON_ABIVER= # empty | PYTHON_ABIVER= # empty | ||||
PYTHON_PORTSDIR= ${_PYTHON_RELPORTDIR}${PYTHON_SUFFIX} | PYTHON_PORTSDIR= ${_PYTHON_RELPORTDIR}${PYTHON_SUFFIX} | ||||
PYTHON_PORTVERSION!= ${MAKE} -V PORTVERSION -C ${PYTHON_PORTSDIR} | PYTHON_PORTVERSION!= ${MAKE} -V PORTVERSION -C ${PORTSDIR}/${PYTHON_PORTSDIR} | ||||
# Create a 4 integer version string, prefixing 0 to the last token if | # Create a 4 integer version string, prefixing 0 to the last token if | ||||
# it's a single character. Only use the the first 3 tokens of | # it's a single character. Only use the the first 3 tokens of | ||||
# PORTVERSION to support pre-release versions (rc3, alpha4, etc) of | # PORTVERSION to support pre-release versions (rc3, alpha4, etc) of | ||||
# any Python port (lang/pythonXY) | # any Python port (lang/pythonXY) | ||||
PYTHON_REL= ${PYTHON_PORTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/:C/\.([0-9]+)$/.0\1/:C/\.0?([0-9][0-9])$/.\1/:S/.//g} | PYTHON_REL= ${PYTHON_PORTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/:C/\.([0-9]+)$/.0\1/:C/\.0?([0-9][0-9])$/.\1/:S/.//g} | ||||
# Might be overridden by calling ports | # Might be overridden by calling ports | ||||
PYTHON_CMD?= ${_PYTHON_BASECMD}${_PYTHON_VERSION} | PYTHON_CMD?= ${_PYTHON_BASECMD}${_PYTHON_VERSION} | ||||
▲ Show 20 Lines • Show All 49 Lines • ▼ Show 20 Lines | |||||
UNIQUE_FIND_SUFFIX_FILES= \ | UNIQUE_FIND_SUFFIX_FILES= \ | ||||
${GREP} -he '^bin/.*$$\|^sbin/.*$$\|^libexec/.*$$' ${TMPPLIST} 2>/dev/null | ${GREP} -he '^bin/.*$$\|^sbin/.*$$\|^libexec/.*$$' ${TMPPLIST} 2>/dev/null | ||||
.endif | .endif | ||||
.endif # defined(_PYTHON_FEATURE_CONCURRENT) | .endif # defined(_PYTHON_FEATURE_CONCURRENT) | ||||
_CURRENTPORT:= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX} | _CURRENTPORT:= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX} | ||||
.if defined(_PYTHON_FEATURE_DISTUTILS) && \ | .if defined(_PYTHON_FEATURE_DISTUTILS) && \ | ||||
${_CURRENTPORT:S/${PYTHON_SUFFIX}$//} != ${PYTHON_PKGNAMEPREFIX}setuptools | ${_CURRENTPORT:S/${PYTHON_SUFFIX}$//} != ${PYTHON_PKGNAMEPREFIX}setuptools | ||||
BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools${PYTHON_SUFFIX}>0:${PORTSDIR}/devel/py-setuptools${PYTHON_SUFFIX} | BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools${PYTHON_SUFFIX}>0:devel/py-setuptools${PYTHON_SUFFIX} | ||||
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools${PYTHON_SUFFIX}>0:${PORTSDIR}/devel/py-setuptools${PYTHON_SUFFIX} | RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools${PYTHON_SUFFIX}>0:devel/py-setuptools${PYTHON_SUFFIX} | ||||
.endif | .endif | ||||
# distutils support | # distutils support | ||||
PYSETUP?= setup.py | PYSETUP?= setup.py | ||||
PYDISTUTILS_SETUP?= -c \ | PYDISTUTILS_SETUP?= -c \ | ||||
"import sys; import setuptools; \ | "import sys; import setuptools; \ | ||||
__file__='${PYSETUP}'; sys.argv[0]='${PYSETUP}'; \ | __file__='${PYSETUP}'; sys.argv[0]='${PYSETUP}'; \ | ||||
exec(compile(open(__file__, 'rb').read().replace(b'\\r\\n', b'\\n'), __file__, 'exec'))" | exec(compile(open(__file__, 'rb').read().replace(b'\\r\\n', b'\\n'), __file__, 'exec'))" | ||||
▲ Show 20 Lines • Show All 69 Lines • ▼ Show 20 Lines | |||||
# Fix for programs that build python from a GNU auto* environment | # Fix for programs that build python from a GNU auto* environment | ||||
CONFIGURE_ENV+= PYTHON="${PYTHON_CMD}" | CONFIGURE_ENV+= PYTHON="${PYTHON_CMD}" | ||||
# By default CMake picks up the highest available version of Python package. | # By default CMake picks up the highest available version of Python package. | ||||
# Enforce the version required by the port or the default. | # Enforce the version required by the port or the default. | ||||
CMAKE_ARGS+= -DPython_ADDITIONAL_VERSIONS=${PYTHON_VER} | CMAKE_ARGS+= -DPython_ADDITIONAL_VERSIONS=${PYTHON_VER} | ||||
# Python 3rd-party modules | # Python 3rd-party modules | ||||
PYGAME= ${PYTHON_PKGNAMEPREFIX}game>0:${PORTSDIR}/devel/py-game | PYGAME= ${PYTHON_PKGNAMEPREFIX}game>0:devel/py-game | ||||
PYNUMERIC= ${PYTHON_SITELIBDIR}/Numeric/Numeric.py:${PORTSDIR}/math/py-numeric | PYNUMERIC= ${PYTHON_SITELIBDIR}/Numeric/Numeric.py:math/py-numeric | ||||
PYNUMPY= ${PYTHON_SITELIBDIR}/numpy/core/numeric.py:${PORTSDIR}/math/py-numpy | PYNUMPY= ${PYTHON_SITELIBDIR}/numpy/core/numeric.py:math/py-numpy | ||||
# dependencies | # dependencies | ||||
.if defined(_PYTHON_BUILD_DEP) | .if defined(_PYTHON_BUILD_DEP) | ||||
BUILD_DEPENDS+= ${PYTHON_CMD}:${PYTHON_PORTSDIR} | BUILD_DEPENDS+= ${PYTHON_CMD}:${PYTHON_PORTSDIR} | ||||
.if defined(_WANTS_META_PORT) | .if defined(_WANTS_META_PORT) | ||||
BUILD_DEPENDS+= python${_WANTS_META_PORT}:${_PYTHON_RELPORTDIR}${_WANTS_META_PORT} | BUILD_DEPENDS+= python${_WANTS_META_PORT}:${_PYTHON_RELPORTDIR}${_WANTS_META_PORT} | ||||
.endif | .endif | ||||
.endif | .endif | ||||
▲ Show 20 Lines • Show All 55 Lines • Show Last 20 Lines |