Switch PYTHON_REL from a 3 digits number to a 4 digits number to handle

python 2.7.10

Differential Revision:	https://reviews.freebsd.org/D2639
Reviewed by:	sunpoet, mva
This commit is contained in:
Antoine Brodin 2015-05-26 16:47:02 +00:00
parent 95870264a9
commit 1b85bc9332
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=387491
37 changed files with 63 additions and 55 deletions

View File

@ -10,6 +10,14 @@ in the release notes and/or placed into UPDATING.
All ports committers are allowed to commit to this file.
20150526:
AUTHOR: antoine@FreeBSD.org
PYTHON_REL has been switched from a 3 digits number to a 4 digits number to
handle python 2.7.10. Ports checking for python 2.7.9 should compare
PYTHON_REL against 2709 and ports checking for python 2.7.10 should compare
PYTHON_REL against 2710.
20150521:
AUTHOR: mat@FreeBSD.org

View File

@ -142,7 +142,7 @@
# PYTHON_PORTSDIR - The port directory of the chosen Python interpreter
#
# PYTHON_REL - The release number of the chosen Python interpreter
# without dots, e.g. 276, 341, ...
# without dots, e.g. 2706, 3401, ...
#
# PYTHON_SUFFIX - The major-minor release number of the chosen Python
# interpreter without dots, e.g. 27, 34, ...
@ -383,7 +383,7 @@ PYTHON_REL= # empty
PYTHON_ABIVER= # empty
PYTHON_PORTSDIR= ${_PYTHON_RELPORTDIR}${PYTHON_SUFFIX}
PYTHON_PORTVERSION!= ${MAKE} -V PORTVERSION -C ${PYTHON_PORTSDIR}
PYTHON_REL= ${PYTHON_PORTVERSION:S/.//g}
PYTHON_REL= ${PYTHON_PORTVERSION:C/\.([0-9]+)$/.0\1/:C/\.0?([0-9][0-9])$/.\1/:S/.//g}
# Might be overridden by calling ports
PYTHON_CMD?= ${_PYTHON_BASECMD}${_PYTHON_VERSION}
@ -500,7 +500,7 @@ add-plist-pymod:
${_PYTHONPKGLIST} | ${SORT} >> ${TMPPLIST}
.else
.if ${PYTHON_REL} >= 320 && defined(_PYTHON_FEATURE_PY3KPLIST)
.if ${PYTHON_REL} >= 3200 && defined(_PYTHON_FEATURE_PY3KPLIST)
# When Python version is 3.2+ we rewrite all the filenames
# of TMPPLIST that end with .py[co], so that they conform
# to PEP 3147 (see http://www.python.org/dev/peps/pep-3147/)
@ -515,7 +515,7 @@ add-plist-post:
pc="__pycache__" mt="$$(${PYMAGICTAG})" \
${TMPPLIST} > ${TMPPLIST}.pyc_tmp
@${MV} ${TMPPLIST}.pyc_tmp ${TMPPLIST}
.endif # ${PYTHON_REL} >= 320 && defined(_PYTHON_FEATURE_PY3KPLIST)
.endif # ${PYTHON_REL} >= 3200 && defined(_PYTHON_FEATURE_PY3KPLIST)
.endif # defined(_PYTHON_FEATURE_AUTOPLIST) && defined(_PYTHON_FEATURE_DISTUTILS)
# Fix for programs that build python from a GNU auto* environment

View File

@ -27,7 +27,7 @@ python_CMD= ${PYTHON_CMD}
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 320
.if ${PYTHON_REL} < 3200
PYCACHE_DIR= # empty
PYCACHE_FILE= ${PORTNAME}
.else

View File

@ -30,7 +30,7 @@ MAKE_ENV= BSDDB_VERSION=${BDB_LIB_NAME}
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} >= 300
.if ${PYTHON_REL} >= 3000
IGNORE= bsddb package was removed from core standard library since 3.0, use databases/py-bsddb3 instead
.endif

View File

@ -30,7 +30,7 @@ WRKSRC= ${WRKDIR}/Python-${PORTVERSION}/Modules
.include <bsd.port.pre.mk>
post-extract:
.if ${PYTHON_REL} < 300
.if ${PYTHON_REL} < 3000
@${CP} ${FILESDIR}/setup.py ${WRKSRC}
.else
@${CP} ${FILESDIR}/setup3.py ${WRKSRC}/setup.py

View File

@ -64,18 +64,18 @@ RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:${PORTSDIR}/databases/py-MyS
.endif
.endif
.if ${PYTHON_REL} < 330
.if ${PYTHON_REL} < 3300
TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}mock>=1.0.1:${PORTSDIR}/devel/py-mock
.endif
.if ${PYTHON_REL} >= 300
.if ${PYTHON_REL} >= 3000
pre-build:
@${PY2TO3_CMD} ${PY2TO3_ARGS} ${WRKSRC}/lib
.endif
post-install:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
.if ${PYTHON_REL} >= 300
.if ${PYTHON_REL} >= 3000
${PY2TO3_CMD} ${PY2TO3_ARGS} ${WRKSRC}/doc
.endif
@ -88,13 +88,13 @@ post-install:
.endfor
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
.if ${PYTHON_REL} >= 300
.if ${PYTHON_REL} >= 3000
${PY2TO3_CMD} ${PY2TO3_ARGS} ${WRKSRC}/examples
.endif
(cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR})
regression-test: build
.if ${PYTHON_REL} >= 300
.if ${PYTHON_REL} >= 3000
${PY2TO3_CMD} ${PY2TO3_ARGS} ${WRKSRC}/test
.endif
@cd ${WRKSRC} && ${PYTHON_CMD} sqla_nose.py

