diff --git a/.SRCINFO b/.SRCINFO index 67052f4..d82c53e 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = firedragon pkgdesc = Librewolf fork build using custom branding, settings & KDE patches by OpenSUSE - pkgver = 88.0.1 - pkgrel = 4 + pkgver = 89.0 + pkgrel = 1 url = https://gitlab.com/dr460nf1r3/settings/ install = firedragon.install arch = x86_64 @@ -73,37 +73,13 @@ pkgbase = firedragon options = !strip backup = usr/lib/firedragon/firedragon.cfg backup = usr/lib/firedragon/distribution/policies.json - source = https://archive.mozilla.org/pub/firefox/releases/88.0.1/source/firefox-88.0.1.source.tar.xz + source = https://archive.mozilla.org/pub/firefox/releases/89.0/source/firefox-89.0.source.tar.xz source = firedragon.desktop source = git+https://gitlab.com/dr460nf1r3/common.git source = git+https://gitlab.com/dr460nf1r3/settings.git - source = 0001-Use-remoting-name-for-GDK-application-names.patch - source = firefox-kde-aedbca44a8a2958947bed31f28e3083ac0496f4a.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/aedbca44a8a2958947bed31f28e3083ac0496f4a/firefox/firefox-kde.patch - source = mozilla-kde-aedbca44a8a2958947bed31f28e3083ac0496f4a.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/aedbca44a8a2958947bed31f28e3083ac0496f4a/mozilla-kde.patch - source = mozilla-nongnome-proxies-aedbca44a8a2958947bed31f28e3083ac0496f4a.patch::https://raw.githubusercontent.com/openSUSE/firefox-maintenance/aedbca44a8a2958947bed31f28e3083ac0496f4a/mozilla-nongnome-proxies.patch - source = fix-hidden-buttons-with-csd-menubar.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 = 83df1eae0e28fe99661fd5d39d705cdab2e108b4a24ce12c2db6183c632804cc + sha256sums = db43d7d5796455051a5b847f6daa3423393803c9288c8b6d7f1186f5e2e0a90a sha256sums = 158152bdb9ef6a83bad62ae03a3d9bc8ae693b34926e53cc8c4de07df20ab22d sha256sums = SKIP sha256sums = SKIP - sha256sums = 6ca7ff71cb4a7c72eca39769afe8e18ec81cba36d9b570df15fc243867049243 - sha256sums = 0ae5bce3da13b7f58e37be6d7115bef323256d776195279592f4371179497f8a - sha256sums = 9843662fd9b766801a70bdef22bb996a1abd9d7c3781f1fb58b7034e575350a1 - sha256sums = fbd95cbcbc32673ef549b43b0d2de3ef0ef4fa303b6336e64993f2c8a73264e4 - sha256sums = 482935782429b30f5e1581347a9a798705068c40f20bf4eee9304a254fd81bc8 - sha256sums = e17f631bc9b1873419ff10fef5fad6061e8695b961b6bb90616ec04444834608 - sha256sums = 00d3524f5361614fee7eb448a528a0b53833f0a328055e17e07ea38038e5aa70 - sha256sums = be41698666dbd321884c35b661c3ac457ecc5bf699fe2374ad6ad9273c6489e4 - sha256sums = 82129e30512477232556e939ee8ed64b999b0e095001d043b121c5e5d334692c - sha256sums = 1034a3edda8ffa889fcb4dcf57cb93f8f296f7c37e5cfcf1e5c6071a6f8f4261 - sha256sums = 923a9373afc019202c0c07a7cba47042e9ebc78cc2605baecd99602beeaf82ed - source_aarch64 = https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch - sha256sums_aarch64 = 2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9 pkgname = firedragon 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 de41026..0000000 --- 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)" -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); - } - } - } diff --git a/0004-bmo-847568-Support-system-harfbuzz.patch b/0004-bmo-847568-Support-system-harfbuzz.patch deleted file mode 100644 index 4fbf1e1..0000000 --- a/0004-bmo-847568-Support-system-harfbuzz.patch +++ /dev/null @@ -1,182 +0,0 @@ -From 668d2c268e2c19c9409e786f68ef42992323cb52 Mon Sep 17 00:00:00 2001 -From: Thomas Deutschmann -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 ---- - 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 diff --git a/0005-bmo-847568-Support-system-graphite2.patch b/0005-bmo-847568-Support-system-graphite2.patch deleted file mode 100644 index 55b1550..0000000 --- a/0005-bmo-847568-Support-system-graphite2.patch +++ /dev/null @@ -1,207 +0,0 @@ -From e1584f433b876c7d8fe7375ab7a7ea2af76d07bb Mon Sep 17 00:00:00 2001 -From: Thomas Deutschmann -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 ---- - 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///;s/Windows.h/windows.h/;" {} \; - #find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s///;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 -+ #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 diff --git a/0006-bmo-1559213-Support-system-av1.patch b/0006-bmo-1559213-Support-system-av1.patch deleted file mode 100644 index 1844f64..0000000 --- a/0006-bmo-1559213-Support-system-av1.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 5abc4e0e050beb42c18f102803388d07d7c577f2 Mon Sep 17 00:00:00 2001 -From: Thomas Deutschmann -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 ---- - 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 diff --git a/0021-bmo-1516081-Disable-watchdog-during-PGO-builds.patch b/0021-bmo-1516081-Disable-watchdog-during-PGO-builds.patch deleted file mode 100644 index f421564..0000000 --- a/0021-bmo-1516081-Disable-watchdog-during-PGO-builds.patch +++ /dev/null @@ -1,55 +0,0 @@ -From b67daf06346038ed243b68e916126fa373043b15 Mon Sep 17 00:00:00 2001 -From: Thomas Deutschmann -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 ---- - 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(new Options()); - const PRIntervalTime ticksDuration = PR_MillisecondsToInterval(1000); - options->crashAfterTicks = crashAfterMS / ticksDuration; --- -2.29.2 - diff --git a/0029-LTO-Only-enable-LTO-for-Rust-when-complete-build-use.patch b/0029-LTO-Only-enable-LTO-for-Rust-when-complete-build-use.patch deleted file mode 100644 index 23d36c7..0000000 --- a/0029-LTO-Only-enable-LTO-for-Rust-when-complete-build-use.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 101fa23ea5e98a3245bc48e6f8c3caa3c491b09e Mon Sep 17 00:00:00 2001 -From: Thomas Deutschmann -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 ---- - 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 - diff --git a/PKGBUILD b/PKGBUILD index e238d97..4cf383a 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -4,8 +4,8 @@ pkgname=firedragon _pkgname=FireDragon -pkgver=88.0.1 -pkgrel=4 +pkgver=89.0 +pkgrel=1 pkgdesc="Librewolf fork build using custom branding, settings & KDE patches by OpenSUSE" arch=(x86_64 aarch64) backup=('usr/lib/firedragon/firedragon.cfg' @@ -34,45 +34,20 @@ options=(!emptydirs !makeflags !strip) conflicts=('firedragon-hg') install=$pkgname.install _arch_svn=https://git.archlinux.org/svntogit/packages.git/plain/trunk -_common_commit=5bce5285fa7046e6987ec3e5a8931ac17ca6c7c0 _settings_commit=c78c50fbefe2fcf830611e21dcc0fe79180d1e01 _mbrev=2389 _patchrevsuse=aedbca44a8a2958947bed31f28e3083ac0496f4a -_pfdate=20210420 +_pfdate=20210531 _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" - firefox-kde-$_patchrevsuse.patch::$_patchurl/firefox/firefox-kde.patch - mozilla-kde-$_patchrevsuse.patch::$_patchurl/mozilla-kde.patch - mozilla-nongnome-proxies-$_patchrevsuse.patch::$_patchurl/mozilla-nongnome-proxies.patch - fix-hidden-buttons-with-csd-menubar.patch - 0001-Use-remoting-name-for-GDK-application-names.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=(https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch) + "git+https://gitlab.com/dr460nf1r3/settings.git") -sha256sums=('83df1eae0e28fe99661fd5d39d705cdab2e108b4a24ce12c2db6183c632804cc' +sha256sums=('db43d7d5796455051a5b847f6daa3423393803c9288c8b6d7f1186f5e2e0a90a' '158152bdb9ef6a83bad62ae03a3d9bc8ae693b34926e53cc8c4de07df20ab22d' 'SKIP' - 'SKIP' - '0ae5bce3da13b7f58e37be6d7115bef323256d776195279592f4371179497f8a' - '9843662fd9b766801a70bdef22bb996a1abd9d7c3781f1fb58b7034e575350a1' - 'fbd95cbcbc32673ef549b43b0d2de3ef0ef4fa303b6336e64993f2c8a73264e4' - '482935782429b30f5e1581347a9a798705068c40f20bf4eee9304a254fd81bc8' - '6ca7ff71cb4a7c72eca39769afe8e18ec81cba36d9b570df15fc243867049243' - 'e17f631bc9b1873419ff10fef5fad6061e8695b961b6bb90616ec04444834608' - '00d3524f5361614fee7eb448a528a0b53833f0a328055e17e07ea38038e5aa70' - 'be41698666dbd321884c35b661c3ac457ecc5bf699fe2374ad6ad9273c6489e4' - '82129e30512477232556e939ee8ed64b999b0e095001d043b121c5e5d334692c' - '1034a3edda8ffa889fcb4dcf57cb93f8f296f7c37e5cfcf1e5c6071a6f8f4261' - '923a9373afc019202c0c07a7cba47042e9ebc78cc2605baecd99602beeaf82ed') -sha256sums_aarch64=('2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9') + 'SKIP') prepare() { if [[ ! -d mozbuild ]];then @@ -82,35 +57,62 @@ prepare() { local _patches_dir="${srcdir}/common/patches" - sed -i 's/\"BrowserApplication\"\, \"firefox\"/\"BrowserApplication\"\, \"firedragon\"/g' $srcdir/firefox-kde-$_patchrevsuse.patch - sed -i 's/kmozillahelper/kfiredragonhelper/g' $srcdir/mozilla-kde-$_patchrevsuse.patch + sed -i 's/\"BrowserApplication\"\, \"firefox\"/\"BrowserApplication\"\, \"firedragon\"/g' ${_patches_dir}/kde/firefox-kde.patch + sed -i 's/kmozillahelper/kfiredragonhelper/g' ${_patches_dir}/kde/mozilla-kde.patch # Arch patches echo "---- Arch patches" - patch -Np1 -i ../0001-Use-remoting-name-for-GDK-application-names.patch + patch -Np1 -i ${_patches_dir}/arch/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-$_patchrevsuse.patch - patch -Np1 -i ../firefox-kde-$_patchrevsuse.patch + patch -Np1 -i ${_patches_dir}/kde/mozilla-nongnome-proxies.patch + patch -Np1 -i ${_patches_dir}/kde/mozilla-kde.patch + patch -Np1 -i ${_patches_dir}/kde/firefox-kde.patch # Ubuntu patches - patch -Np1 -i ../fix-hidden-buttons-with-csd-menubar.patch + echo "---- Misc patches" + patch -Np1 -i ${_patches_dir}/misc/fix-hidden-buttons-with-csd-menubar.patch + # Rust + patch -Np1 -i ${_patches_dir}/misc/reduce-rust-debuginfo.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 + patch -Np1 -i ${_patches_dir}/gentoo/0021-bmo-1516081-Disable-watchdog-during-PGO-builds.patch + patch -Np1 -i ${_patches_dir}/gentoo/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 + patch -Np1 -i ${_patches_dir}/gentoo/0004-bmo-847568-Support-system-harfbuzz.patch + patch -Np1 -i ${_patches_dir}/gentoo/0005-bmo-847568-Support-system-graphite2.patch + patch -Np1 -i ${_patches_dir}/gentoo/0006-bmo-1559213-Support-system-av1.patch + + # Remove some pre-installed addons that might be questionable + echo "---- Librewolf patches" + patch -Np1 -i ${_patches_dir}/librewolf/remove_addons.patch + + # Disable (some) megabar functionality + # Adapted from https://github.com/WesleyBranton/userChrome.css-Customizations + patch -Np1 -i ${_patches_dir}/librewolf/megabar.patch + + # Debian patch to enable global menubar + patch -Np1 -i ${_patches_dir}/librewolf/unity-menubar.patch + + # Disabling Pocket + patch -Np1 -i ${_patches_dir}/sed-patches/disable-pocket.patch + + # Remove Mozilla VPN ads + patch -Np1 -i ${_patches_dir}/librewolf/mozilla-vpn-ad.patch + + # Remove Internal Plugin Certificates + patch -Np1 -i ${_patches_dir}/sed-patches/remove-internal-plugin-certs.patch + + # Allow SearchEngines option in non-ESR builds + patch -Np1 -i ${_patches_dir}/sed-patches/allow-searchengines-non-esr.patch + + # Stop some undesired requests (https://gitlab.com/librewolf-community/browser/common/-/issues/10) + patch -Np1 -i ${_patches_dir}/sed-patches/stop-undesired-requests.patch cat >../mozconfig < .titlebar-buttonbox-container { -- visibility: hidden; -+ visibility: visible; - } - %endif - diff --git a/reduce-rust-debuginfo.patch b/reduce-rust-debuginfo.patch deleted file mode 100644 index 12183ca..0000000 --- a/reduce-rust-debuginfo.patch +++ /dev/null @@ -1,21 +0,0 @@ - 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 = [] -