From e8fe92584446bba2bb81f454c5ebbcb4f80a371b Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Wed, 8 Feb 2023 19:19:31 +0100 Subject: [PATCH] package/jack2: fix build with host python >= 3.11 Fixes: http://autobuild.buildroot.net/results/5ce/5ce5ebd20e0e509b31b51d2ec1aed56fdb8f45aa/ The bundled waf script is too old (2.0.12) for python >= 3.11 as it uses the 'U' modifier to open (universal newlines), which have been deprecated since python 3.3 and finally removed in 3.11. Jack unfortunately uses a modified waf, so we cannot just set JACK2_NEEDS_EXTERNAL_WAF, so instead backport an upstream patch fixing the compatibility issue: https://github.com/jackaudio/jack2/pull/884 Signed-off-by: Peter Korsgaard --- ...U-mode-bit-for-opening-files-in-pyth.patch | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 package/jack2/0001-Remove-usage-of-U-mode-bit-for-opening-files-in-pyth.patch diff --git a/package/jack2/0001-Remove-usage-of-U-mode-bit-for-opening-files-in-pyth.patch b/package/jack2/0001-Remove-usage-of-U-mode-bit-for-opening-files-in-pyth.patch new file mode 100644 index 0000000000..9ee5a43e18 --- /dev/null +++ b/package/jack2/0001-Remove-usage-of-U-mode-bit-for-opening-files-in-pyth.patch @@ -0,0 +1,55 @@ +From 328c58967dce8be426f9208ba7717ab5afc2c4f3 Mon Sep 17 00:00:00 2001 +From: Daan De Meyer +Date: Mon, 11 Jul 2022 00:56:28 +0200 +Subject: [PATCH] Remove usage of 'U' mode bit for opening files in python + +The 'U' mode bit is removed in python 3.11. It has been +deprecated for a long time. The 'U' mode bit has no effect +so this change doesn't change any behavior. + +See https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api + +Signed-off-by: Peter Korsgaard +--- + waflib/ConfigSet.py | 2 +- + waflib/Context.py | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/waflib/ConfigSet.py b/waflib/ConfigSet.py +index b300bb56..84736c9c 100644 +--- a/waflib/ConfigSet.py ++++ b/waflib/ConfigSet.py +@@ -312,7 +312,7 @@ class ConfigSet(object): + :type filename: string + """ + tbl = self.table +- code = Utils.readf(filename, m='rU') ++ code = Utils.readf(filename, m='r') + for m in re_imp.finditer(code): + g = m.group + tbl[g(2)] = eval(g(3)) +diff --git a/waflib/Context.py b/waflib/Context.py +index 9fee3fa1..761b521f 100644 +--- a/waflib/Context.py ++++ b/waflib/Context.py +@@ -266,7 +266,7 @@ class Context(ctx): + cache[node] = True + self.pre_recurse(node) + try: +- function_code = node.read('rU', encoding) ++ function_code = node.read('r', encoding) + exec(compile(function_code, node.abspath(), 'exec'), self.exec_dict) + finally: + self.post_recurse(node) +@@ -662,7 +662,7 @@ def load_module(path, encoding=None): + + module = imp.new_module(WSCRIPT_FILE) + try: +- code = Utils.readf(path, m='rU', encoding=encoding) ++ code = Utils.readf(path, m='r', encoding=encoding) + except EnvironmentError: + raise Errors.WafError('Could not read the file %r' % path) + +-- +2.30.2 +