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) \
