Index: Mk/bsd.python.mk =================================================================== RCS file: /home/pcvs/ports/Mk/bsd.python.mk,v retrieving revision 1.94 diff -u -r1.94 bsd.python.mk --- Mk/bsd.python.mk 14 Feb 2007 06:07:28 -0000 1.94 +++ Mk/bsd.python.mk 4 Mar 2007 13:32:30 -0000 @@ -122,6 +122,17 @@ # USE_PYDISTUTILS - Use distutils as do-configure, do-build and do-install # targets. # +# PYSETUP - Name of the setup script used by the distutils package. +# default: setup.py +# +# PYDISTUTILS_PKGNAME +# - Internal name in the distutils for egg-info. +# default: ${PORTNAME} +# +# PYDISTUTILS_PKGVERSION +# - Internal version in the distutils for egg-info. +# default: ${PORTVERSION} +# # PYDISTUTILS_CONFIGURE_TARGET # - Pass this command to distutils on configure stage. # default: config @@ -146,8 +157,32 @@ # - Arguments to install with distutils. # default: -c -O1 --prefix=${PREFIX} # -# PYSETUP - Name of the setup script used by the distutils package. -# default: setup.py +# PYDISTUTILS_EGGINFO +# - Canonical name for egg-info. +# default: ${PYDISTUTILS_PKGNAME:S/-/_/g}-${PYDISTUTILS_PKGVERSION}-${PYTHON_VERSION:S/thon//}.egg-info +# +# PYDISTUTILS_NOEGGINFO +# - Skip an egg-info entry from plist when defined. +# +# PYEASYINSTALL_EGGNAME +# - Canonical directory name for easy_install egg packages. +# default: ${PYDISTUTILS_PKGNAME:S/-/_/g}-${PYDISTUTILS_PKGVERSION}-${PYTHON_VERSION:S/thon//}${PYEASYINSTALL_OSARCH}.egg +# +# PYEASYINSATLL_OSARCH +# - Platform identifier for easy_install. +# default: -${OPSYS:L}-${_OSRELEASE}-${ARCH} +# if PYEASYINSTALL_ARCHDEP is defined. +# +# PYEASYINSTALL_CMD - Full file path to easy_install command. +# default: ${LOCALBASE}/bin/easy_install-${PYTHON_VER} +# +# PYEASYINSTALL_INSTALL_ARGS +# - Arguments to easy_install command for egg installation. +# default: -q -N -S ${PYTHON_SITELIBDIR} ${PYDISTUTILS_PKGNAME}==${PYDISTUTILS_PKGVERSION} +# +# PYEASYINSTALL_UNINSTALL_ARGS +# - Arguments to easy_install command for egg uninstallation. +# default: -q -m -S ${PYTHON_SITELIBDIR} ${PYDISTUTILS_PKGNAME}==${PYDISTUTILS_PKGVERSION} # # USE_TWISTED - If this option is just yes then build and run # the dependence to twistedCore is added. Alternatively @@ -173,8 +208,8 @@ # specific version of zope. # -_PYTHON_PORTBRANCH= 2.4 -_PYTHON_ALLBRANCHES= 2.4 2.5 2.3 # preferred first +_PYTHON_PORTBRANCH= 2.5 +_PYTHON_ALLBRANCHES= 2.5 2.4 2.3 # preferred first _ZOPE_PORTBRANCH= 2.7 _ZOPE_ALLBRANCHES= 2.7 2.8 2.9 2.10 3.2 @@ -244,6 +279,10 @@ # Determine the currently installed version. If Python is not installed, a # default version number is substituted and the corresponding Python # distribution will be built through the dependency processing. +.if !defined(PYTHON_CMD) && !exists(${LOCALBASE}/bin/python) # no cmd to inspect +_PYTHON_CMD= ${LOCALBASE}/bin/python${_PYTHON_PORTBRANCH} +_PYTHON_VERSION= ${_PYTHON_PORTBRANCH} +.else .if defined(PYTHON_CMD) _PYTHON_CMD= ${PYTHON_CMD} .else @@ -252,6 +291,7 @@ _PYTHON_VERSION!= (${_PYTHON_CMD} -c \ 'import sys; print sys.version[:3]' 2> /dev/null \ || ${ECHO_CMD} ${_PYTHON_PORTBRANCH}) | ${TAIL} -1 +.endif # !defined(PYTHON_CMD) && ... .endif # defined(PYTHON_VERSION) .if !defined(USE_PYTHON) @@ -360,8 +400,8 @@ @${ECHO} "Makefile error: bad value for PYTHON_VERSION: ${PYTHON_VERSION}." @${ECHO} "Legal values are:" @${ECHO} " python2.3" - @${ECHO} " python2.4 (default)" - @${ECHO} " python2.5" + @${ECHO} " python2.4" + @${ECHO} " python2.5 (default)" @${FALSE} .endif @@ -381,10 +421,53 @@ PYTHONPREFIX_LIBDIR= ${PYTHON_LIBDIR:S;${PYTHONBASE};${PREFIX};} PYTHONPREFIX_SITELIBDIR= ${PYTHON_SITELIBDIR:S;${PYTHONBASE};${PREFIX};} +# setuptools support +.if defined(USE_PYDISTUTILS) && ${USE_PYDISTUTILS} == "easy_install" +BUILD_DEPENDS+= ${PYEASYINSTALL_CMD}:${PORTSDIR}/devel/py-setuptools +RUN_DEPENDS+= ${PYEASYINSTALL_CMD}:${PORTSDIR}/devel/py-setuptools + +PYDISTUTILS_BUILD_TARGET?= bdist_egg +PYDISTUTILS_INSTALL_TARGET?= easy_install +PYDISTUTILS_INSTALLARGS?= -O 1 -N -S ${PYTHON_SITELIBDIR} ${WRKSRC}/dist/${PYEASYINSTALL_EGGNAME} + +.if defined(PYEASYINSTALL_ARCHDEP) +_OSRELEASE!= ${UNAME} -r +PYEASYINSTALL_OSARCH?= -${OPSYS:L}-${_OSRELEASE}-${ARCH} +.endif +PYEASYINSTALL_EGGNAME?= ${PYDISTUTILS_PKGNAME:S/-/_/g}-${PYDISTUTILS_PKGVERSION}-${PYTHON_VERSION:S/thon//}${PYEASYINSTALL_OSARCH}.egg +PYEASYINSTALL_CMD?= ${LOCALBASE}/bin/easy_install-${PYTHON_VER} +PYEASYINSTALL_INSTALLARGS?= -q -N -S ${PYTHON_SITELIBDIR} \ + ${PYDISTUTILS_PKGNAME}==${PYDISTUTILS_PKGVERSION} +PYEASYINSTALL_UNINSTALLARGS?= -q -m -S ${PYTHON_SITELIBDIR} \ + ${PYDISTUTILS_PKGNAME}==${PYDISTUTILS_PKGVERSION} + +PLIST_SUB+= PYEASYINSTALL_EGG=${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}/${PYEASYINSTALL_EGGNAME} + +add-plist-post: add-plist-easyinstall +add-plist-easyinstall: + @# @unexec line must be located before any other line while @exec must not. + @${CAT} ${TMPPLIST} > ${TMPPLIST}.pei_tmp + @${ECHO_CMD} "@unexec ${PYEASYINSTALL_CMD} ${PYEASYINSTALL_UNINSTALLARGS}" \ + > ${TMPPLIST} + @${CAT} ${TMPPLIST}.pei_tmp >> ${TMPPLIST} + @${ECHO_CMD} "@exec ${PYEASYINSTALL_CMD} ${PYEASYINSTALL_INSTALLARGS}" \ + >> ${TMPPLIST} +.endif # defined(USE_PYDISTUTILS) && ${USE_PYDISTUTILS} == "easy_install" + +# distutils support PYSETUP?= setup.py PYDISTUTILS_CONFIGUREARGS?= PYDISTUTILS_BUILDARGS?= PYDISTUTILS_INSTALLARGS?= -c -O1 --prefix=${PREFIX} +PYDISTUTILS_PKGNAME?= ${PORTNAME} +PYDISTUTILS_PKGVERSION?=${PORTVERSION} +PYDISTUTILS_EGGINFO?= ${PYDISTUTILS_PKGNAME:S/-/_/g}-${PYDISTUTILS_PKGVERSION}-${PYTHON_VERSION:S/thon//}.egg-info + +.if !defined(PYDISTUTILS_NOEGGINFO) && defined(USE_PYDISTUTILS) && \ + ${USE_PYDISTUTILS} != "easy_install" && \ + defined(PYTHON_REL) && ${PYTHON_REL} >= 250 +PLIST_FILES+= ${PYTHON_SITELIBDIR:S;${PYTHONBASE}/;;}/${PYDISTUTILS_EGGINFO} +.endif # Zope-related variables .if defined(USE_ZOPE) Index: lang/python/Makefile =================================================================== RCS file: /home/pcvs/ports/lang/python/Makefile,v retrieving revision 1.159 diff -u -r1.159 Makefile --- lang/python/Makefile 14 Feb 2007 06:07:29 -0000 1.159 +++ lang/python/Makefile 4 Mar 2007 13:32:35 -0000 @@ -6,43 +6,75 @@ # PORTNAME= python -PORTVERSION= 2.4.4 -PORTEPOCH= 1 +PORTVERSION= ${PYTHON_VER} +PORTEPOCH= 2 CATEGORIES= lang python ipv6 MASTER_SITES= # empty DISTFILES= # empty EXTRACT_ONLY= # empty MAINTAINER= python@FreeBSD.org -COMMENT= The "meta-port" for the stable version of Python interpreter +COMMENT= The "meta-port" for the default version of Python interpreter USE_PYTHON_RUN= yes -PYTHON_VERSION= python2.4 +PYTHON_VERSION?=python2.5 NO_BUILD= yes -do-install: # empty +MAN1= python.1 +MAN1DIR= ${MAN1PREFIX}/man/man1 +PLIST_FILES= ${BINLINK_FILES:C,^,bin/,} + +.include + +.if !defined(PYTHON_REL) +BROKEN= ${PYTHON_VERSION} is invalid. Set PYTHON_VERSION as one of \ + the supported versions: ${_PYTHON_ALLBRANCHES:C/^/python/} +.else +BINLINK_FILES= idle pydoc python python-shared +.if ${PYTHON_REL} >= 240 +BINLINK_FILES+= smtpd.py +.endif +.if ${PYTHON_REL} >= 250 +BINLINK_FILES+= python-config python-shared-config +.endif +.endif + +SYMLINKS_SUB= -e 's,smtpd,smtpd${PYTHON_VER},' \ + -e 's,(idle|pydoc|python-shared|python),\1${PYTHON_VER},' + +do-install: + for f in ${BINLINK_FILES}; do \ + TARGET=`${ECHO_CMD} $$f | ${SED} -E ${SYMLINKS_SUB}`; \ + cd ${PREFIX}/bin && ${LN} -sf $$TARGET $$f; \ + done + + if [ -f ${MAN1DIR}/${PYTHON_VERSION}.1.gz ]; then \ + ${GZCAT} ${MAN1DIR}/${PYTHON_VERSION}.1.gz > ${MAN1DIR}/python.1; \ + else \ + ${LN} -sf ${MAN1DIR}/${PYTHON_VERSION}.1 ${MAN1DIR}/python.1; \ + fi # Major upgrade support PORTUPGRADE?= ${LOCALBASE}/sbin/portupgrade PKG_WHICH?= ${LOCALBASE}/sbin/pkg_which upgrade-site-packages: - @if [ -x ${PORTUPGRADE} ]; then \ - for ver in 2.1 2.2 2.3 2.5; do \ - if [ -d ${PREFIX}/lib/python$$ver ]; then \ - UPD=`${FIND} ${PREFIX}/lib/python$$ver \ - -type f -print0 | \ - ${XARGS} -0 ${PKG_WHICH} | \ - ${GREP} -Fv '?' | \ - ${EGREP} -v '^python2?[0-5]?-2' | \ - ${SORT} -u`; \ - if [ "$$UPD" ]; then \ - ${PORTUPGRADE} -f $$UPD; \ - fi; \ - fi; \ - done; \ - else \ + @if [ ! -x ${PORTUPGRADE} ]; then \ ${ECHO_MSG} "Please install ports-mgmt/portupgrade."; \ ${FALSE}; \ fi -.include + @for ver in `echo ${_PYTHON_ALLBRANCHES}|${SED} 's/${PYTHON_VER}//'`; do \ + if [ -d ${PREFIX}/lib/python$$ver ]; then \ + UPD=`${FIND} ${PREFIX}/lib/python$$ver \ + -type f -print0 | \ + ${XARGS} -0 ${PKG_WHICH} | \ + ${GREP} -Fv '?' | \ + ${EGREP} -v '^python2?[0-5]?-2' | \ + ${SORT} -u`; \ + if [ "$$UPD" ]; then \ + ${PORTUPGRADE} -f $$UPD; \ + fi; \ + fi; \ + done \ + +.include Index: lang/python24/Makefile =================================================================== RCS file: /home/pcvs/ports/lang/python24/Makefile,v retrieving revision 1.156 diff -u -r1.156 Makefile --- lang/python24/Makefile 14 Feb 2007 06:07:29 -0000 1.156 +++ lang/python24/Makefile 4 Mar 2007 13:32:35 -0000 @@ -7,12 +7,13 @@ PORTNAME= python24 PORTVERSION= 2.4.4 +PORTREVISION= 1 CATEGORIES= lang python ipv6 MASTER_SITES= ${PYTHON_MASTER_SITES} MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR} DISTFILES= ${PYTHON_DISTFILE} -MAINTAINER= perky@FreeBSD.org +MAINTAINER= python@FreeBSD.org COMMENT?= An interpreted object-oriented programming language DIST_SUBDIR= python @@ -22,8 +23,8 @@ CONFIGURE_ENV= OPT="${CFLAGS}" MAKE_ENV= VPATH="${WRKSRC}" USE_LDCONFIG= yes -INSTALL_TARGET= install -MAN1= python.1 ${PYTHON_VERSION}.1 +INSTALL_TARGET= altinstall +MAN1= ${PYTHON_VERSION}.1 USE_PYTHON= yes PYTHON_VERSION= python2.4 @@ -180,8 +181,6 @@ ${INSTALL_PROGRAM} \ ${SHARED_WRKSRC}/${PYTHON_VERSION:S/thon/thon-shared/} \ ${PREFIX}/bin - cd ${PREFIX}/bin; \ - ${LN} -f ${PYTHON_VERSION:S/thon/thon-shared/} python-shared @# additional files installing by ports @${MKDIR} ${MANPREFIX}/man/man1 Index: lang/python24/pkg-plist =================================================================== RCS file: /home/pcvs/ports/lang/python24/pkg-plist,v retrieving revision 1.62 diff -u -r1.62 pkg-plist --- lang/python24/pkg-plist 14 Feb 2007 06:07:29 -0000 1.62 +++ lang/python24/pkg-plist 4 Mar 2007 13:32:35 -0000 @@ -1,13 +1,8 @@ -bin/idle bin/idle%%PYVER%% -bin/pydoc bin/pydoc%%PYVER%% -bin/python bin/python%%PYVER%% -bin/python-shared bin/python-shared%%PYVER%% bin/smtpd%%PYVER%%.py -bin/smtpd.py %%PYTHON_INCLUDEDIR%%/Python.h %%PYTHON_INCLUDEDIR%%/Python-ast.h %%PYTHON_INCLUDEDIR%%/abstract.h Index: lang/python24/files/patch-setup.py =================================================================== RCS file: /home/pcvs/ports/lang/python24/files/patch-setup.py,v retrieving revision 1.11 diff -u -r1.11 patch-setup.py --- lang/python24/files/patch-setup.py 14 Feb 2007 06:07:29 -0000 1.11 +++ lang/python24/files/patch-setup.py 4 Mar 2007 13:32:35 -0000 @@ -27,3 +27,13 @@ curses_libs = ['ncursesw'] # Bug 1464056: If _curses.so links with ncursesw, # _curses_panel.so must link with panelw. +@@ -1187,8 +1187,7 @@ + ext_modules=[Extension('struct', ['structmodule.c'])], + + # Scripts to install +- scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle', +- 'Lib/smtpd.py'] ++ scripts = [] + ) + + # --install-platlib