View File

@ -81,12 +81,12 @@ post-patch:
${REINPLACE_CMD} -e 's/import logging/&.handlers/1' -i.bak ${WRKSRC}/test/engine/test_execute.py
pre-build:
.if ${PYTHON_REL} >= 300
.if ${PYTHON_REL} >= 3000
@${PY2TO3_CMD} ${PY2TO3_ARGS} ${WRKSRC}/lib
.endif
post-install:
.if ${PYTHON_REL} >= 300
.if ${PYTHON_REL} >= 3000
@${PY2TO3_CMD} ${PY2TO3_ARGS} ${STAGEDIR}${WRKSRC}/doc
.endif
@${MKDIR} ${STAGEDIR}${DOCSDIR}
@ -99,12 +99,12 @@ post-install:
.endfor
@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
.if ${PYTHON_REL} >= 300
.if ${PYTHON_REL} >= 3000
@${PY2TO3_CMD} ${PY2TO3_ARGS} ${WRKSRC}/examples
.endif
cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
.if ${PYTHON_REL} < 300
.if ${PYTHON_REL} < 3000
PLIST_SUB+= SPEEDUPS=""
.else
# C extensions are not supported in py3k
@ -112,7 +112,7 @@ PLIST_SUB+= SPEEDUPS="@comment "
.endif
regression-test: build
.if ${PYTHON_REL} >= 300
.if ${PYTHON_REL} >= 3000
${PY2TO3_CMD} ${PY2TO3_ARGS} ${WRKSRC}/test
.endif
@cd ${WRKSRC} && ${PYTHON_CMD} sqla_nose.py

View File

@ -40,7 +40,7 @@ EXAMPLESDIR= ${PREFIX}/share/examples/${PKGNAMEPREFIX}${PORTNAME}
.include <bsd.port.pre.mk>
.if ${PORT_OPTIONS:MCEXTENSIONS} && ${PYTHON_REL} < 300
.if ${PORT_OPTIONS:MCEXTENSIONS} && ${PYTHON_REL} < 3000
PLIST_SUB+= SPEEDUPS=""
.else
PLIST_SUB+= SPEEDUPS="@comment "
@ -55,7 +55,7 @@ AL_PORTDOCS_SUBDIR= core dialects orm
RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/pymssql.py:${PORTSDIR}/databases/py-mssql
.endif
.if ${PORT_OPTIONS:MMYSQL} && ${PYTHON_REL} < 300
.if ${PORT_OPTIONS:MMYSQL} && ${PYTHON_REL} < 3000
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:${PORTSDIR}/databases/py-MySQLdb
.endif
@ -76,7 +76,7 @@ RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/Sybase.py:${PORTSDIR}/databases/py-sybase
.endif
post-patch:
.if ${PORT_OPTIONS:MCEXTENSIONS} && ${PYTHON_REL} < 300
.if ${PORT_OPTIONS:MCEXTENSIONS} && ${PYTHON_REL} < 3000
@${REINPLACE_CMD} -e 's|BUILD_CEXTENSIONS = False|BUILD_CEXTENSIONS = True|' \
${WRKSRC}/setup.py
.endif

