Fix plist and remove BROKEN flag when building with python 3.2+

This commit is contained in:
Ganael LAPLANCHE 2012-09-21 09:10:22 +00:00
parent a508b33017
commit 27d387cfe9
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=304617

View file

@ -33,10 +33,6 @@ DVDCSS_LIBVERSION= 3
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} >= 323
BROKEN= bad plist with latest python
.endif
.if ${PORT_OPTIONS:MDVDCSS}
LIB_DEPENDS+= dvdcss:${PORTSDIR}/multimedia/libdvdcss
.endif
@ -45,4 +41,21 @@ post-patch:
@${REINPLACE_CMD} -E -e 's|(libdvdcss.so)\.2|\1.${DVDCSS_LIBVERSION}|' \
${WRKSRC}/dvdvideo/libdvdcss.py
# 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/)
.if ${PYTHON_REL} >= 320
PYMAGICTAG= ${PYTHON_CMD} -c 'import imp; print(imp.get_tag())'
add-plist-post:
@${AWK} '\
/\.py[co]$$/ && !($$0 ~ "/" pc "/") {id = match($$0, /\/[^\/]+\.py[co]$$/); if (id != 0) {d = substr($$0, 1, RSTART - 1); dirs[d] = 1}; sub(/\.py[co]$$/, "." mt "&"); sub(/[^\/]+\.py[co]$$/, pc "/&"); print; next} \
/^@dirrm / {d = substr($$0, 8); if (d in dirs) {print $$0 "/" pc}; print $$0; next} \
{print} \
END {if (sp in dirs) {print "@dirrm " sp "/" pc}} \
' \
pc="__pycache__" mt="$$(${PYMAGICTAG})" sp="${PYTHON_SITELIBDIR:S,${PYTHONBASE}/,,g}" \
${TMPPLIST} > ${TMPPLIST}.pyc_tmp
@${MV} ${TMPPLIST}.pyc_tmp ${TMPPLIST}
.endif
.include <bsd.port.post.mk>