Compare commits

...

21 Commits

Author SHA1 Message Date
28f06f3d55 Merge remote-tracking branch 'up/main' into main-riscv64 2024-08-01 09:55:51 +03:00
František Zatloukal
42b6f22017 Refactor spec file, add Python 3.13 support (RHBZ#2300979) 2024-07-30 13:20:44 +02:00
Fedora Release Engineering
6bbf7fbef8 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 18:42:44 +00:00
František Zatloukal
080ef728e4 Ignore more failures... 2024-02-05 23:16:02 +01:00
František Zatloukal
1aedb4beef icu 74.2 fixes 2024-02-05 22:56:38 +01:00
Fedora Release Engineering
45e2ef0adc Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 08:08:48 +00:00
Fedora Release Engineering
464e4fcca0 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 08:42:11 +00:00
c3b03e0862
Add support for riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-12-05 10:21:26 +02:00
daee895e37
Merge remote-tracking branch 'up/main' into main-riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-12-05 10:18:46 +02:00
František Zatloukal
d7fe251f06 mozjs102-102.15.1 (last release) 2023-09-28 11:23:31 +02:00
František Zatloukal
0350761b38 mozjs102-102.15.0 (last release) 2023-08-28 18:08:58 +02:00
Fedora Release Engineering
244ea31c39 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 15:51:22 +00:00
František Zatloukal
cf5aafd108 Rebuilt for ICU 73.2 2023-07-11 22:18:05 +02:00
František Zatloukal
9608f49d17 mozjs102-102.13.0 2023-07-11 21:54:27 +02:00
František Zatloukal
11164ec561 icu 73.2 fixes 2023-07-11 21:42:07 +02:00
František Zatloukal
72d6ad552c Python 3.12 fixes 2023-07-11 21:41:25 +02:00
Yaakov Selkowitz
21e0192027 Do not use ccache in RHEL builds
RHEL does not provide ccache, but it is not strictly necessary in any case.
2023-06-15 22:06:14 -04:00
František Zatloukal
087f9e9afe mozjs102-102.12.0 (Fixes RHBZ#2185597) 2023-06-07 08:52:30 +02:00
František Zatloukal
5639557653 Convert to %autorelease and %autochangelog
[skip changelog]
2023-06-07 08:44:08 +02:00
František Zatloukal
ce43d3b608 Split RUSTFLAGS on comma
Taken from firefox package, thanks adamw
2023-06-07 08:43:27 +02:00
2308bf6984
Add support for riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2022-10-25 12:22:02 +03:00
9 changed files with 271 additions and 50 deletions

4
.gitignore vendored
View File

@ -7,3 +7,7 @@
/firefox-102.7.0esr.source.tar.xz
/firefox-102.8.0esr.source.tar.xz
/firefox-102.9.0esr.source.tar.xz
/firefox-102.12.0esr.source.tar.xz
/firefox-102.13.0esr.source.tar.xz
/firefox-102.15.0esr.source.tar.xz
/firefox-102.15.1esr.source.tar.xz

View File

@ -0,0 +1,28 @@
From 588c3558c2cf338b45eaed34e23275bfbd517ff6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
Date: Tue, 11 Jul 2023 20:28:11 +0200
Subject: [PATCH] Hacky workaround for expected string or bytes-like object,
got '_Py2Int'
---
python/mozbuild/mozbuild/shellutil.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/python/mozbuild/mozbuild/shellutil.py b/python/mozbuild/mozbuild/shellutil.py
index c47b19f..4fe6c3a 100644
--- a/python/mozbuild/mozbuild/shellutil.py
+++ b/python/mozbuild/mozbuild/shellutil.py
@@ -186,6 +186,10 @@ def _quote(s):
if type(s) == int:
return "%d" % s
+ if type(s) != str:
+ # looseversion objects leak here, this is ugly, I know, but gets the job done, so...
+ return str(s.__int__())
+
# Empty strings need to be quoted to have any significance
if s and not SHELL_QUOTE_RE.search(s) and not s.startswith("~"):
return s
--
2.41.0

View File

@ -0,0 +1,25 @@
From 045b6698cd3da54d949ff228d601a6506ccf92bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
Date: Tue, 11 Jul 2023 18:35:00 +0200
Subject: [PATCH] Replace distutils.LooseVersion with looseversion.LooseVersion
---
python/mozbuild/mozbuild/configure/util.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/python/mozbuild/mozbuild/configure/util.py b/python/mozbuild/mozbuild/configure/util.py
index 06ac247..e2ce7d5 100644
--- a/python/mozbuild/mozbuild/configure/util.py
+++ b/python/mozbuild/mozbuild/configure/util.py
@@ -14,7 +14,7 @@ import six
import sys
from collections import deque
from contextlib import contextmanager
-from distutils.version import LooseVersion
+from looseversion import LooseVersion
def getpreferredencoding():
--
2.41.0

32
changelog Normal file
View File

@ -0,0 +1,32 @@
* Mon Mar 13 2023 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.9.0-1
- mozjs102-102.9.0 (fixes RHBZ#2177727)
* Fri Feb 17 2023 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.8.0-1
- mozjs102-102.8.0 (fixes RHBZ#2169721)
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 102.7.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Jan 16 2023 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.7.0-1
- mozjs102-102.7.0 (fixes RHBZ#2161250)
* Sat Dec 31 2022 Pete Walter <pwalter@fedoraproject.org> - 102.6.0-2
- Rebuild for ICU 72
* Mon Dec 12 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.6.0-1
- mozjs102-102.6.0 (fixes RHBZ#2152654)
* Tue Nov 15 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.5.0-1
- mozjs102-102.5.0
* Mon Oct 17 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.4.0-1
- mozjs102-102.4.0 (fixes RHBZ#2135298)
* Wed Sep 21 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.3.0-1
- mozjs102-102.3.0 (fixes RHBZ#2127989)
* Mon Aug 22 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.2.0-1
- mozjs102-102.2.0
* Wed Jul 27 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.1.0-1
- Initial mozjs102 package based on mozjs91

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)

View File

@ -5,6 +5,7 @@ non262/Date/time-zones-historic.js
non262/Date/time-zones-imported.js
non262/Date/toString-localized-posix.js
non262/Date/toString-localized.js
non262/global/parseInt-01.js
non262/Intl/Array/toLocaleString-date.js
non262/Intl/available-locales-resolved.js
non262/Intl/available-locales-supported.js
@ -21,17 +22,29 @@ non262/Intl/DateTimeFormat/formatToParts.js
non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js
non262/Intl/DateTimeFormat/hourCycle.js
non262/Intl/DateTimeFormat/implied-script-has-consistent-output.js
non262/Intl/DateTimeFormat/islamic.js
non262/Intl/DateTimeFormat/related-year.js
non262/Intl/DateTimeFormat/timeZone_backward_links.js
non262/Intl/DateTimeFormat/timeZone_backzone.js
non262/Intl/DateTimeFormat/timeZone_version.js
non262/Intl/DateTimeFormat/tz-environment-variable.js
non262/Intl/DisplayNames/calendar.js
non262/Intl/DisplayNames/currency.js
non262/Intl/DisplayNames/dateTimeField.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/NumberFormat/currency-narrow-symbol.js
non262/Intl/NumberFormat/format.js
non262/Intl/NumberFormat/notation-compact-long.js
non262/Intl/supportedValuesOf-timeZones-canonical.js
non262/Intl/supportedValuesOf-timeZones.js
non262/Number/parseInt-01.js
test262/built-ins/parseInt/S15.1.2.2_A2_T10.js
test262/built-ins/parseInt/S15.1.2.2_A2_T8.js
test262/built-ins/parseInt/S15.1.2.2_A2_T9.js
test262/built-ins/parseInt/S15.1.2.2_A8.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/Case_Ignorable.js
@ -64,6 +77,7 @@ test262/built-ins/RegExp/property-escapes/generated/Grapheme_Extend.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/Lowercase.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Arabic.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js
@ -89,6 +103,9 @@ test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khojki.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lao.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.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/Soft_Dotted.js
test262/built-ins/RegExp/property-escapes/generated/Terminal_Punctuation.js
@ -100,3 +117,9 @@ test262/intl402/DateTimeFormat/prototype/formatRange/en-US.js
test262/intl402/DateTimeFormat/prototype/formatRange/fractionalSecondDigits.js
test262/intl402/DateTimeFormat/prototype/formatRangeToParts/en-US.js
test262/intl402/DateTimeFormat/prototype/formatRangeToParts/fractionalSecondDigits.js
test262/intl402/Intl/supportedValuesOf/timeZones-accepted-by-DateTimeFormat.js
test262/intl402/Locale/constructor-non-iana-canon.js
test262/intl402/Locale/likely-subtags.js
test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js
non262/Array/regress-157652.js
non262/regress/regress-422348.js

View File

@ -1,10 +1,18 @@
%global major 102
# LTO - Enable in Release builds, but consider disabling for development as it increases compile time
%ifnarch riscv64
%global build_with_lto 1
%else
%global build_with_lto 0
%endif
# Require tests to pass?
%ifnarch riscv64
%global require_tests 1
%else
%global require_tests 0
%endif
%if 0%{?build_with_lto}
# LTO is the default
@ -12,19 +20,14 @@
%define _lto_cflags %{nil}
%endif
# Clean pushed RUSTFLAGS to make it buildable
%if %defined build_rustflags
%global build_rustflags %{nil}
%endif
# Big endian platforms
%ifarch ppc ppc64 s390 s390x
%global big_endian 1
%endif
Name: mozjs%{major}
Version: 102.9.0
Release: 1%{?dist}
Version: 102.15.1
Release: %autorelease -e 0.riscv64
Summary: SpiderMonkey JavaScript library
License: MPL-2.0 AND Apache-2.0 AND BSD-3-Clause AND BSD-2-Clause AND MIT AND GPL-3.0-or-later
@ -49,14 +52,28 @@ Patch13: tests-Use-native-TemporaryDirectory.patch
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
Patch17: Replace-distutils.LooseVersion-with-looseversion.LooseVersion.patch
# This is ugly, I know, I know...
Patch18: Hacky-workaround-for-expected-string-or-bytes-like-object.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
# Tests Fixes
Patch30: tests-Replace-pipes-with-shlex-for-Python-3.13.patch
BuildRequires: cargo
%if !0%{?rhel}
BuildRequires: ccache
%endif
BuildRequires: clang-devel
BuildRequires: gcc
BuildRequires: gcc-c++
@ -74,6 +91,7 @@ BuildRequires: pkgconfig(libffi)
BuildRequires: pkgconfig(zlib)
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-looseversion
BuildRequires: python3-six
BuildRequires: readline-devel
BuildRequires: wget
@ -93,10 +111,22 @@ The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%prep
%autosetup -n firefox-%{version}/js/src -N
%autosetup -n firefox-%{version} -p1
pushd ../..
%autopatch -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
# Set up looseversion
mkdir third_party/python/looseversion
ln -s /usr/lib/python%{python3_version}/site-packages/looseversion/__init__.py third_party/python/looseversion/looseversion.py
echo "vendored:third_party/python/looseversion" >> python/sites/mach.txt
# Make the buildsys work with Python 3.13
sed -i 's|import pipes|import shlex|' third_party/python/virtualenv/virtualenv/discovery/cached_py_info.py
sed -i 's|pipes.quote(|shlex.quote(|' third_party/python/virtualenv/virtualenv/discovery/cached_py_info.py
# Copy out the LICENSE file
cp LICENSE js/src/
@ -112,22 +142,20 @@ rm -rf js/src/devtools/automation/variants/
rm -rf js/src/octane/
rm -rf js/src/ctypes/libffi/
popd
%build
%if 0%{?build_with_lto}
# https://github.com/ptomato/mozjs/commit/36bb7982b41e0ef9a65f7174252ab996cd6777bd
export CARGO_PROFILE_RELEASE_LTO=true
%endif
pushd js/src/
# Use bundled autoconf
export M4=m4
export AWK=awk
export AC_MACRODIR=/builddir/build/BUILD/firefox-%{version}/build/autoconf/
export AC_MACRODIR=../../build/autoconf/
sh ../../build/autoconf/autoconf.sh --localdir=/builddir/build/BUILD/firefox-%{version}/js/src configure.in > configure
sh ../../build/autoconf/autoconf.sh --localdir=. configure.in > configure
chmod +x configure
%configure \
--with-system-icu \
--with-system-zlib \
@ -144,6 +172,7 @@ chmod +x configure
%make_build
%install
pushd js/src/
%make_install
# Fix permissions
@ -197,6 +226,7 @@ ln -s libmozjs-%{major}.so.0.0.0 %{buildroot}%{_libdir}/libmozjs-%{major}.so.0
ln -s libmozjs-%{major}.so.0 %{buildroot}%{_libdir}/libmozjs-%{major}.so
%check
pushd js/src/
# Run SpiderMonkey tests
%if 0%{?require_tests}
%{python3} tests/jstests.py -d -s -t 2400 --exclude-file=known_failures.txt --no-progress --wpt=disabled ../../js/src/dist/bin/js%{major}
@ -219,8 +249,8 @@ ln -s libmozjs-%{major}.so.0 %{buildroot}%{_libdir}/libmozjs-%{major}.so
%endif
%files
%doc README.html
%license LICENSE
%doc js/src/README.html
%license js/src/LICENSE
%{_libdir}/libmozjs-%{major}.so.0*
%files devel
@ -230,35 +260,4 @@ ln -s libmozjs-%{major}.so.0 %{buildroot}%{_libdir}/libmozjs-%{major}.so
%{_includedir}/mozjs-%{major}/
%changelog
* Mon Mar 13 2023 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.9.0-1
- mozjs102-102.9.0 (fixes RHBZ#2177727)
* Fri Feb 17 2023 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.8.0-1
- mozjs102-102.8.0 (fixes RHBZ#2169721)
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 102.7.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Mon Jan 16 2023 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.7.0-1
- mozjs102-102.7.0 (fixes RHBZ#2161250)
* Sat Dec 31 2022 Pete Walter <pwalter@fedoraproject.org> - 102.6.0-2
- Rebuild for ICU 72
* Mon Dec 12 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.6.0-1
- mozjs102-102.6.0 (fixes RHBZ#2152654)
* Tue Nov 15 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.5.0-1
- mozjs102-102.5.0
* Mon Oct 17 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.4.0-1
- mozjs102-102.4.0 (fixes RHBZ#2135298)
* Wed Sep 21 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.3.0-1
- mozjs102-102.3.0 (fixes RHBZ#2127989)
* Mon Aug 22 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.2.0-1
- mozjs102-102.2.0
* Wed Jul 27 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 102.1.0-1
- Initial mozjs102 package based on mozjs91
%autochangelog

View File

@ -1 +1 @@
SHA512 (firefox-102.9.0esr.source.tar.xz) = 3923212ce4b7d1f589129025961ff1b380b8aaf1dd074674f3bd63cf14e9a44ff051bda556b7796c25634e153de00ce62243ece15a520f63dd0791a19b2a6685
SHA512 (firefox-102.15.1esr.source.tar.xz) = bdb66b4fb5622af3e60580a3bcd464d98ef13cb38d6ac6c9e5fc046e567a003cf080125d7748950c91c442fde5e8024c50c4180d2f551aa3528160a3c05ae187

View File

@ -0,0 +1,34 @@
From c5c18929b01d331fc095c16b260e222574da38ed Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
Date: Tue, 30 Jul 2024 12:59:41 +0200
Subject: [PATCH] tests: Replace pipes with shlex for Python 3.13
---
js/src/tests/lib/results.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/js/src/tests/lib/results.py b/js/src/tests/lib/results.py
index f9c7746..5d914c0 100644
--- a/js/src/tests/lib/results.py
+++ b/js/src/tests/lib/results.py
@@ -1,7 +1,7 @@
from __future__ import print_function
import json
-import pipes
+import shlex
import re
from .progressbar import NullProgressBar, ProgressBar
@@ -11,7 +11,7 @@ from .structuredlog import TestLogger
def escape_cmdline(args):
- return " ".join([pipes.quote(a) for a in args])
+ return " ".join([shlex.quote(a) for a in args])
class TestOutput:
--
2.45.2