From b42ca1c3dac3addc922fa170ec45ee5a31c173a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= Date: Sun, 12 Feb 2023 13:15:21 +0700 Subject: [PATCH] mozjs78: rebuild for remove libssp --- srcpkgs/mozjs78/patches/python-3.11.patch | 131 ++++++++++++++++++++++ srcpkgs/mozjs78/template | 6 +- 2 files changed, 134 insertions(+), 3 deletions(-) create mode 100644 srcpkgs/mozjs78/patches/python-3.11.patch diff --git a/srcpkgs/mozjs78/patches/python-3.11.patch b/srcpkgs/mozjs78/patches/python-3.11.patch new file mode 100644 index 00000000000..a44761f8b62 --- /dev/null +++ b/srcpkgs/mozjs78/patches/python-3.11.patch @@ -0,0 +1,131 @@ +From 964834abba3b093385409f1d594835ad94362def Mon Sep 17 00:00:00 2001 +From: ahochheiden +Date: Thu, 2 Jun 2022 06:27:44 +0000 +Subject: [PATCH] Bug 1769631 - Remove 'U' from 'mode' parameters for various + 'open' calls to ensure Python3.11 compatibility + r=firefox-build-system-reviewers,glandium + +The 'U' flag represents "universal newline". It has been deprecated +since Python3.3. Since then "universal newline" is the default when a +file is opened in text mode (not bytes). In Python3.11 using the 'U' +flag throws errors. There should be no harm in removing 'U' from 'open' +everywhere it is used, and doing allows the use of Python3.11. + +For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api + +Differential Revision: https://phabricator.services.mozilla.com/D147721 +--- + dom/base/usecounters.py | 2 +- + 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 | 2 +- + python/mozbuild/mozpack/files.py | 4 ++-- + 6 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/dom/base/usecounters.py b/dom/base/usecounters.py +index 780e3b32b2131..7e2c7148ece55 100644 +--- a/dom/base/usecounters.py ++++ b/dom/base/usecounters.py +@@ -8,7 +8,7 @@ + + def read_conf(conf_filename): + # Can't read/write from a single StringIO, so make a new one for reading. +- stream = open(conf_filename, 'rU') ++ stream = open(conf_filename, 'r') + + def parse_counters(stream): + for line_num, line in enumerate(stream): +diff --git a/python/mozbuild/mozbuild/action/process_define_files.py b/python/mozbuild/mozbuild/action/process_define_files.py +index f1d401ac26006..aca59d0f05177 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): + 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) + for l in input: + m = r.match(l) + +diff --git a/python/mozbuild/mozbuild/backend/base.py b/python/mozbuild/mozbuild/backend/base.py +index 7bc1986d863b5..b64a70946863d 100644 +--- a/python/mozbuild/mozbuild/backend/base.py ++++ b/python/mozbuild/mozbuild/backend/base.py +@@ -272,7 +272,7 @@ def post_build(self, config, output, jobs, verbose, status): + 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 f7820b9c91473..857f1a6c9bfd1 100644 +--- a/python/mozbuild/mozbuild/preprocessor.py ++++ b/python/mozbuild/mozbuild/preprocessor.py +@@ -531,7 +531,7 @@ def get_output_file(path, encoding=None): + + 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 @@ def do_include(self, args, filters=True): + 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 @@ def do_error(self, args): + 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 b09f1646988f0..4f1e0cdc5f568 100644 +--- a/python/mozbuild/mozbuild/util.py ++++ b/python/mozbuild/mozbuild/util.py +@@ -236,7 +236,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 +diff --git a/python/mozbuild/mozpack/files.py b/python/mozbuild/mozpack/files.py +index 1d8a1ed2d8a7e..a295a67b5a34f 100644 +--- a/python/mozbuild/mozpack/files.py ++++ b/python/mozbuild/mozpack/files.py +@@ -554,7 +554,7 @@ def inputs(self): + 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) + +@@ -611,7 +611,7 @@ def copy(self, dest, skip_if_older=True): + 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() diff --git a/srcpkgs/mozjs78/template b/srcpkgs/mozjs78/template index 3260ea0dae1..6b96fdaadb7 100644 --- a/srcpkgs/mozjs78/template +++ b/srcpkgs/mozjs78/template @@ -1,12 +1,12 @@ # Template file for 'mozjs78' pkgname=mozjs78 version=78.9.0 -revision=5 +revision=6 build_wrksrc=js/src build_style=gnu-configure build_helper=rust hostmakedepends="perl python pkg-config automake autoconf213 autoconf-archive - cargo rust llvm clang which python3" + cargo rust llvm clang which python3 awk" makedepends="icu-devel libffi-devel nspr-devel python-devel readline-devel zlib-devel python3-devel rust-std" depends="nspr>=4.19" @@ -44,7 +44,7 @@ do_configure() { _args+=" --target=${XBPS_TRIPLET}" fi - autoconf-2.13 old-configure.in > old-configure + AWK=awk autoconf-2.13 old-configure.in > old-configure touch ${wrksrc}/js/src/configure touch ${wrksrc}/js/src/old-configure