summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Retornaz <gentoo@retornaz.com>2024-05-08 20:34:56 +0200
committerSam James <sam@gentoo.org>2024-05-08 22:33:25 +0100
commit87a88d8b829733826fda808a9b7fb843bcf5eb55 (patch)
tree06efcc5992f4411d92a429d98262138dedcaa62f /media-sound
parentmedia-sound/beets: fix build w/ USE=doc and >=sphinx-7 (diff)
downloadgentoo-87a88d8b829733826fda808a9b7fb843bcf5eb55.tar.gz
gentoo-87a88d8b829733826fda808a9b7fb843bcf5eb55.tar.bz2
gentoo-87a88d8b829733826fda808a9b7fb843bcf5eb55.zip
media-sound/whipper: update RDEPEND="dev-python/ruamel-yaml"
Closes: https://bugs.gentoo.org/930466 Signed-off-by: Quentin Retornaz <gentoo@retornaz.com> Closes: https://github.com/gentoo/gentoo/pull/36607 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-sound')
-rw-r--r--media-sound/whipper/files/whipper-0.10.0-ruamel-yaml.patch109
-rw-r--r--media-sound/whipper/whipper-0.10.0-r2.ebuild56
2 files changed, 165 insertions, 0 deletions
diff --git a/media-sound/whipper/files/whipper-0.10.0-ruamel-yaml.patch b/media-sound/whipper/files/whipper-0.10.0-ruamel-yaml.patch
new file mode 100644
index 000000000000..206547e4b3e9
--- /dev/null
+++ b/media-sound/whipper/files/whipper-0.10.0-ruamel-yaml.patch
@@ -0,0 +1,109 @@
+From e0942417a1c267781a8b676789730457dcb2e6fa Mon Sep 17 00:00:00 2001
+From: Martin Weinelt <hexa@darmstadt.ccc.de>
+Date: Sun, 20 Jun 2021 15:18:37 +0200
+Subject: [PATCH] Use custom YAML subclass to be compatible with
+ ruamel_yaml>=0.17
+
+Signed-off-by: Martin Weinelt <hexa@darmstadt.ccc.de>
+---
+ whipper/common/yaml.py | 18 ++++++++++++++++++
+ whipper/result/logger.py | 11 ++++++-----
+ whipper/test/test_result_logger.py | 14 ++++++--------
+ 3 files changed, 30 insertions(+), 13 deletions(-)
+ create mode 100644 whipper/common/yaml.py
+
+diff --git a/whipper/common/yaml.py b/whipper/common/yaml.py
+new file mode 100644
+index 00000000..4edb0b36
+--- /dev/null
++++ b/whipper/common/yaml.py
+@@ -0,0 +1,18 @@
++from ruamel.yaml import YAML as ruamel_YAML
++from ruamel.yaml.compat import StringIO
++
++# https://yaml.readthedocs.io/en/latest/example.html#output-of-dump-as-a-string
++class YAML(ruamel_YAML):
++ def __init__(self, *args, **kwargs):
++ super().__init__()
++ self.width = 4000
++ self.default_flow_style = False
++
++ def dump(self, data, stream=None, **kw):
++ inefficient = False
++ if stream is None:
++ inefficient = True
++ stream = StringIO()
++ ruamel_YAML.dump(self, data, stream, **kw)
++ if inefficient:
++ return stream.getvalue()
+diff --git a/whipper/result/logger.py b/whipper/result/logger.py
+index b7043adc..f4471a00 100644
+--- a/whipper/result/logger.py
++++ b/whipper/result/logger.py
+@@ -1,12 +1,12 @@
+ import time
+ import hashlib
+ import re
+-import ruamel.yaml as yaml
+ from ruamel.yaml.comments import CommentedMap as OrderedDict
+
+ import whipper
+
+ from whipper.common import common
++from whipper.common.yaml import YAML
+ from whipper.result import result
+
+
+@@ -148,11 +148,12 @@ def logRip(self, ripResult, epoch):
+ data["EOF"] = "End of status report"
+ riplog["Conclusive status report"] = data
+
++ yaml = YAML(
++ typ="rt",
++ pure=True
++ )
+ riplog = yaml.dump(
+- riplog,
+- default_flow_style=False,
+- width=4000,
+- Dumper=yaml.RoundTripDumper
++ riplog
+ )
+ # Add a newline after the "Log creation date" line
+ riplog = re.sub(
+diff --git a/whipper/test/test_result_logger.py b/whipper/test/test_result_logger.py
+index 411b61af..98c89ab5 100644
+--- a/whipper/test/test_result_logger.py
++++ b/whipper/test/test_result_logger.py
+@@ -3,8 +3,8 @@
+ import os
+ import re
+ import unittest
+-import ruamel.yaml
+
++from whipper.common.yaml import YAML
+ from whipper.result.result import TrackResult, RipResult
+ from whipper.result.logger import WhipperLogger
+
+@@ -163,16 +163,14 @@ def testLogger(self):
+ ))
+ )
+
+- yaml = ruamel.yaml.YAML()
++ yaml = YAML(
++ typ='rt',
++ pure=True
++ )
+ parsedLog = yaml.load(actual)
+ self.assertEqual(
+ actual,
+- ruamel.yaml.dump(
+- parsedLog,
+- default_flow_style=False,
+- width=4000,
+- Dumper=ruamel.yaml.RoundTripDumper
+- )
++ yaml.dump(parsedLog)
+ )
+ log_body = "\n".join(actualLines[:-1]).encode()
+ self.assertEqual(
diff --git a/media-sound/whipper/whipper-0.10.0-r2.ebuild b/media-sound/whipper/whipper-0.10.0-r2.ebuild
new file mode 100644
index 000000000000..4458574acf2f
--- /dev/null
+++ b/media-sound/whipper/whipper-0.10.0-r2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DISTUTILS_USE_PEP517="setuptools"
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python CD-DA ripper preferring accuracy over speed (forked from morituri)"
+HOMEPAGE="https://github.com/whipper-team/whipper"
+SRC_URI="https://github.com/whipper-team/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ media-libs/libsndfile:=
+"
+RDEPEND="
+ ${DEPEND}
+ app-cdr/cdrdao
+ >=dev-libs/libcdio-paranoia-0.94_p2
+ dev-python/musicbrainzngs[${PYTHON_USEDEP}]
+ >=dev-python/pycdio-2.1.0[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/discid[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ media-libs/mutagen[${PYTHON_USEDEP}]
+ media-sound/sox[flac]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/twisted[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.7.0-cdparanoia-name-fix.patch"
+ "${FILESDIR}/${PN}-0.10.0-ruamel-yaml.patch"
+)
+
+python_prepare_all() {
+ # accurip test totally depends on network access
+ rm "${PN}"/test/test_common_accurip.py || die
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ distutils-r1_python_prepare_all
+}