View File

@ -31,7 +31,7 @@ PYDISTUTILS_INSTALLARGS+= --install-lib ${PYTHON_LIBDIR}/lib-dynload
.include <bsd.port.pre.mk>
post-extract:
.if ${PYTHON_REL} < 300
.if ${PYTHON_REL} < 3000
@${CP} ${FILESDIR}/setup.py ${WRKSRC}
.else
@${CP} ${FILESDIR}/setup3.py ${WRKSRC}/setup.py

View File

@ -22,7 +22,7 @@ USE_PYTHON= autoplist distutils
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 270
.if ${PYTHON_REL} < 2700
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}argparse>0:${PORTSDIR}/devel/py-argparse
.endif

View File

@ -31,7 +31,7 @@ LDFLAGS+= -L${LOCALBASE}/lib
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} >= 300
.if ${PYTHON_REL} >= 3000
USE_GNOME+= py3gobject3
.else
USE_GNOME+= pygobject3

View File

@ -77,7 +77,7 @@ MAKE_ENV+= NOICEDOCS=yes
.include <bsd.port.pre.mk>
.if defined(PYTHON_REL) && ${PYTHON_REL} >= 320
.if defined(PYTHON_REL) && ${PYTHON_REL} >= 3200
PLIST_SUB+= PYTHON32=""
PLIST_SUB+= PYTHONPRE32="@comment "
.else

View File

@ -45,14 +45,14 @@ PORT_OPTIONS:= ${PORT_OPTIONS:NEXAMPLES}
.endif
# no problem with Python > 3.2
.if ${PYTHON_REL} >= 320
.if ${PYTHON_REL} >= 3200
pre-build:
${PY2TO3_CMD} ${PY2TO3_ARGS} ${WRKSRC}/jinja2
.endif
.if ${PKGNAMESUFFIX} == "-doc"
do-build:
. if ${PYTHON_REL} >= 300
. if ${PYTHON_REL} >= 3000
@${PY2TO3_CMD} ${PY2TO3_ARGS} ${WRKSRC}/docs
. endif
(cd ${WRKSRC}/docs && ${MAKE} html)
@ -66,7 +66,7 @@ do-install:
.if ${PORT_OPTIONS:MEXAMPLES}
PORTEXAMPLES= *
post-build:
. if ${PYTHON_REL} >= 300
. if ${PYTHON_REL} >= 3000
${PY2TO3_CMD} ${PY2TO3_ARGS} ${WRKSRC}/examples
. endif
${PYTHON_CMD} -m compileall ${WRKSRC}/examples ; \

View File

@ -23,7 +23,7 @@ USE_PYTHON= autoplist distutils
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 300
.if ${PYTHON_REL} < 3000
BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dbus>=0.83:${PORTSDIR}/devel/py-dbus
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dbus>=0.83:${PORTSDIR}/devel/py-dbus
.else

View File

@ -28,7 +28,7 @@ GH_TAGNAME= b24df9f
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 300
.if ${PYTHON_REL} < 3000
TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}unittest2>0:${PORTSDIR}/devel/py-unittest2
.endif

View File

@ -20,7 +20,7 @@ USE_PYTHON= autoplist concurrent distutils
regression-test: build
# Extra tests for python 3, added in by setup3lib.py
.if ${PYTHON_REL} >= 300
.if ${PYTHON_REL} >= 3000
@cd ${WRKSRC} && ${PYTHON_CMD} ${PYDISTUTILS_SETUP} build_tests
.endif
@cd ${WRKSRC} && ${PYTHON_CMD} selftest.py --verbose

View File

