sci-libs/libsigrokdecode: enable py3.13

Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2024-06-11 18:27:27 +01:00
parent f11dbbd9dd
commit d40d73bad5
3 changed files with 97 additions and 2 deletions

View File

@@ -0,0 +1,37 @@
http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff;h=0c35c5c5845d05e5f624c99d58af992d2f004446
From: Sascha Silbe <redacted>
Date: Mon, 23 Oct 2023 20:21:38 +0000 (+0200)
Subject: srd: drop deprecated PyEval_InitThreads() on Python 3.9+
X-Git-Url: http://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff_plain;h=0c35c5c5845d05e5f624c99d58af992d2f004446
srd: drop deprecated PyEval_InitThreads() on Python 3.9+
`PyEval_InitThreads()` is called implicitly during `Py_InitializeEx()`
since Python 3.7. It has been deprecated since 3.9 and dropped in
3.13.
[ gsi: touch up comment style ]
---
diff --git a/srd.c b/srd.c
index 35ec5f2..10dfaf6 100644
--- a/srd.c
+++ b/srd.c
@@ -302,8 +302,14 @@ SRD_API int srd_init(const char *path)
g_strfreev(dir_list);
}
- /* Initialize the Python GIL (this also happens to acquire it). */
+#if PY_VERSION_HEX < 0x03090000
+ /*
+ * Initialize and acquire the Python GIL. In Python 3.7+ this
+ * will be done implicitly as part of the Py_InitializeEx()
+ * call above. PyEval_InitThreads() was deprecated in 3.9.
+ */
PyEval_InitThreads();
+#endif
/* Release the GIL (ignore return value, we don't need it here). */
(void)PyEval_SaveThread();

View File

@@ -0,0 +1,58 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
PYTHON_COMPAT=( python3_{10..13} )
inherit autotools python-single-r1
if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="git://sigrok.org/${PN}"
inherit git-r3
else
SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
DESCRIPTION="Provide (streaming) protocol decoding functionality"
HOMEPAGE="https://sigrok.org/wiki/Libsigrokdecode"
LICENSE="GPL-3"
SLOT="0/4"
IUSE="static-libs"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}
>=dev-libs/glib-2.34.0
"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
"
PATCHES=(
"${FILESDIR}"/${P}-py3.13.patch
)
src_prepare() {
default
# bug #794592
sed -i -e "s/\[SRD_PKGLIBS\],\$/& [python-${EPYTHON#python}-embed], [python-${EPYTHON#python}],/" configure.ac || die
eautoreconf
}
src_configure() {
econf $(use_enable static-libs static) PYTHON3="${PYTHON}"
}
src_test() {
emake check
}
src_install() {
default
python_optimize "${D}"/usr/share/libsigrokdecode/decoders
find "${D}" -name '*.la' -type f -delete || die
}

View File

@@ -3,7 +3,7 @@
EAPI="8"
PYTHON_COMPAT=( python3_{10..12} )
PYTHON_COMPAT=( python3_{10..13} )
inherit autotools python-single-r1
if [[ ${PV} == *9999* ]]; then
@@ -18,7 +18,7 @@ DESCRIPTION="Provide (streaming) protocol decoding functionality"
HOMEPAGE="https://sigrok.org/wiki/Libsigrokdecode"
LICENSE="GPL-3"
SLOT="0/9999"
SLOT="0/4"
IUSE="static-libs"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"