Index: bsd.python.mk =================================================================== --- bsd.python.mk (revisione 332647) +++ bsd.python.mk (copia locale) @@ -451,7 +451,12 @@ -d ${PYEASYINSTALL_SITELIBDIR} \ -s ${PYEASYINSTALL_BINDIR} \ ${WRKSRC}/dist/${PYEASYINSTALL_EGG} -.if ${PREFIX} != ${LOCALBASE} +.if !defined(NO_STAGE) +MAKE_ENV+= PYTHONUSERBASE=${STAGEDIR}${PYTHONBASE} +PYDISTUTILS_INSTALLARGS:= -m -q --user ${PYDISTUTILS_INSTALLARGS} +.endif + +.if ${PREFIX} != ${LOCALBASE} || !defined(NO_STAGE) MAKE_ENV+= PYTHONPATH=${PYEASYINSTALL_SITELIBDIR} .endif @@ -476,7 +481,11 @@ pre-install: pre-install-easyinstall pre-install-easyinstall: +.if defined(NO_STAGE) @${MKDIR} ${PYEASYINSTALL_SITELIBDIR} +.else + @${MKDIR} ${STAGEDIR}${PYEASYINSTALL_SITELIBDIR} +.endif add-plist-post: add-plist-easyinstall add-plist-easyinstall: @@ -488,6 +497,12 @@ @${ECHO_CMD} "@exec ${PRINTF} '1a\n./${PYEASYINSTALL_EGG}\n.\nw\nq\n' | \ /bin/ed ${PYEASYINSTALL_SITELIBDIR}/easy-install.pth" \ >> ${TMPPLIST} +.if !defined(NO_STAGE) + @${ECHO_CMD} "@dirrmtry ${PYTHON_SITELIBDIR:S;${PYTHONBASE}/;;}" >> ${TMPPLIST} + @${ECHO_CMD} "@dirrmtry ${PYTHON_LIBDIR:S;${PYTHONBASE}/;;}" >> ${TMPPLIST} +.endif + + .endif # defined(USE_PYDISTUTILS) && ${USE_PYDISTUTILS} == "easy_install" # distutils support @@ -495,7 +510,7 @@ PYDISTUTILS_CONFIGUREARGS?= PYDISTUTILS_BUILDARGS?= PYDISTUTILS_INSTALLARGS?= -c -O1 --prefix=${PREFIX} -.if !defined(NO_STAGE) +.if !defined(NO_STAGE) && "${USE_PYDISTUTILS}" != "easy_install" PYDISTUTILS_INSTALLARGS+= --root=${STAGEDIR} .endif PYDISTUTILS_PKGNAME?= ${PORTNAME} @@ -528,10 +543,12 @@ ${SED} '/^\.$$/d' > ${WRKDIR}/.localmtree @${ECHO_CMD} "${_RELSITELIBDIR}" >> ${WRKDIR}/.localmtree @${ECHO_CMD} "${_RELLIBDIR}" >> ${WRKDIR}/.localmtree - @${SED} -e 's|^${PREFIX}/||' \ + @${SED} -e 's|^${STAGEDIR}${PREFIX}/||' \ + -e 's|^${PREFIX}/||' \ -e 's|^\(man/man[0-9]\)/\(.*\.[0-9]\)$$|\1/\2${MANEXT}|' \ ${_PYTHONPKGLIST} | ${SORT} >> ${TMPPLIST} - @${SED} -e 's|^${PREFIX}/\(.*\)/\(.*\)|\1|' ${_PYTHONPKGLIST} | \ + @${SED} -e 's|^${STAGEDIR}${PREFIX}/\(.*\)/\(.*\)|\1|' \ + -e 's|^${PREFIX}/\(.*\)/\(.*\)|\1|' ${_PYTHONPKGLIST} | \ ${AWK} '{ num = split($$0, a, "/"); res=""; \ for(i = 1; i <= num; ++i) { \ if (i == 1) res = a[i]; \ @@ -722,6 +739,19 @@ @(cd ${INSTALL_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYSETUP} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS}) .endif +.if !defined(NO_STAGE) +.if !target(stage-python-compileall) +stage-python-compileall: + (cd ${STAGEDIR}${PREFIX} && \ + ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \ + -d ${PREFIX} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;} && \ + ${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \ + -d ${PREFIX} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}) +.endif + +post-install: stage-python-compileall +.endif + .if defined(PYEASYINSTALL_ARCHDEP) .if !target(easyinstall-setopt) easyinstall-setopt: