[Midnightbsd-cvs] mports [16171] trunk/Mk/extensions/python.mk: rework so we use fake differnetly when building python ports

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat Apr 12 14:04:45 EDT 2014


Revision: 16171
          http://svnweb.midnightbsd.org/mports/?rev=16171
Author:   laffer1
Date:     2014-04-12 14:04:45 -0400 (Sat, 12 Apr 2014)
Log Message:
-----------
rework so we use fake differnetly when building python ports

Modified Paths:
--------------
    trunk/Mk/extensions/python.mk

Modified: trunk/Mk/extensions/python.mk
===================================================================
--- trunk/Mk/extensions/python.mk	2014-04-12 18:04:26 UTC (rev 16170)
+++ trunk/Mk/extensions/python.mk	2014-04-12 18:04:45 UTC (rev 16171)
@@ -190,7 +190,7 @@
 #					  default: ${LOCALBASE}/bin/easy_install-${PYTHON_VER}
 
 _PYTHON_PORTBRANCH=		2.7
-_PYTHON_ALLBRANCHES=	2.7 3.3 3.2 3.1	# preferred first
+_PYTHON_ALLBRANCHES=	2.7 3.3 3.1	# preferred first
 
 # Determine version number of Python to use
 .include "${PORTSDIR}/Mk/components/default-versions.mk"
@@ -403,9 +403,9 @@
 PYTHON_PLATFORM=		${OPSYS:L}${OSREL:C/\.[0-9.]*//}
 PYTHON_SITELIBDIR=		${PYTHON_LIBDIR}/site-packages
 
-PYTHONPREFIX_INCLUDEDIR=	${PYTHON_INCLUDEDIR:S;${PYTHONBASE};${PREFIX};}
-PYTHONPREFIX_LIBDIR=		${PYTHON_LIBDIR:S;${PYTHONBASE};${PREFIX};}
-PYTHONPREFIX_SITELIBDIR=	${PYTHON_SITELIBDIR:S;${PYTHONBASE};${PREFIX};}
+PYTHONPREFIX_INCLUDEDIR=	${PYTHON_INCLUDEDIR:S;${PYTHONBASE};${TRUE_PREFIX};}
+PYTHONPREFIX_LIBDIR=		${PYTHON_LIBDIR:S;${PYTHONBASE};${TRUE_PREFIX};}
+PYTHONPREFIX_SITELIBDIR=	${PYTHON_SITELIBDIR:S;${PYTHONBASE};${TRUE_PREFIX};}
 
 _CURRENTPORT:=	${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
 .if defined(USE_PYDISTUTILS) && ${_CURRENTPORT:S/${PYTHON_SUFFIX}$//} != ${PYTHON_PKGNAMEPREFIX}setuptools
@@ -422,10 +422,14 @@
 								-d ${PYEASYINSTALL_SITELIBDIR} \
 								-s ${PYEASYINSTALL_BINDIR} \
 								${WRKSRC}/dist/${PYEASYINSTALL_EGG}
+.if !defined(NO_STAGE)
 MAKE_ENV+=			PYTHONUSERBASE=${FAKE_DESTDIR}${PYTHONBASE}
 PYDISTUTILS_INSTALLARGS:=	-m -q --user ${PYDISTUTILS_INSTALLARGS}
+.endif
 
+.if ${TRUE_PREFIX} != ${LOCALBASE} || !defined(NO_STAGE)
 MAKE_ENV+=						PYTHONPATH=${PYEASYINSTALL_SITELIBDIR}
+.endif
 
 .if defined(PYEASYINSTALL_ARCHDEP)
 PYEASYINSTALL_OSARCH?=			-${OPSYS:L}-${OSVERSION:C/([0-9]*)[0-9]{5}/\1/}-${ARCH}
@@ -433,7 +437,7 @@
 .endif
 PYEASYINSTALL_EGG?=				${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_PKGVERSION:C/[^A-Za-z0-9.]+/_/g}-py${PYTHON_VER}${PYEASYINSTALL_OSARCH}.egg
 PYEASYINSTALL_CMD?=				${LOCALBASE}/bin/easy_install-${PYTHON_VER}
-PYEASYINSTALL_BINDIR?=			${PREFIX}/bin
+PYEASYINSTALL_BINDIR?=			${TRUE_PREFIX}/bin
 PYEASYINSTALL_SITELIBDIR?=		${PYTHONPREFIX_SITELIBDIR}
 
 PLIST_SUB+=		PYEASYINSTALL_EGG=${PYEASYINSTALL_EGG}
@@ -440,7 +444,11 @@
 
 pre-install: pre-install-easyinstall
 pre-install-easyinstall:
+.if defined(NO_STAGE)
+	@${MKDIR} ${PYEASYINSTALL_SITELIBDIR}
+.else
 	@${MKDIR} ${FAKE_DESTDIR}${PYEASYINSTALL_SITELIBDIR}
+.endif
 
 add-plist-post: add-plist-easyinstall
 add-plist-easyinstall:
@@ -453,16 +461,18 @@
 			/bin/ed ${PYEASYINSTALL_SITELIBDIR}/easy-install.pth" \
 		>> ${TMPPLIST}
 
+.if !defined(NO_STAGE)
 .if !target(stage-python-compileall)
 stage-python-compileall:
-	(cd ${STAGEDIR}${PREFIX} && \
+	(cd ${FAKE_DESTDIR}${TRUE_PREFIX} && \
 	${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \
-		-d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;} && \
+		-d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S;${TRUE_PREFIX}/;;} && \
 	${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \
-		-d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;})
+		-d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S;${TRUE_PREFIX}/;;})
 .endif
 
 post-install: stage-python-compileall
+.endif
 
 .endif		# defined(USE_PYDISTUTILS) && ${USE_PYDISTUTILS} == "easy_install"
 
@@ -471,12 +481,14 @@
 PYDISTUTILS_SETUP?=	-c "import setuptools; __file__='${PYSETUP}'; exec(compile(open(__file__).read().replace('\\r\\n', '\\n'), __file__, 'exec'))"
 PYDISTUTILS_CONFIGUREARGS?=
 PYDISTUTILS_BUILDARGS?=
-PYDISTUTILS_INSTALLARGS?=	-c -O1 --prefix=${PREFIX}
+PYDISTUTILS_INSTALLARGS?=	-c -O1 --prefix=${TRUE_PREFIX}
 .if defined(USE_PYDISTUTILS) && ${USE_PYDISTUTILS} != "easy_install"
 . if !defined(PYDISTUTILS_INSTALLNOSINGLE)
 PYDISTUTILS_INSTALLARGS+=	--single-version-externally-managed
 . endif
+. if !defined(NO_STAGE)
 PYDISTUTILS_INSTALLARGS+=	--root=${FAKE_DESTDIR}
+. endif
 .endif
 _PYTHONPKGLIST=				${WRKDIR}/.PLIST.pymodtmp
 PYDISTUTILS_INSTALLARGS:=	--record ${_PYTHONPKGLIST} \
@@ -485,7 +497,7 @@
 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?=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+PYDISTUTILS_EGGINFODIR?=${FAKE_DESTDIR}${PYTHONPREFIX_SITELIBDIR}
 
 add-plist-egginfo:
 .if !defined(PYDISTUTILS_NOEGGINFO) && \
@@ -497,9 +509,9 @@
 . for egginfo in ${PYDISTUTILS_EGGINFO}
 	if [ -d "${PYDISTUTILS_EGGINFODIR}/${egginfo}" ]; then \
 		${LS} ${PYDISTUTILS_EGGINFODIR}/${egginfo} | while read f; do \
-			${ECHO_CMD} ${PYDISTUTILS_EGGINFODIR:S;^${STAGEDIR}${PYTHONBASE}/;;}/${egginfo}/$${f} >> ${TMPPLIST}; \
+			${ECHO_CMD} ${PYDISTUTILS_EGGINFODIR:S;^${FAKE_DESTDIR}${PYTHONBASE}/;;}/${egginfo}/$${f} >> ${TMPPLIST}; \
 		done; \
-		${ECHO_CMD} "@unexec rmdir \"%D/${PYDISTUTILS_EGGINFODIR:S;${STAGEDIR}${PYTHONBASE}/;;}/${egginfo}\" 2>/dev/null || true" >> ${TMPPLIST}; \
+		${ECHO_CMD} "@unexec rmdir \"%D/${PYDISTUTILS_EGGINFODIR:S;${FAKE_DESTDIR}${PYTHONBASE}/;;}/${egginfo}\" 2>/dev/null || true" >> ${TMPPLIST}; \
 	fi;
 . endfor
 .else
@@ -507,8 +519,8 @@
 .endif
 
 .if defined(PYDISTUTILS_AUTOPLIST) && defined(USE_PYDISTUTILS)
-_RELSITELIBDIR=	${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}
-_RELLIBDIR=		${PYTHONPREFIX_LIBDIR:S;${PREFIX}/;;}
+_RELSITELIBDIR=	${PYTHONPREFIX_SITELIBDIR:S;${TRUE_PREFIX}/;;}
+_RELLIBDIR=		${PYTHONPREFIX_LIBDIR:S;${TRUE_PREFIX}/;;}
 
 add-plist-post:	add-plist-pymod
 add-plist-pymod:
@@ -516,12 +528,12 @@
 		${SED} '/^\.$$/d' > ${WRKDIR}/.localmtree
 	@${ECHO_CMD} "${_RELSITELIBDIR}" >> ${WRKDIR}/.localmtree
 	@${ECHO_CMD} "${_RELLIBDIR}" >> ${WRKDIR}/.localmtree
-	@${SED} -e 's|^${STAGEDIR}${PREFIX}/||' \
-		-e 's|^${PREFIX}/||' \
+	@${SED} -e 's|^${FAKE_DESTDIR}${TRUE_PREFIX}/||' \
+		-e 's|^${TRUE_PREFIX}/||' \
 		-e 's|^\(man/man[0-9]\)/\(.*\.[0-9]\)$$|\1/\2${MANEXT}|' \
 		${_PYTHONPKGLIST} | ${SORT} >> ${TMPPLIST}
-	@${SED} -e 's|^${STAGEDIR}${PREFIX}/\(.*\)/\(.*\)|\1|' \
-		-e 's|^${PREFIX}/\(.*\)/\(.*\)|\1|' ${_PYTHONPKGLIST} | \
+	@${SED} -e 's|^${FAKE_DESTDIR}${TRUE_PREFIX}/\(.*\)/\(.*\)|\1|' \
+		-e 's|^${TRUE_PREFIX}/\(.*\)/\(.*\)|\1|' ${_PYTHONPKGLIST} | \
 		${AWK} '{ num = split($$0, a, "/"); res=""; \
 					for(i = 1; i <= num; ++i) { \
 						if (i == 1) res = a[i]; \
@@ -554,7 +566,7 @@
 		pc="__pycache__" mt="$$(${PYMAGICTAG})" sp="${PYTHON_SITELIBDIR:S,${PYTHONBASE}/,,g}" \
 		${TMPPLIST} > ${TMPPLIST}.pyc_tmp
 	@${MV} ${TMPPLIST}.pyc_tmp ${TMPPLIST}
-.endif # ${PYTHON_REL} >= 320 && defined(PYTHON_PY3K_PLIST_HACK)
+.endif # ${PYTHON_REL} >= 330 && defined(PYTHON_PY3K_PLIST_HACK)
 .endif # defined(PYDISTUTILS_AUTOPLIST) && defined(USE_PYDISTUTILS)
 
 # Fix for programs that build python from a GNU auto* environment
@@ -592,8 +604,8 @@
 # Substitutions for pkg-plist
 # Use a short form of the PYTHONPREFIX_*DIR variables; we don't need the
 # base directory in the plist file.
-PLIST_SUB+=		PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR:S;${PREFIX}/;;} \
-				PYTHON_LIBDIR=${PYTHONPREFIX_LIBDIR:S;${PREFIX}/;;} \
+PLIST_SUB+=		PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR:S;${TRUE_PREFIX}/;;} \
+				PYTHON_LIBDIR=${PYTHONPREFIX_LIBDIR:S;${TRUE_PREFIX}/;;} \
 				PYTHON_PLATFORM=${PYTHON_PLATFORM} \
 				PYTHON_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;} \
 				PYTHON_VERSION=${PYTHON_VERSION}



More information about the Midnightbsd-cvs mailing list