From e3729167646775e60a3d8c602c0412e04f206baf Mon Sep 17 00:00:00 2001 From: FrantiĊĦek Zatloukal Date: Jun 27 2022 19:03:09 +0000 Subject: Fixup Python 3.11 build --- diff --git a/0001-Python-Build-Use-r-instead-of-rU-file-read-modes.patch b/0001-Python-Build-Use-r-instead-of-rU-file-read-modes.patch new file mode 100644 index 0000000..a16772c --- /dev/null +++ b/0001-Python-Build-Use-r-instead-of-rU-file-read-modes.patch @@ -0,0 +1,118 @@ +From 0e790bd2eb846e90495eb81952cf35cc7fc8766a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= +Date: Mon, 27 Jun 2022 19:55:16 +0100 +Subject: [PATCH] Python/Build: Use r instead of rU file read modes + +Fixes Python 3.11 build +--- + python/mozbuild/mozbuild/action/process_define_files.py | 2 +- + python/mozbuild/mozbuild/backend/base.py | 2 +- + python/mozbuild/mozbuild/preprocessor.py | 6 +++--- + python/mozbuild/mozbuild/util.py | 4 ++-- + python/mozbuild/mozpack/files.py | 4 ++-- + 5 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py +index f1d401a..aca59d0 100644 +--- a/python/mozbuild/mozbuild/action/process_define_files.py ++++ b/python/mozbuild/mozbuild/action/process_define_files.py +@@ -36,7 +36,7 @@ def process_define_file(output, input): + ) and not config.substs.get("JS_STANDALONE"): + config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src")) + +- with open(path, "rU") as input: ++ with open(path, "r") as input: + r = re.compile( + "^\s*#\s*(?P[a-z]+)(?:\s+(?P\S+)(?:\s+(?P\S+))?)?", re.U + ) +diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py +index 7bc1986..b64a709 100644 +--- a/python/mozbuild/mozbuild/backend/base.py ++++ b/python/mozbuild/mozbuild/backend/base.py +@@ -272,7 +272,7 @@ class BuildBackend(LoggingMixin): + return status + + @contextmanager +- def _write_file(self, path=None, fh=None, readmode="rU"): ++ def _write_file(self, path=None, fh=None, readmode="r"): + """Context manager to write a file. + + This is a glorified wrapper around FileAvoidWrite with integration to +diff --git a/python/mozbuild/mozbuild/preprocessor.py b/python/mozbuild/mozbuild/preprocessor.py +index f7820b9..857f1a6 100644 +--- a/python/mozbuild/mozbuild/preprocessor.py ++++ b/python/mozbuild/mozbuild/preprocessor.py +@@ -531,7 +531,7 @@ class Preprocessor: + + if args: + for f in args: +- with io.open(f, "rU", encoding="utf-8") as input: ++ with io.open(f, "r", encoding="utf-8") as input: + self.processFile(input=input, output=out) + if depfile: + mk = Makefile() +@@ -860,7 +860,7 @@ class Preprocessor: + args = self.applyFilters(args) + if not os.path.isabs(args): + args = os.path.join(self.curdir, args) +- args = io.open(args, "rU", encoding="utf-8") ++ args = io.open(args, "r", encoding="utf-8") + except Preprocessor.Error: + raise + except Exception: +@@ -914,7 +914,7 @@ class Preprocessor: + def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"): + pp = Preprocessor(defines=defines, marker=marker) + for f in includes: +- with io.open(f, "rU", encoding="utf-8") as input: ++ with io.open(f, "r", encoding="utf-8") as input: + pp.processFile(input=input, output=output) + return pp.includes + +diff --git a/python/mozbuild/mozbuild/util.py b/python/mozbuild/mozbuild/util.py +index 071daec..b59aabb 100644 +--- a/python/mozbuild/mozbuild/util.py ++++ b/python/mozbuild/mozbuild/util.py +@@ -225,7 +225,7 @@ class FileAvoidWrite(BytesIO): + still occur, as well as diff capture if requested. + """ + +- def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"): ++ def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"): + BytesIO.__init__(self) + self.name = filename + assert type(capture_diff) == bool +@@ -1447,7 +1447,7 @@ def patch_main(): + + def my_get_command_line(): + with open( +- os.path.join(os.path.dirname(__file__), "fork_interpose.py"), "rU" ++ os.path.join(os.path.dirname(__file__), "fork_interpose.py"), "r" + ) as fork_file: + fork_code = fork_file.read() + # Add our relevant globals. +diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py +index 8150e72..001c497 100644 +--- a/python/mozbuild/mozpack/files.py ++++ b/python/mozbuild/mozpack/files.py +@@ -574,7 +574,7 @@ class PreprocessedFile(BaseFile): + pp = Preprocessor(defines=self.defines, marker=self.marker) + pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings) + +- with _open(self.path, "rU") as input: ++ with _open(self.path, "r") as input: + with _open(os.devnull, "w") as output: + pp.processFile(input=input, output=output) + +@@ -631,7 +631,7 @@ class PreprocessedFile(BaseFile): + pp = Preprocessor(defines=self.defines, marker=self.marker) + pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings) + +- with _open(self.path, "rU") as input: ++ with _open(self.path, "r") as input: + pp.processFile(input=input, output=dest, depfile=deps_out) + + dest.close() +-- +2.36.1 + diff --git a/mozjs91.spec b/mozjs91.spec index 08d0809..1e1f260 100644 --- a/mozjs91.spec +++ b/mozjs91.spec @@ -19,7 +19,7 @@ Name: mozjs%{major} Version: 91.11.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: SpiderMonkey JavaScript library License: MPLv2.0 and MPLv1.1 and BSD and GPLv2+ and GPLv3+ and LGPLv2+ and AFL and ASL 2.0 @@ -43,9 +43,10 @@ Patch13: tests-Use-native-TemporaryDirectory.patch # Build fixes Patch14: init_patch.patch Patch15: remove-sloppy-m4-detection-from-bundled-autoconf.patch +Patch16: 0001-Python-Build-Use-r-instead-of-rU-file-read-modes.patch # TODO: Check with mozilla for cause of these fails and re-enable spidermonkey compile time checks if needed -Patch16: spidermonkey_checks_disable.patch +Patch17: spidermonkey_checks_disable.patch # s390x/ppc64 fixes Patch19: 0001-Skip-failing-tests-on-ppc64-and-s390x.patch @@ -99,6 +100,7 @@ pushd ../.. %patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 # Fixes for ppc64 and s390x, there is no need to keep it in ifarch here since mozilla tests support ifarch conditions %patch19 -p1 @@ -244,6 +246,9 @@ ln -s libmozjs-%{major}.so.0 %{buildroot}%{_libdir}/libmozjs-%{major}.so %{_includedir}/mozjs-%{major}/ %changelog +* Mon Jun 27 2022 Frantisek Zatloukal - 91.11.0-2 +- Fixup Python 3.11 build + * Mon Jun 27 2022 Frantisek Zatloukal - 91.11.0-1 - mozjs91-91.11.0