Bundle mozjs

Bundling mozjs in gjs should make it possible to remove the system
wide mozjs115 package from base RHEL 10, which makes it easier in the
future if we need to update gjs to use newer mozjs. At that point,
we can just update gjs to the new mozjs version it needs and not
have to worry about maintaining a system-wide mozjs115 for all of
RHEL 10 lifetime.

Adapted from the corresponding RHEL 9 change by Kalev Lember.

Resolves: Resolves: RHEL-30208
This commit is contained in:
Florian Müllner 2024-04-11 20:45:20 +02:00
parent ac4928dfa0
commit 314a048f68
No known key found for this signature in database
15 changed files with 703 additions and 2 deletions

1
.gitignore vendored
View File

@ -148,3 +148,4 @@ gjs-0.7.1.tar.gz
/gjs-1.79.3.tar.xz
/gjs-1.79.90.tar.xz
/gjs-1.80.2.tar.xz
/firefox-115.7.0esr.source.tar.xz

View File

@ -0,0 +1,36 @@
From db3a0a25b97377b388532b23e73a10d246f66496 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
Date: Mon, 3 Aug 2020 10:27:00 +0200
Subject: [PATCH] Skip failing tests on ppc64 and s390x
ppc64 and s390x: non262/extensions/clone-errors.js
s390x: test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js
s390x, ppc64 and aarch64: test262/built-ins/Date/UTC/fp-evaluation-order.js
---
js/src/tests/jstests.list | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/js/src/tests/jstests.list b/js/src/tests/jstests.list
index 73ce42f..1797646 100644
--- a/js/src/tests/jstests.list
+++ b/js/src/tests/jstests.list
@@ -53,6 +53,15 @@ skip-if(!this.hasOwnProperty("Intl")) include test262/intl402/jstests.list
skip-if(!this.hasOwnProperty("Atomics")) include test262/built-ins/Atomics/jstests.list
skip-if(!this.hasOwnProperty("SharedArrayBuffer")) include test262/built-ins/SharedArrayBuffer/jstests.list
+# Crashes on s390x and ppc64, avoid it
+skip-if(xulRuntime.XPCOMABI.match(/s390x|ppc64-/)) script non262/extensions/clone-errors.js
+
+# Crashes on s390x, ppc64, aarch64
+skip-if(xulRuntime.XPCOMABI.match(/s390x|aarch64|ppc64-/)) script test262/built-ins/Date/UTC/fp-evaluation-order.js
+
+# Crashes on s390x, avoid it
+skip-if(xulRuntime.XPCOMABI.match(/s390x/)) script test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js
+
#####################################
# Test262 tests disabled on browser #
#####################################
--
2.31.1

38
copy-headers.patch Normal file
View File

