diff options
Diffstat (limited to 'meta-openembedded/meta-oe/dynamic-layers/meta-python')
26 files changed, 978 insertions, 294 deletions
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.3.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.3.bb index 004c04e007..df577b1b73 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.3.bb +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-benchmark/speedtest-cli/speedtest-cli_2.1.3.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" inherit setuptools3 -SRC_URI = "git://github.com/sivel/speedtest-cli.git" +SRC_URI = "git://github.com/sivel/speedtest-cli.git;branch=master;protocol=https" SRCREV = "42e96b13dda2afabbcec2622612d13495a415caa" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem_1.2.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem_1.2.bb index 065243ccfe..f55247d9ed 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem_1.2.bb +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-bsp/rwmem/rwmem_1.2.bb @@ -21,7 +21,7 @@ SRCREV_inih = "4b10c654051a86556dfdb634c891b6c3224c4109" SRCREV_FORMAT = "rwmem_inih" SRC_URI = " \ - git://github.com/tomba/rwmem.git;protocol=https;name=rwmem \ + git://github.com/tomba/rwmem.git;protocol=https;name=rwmem;branch=master \ git://github.com/benhoyt/inih.git;protocol=https;name=inih;nobranch=1;destsuffix=git/ext/inih \ " diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb index 1ca7b6084c..f3070c5d2a 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb @@ -29,7 +29,7 @@ SYSTEMD_SERVICE:${PN}-exec = "irexec.service" SYSTEMD_AUTO_ENABLE:lirc = "enable" SYSTEMD_AUTO_ENABLE:lirc-exec = "enable" -inherit autotools pkgconfig systemd python3native distutils-common-base +inherit autotools pkgconfig systemd python3native setuptools3-base PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd" PACKAGECONFIG[x11] = "--with-x,--with-x=no,libx11," diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb index eff014a4cb..1215344d97 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-dbs/mongodb/mongodb_git.bb @@ -14,7 +14,7 @@ inherit scons dos2unix siteinfo python3native systemd useradd PV = "4.4.7" #v4.4.7 SRCREV = "abb6b9c2bf675e9e2aeaecba05f0f8359d99e203" -SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.4 \ +SRC_URI = "git://github.com/mongodb/mongo.git;branch=v4.4;protocol=https \ file://0001-Tell-scons-to-use-build-settings-from-environment-va.patch \ file://0001-Use-long-long-instead-of-int64_t.patch \ file://0001-Use-__GLIBC__-to-control-use-of-gnu_get_libc_version.patch \ @@ -43,7 +43,6 @@ SRC_URI:append:toolchain-clang = "\ file://0001-asio-Dont-use-experimental-with-clang.patch \ " - S = "${WORKDIR}/git" COMPATIBLE_HOST ?= '(x86_64|i.86|powerpc64|arm|aarch64).*-linux' @@ -83,46 +82,50 @@ EXTRA_OESCONS = "PREFIX=${prefix} \ --separate-debug \ ${PACKAGECONFIG_CONFARGS}" - USERADD_PACKAGES = "${PN}" USERADD_PARAM:${PN} = "--system --no-create-home --home-dir /var/run/${BPN} --shell /bin/false --user-group ${BPN}" - scons_do_compile() { - ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} ${EXTRA_OESCONS} install-core || \ + ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} ${EXTRA_OESCONS} install-core || die "scons build execution failed." } scons_do_install() { - # install binaries - install -d ${D}${bindir} - for i in mongod mongos mongo - do - if [ -f ${B}/build/opt/mongo/${i} ] - then - install -m 0755 ${B}/build/opt/mongo/${i} ${D}${bindir}/${i} - else - bbnote "${i} does not exist" - fi - done - - # install config - install -d ${D}${sysconfdir} - install -m 0644 ${S}/debian/mongod.conf ${D}${sysconfdir}/ - - # install systemd service - install -d ${D}${systemd_system_unitdir} - install -m 0644 ${S}/debian/mongod.service ${D}${systemd_system_unitdir} - - # install mongo data folder - install -m 755 -d ${D}${localstatedir}/lib/${BPN} - chown ${PN}:${PN} ${D}${localstatedir}/lib/${BPN} - - # Log files - install -m 755 -d ${D}${localstatedir}/log/${BPN} - chown ${PN}:${PN} ${D}${localstatedir}/log/${BPN} + # install binaries + install -d ${D}${bindir} + for i in mongod mongos mongo; do + if [ -f ${B}/build/opt/mongo/$i ]; then + install -m 0755 ${B}/build/opt/mongo/$i ${D}${bindir} + else + bbnote "$i does not exist" + fi + done + + # install config + install -d ${D}${sysconfdir} + install -m 0644 ${S}/debian/mongod.conf ${D}${sysconfdir} + + # install systemd service + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/debian/mongod.service ${D}${systemd_system_unitdir} + + # install mongo data folder + install -m 755 -d ${D}${localstatedir}/lib/${BPN} + chown ${PN}:${PN} ${D}${localstatedir}/lib/${BPN} + + # Create /var/log/mongodb in runtime. + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then + install -d ${D}${nonarch_libdir}/tmpfiles.d + echo "d ${localstatedir}/log/${BPN} 0755 ${BPN} ${BPN} -" > ${D}${nonarch_libdir}/tmpfiles.d/${BPN}.conf + fi + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'sysvinit', d)}" ]; then + install -d ${D}${sysconfdir}/default/volatiles + echo "d ${BPN} ${BPN} 0755 ${localstatedir}/log/${BPN} none" > ${D}${sysconfdir}/default/volatiles/99_${BPN} + fi } CONFFILES:${PN} = "${sysconfdir}/mongod.conf" SYSTEMD_SERVICE:${PN} = "mongod.service" + +FILES:${PN} += "${nonarch_libdir}/tmpfiles.d" diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.5.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.5.bb index 6ccefd22e5..4b1853cc80 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.5.bb +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-devtools/nanopb/nanopb_0.4.5.bb @@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=9db4b73a55a3994384112efcdb37c01f" DEPENDS = "protobuf-native" -SRC_URI = "git://github.com/nanopb/nanopb.git" +SRC_URI = "git://github.com/nanopb/nanopb.git;branch=master;protocol=https" SRCREV = "c9124132a604047d0ef97a09c0e99cd9bed2c818" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb index 4442793097..5257ee3477 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/lcdproc/lcdproc_git.bb @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \ PV = "0.5.9+git${SRCPV}" SRCREV = "3a3d622d9bb74c44fa67bc20573751a207514134" -SRC_URI = "git://github.com/lcdproc/lcdproc \ +SRC_URI = "git://github.com/lcdproc/lcdproc;branch=master;protocol=https \ file://0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch \ file://0002-Include-limits.h-for-PATH_MAX-definition.patch \ file://0003-Fix-non-x86-platforms-on-musl.patch \ diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0001-rust.configure-Skip-all-target-manipulations.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0001-rust.configure-Skip-all-target-manipulations.patch new file mode 100644 index 0000000000..453174e514 --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0001-rust.configure-Skip-all-target-manipulations.patch @@ -0,0 +1,66 @@ +From b75661fbddd00ba9a43680c35b8c08aad8807d6b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Sun, 31 Oct 2021 16:49:55 +0100 +Subject: [PATCH] rust.configure: Skip all target manipulations +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Mozjs/rust targets are different from OE-rust targets. Use targets reported +as is. + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + build/moz.configure/rust.configure | 16 +--------------- + 1 file changed, 1 insertion(+), 15 deletions(-) + +diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure +index e5122d6..9f3cc91 100644 +--- a/build/moz.configure/rust.configure ++++ b/build/moz.configure/rust.configure +@@ -81,9 +81,6 @@ def unwrap_rustup(prog, name): + + return unwrap + +-rustc = unwrap_rustup(rustc, 'rustc') +-cargo = unwrap_rustup(cargo, 'cargo') +- + + set_config('CARGO', cargo) + set_config('RUSTC', rustc) +@@ -239,6 +236,7 @@ def rust_triple_alias(host_or_target, host_or_target_c_compiler): + @imports(_from='textwrap', _import='dedent') + def rust_target(rustc, host_or_target, compiler_info, + rust_supported_targets, arm_target): ++ return host_or_target.alias + # Rust's --target options are similar to, but not exactly the same + # as, the autoconf-derived targets we use. An example would be that + # Rust uses distinct target triples for targetting the GNU C++ ABI +@@ -401,22 +399,10 @@ def rust_triple_alias(host_or_target, host_or_target_c_compiler): + + return rust_target + +- + rust_target_triple = rust_triple_alias(target, c_compiler) + rust_host_triple = rust_triple_alias(host, host_c_compiler) + + +-@depends(host, rust_host_triple, rustc_info.host) +-def validate_rust_host_triple(host, rust_host, rustc_host): +- if rust_host != rustc_host: +- if host.alias == rust_host: +- configure_host = host.alias +- else: +- configure_host = '{}/{}'.format(host.alias, rust_host) +- die("The rust compiler host ({}) is not suitable for the configure host ({})." +- .format(rustc_host, configure_host)) +- +- + set_config('RUST_TARGET', rust_target_triple) + set_config('RUST_HOST_TARGET', rust_host_triple) + +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0002-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch index a2ccf6b916..21ad82ede1 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0002-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch @@ -7,22 +7,27 @@ Subject: [PATCH] build: do not use autoconf's config.sub to 'canonicalize' The outcome is that processed names no longer match our custom rust target definitions, and the build fails. -Upstream-Status: Inappropriate [oe-core specific] +Upstream-Status: Inappropriate [oespecific] + Signed-off-by: Alexander Kanavin <alex@linutronix.de> +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> --- build/moz.configure/init.configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure -index 3a164c6558..99dfc9054a 100644 +index b887153..0a6a33c 100644 --- a/build/moz.configure/init.configure +++ b/build/moz.configure/init.configure -@@ -823,7 +823,7 @@ def help_host_target(help, host, target): - +@@ -808,7 +808,7 @@ def help_host_target(help, host, target): def config_sub(shell, triplet): - config_sub = os.path.join(os.path.dirname(__file__), "..", "autoconf", "config.sub") + config_sub = os.path.join(os.path.dirname(__file__), '..', + 'autoconf', 'config.sub') - return check_cmd_output(shell, config_sub, triplet).strip() + return triplet - @depends("--host", shell) + @depends('--host', shell) +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0003-Do-not-check-binaries-after-build.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0003-Do-not-check-binaries-after-build.patch new file mode 100644 index 0000000000..a0f37f597b --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0003-Do-not-check-binaries-after-build.patch @@ -0,0 +1,55 @@ +From 1a47eac590f57c765033c7797b0759dc314f2128 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Mon, 1 Nov 2021 22:52:57 +0100 +Subject: [PATCH] Do not check binaries after build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +* It buys us a dependency hard to fulfill in different layer setups +* Mozjs-91 does not perform these checks when setting --enable-project=js. Here + for old configuration style --enable-project changes nothing and build wants + to check binaries created. + +So omit checks by not searching for llvm_objdump and making check_binary.py a +stub to prevent errors by using unset LLVM_OBJDUMP. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + moz.configure | 7 ------- + python/mozbuild/mozbuild/action/check_binary.py | 2 +- + 2 files changed, 1 insertion(+), 8 deletions(-) + +diff --git a/moz.configure b/moz.configure +index 9b0e784..41e3e4d 100755 +--- a/moz.configure ++++ b/moz.configure +@@ -648,13 +648,6 @@ def llvm_objdump(host_c_compiler, c_compiler, bindgen_config_paths): + return (llvm_objdump,) + + +-llvm_objdump = check_prog('LLVM_OBJDUMP', llvm_objdump, what='llvm-objdump', +- when='--enable-compile-environment', +- paths=toolchain_search_path) +- +-add_old_configure_assignment('LLVM_OBJDUMP', llvm_objdump) +- +- + js_option('--enable-dtrace', help='Build with dtrace support') + + dtrace = check_header('sys/sdt.h', when='--enable-dtrace', +diff --git a/python/mozbuild/mozbuild/action/check_binary.py b/python/mozbuild/mozbuild/action/check_binary.py +index 57ccfa6..bd2c167 100644 +--- a/python/mozbuild/mozbuild/action/check_binary.py ++++ b/python/mozbuild/mozbuild/action/check_binary.py +@@ -366,4 +366,4 @@ def main(args): + + + if __name__ == '__main__': +- sys.exit(main(sys.argv[1:])) ++ sys.exit(0) +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0001-Cargo.toml-do-not-abort-on-panic.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0004-Cargo.toml-do-not-abort-on-panic.patch index e09848f403..665eace665 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0001-Cargo.toml-do-not-abort-on-panic.patch +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0004-Cargo.toml-do-not-abort-on-panic.patch @@ -5,15 +5,19 @@ Subject: [PATCH] Cargo.toml: do not abort on panic OE's rust is configured to unwind, and this setting clashes with it/ -Upstream-Status: Inappropriate [oe-core specific] +Upstream-Status: Inappropriate [OE specific] + Signed-off-by: Alexander Kanavin <alex@linutronix.de> +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> --- - Cargo.toml | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) + Cargo.toml | 2 -- + 1 file changed, 2 deletions(-) +diff --git a/Cargo.toml b/Cargo.toml +index 897daad41b..505454263e 100644 --- a/Cargo.toml +++ b/Cargo.toml -@@ -51,13 +51,11 @@ opt-level = 1 +@@ -56,13 +56,11 @@ opt-level = 1 rpath = false lto = false debug-assertions = true @@ -25,5 +29,5 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de> debug-assertions = false -panic = "abort" - # Optimize build dependencies, because bindgen and proc macros / style - # compilation take more to run than to build otherwise. + [patch.crates-io] + libudev-sys = { path = "dom/webauthn/libudev-sys" } diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0005-Fixup-compatibility-of-mozbuild-with-Python-3.10.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0005-Fixup-compatibility-of-mozbuild-with-Python-3.10.patch new file mode 100644 index 0000000000..d069d00afa --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0005-Fixup-compatibility-of-mozbuild-with-Python-3.10.patch @@ -0,0 +1,304 @@ +From a88d0c8e27b48344942187c2611bb121bde9332d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com> +Date: Tue, 13 Jul 2021 11:46:20 +0200 +Subject: [PATCH] Fixup compatibility of mozbuild with Python 3.10 + +Stolen from [1] + +[1] https://src.fedoraproject.org/rpms/mozjs78/raw/rawhide/f/Fixup-compatibility-of-mozbuild-with-Python-3.10.patch + +Upstream-Status: Pending + +--- + python/mach/mach/config.py | 4 ++-- + python/mach/mach/decorators.py | 2 +- + python/mozbuild/mozbuild/backend/configenvironment.py | 3 ++- + python/mozbuild/mozbuild/makeutil.py | 2 +- + python/mozbuild/mozbuild/util.py | 2 +- + testing/marionette/client/marionette_driver/wait.py | 2 +- + testing/mozbase/manifestparser/manifestparser/filters.py | 3 ++- + testing/mozbase/versioninfo.py | 2 +- + testing/web-platform/tests/tools/manifest/vcs.py | 2 +- + .../web-platform/tests/tools/third_party/h2/h2/settings.py | 2 +- + .../tests/tools/third_party/html5lib/html5lib/_trie/_base.py | 2 +- + .../tools/third_party/html5lib/html5lib/treebuilders/dom.py | 2 +- + .../tests/tools/third_party/hyper/hyper/common/headers.py | 2 +- + .../tests/tools/third_party/hyper/hyper/h2/settings.py | 2 +- + .../tests/tools/third_party/hyper/hyper/http11/connection.py | 4 ++-- + .../third_party/hyper/hyper/packages/hyperframe/flags.py | 2 +- + .../tests/tools/third_party/hyperframe/hyperframe/flags.py | 2 +- + testing/web-platform/tests/tools/wptserve/wptserve/config.py | 3 ++- + testing/web-platform/tests/webdriver/tests/support/sync.py | 2 +- + 19 files changed, 24 insertions(+), 21 deletions(-) + +diff --git a/python/mach/mach/config.py b/python/mach/mach/config.py +index 7210eca82..edb4d2e93 100644 +--- a/python/mach/mach/config.py ++++ b/python/mach/mach/config.py +@@ -144,7 +144,7 @@ def reraise_attribute_error(func): + return _ + + +-class ConfigSettings(collections.Mapping): ++class ConfigSettings(collections.abc.Mapping): + """Interface for configuration settings. + + This is the main interface to the configuration. +@@ -190,7 +190,7 @@ class ConfigSettings(collections.Mapping): + will result in exceptions being raised. + """ + +- class ConfigSection(collections.MutableMapping, object): ++ class ConfigSection(collections.abc.MutableMapping, object): + """Represents an individual config section.""" + def __init__(self, config, name, settings): + object.__setattr__(self, '_config', config) +diff --git a/python/mach/mach/decorators.py b/python/mach/mach/decorators.py +index 27f7f34a6..5f63271a3 100644 +--- a/python/mach/mach/decorators.py ++++ b/python/mach/mach/decorators.py +@@ -140,7 +140,7 @@ def CommandProvider(cls): + 'Conditions argument must take a list ' + \ + 'of functions. Found %s instead.' + +- if not isinstance(command.conditions, collections.Iterable): ++ if not isinstance(command.conditions, collections.abc.Iterable): + msg = msg % (command.name, type(command.conditions)) + raise MachError(msg) + +diff --git a/python/mozbuild/mozbuild/backend/configenvironment.py b/python/mozbuild/mozbuild/backend/configenvironment.py +index 20d1a9fa6..8747958bd 100644 +--- a/python/mozbuild/mozbuild/backend/configenvironment.py ++++ b/python/mozbuild/mozbuild/backend/configenvironment.py +@@ -9,7 +9,8 @@ import six + import sys + import json + +-from collections import Iterable, OrderedDict ++from collections import OrderedDict ++from collections.abc import Iterable + from types import ModuleType + + import mozpack.path as mozpath +diff --git a/python/mozbuild/mozbuild/makeutil.py b/python/mozbuild/mozbuild/makeutil.py +index 4da1a3b26..4ce56848c 100644 +--- a/python/mozbuild/mozbuild/makeutil.py ++++ b/python/mozbuild/mozbuild/makeutil.py +@@ -7,7 +7,7 @@ from __future__ import absolute_import, print_function, unicode_literals + import os + import re + import six +-from collections import Iterable ++from collections.abc import Iterable + + + class Makefile(object): +diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py +index 044cf645c..98ed3ef52 100644 +--- a/python/mozbuild/mozbuild/util.py ++++ b/python/mozbuild/mozbuild/util.py +@@ -782,7 +782,7 @@ class HierarchicalStringList(object): + self._strings = StrictOrderingOnAppendList() + self._children = {} + +- class StringListAdaptor(collections.Sequence): ++ class StringListAdaptor(collections.abc.Sequence): + def __init__(self, hsl): + self._hsl = hsl + +diff --git a/testing/marionette/client/marionette_driver/wait.py b/testing/marionette/client/marionette_driver/wait.py +index eeaa1e23d..c147f463f 100644 +--- a/testing/marionette/client/marionette_driver/wait.py ++++ b/testing/marionette/client/marionette_driver/wait.py +@@ -82,7 +82,7 @@ class Wait(object): + + exceptions = [] + if ignored_exceptions is not None: +- if isinstance(ignored_exceptions, collections.Iterable): ++ if isinstance(ignored_exceptions, collections.abc.Iterable): + exceptions.extend(iter(ignored_exceptions)) + else: + exceptions.append(ignored_exceptions) +diff --git a/testing/mozbase/manifestparser/manifestparser/filters.py b/testing/mozbase/manifestparser/manifestparser/filters.py +index 287ee033b..b1d608003 100644 +--- a/testing/mozbase/manifestparser/manifestparser/filters.py ++++ b/testing/mozbase/manifestparser/manifestparser/filters.py +@@ -12,7 +12,8 @@ from __future__ import absolute_import + + import itertools + import os +-from collections import defaultdict, MutableSequence ++from collections import defaultdict ++from collections.abc import MutableSequence + + import six + from six import string_types +diff --git a/testing/mozbase/versioninfo.py b/testing/mozbase/versioninfo.py +index 91d1a0473..8c1680069 100755 +--- a/testing/mozbase/versioninfo.py ++++ b/testing/mozbase/versioninfo.py +@@ -11,7 +11,7 @@ from commit messages. + + from __future__ import absolute_import, print_function + +-from collections import Iterable ++from collections.abc import Iterable + from distutils.version import StrictVersion + import argparse + import os +diff --git a/testing/web-platform/tests/tools/manifest/vcs.py b/testing/web-platform/tests/tools/manifest/vcs.py +index 7c0feeb81..05ee19c7c 100644 +--- a/testing/web-platform/tests/tools/manifest/vcs.py ++++ b/testing/web-platform/tests/tools/manifest/vcs.py +@@ -3,7 +3,7 @@ import json + import os + import stat + from collections import deque +-from collections import MutableMapping ++from collections.abc import MutableMapping + + from six import with_metaclass, PY2 + +diff --git a/testing/web-platform/tests/tools/third_party/h2/h2/settings.py b/testing/web-platform/tests/tools/third_party/h2/h2/settings.py +index 3da720329..e097630e9 100644 +--- a/testing/web-platform/tests/tools/third_party/h2/h2/settings.py ++++ b/testing/web-platform/tests/tools/third_party/h2/h2/settings.py +@@ -88,7 +88,7 @@ class ChangedSetting: + ) + + +-class Settings(collections.MutableMapping): ++class Settings(collections.abc.MutableMapping): + """ + An object that encapsulates HTTP/2 settings state. + +diff --git a/testing/web-platform/tests/tools/third_party/html5lib/html5lib/_trie/_base.py b/testing/web-platform/tests/tools/third_party/html5lib/html5lib/_trie/_base.py +index a1158bbbf..a9295a2ba 100644 +--- a/testing/web-platform/tests/tools/third_party/html5lib/html5lib/_trie/_base.py ++++ b/testing/web-platform/tests/tools/third_party/html5lib/html5lib/_trie/_base.py +@@ -1,6 +1,6 @@ + from __future__ import absolute_import, division, unicode_literals + +-from collections import Mapping ++from collections.abc import Mapping + + + class Trie(Mapping): +diff --git a/testing/web-platform/tests/tools/third_party/html5lib/html5lib/treebuilders/dom.py b/testing/web-platform/tests/tools/third_party/html5lib/html5lib/treebuilders/dom.py +index dcfac220b..818a33433 100644 +--- a/testing/web-platform/tests/tools/third_party/html5lib/html5lib/treebuilders/dom.py ++++ b/testing/web-platform/tests/tools/third_party/html5lib/html5lib/treebuilders/dom.py +@@ -1,7 +1,7 @@ + from __future__ import absolute_import, division, unicode_literals + + +-from collections import MutableMapping ++from collections.abc import MutableMapping + from xml.dom import minidom, Node + import weakref + +diff --git a/testing/web-platform/tests/tools/third_party/hyper/hyper/common/headers.py b/testing/web-platform/tests/tools/third_party/hyper/hyper/common/headers.py +index 655a591ac..6454f550a 100644 +--- a/testing/web-platform/tests/tools/third_party/hyper/hyper/common/headers.py ++++ b/testing/web-platform/tests/tools/third_party/hyper/hyper/common/headers.py +@@ -10,7 +10,7 @@ import collections + from hyper.common.util import to_bytestring, to_bytestring_tuple + + +-class HTTPHeaderMap(collections.MutableMapping): ++class HTTPHeaderMap(collections.abc.MutableMapping): + """ + A structure that contains HTTP headers. + +diff --git a/testing/web-platform/tests/tools/third_party/hyper/hyper/h2/settings.py b/testing/web-platform/tests/tools/third_party/hyper/hyper/h2/settings.py +index fedc5e3c4..040afea92 100755 +--- a/testing/web-platform/tests/tools/third_party/hyper/hyper/h2/settings.py ++++ b/testing/web-platform/tests/tools/third_party/hyper/hyper/h2/settings.py +@@ -151,7 +151,7 @@ class ChangedSetting: + ) + + +-class Settings(collections.MutableMapping): ++class Settings(collections.abc.MutableMapping): + """ + An object that encapsulates HTTP/2 settings state. + +diff --git a/testing/web-platform/tests/tools/third_party/hyper/hyper/http11/connection.py b/testing/web-platform/tests/tools/third_party/hyper/hyper/http11/connection.py +index 61361c358..a214311d2 100644 +--- a/testing/web-platform/tests/tools/third_party/hyper/hyper/http11/connection.py ++++ b/testing/web-platform/tests/tools/third_party/hyper/hyper/http11/connection.py +@@ -10,7 +10,7 @@ import os + import socket + import base64 + +-from collections import Iterable, Mapping ++from collections.abc import Iterable, Mapping + + import collections + from hyperframe.frame import SettingsFrame +@@ -295,7 +295,7 @@ class HTTP11Connection(object): + return + + # Iterables that set a specific content length. +- elif isinstance(body, collections.Iterable): ++ elif isinstance(body, collections.abc.Iterable): + for item in body: + try: + self._sock.send(item) +diff --git a/testing/web-platform/tests/tools/third_party/hyper/hyper/packages/hyperframe/flags.py b/testing/web-platform/tests/tools/third_party/hyper/hyper/packages/hyperframe/flags.py +index e8f630056..8f2ea689b 100644 +--- a/testing/web-platform/tests/tools/third_party/hyper/hyper/packages/hyperframe/flags.py ++++ b/testing/web-platform/tests/tools/third_party/hyper/hyper/packages/hyperframe/flags.py +@@ -11,7 +11,7 @@ import collections + Flag = collections.namedtuple("Flag", ["name", "bit"]) + + +-class Flags(collections.MutableSet): ++class Flags(collections.abc.MutableSet): + """ + A simple MutableSet implementation that will only accept known flags as elements. + +diff --git a/testing/web-platform/tests/tools/third_party/hyperframe/hyperframe/flags.py b/testing/web-platform/tests/tools/third_party/hyperframe/hyperframe/flags.py +index 05b35017e..14c352e10 100644 +--- a/testing/web-platform/tests/tools/third_party/hyperframe/hyperframe/flags.py ++++ b/testing/web-platform/tests/tools/third_party/hyperframe/hyperframe/flags.py +@@ -11,7 +11,7 @@ import collections + Flag = collections.namedtuple("Flag", ["name", "bit"]) + + +-class Flags(collections.MutableSet): ++class Flags(collections.abc.MutableSet): + """ + A simple MutableSet implementation that will only accept known flags as + elements. +diff --git a/testing/web-platform/tests/tools/wptserve/wptserve/config.py b/testing/web-platform/tests/tools/wptserve/wptserve/config.py +index 7766565fe..3c1c36d6f 100644 +--- a/testing/web-platform/tests/tools/wptserve/wptserve/config.py ++++ b/testing/web-platform/tests/tools/wptserve/wptserve/config.py +@@ -2,7 +2,8 @@ import copy + import logging + import os + +-from collections import defaultdict, Mapping ++from collections import defaultdict ++from collections.abc import Mapping + from six import integer_types, iteritems, itervalues, string_types + + from . import sslutils +diff --git a/testing/web-platform/tests/webdriver/tests/support/sync.py b/testing/web-platform/tests/webdriver/tests/support/sync.py +index 3fc77131c..8e8f6b819 100644 +--- a/testing/web-platform/tests/webdriver/tests/support/sync.py ++++ b/testing/web-platform/tests/webdriver/tests/support/sync.py +@@ -81,7 +81,7 @@ class Poll(object): + + exceptions = [] + if ignored_exceptions is not None: +- if isinstance(ignored_exceptions, collections.Iterable): ++ if isinstance(ignored_exceptions, collections.abc.Iterable): + exceptions.extend(iter(ignored_exceptions)) + else: + exceptions.append(ignored_exceptions) +-- +2.31.1 + + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0004-use-asm-sgidefs.h.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0006-use-asm-sgidefs.h.patch index b56f0b95b5..b56f0b95b5 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0004-use-asm-sgidefs.h.patch +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0006-use-asm-sgidefs.h.patch diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/fix-musl-build.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0007-fix-musl-build.patch index c0834af589..c0834af589 100644 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/fix-musl-build.patch +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0007-fix-musl-build.patch diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0008-riscv.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0008-riscv.patch new file mode 100644 index 0000000000..70177d003d --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0008-riscv.patch @@ -0,0 +1,52 @@ +Add RISCV32/64 support + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + build/moz.configure/init.configure | 6 ++++++ + python/mozbuild/mozbuild/configure/constants.py | 2 ++ + 2 files changed, 8 insertions(+) + +diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure +index 0a6a33c..eeee87e 100644 +--- a/build/moz.configure/init.configure ++++ b/build/moz.configure/init.configure +@@ -755,6 +755,12 @@ def split_triplet(triplet, allow_msvc=False): + elif cpu.startswith('aarch64'): + canonical_cpu = 'aarch64' + endianness = 'little' ++ elif cpu in ("riscv32", "riscv32gc"): ++ canonical_cpu = "riscv32" ++ endianness = "little" ++ elif cpu in ("riscv64", "riscv64gc"): ++ canonical_cpu = "riscv64" ++ endianness = "little" + elif cpu == 'sh4': + canonical_cpu = 'sh4' + endianness = 'little' +diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py +index 7542dcd..de25be2 100644 +--- a/python/mozbuild/mozbuild/configure/constants.py ++++ b/python/mozbuild/mozbuild/configure/constants.py +@@ -50,6 +50,8 @@ CPU_bitness = { + 'mips64': 64, + 'ppc': 32, + 'ppc64': 64, ++ 'riscv32': 32, ++ 'riscv64': 64, + 's390': 32, + 's390x': 64, + 'sh4': 32, +@@ -82,6 +84,8 @@ CPU_preprocessor_checks = OrderedDict(( + ('s390', '__s390__'), + ('ppc64', '__powerpc64__'), + ('ppc', '__powerpc__'), ++ ('riscv32', '__riscv && __SIZEOF_POINTER__ == 4'), ++ ('riscv64', '__riscv && __SIZEOF_POINTER__ == 8'), + ('Alpha', '__alpha__'), + ('hppa', '__hppa__'), + ('sparc64', '__sparc__ && __arch64__'), +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0009-riscv-Disable-atomic-operations.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0009-riscv-Disable-atomic-operations.patch new file mode 100644 index 0000000000..ba50e10c6e --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0009-riscv-Disable-atomic-operations.patch @@ -0,0 +1,52 @@ +From 64ad80e6d95871f17be4cd01da15581f41ac0b2b Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Mon, 27 May 2019 21:10:34 -0700 +Subject: [PATCH] riscv: Disable atomic operations + +This was ported from what was used with mozjs-60 which was +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Inappropriate[old-version] + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + js/src/jit/AtomicOperations.h | 3 ++- + js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h | 8 ++++++++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h +index 0486cba..cf6b91c 100644 +--- a/js/src/jit/AtomicOperations.h ++++ b/js/src/jit/AtomicOperations.h +@@ -391,7 +391,8 @@ inline bool AtomicOperations::isLockfreeJS(int32_t size) { + #elif defined(__ppc__) || defined(__PPC__) || defined(__sparc__) || \ + defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || \ + defined(__PPC64LE__) || defined(__alpha__) || defined(__hppa__) || \ +- defined(__sh__) || defined(__s390__) || defined(__s390x__) ++ defined(__sh__) || defined(__s390__) || defined(__s390x__) || \ ++ defined(__riscv) + # include "jit/shared/AtomicOperations-feeling-lucky.h" + #else + # error "No AtomicOperations support provided for this platform" +diff --git a/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h b/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h +index f002cd4..14bb5f9 100644 +--- a/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h ++++ b/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h +@@ -77,6 +77,14 @@ + # endif + #endif + ++#ifdef __riscv ++# ifdef __riscv_xlen == 64 ++# define HAS_64BIT_ATOMICS ++# define HAS_64BIT_LOCKFREE ++# endif ++#endif ++ ++ + // The default implementation tactic for gcc/clang is to use the newer __atomic + // intrinsics added for use in C++11 <atomic>. Where that isn't available, we + // use GCC's older __sync functions instead. +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0010-riscv-Set-march-correctly.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0010-riscv-Set-march-correctly.patch new file mode 100644 index 0000000000..befede172e --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0010-riscv-Set-march-correctly.patch @@ -0,0 +1,60 @@ +From c3c2d1c69859c5e567005f0c3fa07a0dbe31e4a3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Fri, 29 Oct 2021 21:18:26 +0200 +Subject: [PATCH] riscv: Set march correctly +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Stolen from leftover patch in oe-core [1] + +[1] https://github.com/openembedded/openembedded-core/blob/c884878f6c833b18a3a95b193f5de68df5bcea48/meta/recipes-devtools/rust/files/rv64gc.patch + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + third_party/rust/cc/src/lib.rs | 14 ++++++++++---- + third_party/rust/cc/.cargo-checksum.json | 2 +- + 1 file changed, 10 insertions(+), 4 deletions(-) + +diff --git a/third_party/rust/cc/src/lib.rs b/third_party/rust/cc/src/lib.rs +index 621d31d..6f72e13 100644 +--- a/third_party/rust/cc/src/lib.rs ++++ b/third_party/rust/cc/src/lib.rs +@@ -1587,14 +1587,20 @@ impl Build { + let mut parts = target.split('-'); + if let Some(arch) = parts.next() { + let arch = &arch[5..]; +- cmd.args.push(("-march=rv".to_owned() + arch).into()); +- // ABI is always soft-float right now, update this when this is no longer the +- // case: +- if arch.starts_with("64") { ++ if target.contains("linux") && arch.starts_with("64") { ++ cmd.args.push(("-march=rv64gc").into()); ++ cmd.args.push("-mabi=lp64d".into()); ++ } else if target.contains("linux") && arch.starts_with("32") { ++ cmd.args.push(("-march=rv32gc").into()); ++ cmd.args.push("-mabi=ilp32d".into()); ++ } else if arch.starts_with("64") { ++ cmd.args.push(("-march=rv".to_owned() + arch).into()); + cmd.args.push("-mabi=lp64".into()); + } else { ++ cmd.args.push(("-march=rv".to_owned() + arch).into()); + cmd.args.push("-mabi=ilp32".into()); + } ++ cmd.args.push("-mcmodel=medany".into()); + } + } + } +diff --git a/third_party/rust/cc/.cargo-checksum.json b/third_party/rust/cc/.cargo-checksum.json +index 417fde7..70e5d02 100644 +--- a/third_party/rust/cc/.cargo-checksum.json ++++ b/third_party/rust/cc/.cargo-checksum.json +@@ -1 +1 @@ +-{"files":{"Cargo.lock":"3aff5f8b0a7f4d72852b11b0526f0002e6bf55f19f1ebd6470d7f97fbd540e60","Cargo.toml":"6ab10d9b6a9c6f0909074e6698c90c6b6a7223661ec2e83174d2593117cbe7f2","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"7184fbdf375a057e673257348f6d7584c0dd11b66318d98f3647f69eb610b097","src/bin/gcc-shim.rs":"b77907875029494b6288841c3aed2e4939ed40708c7f597fca5c9e2570490ca6","src/com.rs":"bcdaf1c28b71e6ef889c6b08d1ce9d7c0761344a677f523bc4c3cd297957f804","src/lib.rs":"4753929dbb7b676c19d7cfa06d0a47e37003554b80c536cbf2b892d591ef61c2","src/registry.rs":"3cc1b5a50879fa751572878ae1d0afbfc960c11665258492754b2c8bccb0ff5d","src/setup_config.rs":"7014103587d3382eac599cb76f016e2609b8140970861b2237982d1db24af265","src/winapi.rs":"ea8b7edbb9ff87957254f465c2334e714c5d6b3b19a8d757c48ea7ca0881c50c","src/windows_registry.rs":"388e79dcf3e84078ae0b086c6cdee9cf9eb7e3ffafdcbf3e2df26163661f5856","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"71620b178583b6e6e5e0d4cac14e2cef6afc62fb6841e0c72ed1784543abf8ac","tests/test.rs":"1605640c9b94a77f48fc92e1dc0485bdf1960da5626e2e00279e4703691656bc"},"package":"aa87058dce70a3ff5621797f1506cb837edd02ac4c0ae642b4542dce802908b8"} +\ No newline at end of file ++{"files":{"Cargo.lock":"3aff5f8b0a7f4d72852b11b0526f0002e6bf55f19f1ebd6470d7f97fbd540e60","Cargo.toml":"6ab10d9b6a9c6f0909074e6698c90c6b6a7223661ec2e83174d2593117cbe7f2","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"7184fbdf375a057e673257348f6d7584c0dd11b66318d98f3647f69eb610b097","src/bin/gcc-shim.rs":"b77907875029494b6288841c3aed2e4939ed40708c7f597fca5c9e2570490ca6","src/com.rs":"bcdaf1c28b71e6ef889c6b08d1ce9d7c0761344a677f523bc4c3cd297957f804","src/lib.rs":"feab2b4cc51fcfb041f83a1a689960c3c9abfbaa9580ba186244a880586ba29a","src/registry.rs":"3cc1b5a50879fa751572878ae1d0afbfc960c11665258492754b2c8bccb0ff5d","src/setup_config.rs":"7014103587d3382eac599cb76f016e2609b8140970861b2237982d1db24af265","src/winapi.rs":"ea8b7edbb9ff87957254f465c2334e714c5d6b3b19a8d757c48ea7ca0881c50c","src/windows_registry.rs":"388e79dcf3e84078ae0b086c6cdee9cf9eb7e3ffafdcbf3e2df26163661f5856","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"71620b178583b6e6e5e0d4cac14e2cef6afc62fb6841e0c72ed1784543abf8ac","tests/test.rs":"1605640c9b94a77f48fc92e1dc0485bdf1960da5626e2e00279e4703691656bc"},"package":"aa87058dce70a3ff5621797f1506cb837edd02ac4c0ae642b4542dce802908b8"} +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0011-replace-include-by-code-to-fix-arm-build.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0011-replace-include-by-code-to-fix-arm-build.patch new file mode 100644 index 0000000000..adca9c7213 --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0011-replace-include-by-code-to-fix-arm-build.patch @@ -0,0 +1,43 @@ +From fd6847c9416f9eebde636e21d794d25d1be8791d Mon Sep 17 00:00:00 2001 +From: Mike Hommey <mh@glandium.org> +Date: Sat, 1 Jun 2019 09:06:01 +0900 +Subject: [PATCH] Bug 1526653 - Include struct definitions for user_vfp and + user_vfp_exc. + +* We need this to fix arm builds +* Stolen from [1] + +[1] https://salsa.debian.org/mozilla-team/firefox/commit/fd6847c9416f9eebde636e21d794d25d1be8791d + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> + +Upstream-Status: Pending +--- + js/src/wasm/WasmSignalHandlers.cpp | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp +index 636537f8478..383c380f04c 100644 +--- a/js/src/wasm/WasmSignalHandlers.cpp ++++ b/js/src/wasm/WasmSignalHandlers.cpp +@@ -248,7 +248,16 @@ using mozilla::DebugOnly; + #endif + + #ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS +-# include <sys/user.h> ++struct user_vfp { ++ unsigned long long fpregs[32]; ++ unsigned long fpscr; ++}; ++ ++struct user_vfp_exc { ++ unsigned long fpexc; ++ unsigned long fpinst; ++ unsigned long fpinst2; ++}; + #endif + + #if defined(ANDROID) +-- +GitLab + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0012-Add-SharedArrayRawBufferRefs-to-public-API.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0012-Add-SharedArrayRawBufferRefs-to-public-API.patch new file mode 100644 index 0000000000..ca37ca72ce --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0012-Add-SharedArrayRawBufferRefs-to-public-API.patch @@ -0,0 +1,35 @@ +From ccdd47cee610cb33fa5f67f856a68f5e411c79d5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Sun, 31 Oct 2021 18:32:39 +0100 +Subject: [PATCH] Add SharedArrayRawBufferRefs to public API +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Stolen from [1] + +[1] https://src.fedoraproject.org/rpms/mozjs78/blob/rawhide/f/FixSharedArray.diff + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + js/public/StructuredClone.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/js/public/StructuredClone.h b/js/public/StructuredClone.h +index cb3cd5b..06da4dd 100644 +--- a/js/public/StructuredClone.h ++++ b/js/public/StructuredClone.h +@@ -381,7 +381,7 @@ enum OwnTransferablePolicy { + namespace js { + class SharedArrayRawBuffer; + +-class SharedArrayRawBufferRefs { ++class JS_PUBLIC_API SharedArrayRawBufferRefs { + public: + SharedArrayRawBufferRefs() = default; + SharedArrayRawBufferRefs(SharedArrayRawBufferRefs&& other) = default; +-- +2.31.1 + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0013-util.configure-fix-one-occasionally-reproduced-confi.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0013-util.configure-fix-one-occasionally-reproduced-confi.patch new file mode 100644 index 0000000000..e943cf1ba1 --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0013-util.configure-fix-one-occasionally-reproduced-confi.patch @@ -0,0 +1,50 @@ +From 430fd956b91c6208f166753578234c2f5db6352f Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Thu, 11 Nov 2021 21:17:38 +0800 +Subject: [PATCH] util.configure: fix one occasionally reproduced configure + failure + +error: +| checking whether the C++ compiler supports -Wno-range-loop-analysis... +| DEBUG: Creating /tmp/conftest.jr1qrcw3.cpp with content: +| DEBUG: | int +| DEBUG: | main(void) +| DEBUG: | { +| DEBUG: | +| DEBUG: | ; +| DEBUG: | return 0; +| DEBUG: | } +| DEBUG: Executing: aarch64-wrs-linux-g++ -mcpu=cortex-a53 -march=armv8-a+crc -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/mozjs/91.1.0-r0/recipe-sysroot /tmp/conftest.jr1qrcw3.cpp -Werror -Wrange-loop-analysis -c +| DEBUG: The command returned non-zero exit status 1. +| DEBUG: Its error output was: +... +| File "/mozjs/91.1.0-r0/firefox-91.1.0/build/moz.configure/util.configure", line 239, in try_invoke_compiler +| os.remove(path) +| FileNotFoundError: [Errno 2] No such file or directory: '/tmp/conftest.jr1qrcw3.cpp' + +It should be another process that deleted this file by using +"rm -rf conftest*" inappropriately + +Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1740667] + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + build/moz.configure/util.configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/build/moz.configure/util.configure b/build/moz.configure/util.configure +index 7ee1a498ad..511e257ad9 100644 +--- a/build/moz.configure/util.configure ++++ b/build/moz.configure/util.configure +@@ -217,7 +217,7 @@ def try_invoke_compiler(compiler, language, source, flags=None, onerror=None): + 'C++': '.cpp', + }[language] + +- fd, path = mkstemp(prefix='conftest.', suffix=suffix, text=True) ++ fd, path = mkstemp(prefix='try_invoke_compiler_conftest.', suffix=suffix, text=True) + try: + source = source.encode('ascii', 'replace') + +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0014-rewrite-cargo-host-linker-in-python3.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0014-rewrite-cargo-host-linker-in-python3.patch new file mode 100644 index 0000000000..7b938179c3 --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78/0014-rewrite-cargo-host-linker-in-python3.patch @@ -0,0 +1,56 @@ +From 9eceb43dd676afe2f675bd65ab369ba4d14f6537 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Thu, 18 Nov 2021 07:16:39 +0000 +Subject: [PATCH] Rewrite cargo-host-linker in python3 + +Mozjs compile failed with this failure: +/bin/sh: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /build/tmp-glibc/work/corei7-64-wrs-linux/mozjs/91.1.0-r0/recipe-sysroot-native/usr/lib/libtinfo.so.5) + +Root Cause: +cargo-host-linker has /bin/sh as it's interpreter, but cargo run the cmd +with LD_LIBRARY_PATH set to recipe-sysroot-native. The host /bin/sh links +libtinfo.so.5 under recipe-sysroot-native, which needs higher libc. But +host libc is older libc. So the incompatible problem occurred. + +Solution: +rewrite cargo-host-linker in python3 + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + build/cargo-host-linker | 24 +++++++--- + 1 file changed, 21 insertions(+), 3 deletions(-) + +diff --git a/build/cargo-host-linker b/build/cargo-host-linker +index cbd0472bf7..ccd8bffec1 100755 +--- a/build/cargo-host-linker ++++ b/build/cargo-host-linker +@@ -1,3 +1,21 @@ +-#!/bin/sh +-# See comment in cargo-linker. +-eval ${MOZ_CARGO_WRAP_HOST_LD} ${MOZ_CARGO_WRAP_HOST_LDFLAGS} '"$@"' ++#!/usr/bin/env python3 ++ ++import os,sys ++ ++if os.environ['MOZ_CARGO_WRAP_HOST_LD'].strip(): ++ binary=os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0] ++else: ++ sys.exit(0) ++ ++if os.environ['MOZ_CARGO_WRAP_HOST_LDFLAGS'].strip(): ++ if os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:]: ++ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:] + [os.environ['MOZ_CARGO_WRAP_HOST_LDFLAGS']] + sys.argv[1:] ++ else: ++ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + [os.environ['MOZ_CARGO_WRAP_HOST_LDFLAGS']] + sys.argv[1:] ++else: ++ if os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:]: ++ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[1:] + sys.argv[1:] ++ else: ++ args=[os.environ['MOZ_CARGO_WRAP_HOST_LD'].split()[0]] + sys.argv[1:] ++ ++os.execvp(binary, args) +-- +2.33.1 + diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78_78.15.0.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78_78.15.0.bb new file mode 100644 index 0000000000..3700d88c24 --- /dev/null +++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs-78_78.15.0.bb @@ -0,0 +1,144 @@ +SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++" +HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" +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-rust.configure-Skip-all-target-manipulations.patch \ + file://0002-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch \ + file://0003-Do-not-check-binaries-after-build.patch \ + file://0004-Cargo.toml-do-not-abort-on-panic.patch \ + file://0005-Fixup-compatibility-of-mozbuild-with-Python-3.10.patch \ + file://0006-use-asm-sgidefs.h.patch \ + file://0007-fix-musl-build.patch \ + file://0008-riscv.patch \ + file://0009-riscv-Disable-atomic-operations.patch \ + file://0010-riscv-Set-march-correctly.patch \ + file://0011-replace-include-by-code-to-fix-arm-build.patch \ + file://0012-Add-SharedArrayRawBufferRefs-to-public-API.patch \ + file://0013-util.configure-fix-one-occasionally-reproduced-confi.patch \ + file://0014-rewrite-cargo-host-linker-in-python3.patch \ +" + +SRC_URI[sha256sum] = "a4438d84d95171a6d4fea9c9f02c2edbf0475a9c614d968ebe2eedc25a672151" +S = "${WORKDIR}/firefox-${@d.getVar("PV").replace("esr", "")}" + +DEPENDS = " \ + autoconf-2.13-native \ + icu-native \ + cargo-native \ + zlib \ + python3-six \ + python3-six-native \ +" + +inherit autotools pkgconfig rust python3native siteinfo + +JIT ?= "" +JIT:mipsarch = "--disable-jit" + +EXTRA_OECONF = " \ + --target=${TARGET_SYS} \ + --host=${BUILD_SYS} \ + --prefix=${prefix} \ + --libdir=${libdir} \ + --x-includes=${STAGING_INCDIR} \ + --x-libraries=${STAGING_LIBDIR} \ + --without-system-icu \ + --disable-tests --disable-strip --disable-optimize \ + --disable-jemalloc \ + ${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', "--enable-gold", '--disable-gold', d)} \ + ${JIT} \ +" +# Note: Python with mozilla build is a mess: E.g: python-six: to get an error +# free configure we need: +# * python3-six-native in DEPENDS +# * python3-six in DEPENDS +# * path to python-six shipped by mozilla in PYTHONPATH +prepare_python_and_rust() { + if [ ! -f ${B}/PYTHONPATH ]; then + oldpath=`pwd` + cd ${S} + # Add mozjs python-modules necessary + PYTHONPATH="${S}/build:${S}/config" + PYTHONPATH="$PYTHONPATH:${S}/third_party/python/distro:${S}/third_party/python/jsmin" + PYTHONPATH="$PYTHONPATH:${S}/third_party/python/pytoml:${S}/third_party/python/six" + PYTHONPATH="$PYTHONPATH:${S}/third_party/python/pyyaml/lib3:${S}/third_party/python/which" + for sub_dir in python testing/mozbase; do + for module_dir in `ls $sub_dir -1`;do + [ $module_dir = "virtualenv" ] && continue + if [ -d "${S}/$sub_dir/$module_dir" ];then + PYTHONPATH="$PYTHONPATH:${S}/$sub_dir/$module_dir" + fi + done + done + # looks odd but it's huge and we want to see what's in there + echo "$PYTHONPATH" > ${B}/PYTHONPATH + cd "$oldpath" + fi + + export PYTHONPATH=`cat ${B}/PYTHONPATH` + + export RUST_TARGET_PATH="${RUST_TARGET_PATH}" + export RUST_TARGET="${TARGET_SYS}" + export RUSTFLAGS="${RUSTFLAGS}" +} + +export HOST_CC = "${BUILD_CC}" +export HOST_CXX = "${BUILD_CXX}" +export HOST_CFLAGS = "${BUILD_CFLAGS}" +export HOST_CPPFLAGS = "${BUILD_CPPFLAGS}" +export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}" +# otherwise we are asked for yasm... +export AS = "${CC}" + +CPPFLAGS:append:mips:toolchain-clang = " -fpie" +CPPFLAGS:append:mipsel:toolchain-clang = " -fpie" + +do_configure() { + prepare_python_and_rust + + cd ${S}/js/src + autoconf213 --macrodir=${STAGING_DATADIR_NATIVE}/autoconf213 old-configure.in > old-configure + + cd ${B} + # * use of /tmp can causes problems on heavily loaded hosts + # * with mozjs-78 we get without: + # | Path specified in LOCAL_INCLUDES (..) resolves to the topsrcdir or topobjdir (<tmpdir>/oe-core-glibc/work/cortexa72-mortsgna-linux/mozjs-78/78.15.0-r0/firefox-78.15.0/js/src), which is not allowed + mkdir -p "${B}/lcl_tmp" + TMPDIR="${B}/lcl_tmp" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" ${S}/js/src/configure ${EXTRA_OECONF} + + # inspired by what fedora [1] does: for big endian rebuild icu dat + # this avoids gjs qemu crash on mips at gir creation + # [1] https://src.fedoraproject.org/rpms/mozjs78/blob/rawhide/f/mozjs78.spec + if [ ${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'le', 'little', 'big', d)} = "big" -a ! -e ${S}/config/external/icu/data/icudt67b.dat ]; then + echo "Do big endian icu dat-convert..." + icupkg -tb ${S}/config/external/icu/data/icudt67l.dat ${S}/config/external/icu/data/icudt67b.dat + rm -f ${S}/config/external/icu/data/icudt*l.dat + fi +} + +do_compile:prepend() { + prepare_python_and_rust +} + +do_install:prepend() { + prepare_python_and_rust +} + +do_install:append() { + # tidy up installation + chmod -x ${D}${libdir}/pkgconfig/*.pc + sed -i 's:\x24{includedir}/mozjs-78/js/RequiredDefines.h:js/RequiredDefines.h:g' ${D}${libdir}/pkgconfig/*.pc + + rm -f ${D}${libdir}/libjs_static.ajs +} + +ARM_INSTRUCTION_SET:armv5 = "arm" +ARM_INSTRUCTION_SET:armv4 = "arm" + +DISABLE_STATIC = "" + +PACKAGES =+ "lib${BPN}" +FILES:lib${BPN} += "${libdir}/lib*" diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0002-moz.configure-do-not-look-for-llvm-objdump.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0002-moz.configure-do-not-look-for-llvm-objdump.patch deleted file mode 100644 index 6ff83e3bb2..0000000000 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0002-moz.configure-do-not-look-for-llvm-objdump.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 0133ddb86eb6e0741e02b0032c41468db6438530 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex@linutronix.de> -Date: Fri, 1 Oct 2021 13:01:10 +0200 -Subject: [PATCH] moz.configure: do not look for llvm-objdump - -This avoid dragging in a dependency that isn't even needed -for js builds. - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> ---- - moz.configure | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/moz.configure b/moz.configure -index fc66b520d0..15de9a2ee0 100755 ---- a/moz.configure -+++ b/moz.configure -@@ -994,15 +994,15 @@ def llvm_objdump(host_c_compiler, c_compiler, bindgen_config_paths): - return (llvm_objdump,) - - --llvm_objdump = check_prog( -- "LLVM_OBJDUMP", -- llvm_objdump, -- what="llvm-objdump", -- when="--enable-compile-environment", -- paths=clang_search_path, --) -- --add_old_configure_assignment("LLVM_OBJDUMP", llvm_objdump) -+#llvm_objdump = check_prog( -+# "LLVM_OBJDUMP", -+# llvm_objdump, -+# what="llvm-objdump", -+# when="--enable-compile-environment", -+# paths=clang_search_path, -+#) -+ -+#add_old_configure_assignment("LLVM_OBJDUMP", llvm_objdump) - - - option("--enable-dtrace", help="Build with dtrace support") diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch deleted file mode 100644 index c440bf178f..0000000000 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/0003-rust.configure-do-not-try-to-find-a-suitable-upstrea.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 749ba11fd6a69c8180945d4866415d16ae06a9c0 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex@linutronix.de> -Date: Fri, 1 Oct 2021 13:02:17 +0200 -Subject: [PATCH] rust.configure: do not try to find a suitable upstream target - -OE is using custom targets and so this is bound to fail. - -Upstream-Status: Inapppropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex@linutronix.de> ---- - build/moz.configure/rust.configure | 34 ++---------------------------- - 1 file changed, 2 insertions(+), 32 deletions(-) - -diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure -index cd77d72bb7..4b6481cbe3 100644 ---- a/build/moz.configure/rust.configure -+++ b/build/moz.configure/rust.configure -@@ -459,33 +459,7 @@ def assert_rust_compile(host_or_target, rustc_target, rustc): - def rust_host_triple( - rustc, host, compiler_info, rustc_host, rust_supported_targets, arm_target - ): -- rustc_target = detect_rustc_target( -- host, compiler_info, arm_target, rust_supported_targets -- ) -- if rustc_target != rustc_host: -- if host.alias == rustc_target: -- configure_host = host.alias -- else: -- configure_host = "{}/{}".format(host.alias, rustc_target) -- die( -- dedent( -- """\ -- The rust compiler host ({rustc}) is not suitable for the configure host ({configure}). -- -- You can solve this by: -- * Set your configure host to match the rust compiler host by editing your -- mozconfig and adding "ac_add_options --host={rustc}". -- * Or, install the rust toolchain for {configure}, if supported, by running -- "rustup default stable-{rustc_target}" -- """.format( -- rustc=rustc_host, -- configure=configure_host, -- rustc_target=rustc_target, -- ) -- ) -- ) -- assert_rust_compile(host, rustc_target, rustc) -- return rustc_target -+ return rustc_host - - - @depends( -@@ -495,11 +469,7 @@ def rust_host_triple( - def rust_target_triple( - rustc, target, compiler_info, rust_supported_targets, arm_target - ): -- rustc_target = detect_rustc_target( -- target, compiler_info, arm_target, rust_supported_targets -- ) -- assert_rust_compile(target, rustc_target, rustc) -- return rustc_target -+ return target.alias - - - set_config("RUST_TARGET", rust_target_triple) diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/nojit-32bit-arch-fix.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/nojit-32bit-arch-fix.patch deleted file mode 100644 index f308b4863f..0000000000 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/nojit-32bit-arch-fix.patch +++ /dev/null @@ -1,21 +0,0 @@ -Fix build when JIT is disabled on 32bit systems - -This fixes a compile time assert -js/src/wasm/WasmFrame.cpp:57:3: error: static_assert failed due to requirement '(__builtin_offsetof(js::wasm::DebugFrame, frame_) + sizeof(js::wasm::Frame)) % Alignment == 0' "Aligned after pushing DebugFrame" - static_assert((offsetof(DebugFrame, frame_) + sizeof(Frame)) % Alignment == 0, - ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- a/js/src/wasm/WasmFrame.h -+++ b/js/src/wasm/WasmFrame.h -@@ -230,6 +230,8 @@ class DebugFrame { - // Avoid -Wunused-private-field warnings. - protected: - #if defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_ARM) || \ -+ (defined(JS_CODEGEN_NONE) && \ -+ (defined(__riscv) && __riscv_xlen == 32) || defined(__mips__)) || \ - defined(JS_CODEGEN_X86) || defined(__wasi__) - // See alignmentStaticAsserts(). For MIPS32, ARM32 and X86 DebugFrame is only - // 4-byte aligned, so we add another word to get up to 8-byte diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/riscv32.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/riscv32.patch deleted file mode 100644 index fe9c332a00..0000000000 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs/riscv32.patch +++ /dev/null @@ -1,45 +0,0 @@ -Add RISCV32 support - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> - ---- a/build/moz.configure/init.configure -+++ b/build/moz.configure/init.configure -@@ -765,6 +765,9 @@ def split_triplet(triplet, allow_msvc=Fa - elif cpu.startswith("aarch64"): - canonical_cpu = "aarch64" - endianness = "little" -+ elif cpu in ("riscv32", "riscv32gc"): -+ canonical_cpu = "riscv32" -+ endianness = "little" - elif cpu in ("riscv64", "riscv64gc"): - canonical_cpu = "riscv64" - endianness = "little" ---- a/python/mozbuild/mozbuild/configure/constants.py -+++ b/python/mozbuild/mozbuild/configure/constants.py -@@ -52,6 +52,7 @@ CPU_bitness = { - "mips64": 64, - "ppc": 32, - "ppc64": 64, -+ 'riscv32': 32, - "riscv64": 64, - "s390": 32, - "s390x": 64, -@@ -94,6 +95,7 @@ CPU_preprocessor_checks = OrderedDict( - ("m68k", "__m68k__"), - ("mips64", "__mips64"), - ("mips32", "__mips__"), -+ ("riscv32", "__riscv && __riscv_xlen == 32"), - ("riscv64", "__riscv && __riscv_xlen == 64"), - ("sh4", "__sh__"), - ("wasm32", "__wasm32__"), ---- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py -+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py -@@ -1186,6 +1186,7 @@ class LinuxCrossCompileToolchainTest(Bas - "m68k-unknown-linux-gnu": big_endian + {"__m68k__": 1}, - "mips64-unknown-linux-gnuabi64": big_endian + {"__mips64": 1, "__mips__": 1}, - "mips-unknown-linux-gnu": big_endian + {"__mips__": 1}, -+ "riscv32-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 32}, - "riscv64-unknown-linux-gnu": little_endian + {"__riscv": 1, "__riscv_xlen": 64}, - "sh4-unknown-linux-gnu": little_endian + {"__sh__": 1}, - } diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_91.2.0.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_91.2.0.bb deleted file mode 100644 index a1a5ddc3b0..0000000000 --- a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-extended/mozjs/mozjs_91.2.0.bb +++ /dev/null @@ -1,71 +0,0 @@ -SUMMARY = "SpiderMonkey is Mozilla's JavaScript engine written in C/C++" -HOMEPAGE = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" -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://fix-musl-build.patch \ - file://0001-build-do-not-use-autoconf-s-config.sub-to-canonicali.patch \ - file://riscv32.patch \ - file://nojit-32bit-arch-fix.patch \ - " -SRC_URI[sha256sum] = "3ef3cfd321d0c2c80ee1b41b8baf7a1ea4daf93c29e1377274933440ff5e42c3" - -S = "${WORKDIR}/firefox-${@d.getVar("PV").replace("esr", "")}" - -inherit pkgconfig perlnative python3native rust - -DEPENDS += "zlib cargo-native python3" - -B = "${WORKDIR}/build" - -export PYTHONPATH = "${S}/build:${S}/third_party/python/PyYAML/lib3:${S}/testing/mozbase/mozfile:${S}/python/mozboot:${S}/third_party/python/distro:${S}/testing/mozbase/mozinfo:${S}/config:${S}/testing/mozbase/manifestparser:${S}/third_party/python/pytoml:${S}/testing/mozbase/mozprocess:${S}/third_party/python/six:${S}/python/mozbuild:${S}/python/mozbuild/mozbuild:${S}/python/mach:${S}/third_party/python/jsmin:${S}/python/mozversioncontrol" - -export HOST_CC = "${BUILD_CC}" -export HOST_CXX = "${BUILD_CXX}" -export HOST_CFLAGS = "${BUILD_CFLAGS}" -export HOST_CPPFLAGS = "${BUILD_CPPFLAGS}" -export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}" - -export AS = "${CC}" - -export RUSTFLAGS - -JIT ?= "" - -JIT:mipsarch = "--disable-jit" - -do_configure() { - cd ${B} - python3 ${S}/configure.py \ - --enable-project=js \ - --target=${HOST_SYS} \ - --host=${BUILD_SYS} \ - --prefix=${prefix} \ - --libdir=${libdir} \ - --disable-jemalloc \ - ${JIT} - -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install -} - -inherit multilib_script multilib_header - -MULTILIB_SCRIPTS += " ${PN}-dev:${bindir}/js91-config" - -do_install:append() { - oe_multilib_header mozjs-91/js-config.h - sed -e 's@${STAGING_DIR_HOST}@@g' \ - -i ${D}${bindir}/js91-config -} - -PACKAGES =+ "lib${BPN}-staticdev lib${BPN}" -FILES:lib${BPN}-staticdev += "${libdir}/libjs_static.ajs" -FILES:lib${BPN} += "${libdir}/lib*" |