| Message ID | 20260121200056.2789828-1-f_l_k@t-online.de |
|---|---|
| State | Under Review |
| Headers | show |
| Series | [meta-oe] mozjs-128: update 128.5.2 -> 128-14-0 | expand |
On 1/21/26 21:00, Markus Volk via lists.openembedded.org wrote: > - add a patch to fix build with python 3.14, taken from fedora > > Signed-off-by: Markus Volk <f_l_k@t-online.de> > --- > .../mozjs/mozjs-128/D261512.1755672843.patch | 69 +++++++++++++++++++ > ...s-128_128.5.2.bb => mozjs-128_128.14.0.bb} | 34 ++++----- > 2 files changed, 87 insertions(+), 16 deletions(-) > create mode 100644 meta-oe/recipes-extended/mozjs/mozjs-128/D261512.1755672843.patch > rename meta-oe/recipes-extended/mozjs/{mozjs-128_128.5.2.bb => mozjs-128_128.14.0.bb} (69%) > > diff --git a/meta-oe/recipes-extended/mozjs/mozjs-128/D261512.1755672843.patch b/meta-oe/recipes-extended/mozjs/mozjs-128/D261512.1755672843.patch > new file mode 100644 > index 0000000000..ddc481bcec > --- /dev/null > +++ b/meta-oe/recipes-extended/mozjs/mozjs-128/D261512.1755672843.patch > @@ -0,0 +1,69 @@ > +This patch fixes configure with python 3.14 and was taken from fedora > + > +Upstream-Status: Pending [https://src.fedoraproject.org/fork/churchyard/rpms/mozjs128/c/c9a3e719a87ba3313915195802ca6efcb9966fa3] There is an official version[1] of this patch also, so it could be even a Backport. On a slightly tangential note, do you know if there is something that requires this old version of mozjs? Or could this recipe be updated to the current ESR version, if someone would take the time? [1]: https://github.com/mozilla-firefox/firefox/commit/d497aa4f770ca02f6083e93b94996a8fe32c2ff4 > + > +Signed-off-by: Markus Volk <f_l_k@t-online.de> > + > + > +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)) > diff --git a/meta-oe/recipes-extended/mozjs/mozjs-128_128.5.2.bb b/meta-oe/recipes-extended/mozjs/mozjs-128_128.14.0.bb > similarity index 69% > rename from meta-oe/recipes-extended/mozjs/mozjs-128_128.5.2.bb > rename to meta-oe/recipes-extended/mozjs/mozjs-128_128.14.0.bb > index fbbe3749ba..635cad96cf 100644 > --- a/meta-oe/recipes-extended/mozjs/mozjs-128_128.5.2.bb > +++ b/meta-oe/recipes-extended/mozjs/mozjs-128_128.14.0.bb > @@ -3,22 +3,24 @@ HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonk > LICENSE = "MPL-2.0" > LIC_FILES_CHKSUM = "file://LICENSE;md5=dc9b6ecd19a14a54a628edaaf23733bf" > > -SRC_URI = "https://archive.mozilla.org/pub/firefox/releases/${PV}esr/source/firefox-${PV}esr.source.tar.xz \ > - file://0001-Cargo.toml-do-not-abort-on-panic.patch \ > - file://0002-moz.configure-do-not-look-for-llvm-objdump.patch \ > - file://0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch \ > - file://0004-use-asm-sgidefs.h.patch \ > - file://0005-Add-RISCV32-support.patch \ > - file://0006-util.configure-fix-one-occasionally-reproduced-confi.patch \ > - file://0007-Rewrite-cargo-host-linker-in-python3.patch \ > - file://0008-Musl-does-not-have-stack-unwinder-like-glibc-therefo.patch \ > - file://0009-Backport-patch-from-firefox-bugzilla-to-fix-compile-.patch \ > - file://0010-The-ISB-instruction-isn-t-available-in-ARMv5-or-v6-s.patch \ > - file://0011-Link-with-icu-uc-to-fix-build-with-ICU-76.patch \ > - file://0012-Recognise-riscv64gc-and-riscv32gc-as-valid-architect.patch \ > - file://0013-Fix-build-error-with-musl.patch \ > - " > -SRC_URI[sha256sum] = "25d633eb81499cbda44b8c64fa1c1a5879d55024b864ef495d4997154d68358f" > +SRC_URI = " \ > + https://archive.mozilla.org/pub/firefox/releases/${PV}esr/source/firefox-${PV}esr.source.tar.xz \ > + file://0001-Cargo.toml-do-not-abort-on-panic.patch \ > + file://0002-moz.configure-do-not-look-for-llvm-objdump.patch \ > + file://0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch \ > + file://0004-use-asm-sgidefs.h.patch \ > + file://0005-Add-RISCV32-support.patch \ > + file://0006-util.configure-fix-one-occasionally-reproduced-confi.patch \ > + file://0007-Rewrite-cargo-host-linker-in-python3.patch \ > + file://0008-Musl-does-not-have-stack-unwinder-like-glibc-therefo.patch \ > + file://0009-Backport-patch-from-firefox-bugzilla-to-fix-compile-.patch \ > + file://0010-The-ISB-instruction-isn-t-available-in-ARMv5-or-v6-s.patch \ > + file://0011-Link-with-icu-uc-to-fix-build-with-ICU-76.patch \ > + file://0012-Recognise-riscv64gc-and-riscv32gc-as-valid-architect.patch \ > + file://0013-Fix-build-error-with-musl.patch \ > + file://D261512.1755672843.patch \ > +" > +SRC_URI[sha256sum] = "93b9ef6229f41cb22ff109b95bbf61a78395a0fe4b870192eeca22947cb09a53" > > UPSTREAM_CHECK_URI = "https://tracker.debian.org/pkg/mozjs128" > UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)" > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#123724): https://lists.openembedded.org/g/openembedded-devel/message/123724 > Mute This Topic: https://lists.openembedded.org/mt/117388071/6084445 > Group Owner: openembedded-devel+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [skandigraun@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
The new version at least isn't needed yet. It's required for the mutter-49/gnome-shell-49/gjs-1.86.0 update, which is currently blocked by the missing glycin2 recipe (required by mutter). Not quite sure whether mutter-48/gnome-shell-48 would run error-free with mozjs-140, so I wanted to play it safe. I hadn't found the patch in the Mozilla sources yet. It wasn't even included in the current mozjs-140 release from a few days ago. Thanks for the info, I'll send a v2. On Thu, Jan 22 2026 at 15:44:16 +01:00:00, Markus Volk <mrksvolk@googlemail.com> wrote: > The new version at least isn't needed yet. It's required for the > mutter-49/gnome-shell-49/gjs-1.86.0 update, > which is currently blocked by the missing glycin2 recipe (required by > mutter). > > I'm not sure whether mutter-48/gnome-shell-48 would run error-free > with mozjs-140, so I wanted to play it safe. > > I hadn't found the patch in the Mozilla sources yet. It wasn't even > included in the current mozjs-140 release from a few days ago.
diff --git a/meta-oe/recipes-extended/mozjs/mozjs-128/D261512.1755672843.patch b/meta-oe/recipes-extended/mozjs/mozjs-128/D261512.1755672843.patch new file mode 100644 index 0000000000..ddc481bcec --- /dev/null +++ b/meta-oe/recipes-extended/mozjs/mozjs-128/D261512.1755672843.patch @@ -0,0 +1,69 @@ +This patch fixes configure with python 3.14 and was taken from fedora + +Upstream-Status: Pending [https://src.fedoraproject.org/fork/churchyard/rpms/mozjs128/c/c9a3e719a87ba3313915195802ca6efcb9966fa3] + +Signed-off-by: Markus Volk <f_l_k@t-online.de> + + +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)) diff --git a/meta-oe/recipes-extended/mozjs/mozjs-128_128.5.2.bb b/meta-oe/recipes-extended/mozjs/mozjs-128_128.14.0.bb similarity index 69% rename from meta-oe/recipes-extended/mozjs/mozjs-128_128.5.2.bb rename to meta-oe/recipes-extended/mozjs/mozjs-128_128.14.0.bb index fbbe3749ba..635cad96cf 100644 --- a/meta-oe/recipes-extended/mozjs/mozjs-128_128.5.2.bb +++ b/meta-oe/recipes-extended/mozjs/mozjs-128_128.14.0.bb @@ -3,22 +3,24 @@ HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonk LICENSE = "MPL-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=dc9b6ecd19a14a54a628edaaf23733bf" -SRC_URI = "https://archive.mozilla.org/pub/firefox/releases/${PV}esr/source/firefox-${PV}esr.source.tar.xz \ - file://0001-Cargo.toml-do-not-abort-on-panic.patch \ - file://0002-moz.configure-do-not-look-for-llvm-objdump.patch \ - file://0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch \ - file://0004-use-asm-sgidefs.h.patch \ - file://0005-Add-RISCV32-support.patch \ - file://0006-util.configure-fix-one-occasionally-reproduced-confi.patch \ - file://0007-Rewrite-cargo-host-linker-in-python3.patch \ - file://0008-Musl-does-not-have-stack-unwinder-like-glibc-therefo.patch \ - file://0009-Backport-patch-from-firefox-bugzilla-to-fix-compile-.patch \ - file://0010-The-ISB-instruction-isn-t-available-in-ARMv5-or-v6-s.patch \ - file://0011-Link-with-icu-uc-to-fix-build-with-ICU-76.patch \ - file://0012-Recognise-riscv64gc-and-riscv32gc-as-valid-architect.patch \ - file://0013-Fix-build-error-with-musl.patch \ - " -SRC_URI[sha256sum] = "25d633eb81499cbda44b8c64fa1c1a5879d55024b864ef495d4997154d68358f" +SRC_URI = " \ + https://archive.mozilla.org/pub/firefox/releases/${PV}esr/source/firefox-${PV}esr.source.tar.xz \ + file://0001-Cargo.toml-do-not-abort-on-panic.patch \ + file://0002-moz.configure-do-not-look-for-llvm-objdump.patch \ + file://0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch \ + file://0004-use-asm-sgidefs.h.patch \ + file://0005-Add-RISCV32-support.patch \ + file://0006-util.configure-fix-one-occasionally-reproduced-confi.patch \ + file://0007-Rewrite-cargo-host-linker-in-python3.patch \ + file://0008-Musl-does-not-have-stack-unwinder-like-glibc-therefo.patch \ + file://0009-Backport-patch-from-firefox-bugzilla-to-fix-compile-.patch \ + file://0010-The-ISB-instruction-isn-t-available-in-ARMv5-or-v6-s.patch \ + file://0011-Link-with-icu-uc-to-fix-build-with-ICU-76.patch \ + file://0012-Recognise-riscv64gc-and-riscv32gc-as-valid-architect.patch \ + file://0013-Fix-build-error-with-musl.patch \ + file://D261512.1755672843.patch \ +" +SRC_URI[sha256sum] = "93b9ef6229f41cb22ff109b95bbf61a78395a0fe4b870192eeca22947cb09a53" UPSTREAM_CHECK_URI = "https://tracker.debian.org/pkg/mozjs128" UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
- add a patch to fix build with python 3.14, taken from fedora Signed-off-by: Markus Volk <f_l_k@t-online.de> --- .../mozjs/mozjs-128/D261512.1755672843.patch | 69 +++++++++++++++++++ ...s-128_128.5.2.bb => mozjs-128_128.14.0.bb} | 34 ++++----- 2 files changed, 87 insertions(+), 16 deletions(-) create mode 100644 meta-oe/recipes-extended/mozjs/mozjs-128/D261512.1755672843.patch rename meta-oe/recipes-extended/mozjs/{mozjs-128_128.5.2.bb => mozjs-128_128.14.0.bb} (69%)