2
0
mirror of https://codeberg.org/kiss-community/repo synced 2024-07-04 15:02:27 +00:00

testing: Added firefox 70b

This commit is contained in:
Dylan Araps 2019-10-05 22:01:37 +03:00
parent f72b0fffd6
commit ea0befc266
No known key found for this signature in database
GPG Key ID: 46D62DD9F1DE636E
18 changed files with 2600 additions and 0 deletions

57
testing/firefox/build Executable file
View File

@ -0,0 +1,57 @@
#!/bin/sh -e
# Build autoconf 2.13 for Firefox's sole use.
# See: https://bugzilla.mozilla.org/show_bug.cgi?id=104642
(
cd autoconf2.13
./configure --prefix="$PWD/../autoconf" --program-suffix=-2.13
make
make install
)
export PATH="$PWD/autoconf/bin:$PATH"
# Fix linker errors at runtime.
export LDFLAGS="$LDFLAGS -Wl,-rpath=/usr/lib/firefox"
unset MOZ_TELEMETRY_REPORTING
export MOZ_NOSPAM=1
cd firefox
# Fix OOM errors.
cores=$(nproc)
printf '%s\n' "mk_add_options MOZ_MAKE_FLAGS=\"-j$cores -l$cores\"" >> mozconfig
for patch in *.patch; do
patch -p1 < "$patch"
done
./mach build
DESTDIR="$1" ./mach install
rm -rf "$1/usr/include"
rm -rf "$1/usr/lib/firefox-devel"
rm -rf "$1/usr/share/idl"
rm -rf "$1/usr/lib/firefox/gtk2"
# Disable nasty features by default.
# This extends the Ghacks user.js file.
cat >> user.js <<EOF
// Disable DNS over HTTPS.
user_pref("network.trr.mode", 5);
// Disable location aware browsing.
user_pref("geo.enabled", false);
// Disable auto extension updates/installs.
user_pref("extensions.update.enabled", false);
user_pref("extensions.update.autoUpdateDefault", false);
// Disable Screenshots extension.
user_pref("extensions.screenshots.disabled", true);
user_pref("extensions.screenshots.upload-disabled", true);
EOF
# Install Ghacks user.js.
mkdir -p "$1/usr/lib/firefox/browser/defaults/preferences/"
cp -f ./user.js "$1/usr/lib/firefox/browser/defaults/preferences/vendor.js"

13
testing/firefox/checksums Normal file
View File

@ -0,0 +1,13 @@
9e759ee2ea2a55a8f9180683f046a6e34a1d9a711bdf30f3794a47c3277f4e87 firefox-70.0b12.source.tar.xz
f0611136bee505811e9ca11ca7ac188ef5323a8e2ef19cffd3edb3cf08fd791e autoconf-2.13.tar.gz
32a91ec1f74c99bc5e1ae369b6a1045390ee86bc73498c149dac1dc1eca3d937 user.js
143c5f3348713eaa0850c9ba5b0233603a85764feda9fa5b267f9f4424d03f4c mozconfig
960d82bbfdc88c95f5cb4f2e1c1bf23dae7519b3b7203914d7b3ddbff1ba4c28 stab.h
315880530f09175788dfa48a1915bfa1e190bfd3e267988b9100cb93006c808c fix-fortify-system-wrappers.patch
418a2a9f80c41ee004cb640968617cab283b99f3d109aaf6180b0088d60c84b0 fix-sandbox-membarrier.patch
14f281ee323aa682e04479019171bde243ac6227820856aa03b162179b14bfd9 fix-seccomp-bpf.patch
b19aaae7fc45db643f8d2540d96919c745ea341e36d9aea2df40e3e90eb951f0 fix-toolkit.patch
e24f71a6a0d8d4637b2081780c66b01be4eeb4dd496031270d0ae0b898be94d2 fix-tools.patch
5e0fcfde375837074baad21a8ab26aa442a7940617ebd074a6b238a48f2ceb63 fix-webrtc-glibcisms.patch
1d4a8f110d34da478f5597727eda9acacebd443dd86cce5bb64f898c01feabce mallinfo.patch
e3b3d354bcc1a3cca3029ecdbc4237f5ed0aa9fbb62919e2dfbfc697d5a4f5f5 firefox-70-no-dbus.patch

