Index: Mk/bsd.python.mk =================================================================== --- Mk/bsd.python.mk (revision 335893) +++ Mk/bsd.python.mk (working copy) @@ -420,9 +420,13 @@ PYTHONPREFIX_LIBDIR= ${PYTHON_LIBDIR:S;${PYTHONBASE};${PREFIX};} PYTHONPREFIX_SITELIBDIR= ${PYTHON_SITELIBDIR:S;${PYTHONBASE};${PREFIX};} +_CURRENTPORT:= ${PKGNAMEPREFIX}${PORTNAME} +.if defined(USE_PYDISTUTILS) && ${_CURRENTPORT} != ${PYTHON_PKGNAMEPREFIX}setuptools +BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools>0:${PORTSDIR}/devel/py-setuptools +.endif + # 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 @@ -489,7 +493,7 @@ PYSETUP?= setup.py PYDISTUTILS_CONFIGUREARGS?= PYDISTUTILS_BUILDARGS?= -PYDISTUTILS_INSTALLARGS?= -c -O1 --prefix=${PREFIX} +PYDISTUTILS_INSTALLARGS?= -c -O1 --single-version-externally-managed --prefix=${PREFIX} .if !defined(NO_STAGE) && defined(USE_PYDISTUTILS) && ${USE_PYDISTUTILS} != "easy_install" PYDISTUTILS_INSTALLARGS+= --root=${STAGEDIR} .endif @@ -496,8 +500,9 @@ PYDISTUTILS_PKGNAME?= ${PORTNAME} PYDISTUTILS_PKGVERSION?=${PORTVERSION} PYDISTUTILS_EGGINFO?= ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_PKGVERSION:C/[^A-Za-z0-9.]+/_/g}-py${PYTHON_VER}.egg-info -PYDISTUTILS_EGGINFODIR?=${PYTHONPREFIX_SITELIBDIR} +PYDISTUTILS_EGGINFODIR?=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} +add-plist-egginfo: .if !defined(PYDISTUTILS_NOEGGINFO) && \ !defined(PYDISTUTILS_AUTOPLIST) && \ (defined(INSTALLS_EGGINFO) || \ @@ -504,9 +509,14 @@ (defined(USE_PYDISTUTILS) && \ ${USE_PYDISTUTILS} != "easy_install")) && \ defined(PYTHON_REL) -. for egg in ${PYDISTUTILS_EGGINFO} -PLIST_FILES+= ${PYDISTUTILS_EGGINFODIR:S;${PREFIX}/;;}/${egg} -. endfor + if [ -d "${PYDISTUTILS_EGGINFODIR}/${PYDISTUTILS_EGGINFO}" ]; then \ + ${LS} ${PYDISTUTILS_EGGINFODIR}/${PYDISTUTILS_EGGINFO} | while read f; do \ + ${ECHO_CMD} ${PYDISTUTILS_EGGINFODIR:S;^${STAGEDIR}${PYTHONBASE}/;;}/${PYDISTUTILS_EGGINFO}/$${f} >> ${TMPPLIST}; \ + done; \ + ${ECHO_CMD} "@unexec rmdir \"%D/${PYDISTUTILS_EGGINFODIR:S;${STAGEDIR}${PYTHONBASE}/;;}/${PYDISTUTILS_EGGINFO}\" 2>/dev/null || true" >> ${TMPPLIST}; \ + fi; +.else + @${DO_NADA} .endif .if defined(PYDISTUTILS_AUTOPLIST) && defined(USE_PYDISTUTILS) @@ -630,6 +640,7 @@ PYDISTUTILS_CONFIGURE_TARGET?= config PYDISTUTILS_BUILD_TARGET?= build PYDISTUTILS_INSTALL_TARGET?= install +PYDISTUTILS_SETUP?= -c "import setuptools; __file__='${PYSETUP}'; execfile(__file__)" .if defined(USE_PYDISTUTILS) LDSHARED?= ${CC} -shared @@ -637,19 +648,21 @@ .if !target(do-configure) && !defined(HAS_CONFIGURE) && !defined(GNU_CONFIGURE) do-configure: - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYSETUP} ${PYDISTUTILS_CONFIGURE_TARGET} ${PYDISTUTILS_CONFIGUREARGS}) + @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_CONFIGURE_TARGET} ${PYDISTUTILS_CONFIGUREARGS}) .endif .if !target(do-build) do-build: - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYSETUP} ${PYDISTUTILS_BUILD_TARGET} ${PYDISTUTILS_BUILDARGS}) + @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_BUILD_TARGET} ${PYDISTUTILS_BUILDARGS}) .endif .if !target(do-install) do-install: - @(cd ${INSTALL_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYSETUP} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS}) + @(cd ${INSTALL_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS}) .endif +add-plist-post: add-plist-egginfo + .if defined(PYEASYINSTALL_ARCHDEP) .if !target(easyinstall-setopt) easyinstall-setopt: Index: devel/py-setuptools/Makefile =================================================================== --- devel/py-setuptools/Makefile (revision 335893) +++ devel/py-setuptools/Makefile (working copy) @@ -20,7 +20,8 @@ PYDISTUTILS_NOEGGINFO= yes USE_PYTHON= yes -USE_PYDISTUTILS=yes +USE_PYDISTUTILS= yes +PYDISTUTILS_SETUP= ${PYSETUP} PYTHON_PY3K_PLIST_HACK= yes SUB_LIST= IF_DEFAULT=${IF_DEFAULT}