@ -20,7 +20,7 @@ USE_PYTHON= distutils autoplist
# Remove files not python 3 ready and allow compile again
post-patch:
.if ${PYTHON_REL} >= 300
.if ${PYTHON_REL} >= 3000
${RM} ${WRKSRC}/olefile/olefile2.py
.endif
${REINPLACE_CMD} "/install' in sys.argv:/,+1d" ${WRKSRC}/setup.py

View File

@ -111,7 +111,7 @@ CTAGS_CMD= ${FIND} . -type f \\| ${XARGS} ctags
.include <bsd.port.pre.mk>
.if ${PORT_OPTIONS:MPYTHON}
.if ${PYTHON_REL} < 300
.if ${PYTHON_REL} < 3000
MAKE_ARGS+= CONF_OPT_PYTHON="--enable-pythoninterp --disable-python3interp"
.else
MAKE_ARGS+= CONF_OPT_PYTHON="--enable-python3interp --disable-pythoninterp"

View File

@ -262,7 +262,7 @@ post-install:
${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \
-d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S|${PREFIX}/||})
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
. if defined(PYTHON_REL) && ${PYTHON_REL} >= 300
. if defined(PYTHON_REL) && ${PYTHON_REL} >= 3000
cd ${WRKSRC}/samples/python && \
${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}/python
. else

View File

@ -12,7 +12,7 @@ OCV_PYTHON= yes
MASTERDIR= ${.CURDIR:H}/opencv
PLIST= ${.CURDIR}/pkg-plist
.if defined(PYTHON_REL) && ${PYTHON_REL} >= 320
.if defined(PYTHON_REL) && ${PYTHON_REL} >= 3200
PLIST_SUB+= PYTHON3="" \
PYTHON2="@comment " \
PYTHON_SUFFIX="${PYTHON_SUFFIX}"

View File

@ -37,7 +37,7 @@ UNIQUE_SUFFIX_FILES= ${SCRIPT_FILES:C/^.*/bin\/&/g} \
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 320
.if ${PYTHON_REL} < 3200
SCRIPT_FILES+= logmerge
python_OLD_CMD= /usr/bin/env python
.else

View File

@ -22,7 +22,7 @@ SHEBANG_FILES= spf.py
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 300
.if ${PYTHON_REL} < 3000
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dns>=0:${PORTSDIR}/dns/py-dns
.else
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dns3>=0:${PORTSDIR}/dns/py-dns3

View File

@ -34,7 +34,7 @@ post-install:
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} == 271 || ${PYTHON_REL} == 320
.if ${PYTHON_REL} == 2701 || ${PYTHON_REL} == 3200
IGNORE= does not work with ${PYTHON_VERSION} (see http://goo.gl/SZpDN)
.endif

View File

@ -19,12 +19,12 @@ USE_PYTHON= distutils autoplist
.include <bsd.port.pre.mk>
# ndg_httpclient is only available for Python 2
.if ${PYTHON_REL} < 300
.if ${PYTHON_REL} < 3000
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ndg_httpsclient>=0.3.3:${PORTSDIR}/net/py-ndg_httpsclient
.endif
post-extract:
.if ${PYTHON_REL} >= 300
.if ${PYTHON_REL} >= 3000
@${RM} ${WRKSRC}/urllib3/contrib/pyopenssl.py
.endif

View File

@ -29,7 +29,7 @@ LDFLAGS+= -L${OPENSSLLIB}
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 340
.if ${PYTHON_REL} < 3400
BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}enum34>0:${PORTSDIR}/devel/py-enum34
.endif

View File

@ -39,7 +39,7 @@ USE_PYTHON= distutils autoplist
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 300
.if ${PYTHON_REL} < 3000
TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}unittest2>0:${PORTSDIR}/devel/py-unittest2
.endif

View File

@ -28,7 +28,7 @@ PORTEXAMPLES= *
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 340
.if ${PYTHON_REL} < 3400
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}enum34>=0:${PORTSDIR}/devel/py-enum34
.endif

View File

@ -18,7 +18,7 @@ USE_PYTHON= distutils autoplist
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} <= 300
.if ${PYTHON_REL} <= 3000
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}unittest2>=0:${PORTSDIR}/devel/py-unittest2
.endif

View File

