- Fix logical errors in DOCFORMAT and PYTHON_REL detections

- Store doc files in DISTDIR/python/
- Cleanup Makefile
- Fix distinfo: the old one is incomplete, the new one contains all doc formats of all releases
This commit is contained in:
Sunpoet Po-Chuan Hsieh
2011-10-10 13:59:57 +00:00
parent b8a5de6d42
commit 6ec88daf6f
2 changed files with 275 additions and 194 deletions

View File

@@ -11,62 +11,54 @@ CATEGORIES= lang python
MASTER_SITES= ${MASTER_SITE_PYTHON}
MASTER_SITE_SUBDIR= ftp/python/doc/${PORTVERSION} \
ftp/python/doc/current
DISTNAME= ${DOCFORMAT}-${PORTVERSION}
DISTNAME= python-${PORTVERSION}-docs-${DOCFORMAT}
DIST_SUBDIR= python
MAINTAINER= python@FreeBSD.org
COMMENT= Documentation for the Python programming language
PORTSCOUT= ignore:1
DIST_SUBDIR= python
USE_PYTHON= yes
USE_BZIP2= yes
NO_BUILD= yes
PLIST= ${WRKDIR}/pkg-plist_${DOCFORMAT}
USE_BZIP2= yes
USE_PYTHON_BUILD= yes
WRKSRC= ${WRKDIR}/Python-Docs-${PORTVERSION}
DOCDIR= ${PREFIX}/share/doc/${PYTHON_VERSION}
DOCSDIR= ${PREFIX}/share/doc/${PYTHON_VERSION}
PLIST= ${WRKDIR}/pkg-plist.${DOCFORMAT}
DOCFORMAT?= html
.include <bsd.port.pre.mk>
.if ${PYTHON_REL} < 260
.if ${DOCFORMAT} != "html" && ${DOCFORMAT} != "pdf-a4" && ${DOCFORMAT} != "pdf-letter" && ${DOCFORMAT} != "postscript-a4" && ${DOCFORMAT} != "postscript-letter"
IGNORE= invalid value for DOCFORMAT: "${DOCFORMAT}", possible values are: html, pdf-a4, pdf-letter, postscript-a4, postscript-letter
.endif
.else # ${PYTHON_REL} >= 260
.if ${DOCFORMAT} != "html" && ${DOCFORMAT} != "pdf-a4" && ${DOCFORMAT} != "pdf-letter" && ${DOCFORMAT} != "text"
IGNORE= invalid value for DOCFORMAT: "${DOCFORMAT}", possible values are: text, html, pdf-a4, pdf-letter
.endif
.if ${PYTHON_REL} < 260
DISTNAME= python-docs-${DOCFORMAT}
.else
DISTNAME= python-${PORTVERSION}-docs-${DOCFORMAT}
.endif
DIST_SUBDIR= python${PYTHON_REL}
.if ${DOCFORMAT} == "html"
.if ${PYTHON_REL} >= 260
. if ${DOCFORMAT} == "html" || ${DOCFORMAT} == "text"
. if ${PYTHON_REL} == 260
WRKSRC= ${WRKDIR}/python-docs-${DOCFORMAT}
. else
WRKSRC= ${WRKDIR}/${DISTNAME}
.elif ${DOCFORMAT} == "text"
WRKSRC= ${WRKDIR}/${DISTNAME}
.else
. endif
. else
WRKSRC= ${WRKDIR}/docs-pdf
.endif # ${DOCSFORMAT} == "html"
.endif # ${PYTHON_REL} < 260
. endif
. if ${DOCFORMAT} != "html" && ${DOCFORMAT} != "pdf-a4" && ${DOCFORMAT} != "pdf-letter" && ${DOCFORMAT} != "text"
IGNORE= invalid value for DOCFORMAT: "${DOCFORMAT}", possible values are: text, html, pdf-a4, pdf-letter
. endif
.else
DISTNAME= ${DOCFORMAT}-${PORTVERSION}
WRKSRC= ${WRKDIR}/Python-Docs-${PORTVERSION}
. if ${DOCFORMAT} != "html" && ${DOCFORMAT} != "pdf-a4" && ${DOCFORMAT} != "pdf-letter" && ${DOCFORMAT} != "postscript-a4" && ${DOCFORMAT} != "postscript-letter"
IGNORE= invalid value for DOCFORMAT: "${DOCFORMAT}", possible values are: html, pdf-a4, pdf-letter, postscript-a4, postscript-letter
. endif
.endif
pre-install:
@cd ${WRKSRC} && (${FIND} . -type f | \
${SED} -e 's,^\.,share/doc/${PYTHON_VERSION},' | ${SORT} \
> ${PLIST})
@cd ${WRKSRC} && (${FIND} * -type d | \
${SED} -e 's,^,@dirrm share/doc/${PYTHON_VERSION}/,' | \
${SORT} -r) >> ${PLIST}
@${ECHO_CMD} "@dirrmtry share/doc/%%PYTHON_VERSION%%" >> ${PLIST}
@cd ${WRKSRC} && \
(${FIND} . -type f | ${SED} -e 's|^\./|%%DOCSDIR%%/|' | ${SORT}; \
${FIND} * -type d | ${SED} -e 's|^|@dirrm %%DOCSDIR%%/|' | ${SORT} -r; \
${ECHO_CMD} "@dirrmtry %%DOCSDIR%%") > ${PLIST}
do-install:
@${MKDIR} ${DOCDIR}
@${TAR} -C ${WRKSRC} -cf - . | ${TAR} -C ${DOCDIR} -xf -
${MKDIR} ${DOCSDIR}/
cd ${WRKSRC}/ && ${COPYTREE_SHARE} . ${DOCSDIR}
.include <bsd.port.post.mk>