https://www.firefox.com/
Firefox web browser
---
.../firefox/0002-Use-C99-math-isfinite.patch | 17 -----
testing/firefox/APKBUILD | 41 +++++-----
testing/firefox/disable-moz-stackwalk.patch | 10 +--
testing/firefox/fix-arm-atomics-grsec.patch | 74 ++++++++-----------
testing/firefox/fix-arm-version-detect.patch | 13 ----
testing/firefox/fix-seccomp-bpf.patch | 26 +++----
testing/firefox/fix-stack-overflow.patch | 45 -----------
testing/firefox/fix-toolkit.patch | 8 +-
testing/firefox/fix-tools.patch | 18 ++---
testing/firefox/fix-webrtc-glibcisms.patch | 18 ++---
testing/firefox/rust-unitialized-field.patch | 11 ++-
11 files changed, 94 insertions(+), 187 deletions(-)
delete mode 100644 testing/firefox/0002-Use-C99-math-isfinite.patch
delete mode 100644 testing/firefox/fix-arm-version-detect.patch
delete mode 100644 testing/firefox/fix-stack-overflow.patch
diff --git a/testing/firefox/0002-Use-C99-math-isfinite.patch b/testing/firefox/0002-Use-C99-math-isfinite.patch
deleted file mode 100644
index ba4f5cfb3d..0000000000
--- a/testing/firefox/0002-Use-C99-math-isfinite.patch
@@ -1,17 +0,0 @@
---- ./xpcom/ds/nsMathUtils.h.orig
-+++ ./xpcom/ds/nsMathUtils.h
-@@ -104,12 +104,12 @@
- #ifdef WIN32
- // NOTE: '!!' casts an int to bool without spamming MSVC warning C4800.
- return !!_finite(aNum);
--#elif defined(XP_DARWIN)
-+#elif defined(XP_DARWIN) || defined(_GLIBCXX_CMATH)
- // Darwin has deprecated |finite| and recommends |isfinite|. The former is
- // not present in the iOS SDK.
- return std::isfinite(aNum);
- #else
-- return finite(aNum);
-+ return isfinite(aNum);
- #endif
- }
-
diff --git a/testing/firefox/APKBUILD b/testing/firefox/APKBUILD
index b31c1997b7..c53275e7b1 100644
--- a/testing/firefox/APKBUILD
+++ b/testing/firefox/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=firefox
-pkgver=62.0.3
+pkgver=65.0
_pkgver=$pkgver
_xulver=$pkgver
pkgrel=2
@@ -11,6 +11,7 @@ url="https://www.firefox.com/"
arch="x86_64"
license="GPL LGPL MPL"
depends=""
+# icu-dev
makedepends="
alsa-lib-dev
autoconf2.13
@@ -18,6 +19,7 @@ makedepends="
bsd-compat-headers
bzip2-dev
cargo
+ cbindgen
clang-dev
dbus-glib-dev
ffmpeg-dev
@@ -25,8 +27,8 @@ makedepends="
gtk+2.0-dev
gtk+3.0-dev
hunspell-dev
- icu-dev
libevent-dev
+ libffi-dev
libidl-dev
libjpeg-turbo-dev
libnotify-dev
@@ -42,6 +44,7 @@ makedepends="
nspr-dev
nss-dev
nss-static
+ nodejs
paxmark
python3-dev
sqlite-dev
@@ -64,7 +67,6 @@ source="https://ftp.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkg
mallinfo.patch
fix-arm-atomics-grsec.patch
- fix-arm-version-detect.patch
mozilla-build-arm.patch
disable-moz-stackwalk.patch
fix-rust-target.patch
@@ -103,35 +105,31 @@ build() {
# set rpath so linker finds the libs
export LDFLAGS="$LDFLAGS -Wl,-rpath,${_mozappdir}"
+ #--enable-rust-simd \ waiting on llvm6
+ #--with-system-icu \ try again 63.0.1
+ #--with-system-libvpx \ conflicts with --enable-av1
../configure \
--prefix=/usr \
\
--disable-crashreporter \
- --disable-elf-hack \
- --disable-gold \
- --disable-install-strip \
--disable-jemalloc \
- --disable-profiling \
- --disable-pulseaudio \
- --disable-strip \
--disable-tests \
--disable-updater \
+ --disable-pulseaudio \
\
--enable-alsa \
--enable-default-toolkit=cairo-gtk3 \
--enable-official-branding \
--enable-optimize="$CFLAGS" \
- --enable-pie \
--enable-startup-notification \
--enable-system-ffi \
--enable-system-sqlite \
--enable-ffmpeg \
+ --enable-av1 \
\
--with-system-bz2 \
- --with-system-icu \
--with-system-jpeg \
--with-system-libevent \
- --with-system-libvpx \
--with-system-nspr \
--with-system-nss \
--with-system-pixman \
@@ -139,7 +137,7 @@ build() {
--with-system-zlib \
--with-clang-path=/usr/bin/clang \
--with-libclang-path=/usr/lib
- make
+ make # YMMV try -j1 if build fails
# paxmark outside fakeroot
paxmark -msp dist/bin/xpcshell
@@ -214,21 +212,20 @@ __EOF__
rm -f "$pkgdir"/${_mozappdirdev}/sdk/lib/libxul.so
}
-sha512sums="487bb7791284367158c79cf7918fecf3d598627a6416e679aeb5d22626089aeffe07762fa2389819ba881c90ece1c5a83cf2d85b2def15b8d5ba0ed1c498b527 firefox-62.0.3.source.tar.xz
+sha512sums="10ab04612c55f020fd4fe9ba7184f77e27bb62e7204ebd4e2e8e4af9fbb97b5594dd057b3c9c1fd960a48cedfd09c11939210dba873cc66ee651dc83dc9cbed2 firefox-65.0.source.tar.xz
0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127 stab.h
2f4f15974d52de4bb273b62a332d13620945d284bbc6fe6bd0a1f58ff7388443bc1d3bf9c82cc31a8527aad92b0cd3a1bc41d0af5e1800e0dcbd7033e58ffd71 fix-fortify-system-wrappers.patch
09bc32cf9ee81b9cc6bb58ddbc66e6cc5c344badff8de3435cde5848e5a451e0172153231db85c2385ff05b5d9c20760cb18e4138dfc99060a9e960de2befbd5 fix-fortify-inline.patch
-2f713a270f7d1588ec4a0b9c21e5a0d20823954e6a64293ee1a391f80d38af6c0a80b3d35c3ada59b605f6032fb2af3040cd8ca7f424b0e620cc53fd12674fd9 fix-seccomp-bpf.patch
-a2925045154f4fd34e5fc056656f4f9da100341529e5d4104d249154db0c7863384083f421ce6e47e0f20566a8b20787fa35444c7933c03cd03f96f06dcd4532 fix-toolkit.patch
-b46cb90d4fdd1a925a61e2c6c545489cd542f5d82980c529361c02042eed31d5c26972b5e237c1a020f87ffcfd12736d1f4f6e33eaa83ae156d523c808c718cb fix-tools.patch
+6764e7af43f5a066ac0faf4f8d0747c03739f4f14b51f58c524eb0519dfd28540bdd25569b201a8e20919d0096479cf0e7a8e306fb223aba4c0f177c4df55200 fix-seccomp-bpf.patch
+48b401c7df70084659e6aa39b2d8f0f8f025e7c852b2d07e786c96c6bc0cc081e3837f3e45045a4299e658fed89aec3dbc64e4e8c7a801e43e367d1f8ec07c3e fix-toolkit.patch
+a9e44759a584d148360405bf75981a6cb8b3ea0c2a553c13da7c559dc0193b35b2dca32571044cdca7ebd6ecc8c475da126d48a0c6ed19316857e2e88d28b49f fix-tools.patch
bdcd1b402d2ec94957ba5d08cbad7b1a7f59c251c311be9095208491a05abb05a956c79f27908e1f26b54a3679387b2f33a51e945b650671ad85c0a2d59a5a29 mallinfo.patch
-ed0d344c66fc8e1cc83a11e9858b32c42e841cbeedd9eb9438811e9fcc3593dc824a8336d00058d55836cedc970aeadd6a82c6dcd7bc0fb746e564d8b478cc6c fix-arm-atomics-grsec.patch
-015e1ff6dbf920033982b5df95d869a0b7bf56c6964e45e50649ddf46d1ce09563458e45240c3ecb92808662b1300b67507f7af272ba184835d91068a9e7d5b0 fix-arm-version-detect.patch
+9a07f214877c8e4f919311b35ceb8b8ea990fb5811c89d060c0dc5f87a864ac678649fa2c0f1c1459e949e5abb81a894996e2f82b0f94d44e21cc94273fc6d5b fix-arm-atomics-grsec.patch
e61664bc93eadce5016a06a4d0684b34a05074f1815e88ef2613380d7b369c6fd305fb34f83b5eb18b9e3138273ea8ddcfdcb1084fdcaa922a1e5b30146a3b18 mozilla-build-arm.patch
-4797d2d89ac63a57abb826b8ea9f751314ce66946194033deb9d78c2ff377b88106fd2c7bc5034dc13ad03dd5085b1893c3ccae1a9e63fde35655bb0921f7188 disable-moz-stackwalk.patch
+61b3c2ab34f43ada0b8c1c9c26fc70f82719b7f344a503325a350749fd6921255134d414c1eba3919e5c3bc133f7e0a164400d3c8af5ec6298afb8c7a146a4da disable-moz-stackwalk.patch
42cc44fda4b05259b38f055d6f51461746aa89a474cedc5e92fb9d20879da0d12b1b515b273a549e7302cda9c7eddde20d5fdba09853e5c658784ad6d0b20078 fix-rust-target.patch
a50b412edf9573a0bd04a43578b1c927967a616b73a5995eefb15bfa78fd2bd14e36ec05315a0703f6370ecd524e6bcb012e7285beb1245e9add9b8553acb79e fix-bug-1261392.patch
-01b48a708cc6bc6e3cd7cc7b16f5137ec344566ac891d699b65e322bc992726072fa14a54cef1a7775799fcbbcf90a6c170107c8524caba3bc311b42d93b7581 rust-unitialized-field.patch
-75b97d59e81e5f1debe6a459b535da704d5a2ac4a57c446d16058fd18db81e22317fcc3ec11b89f569f4de87e8e80ced027c0e72e7f1dd16f6fd0feb6b263919 fix-webrtc-glibcisms.patch
+7bc98f6370e2ca170b7bbfbddd8bd684df6c11530f38152f37031809f2b6b0bffde70a998939d97ed460d807fa7decc94b85a1bb6bf6464a63733e0f9d0f7ac6 rust-unitialized-field.patch
+44c95a862b04747658b666ab6e2efb77e57e63e78b1a81e489410bec4ef4c81956548131b922a50f9c069a3340c2b6f60a055cebf3f889f4d7d8a6e94eead11f fix-webrtc-glibcisms.patch
f3b7c3e804ce04731012a46cb9e9a6b0769e3772aef9c0a4a8c7520b030fdf6cd703d5e9ff49275f14b7d738fe82a0a4fde3bc3219dff7225d5db0e274987454 firefox.desktop
5dcb6288d0444a8a471d669bbaf61cdb1433663eff38b72ee5e980843f5fc07d0d60c91627a2c1159215d0ad77ae3f115dcc5fdfe87e64ca704b641aceaa44ed firefox-safe.desktop"
diff --git a/testing/firefox/disable-moz-stackwalk.patch b/testing/firefox/disable-moz-stackwalk.patch
index c83ae7eae9..8f4924bac1 100644
--- a/testing/firefox/disable-moz-stackwalk.patch
+++ b/testing/firefox/disable-moz-stackwalk.patch
@@ -1,12 +1,10 @@
-diff --git a/mozglue/misc/StackWalk.cpp b/mozglue/misc/StackWalk.cpp
-index a208bad..14e1f0d 100644
---- a/mozglue/misc/StackWalk.cpp
-+++ b/mozglue/misc/StackWalk.cpp
-@@ -41,13 +41,7 @@ static CriticalAddress gCriticalAddress;
+--- /mozglue/misc/StackWalk.cpp
++++ /mozglue/misc/StackWalk.cpp.
+@@ -32,13 +32,7 @@
#define MOZ_STACKWALK_SUPPORTS_MACOSX 0
#endif
--#if (defined(linux) && \
+-#if (defined(linux) && \
- ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
- defined(HAVE__UNWIND_BACKTRACE)))
-#define MOZ_STACKWALK_SUPPORTS_LINUX 1
diff --git a/testing/firefox/fix-arm-atomics-grsec.patch b/testing/firefox/fix-arm-atomics-grsec.patch
index 0eb58f093f..c7e12ca0f0 100644
--- a/testing/firefox/fix-arm-atomics-grsec.patch
+++ b/testing/firefox/fix-arm-atomics-grsec.patch
@@ -1,8 +1,8 @@
---- mozilla-release/ipc/chromium/src/base/atomicops_internals_arm_gcc.h.orig
-+++ mozilla-release/ipc/chromium/src/base/atomicops_internals_arm_gcc.h
-@@ -12,43 +35,194 @@
- namespace base {
- namespace subtle {
+--- ./toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_arm_gcc.h
++++ ./toolkit/components/protobuf/src/google/protobuf/stubs/atomicops_internals_arm_gcc.h.
+@@ -39,43 +39,194 @@
+ namespace protobuf {
+ namespace internal {
-// 0xffff0fc0 is the hard coded address of a function provided by
-// the kernel which implements an atomic compare-exchange. On older
@@ -217,7 +217,7 @@
return old_value;
}
-@@ -63,36 +237,57 @@
+@@ -90,8 +241,7 @@
// Atomic exchange the old value with an incremented one.
Atomic32 old_value = *ptr;
Atomic32 new_value = old_value + increment;
@@ -227,23 +227,19 @@
// The exchange took place as expected.
return new_value;
}
- // Otherwise, *ptr changed mid-loop and we need to retry.
- }
--
- }
-
+@@ -102,23 +252,45 @@
inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr,
Atomic32 old_value,
Atomic32 new_value) {
- return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
-+ Atomic32 prev_value;
-+ for (;;) {
-+ prev_value = *ptr;
++Atomic32 prev_value;
++ for (;;) {
++ prev_value = *ptr;
+ if (prev_value != old_value) {
-+ // Always ensure acquire semantics.
++ // Always ensure acquire semantics.
+ MemoryBarrier();
-+ return prev_value;
-+ }
++ return prev_value;
++ }
+ if (!LinuxKernelCmpxchg(old_value, new_value, ptr))
+ return old_value;
+ }
@@ -253,38 +249,37 @@
Atomic32 old_value,
Atomic32 new_value) {
- return NoBarrier_CompareAndSwap(ptr, old_value, new_value);
-+ // This could be implemented as:
-+ // MemoryBarrier();
-+ // return NoBarrier_CompareAndSwap();
-+ //
++ // This could be implemented as:
++ // MemoryBarrier();
++ // return NoBarrier_CompareAndSwap();
++ //
+ // But would use 3 barriers per succesful CAS. To save performance,
+ // use Acquire_CompareAndSwap(). Its implementation guarantees that:
-+ // - A succesful swap uses only 2 barriers (in the kernel helper).
-+ // - An early return due to (prev_value != old_value) performs
-+ // a memory barrier with no store, which is equivalent to the
-+ // generic implementation above.
++ // - A succesful swap uses only 2 barriers (in the kernel helper).
++ // - An early return due to (prev_value != old_value) performs
++ // a memory barrier with no store, which is equivalent to the
++ // generic implementation above.
+ return Acquire_CompareAndSwap(ptr, old_value, new_value);
}
-
-+#else
-+# error "Your CPU's ARM architecture is not supported yet"
-+#endif
-+
-+// NOTE: Atomicity of the following load and store operations is only
++#else
++# error "Your CPU's ARM architecture is not supported yet"
++#endif
++
++// NOTE: Atomicity of the following load and store operations is only
+// guaranteed in case of 32-bit alignement of |ptr| values.
-+
+
inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) {
*ptr = value;
}
--inline void MemoryBarrier() {
+-inline void MemoryBarrierInternal() {
- pLinuxKernelMemoryBarrier();
-}
-
inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) {
*ptr = value;
- MemoryBarrier();
-@@ -103,9 +298,7 @@
+ MemoryBarrierInternal();
+@@ -129,9 +301,7 @@
*ptr = value;
}
@@ -295,12 +290,3 @@
inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) {
Atomic32 value = *ptr;
-@@ -118,7 +311,6 @@
- return *ptr;
- }
-
--} // namespace base::subtle
--} // namespace base
-+} } // namespace base::subtle
-
- #endif // BASE_ATOMICOPS_INTERNALS_ARM_GCC_H_
diff --git a/testing/firefox/fix-arm-version-detect.patch b/testing/firefox/fix-arm-version-detect.patch
deleted file mode 100644
index c0c2a2e830..0000000000
--- a/testing/firefox/fix-arm-version-detect.patch
@@ -1,13 +0,0 @@
-diff --git a/build/autoconf/arch.m4 b/build/autoconf/arch.m4
-index b62ea71..53179a7 100644
---- a/build/autoconf/arch.m4
-+++ b/build/autoconf/arch.m4
-@@ -215,7 +215,7 @@ if test "$CPU_ARCH" = "arm"; then
-
- AC_MSG_CHECKING(ARM version support in compiler)
- dnl Determine the target ARM architecture (5 for ARMv5, v5T, v5E, etc.; 6 for ARMv6, v6K, etc.)
-- ARM_ARCH=`${CC-cc} ${CFLAGS} -dM -E - < /dev/null | sed -n 's/.*__ARM_ARCH_\([[0-9]][[0-9]]*\).*/\1/p'`
-+ ARM_ARCH=`${CC-cc} ${CFLAGS} -dM -E - < /dev/null | sed -n 's/.*__ARM_ARCH_\([[0-9]][[0-9]]*\).*/\1/p' | head -n 1`
- AC_MSG_RESULT("$ARM_ARCH")
-
- AC_MSG_CHECKING(for ARM NEON support in compiler)
diff --git a/testing/firefox/fix-seccomp-bpf.patch b/testing/firefox/fix-seccomp-bpf.patch
index ee6d666400..7f9fbae3a7 100644
--- a/testing/firefox/fix-seccomp-bpf.patch
+++ b/testing/firefox/fix-seccomp-bpf.patch
@@ -1,6 +1,5 @@
-diff -ru firefox-62.0.3.orig/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc firefox-62.0.3/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc
---- firefox-62.0.3.orig/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc 2018-12-14 08:53:46.083976137 +0000
-+++ firefox-62.0.3/security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc 2018-12-14 08:51:22.084596411 +0000
+--- ./security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc 2018-12-14 08:53:46.083976137 +0000
++++ ./security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc 2018-12-14 08:51:22.084596411 +0000
@@ -25,6 +25,11 @@
#include "sandbox/linux/system_headers/linux_seccomp.h"
#include "sandbox/linux/system_headers/linux_signal.h"
@@ -13,14 +12,13 @@ diff -ru firefox-62.0.3.orig/security/sandbox/chromium/sandbox/linux/seccomp-bpf
namespace {
struct arch_sigsys {
-diff -ru firefox-62.0.3.orig/security/sandbox/linux/SandboxFilter.cpp firefox-62.0.3/security/sandbox/linux/SandboxFilter.cpp
---- firefox-62.0.3.orig/security/sandbox/linux/SandboxFilter.cpp 2018-10-01 18:35:28.000000000 +0000
-+++ firefox-62.0.3/security/sandbox/linux/SandboxFilter.cpp 2018-12-14 08:57:50.645264590 +0000
-@@ -1005,6 +1005,7 @@
- // ffmpeg, and anything else that calls isatty(), will be told
- // that nothing is a typewriter:
- .ElseIf(request == TCGETS, Error(ENOTTY))
-+ .ElseIf(request == TIOCGWINSZ, Error(ENOTTY))
- // Allow anything that isn't a tty ioctl, for now; bug 1302711
- // will cover changing this to a default-deny policy.
- .ElseIf(shifted_type != kTtyIoctls, Allow())
+--- ./security/sandbox/linux/SandboxFilter.cpp 2018-10-01 18:35:28.000000000 +0000
++++ ./security/sandbox/linux/SandboxFilter.cpp 2018-12-14 08:57:50.645264590 +0000
+@@ -997,6 +997,7 @@
+ // ffmpeg, and anything else that calls isatty(), will be told
+ // that nothing is a typewriter:
+ .ElseIf(request == TCGETS, Error(ENOTTY))
++ .ElseIf(request == TIOCGWINSZ, Error(ENOTTY))
+ // Allow anything that isn't a tty ioctl, for now; bug 1302711
+ // will cover changing this to a default-deny policy.
+ .ElseIf(shifted_type != kTtyIoctls, Allow())
diff --git a/testing/firefox/fix-stack-overflow.patch b/testing/firefox/fix-stack-overflow.patch
deleted file mode 100644
index e164fc69b6..0000000000
--- a/testing/firefox/fix-stack-overflow.patch
@@ -1,45 +0,0 @@
-https://bugs.alpinelinux.org/issues/5559
-https://bugzilla.mozilla.org/show_bug.cgi?id=1274732
-
-diff --git a/netwerk/streamconv/converters/nsHTTPCompressConv.cpp b/netwerk/streamconv/converters/nsHTTPCompressConv.cpp
-index 1193529..aeb96b5 100644
---- a/netwerk/streamconv/converters/nsHTTPCompressConv.cpp
-+++ b/netwerk/streamconv/converters/nsHTTPCompressConv.cpp
-@@ -165,9 +165,8 @@ nsHTTPCompressConv::BrotliHandler(nsIInputStream *stream, void *closure, const c
- nsHTTPCompressConv *self = static_cast<nsHTTPCompressConv *>(closure);
- *countRead = 0;
-
-- const uint32_t kOutSize = 128 * 1024; // just a chunk size, we call in a loop
-- unsigned char outBuffer[kOutSize];
-- unsigned char *outPtr;
-+ const size_t kOutSize = 128 * 1024; // just a chunk size, we call in a loop
-+ uint8_t *outPtr;
- size_t outSize;
- size_t avail = aAvail;
- BrotliResult res;
-@@ -177,9 +176,15 @@ nsHTTPCompressConv::BrotliHandler(nsIInputStream *stream, void *closure, const c
- return NS_OK;
- }
-
-+ auto outBuffer = MakeUniqueFallible<uint8_t[]>(kOutSize);
-+ if (outBuffer == nullptr) {
-+ self->mBrotli->mStatus = NS_ERROR_OUT_OF_MEMORY;
-+ return self->mBrotli->mStatus;
-+ }
-+
- do {
- outSize = kOutSize;
-- outPtr = outBuffer;
-+ outPtr = outBuffer.get();
-
- // brotli api is documented in brotli/dec/decode.h and brotli/dec/decode.c
- LOG(("nsHttpCompresssConv %p brotlihandler decompress %d\n", self, avail));
-@@ -210,7 +215,7 @@ nsHTTPCompressConv::BrotliHandler(nsIInputStream *stream, void *closure, const c
- nsresult rv = self->do_OnDataAvailable(self->mBrotli->mRequest,
- self->mBrotli->mContext,
- self->mBrotli->mSourceOffset,
-- reinterpret_cast<const char *>(outBuffer),
-+ reinterpret_cast<const char *>(outBuffer.get()),
- outSize);
- LOG(("nsHttpCompressConv %p BrotliHandler ODA rv=%x", self, rv));
- if (NS_FAILED(rv)) {
diff --git a/testing/firefox/fix-toolkit.patch b/testing/firefox/fix-toolkit.patch
index 58fe5a3a9a..ac63e21e50 100644
--- a/testing/firefox/fix-toolkit.patch
+++ b/testing/firefox/fix-toolkit.patch
@@ -59,15 +59,15 @@ diff --git a/toolkit/mozapps/update/common/updatedefines.h b/toolkit/mozapps/upd
index 026e7ed..0801f14 100644
--- a/toolkit/mozapps/update/common/updatedefines.h
+++ b/toolkit/mozapps/update/common/updatedefines.h
-@@ -117,7 +117,7 @@ static inline int mywcsprintf(WCHAR* dest, size_t count, const WCHAR* fmt, ...)
+@@ -102,7 +102,7 @@
#ifdef SOLARIS
- # include <sys/stat.h>
+ #include <sys/stat.h>
-#else
+#elif !defined(__linux__) || defined(__GLIBC__)
- # include <fts.h>
+ #include <fts.h>
#endif
- # include <dirent.h>
+ #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
diff --git a/testing/firefox/fix-tools.patch b/testing/firefox/fix-tools.patch
index 84f7fa9cb8..ed2c7f2bca 100644
--- a/testing/firefox/fix-tools.patch
+++ b/testing/firefox/fix-tools.patch
@@ -11,12 +11,12 @@
#include "MainThreadUtils.h"
--- a/tools/profiler/lul/LulElf.cpp
+++ b/tools/profiler/lul/LulElf.cpp
-@@ -579,10 +579,10 @@
+@@ -469,10 +469,10 @@
// 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) {
+ string BaseFileName(const string& filename) {
- // Lots of copies! basename's behavior is less than ideal.
-- char *c_filename = strdup(filename.c_str());
+- 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
@@ -25,13 +25,13 @@
+ string base = p ? p+1 : c_filename;
return base;
}
-
+
--- a/tools/profiler/core/platform-linux-android.cpp.orig
+++ b/tools/profiler/core/platform-linux-android.cpp
-@@ -534,9 +534,11 @@
- void
- Registers::SyncPopulate()
- {
+@@ -497,8 +497,10 @@
+ ucontext_t sSyncUContext;
+
+ void Registers::SyncPopulate() {
+#if defined(__GLIBC__)
if (!getcontext(&sSyncUContext)) {
PopulateRegsFromContext(*this, &sSyncUContext);
@@ -39,4 +39,4 @@
+#endif
}
#endif
-
+
diff --git a/testing/firefox/fix-webrtc-glibcisms.patch b/testing/firefox/fix-webrtc-glibcisms.patch
index dc9206b50e..95b3a55eeb 100644
--- a/testing/firefox/fix-webrtc-glibcisms.patch
+++ b/testing/firefox/fix-webrtc-glibcisms.patch
@@ -1,13 +1,13 @@
---- ./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
-@@ -11,7 +11,9 @@
- #include <stdlib.h>
- #include <string.h>
- #include <features.h>
+--- ./media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c
++++ ./media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c.
+@@ -14,7 +14,9 @@
+ #ifndef __GLIBC_PREREQ
+ #define __GLIBC_PREREQ(a, b) 0
+ #endif
-#if __GLIBC_PREREQ(2, 16)
-+#if !defined(__GLIBC__)
-+#include <sys/auxv.h>
-+#elif __GLIBC_PREREQ(2, 16)
++#if !defined(__GLIBC__)
++#include <sys/auxv.h>
++#elif __GLIBC_PREREQ(2, 16)
#include <sys/auxv.h>
#else
#include <fcntl.h>
diff --git a/testing/firefox/rust-unitialized-field.patch b/testing/firefox/rust-unitialized-field.patch
index 67ef3a02ab..3ef7f055ca 100644
--- a/testing/firefox/rust-unitialized-field.patch
+++ b/testing/firefox/rust-unitialized-field.patch
@@ -1,11 +1,14 @@
---- ./media/audioipc/audioipc/src/cmsg.rs.orig 2018-05-09 22:19:14.748631939 +0200
-+++ ./media/audioipc/audioipc/src/cmsg.rs 2018-05-09 22:19:22.961620862 +0200
-@@ -106,11 +106,11 @@ impl ControlMsgBuilder {
+--- ./media/audioipc/audioipc/src/cmsg.rs
++++ ./media/audioipc/audioipc/src/cmsg.rs.
+@@ -105,14 +105,12 @@
+ if cmsg.remaining_mut() < cmsg_len {
return Err(Error::NoSpace);
}
-
+
- let cmsghdr = cmsghdr {
- cmsg_len: cmsg_len as _,
+- #[cfg(target_env = "musl")]
+- __pad1: 0,
- cmsg_level: level,
- cmsg_type: kind,
- };
--
2.20.1
---
Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org
Help: alpine-aports+help@lists.alpinelinux.org
---