diff options
-rw-r--r-- | .SRCINFO | 14 | ||||
-rw-r--r-- | PKGBUILD | 22 | ||||
-rw-r--r-- | no-relinking.patch | 41 | ||||
-rw-r--r-- | unity-menubar.patch | 105 | ||||
-rwxr-xr-x | upload-symbol-archive | 25 |
5 files changed, 66 insertions, 141 deletions
@@ -1,6 +1,6 @@ pkgbase = firefox-appmenu pkgdesc = Firefox from extra with appmenu patch - pkgver = 71.0 + pkgver = 72.0.1 pkgrel = 1 url = https://www.mozilla.org/firefox/ arch = x86_64 @@ -41,23 +41,21 @@ pkgbase = firefox-appmenu optdepends = pulseaudio: Audio support optdepends = speech-dispatcher: Text-to-Speech optdepends = hunspell-en_US: Spell checking, American English - provides = firefox=71.0 + provides = firefox=72.0.1 options = !emptydirs options = !makeflags options = !strip - source = https://archive.mozilla.org/pub/firefox/releases/71.0/source/firefox-71.0.source.tar.xz - source = https://archive.mozilla.org/pub/firefox/releases/71.0/source/firefox-71.0.source.tar.xz.asc - source = https://github.com/nikatar/AUR/raw/master/firefox-appmenu_source/0001-Bug-1212502-Switch-mozinfo-to-using-the-distro-packa.patch + source = https://archive.mozilla.org/pub/firefox/releases/72.0.1/source/firefox-72.0.1.source.tar.xz + source = https://archive.mozilla.org/pub/firefox/releases/72.0.1/source/firefox-72.0.1.source.tar.xz.asc source = 0001-Use-remoting-name-for-GDK-application-names.patch source = firefox.desktop source = unity-menubar.patch validpgpkeys = 14F26682D0916CDD81E37B6D61B7B526D98F0353 - sha256sums = 78304cd58229e7103b56b34718aad051c9a4db30c266512a64f501ba58da7fbe + sha256sums = 1fa59aedc8469c3e6ffb12449ab7de2f93776f7679eedebfb74aa309b694956f sha256sums = SKIP - sha256sums = 33f5aec0bba83b23410176c5351425d2ad949d7f0bf409a579be25bebb773fce sha256sums = 5f7ac724a5c5afd9322b1e59006f4170ea5354ca1e0e60dab08b7784c2d8463c sha256sums = e466789015e15be9409b7a7044353674ca6aa0f392e882217f90c79821fe2630 - sha256sums = 73b9804393381f2c278eff63fecbd05035264dbb2aa68dd263a14db9f981a668 + sha256sums = 70b756e17d41f07c2160faa606c1b86f28ff07acc9b5d324d11bc7de300d6c82 pkgname = firefox-appmenu @@ -5,7 +5,7 @@ pkgname=firefox-appmenu _pkgname=firefox -pkgver=71.0 +pkgver=72.0.1 pkgrel=1 pkgdesc="Firefox from extra with appmenu patch" arch=(x86_64) @@ -25,16 +25,14 @@ provides=("firefox=$pkgver") conflict=("firefox") options=(!emptydirs !makeflags !strip) source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz{,.asc} - https://github.com/nikatar/AUR/raw/master/firefox-appmenu_source/0001-Bug-1212502-Switch-mozinfo-to-using-the-distro-packa.patch 0001-Use-remoting-name-for-GDK-application-names.patch $_pkgname.desktop unity-menubar.patch) -sha256sums=('78304cd58229e7103b56b34718aad051c9a4db30c266512a64f501ba58da7fbe' +sha256sums=('1fa59aedc8469c3e6ffb12449ab7de2f93776f7679eedebfb74aa309b694956f' 'SKIP' - '33f5aec0bba83b23410176c5351425d2ad949d7f0bf409a579be25bebb773fce' '5f7ac724a5c5afd9322b1e59006f4170ea5354ca1e0e60dab08b7784c2d8463c' 'e466789015e15be9409b7a7044353674ca6aa0f392e882217f90c79821fe2630' - '73b9804393381f2c278eff63fecbd05035264dbb2aa68dd263a14db9f981a668') + '70b756e17d41f07c2160faa606c1b86f28ff07acc9b5d324d11bc7de300d6c82') validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release@mozilla.com> # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) @@ -53,9 +51,6 @@ prepare() { mkdir mozbuild cd firefox-$pkgver - # Make it compile with Python 3.8 - patch -Np1 -i ../0001-Bug-1212502-Switch-mozinfo-to-using-the-distro-packa.patch - # https://bugzilla.mozilla.org/show_bug.cgi?id=1530052 patch -Np1 -i ../0001-Use-remoting-name-for-GDK-application-names.patch @@ -163,7 +158,6 @@ END ./mach buildsymbols } - package() { cd firefox-$pkgver DESTDIR="$pkgdir" ./mach install @@ -197,16 +191,16 @@ app.distributor.channel=$_pkgname app.partner.archlinux=archlinux END - local i + local i theme=official for i in 16 22 24 32 48 64 128 256; do - install -Dvm644 browser/branding/official/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/official/content/about-logo.png \ + install -Dvm644 browser/branding/$theme/content/about-logo.png \ "$pkgdir/usr/share/icons/hicolor/192x192/apps/$_pkgname.png" - install -Dvm644 browser/branding/official/content/about-logo@2x.png \ + install -Dvm644 browser/branding/$theme/content/about-logo@2x.png \ "$pkgdir/usr/share/icons/hicolor/384x384/apps/$_pkgname.png" - install -Dvm644 ../firefox-symbolic.svg \ + install -Dvm644 browser/branding/$theme/content/identity-icons-brand.svg \ "$pkgdir/usr/share/icons/hicolor/symbolic/apps/$_pkgname-symbolic.svg" install -Dvm644 ../$_pkgname.desktop \ diff --git a/no-relinking.patch b/no-relinking.patch deleted file mode 100644 index 6dd988402d9c..000000000000 --- a/no-relinking.patch +++ /dev/null @@ -1,41 +0,0 @@ - -# HG changeset patch -# User Mike Shal <mshal@mozilla.com> -# Date 1570127498 25200 -# Node ID b8bc2504f108d8a2216ee11405cbbe4cf7a0eaec -# Parent 9a4d6aacc48080f019024c02ac7da1fd576b39fe -Bug XYZ - Only force re-linking on 1-tier PGO builds; r?#firefox-build-system-reviewers - - -diff --git a/config/rules.mk b/config/rules.mk ---- a/config/rules.mk -+++ b/config/rules.mk -@@ -465,25 +465,27 @@ ifeq ($(OS_ARCH)_$(GNU_CC), WINNT_) - $(foreach pgd,$(wildcard *.pgd),pgomgr -clear $(pgd);) - else - ifdef GNU_CC - -$(RM) *.gcda - endif - endif - endif - -+ifdef MOZ_1TIER_PGO - ifneq (,$(MOZ_PROFILE_GENERATE)$(MOZ_PROFILE_USE)) - ifneq (,$(filter target,$(MAKECMDGOALS))) - ifdef GNU_CC - # Force rebuilding libraries and programs in both passes because each - # pass uses different object files. - $(PROGRAM) $(SHARED_LIBRARY) $(LIBRARY): FORCE - endif - endif - endif -+endif - - endif # NO_PROFILE_GUIDED_OPTIMIZE - - ############################################## - - clean clobber realclean clobber_all:: - -$(RM) $(ALL_TRASH) - -$(RM) -r $(ALL_TRASH_DIRS) - diff --git a/unity-menubar.patch b/unity-menubar.patch index e43298b7e5d4..2be5af7fa76e 100644 --- a/unity-menubar.patch +++ b/unity-menubar.patch @@ -14,7 +14,7 @@ <menu id="file-menu" data-l10n-id="menu-file"> --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js -@@ -6801,11 +6801,17 @@ function onViewToolbarsPopupShowing(aEve +@@ -6463,11 +6463,17 @@ function onViewToolbarsPopupShowing(aEve let toolbarNodes = gNavToolbox.querySelectorAll("toolbar"); @@ -70,7 +70,7 @@ nsINode* XULPopupElement::GetTriggerNode() const { --- a/dom/xul/moz.build +++ b/dom/xul/moz.build -@@ -77,6 +77,11 @@ LOCAL_INCLUDES += [ +@@ -82,6 +82,11 @@ LOCAL_INCLUDES += [ include('/ipc/chromium/chromium-config.mozbuild') @@ -84,7 +84,7 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc'): --- a/layout/build/moz.build +++ b/layout/build/moz.build -@@ -70,6 +70,10 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'an +@@ -69,6 +69,10 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'an '/dom/system', '/dom/system/android', ] @@ -97,7 +97,7 @@ 'components.conf', --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js -@@ -327,6 +327,9 @@ pref("dom.inputevent.datatransfer.enable +@@ -311,6 +311,9 @@ pref("dom.mouseevent.click.hack.use_lega // of content viewers to cache based on the amount of available memory. pref("browser.sessionhistory.max_total_viewers", -1); @@ -109,19 +109,14 @@ pref("ui.android.mouse_as_touch", 1); --- a/toolkit/content/xul.css +++ b/toolkit/content/xul.css -@@ -212,6 +212,18 @@ toolbar[type="menubar"] { +@@ -201,6 +201,13 @@ toolbar[type="menubar"] { } %endif +%ifdef MOZ_WIDGET_GTK -+window[shellshowingmenubar="true"] menubar { -+ display: none !important; -+} -+ -+window[shellshowingmenubar="true"] ++*|*:root[shellshowingmenubar="true"] +toolbar[type="menubar"]:not([customizing="true"]) { -+ min-height: 0 !important; -+ border: 0 !important; ++ display: none !important; +} +%endif + @@ -144,9 +139,9 @@ + 'nsNativeMenuDocListener.cpp', + 'nsNativeMenuService.cpp', 'nsWindow.cpp', # conflicts with X11 headers + 'WaylandVsyncSource.cpp', # conflicts with X11 headers ] - -@@ -129,6 +138,7 @@ FINAL_LIBRARY = 'xul' +@@ -130,6 +139,7 @@ FINAL_LIBRARY = 'xul' LOCAL_INCLUDES += [ '/layout/base', '/layout/generic', @@ -324,7 +319,7 @@ +#endif /* __nsDbusmenu_h__ */ --- /dev/null +++ b/widget/gtk/nsMenu.cpp -@@ -0,0 +1,844 @@ +@@ -0,0 +1,798 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* vim:expandtab:shiftwidth=4:tabstop=4: + */ @@ -345,7 +340,6 @@ +#include "mozilla/PresShell.h" +#include "mozilla/PresShellInlines.h" +#include "nsAutoPtr.h" -+#include "nsBindingManager.h" +#include "nsComponentManagerUtils.h" +#include "nsContentUtils.h" +#include "nsCSSValue.h" @@ -358,8 +352,6 @@ +#include "nsString.h" +#include "nsStyleStruct.h" +#include "nsThreadUtils.h" -+#include "nsXBLBinding.h" -+#include "nsXBLService.h" + +#include "nsNativeMenuDocListener.h" + @@ -442,45 +434,6 @@ + EventDispatcher::Dispatch(aTarget, nullptr, &event); +} + -+static void -+AttachXBLBindings(nsIContent *aContent) -+{ -+ dom::Document *doc = aContent->OwnerDoc(); -+ PresShell *shell = doc->GetPresShell(); -+ if (!shell) { -+ return; -+ } -+ -+ RefPtr<ComputedStyle> style = -+ shell->StyleSet()->ResolveStyleLazily(*aContent->AsElement()); -+ -+ if (!style) { -+ return; -+ } -+ -+ const auto& binding = style->StyleDisplay()->mBinding; -+ if (binding.IsNone()) { -+ return; -+ } -+ -+ nsXBLService* xbl = nsXBLService::GetInstance(); -+ if (!xbl) { -+ return; -+ } -+ -+ RefPtr<nsXBLBinding> pendingBinding; -+ const auto& url = binding.AsUrl(); -+ nsresult rv = xbl->LoadBindings(aContent->AsElement(), -+ url.GetURI(), -+ url.ExtraData().Principal(), -+ getter_AddRefs(pendingBinding)); -+ if ((NS_FAILED(rv) && rv != NS_ERROR_XBL_BLOCKED) || !pendingBinding) { -+ return; -+ } -+ -+ doc->BindingManager()->AddToAttachedQueue(pendingBinding); -+} -+ +void +nsMenu::SetPopupState(EPopupState aState) +{ @@ -690,8 +643,6 @@ + return; + } + -+ AttachXBLBindings(mPopupContent); -+ + DocListener()->RegisterForContentChanges(mPopupContent, this); +} + @@ -816,8 +767,6 @@ + mNeedsUpdate = true; + + MaybeAddPlaceholderItem(); -+ -+ AttachXBLBindings(ContentNode()); +} + +void @@ -5135,7 +5084,7 @@ +#endif /* __nsNativeMenuService_h__ */ --- a/widget/gtk/nsWindow.cpp +++ b/widget/gtk/nsWindow.cpp -@@ -73,6 +73,7 @@ +@@ -74,6 +74,7 @@ #include "mozilla/Assertions.h" #include "mozilla/Likely.h" @@ -5143,7 +5092,7 @@ #include "mozilla/Preferences.h" #include "nsIPrefService.h" #include "nsIServiceManager.h" -@@ -5192,6 +5193,10 @@ void nsWindow::HideWindowChrome(bool aSh +@@ -5486,6 +5487,10 @@ void nsWindow::HideWindowChrome(bool aSh SetWindowDecoration(aShouldHide ? eBorderStyle_none : mBorderStyle); } @@ -5156,7 +5105,7 @@ nsIRollupListener* rollupListener = GetActiveRollupListener(); --- a/widget/gtk/nsWindow.h +++ b/widget/gtk/nsWindow.h -@@ -38,6 +38,8 @@ +@@ -40,6 +40,8 @@ #include "IMContextWrapper.h" @@ -5165,7 +5114,7 @@ #undef LOG #ifdef MOZ_LOGGING -@@ -171,6 +173,8 @@ class nsWindow final : public nsBaseWidg +@@ -175,6 +177,8 @@ class nsWindow final : public nsBaseWidg nsIScreen* aTargetScreen = nullptr) override; virtual void HideWindowChrome(bool aShouldHide) override; @@ -5174,7 +5123,7 @@ /** * GetLastUserInputTime returns a timestamp for the most recent user input * event. This is intended for pointer grab requests (including drags). -@@ -638,6 +642,8 @@ class nsWindow final : public nsBaseWidg +@@ -671,6 +675,8 @@ class nsWindow final : public nsBaseWidg mozilla::UniquePtr<mozilla::CurrentX11TimeGetter> mCurrentTimeGetter; static CSDSupportLevel sCSDSupportLevel; @@ -5198,17 +5147,6 @@ TEST_DIRS += ['tests'] ---- a/xpfe/appshell/nsWebShellWindow.cpp -+++ b/xpfe/appshell/nsWebShellWindow.cpp -@@ -70,7 +70,7 @@ - - #include "gfxPlatform.h" - --#ifdef XP_MACOSX -+#if defined(XP_MACOSX) || defined(MOZ_WIDGET_GTK) - # include "nsINativeMenuService.h" - # define USE_NATIVE_MENUS - #endif --- /dev/null +++ b/xpcom/ds/NativeMenuAtoms.py @@ -0,0 +1,9 @@ @@ -5231,7 +5169,7 @@ import sys # Static atom definitions, used to generate nsGkAtomList.h. -@@ -2481,7 +2482,7 @@ STATIC_ATOMS = [ +@@ -2532,7 +2533,7 @@ STATIC_ATOMS = [ InheritingAnonBoxAtom("AnonBox_mozSVGForeignContent", ":-moz-svg-foreign-content"), InheritingAnonBoxAtom("AnonBox_mozSVGText", ":-moz-svg-text"), # END ATOMS @@ -5257,3 +5195,14 @@ ] if defined('MOZ_X11'): +--- a/xpfe/appshell/AppWindow.cpp ++++ b/xpfe/appshell/AppWindow.cpp +@@ -69,7 +69,7 @@ + # include "mozilla/XULStore.h" + #endif + +-#ifdef XP_MACOSX ++#if defined(XP_MACOSX) || defined(MOZ_WIDGET_GTK) + # include "nsINativeMenuService.h" + # define USE_NATIVE_MENUS + #endif diff --git a/upload-symbol-archive b/upload-symbol-archive new file mode 100755 index 000000000000..059a399c429f --- /dev/null +++ b/upload-symbol-archive @@ -0,0 +1,25 @@ +#!/bin/bash -e + +die() { + echo >&2 "$@" + exit 1 +} + +(( $# >= 2 )) || die "Usage: $0 TOKEN-FILE SYMBOL-ARCHIVE..." +token="$1" +shift + +[[ -f $token && -s $token ]] || die "Invalid TOKEN-FILE ${token@Q}" + +for zip; do + [[ $(file -SEbi "$zip") == application/zip* ]] || die "Invalid SYMBOL-ARCHIVE ${zip@Q}" +done + +for zip; do + echo >&2 "Uploading ${zip@Q} ..." + curl -X POST -H "Auth-Token: $(<"$token")" -F "${zip##*/}=@$zip" \ + --retry 4 --retry-connrefused --connect-timeout 120 \ + https://symbols.mozilla.org/upload/ + echo + mv -v "$zip" "$zip.uploaded" +done |