From 034e6374ee320914d8df1d27215e943a60c9dc78 Mon Sep 17 00:00:00 2001 From: Marek Szuba Date: Thu, 7 Sep 2023 10:51:21 +0100 Subject: sys-libs/libsmbios: squash long-present Python deprecation warning Closes: https://bugs.gentoo.org/913238 Signed-off-by: Marek Szuba --- .../libsmbios-2.4.3-python-deprecations.patch | 33 ++++++++ sys-libs/libsmbios/libsmbios-2.4.3-r1.ebuild | 92 ++++++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 sys-libs/libsmbios/files/libsmbios-2.4.3-python-deprecations.patch create mode 100644 sys-libs/libsmbios/libsmbios-2.4.3-r1.ebuild 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 +} -- cgit v1.2.3-65-gdbad