summaryrefslogtreecommitdiff
path: root/dev-libs/json-parser
diff options
context:
space:
mode:
authorHuang Rui <vowstar@gmail.com>2025-05-06 17:00:00 +0800
committerPetr Vaněk <arkamar@gentoo.org>2025-05-08 13:40:38 +0200
commitfb89b4e2acc3c63b7b118c168dd5d779b60f7a72 (patch)
tree3253811b4a58414ce8e39172d3f8fd7de136b30e /dev-libs/json-parser
parente947f6574fb75f02514df6139d6616435da115e2 (diff)
downloadgentoo-fb89b4e2acc3c63b7b118c168dd5d779b60f7a72.tar.gz
gentoo-fb89b4e2acc3c63b7b118c168dd5d779b60f7a72.tar.bz2
gentoo-fb89b4e2acc3c63b7b118c168dd5d779b60f7a72.zip
dev-libs/json-parser: fix bug 954840 and 955499
Closes: https://bugs.gentoo.org/954840 Closes: https://bugs.gentoo.org/955499 Signed-off-by: Huang Rui <vowstar@gmail.com> Upstream-PR: https://github.com/json-parser/json-parser/pull/182 Closes: https://github.com/gentoo/gentoo/pull/41956 Signed-off-by: Petr Vaněk <arkamar@gentoo.org>
Diffstat (limited to 'dev-libs/json-parser')
-rw-r--r--dev-libs/json-parser/files/json-parser-1.1.0-fix-suspicious-version.patch31
-rw-r--r--dev-libs/json-parser/files/json-parser-1.1.0-python3-pylong.patch40
-rw-r--r--dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild10
3 files changed, 78 insertions, 3 deletions
diff --git a/dev-libs/json-parser/files/json-parser-1.1.0-fix-suspicious-version.patch b/dev-libs/json-parser/files/json-parser-1.1.0-fix-suspicious-version.patch
new file mode 100644
index 000000000000..9c65ebe66f61
--- /dev/null
+++ b/dev-libs/json-parser/files/json-parser-1.1.0-fix-suspicious-version.patch
@@ -0,0 +1,31 @@
+From f9b99a73ca108e4073b4fe501a3426dd4e21bba6 Mon Sep 17 00:00:00 2001
+From: Huang Rui <vowstar@gmail.com>
+Date: Tue, 6 May 2025 16:38:59 +0800
+Subject: [PATCH] build(python): Update package name and add version in
+ setup.py
+
+- Change package name to use hyphens instead of spaces
+- Add version 1.1.0 to setup configuration
+
+Signed-off-by: Huang Rui <vowstar@gmail.com>
+---
+ bindings/python/setup.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/bindings/python/setup.py b/bindings/python/setup.py
+index 57be7d584d5a..cac13595eec9 100644
+--- a/bindings/python/setup.py
++++ b/bindings/python/setup.py
+@@ -8,7 +8,8 @@ ext_modules.append(Extension('jsonparser',
+
+
+ setup(
+- name = 'json-parser python wrapper',
++ name = 'json-parser-python-wrapper',
++ version = '1.1.0',
+ cmdclass = {'build_ext': build_ext},
+ ext_modules = ext_modules
+ )
+--
+2.49.0
+
diff --git a/dev-libs/json-parser/files/json-parser-1.1.0-python3-pylong.patch b/dev-libs/json-parser/files/json-parser-1.1.0-python3-pylong.patch
new file mode 100644
index 000000000000..858afa485a69
--- /dev/null
+++ b/dev-libs/json-parser/files/json-parser-1.1.0-python3-pylong.patch
@@ -0,0 +1,40 @@
+From 5bd7dc824bcffd867edef7ef80cc896c8c51ce38 Mon Sep 17 00:00:00 2001
+From: Huang Rui <vowstar@gmail.com>
+Date: Tue, 6 May 2025 16:17:53 +0800
+Subject: [PATCH] fix(python): Add Python 3 compatibility macros for PyInt
+ functions
+
+- Add PY_MAJOR_VERSION check to define PyInt_* macros for Python 3
+- Replace deprecated PyInt functions with PyLong equivalents in Python 3
+
+Signed-off-by: Huang Rui <vowstar@gmail.com>
+---
+ bindings/python/wrap_json.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/bindings/python/wrap_json.c b/bindings/python/wrap_json.c
+index bd0360512fd3..1d42a82aad77 100644
+--- a/bindings/python/wrap_json.c
++++ b/bindings/python/wrap_json.c
+@@ -27,6 +27,18 @@
+
+ #include "../../json.c"
+
++#include <Python.h>
++
++#if PY_MAJOR_VERSION >= 3
++ /* Define PyInt_* only for Python 3, where they no longer exist */
++ #ifndef PyInt_FromLong
++ #define PyInt_FromLong PyLong_FromLong
++ #endif
++ #ifndef PyInt_AsLong
++ #define PyInt_AsLong PyLong_AsLong
++ #endif
++#endif
++
+ PyObject * json_exception = PyErr_NewException("jsonparser.JSONException",
+ NULL, NULL);
+
+--
+2.49.0
+
diff --git a/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild b/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild
index 184acdce391c..f5f622296c05 100644
--- a/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild
+++ b/dev-libs/json-parser/json-parser-1.1.0_p20211208.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_OPTIONAL=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_COMPAT=( python3_{11..13} )
inherit distutils-r1 edo toolchain-funcs
@@ -35,7 +35,11 @@ BDEPEND="
)
"
-PATCHES=( "${FILESDIR}/${PN}-1.1.0-pkgconfig-libdir.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-1.1.0-pkgconfig-libdir.patch"
+ "${FILESDIR}/${PN}-1.1.0-python3-pylong.patch"
+ "${FILESDIR}/${PN}-1.1.0-fix-suspicious-version.patch"
+)
wrap_python() {
local phase=$1