git: 0726eeaeb7ec - main - textproc/py-multimark: New port: Python bindings to cmark: CommonMark parsing and rendering
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 08 Sep 2026 00:42:17 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=0726eeaeb7ecc7de728e8b7debf33999a6a0144a
commit 0726eeaeb7ecc7de728e8b7debf33999a6a0144a
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-09-07 18:14:21 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-09-08 00:38:58 +0000
textproc/py-multimark: New port: Python bindings to cmark: CommonMark parsing and rendering
PR: 298266
Approved by: Baptiste Daroussin <bapt@FreeBSD.org> (on behalf of portmgr@)
---
textproc/Makefile | 1 +
textproc/py-multimark/Makefile | 33 ++++++++++++++++++++++++
textproc/py-multimark/distinfo | 3 +++
textproc/py-multimark/files/patch-pyproject.toml | 23 +++++++++++++++++
textproc/py-multimark/pkg-descr | 3 +++
5 files changed, 63 insertions(+)
diff --git a/textproc/Makefile b/textproc/Makefile
index 3c3a9dd761e6..19cdffcf424d 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -1571,6 +1571,7 @@
SUBDIR += py-mkdocstrings-python
SUBDIR += py-mkdocstrings-python-legacy
SUBDIR += py-morse3
+ SUBDIR += py-multimark
SUBDIR += py-mwparserfromhell
SUBDIR += py-myst-parser
SUBDIR += py-nbsphinx
diff --git a/textproc/py-multimark/Makefile b/textproc/py-multimark/Makefile
new file mode 100644
index 000000000000..272a32a6a4f9
--- /dev/null
+++ b/textproc/py-multimark/Makefile
@@ -0,0 +1,33 @@
+PORTNAME= multimark
+PORTVERSION= 0.3.2
+CATEGORIES= textproc python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Python bindings to cmark: CommonMark parsing and rendering
+WWW= https://github.com/posit-dev/multimark
+
+LICENSE= MIT BSD2CLAUSE
+LICENSE_COMB= multi
+LICENSE_FILE_MIT= ${WRKSRC}/LICENSE
+LICENSE_FILE_BSD2CLAUSE=${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=1.15:devel/py-cffi@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools>=63.1.0:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.2:devel/py-setuptools-scm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=1.15:devel/py-cffi@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}click>=8.0:devel/py-click@${PY_FLAVOR}
+
+USES= compiler:c11 python
+USE_PYTHON= autoplist pep517 pytest
+
+TEST_ARGS= --disable-plugin-autoload
+
+post-install:
+ @${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name '*.so' -exec ${STRIP_CMD} {} +
+
+# tests as of 0.3.2: 6643 passed, 43 xfailed in 2.24s
+
+.include <bsd.port.mk>
diff --git a/textproc/py-multimark/distinfo b/textproc/py-multimark/distinfo
new file mode 100644
index 000000000000..5994feca55f2
--- /dev/null
+++ b/textproc/py-multimark/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1788771858
+SHA256 (multimark-0.3.2.tar.gz) = 49da83d04d590fdf93799b724881657d493e2bfb2b2159e9d50bce06d58ce13f
+SIZE (multimark-0.3.2.tar.gz) = 1494543
diff --git a/textproc/py-multimark/files/patch-pyproject.toml b/textproc/py-multimark/files/patch-pyproject.toml
new file mode 100644
index 000000000000..5b8b024cc034
--- /dev/null
+++ b/textproc/py-multimark/files/patch-pyproject.toml
@@ -0,0 +1,23 @@
+-- Adjust pyproject.toml for compatibility with the setuptools version
+-- available in the FreeBSD ports tree (devel/py-setuptools). Lower the
+-- setuptools lower bound, add the wheel build requirement expected by the
+-- FreeBSD Python framework, and rewrite the SPDX license expression into a
+-- license-file reference that older setuptools understands.
+
+--- pyproject.toml.orig 2026-08-07 20:49:00 UTC
++++ pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["setuptools>=68", "setuptools_scm>=6.2", "cffi>=1.15"]
++requires = ["setuptools>=63.1.0", "wheel", "setuptools_scm>=6.2", "cffi>=1.15"]
+ build-backend = "setuptools.build_meta"
+
+ [project]
+@@ -8,7 +8,7 @@
+ dynamic = ["version"]
+ description = "Python bindings to cmark: CommonMark parsing and rendering (HTML, LaTeX, man, XML)"
+ readme = "README.md"
+-license = "MIT AND BSD-2-Clause"
++license = {file = "LICENSE"}
+ requires-python = ">=3.9"
+ dependencies = ["cffi>=1.15", "click>=8.0"]
diff --git a/textproc/py-multimark/pkg-descr b/textproc/py-multimark/pkg-descr
new file mode 100644
index 000000000000..41957f895d85
--- /dev/null
+++ b/textproc/py-multimark/pkg-descr
@@ -0,0 +1,3 @@
+multimark provides Python bindings to cmark-gfm, a widely-used implementation
+of the CommonMark specification with GitHub-Flavored Markdown extensions. It
+supports parsing and rendering Markdown to HTML, LaTeX, man, and XML formats.