53
testing/firefox/depends Normal file
View File

@ -0,0 +1,53 @@
alsa-lib
atk
bzip2
cairo
cbindgen make
clang make
expat
ffmpeg
fontconfig
freetype-harfbuzz
fribidi
gdk-pixbuf
glib
gtk+2 make
gtk+3
hicolor-icon-theme
libICE
libSM
libX11
libXau
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libXinerama
libXrandr
libXrender
libXt
libXxf86vm
libdrm
libepoxy
libffi
libjpeg-turbo
libpng
libvpx
libxcb
libxshmfence
llvm make
mesa
nasm make
nodejs make
pango
perl make
pixman
python make
python2 make
rust make
util-linux
yasm make
zip make
zlib

View File

@ -0,0 +1,58 @@
ac_add_options --prefix=/usr
ac_add_options --libdir=/usr/lib
ac_add_options --enable-official-branding
ac_add_options --enable-optimize="$CFLAGS"
ac_add_options --enable-install-strip
ac_add_options --enable-strip
ac_add_options --without-system-nspr
ac_add_options --without-system-nss
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-bz2
ac_add_options --with-system-png
# System 'libvpx' is too new.
ac_add_options --without-system-libvpx
ac_add_options --with-system-pixman
ac_add_options --with-system-ffi
ac_add_options --disable-gconf
ac_add_options --disable-profiling
ac_add_options --disable-accessibility
ac_add_options --disable-tests
ac_add_options --disable-system-extension-dirs
ac_add_options --disable-parental-controls
ac_add_options --disable-debug-symbols
ac_add_options --disable-callgrind
ac_add_options --disable-vtune
# musl
ac_add_options --disable-elf-hack
ac_add_options --disable-gold
ac_add_options --disable-jemalloc
ac_add_options --enable-release
# ALSA/PulseAudio (removed in 70)
ac_add_options --disable-pulseaudio
ac_add_options --enable-alsa
ac_add_options --disable-startup-notification
# Respect the user.
export MOZ_SERVICES_METRICS=0
export MOZ_PAY=0
export MOZ_SERVICES_HEALTHREPORTER=0
export MOZ_SERVICES_FXACCOUNTS=0
export MOZ_SERVICES_METRICS=0
export MOZ_DATA_REPORTING=0
export MOZ_DEVICES=0
export MOZ_REQUIRE_SIGNING=0
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-dbus
ac_add_options --disable-eme
ac_add_options --disable-necko-wifi
ac_add_options --disable-webrtc

View File

@ -0,0 +1,71 @@
/* $OpenBSD: stab.h,v 1.3 2003/06/02 19:34:12 millert Exp $ */
/* $NetBSD: stab.h,v 1.4 1994/10/26 00:56:25 cgd Exp $ */
/*-
* Copyright (c) 1991 The Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* @(#)stab.h 5.2 (Berkeley) 4/4/91
*/
#ifndef _STAB_H_
#define _STAB_H_
/*
* The following are symbols used by various debuggers and by the Pascal
* compiler. Each of them must have one (or more) of the bits defined by
* the N_STAB mask set.
*/
#define N_GSYM 0x20 /* global symbol */
#define N_FNAME 0x22 /* F77 function name */
#define N_FUN 0x24 /* procedure name */
#define N_STSYM 0x26 /* data segment variable */
#define N_LCSYM 0x28 /* bss segment variable */
#define N_MAIN 0x2a /* main function name */
#define N_PC 0x30 /* global Pascal symbol */
#define N_RSYM 0x40 /* register variable */
#define N_SLINE 0x44 /* text segment line number */
#define N_DSLINE 0x46 /* data segment line number */
#define N_BSLINE 0x48 /* bss segment line number */
#define N_SSYM 0x60 /* structure/union element */
#define N_SO 0x64 /* main source file name */
#define N_LSYM 0x80 /* stack variable */
#define N_BINCL 0x82 /* include file beginning */
#define N_SOL 0x84 /* included source file name */
#define N_PSYM 0xa0 /* parameter variable */
#define N_EINCL 0xa2 /* include file end */
#define N_ENTRY 0xa4 /* alternate entry point */
#define N_LBRAC 0xc0 /* left bracket */
#define N_EXCL 0xc2 /* deleted include file */
#define N_RBRAC 0xe0 /* right bracket */
#define N_BCOMM 0xe2 /* begin common */
#define N_ECOMM 0xe4 /* end common */
#define N_ECOML 0xe8 /* end common (local name) */
#define N_LENG 0xfe /* length of preceding entry */
#endif /* !_STAB_H_ */

