From f49f9c12f15d1963441ccddfc278adecb4bd1f77 Mon Sep 17 00:00:00 2001 From: Joel Beckmeyer Date: Thu, 24 Mar 2022 13:32:43 -0400 Subject: [PATCH] whipper: add patch to support ruamel.yaml>=0.17 --- .../patches/ruamel.yaml-0.17_compat.patch | 109 ++++++++++++++++++ srcpkgs/whipper/template | 2 +- 2 files changed, 110 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/whipper/patches/ruamel.yaml-0.17_compat.patch diff --git a/srcpkgs/whipper/patches/ruamel.yaml-0.17_compat.patch b/srcpkgs/whipper/patches/ruamel.yaml-0.17_compat.patch new file mode 100644 index 00000000000..206547e4b3e --- /dev/null +++ b/srcpkgs/whipper/patches/ruamel.yaml-0.17_compat.patch @@ -0,0 +1,109 @@ +From e0942417a1c267781a8b676789730457dcb2e6fa Mon Sep 17 00:00:00 2001 +From: Martin Weinelt +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 +--- + 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/srcpkgs/whipper/template b/srcpkgs/whipper/template index c5bbd74cfac..e0f5cf8b802 100644 --- a/srcpkgs/whipper/template +++ b/srcpkgs/whipper/template @@ -1,7 +1,7 @@ # Template file for 'whipper' pkgname=whipper version=0.10.0 -revision=2 +revision=3 build_style=python3-module hostmakedepends="python3-setuptools_scm" makedepends="libsndfile-devel python3-devel"