git: 398b3e83cfaa - main - textproc/py-json-repair: New port: Package to repair broken json strings

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sun, 31 Aug 2025 06:33:52 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=398b3e83cfaa77b4857456e8d0bd385217d00936

commit 398b3e83cfaa77b4857456e8d0bd385217d00936
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-08-31 06:33:38 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-08-31 06:33:50 +0000

    textproc/py-json-repair: New port: Package to repair broken json strings
---
 textproc/Makefile                                  |  1 +
 textproc/py-json-repair/Makefile                   | 25 ++++++++++++++++++++++
 textproc/py-json-repair/distinfo                   |  3 +++
 textproc/py-json-repair/files/patch-pyproject.toml | 18 ++++++++++++++++
 textproc/py-json-repair/pkg-descr                  |  1 +
 5 files changed, 48 insertions(+)

diff --git a/textproc/Makefile b/textproc/Makefile
index 8844023e0091..55dbd4fb3ea8 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -1433,6 +1433,7 @@
     SUBDIR += py-jinjanator-plugins
     SUBDIR += py-jiter
     SUBDIR += py-jq
+    SUBDIR += py-json-repair
     SUBDIR += py-json2html
     SUBDIR += py-jsonslicer
     SUBDIR += py-jsx-lexer
diff --git a/textproc/py-json-repair/Makefile b/textproc/py-json-repair/Makefile
new file mode 100644
index 000000000000..5d61179ad4de
--- /dev/null
+++ b/textproc/py-json-repair/Makefile
@@ -0,0 +1,25 @@
+PORTNAME=	json-repair
+DISTVERSION=	0.50.0
+CATEGORIES=	textproc python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	${PORTNAME:S/-/_/}-${PORTVERSION}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Package to repair broken json strings
+WWW=		https://github.com/mangiucugna/json_repair/
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PY_SETUPTOOLS} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0.44.0:devel/py-wheel@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	pep517 autoplist pytest
+
+NO_ARCH=	yes
+
+# tests as of 0.50.0: 3 failed, 94 passed, 4 errors in 7.12s, see https://github.com/mangiucugna/json_repair/issues/147
+
+.include <bsd.port.mk>
diff --git a/textproc/py-json-repair/distinfo b/textproc/py-json-repair/distinfo
new file mode 100644
index 000000000000..7349e6e3c8d5
--- /dev/null
+++ b/textproc/py-json-repair/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1756617943
+SHA256 (json_repair-0.50.0.tar.gz) = 1d42a3f353e389cf6051941b45fa44b6d130af3c91406a749e88586d830adb89
+SIZE (json_repair-0.50.0.tar.gz) = 34815
diff --git a/textproc/py-json-repair/files/patch-pyproject.toml b/textproc/py-json-repair/files/patch-pyproject.toml
new file mode 100644
index 000000000000..fc5dd52bcba2
--- /dev/null
+++ b/textproc/py-json-repair/files/patch-pyproject.toml
@@ -0,0 +1,18 @@
+--- pyproject.toml.orig	2025-08-31 06:16:42 UTC
++++ pyproject.toml
+@@ -4,8 +4,6 @@ version = "0.50.0"
+ [project]
+ name = "json_repair"
+ version = "0.50.0"
+-license = "MIT"
+-license-files = ["LICENSE"]
+ authors = [
+   { name="Stefano Baccianella", email="4247706+mangiucugna@users.noreply.github.com" },
+ ]
+@@ -111,4 +109,4 @@ line-ending = "auto"
+ 
+ [tool.ruff.lint.per-file-ignores]
+ # Explicit re-exports is fine in __init__.py, still a code smell elsewhere.
+-"__init__.py" = ["PLC0414"]
+\ No newline at end of file
++"__init__.py" = ["PLC0414"]
diff --git a/textproc/py-json-repair/pkg-descr b/textproc/py-json-repair/pkg-descr
new file mode 100644
index 000000000000..969888f55d45
--- /dev/null
+++ b/textproc/py-json-repair/pkg-descr
@@ -0,0 +1 @@
+json-repair is a simple package that can be used to fix an invalid json string.