Index: head/Mk/Uses/python.mk =================================================================== --- head/Mk/Uses/python.mk +++ head/Mk/Uses/python.mk @@ -580,15 +580,19 @@ .endif UNIQUE_PREFIX= ${PYTHON_PKGNAMEPREFIX} UNIQUE_SUFFIX= -${PYTHON_VER} +UNIQUE_SUFFIX_TYPES+= SUFFIX_MAN +UNIQUE_SUFFIX_MAN_WITH_EXT= .[1-9ln] +UNIQUE_SUFFIX_MAN_EXTRA_EXT= .gz .if defined(_PYTHON_FEATURE_AUTOPLIST) -UNIQUE_FIND_SUFFIX_FILES= \ - ${SED} -e 's|^${PREFIX}/||' ${_PYTHONPKGLIST} ${TMPPLIST} | \ - ${EGREP} -e '^bin/.*$$|^sbin/.*$$|^libexec/.*$$' +_UNIQUE_FIND_SUFFIX_FILES= ${SED} -e 's|^${PREFIX}/||' ${_PYTHONPKGLIST} ${TMPPLIST} .else -UNIQUE_FIND_SUFFIX_FILES= \ - ${EGREP} -he '^bin/.*$$|^sbin/.*$$|^libexec/.*$$' ${TMPPLIST} 2>/dev/null +_UNIQUE_FIND_SUFFIX_FILES= ${SED} -e 's|^${PREFIX}/||' ${TMPPLIST} 2>/dev/null .endif +UNIQUE_FIND_SUFFIX_FILES+= ${_UNIQUE_FIND_SUFFIX_FILES} | \ + ${EGREP} -he '^bin/.*$$|^sbin/.*$$|^libexec/.*$$' +UNIQUE_FIND_SUFFIX_MAN_FILES+= ${_UNIQUE_FIND_SUFFIX_FILES} | \ + ${EGREP} -he '^man/man[1-9ln]/.*$$' .endif # defined(_PYTHON_FEATURE_CONCURRENT) _CURRENTPORT:= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX} Index: head/Mk/Uses/uniquefiles.mk =================================================================== --- head/Mk/Uses/uniquefiles.mk +++ head/Mk/Uses/uniquefiles.mk @@ -56,6 +56,19 @@ # list of files to be iterated over. # Default: empty # +# UNIQUE_SUFFIX_TYPES - A list of TAGS to defined more complex unique +# suffix handling. It can, for example, handle +# man pages by doing: +# +# UNIQUE_SUFFIX_TYPES+= SUFFIX_MAN +# UNIQUE_SUFFIX_MAN_WITH_EXT= .[1-9ln] +# UNIQUE_SUFFIX_MAN_EXTRA_EXT= .gz +# UNIQUE_FIND_SUFFIX_MAN_FILES= ${EGREP} -he '^man/man[1-9ln]/.*$$' ${TMPPLIST} 2>/dev/null +# +# The make(1) target that renames the files +# runs before the man pages are compressed, +# this is what the EXTRA_EXT bit is for. +# # NOTE: multiple logical instances are not supported by pkg and the original # pkg_tools at the moment. # @@ -69,6 +82,8 @@ UNIQUE_PREFIX_FILES?= # empty UNIQUE_SUFFIX_FILES?= # empty +UNIQUE_SUFFIX_TYPES+= SUFFIX + .if ${uniquefiles_ARGS:Mdirs} DOCSDIR= ${PREFIX}/share/doc/${UNIQUE_PREFIX}${PORTNAME} EXAMPLESDIR= ${PREFIX}/share/examples/${UNIQUE_PREFIX}${PORTNAME} @@ -94,7 +109,7 @@ if [ ! -e ${STAGEDIR}${PREFIX}/$${fname} -a ! -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \ ${ECHO_MSG} "Link: @$${fname} --> $${newf}"; \ ${RLN} ${STAGEDIR}${PREFIX}/$${newf} ${STAGEDIR}${PREFIX}/$${fname}; \ - ${ECHO_CMD} LINKED:$${newf}:$${fname} >> ${_UNIQUEPKGLIST}; \ + ${ECHO_CMD} LINKED:$${newf}%%EXTRA_EXT%%:$${fname}%%EXTRA_EXT%% >> ${_UNIQUEPKGLIST}; \ fi .else # We are not symlinking the renamed binary. @@ -113,7 +128,7 @@ ${ECHO_MSG} "Move: $${fname} --> $${newf}" ; \ ${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \ ${ECHO_CMD} MOVED:$${fname}:$${newf} >> ${_UNIQUEPKGLIST}; \ - ${_DO_CONDITIONAL_SYMLINK}; \ + ${_DO_CONDITIONAL_SYMLINK:S/%%EXTRA_EXT%%//g}; \ else \ ${ECHO_MSG} "Makefile error: UNIQUE (prefix): $${fname} not found"; \ ${FALSE}; \ @@ -126,7 +141,7 @@ ${ECHO_MSG} "Move: $${fname} --> $${newf}" ; \ ${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \ ${ECHO_CMD} MOVED:$${fname}:$${newf} >> ${_UNIQUEPKGLIST}; \ - ${_DO_CONDITIONAL_SYMLINK}; \ + ${_DO_CONDITIONAL_SYMLINK:S/%%EXTRA_EXT%%//g}; \ else \ ${ECHO_MSG} "Makefile error: UNIQUE (prefix): $${fname} not found"; \ ${FALSE}; \ @@ -134,36 +149,51 @@ done; .endif -.if ${UNIQUE_SUFFIX_FILES} || ${UNIQUE_FIND_SUFFIX_FILES} +.for sufxtype in ${UNIQUE_SUFFIX_TYPES} +. if (defined(UNIQUE_${sufxtype}_FILES) && ${UNIQUE_${sufxtype}_FILES}) || \ + (defined(UNIQUE_FIND_${sufxtype}_FILES) && ${UNIQUE_FIND_${sufxtype}_FILES}) +. if defined(UNIQUE_${sufxtype}_WITH_EXT) && ${UNIQUE_${sufxtype}_WITH_EXT} + @${ECHO_MSG} "===> Creating unique files: Move ${sufxtype:S|SUFFIX_||} files needing SUFFIX"; +. else @${ECHO_MSG} "===> Creating unique files: Move files needing SUFFIX"; -.endif -.for entry in ${UNIQUE_SUFFIX_FILES} +. endif +. endif +. for entry in ${UNIQUE_${sufxtype}_FILES} @fname=${entry}; \ + if [ -n "${UNIQUE_${sufxtype}_EXTRA_EXT}" ]; then \ + fname=$${fname%${UNIQUE_${sufxtype}_EXTRA_EXT}}; \ + fi; \ if [ -e ${STAGEDIR}${PREFIX}/$${fname} -o -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \ - newf=$${fname%/*}/$${fname##*/}${UNIQUE_SUFFIX}; \ + ofname=$${fname##*/}; \ + newf=$${fname%/*}/$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}${UNIQUE_SUFFIX}$${ofname#$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}}; \ ${ECHO_MSG} "Move: $${fname} --> $${newf}"; \ ${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \ - ${ECHO_CMD} MOVED:$${fname}:$${newf} >> ${_UNIQUEPKGLIST}; \ - ${_DO_CONDITIONAL_SYMLINK}; \ + ${ECHO_CMD} MOVED:$${fname}${UNIQUE_${sufxtype}_EXTRA_EXT}:$${newf}${UNIQUE_${sufxtype}_EXTRA_EXT} >> ${_UNIQUEPKGLIST}; \ + ${_DO_CONDITIONAL_SYMLINK:S/%%EXTRA_EXT%%/${UNIQUE_${sufxtype}_EXTRA_EXT}/g}; \ else \ ${ECHO_MSG} "Makefile error: UNIQUE (suffix): $${fname} not found"; \ ${FALSE}; \ fi; -.endfor -.if ${UNIQUE_FIND_SUFFIX_FILES} - @for fname in `${UNIQUE_FIND_SUFFIX_FILES}`; do \ +. endfor +. if defined(UNIQUE_FIND_${sufxtype}_FILES) && ${UNIQUE_FIND_${sufxtype}_FILES} + @for fname in `${UNIQUE_FIND_${sufxtype}_FILES}`; do \ + if [ -n "${UNIQUE_${sufxtype}_EXTRA_EXT}" ]; then \ + fname=$${fname%${UNIQUE_${sufxtype}_EXTRA_EXT}}; \ + fi; \ if [ -e ${STAGEDIR}${PREFIX}/$${fname} -o -L ${STAGEDIR}${PREFIX}/$${fname} ]; then \ - newf=$${fname%/*}/$${fname##*/}${UNIQUE_SUFFIX}; \ + ofname=$${fname##*/}; \ + newf=$${fname%/*}/$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}${UNIQUE_SUFFIX}$${ofname#$${ofname%${UNIQUE_${sufxtype}_WITH_EXT}}}; \ ${ECHO_MSG} "Move: $${fname} --> $${newf}"; \ ${MV} ${STAGEDIR}${PREFIX}/$${fname} ${STAGEDIR}${PREFIX}/$${newf}; \ - ${ECHO_CMD} MOVED:$${fname}:$${newf} >> ${_UNIQUEPKGLIST}; \ - ${_DO_CONDITIONAL_SYMLINK}; \ + ${ECHO_CMD} MOVED:$${fname}${UNIQUE_${sufxtype}_EXTRA_EXT}:$${newf}${UNIQUE_${sufxtype}_EXTRA_EXT} >> ${_UNIQUEPKGLIST}; \ + ${_DO_CONDITIONAL_SYMLINK:S/%%EXTRA_EXT%%/${UNIQUE_${sufxtype}_EXTRA_EXT}/g}; \ else \ ${ECHO_MSG} "Makefile error: UNIQUE (suffix): $${fname} not found"; \ ${FALSE}; \ fi; \ done; -.endif +. endif +.endfor # Using .if exists(${_UNIQUEPKGPLIST} below instead of the sh test # does not work in poudriere. It works fine on the CLI, though... Index: head/mail/py-pymailq/Makefile =================================================================== --- head/mail/py-pymailq/Makefile +++ head/mail/py-pymailq/Makefile @@ -19,22 +19,14 @@ USES= python:2.7+ USE_PYTHON= autoplist distutils concurrent -.include +PLIST_FILES= man/man1/pqshell.1.gz -PLIST_FILES+= man/man1/pqshell-${PYTHON_VER}.1.gz -.if ${PYTHON_VERSION} == ${PYTHON_DEFAULT_VERSION} -PLIST_FILES+= man/man1/pqshell.1.gz -.endif - post-patch: @${REINPLACE_CMD} -e \ 's|%%DOCSDIR%%|${DOCSDIR}|g; s|%%EXAMPLESDIR%%|${EXAMPLESDIR}|g' \ ${WRKSRC}/setup.py post-install: - ${INSTALL_MAN} ${WRKSRC}/man/pqshell.1 ${STAGEDIR}${MANPREFIX}/man/man1/pqshell-${PYTHON_VER}.1 -.if ${PYTHON_VERSION} == ${PYTHON_DEFAULT_VERSION} - ${LN} -sf pqshell-${PYTHON_VER}.1 ${STAGEDIR}${MANPREFIX}/man/man1/pqshell.1 -.endif + ${INSTALL_MAN} ${WRKSRC}/man/pqshell.1 ${STAGEDIR}${MANPREFIX}/man/man1/pqshell.1 -.include +.include Index: head/math/py-numpy/Makefile =================================================================== --- head/math/py-numpy/Makefile +++ head/math/py-numpy/Makefile @@ -46,10 +46,6 @@ .include -.if ${PYTHON_VERSION} == ${PYTHON_DEFAULT_VERSION} -PLIST_FILES+= man/man1/f2py.1.gz -.endif - post-patch: @${REINPLACE_CMD} -e "s|%%FC%%|${FC}|" ${WRKSRC}/numpy/distutils/fcompiler/gnu.py @${CP} ${FILESDIR}/site.cfg ${WRKSRC}/site.cfg @@ -86,10 +82,7 @@ @${REINPLACE_CMD} -e "s|:%%LOCALBASE%%/include/suitesparse||" ${WRKSRC}/site.cfg post-install: - ${INSTALL_MAN} ${WRKSRC}/doc/f2py/f2py.1 ${STAGEDIR}${MANPREFIX}/man/man1/f2py-${PYTHON_VER}.1 -.if ${PYTHON_VERSION} == ${PYTHON_DEFAULT_VERSION} - ${LN} -sf f2py-${PYTHON_VER}.1 ${STAGEDIR}${MANPREFIX}/man/man1/f2py.1 -.endif + ${INSTALL_MAN} ${WRKSRC}/doc/f2py/f2py.1 ${STAGEDIR}${MANPREFIX}/man/man1/f2py.1 ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' | ${XARGS} ${STRIP_CMD} post-install-DOCS-on: Index: head/math/py-numpy/pkg-plist =================================================================== --- head/math/py-numpy/pkg-plist +++ head/math/py-numpy/pkg-plist @@ -771,4 +771,4 @@ %%PYTHON_SITELIBDIR%%/numpy/version.py %%PYTHON_SITELIBDIR%%/numpy/version.pyc %%PYTHON_SITELIBDIR%%/numpy/version.pyo -man/man1/f2py-%%PYTHON_VER%%.1.gz +man/man1/f2py.1.gz Index: head/www/py-ddgr/Makefile =================================================================== --- head/www/py-ddgr/Makefile +++ head/www/py-ddgr/Makefile @@ -28,7 +28,7 @@ OPTIONS_DEFINE= DOCS PLIST_FILES= bin/ddgr \ - share/man/man1/ddgr-${PYTHON_VER}.1.gz + man/man1/ddgr.1.gz PORTDOCS= README.md .include Index: head/www/py-ddgr/files/patch-Makefile =================================================================== --- head/www/py-ddgr/files/patch-Makefile +++ head/www/py-ddgr/files/patch-Makefile @@ -1,11 +1,21 @@ --- Makefile.orig 2017-11-29 12:33:58 UTC +++ Makefile -@@ -13,7 +13,7 @@ install: +@@ -1,6 +1,6 @@ + PREFIX ?= /usr/local + BINDIR = $(DESTDIR)$(PREFIX)/bin +-MANDIR = $(DESTDIR)$(PREFIX)/share/man/man1 ++MANDIR = $(DESTDIR)$(PREFIX)/man/man1 + DOCDIR = $(DESTDIR)$(PREFIX)/share/doc/ddgr + + .PHONY: all install uninstall +@@ -11,9 +11,8 @@ install: + install -m755 -d $(BINDIR) + install -m755 -d $(MANDIR) install -m755 -d $(DOCDIR) - gzip -c ddgr.1 > ddgr.1.gz +- gzip -c ddgr.1 > ddgr.1.gz install -m755 ddgr $(BINDIR) - install -m644 ddgr.1.gz $(MANDIR) -+ install -m644 ddgr.1.gz $(MANDIR)/ddgr-${FREEBSD_PYTHON_VER}.1.gz ++ install -m644 ddgr.1 $(MANDIR) install -m644 README.md $(DOCDIR) rm -f ddgr.1.gz