aboutsummaryrefslogtreecommitdiff
path: root/textproc
diff options
context:
space:
mode:
authorKai Knoblich <kai@FreeBSD.org>2022-02-28 11:50:26 +0000
committerKai Knoblich <kai@FreeBSD.org>2022-02-28 11:50:26 +0000
commite30bd8fffa1affd0aa00d336f170a102f819d633 (patch)
treec116252d5306fdafbda03bab5eb095f5b9b4290a /textproc
parent4d0c38877a77eb7623f27e02127a22c6a8c92b1f (diff)
downloadports-e30bd8fffa1affd0aa00d336f170a102f819d633.tar.gz
ports-e30bd8fffa1affd0aa00d336f170a102f819d633.zip
textproc/py-mkdocstrings: New port
This Python package is an extension for MkDocs and its main purpose is the automation of documentation from sources. Features: * Language-agnostic * Multiple themes support * Cross-references across pages * Cross-references across sites * Inline injection in Markdown * Global and local configuration * Watch source code directories * Reasonable defaults WWW: https://github.com/mkdocstrings/mkdocstrings
Diffstat (limited to 'textproc')
-rw-r--r--textproc/Makefile1
-rw-r--r--textproc/py-mkdocstrings/Makefile40
-rw-r--r--textproc/py-mkdocstrings/distinfo3
-rw-r--r--textproc/py-mkdocstrings/files/patch-setup.py44
-rw-r--r--textproc/py-mkdocstrings/pkg-descr15
5 files changed, 103 insertions, 0 deletions
diff --git a/textproc/Makefile b/textproc/Makefile
index 0debc484f844..249d51a1f581 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -1368,6 +1368,7 @@
SUBDIR += py-mkdocs-material
SUBDIR += py-mkdocs-material-extensions
SUBDIR += py-mkdocs-nature
+ SUBDIR += py-mkdocstrings
SUBDIR += py-mwparserfromhell
SUBDIR += py-myst-parser
SUBDIR += py-nbsphinx
diff --git a/textproc/py-mkdocstrings/Makefile b/textproc/py-mkdocstrings/Makefile
new file mode 100644
index 000000000000..70d9385e0aba
--- /dev/null
+++ b/textproc/py-mkdocstrings/Makefile
@@ -0,0 +1,40 @@
+PORTNAME= mkdocstrings
+DISTVERSION= 0.17.0
+CATEGORIES= textproc python
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Automatic documentation from sources for MkDocs
+
+LICENSE= ISCL
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.11.1:devel/py-Jinja2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}markdown>=3.3:textproc/py-markdown@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}markupsafe>=1.1:textproc/py-markupsafe@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mkdocs>=1.2:textproc/py-mkdocs@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pymdown-extensions>=6.3:textproc/py-pymdown-extensions@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mkdocs-autorefs>=0.1:textproc/py-mkdocs-autorefs@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytkdocs>=0.14.0:textproc/py-pytkdocs@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mkdocs-material>0:textproc/py-sphinx@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sphinx>0:textproc/py-sphinx@${PY_FLAVOR}
+
+USES= python:3.6+
+USE_GITHUB= yes
+USE_PYTHON= autoplist distutils
+
+TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+NO_ARCH= yes
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%DISTVERSION%%|${DISTVERSION}|' ${WRKSRC}/setup.py
+
+# Skip "test_sphinx_load_mkdocstrings_inventory_file" as it requires
+# mkdocs-gen-files (not in Ports tree, yet).
+do-test:
+ @cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m pytest -v -rs \
+ -k 'not test_sphinx_load_mkdocstrings_inventory_file'
+
+.include <bsd.port.mk>
diff --git a/textproc/py-mkdocstrings/distinfo b/textproc/py-mkdocstrings/distinfo
new file mode 100644
index 000000000000..7ffaec2dfc77
--- /dev/null
+++ b/textproc/py-mkdocstrings/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1645976995
+SHA256 (mkdocstrings-mkdocstrings-0.17.0_GH0.tar.gz) = dcd8f03387c423bb1ddf6fbbec8dfa0432dfc3d01001adb4a0c07985f333971c
+SIZE (mkdocstrings-mkdocstrings-0.17.0_GH0.tar.gz) = 73551
diff --git a/textproc/py-mkdocstrings/files/patch-setup.py b/textproc/py-mkdocstrings/files/patch-setup.py
new file mode 100644
index 000000000000..99fdbaca862e
--- /dev/null
+++ b/textproc/py-mkdocstrings/files/patch-setup.py
@@ -0,0 +1,44 @@
+--- setup.py.orig 2022-02-28 05:29:01 UTC
++++ setup.py
+@@ -0,0 +1,41 @@
++# Generated via pdm export -f setuppy" (run "pdm lock" beforehand)
++# -*- coding: utf-8 -*-
++from setuptools import setup
++
++INSTALL_REQUIRES = [
++ 'Jinja2>=2.11.1',
++ 'Markdown>=3.3',
++ 'MarkupSafe>=1.1',
++ 'mkdocs>=1.2',
++ 'mkdocs-autorefs>=0.1',
++ 'pymdown-extensions>=6.3',
++ 'pytkdocs>=0.14.0',
++]
++ENTRY_POINTS = {
++ 'mkdocs.plugins': [
++ 'mkdocstrings = mkdocstrings.plugin:MkdocstringsPlugin',
++ ],
++}
++
++setup_kwargs = {
++ 'name': 'mkdocstrings',
++ 'version': '%%DISTVERSION%%',
++ 'description': 'Automatic documentation from sources, for MkDocs.',
++ 'author': '',
++ 'author_email': 'Timothée Mazzucotelli <pawamoy@pm.me>',
++ 'package_dir': {'': 'src/'},
++ 'packages': [
++ 'mkdocstrings',
++ 'mkdocstrings.handlers',
++ 'mkdocstrings.templates.python',
++ 'mkdocstrings.templates.python.material',
++ 'mkdocstrings.templates.python.mkdocs',
++ 'mkdocstrings.templates.python.readthedocs'
++ ],
++ 'package_data': {'': ['*']},
++ 'install_requires': INSTALL_REQUIRES,
++ 'python_requires': '>=3.6.2',
++ 'entry_points': ENTRY_POINTS,
++}
++
++setup(**setup_kwargs)
diff --git a/textproc/py-mkdocstrings/pkg-descr b/textproc/py-mkdocstrings/pkg-descr
new file mode 100644
index 000000000000..e2c6e34360cd
--- /dev/null
+++ b/textproc/py-mkdocstrings/pkg-descr
@@ -0,0 +1,15 @@
+This Python package is an extension for MkDocs and its main purpose is the
+automation of documentation from sources.
+
+Features:
+
+* Language-agnostic
+* Multiple themes support
+* Cross-references across pages
+* Cross-references across sites
+* Inline injection in Markdown
+* Global and local configuration
+* Watch source code directories
+* Reasonable defaults
+
+WWW: https://github.com/mkdocstrings/mkdocstrings