summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Szuba <marecki@gentoo.org>2023-09-07 10:51:21 +0100
committerMarek Szuba <marecki@gentoo.org>2023-09-07 11:20:47 +0100
commit034e6374ee320914d8df1d27215e943a60c9dc78 (patch)
tree06ae26a9a1994bda70332621dfa5205a3a6145e1 /sys-libs/libsmbios
parentsys-libs/libblockdev: drop 9999 (diff)
downloadgentoo-034e6374ee320914d8df1d27215e943a60c9dc78.tar.gz
gentoo-034e6374ee320914d8df1d27215e943a60c9dc78.tar.bz2
gentoo-034e6374ee320914d8df1d27215e943a60c9dc78.zip
sys-libs/libsmbios: squash long-present Python deprecation warning
Closes: https://bugs.gentoo.org/913238 Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'sys-libs/libsmbios')
-rw-r--r--sys-libs/libsmbios/files/libsmbios-2.4.3-python-deprecations.patch33
-rw-r--r--sys-libs/libsmbios/libsmbios-2.4.3-r1.ebuild92
2 files changed, 125 insertions, 0 deletions
diff --git a/sys-libs/libsmbios/files/libsmbios-2.4.3-python-deprecations.patch b/sys-libs/libsmbios/files/libsmbios-2.4.3-python-deprecations.patch
new file mode 100644
index 000000000000..c67df620e85f
--- /dev/null
+++ b/sys-libs/libsmbios/files/libsmbios-2.4.3-python-deprecations.patch
@@ -0,0 +1,33 @@
+From 99e0ac359d55d7a66d944e038ad63a7f6ef6698d Mon Sep 17 00:00:00 2001
+From: troy <70726977+troygraben@users.noreply.github.com>
+Date: Mon, 26 Jul 2021 17:05:35 -0400
+Subject: [PATCH] Fix the TokenTable generator implementation
+
+This change supports PEP 479 by changing the generator to use return
+instead of raising StopIteration.
+
+This fixes the RuntimeError exception being raised with Python 3.7 and
+newer when the iterator reaches the end of the collection. This could be
+encountered when calling smbios-token-ctl --dump-tokens
+--- a/src/bin/smbios-token-ctl
++++ b/src/bin/smbios-token-ctl
+@@ -427,8 +427,6 @@ def main():
+ verboseLog.info( _("The token library returned this error:") )
+ verboseLog.info( str(e) )
+ moduleLog.info( cli.standardFailMessage )
+- except StopIteration:
+- pass
+
+ return exit_code
+
+--- a/src/python/libsmbios_c/smbios_token.py
++++ b/src/python/libsmbios_c/smbios_token.py
+@@ -131,7 +131,7 @@ def __iter__(self):
+ if bool(cur):
+ yield cur.contents
+ else:
+- raise StopIteration
++ return
+
+ @traceLog()
+ def __getitem__(self, id):
diff --git a/sys-libs/libsmbios/libsmbios-2.4.3-r1.ebuild b/sys-libs/libsmbios/libsmbios-2.4.3-r1.ebuild
new file mode 100644
index 000000000000..e1bb901b8e36
--- /dev/null
+++ b/sys-libs/libsmbios/libsmbios-2.4.3-r1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit autotools flag-o-matic python-single-r1
+
+DESCRIPTION="Provide access to (SM)BIOS information"
+HOMEPAGE="https://github.com/dell/libsmbios"
+SRC_URI="https://github.com/dell/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( GPL-2+ OSL-2.1 ) BSD Boost-1.0"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~ia64 ~x86"
+IUSE="doc graphviz nls +python static-libs test"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+ test? ( ${PYTHON_REQUIRED_USE} )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="dev-libs/libxml2
+ sys-libs/zlib
+ nls? ( virtual/libintl )
+ python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen )
+ graphviz? ( media-gfx/graphviz )
+ nls? ( sys-devel/gettext )"
+BDEPEND="test? (
+ ${PYTHON_DEPS}
+ >=dev-util/cppunit-1.9.6
+)"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.2.28-cppunit-tests.patch"
+ "${FILESDIR}/${PN}-2.4.3-avoid_bashisms.patch" #715202
+ "${FILESDIR}/${PN}-2.4.3-insecure_rpaths.patch"
+ "${FILESDIR}"/${PN}-2.4.3-python-deprecations.patch
+)
+
+pkg_setup() {
+ if use python || use test; then
+ python-single-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Don't build yum-plugin - we don't need it
+ sed '/yum-plugin/d' -i Makefile.am || die
+
+ if use test; then
+ python_fix_shebang src/pyunit/test*.py
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ #Remove -O3 for bug #290097
+ replace-flags -O3 -O2
+
+ local myeconfargs=(
+ $(use_enable doc doxygen)
+ $(use_enable graphviz)
+ $(use_enable nls)
+ $(use_enable python)
+ $(use_enable static-libs static)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ emake install DESTDIR="${D}"
+
+ if use python; then
+ python_scriptinto /usr/sbin
+ python_doscript "${ED}"/usr/sbin/smbios-{{battery,keyboard,thermal,token,wakeup,wireless}-ctl,lcd-brightness,passwd,sys-info}
+ fi
+
+ insinto /usr/include/
+ doins -r src/include/smbios_c
+
+ einstalldocs
+
+ if ! use static-libs ; then
+ find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die
+ fi
+}