changed debian/source/format to native

This commit is contained in:
openKylinBot 2022-05-14 01:55:18 +08:00
parent 1e6be1e3c9
commit 2a88fbb55c
20 changed files with 1 additions and 941 deletions

View File

@ -1,23 +0,0 @@
From: Mike Hommey <mh@glandium.org>
Date: Sun, 25 Sep 2016 09:22:22 +0900
Subject: Allow to override ICU_DATA_FILE from the environment
---
build/autoconf/icu.m4 | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4
index 6afa262..342e9d3 100644
--- a/build/autoconf/icu.m4
+++ b/build/autoconf/icu.m4
@@ -78,7 +78,9 @@ if test -n "$USE_ICU"; then
# TODO: the l is actually endian-dependent
# We could make this set as 'l' or 'b' for little or big, respectively,
# but we'd need to check in a big-endian version of the file.
- ICU_DATA_FILE="icudt${version}l.dat"
+ if test -z "$ICU_DATA_FILE"; then
+ ICU_DATA_FILE="icudt${version}l.dat"
+ fi
fi
AC_SUBST(MOZ_ICU_VERSION)

View File

@ -1,77 +0,0 @@
From: Takuro Ashie <ashie>
Date: Thu, 18 Apr 2019 07:21:00 -0700
Subject: Bug 1545437 - Add options to specify Rust target name
Certain build systems such as Yocto know more suitable Rust target name, so it
would be better that there is a way to pass it to Mozilla's build system.
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1545437
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=954774
Forwarded: https://phabricator.services.mozilla.com/D28069
Applied-upstream: no, upstream consider this a workaround and do not support armel
---
build/moz.configure/rust.configure | 37 +++++++++++++++++++++++++++++++++----
1 file changed, 33 insertions(+), 4 deletions(-)
diff --git a/build/moz.configure/rust.configure b/build/moz.configure/rust.configure
index 9647cbc..5aed73f 100644
--- a/build/moz.configure/rust.configure
+++ b/build/moz.configure/rust.configure
@@ -218,6 +218,28 @@ def rust_supported_targets(rustc):
return namespace(per_os=per_os, per_raw_os=per_raw_os)
+option(env='RUST_HOST',
+ nargs=1,
+ help='Define the system type for Rust performing the build')
+
+@depends('RUST_HOST')
+@checking('rust host', lambda host: host)
+def rust_host_env(value):
+ if value:
+ return value[0]
+
+
+option(env='RUST_TARGET',
+ nargs=1,
+ help='Define the system type for Rust where the resulting executables will be used')
+
+@depends('RUST_TARGET')
+@checking('rust target', lambda target: target)
+def rust_target_env(value):
+ if value:
+ return value[0]
+
+
@template
def rust_triple_alias(host_or_target):
"""Template defining the alias used for rustc's --target flag.
@@ -228,8 +250,9 @@ def rust_triple_alias(host_or_target):
host_or_target_str = {host: 'host', target: 'target'}[host_or_target]
- @depends(rustc, host_or_target, c_compiler, rust_supported_targets,
- arm_target, when=rust_compiler)
+ @depends(rustc, host_or_target, rust_host_env, rust_target_env,
+ c_compiler, rust_supported_targets, arm_target,
+ when=rust_compiler)
@checking('for rust %s triplet' % host_or_target_str)
@imports('os')
@imports('subprocess')
@@ -237,8 +260,14 @@ def rust_triple_alias(host_or_target):
@imports(_from='mozbuild.shellutil', _import='quote')
@imports(_from='tempfile', _import='mkstemp')
@imports(_from='textwrap', _import='dedent')
- def rust_target(rustc, host_or_target, compiler_info,
- rust_supported_targets, arm_target):
+ def rust_target(rustc, host_or_target, rust_host_env, rust_target_env,
+ compiler_info, rust_supported_targets, arm_target):
+
+ specified_targets = {"host": rust_host_env, "target": rust_target_env}
+ specified_target = specified_targets[host_or_target_str]
+ if (specified_target):
+ return specified_target
+
# 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

View File

@ -1,46 +0,0 @@
From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
Date: Tue, 18 Feb 2020 20:27:15 +0100
Subject: Skip time-zone tests that fails with system ICU
There have been various changes upstream as part of the revision [1] that
change the handling of timezones to use ICU all the times when available,
and by "available" they meant only in the !MOZ_SYSTEM_ICU case, and
changing the system-ICU code path to fix it, is not trivial.
One of the bugs fixed with this change is this one (TZ dependent):
>>> new Date(1970,0,1,0,0,0,0)
Thu Jan 01 1970 01:00:00 GMT+0100 (IST) // Expected time 00:00:00 ...
>>> new Date(1970,0,1,0,0,0,0).getHours()
1 // Expected 0
Not being a regression, but an 11-years old (at the date), I think we can
sadly accept it, until we don't start compile SpiderMonkey to use Mozilla's
ICU.
[1] https://hg.mozilla.org/mozilla-central/rev/7b1a3a49547d
Forwarded: no
Bug-Mozilla: https://bugzilla.mozilla.org/show_bug.cgi?id=487897
Bug-Mozilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1346211
---
js/src/tests/jstests.list | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/js/src/tests/jstests.list b/js/src/tests/jstests.list
index a557c81..e54dd0d 100644
--- a/js/src/tests/jstests.list
+++ b/js/src/tests/jstests.list
@@ -512,6 +512,12 @@ fails-if(xulRuntime.debian.DEB_HOST_ARCH.match(/^armel$/)) script test262/built-
# Assumes little-endian IEEE representation of floating point numbers
fails-if(xulRuntime.debian.DEB_HOST_ARCH_ENDIAN=="big") script test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js
+# These tests fails when using system ICU because the related bug has been fixed only when using local ICU
+# See https://bugzilla.mozilla.org/show_bug.cgi?id=1346211#c7
+# https://hg.mozilla.org/mozilla-central/rev/7b1a3a49547d
+skip script non262/Date/time-zones-historic.js
+skip script non262/Date/time-zones-imported.js
+
###########################################################
# Tests disabled due to issues in test262 importer script #
###########################################################

View File

@ -1,46 +0,0 @@
From: Iain Lane <laney@debian.org>
Date: Mon, 17 Feb 2020 12:40:13 +0000
Subject: TestingFunctions: Update ICU's default tz when setting $TZ
ICU maintains its own idea of the default timezone, which we need to
synchronise when we set TZ directly, as we do here.
Forwarded: no (but should be)
---
js/src/builtin/TestingFunctions.cpp | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/js/src/builtin/TestingFunctions.cpp b/js/src/builtin/TestingFunctions.cpp
index ed75e4f..cae2a94 100644
--- a/js/src/builtin/TestingFunctions.cpp
+++ b/js/src/builtin/TestingFunctions.cpp
@@ -37,6 +37,7 @@
# include "irregexp/RegExpEngine.h"
# include "irregexp/RegExpParser.h"
#endif
+
#include "gc/Heap.h"
#include "jit/BaselineJIT.h"
#include "jit/InlinableNatives.h"
@@ -61,6 +62,7 @@
#include "js/Vector.h"
#include "js/Wrapper.h"
#include "threading/CpuCount.h"
+#include "unicode/timezone.h"
#include "util/StringBuffer.h"
#include "util/Text.h"
#include "vm/AsyncFunction.h"
@@ -5067,7 +5069,12 @@ static bool SetTimeZone(JSContext* cx, unsigned argc, Value* vp) {
#if defined(_WIN32)
return _putenv_s("TZ", value) == 0;
#else
- return setenv("TZ", value, true) == 0;
+ int r;
+ r = setenv("TZ", value, true) == 0;
+ if (icu::TimeZone* defaultZone = icu::TimeZone::detectHostTimeZone()) {
+ icu::TimeZone::adoptDefault(defaultZone);
+ }
+ return r;
#endif /* _WIN32 */
};

View File

@ -1,29 +0,0 @@
From: Rico Tzschichholz <ricotz@ubuntu.com>
Date: Wed, 5 Jul 2017 22:45:59 -0700
Subject: build: Copy headers on install instead of symlinking
Patch ported forward to mozjs52 by Philip Chimento
<philip.chimento@gmail.com>.
---
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 d550cd8..3ee39c2 100644
--- a/python/mozbuild/mozbuild/backend/recursivemake.py
+++ b/python/mozbuild/mozbuild/backend/recursivemake.py
@@ -1522,11 +1522,11 @@ class RecursiveMakeBackend(CommonBackend):
raise Exception("Wildcards are only supported in the filename part of "
"srcdir-relative or absolute paths.")
- install_manifest.add_pattern_link(basepath, wild, path)
+ install_manifest.add_pattern_copy(basepath, wild, path)
else:
- install_manifest.add_pattern_link(f.srcdir, f, path)
+ install_manifest.add_pattern_copy(f.srcdir, f, path)
else:
- install_manifest.add_link(f.full_path, dest)
+ install_manifest.add_copy(f.full_path, dest)
else:
install_manifest.add_optional_exists(dest)
backend_file.write('%s_FILES += %s\n' % (

View File

@ -1,25 +0,0 @@
From: "Laszlo Boszormenyi (GCS)" <gcs@debian.org>
Date: Fri, 2 May 2014 22:20:45 +0200
Subject: fix soname
Add soname switch to linker, regardless of Operating System
Bug-Debian: http://bugs.debian.org/746705
---
config/rules.mk | 3 +++
1 file changed, 3 insertions(+)
diff --git a/config/rules.mk b/config/rules.mk
index 15946d8..9b1a7da 100644
--- a/config/rules.mk
+++ b/config/rules.mk
@@ -335,6 +335,9 @@ endif
endif
EXTRA_DEPS += $(SYMBOLS_FILE)
endif
+
+EXTRA_DSO_LDOPTS += -Wl,-soname,lib$(JS_LIBRARY_NAME).so.0
+
#
# GNU doesn't have path length limitation
#

View File

@ -1,21 +0,0 @@
From: Pino Toscano <pino@debian.org>
Date: Sun, 27 Jul 2014 19:04:08 +0200
Subject: Hurd support
---
js/src/wasm/WasmSignalHandlers.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
index 636537f..cfb2970 100644
--- a/js/src/wasm/WasmSignalHandlers.cpp
+++ b/js/src/wasm/WasmSignalHandlers.cpp
@@ -108,7 +108,7 @@ using mozilla::DebugOnly;
# define R01_sig(p) ((p)->sc_frame.fixreg[1])
# define R32_sig(p) ((p)->sc_frame.srr0)
# endif
-#elif defined(__linux__) || defined(__sun)
+#elif defined(__linux__) || defined(__sun) || defined(__GNU__)
# if defined(__linux__)
# define EIP_sig(p) ((p)->uc_mcontext.gregs[REG_EIP])
# define EBP_sig(p) ((p)->uc_mcontext.gregs[REG_EBP])

View File

@ -1,37 +0,0 @@
From: Jason Duerstock <jason.duerstock@gmail.com>
Date: Sun, 29 Apr 2018 09:16:20 -0400
Subject: On ia64, retry failed mmap without address hint
[smcv: Move the #endif so we still return a defined value on non-ia64]
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897178
Last-Updated: 2018-07-10
---
js/src/jit/ProcessExecutableMemory.cpp | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/js/src/jit/ProcessExecutableMemory.cpp b/js/src/jit/ProcessExecutableMemory.cpp
index d395ccf..d0a835b 100644
--- a/js/src/jit/ProcessExecutableMemory.cpp
+++ b/js/src/jit/ProcessExecutableMemory.cpp
@@ -346,9 +346,21 @@ static void* ReserveProcessExecutableMemory(size_t bytes) {
void* p = MozTaggedAnonymousMmap(randomAddr, bytes, PROT_NONE,
MAP_PRIVATE | MAP_ANON, -1, 0,
"js-executable-memory");
+
+#ifndef __ia64__
if (p == MAP_FAILED) {
return nullptr;
}
+#else
+ if (p == MAP_FAILED) {
+ // the comment above appears to be incorrect on ia64, so retry without the hint
+ p = MozTaggedAnonymousMmap(NULL, bytes, PROT_NONE, MAP_PRIVATE | MAP_ANON,
+ -1, 0, "js-executable-memory");
+ if (p == MAP_FAILED) {
+ return nullptr;
+ }
+ }
+#endif
return p;
}

View File

@ -1,91 +0,0 @@
From: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Date: Sat, 14 May 2022 01:55:17 +0800
Subject: riscv64
===================================================================
---
build/moz.configure/init.configure | 3 +++
js/src/jit/AtomicOperations.h | 3 ++-
js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h | 5 +++++
mfbt/tests/TestPoisonArea.cpp | 3 +++
python/mozbuild/mozbuild/configure/constants.py | 2 ++
5 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
index c772604..ed4ecb3 100644
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
@@ -733,6 +733,9 @@ def split_triplet(triplet, allow_unknown=False):
elif cpu == 'sh4':
canonical_cpu = 'sh4'
endianness = 'little'
+ elif cpu == 'riscv64':
+ canonical_cpu = 'riscv64'
+ endianness = 'little'
elif allow_unknown:
canonical_cpu = cpu
endianness = 'unknown'
diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h
index 0486cba..d00e276 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..413591a 100644
--- a/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h
+++ b/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h
@@ -70,6 +70,11 @@
# endif
#endif
+#if defined(__riscv) && __riscv_xlen == 64
+# define HAS_64BIT_ATOMICS
+# define HAS_64BIT_LOCKFREE
+#endif
+
#ifdef JS_CODEGEN_NONE
# ifdef JS_64BIT
# define HAS_64BIT_ATOMICS
diff --git a/mfbt/tests/TestPoisonArea.cpp b/mfbt/tests/TestPoisonArea.cpp
index 2834678..5c17132 100644
--- a/mfbt/tests/TestPoisonArea.cpp
+++ b/mfbt/tests/TestPoisonArea.cpp
@@ -169,6 +169,9 @@ static const ia64_instr _return_instr = {
# define RETURN_INSTR _return_instr
# define RETURN_INSTR_TYPE ia64_instr
+#elif defined(__riscv)
+#define RETURN_INSTR 0x80828082 /* ret; ret */
+
#else
# error "Need return instruction for this architecture"
#endif
diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
index 8b7d226..85b81c9 100644
--- a/python/mozbuild/mozbuild/configure/constants.py
+++ b/python/mozbuild/mozbuild/configure/constants.py
@@ -50,6 +50,7 @@ CPU_bitness = {
'mips64': 64,
'ppc': 32,
'ppc64': 64,
+ 'riscv64': 64,
's390': 32,
's390x': 64,
'sh4': 32,
@@ -89,6 +90,7 @@ CPU_preprocessor_checks = OrderedDict((
('mips64', '__mips64'),
('mips32', '__mips__'),
('sh4', '__sh__'),
+ ('riscv64', '__riscv && __riscv_xlen == 64'),
))
assert sorted(CPU_preprocessor_checks.keys()) == sorted(CPU.POSSIBLE_VALUES)

View File

@ -1,27 +0,0 @@
From: Jordan Petridis <jordan@centricular.com>
Date: Sun, 16 Feb 2020 21:42:42 +0000
Subject: sdk/mozjs68: import a patch to workaround arm compilation issue
Our glibc headers don't include the expected structs needed
to compile the code. The primary target of this code seems
to be Android.
Bug-Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1526653
Origin: https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/master/files/mozjs68/armv7_disable_WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS.patch
---
js/src/wasm/WasmSignalHandlers.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
index cfb2970..750d5d2 100644
--- a/js/src/wasm/WasmSignalHandlers.cpp
+++ b/js/src/wasm/WasmSignalHandlers.cpp
@@ -243,7 +243,7 @@ using mozilla::DebugOnly;
// If you run into compile problems on a tier-3 platform, you can disable the
// emulation here.
-#if defined(__linux__) && defined(__arm__)
+#if 0 && defined(__linux__) && defined(__arm__)
# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
#endif

18
debian/patches/series vendored
View File

@ -1,18 +0,0 @@
fix-soname.patch
hurd-support.patch
copy-headers.patch
Allow-to-override-ICU_DATA_FILE-from-the-environment.patch
tests-increase-timeout.patch
ia64-support.patch
tests-Add-the-ability-to-skip-tests-according-to-dpkg-arc.patch
tests-Expect-some-floating-point-tests-to-fail-on-i386.patch
tests-Expect-a-test-to-fail-on-armel.patch
tests-Use-DEB_HOST_ARCH_BITS-to-skip-some-tests-on-64-bit.patch
tests-Expect-a-test-to-fail-on-big-endian.patch
sdk-mozjs68-import-a-patch-to-workaround-arm-compilation-.patch
TestingFunctions-Update-ICU-s-default-tz-when-setting-TZ.patch
time-zone-path-test-Update-for-what-our-system-ICU-return.patch
tests-Adapt-formatted-strings-results-to-system-ICU.patch
Skip-time-zone-tests-that-fails-with-system-ICU.patch
Bug-1545437-Add-options-to-specify-Rust-target-name.patch
riscv64.patch

View File

@ -1,254 +0,0 @@
From: =?utf-8?b?Ik1hcmNvIFRyZXZpc2FuIChUcmV2acOxbyki?= <mail@3v1n0.net>
Date: Tue, 18 Feb 2020 18:31:32 +0100
Subject: tests: Adapt formatted strings results to system ICU
Make sure that all the tests which check the formatted strings pass, when
using system ICU, adapting the expected strings to what we've in debian and
in particular:
- Added alternative Timezone (the acronym of it) to timezone tests
- Check relative time format using system ICU values
This is just better than skipping these tests all-together as we'd otherwise
loose the ability of check other codepaths.
Upstream should probably provide a way to detect if system ICU is enabled
and allow one to provide an override in such case.
Related upstream changes:
- https://hg.mozilla.org/mozilla-central/rev/7b1a3a49547d
Forwarded: no
---
.../tests/non262/Date/toString-localized-posix.js | 30 ++++++++--------
js/src/tests/non262/Date/toString-localized.js | 40 +++++++++++-----------
.../tests/non262/Intl/RelativeTimeFormat/format.js | 8 ++---
.../prototype/format/en-us-numeric-auto.js | 10 ++++++
4 files changed, 49 insertions(+), 39 deletions(-)
diff --git a/js/src/tests/non262/Date/toString-localized-posix.js b/js/src/tests/non262/Date/toString-localized-posix.js
index b7bcde8..3881a2c 100644
--- a/js/src/tests/non262/Date/toString-localized-posix.js
+++ b/js/src/tests/non262/Date/toString-localized-posix.js
@@ -9,19 +9,19 @@ inTimeZone("PST8PDT", () => {
let dt = new Date(2018, Month.July, 14);
withLocale("en", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (Pacific Daylight Time)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (Pacific Daylight Time)", "PDT");
});
withLocale("fr", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (heure dété du Pacifique)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (heure dété du Pacifique)", "PDT");
});
withLocale("de", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (Nordamerikanische Westküsten-Sommerzeit)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (Nordamerikanische Westküsten-Sommerzeit)", "PDT");
});
withLocale("ar", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (توقيت المحيط الهادي الصيفي)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (توقيت المحيط الهادي الصيفي)", "PDT");
});
withLocale("zh", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (北美太平洋夏令时间)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (北美太平洋夏令时间)", "PDT");
});
});
@@ -30,19 +30,19 @@ for (let tz of ["UTC", "UCT"]) {
let dt = new Date(2018, Month.July, 14);
withLocale("en", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Coordinated Universal Time)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Coordinated Universal Time)", "UTC");
});
withLocale("fr", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Temps universel coordonné)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Temps universel coordonné)", "UTC");
});
withLocale("de", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Koordinierte Weltzeit)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Koordinierte Weltzeit)", "UTC");
});
withLocale("ar", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (التوقيت العالمي المنسق)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (التوقيت العالمي المنسق)", "UTC");
});
withLocale("zh", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (协调世界时)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (协调世界时)", "UTC");
});
});
}
@@ -51,19 +51,19 @@ inTimeZone("GMT", () => {
let dt = new Date(2018, Month.July, 14);
withLocale("en", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Greenwich Mean Time)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Greenwich Mean Time)", "GMT");
});
withLocale("fr", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (heure moyenne de Greenwich)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (heure moyenne de Greenwich)", "GMT");
});
withLocale("de", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Mittlere Greenwich-Zeit)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Mittlere Greenwich-Zeit)", "GMT");
});
withLocale("ar", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (توقيت غرينتش)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (توقيت غرينتش)", "GMT");
});
withLocale("zh", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (格林尼治标准时间)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (格林尼治标准时间)", "GMT");
});
});
diff --git a/js/src/tests/non262/Date/toString-localized.js b/js/src/tests/non262/Date/toString-localized.js
index 433fb5c..0b43aed 100644
--- a/js/src/tests/non262/Date/toString-localized.js
+++ b/js/src/tests/non262/Date/toString-localized.js
@@ -6,19 +6,19 @@ inTimeZone("Europe/Paris", () => {
let dt = new Date(2018, Month.July, 14);
withLocale("en", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0200 (Central European Summer Time)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0200 (Central European Summer Time)", "CEST");
});
withLocale("fr", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0200 (heure dété dEurope centrale)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0200 (heure dété dEurope centrale)", "CEST");
});
withLocale("de", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)", "CEST");
});
withLocale("ar", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0200 (توقيت وسط أوروبا الصيفي)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0200 (توقيت وسط أوروبا الصيفي)", "CEST");
});
withLocale("zh", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0200 (中欧夏令时间)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0200 (中欧夏令时间)", "CEST");
});
});
@@ -26,19 +26,19 @@ inTimeZone("America/Los_Angeles", () => {
let dt = new Date(2018, Month.July, 14);
withLocale("en", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (Pacific Daylight Time)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (Pacific Daylight Time)", "PDT");
});
withLocale("fr", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (heure dété du Pacifique)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (heure dété du Pacifique)", "PDT");
});
withLocale("de", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (Nordamerikanische Westküsten-Sommerzeit)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (Nordamerikanische Westküsten-Sommerzeit)", "PDT");
});
withLocale("ar", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (توقيت المحيط الهادي الصيفي)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (توقيت المحيط الهادي الصيفي)", "PDT");
});
withLocale("zh", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (北美太平洋夏令时间)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT-0700 (北美太平洋夏令时间)", "PDT");
});
});
@@ -47,19 +47,19 @@ for (let tz of ["UTC", "UCT", "Zulu", "Universal", "Etc/UTC", "Etc/UCT", "Etc/Zu
let dt = new Date(2018, Month.July, 14);
withLocale("en", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Coordinated Universal Time)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Coordinated Universal Time)", "UTC");
});
withLocale("fr", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Temps universel coordonné)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Temps universel coordonné)", "UTC");
});
withLocale("de", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Koordinierte Weltzeit)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Koordinierte Weltzeit)", "UTC");
});
withLocale("ar", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (التوقيت العالمي المنسق)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (التوقيت العالمي المنسق)", "UTC");
});
withLocale("zh", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (协调世界时)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (协调世界时)", "UTC");
});
});
}
@@ -69,19 +69,19 @@ for (let tz of ["GMT", "Etc/GMT"]) {
let dt = new Date(2018, Month.July, 14);
withLocale("en", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Greenwich Mean Time)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Greenwich Mean Time)", "GMT");
});
withLocale("fr", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (heure moyenne de Greenwich)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (heure moyenne de Greenwich)", "GMT");
});
withLocale("de", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Mittlere Greenwich-Zeit)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (Mittlere Greenwich-Zeit)", "GMT");
});
withLocale("ar", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (توقيت غرينتش)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (توقيت غرينتش)", "GMT");
});
withLocale("zh", () => {
- assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (格林尼治标准时间)");
+ assertDateTime(dt, "Sat Jul 14 2018 00:00:00 GMT+0000 (格林尼治标准时间)", "GMT");
});
});
}
diff --git a/js/src/tests/non262/Intl/RelativeTimeFormat/format.js b/js/src/tests/non262/Intl/RelativeTimeFormat/format.js
index 0537def..244dbb5 100644
--- a/js/src/tests/non262/Intl/RelativeTimeFormat/format.js
+++ b/js/src/tests/non262/Intl/RelativeTimeFormat/format.js
@@ -56,13 +56,13 @@ var rtf;
assertEq(rtf.format(-1, "second"), "1 second ago");
assertEq(rtf.format(1, "second"), "in 1 second");
- assertEq(rtf.format(0, "minute"), "in 0 minutes");
- assertEq(rtf.format(-0, "minute"), "0 minutes ago");
+ assertEq(rtf.format(0, "minute"), "this minute");
+ assertEq(rtf.format(-0, "minute"), "this minute");
assertEq(rtf.format(-1, "minute"), "1 minute ago");
assertEq(rtf.format(1, "minute"), "in 1 minute");
- assertEq(rtf.format(0, "hour"), "in 0 hours");
- assertEq(rtf.format(-0, "hour"), "0 hours ago");
+ assertEq(rtf.format(0, "hour"), "this hour");
+ assertEq(rtf.format(-0, "hour"), "this hour");
assertEq(rtf.format(-1, "hour"), "1 hour ago");
assertEq(rtf.format(1, "hour"), "in 1 hour");
diff --git a/js/src/tests/test262/intl402/RelativeTimeFormat/prototype/format/en-us-numeric-auto.js b/js/src/tests/test262/intl402/RelativeTimeFormat/prototype/format/en-us-numeric-auto.js
index bda1cc8..2555bd8 100644
--- a/js/src/tests/test262/intl402/RelativeTimeFormat/prototype/format/en-us-numeric-auto.js
+++ b/js/src/tests/test262/intl402/RelativeTimeFormat/prototype/format/en-us-numeric-auto.js
@@ -55,6 +55,16 @@ const exceptions = {
"0": "now",
"1": "in 1 second",
},
+ "minute": {
+ "-1": "1 minute ago",
+ "0": "this minute",
+ "1": "in 1 minute",
+ },
+ "hour": {
+ "-1": "1 hour ago",
+ "0": "this hour",
+ "1": "in 1 hour",
+ },
};
for (const unit of units) {

View File

@ -1,52 +0,0 @@
From: Simon McVittie <smcv@debian.org>
Date: Tue, 11 Sep 2018 15:59:31 +0100
Subject: tests: Add the ability to skip tests according to dpkg-architecture
This avoids needing to work out what the value of XPCOMABI will be
for a particular Debian architecture. It cannot be used in
upstreamable patches, though.
Forwarded: not-needed, Debian-specific
---
js/src/tests/lib/manifest.py | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/js/src/tests/lib/manifest.py b/js/src/tests/lib/manifest.py
index 617f0f1..5a7ff2d 100644
--- a/js/src/tests/lib/manifest.py
+++ b/js/src/tests/lib/manifest.py
@@ -4,6 +4,7 @@
from __future__ import print_function
+import json
import os
import re
import sys
@@ -34,12 +35,25 @@ class XULInfo:
"""Return JS that when executed sets up variables so that JS expression
predicates on XUL build info evaluate properly."""
- return ('var xulRuntime = {{ OS: "{}", XPCOMABI: "{}", shell: true }};'
+ debian = {}
+
+ p = Popen(
+ ['dpkg-architecture', '-a' + os.environ['DEB_HOST_ARCH']],
+ stdout=PIPE,
+ universal_newlines=True,
+ )
+ for line in p.stdout:
+ k, v = line.rstrip('\n').split('=', 1)
+ debian[k] = v
+ p.wait()
+
+ return ('var xulRuntime = {{ OS: "{}", XPCOMABI: "{}", debian: {}, shell: true }};'
'var release_or_beta = getBuildConfiguration().release_or_beta;'
'var isDebugBuild={}; var Android={}; '
'var browserIsRemote={}'.format(
self.os,
self.abi,
+ json.dumps(debian),
str(self.isdebug).lower(),
str(self.os == "Android").lower(),
str(self.browserIsRemote).lower()))

View File

@ -1,29 +0,0 @@
From: Simon McVittie <smcv@debian.org>
Date: Tue, 11 Sep 2018 16:03:17 +0100
Subject: tests: Expect a test to fail on armel
ARM softfloat has unusual behaviour in corner cases, like this test
that exercises NaN (not-a-number). Upstream only supports the equivalent
of our armhf.
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908481
Forwarded: not-needed, Debian-specific
---
js/src/tests/jstests.list | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/js/src/tests/jstests.list b/js/src/tests/jstests.list
index dffacef..fb45069 100644
--- a/js/src/tests/jstests.list
+++ b/js/src/tests/jstests.list
@@ -505,6 +505,10 @@ fails-if(xulRuntime.debian.DEB_HOST_ARCH_CPU.match(/^i386$/)) script non262/Date
fails-if(xulRuntime.debian.DEB_HOST_ARCH_CPU.match(/^i386$/)) script test262/language/types/number/S8.5_A2.1.js
fails-if(xulRuntime.debian.DEB_HOST_ARCH_CPU.match(/^i386$/)) script test262/language/types/number/S8.5_A2.2.js
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908481
+# NaN corner cases are different on ARM softfloat
+fails-if(xulRuntime.debian.DEB_HOST_ARCH.match(/^armel$/)) script test262/built-ins/TypedArray/prototype/fill/fill-values-conversion-operations-consistent-nan.js
+
###########################################################
# Tests disabled due to issues in test262 importer script #
###########################################################

View File

@ -1,24 +0,0 @@
From: Simon McVittie <smcv@debian.org>
Date: Fri, 28 Sep 2018 09:51:33 +0100
Subject: tests: Expect a test to fail on big-endian
Signed-off-by: Simon McVittie <smcv@debian.org>
Forwarded: no
---
js/src/tests/jstests.list | 3 +++
1 file changed, 3 insertions(+)
diff --git a/js/src/tests/jstests.list b/js/src/tests/jstests.list
index fb45069..a557c81 100644
--- a/js/src/tests/jstests.list
+++ b/js/src/tests/jstests.list
@@ -509,6 +509,9 @@ fails-if(xulRuntime.debian.DEB_HOST_ARCH_CPU.match(/^i386$/)) script test262/lan
# NaN corner cases are different on ARM softfloat
fails-if(xulRuntime.debian.DEB_HOST_ARCH.match(/^armel$/)) script test262/built-ins/TypedArray/prototype/fill/fill-values-conversion-operations-consistent-nan.js
+# Assumes little-endian IEEE representation of floating point numbers
+fails-if(xulRuntime.debian.DEB_HOST_ARCH_ENDIAN=="big") script test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js
+
###########################################################
# Tests disabled due to issues in test262 importer script #
###########################################################

View File

@ -1,37 +0,0 @@
From: Simon McVittie <smcv@debian.org>
Date: Tue, 11 Sep 2018 16:02:10 +0100
Subject: tests: Expect some floating-point tests to fail on i386
Upstream assumes everything uses SSE mathematics, but SSE isn't in
Debian's baseline for i386, so we are stuck with i387 and its weird
80-bit floating point registers. We can't even work around this with
-fexcess-precision=standard, because mozjs is C++.
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907363
Forwarded: not-needed, Debian-specific
---
js/src/tests/jstests.list | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/js/src/tests/jstests.list b/js/src/tests/jstests.list
index 8f5c0df..dffacef 100644
--- a/js/src/tests/jstests.list
+++ b/js/src/tests/jstests.list
@@ -493,6 +493,17 @@ skip script test262/language/expressions/class/elements/derived-cls-direct-eval-
skip script test262/language/statements/class/elements/derived-cls-direct-eval-err-contains-superproperty-1.js
skip script test262/language/statements/class/elements/derived-cls-direct-eval-err-contains-superproperty-2.js
+############################
+# Tests disabled by Debian #
+############################
+
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907363
+# We build without SSE because it isn't in our i386 baseline, which means
+# floating-point arithmetic is in i387 extended precision and the rounding
+# is not what these tests expect
+fails-if(xulRuntime.debian.DEB_HOST_ARCH_CPU.match(/^i386$/)) script non262/Date/timeclip.js
+fails-if(xulRuntime.debian.DEB_HOST_ARCH_CPU.match(/^i386$/)) script test262/language/types/number/S8.5_A2.1.js
+fails-if(xulRuntime.debian.DEB_HOST_ARCH_CPU.match(/^i386$/)) script test262/language/types/number/S8.5_A2.2.js
###########################################################
# Tests disabled due to issues in test262 importer script #

View File

@ -1,47 +0,0 @@
From: Simon McVittie <smcv@debian.org>
Date: Mon, 9 Oct 2017 09:46:31 +0100
Subject: tests: Use DEB_HOST_ARCH_BITS to skip some tests on 64-bit platforms
Ideally this would use some upstreamable mechanism instead of
modifying the test infrastructure to make dpkg-architecture variables
available, but I don't know the build/test infrastructure well enough
to implement that.
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=905825
Forwarded: no
---
js/src/tests/non262/Array/regress-157652.js | 2 +-
js/src/tests/non262/Array/regress-330812.js | 2 +-
js/src/tests/non262/regress/regress-422348.js | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/js/src/tests/non262/Array/regress-157652.js b/js/src/tests/non262/Array/regress-157652.js
index 6916fe1..307c6bb 100644
--- a/js/src/tests/non262/Array/regress-157652.js
+++ b/js/src/tests/non262/Array/regress-157652.js
@@ -1,4 +1,4 @@
-// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No test results
+// |reftest| skip-if(xulRuntime.debian.DEB_HOST_ARCH_BITS==64||Android) -- No test results
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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
diff --git a/js/src/tests/non262/Array/regress-330812.js b/js/src/tests/non262/Array/regress-330812.js
index 94f6f1b..d358427 100644
--- a/js/src/tests/non262/Array/regress-330812.js
+++ b/js/src/tests/non262/Array/regress-330812.js
@@ -1,4 +1,4 @@
-// |reftest| slow-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)||Android) -- No test results
+// |reftest| slow-if(xulRuntime.debian.DEB_HOST_ARCH_BITS==64||Android) -- No test results
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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
diff --git a/js/src/tests/non262/regress/regress-422348.js b/js/src/tests/non262/regress/regress-422348.js
index 2c28d5a..2476e7d 100644
--- a/js/src/tests/non262/regress/regress-422348.js
+++ b/js/src/tests/non262/regress/regress-422348.js
@@ -1,4 +1,4 @@
-// |reftest| skip-if(xulRuntime.XPCOMABI.match(/x86_64|aarch64|ppc64|ppc64le|s390x/)) -- On 64-bit, takes forever rather than throwing
+// |reftest| skip-if(xulRuntime.debian.DEB_HOST_ARCH_BITS==64) -- On 64-bit, takes forever rather than throwing
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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

View File

@ -1,22 +0,0 @@
From: Adrian Bunk <bunk@debian.org>
Date: Tue, 3 Jul 2018 10:03:37 +0100
Subject: Increase the test timeout for slower buildds
Bug-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 7a99e65..85727bd 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)) $(PYTHON) -u $(srcdir)/tests/jstests.py \
- --no-progress --format=automation --timeout 300 \
+ --no-progress --format=automation --timeout 600 \
$(JSTESTS_EXTRA_ARGS) \
$(DIST)/bin/$(JS_SHELL_NAME)$(BIN_SUFFIX)

View File

@ -1,35 +0,0 @@
From: Iain Lane <laney@debian.org>
Date: Mon, 17 Feb 2020 13:40:37 +0100
Subject: time-zone-path test: Update for what our system ICU returns
1) I'm not sure what "/this-part-is-ignored/" is meant to mean, looks
like a path to the zoneinfo file?
2) When handled by ICU, these return offsets and not timezone names.
Upstream issue: https://phabricator.services.mozilla.com/D5827
Forwarded: no (but should be)
---
js/src/tests/non262/Date/time-zone-path.js | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/js/src/tests/non262/Date/time-zone-path.js b/js/src/tests/non262/Date/time-zone-path.js
index 3422022..8773e44 100644
--- a/js/src/tests/non262/Date/time-zone-path.js
+++ b/js/src/tests/non262/Date/time-zone-path.js
@@ -17,11 +17,11 @@ assertEq(timeZoneName(), "Eastern European Summer Time");
setTimeZone("::Europe/London"); // two colons, invalid
assertEq(timeZoneName(), "Coordinated Universal Time");
-setTimeZone("/this-part-is-ignored/zoneinfo/America/Chicago");
-assertEq(timeZoneName(), "Central Daylight Time");
+setTimeZone("/usr/share/zoneinfo/America/Chicago");
+assertEq(timeZoneName(), "GMT-06:00");
-setTimeZone(":/this-part-is-ignored/zoneinfo/America/Phoenix");
-assertEq(timeZoneName(), "Mountain Standard Time");
+setTimeZone(":/usr/share/zoneinfo/America/Phoenix");
+assertEq(timeZoneName(), "GMT-07:00");
setTimeZone("::/this-part-is-ignored/zoneinfo/America/Los_Angeles"); // two colons, invalid
assertEq(timeZoneName(), "Coordinated Universal Time");

View File

@ -1 +1 @@
3.0 (quilt)
3.0 (native)