Markus Volk 834988cae3
mozjs-128: update 128.5.2 -> 128.14.0
- add a patch to fix build with python 3.14

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-01-27 11:58:26 -08:00

69 lines
2.9 KiB
Diff

This patch fixes configure with python 3.14
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Upstream-Status: Backport [https://github.com/mozilla-firefox/firefox/commit/d497aa4f770ca02f6083e93b94996a8fe32c2ff4]
diff --git a/python/mozbuild/mozbuild/frontend/reader.py b/python/mozbuild/mozbuild/frontend/reader.py
index 5cb627b..c2dcafe 100644
--- a/python/mozbuild/mozbuild/frontend/reader.py
+++ b/python/mozbuild/mozbuild/frontend/reader.py
@@ -470,7 +470,7 @@ class TemplateFunction(object):
return c(
ast.Subscript(
value=c(ast.Name(id=self._global_name, ctx=ast.Load())),
- slice=c(ast.Index(value=c(ast.Str(s=node.id)))),
+ slice=c(ast.Index(value=c(ast.Constant(value=node.id)))),
ctx=node.ctx,
)
)
@@ -1035,8 +1035,8 @@ class BuildReader(object):
else:
# Others
assert isinstance(target.slice, ast.Index)
- assert isinstance(target.slice.value, ast.Str)
- key = target.slice.value.s
+ assert isinstance(target.slice.value, ast.Constant)
+ key = target.slice.value.value
return name, key
@@ -1044,11 +1044,11 @@ class BuildReader(object):
value = node.value
if isinstance(value, ast.List):
for v in value.elts:
- assert isinstance(v, ast.Str)
- yield v.s
+ assert isinstance(v, ast.Constant)
+ yield v.value
else:
- assert isinstance(value, ast.Str)
- yield value.s
+ assert isinstance(value, ast.Constant)
+ yield value.value
assignments = []
diff --git a/python/mozbuild/mozbuild/vendor/rewrite_mozbuild.py b/python/mozbuild/mozbuild/vendor/rewrite_mozbuild.py
index 1590267..151d27c 100644
--- a/python/mozbuild/mozbuild/vendor/rewrite_mozbuild.py
+++ b/python/mozbuild/mozbuild/vendor/rewrite_mozbuild.py
@@ -327,15 +327,13 @@ def assignment_node_to_source_filename_list(code, node):
"""
if isinstance(node.value, ast.List) and "elts" in node.value._fields:
for f in node.value.elts:
- if not isinstance(f, ast.Constant) and not isinstance(f, ast.Str):
+ if not isinstance(f, ast.Constant):
log(
"Found non-constant source file name in list: ",
ast_get_source_segment(code, f),
)
return []
- return [
- f.value if isinstance(f, ast.Constant) else f.s for f in node.value.elts
- ]
+ return [f.value for f in node.value.elts]
elif isinstance(node.value, ast.ListComp):
# SOURCES += [f for f in foo if blah]
log("Could not find the files for " + ast_get_source_segment(code, node.value))