~alpine/aports

1

[alpine-aports] [PATCH] testing/firefox: upgrade to 65.0

Bradley Saulteaux <bradsoto@gmail.com>
Details
Message ID
<20190211165934.9069-1-bradsoto@gmail.com>
Sender timestamp
1549904375
DKIM signature
missing
Download raw message
Patch: +94 -187
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
---
Leonardo Arena <rnalrd@gmail.com>
Details
Message ID
<CAGG_d8Cwqysyc==qrA7YtW2aYnCVDaV+nhYdghdyeQo82teWLA@mail.gmail.com>
In-Reply-To
<20190211165934.9069-1-bradsoto@gmail.com> (view parent)
Sender timestamp
1549976408
DKIM signature
missing
Download raw message
Hi,

see few comments below.

On Mon, Feb 11, 2019 at 5:56 PM Bradley Saulteaux <bradsoto@gmail.com>
wrote:

> 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
> +++ /dev/null
> @@ -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


icu has been recently updated to 63.1. As I understand is needed by firefox
65.


>
>  makedepends="
>         alsa-lib-dev
>         autoconf2.13
> @@ -18,6 +19,7 @@ makedepends="
>         bsd-compat-headers
>         bzip2-dev
>         cargo
> +       cbindgen
>

We don't have a package for it yet.

Thanks!

/eo
Reply to thread Export thread (mbox)