@ -0,0 +1,38 @@
From 3b3c8e37cca418e07bdeceaf3a601805df28d925 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
Date: Wed, 15 Jul 2020 08:27:39 +0200
Subject: [PATCH] build: Copy headers on install instead of symlinking
Patch by Philip Chimento ported forward to mozjs78
---
python/mozbuild/mozbuild/backend/recursivemake.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py
index 858d4d4..8c229e8 100644
--- a/python/mozbuild/mozbuild/backend/recursivemake.py
+++ b/python/mozbuild/mozbuild/backend/recursivemake.py
@@ -1533,9 +1533,9 @@ class RecursiveMakeBackend(MakeBackend):
" of srcdir-relative or absolute paths."
)
- install_manifest.add_pattern_link(basepath, wild, dest_dir)
+ install_manifest.add_pattern_copy(basepath, wild, dest_dir)
else:
- install_manifest.add_pattern_link(f.srcdir, f, dest_dir)
+ install_manifest.add_pattern_copy(f.srcdir, f, dest_dir)
elif isinstance(f, AbsolutePath):
if not f.full_path.lower().endswith((".dll", ".pdb", ".so")):
raise Exception(
@@ -1546,7 +1546,7 @@ class RecursiveMakeBackend(MakeBackend):
install_manifest.add_optional_exists(dest_file)
absolute_files.append(f.full_path)
else:
- install_manifest.add_link(f.full_path, dest_file)
+ install_manifest.add_copy(f.full_path, dest_file)
else:
install_manifest.add_optional_exists(dest_file)
objdir_files.append(self._pretty_path(f, backend_file))
--
2.37.1

67
emitter.patch Normal file
View File

@ -0,0 +1,67 @@
From d1d785c169345b81c76213f6dd9be32b4db60294 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
Date: Wed, 15 Jul 2020 08:39:47 +0200
Subject: [PATCH] Build: allow LOCAL_INCLUDES paths with topsrcdir or topobjdir
---
python/mozbuild/mozbuild/frontend/emitter.py | 10 ---------
.../mozbuild/test/frontend/test_emitter.py | 22 -------------------
2 files changed, 32 deletions(-)
diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozbuild/frontend/emitter.py
index 0b7ccef..a3c7f2f 100644
--- a/python/mozbuild/mozbuild/frontend/emitter.py
+++ b/python/mozbuild/mozbuild/frontend/emitter.py
@@ -1365,16 +1365,6 @@ class TreeMetadataEmitter(LoggingMixin):
"(resolved to %s)" % (local_include, full_path),
context,
)
- if (
- full_path == context.config.topsrcdir
- or full_path == context.config.topobjdir
- ):
- raise SandboxValidationError(
- "Path specified in LOCAL_INCLUDES "
- "(%s) resolves to the topsrcdir or topobjdir (%s), which is "
- "not allowed" % (local_include, full_path),
- context,
- )
include_obj = LocalInclude(context, local_include)
local_includes.append(include_obj.path.full_path)
yield include_obj
diff --git a/python/mozbuild/mozbuild/test/frontend/test_emitter.py b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
index 99507fc..821de22 100644
--- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py
+++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
@@ -1076,28 +1076,6 @@ class TestEmitterBasic(unittest.TestCase):
self.assertEqual(local_includes, expected)
- def test_local_includes_invalid(self):
- """Test that invalid LOCAL_INCLUDES are properly detected."""
- reader = self.reader("local_includes-invalid/srcdir")
-
- with six.assertRaisesRegex(
- self,
- SandboxValidationError,
- "Path specified in LOCAL_INCLUDES.*resolves to the "
- "topsrcdir or topobjdir",
- ):
- self.read_topsrcdir(reader)
-
- reader = self.reader("local_includes-invalid/objdir")
-
- with six.assertRaisesRegex(
- self,
- SandboxValidationError,
- "Path specified in LOCAL_INCLUDES.*resolves to the "
- "topsrcdir or topobjdir",
- ):
- self.read_topsrcdir(reader)
-
def test_local_includes_file(self):
"""Test that a filename can't be used in LOCAL_INCLUDES."""
reader = self.reader("local_includes-filename")
--
2.37.1

View File

@ -0,0 +1,76 @@
--- firefox-111.0.1/build/moz.configure/rust.configure 2023-03-21 06:16:03.000000000 -0700
+++ firefox-111.0.1/build/moz.configure/rust.configure.new 2023-04-05 08:57:29.403219120 -0700
@@ -593,7 +593,7 @@
# ==============================================================
-option(env="RUSTFLAGS", nargs=1, help="Rust compiler flags")
+option(env="RUSTFLAGS", nargs=1, help="Rust compiler flags", comma_split=False)
set_config("RUSTFLAGS", depends("RUSTFLAGS")(lambda flags: flags))
--- firefox-111.0.1/python/mozbuild/mozbuild/configure/options.py 2023-03-21 06:16:09.000000000 -0700
+++ firefox-111.0.1/python/mozbuild/mozbuild/configure/options.py.new 2023-04-05 08:57:31.270193468 -0700
@@ -191,6 +191,10 @@
to instantiate an option indirectly. Set this to a positive integer to
force the script to look into a deeper stack frame when inferring the
`category`.
+ - `comma_split` specifies whether the value string should be split on
+ commas. The default is True. Setting it False is necessary for things
+ like compiler flags which should be a single string that may contain
+ commas.
"""
__slots__ = (
@@ -205,6 +209,7 @@
"possible_origins",
"category",
"define_depth",
+ "comma_split",
)
def __init__(
@@ -218,6 +223,7 @@
category=None,
help=None,
define_depth=0,
+ comma_split=True,
):
if not name and not env:
raise InvalidOptionError(
@@ -335,9 +341,10 @@
self.choices = choices
self.help = help
self.category = category or _infer_option_category(define_depth)
+ self.comma_split = comma_split
@staticmethod
- def split_option(option):
+ def split_option(option, comma_split=True):
"""Split a flag or variable into a prefix, a name and values
Variables come in the form NAME=values (no prefix).
@@ -350,7 +357,13 @@
elements = option.split("=", 1)
name = elements[0]
- values = tuple(elements[1].split(",")) if len(elements) == 2 else ()
+ if len(elements) == 2:
+ if comma_split:
+ values = tuple(elements[1].split(","))
+ else:
+ values = (elements[1],)
+ else:
+ values = ()
if name.startswith("--"):
name = name[2:]
if not name.islower():
@@ -426,7 +439,7 @@
% (option, origin, ", ".join(self.possible_origins))
)
- prefix, name, values = self.split_option(option)
+ prefix, name, values = self.split_option(option, self.comma_split)
option = self._join_option(prefix, name)
assert name in (self.name, self.env)

