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>
This commit is contained in:
Huang Rui
2025-05-06 17:00:00 +08:00
committed by Petr Vaněk
parent e947f6574f
commit fb89b4e2ac
3 changed files with 78 additions and 3 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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