File diff suppressed because it is too large Load Diff

90
testing/firefox/manifest Normal file
View File

@ -0,0 +1,90 @@
/var/db/kiss/installed/firefox/version
/var/db/kiss/installed/firefox/sources
/var/db/kiss/installed/firefox/patches/mallinfo.patch
/var/db/kiss/installed/firefox/patches/fix-webrtc-glibcisms.patch
/var/db/kiss/installed/firefox/patches/fix-tools.patch
/var/db/kiss/installed/firefox/patches/fix-toolkit.patch
/var/db/kiss/installed/firefox/patches/fix-seccomp-bpf.patch
/var/db/kiss/installed/firefox/patches/fix-sandbox-membarrier.patch
/var/db/kiss/installed/firefox/patches/fix-rust-target.patch
/var/db/kiss/installed/firefox/patches/fix-fortify-system-wrappers.patch
/var/db/kiss/installed/firefox/patches/firefox-69.0.2-no-dbus.patch
/var/db/kiss/installed/firefox/patches/
/var/db/kiss/installed/firefox/manifest
/var/db/kiss/installed/firefox/files/stab.h
/var/db/kiss/installed/firefox/files/mozconfig
/var/db/kiss/installed/firefox/files/
/var/db/kiss/installed/firefox/depends
/var/db/kiss/installed/firefox/checksums
/var/db/kiss/installed/firefox/build
/var/db/kiss/installed/firefox/
/var/db/kiss/installed/
/var/db/kiss/
/var/db/
/var/
/usr/lib/firefox/removed-files
/usr/lib/firefox/plugin-container
/usr/lib/firefox/platform.ini
/usr/lib/firefox/pingsender
/usr/lib/firefox/omni.ja
/usr/lib/firefox/libxul.so
/usr/lib/firefox/libssl3.so
/usr/lib/firefox/libsoftokn3.so
/usr/lib/firefox/libsoftokn3.chk
/usr/lib/firefox/libsmime3.so
/usr/lib/firefox/libplds4.so
/usr/lib/firefox/libplc4.so
/usr/lib/firefox/libnssutil3.so
/usr/lib/firefox/libnssdbm3.so
/usr/lib/firefox/libnssdbm3.chk
/usr/lib/firefox/libnssckbi.so
/usr/lib/firefox/libnss3.so
/usr/lib/firefox/libnspr4.so
/usr/lib/firefox/libmozsqlite3.so
/usr/lib/firefox/libmozsandbox.so
/usr/lib/firefox/libmozgtk.so
/usr/lib/firefox/libmozavutil.so
/usr/lib/firefox/libmozavcodec.so
/usr/lib/firefox/liblgpllibs.so
/usr/lib/firefox/libfreeblpriv3.so
/usr/lib/firefox/libfreeblpriv3.chk
/usr/lib/firefox/gmp-clearkey/0.1/manifest.json
/usr/lib/firefox/gmp-clearkey/0.1/libclearkey.so
/usr/lib/firefox/gmp-clearkey/0.1/
/usr/lib/firefox/gmp-clearkey/
/usr/lib/firefox/fonts/TwemojiMozilla.ttf
/usr/lib/firefox/fonts/
/usr/lib/firefox/firefox-bin
/usr/lib/firefox/firefox
/usr/lib/firefox/dependentlibs.list
/usr/lib/firefox/defaults/pref/channel-prefs.js
/usr/lib/firefox/defaults/pref/
/usr/lib/firefox/defaults/
/usr/lib/firefox/chrome.manifest
/usr/lib/firefox/browser/omni.ja
/usr/lib/firefox/browser/features/webcompat@mozilla.org.xpi
/usr/lib/firefox/browser/features/webcompat-reporter@mozilla.org.xpi
/usr/lib/firefox/browser/features/screenshots@mozilla.org.xpi
/usr/lib/firefox/browser/features/fxmonitor@mozilla.org.xpi
/usr/lib/firefox/browser/features/formautofill@mozilla.org.xpi
/usr/lib/firefox/browser/features/
/usr/lib/firefox/browser/defaults/preferences/vendor.js
/usr/lib/firefox/browser/defaults/preferences/
/usr/lib/firefox/browser/defaults/
/usr/lib/firefox/browser/chrome/icons/default/default64.png
/usr/lib/firefox/browser/chrome/icons/default/default48.png
/usr/lib/firefox/browser/chrome/icons/default/default32.png
/usr/lib/firefox/browser/chrome/icons/default/default16.png
/usr/lib/firefox/browser/chrome/icons/default/default128.png
/usr/lib/firefox/browser/chrome/icons/default/
/usr/lib/firefox/browser/chrome/icons/
/usr/lib/firefox/browser/chrome/
/usr/lib/firefox/browser/chrome.manifest
/usr/lib/firefox/browser/blocklist.xml
/usr/lib/firefox/browser/
/usr/lib/firefox/application.ini
/usr/lib/firefox/
/usr/lib/
/usr/bin/firefox
/usr/bin/
/usr/