201
gjs.spec
View File

@ -2,6 +2,22 @@
%global gobject_introspection_version 1.66.0
%global mozjs115_version 115.7.0
%global bundled_mozjs 1
%if 0%{?bundled_mozjs}
%global mozjs_major 115
%global mozjs_version 115.7.0
# Big endian platforms
%ifarch ppc ppc64 s390 s390x
%global big_endian 1
%endif
# Make sure we don't add requires/provides for private libraries
%global __provides_exclude_from ^%{_libdir}/gjs/
%global __requires_exclude ^libmozjs-%{mozjs_major}\\.so.*
%endif
Name: gjs
Version: 1.80.2
Release: 1%{?dist}
@ -13,19 +29,85 @@ Summary: Javascript Bindings for GNOME
# Stack printer (gjs/stack.c)
# modules/esm/_encoding/util.js and few other things are MIT
# modules/script/tweener/equations.js is BSD-3-Clause
%if 0%{?bundled_mozjs}
License: MIT AND BSD-3-Clause AND (MIT OR LGPL-2.0-or-later) AND (MPL-1.1 OR GPL-2.0-or-later OR LGPL-2.1-or-later) AND MPL-2.0 AND GPL-3.0-or-later AND AFL AND ASL-2.0
%else
License: MIT AND BSD-3-Clause AND (MIT OR LGPL-2.0-or-later) AND (MPL-1.1 OR GPL-2.0-or-later OR LGPL-2.1-or-later)
%endif
URL: https://wiki.gnome.org/Projects/Gjs
Source0: https://download.gnome.org/sources/%{name}/1.80/%{name}-%{version}.tar.xz
%if 0%{?bundled_mozjs}
Source1: https://ftp.mozilla.org/pub/firefox/releases/%{mozjs_version}esr/source/firefox-%{mozjs_version}esr.source.tar.xz
Provides: bundled(mozjs) = %{mozjs_version}
# Known failures with system libicu
Source2: known_failures.txt
# Patches from mozjs68, rebased for mozjs78:
Patch02: copy-headers.patch
Patch03: tests-increase-timeout.patch
Patch09: icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
Patch10: icu_sources_data-Write-command-output-to-our-stderr.patch
# Build fixes - https://hg.mozilla.org/mozilla-central/rev/ca36a6c4f8a4a0ddaa033fdbe20836d87bbfb873
Patch12: emitter.patch
Patch13: tests-Use-native-TemporaryDirectory.patch
# Build fixes
Patch14: init_patch.patch
Patch15: remove-sloppy-m4-detection-from-bundled-autoconf.patch
# tentative patch for RUSTFLAGS parsing issue, taken from firefox package:
# https://bugzilla.redhat.com/show_bug.cgi?id=2184743
# https://bugzilla.mozilla.org/show_bug.cgi?id=1474486
Patch16: firefox-112.0-commasplit.patch
# TODO: Check with mozilla for cause of these fails and re-enable spidermonkey compile time checks if needed
Patch20: spidermonkey_checks_disable.patch
# s390x/ppc64 fixes
Patch21: 0001-Skip-failing-tests-on-ppc64-and-s390x.patch
%endif
BuildRequires: gcc-c++
BuildRequires: meson
BuildRequires: gettext
%if 0%{?bundled_mozjs}
BuildRequires: cargo
%if !0%{?rhel}
BuildRequires: ccache
%endif
BuildRequires: clang-devel
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: m4
BuildRequires: make
%if !0%{?rhel}
BuildRequires: nasm
%endif
BuildRequires: libicu-devel
BuildRequires: llvm
BuildRequires: rust
BuildRequires: rustfmt
BuildRequires: perl-devel
BuildRequires: pkgconfig(libffi)
BuildRequires: pkgconfig(zlib)
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-six
BuildRequires: readline-devel
BuildRequires: wget
BuildRequires: zip
%else
BuildRequires: pkgconfig(mozjs-115) >= %{mozjs115_version}
%endif
BuildRequires: readline-devel
BuildRequires: pkgconfig(cairo-gobject)
BuildRequires: pkgconfig(gio-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(gobject-introspection-1.0) >= %{gobject_introspection_version}
BuildRequires: pkgconfig(gtk4)
BuildRequires: pkgconfig(mozjs-115) >= %{mozjs115_version}
BuildRequires: pkgconfig(sysprof-capture-4)
# For GTK+ 3 tests
BuildRequires: gtk3
@ -38,7 +120,9 @@ BuildRequires: xorg-x11-server-Xvfb
Requires: glib2%{?_isa} >= %{glib2_version}
Requires: gobject-introspection%{?_isa} >= %{gobject_introspection_version}
%if !0%{?bundled_mozjs}
Requires: mozjs115%{?_isa} >= %{mozjs115_version}
%endif
%description
Gjs allows using GNOME libraries from Javascript. It's based on the
@ -63,16 +147,129 @@ The gjs-tests package contains tests that can be used to verify
the functionality of the installed gjs package.
%prep
%autosetup -p1
%setup -q
%if 0%{?bundled_mozjs}
# Extract mozjs archive
tar -xf %{S:1}
# Apply mozjs patches
pushd firefox-%{mozjs_version}
%patch 2 -p1
%patch 3 -p1
%patch 9 -p1
%patch 10 -p1
%patch 12 -p1
%patch 13 -p1
%patch 14 -p1
%patch 15 -p1
%patch 16 -p1
%patch 20 -p1
%patch 21 -p1
# Purge the bundled six library incompatible with Python 3.12
rm third_party/python/six/six.py
# Link the system six library (build tooling expects that)
ln -s /usr/lib/python%{python3_version}/site-packages/six.py third_party/python/six/six.py
# Copy out file containing known test failures with system libicu
cp %{SOURCE2} js/src/
# Remove zlib directory (to be sure using system version)
rm -rf modules/zlib
popd
%endif
%build
%if 0%{?bundled_mozjs}
pushd firefox-%{mozjs_version}/js/src
# Prefer GCC for now
export CC=gcc
export CXX=g++
# Workaround
# error: options `-C embed-bitcode=no` and `-C lto` are incompatible
# error: could not compile `jsrust`.
# https://github.com/japaric/cargo-call-stack/issues/25
export RUSTFLAGS="-C embed-bitcode"
# https://github.com/ptomato/mozjs/commit/36bb7982b41e0ef9a65f7174252ab996cd6777bd
export CARGO_PROFILE_RELEASE_LTO=true
export LINKFLAGS="%{?__global_ldflags}"
export PYTHON="%{__python3}"
%configure \
--with-system-icu \
--with-system-zlib \
--disable-tests \
--disable-strip \
--with-intl-api \
--enable-readline \
--enable-shared-js \
--enable-optimize \
--disable-debug \
--enable-pie \
--disable-jemalloc
%make_build
popd
cat > mozjs-%{mozjs_major}.pc << EOF
Name: SpiderMonkey %{mozjs_version}
Description: The Mozilla library for JavaScript
Version: %{mozjs_version}
prefix=%{_libdir}/gjs
Libs: -L`pwd`/firefox-%{mozjs_version}/js/src/dist/bin -Wl,-rpath=%{_libdir}/gjs -lmozjs-%{mozjs_major}
Cflags: -I`pwd`/firefox-%{mozjs_version}/js/src/dist/include
EOF
%endif
%if 0%{?bundled_mozjs}
export PKG_CONFIG_PATH=`pwd`
export LD_LIBRARY_PATH=`pwd`/firefox-%{mozjs_version}/js/src/dist/bin
%endif
%meson
%meson_build
%install
%if 0%{?bundled_mozjs}
mkdir -p %{buildroot}%{_libdir}/gjs
cp -p firefox-%{mozjs_version}/js/src/dist/bin/libmozjs-%{mozjs_major}.so %{buildroot}%{_libdir}/gjs/
%endif
%meson_install
%if 0%{?bundled_mozjs}
sed -i -e 's/, mozjs-%{mozjs_major}//g' %{buildroot}%{_libdir}/pkgconfig/gjs-1.0.pc
%endif
%check
%if 0%{?bundled_mozjs}
export LD_LIBRARY_PATH=`pwd`/firefox-%{mozjs_version}/js/src/dist/bin
pushd firefox-%{mozjs_version}/js/src
# Run SpiderMonkey tests
%{python3} tests/jstests.py -d -s -t 2400 --exclude-file=known_failures.txt --no-progress --wpt=disabled ../../js/src/dist/bin/js
# Run basic JIT tests
# large-arraybuffers/basic.js fails on s390x
%ifarch s390 s390x
%{python3} jit-test/jit_test.py -s -t 2400 --no-progress -x large-arraybuffers/basic.js ../../js/src/dist/bin/js basic
%else
%{python3} jit-test/jit_test.py -s -t 2400 --no-progress ../../js/src/dist/bin/js basic
%endif
popd
%endif
%{shrink:xvfb-run -s "-screen 0 1600x1200x24" %meson_test --timeout-multiplier=5}
%files

View File

@ -0,0 +1,44 @@
From: Simon McVittie <smcv@debian.org>
Date: Mon, 9 Oct 2017 09:23:14 +0100
Subject: icu_sources_data: Write command output to our stderr
Saying "See output in /tmp/foobar" is all very well for a developer
build, but on a buildd our /tmp is going to get thrown away after
the build. Just log the usual way instead.
---
intl/icu_sources_data.py | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/intl/icu_sources_data.py b/intl/icu_sources_data.py
index 4db52af..d62960d 100644
--- a/intl/icu_sources_data.py
+++ b/intl/icu_sources_data.py
@@ -188,21 +188,13 @@ def update_sources(topsrcdir):
def try_run(name, command, cwd=None, **kwargs):
try:
- with tempfile.NamedTemporaryFile(prefix=name, delete=False) as f:
- subprocess.check_call(
- command, cwd=cwd, stdout=f, stderr=subprocess.STDOUT, **kwargs
- )
- except subprocess.CalledProcessError:
- print(
- """Error running "{}" in directory {}
- See output in {}""".format(
- " ".join(command), cwd, f.name
- ),
- file=sys.stderr,
+ subprocess.check_call(
+ command, cwd=cwd, stdout=sys.stderr, stderr=subprocess.STDOUT, **kwargs
)
+ except subprocess.CalledProcessError:
+ print('''Error running "{}" in directory {}'''.format(' '.join(command), cwd), file=sys.stderr)
return False
else:
- os.unlink(f.name)
return True
--
2.31.1

View File

@ -0,0 +1,29 @@
From: Simon McVittie <smcv@debian.org>
Date: Mon, 9 Oct 2017 09:22:12 +0100
Subject: icu_sources_data.py: Decouple from Mozilla build system
mozpack.path is a wrapper around os.path that normalizes path
separators on Windows, but on Unix we only have one path separator
so there's nothing to normalize. Avoid needing to import all of it.
---
intl/icu_sources_data.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/intl/icu_sources_data.py b/intl/icu_sources_data.py
index 2936df9..4db52af 100644
--- a/intl/icu_sources_data.py
+++ b/intl/icu_sources_data.py
@@ -21,7 +21,9 @@ import subprocess
import sys
import tempfile
-from mozpack import path as mozpath
+# Close enough
+import os.path as mozpath
+mozpath.normsep = lambda p: p
# The following files have been determined to be dead/unused by a
# semi-automated analysis. You can just remove any of the files below
--
2.31.1

28
init_patch.patch Normal file
View File

@ -0,0 +1,28 @@
From 00414eb67ab0591911167155963b5524fbf2b0c0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
Date: Mon, 9 Aug 2021 14:38:58 +0200
Subject: [PATCH] Don't throw InvalidOptionError on invalid options
---
python/mozbuild/mozbuild/configure/__init__.py | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/python/mozbuild/mozbuild/configure/__init__.py b/python/mozbuild/mozbuild/configure/__init__.py
index f3167f6..c9e1132 100644
--- a/python/mozbuild/mozbuild/configure/__init__.py
+++ b/python/mozbuild/mozbuild/configure/__init__.py
@@ -557,10 +557,7 @@ class ConfigureSandbox(dict):
for arg in self._helper:
without_value = arg.split("=", 1)[0]
msg = "Unknown option: %s" % without_value
- if self._help:
- self._logger.warning(msg)
- else:
- raise InvalidOptionError(msg)
+ self._logger.warning(msg)
# Run the execution queue
for func, args in self._execution_queue:
--
2.31.1

42
known_failures.txt Normal file
View File

@ -0,0 +1,42 @@
non262/Intl/available-locales-resolved.js
non262/Intl/available-locales-supported.js
non262/Intl/Collator/big5han-gb2312han.js
non262/Intl/Collator/implicithan.js
non262/Intl/DateTimeFormat/day-period-hour-cycle.js
non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js
non262/Intl/DateTimeFormat/related-year.js
non262/Intl/DateTimeFormat/timeZone_backzone.js
non262/Intl/DisplayNames/calendar.js
non262/Intl/DisplayNames/currency.js
non262/Intl/DisplayNames/language-dialect.js
non262/Intl/ListFormat/conjunction-type.js
non262/Intl/Locale/likely-subtags-generated.js
non262/Intl/Locale/likely-subtags.js
non262/Intl/supportedValuesOf-timeZones-canonical.js
non262/Intl/supportedValuesOf-timeZones.js
test262/built-ins/RegExp/property-escapes/generated/Alphabetic.js
test262/built-ins/RegExp/property-escapes/generated/Assigned.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js
test262/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js
test262/built-ins/RegExp/property-escapes/generated/ID_Continue.js
test262/built-ins/RegExp/property-escapes/generated/ID_Start.js
test262/built-ins/RegExp/property-escapes/generated/Ideographic.js
test262/built-ins/RegExp/property-escapes/generated/IDS_Binary_Operator.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Malayalam.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sharada.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sinhala.js
test262/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js
test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js
test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js
test262/built-ins/RegExp/property-escapes/generated/XID_Start.js
test262/intl402/Intl/supportedValuesOf/timeZones-accepted-by-DateTimeFormat.js
test262/intl402/Locale/likely-subtags.js

View File

@ -0,0 +1,29 @@
From 2d99a7b076578a3394fb9d5be6eb44f9cfebc681 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
Date: Mon, 9 Aug 2021 16:15:37 +0200
Subject: [PATCH] Remove sloppy m4 detection from bundled autoconf
---
build/autoconf/autoconf.sh | 6 ------
1 file changed, 6 deletions(-)
diff --git a/build/autoconf/autoconf.sh b/build/autoconf/autoconf.sh
index ceb8a25..606c74e 100644
--- a/build/autoconf/autoconf.sh
+++ b/build/autoconf/autoconf.sh
@@ -114,12 +114,6 @@ fi
# Use the frozen version of Autoconf if available.
r= f=
-# Some non-GNU m4's don't reject the --help option, so give them /dev/null.
-case `$M4 --help < /dev/null 2>&1` in
-*reload-state*) test -r $AC_MACRODIR/autoconf.m4f && { r=--reload f=f; } ;;
-*traditional*) ;;
-*) echo Autoconf requires GNU m4 1.1 or later >&2; rm -f $tmpin; exit 1 ;;
-esac
$M4 -I$AC_MACRODIR $use_localdir $r autoconf.m4$f $infile > $tmpout ||
{ rm -f $tmpin $tmpout; exit 2; }
--
2.31.1

