From 42d221db4971342edd7ebe75152be53741bb0a7b Mon Sep 17 00:00:00 2001 From: ohfp <1813007-ohfp@users.noreply.gitlab.com> Date: Wed, 30 Sep 2020 14:04:18 +0200 Subject: [PATCH 1/6] v81.0-2 --- PKGBUILD | 33 +- .../scripts/1_Install_Dependencies.sh | 4 +- .../scripts/3_Configure_Source_Code.sh | 22 +- .../scripts/4_Build_Binary_Tarball.sh | 1 + deb_patches/fix-armhf-webrtc-build.patch | 4 +- deb_patches/python3-remove-fstrings.patch | 392 ++++++++++++++++++ deb_patches/python3-remove-pep487.patch | 23 + .../python3-remove-variable-annotations.patch | 94 +++++ megabar.patch | 2 +- remove_addons.patch | 6 +- 10 files changed, 557 insertions(+), 24 deletions(-) create mode 100644 deb_patches/python3-remove-fstrings.patch create mode 100644 deb_patches/python3-remove-pep487.patch diff --git a/PKGBUILD b/PKGBUILD index f7a21d2..5681828 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -6,8 +6,8 @@ pkgname=librewolf _pkgname=LibreWolf # how to get ci vars instead? -pkgver=80.0.1 -pkgrel=1 +pkgver=81.0 +pkgrel=2 pkgdesc="Community-maintained fork of Firefox, focused on privacy, security and freedom." arch=(x86_64 aarch64) license=(MPL GPL LGPL) @@ -15,21 +15,26 @@ url="https://librewolf-community.gitlab.io/" depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss ttf-font libpulse) makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb autoconf2.13 rust clang llvm jack gtk2 nodejs cbindgen nasm - python-setuptools python-psutil git binutils lld) + python-setuptools python-psutil python-zstandard git binutils lld) optdepends=('networkmanager: Location detection via available WiFi networks' 'libnotify: Notification integration' 'pulseaudio: Audio support' 'speech-dispatcher: Text-to-Speech' 'hunspell-en_US: Spell checking, American English') options=(!emptydirs !makeflags !strip) +_arch_svn=https://git.archlinux.org/svntogit/packages.git/plain/trunk source_x86_64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz $pkgname.desktop + "0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch::${_arch_svn}/0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch?h=packages/firefox" + "0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch::${_arch_svn}/0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch?h=packages/firefox" "git+https://gitlab.com/${pkgname}-community/browser/common.git" "git+https://gitlab.com/${pkgname}-community/settings.git" "megabar.patch" "remove_addons.patch") source_aarch64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz $pkgname.desktop + "0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch::${_arch_svn}/0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch?h=packages/firefox" + "0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch::${_arch_svn}/0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch?h=packages/firefox" "git+https://gitlab.com/${pkgname}-community/browser/common.git" "git+https://gitlab.com/${pkgname}-community/settings.git" "megabar.patch" @@ -37,18 +42,22 @@ source_aarch64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/ arm.patch https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch) -sha256sums_x86_64=('596b085e32a2d683ba960e161ea65c6271f90f576d4bf956e0d48e83af992c21' +sha256sums_x86_64=('9328745012178aee5a4f47c833539f7872cc6e0f20a853568a313e60cabd1ec8' '0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2' + 'c2489a4ad3bfb65c064e07180a1de9a2fbc3b1b72d6bc4cd3985484d1b6b7b29' + '52cc26cda4117f79fae1a0ad59e1404b299191a1c53d38027ceb178dab91f3dc' 'SKIP' 'SKIP' - '2bef819c55935f6c72a7aa28273ecddfce0888429a32465feb6c34a16ff1ed9c' - 'd191e65a0ce3eeba0a3171c143fc93e3ded6c29eb751b90d58a7d3bf1983aca6') -sha256sums_aarch64=('596b085e32a2d683ba960e161ea65c6271f90f576d4bf956e0d48e83af992c21' + '682bf4bf5d79db0080aa132235a95b25745c8ef944d2a2e1fed985489d894df5' + '41719289b309912c4b6bc86b41594f671427979481a90c32a9d3d0bf1cdd6d44') +sha256sums_aarch64=('9328745012178aee5a4f47c833539f7872cc6e0f20a853568a313e60cabd1ec8' '0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2' + 'c2489a4ad3bfb65c064e07180a1de9a2fbc3b1b72d6bc4cd3985484d1b6b7b29' + '52cc26cda4117f79fae1a0ad59e1404b299191a1c53d38027ceb178dab91f3dc' 'SKIP' 'SKIP' - '2bef819c55935f6c72a7aa28273ecddfce0888429a32465feb6c34a16ff1ed9c' - 'd191e65a0ce3eeba0a3171c143fc93e3ded6c29eb751b90d58a7d3bf1983aca6' + '682bf4bf5d79db0080aa132235a95b25745c8ef944d2a2e1fed985489d894df5' + '41719289b309912c4b6bc86b41594f671427979481a90c32a9d3d0bf1cdd6d44' '6ca87d2ac7dc48e6f595ca49ac8151936afced30d268a831c6a064b52037f6b7' '2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9') @@ -56,6 +65,11 @@ prepare() { mkdir mozbuild cd firefox-$pkgver + # https://bugs.archlinux.org/task/67978 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1660901 + patch -Np1 -i ../0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch + patch -Np1 -i ../0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch + cat >../mozconfig < + +--- a/third_party/python/glean_parser/glean_parser/lint.py ++++ b/third_party/python/glean_parser/glean_parser/lint.py +@@ -42,10 +42,10 @@ def _english_list(items: List[str]) -> s + if len(items) == 0: + return "" + elif len(items) == 1: +- return f"'{items[0]}'" ++ return "'{}'".format(items[0]) + else: + return "{}, or '{}'".format( +- ", ".join([f"'{x}'" for x in items[:-1]]), items[-1] ++ ", ".join(["'{}'".format(x) for x in items[:-1]]), items[-1] + ) + + +@@ -88,10 +88,11 @@ def check_common_prefix( + if i > 0: + common_prefix = "_".join(first[:i]) + yield ( +- f"Within category '{category_name}', all metrics begin with " +- f"prefix '{common_prefix}'." ++ "Within category '{}', all metrics begin with " ++ "prefix '{}'." + "Remove the prefixes on the metric names and (possibly) " + "rename the category." ++ .format(category_name, common_prefix) + ) + + +@@ -131,17 +132,19 @@ def check_unit_in_name( + or unit_in_name == time_unit.name + ): + yield ( +- f"Suffix '{unit_in_name}' is redundant with time_unit " +- f"'{time_unit.name}'. Only include time_unit." ++ "Suffix '{}' is redundant with time_unit " ++ "'{}'. Only include time_unit." ++ .format(unit_in_name, time_unit.name) + ) + elif ( + unit_in_name in TIME_UNIT_ABBREV.keys() + or unit_in_name in TIME_UNIT_ABBREV.values() + ): + yield ( +- f"Suffix '{unit_in_name}' doesn't match time_unit " +- f"'{time_unit.name}'. " ++ "Suffix '{}' doesn't match time_unit " ++ "'{}'. " + "Confirm the unit is correct and only include time_unit." ++ .format(unit_in_name, time_unit.name) + ) + + elif memory_unit is not None: +@@ -150,26 +153,29 @@ def check_unit_in_name( + or unit_in_name == memory_unit.name + ): + yield ( +- f"Suffix '{unit_in_name}' is redundant with memory_unit " +- f"'{memory_unit.name}'. " ++ "Suffix '{}' is redundant with memory_unit " ++ "'{}'. " + "Only include memory_unit." ++ .format(unit_in_name, memory_unit.name) + ) + elif ( + unit_in_name in MEMORY_UNIT_ABBREV.keys() + or unit_in_name in MEMORY_UNIT_ABBREV.values() + ): + yield ( +- f"Suffix '{unit_in_name}' doesn't match memory_unit " +- f"{memory_unit.name}'. " ++ "Suffix '{}' doesn't match memory_unit " ++ "{}'. " + "Confirm the unit is correct and only include memory_unit." ++ .format(unit_in_name, memory_unit.name) + ) + + elif unit is not None: + if unit_in_name == unit: + yield ( +- f"Suffix '{unit_in_name}' is redundant with unit param " +- f"'{unit}'. " ++ "Suffix '{}' is redundant with unit param " ++ "'{}'. " + "Only include unit." ++ .format(unit_in_name, unit) + ) + + +@@ -183,8 +189,9 @@ def check_category_generic( + + if category_name in GENERIC_CATEGORIES: + yield ( +- f"Category '{category_name}' is too generic. " +- f"Don't use {_english_list(GENERIC_CATEGORIES)} for category names" ++ "Category '{}' is too generic. " ++ "Don't use {} for category names" ++ .format(category_name, _english_list(GENERIC_CATEGORIES)) + ) + + +@@ -195,9 +202,10 @@ def check_bug_number( + + if len(number_bugs): + yield ( +- f"For bugs {', '.join(number_bugs)}: " ++ "For bugs {}: " + "Bug numbers are deprecated and should be changed to full URLs. " + "For example, use 'http://bugzilla.mozilla.org/12345' instead of '12345'." ++ .format(', '.join(number_bugs)) + ) + + +@@ -220,7 +228,7 @@ def check_misspelled_pings( + for builtin in pings.RESERVED_PING_NAMES: + distance = _hamming_distance(ping, builtin) + if distance == 1: +- yield f"Ping '{ping}' seems misspelled. Did you mean '{builtin}'?" ++ yield "Ping '{}' seems misspelled. Did you mean '{}'?".format(ping, builtin) + + + def check_user_lifetime_expiration( +@@ -263,8 +271,9 @@ class GlinterNit: + + def format(self): + return ( +- f"{self.check_type.name.upper()}: {self.check_name}: " +- f"{self.name}: {self.msg}" ++ "{}: {}: " ++ "{}: {}" ++ .format(self.check_type.name.upper(), self.check_name, self.name, self.msg) + ) + + +@@ -324,8 +333,9 @@ def lint_metrics( + "SUPERFLUOUS_NO_LINT", + ".".join([metric.category, metric.name]), + ( +- f"Superfluous no_lint entry '{check_name}'. " ++ "Superfluous no_lint entry '{}'. " + "Please remove it." ++ .format(check_name) + ), + CheckType.warning, + ) +@@ -372,7 +382,7 @@ def lint_yaml_files(input_filepaths: Ite + if len(nits): + print("Sorry, Glean found some glinter nits:", file=file) + for (path, p) in nits: +- print(f"{path} ({p.line}:{p.column}) - {p.message}") ++ print("{} ({}:{}) - {}".format(path, p.line, p.column, p.message)) + print("", file=file) + print("Please fix the above nits to continue.", file=file) + +--- a/third_party/python/glean_parser/glean_parser/markdown.py ++++ b/third_party/python/glean_parser/glean_parser/markdown.py +@@ -70,7 +70,7 @@ def metrics_docs(obj_name: str) -> str: + if obj_name.startswith("labeled_"): + fixedup_name += "s" + +- return f"https://mozilla.github.io/glean/book/user/metrics/{fixedup_name}.html" ++ return "https://mozilla.github.io/glean/book/user/metrics/{}.html".format(fixedup_name) + + + def ping_docs(ping_name: str) -> str: +@@ -81,7 +81,7 @@ def ping_docs(ping_name: str) -> str: + if ping_name not in pings.RESERVED_PING_NAMES: + return "" + +- return f"https://mozilla.github.io/glean/book/user/pings/{ping_name}.html" ++ return "https://mozilla.github.io/glean/book/user/pings/{}.html".format(ping_name) + + + def if_empty(ping_name: str, custom_pings_cache: Dict[str, pings.Ping] = {}) -> bool: +--- a/third_party/python/glean_parser/glean_parser/parser.py ++++ b/third_party/python/glean_parser/glean_parser/parser.py +@@ -46,7 +46,8 @@ def _update_validator(validator): + if len(missing_properties): + missing_properties = sorted(list(missing_properties)) + yield ValidationError( +- f"Missing required properties: {', '.join(missing_properties)}" ++ "Missing required properties: {}" ++ .format(', '.join(missing_properties)) + ) + + validator.VALIDATORS["required"] = required +@@ -65,7 +66,7 @@ def _load_file( + return {}, None + + if content is None: +- yield util.format_error(filepath, "", f"'{filepath}' file can not be empty.") ++ yield util.format_error(filepath, "", "'{}' file can not be empty.".format(filepath)) + return {}, None + + if not isinstance(content, dict): +@@ -76,7 +77,7 @@ def _load_file( + + schema_key = content.get("$schema") + if not isinstance(schema_key, str): +- raise TypeError(f"Invalid schema key {schema_key}") ++ raise TypeError("Invalid schema key {}".format(schema_key)) + + filetype = FILE_TYPES.get(schema_key) + +@@ -115,7 +116,7 @@ def _get_schema( + if schema_id not in schemas: + raise ValueError( + util.format_error( +- filepath, "", f"$schema key must be one of {', '.join(schemas.keys())}", ++ filepath, "", "$schema key must be one of {}".format(', '.join(schemas.keys())), + ) + ) + return schemas[schema_id] +@@ -187,7 +188,7 @@ def _instantiate_metrics( + if not config.get("allow_reserved") and category_key.split(".")[0] == "glean": + yield util.format_error( + filepath, +- f"For category '{category_key}'", ++ "For category '{}'".format(category_key), + "Categories beginning with 'glean' are reserved for " + "Glean internal use.", + ) +@@ -195,7 +196,7 @@ def _instantiate_metrics( + all_objects.setdefault(category_key, OrderedDict()) + + if not isinstance(category_val, dict): +- raise TypeError(f"Invalid content for {category_key}") ++ raise TypeError("Invalid content for {}".format(category_key)) + + for metric_key, metric_val in category_val.items(): + try: +@@ -204,7 +205,7 @@ def _instantiate_metrics( + ) + except Exception as e: + yield util.format_error( +- filepath, f"On instance {category_key}.{metric_key}", str(e), ++ filepath, "On instance {}.{}".format(category_key, metric_key), str(e), + ) + metric_obj = None + else: +@@ -214,7 +215,7 @@ def _instantiate_metrics( + ): + yield util.format_error( + filepath, +- f"On instance {category_key}.{metric_key}", ++ "On instance {}.{}".format(category_key, metric_key), + 'Only internal metrics may specify "all-pings" ' + 'in "send_in_pings"', + ) +@@ -230,8 +231,9 @@ def _instantiate_metrics( + filepath, + "", + ( +- f"Duplicate metric name '{category_key}.{metric_key}' " +- f"already defined in '{already_seen}'" ++ "Duplicate metric name '{}.{}' " ++ "already defined in '{}'" ++ .format(category_key, metric_key, already_seen) + ), + ) + else: +@@ -257,17 +259,17 @@ def _instantiate_pings( + if ping_key in RESERVED_PING_NAMES: + yield util.format_error( + filepath, +- f"For ping '{ping_key}'", +- f"Ping uses a reserved name ({RESERVED_PING_NAMES})", ++ "For ping '{}'".format(ping_key), ++ "Ping uses a reserved name ({})".format(RESERVED_PING_NAMES), + ) + continue + if not isinstance(ping_val, dict): +- raise TypeError(f"Invalid content for ping {ping_key}") ++ raise TypeError("Invalid content for ping {}".format(ping_key)) + ping_val["name"] = ping_key + try: + ping_obj = Ping(**ping_val) + except Exception as e: +- yield util.format_error(filepath, f"On instance '{ping_key}'", str(e)) ++ yield util.format_error(filepath, "On instance '{}'".format(ping_key), str(e)) + continue + + already_seen = sources.get(ping_key) +@@ -276,8 +278,9 @@ def _instantiate_pings( + yield util.format_error( + filepath, + "", +- f"Duplicate ping name '{ping_key}' " +- f"already defined in '{already_seen}'", ++ "Duplicate ping name '{}' " ++ "already defined in '{}'" ++ .format(ping_key, already_seen), + ) + else: + all_objects.setdefault("pings", {})[ping_key] = ping_obj +--- a/third_party/python/glean_parser/glean_parser/util.py ++++ b/third_party/python/glean_parser/glean_parser/util.py +@@ -132,7 +132,7 @@ def load_yaml_or_json(path: Path, ordere + else: + return yaml.load(fd, Loader=_NoDatesSafeLoader) + else: +- raise ValueError(f"Unknown file extension {path.suffix}") ++ raise ValueError("Unknown file extension {}".format(path.suffix)) + + + def ensure_list(value: Any) -> Sequence[Any]: +@@ -331,9 +331,9 @@ def format_error(filepath: Union[str, Pa + else: + filepath = "" + if header: +- return f"{filepath}: {header}\n{_utils.indent(content)}" ++ return "{}: {}\n{}".format(filepath, header, _utils.indent(content)) + else: +- return f"{filepath}:\n{_utils.indent(content)}" ++ return "{}:\n{}".format(filepath, _utils.indent(content)) + + + def is_expired(expires: str) -> bool: +@@ -353,8 +353,8 @@ def is_expired(expires: str) -> bool: + date = datetime.date.fromisoformat(expires) + except ValueError: + raise ValueError( +- f"Invalid expiration date '{expires}'. " +- "Must be of the form yyyy-mm-dd in UTC." ++ "Invalid expiration date '{}'. " ++ "Must be of the form yyyy-mm-dd in UTC.".format(expires) + ) + return date <= datetime.datetime.utcnow().date() + +--- a/third_party/python/glean_parser/tools/extract_data_categories.py ++++ b/third_party/python/glean_parser/tools/extract_data_categories.py +@@ -62,7 +62,7 @@ def fetch_url(url: str) -> str: + if content is not None: + return content + +- print(f"Fetching {url}") ++ print("Fetching {}".format(url)) + content = urlopen(url).read() + cache[url] = content + time.sleep(0.5) +@@ -97,7 +97,7 @@ def categories_as_strings(categories: Se + """ + if len(categories): + return [ +- CATEGORY_MAP.get(x, f"!!!UNKNOWN CATEGORY {x}") ++ CATEGORY_MAP.get(x, "!!!UNKNOWN CATEGORY {}".format(x)) + for x in sorted(list(categories)) + ] + else: +@@ -119,24 +119,24 @@ def update_lines( + + for line in lines_iter: + output.append(line) +- if line.startswith(f"{category_name}:"): ++ if line.startswith("{}:".format(category_name)): + break + + for line in lines_iter: + output.append(line) +- if line.startswith(f" {metric_name}:"): ++ if line.startswith(" {}:".format(metric_name)): + break + + for line in lines_iter: + output.append(line) +- if line.startswith(f" data_reviews:"): ++ if line.startswith(" data_reviews:"): + break + + for line in lines_iter: + if not line.strip().startswith("- "): + output.append(" data_sensitivity:\n") + for data_sensitivity in data_sensitivity_values: +- output.append(f" - {data_sensitivity}\n") ++ output.append(" - {}\n".format(data_sensitivity)) + output.append(line) + break + else: +--- a/third_party/python/glean_parser/glean_parser/metrics.py ++++ b/third_party/python/glean_parser/glean_parser/metrics.py +@@ -133,7 +133,7 @@ class Metric: + """ + metric_type = metric_info["type"] + if not isinstance(metric_type, str): +- raise TypeError(f"Unknown metric type {metric_type}") ++ raise TypeError("Unknown metric type {}".format(metric_type)) + return cls.metric_types[metric_type]( + category=category, + name=name, diff --git a/deb_patches/python3-remove-pep487.patch b/deb_patches/python3-remove-pep487.patch new file mode 100644 index 0000000..996681d --- /dev/null +++ b/deb_patches/python3-remove-pep487.patch @@ -0,0 +1,23 @@ +Description: revert a change that requires Python 3.6 (https://docs.python.org/3/whatsnew/3.6.html#whatsnew36-pep487) +Author: Olivier Tilloy + +--- a/third_party/python/glean_parser/glean_parser/metrics.py ++++ b/third_party/python/glean_parser/glean_parser/metrics.py +@@ -15,6 +15,8 @@ from typing import Any, Dict, List, Opti + from . import pings + from . import util + ++import pep487 ++ + + # Important: if the values are ever changing here, make sure + # to also fix mozilla/glean. Otherwise language bindings may +@@ -32,7 +34,7 @@ class DataSensitivity(enum.Enum): + highly_sensitive = 4 + + +-class Metric: ++class Metric(pep487.PEP487Object): + typename = "ERROR" + glean_internal_metric_cat = "glean.internal.metrics" + metric_types = {} diff --git a/deb_patches/python3-remove-variable-annotations.patch b/deb_patches/python3-remove-variable-annotations.patch index 308a298..2ffd7ed 100644 --- a/deb_patches/python3-remove-variable-annotations.patch +++ b/deb_patches/python3-remove-variable-annotations.patch @@ -52,3 +52,97 @@ Author: Olivier Tilloy def __init__(self): self.root_node = Node(None, is_root_node=True) self.end_node = Node(None, is_end_node=True) +--- a/third_party/python/glean_parser/glean_parser/lint.py ++++ b/third_party/python/glean_parser/glean_parser/lint.py +@@ -237,9 +237,7 @@ def check_user_lifetime_expiration( + + # The checks that operate on an entire category of metrics: + # {NAME: (function, is_error)} +-CATEGORY_CHECKS: Dict[ +- str, Tuple[Callable[[str, Iterable[metrics.Metric]], LintGenerator], CheckType] +-] = { ++CATEGORY_CHECKS = { + "COMMON_PREFIX": (check_common_prefix, CheckType.error), + "CATEGORY_GENERIC": (check_category_generic, CheckType.error), + } +@@ -247,9 +245,7 @@ CATEGORY_CHECKS: Dict[ + + # The checks that operate on individual metrics: + # {NAME: (function, is_error)} +-INDIVIDUAL_CHECKS: Dict[ +- str, Tuple[Callable[[metrics.Metric, dict], LintGenerator], CheckType] +-] = { ++INDIVIDUAL_CHECKS = { + "UNIT_IN_NAME": (check_unit_in_name, CheckType.error), + "BUG_NUMBER": (check_bug_number, CheckType.error), + "BASELINE_PING": (check_valid_in_baseline, CheckType.error), +@@ -282,7 +278,7 @@ def lint_metrics( + :param file: The stream to write errors to. + :returns: List of nits. + """ +- nits: List[GlinterNit] = [] ++ nits = [] + for (category_name, category) in sorted(list(objs.items())): + if category_name == "pings": + continue +@@ -363,7 +359,7 @@ def lint_yaml_files(input_filepaths: Ite + + # Generic type since the actual type comes from yamllint, which we don't + # control. +- nits: List = [] ++ nits = [] + for path in input_filepaths: + # yamllint needs both the file content and the path. + file_content = None +--- a/third_party/python/glean_parser/glean_parser/metrics.py ++++ b/third_party/python/glean_parser/glean_parser/metrics.py +@@ -33,10 +33,10 @@ class DataSensitivity(enum.Enum): + + + class Metric: +- typename: str = "ERROR" +- glean_internal_metric_cat: str = "glean.internal.metrics" +- metric_types: Dict[str, Any] = {} +- default_store_names: List[str] = ["metrics"] ++ typename = "ERROR" ++ glean_internal_metric_cat = "glean.internal.metrics" ++ metric_types = {} ++ default_store_names = ["metrics"] + + def __init__( + self, +--- a/third_party/python/glean_parser/glean_parser/pings.py ++++ b/third_party/python/glean_parser/glean_parser/pings.py +@@ -49,7 +49,7 @@ class Ping: + # _validated indicates whether this metric has already been jsonschema + # validated (but not any of the Python-level validation). + if not _validated: +- data: Dict[str, util.JSONType] = { ++ data = { + "$schema": parser.PINGS_ID, + self.name: self.serialize(), + } +--- a/third_party/python/glean_parser/glean_parser/util.py ++++ b/third_party/python/glean_parser/glean_parser/util.py +@@ -269,7 +269,7 @@ def fetch_remote_url(url: str, cache: bo + if key in dc: + return dc[key] + +- contents: str = urllib.request.urlopen(url).read() ++ contents = urllib.request.urlopen(url).read() + + if cache: + with diskcache.Cache(cache_dir) as dc: +--- a/third_party/python/glean_parser/glean_parser/parser.py ++++ b/third_party/python/glean_parser/glean_parser/parser.py +@@ -339,8 +339,8 @@ def parse_objects( + value from the `metrics.yaml`, rather than having it overridden when + the metric expires. + """ +- all_objects: ObjectTree = OrderedDict() +- sources: Dict[Any, Path] = {} ++ all_objects = OrderedDict() ++ sources = {} + filepaths = util.ensure_list(filepaths) + for filepath in filepaths: + content, filetype = yield from _load_file(filepath) diff --git a/megabar.patch b/megabar.patch index 7929773..1ba5cb8 100644 --- a/megabar.patch +++ b/megabar.patch @@ -83,7 +83,7 @@ index 6b8cac0..54648c6 100644 @@ -48,8 +48,8 @@ display: block; text-shadow: none; - overflow: -moz-hidden-unscrollable; + overflow: clip; - margin-inline: @urlbarViewMarginInline@; - width: calc(100% - 2 * @urlbarViewMarginInline@); + margin-inline: 0; diff --git a/remove_addons.patch b/remove_addons.patch index e909931..a5b8781 100644 --- a/remove_addons.patch +++ b/remove_addons.patch @@ -61,14 +61,10 @@ diff --git a/browser/locales/l10n.toml b/browser/locales/l10n.toml index 0b53c52..f8b605d 100644 --- a/browser/locales/l10n.toml +++ b/browser/locales/l10n.toml -@@ -129,14 +129,6 @@ locales = [ +@@ -133,10 +133,6 @@ locales = [ reference = "browser/extensions/fxmonitor/locales/en-US/**" l10n = "{l}browser/extensions/fxmonitor/**" --[[paths]] -- reference = "browser/extensions/webcompat-reporter/locales/en-US/**" -- l10n = "{l}browser/extensions/webcompat-reporter/**" -- -[[paths]] - reference = "browser/extensions/report-site-issue/locales/en-US/**" - l10n = "{l}browser/extensions/report-site-issue/**" From c66b73fe3bd50800cffbca089943b0452d7dbb19 Mon Sep 17 00:00:00 2001 From: ohfp <1813007-ohfp@users.noreply.gitlab.com> Date: Fri, 2 Oct 2020 20:34:52 +0200 Subject: [PATCH 2/6] =?UTF-8?q?v81.0-2=20=E2=80=93=20Changelog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 057a004..a470380 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). This project follows the official Firefox releases, but also uses [Arch Linux Package Versioning](https://wiki.archlinux.org/index.php/Arch_package_guidelines#Package_versioning) to mark individual releases in between versions. +## [81.0-2] - 2020-10-02 + +### Changed + +- New upstream release 81.0 +- New upstream release of included uBlock Origin (1.30.0) + ## [80.0.1-1] - 2020-09-06 ### Changed From 74e5882618b741e6c9ff6f7c371588d8cdd5b4da Mon Sep 17 00:00:00 2001 From: ohfp <1813007-ohfp@users.noreply.gitlab.com> Date: Sun, 18 Oct 2020 16:28:51 +0200 Subject: [PATCH 3/6] v81.0.2-1 --- CHANGELOG.md | 7 +++++++ PKGBUILD | 15 +++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a470380..0bb3fd8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). This project follows the official Firefox releases, but also uses [Arch Linux Package Versioning](https://wiki.archlinux.org/index.php/Arch_package_guidelines#Package_versioning) to mark individual releases in between versions. +## [81.0.2-1] - 2020-10-18 + +### Changed + +- New upstream release 81.0.2 +- New upstream release of included uBlock Origin (1.30.4) + ## [81.0-2] - 2020-10-02 ### Changed diff --git a/PKGBUILD b/PKGBUILD index 5681828..3adc03c 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -6,8 +6,8 @@ pkgname=librewolf _pkgname=LibreWolf # how to get ci vars instead? -pkgver=81.0 -pkgrel=2 +pkgver=81.0.2 +pkgrel=1 pkgdesc="Community-maintained fork of Firefox, focused on privacy, security and freedom." arch=(x86_64 aarch64) license=(MPL GPL LGPL) @@ -27,6 +27,7 @@ source_x86_64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/f $pkgname.desktop "0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch::${_arch_svn}/0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch?h=packages/firefox" "0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch::${_arch_svn}/0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch?h=packages/firefox" + "0004-Bug-1663715-Update-syn-and-proc-macro2-so-that-Firef.patch::${_arch_svn}/0004-Bug-1663715-Update-syn-and-proc-macro2-so-that-Firef.patch?h=packages/firefox" "git+https://gitlab.com/${pkgname}-community/browser/common.git" "git+https://gitlab.com/${pkgname}-community/settings.git" "megabar.patch" @@ -35,6 +36,7 @@ source_aarch64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/ $pkgname.desktop "0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch::${_arch_svn}/0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch?h=packages/firefox" "0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch::${_arch_svn}/0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch?h=packages/firefox" + "0004-Bug-1663715-Update-syn-and-proc-macro2-so-that-Firef.patch::${_arch_svn}/0004-Bug-1663715-Update-syn-and-proc-macro2-so-that-Firef.patch?h=packages/firefox" "git+https://gitlab.com/${pkgname}-community/browser/common.git" "git+https://gitlab.com/${pkgname}-community/settings.git" "megabar.patch" @@ -42,18 +44,20 @@ source_aarch64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/ arm.patch https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch) -sha256sums_x86_64=('9328745012178aee5a4f47c833539f7872cc6e0f20a853568a313e60cabd1ec8' +sha256sums_x86_64=('91b6482de9b193b19d1fd9a8b99015a001646a48429297bbb7fe41784f9f9b44' '0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2' 'c2489a4ad3bfb65c064e07180a1de9a2fbc3b1b72d6bc4cd3985484d1b6b7b29' '52cc26cda4117f79fae1a0ad59e1404b299191a1c53d38027ceb178dab91f3dc' + '2ffa37306bf8e5d79e074e612f88b6f3f671c45215724f84dd85cbea8b91e6bd' 'SKIP' 'SKIP' '682bf4bf5d79db0080aa132235a95b25745c8ef944d2a2e1fed985489d894df5' '41719289b309912c4b6bc86b41594f671427979481a90c32a9d3d0bf1cdd6d44') -sha256sums_aarch64=('9328745012178aee5a4f47c833539f7872cc6e0f20a853568a313e60cabd1ec8' +sha256sums_aarch64=('91b6482de9b193b19d1fd9a8b99015a001646a48429297bbb7fe41784f9f9b44' '0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2' 'c2489a4ad3bfb65c064e07180a1de9a2fbc3b1b72d6bc4cd3985484d1b6b7b29' '52cc26cda4117f79fae1a0ad59e1404b299191a1c53d38027ceb178dab91f3dc' + '2ffa37306bf8e5d79e074e612f88b6f3f671c45215724f84dd85cbea8b91e6bd' 'SKIP' 'SKIP' '682bf4bf5d79db0080aa132235a95b25745c8ef944d2a2e1fed985489d894df5' @@ -70,6 +74,9 @@ prepare() { patch -Np1 -i ../0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch patch -Np1 -i ../0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch + # https://bugzilla.mozilla.org/show_bug.cgi?id=1663715 + patch -Np1 -i ../0004-Bug-1663715-Update-syn-and-proc-macro2-so-that-Firef.patch + cat >../mozconfig < Date: Thu, 29 Oct 2020 02:18:46 +0100 Subject: [PATCH 4/6] v82.0.2-1 --- CHANGELOG.md | 7 ++++ PKGBUILD | 27 +++------------ .../scripts/3_Configure_Source_Code.sh | 11 +----- .../scripts/4_Build_Binary_Tarball.sh | 2 +- .../scripts/5_Configure_Binary_Tarball.sh | 4 +++ deb_patches/lower-python3-requirement.patch | 4 +-- .../silence-gtk-style-assertions.patch | 34 +++++++++++++++++++ 7 files changed, 53 insertions(+), 36 deletions(-) create mode 100644 deb_patches/silence-gtk-style-assertions.patch diff --git a/CHANGELOG.md b/CHANGELOG.md index 0bb3fd8..363c510 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). This project follows the official Firefox releases, but also uses [Arch Linux Package Versioning](https://wiki.archlinux.org/index.php/Arch_package_guidelines#Package_versioning) to mark individual releases in between versions. +## [82.0.2-1] - 2020-10-29 + +### Changed + +- New upstream release 82.0.2 +- New upstream release of included uBlock Origin (1.30.6) + ## [81.0.2-1] - 2020-10-18 ### Changed diff --git a/PKGBUILD b/PKGBUILD index 3adc03c..c6b87aa 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -6,7 +6,7 @@ pkgname=librewolf _pkgname=LibreWolf # how to get ci vars instead? -pkgver=81.0.2 +pkgver=82.0.2 pkgrel=1 pkgdesc="Community-maintained fork of Firefox, focused on privacy, security and freedom." arch=(x86_64 aarch64) @@ -23,20 +23,15 @@ optdepends=('networkmanager: Location detection via available WiFi networks' 'hunspell-en_US: Spell checking, American English') options=(!emptydirs !makeflags !strip) _arch_svn=https://git.archlinux.org/svntogit/packages.git/plain/trunk +_settings_commit=8697f589a1499598b8af5df11d82b60e8c97d981 source_x86_64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz $pkgname.desktop - "0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch::${_arch_svn}/0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch?h=packages/firefox" - "0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch::${_arch_svn}/0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch?h=packages/firefox" - "0004-Bug-1663715-Update-syn-and-proc-macro2-so-that-Firef.patch::${_arch_svn}/0004-Bug-1663715-Update-syn-and-proc-macro2-so-that-Firef.patch?h=packages/firefox" "git+https://gitlab.com/${pkgname}-community/browser/common.git" "git+https://gitlab.com/${pkgname}-community/settings.git" "megabar.patch" "remove_addons.patch") source_aarch64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz $pkgname.desktop - "0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch::${_arch_svn}/0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch?h=packages/firefox" - "0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch::${_arch_svn}/0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch?h=packages/firefox" - "0004-Bug-1663715-Update-syn-and-proc-macro2-so-that-Firef.patch::${_arch_svn}/0004-Bug-1663715-Update-syn-and-proc-macro2-so-that-Firef.patch?h=packages/firefox" "git+https://gitlab.com/${pkgname}-community/browser/common.git" "git+https://gitlab.com/${pkgname}-community/settings.git" "megabar.patch" @@ -44,20 +39,14 @@ source_aarch64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/ arm.patch https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch) -sha256sums_x86_64=('91b6482de9b193b19d1fd9a8b99015a001646a48429297bbb7fe41784f9f9b44' +sha256sums_x86_64=('8851cae2df9923844c3dc97a4f77f6f3c86cc6f298b888b38949fbf74fcf2ca9' '0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2' - 'c2489a4ad3bfb65c064e07180a1de9a2fbc3b1b72d6bc4cd3985484d1b6b7b29' - '52cc26cda4117f79fae1a0ad59e1404b299191a1c53d38027ceb178dab91f3dc' - '2ffa37306bf8e5d79e074e612f88b6f3f671c45215724f84dd85cbea8b91e6bd' 'SKIP' 'SKIP' '682bf4bf5d79db0080aa132235a95b25745c8ef944d2a2e1fed985489d894df5' '41719289b309912c4b6bc86b41594f671427979481a90c32a9d3d0bf1cdd6d44') -sha256sums_aarch64=('91b6482de9b193b19d1fd9a8b99015a001646a48429297bbb7fe41784f9f9b44' +sha256sums_aarch64=('8851cae2df9923844c3dc97a4f77f6f3c86cc6f298b888b38949fbf74fcf2ca9' '0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2' - 'c2489a4ad3bfb65c064e07180a1de9a2fbc3b1b72d6bc4cd3985484d1b6b7b29' - '52cc26cda4117f79fae1a0ad59e1404b299191a1c53d38027ceb178dab91f3dc' - '2ffa37306bf8e5d79e074e612f88b6f3f671c45215724f84dd85cbea8b91e6bd' 'SKIP' 'SKIP' '682bf4bf5d79db0080aa132235a95b25745c8ef944d2a2e1fed985489d894df5' @@ -69,14 +58,6 @@ prepare() { mkdir mozbuild cd firefox-$pkgver - # https://bugs.archlinux.org/task/67978 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1660901 - patch -Np1 -i ../0002-Bug-1660901-Support-the-fstat-like-subset-of-fstatat.patch - patch -Np1 -i ../0003-Bug-1660901-ignore-AT_NO_AUTOMOUNT-in-fstatat-system.patch - - # https://bugzilla.mozilla.org/show_bug.cgi?id=1663715 - patch -Np1 -i ../0004-Bug-1663715-Update-syn-and-proc-macro2-so-that-Firef.patch - cat >../mozconfig < + +--- a/widget/gtk/nsLookAndFeel.cpp ++++ b/widget/gtk/nsLookAndFeel.cpp +@@ -1142,7 +1142,7 @@ void nsLookAndFeel::EnsureInit() { + &color); + mTextSelectedText = GDK_RGBA_TO_NS_RGBA(color); + }; +- GrabSelectionColors(selectionStyle); ++ GrabSelectionColors(selectionStyle ? selectionStyle : style); + if (mTextSelectedBackground == mTextSelectedText) { + // Some old distros/themes don't properly use the .selection style, so + // fall back to the regular text view style. +--- a/widget/gtk/WidgetStyleCache.cpp ++++ b/widget/gtk/WidgetStyleCache.cpp +@@ -933,7 +933,7 @@ static GtkStyleContext* GetWidgetRootSty + default: + GtkWidget* widget = GetWidget(aNodeType); + MOZ_ASSERT(widget); +- return gtk_widget_get_style_context(widget); ++ return (widget ? gtk_widget_get_style_context(widget) : nullptr); + } + + MOZ_ASSERT(style); +@@ -1356,6 +1356,7 @@ GtkStyleContext* GetStyleContext(WidgetN + style = GetCssNodeStyleInternal(aNodeType); + StyleContextSetScale(style, aScale); + } ++ if (!style) return nullptr; + bool stateChanged = false; + bool stateHasDirection = gtk_get_minor_version() >= 8; + GtkStateFlags oldState = gtk_style_context_get_state(style); From b9049d7ba6f01e93924d9a4cdc743a26173d5ce8 Mon Sep 17 00:00:00 2001 From: ohfp <1813007-ohfp@users.noreply.gitlab.com> Date: Tue, 10 Nov 2020 11:02:35 +0100 Subject: [PATCH 5/6] v82.0.3-1 --- CHANGELOG.md | 6 ++++++ PKGBUILD | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 363c510..0fdaaad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). This project follows the official Firefox releases, but also uses [Arch Linux Package Versioning](https://wiki.archlinux.org/index.php/Arch_package_guidelines#Package_versioning) to mark individual releases in between versions. +## [82.0.3-1] - 2020-11-10 + +### Changed + +- New upstream release 82.0.3 + ## [82.0.2-1] - 2020-10-29 ### Changed diff --git a/PKGBUILD b/PKGBUILD index c6b87aa..3de4a46 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -6,7 +6,7 @@ pkgname=librewolf _pkgname=LibreWolf # how to get ci vars instead? -pkgver=82.0.2 +pkgver=82.0.3 pkgrel=1 pkgdesc="Community-maintained fork of Firefox, focused on privacy, security and freedom." arch=(x86_64 aarch64) @@ -39,13 +39,13 @@ source_aarch64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/ arm.patch https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch) -sha256sums_x86_64=('8851cae2df9923844c3dc97a4f77f6f3c86cc6f298b888b38949fbf74fcf2ca9' +sha256sums_x86_64=('4df40aecf4b71107c4816db585bcd425f093123f29d8563bc2443a8659058691' '0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2' 'SKIP' 'SKIP' '682bf4bf5d79db0080aa132235a95b25745c8ef944d2a2e1fed985489d894df5' '41719289b309912c4b6bc86b41594f671427979481a90c32a9d3d0bf1cdd6d44') -sha256sums_aarch64=('8851cae2df9923844c3dc97a4f77f6f3c86cc6f298b888b38949fbf74fcf2ca9' +sha256sums_aarch64=('4df40aecf4b71107c4816db585bcd425f093123f29d8563bc2443a8659058691' '0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2' 'SKIP' 'SKIP' From aa51ea96c794d1b3d1c43ab753a3dce5000d3ef1 Mon Sep 17 00:00:00 2001 From: ohfp <1813007-ohfp@users.noreply.gitlab.com> Date: Sat, 21 Nov 2020 13:22:34 +0100 Subject: [PATCH 6/6] v83.0-1 --- CHANGELOG.md | 7 + PKGBUILD | 11 +- .../scripts/3_Configure_Source_Code.sh | 1 + .../scripts/5_Configure_Binary_Tarball.sh | 2 +- deb_patches/fix-armhf-webrtc-build.patch | 70 ++++----- deb_patches/python3-remove-fstrings.patch | 104 +++++++------ .../sandbox-update-arm-syscall-numbers.patch | 144 ++++++++++++++++++ .../silence-gtk-style-assertions.patch | 10 +- .../webrtc-fix-compiler-flags-for-armhf.patch | 4 +- 9 files changed, 258 insertions(+), 95 deletions(-) create mode 100644 deb_patches/sandbox-update-arm-syscall-numbers.patch diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fdaaad..2ddb1b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). This project follows the official Firefox releases, but also uses [Arch Linux Package Versioning](https://wiki.archlinux.org/index.php/Arch_package_guidelines#Package_versioning) to mark individual releases in between versions. +## [83.0-1] - 2020-11-21 + +### Changed + +- New upstream release 83.0 +- New upstream release of included uBlock Origin (1.31.0) + ## [82.0.3-1] - 2020-11-10 ### Changed diff --git a/PKGBUILD b/PKGBUILD index 3de4a46..cc1f8d7 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -6,7 +6,7 @@ pkgname=librewolf _pkgname=LibreWolf # how to get ci vars instead? -pkgver=82.0.3 +pkgver=83.0 pkgrel=1 pkgdesc="Community-maintained fork of Firefox, focused on privacy, security and freedom." arch=(x86_64 aarch64) @@ -23,7 +23,7 @@ optdepends=('networkmanager: Location detection via available WiFi networks' 'hunspell-en_US: Spell checking, American English') options=(!emptydirs !makeflags !strip) _arch_svn=https://git.archlinux.org/svntogit/packages.git/plain/trunk -_settings_commit=8697f589a1499598b8af5df11d82b60e8c97d981 +_settings_commit=2f76ae07f7016034273f1887b7f1bedab997909c source_x86_64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz $pkgname.desktop "git+https://gitlab.com/${pkgname}-community/browser/common.git" @@ -39,13 +39,13 @@ source_aarch64=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/ arm.patch https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch) -sha256sums_x86_64=('4df40aecf4b71107c4816db585bcd425f093123f29d8563bc2443a8659058691' +sha256sums_x86_64=('d69e84e8b8449f828683d274c24e03095858362bfed21b08bdd7fe715eea5398' '0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2' 'SKIP' 'SKIP' '682bf4bf5d79db0080aa132235a95b25745c8ef944d2a2e1fed985489d894df5' '41719289b309912c4b6bc86b41594f671427979481a90c32a9d3d0bf1cdd6d44') -sha256sums_aarch64=('4df40aecf4b71107c4816db585bcd425f093123f29d8563bc2443a8659058691' +sha256sums_aarch64=('d69e84e8b8449f828683d274c24e03095858362bfed21b08bdd7fe715eea5398' '0b28ba4cc2538b7756cb38945230af52e8c4659b2006262da6f3352345a8bed2' 'SKIP' 'SKIP' @@ -257,6 +257,9 @@ pref("spellchecker.dictionary_path", "/usr/share/hunspell"); // pref("extensions.autoDisableScopes", 11); END + cd ${srcdir}/settings + git checkout ${_settings_commit} + cd ${srcdir}/firefox-$pkgver cp -r ${srcdir}/settings/* ${pkgdir}/usr/lib/${pkgname}/ local distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini" diff --git a/binary_tarball/scripts/3_Configure_Source_Code.sh b/binary_tarball/scripts/3_Configure_Source_Code.sh index 1afc5c1..37a6ae5 100755 --- a/binary_tarball/scripts/3_Configure_Source_Code.sh +++ b/binary_tarball/scripts/3_Configure_Source_Code.sh @@ -121,6 +121,7 @@ patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/python3-remove-variable-annotations. patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/python3-remove-fstrings.patch" patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/python3-remove-pep487.patch" patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/silence-gtk-style-assertions.patch" +patch -p1 -i "${CI_PROJECT_DIR}/deb_patches/sandbox-update-arm-syscall-numbers.patch" # Remove some pre-installed addons that might be questionable patch -p1 -i ${CI_PROJECT_DIR}/remove_addons.patch diff --git a/binary_tarball/scripts/5_Configure_Binary_Tarball.sh b/binary_tarball/scripts/5_Configure_Binary_Tarball.sh index d4826d4..04bc086 100755 --- a/binary_tarball/scripts/5_Configure_Binary_Tarball.sh +++ b/binary_tarball/scripts/5_Configure_Binary_Tarball.sh @@ -11,7 +11,7 @@ LAUNCHER_SCRIPT=$3; CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../../)} _SCRIPT_FOLDER=$(realpath $(dirname $0)); _EXTRACTED_TARBALL_FOLDER=$_SCRIPT_FOLDER/librewolf; -_SETTINGS_COMMIT=8697f589a1499598b8af5df11d82b60e8c97d981 +_SETTINGS_COMMIT=2f76ae07f7016034273f1887b7f1bedab997909c _SETTINGS_REPO='https://gitlab.com/librewolf-community/settings.git'; # Extracts the binary tarball diff --git a/deb_patches/fix-armhf-webrtc-build.patch b/deb_patches/fix-armhf-webrtc-build.patch index 44e88a6..9f45a78 100644 --- a/deb_patches/fix-armhf-webrtc-build.patch +++ b/deb_patches/fix-armhf-webrtc-build.patch @@ -1,59 +1,30 @@ -diff -r 53fd96ca5aa4 media/webrtc/gn-configs/arm_False_arm_linux.json ---- a/media/webrtc/gn-configs/arm_False_arm_linux.json Sun Dec 09 23:42:51 2018 +0200 -+++ b/media/webrtc/gn-configs/arm_False_arm_linux.json Mon Dec 10 10:40:13 2018 +0100 -@@ -15969,9 +15969,7 @@ - "/home/jenkins/workspace/Firefox-default/label/armv7/firefox/obj-armv7l-unknown-linux-gnueabihf/media/webrtc/trunk/webrtc/gn-output/gen/" - ], - "libs": [], -- "sources": [ -- "//system_wrappers/source/cpu_features_linux.c" -- ], -+ "sources": [], - "type": "static_library" - }, - "//system_wrappers:field_trial_api": { -diff -r 53fd96ca5aa4 media/webrtc/gn-configs/arm_True_arm_linux.json ---- a/media/webrtc/gn-configs/arm_True_arm_linux.json Sun Dec 09 23:42:51 2018 +0200 -+++ b/media/webrtc/gn-configs/arm_True_arm_linux.json Mon Dec 10 10:40:13 2018 +0100 -@@ -15558,9 +15558,7 @@ - "/home/jenkins/workspace/Firefox-default/label/armv7/firefox/obj-armv7l-unknown-linux-gnueabihf/media/webrtc/trunk/webrtc/gn-output/gen/" - ], - "libs": [], -- "sources": [ -- "//system_wrappers/source/cpu_features_linux.c" -- ], -+ "sources": [], - "type": "static_library" - }, - "//system_wrappers:field_trial_api": { -diff -r 53fd96ca5aa4 media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linux_gn/moz.build ---- a/media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linux_gn/moz.build Sun Dec 09 23:42:51 2018 +0200 -+++ b/media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linux_gn/moz.build Mon Dec 10 10:40:13 2018 +0100 -@@ -31,10 +31,6 @@ - "/media/webrtc/trunk/webrtc/" +--- a/third_party/libwebrtc/webrtc/system_wrappers/cpu_features_linux_gn/moz.build ++++ b/third_party/libwebrtc/webrtc/system_wrappers/cpu_features_linux_gn/moz.build +@@ -31,10 +31,6 @@ LOCAL_INCLUDES += [ + "/third_party/libwebrtc/webrtc/" ] -UNIFIED_SOURCES += [ -- "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c" +- "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c" -] - if not CONFIG["MOZ_DEBUG"]: DEFINES["DYNAMIC_ANNOTATIONS_ENABLED"] = "0" -@@ -53,20 +49,36 @@ +@@ -53,20 +49,36 @@ if CONFIG["CPU_ARCH"] == "aarch64": DEFINES["WEBRTC_ARCH_ARM64"] = True DEFINES["WEBRTC_HAS_NEON"] = True -if CONFIG["CPU_ARCH"] == "arm": -+ UNIFIED_SOURCES += [ -+ "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c" -+ ] - +- - CFLAGS += [ - "-mfpu=neon" -- ] -+if CONFIG["CPU_ARCH"] == "arm": ++ UNIFIED_SOURCES += [ ++ "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c" + ] ++if CONFIG["CPU_ARCH"] == "arm": ++ DEFINES["WEBRTC_ARCH_ARM"] = True DEFINES["WEBRTC_ARCH_ARM_V7"] = True DEFINES["WEBRTC_HAS_NEON"] = True @@ -61,7 +32,7 @@ diff -r 53fd96ca5aa4 media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linu +if CONFIG["CPU_ARCH"] == "ppc64": + + UNIFIED_SOURCES += [ -+ "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c" ++ "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c" + ] + if CONFIG["CPU_ARCH"] == "x86": @@ -71,13 +42,24 @@ diff -r 53fd96ca5aa4 media/webrtc/trunk/webrtc/system_wrappers/cpu_features_linu ] + UNIFIED_SOURCES += [ -+ "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c" ++ "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c" + ] + +if CONFIG["CPU_ARCH"] == "x86_64": + + UNIFIED_SOURCES += [ -+ "/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c" ++ "/third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c" + ] + Library("cpu_features_linux_gn") +--- a/third_party/libwebrtc/webrtc/system_wrappers/BUILD.gn ++++ b/third_party/libwebrtc/webrtc/system_wrappers/BUILD.gn +@@ -187,7 +187,7 @@ if (is_android && !build_with_mozilla) { + } + } + +-if (is_linux) { ++if (is_linux && target_cpu != "arm") { + rtc_static_library("cpu_features_linux") { + sources = [ + "source/cpu_features_linux.c", diff --git a/deb_patches/python3-remove-fstrings.patch b/deb_patches/python3-remove-fstrings.patch index 93da547..f121f06 100644 --- a/deb_patches/python3-remove-fstrings.patch +++ b/deb_patches/python3-remove-fstrings.patch @@ -123,7 +123,7 @@ Author: Olivier Tilloy def check_user_lifetime_expiration( -@@ -263,8 +271,9 @@ class GlinterNit: +@@ -281,8 +289,9 @@ class GlinterNit: def format(self): return ( @@ -135,18 +135,7 @@ Author: Olivier Tilloy ) -@@ -324,8 +333,9 @@ def lint_metrics( - "SUPERFLUOUS_NO_LINT", - ".".join([metric.category, metric.name]), - ( -- f"Superfluous no_lint entry '{check_name}'. " -+ "Superfluous no_lint entry '{}'. " - "Please remove it." -+ .format(check_name) - ), - CheckType.warning, - ) -@@ -372,7 +382,7 @@ def lint_yaml_files(input_filepaths: Ite +@@ -374,7 +383,7 @@ def lint_yaml_files(input_filepaths: Ite if len(nits): print("Sorry, Glean found some glinter nits:", file=file) for (path, p) in nits: @@ -157,7 +146,7 @@ Author: Olivier Tilloy --- a/third_party/python/glean_parser/glean_parser/markdown.py +++ b/third_party/python/glean_parser/glean_parser/markdown.py -@@ -70,7 +70,7 @@ def metrics_docs(obj_name: str) -> str: +@@ -73,7 +73,7 @@ def metrics_docs(obj_name: str) -> str: if obj_name.startswith("labeled_"): fixedup_name += "s" @@ -166,7 +155,7 @@ Author: Olivier Tilloy def ping_docs(ping_name: str) -> str: -@@ -81,7 +81,7 @@ def ping_docs(ping_name: str) -> str: +@@ -84,7 +84,7 @@ def ping_docs(ping_name: str) -> str: if ping_name not in pings.RESERVED_PING_NAMES: return "" @@ -205,16 +194,16 @@ Author: Olivier Tilloy filetype = FILE_TYPES.get(schema_key) -@@ -115,7 +116,7 @@ def _get_schema( - if schema_id not in schemas: - raise ValueError( +@@ -117,7 +118,7 @@ def _get_schema( util.format_error( -- filepath, "", f"$schema key must be one of {', '.join(schemas.keys())}", -+ filepath, "", "$schema key must be one of {}".format(', '.join(schemas.keys())), + filepath, + "", +- f"$schema key must be one of {', '.join(schemas.keys())}", ++ "$schema key must be one of {}".format(', '.join(schemas.keys())), ) ) return schemas[schema_id] -@@ -187,7 +188,7 @@ def _instantiate_metrics( +@@ -189,7 +190,7 @@ def _instantiate_metrics( if not config.get("allow_reserved") and category_key.split(".")[0] == "glean": yield util.format_error( filepath, @@ -223,7 +212,7 @@ Author: Olivier Tilloy "Categories beginning with 'glean' are reserved for " "Glean internal use.", ) -@@ -195,7 +196,7 @@ def _instantiate_metrics( +@@ -197,7 +198,7 @@ def _instantiate_metrics( all_objects.setdefault(category_key, OrderedDict()) if not isinstance(category_val, dict): @@ -232,16 +221,16 @@ Author: Olivier Tilloy for metric_key, metric_val in category_val.items(): try: -@@ -204,7 +205,7 @@ def _instantiate_metrics( - ) +@@ -207,7 +208,7 @@ def _instantiate_metrics( except Exception as e: yield util.format_error( -- filepath, f"On instance {category_key}.{metric_key}", str(e), -+ filepath, "On instance {}.{}".format(category_key, metric_key), str(e), + filepath, +- f"On instance {category_key}.{metric_key}", ++ "On instance {}.{}".format(category_key, metric_key), + str(e), ) metric_obj = None - else: -@@ -214,7 +215,7 @@ def _instantiate_metrics( +@@ -218,7 +219,7 @@ def _instantiate_metrics( ): yield util.format_error( filepath, @@ -250,7 +239,7 @@ Author: Olivier Tilloy 'Only internal metrics may specify "all-pings" ' 'in "send_in_pings"', ) -@@ -230,8 +231,9 @@ def _instantiate_metrics( +@@ -234,8 +235,9 @@ def _instantiate_metrics( filepath, "", ( @@ -262,7 +251,7 @@ Author: Olivier Tilloy ), ) else: -@@ -257,17 +259,17 @@ def _instantiate_pings( +@@ -261,17 +263,17 @@ def _instantiate_pings( if ping_key in RESERVED_PING_NAMES: yield util.format_error( filepath, @@ -284,7 +273,7 @@ Author: Olivier Tilloy continue already_seen = sources.get(ping_key) -@@ -276,8 +278,9 @@ def _instantiate_pings( +@@ -280,8 +282,9 @@ def _instantiate_pings( yield util.format_error( filepath, "", @@ -318,18 +307,27 @@ Author: Olivier Tilloy + return "{}:\n{}".format(filepath, _utils.indent(content)) - def is_expired(expires: str) -> bool: -@@ -353,8 +353,8 @@ def is_expired(expires: str) -> bool: - date = datetime.date.fromisoformat(expires) - except ValueError: - raise ValueError( -- f"Invalid expiration date '{expires}'. " -- "Must be of the form yyyy-mm-dd in UTC." -+ "Invalid expiration date '{}'. " -+ "Must be of the form yyyy-mm-dd in UTC.".format(expires) - ) - return date <= datetime.datetime.utcnow().date() + def parse_expires(expires: str) -> datetime.date: +@@ -351,8 +351,8 @@ def parse_expires(expires: str) -> datet + return datetime.date.fromisoformat(expires) + except ValueError: + raise ValueError( +- f"Invalid expiration date '{expires}'. " +- "Must be of the form yyyy-mm-dd in UTC." ++ "Invalid expiration date '{}'. " ++ "Must be of the form yyyy-mm-dd in UTC.".format(expires) + ) + +@@ -382,7 +382,7 @@ def validate_expires(expires: str) -> No + max_date = datetime.datetime.now() + datetime.timedelta(days=730) + if date > max_date.date(): + raise ValueError( +- f"'{expires}' is more than 730 days (~2 years) in the future.", ++ "'{}' is more than 730 days (~2 years) in the future.".format(expires), + "Please make sure this is intentional.", + "You can supress this warning by adding EXPIRATION_DATE_TOO_FAR to no_lint", + "See: https://mozilla.github.io/glean_parser/metrics-yaml.html#no_lint", --- a/third_party/python/glean_parser/tools/extract_data_categories.py +++ b/third_party/python/glean_parser/tools/extract_data_categories.py @@ -62,7 +62,7 @@ def fetch_url(url: str) -> str: @@ -381,7 +379,7 @@ Author: Olivier Tilloy else: --- a/third_party/python/glean_parser/glean_parser/metrics.py +++ b/third_party/python/glean_parser/glean_parser/metrics.py -@@ -133,7 +133,7 @@ class Metric: +@@ -138,7 +138,7 @@ class Metric: """ metric_type = metric_info["type"] if not isinstance(metric_type, str): @@ -390,3 +388,23 @@ Author: Olivier Tilloy return cls.metric_types[metric_type]( category=category, name=name, +--- a/third_party/python/glean_parser/glean_parser/translate.py ++++ b/third_party/python/glean_parser/glean_parser/translate.py +@@ -112,7 +112,7 @@ def translate_metrics( + for filepath in output_dir.glob(clear_pattern): + filepath.unlink() + if len(list(output_dir.iterdir())): +- print(f"Extra contents found in '{output_dir}'.") ++ print("Extra contents found in '{}'.".format(output_dir)) + + # We can't use shutil.copytree alone if the directory already exists. + # However, if it doesn't exist, make sure to create one otherwise +@@ -146,7 +146,7 @@ def translate( + format_desc = OUTPUTTERS.get(output_format, None) + + if format_desc is None: +- raise ValueError(f"Unknown output format '{output_format}'") ++ raise ValueError("Unknown output format '{}'".format(output_format)) + + return translate_metrics( + input_filepaths, diff --git a/deb_patches/sandbox-update-arm-syscall-numbers.patch b/deb_patches/sandbox-update-arm-syscall-numbers.patch new file mode 100644 index 0000000..b6cf3bb --- /dev/null +++ b/deb_patches/sandbox-update-arm-syscall-numbers.patch @@ -0,0 +1,144 @@ +From 05971bd227dc6c359657d1501711e6865e9430f9 Mon Sep 17 00:00:00 2001 +From: Matthew Denton +Date: Tue, 28 Jul 2020 00:29:01 +0000 +Subject: [PATCH] Linux sandbox: update arm syscall numbers + +Change-Id: Ia2c39a86fb3516040a74de963115e73b7b1a1e0c +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2318316 +Reviewed-by: Robert Sesek +Commit-Queue: Matthew Denton +Cr-Commit-Position: refs/heads/master@{#792090} +--- + +diff --git a/security/sandbox/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h b/security/sandbox/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h +index 59d0eab8..a242c18c 100644 +--- a/security/sandbox/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h ++++ b/security/sandbox/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h +@@ -1063,4 +1063,60 @@ + #define __NR_memfd_create 279 + #endif + ++#if !defined(__NR_bpf) ++#define __NR_bpf 280 ++#endif ++ ++#if !defined(__NR_execveat) ++#define __NR_execveat 281 ++#endif ++ ++#if !defined(__NR_userfaultfd) ++#define __NR_userfaultfd 282 ++#endif ++ ++#if !defined(__NR_membarrier) ++#define __NR_membarrier 283 ++#endif ++ ++#if !defined(__NR_mlock2) ++#define __NR_mlock2 284 ++#endif ++ ++#if !defined(__NR_copy_file_range) ++#define __NR_copy_file_range 285 ++#endif ++ ++#if !defined(__NR_preadv2) ++#define __NR_preadv2 286 ++#endif ++ ++#if !defined(__NR_pwritev2) ++#define __NR_pwritev2 287 ++#endif ++ ++#if !defined(__NR_pkey_mprotect) ++#define __NR_pkey_mprotect 288 ++#endif ++ ++#if !defined(__NR_pkey_alloc) ++#define __NR_pkey_alloc 289 ++#endif ++ ++#if !defined(__NR_pkey_free) ++#define __NR_pkey_free 290 ++#endif ++ ++#if !defined(__NR_statx) ++#define __NR_statx 291 ++#endif ++ ++#if !defined(__NR_io_pgetevents) ++#define __NR_io_pgetevents 292 ++#endif ++ ++#if !defined(__NR_rseq) ++#define __NR_rseq 293 ++#endif ++ + #endif // SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_ +diff --git a/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h b/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h +index 1addd53..85e2110b 100644 +--- a/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h ++++ b/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h +@@ -1385,6 +1385,62 @@ + #define __NR_memfd_create (__NR_SYSCALL_BASE+385) + #endif + ++#if !defined(__NR_bpf) ++#define __NR_bpf (__NR_SYSCALL_BASE+386) ++#endif ++ ++#if !defined(__NR_execveat) ++#define __NR_execveat (__NR_SYSCALL_BASE+387) ++#endif ++ ++#if !defined(__NR_userfaultfd) ++#define __NR_userfaultfd (__NR_SYSCALL_BASE+388) ++#endif ++ ++#if !defined(__NR_membarrier) ++#define __NR_membarrier (__NR_SYSCALL_BASE+389) ++#endif ++ ++#if !defined(__NR_mlock2) ++#define __NR_mlock2 (__NR_SYSCALL_BASE+390) ++#endif ++ ++#if !defined(__NR_copy_file_range) ++#define __NR_copy_file_range (__NR_SYSCALL_BASE+391) ++#endif ++ ++#if !defined(__NR_preadv2) ++#define __NR_preadv2 (__NR_SYSCALL_BASE+392) ++#endif ++ ++#if !defined(__NR_pwritev2) ++#define __NR_pwritev2 (__NR_SYSCALL_BASE+393) ++#endif ++ ++#if !defined(__NR_pkey_mprotect) ++#define __NR_pkey_mprotect (__NR_SYSCALL_BASE+394) ++#endif ++ ++#if !defined(__NR_pkey_alloc) ++#define __NR_pkey_alloc (__NR_SYSCALL_BASE+395) ++#endif ++ ++#if !defined(__NR_pkey_free) ++#define __NR_pkey_free (__NR_SYSCALL_BASE+396) ++#endif ++ ++#if !defined(__NR_statx) ++#define __NR_statx (__NR_SYSCALL_BASE+397) ++#endif ++ ++#if !defined(__NR_rseq) ++#define __NR_rseq (__NR_SYSCALL_BASE+398) ++#endif ++ ++#if !defined(__NR_io_pgetevents) ++#define __NR_io_pgetevents (__NR_SYSCALL_BASE+399) ++#endif ++ + // ARM private syscalls. + #if !defined(__ARM_NR_BASE) + #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000) diff --git a/deb_patches/silence-gtk-style-assertions.patch b/deb_patches/silence-gtk-style-assertions.patch index bfad1cc..b63a658 100644 --- a/deb_patches/silence-gtk-style-assertions.patch +++ b/deb_patches/silence-gtk-style-assertions.patch @@ -4,7 +4,7 @@ Author: Olivier Tilloy --- a/widget/gtk/nsLookAndFeel.cpp +++ b/widget/gtk/nsLookAndFeel.cpp -@@ -1142,7 +1142,7 @@ void nsLookAndFeel::EnsureInit() { +@@ -1216,7 +1216,7 @@ void nsLookAndFeel::EnsureInit() { &color); mTextSelectedText = GDK_RGBA_TO_NS_RGBA(color); }; @@ -13,6 +13,14 @@ Author: Olivier Tilloy if (mTextSelectedBackground == mTextSelectedText) { // Some old distros/themes don't properly use the .selection style, so // fall back to the regular text view style. +@@ -1413,6 +1413,7 @@ bool nsLookAndFeel::WidgetUsesImage(Widg + }; + + GtkStyleContext* style = GetStyleContext(aNodeType); ++ if (!style) return false; + + GValue value = G_VALUE_INIT; + for (GtkStateFlags state : sFlagsToCheck) { --- a/widget/gtk/WidgetStyleCache.cpp +++ b/widget/gtk/WidgetStyleCache.cpp @@ -933,7 +933,7 @@ static GtkStyleContext* GetWidgetRootSty diff --git a/deb_patches/webrtc-fix-compiler-flags-for-armhf.patch b/deb_patches/webrtc-fix-compiler-flags-for-armhf.patch index 5846b21..5cd6658 100644 --- a/deb_patches/webrtc-fix-compiler-flags-for-armhf.patch +++ b/deb_patches/webrtc-fix-compiler-flags-for-armhf.patch @@ -23,8 +23,8 @@ # For libyuv gyp_vars['arm_version'] = int(CONFIG['ARM_ARCH']) ---- a/media/webrtc/trunk/webrtc/build/config/compiler/BUILD.gn -+++ b/media/webrtc/trunk/webrtc/build/config/compiler/BUILD.gn +--- a/third_party/libwebrtc/webrtc/build/config/compiler/BUILD.gn ++++ b/third_party/libwebrtc/webrtc/build/config/compiler/BUILD.gn @@ -590,7 +590,6 @@ config("compiler_cpu_abi") { if (!is_nacl) { cflags += [