git: 59b6b63541b3 - main - textproc/comrak: New port: CommonMark + GFM compatible Markdown parser and renderer

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 01 Jan 2023 09:42:26 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=59b6b63541b3da6e0767b9e3963468f3870ff256

commit 59b6b63541b3da6e0767b9e3963468f3870ff256
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-01-01 07:53:06 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-01-01 09:42:20 +0000

    textproc/comrak: New port: CommonMark + GFM compatible Markdown parser and renderer
---
 textproc/Makefile         |   1 +
 textproc/comrak/Makefile  |  82 +++++++++++++++++++++++++++++++
 textproc/comrak/distinfo  | 123 ++++++++++++++++++++++++++++++++++++++++++++++
 textproc/comrak/pkg-descr |   2 +
 4 files changed, 208 insertions(+)

diff --git a/textproc/Makefile b/textproc/Makefile
index 726d801ed566..7c9cc18e4fa9 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -106,6 +106,7 @@
     SUBDIR += codesearch
     SUBDIR += codespell
     SUBDIR += colordiff
+    SUBDIR += comrak
     SUBDIR += confetti
     SUBDIR += confget
     SUBDIR += consul-template
diff --git a/textproc/comrak/Makefile b/textproc/comrak/Makefile
new file mode 100644
index 000000000000..fe6d47ad8d6f
--- /dev/null
+++ b/textproc/comrak/Makefile
@@ -0,0 +1,82 @@
+PORTNAME=	comrak
+DISTVERSION=	0.9.1
+CATEGORIES=	textproc
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	CommonMark + GFM compatible Markdown parser and renderer
+WWW=		https://docs.rs/comrak/latest/comrak/
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+USES=		cargo
+USE_GITHUB=	yes
+GH_ACCOUNT=	kivikakk
+
+CARGO_CRATES=	aho-corasick-0.7.20 \
+		ansi_term-0.12.1 \
+		atom-0.3.6 \
+		atty-0.2.14 \
+		bitflags-1.3.2 \
+		block-buffer-0.10.3 \
+		cfg-if-1.0.0 \
+		clap-2.34.0 \
+		cpufeatures-0.2.5 \
+		crypto-common-0.1.6 \
+		digest-0.10.6 \
+		dirs-4.0.0 \
+		dirs-sys-0.3.7 \
+		entities-1.0.1 \
+		generic-array-0.14.6 \
+		getrandom-0.2.8 \
+		hermit-abi-0.1.19 \
+		lazy_static-1.4.0 \
+		libc-0.2.139 \
+		memchr-2.5.0 \
+		once_cell-1.17.0 \
+		pest-2.5.2 \
+		pest_derive-2.5.2 \
+		pest_generator-2.5.2 \
+		pest_meta-2.5.2 \
+		proc-macro2-1.0.49 \
+		pulse-0.5.3 \
+		quote-1.0.23 \
+		redox_syscall-0.2.16 \
+		redox_users-0.4.3 \
+		regex-1.7.0 \
+		regex-syntax-0.6.28 \
+		serde-1.0.152 \
+		sha1-0.10.5 \
+		shell-words-1.1.0 \
+		strsim-0.8.0 \
+		syn-1.0.107 \
+		textwrap-0.11.0 \
+		thiserror-1.0.38 \
+		thiserror-impl-1.0.38 \
+		time-0.1.45 \
+		time-0.3.17 \
+		time-core-0.1.0 \
+		timebomb-0.1.2 \
+		twoway-0.2.2 \
+		typed-arena-1.7.0 \
+		typenum-1.16.0 \
+		ucd-trie-0.1.5 \
+		unchecked-index-0.2.2 \
+		unicode-ident-1.0.6 \
+		unicode-width-0.1.10 \
+		unicode_categories-0.1.1 \
+		vec_map-0.8.2 \
+		version_check-0.9.4 \
+		wasi-0.10.0+wasi-snapshot-preview1 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		xdg-2.4.1
+
+PLIST_FILES=	bin/${PORTNAME}
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/textproc/comrak/distinfo b/textproc/comrak/distinfo
new file mode 100644
index 000000000000..5b3f55ba772d
--- /dev/null
+++ b/textproc/comrak/distinfo
@@ -0,0 +1,123 @@
+TIMESTAMP = 1672558296
+SHA256 (rust/crates/aho-corasick-0.7.20.crate) = cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac
+SIZE (rust/crates/aho-corasick-0.7.20.crate) = 111440
+SHA256 (rust/crates/ansi_term-0.12.1.crate) = d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2
+SIZE (rust/crates/ansi_term-0.12.1.crate) = 24838
+SHA256 (rust/crates/atom-0.3.6.crate) = c9ff149ed9780025acfdb36862d35b28856bb693ceb451259a7164442f22fdc3
+SIZE (rust/crates/atom-0.3.6.crate) = 73550
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/block-buffer-0.10.3.crate) = 69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e
+SIZE (rust/crates/block-buffer-0.10.3.crate) = 10465
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/clap-2.34.0.crate) = a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c
+SIZE (rust/crates/clap-2.34.0.crate) = 202210
+SHA256 (rust/crates/cpufeatures-0.2.5.crate) = 28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320
+SIZE (rust/crates/cpufeatures-0.2.5.crate) = 11251
+SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
+SHA256 (rust/crates/digest-0.10.6.crate) = 8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f
+SIZE (rust/crates/digest-0.10.6.crate) = 19527
+SHA256 (rust/crates/dirs-4.0.0.crate) = ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059
+SIZE (rust/crates/dirs-4.0.0.crate) = 12503
+SHA256 (rust/crates/dirs-sys-0.3.7.crate) = 1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6
+SIZE (rust/crates/dirs-sys-0.3.7.crate) = 10597
+SHA256 (rust/crates/entities-1.0.1.crate) = b5320ae4c3782150d900b79807611a59a99fc9a1d61d686faafc24b93fc8d7ca
+SIZE (rust/crates/entities-1.0.1.crate) = 24795
+SHA256 (rust/crates/generic-array-0.14.6.crate) = bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9
+SIZE (rust/crates/generic-array-0.14.6.crate) = 15889
+SHA256 (rust/crates/getrandom-0.2.8.crate) = c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31
+SIZE (rust/crates/getrandom-0.2.8.crate) = 30553
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/libc-0.2.139.crate) = 201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79
+SIZE (rust/crates/libc-0.2.139.crate) = 638983
+SHA256 (rust/crates/memchr-2.5.0.crate) = 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
+SIZE (rust/crates/memchr-2.5.0.crate) = 65812
+SHA256 (rust/crates/once_cell-1.17.0.crate) = 6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66
+SIZE (rust/crates/once_cell-1.17.0.crate) = 32736
+SHA256 (rust/crates/pest-2.5.2.crate) = 0f6e86fb9e7026527a0d46bc308b841d73170ef8f443e1807f6ef88526a816d4
+SIZE (rust/crates/pest-2.5.2.crate) = 106500
+SHA256 (rust/crates/pest_derive-2.5.2.crate) = 96504449aa860c8dcde14f9fba5c58dc6658688ca1fe363589d6327b8662c603
+SIZE (rust/crates/pest_derive-2.5.2.crate) = 17728
+SHA256 (rust/crates/pest_generator-2.5.2.crate) = 798e0220d1111ae63d66cb66a5dcb3fc2d986d520b98e49e1852bfdb11d7c5e7
+SIZE (rust/crates/pest_generator-2.5.2.crate) = 14960
+SHA256 (rust/crates/pest_meta-2.5.2.crate) = 984298b75898e30a843e278a9f2452c31e349a073a0ce6fd950a12a74464e065
+SIZE (rust/crates/pest_meta-2.5.2.crate) = 31245
+SHA256 (rust/crates/proc-macro2-1.0.49.crate) = 57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5
+SIZE (rust/crates/proc-macro2-1.0.49.crate) = 41977
+SHA256 (rust/crates/pulse-0.5.3.crate) = 655612b6c8d96a8a02f331fe296cb4f925b68e87c1d195544675abca2d9b9af0
+SIZE (rust/crates/pulse-0.5.3.crate) = 101298
+SHA256 (rust/crates/quote-1.0.23.crate) = 8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b
+SIZE (rust/crates/quote-1.0.23.crate) = 28058
+SHA256 (rust/crates/redox_syscall-0.2.16.crate) = fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a
+SIZE (rust/crates/redox_syscall-0.2.16.crate) = 24012
+SHA256 (rust/crates/redox_users-0.4.3.crate) = b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b
+SIZE (rust/crates/redox_users-0.4.3.crate) = 15353
+SHA256 (rust/crates/regex-1.7.0.crate) = e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a
+SIZE (rust/crates/regex-1.7.0.crate) = 239421
+SHA256 (rust/crates/regex-syntax-0.6.28.crate) = 456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848
+SIZE (rust/crates/regex-syntax-0.6.28.crate) = 299288
+SHA256 (rust/crates/serde-1.0.152.crate) = bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb
+SIZE (rust/crates/serde-1.0.152.crate) = 77091
+SHA256 (rust/crates/sha1-0.10.5.crate) = f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3
+SIZE (rust/crates/sha1-0.10.5.crate) = 12146
+SHA256 (rust/crates/shell-words-1.1.0.crate) = 24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde
+SIZE (rust/crates/shell-words-1.1.0.crate) = 9871
+SHA256 (rust/crates/strsim-0.8.0.crate) = 8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a
+SIZE (rust/crates/strsim-0.8.0.crate) = 9309
+SHA256 (rust/crates/syn-1.0.107.crate) = 1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5
+SIZE (rust/crates/syn-1.0.107.crate) = 237539
+SHA256 (rust/crates/textwrap-0.11.0.crate) = d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060
+SIZE (rust/crates/textwrap-0.11.0.crate) = 17322
+SHA256 (rust/crates/thiserror-1.0.38.crate) = 6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0
+SIZE (rust/crates/thiserror-1.0.38.crate) = 18947
+SHA256 (rust/crates/thiserror-impl-1.0.38.crate) = 1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f
+SIZE (rust/crates/thiserror-impl-1.0.38.crate) = 15429
+SHA256 (rust/crates/time-0.1.45.crate) = 1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a
+SIZE (rust/crates/time-0.1.45.crate) = 28911
+SHA256 (rust/crates/time-0.3.17.crate) = a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376
+SIZE (rust/crates/time-0.3.17.crate) = 99048
+SHA256 (rust/crates/time-core-0.1.0.crate) = 2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd
+SIZE (rust/crates/time-core-0.1.0.crate) = 6597
+SHA256 (rust/crates/timebomb-0.1.2.crate) = 7f0886f4b637067027d8c9a038a9249d95648689d1a91009d9abb895625f883a
+SIZE (rust/crates/timebomb-0.1.2.crate) = 4881
+SHA256 (rust/crates/twoway-0.2.2.crate) = c57ffb460d7c24cd6eda43694110189030a3d1dfe418416d9468fd1c1d290b47
+SIZE (rust/crates/twoway-0.2.2.crate) = 30454
+SHA256 (rust/crates/typed-arena-1.7.0.crate) = a9b2228007eba4120145f785df0f6c92ea538f5a3635a612ecf4e334c8c1446d
+SIZE (rust/crates/typed-arena-1.7.0.crate) = 9927
+SHA256 (rust/crates/typenum-1.16.0.crate) = 497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba
+SIZE (rust/crates/typenum-1.16.0.crate) = 42477
+SHA256 (rust/crates/ucd-trie-0.1.5.crate) = 9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81
+SIZE (rust/crates/ucd-trie-0.1.5.crate) = 45391
+SHA256 (rust/crates/unchecked-index-0.2.2.crate) = eeba86d422ce181a719445e51872fa30f1f7413b62becb52e95ec91aa262d85c
+SIZE (rust/crates/unchecked-index-0.2.2.crate) = 8325
+SHA256 (rust/crates/unicode-ident-1.0.6.crate) = 84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc
+SIZE (rust/crates/unicode-ident-1.0.6.crate) = 42158
+SHA256 (rust/crates/unicode-width-0.1.10.crate) = c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b
+SIZE (rust/crates/unicode-width-0.1.10.crate) = 18968
+SHA256 (rust/crates/unicode_categories-0.1.1.crate) = 39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e
+SIZE (rust/crates/unicode_categories-0.1.1.crate) = 87298
+SHA256 (rust/crates/vec_map-0.8.2.crate) = f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191
+SIZE (rust/crates/vec_map-0.8.2.crate) = 14466
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f
+SIZE (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 26964
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/xdg-2.4.1.crate) = 0c4583db5cbd4c4c0303df2d15af80f0539db703fa1c68802d4cbbd2dd0f88f6
+SIZE (rust/crates/xdg-2.4.1.crate) = 14034
+SHA256 (kivikakk-comrak-0.9.1_GH0.tar.gz) = c5415987223ebcc64357eab720219d3d8393b61cedb58dc35396cc0249726986
+SIZE (kivikakk-comrak-0.9.1_GH0.tar.gz) = 227705
diff --git a/textproc/comrak/pkg-descr b/textproc/comrak/pkg-descr
new file mode 100644
index 000000000000..681b359eb82e
--- /dev/null
+++ b/textproc/comrak/pkg-descr
@@ -0,0 +1,2 @@
+comrak 100% CommonMark and GFM compatible Markdown parser.
+The design is based on cmark, so familiarity with that will help.