View File

@ -1 +1,2 @@
SHA512 (gjs-1.80.2.tar.xz) = cc9a9073f741ee60eff2d2ce808cca7f40e97798f9ffa9197ebc3780a8a5df6e174ba76293bf7547fc8fa7e82be6a828a633a5aa8ba27d551dec72d635b6c5bd
SHA512 (firefox-115.7.0esr.source.tar.xz) = d468d8ef117d76e0660c5359c3becf0502354c61bdaaeb4137d86f52b50143abec2ac4578af69afa5670700b57efff1c7323ca23e3339a9eaaa888dee7e8e922

View File

@ -0,0 +1,22 @@
From 6ebe8ce6a3267c96454de3cd453269b4c4053a3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
Date: Mon, 9 Aug 2021 14:41:14 +0200
Subject: [PATCH] Don't die on SpiderMonkey checks
---
config/run_spidermonkey_checks.py | 2 --
1 file changed, 2 deletions(-)
diff --git a/config/run_spidermonkey_checks.py b/config/run_spidermonkey_checks.py
index 0f842d9..b49db52 100644
--- a/config/run_spidermonkey_checks.py
+++ b/config/run_spidermonkey_checks.py
@@ -11,5 +11,3 @@ import sys
def main(output, lib_file, *scripts):
for script in scripts:
retcode = subprocess.call([sys.executable, script], cwd=buildconfig.topsrcdir)
- if retcode != 0:
- raise Exception(script + " failed")
--
2.31.1

