git: 0c52e0e373e8 - 2021Q4 - devel/py-breathe: RST&Sphinx bridge to Doxygen [backport]

From: Matthias Andree <mandree_at_FreeBSD.org>
Date: Mon, 01 Nov 2021 17:03:50 UTC
The branch 2021Q4 has been updated by mandree:

URL: https://cgit.FreeBSD.org/ports/commit/?id=0c52e0e373e804a48d47854902b7fdb61634c12a

commit 0c52e0e373e804a48d47854902b7fdb61634c12a
Author:     Matthias Andree <mandree@FreeBSD.org>
AuthorDate: 2021-10-18 15:01:03 +0000
Commit:     Matthias Andree <mandree@FreeBSD.org>
CommitDate: 2021-11-01 17:02:52 +0000

    devel/py-breathe: RST&Sphinx bridge to Doxygen [backport]
    
    This combines three commits to avoid the bulk of larger files.
    
    Breathe provides a bridge between the Sphinx and Doxygen documentation systems.
    
    It is an easy way to include Doxygen information in a set of documentation
    generated by Sphinx. The aim is to produce an autodoc like support for people
    who enjoy using Sphinx but work with languages other than Python. The system
    relies on the Doxygen’s xml output.
    
    WWW: https://github.com/michaeljones/breathe
    
    (cherry picked from commit 7fc9eb511a9de8d22aadc855b2812208e04f7b35)
    (cherry picked from commit 47570d5b3c9b646a2b17ef9b4a28e52e21e4c48c)
    (cherry picked from commit 7c2762b3f43341c1f9822c3ee3634f5ddf5a4d8d)
---
 devel/Makefile             |  1 +
 devel/py-breathe/Makefile  | 70 ++++++++++++++++++++++++++++++++++++++++++++++
 devel/py-breathe/distinfo  |  3 ++
 devel/py-breathe/pkg-descr |  8 ++++++
 4 files changed, 82 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 6671bc68ec53..d3ff5d15f4c6 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4268,6 +4268,7 @@
     SUBDIR += py-boolean.py
     SUBDIR += py-boto
     SUBDIR += py-botocore
+    SUBDIR += py-breathe
     SUBDIR += py-bsd
     SUBDIR += py-btest
     SUBDIR += py-build
diff --git a/devel/py-breathe/Makefile b/devel/py-breathe/Makefile
new file mode 100644
index 000000000000..7c676689b191
--- /dev/null
+++ b/devel/py-breathe/Makefile
@@ -0,0 +1,70 @@
+PORTNAME=	breathe
+PORTVERSION=	4.31.0
+PORTREVISION=	1
+CATEGORIES=	devel python
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	mandree@FreeBSD.org
+COMMENT=	Extension to reStructuredText and Sphinx to render Doxygen xml output
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${RUN_DEPENDS}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR} \
+		doxygen:devel/doxygen
+
+USES=		gmake python:3.6+
+USE_GITHUB=	yes
+GH_TUPLE=	michaeljones:breathe:v${PORTVERSION}
+USE_PYTHON=	autoplist distutils
+NO_ARCH=	yes
+
+BINARY_ALIAS=	sphinx-build=sphinx-build-${PYTHON_VER}
+
+OPTIONS_DEFINE=		DOCS EXAMPLES PDFDOCS
+OPTIONS_SUB=		yes
+PDFDOCS_DESC=		Build PDF documentation (implies DOCS)
+PDFDOCS_IMPLIES=	DOCS
+PDFDOCS_BUILD_DEPENDS=	pdflatex:print/tex-formats
+
+PORTDOCS=	*
+PORTEXAMPLES=	*
+
+post-patch:
+		${REINPLACE_CMD} "s/^git_tag = subprocess.*/git_tag = b'v${PORTVERSION}'/" \
+			${WRKSRC}/documentation/source/conf.py
+
+post-build-DOCS-on:
+		cd ${WRKSRC} && \
+			${SETENV} PYTHONPATH=${WRKSRC}/ \
+				${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} \
+				${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS:N${DESTDIRNAME}=*} html </dev/null
+
+post-build-PDFDOCS-on:
+		cd ${WRKSRC} && \
+			${SETENV} PYTHONPATH=${WRKSRC}/ \
+				${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} \
+				${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS:N${DESTDIRNAME}=*} pdf </dev/null
+
+post-install-DOCS-on:
+		${MKDIR} ${STAGEDIR}${DOCSDIR}
+		cd ${WRKSRC}/documentation/build && \
+			${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR} && \
+			${RM} -r ${STAGEDIR}${DOCSDIR}/html/_sources
+
+post-install-EXAMPLES-on:
+		${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+		cd ${WRKSRC}/examples && \
+			${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
+
+post-install-PDFDOCS-on:
+		${MKDIR} ${STAGEDIR}${DOCSDIR}
+		${INSTALL_MAN} ${WRKSRC}/documentation/build/latex/*.pdf ${STAGEDIR}${DOCSDIR}
+
+do-test:
+		cd ${WRKSRC}/tests && \
+			PYTHONPATH=../:${STAGEDIR}${PYTHON_SITELIBDIR} \
+			${PYTHON_CMD} -m pytest -v
+
+.include <bsd.port.mk>
diff --git a/devel/py-breathe/distinfo b/devel/py-breathe/distinfo
new file mode 100644
index 000000000000..7dced5253fc2
--- /dev/null
+++ b/devel/py-breathe/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1634549716
+SHA256 (michaeljones-breathe-4.31.0-v4.31.0_GH0.tar.gz) = 63edd18240b7aeb155c6b3d7de13c1322dd7c150f2ad2e9742e95e51b0dc48a8
+SIZE (michaeljones-breathe-4.31.0-v4.31.0_GH0.tar.gz) = 193629
diff --git a/devel/py-breathe/pkg-descr b/devel/py-breathe/pkg-descr
new file mode 100644
index 000000000000..23b731c9603f
--- /dev/null
+++ b/devel/py-breathe/pkg-descr
@@ -0,0 +1,8 @@
+Breathe provides a bridge between the Sphinx and Doxygen documentation systems.
+
+It is an easy way to include Doxygen information in a set of documentation
+generated by Sphinx. The aim is to produce an autodoc like support for people
+who enjoy using Sphinx but work with languages other than Python. The system
+relies on the Doxygen's xml output.
+
+WWW: https://github.com/michaeljones/breathe