diff --git a/extra/firefox/build b/extra/firefox/build index d496929f..c34460b0 100755 --- a/extra/firefox/build +++ b/extra/firefox/build @@ -26,10 +26,12 @@ make install ) -export PATH=$PWD/junk/bin:$PATH +export DESTDIR="$1" +export PATH="$PWD/junk/bin:$PATH" export LDFLAGS="$LDFLAGS -Wl,-rpath=/usr/lib/firefox" -export CC=${CC:-gcc} -export CXX=${CXX:-g++} +export CC="${CC:-gcc}" +export CXX="${CXX:-g++}" +export MOZ_NOSPAM=1 # Keep memory usage as low as possible. export LDFLAGS="$LDFLAGS -Wl,--as-needed -Wl,--no-keep-memory -Wl,--stats" @@ -37,15 +39,17 @@ export MOZ_LINK_FLAGS="$LDFLAGS" export MOZ_DEBUG_FLAGS=-g0 export RUSTFLAGS=-Cdebuginfo=0 -for patch in *.patch; do - patch -p1 < "$patch" -done +# Hide all compiler warnings. +export CFLAGS="$CFLAGS -w" -printf 'mk_add_options MOZ_MAKE_FLAGS="%s"\n' \ - "${MAKEFLAGS:--j1 -l1}" >> mozconfig +# Down to one patch!!!! (Thank you to Michael Forney). +patch -p1 < no-dbus.patch -MOZ_NOSPAM=1 ./mach build -DESTDIR="$1" ./mach install +printf 'mk_add_options MOZ_MAKE_FLAGS="%s"\n' "${MAKEFLAGS:--j1 -l1}" \ + >> mozconfig + +./mach build +./mach install rm -rf "$1/usr/include" rm -rf "$1/usr/lib/firefox-devel" diff --git a/extra/firefox/checksums b/extra/firefox/checksums index f4ccae7d..752b07a9 100644 --- a/extra/firefox/checksums +++ b/extra/firefox/checksums @@ -1,12 +1,6 @@ -ad3ea069c3d23aab360ad04ff4d0f5e556d3538f7dd4eae0690c4e9241537570 firefox-68.7.0esr.source.tar.xz +3b7b97b0b0625fc6ec23ee28d425988c679d3a56f362d62fd3b225a5d50afdc8 firefox-76.0.source.tar.xz f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e autoconf-2.13.tar.gz 3dce6601b495f5b3d45b59f7d2492a340ee7e84b5beca17e48f862502bd5603f yasm-1.3.0.tar.gz 6e2832f39b8ccbef29f45208adf6b9dcf9c6d940ac211e6da6fa480e5f912e86 mozconfig 960d82bbfdc88c95f5cb4f2e1c1bf23dae7519b3b7203914d7b3ddbff1ba4c28 stab.h -315880530f09175788dfa48a1915bfa1e190bfd3e267988b9100cb93006c808c fix-fortify-system-wrappers.patch -14f281ee323aa682e04479019171bde243ac6227820856aa03b162179b14bfd9 fix-seccomp-bpf.patch -b19aaae7fc45db643f8d2540d96919c745ea341e36d9aea2df40e3e90eb951f0 fix-toolkit.patch -e24f71a6a0d8d4637b2081780c66b01be4eeb4dd496031270d0ae0b898be94d2 fix-tools.patch -5e0fcfde375837074baad21a8ab26aa442a7940617ebd074a6b238a48f2ceb63 fix-webrtc-glibcisms.patch -3e415de9a028c72833aaf58f72b5bf078bffcc3478fd50754998346154016afa fix-bug-1261392.patch -1d4a8f110d34da478f5597727eda9acacebd443dd86cce5bb64f898c01feabce mallinfo.patch +4e12889240bd9603608f9a268ca8fd45f990eafc78847ff2c10a749670e83eb7 no-dbus.patch diff --git a/extra/firefox/patches/fix-bug-1261392.patch b/extra/firefox/patches/fix-bug-1261392.patch deleted file mode 100644 index 64064113..00000000 --- a/extra/firefox/patches/fix-bug-1261392.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/core/platform-linux-android.cpp -index 07857f2..92e693c 100644 ---- a/tools/profiler/core/platform-linux-android.cpp -+++ b/tools/profiler/core/platform-linux-android.cpp -@@ -72,12 +72,7 @@ using namespace mozilla; - int profiler_current_process_id() { return getpid(); } - - int profiler_current_thread_id() { -- // glibc doesn't provide a wrapper for gettid(). --#if defined(__GLIBC__) - return static_cast(static_cast(syscall(SYS_gettid))); --#else -- return static_cast(gettid()); --#endif - } - - void* GetStackTop(void* aGuess) { return aGuess; } diff --git a/extra/firefox/patches/fix-fortify-system-wrappers.patch b/extra/firefox/patches/fix-fortify-system-wrappers.patch deleted file mode 100644 index 17cf7e30..00000000 --- a/extra/firefox/patches/fix-fortify-system-wrappers.patch +++ /dev/null @@ -1,13 +0,0 @@ -The wrapper features.h gets pulled in by system headers causing thigns to -break. We work around it by simply not wrap features.h - ---- ./config/system-headers.mozbuild.orig -+++ ./config/system-headers.mozbuild -@@ -229,7 +229,6 @@ - 'execinfo.h', - 'extras.h', - 'fcntl.h', -- 'features.h', - 'fenv.h', - 'ffi.h', - 'fibdef.h', diff --git a/extra/firefox/patches/fix-seccomp-bpf.patch b/extra/firefox/patches/fix-seccomp-bpf.patch deleted file mode 100644 index da102b46..00000000 --- a/extra/firefox/patches/fix-seccomp-bpf.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc -+++ b/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc -@@ -25,6 +25,11 @@ - #include "sandbox/linux/system_headers/linux_seccomp.h" - #include "sandbox/linux/system_headers/linux_signal.h" - -+// musl libc defines siginfo_t __si_fields instead of _sifields -+#if defined(OS_LINUX) && !defined(__GLIBC__) -+#define _sifields __si_fields -+#endif -+ - namespace { - - struct arch_sigsys { diff --git a/extra/firefox/patches/fix-toolkit.patch b/extra/firefox/patches/fix-toolkit.patch deleted file mode 100644 index 414734df..00000000 --- a/extra/firefox/patches/fix-toolkit.patch +++ /dev/null @@ -1,90 +0,0 @@ -diff --git a/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc b/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc -index 4222ce3..4d40c6a 100644 ---- a/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc -+++ b/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc -@@ -46,6 +46,7 @@ - #include - #include - #include -+#include - - #include - #include -diff --git a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc -index 6019fc7..5953e32 100644 ---- a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc -+++ b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc -@@ -41,6 +41,10 @@ - - #include "common/using_std_string.h" - -+#ifndef N_UNDF -+#define N_UNDF 0 -+#endif -+ - using std::vector; - - namespace google_breakpad { -diff --git a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h -index 98ee2dd..d57aa68 100644 ---- a/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h -+++ b/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h -@@ -55,7 +55,7 @@ - - #ifdef HAVE_MACH_O_NLIST_H - #include --#elif defined(HAVE_A_OUT_H) -+#elif 0 - #include - #endif - -diff --git a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h -index 93fdad7..f34e5e0 100644 ---- a/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h -+++ b/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h -@@ -1239,6 +1239,12 @@ struct kernel_statfs { - #ifndef __NR_fallocate - #define __NR_fallocate 285 - #endif -+ -+#undef __NR_pread -+#define __NR_pread __NR_pread64 -+#undef __NR_pwrite -+#define __NR_pwrite __NR_pwrite64 -+ - /* End of x86-64 definitions */ - #elif defined(__mips__) - #if _MIPS_SIM == _MIPS_SIM_ABI32 -diff --git a/toolkit/mozapps/update/common/updatedefines.h b/toolkit/mozapps/update/common/updatedefines.h -index 79276f7..4c67976 100644 ---- a/toolkit/mozapps/update/common/updatedefines.h -+++ b/toolkit/mozapps/update/common/updatedefines.h -@@ -87,7 +87,7 @@ static inline int mywcsprintf(WCHAR* dest, size_t count, const WCHAR* fmt, - - # ifdef SOLARIS - # include --# else -+# elif !defined(__linux__) || defined(__GLIBC__) - # include - # endif - # include -diff --git a/toolkit/mozapps/update/updater/updater.cpp b/toolkit/mozapps/update/updater/updater.cpp -index 257ccb4..01314e4 100644 ---- a/toolkit/mozapps/update/updater/updater.cpp -+++ b/toolkit/mozapps/update/updater/updater.cpp -@@ -3978,6 +3978,7 @@ - - int add_dir_entries(const NS_tchar* dirpath, ActionList* list) { - int rv = OK; -+#if !defined(__linux__) || defined(__GLIBC__) - FTS* ftsdir; - FTSENT* ftsdirEntry; - mozilla::UniquePtr searchpath(get_full_path(dirpath)); -@@ -4085,6 +4086,7 @@ - } - - fts_close(ftsdir); -+#endif - - return rv; - } diff --git a/extra/firefox/patches/fix-tools.patch b/extra/firefox/patches/fix-tools.patch deleted file mode 100644 index 93b9d19c..00000000 --- a/extra/firefox/patches/fix-tools.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/core/platform-linux-android.cpp -index 19d0a5c56d..b64b543066 100644 ---- a/tools/profiler/core/platform-linux-android.cpp -+++ b/tools/profiler/core/platform-linux-android.cpp -@@ -506,8 +506,10 @@ static void PlatformInit(PSLockRef aLock) {} - ucontext_t sSyncUContext; - - void Registers::SyncPopulate() { -- if (!getcontext(&sSyncUContext)) { -- PopulateRegsFromContext(*this, &sSyncUContext); -- } -+ #if defined(__GLIBC__) -+ if (!getcontext(&sSyncUContext)) { -+ PopulateRegsFromContext(*this, &sSyncUContext); -+ } -+ #endif - } - #endif -diff --git a/tools/profiler/lul/LulElf.cpp b/tools/profiler/lul/LulElf.cpp -index 9998d04d0d..348a7086fc 100644 ---- a/tools/profiler/lul/LulElf.cpp -+++ b/tools/profiler/lul/LulElf.cpp -@@ -469,10 +469,10 @@ string FormatIdentifier(unsigned char identifier[16]) { - // Return the non-directory portion of FILENAME: the portion after the - // last slash, or the whole filename if there are no slashes. - string BaseFileName(const string& filename) { -- // Lots of copies! basename's behavior is less than ideal. -- char* c_filename = strdup(filename.c_str()); -- string base = basename(c_filename); -- free(c_filename); -+ // basename's behavior is less than ideal so avoid it -+ const char *c_filename = filename.c_str(); -+ const char *p = strrchr(c_filename, '/'); -+ string base = p ? p+1 : c_filename; - return base; - } - diff --git a/extra/firefox/patches/fix-webrtc-glibcisms.patch b/extra/firefox/patches/fix-webrtc-glibcisms.patch deleted file mode 100644 index 658b076d..00000000 --- a/extra/firefox/patches/fix-webrtc-glibcisms.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- ./media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c.orig 2018-05-09 23:48:44.677389171 +0200 -+++ ./media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c 2018-05-09 23:48:56.254373557 +0200 -@@ -14,7 +14,7 @@ - #ifndef __GLIBC_PREREQ - #define __GLIBC_PREREQ(a, b) 0 - #endif --#if __GLIBC_PREREQ(2, 16) -+#if !__GLIBC__ || __GLIBC_PREREQ(2, 16) - #include - #else - #include -@@ -32,7 +32,7 @@ - int architecture = 0; - unsigned long hwcap = 0; - const char* platform = NULL; --#if __GLIBC_PREREQ(2, 16) -+#if !__GLIBC__ || __GLIBC_PREREQ(2, 16) - hwcap = getauxval(AT_HWCAP); - platform = (const char*)getauxval(AT_PLATFORM); - #else diff --git a/extra/firefox/patches/mallinfo.patch b/extra/firefox/patches/mallinfo.patch deleted file mode 100644 index 0649413c..00000000 --- a/extra/firefox/patches/mallinfo.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/xpcom/base/nsMemoryReporterManager.cpp.orig 2019-03-19 17:12:20.844810044 +0100 -+++ b/xpcom/base/nsMemoryReporterManager.cpp 2019-03-19 17:13:32.505133615 +0100 -@@ -123,6 +123,7 @@ - return GetProcSelfSmapsPrivate(aN); - } - -+#ifdef __GLIBC__ - # ifdef HAVE_MALLINFO - # define HAVE_SYSTEM_HEAP_REPORTER 1 - static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) { -@@ -142,6 +143,7 @@ - return NS_OK; - } - # endif -+#endif // __GLIBC__ - - #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \ - defined(__OpenBSD__) || defined(__FreeBSD_kernel__) -@@ -642,6 +644,7 @@ - return NS_OK; - } - -+#ifdef __GLIBC__ - # define HAVE_SYSTEM_HEAP_REPORTER 1 - // Windows can have multiple separate heaps. During testing there were multiple - // heaps present but the non-default ones had sizes no more than a few 10s of -@@ -698,6 +701,7 @@ - *aSizeOut = heapsSize; - return NS_OK; - } -+#endif // __GLIBC__ - - struct SegmentKind { - DWORD mState; diff --git a/extra/firefox/patches/no-dbus.patch b/extra/firefox/patches/no-dbus.patch new file mode 100644 index 00000000..be4a7a96 --- /dev/null +++ b/extra/firefox/patches/no-dbus.patch @@ -0,0 +1,367 @@ +diff --git a/Cargo.lock b/Cargo.lock +index 00a87868e2..91b05107d9 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -103,25 +103,10 @@ dependencies = [ + "bitflags", + ] + +-[[package]] +-name = "audio_thread_priority" +-version = "0.22.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "407b1b70ad4072a4ff430679b331450166b56631091d6ba46a885cf427392055" +-dependencies = [ +- "cfg-if", +- "dbus", +- "libc", +- "log", +- "mach", +- "winapi 0.3.7", +-] +- + [[package]] + name = "audioipc" + version = "0.2.4" + dependencies = [ +- "audio_thread_priority", + "bincode", + "bytes 0.4.9", + "cc", +@@ -148,7 +133,6 @@ dependencies = [ + name = "audioipc-client" + version = "0.4.0" + dependencies = [ +- "audio_thread_priority", + "audioipc", + "cubeb-backend", + "futures", +@@ -161,7 +145,6 @@ dependencies = [ + name = "audioipc-server" + version = "0.2.3" + dependencies = [ +- "audio_thread_priority", + "audioipc", + "cubeb-core", + "error-chain", +@@ -1659,7 +1642,6 @@ dependencies = [ + name = "gkrust-shared" + version = "0.1.0" + dependencies = [ +- "audio_thread_priority", + "audioipc-client", + "audioipc-server", + "authenticator", +diff --git a/dom/ipc/ContentChild.cpp b/dom/ipc/ContentChild.cpp +index bb10ef9aa8..a8e659e0ed 100644 +--- a/dom/ipc/ContentChild.cpp ++++ b/dom/ipc/ContentChild.cpp +@@ -109,9 +109,7 @@ + #include "GMPServiceChild.h" + #include "nsIStringBundle.h" + #include "Geolocation.h" +-#include "audio_thread_priority.h" + #include "nsIConsoleService.h" +-#include "audio_thread_priority.h" + #include "nsIURIMutator.h" + #include "nsIInputStreamChannel.h" + #include "nsFocusManager.h" +@@ -1689,9 +1687,7 @@ mozilla::ipc::IPCResult ContentChild::RecvSetProcessSandbox( + } else { + // Pre-start audio before sandboxing; see bug 1443612. + if (StaticPrefs::media_cubeb_sandbox()) { +- if (atp_set_real_time_limit(0, 48000)) { +- NS_WARNING("could not set real-time limit at process startup"); +- } ++ NS_WARNING("could not set real-time limit at process startup"); + InstallSoftRealTimeLimitHandler(); + } else { + Unused << CubebUtils::GetCubebContext(); +diff --git a/dom/media/GraphRunner.cpp b/dom/media/GraphRunner.cpp +index 7fbafef812..6548528ad3 100644 +--- a/dom/media/GraphRunner.cpp ++++ b/dom/media/GraphRunner.cpp +@@ -13,7 +13,6 @@ + #include "nsISupportsImpl.h" + #include "prthread.h" + #include "Tracing.h" +-#include "audio_thread_priority.h" + + namespace mozilla { + +@@ -95,9 +94,6 @@ auto GraphRunner::OneIteration(GraphTime aStateEnd, GraphTime aIterationEnd, + } + + NS_IMETHODIMP GraphRunner::Run() { +- atp_handle* handle = +- atp_promote_current_thread_to_real_time(0, mGraph->GraphRate()); +- + nsCOMPtr threadInternal = do_QueryInterface(mThread); + threadInternal->SetObserver(mGraph); + +@@ -119,10 +115,6 @@ NS_IMETHODIMP GraphRunner::Run() { + mMonitor.Notify(); + } + +- if (handle) { +- atp_demote_current_thread_from_real_time(handle); +- } +- + dom::WorkletThread::DeleteCycleCollectedJSContext(); + + return NS_OK; +diff --git a/dom/media/UnderrunHandlerLinux.cpp b/dom/media/UnderrunHandlerLinux.cpp +index af5c84538e..a0140b3fc9 100644 +--- a/dom/media/UnderrunHandlerLinux.cpp ++++ b/dom/media/UnderrunHandlerLinux.cpp +@@ -9,7 +9,6 @@ + + #include + #include +-#include "audio_thread_priority.h" + + namespace mozilla { + +@@ -57,21 +56,8 @@ void InstallSoftRealTimeLimitHandler() { + } + + void DemoteThreadFromRealTime() { +- atp_thread_info* info = atp_get_current_thread_info(); +- if (!info) { +- NS_WARNING("Could not get current thread info when demoting thread."); +- return; +- } +- int rv = atp_demote_thread_from_real_time(info); +- if (rv) { +- NS_WARNING("Could not demote thread from real-time."); +- return; +- } +- rv = atp_free_thread_info(info); +- if (rv) { +- NS_WARNING("Could not free atp_thread_info struct"); +- } +- gRealtimeLimitReached = false; ++ NS_WARNING("Could not get current thread info when demoting thread."); ++ return; + } + + } // namespace mozilla +diff --git a/dom/media/moz.build b/dom/media/moz.build +index 3c02e55139..0b0d3b769b 100644 +--- a/dom/media/moz.build ++++ b/dom/media/moz.build +@@ -104,7 +104,6 @@ XPIDL_SOURCES += [ + XPIDL_MODULE = 'dom_media' + + EXPORTS += [ +- '../../third_party/rust/audio_thread_priority/audio_thread_priority.h', + 'ADTSDecoder.h', + 'ADTSDemuxer.h', + 'AsyncLogger.h', +diff --git a/media/audioipc/audioipc/Cargo.toml b/media/audioipc/audioipc/Cargo.toml +index 20bc001093..59c6941adc 100644 +--- a/media/audioipc/audioipc/Cargo.toml ++++ b/media/audioipc/audioipc/Cargo.toml +@@ -19,7 +19,6 @@ serde = "1.*.*" + serde_derive = "1.*.*" + tokio = "0.1" + tokio-io = "0.1" +-audio_thread_priority = "0.22" + + [target.'cfg(unix)'.dependencies] + iovec = "0.1" +diff --git a/media/audioipc/audioipc/src/messages.rs b/media/audioipc/audioipc/src/messages.rs +index 069cd592a8..ff797cf5cd 100644 +--- a/media/audioipc/audioipc/src/messages.rs ++++ b/media/audioipc/audioipc/src/messages.rs +@@ -6,7 +6,6 @@ + use crate::PlatformHandle; + use crate::PlatformHandleType; + #[cfg(target_os = "linux")] +-use audio_thread_priority::RtPriorityThreadInfo; + use cubeb::{self, ffi}; + use std::ffi::{CStr, CString}; + use std::os::raw::{c_char, c_int, c_uint}; +@@ -209,9 +208,6 @@ pub enum ServerMessage { + StreamSetVolume(usize, f32), + StreamGetCurrentDevice(usize), + StreamRegisterDeviceChangeCallback(usize, bool), +- +- #[cfg(target_os = "linux")] +- PromoteThreadToRealTime([u8; std::mem::size_of::()]), + } + + // Server -> Client messages. +@@ -241,9 +237,6 @@ pub enum ClientMessage { + StreamCurrentDevice(Device), + StreamRegisterDeviceChangeCallback, + +- #[cfg(target_os = "linux")] +- ThreadPromoted, +- + Error(c_int), + } + +diff --git a/media/audioipc/client/Cargo.toml b/media/audioipc/client/Cargo.toml +index 82c874e013..eaf9a62cc7 100644 +--- a/media/audioipc/client/Cargo.toml ++++ b/media/audioipc/client/Cargo.toml +@@ -9,7 +9,6 @@ description = "Cubeb Backend for talking to remote cubeb server." + edition = "2018" + + [dependencies] +-audio_thread_priority = "0.22" + audioipc = { path="../audioipc" } + cubeb-backend = "0.6.0" + futures = { version="0.1.18", default-features=false, features=["use_std"] } +diff --git a/media/audioipc/client/src/context.rs b/media/audioipc/client/src/context.rs +index 7441d0c0e0..96e3539831 100644 +--- a/media/audioipc/client/src/context.rs ++++ b/media/audioipc/client/src/context.rs +@@ -6,10 +6,6 @@ + use crate::stream; + use crate::{assert_not_in_callback, run_in_callback}; + use crate::{ClientStream, AUDIOIPC_INIT_PARAMS}; +-#[cfg(target_os = "linux")] +-use audio_thread_priority::get_current_thread_info; +-#[cfg(not(target_os = "linux"))] +-use audio_thread_priority::promote_current_thread_to_real_time; + use audioipc::codec::LengthDelimitedCodec; + use audioipc::frame::{framed, Framed}; + use audioipc::platformhandle_passing::{framed_with_platformhandles, FramedWithPlatformHandles}; +@@ -77,32 +73,6 @@ impl ClientContext { + } + } + +-#[cfg(target_os = "linux")] +-fn promote_thread(rpc: &rpc::ClientProxy) { +- match get_current_thread_info() { +- Ok(info) => { +- let bytes = info.serialize(); +- // Don't wait for the response, this is on the callback thread, which must not block. +- rpc.call(ServerMessage::PromoteThreadToRealTime(bytes)); +- } +- Err(_) => { +- warn!("Could not remotely promote thread to RT."); +- } +- } +-} +- +-#[cfg(not(target_os = "linux"))] +-fn promote_thread(_rpc: &rpc::ClientProxy) { +- match promote_current_thread_to_real_time(0, 48000) { +- Ok(_) => { +- info!("Audio thread promoted to real-time."); +- } +- Err(_) => { +- warn!("Could not promote thread to real-time."); +- } +- } +-} +- + fn register_thread(callback: Option) { + if let Some(func) = callback { + let thr = thread::current(); +@@ -121,7 +91,6 @@ fn promote_and_register_thread( + rpc: &rpc::ClientProxy, + callback: Option, + ) { +- promote_thread(rpc); + register_thread(callback); + } + +diff --git a/media/audioipc/server/Cargo.toml b/media/audioipc/server/Cargo.toml +index 3171873881..3363f143c7 100644 +--- a/media/audioipc/server/Cargo.toml ++++ b/media/audioipc/server/Cargo.toml +@@ -9,7 +9,6 @@ description = "Remote cubeb server" + edition = "2018" + + [dependencies] +-audio_thread_priority = "0.22" + audioipc = { path = "../audioipc" } + cubeb-core = "0.6.0" + futures = "0.1.18" +diff --git a/media/audioipc/server/src/lib.rs b/media/audioipc/server/src/lib.rs +index 4ae9dc3ddc..ad1e1297d5 100644 +--- a/media/audioipc/server/src/lib.rs ++++ b/media/audioipc/server/src/lib.rs +@@ -9,7 +9,6 @@ extern crate error_chain; + #[macro_use] + extern crate log; + +-use audio_thread_priority::promote_current_thread_to_real_time; + use audioipc::core; + use audioipc::platformhandle_passing::framed_with_platformhandles; + use audioipc::rpc; +@@ -64,12 +63,6 @@ fn run() -> Result { + let callback_thread = core::spawn_thread( + "AudioIPC Callback RPC", + || { +- match promote_current_thread_to_real_time(0, 48000) { +- Ok(_) => {} +- Err(_) => { +- debug!("Failed to promote audio callback thread to real-time."); +- } +- } + trace!("Starting up cubeb audio callback event loop thread..."); + Ok(()) + }, +diff --git a/media/audioipc/server/src/server.rs b/media/audioipc/server/src/server.rs +index 33b8ecdc9f..2f8ea52245 100644 +--- a/media/audioipc/server/src/server.rs ++++ b/media/audioipc/server/src/server.rs +@@ -3,8 +3,6 @@ + // This program is made available under an ISC-style license. See the + // accompanying file LICENSE for details + +-#[cfg(target_os = "linux")] +-use audio_thread_priority::{promote_thread_to_real_time, RtPriorityThreadInfo}; + use audioipc; + use audioipc::codec::LengthDelimitedCodec; + use audioipc::frame::{framed, Framed}; +@@ -611,20 +609,6 @@ impl CubebServer { + enable, + ) + .unwrap_or_else(error), +- +- #[cfg(target_os = "linux")] +- ServerMessage::PromoteThreadToRealTime(thread_info) => { +- let info = RtPriorityThreadInfo::deserialize(thread_info); +- match promote_thread_to_real_time(info, 0, 48000) { +- Ok(_) => { +- info!("Promotion of content process thread to real-time OK"); +- } +- Err(_) => { +- warn!("Promotion of content process thread to real-time error"); +- } +- } +- ClientMessage::ThreadPromoted +- } + }; + + trace!("process_msg: req={:?}, resp={:?}", msg, resp); +diff --git a/toolkit/library/rust/shared/Cargo.toml b/toolkit/library/rust/shared/Cargo.toml +index 01040fad2d..16e2251fc7 100644 +--- a/toolkit/library/rust/shared/Cargo.toml ++++ b/toolkit/library/rust/shared/Cargo.toml +@@ -40,7 +40,6 @@ storage = { path = "../../../../storage/rust" } + bookmark_sync = { path = "../../../components/places/bookmark_sync", optional = true } + shift_or_euc_c = "0.1.0" + chardetng_c = "0.1.1" +-audio_thread_priority = "0.22" + mdns_service = { path="../../../../media/mtransport/mdns_service", optional = true } + neqo_glue = { path = "../../../../netwerk/socket/neqo_glue" } + rlbox_lucet_sandbox = { version = "0.1.0", optional = true } +diff --git a/toolkit/library/rust/shared/lib.rs b/toolkit/library/rust/shared/lib.rs +index 10c96aa1e7..539dbf9c55 100644 +--- a/toolkit/library/rust/shared/lib.rs ++++ b/toolkit/library/rust/shared/lib.rs +@@ -50,7 +50,6 @@ extern crate xpcom; + #[cfg(feature = "new_xulstore")] + extern crate xulstore; + +-extern crate audio_thread_priority; + + #[cfg(feature = "webrtc")] + extern crate mdns_service; diff --git a/extra/firefox/sources b/extra/firefox/sources index 8377e3fb..0e7df021 100644 --- a/extra/firefox/sources +++ b/extra/firefox/sources @@ -1,12 +1,6 @@ -https://ftp.mozilla.org/pub/firefox/releases/68.7.0esr/source/firefox-68.7.0esr.source.tar.xz +https://ftp.mozilla.org/pub/firefox/releases/76.0/source/firefox-76.0.source.tar.xz https://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz autoconf2.13/ https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz yasm/ files/mozconfig files/stab.h toolkit/crashreporter/google-breakpad/src/ -patches/fix-fortify-system-wrappers.patch -patches/fix-seccomp-bpf.patch -patches/fix-toolkit.patch -patches/fix-tools.patch -patches/fix-webrtc-glibcisms.patch -patches/fix-bug-1261392.patch -patches/mallinfo.patch +patches/no-dbus.patch diff --git a/extra/firefox/version b/extra/firefox/version index d5855cab..3f0c2f75 100644 --- a/extra/firefox/version +++ b/extra/firefox/version @@ -1 +1 @@ -68.7.0esr 1 +76.0 1