summaryrefslogtreecommitdiff
path: root/experimental/firefox
diff options
context:
space:
mode:
authorMolly Miller <adelie@m-squa.red>2019-05-22 17:36:09 +0000
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2019-08-10 10:26:28 +0000
commitaf4ec02d2b72b134895dee597f7e7debc5e20718 (patch)
tree08b37d64c92475e0a9f375bf762b2eca33c9c339 /experimental/firefox
parent3b0b4d180a70b093ed1625ecf233b64f29df5249 (diff)
downloadpackages-af4ec02d2b72b134895dee597f7e7debc5e20718.tar.gz
packages-af4ec02d2b72b134895dee597f7e7debc5e20718.tar.bz2
packages-af4ec02d2b72b134895dee597f7e7debc5e20718.tar.xz
packages-af4ec02d2b72b134895dee597f7e7debc5e20718.zip
experimental/firefox: bump to 68.0.1
Includes: * Depend on nasm; otherwise AV1 support won't be built on x86. * Add mozconfig option --disable-elf-hack. Otherwise there's a weird failure in rootpkg, and according to awilfox we want to disable this anyway. * Strip trailing spaces from the makedepends lines.
Diffstat (limited to 'experimental/firefox')
-rw-r--r--experimental/firefox/APKBUILD76
-rw-r--r--experimental/firefox/bad-google-code.patch49
-rw-r--r--experimental/firefox/disable-gecko-profiler.patch14
-rw-r--r--experimental/firefox/firefox-safe.desktop11
-rw-r--r--experimental/firefox/firefox.desktop81
-rw-r--r--experimental/firefox/fix-bug-1261392.patch25
-rw-r--r--experimental/firefox/fix-mutex-build.patch20
-rw-r--r--experimental/firefox/fix-seccomp-bpf.patch14
-rw-r--r--experimental/firefox/mozconfig7
-rw-r--r--experimental/firefox/mozilla-build-arm.patch11
-rw-r--r--experimental/firefox/rust-config.patch16
-rw-r--r--experimental/firefox/stackwalk-x86-ppc.patch16
-rw-r--r--experimental/firefox/webrtc-broken.patch30
13 files changed, 345 insertions, 25 deletions
diff --git a/experimental/firefox/APKBUILD b/experimental/firefox/APKBUILD
index 8d6a24d9b..4a258a2f9 100644
--- a/experimental/firefox/APKBUILD
+++ b/experimental/firefox/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=firefox
-pkgver=66.0.2
+pkgver=68.0.1
pkgrel=0
pkgdesc="Firefox Web browser (unstable)"
url="https://www.mozilla.org/firefox/"
@@ -13,27 +13,40 @@ depends=""
# system-libs
# actual deps
makedepends="
- autoconf2.13 cargo clang llvm7-dev node ncurses-dev perl rust
- rust-stdlib cmd:which
+ autoconf2.13 cargo cbindgen clang llvm8-dev node ncurses-dev
+ perl rust rust-stdlib cmd:which
ncurses-dev openssl-dev
alsa-lib-dev bzip2-dev icu-dev libevent-dev libffi-dev libpng-dev
libjpeg-turbo-dev nspr-dev nss-dev pulseaudio-dev zlib-dev
- dbus-glib-dev gconf-dev gtk+3.0-dev hunspell-dev libnotify-dev
- libsm-dev libxcomposite-dev libxdamage-dev libxrender-dev libxt-dev
- nss-static sqlite-dev startup-notification-dev unzip yasm zip
- gtk+2.0-dev
+ dbus-glib-dev fts-dev gconf-dev gtk+3.0-dev hunspell-dev
+ libnotify-dev libsm-dev libxcomposite-dev libxdamage-dev
+ libxrender-dev libxt-dev nasm nss-static sqlite-dev
+ startup-notification-dev unzip yasm zip gtk+2.0-dev
"
-_py2ver="2.7.15"
+_py2ver="2.7.16"
source="https://ftp.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz
https://www.python.org/ftp/python/$_py2ver/Python-$_py2ver.tar.xz
mozconfig
+ bad-google-code.patch
+ disable-gecko-profiler.patch
+ fix-mutex-build.patch
+ fix-seccomp-bpf.patch
+ mozilla-build-arm.patch
rust-config.patch
+ stackwalk-x86-ppc.patch
+ webrtc-broken.patch
+
+ firefox.desktop
+ firefox-safe.desktop
"
+_mozappdir=/usr/lib/firefox
+ldpath="$_mozappdir"
+
unpack() {
default_unpack
[ -z $SKIP_PYTHON ] || return 0
@@ -41,14 +54,24 @@ unpack() {
msg "Killing all remaining hope for humanity and building Python 2..."
cd "$srcdir/Python-$_py2ver"
[ -d ../python ] && rm -r ../python
+
# 19:39 <+solar> just make the firefox build process build its own py2 copy
# 20:03 <calvin> TheWilfox: there's always violence
- ./configure --prefix="$srcdir/python"
+
+ sed -e 's/é/e/g' /etc/os-release > "$srcdir"/os-release
+ export UNIXCONFDIR="$srcdir"
+
+ ./configure --prefix="$srcdir/python" --with-ensurepip=install
make -j $JOBS
# 6 tests failed:
# test__locale test_os test_posix test_re test_strptime test_time
# make test
make -j $JOBS install
+
+ # firefox's bundled pipenv and pip aren't new enough to support
+ # configurable UNIXCONFDIR
+ export PATH="$srcdir/python/bin:$PATH"
+ pip2 install virtualenv pipenv
}
prepare() {
@@ -59,9 +82,21 @@ prepare() {
echo "ac_add_options --host=\"$CHOST\"" >> "$builddir"/mozconfig
echo "ac_add_options --target=\"$CTARGET\"" >> "$builddir"/mozconfig
# too much memory
- if [ -z "$JOBS" ] || [ $JOBS -gt 16 ]; then
- echo "mk_add_options MOZ_MAKE_FLAGS=\"-j16\"" >> "$builddir"/mozconfig
+ if [ -z "$JOBS" ] || [ $JOBS -ge 32 ]; then
+ JOBS=32
fi
+ echo "mk_add_options MOZ_MAKE_FLAGS=\"-j$JOBS\"" >> "$builddir"/mozconfig
+
+ case "$CARCH" in
+ pmmx|x86_64)
+ echo "ac_add_options --disable-elf-hack" >> "$builddir"/mozconfig
+ ;;
+ esac
+
+ rm "$builddir"/third_party/python/virtualenv/virtualenv_support/pip*.whl
+ rm "$builddir"/third_party/python/virtualenv/virtualenv_support/setuptools*.whl
+ cp "$srcdir/Python-$_py2ver"/Lib/ensurepip/_bundled/*.whl \
+ "$builddir/third_party/python/virtualenv/virtualenv_support"
}
build() {
@@ -77,6 +112,8 @@ build() {
# set rpath so linker finds the libs
export LDFLAGS="$LDFLAGS -Wl,-rpath,${_mozappdir}"
+ export UNIXCONFDIR="$srcdir"
+
local extra_flags=""
[ "$CARCH" = "s390x" ] && extra_flags="--disable-startupcache"
@@ -129,7 +166,16 @@ package() {
EOF
}
-sha512sums="2246f3aed4e8a1d557a2383204e926c45d63d7977032512982b3698da4d6260b67fa91507f1a103af0af77198b7ffb34d6609159729aa7bf1c7c16cf2f7efc5b firefox-66.0.2.source.tar.xz
-27ea43eb45fc68f3d2469d5f07636e10801dee11635a430ec8ec922ed790bb426b072da94df885e4dfa1ea8b7a24f2f56dd92f9b0f51e162330f161216bd6de6 Python-2.7.15.tar.xz
-dde70694cd3b3abfcac8d0737bf6031a96918a1b0a1846e5aa7b246511621417e2710acc2f783f77edc3f0043e67b0822ef9bdd4d6034729c432f9752d8f1f6d mozconfig
-fd3b165e26ab931dd7eaf220d578c30b8772eab0a870710d59403c9823c2233ef941cd7eb25d1625d705de9e8a7138d0e8c4e227a185e9b687553132da96d81a rust-config.patch"
+sha512sums="96b45135cf0b2368013afccb8c375de54d591a4e11016e8b65fc83904cedc362096dd15814cd02be23f6e52e392c605817b86a59ee2300d3e7a754d345399c81 firefox-68.0.1.source.tar.xz
+16e814e8dcffc707b595ca2919bd2fa3db0d15794c63d977364652c4a5b92e90e72b8c9e1cc83b5020398bd90a1b397dbdd7cb931c49f1aa4af6ef95414b43e0 Python-2.7.16.tar.xz
+1b84e737ce9931872e0eba11d2dd1c9e66ee28f03a4d881ab8df2f7c41b6bcfc74d3dfc7dd03c0b000718ecd71492392538b8615a773e9aca62d52ceff756cbc mozconfig
+ace7492f4fb0523c7340fdc09c831906f74fddad93822aff367135538dacd3f56288b907f5a04f53f94c76e722ba0bab73e28d83ec12d3e672554712e6b08613 bad-google-code.patch
+9c14041f0295682b8dbeb6d5b58a2f9dc0a2dc8bef995a0f7e30fa0b17c51aa0f6748f80fb8584169db7687e2eeb404dff68a09158ae56a5f24eef30685dd2b3 disable-gecko-profiler.patch
+c0b2bf43206c2a5154e560ef30189a1062ae856861b39f52ce69002390ff9972d43e387bfd2bf8d2ab3cac621987bc042c8c0a8b4cf90ae05717ca7705271880 fix-mutex-build.patch
+70863b985427b9653ce5e28d6064f078fb6d4ccf43dd1b68e72f97f44868fc0ce063161c39a4e77a0a1a207b7365d5dc7a7ca5e68c726825eba814f2b93e2f5d fix-seccomp-bpf.patch
+e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch
+45613d476e85fe333ef8091acce4806803953c1a99de4f03ff577cf20c5a1a3d635d0589e1490da104ef80721f4f1b1d35045af3c6892c1a468fa84095f27ad8 rust-config.patch
+452b47b825294779f98ed46bc1065dad76b79ff453521ef049934a120f349c84a1c863b16af1828fe053059823da9690ec917c055ae02dcc5c80c54cad732448 stackwalk-x86-ppc.patch
+be68f1387aa6677875a67106e2d6a9db470c934c943056d3b53391a63034235108e41945c53957db427d9cdc59f0aa2f9e6f2f8cd862e090e512a3ab9cbcc9a8 webrtc-broken.patch
+f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454 firefox.desktop
+5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed firefox-safe.desktop"
diff --git a/experimental/firefox/bad-google-code.patch b/experimental/firefox/bad-google-code.patch
new file mode 100644
index 000000000..e214af432
--- /dev/null
+++ b/experimental/firefox/bad-google-code.patch
@@ -0,0 +1,49 @@
+--- firefox-esr-60.2.1/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc
++++ firefox-esr-60.2.1/toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc
+@@ -45,6 +45,7 @@
+ #include <sys/mman.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
++#include <libgen.h>
+
+ #include <iostream>
+ #include <set>
+--- firefox-esr-60.2.1/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc
++++ firefox-esr-60.2.1/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 {
+--- firefox-esr-60.2.1/toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h
++++ firefox-esr-60.2.1/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
+
+--- firefox-esr-60.2.1/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
++++ firefox-esr-60.2.1/toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h
+@@ -1134,6 +1134,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/experimental/firefox/disable-gecko-profiler.patch b/experimental/firefox/disable-gecko-profiler.patch
new file mode 100644
index 000000000..160ac6097
--- /dev/null
+++ b/experimental/firefox/disable-gecko-profiler.patch
@@ -0,0 +1,14 @@
+diff -uwr firefox-67.0-old/toolkit/moz.configure firefox-67.0/toolkit/moz.configure
+--- firefox-67.0-old/toolkit/moz.configure 2019-05-22 10:35:06.170036401 +0000
++++ firefox-67.0/toolkit/moz.configure 2019-05-22 10:36:21.680036609 +0000
+@@ -70,10 +70,6 @@
+ if value:
+ return True
+
+-set_config('MOZ_GECKO_PROFILER', gecko_profiler_define)
+-set_define('MOZ_GECKO_PROFILER', gecko_profiler_define)
+-
+-
+ # Whether code to parse ELF binaries should be compiled for the Gecko profiler
+ # (for symbol table dumping).
+ @depends(gecko_profiler, target)
diff --git a/experimental/firefox/firefox-safe.desktop b/experimental/firefox/firefox-safe.desktop
new file mode 100644
index 000000000..1538fc674
--- /dev/null
+++ b/experimental/firefox/firefox-safe.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Encoding=UTF-8
+Exec=firefox -safe-mode %u
+Icon=firefox
+Type=Application
+Terminal=false
+MultipleArgs=false
+Name=Firefox - Safe Mode
+GenericName=Web Browser - Safe Mode
+StartupNotify=false
+Categories=Network;WebBrowser;
diff --git a/experimental/firefox/firefox.desktop b/experimental/firefox/firefox.desktop
new file mode 100644
index 000000000..d048ce46c
--- /dev/null
+++ b/experimental/firefox/firefox.desktop
@@ -0,0 +1,81 @@
+[Desktop Entry]
+Exec=firefox %u
+Icon=firefox
+Type=Application
+Terminal=false
+Name=Firefox
+Name[bn]=ফায়ারফক্স3
+Name[eo]=Fajrovulpo3
+Name[fi]=Firefox3
+Name[pa]=ਫਾਇਰਫੋਕਸ3
+Name[tg]=Рӯбоҳи оташин3
+GenericName=Web Browser
+GenericName[af]=Web Blaaier
+GenericName[ar]=متصفح ويب
+GenericName[az]=Veb Səyyahı
+GenericName[bg]=Браузър
+GenericName[bn]=ওয়েব ব্রাউজার
+GenericName[br]=Furcher ar Gwiad
+GenericName[bs]=WWW Preglednik
+GenericName[ca]=Fullejador web
+GenericName[cs]=WWW prohlížeč
+GenericName[cy]=Porydd Gwe
+GenericName[da]=Browser
+GenericName[de]=Web-Browser
+GenericName[el]=Περιηγητής Ιστού
+GenericName[eo]=TTT-legilo
+GenericName[es]=Navegador web
+GenericName[et]=Veebilehitseja
+GenericName[eu]=Web arakatzailea
+GenericName[fa]=مرورگر وب
+GenericName[fi]=WWW-selain
+GenericName[fo]=Alnótsfar
+GenericName[fr]=Navigateur web
+GenericName[gl]=Navegador Web
+GenericName[he]=דפדפן אינטרנט
+GenericName[hi]=वेब ब्राउज़र
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[is]=Vafri
+GenericName[it]=Browser Web
+GenericName[ja]=ウェブブラウザ
+GenericName[ko]=웹 브라우저
+GenericName[lo]=ເວັບບຣາວເຊີ
+GenericName[lt]=Žiniatinklio naršyklė
+GenericName[lv]=Web Pārlūks
+GenericName[mk]=Прелистувач на Интернет
+GenericName[mn]=Веб-Хөтөч
+GenericName[nb]=Nettleser
+GenericName[nds]=Nettkieker
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[nso]=Seinyakisi sa Web
+GenericName[pa]=ਵੈਬ ਝਲਕਾਰਾ
+GenericName[pl]=Przeglądarka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator de web
+GenericName[ru]=Веб-браузер
+GenericName[se]=Fierpmádatlogan
+GenericName[sk]=Webový prehliadač
+GenericName[sl]=Spletni brskalnik
+GenericName[sr]=Веб претраживач
+GenericName[sr@Latn]=Veb pretraživač
+GenericName[ss]=Ibrawuza yeWeb
+GenericName[sv]=Webbläsare
+GenericName[ta]=வலை உலாவி
+GenericName[tg]=Тафсиргари вэб
+GenericName[th]=เว็บบราวเซอร์
+GenericName[tr]=Web Tarayıcı
+GenericName[uk]=Навігатор Тенет
+GenericName[uz]=Веб-браузер
+GenericName[ven]=Buronza ya Webu
+GenericName[vi]=Trình duyệt Web
+GenericName[wa]=Betchteu waibe
+GenericName[xh]=Umkhangeli zincwadi we Web
+GenericName[zh_CN]=网页浏览器
+GenericName[zh_TW]=網頁瀏覽器
+GenericName[zu]=Umcingi we-Web
+MimeType=text/html;
+StartupNotify=true
+Categories=Network;WebBrowser;
diff --git a/experimental/firefox/fix-bug-1261392.patch b/experimental/firefox/fix-bug-1261392.patch
new file mode 100644
index 000000000..fa40914d6
--- /dev/null
+++ b/experimental/firefox/fix-bug-1261392.patch
@@ -0,0 +1,25 @@
+--- a/tools/profiler/core/platform.h 2017-05-27 11:44:06.733119794 +0000
++++ b/tools/profiler/core/platform.h 2017-05-27 11:46:16.004253520 +0000
+@@ -54,10 +54,11 @@
+ #include <vector>
+ #include "StackTop.h"
+
+-// We need a definition of gettid(), but old glibc versions don't provide a
+-// wrapper for it.
+-#if defined(__GLIBC__)
++// We need a definition of gettid(), but Linux libc implementations don't
++// provide a wrapper for it (except for Bionic)
++#if defined(__linux__)
+ # include <unistd.h>
++#if !defined(__BIONIC__)
+ # include <sys/syscall.h>
+ # define gettid() static_cast<pid_t>(syscall(SYS_gettid))
++#endif
+@@ -71,6 +72,7 @@
+ return (pid_t) syscall(SYS_thread_selfid);
+ }
+ #endif
++#endif
+
+ #ifdef XP_WIN
+ #include <windows.h>
diff --git a/experimental/firefox/fix-mutex-build.patch b/experimental/firefox/fix-mutex-build.patch
new file mode 100644
index 000000000..a569e5aa7
--- /dev/null
+++ b/experimental/firefox/fix-mutex-build.patch
@@ -0,0 +1,20 @@
+--- firefox-60.3.0/memory/build/Mutex.h.old 2018-10-17 20:39:32.000000000 +0000
++++ firefox-60.3.0/memory/build/Mutex.h 2018-10-26 05:22:54.980000000 +0000
+@@ -39,7 +39,7 @@
+ }
+ #elif defined(XP_DARWIN)
+ mMutex = OS_SPINLOCK_INIT;
+-#elif defined(XP_LINUX) && !defined(ANDROID)
++#elif defined(XP_LINUX) && defined(__GLIBC__)
+ pthread_mutexattr_t attr;
+ if (pthread_mutexattr_init(&attr) != 0) {
+ return false;
+@@ -107,7 +107,7 @@
+
+ # if defined(XP_DARWIN)
+ # define STATIC_MUTEX_INIT OS_SPINLOCK_INIT
+-# elif defined(XP_LINUX) && !defined(ANDROID)
++# elif defined(XP_LINUX) && defined(__GLIBC__)
+ # define STATIC_MUTEX_INIT PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
+ # else
+ # define STATIC_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER
diff --git a/experimental/firefox/fix-seccomp-bpf.patch b/experimental/firefox/fix-seccomp-bpf.patch
new file mode 100644
index 000000000..47cde56c7
--- /dev/null
+++ b/experimental/firefox/fix-seccomp-bpf.patch
@@ -0,0 +1,14 @@
+--- a/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc.orig 2015-09-23 09:10:08.812740571 +0200
++++ b/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc 2015-09-23 09:11:38.404746155 +0200
+@@ -23,6 +23,11 @@
+ #include "sandbox/linux/services/android_ucontext.h"
+ #endif
+
++// 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/experimental/firefox/mozconfig b/experimental/firefox/mozconfig
index 3c44c7c1e..0ce38dcf6 100644
--- a/experimental/firefox/mozconfig
+++ b/experimental/firefox/mozconfig
@@ -7,8 +7,8 @@ ac_add_options --disable-profiling
ac_add_options --disable-strip
ac_add_options --disable-tests
ac_add_options --disable-updater
-ac_add_options --enable-application=browser
ac_add_options --enable-alsa
+ac_add_options --enable-application=browser
ac_add_options --enable-dbus
ac_add_options --enable-default-toolkit=cairo-gtk3
ac_add_options --enable-official-branding
@@ -17,7 +17,10 @@ ac_add_options --enable-startup-notification
ac_add_options --enable-system-ffi
ac_add_options --with-system-bz2
ac_add_options --with-system-icu
+#ac_add_options --with-system-jpeg
ac_add_options --with-system-libevent
ac_add_options --with-system-nspr
-#ac_add_options --with-system-png
+ac_add_options --with-system-nss
+ac_add_options --with-system-pixman
+ac_add_options --with-system-png
ac_add_options --with-system-zlib
diff --git a/experimental/firefox/mozilla-build-arm.patch b/experimental/firefox/mozilla-build-arm.patch
new file mode 100644
index 000000000..dcf2f6d8a
--- /dev/null
+++ b/experimental/firefox/mozilla-build-arm.patch
@@ -0,0 +1,11 @@
+--- ./gfx/ycbcr/moz.build.orig 2014-04-03 13:50:38.990296661 +0000
++++ ./gfx/ycbcr/moz.build 2014-04-03 13:52:26.878268547 +0000
+@@ -59,7 +59,7 @@
+ 'yuv_row_other.cpp',
+ ]
+
+-if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['HAVE_ARM_NEON']:
++if CONFIG['HAVE_ARM_NEON']:
+ SOURCES += [
+ 'yuv_row_arm.s',
+ ]
diff --git a/experimental/firefox/rust-config.patch b/experimental/firefox/rust-config.patch
index 4dbddc2a9..eab72a0e4 100644
--- a/experimental/firefox/rust-config.patch
+++ b/experimental/firefox/rust-config.patch
@@ -1,16 +1,16 @@
-look, another reason to hate google: fuchsia's triplets confuse the hell out of poor mozconfig
-
-meanwhile, make -foxkit- more important than -unknown-
-
---- thunderbird-60.2.1/build/moz.configure/rust.configure.old 2018-10-01 14:51:04.000000000 +0000
-+++ thunderbird-60.2.1/build/moz.configure/rust.configure 2018-10-11 23:13:15.370000000 +0000
-@@ -119,9 +119,13 @@
+diff -urw firefox-68.0-old/build/moz.configure/rust.configure firefox-68.0/build/moz.configure/rust.configure
+--- firefox-68.0-old/build/moz.configure/rust.configure 2019-07-07 15:56:29.345963800 +0000
++++ firefox-68.0/build/moz.configure/rust.configure 2019-07-07 16:19:25.990645334 +0000
+@@ -193,12 +193,16 @@
ambiguous = set()
per_raw_os = {}
for t in out:
+ if 'fuchsia' in t: continue
t = split_triplet(t, allow_unknown=True)
- key = (t.cpu, t.endianness, t.os)
+ endianness = t.endianness
+ if t.cpu.startswith('thumb') and endianness not in ('big', 'little'):
+ endianness = 'little'
+ key = (t.cpu, endianness, t.os)
if key in per_os:
+ # hax to allow Adélie toolchains to work
+ if 'foxkit' in per_os[key].alias:
diff --git a/experimental/firefox/stackwalk-x86-ppc.patch b/experimental/firefox/stackwalk-x86-ppc.patch
new file mode 100644
index 000000000..eed7a0956
--- /dev/null
+++ b/experimental/firefox/stackwalk-x86-ppc.patch
@@ -0,0 +1,16 @@
+--- thunderbird-52.6.0/mozglue/misc/StackWalk.cpp
++++ thunderbird-52.6.0/mozglue/misc/StackWalk.cpp
+@@ -41,13 +41,7 @@ static CriticalAddress gCriticalAddress;
+ #define MOZ_STACKWALK_SUPPORTS_MACOSX 0
+ #endif
+
+-#if (defined(linux) && \
+- ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
+- defined(HAVE__UNWIND_BACKTRACE)))
+-# define MOZ_STACKWALK_SUPPORTS_LINUX 1
+-#else
+ # define MOZ_STACKWALK_SUPPORTS_LINUX 0
+-#endif
+
+ #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1)
+ #define HAVE___LIBC_STACK_END 1
diff --git a/experimental/firefox/webrtc-broken.patch b/experimental/firefox/webrtc-broken.patch
new file mode 100644
index 000000000..85b1b1209
--- /dev/null
+++ b/experimental/firefox/webrtc-broken.patch
@@ -0,0 +1,30 @@
+diff -Naur firefox-60.0.orig/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c firefox-60.0/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c
+--- firefox-60.0.orig/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c 2018-05-13 17:33:55.266855917 -0700
++++ firefox-60.0/media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c 2018-05-13 20:21:08.158464933 -0700
+@@ -11,7 +11,7 @@
+ #ifndef __GLIBC_PREREQ
+ #define __GLIBC_PREREQ(a, b) 0
+ #endif
+-#if __GLIBC_PREREQ(2, 16)
++#if __linux__
+ #include <sys/auxv.h>
+ #else
+ #include <fcntl.h>
+@@ -29,7 +29,7 @@
+ int architecture = 0;
+ unsigned long hwcap = 0;
+ const char* platform = NULL;
+-#if __GLIBC_PREREQ(2, 16)
++#if __linux__
+ hwcap = getauxval(AT_HWCAP);
+ platform = (const char*)getauxval(AT_PLATFORM);
+ #else
+@@ -53,7 +53,7 @@
+ }
+ close(fd);
+ }
+-#endif // __GLIBC_PREREQ(2,16)
++#endif // __linux__
+ #if defined(__aarch64__)
+ architecture = 8;
+ if ((hwcap & HWCAP_FP) != 0)