Upload new PKGBUILD

This commit is contained in:
dr460nf1r3 2021-04-22 13:09:29 +02:00
parent c0b2e8756f
commit a6b2c7901c
No known key found for this signature in database
GPG Key ID: BE75B9D9767036C2
16 changed files with 2813 additions and 312 deletions

106
.SRCINFO
View File

@ -1,6 +1,6 @@
pkgbase = firedragon
pkgdesc = Librewolf fork build using Nightly sources with custom branding, Proton UI rework & Fission enabled.
pkgver = 89.0a1.r642117+
pkgdesc = Librewolf fork build using custom branding, settings & KDE patches by OpenSUSE
pkgver = 88.0
pkgrel = 1
url = https://gitlab.com/dr460nf1r3/settings/
install = firedragon.install
@ -16,13 +16,10 @@ pkgbase = firedragon
makedepends = mesa
makedepends = imake
makedepends = inetutils
makedepends = ccache
makedepends = rust
makedepends = mozilla-common
makedepends = xorg-server-xwayland
makedepends = xorg-server-xvfb
makedepends = rust
makedepends = ccache
makedepends = autoconf2.13
makedepends = mercurial
makedepends = clang
makedepends = llvm
makedepends = jack
@ -41,16 +38,26 @@ pkgbase = firedragon
depends = mime-types
depends = dbus-glib
depends = ffmpeg
depends = nss-hg
depends = nss
depends = nspr
depends = ttf-font
depends = libpulse
depends = whoogle
depends = libwebp
depends = libvpx
depends = libjpeg
depends = zlib
depends = icu
depends = libevent
depends = libpipewire02
depends = aom
depends = harfbuzz
depends = graphite
depends = dav1d
depends = kfiredragonhelper
optdepends = firejail: Sandboxing the browser using the included profiles
optdepends = profile-sync-daemon: Load the browser profile into RAM
optdepends = whoogle: Searching the web using a locally running Whoogle instance
optdepends = searx: Searching the web using a locally running searX instance
optdepends = networkmanager: Location detection via available WiFi networks
optdepends = libnotify: Notification integration
optdepends = pulseaudio: Audio support
@ -59,45 +66,52 @@ pkgbase = firedragon
optdepends = libappindicator-gtk3: Global menu support for GTK apps
optdepends = appmenu-gtk-module-git: Appmenu for GTK only
optdepends = plasma5-applets-window-appmenu: Appmenu for Plasma only
replaces = dragonwolf
conflicts = firedragon-hg
replaces = firedragon-stable
options = !emptydirs
options = !makeflags
options = !strip
source_x86_64 = hg+https://hg.mozilla.org/mozilla-unified#revision=autoland
source_x86_64 = firedragon.desktop
source_x86_64 = git+https://gitlab.com/dr460nf1r3/common.git
source_x86_64 = git+https://gitlab.com/dr460nf1r3/settings.git
source_x86_64 = remove_addons.patch
source_x86_64 = context-menu.patch
source_x86_64 = mozilla-vpn-ad.patch
source_x86_64 = builtin_js.patch
sha512sums_x86_64 = SKIP
sha512sums_x86_64 = 1688d8696f0a4451bc1211707362ca79d302ae0e8153be8326392b5617cb3944344e9d8fe17d0b1d5fe7df6d38fd44d4d33e3eb84e7b8763c37aeab4b2c26290
sha512sums_x86_64 = SKIP
sha512sums_x86_64 = SKIP
sha512sums_x86_64 = 861e692daf2be7239eb6b61435688a7abed2bef198067f5b3a9c1a44d8316d1e547c06e1bfb45be402c4c38b1bf13018ba594d433c1b70da6296bd5b90b0fbe3
sha512sums_x86_64 = 5f7da8d54065c009f94c60eb9aa99d4d44d75b27800bcad5e9f2a365e0c853cb234c871c54855522598b1fe26669bd42a302705ac385d536c90f4ec199cf1df6
sha512sums_x86_64 = 43d008c63a6b90a3710c4e1bf6ccebcb0987316213fa993fd1bd4b47d9a5d553f51471467c9d9ab454911b9d6fb575e3035cd7a3f9e61dbb72fe3b0a3b20a066
sha512sums_x86_64 = 25c9fa51d0ebfeea9ad88c83325dae1d0643499253946278ffeaf04b7d1aad61a76e24a5b0e1689877fa6fd5ca67135006dd8edecb54418012c826f94ca22555
source_aarch64 = hg+https://hg.mozilla.org/mozilla-unified#revision=autoland
source_aarch64 = firedragon.desktop
source_aarch64 = git+https://gitlab.com/dr460nf1r3/common.git
source_aarch64 = git+https://gitlab.com/dr460nf1r3/settings.git
source_aarch64 = remove_addons.patch
source_aarch64 = context-menu.patch
source_aarch64 = arm.patch
source_aarch64 = build-arm-libopus.patch
source_aarch64 = mozilla-vpn-ad.patch
source_aarch64 = builtin_js.patch
sha512sums_aarch64 = SKIP
sha512sums_aarch64 = 1688d8696f0a4451bc1211707362ca79d302ae0e8153be8326392b5617cb3944344e9d8fe17d0b1d5fe7df6d38fd44d4d33e3eb84e7b8763c37aeab4b2c26290
sha512sums_aarch64 = SKIP
sha512sums_aarch64 = SKIP
sha512sums_aarch64 = 861e692daf2be7239eb6b61435688a7abed2bef198067f5b3a9c1a44d8316d1e547c06e1bfb45be402c4c38b1bf13018ba594d433c1b70da6296bd5b90b0fbe3
sha512sums_aarch64 = 5f7da8d54065c009f94c60eb9aa99d4d44d75b27800bcad5e9f2a365e0c853cb234c871c54855522598b1fe26669bd42a302705ac385d536c90f4ec199cf1df6
sha512sums_aarch64 = 7c2f0c792eb5744eaf0f2ee7c0887a74118796d691029e824451b063d5ba9e65626617ad343f69837297b2002446e02ac1d5ab3bc470419ae092424abf08293f
sha512sums_aarch64 = 6d464cce32cb2e440fb137666aeefec1240bcbdfdef0e8633e0fbe22e2214446b2c992ee2c8716c682a42fcd1d66d9fdf1d6d5b40f8ec3b0eeec5ca9e3f1aa35
sha512sums_aarch64 = 43d008c63a6b90a3710c4e1bf6ccebcb0987316213fa993fd1bd4b47d9a5d553f51471467c9d9ab454911b9d6fb575e3035cd7a3f9e61dbb72fe3b0a3b20a066
sha512sums_aarch64 = 25c9fa51d0ebfeea9ad88c83325dae1d0643499253946278ffeaf04b7d1aad61a76e24a5b0e1689877fa6fd5ca67135006dd8edecb54418012c826f94ca22555
backup = usr/lib/firedragon/firedragon.cfg
backup = usr/lib/firedragon/distribution/policies.json
source = https://archive.mozilla.org/pub/firefox/releases/88.0/source/firefox-88.0.source.tar.xz
source = firedragon.desktop
source = git+https://gitlab.com/dr460nf1r3/common.git
source = git+https://gitlab.com/dr460nf1r3/settings.git
source = remove_addons.patch::https://gitlab.com/librewolf-community/browser/linux/-/raw/9e90fb3a9bc38aad9921530ee69ecabf6ac8c7bf/remove_addons.patch
source = context-menu.patch::https://gitlab.com/librewolf-community/browser/linux/-/raw/9e90fb3a9bc38aad9921530ee69ecabf6ac8c7bf/context-menu.patch
source = unity-menubar.patch::https://gitlab.com/librewolf-community/browser/linux/-/raw/9e90fb3a9bc38aad9921530ee69ecabf6ac8c7bf/unity-menubar.patch
source = mozilla-vpn-ad.patch::https://gitlab.com/librewolf-community/browser/linux/-/raw/9e90fb3a9bc38aad9921530ee69ecabf6ac8c7bf/mozilla-vpn-ad.patch
source = 0001-Use-remoting-name-for-GDK-application-names.patch
source = firefox-kde-3fdf082cf93d94e4289e552cbd9988601044576a.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/3fdf082cf93d94e4289e552cbd9988601044576a/firefox/firefox-kde.patch
source = mozilla-kde-plasmafox88.patch
source = mozilla-nongnome-proxies-3fdf082cf93d94e4289e552cbd9988601044576a.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/3fdf082cf93d94e4289e552cbd9988601044576a/mozilla-nongnome-proxies.patch
source = 0004-bmo-847568-Support-system-harfbuzz.patch
source = 0005-bmo-847568-Support-system-graphite2.patch
source = 0006-bmo-1559213-Support-system-av1.patch
source = 0021-bmo-1516081-Disable-watchdog-during-PGO-builds.patch
source = 0029-LTO-Only-enable-LTO-for-Rust-when-complete-build-use.patch
source = reduce-rust-debuginfo.patch
sha256sums = 6b50dbfb393f843e4401e23965a1d8f7fd44b5a7628d95138294094094eee297
sha256sums = 158152bdb9ef6a83bad62ae03a3d9bc8ae693b34926e53cc8c4de07df20ab22d
sha256sums = SKIP
sha256sums = SKIP
sha256sums = af9d9341917cf3c5844fc46597ad2d842642c937c9be574bfacfe5c242b1114c
sha256sums = 3bc57d97ef58c5e80f6099b0e82dab23a4404de04710529d8a8dd0eaa079afcd
sha256sums = 85f037f794afee0c70840123960375a00f9cef08dd903ea038b6bb62e683b96f
sha256sums = f3fd29e24207d5cc83f9df6c9ffa960aabdab598ea59a61fec57e9947b1d8bc9
sha256sums = 6ca7ff71cb4a7c72eca39769afe8e18ec81cba36d9b570df15fc243867049243
sha256sums = 0ae5bce3da13b7f58e37be6d7115bef323256d776195279592f4371179497f8a
sha256sums = 1bc7bd9c5af98071b89917a1421535c0313f07c1db72f6a9bd5f600d5b370b4d
sha256sums = fbd95cbcbc32673ef549b43b0d2de3ef0ef4fa303b6336e64993f2c8a73264e4
sha256sums = e17f631bc9b1873419ff10fef5fad6061e8695b961b6bb90616ec04444834608
sha256sums = 00d3524f5361614fee7eb448a528a0b53833f0a328055e17e07ea38038e5aa70
sha256sums = be41698666dbd321884c35b661c3ac457ecc5bf699fe2374ad6ad9273c6489e4
sha256sums = 82129e30512477232556e939ee8ed64b999b0e095001d043b121c5e5d334692c
sha256sums = 1034a3edda8ffa889fcb4dcf57cb93f8f296f7c37e5cfcf1e5c6071a6f8f4261
sha256sums = 923a9373afc019202c0c07a7cba47042e9ebc78cc2605baecd99602beeaf82ed
source_aarch64 = arm.patch::https://gitlab.com/librewolf-community/browser/linux/-/raw/9e90fb3a9bc38aad9921530ee69ecabf6ac8c7bf/arm.patch
source_aarch64 = https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch
sha256sums_aarch64 = 6ca87d2ac7dc48e6f595ca49ac8151936afced30d268a831c6a064b52037f6b7
sha256sums_aarch64 = 2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9
pkgname = firedragon

