diff options
author | nikatar | 2021-12-12 00:06:33 +0300 |
---|---|---|
committer | nikatar | 2021-12-12 00:06:33 +0300 |
commit | 92b8327d0f6a44b361b2c2f7447f467f58c923e4 (patch) | |
tree | 117b706042b9bd1a54d1ec1e2dd938af40f0be9a | |
parent | 05d58dc72cc2110bd485e51456b8918f00826942 (diff) | |
download | aur-92b8327d0f6a44b361b2c2f7447f467f58c923e4.tar.gz |
95.0-1
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | 0001-Use-remoting-name-for-GDK-application-names.patch | 12 | ||||
-rw-r--r-- | 0002-Bug-1735905-Upgrade-cubeb-pulse-to-fix-a-race-condit.patch | 173 | ||||
-rw-r--r-- | PKGBUILD | 20 | ||||
-rw-r--r-- | unity-menubar.patch | 4 |
5 files changed, 28 insertions, 203 deletions
@@ -1,7 +1,7 @@ pkgbase = firefox-appmenu pkgdesc = Firefox from extra with appmenu patch - pkgver = 94.0.2 - pkgrel = 2 + pkgver = 95.0 + pkgrel = 1 url = https://www.mozilla.org/firefox/ arch = x86_64 license = MPL @@ -28,6 +28,10 @@ pkgbase = firefox-appmenu makedepends = python-zstandard makedepends = lld makedepends = dump_syms + makedepends = wasi-compiler-rt + makedepends = wasi-libc + makedepends = wasi-libc++ + makedepends = wasi-libc++abi depends = gtk3 depends = libxt depends = mime-types @@ -43,29 +47,27 @@ pkgbase = firefox-appmenu optdepends = speech-dispatcher: Text-to-Speech optdepends = hunspell-en_US: Spell checking, American English optdepends = xdg-desktop-portal: Screensharing with Wayland - provides = firefox=94.0.2 + provides = firefox=95.0 conflicts = firefox options = !emptydirs options = !makeflags options = !strip - source = https://archive.mozilla.org/pub/firefox/releases/94.0.2/source/firefox-94.0.2.source.tar.xz - source = https://archive.mozilla.org/pub/firefox/releases/94.0.2/source/firefox-94.0.2.source.tar.xz.asc + source = https://archive.mozilla.org/pub/firefox/releases/95.0/source/firefox-95.0.source.tar.xz + source = https://archive.mozilla.org/pub/firefox/releases/95.0/source/firefox-95.0.source.tar.xz.asc source = 0001-Use-remoting-name-for-GDK-application-names.patch - source = 0002-Bug-1735905-Upgrade-cubeb-pulse-to-fix-a-race-condit.patch source = firefox.desktop source = identity-icons-brand.svg source = fix-wayland-build.patch source = unity-menubar.patch source = fix_csd_window_buttons.patch validpgpkeys = 14F26682D0916CDD81E37B6D61B7B526D98F0353 - sha256sums = 899ba1c806549034793d7e8ca53f4c845d783c810338f314f3d653d39649e575 + sha256sums = 7fa3e43f6ec710b2ebba0e99db713a56d13d85f1f23c4a1399bb594fd74864de sha256sums = SKIP - sha256sums = 51cca2cab0fa9798f96b81ed24c238b2a7c98524f589ec500224bac9797b66fb - sha256sums = 744d3956ba60c63fed81903700a4cf66c13d2898944e4e86ac0d3b1e3f222fff + sha256sums = a7a5ea4680c0a4c6eb5a5f99970008f5ad3e2f29f0d6d050aa651bce8c713718 sha256sums = 34514a657d6907a159594c51e674eeb81297c431ec26a736417c2fdb995c2c0c sha256sums = a9b8b4a0a1f4a7b4af77d5fc70c2686d624038909263c795ecc81e0aec7711e9 sha256sums = 46724a625f51c358abaee488a7ce75673078e96ba009459339120b8dd11dec25 - sha256sums = 5a7a06a7d7a748172dbc1ff802a0c9f8208cdd520b29858ebf4a7328cac2cad4 + sha256sums = e040947cd991286eaae7d7de38412a32f5c4adcb73dc19e7ecc5901af5e37381 sha256sums = e08d0bc5b7e562f5de6998060e993eddada96d93105384960207f7bdf2e1ed6e pkgname = firefox-appmenu diff --git a/0001-Use-remoting-name-for-GDK-application-names.patch b/0001-Use-remoting-name-for-GDK-application-names.patch index 86dddaba5fbb..206ec0a85b3c 100644 --- a/0001-Use-remoting-name-for-GDK-application-names.patch +++ b/0001-Use-remoting-name-for-GDK-application-names.patch @@ -9,10 +9,10 @@ Subject: [PATCH] Use remoting name for GDK application names 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp -index 332f340179d3..840ad794f606 100644 +index 60ea6966cccf..ae862aba01b3 100644 --- a/toolkit/xre/nsAppRunner.cpp +++ b/toolkit/xre/nsAppRunner.cpp -@@ -4285,11 +4285,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) { +@@ -4299,11 +4299,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) { // consistently. // Set program name to the one defined in application.ini. @@ -26,11 +26,11 @@ index 332f340179d3..840ad794f606 100644 // Initialize GTK here for splash. diff --git a/widget/gtk/nsAppShell.cpp b/widget/gtk/nsAppShell.cpp -index 60de473de07a..004c066575c1 100644 +index 7090bd2ef350..76bda087be72 100644 --- a/widget/gtk/nsAppShell.cpp +++ b/widget/gtk/nsAppShell.cpp -@@ -24,6 +24,8 @@ - # include "WakeLockListener.h" +@@ -27,6 +27,8 @@ + # include "nsIObserverService.h" #endif #include "gfxPlatform.h" +#include "nsAppRunner.h" @@ -38,7 +38,7 @@ index 60de473de07a..004c066575c1 100644 #include "ScreenHelperGTK.h" #include "HeadlessScreenHelper.h" #include "mozilla/widget/ScreenManager.h" -@@ -152,13 +154,9 @@ nsresult nsAppShell::Init() { +@@ -256,13 +258,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 diff --git a/0002-Bug-1735905-Upgrade-cubeb-pulse-to-fix-a-race-condit.patch b/0002-Bug-1735905-Upgrade-cubeb-pulse-to-fix-a-race-condit.patch deleted file mode 100644 index b8fbbe5c8b69..000000000000 --- a/0002-Bug-1735905-Upgrade-cubeb-pulse-to-fix-a-race-condit.patch +++ /dev/null @@ -1,173 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mike Hommey <mh+mozilla@glandium.org> -Date: Sat, 16 Oct 2021 01:19:56 +0000 -Subject: [PATCH] Bug 1735905 - Upgrade cubeb-pulse to fix a race condition - that can lead to shutdown deadlock. r=kinetik - -Differential Revision: https://phabricator.services.mozilla.com/D128657 ---- - .cargo/config.in | 2 +- - Cargo.lock | 6 ++-- - .../rust/cubeb-pulse/.cargo-checksum.json | 2 +- - .../rust/cubeb-pulse/src/backend/stream.rs | 33 +++++++++++-------- - toolkit/library/rust/shared/Cargo.toml | 2 +- - 5 files changed, 25 insertions(+), 20 deletions(-) - -diff --git a/.cargo/config.in b/.cargo/config.in -index dce119e25da1..6b9752c9fa1c 100644 ---- a/.cargo/config.in -+++ b/.cargo/config.in -@@ -25,7 +25,7 @@ rev = "fd02134161505f978e132114cbabdac057ce3b71" - [source."https://github.com/mozilla/cubeb-pulse-rs"] - git = "https://github.com/mozilla/cubeb-pulse-rs" - replace-with = "vendored-sources" --rev = "e9e55a4529642da99e64452467ecaef9f7753531" -+rev = "9695281319fcb3e40db6a32cc0661548d6192f4d" - - [source."https://github.com/mozilla/cubeb-coreaudio-rs"] - git = "https://github.com/mozilla/cubeb-coreaudio-rs" -diff --git a/Cargo.lock b/Cargo.lock -index ca2466600d4e..cc7a65e08715 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -1059,7 +1059,7 @@ dependencies = [ - [[package]] - name = "cubeb-pulse" - version = "0.3.0" --source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=e9e55a4529642da99e64452467ecaef9f7753531#e9e55a4529642da99e64452467ecaef9f7753531" -+source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=9695281319fcb3e40db6a32cc0661548d6192f4d#9695281319fcb3e40db6a32cc0661548d6192f4d" - dependencies = [ - "cubeb-backend", - "pulse", -@@ -3935,16 +3935,16 @@ dependencies = [ - [[package]] - name = "pulse" - version = "0.3.0" --source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=e9e55a4529642da99e64452467ecaef9f7753531#e9e55a4529642da99e64452467ecaef9f7753531" -+source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=9695281319fcb3e40db6a32cc0661548d6192f4d#9695281319fcb3e40db6a32cc0661548d6192f4d" - dependencies = [ - "bitflags", - "pulse-ffi", - ] - - [[package]] - name = "pulse-ffi" - version = "0.1.0" --source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=e9e55a4529642da99e64452467ecaef9f7753531#e9e55a4529642da99e64452467ecaef9f7753531" -+source = "git+https://github.com/mozilla/cubeb-pulse-rs?rev=9695281319fcb3e40db6a32cc0661548d6192f4d#9695281319fcb3e40db6a32cc0661548d6192f4d" - dependencies = [ - "libc", - ] -diff --git a/third_party/rust/cubeb-pulse/.cargo-checksum.json b/third_party/rust/cubeb-pulse/.cargo-checksum.json -index 1dc452bcf480..45e913931336 100644 ---- a/third_party/rust/cubeb-pulse/.cargo-checksum.json -+++ b/third_party/rust/cubeb-pulse/.cargo-checksum.json -@@ -1 +1 @@ --{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"95d0d2542c04f0c932f58591b92c3051db5c95657bf5f24b6a6110f7b667568d","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.toml":"56e90cb82ec36ead07e551a28fc2455fa658fa8308c3d73f8d856d85bfcd2122","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"8969b300850b56ace07abe570940e2099774bf0bf20325be1d3ec0f5f408c8ce","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"d5da05348bf1a7f65c85b14372964a49dc4849f0aee96c75e2c18b51fb03fcaf","src/backend/stream.rs":"b17829f1b65055ada69454d0714dd7526d4d5cdeda7bba4ee03ffb6f27297e61","src/capi.rs":"fa0fa020f0d0efe55aa0fc3596405e8407bbe2cbe6c7a558345304e6da87994e","src/lib.rs":"b41bbdc562cbfb130ed7c1e53fe69944774f515705341d8ce48a2f82c8c0c2c5"},"package":null} -\ No newline at end of file -+{"files":{".editorconfig":"bf047bd1da10cabb99eea666d1e57c321eba4716dccb3e4ed0e2c5fe3ca53858",".github/workflows/build.yml":"95d0d2542c04f0c932f58591b92c3051db5c95657bf5f24b6a6110f7b667568d","AUTHORS":"0e0ac930a68ce2f6b876126b195add177f0d3886facb9260f4d9b69f1988f0cc","Cargo.toml":"56e90cb82ec36ead07e551a28fc2455fa658fa8308c3d73f8d856d85bfcd2122","LICENSE":"44c6b5ae5ec3fe2fbc608b00e6f4896f4d2d5c7e525fcbaa3eaa3cf2f3d5a983","README.md":"0079450bb4b013bac065ed1750851e461a3710ebad1f323817da1cb82db0bc4f","src/backend/context.rs":"8969b300850b56ace07abe570940e2099774bf0bf20325be1d3ec0f5f408c8ce","src/backend/cork_state.rs":"4a0f1afc7d9f333dac89218cc56d7d32fbffb487cd48c1c9a4e03d79cb3b5e28","src/backend/intern.rs":"11ca424e4eb77f8eb9fd5a6717d1e791facf9743156a8534f0016fcf64d57b0f","src/backend/mod.rs":"d5da05348bf1a7f65c85b14372964a49dc4849f0aee96c75e2c18b51fb03fcaf","src/backend/stream.rs":"585b616d5487c77f6aa21a76aa6a0f7ae9de8c389bc908401a979fba8bf3450f","src/capi.rs":"fa0fa020f0d0efe55aa0fc3596405e8407bbe2cbe6c7a558345304e6da87994e","src/lib.rs":"b41bbdc562cbfb130ed7c1e53fe69944774f515705341d8ce48a2f82c8c0c2c5"},"package":null} -\ No newline at end of file -diff --git a/third_party/rust/cubeb-pulse/src/backend/stream.rs b/third_party/rust/cubeb-pulse/src/backend/stream.rs -index 8168c813e243..df64b0f2304e 100644 ---- a/third_party/rust/cubeb-pulse/src/backend/stream.rs -+++ b/third_party/rust/cubeb-pulse/src/backend/stream.rs -@@ -15,7 +15,7 @@ use ringbuf::RingBuffer; - use std::ffi::{CStr, CString}; - use std::os::raw::{c_long, c_void}; - use std::slice; --use std::sync::atomic::{AtomicUsize, Ordering}; -+use std::sync::atomic::{AtomicPtr, AtomicUsize, Ordering}; - use std::{mem, ptr}; - - use self::LinearInputBuffer::*; -@@ -272,7 +272,7 @@ pub struct PulseStream<'ctx> { - input_stream: Option<pulse::Stream>, - data_callback: ffi::cubeb_data_callback, - state_callback: ffi::cubeb_state_callback, -- drain_timer: *mut pa_time_event, -+ drain_timer: AtomicPtr<pa_time_event>, - output_sample_spec: pulse::SampleSpec, - input_sample_spec: pulse::SampleSpec, - // output frames count excluding pre-buffering -@@ -411,7 +411,7 @@ impl<'ctx> PulseStream<'ctx> { - data_callback, - state_callback, - user_ptr, -- drain_timer: ptr::null_mut(), -+ drain_timer: AtomicPtr::new(ptr::null_mut()), - output_sample_spec: pulse::SampleSpec::default(), - input_sample_spec: pulse::SampleSpec::default(), - output_frame_count: AtomicUsize::new(0), -@@ -574,9 +574,10 @@ impl<'ctx> PulseStream<'ctx> { - self.context.mainloop.lock(); - { - if let Some(stm) = self.output_stream.take() { -- if !self.drain_timer.is_null() { -+ let drain_timer = self.drain_timer.load(Ordering::Acquire); -+ if !drain_timer.is_null() { - /* there's no pa_rttime_free, so use this instead. */ -- self.context.mainloop.get_api().time_free(self.drain_timer); -+ self.context.mainloop.get_api().time_free(drain_timer); - } - stm.clear_state_callback(); - stm.clear_write_callback(); -@@ -637,7 +638,7 @@ impl<'ctx> StreamOps for PulseStream<'ctx> { - self.shutdown = true; - // If draining is taking place wait to finish - cubeb_log!("Stream stop: waiting for drain."); -- while !self.drain_timer.is_null() { -+ while !self.drain_timer.load(Ordering::Acquire).is_null() { - self.context.mainloop.wait(); - } - cubeb_log!("Stream stop: waited for drain."); -@@ -988,11 +989,12 @@ impl<'ctx> PulseStream<'ctx> { - ) { - cubeb_logv!("Drain finished callback."); - let stm = unsafe { &mut *(u as *mut PulseStream) }; -- debug_assert_eq!(stm.drain_timer, e); -+ let drain_timer = stm.drain_timer.load(Ordering::Acquire); -+ debug_assert_eq!(drain_timer, e); - stm.state_change_callback(ffi::CUBEB_STATE_DRAINED); - /* there's no pa_rttime_free, so use this instead. */ -- a.time_free(stm.drain_timer); -- stm.drain_timer = ptr::null_mut(); -+ a.time_free(drain_timer); -+ stm.drain_timer.store(ptr::null_mut(), Ordering::Release); - stm.context.mainloop.signal(); - } - -@@ -1109,13 +1111,16 @@ impl<'ctx> PulseStream<'ctx> { - - /* pa_stream_drain is useless, see PA bug# 866. this is a workaround. */ - /* arbitrary safety margin: double the current latency. */ -- debug_assert!(self.drain_timer.is_null()); -+ debug_assert!(self.drain_timer.load(Ordering::Acquire).is_null()); - let stream_ptr = self as *const _ as *mut _; - if let Some(ref context) = self.context.context { -- self.drain_timer = context.rttime_new( -- pulse::rtclock_now() + 2 * latency, -- drained_cb, -- stream_ptr, -+ self.drain_timer.store( -+ context.rttime_new( -+ pulse::rtclock_now() + 2 * latency, -+ drained_cb, -+ stream_ptr, -+ ), -+ Ordering::Release, - ); - } - self.shutdown = true; -diff --git a/toolkit/library/rust/shared/Cargo.toml b/toolkit/library/rust/shared/Cargo.toml -index b70f8974ffb1..7d1d601c0807 100644 ---- a/toolkit/library/rust/shared/Cargo.toml -+++ b/toolkit/library/rust/shared/Cargo.toml -@@ -20,7 +20,7 @@ profiler_helper = { path = "../../../../tools/profiler/rust-helper", optional = - mozurl = { path = "../../../../netwerk/base/mozurl" } - webrender_bindings = { path = "../../../../gfx/webrender_bindings" } - cubeb-coreaudio = { git = "https://github.com/mozilla/cubeb-coreaudio-rs", rev = "4ee3b283182926f9a8bb31d603219ff2db70d2fd", optional = true } --cubeb-pulse = { git = "https://github.com/mozilla/cubeb-pulse-rs", rev="e9e55a4529642da99e64452467ecaef9f7753531", optional = true, features=["pulse-dlopen"] } -+cubeb-pulse = { git = "https://github.com/mozilla/cubeb-pulse-rs", rev="9695281319fcb3e40db6a32cc0661548d6192f4d", optional = true, features=["pulse-dlopen"] } - cubeb-sys = { version = "0.9", optional = true, features=["gecko-in-tree"] } - encoding_glue = { path = "../../../../intl/encoding_glue" } - audioipc-client = { git = "https://github.com/mozilla/audioipc-2", rev = "8381f3812354d8d1df972c2c3ea596b70caa9a84", optional = true } @@ -7,8 +7,8 @@ pkgname=firefox-appmenu _pkgname=firefox -pkgver=94.0.2 -pkgrel=2 +pkgver=95.0 +pkgrel=1 pkgdesc="Firefox from extra with appmenu patch" arch=(x86_64) license=(MPL GPL LGPL) @@ -16,7 +16,8 @@ url="https://www.mozilla.org/firefox/" depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss ttf-font libpulse libdbusmenu-gtk3) makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb autoconf2.13 rust clang llvm jack nodejs cbindgen nasm - python-setuptools python-psutil python-zstandard lld dump_syms) + python-setuptools python-psutil python-zstandard lld dump_syms + wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi) optdepends=('networkmanager: Location detection via available WiFi networks' 'libnotify: Notification integration' 'pulseaudio: Audio support' @@ -28,20 +29,18 @@ conflicts=("firefox") options=(!emptydirs !makeflags !strip) source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz{,.asc} 0001-Use-remoting-name-for-GDK-application-names.patch - 0002-Bug-1735905-Upgrade-cubeb-pulse-to-fix-a-race-condit.patch $_pkgname.desktop identity-icons-brand.svg fix-wayland-build.patch unity-menubar.patch fix_csd_window_buttons.patch) -sha256sums=('899ba1c806549034793d7e8ca53f4c845d783c810338f314f3d653d39649e575' +sha256sums=('7fa3e43f6ec710b2ebba0e99db713a56d13d85f1f23c4a1399bb594fd74864de' 'SKIP' - '51cca2cab0fa9798f96b81ed24c238b2a7c98524f589ec500224bac9797b66fb' - '744d3956ba60c63fed81903700a4cf66c13d2898944e4e86ac0d3b1e3f222fff' + 'a7a5ea4680c0a4c6eb5a5f99970008f5ad3e2f29f0d6d050aa651bce8c713718' '34514a657d6907a159594c51e674eeb81297c431ec26a736417c2fdb995c2c0c' 'a9b8b4a0a1f4a7b4af77d5fc70c2686d624038909263c795ecc81e0aec7711e9' '46724a625f51c358abaee488a7ce75673078e96ba009459339120b8dd11dec25' - '5a7a06a7d7a748172dbc1ff802a0c9f8208cdd520b29858ebf4a7328cac2cad4' + 'e040947cd991286eaae7d7de38412a32f5c4adcb73dc19e7ecc5901af5e37381' 'e08d0bc5b7e562f5de6998060e993eddada96d93105384960207f7bdf2e1ed6e') validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release@mozilla.com> @@ -67,10 +66,6 @@ prepare() { # https://bugzilla.mozilla.org/show_bug.cgi?id=1530052 patch -Np1 -i ../0001-Use-remoting-name-for-GDK-application-names.patch - # https://bugzilla.opensuse.org/show_bug.cgi?id=1192067 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1735905 - patch -Np1 -i ../0002-Bug-1735905-Upgrade-cubeb-pulse-to-fix-a-race-condit.patch - # actual appmenu patch from ubuntu repos # http://archive.ubuntu.com/ubuntu/pool/main/f/firefox/firefox_80.0+build2-0ubuntu0.16.04.1.debian.tar.xz patch -Np1 -i ../unity-menubar.patch @@ -93,6 +88,7 @@ ac_add_options --enable-rust-simd ac_add_options --enable-linker=lld ac_add_options --disable-elf-hack ac_add_options --disable-bootstrap +ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot # Branding ac_add_options --enable-official-branding diff --git a/unity-menubar.patch b/unity-menubar.patch index 36d9dd8fd746..d747a5db506c 100644 --- a/unity-menubar.patch +++ b/unity-menubar.patch @@ -32,7 +32,7 @@ + continue; + } + - if (toolbar.id == "PersonalToolbar" && gBookmarksToolbar2h2020) { + if (toolbar.id == "PersonalToolbar") { let menu = BookmarkingUI.buildBookmarksToolbarSubmenu(toolbar); popup.insertBefore(menu, firstMenuItem); --- a/browser/components/places/content/places.xhtml @@ -5236,7 +5236,7 @@ + EXPORTS.mozilla += [ "BasicEvents.h", - "CommandList.h", + "ColorScheme.h", --- /dev/null +++ b/widget/nsINativeMenuService.h @@ -0,0 +1,39 @@ |