View File

@ -0,0 +1,182 @@
diff --git a/Cargo.lock b/Cargo.lock
index 77a03dd398..cbfd1d4b2e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -81,19 +81,6 @@ dependencies = [
"winapi 0.3.6 (git+https://github.com/froydnj/winapi-rs?branch=aarch64)",
]
-[[package]]
-name = "audio_thread_priority"
-version = "0.19.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "dbus 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "mach 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.6 (git+https://github.com/froydnj/winapi-rs?branch=aarch64)",
-]
-
[[package]]
name = "audioipc"
version = "0.2.4"
@@ -125,7 +112,6 @@ dependencies = [
name = "audioipc-client"
version = "0.4.0"
dependencies = [
- "audio_thread_priority 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)",
"audioipc 0.2.4",
"cubeb-backend 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
"futures 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -139,7 +125,6 @@ dependencies = [
name = "audioipc-server"
version = "0.2.3"
dependencies = [
- "audio_thread_priority 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)",
"audioipc 0.2.4",
"cubeb-core 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
"error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1247,7 +1232,6 @@ name = "gkrust-shared"
version = "0.1.0"
dependencies = [
"arrayvec 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "audio_thread_priority 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)",
"audioipc-client 0.4.0",
"audioipc-server 0.2.3",
"authenticator 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -3877,7 +3861,6 @@ dependencies = [
"checksum atomic 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c210c1f4db048cda477b652d170572d84c9640695835f17663595d3bd543fc28"
"checksum atomic_refcell 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fb2dcb6e6d35f20276943cc04bb98e538b348d525a04ac79c10021561d202f21"
"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
-"checksum audio_thread_priority 0.19.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4c1e4aab7f57d8334168073cd0d0f11c7d1f7f3aabef84a1733a42629d0da80c"
"checksum authenticator 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ec149e5d5d4caa2c9ead53a8ce1ea9c4204c388c65bf3b96c2d1dc0fcf4aeb66"
"checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799"
"checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a"
diff --git a/dom/ipc/ContentChild.cpp b/dom/ipc/ContentChild.cpp
index 8b2b2938cf..774c2a17ab 100644
--- a/dom/ipc/ContentChild.cpp
+++ b/dom/ipc/ContentChild.cpp
@@ -106,7 +106,6 @@
#include "nsIStringBundle.h"
#include "nsIWorkerDebuggerManager.h"
#include "nsGeolocation.h"
-#include "audio_thread_priority.h"
#include "nsIConsoleService.h"
#if !defined(XP_WIN)
diff --git a/dom/media/GraphRunner.cpp b/dom/media/GraphRunner.cpp
index f764623737..73811c0f8c 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 {
@@ -93,9 +92,6 @@ bool GraphRunner::OneIteration(GraphTime aStateEnd) {
void GraphRunner::Run() {
PR_SetCurrentThreadName("GraphRunner");
- atp_handle* handle =
- atp_promote_current_thread_to_real_time(0, mGraph->GraphRate());
-
MonitorAutoLock lock(mMonitor);
while (true) {
while (mThreadState == ThreadState::Wait) {
@@ -111,10 +107,6 @@ void GraphRunner::Run() {
mMonitor.Notify();
}
- if (handle) {
- atp_demote_current_thread_from_real_time(handle);
- }
-
dom::WorkletThread::DeleteCycleCollectedJSContext();
}
diff --git a/dom/media/moz.build b/dom/media/moz.build
index 13601cbf36..06c65024c1 100644
--- a/dom/media/moz.build
+++ b/dom/media/moz.build
@@ -100,7 +100,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/client/Cargo.toml b/media/audioipc/client/Cargo.toml
index 6167a6254f..b813998396 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.19.1"
audioipc = { path="../audioipc" }
cubeb-backend = "0.5.5"
futures = { version="0.1.18", default-features=false, features=["use_std"] }
diff --git a/media/audioipc/client/src/lib.rs b/media/audioipc/client/src/lib.rs
index fc64ab9a26..552b39fd1e 100644
--- a/media/audioipc/client/src/lib.rs
+++ b/media/audioipc/client/src/lib.rs
@@ -18,7 +18,6 @@ mod stream;
use crate::context::ClientContext;
use crate::stream::ClientStream;
-use audio_thread_priority::RtPriorityHandle;
use audioipc::{PlatformHandle, PlatformHandleType};
use cubeb_backend::{capi, ffi};
use futures_cpupool::CpuPool;
@@ -35,7 +34,6 @@ type InitParamsTls = std::cell::RefCell<Option<CpuPoolInitParams>>;
thread_local!(static IN_CALLBACK: std::cell::RefCell<bool> = std::cell::RefCell::new(false));
thread_local!(static CPUPOOL_INIT_PARAMS: InitParamsTls = std::cell::RefCell::new(None));
-thread_local!(static G_PRIORITY_HANDLES: std::cell::RefCell<Vec<RtPriorityHandle>> = std::cell::RefCell::new(vec![]));
lazy_static! {
static ref G_THREAD_POOL: Mutex<Option<CpuPool>> = Mutex::new(None);
diff --git a/media/audioipc/server/Cargo.toml b/media/audioipc/server/Cargo.toml
index 51e86331d5..1749702fd0 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.19.1"
audioipc = { path = "../audioipc" }
cubeb-core = "0.5.5"
futures = "0.1.18"
diff --git a/toolkit/library/rust/shared/Cargo.toml b/toolkit/library/rust/shared/Cargo.toml
index 116fbf7e1d..742fff9098 100644
--- a/toolkit/library/rust/shared/Cargo.toml
+++ b/toolkit/library/rust/shared/Cargo.toml
@@ -42,7 +42,6 @@ bitsdownload = { path = "../../../components/bitsdownload", optional = true }
storage = { path = "../../../../storage/rust" }
bookmark_sync = { path = "../../../components/places/bookmark_sync", optional = true }
shift_or_euc_c = "0.1.0"
-audio_thread_priority = "0.19.1"
mdns_service = { path="../../../../media/mtransport/mdns_service" }
[build-dependencies]
diff --git a/toolkit/library/rust/shared/lib.rs b/toolkit/library/rust/shared/lib.rs
index 0475d4b221..a07411c308 100644
--- a/toolkit/library/rust/shared/lib.rs
+++ b/toolkit/library/rust/shared/lib.rs
@@ -50,8 +50,6 @@ extern crate shift_or_euc_c;
extern crate arrayvec;
-extern crate audio_thread_priority;
-
extern crate mdns_service;
use std::boxed::Box;

View File

@ -0,0 +1,13 @@
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',

View File

@ -0,0 +1,24 @@
--- a/build/moz.configure/rust.configure
+++ b/build/moz.configure/rust.configure
@@ -280,9 +280,11 @@
die("Don't know how to translate {} for rustc".format(
host_or_target.alias))
+ fixed_alias = rustc_target.alias.replace("-unknown-", "-alpine-").replace("-gnu", "-musl")
+
# Check to see whether our rustc has a reasonably functional stdlib
# for our chosen target.
- target_arg = '--target=' + rustc_target.alias
+ target_arg = '--target=' + fixed_alias
in_fd, in_path = mkstemp(prefix='conftest', suffix='.rs')
out_fd, out_path = mkstemp(prefix='conftest', suffix='.rlib')
os.close(out_fd)
@@ -319,7 +321,7 @@
os.remove(out_path)
# This target is usable.
- return rustc_target.alias
+ return fixed_alias
return rust_target

View File

@ -0,0 +1,54 @@
allow usage of SYS_membarrier, needed since musl-1.1.22
Taken from voidlinux: https://github.com/void-linux/void-packages/commit/4198411ac3b9e2620e171c662df82008da0faebb
--- a/security/sandbox/linux/SandboxFilter.cpp
+++ b/security/sandbox/linux/SandboxFilter.cpp
@@ -572,6 +572,8 @@
case __NR_set_tid_address:
return Allow();
#endif
+ case __NR_membarrier:
+ return Allow();
// prctl
case __NR_prctl: {
--- a/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
+++ b/security/sandbox/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h
@@ -1385,6 +1385,10 @@
#define __NR_memfd_create (__NR_SYSCALL_BASE+385)
#endif
+#if !defined(__NR_membarrier)
+#define __NR_membarrier (__NR_SYSCALL_BASE+389)
+#endif
+
// ARM private syscalls.
#if !defined(__ARM_NR_BASE)
#define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000)
--- a/security/sandbox/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
+++ b/security/sandbox/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h
@@ -1290,5 +1290,9 @@
#define __NR_memfd_create 319
#endif
+#if !defined(__NR_membarrier)
+#define __NR_membarrier 324
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_
--- a/security/sandbox/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
+++ b/security/sandbox/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h
@@ -1490,5 +1490,9 @@
#define __NR_shutdown 373
#endif
+#if !defined(__NR_membarrier)
+#define __NR_membarrier 375
+#endif
+
#endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_

View File

@ -0,0 +1,14 @@
--- 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 {

View File

@ -0,0 +1,90 @@
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 <sys/mman.h>
#include <sys/stat.h>
#include <unistd.h>
+#include <libgen.h>
#include <iostream>
#include <set>
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 <mach-o/nlist.h>
-#elif defined(HAVE_A_OUT_H)
+#elif 0
#include <a.out.h>
#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 <sys/stat.h>
-# else
+# elif !defined(__linux__) || defined(__GLIBC__)
# include <fts.h>
# endif
# include <dirent.h>
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<NS_tchar[]> searchpath(get_full_path(dirpath));
@@ -4085,6 +4086,7 @@
}
fts_close(ftsdir);
+#endif
return rv;
}

View File

@ -0,0 +1,37 @@
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;
}

View File

@ -0,0 +1,20 @@
--- ./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 <sys/auxv.h>
#else
#include <fcntl.h>
@@ -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

View File

@ -0,0 +1,34 @@
--- 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;

13
testing/firefox/sources Normal file
View File

@ -0,0 +1,13 @@
https://archive.mozilla.org/pub/firefox/releases/70.0b12/source/firefox-70.0b12.source.tar.xz firefox/
https://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz autoconf2.13/
https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/335299a0cfc083e86e1b88e849999b5daffd5a58/user.js firefox/
files/mozconfig firefox/
files/stab.h firefox/toolkit/crashreporter/google-breakpad/src/
patches/fix-fortify-system-wrappers.patch firefox/
patches/fix-sandbox-membarrier.patch firefox/
patches/fix-seccomp-bpf.patch firefox/
patches/fix-toolkit.patch firefox/
patches/fix-tools.patch firefox/
patches/fix-webrtc-glibcisms.patch firefox/
patches/mallinfo.patch firefox/
patches/firefox-70-no-dbus.patch firefox/

1
testing/firefox/version Normal file
View File

@ -0,0 +1 @@
70.0b12 1