View File

@ -0,0 +1,57 @@
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 d944ce905cbe3..9a50545bfafcb 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -4161,11 +4161,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 cfe022e65d820..c228237830e43 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"
@@ -159,13 +161,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);
}
}
}

View File

@ -0,0 +1,182 @@
From 668d2c268e2c19c9409e786f68ef42992323cb52 Mon Sep 17 00:00:00 2001
From: Thomas Deutschmann <whissi@gentoo.org>
Date: Mon, 6 Apr 2020 19:32:39 +0200
Subject: [PATCH 04/34] bmo#847568: Support system harfbuzz
Allow building against system-wide harfbuzz.
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=847568
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
---
config/system-headers.mozbuild | 7 +++++++
dom/base/moz.build | 3 +++
gfx/moz.build | 4 +++-
gfx/skia/generate_mozbuild.py | 3 +++
gfx/skia/moz.build | 3 +++
gfx/thebes/moz.build | 3 +++
intl/unicharutil/util/moz.build | 3 +++
netwerk/dns/moz.build | 3 +++
toolkit/library/moz.build | 3 +++
toolkit/moz.configure | 9 +++++++++
10 files changed, 40 insertions(+), 1 deletion(-)
diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
index 5f7b5bb23e..449328ffaa 100644
--- a/config/system-headers.mozbuild
+++ b/config/system-headers.mozbuild
@@ -1236,6 +1236,13 @@ if CONFIG['OS_TARGET'] == 'Android':
'vr/gvr/capi/include/gvr.h',
]
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ system_headers += [
+ 'harfbuzz/hb-glib.h',
+ 'harfbuzz/hb-ot.h',
+ 'harfbuzz/hb.h',
+ ]
+
if CONFIG['MOZ_JACK']:
system_headers += [
'jack/jack.h',
diff --git a/dom/base/moz.build b/dom/base/moz.build
index 7a34945bd6..927ba6b942 100644
--- a/dom/base/moz.build
+++ b/dom/base/moz.build
@@ -554,6 +554,9 @@ if CONFIG["MOZ_BUILD_APP"] in ["browser", "mobile/android", "xulrunner"]:
if CONFIG["MOZ_X11"]:
CXXFLAGS += CONFIG["TK_CFLAGS"]
+if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
+ CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
+
GeneratedFile(
"UseCounterList.h",
script="gen-usecounters.py",
diff --git a/gfx/moz.build b/gfx/moz.build
index 6d6274e636..c9cb3d592a 100644
--- a/gfx/moz.build
+++ b/gfx/moz.build
@@ -13,6 +13,9 @@ with Files("wr/**"):
if CONFIG["MOZ_TREE_CAIRO"]:
DIRS += ["cairo"]
+if not CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
+ DIRS += ["harfbuzz/src"]
+
DIRS += [
"2d",
"ycbcr",
@@ -22,7 +25,6 @@ DIRS += [
"gl",
"layers",
"graphite2/src",
- "harfbuzz/src",
"ots/src",
"thebes",
"ipc",
diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py
index d5c409b657..9ad751e321 100755
--- a/gfx/skia/generate_mozbuild.py
+++ b/gfx/skia/generate_mozbuild.py
@@ -98,6 +98,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
'-Wno-unused-private-field',
]
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build
index 66b21aec25..6f0c015d09 100755
--- a/gfx/skia/moz.build
+++ b/gfx/skia/moz.build
@@ -490,6 +490,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
'-Wno-unused-private-field',
]
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
index c284127164..fb2ad5bf34 100644
--- a/gfx/thebes/moz.build
+++ b/gfx/thebes/moz.build
@@ -290,6 +290,9 @@ LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
DEFINES["GRAPHITE2_STATIC"] = True
+if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
+ CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
+
if CONFIG["CC_TYPE"] == "clang":
# Suppress warnings from Skia header files.
SOURCES["gfxPlatform.cpp"].flags += ["-Wno-implicit-fallthrough"]
diff --git a/intl/unicharutil/util/moz.build b/intl/unicharutil/util/moz.build
index 897bfad92a..5a83cdb2c1 100644
--- a/intl/unicharutil/util/moz.build
+++ b/intl/unicharutil/util/moz.build
@@ -25,6 +25,9 @@ UNIFIED_SOURCES += [
"nsUnicodeProperties.cpp",
]
+if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
+ CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
+
GeneratedFile(
"BaseChars.h",
script="base_chars.py",
diff --git a/netwerk/dns/moz.build b/netwerk/dns/moz.build
index 31dd7c81b8..08bf561429 100644
--- a/netwerk/dns/moz.build
+++ b/netwerk/dns/moz.build
@@ -104,6 +104,9 @@ LOCAL_INCLUDES += [
"/netwerk/protocol/http",
]
+if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
+ CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
+
USE_LIBS += ["icu"]
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
index 94e5474248..3f393f3316 100644
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
@@ -241,6 +241,9 @@ if CONFIG["MOZ_ANDROID_GOOGLE_VR"]:
OS_LIBS += CONFIG["MOZ_CAIRO_OSLIBS"]
OS_LIBS += CONFIG["MOZ_WEBRTC_X11_LIBS"]
+if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
+ OS_LIBS += CONFIG["MOZ_HARFBUZZ_LIBS"]
+
if CONFIG["MOZ_SYSTEM_JPEG"]:
OS_LIBS += CONFIG["MOZ_JPEG_LIBS"]
diff --git a/toolkit/moz.configure b/toolkit/moz.configure
index 295dc5545b..169c3d7c79 100644
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -475,6 +475,15 @@ add_old_configure_assignment(
"_HAVE_FREETYPE2", depends_if(freetype2_info)(lambda _: True)
)
+# HarfBuzz
+# ==============================================================
+option('--with-system-harfbuzz', help="Use system harfbuzz (located with pkgconfig)")
+
+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 2.7.4',
+ when='--with-system-harfbuzz')
+
+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
+
# Apple platform decoder support
# ==============================================================
@depends(toolkit)
--
2.31.1

View File

@ -0,0 +1,207 @@
From e1584f433b876c7d8fe7375ab7a7ea2af76d07bb Mon Sep 17 00:00:00 2001
From: Thomas Deutschmann <whissi@gentoo.org>
Date: Mon, 6 Apr 2020 19:34:44 +0200
Subject: [PATCH 05/34] bmo#847568: Support system graphite2
Allow building against system-wide graphite2.
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=847568
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
---
config/system-headers.mozbuild | 6 ++++++
gfx/graphite2/geckoextra/moz.build | 21 +++++++++++++++++++++
gfx/graphite2/moz-gr-update.sh | 7 ++++++-
gfx/moz.build | 6 +++++-
gfx/thebes/moz.build | 5 ++++-
old-configure.in | 21 +++++++++++++++++++++
toolkit/library/moz.build | 3 +++
toolkit/moz.configure | 13 +++++++++++++
8 files changed, 79 insertions(+), 3 deletions(-)
create mode 100644 gfx/graphite2/geckoextra/moz.build
diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
index 449328ffaa..27b5171d0a 100644
--- a/config/system-headers.mozbuild
+++ b/config/system-headers.mozbuild
@@ -1243,6 +1243,12 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
'harfbuzz/hb.h',
]
+if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
+ system_headers += [
+ 'graphite2/Font.h',
+ 'graphite2/Segment.h',
+ ]
+
if CONFIG['MOZ_JACK']:
system_headers += [
'jack/jack.h',
diff --git a/gfx/graphite2/geckoextra/moz.build b/gfx/graphite2/geckoextra/moz.build
new file mode 100644
index 0000000000..24e8d7a032
--- /dev/null
+++ b/gfx/graphite2/geckoextra/moz.build
@@ -0,0 +1,21 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# 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
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+EXPORTS.graphite2 += [
+ 'include/GraphiteExtra.h',
+ 'include/GraphiteStructsForRLBox.h',
+]
+
+UNIFIED_SOURCES += [
+ '../geckoextra/src/GraphiteExtra.cpp',
+]
+
+CXXFLAGS += CONFIG['MOZ_GRAPHITE2_CFLAGS']
+
+# Match bundled graphite2 configuration
+AllowCompilerWarnings()
+
+FINAL_LIBRARY = 'gkmedias'
diff --git a/gfx/graphite2/moz-gr-update.sh b/gfx/graphite2/moz-gr-update.sh
index b91d9c161c..a97e6eb203 100755
--- a/gfx/graphite2/moz-gr-update.sh
+++ b/gfx/graphite2/moz-gr-update.sh
@@ -1,6 +1,7 @@
#!/bin/bash
# Script used to update the Graphite2 library in the mozilla source tree
+# and bump version for --with-system-graphite2
# This script lives in gfx/graphite2, along with the library source,
# but must be run from the top level of the mozilla-central tree.
@@ -37,12 +38,16 @@ echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla
#find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
#find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
+# chase version for --with-system-graphite2
+perl -p -i -e "s/[0-9]+\,[0-9]+\,[0-9]+/$RELEASE/ and tr/./,/ \
+ if /GR2_VERSION_REQUIRE/" old-configure.in
+
# summarize what's been touched
echo Updated to $RELEASE.
echo Here is what changed in the gfx/graphite2 directory:
echo
-hg stat gfx/graphite2
+hg stat old-configure.in gfx/graphite2
echo
echo If gfx/graphite2/src/files.mk has changed, please make corresponding
diff --git a/gfx/moz.build b/gfx/moz.build
index c9cb3d592a..2e822f0134 100644
--- a/gfx/moz.build
+++ b/gfx/moz.build
@@ -13,6 +13,11 @@ with Files("wr/**"):
if CONFIG["MOZ_TREE_CAIRO"]:
DIRS += ["cairo"]
+if CONFIG["MOZ_SYSTEM_GRAPHITE2"]:
+ DIRS += ["graphite2/geckoextra"]
+else:
+ DIRS += ["graphite2/src"]
+
if not CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
DIRS += ["harfbuzz/src"]
@@ -24,7 +29,6 @@ DIRS += [
"qcms",
"gl",
"layers",
- "graphite2/src",
"ots/src",
"thebes",
"ipc",
diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
index fb2ad5bf34..c6ce6f8417 100644
--- a/gfx/thebes/moz.build
+++ b/gfx/thebes/moz.build
@@ -288,7 +288,10 @@ if CONFIG["MOZ_WAYLAND"]:
LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
-DEFINES["GRAPHITE2_STATIC"] = True
+if CONFIG["MOZ_SYSTEM_GRAPHITE2"]:
+ CXXFLAGS += CONFIG["MOZ_GRAPHITE2_CFLAGS"]
+else:
+ DEFINES["GRAPHITE2_STATIC"] = True
if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
diff --git a/old-configure.in b/old-configure.in
index 4ddc3f5b45..de727a48bd 100644
--- a/old-configure.in
+++ b/old-configure.in
@@ -2283,6 +2283,27 @@ if test "$USE_FC_FREETYPE"; then
fi
fi
+dnl ========================================================
+dnl Check for graphite2
+dnl ========================================================
+if test -n "$MOZ_SYSTEM_GRAPHITE2"; then
+ dnl graphite2.pc has bogus version, check manually
+ _SAVE_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS"
+ AC_TRY_COMPILE([ #include <graphite2/Font.h>
+ #define GR2_VERSION_REQUIRE(major,minor,bugfix) \
+ ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \
+ * 100 + GR2_VERSION_BUGFIX >= \
+ (major) * 10000 + (minor) * 100 + (bugfix) )
+ ], [
+ #if !GR2_VERSION_REQUIRE(1,3,8)
+ #error "Insufficient graphite2 version."
+ #endif
+ ], [],
+ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])])
+ CFLAGS=$_SAVE_CFLAGS
+fi
+
dnl ========================================================
dnl Check if we need the 32-bit Linux SSE2 error dialog
dnl ========================================================
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
index 3f393f3316..df178bc6cf 100644
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
@@ -241,6 +241,9 @@ if CONFIG["MOZ_ANDROID_GOOGLE_VR"]:
OS_LIBS += CONFIG["MOZ_CAIRO_OSLIBS"]
OS_LIBS += CONFIG["MOZ_WEBRTC_X11_LIBS"]
+if CONFIG["MOZ_SYSTEM_GRAPHITE2"]:
+ OS_LIBS += CONFIG["MOZ_GRAPHITE2_LIBS"]
+
if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
OS_LIBS += CONFIG["MOZ_HARFBUZZ_LIBS"]
diff --git a/toolkit/moz.configure b/toolkit/moz.configure
index 169c3d7c79..31ab9c7add 100644
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -475,6 +475,19 @@ add_old_configure_assignment(
"_HAVE_FREETYPE2", depends_if(freetype2_info)(lambda _: True)
)
+# Graphite2
+# ==============================================================
+option('--with-system-graphite2', help="Use system graphite2 (located with pkgconfig)")
+
+@depends('--with-system-graphite2')
+def check_for_graphite2(value):
+ return bool(value)
+
+system_graphite2 = pkg_check_modules('MOZ_GRAPHITE2', 'graphite2',
+ when=check_for_graphite2)
+
+set_config('MOZ_SYSTEM_GRAPHITE2', depends_if(system_graphite2)(lambda _: True))
+
# HarfBuzz
# ==============================================================
option('--with-system-harfbuzz', help="Use system harfbuzz (located with pkgconfig)")
--
2.31.1

