summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorfrancoism902022-04-08 18:23:45 +0200
committerfrancoism902022-04-08 18:23:45 +0200
commit78c2b307bf0f069e7da8767b1b41b7ebafc08daa (patch)
tree4af0c7557363fcdc266dc39e7bfa196459226ddb
parenteb697dedfb8a97728bf76ab4ab5a1dc9b4b037c6 (diff)
downloadaur-78c2b307bf0f069e7da8767b1b41b7ebafc08daa.tar.gz
Bump to 100.0b3
-rw-r--r--.SRCINFO83
-rw-r--r--0001-Use-remoting-name-for-GDK-application-names.patch57
-rw-r--r--0002-Add-missing-default-scheme.patch14
-rw-r--r--PKGBUILD156
-rw-r--r--firefox-developer-edition.desktop6
-rw-r--r--firefox-install-dir.patch11
-rw-r--r--firefox-kde.patch16
-rw-r--r--mozilla-bmo1005535.patch30
-rw-r--r--mozilla-bmo1504834-part1.patch121
-rw-r--r--mozilla-bmo1504834-part2.patch112
-rw-r--r--mozilla-bmo1504834-part3.patch64
-rw-r--r--mozilla-bmo1504834-part4.patch40
-rw-r--r--mozilla-bmo1626236.patch85
-rw-r--r--mozilla-bmo531915.patch29
-rw-r--r--mozilla-bmo849632.patch35
-rw-r--r--mozilla-bmo998749.patch29
-rw-r--r--mozilla-fix-top-level-asm.patch66
-rw-r--r--mozilla-kde.patch71
-rw-r--r--mozilla-nongnome-proxies.patch44
-rw-r--r--mozilla-ntlm-full-path.patch28
-rw-r--r--mozilla-sandbox-fips.patch40
-rw-r--r--psutil.patch10
22 files changed, 127 insertions, 1020 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 2d0b8a18cac9..a8fb0ec62137 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,8 +1,8 @@
pkgbase = firefox-developer-edition-kde
- pkgdesc = Developer Edition of the popular Firefox web browser.
- pkgver = 94.0b9
+ pkgdesc = Standalone web browser from mozilla.org
+ pkgver = 100.0b3
pkgrel = 1
- url = https://www.mozilla.org/firefox/channel/#developer
+ url = https://www.mozilla.org/firefox/
arch = x86_64
license = MPL
license = GPL
@@ -10,97 +10,68 @@ pkgbase = firefox-developer-edition-kde
makedepends = unzip
makedepends = zip
makedepends = diffutils
- makedepends = python-setuptools
makedepends = yasm
makedepends = mesa
makedepends = imake
makedepends = inetutils
makedepends = xorg-server-xvfb
- makedepends = libpulse
- makedepends = inetutils
makedepends = autoconf2.13
makedepends = rust
makedepends = clang
makedepends = llvm
makedepends = jack
makedepends = nodejs
- makedepends = cargo
- makedepends = mercurial
- makedepends = llvm
- makedepends = python-psutil
makedepends = cbindgen
makedepends = nasm
- makedepends = lld
+ makedepends = python-setuptools
+ makedepends = python-psutil
makedepends = python-zstandard
+ makedepends = lld
makedepends = dump_syms
+ makedepends = wasi-compiler-rt
+ makedepends = wasi-libc
+ makedepends = wasi-libc++
+ makedepends = wasi-libc++abi
depends = gtk3
depends = libxt
depends = mime-types
depends = dbus-glib
depends = ffmpeg
+ depends = nss
depends = ttf-font
depends = libpulse
- depends = nss
- depends = hicolor-icon-theme
depends = kmozillahelper
- depends = nspr
- depends = hunspell
optdepends = networkmanager: Location detection via available WiFi networks
optdepends = libnotify: Notification integration
optdepends = pulseaudio: Audio support
optdepends = speech-dispatcher: Text-to-Speech
optdepends = hunspell-en_US: Spell checking, American English
+ optdepends = xdg-desktop-portal: Screensharing with Wayland
provides = firefox-developer-edition
conflicts = firefox-developer-edition
options = !emptydirs
options = !makeflags
options = !strip
- source = https://archive.mozilla.org/pub/firefox/releases/94.0b9/source/firefox-94.0b9.source.tar.xz
- source = https://archive.mozilla.org/pub/firefox/releases/94.0b9/source/firefox-94.0b9.source.tar.xz.asc
- source = firefox-install-dir.patch
- source = 0001-Use-remoting-name-for-GDK-application-names.patch
- source = 0002-Add-missing-default-scheme.patch
+ options = !lto
+ options = !debug
+ source = https://archive.mozilla.org/pub/firefox/releases/100.0b3/source/firefox-100.0b3.source.tar.xz
+ source = https://archive.mozilla.org/pub/firefox/releases/100.0b3/source/firefox-100.0b3.source.tar.xz.asc
source = firefox-developer-edition.desktop
source = identity-icons-brand.svg
- source = mozilla-nongnome-proxies.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/mozilla-nongnome-proxies.patch
+ source = firefox-install-dir.patch
+ source = psutil.patch
source = mozilla-kde.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/mozilla-kde.patch
- source = mozilla-ntlm-full-path.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/mozilla-ntlm-full-path.patch
- source = mozilla-sandbox-fips.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/mozilla-sandbox-fips.patch
- source = mozilla-bmo1005535.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/mozilla-bmo1005535.patch
- source = mozilla-bmo1504834-part1.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/mozilla-bmo1504834-part1.patch
- source = mozilla-bmo1504834-part2.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/mozilla-bmo1504834-part2.patch
- source = mozilla-bmo1504834-part3.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/mozilla-bmo1504834-part3.patch
- source = mozilla-bmo1504834-part4.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/mozilla-bmo1504834-part4.patch
- source = mozilla-fix-top-level-asm.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/mozilla-fix-top-level-asm.patch
- source = mozilla-bmo849632.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/mozilla-bmo849632.patch
- source = mozilla-bmo998749.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/mozilla-bmo998749.patch
- source = mozilla-bmo1626236.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/mozilla-bmo1626236.patch
- source = mozilla-bmo531915.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/mozilla-bmo531915.patch
source = firefox-branded-icons.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/firefox/firefox-branded-icons.patch
source = firefox-kde.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master/firefox/firefox-kde.patch
validpgpkeys = 14F26682D0916CDD81E37B6D61B7B526D98F0353
- sha512sums = 3a752f0ef8816427dddbe64f26c16da12fa430dfbc94bf44945d54fd0d581a5191d8a8f0e6aaf0e078697b71b6badc386276af27c8282dcea408bc011851404c
- sha512sums = SKIP
- sha512sums = b66dbe7f262d036e5a5b895ab5b0dbb03313bca18b0823c001ef2dbaeb1a33169b57db0cf4dfd268499f28913845119902b5d62e8a6a9cc4820eb0ee2f322a1e
- sha512sums = 624a2531b4b85b1ad2286f0a6529313d9ae8a543b9f799a1f06d564db003f126e7bb3b5a35c6ab2f28d0e495a399d97476df8436914ba637cf627b52c3ab6f8d
- sha512sums = 2a46f450fa230b964bc105087d578574bebccc18c337d89860740caeb00ea798c69edc70b256d87437dc4e791d1d223dbb1b70531c32333d6b23fa3550d1d941
- sha512sums = 96d56ed8d14dd16cd44df5dc156d81a4426280cdd8bd61e71831b7555c4d4a256fca523ce53852f6f98a546bf20d92b9c63aeeaff7a06174b8da7a8028394397
- sha512sums = b579b73176c72a5ecf36e3f63bba08fdb8041ae99d54e5cab906660fed6a9cf2311f7ca1ec1649e451cc6d5a4b1e6060b974b1d7befe9c8df3c5a89c50383c17
- sha512sums = dcdaba2b51f8e7dc4fbfeb7c707581a136d8727a64352fb09f40e62c1bba03f66d4770d21bd9ea0b9a249314fd4ce273bb42efb7108db39bbbadf1d0ddb8e3aa
- sha512sums = 70e0098da963540eb685184bf24e32c4b7ecb28a373d6c1792961bf3142f964af247c94774be0ae1e014c9e43bf4aee439cb45dcf882ad234bdb00709b3e71d9
- sha512sums = a8d1da2d85cd59c9254cd10800957eebb2e60818968739c9711d53d651a72b7a895b3cf973e24c019ec996a1ad7e2f3e28448e4e3a43761ee00b53284274e400
- sha512sums = 4716b5e450231ba375c26177a8983c8689054df0e8889488455bb1e045ec584f7bf7b7d0779c49fca43e2a05bcf25391dc7f825fadaa1079b283d9679083854f
- sha512sums = c46a5e05a7cfa6acceae7b3474b5fa26727b32369b1bbd93fcdb0bd3aa2b42192b7ce4ba540ecc1011317024f8005b264fa85273385e15e89c93c489f7da3c03
- sha512sums = c84d412df15a8aeaad41000f591e504bfef054614daff3246f292be59ce3b25e724149a94bdead5bcae5f1704c7e7c987b8130fa38f8dac0df466bdc8b9bb0e2
- sha512sums = 7158ddd53b0e25e534f3df762d607c83f4e3e19385758534adcd1e3fc514d689373048fac878b8e27701bfc863ba6a52860d5dfb64902ec8ce59af427e7fb6c6
- sha512sums = 4c9df14609e16ece6cbfd321b1242e6fc4377341ea269ec68aa2747c34cc2c40e38f342bdee1f1f5a4d4c6da62233706ec3ed677bcfafdcebe94200ff71e24fd
- sha512sums = aa3f0d0e2603d32722ba59700efdc4e618fe3ba15f4a2ecb3c63b28dc892138dbc1427b04e9f9749ff5009ca935c70d7c6cefe5b0ad6b121b82f5cf07ea45086
- sha512sums = 31738b0d7c2ae0fbdc567e84d24774e057bc0257af66e3c08a6386828051d3df4fc7aaacf71aee5a7badfa0734a8999ce1a002e639b1cf35e576b1d889edcfea
- sha512sums = 6b9e3589a7359499cf197556c00ee32193ee32b8bfb0d8811511d05105e89e107c8c0b3543a96b0234b0893c260ba6e07de23da67493505a846baf42d59cfd6e
- sha512sums = 3216e96e7cd1624945595f016fbe76a699d8627c60250768857c74c2453e66e3cc9207bfbf486ea1be5685b595bf1ae4626401502f723e94320c42c7b12d0785
- sha512sums = 773be00a1aea29527e8556b152f463e477f025785e2ca98ca12804b3a5783444bdf4f6d6765b167f64dce3110b91af5efed58c1744d35b2da187d1b4eac8ed59
- sha512sums = 7c149f99541fb9d6f67a17987ce1ef4456799ac8ad7dc9d963b7a3435f024892014e8c577e7ee79735cbcaff9b67328d4c0e22c73adebf1052102cbcc95c85a8
- sha512sums = 29eb82ff71385b299b2f1baefbb32c5add484117315245ca21d5d521ec9281d08023753d3daff731ecf93df83f9f1e945cd04a3320f0e05c0d675afbcab6ecc3
- sha512sums = 4c4c6cdc86da0a7e335526df763379e24af2caa282b25d6ea32dbbc6af6c499177b1f4ae87b2f010e38be812c2529e79ac47abc692774e19af117ccbe9a5bbb1
+ sha256sums = 7944cf62e046902b903b3e1c36a63eff81d1441332df9f63eaaec93220691176
+ sha256sums = SKIP
+ sha256sums = 67e1934ed8ac0fb4bb020cde11157956151e4c48ec5405783763a5fe4b887e6d
+ sha256sums = a9b8b4a0a1f4a7b4af77d5fc70c2686d624038909263c795ecc81e0aec7711e9
+ sha256sums = 99dccc8a955bee85ce69c02a32888f7d79ba7dd0fe5aa6aaf6f52102286d544c
+ sha256sums = f811e6408fa8900bed80055403dec889e0249681bba2b85911f96571595f78ce
+ sha256sums = bc5397bbccf158e12e058646ab88a636040ba810e5f8270a2efa914e3b8b52d0
+ sha256sums = bcedaf4feb3ec56c86cb3b99c0fa99c3f38090485454d4beacf23bd90056433a
+ sha256sums = da420deac6bfdcbf0bba31011ec23be31cdc5ab10f95a6fef5a2d6d6defc739d
pkgname = firefox-developer-edition-kde
diff --git a/0001-Use-remoting-name-for-GDK-application-names.patch b/0001-Use-remoting-name-for-GDK-application-names.patch
deleted file mode 100644
index c1feb3fc8081..000000000000
--- a/0001-Use-remoting-name-for-GDK-application-names.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Mon, 25 Mar 2019 20:30:11 +0100
-Subject: [PATCH] Use remoting name for GDK application names
-
----
- toolkit/xre/nsAppRunner.cpp | 6 +-----
- widget/gtk/nsAppShell.cpp | 12 +++++-------
- 2 files changed, 6 insertions(+), 12 deletions(-)
-
-diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
-index bb14d84338334..f5c0222987fb0 100644
---- a/toolkit/xre/nsAppRunner.cpp
-+++ b/toolkit/xre/nsAppRunner.cpp
-@@ -4299,11 +4299,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
- // consistently.
-
- // Set program name to the one defined in application.ini.
-- {
-- nsAutoCString program(gAppData->name);
-- ToLowerCase(program);
-- g_set_prgname(program.get());
-- }
-+ g_set_prgname(gAppData->remotingName);
-
- // Initialize GTK here for splash.
-
-diff --git a/widget/gtk/nsAppShell.cpp b/widget/gtk/nsAppShell.cpp
-index 60de473de07ab..004c066575c17 100644
---- a/widget/gtk/nsAppShell.cpp
-+++ b/widget/gtk/nsAppShell.cpp
-@@ -24,6 +24,8 @@
- # include "WakeLockListener.h"
- #endif
- #include "gfxPlatform.h"
-+#include "nsAppRunner.h"
-+#include "mozilla/XREAppData.h"
- #include "ScreenHelperGTK.h"
- #include "HeadlessScreenHelper.h"
- #include "mozilla/widget/ScreenManager.h"
-@@ -152,13 +154,9 @@ nsresult nsAppShell::Init() {
- // See https://bugzilla.gnome.org/show_bug.cgi?id=747634
- //
- // Only bother doing this for the parent process, since it's the one
-- // creating top-level windows. (At this point, a child process hasn't
-- // received the list of registered chrome packages, so the
-- // GetBrandShortName call would fail anyway.)
-- nsAutoString brandName;
-- mozilla::widget::WidgetUtils::GetBrandShortName(brandName);
-- if (!brandName.IsEmpty()) {
-- gdk_set_program_class(NS_ConvertUTF16toUTF8(brandName).get());
-+ // creating top-level windows.
-+ if (gAppData) {
-+ gdk_set_program_class(gAppData->remotingName);
- }
- }
- }
diff --git a/0002-Add-missing-default-scheme.patch b/0002-Add-missing-default-scheme.patch
deleted file mode 100644
index ce3c400ffa6a..000000000000
--- a/0002-Add-missing-default-scheme.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/browser/components/shell/nsKDEShellService.cpp
-+++ b/browser/components/shell/nsKDEShellService.cpp
-@@ -101,3 +101,11 @@
- return NS_ERROR_NOT_IMPLEMENTED;
- }
-
-+
-+NS_IMETHODIMP
-+nsKDEShellService::IsDefaultForScheme(nsTSubstring<char> const& aScheme,
-+ bool* aIsDefaultBrowser)
-+{
-+ return NS_ERROR_NOT_IMPLEMENTED;
-+}
-+
diff --git a/PKGBUILD b/PKGBUILD
index d2108c005b61..4e94be527e8d 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,6 +1,8 @@
# Maintainer: Francois Menning <f.menning@pm.me>
-# Contributor: Andrew Crerar <crerar@archlinux.org>
# Contributor: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+# Contributor: Andrew Crerar <crerar@archlinux.org>
+# Contributor: Ionut Biru <ibiru@archlinux.org>
+# Contributor: Jakub Schmidtke <sjakub@gmail.com>
# Contributor: Thaodan <theodorstormgrade@gmail.com>
# Contributor: Weng Xuetian <wengxt@gmail.com>
@@ -8,72 +10,45 @@ _pkgname=firefox-developer-edition
_patchurl=https://raw.githubusercontent.com/openSUSE/firefox-maintenance/master
pkgname=firefox-developer-edition-kde
-pkgver=94.0b9
+pkgver=100.0b3
pkgrel=1
-pkgdesc="Developer Edition of the popular Firefox web browser."
-arch=('x86_64')
-license=('MPL' 'GPL' 'LGPL')
-url="https://www.mozilla.org/firefox/channel/#developer"
-depends=('gtk3' 'libxt' 'mime-types' 'dbus-glib' 'ffmpeg' 'ttf-font' 'libpulse' 'nss'
- 'hicolor-icon-theme' 'kmozillahelper' 'nspr' 'hunspell')
-makedepends=('unzip' 'zip' 'diffutils' 'python-setuptools' 'yasm' 'mesa' 'imake' 'inetutils'
- 'xorg-server-xvfb' 'libpulse' 'inetutils' 'autoconf2.13' 'rust' 'clang' 'llvm' 'jack' 'nodejs'
- 'cargo' 'mercurial' 'llvm' 'python-psutil' 'cbindgen' 'nasm' 'lld' 'python-zstandard' 'dump_syms')
+pkgdesc="Standalone web browser from mozilla.org"
+arch=(x86_64)
+license=(MPL GPL LGPL)
+url="https://www.mozilla.org/firefox/"
+depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss ttf-font libpulse kmozillahelper)
+makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb
+ autoconf2.13 rust clang llvm jack nodejs cbindgen nasm
+ python-setuptools python-psutil python-zstandard lld dump_syms
+ wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi)
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')
+ 'hunspell-en_US: Spell checking, American English'
+ 'xdg-desktop-portal: Screensharing with Wayland')
+options=(!emptydirs !makeflags !strip !lto !debug)
conflicts=('firefox-developer-edition')
provides=('firefox-developer-edition')
-options=(!emptydirs !makeflags !strip)
source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz{,.asc}
- firefox-install-dir.patch
- 0001-Use-remoting-name-for-GDK-application-names.patch
- 0002-Add-missing-default-scheme.patch
- "$_pkgname".desktop
+ $_pkgname.desktop
identity-icons-brand.svg
+ # https://github.com/archlinux/svntogit-community/tree/packages/firefox-developer-edition
+ firefox-install-dir.patch
+ psutil.patch
# https://github.com/openSUSE/firefox-maintenance
- mozilla-nongnome-proxies.patch::$_patchurl/mozilla-nongnome-proxies.patch
mozilla-kde.patch::$_patchurl/mozilla-kde.patch
- mozilla-ntlm-full-path.patch::$_patchurl/mozilla-ntlm-full-path.patch
- mozilla-sandbox-fips.patch::$_patchurl/mozilla-sandbox-fips.patch
- mozilla-bmo1005535.patch::$_patchurl/mozilla-bmo1005535.patch
- mozilla-bmo1504834-part1.patch::$_patchurl/mozilla-bmo1504834-part1.patch
- mozilla-bmo1504834-part2.patch::$_patchurl/mozilla-bmo1504834-part2.patch
- mozilla-bmo1504834-part3.patch::$_patchurl/mozilla-bmo1504834-part3.patch
- mozilla-bmo1504834-part4.patch::$_patchurl/mozilla-bmo1504834-part4.patch
- mozilla-fix-top-level-asm.patch::$_patchurl/mozilla-fix-top-level-asm.patch
- mozilla-bmo849632.patch::$_patchurl/mozilla-bmo849632.patch
- mozilla-bmo998749.patch::$_patchurl/mozilla-bmo998749.patch
- mozilla-bmo1626236.patch::$_patchurl/mozilla-bmo1626236.patch
- mozilla-bmo531915.patch::$_patchurl/mozilla-bmo531915.patch
firefox-branded-icons.patch::$_patchurl/firefox/firefox-branded-icons.patch
- firefox-kde.patch::$_patchurl/firefox/firefox-kde.patch
-)
-sha512sums=('3a752f0ef8816427dddbe64f26c16da12fa430dfbc94bf44945d54fd0d581a5191d8a8f0e6aaf0e078697b71b6badc386276af27c8282dcea408bc011851404c'
+ firefox-kde.patch::$_patchurl/firefox/firefox-kde.patch)
+sha256sums=('7944cf62e046902b903b3e1c36a63eff81d1441332df9f63eaaec93220691176'
'SKIP'
- 'b66dbe7f262d036e5a5b895ab5b0dbb03313bca18b0823c001ef2dbaeb1a33169b57db0cf4dfd268499f28913845119902b5d62e8a6a9cc4820eb0ee2f322a1e'
- '624a2531b4b85b1ad2286f0a6529313d9ae8a543b9f799a1f06d564db003f126e7bb3b5a35c6ab2f28d0e495a399d97476df8436914ba637cf627b52c3ab6f8d'
- '2a46f450fa230b964bc105087d578574bebccc18c337d89860740caeb00ea798c69edc70b256d87437dc4e791d1d223dbb1b70531c32333d6b23fa3550d1d941'
- '96d56ed8d14dd16cd44df5dc156d81a4426280cdd8bd61e71831b7555c4d4a256fca523ce53852f6f98a546bf20d92b9c63aeeaff7a06174b8da7a8028394397'
- 'b579b73176c72a5ecf36e3f63bba08fdb8041ae99d54e5cab906660fed6a9cf2311f7ca1ec1649e451cc6d5a4b1e6060b974b1d7befe9c8df3c5a89c50383c17'
- 'dcdaba2b51f8e7dc4fbfeb7c707581a136d8727a64352fb09f40e62c1bba03f66d4770d21bd9ea0b9a249314fd4ce273bb42efb7108db39bbbadf1d0ddb8e3aa'
- '70e0098da963540eb685184bf24e32c4b7ecb28a373d6c1792961bf3142f964af247c94774be0ae1e014c9e43bf4aee439cb45dcf882ad234bdb00709b3e71d9'
- 'a8d1da2d85cd59c9254cd10800957eebb2e60818968739c9711d53d651a72b7a895b3cf973e24c019ec996a1ad7e2f3e28448e4e3a43761ee00b53284274e400'
- '4716b5e450231ba375c26177a8983c8689054df0e8889488455bb1e045ec584f7bf7b7d0779c49fca43e2a05bcf25391dc7f825fadaa1079b283d9679083854f'
- 'c46a5e05a7cfa6acceae7b3474b5fa26727b32369b1bbd93fcdb0bd3aa2b42192b7ce4ba540ecc1011317024f8005b264fa85273385e15e89c93c489f7da3c03'
- 'c84d412df15a8aeaad41000f591e504bfef054614daff3246f292be59ce3b25e724149a94bdead5bcae5f1704c7e7c987b8130fa38f8dac0df466bdc8b9bb0e2'
- '7158ddd53b0e25e534f3df762d607c83f4e3e19385758534adcd1e3fc514d689373048fac878b8e27701bfc863ba6a52860d5dfb64902ec8ce59af427e7fb6c6'
- '4c9df14609e16ece6cbfd321b1242e6fc4377341ea269ec68aa2747c34cc2c40e38f342bdee1f1f5a4d4c6da62233706ec3ed677bcfafdcebe94200ff71e24fd'
- 'aa3f0d0e2603d32722ba59700efdc4e618fe3ba15f4a2ecb3c63b28dc892138dbc1427b04e9f9749ff5009ca935c70d7c6cefe5b0ad6b121b82f5cf07ea45086'
- '31738b0d7c2ae0fbdc567e84d24774e057bc0257af66e3c08a6386828051d3df4fc7aaacf71aee5a7badfa0734a8999ce1a002e639b1cf35e576b1d889edcfea'
- '6b9e3589a7359499cf197556c00ee32193ee32b8bfb0d8811511d05105e89e107c8c0b3543a96b0234b0893c260ba6e07de23da67493505a846baf42d59cfd6e'
- '3216e96e7cd1624945595f016fbe76a699d8627c60250768857c74c2453e66e3cc9207bfbf486ea1be5685b595bf1ae4626401502f723e94320c42c7b12d0785'
- '773be00a1aea29527e8556b152f463e477f025785e2ca98ca12804b3a5783444bdf4f6d6765b167f64dce3110b91af5efed58c1744d35b2da187d1b4eac8ed59'
- '7c149f99541fb9d6f67a17987ce1ef4456799ac8ad7dc9d963b7a3435f024892014e8c577e7ee79735cbcaff9b67328d4c0e22c73adebf1052102cbcc95c85a8'
- '29eb82ff71385b299b2f1baefbb32c5add484117315245ca21d5d521ec9281d08023753d3daff731ecf93df83f9f1e945cd04a3320f0e05c0d675afbcab6ecc3'
- '4c4c6cdc86da0a7e335526df763379e24af2caa282b25d6ea32dbbc6af6c499177b1f4ae87b2f010e38be812c2529e79ac47abc692774e19af117ccbe9a5bbb1')
+ '67e1934ed8ac0fb4bb020cde11157956151e4c48ec5405783763a5fe4b887e6d'
+ 'a9b8b4a0a1f4a7b4af77d5fc70c2686d624038909263c795ecc81e0aec7711e9'
+ '99dccc8a955bee85ce69c02a32888f7d79ba7dd0fe5aa6aaf6f52102286d544c'
+ 'f811e6408fa8900bed80055403dec889e0249681bba2b85911f96571595f78ce'
+ 'bc5397bbccf158e12e058646ab88a636040ba810e5f8270a2efa914e3b8b52d0'
+ 'bcedaf4feb3ec56c86cb3b99c0fa99c3f38090485454d4beacf23bd90056433a'
+ 'da420deac6bfdcbf0bba31011ec23be31cdc5ab10f95a6fef5a2d6d6defc739d')
validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release@mozilla.com>
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
@@ -92,40 +67,21 @@ prepare() {
mkdir mozbuild
cd firefox-${pkgver%b*}
- # Install location
+ # https://github.com/archlinux/svntogit-community/tree/packages/firefox-developer-edition/trunk
patch -Np1 -i ../firefox-install-dir.patch
-
- # https://bugzilla.mozilla.org/show_bug.cgi?id=1530052
- patch -Np1 -i ../0001-Use-remoting-name-for-GDK-application-names.patch
+ patch -Np1 -i ../psutil.patch
# https://github.com/openSUSE/firefox-maintenance/blob/master/firefox/MozillaFirefox.spec
# Gecko/Toolkit
- patch -Np1 -i ../mozilla-nongnome-proxies.patch
patch -Np1 -i ../mozilla-kde.patch
- patch -Np1 -i ../mozilla-ntlm-full-path.patch
- patch -Np1 -i ../mozilla-sandbox-fips.patch
- patch -Np1 -i ../mozilla-bmo1005535.patch
- patch -Np1 -i ../mozilla-bmo1504834-part1.patch
- patch -Np1 -i ../mozilla-bmo1504834-part2.patch
- patch -Np1 -i ../mozilla-bmo1504834-part3.patch
- patch -Np1 -i ../mozilla-bmo1504834-part4.patch
- patch -Np1 -i ../mozilla-fix-top-level-asm.patch
- patch -Np1 -i ../mozilla-bmo849632.patch
- patch -Np1 -i ../mozilla-bmo998749.patch
- patch -Np1 -i ../mozilla-bmo1626236.patch
- patch -Np1 -i ../mozilla-bmo531915.patch
# Firefox/browser
patch -Np1 -i ../firefox-kde.patch
- patch -Np1 -i ../firefox-branded-icons.patch
- # https://github.com/openSUSE/firefox-maintenance/issues/37
- patch -Np1 -i ../0002-Add-missing-default-scheme.patch
+ echo -n "$_google_api_key" >google-api-key
+ echo -n "$_mozilla_api_key" >mozilla-api-key
- echo -n "$_google_api_key" > google-api-key
- echo -n "$_mozilla_api_key" > mozilla-api-key
-
- cat > ../mozconfig << END
+ cat >../mozconfig <<END
ac_add_options --enable-application=browser
mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
@@ -137,24 +93,16 @@ ac_add_options --enable-rust-simd
ac_add_options --enable-linker=lld
ac_add_options --disable-elf-hack
ac_add_options --disable-bootstrap
-# ac_add_options --with-ccache=sccache
-export CC='clang --target=x86_64-unknown-linux-gnu'
-export CXX='clang++ --target=x86_64-unknown-linux-gnu'
-export AR=llvm-ar
-export NM=llvm-nm
-export RANLIB=llvm-ranlib
+ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot
# Branding
ac_add_options --enable-official-branding
-ac_add_options --with-branding=browser/branding/aurora
-ac_add_options --enable-update-channel=aurora
+ac_add_options --enable-update-channel=release
ac_add_options --with-distribution-id=org.archlinux
ac_add_options --with-unsigned-addon-scopes=app,system
ac_add_options --allow-addon-sideload
export MOZILLA_OFFICIAL=1
-export MOZ_APP_REMOTINGNAME=firefox-developer-edition
-export MOZ_TELEMETRY_REPORTING=1
-export MOZ_REQUIRE_SIGNING=
+export MOZ_APP_REMOTINGNAME=${_pkgname//-/}
# Keys
ac_add_options --with-google-location-service-api-keyfile=${PWD@Q}/google-api-key
@@ -166,8 +114,6 @@ ac_add_options --with-system-nspr
ac_add_options --with-system-nss
# Features
-# ac_add_options --enable-default-toolkit=cairo-gtk3
-ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
ac_add_options --enable-alsa
ac_add_options --enable-jack
ac_add_options --enable-crashreporter
@@ -181,8 +127,8 @@ build() {
export MOZ_NOSPAM=1
export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
- export MACH_USE_SYSTEM_PYTHON=1
export MOZ_ENABLE_FULL_SYMBOLS=1
+ export MACH_USE_SYSTEM_PYTHON=1
# LTO needs more open files
ulimit -n 4096
@@ -228,26 +174,26 @@ package() {
DESTDIR="$pkgdir" ./mach install
local vendorjs="$pkgdir/usr/lib/$_pkgname/browser/defaults/preferences/vendor.js"
- install -Dm644 /dev/stdin "$vendorjs" << END
-// Use LANG environment variable to choose locale.
+ install -Dvm644 /dev/stdin "$vendorjs" <<END
+// Use LANG environment variable to choose locale
pref("intl.locale.requested", "");
-// Use system-provided dictionaries.
+// Use system-provided dictionaries
pref("spellchecker.dictionary_path", "/usr/share/hunspell");
// Disable default browser checking.
pref("browser.shell.checkDefaultBrowser", false);
-// Don't disable our bundled extensions in the application directory.
+// Don't disable extensions in the application directory
pref("extensions.autoDisableScopes", 11);
END
local distini="$pkgdir/usr/lib/$_pkgname/distribution/distribution.ini"
- install -Dm644 /dev/stdin "$distini" << END
+ install -Dvm644 /dev/stdin "$distini" <<END
[Global]
id=archlinux
version=1.0
-about=Mozilla Firefox Developer Edition for Arch Linux
+about=Mozilla Firefox for Arch Linux
[Preferences]
app.distributor=archlinux
@@ -255,9 +201,9 @@ app.distributor.channel=$_pkgname
app.partner.archlinux=archlinux
END
- local i theme=aurora
+ local i theme=official
for i in 16 22 24 32 48 64 128 256; do
- install -Dm644 browser/branding/$theme/default$i.png \
+ install -Dvm644 browser/branding/$theme/default$i.png \
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$_pkgname.png"
done
install -Dvm644 browser/branding/$theme/content/about-logo.png \
@@ -269,23 +215,23 @@ END
install -Dvm644 ../identity-icons-brand.svg \
"$pkgdir/usr/share/icons/hicolor/symbolic/apps/$_pkgname-symbolic.svg"
- install -Dm644 ../$_pkgname.desktop \
+ install -Dvm644 ../$_pkgname.desktop \
"$pkgdir/usr/share/applications/$_pkgname.desktop"
# Install a wrapper to avoid confusion about binary path
- install -Dm755 /dev/stdin "$pkgdir/usr/bin/$_pkgname" << END
+ install -Dvm755 /dev/stdin "$pkgdir/usr/bin/$_pkgname" <<END
#!/bin/sh
exec /usr/lib/$_pkgname/firefox "\$@"
END
# Replace duplicate binary with wrapper
# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
- ln -srf "$pkgdir/usr/bin/$_pkgname" "$pkgdir/usr/lib/$_pkgname/firefox-bin"
+ ln -srfv "$pkgdir/usr/bin/$_pkgname" "$pkgdir/usr/lib/$_pkgname/firefox-bin"
# Use system certificates
local nssckbi="$pkgdir/usr/lib/$_pkgname/libnssckbi.so"
if [[ -e $nssckbi ]]; then
- ln -srf "$pkgdir/usr/lib/libnssckbi.so" "$nssckbi"
+ ln -srfv "$pkgdir/usr/lib/libnssckbi.so" "$nssckbi"
fi
export SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE="$startdir/.crash-stats-api.token"
@@ -295,3 +241,5 @@ END
cp -fvt "$startdir" obj/dist/*crashreporter-symbols-full.tar.zst
fi
}
+
+# vim:set sw=2 et:
diff --git a/firefox-developer-edition.desktop b/firefox-developer-edition.desktop
index 7378d3c84eee..505b8369d0d3 100644
--- a/firefox-developer-edition.desktop
+++ b/firefox-developer-edition.desktop
@@ -112,7 +112,7 @@ Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;п
Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;Firefox;ff;互联网;网站;
Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐
-Exec=/usr/lib/firefox-developer-edition/firefox --class="firefox-developer-edition" %u
+Exec=/usr/lib/firefox-developer-edition/firefox %u
Icon=firefox-developer-edition
Terminal=false
X-MultipleArgs=false
@@ -229,7 +229,7 @@ Name[wo]=Palanteer bu bees
Name[xh]=Ifestile entsha
Name[zh_CN]=新建窗口
Name[zh_TW]=開新視窗
-Exec=/usr/lib/firefox-developer-edition/firefox --class="firefox-developer-edition" --new-window %u
+Exec=/usr/lib/firefox-developer-edition/firefox --new-window %u
[Desktop Action new-private-window]
Name=New Private Window
@@ -337,4 +337,4 @@ Name[wo]=Panlanteeru biir bu bees
Name[xh]=Ifestile yangasese entsha
Name[zh_CN]=新建隐私浏览窗口
Name[zh_TW]=新增隱私視窗
-Exec=/usr/lib/firefox-developer-edition/firefox --class="firefox-developer-edition" --private-window %u
+Exec=/usr/lib/firefox-developer-edition/firefox --private-window %u
diff --git a/firefox-install-dir.patch b/firefox-install-dir.patch
index 70ce329f2946..c985351aa667 100644
--- a/firefox-install-dir.patch
+++ b/firefox-install-dir.patch
@@ -1,18 +1,7 @@
- browser/branding/aurora/configure.sh | 1 -
config/baseconfig.mk | 2 +-
toolkit/mozapps/installer/packager.mk | 4 ++--
3 files changed, 3 insertions(+), 4 deletions(-)
-diff --git c/browser/branding/aurora/configure.sh i/browser/branding/aurora/configure.sh
-index 19d4ff057f73..2c79e136cc67 100644
---- c/browser/branding/aurora/configure.sh
-+++ i/browser/branding/aurora/configure.sh
-@@ -3,5 +3,4 @@
- # file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
- MOZ_APP_DISPLAYNAME="Firefox Developer Edition"
--MOZ_APP_REMOTINGNAME=firefox-dev
- MOZ_DEV_EDITION=1
diff --git c/config/baseconfig.mk i/config/baseconfig.mk
index 3ef3af95d611..81530dface0a 100644
--- c/config/baseconfig.mk
diff --git a/firefox-kde.patch b/firefox-kde.patch
index 29d7e78c552e..e1521ef3aff1 100644
--- a/firefox-kde.patch
+++ b/firefox-kde.patch
@@ -3,7 +3,7 @@
# Date 1559300151 -7200
# Fri May 31 12:55:51 2019 +0200
# Node ID 54d41b0033b8d649d842a1f862c6fed8b9874dec
-# Parent 856ef9c699423b1cd35e4df8745e78c409c8dbae
+# Parent 23d64c5753fda6f201477fe1f2f6cf1fb1657ccc
How to apply this patch:
1. Import and apply it
2. cp browser/base/content/browser.xul browser/base/content/browser-kde.xul
@@ -14,7 +14,7 @@ How to apply this patch:
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
--- a/browser/components/preferences/main.js
+++ b/browser/components/preferences/main.js
-@@ -338,16 +338,23 @@ var gMainPane = {
+@@ -353,16 +353,23 @@ var gMainPane = {
}, backoffTimes[this._backoffIndex + 1 < backoffTimes.length ? this._backoffIndex++ : backoffTimes.length - 1]);
};
@@ -38,7 +38,7 @@ diff --git a/browser/components/preferences/main.js b/browser/components/prefere
);
let performanceSettingsUrl =
Services.urlFormatter.formatURLPref("app.support.baseURL") +
-@@ -1313,16 +1320,27 @@ var gMainPane = {
+@@ -1365,16 +1372,27 @@ var gMainPane = {
this._backoffIndex = 0;
let shellSvc = getShellService();
@@ -69,7 +69,7 @@ diff --git a/browser/components/preferences/main.js b/browser/components/prefere
diff --git a/browser/components/shell/moz.build b/browser/components/shell/moz.build
--- a/browser/components/shell/moz.build
+++ b/browser/components/shell/moz.build
-@@ -32,16 +32,18 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "coco
+@@ -31,16 +31,18 @@ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "coco
]
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
XPIDL_SOURCES += [
@@ -92,7 +92,7 @@ diff --git a/browser/components/shell/nsKDEShellService.cpp b/browser/components
new file mode 100644
--- /dev/null
+++ b/browser/components/shell/nsKDEShellService.cpp
-@@ -0,0 +1,103 @@
+@@ -0,0 +1,109 @@
+/* -*- 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
@@ -196,6 +196,12 @@ new file mode 100644
+ return NS_ERROR_NOT_IMPLEMENTED;
+}
+
++NS_IMETHODIMP
++nsKDEShellService::IsDefaultForScheme(nsTSubstring<char> const& aScheme, bool* aIsDefaultBrowser)
++{
++ return NS_ERROR_NOT_IMPLEMENTED;
++}
++
diff --git a/browser/components/shell/nsKDEShellService.h b/browser/components/shell/nsKDEShellService.h
new file mode 100644
--- /dev/null
diff --git a/mozilla-bmo1005535.patch b/mozilla-bmo1005535.patch
deleted file mode 100644
index d20d81209160..000000000000
--- a/mozilla-bmo1005535.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-# HG changeset patch
-# User Steve Singer <steve@ssinger.info>
-# Date 1558451540 -7200
-# Tue May 21 17:12:20 2019 +0200
-# Node ID 433beec63e6b5f409683af20a0c1ab137cc7bfad
-# Parent c0fdccc716e80a6d289c94f5d507ae141c62a3bf
-Bug 1005535 - Get skia GPU building on big endian.
-
-diff --git a/gfx/skia/skia/src/gpu/GrColor.h b/gfx/skia/skia/src/gpu/GrColor.h
---- a/gfx/skia/skia/src/gpu/GrColor.h
-+++ b/gfx/skia/skia/src/gpu/GrColor.h
-@@ -59,17 +59,17 @@ static inline GrColor GrColorPackRGBA(un
- #define GrColorUnpackG(color) (((color) >> GrColor_SHIFT_G) & 0xFF)
- #define GrColorUnpackB(color) (((color) >> GrColor_SHIFT_B) & 0xFF)
- #define GrColorUnpackA(color) (((color) >> GrColor_SHIFT_A) & 0xFF)
-
- /**
- * Since premultiplied means that alpha >= color, we construct a color with
- * each component==255 and alpha == 0 to be "illegal"
- */
--#define GrColor_ILLEGAL (~(0xFF << GrColor_SHIFT_A))
-+#define GrColor_ILLEGAL ((uint32_t)(~(0xFF << GrColor_SHIFT_A)))
-
- /** Normalizes and coverts an uint8_t to a float. [0, 255] -> [0.0, 1.0] */
- static inline float GrNormalizeByteToFloat(uint8_t value) {
- static const float ONE_OVER_255 = 1.f / 255.f;
- return value * ONE_OVER_255;
- }
-
- /** Used to pick vertex attribute types. */
diff --git a/mozilla-bmo1504834-part1.patch b/mozilla-bmo1504834-part1.patch
deleted file mode 100644
index 1afe3aa4a2ea..000000000000
--- a/mozilla-bmo1504834-part1.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-# HG changeset patch
-# Parent b5471d23321d16a0bacc25b7afd27d2e16adba1a
-Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
-
-diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
---- a/gfx/2d/DrawTargetSkia.cpp
-+++ b/gfx/2d/DrawTargetSkia.cpp
-@@ -130,18 +130,17 @@ static IntRect CalculateSurfaceBounds(co
- Rect sampledBounds = inverse.TransformBounds(*aBounds);
- if (!sampledBounds.ToIntRect(&bounds)) {
- return surfaceBounds;
- }
-
- return surfaceBounds.Intersect(bounds);
- }
-
--static const int kARGBAlphaOffset =
-- SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
-+static const int kARGBAlphaOffset = 0; // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
-
- static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
- const int32_t aStride, SurfaceFormat aFormat) {
- if (aFormat != SurfaceFormat::B8G8R8X8 || aSize.IsEmpty()) {
- return true;
- }
- // We should've initialized the data to be opaque already
- // On debug builds, verify that this is actually true.
-diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
---- a/gfx/2d/Types.h
-+++ b/gfx/2d/Types.h
-@@ -84,25 +84,18 @@ enum class SurfaceFormat : int8_t {
- Depth,
-
- // This represents the unknown format.
- UNKNOWN,
-
- // The following values are endian-independent synonyms. The _UINT32 suffix
- // indicates that the name reflects the layout when viewed as a uint32_t
- // value.
--#if MOZ_LITTLE_ENDIAN()
- A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB
- X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB
--#elif MOZ_BIG_ENDIAN()
-- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB
-- X8R8G8B8_UINT32 = X8R8G8B8, // 0x00RRGGBB
--#else
--# error "bad endianness"
--#endif
-
- // The following values are OS and endian-independent synonyms.
- //
- // TODO(aosmond): When everything blocking bug 1581828 has been resolved, we
- // can make this use R8B8G8A8 and R8B8G8X8 for non-Windows platforms.
- OS_RGBA = A8R8G8B8_UINT32,
- OS_RGBX = X8R8G8B8_UINT32
- };
-diff --git a/gfx/skia/skia/third_party/skcms/skcms.cc b/gfx/skia/skia/third_party/skcms/skcms.cc
---- a/gfx/skia/skia/third_party/skcms/skcms.cc
-+++ b/gfx/skia/skia/third_party/skcms/skcms.cc
-@@ -25,16 +25,18 @@
- // it'd be a lot slower. But we want all those headers included so we
- // can use their features after runtime checks later.
- #include <smmintrin.h>
- #include <avxintrin.h>
- #include <avx2intrin.h>
- #include <avx512fintrin.h>
- #include <avx512dqintrin.h>
- #endif
-+#else
-+ #define SKCMS_PORTABLE
- #endif
-
- // sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
- // We have better testing on 64-bit machines, so force 32-bit machines to behave like 64-bit.
- //
- // Please do not use sizeof() directly, and size_t only when required.
- // (We have no way of enforcing these requests...)
- #define SAFE_SIZEOF(x) ((uint64_t)sizeof(x))
-@@ -275,30 +277,38 @@ enum {
- skcms_Signature_sf32 = 0x73663332,
- // XYZ is also a PCS signature, so it's defined in skcms.h
- // skcms_Signature_XYZ = 0x58595A20,
- };
-
- static uint16_t read_big_u16(const uint8_t* ptr) {
- uint16_t be;
- memcpy(&be, ptr, sizeof(be));
--#if defined(_MSC_VER)
-+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
-+ return be;
-+#else
-+ #if defined(_MSC_VER)
- return _byteswap_ushort(be);
--#else
-+ #else
- return __builtin_bswap16(be);
-+ #endif
- #endif
- }
-
- static uint32_t read_big_u32(const uint8_t* ptr) {
- uint32_t be;
- memcpy(&be, ptr, sizeof(be));
--#if defined(_MSC_VER)
-+#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
-+ return be;
-+#else
-+ #if defined(_MSC_VER)
- return _byteswap_ulong(be);
--#else
-+ #else
- return __builtin_bswap32(be);
-+ #endif
- #endif
- }
-
- static int32_t read_big_i32(const uint8_t* ptr) {
- return (int32_t)read_big_u32(ptr);
- }
-
- static float read_big_fixed(const uint8_t* ptr) {
diff --git a/mozilla-bmo1504834-part2.patch b/mozilla-bmo1504834-part2.patch
deleted file mode 100644
index 25f7fbc2c14e..000000000000
--- a/mozilla-bmo1504834-part2.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-# HG changeset patch
-# Parent 9319844dca3133fa8bd7107079f1d1ddc5c0bf70
-Skia does not support big endian. The places to fix are too numerous and upstream (skia, not Mozilla)
-has no interest in maintaining big endian.
-So here we try to swizzle the input for skia, so that skia always works on LE, and when it comes
-out again, we transform back to BE.
-
-diff --git a/gfx/2d/ConvolutionFilter.cpp b/gfx/2d/ConvolutionFilter.cpp
---- a/gfx/2d/ConvolutionFilter.cpp
-+++ b/gfx/2d/ConvolutionFilter.cpp
-@@ -29,32 +29,79 @@ bool ConvolutionFilter::GetFilterOffsetA
- int32_t* aResultLength) {
- if (aRowIndex >= mFilter->numValues()) {
- return false;
- }
- mFilter->FilterForValue(aRowIndex, aResultOffset, aResultLength);
- return true;
- }
-
-+static void ByteSwapArray(uint8_t *u8Array, int32_t size) {
-+ uint32_t *array = reinterpret_cast<uint32_t*>(u8Array);
-+ for (int pxl = 0; pxl < size; ++pxl) {
-+ // Use an endian swap to move the bytes, i.e. BGRA -> ARGB.
-+ uint32_t rgba = array[pxl];
-+ array[pxl] = NativeEndian::swapToLittleEndian(rgba);
-+ }
-+}
-+
- void ConvolutionFilter::ConvolveHorizontally(const uint8_t* aSrc, uint8_t* aDst,
- bool aHasAlpha) {
-+#if MOZ_BIG_ENDIAN()
-+ int outputSize = mFilter->numValues();
-+
-+ // Input size isn't handed in, so we have to calculate it quickly
-+ int inputSize = 0;
-+ for (int xx = 0; xx < outputSize; ++xx) {
-+ // Get the filter that determines the current output pixel.
-+ int filterOffset, filterLength;
-+ mFilter->FilterForValue(xx, &filterOffset, &filterLength);
-+ inputSize = std::max(inputSize, filterOffset + filterLength);
-+ }
-+
-+ ByteSwapArray((uint8_t*)aSrc, inputSize);
-+#endif
-+
- SkOpts::convolve_horizontally(aSrc, *mFilter, aDst, aHasAlpha);
-+
-+#if MOZ_BIG_ENDIAN()
-+ ByteSwapArray((uint8_t*)aSrc, inputSize);
-+ ByteSwapArray(aDst, outputSize);
-+#endif
- }
-
- void ConvolutionFilter::ConvolveVertically(uint8_t* const* aSrc, uint8_t* aDst,
- int32_t aRowIndex, int32_t aRowSize,
- bool aHasAlpha) {
- MOZ_ASSERT(aRowIndex < mFilter->numValues());
-
- int32_t filterOffset;
- int32_t filterLength;
- auto filterValues =
- mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength);
-+
-+#if MOZ_BIG_ENDIAN()
-+ for (int filterY = 0; filterY < filterLength; filterY++) {
-+ // Skia only knows LE, so we have to swizzle the input
-+ ByteSwapArray(aSrc[filterY], aRowSize);
-+ }
-+#endif
-+
- SkOpts::convolve_vertically(filterValues, filterLength, aSrc, aRowSize, aDst,
- aHasAlpha);
-+
-+#if MOZ_BIG_ENDIAN()
-+ // After skia is finished, we swizzle back to BE, in case
-+ // the input is used again somewhere else
-+ for (int filterY = 0; filterY < filterLength; filterY++) {
-+ ByteSwapArray(aSrc[filterY], aRowSize);
-+ }
-+ // The destination array as well
-+ ByteSwapArray(aDst, aRowSize);
-+#endif
- }
-
- /* ConvolutionFilter::ComputeResizeFactor is derived from Skia's
- * SkBitmapScaler/SkResizeFilter::computeFactors. It is governed by Skia's
- * BSD-style license (see gfx/skia/LICENSE) and the following copyright:
- * Copyright (c) 2015 Google Inc.
- */
- bool ConvolutionFilter::ComputeResizeFilter(ResizeMethod aResizeMethod,
-diff --git a/gfx/skia/skia/include/core/SkPreConfig.h b/gfx/skia/skia/include/core/SkPreConfig.h
---- a/gfx/skia/skia/include/core/SkPreConfig.h
-+++ b/gfx/skia/skia/include/core/SkPreConfig.h
-@@ -68,17 +68,17 @@
- #define SK_CPU_BENDIAN
- #elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
- #define SK_CPU_LENDIAN
- #elif defined(__sparc) || defined(__sparc__) || \
- defined(_POWER) || defined(__powerpc__) || \
- defined(__ppc__) || defined(__hppa) || \
- defined(__PPC__) || defined(__PPC64__) || \
- defined(_MIPSEB) || defined(__ARMEB__) || \
-- defined(__s390__) || \
-+ defined(__s390__) || defined(__s390x__) || \
- (defined(__sh__) && defined(__BIG_ENDIAN__)) || \
- (defined(__ia64) && defined(__BIG_ENDIAN__))
- #define SK_CPU_BENDIAN
- #else
- #define SK_CPU_LENDIAN
- #endif
- #endif
-
diff --git a/mozilla-bmo1504834-part3.patch b/mozilla-bmo1504834-part3.patch
deleted file mode 100644
index d07702e13554..000000000000
--- a/mozilla-bmo1504834-part3.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-# HG changeset patch
-# Parent d1d66f7e4d0e7fd45e91e4fcee07555e72046d48
-For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
-right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
-
-diff --git a/gfx/skia/skia/include/private/SkNx.h b/gfx/skia/skia/include/private/SkNx.h
---- a/gfx/skia/skia/include/private/SkNx.h
-+++ b/gfx/skia/skia/include/private/SkNx.h
-@@ -233,17 +233,28 @@ struct SkNx<1,T> {
- AI SkNx operator<<(int bits) const { return fVal << bits; }
- AI SkNx operator>>(int bits) const { return fVal >> bits; }
-
- AI SkNx operator+(const SkNx& y) const { return fVal + y.fVal; }
- AI SkNx operator-(const SkNx& y) const { return fVal - y.fVal; }
- AI SkNx operator*(const SkNx& y) const { return fVal * y.fVal; }
- AI SkNx operator/(const SkNx& y) const { return fVal / y.fVal; }
-
-+ // On Big endian the commented out variant doesn't work,
-+ // and honestly, I have no idea why it exists in the first place.
-+ // The reason its broken is, I think, that it defaults to the double-variant of ToBits()
-+ // which gets a 64-bit integer, and FromBits returns 32-bit,
-+ // cutting off the wrong half again.
-+ // Overall, I see no reason to have ToBits and FromBits at all (even for floats/doubles).
-+ // Still we are only "fixing" this for big endian and leave little endian alone (never touch a running system)
-+#ifdef SK_CPU_BENDIAN
-+ AI SkNx operator&(const SkNx& y) const { return fVal & y.fVal; }
-+#else
- AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); }
-+#endif
- AI SkNx operator|(const SkNx& y) const { return FromBits(ToBits(fVal) | ToBits(y.fVal)); }
- AI SkNx operator^(const SkNx& y) const { return FromBits(ToBits(fVal) ^ ToBits(y.fVal)); }
-
- AI SkNx operator==(const SkNx& y) const { return FromBits(fVal == y.fVal ? ~0 : 0); }
- AI SkNx operator!=(const SkNx& y) const { return FromBits(fVal != y.fVal ? ~0 : 0); }
- AI SkNx operator<=(const SkNx& y) const { return FromBits(fVal <= y.fVal ? ~0 : 0); }
- AI SkNx operator>=(const SkNx& y) const { return FromBits(fVal >= y.fVal ? ~0 : 0); }
- AI SkNx operator< (const SkNx& y) const { return FromBits(fVal < y.fVal ? ~0 : 0); }
-diff --git a/gfx/skia/skia/src/opts/SkBlitMask_opts.h b/gfx/skia/skia/src/opts/SkBlitMask_opts.h
---- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h
-+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h
-@@ -198,17 +198,23 @@ namespace SK_OPTS_NS {
- const SkAlpha* mask, size_t maskRB,
- int w, int h) {
- auto fn = [](const Sk4px& d, const Sk4px& aa) {
- // = (s + d(1-sa))aa + d(1-aa)
- // = s*aa + d(1-sa*aa)
- // ~~~>
- // a = 1*aa + d(1-1*aa) = aa + d(1-aa)
- // c = 0*aa + d(1-1*aa) = d(1-aa)
-+
-+ // For big endian we have to swap the alpha-mask from 0,0,0,255 to 255,0,0,0
-+#ifdef SK_CPU_BENDIAN
-+ return Sk4px(Sk16b(aa) & Sk16b(255,0,0,0, 255,0,0,0, 255,0,0,0, 255,0,0,0))
-+#else
- return Sk4px(Sk16b(aa) & Sk16b(0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255))
-+#endif
- + d.approxMulDiv255(aa.inv());
- };
- while (h --> 0) {
- Sk4px::MapDstAlpha(w, dst, mask, fn);
- dst += dstRB / sizeof(*dst);
- mask += maskRB / sizeof(*mask);
- }
- }
diff --git a/mozilla-bmo1504834-part4.patch b/mozilla-bmo1504834-part4.patch
deleted file mode 100644
index a7052643d23e..000000000000
--- a/mozilla-bmo1504834-part4.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-# HG changeset patch
-# Parent 883d2c7fec80b9714ccfefa461a02f5b09e3ee09
-Problem description: Tab-titles that are too long to fit into a tab get faded out.
- On big endian this is broken and instead of fading out, the
- tab gets white and the font transparent, leading to an unreadable
- tab-title
-Solution: This is not a real solution, but a hack. The real solution would have been
- to byte-swap the correct buffer, but I could not find it.
- So the next best thing is to deactivate the fading-effect. Now all tab-titles
- are readable, albeit not as pretty to look at as they could be.
-Side-effects: I have not yet found an unwanted side-effect.
-
-diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
---- a/gfx/2d/DrawTargetSkia.cpp
-+++ b/gfx/2d/DrawTargetSkia.cpp
-@@ -1856,16 +1856,24 @@ void DrawTargetSkia::PushLayerWithBlend(
- }
-
- SkCanvas::SaveLayerRec saveRec(
- aBounds.IsEmpty() ? nullptr : &bounds, &paint, nullptr, clipImage.get(),
- &clipMatrix,
- SkCanvas::kPreserveLCDText_SaveLayerFlag |
- (aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
-
-+#if MOZ_BIG_ENDIAN()
-+ // Pushing a layer where an aMask is defined produces wrong output.
-+ // We _should_ endian swap the data, but I couldn't find a workable way to do so
-+ // Therefore I deactivate those layers in the meantime.
-+ // The result is: Tab-titles that are longer than the available space should be faded out.
-+ // The fading doesn't work, so we deactivate the fading-effect here.
-+ if (!aMask)
-+#endif
- mCanvas->saveLayer(saveRec);
-
- SetPermitSubpixelAA(aOpaque);
-
- #ifdef MOZ_WIDGET_COCOA
- CGContextRelease(mCG);
- mCG = nullptr;
- #endif
diff --git a/mozilla-bmo1626236.patch b/mozilla-bmo1626236.patch
deleted file mode 100644
index b4634ec4bf79..000000000000
--- a/mozilla-bmo1626236.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-# HG changeset patch
-# User msirringhaus@suse.de
-# Date 1582805876 -3600
-# Thu Feb 27 13:17:56 2020 +0100
-# Node ID cc3d09abea31068e57f1ab918782f9f86fc6a158
-# Parent 9cd90914846f667f18babc491a74c164ae5d6e9f
-imported patch decoder_workaround.patch
-
-diff -r 9cd90914846f image/decoders/nsGIFDecoder2.cpp
---- a/image/decoders/nsGIFDecoder2.cpp Thu Feb 27 12:57:14 2020 +0100
-+++ b/image/decoders/nsGIFDecoder2.cpp Fri Mar 27 13:06:18 2020 +0100
-@@ -422,6 +422,9 @@
- MOZ_ASSERT(mSwizzleFn);
- uint8_t* data = reinterpret_cast<uint8_t*>(aColormap);
- mSwizzleFn(data, data, aColors);
-+#if MOZ_BIG_ENDIAN()
-+ SwizzleRow(SurfaceFormat::A8R8G8B8, SurfaceFormat::B8G8R8A8)(data, data, aColors);
-+#endif
- }
-
- LexerResult nsGIFDecoder2::DoDecode(SourceBufferIterator& aIterator,
-diff -r 9cd90914846f image/decoders/nsJPEGDecoder.cpp
---- a/image/decoders/nsJPEGDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
-+++ b/image/decoders/nsJPEGDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
-@@ -263,6 +263,9 @@
- case JCS_YCbCr:
- // By default, we will output directly to BGRA. If we need to apply
- // special color transforms, this may change.
-+#if MOZ_BIG_ENDIAN()
-+ mInfo.out_color_space = MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB;
-+#else
- switch (SurfaceFormat::OS_RGBX) {
- case SurfaceFormat::B8G8R8X8:
- mInfo.out_color_space = JCS_EXT_BGRX;
-@@ -277,6 +280,7 @@
- mState = JPEG_ERROR;
- return Transition::TerminateFailure();
- }
-+#endif
- break;
- case JCS_CMYK:
- case JCS_YCCK:
-diff -r 9cd90914846f image/decoders/nsPNGDecoder.cpp
---- a/image/decoders/nsPNGDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
-+++ b/image/decoders/nsPNGDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
-@@ -361,7 +361,7 @@
- IResumable* aOnResume) {
- MOZ_ASSERT(!HasError(), "Shouldn't call DoDecode after error!");
-
-- return mLexer.Lex(aIterator, aOnResume,
-+ LexerResult res = mLexer.Lex(aIterator, aOnResume,
- [=](State aState, const char* aData, size_t aLength) {
- switch (aState) {
- case State::PNG_DATA:
-@@ -371,6 +371,14 @@
- }
- MOZ_CRASH("Unknown State");
- });
-+
-+#if MOZ_BIG_ENDIAN()
-+ if(res.is<TerminalState>() && res.as<TerminalState>() == TerminalState::SUCCESS) {
-+ NativeEndian::swapToLittleEndianInPlace<uint32_t>((uint32_t*)(mImageData), mImageDataLength / 4);
-+ }
-+#endif
-+
-+ return res;
- }
-
- LexerTransition<nsPNGDecoder::State> nsPNGDecoder::ReadPNGData(
-diff -r 9cd90914846f image/decoders/nsWebPDecoder.cpp
---- a/image/decoders/nsWebPDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
-+++ b/image/decoders/nsWebPDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
-@@ -237,7 +237,12 @@
- // WebP doesn't guarantee that the alpha generated matches the hint in the
- // header, so we always need to claim the input is BGRA. If the output is
- // BGRX, swizzling will mask off the alpha channel.
-+#if MOZ_BIG_ENDIAN()
-+ mBuffer.colorspace = MODE_ARGB;
-+ SurfaceFormat inFormat = mFormat;
-+#else
- SurfaceFormat inFormat = SurfaceFormat::OS_RGBA;
-+#endif
-
- SurfacePipeFlags pipeFlags = SurfacePipeFlags();
- if (mFormat == SurfaceFormat::OS_RGBA &&
diff --git a/mozilla-bmo531915.patch b/mozilla-bmo531915.patch
deleted file mode 100644
index a573a9e6fbe2..000000000000
--- a/mozilla-bmo531915.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-# HG changeset patch
-# User Wolfgang Rosenauer <wr@rosenauer.org>
-# Parent 7332dfc4c47d73f1b88850b7727d33096d68e329
-
-diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
---- a/modules/fdlibm/src/math_private.h
-+++ b/modules/fdlibm/src/math_private.h
-@@ -25,17 +25,21 @@
-
- #include "mozilla/EndianUtils.h"
-
- /*
- * Emulate FreeBSD internal double types.
- * Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
- */
-
-+#ifdef __i386__
-+typedef long double __double_t;
-+#else
- typedef double __double_t;
-+#endif
- typedef __double_t double_t;
-
- /*
- * The original fdlibm code used statements like:
- * n0 = ((*(int*)&one)>>29)^1; * index of high word *
- * ix0 = *(n0+(int*)&x); * high word of x *
- * ix1 = *((1-n0)+(int*)&x); * low word of x *
- * to dig two 32 bit words out of the 64 bit IEEE floating point
diff --git a/mozilla-bmo849632.patch b/mozilla-bmo849632.patch
deleted file mode 100644
index 9de64b91ea06..000000000000
--- a/mozilla-bmo849632.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-# HG changeset patch
-# Parent 3de59fe1b8708c01e134ce698c4232b8a854f617
-Problem: webGL sites are displayed in the wrong color (usually blue-ish)
-Solution: Problem is with skia once again. Output of webgl seems endian-correct, but skia only
- knows how to deal with little endian.
- So we swizzle the output of webgl after reading it from readpixels()
-Note: This does not fix all webGL sites, but is a step in the right direction
-
-diff --git a/gfx/gl/GLContext.h b/gfx/gl/GLContext.h
---- a/gfx/gl/GLContext.h
-+++ b/gfx/gl/GLContext.h
-@@ -1548,16 +1548,23 @@ class GLContext : public GenericAtomicRe
- AFTER_GL_CALL;
- }
-
- void raw_fReadPixels(GLint x, GLint y, GLsizei width, GLsizei height,
- GLenum format, GLenum type, GLvoid* pixels) {
- BEFORE_GL_CALL;
- mSymbols.fReadPixels(x, y, width, height, format, type, pixels);
- OnSyncCall();
-+#if MOZ_BIG_ENDIAN()
-+ uint8_t* itr = (uint8_t*)pixels;
-+ for (GLsizei i = 0; i < width * height; i++) {
-+ NativeEndian::swapToLittleEndianInPlace((uint32_t*)itr, 1);
-+ itr += 4;
-+ }
-+#endif
- AFTER_GL_CALL;
- mHeavyGLCallsSinceLastFlush = true;
- }
-
- void fReadPixels(GLint x, GLint y, GLsizei width, GLsizei height,
- GLenum format, GLenum type, GLvoid* pixels);
-
- public:
diff --git a/mozilla-bmo998749.patch b/mozilla-bmo998749.patch
deleted file mode 100644
index 50e22b56946e..000000000000
--- a/mozilla-bmo998749.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-# HG changeset patch
-# User msirringhaus@suse.de
-# Date 1583738770 -3600
-# Mon Mar 09 08:26:10 2020 +0100
-# Node ID 34676feac1a542e409e22acf5b98735f8313b1ce
-# Parent 506857dace0a08d1c9685e3ac264646590b3e27f
-[mq]: mozilla-bmo998749.patch
-
-diff -r 506857dace0a -r 34676feac1a5 gfx/2d/FilterProcessing.h
---- a/gfx/2d/FilterProcessing.h Fri Feb 28 12:31:51 2020 +0100
-+++ b/gfx/2d/FilterProcessing.h Mon Mar 09 08:26:10 2020 +0100
-@@ -13,10 +13,17 @@
- namespace mozilla {
- namespace gfx {
-
-+#if MOZ_BIG_ENDIAN()
-+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 3;
-+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 2;
-+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 1;
-+const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 0;
-+#else
- const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_B = 0;
- const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_G = 1;
- const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_R = 2;
- const ptrdiff_t B8G8R8A8_COMPONENT_BYTEOFFSET_A = 3;
-+#endif
-
- class FilterProcessing {
- public:
diff --git a/mozilla-fix-top-level-asm.patch b/mozilla-fix-top-level-asm.patch
deleted file mode 100644
index cb72a15b8447..000000000000
--- a/mozilla-fix-top-level-asm.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 91bb79836ee274855393bdf6ab10e24899b1b349 Mon Sep 17 00:00:00 2001
-From: Martin Liska <mliska@suse.cz>
-Date: Fri, 17 May 2019 14:41:35 +0200
-Subject: [PATCH] Fix top-level asm issue.
-
----
- security/sandbox/linux/moz.build | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build
---- a/security/sandbox/linux/moz.build
-+++ b/security/sandbox/linux/moz.build
-@@ -66,32 +66,32 @@ UNIFIED_SOURCES += [
- "../chromium/base/time/time_now_posix.cc",
- "../chromium/sandbox/linux/bpf_dsl/bpf_dsl.cc",
- "../chromium/sandbox/linux/bpf_dsl/codegen.cc",
- "../chromium/sandbox/linux/bpf_dsl/dump_bpf.cc",
- "../chromium/sandbox/linux/bpf_dsl/policy.cc",
- "../chromium/sandbox/linux/bpf_dsl/policy_compiler.cc",
- "../chromium/sandbox/linux/bpf_dsl/syscall_set.cc",
- "../chromium/sandbox/linux/seccomp-bpf/die.cc",
-- "../chromium/sandbox/linux/seccomp-bpf/syscall.cc",
- "broker/SandboxBrokerCommon.cpp",
- "Sandbox.cpp",
- "SandboxBrokerClient.cpp",
- "SandboxFilter.cpp",
- "SandboxFilterUtil.cpp",
- "SandboxHooks.cpp",
- "SandboxInfo.cpp",
- "SandboxLogging.cpp",
- "SandboxOpenedFiles.cpp",
- "SandboxReporterClient.cpp",
- ]
-
- SOURCES += [
- "../chromium/base/strings/safe_sprintf.cc",
- "../chromium/base/third_party/icu/icu_utf.cc",
-+ "../chromium/sandbox/linux/seccomp-bpf/syscall.cc",
- "../chromium/sandbox/linux/seccomp-bpf/trap.cc",
- "../chromium/sandbox/linux/services/syscall_wrappers.cc",
- ]
-
- # This copy of SafeSPrintf doesn't need to avoid the Chromium logging
- # dependency like the one in libxul does, but this way the behavior is
- # consistent. See also the comment in SandboxLogging.h.
- SOURCES["../chromium/base/strings/safe_sprintf.cc"].flags += ["-DNDEBUG"]
-@@ -105,16 +105,19 @@ if CONFIG["CC_TYPE"] in ("clang", "gcc")
- "-Wno-unreachable-code-return"
- ]
-
- if CONFIG["CC_TYPE"] in ("clang", "gcc"):
- CXXFLAGS += ["-Wno-shadow", "-Wno-error=stack-protector"]
- SOURCES["../chromium/sandbox/linux/services/syscall_wrappers.cc"].flags += [
- "-Wno-empty-body",
- ]
-+ SOURCES['../chromium/sandbox/linux/seccomp-bpf/syscall.cc'].flags += [
-+ '-fno-lto'
-+ ]
-
- # gcc lto likes to put the top level asm in syscall.cc in a different partition
- # from the function using it which breaks the build. Work around that by
- # forcing there to be only one partition.
- for f in CONFIG["OS_CXXFLAGS"]:
- if f.startswith("-flto") and CONFIG["CC_TYPE"] != "clang":
- LDFLAGS += ["--param lto-partitions=1"]
-
diff --git a/mozilla-kde.patch b/mozilla-kde.patch
index 32e7fe439258..75b090a69d0d 100644
--- a/mozilla-kde.patch
+++ b/mozilla-kde.patch
@@ -3,7 +3,7 @@
# Date 1559294891 -7200
# Fri May 31 11:28:11 2019 +0200
# Node ID c2aa7198fb925e7fde96abf65b6f68b9b755f112
-# Parent 0dd1b6436342922d434e7c818875b2a02a73b5ed
+# Parent 8d1110b6918acc4e7d3f655d1e55f4b4ff630abe
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
Author: Lubos Lunak <lunak@suse.com>
@@ -147,7 +147,7 @@ diff --git a/python/mozbuild/mozpack/chrome/manifest.py b/python/mozbuild/mozpac
diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
--- a/toolkit/components/downloads/moz.build
+++ b/toolkit/components/downloads/moz.build
-@@ -45,10 +45,14 @@ XPCOM_MANIFESTS += [
+@@ -46,10 +46,14 @@ XPCOM_MANIFESTS += [
if CONFIG["MOZ_PLACES"]:
EXTRA_JS_MODULES += [
@@ -165,7 +165,7 @@ diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloa
diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downloads/HelperAppDlg.jsm
--- a/toolkit/mozapps/downloads/HelperAppDlg.jsm
+++ b/toolkit/mozapps/downloads/HelperAppDlg.jsm
-@@ -1231,36 +1231,66 @@ nsUnknownContentTypeDialog.prototype = {
+@@ -1252,36 +1252,66 @@ nsUnknownContentTypeDialog.prototype = {
params.handlerApp &&
params.handlerApp.executable &&
params.handlerApp.executable.isFile()
@@ -346,7 +346,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
--- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build
-@@ -91,17 +91,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "co
+@@ -92,17 +92,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "co
"../components/printingui",
]
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "uikit":
@@ -360,17 +360,17 @@ diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
+ "nsKDEUtils.cpp",
"nsNativeAppSupportUnix.cpp",
]
+ CXXFLAGS += CONFIG["MOZ_X11_SM_CFLAGS"]
else:
UNIFIED_SOURCES += [
"nsNativeAppSupportDefault.cpp",
]
- if CONFIG["MOZ_HAS_REMOTE"]:
diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
new file mode 100644
--- /dev/null
+++ b/toolkit/xre/nsKDEUtils.cpp
-@@ -0,0 +1,344 @@
+@@ -0,0 +1,321 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* 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
@@ -410,36 +410,13 @@ new file mode 100644
+#define MAKE_STR( n ) MAKE_STR2( n )
+
+static bool getKdeSession()
++{
++ if (PR_GetEnv("KDE_FULL_SESSION"))
+ {
-+ Display* dpy = XOpenDisplay( NULL );
-+ if( dpy == NULL )
-+ return false;
-+ Atom kde_full_session = XInternAtom( dpy, "KDE_FULL_SESSION", true );
-+ bool kde = false;
-+ if( kde_full_session != None )
-+ {
-+ int cnt;
-+ if( Atom* props = XListProperties( dpy, DefaultRootWindow( dpy ), &cnt ))
-+ {
-+ for( int i = 0;
-+ i < cnt;
-+ ++i )
-+ {
-+ if( props[ i ] == kde_full_session )
-+ {
-+ kde = true;
-+#ifdef DEBUG_KDE
-+ fprintf( stderr, "KDE SESSION %d\n", kde );
-+#endif
-+ break;
-+ }
-+ }
-+ XFree( props );
-+ }
-+ }
-+ XCloseDisplay( dpy );
-+ return kde;
++ return true;
+ }
++ return false;
++}
+
+static bool getKdeSupport()
+ {
@@ -831,12 +808,12 @@ diff --git a/uriloader/exthandler/HandlerServiceParent.cpp b/uriloader/exthandle
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
--- a/uriloader/exthandler/moz.build
+++ b/uriloader/exthandler/moz.build
-@@ -80,17 +80,19 @@ else:
+@@ -78,17 +78,19 @@ elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "ui
+ else:
+ # These files can't be built in unified mode because they redefine LOG.
SOURCES += [
osdir + "/nsOSHelperAppService.cpp",
]
- if CONFIG["CC_TYPE"] in ("clang", "gcc"):
- CXXFLAGS += ["-Wno-error=shadow"]
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
UNIFIED_SOURCES += [
@@ -851,7 +828,7 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
]
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
UNIFIED_SOURCES += [
-@@ -128,16 +130,17 @@ include("/ipc/chromium/chromium-config.m
+@@ -126,16 +128,17 @@ include("/ipc/chromium/chromium-config.m
FINAL_LIBRARY = "xul"
LOCAL_INCLUDES += [
@@ -864,11 +841,11 @@ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
]
if CONFIG["MOZ_ENABLE_DBUS"]:
- CXXFLAGS += CONFIG["TK_CFLAGS"]
CXXFLAGS += CONFIG["MOZ_DBUS_CFLAGS"]
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
- CXXFLAGS += CONFIG["TK_CFLAGS"]
+ CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
+ CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
diff --git a/uriloader/exthandler/unix/nsCommonRegistry.cpp b/uriloader/exthandler/unix/nsCommonRegistry.cpp
new file mode 100644
--- /dev/null
@@ -1283,7 +1260,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
-@@ -137,16 +137,17 @@ FINAL_LIBRARY = "xul"
+@@ -136,16 +136,17 @@ FINAL_LIBRARY = "xul"
LOCAL_INCLUDES += [
"/layout/base",
@@ -1340,7 +1317,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
# include "Units.h"
extern mozilla::LazyLogModule gWidgetLog;
# define LOG(args) MOZ_LOG(gWidgetLog, mozilla::LogLevel::Debug, args)
-@@ -242,17 +245,19 @@ nsFilePicker::AppendFilters(int32_t aFil
+@@ -236,17 +239,19 @@ nsFilePicker::AppendFilters(int32_t aFil
mAllowURLs = !!(aFilterMask & filterAllowURLs);
return nsBaseFilePicker::AppendFilters(aFilterMask);
}
@@ -1361,7 +1338,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
mFilters.AppendElement(filter);
mFilterNames.AppendElement(name);
-@@ -352,16 +357,39 @@ nsresult nsFilePicker::Show(int16_t* aRe
+@@ -346,16 +351,39 @@ nsresult nsFilePicker::Show(int16_t* aRe
return NS_OK;
}
@@ -1401,7 +1378,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
const gchar* accept_button;
-@@ -581,16 +609,244 @@ void nsFilePicker::Done(void* file_choos
+@@ -575,16 +603,244 @@ void nsFilePicker::Done(void* file_choos
mCallback->Done(result);
mCallback = nullptr;
} else {
@@ -1819,7 +1796,7 @@ diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
]
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
- CXXFLAGS += CONFIG["TK_CFLAGS"]
+ CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
if CONFIG["MOZ_ENABLE_DBUS"]:
CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
@@ -1827,7 +1804,7 @@ diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
--- a/xpcom/io/nsLocalFileUnix.cpp
+++ b/xpcom/io/nsLocalFileUnix.cpp
-@@ -53,16 +53,17 @@
+@@ -54,16 +54,17 @@
#include "prproces.h"
#include "nsIDirectoryEnumerator.h"
#include "nsSimpleEnumerator.h"
@@ -1845,7 +1822,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
# include "prmem.h"
# include "plbase64.h"
-@@ -2023,62 +2024,77 @@ nsLocalFile::SetPersistentDescriptor(con
+@@ -2071,62 +2072,77 @@ nsLocalFile::SetPersistentDescriptor(con
NS_IMETHODIMP
nsLocalFile::Reveal() {
diff --git a/mozilla-nongnome-proxies.patch b/mozilla-nongnome-proxies.patch
deleted file mode 100644
index 301ea588704d..000000000000
--- a/mozilla-nongnome-proxies.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-# HG changeset patch
-# User Wolfgang Rosenauer
-# Date 1558442915 -7200
-# Tue May 21 14:48:35 2019 +0200
-# Node ID 6bcf2dfebc1ea2aa34e5cc61152709fc8e409dc5
-# Parent bd5d1f49975deb730064a16b3079edb53c4a5f84
-Do not use gconf for proxy settings if not running within Gnome
-Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
-===================================================================
-RCS file: /cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v
-retrieving revision 1.1
-
-diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
---- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
-+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
-@@ -49,20 +49,24 @@ NS_IMETHODIMP
- nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
- // dbus prevents us from being threadsafe, but this routine should not block
- // anyhow
- *aMainThreadOnly = true;
- return NS_OK;
- }
-
- void nsUnixSystemProxySettings::Init() {
-- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
-- if (mGSettings) {
-- mGSettings->GetCollectionForSchema("org.gnome.system.proxy"_ns,
-- getter_AddRefs(mProxySettings));
-+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
-+ if (sessionType && !strcmp(sessionType, "gnome")) {
-+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
-+ if (mGSettings) {
-+ mGSettings->GetCollectionForSchema(
-+ "org.gnome.system.proxy"_ns,
-+ getter_AddRefs(mProxySettings));
-+ }
- }
- }
-
- nsresult nsUnixSystemProxySettings::GetPACURI(nsACString& aResult) {
- if (mProxySettings) {
- nsCString proxyMode;
- // Check if mode is auto
- nsresult rv = mProxySettings->GetString("mode"_ns, proxyMode);
diff --git a/mozilla-ntlm-full-path.patch b/mozilla-ntlm-full-path.patch
deleted file mode 100644
index ce5b6a29e824..000000000000
--- a/mozilla-ntlm-full-path.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-# HG changeset patch
-# User Petr Cerny <pcerny@novell.com>
-# Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6
-# Parent 2361c5db1e70e358b2158325e07fa15bb4569c2c
-Bug 634334 - call to the ntlm_auth helper fails
-
-diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNTLM.cpp
---- a/extensions/auth/nsAuthSambaNTLM.cpp
-+++ b/extensions/auth/nsAuthSambaNTLM.cpp
-@@ -156,17 +156,17 @@ static uint8_t* ExtractMessage(const nsA
- *aLen = (length / 4) * 3 - numEquals;
- return reinterpret_cast<uint8_t*>(PL_Base64Decode(s, length, nullptr));
- }
-
- nsresult nsAuthSambaNTLM::SpawnNTLMAuthHelper() {
- const char* username = PR_GetEnv("USER");
- if (!username) return NS_ERROR_FAILURE;
-
-- const char* const args[] = {"ntlm_auth",
-+ const char* const args[] = {"/usr/bin/ntlm_auth",
- "--helper-protocol",
- "ntlmssp-client-1",
- "--use-cached-creds",
- "--username",
- username,
- nullptr};
-
- bool isOK = SpawnIOChild(const_cast<char* const*>(args), &mChildPID,
diff --git a/mozilla-sandbox-fips.patch b/mozilla-sandbox-fips.patch
deleted file mode 100644
index 8894666dba9a..000000000000
--- a/mozilla-sandbox-fips.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From: meissner@suse.com, cgrobertson@suse.com
-Subject: allow Firefox to access addtional process information
-References:
-http://bugzilla.suse.com/show_bug.cgi?id=1167132
-bsc#1174284 - Firefox tab just crashed in FIPS mode
-
-Index: firefox-93.0/security/sandbox/linux/Sandbox.cpp
-===================================================================
---- firefox-93.0.orig/security/sandbox/linux/Sandbox.cpp
-+++ firefox-93.0/security/sandbox/linux/Sandbox.cpp
-@@ -655,6 +655,7 @@ void SetMediaPluginSandbox(const char* a
- auto files = new SandboxOpenedFiles();
- files->Add(std::move(plugin));
- files->Add("/dev/urandom", SandboxOpenedFile::Dup::YES);
-+ files->Add("/dev/random", SandboxOpenedFile::Dup::YES);
- files->Add("/etc/ld.so.cache"); // Needed for NSS in clearkey.
- files->Add("/sys/devices/system/cpu/cpu0/tsc_freq_khz");
- files->Add("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq");
-Index: firefox-93.0/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
-===================================================================
---- firefox-93.0.orig/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
-+++ firefox-93.0/security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
-@@ -320,6 +320,8 @@ void SandboxBrokerPolicyFactory::InitCon
-
- // Read permissions
- policy->AddPath(rdonly, "/dev/urandom");
-+ policy->AddPath(rdonly, "/dev/random");
-+ policy->AddPath(rdonly, "/proc/sys/crypto/fips_enabled");
- policy->AddPath(rdonly, "/proc/cpuinfo");
- policy->AddPath(rdonly, "/proc/meminfo");
- policy->AddDir(rdonly, "/sys/devices/cpu");
-@@ -792,6 +794,8 @@ SandboxBrokerPolicyFactory::GetSocketPro
- auto policy = MakeUnique<SandboxBroker::Policy>();
-
- policy->AddPath(rdonly, "/dev/urandom");
-+ policy->AddPath(rdonly, "/dev/random");
-+ policy->AddPath(rdonly, "/proc/sys/crypto/fips_enabled");
- policy->AddPath(rdonly, "/proc/cpuinfo");
- policy->AddPath(rdonly, "/proc/meminfo");
- policy->AddDir(rdonly, "/sys/devices/cpu");
diff --git a/psutil.patch b/psutil.patch
new file mode 100644
index 000000000000..209de1e322ca
--- /dev/null
+++ b/psutil.patch
@@ -0,0 +1,10 @@
+diff --git a/python/sites/mach.txt b/python/sites/mach.txt
+--- a/python/sites/mach.txt
++++ b/python/sites/mach.txt
+@@ -133,5 +133,5 @@
+ # Mach gracefully handles the case where `psutil` is unavailable.
+ # We aren't (yet) able to pin packages in automation, so we have to
+ # support down to the oldest locally-installed version (5.4.2).
+-pypi-optional:psutil>=5.4.2,<=5.8.0:telemetry will be missing some data
++pypi-optional:psutil>=5.4.2,<=5.9.0:telemetry will be missing some data
+ pypi-optional:zstandard>=0.11.1,<=0.17.0:zstd archives will not be possible to extract