commit:     0c2c5e8a704527b0d86548796f074b26bf339cda
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 11 17:55:14 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jun 11 17:55:20 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0c2c5e8a

sci-libs/libsigrok: enable py3.13

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../libsigrok/files/libsigrok-0.5.2-py313.patch    | 46 ++++++++++++++++++++++
 ...igrok-9999.ebuild => libsigrok-0.5.2-r5.ebuild} | 27 ++++++++-----
 sci-libs/libsigrok/libsigrok-9999.ebuild           | 25 +++++++-----
 3 files changed, 80 insertions(+), 18 deletions(-)

diff --git a/sci-libs/libsigrok/files/libsigrok-0.5.2-py313.patch 
b/sci-libs/libsigrok/files/libsigrok-0.5.2-py313.patch
new file mode 100644
index 000000000000..a4c1be8de96a
--- /dev/null
+++ b/sci-libs/libsigrok/files/libsigrok-0.5.2-py313.patch
@@ -0,0 +1,46 @@
+http://sigrok.org/gitweb/?p=libsigrok.git;a=commit;h=5bc8174531df86991ba8aa6d12942923925d9e72
+
+From: Gerhard Sittig <redacted>
+Date: Mon, 2 Oct 2023 16:33:08 +0000 (+0200)
+Subject: bindings/python: rephrase for Python 3.9 deprecation (call API)
+X-Git-Url: 
http://sigrok.org/gitweb/?p=libsigrok.git;a=commitdiff_plain;h=5bc8174531df86991ba8aa6d12942923925d9e72;hp=1711287ee9e5e4d37cab1cf9fcda5c98f732a137
+
+bindings/python: rephrase for Python 3.9 deprecation (call API)
+
+The PyEval_CallObject() routine was deprecated in Python 3.9, use
+PyObject_CallObject() instead which has existed since at least 3.0.
+
+There are also PyEval_InitThreads() deprecation warnings, but these
+originate from SWIG generated code and are outside of our control.
+Requires SWIG version 4.1 to silence these.
+
+Tested-By: Sascha Silbe <redacted>
+--- a/bindings/python/sigrok/core/classes.i
++++ b/bindings/python/sigrok/core/classes.i
+@@ -134,7 +134,7 @@ typedef guint pyg_flags_type;
+ 
+         auto arglist = Py_BuildValue("(OO)", log_obj, string_obj);
+ 
+-        auto result = PyEval_CallObject($input, arglist);
++        auto result = PyObject_CallObject($input, arglist);
+ 
+         Py_XDECREF(arglist);
+         Py_XDECREF(log_obj);
+@@ -177,7 +177,7 @@ typedef guint pyg_flags_type;
+     $1 = [=] () {
+         const auto gstate = PyGILState_Ensure();
+ 
+-        const auto result = PyEval_CallObject($input, nullptr);
++        const auto result = PyObject_CallObject($input, nullptr);
+         const bool completed = !PyErr_Occurred();
+         const bool valid_result = (completed && result == Py_None);
+ 
+@@ -221,7 +221,7 @@ typedef guint pyg_flags_type;
+ 
+         auto arglist = Py_BuildValue("(OO)", device_obj, packet_obj);
+ 
+-        auto result = PyEval_CallObject($input, arglist);
++        auto result = PyObject_CallObject($input, arglist);
+ 
+         Py_XDECREF(arglist);
+         Py_XDECREF(device_obj);

diff --git a/sci-libs/libsigrok/libsigrok-9999.ebuild 
b/sci-libs/libsigrok/libsigrok-0.5.2-r5.ebuild
similarity index 84%
copy from sci-libs/libsigrok/libsigrok-9999.ebuild
copy to sci-libs/libsigrok/libsigrok-0.5.2-r5.ebuild
index b0fe1e16dc1d..ea6a56fc8bb3 100644
--- a/sci-libs/libsigrok/libsigrok-9999.ebuild
+++ b/sci-libs/libsigrok/libsigrok-0.5.2-r5.ebuild
@@ -3,24 +3,24 @@
 
 EAPI="8"
 
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
 
-inherit python-r1 java-pkg-opt-2 udev xdg-utils
+inherit autotools python-r1 java-pkg-opt-2 udev xdg-utils
 
 if [[ ${PV} == *9999* ]]; then
        EGIT_REPO_URI="git://sigrok.org/${PN}"
-       inherit git-r3 autotools
+       inherit git-r3
 else
        SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz";
-       KEYWORDS="~amd64 ~x86"
+       KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 fi
 
 DESCRIPTION="Basic hardware drivers for logic analyzers and input/output file 
format support"
 HOMEPAGE="https://sigrok.org/wiki/Libsigrok";
 
 LICENSE="GPL-3"
-SLOT="0/9999"
-IUSE="bluetooth +cxx ftdi hidapi java nettle parport python serial static-libs 
test +udev usb"
+SLOT="0/4"
+IUSE="bluetooth +cxx ftdi hidapi java parport python serial static-libs test 
+udev usb"
 REQUIRED_USE="java? ( cxx )
        python? ( cxx ${PYTHON_REQUIRED_USE} )"
 
@@ -34,7 +34,6 @@ LIB_DEPEND="
        cxx? ( dev-cpp/glibmm:2[static-libs(+)] )
        ftdi? ( dev-embedded/libftdi:1[static-libs(+)] )
        hidapi? ( >=dev-libs/hidapi-0.8.0 )
-       nettle? ( dev-libs/nettle:=[static-libs(+)] )
        parport? ( sys-libs/libieee1284[static-libs(+)] )
        python? (
                ${PYTHON_DEPS}
@@ -65,6 +64,17 @@ DEPEND="${LIB_DEPEND//\[static-libs(+)]}
 
 S="${WORKDIR}"/${P}
 
+PATCHES=(
+       # https://sigrok.org/bugzilla/show_bug.cgi?id=1527
+       "${FILESDIR}/${P}-swig-4.patch"
+       # https://sigrok.org/bugzilla/show_bug.cgi?id=1526
+       "${FILESDIR}/${P}-check-0.15.patch"
+       # https://bugs.gentoo.org/878395
+       "${FILESDIR}/${PN}-0.5.2-swig-4.1.patch"
+
+       "${FILESDIR}/${P}-py313.patch"
+)
+
 pkg_setup() {
        use python && python_setup
        java-pkg-opt-2_pkg_setup
@@ -75,7 +85,7 @@ src_unpack() {
 }
 
 sigrok_src_prepare() {
-       [[ ${PV} == *9999* ]] && eautoreconf
+       eautoreconf
 }
 
 src_prepare() {
@@ -89,7 +99,6 @@ sigrok_src_configure() {
                $(use_with bluetooth libbluez) \
                $(use_with ftdi libftdi) \
                $(use_with hidapi libhidapi) \
-               $(use_with nettle libnettle) \
                $(use_with parport libieee1284) \
                $(use_with serial libserialport) \
                $(use_with usb libusb) \

diff --git a/sci-libs/libsigrok/libsigrok-9999.ebuild 
b/sci-libs/libsigrok/libsigrok-9999.ebuild
index b0fe1e16dc1d..589e3d9a56dd 100644
--- a/sci-libs/libsigrok/libsigrok-9999.ebuild
+++ b/sci-libs/libsigrok/libsigrok-9999.ebuild
@@ -3,24 +3,24 @@
 
 EAPI="8"
 
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
 
-inherit python-r1 java-pkg-opt-2 udev xdg-utils
+inherit autotools python-r1 java-pkg-opt-2 udev xdg-utils
 
 if [[ ${PV} == *9999* ]]; then
        EGIT_REPO_URI="git://sigrok.org/${PN}"
-       inherit git-r3 autotools
+       inherit git-r3
 else
        SRC_URI="https://sigrok.org/download/source/${PN}/${P}.tar.gz";
-       KEYWORDS="~amd64 ~x86"
+       KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 fi
 
 DESCRIPTION="Basic hardware drivers for logic analyzers and input/output file 
format support"
 HOMEPAGE="https://sigrok.org/wiki/Libsigrok";
 
 LICENSE="GPL-3"
-SLOT="0/9999"
-IUSE="bluetooth +cxx ftdi hidapi java nettle parport python serial static-libs 
test +udev usb"
+SLOT="0/4"
+IUSE="bluetooth +cxx ftdi hidapi java parport python serial static-libs test 
+udev usb"
 REQUIRED_USE="java? ( cxx )
        python? ( cxx ${PYTHON_REQUIRED_USE} )"
 
@@ -34,7 +34,6 @@ LIB_DEPEND="
        cxx? ( dev-cpp/glibmm:2[static-libs(+)] )
        ftdi? ( dev-embedded/libftdi:1[static-libs(+)] )
        hidapi? ( >=dev-libs/hidapi-0.8.0 )
-       nettle? ( dev-libs/nettle:=[static-libs(+)] )
        parport? ( sys-libs/libieee1284[static-libs(+)] )
        python? (
                ${PYTHON_DEPS}
@@ -65,6 +64,15 @@ DEPEND="${LIB_DEPEND//\[static-libs(+)]}
 
 S="${WORKDIR}"/${P}
 
+PATCHES=(
+       # https://sigrok.org/bugzilla/show_bug.cgi?id=1527
+       "${FILESDIR}/${P}-swig-4.patch"
+       # https://sigrok.org/bugzilla/show_bug.cgi?id=1526
+       "${FILESDIR}/${P}-check-0.15.patch"
+       # https://bugs.gentoo.org/878395
+       "${FILESDIR}/${PN}-0.5.2-swig-4.1.patch"
+)
+
 pkg_setup() {
        use python && python_setup
        java-pkg-opt-2_pkg_setup
@@ -75,7 +83,7 @@ src_unpack() {
 }
 
 sigrok_src_prepare() {
-       [[ ${PV} == *9999* ]] && eautoreconf
+       eautoreconf
 }
 
 src_prepare() {
@@ -89,7 +97,6 @@ sigrok_src_configure() {
                $(use_with bluetooth libbluez) \
                $(use_with ftdi libftdi) \
                $(use_with hidapi libhidapi) \
-               $(use_with nettle libnettle) \
                $(use_with parport libieee1284) \
                $(use_with serial libserialport) \
                $(use_with usb libusb) \

Reply via email to