View File

@ -0,0 +1,65 @@
From 1af9fdd2124547099eb0cf5a71b513ef5592dbf9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
Date: Tue, 10 Aug 2021 00:00:50 +0200
Subject: [PATCH] Tests: Use native TemporaryDirectory
Without ugly wrapper for Py < 3.2 that doesn't work half of the times...
---
js/src/jit-test/jit_test.py | 2 +-
js/src/tests/jstests.py | 2 +-
js/src/tests/lib/tempfile.py | 16 +---------------
3 files changed, 3 insertions(+), 17 deletions(-)
diff --git a/js/src/jit-test/jit_test.py b/js/src/jit-test/jit_test.py
index d9f08a7..1824dee 100755
--- a/js/src/jit-test/jit_test.py
+++ b/js/src/jit-test/jit_test.py
@@ -28,7 +28,7 @@ def add_tests_dir_to_path():
add_tests_dir_to_path()
from lib import jittests
-from lib.tempfile import TemporaryDirectory
+from tempfile import TemporaryDirectory
from lib.tests import (
change_env,
get_cpu_count,
diff --git a/js/src/tests/jstests.py b/js/src/tests/jstests.py
index cc11c3d..fff7857 100755
--- a/js/src/tests/jstests.py
+++ b/js/src/tests/jstests.py
@@ -27,7 +27,7 @@ from subprocess import call, list2cmdline
from lib.adaptor import xdr_annotate
from lib.progressbar import ProgressBar
from lib.results import ResultsSink, TestOutput
-from lib.tempfile import TemporaryDirectory
+from tempfile import TemporaryDirectory
from lib.tests import (
RefTestCase,
change_env,
diff --git a/js/src/tests/lib/tempfile.py b/js/src/tests/lib/tempfile.py
index 604864d..b791387 100644
--- a/js/src/tests/lib/tempfile.py
+++ b/js/src/tests/lib/tempfile.py
@@ -1,18 +1,4 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-try:
- # Python 3.2
- from tempfile import TemporaryDirectory
-except ImportError:
- import shutil
- import tempfile
- from contextlib import contextmanager
-
- @contextmanager
- def TemporaryDirectory(*args, **kwds):
- d = tempfile.mkdtemp(*args, **kwds)
- try:
- yield d
- finally:
- shutil.rmtree(d)
+from tempfile import TemporaryDirectory
--
2.41.0

View File

@ -0,0 +1,26 @@
From 9be85b155c6df0454c5faef9e850f572c99e3615 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
Date: Wed, 15 Jul 2020 08:32:44 +0200
Subject: [PATCH] Increase the test timeout for slower buildds
Ported forward from Debian: https://bugs.debian.org/878284
---
js/src/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/js/src/Makefile.in b/js/src/Makefile.in
index 6daed72..16db2de 100644
--- a/js/src/Makefile.in
+++ b/js/src/Makefile.in
@@ -53,7 +53,7 @@ check:: check-js-msg
check-jstests:
$(wildcard $(RUN_TEST_PROGRAM)) $(PYTHON3) -u $(srcdir)/tests/jstests.py \
- --no-progress --format=automation --timeout 300 \
+ --no-progress --format=automation --timeout 600 \
$(JSTESTS_EXTRA_ARGS) \
$(DIST)/bin/js$(BIN_SUFFIX)
--
2.37.1