77 lines
3.3 KiB
Diff
77 lines
3.3 KiB
Diff
From b85ba8c3ff3fb9ae708576ccef03434d2ef73054 Mon Sep 17 00:00:00 2001
|
|
From: Martin Jansa <Martin.Jansa@gmail.com>
|
|
Date: Tue, 14 Jun 2022 09:54:18 +0000
|
|
Subject: [PATCH] waflib: fix compatibility with python-3.11
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
* https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api
|
|
|
|
open(), io.open(), codecs.open() and fileinput.FileInput no longer
|
|
accept 'U' (“universal newline”) in the file mode. This flag was
|
|
deprecated since Python 3.3. In Python 3, the “universal newline” is
|
|
used by default when a file is open in text mode. The newline parameter
|
|
of open() controls how universal newlines works. (Contributed by Victor
|
|
Stinner in bpo-37330.)
|
|
|
|
* fixes:
|
|
Waf: The wscript in '/OE/build/luneos-langdale/webos-ports/tmp-glibc/work/core2-64-webos-linux/glmark2/2021.12-r0/git' is unreadable
|
|
Traceback (most recent call last):
|
|
File "/OE/build/luneos-langdale/webos-ports/tmp-glibc/work/core2-64-webos-linux/glmark2/2021.12-r0/git/waflib/Scripting.py", line 104, in waf_entry_point
|
|
set_main_module(os.path.normpath(os.path.join(Context.run_dir,Context.WSCRIPT_FILE)))
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/OE/build/luneos-langdale/webos-ports/tmp-glibc/work/core2-64-webos-linux/glmark2/2021.12-r0/git/waflib/Scripting.py", line 135, in set_main_module
|
|
Context.g_module=Context.load_module(file_path)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/OE/build/luneos-langdale/webos-ports/tmp-glibc/work/core2-64-webos-linux/glmark2/2021.12-r0/git/waflib/Context.py", line 343, in load_module
|
|
code=Utils.readf(path,m='rU',encoding=encoding)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
File "/OE/build/luneos-langdale/webos-ports/tmp-glibc/work/core2-64-webos-linux/glmark2/2021.12-r0/git/waflib/Utils.py", line 117, in readf
|
|
f=open(fname,m)
|
|
^^^^^^^^^^^^^
|
|
ValueError: invalid mode: 'rUb'
|
|
|
|
Upstream-Status: Submitted [https://github.com/glmark2/glmark2/pull/178]
|
|
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
---
|
|
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 16142a2..87de4ad 100644
|
|
--- a/waflib/ConfigSet.py
|
|
+++ b/waflib/ConfigSet.py
|
|
@@ -140,7 +140,7 @@ class ConfigSet(object):
|
|
Utils.writef(filename,''.join(buf))
|
|
def load(self,filename):
|
|
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 8f2cbfb..f3e35ae 100644
|
|
--- a/waflib/Context.py
|
|
+++ b/waflib/Context.py
|
|
@@ -109,7 +109,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)
|
|
@@ -340,7 +340,7 @@ def load_module(path,encoding=None):
|
|
pass
|
|
module=imp.new_module(WSCRIPT_FILE)
|
|
try:
|
|
- code=Utils.readf(path,m='rU',encoding=encoding)
|
|
+ code=Utils.readf(path,encoding=encoding)
|
|
except EnvironmentError:
|
|
raise Errors.WafError('Could not read the file %r'%path)
|
|
module_dir=os.path.dirname(path)
|