@ -27,7 +27,7 @@ USE_PYTHON= autoplist distutils
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 340
.if ${PYTHON_REL} < 3400
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}asyncio>0:${PORTSDIR}/devel/py-asyncio
.endif

View File

@ -40,12 +40,12 @@ TWISTED_USES= twisted:run
.include <bsd.port.pre.mk>
.if ${PORT_OPTIONS:MTWISTED} && ${PYTHON_REL} >= 300
.if ${PORT_OPTIONS:MTWISTED} && ${PYTHON_REL} >= 3000
BROKEN= Twisted currently only supports Python 2.x. Disable the TWISTED option and use ASYNCIO instead
.endif
.if ${PORT_OPTIONS:MASYNCIO} && ${PYTHON_REL} <= 340
.if ${PYTHON_REL} >= 330
.if ${PORT_OPTIONS:MASYNCIO} && ${PYTHON_REL} <= 3400
.if ${PYTHON_REL} >= 3300
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}asyncio>=0.2.1:${PORTSDIR}/devel/py-asyncio
.else
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}trollius>=0.1.2:${PORTSDIR}/devel/py-trollius \

View File

@ -45,7 +45,7 @@ post-install:
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} >= 300 # devel/py-cheetah doesn't yet build with Python 3
.if ${PYTHON_REL} >= 3000 # devel/py-cheetah doesn't yet build with Python 3
.undef EXAMPLES_RUN_DEPENDS
.endif
@ -54,7 +54,7 @@ post-install:
# Instead of defining a cherrypy_build_py.get_outputs() method in setup.py
# we simply remove unwanted modules (see cherrypy_build_py() in setup.py)
post-extract:
.if ${PYTHON_REL} >= 300
.if ${PYTHON_REL} >= 3000
@(cd ${WRKSRC}/cherrypy && ${RM} _cpcompat_subprocess.py && \
cd wsgiserver && ${RM} ssl_pyopenssl.py wsgiserver2.py)
.else

View File

@ -30,7 +30,7 @@ USE_PYTHON= autoplist distutils
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 330
.if ${PYTHON_REL} < 3300
TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}mock>0:${PORTSDIR}/devel/py-mock
.endif

View File

@ -18,7 +18,7 @@ USE_PYTHON= autoplist distutils
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} == 330 || (${PYTHON_VER} == 2.7 && ${PYTHON_REL} < 279)
.if ${PYTHON_REL} == 3300 || (${PYTHON_VER} == 2.7 && ${PYTHON_REL} < 2709)
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}openssl>=0.14:${PORTSDIR}/security/py-openssl
.endif

View File

@ -20,7 +20,7 @@ USE_PYTHON= distutils autoplist
# Maintainer: Reminder to keep testing python 3.x compatibility.
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} >= 300
.if ${PYTHON_REL} >= 3000
BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}six>0:${PORTSDIR}/devel/py-six
pre-build:
@cd ${WRKSRC} && 2to3-${PYTHON_VER} -w src

View File

@ -20,7 +20,7 @@ USE_PYTHON= distutils autoplist
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 300
.if ${PYTHON_REL} < 3000
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}backports.ssl_match_hostname>0:${PORTSDIR}/security/py-backports.ssl_match_hostname \
${PYTHON_PKGNAMEPREFIX}futures>0:${PORTSDIR}/devel/py-futures
.endif

View File

@ -18,7 +18,7 @@ USE_PYTHON= distutils autoplist
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 260
.if ${PYTHON_REL} < 2600
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}simplejson>=2.0.9:${PORTSDIR}/devel/py-simplejson
.endif

View File

@ -28,7 +28,7 @@ PYDISTUTILS_INSTALLARGS+= --install-lib ${PYTHON_LIBDIR}/lib-dynload
.include <bsd.port.pre.mk>
post-extract:
.if ${PYTHON_REL} < 300
.if ${PYTHON_REL} < 3000
@${SED} -e "s|%%TK_VER%%|${TK_VER}|" ${FILESDIR}/setup.py > ${WRKSRC}/setup.py
.else
@${SED} -e "s|%%TK_VER%%|${TK_VER}|" ${FILESDIR}/setup3.py > ${WRKSRC}/setup.py