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

From: Bradley Saulteaux <[email-masked]>
Date: Mon, 11 Feb 2019 09:59:35 -0700

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 <[email-masked]>
 # Maintainer: Natanael Copa <[email-masked]>
 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
+++ /dev/null
@@ -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
+++ /dev/null
@@ -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:  [email-masked]
Help:         [email-masked]
---

---

From: Leonardo Arena <[email-masked]>
Date: Tue, 12 Feb 2019 14:00:08 +0100

Hi,

see few comments below.

On Mon, Feb 11, 2019 at 5:56 PM Bradley Saulteaux <[email-masked]>
wrote:

> diff --git a/testing/firefox/0002-Use-C99-math-isfinite.patch
> b/testing/firefox/0002-Use-C99-math-isfinite.patch
> deleted file mode 100644

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

> @@ -18,6 +19,7 @@ makedepends="

We don't have a package for it yet.

Thanks!

/eo