View File

@ -0,0 +1,113 @@
From 5abc4e0e050beb42c18f102803388d07d7c577f2 Mon Sep 17 00:00:00 2001
From: Thomas Deutschmann <whissi@gentoo.org>
Date: Mon, 6 Apr 2020 19:36:02 +0200
Subject: [PATCH 06/34] bmo#1559213: Support system av1
Allow building against system-wide av1.
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1559213
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
---
config/external/moz.build | 5 +++--
config/system-headers.mozbuild | 8 ++++++++
dom/media/platforms/moz.build | 5 +++++
toolkit/moz.configure | 20 ++++++++++++++++++--
4 files changed, 34 insertions(+), 4 deletions(-)
diff --git a/config/external/moz.build b/config/external/moz.build
index 4e9888f365..bf1e255107 100644
--- a/config/external/moz.build
+++ b/config/external/moz.build
@@ -40,8 +40,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
external_dirs += ["media/libvpx"]
if CONFIG["MOZ_AV1"]:
- external_dirs += ["media/libaom"]
- external_dirs += ["media/libdav1d"]
+ if not CONFIG["MOZ_SYSTEM_AV1"]:
+ external_dirs += ["media/libaom"]
+ external_dirs += ["media/libdav1d"]
if not CONFIG["MOZ_SYSTEM_PNG"]:
external_dirs += ["media/libpng"]
diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
index 27b5171d0a..c6213f1d96 100644
--- a/config/system-headers.mozbuild
+++ b/config/system-headers.mozbuild
@@ -1300,6 +1300,14 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
'proxy.h',
]
+if CONFIG['MOZ_SYSTEM_AV1']:
+ system_headers += [
+ 'aom/aom_decoder.h',
+ 'aom/aomdx.h',
+ 'aom/aom_image.h',
+ 'dav1d/dav1d.h',
+ ]
+
if CONFIG['MOZ_SYSTEM_LIBVPX']:
system_headers += [
'vpx_mem/vpx_mem.h',
diff --git a/dom/media/platforms/moz.build b/dom/media/platforms/moz.build
index 16ca8a9cbc..b349dcbe6d 100644
--- a/dom/media/platforms/moz.build
+++ b/dom/media/platforms/moz.build
@@ -78,6 +78,11 @@ if CONFIG["MOZ_AV1"]:
"agnostic/AOMDecoder.cpp",
"agnostic/DAV1DDecoder.cpp",
]
+ if CONFIG["MOZ_SYSTEM_AV1"]:
+ CXXFLAGS += CONFIG["MOZ_SYSTEM_LIBAOM_CFLAGS"]
+ OS_LIBS += CONFIG["MOZ_SYSTEM_LIBAOM_LIBS"]
+ CXXFLAGS += CONFIG["MOZ_SYSTEM_LIBDAV1D_CFLAGS"]
+ OS_LIBS += CONFIG["MOZ_SYSTEM_LIBDAV1D_LIBS"]
if CONFIG["MOZ_OMX"]:
EXPORTS += [
diff --git a/toolkit/moz.configure b/toolkit/moz.configure
index 31ab9c7add..9eb0a51d2d 100644
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -559,14 +559,29 @@ def av1(value):
if value:
return True
+option("--with-system-av1", help="Use system av1 (located with pkg-config)")
-@depends(target, when=av1 & compile_environment)
+system_libaom_info = pkg_check_modules('MOZ_SYSTEM_LIBAOM', 'aom >= 1.0.0',
+ when='--with-system-av1')
+
+system_libdav1d_info = pkg_check_modules('MOZ_SYSTEM_LIBDAV1D', 'dav1d >= 0.1.1',
+ when='--with-system-av1')
+
+@depends(system_libaom_info, system_libdav1d_info)
+def system_av1(system_libaom_info, system_libdav1d_info):
+ has_av1_libs = False
+ if system_libaom_info and system_libdav1d_info:
+ has_av1_libs = True
+ return has_av1_libs
+
+
+@depends(target, when=av1 & depends(system_av1)(lambda v: not v) & compile_environment)
def dav1d_asm(target):
if target.cpu in ("aarch64", "x86", "x86_64"):
return True
-@depends(target, when=av1 & compile_environment)
+@depends(target, when=av1 & depends(system_av1)(lambda v: not v) & compile_environment)
def dav1d_nasm(target):
if target.cpu in ("x86", "x86_64"):
return namespace(version="2.14", what="AV1")
@@ -576,6 +591,7 @@ set_config("MOZ_DAV1D_ASM", dav1d_asm)
set_define("MOZ_DAV1D_ASM", dav1d_asm)
set_config("MOZ_AV1", av1)
set_define("MOZ_AV1", av1)
+set_config("MOZ_SYSTEM_AV1", depends_if(system_av1)(lambda _: True))
# Built-in fragmented MP4 support.
# ==============================================================
--
2.31.1

View File

@ -0,0 +1,55 @@
From b67daf06346038ed243b68e916126fa373043b15 Mon Sep 17 00:00:00 2001
From: Thomas Deutschmann <whissi@gentoo.org>
Date: Mon, 6 Apr 2020 20:27:06 +0200
Subject: [PATCH 21/35] bmo#1516081: Disable watchdog during PGO builds
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1516081
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
---
build/moz.configure/lto-pgo.configure | 4 ++--
toolkit/components/terminator/nsTerminator.cpp | 7 +++++++
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo.configure
index 2f32b11588..d55abb4934 100644
--- a/build/moz.configure/lto-pgo.configure
+++ b/build/moz.configure/lto-pgo.configure
@@ -85,7 +85,7 @@ set_config("PGO_PROFILE_PATH", pgo_profile_path)
def pgo_flags(compiler, profdata, target_is_windows):
if compiler.type == "gcc":
return namespace(
- gen_cflags=["-fprofile-generate"],
+ gen_cflags=["-fprofile-generate", "-DMOZ_PROFILE_INSTRUMENTATION"],
gen_ldflags=["-fprofile-generate"],
use_cflags=["-fprofile-use", "-fprofile-correction", "-Wcoverage-mismatch"],
use_ldflags=["-fprofile-use"],
@@ -99,7 +99,7 @@ def pgo_flags(compiler, profdata, target_is_windows):
else:
gen_ldflags = ["-fprofile-generate"]
- gen_cflags = [prefix + "-fprofile-generate"]
+ gen_cflags = [prefix + "-fprofile-generate", "-DMOZ_PROFILE_INSTRUMENTATION"]
if target_is_windows:
# native llvm-profdata.exe on Windows can't read profile data
# if name compression is enabled (which cross-compiling enables
diff --git a/toolkit/components/terminator/nsTerminator.cpp b/toolkit/components/terminator/nsTerminator.cpp
index c35dfed444..98dfe42369 100644
--- a/toolkit/components/terminator/nsTerminator.cpp
+++ b/toolkit/components/terminator/nsTerminator.cpp
@@ -418,6 +418,13 @@ void nsTerminator::StartWatchdog() {
}
#endif
+ // Disable watchdog for PGO train builds - writting profile information at
+ // exit may take time and it is better to make build hang rather than
+ // silently produce poorly performing binary.
+#ifdef MOZ_PROFILE_INSTRUMENTATION
+ crashAfterMS = INT32_MAX;
+#endif
+
UniquePtr<Options> options(new Options());
const PRIntervalTime ticksDuration = PR_MillisecondsToInterval(1000);
options->crashAfterTicks = crashAfterMS / ticksDuration;
--
2.29.2

View File

@ -0,0 +1,34 @@
From 101fa23ea5e98a3245bc48e6f8c3caa3c491b09e Mon Sep 17 00:00:00 2001
From: Thomas Deutschmann <whissi@gentoo.org>
Date: Sat, 29 Aug 2020 22:30:59 +0200
Subject: [PATCH 29/40] LTO: Only enable LTO for Rust when complete build uses
LTO
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
---
config/makefiles/rust.mk | 2 ++
1 file changed, 2 insertions(+)
diff --git a/config/makefiles/rust.mk b/config/makefiles/rust.mk
index 84d2adc6af..20b64c2e07 100644
--- a/config/makefiles/rust.mk
+++ b/config/makefiles/rust.mk
@@ -56,6 +56,7 @@ endif
# These flags are passed via `cargo rustc` and only apply to the final rustc
# invocation (i.e., only the top-level crate, not its dependencies).
cargo_rustc_flags = $(CARGO_RUSTCFLAGS)
+ifdef MOZ_LTO
ifndef DEVELOPER_OPTIONS
ifndef MOZ_DEBUG_RUST
# Enable link-time optimization for release builds, but not when linking
@@ -70,6 +71,7 @@ RUSTFLAGS += -Cembed-bitcode=yes
endif
endif
endif
+endif
ifdef CARGO_INCREMENTAL
export CARGO_INCREMENTAL
--
2.28.0

242
PKGBUILD
View File

@ -1,28 +1,28 @@
# Maintainer: dr460nf1r3 <dr460nf1r3@garudalinux.org>
# Maintainer: vnepogodin
# Contributor: Kyle De'Vir (QuartzDragon) <kyle[dot]devir[at]mykolab[dot]com>
# Contributor: Jonas Heinrich <onny@project-insanity.org>
# Contributor: Maxwell Anselm <silverhammermba+aur@gmail.com>
# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
# Contributor: Jakub Schmidtke <sjakub@gmail.com>
# Contributor: torvic9 AT mailbox DOT org
# Contributor: lsf
pkgname=firedragon
_pkgname=FireDragon
pkgver=89.0a1.r642117+
pkgrel=1
pkgdesc="Librewolf fork build using Nightly sources with custom branding, Proton UI rework & Fission enabled."
pkgver=88.0
pkgrel=2
pkgdesc="Librewolf fork build using custom branding, settings & KDE patches by OpenSUSE"
arch=(x86_64 aarch64)
backup=('usr/lib/firedragon/firedragon.cfg'
'usr/lib/firedragon/distribution/policies.json')
license=(MPL GPL LGPL)
url="https://gitlab.com/dr460nf1r3/settings/"
depends=(gtk3 libxt mime-types dbus-glib
ffmpeg nss-hg ttf-font libpulse whoogle
libvpx libjpeg zlib icu libevent libpipewire02)
makedepends=(unzip zip diffutils yasm mesa imake inetutils ccache
rust mozilla-common xorg-server-xwayland xorg-server-xvfb
autoconf2.13 mercurial clang llvm jack gtk2 nodejs cbindgen nasm
depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss nspr ttf-font libpulse
libwebp libvpx libjpeg zlib icu libevent libpipewire02 aom harfbuzz
graphite dav1d kfiredragonhelper)
makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb
rust ccache autoconf2.13 clang llvm jack gtk2 nodejs cbindgen nasm
python-setuptools python-psutil python-zstandard git binutils lld)
optdepends=('networkmanager: Location detection via available WiFi networks'
optdepends=('firejail: Sandboxing the browser using the included profiles'
'profile-sync-daemon: Load the browser profile into RAM'
'whoogle: Searching the web using a locally running Whoogle instance'
'searx: Searching the web using a locally running searX instance'
'networkmanager: Location detection via available WiFi networks'
'libnotify: Notification integration'
'pulseaudio: Audio support'
'speech-dispatcher: Text-to-Speech'
@ -31,63 +31,90 @@ optdepends=('networkmanager: Location detection via available WiFi networks'
'appmenu-gtk-module-git: Appmenu for GTK only'
'plasma5-applets-window-appmenu: Appmenu for Plasma only')
options=(!emptydirs !makeflags !strip)
replaces=('dragonwolf')
_linux_commit=e123b80f7df1ad9043435f345c426717ca323579
_repo=https://hg.mozilla.org/mozilla-unified
install=firedragon.install
source_x86_64=("hg+$_repo#revision=autoland"
replaces=('firedragon-stable')
conflicts=('firedragon-hg')
install=$pkgname.install
_arch_svn=https://git.archlinux.org/svntogit/packages.git/plain/trunk
_linux_commit=9e90fb3a9bc38aad9921530ee69ecabf6ac8c7bf
_settings_commit=1b9cc88ccf64993951fe28cf426cf883e37e1b4d
_mbrev=2377
_patchrevsuse=3fdf082cf93d94e4289e552cbd9988601044576a
_pfdate=20210419
_patchurl=https://raw.githubusercontent.com/openSUSE/firefox-maintenance/$_patchrevsuse
source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz
$pkgname.desktop
"git+https://gitlab.com/dr460nf1r3/common.git"
"git+https://gitlab.com/dr460nf1r3/settings.git"
remove_addons.patch
context-menu.patch
mozilla-vpn-ad.patch
builtin_js.patch)
source_aarch64=("hg+$_repo#revision=autoland"
$pkgname.desktop
"git+https://gitlab.com/dr460nf1r3/common.git"
"git+https://gitlab.com/dr460nf1r3/settings.git"
remove_addons.patch
context-menu.patch
arm.patch
build-arm-libopus.patch
mozilla-vpn-ad.patch
builtin_js.patch)
"remove_addons.patch::https://gitlab.com/librewolf-community/browser/linux/-/raw/${_linux_commit}/remove_addons.patch"
"context-menu.patch::https://gitlab.com/librewolf-community/browser/linux/-/raw/${_linux_commit}/context-menu.patch"
"unity-menubar.patch::https://gitlab.com/librewolf-community/browser/linux/-/raw/${_linux_commit}/unity-menubar.patch"
"mozilla-vpn-ad.patch::https://gitlab.com/librewolf-community/browser/linux/-/raw/${_linux_commit}/mozilla-vpn-ad.patch"
0001-Use-remoting-name-for-GDK-application-names.patch
firefox-kde-$_patchrevsuse.patch::$_patchurl/firefox/firefox-kde.patch
mozilla-kde-plasmafox88.patch
mozilla-nongnome-proxies-$_patchrevsuse.patch::$_patchurl/mozilla-nongnome-proxies.patch
0004-bmo-847568-Support-system-harfbuzz.patch
0005-bmo-847568-Support-system-graphite2.patch
0006-bmo-1559213-Support-system-av1.patch
0021-bmo-1516081-Disable-watchdog-during-PGO-builds.patch
0029-LTO-Only-enable-LTO-for-Rust-when-complete-build-use.patch
reduce-rust-debuginfo.patch)
source_aarch64=("arm.patch::https://gitlab.com/librewolf-community/browser/linux/-/raw/${_linux_commit}/arm.patch"
https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch)
sha512sums_x86_64=('SKIP'
'1688d8696f0a4451bc1211707362ca79d302ae0e8153be8326392b5617cb3944344e9d8fe17d0b1d5fe7df6d38fd44d4d33e3eb84e7b8763c37aeab4b2c26290'
sha256sums=('6b50dbfb393f843e4401e23965a1d8f7fd44b5a7628d95138294094094eee297'
'158152bdb9ef6a83bad62ae03a3d9bc8ae693b34926e53cc8c4de07df20ab22d'
'SKIP'
'SKIP'
'861e692daf2be7239eb6b61435688a7abed2bef198067f5b3a9c1a44d8316d1e547c06e1bfb45be402c4c38b1bf13018ba594d433c1b70da6296bd5b90b0fbe3'
'5f7da8d54065c009f94c60eb9aa99d4d44d75b27800bcad5e9f2a365e0c853cb234c871c54855522598b1fe26669bd42a302705ac385d536c90f4ec199cf1df6'
'43d008c63a6b90a3710c4e1bf6ccebcb0987316213fa993fd1bd4b47d9a5d553f51471467c9d9ab454911b9d6fb575e3035cd7a3f9e61dbb72fe3b0a3b20a066'
'25c9fa51d0ebfeea9ad88c83325dae1d0643499253946278ffeaf04b7d1aad61a76e24a5b0e1689877fa6fd5ca67135006dd8edecb54418012c826f94ca22555')
sha512sums_aarch64=('SKIP'
'1688d8696f0a4451bc1211707362ca79d302ae0e8153be8326392b5617cb3944344e9d8fe17d0b1d5fe7df6d38fd44d4d33e3eb84e7b8763c37aeab4b2c26290'
'SKIP'
'SKIP'
'861e692daf2be7239eb6b61435688a7abed2bef198067f5b3a9c1a44d8316d1e547c06e1bfb45be402c4c38b1bf13018ba594d433c1b70da6296bd5b90b0fbe3'
'5f7da8d54065c009f94c60eb9aa99d4d44d75b27800bcad5e9f2a365e0c853cb234c871c54855522598b1fe26669bd42a302705ac385d536c90f4ec199cf1df6'
'7c2f0c792eb5744eaf0f2ee7c0887a74118796d691029e824451b063d5ba9e65626617ad343f69837297b2002446e02ac1d5ab3bc470419ae092424abf08293f'
'6d464cce32cb2e440fb137666aeefec1240bcbdfdef0e8633e0fbe22e2214446b2c992ee2c8716c682a42fcd1d66d9fdf1d6d5b40f8ec3b0eeec5ca9e3f1aa35'
'43d008c63a6b90a3710c4e1bf6ccebcb0987316213fa993fd1bd4b47d9a5d553f51471467c9d9ab454911b9d6fb575e3035cd7a3f9e61dbb72fe3b0a3b20a066'
'25c9fa51d0ebfeea9ad88c83325dae1d0643499253946278ffeaf04b7d1aad61a76e24a5b0e1689877fa6fd5ca67135006dd8edecb54418012c826f94ca22555')
pkgver() {
cd mozilla-unified
printf "89.0a1.r%s" "$(hg identify -n)"
}
'af9d9341917cf3c5844fc46597ad2d842642c937c9be574bfacfe5c242b1114c'
'3bc57d97ef58c5e80f6099b0e82dab23a4404de04710529d8a8dd0eaa079afcd'
'85f037f794afee0c70840123960375a00f9cef08dd903ea038b6bb62e683b96f'
'f3fd29e24207d5cc83f9df6c9ffa960aabdab598ea59a61fec57e9947b1d8bc9'
'6ca7ff71cb4a7c72eca39769afe8e18ec81cba36d9b570df15fc243867049243'
'0ae5bce3da13b7f58e37be6d7115bef323256d776195279592f4371179497f8a'
'1bc7bd9c5af98071b89917a1421535c0313f07c1db72f6a9bd5f600d5b370b4d'
'fbd95cbcbc32673ef549b43b0d2de3ef0ef4fa303b6336e64993f2c8a73264e4'
'e17f631bc9b1873419ff10fef5fad6061e8695b961b6bb90616ec04444834608'
'00d3524f5361614fee7eb448a528a0b53833f0a328055e17e07ea38038e5aa70'
'be41698666dbd321884c35b661c3ac457ecc5bf699fe2374ad6ad9273c6489e4'
'82129e30512477232556e939ee8ed64b999b0e095001d043b121c5e5d334692c'
'1034a3edda8ffa889fcb4dcf57cb93f8f296f7c37e5cfcf1e5c6071a6f8f4261'
'923a9373afc019202c0c07a7cba47042e9ebc78cc2605baecd99602beeaf82ed')
sha256sums_aarch64=('6ca87d2ac7dc48e6f595ca49ac8151936afced30d268a831c6a064b52037f6b7'
'2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')
prepare() {
if [[ ! -d mozbuild ]];then
mkdir mozbuild
fi
cd mozilla-unified
cd firefox-$pkgver
#
# If you want to disable LTO/PGO (compile too long), delete the lines below beginning with
# `ac_add_options --enable-lto' and ending with 'export RANLIB=llvm-ranlib`
#
sed -i 's/\"BrowserApplication\"\, \"firefox\"/\"BrowserApplication\"\, \"firedragon\"/g' $srcdir/firefox-kde-$_patchrevsuse.patch
sed -i 's/kmozillahelper/kfiredragonhelper/g' $srcdir/mozilla-kde-plasmafox88.patch
# Arch patches
echo "---- Arch patches"
patch -Np1 -i ../0001-Use-remoting-name-for-GDK-application-names.patch
# KDE patches (W. Rosenauer)
echo "---- Patching for KDE"
patch -Np1 -i ../mozilla-nongnome-proxies-$_patchrevsuse.patch
patch -Np1 -i ../mozilla-kde-plasmafox88.patch
patch -Np1 -i ../firefox-kde-$_patchrevsuse.patch
# Gentoo patches
echo "---- Gentoo patches"
patch -Np1 -i ../0021-bmo-1516081-Disable-watchdog-during-PGO-builds.patch
patch -Np1 -i ../0029-LTO-Only-enable-LTO-for-Rust-when-complete-build-use.patch
# Use more system libs
echo "---- Patching for system libs"
patch -Np1 -i ../0004-bmo-847568-Support-system-harfbuzz.patch
patch -Np1 -i ../0005-bmo-847568-Support-system-graphite2.patch
patch -Np1 -i ../0006-bmo-1559213-Support-system-av1.patch
# Rust
patch -Np1 -i ../reduce-rust-debuginfo.patch
cat >../mozconfig <<END
ac_add_options --enable-application=browser
@ -99,8 +126,13 @@ ac_add_options --enable-hardening
ac_add_options --enable-rust-simd
ac_add_options --with-ccache
ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
export CC='clang'
export CXX='clang++'
export CC='clang --target=x86_64-pc-linux-gnu'
export CXX='clang++ --target=x86_64-pc-linux-gnu'
export RANLIB=llvm-ranlib
export STRIP=llvm-strip
export AR=llvm-ar
export NM=llvm-nm
export OBJCOPY='/usr/bin/llvm-objcopy'
# Branding
ac_add_options --enable-update-channel=nightly
@ -110,19 +142,25 @@ ac_add_options --with-branding=browser/branding/firedragon
ac_add_options --with-distribution-id=org.garudalinux
ac_add_options --with-unsigned-addon-scopes=app,system
ac_add_options --allow-addon-sideload
export MOZ_REQUIRE_SIGNING=1
export MOZ_APP_REMOTINGNAME=${pkgname//-/}
export MOZ_REQUIRE_SIGNING=0
export STRIP_FLAGS="--strip-debug --strip-unneeded"
# System libraries
ac_add_options --disable-libproxy
ac_add_options --enable-system-pixman
ac_add_options --with-system-av1
ac_add_options --with-system-ffi
ac_add_options --with-system-graphite2
ac_add_options --with-system-harfbuzz
ac_add_options --with-system-icu
ac_add_options --with-system-jpeg
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-libvpx
ac_add_options --with-system-libevent
ac_add_options --with-system-icu
ac_add_options --with-system-webp
ac_add_options --with-system-zlib
ac_add_options --with-system-jpeg
# Features
ac_add_options --enable-pulseaudio
@ -185,24 +223,20 @@ ac_add_options --enable-optimize
END
fi
# Fix build-time error
patch -p1 -i ../builtin_js.patch
# Remove some pre-installed addons that might be questionable
patch -p1 -i ../remove_addons.patch
# Remove mozilla vpn ads
patch -p1 -i ../mozilla-vpn-ad.patch
# To enable global menubar
# Set these to true
# browser.proton.appmenu.enabled
# Debian patch to enable global menubar
patch -p1 -i ../unity-menubar.patch
# Disabling Pocket
sed -i "s/'pocket'/#'pocket'/g" browser/components/moz.build
sed -i 's/"pocket"/# "pocket"/g' browser/components/moz.build
patch -p1 -i ../context-menu.patch
# remove mozilla vpn ads
patch -p1 -i ../mozilla-vpn-ad.patch
# this one only to remove an annoying error message:
sed -i 's#SaveToPocket.init();#// SaveToPocket.init();#g' browser/components/BrowserGlue.jsm
@ -228,15 +262,15 @@ fi
cp -r ${srcdir}/common/source_files/* ./
}
build() {
cd mozilla-unified
export MOZ_SOURCE_REPO="$_repo"
build() {
cd firefox-$pkgver
export MOZ_NOSPAM=1
export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
export MACH_USE_SYSTEM_PYTHON=1
# LTO/PGO needs more open files
# LTO needs more open files
ulimit -n 4096
# -fno-plt with cross-LTO causes obscure LLVM errors
@ -315,36 +349,32 @@ fi
}
package() {
cd mozilla-unified
cd firefox-$pkgver
DESTDIR="$pkgdir" ./mach install
install -Dvm644 "$srcdir/settings/$pkgname.profile" "$pkgdir/etc/firejail/$pkgname.profile"
install -Dvm644 "$srcdir/settings/$pkgname-common-addons.profile" "$pkgdir/etc/firejail/$pkgname-common-addons.profile"
install -Dvm644 "$srcdir/settings/$pkgname-common.profile" "$pkgdir/etc/firejail/$pkgname-common.profile"
install -Dvm644 "$srcdir/settings/$pkgname.psd" "$pkgdir/usr/share/psd/browsers/firedragon"
install -Dvm644 "$srcdir/settings/$pkgname.psd" "$pkgdir/usr/share/psd/browsers/$pkgname"
rm "$pkgdir"/usr/lib/${pkgname}/pingsender
_vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js"
install -Dm644 /dev/stdin "$_vendorjs" <<END
// Use LANG environment variable to choose locale
pref("intl.locale.requested", "");
local vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js"
install -Dvm644 /dev/stdin "$vendorjs" <<END
// Use system-provided dictionaries
pref("spellchecker.dictionary_path", "/usr/share/hunspell");
// Don't disable extensions in the application directory
// done in dragonwolf.cfg
// done in librewolf.cfg
// pref("extensions.autoDisableScopes", 11);
END
# cd ${srcdir}/settings
# git checkout ${_settings_commit}
cd ${srcdir}/mozilla-unified
cd ${srcdir}/firefox-$pkgver
cp -r ${srcdir}/settings/* ${pkgdir}/usr/lib/${pkgname}/
_distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
install -Dm644 /dev/stdin "$_distini" <<END
local distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
install -Dvm644 /dev/stdin "$distini" <<END
[Global]
id=garudalinux
version=1.0
@ -357,27 +387,31 @@ app.partner.garudalinux=garudalinux
END
for i in 16 32 48 64 128; do
install -Dm644 browser/branding/${pkgname}/default$i.png \
install -Dvm644 browser/branding/${pkgname}/default$i.png \
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png"
done
install -Dm644 browser/branding/official/content/about-logo.png \
install -Dvm644 browser/branding/${pkgname}/content/about-logo.png \
"$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png"
# arch upstream provides a separate svg for this. we don't have that, so let's re-use 16.png
install -Dm644 browser/branding/${pkgname}/default16.png \
install -Dvm644 browser/branding/${pkgname}/default16.png \
"$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.png"
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/$pkgname "\$@"
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/$pkgname-bin"
ln -srfv "$pkgdir/usr/bin/$pkgname" "$pkgdir/usr/lib/$pkgname/$pkgname-bin"
# Use system certificates
local nssckbi="$pkgdir/usr/lib/$pkgname/libnssckbi.so"
if [[ -e $nssckbi ]]; then
ln -srfv "$pkgdir/usr/lib/libnssckbi.so" "$nssckbi"
fi
}

View File

@ -1,12 +0,0 @@
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
index f8977a6..34f52fc 100644
--- a/js/src/wasm/WasmSignalHandlers.cpp
+++ b/js/src/wasm/WasmSignalHandlers.cpp
@@ -247,7 +247,7 @@ using mozilla::DebugOnly;
// If you run into compile problems on a tier-3 platform, you can disable the
// emulation here.
-#if defined(__linux__) && defined(__arm__)
+#if 0 && defined(__linux__) && defined(__arm__)
# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
#endif

View File

@ -1,12 +0,0 @@
diff -up a/media/libopus/silk/arm/arm_silk_map.c b/media/libopus/silk/arm/arm_silk_map.c
index 18d73db..7911576 100644
--- a/media/libopus/silk/arm/arm_silk_map.c
+++ b/media/libopus/silk/arm/arm_silk_map.c
@@ -28,7 +28,7 @@ POSSIBILITY OF SUCH DAMAGE.
# include "config.h"
#endif
-#include "main_FIX.h"
+#include "fixed/main_FIX.h"
#include "NSQ.h"
#include "SigProc_FIX.h"

View File

@ -1,21 +0,0 @@
diff --git a/js/src/builtin/TestingFunctions.cpp b/js/src/builtin/TestingFunctions.cpp
index 9189ceb214..eee87893e4 100644
--- a/js/src/builtin/TestingFunctions.cpp
+++ b/js/src/builtin/TestingFunctions.cpp
@@ -7382,16 +7382,6 @@ JS_FOR_WASM_FEATURES(WASM_FEATURE, WASM_FEATURE)
"helperThreadCount()",
" Returns the number of helper threads available for off-thread tasks."),
- JS_FN_HELP("createShapeSnapshot", CreateShapeSnapshot, 1, 0,
-"createShapeSnapshot(obj)",
-" Returns an object containing a shape snapshot for use with\n"
-" checkShapeSnapshot.\n"),
-
- JS_FN_HELP("checkShapeSnapshot", CheckShapeSnapshot, 2, 0,
-"checkShapeSnapshot(snapshot, [obj])",
-" Check shape invariants based on the given snapshot and optional object.\n"
-" If there's no object argument, the snapshot's object is used.\n"),
-
JS_FN_HELP("enableShapeConsistencyChecks", EnableShapeConsistencyChecks, 0, 0,
"enableShapeConsistencyChecks()",
" Enable some slow Shape assertions.\n"),

View File

@ -1,22 +0,0 @@
diff --git a/browser/base/content/browser-context.inc b/browser/base/content/browser-context.inc
index 8e44d005f4..abf133843f 100644
--- a/browser/base/content/browser-context.inc
+++ b/browser/base/content/browser-context.inc
@@ -107,9 +107,6 @@
<menuitem id="context-savelink"
data-l10n-id="main-context-menu-save-link"
oncommand="gContextMenu.saveLink();"/>
- <menuitem id="context-savelinktopocket"
- data-l10n-id="main-context-menu-save-link-to-pocket"
- oncommand= "Pocket.savePage(gContextMenu.browser, gContextMenu.linkURL);"/>
<menuitem id="context-copyemail"
data-l10n-id="main-context-menu-copy-email"
oncommand="gContextMenu.copyEmail();"/>
@@ -259,7 +256,4 @@
<menuitem id="context-savepage"
data-l10n-id="main-context-menu-page-save"
oncommand="gContextMenu.savePageAs();"/>
- <menuitem id="context-pocket"
- data-l10n-id="main-context-menu-save-to-pocket"
- oncommand="Pocket.savePage(gContextMenu.browser, gContextMenu.browser.currentURI.spec, gContextMenu.browser.contentTitle);"/>
<menu id="context-sendpagetodevice"

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +0,0 @@
diff --git a/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html b/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
index 4d22812723..2542791b9b 100644
--- a/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
+++ b/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
@@ -54,11 +54,7 @@
<div class="info">
<h1 data-l10n-id="about-private-browsing-info-title"></h1>
<p data-l10n-id="about-private-browsing-info-description"></p>
- <a id="private-browsing-myths" data-l10n-id="about-private-browsing-info-myths"></a>
</div>
</div>
-
- <p id="private-browsing-vpn-text" class="vpn-promo" data-l10n-id="about-private-browsing-need-more-privacy"></p>
- <a id="private-browsing-vpn-link" class="vpn-promo" data-l10n-id="about-private-browsing-turn-on-vpn"></a>
</body>
</html>

View File

@ -0,0 +1,21 @@
Description: reduce the rust debuginfo level
because compiling with debuginfo=2 causes the OOM killer to interrupt the build
on launchpad builders. Initially this was only on 32 bit architectures, but
with firefox 63 it started happening frequently on arm64 and ppc64el too,
with newer versions it started happening very frequently on s390x too, and with
firefox 84 (built with rustc 1.47) it started happening on amd64 too.
This patch would initially decrease debug_info for selected architectures, but
with recent versions of rustc pretty much all supported architectures are
affected, so it is now unconditional.
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -2167,7 +2167,7 @@ def rust_compile_flags(opt_level, debug_
debug_assertions = False
if debug_symbols:
- debug_info = "2"
+ debug_info = "1"
opts = []

View File

@ -1,74 +0,0 @@
diff --git a/browser/extensions/moz.build b/browser/extensions/moz.build
index 269dcb2..ed7c31d 100644
--- a/browser/extensions/moz.build
+++ b/browser/extensions/moz.build
@@ -5,10 +5,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
DIRS += [
- "doh-rollout",
"formautofill",
"screenshots",
- "webcompat",
- "report-site-issue",
"pictureinpicture",
]
diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
index 496379c..dd6f359 100644
--- a/browser/locales/Makefile.in
+++ b/browser/locales/Makefile.in
@@ -61,7 +61,6 @@ l10n-%:
ifneq (,$(wildcard ../extensions/formautofill/locales))
@$(MAKE) -C ../extensions/formautofill/locales AB_CD=$* XPI_NAME=locale-$*
endif
- @$(MAKE) -C ../extensions/report-site-issue/locales AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../../devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) -C ../../devtools/startup/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) l10n AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
@@ -82,7 +81,6 @@ endif
@$(MAKE) -C ../../devtools/startup/locales chrome AB_CD=$*
@$(MAKE) chrome AB_CD=$*
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*
- @$(MAKE) -C ../extensions/report-site-issue/locales chrome AB_CD=$*
package-win32-installer: $(SUBMAKEFILES)
$(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen ZIP_IN='$(ZIP_OUT)' installer
diff --git a/browser/locales/filter.py b/browser/locales/filter.py
index bb2e992..7d7768e 100644
--- a/browser/locales/filter.py
+++ b/browser/locales/filter.py
@@ -20,7 +20,6 @@ def test(mod, path, entity=None):
"browser",
"browser/extensions/formautofill",
"browser/extensions/fxmonitor",
- "browser/extensions/report-site-issue",
"extensions/spellcheck",
"other-licenses/branding/firefox",
"browser/branding/official",
diff --git a/browser/locales/l10n.ini b/browser/locales/l10n.ini
index f4cb7ca..4efac13 100644
--- a/browser/locales/l10n.ini
+++ b/browser/locales/l10n.ini
@@ -14,7 +14,6 @@ dirs = browser
devtools/startup
browser/extensions/formautofill
browser/extensions/fxmonitor
- browser/extensions/report-site-issue
[includes]
# non-central apps might want to use %(topsrcdir)s here, or other vars
diff --git a/browser/locales/l10n.toml b/browser/locales/l10n.toml
index b9b18fe..af7c583 100644
--- a/browser/locales/l10n.toml
+++ b/browser/locales/l10n.toml
@@ -133,10 +133,6 @@ locales = [
reference = "browser/extensions/fxmonitor/locales/en-US/**"
l10n = "{l}browser/extensions/fxmonitor/**"
-[[paths]]
- reference = "browser/extensions/report-site-issue/locales/en-US/**"
- l10n = "{l}browser/extensions/report-site-issue/**"
-
[[paths]]
reference = "services/sync/locales/en-US/**"
l10n = "{l}services/sync/**"