aboutsummaryrefslogtreecommitdiffstats
path: root/www/firefox
diff options
context:
space:
mode:
authorjbeich <jbeich@FreeBSD.org>2018-01-16 05:32:32 +0800
committerjbeich <jbeich@FreeBSD.org>2018-01-16 05:32:32 +0800
commit36935e0af92a33dd0ec40c905479db0ac63294f2 (patch)
treeeadfde3f0a21ca4fb9bcf246682d071c48a60a8a /www/firefox
parentc4e2c800e58984842da03bdec83213edacd9ff73 (diff)
downloadfreebsd-ports-gnome-36935e0af92a33dd0ec40c905479db0ac63294f2.tar.gz
freebsd-ports-gnome-36935e0af92a33dd0ec40c905479db0ac63294f2.tar.zst
freebsd-ports-gnome-36935e0af92a33dd0ec40c905479db0ac63294f2.zip
www/firefox: update to 58.0
Changes: https://www.mozilla.org/firefox/58.0/releasenotes/ PR: 223425 Tested by: Greg V, tobik Security: a891c5b4-3d7a-4de9-9c71-eef3fd698c77 MFH: 2018Q1 (piling up)
Diffstat (limited to 'www/firefox')
-rw-r--r--www/firefox/Makefile9
-rw-r--r--www/firefox/distinfo6
-rw-r--r--www/firefox/files/patch-bug118696741
-rw-r--r--www/firefox/files/patch-bug136620140
-rw-r--r--www/firefox/files/patch-bug141255883
-rw-r--r--www/firefox/files/patch-bug1414440108
-rw-r--r--www/firefox/files/patch-bug82698540
-rw-r--r--www/firefox/files/patch-bug847568102
-rw-r--r--www/firefox/files/patch-dom_media_flac_FlacDecoder.cpp25
-rw-r--r--www/firefox/files/patch-toolkit_moz.configure15
-rw-r--r--www/firefox/files/patch-z-bug517422119
11 files changed, 169 insertions, 419 deletions
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index 0d88ed02413c..d9e46766b41b 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= firefox
-DISTVERSION= 57.0.4
-PORTREVISION= 1
+DISTVERSION= 58.0
PORTEPOCH= 1
CATEGORIES= www ipv6
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
@@ -14,12 +13,12 @@ MAINTAINER= gecko@FreeBSD.org
COMMENT= Web browser based on the browser portion of Mozilla
BUILD_DEPENDS= nspr>=4.17:devel/nspr \
- nss>=3.33:security/nss \
+ nss>=3.34.1:security/nss \
icu>=59.1,1:devel/icu \
libevent>=2.1.8:devel/libevent \
- harfbuzz>=1.5.1:print/harfbuzz \
+ harfbuzz>=1.7.2:print/harfbuzz \
graphite2>=1.3.10:graphics/graphite2 \
- png>=1.6.31:graphics/png \
+ png>=1.6.34:graphics/png \
libvorbis>=1.3.5,3:audio/libvorbis \
libvpx>=1.5.0:multimedia/libvpx \
sqlite3>=3.20.1:databases/sqlite3 \
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index 1324d5786b38..a156f05234a2 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1515099518
-SHA256 (firefox-57.0.4.source.tar.xz) = 97cced69abfd5c57d968f0095631f86beff4f7b61883edd5a4f207e7f9c43b33
-SIZE (firefox-57.0.4.source.tar.xz) = 250217612
+TIMESTAMP = 1516028155
+SHA256 (firefox-58.0.source.tar.xz) = 657f049cde85d649cec249ae246fa14bd90201fce0c64ac2764b769eb44e5820
+SIZE (firefox-58.0.source.tar.xz) = 248957120
diff --git a/www/firefox/files/patch-bug1186967 b/www/firefox/files/patch-bug1186967
deleted file mode 100644
index 26d304fbd3e9..000000000000
--- a/www/firefox/files/patch-bug1186967
+++ /dev/null
@@ -1,41 +0,0 @@
-commit 64bb4e051b50
-Author: Martin Stransky <stransky@redhat.com>
-Date: Tue Oct 17 09:50:18 2017 +0200
-
- Bug 1186967 - ignore double-click on WM without _NET_WM_MOVERESIZE support, r=jhorak
-
- MozReview-Commit-ID: 2Vs6i5leero
-
- --HG--
- extra : rebase_source : d8f2bbaf9ef9b2025478f029a68ee7e87e07de79
----
- widget/gtk/nsWindow.cpp | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
-diff --git widget/gtk/nsWindow.cpp widget/gtk/nsWindow.cpp
-index eb2f0e5e95cd..955327297ac9 100644
---- widget/gtk/nsWindow.cpp
-+++ widget/gtk/nsWindow.cpp
-@@ -6444,6 +6444,22 @@ nsWindow::GetDragInfo(WidgetMouseEvent* aMouseEvent,
- return false;
- }
-
-+ if (mIsX11Display) {
-+ // Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=789054
-+ // To avoid crashes disable double-click on WM without _NET_WM_MOVERESIZE.
-+ // See _should_perform_ewmh_drag() at gdkwindow-x11.c
-+ GdkScreen* screen = gdk_window_get_screen(gdk_window);
-+ GdkAtom atom = gdk_atom_intern("_NET_WM_MOVERESIZE", FALSE);
-+ if (!gdk_x11_screen_supports_net_wm_hint(screen, atom)) {
-+ static unsigned int lastTimeStamp = 0;
-+ if (lastTimeStamp != aMouseEvent->mTime) {
-+ lastTimeStamp = aMouseEvent->mTime;
-+ } else {
-+ return false;
-+ }
-+ }
-+ }
-+
- // FIXME: It would be nice to have the widget position at the time
- // of the event, but it's relatively unlikely that the widget has
- // moved since the mousedown. (On the other hand, it's quite likely
diff --git a/www/firefox/files/patch-bug1366201 b/www/firefox/files/patch-bug1366201
deleted file mode 100644
index 0ee5140e1b9a..000000000000
--- a/www/firefox/files/patch-bug1366201
+++ /dev/null
@@ -1,40 +0,0 @@
-commit 139967a109c1
-Author: Jean-Yves Avenard <jyavenard@mozilla.com>
-Date: Wed Oct 25 18:25:37 2017 +0200
-
- Bug 1366201 - P5. Get around FFmpeg bug with corrupted data. r=gerald
-
- According to FFmpeg documentation, the out parameter is "set to size of parsed buffer or zero if not yet finished. " however this is only the case if no error occurred; otherwise it is left untouched.
-
- We want the invalid content to generate a decoding error, so we set size to inputSize to ensure decoding failed later.
-
- MozReview-Commit-ID: FZeiZUdUtLG
----
- dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
-index 6acc8fef4dd8..fdee880c9e3b 100644
---- dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
-+++ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp
-@@ -212,18 +212,18 @@ FFmpegVideoDecoder<LIBAV_VER>::DoDecode(MediaRawData* aSample, bool* aGotFrame,
-
- #if LIBAVCODEC_VERSION_MAJOR >= 54
- if (inputSize && mCodecParser && (mCodecID == AV_CODEC_ID_VP8
- #if LIBAVCODEC_VERSION_MAJOR >= 55
- || mCodecID == AV_CODEC_ID_VP9
- #endif
- )) {
- while (inputSize) {
-- uint8_t* data;
-- int size;
-+ uint8_t* data = inputData;
-+ int size = inputSize;
- int len = mLib->av_parser_parse2(
- mCodecParser, mCodecContext, &data, &size, inputData, inputSize,
- aSample->mTime.ToMicroseconds(), aSample->mTimecode.ToMicroseconds(),
- aSample->mOffset);
- if (size_t(len) > inputSize) {
- return NS_ERROR_DOM_MEDIA_DECODE_ERR;
- }
- inputData += len;
diff --git a/www/firefox/files/patch-bug1412558 b/www/firefox/files/patch-bug1412558
deleted file mode 100644
index b6d3b045eae5..000000000000
--- a/www/firefox/files/patch-bug1412558
+++ /dev/null
@@ -1,83 +0,0 @@
-diff --git dom/media/flac/FlacDecoder.cpp dom/media/flac/FlacDecoder.cpp
-index 53fc3c9937f7..b23771ab80fa 100644
---- dom/media/flac/FlacDecoder.cpp
-+++ dom/media/flac/FlacDecoder.cpp
-@@ -7,6 +7,7 @@
- #include "FlacDecoder.h"
- #include "MediaContainerType.h"
- #include "MediaPrefs.h"
-+#include "PDMFactory.h"
-
- namespace mozilla {
-
-@@ -15,6 +16,10 @@ FlacDecoder::IsEnabled()
- {
- #ifdef MOZ_FFVPX
- return MediaPrefs::FlacEnabled();
-+#elif defined(MOZ_FFMPEG)
-+ RefPtr<PDMFactory> platform = new PDMFactory();
-+ return MediaPrefs::FlacEnabled() && platform->SupportsMimeType(NS_LITERAL_CSTRING("audio/flac"),
-+ /* DecoderDoctorDiagnostics* */ nullptr);
- #else
- // Until bug 1295886 is fixed.
- return false;
-diff --git media/ffvpx/README_MOZILLA media/ffvpx/README_MOZILLA
-index 5d3a6037efe0..43144b726a92 100644
---- media/ffvpx/README_MOZILLA
-+++ media/ffvpx/README_MOZILLA
-@@ -17,14 +17,6 @@ configuration files were generated as follow using the configure script:
- config*:
- replace: /HAVE_(MALLOC_H|ARC4RANDOM|LOCALTIME_R|MEMALIGN|POSIX_MEMALIGN)/d
-
--config_darwin32.h:
--add to configure command: --disable-asm --disable-yasm --cc='clang -m32'
--
--config_unix32.h:
--add to configure command: --disable-asm --disable-yasm --cc='clang -m32'
--replace: s/HAVE_SYSCTL 1/HAVE_SYSCTL 0/ and s/HAVE_MEMALIGN 1/HAVE_MEMALIGN 0/ and s/HAVE_POSIX_MEMALIGN 1/HAVE_POSIX_MEMALIGN 0/
--
--
- config_unix64.h/config_unix64.asm:
- replace: s/HAVE_SYSCTL 1/HAVE_SYSCTL 0
-
-diff --git media/ffvpx/config.h media/ffvpx/config.h
-index dab01e05cd65..26ebe529bd98 100644
---- media/ffvpx/config.h
-+++ media/ffvpx/config.h
-@@ -27,17 +27,9 @@
- #define HAVE_LIBC_MSVCRT 0
- #endif
- #elif defined(XP_DARWIN)
--#if defined(HAVE_64BIT_BUILD)
- #include "config_darwin64.h"
--#else
--#include "config_darwin32.h"
--#endif
- #elif defined(XP_UNIX)
--#if defined(HAVE_64BIT_BUILD)
- #include "config_unix64.h"
--#else
--#include "config_unix32.h"
--#endif
- #endif
- #include "config_common.h"
- #endif // MOZ_FFVPX_CONFIG_H
-diff --git old-configure.in old-configure.in
-index b8ce71278548..410be683c2f6 100644
---- old-configure.in
-+++ old-configure.in
-@@ -3279,11 +3279,11 @@ dnl = FFmpeg's ffvpx configuration
- dnl ========================================================
-
- MOZ_FFVPX=
--case "$CPU_ARCH" in
-- x86)
-+case "$OS_ARCH:$CPU_ARCH" in
-+ WINNT:x86)
- MOZ_FFVPX=1
- ;;
-- x86_64)
-+ *:x86_64)
- MOZ_FFVPX=1
- ;;
- esac
diff --git a/www/firefox/files/patch-bug1414440 b/www/firefox/files/patch-bug1414440
deleted file mode 100644
index 1b82917bebb5..000000000000
--- a/www/firefox/files/patch-bug1414440
+++ /dev/null
@@ -1,108 +0,0 @@
-Always build libyuv x86 optimizations with Clang.
-
-diff --git media/libyuv/libyuv/include/libyuv/compare_row.h media/libyuv/libyuv/include/libyuv/compare_row.h
-index 7abc2d4aef8f..542df1ef504b 100644
---- media/libyuv/libyuv/include/libyuv/compare_row.h
-+++ media/libyuv/libyuv/include/libyuv/compare_row.h
-@@ -19,7 +19,7 @@ extern "C" {
- #endif
-
- #if defined(__pnacl__) || defined(__CLR_VER) || \
-- (defined(__i386__) && !defined(__SSE2__))
-+ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__))
- #define LIBYUV_DISABLE_X86
- #endif
- // MemorySanitizer does not support assembly code yet. http://crbug.com/344505
-diff --git media/libyuv/libyuv/include/libyuv/planar_functions.h media/libyuv/libyuv/include/libyuv/planar_functions.h
-index 040839c211b1..5f6a8034d209 100644
---- media/libyuv/libyuv/include/libyuv/planar_functions.h
-+++ media/libyuv/libyuv/include/libyuv/planar_functions.h
-@@ -720,7 +720,7 @@ int I420Interpolate(const uint8* src0_y,
- int interpolation);
-
- #if defined(__pnacl__) || defined(__CLR_VER) || \
-- (defined(__i386__) && !defined(__SSE2__))
-+ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__))
- #define LIBYUV_DISABLE_X86
- #endif
- // MemorySanitizer does not support assembly code yet. http://crbug.com/344505
-diff --git media/libyuv/libyuv/include/libyuv/rotate_row.h media/libyuv/libyuv/include/libyuv/rotate_row.h
-index 2c51584eee8b..8e60a713c4cf 100644
---- media/libyuv/libyuv/include/libyuv/rotate_row.h
-+++ media/libyuv/libyuv/include/libyuv/rotate_row.h
-@@ -19,7 +19,7 @@ extern "C" {
- #endif
-
- #if defined(__pnacl__) || defined(__CLR_VER) || \
-- (defined(__i386__) && !defined(__SSE2__))
-+ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__))
- #define LIBYUV_DISABLE_X86
- #endif
- // MemorySanitizer does not support assembly code yet. http://crbug.com/344505
-diff --git media/libyuv/libyuv/include/libyuv/row.h media/libyuv/libyuv/include/libyuv/row.h
-index f74bd9f7d17a..b8f674ba124d 100644
---- media/libyuv/libyuv/include/libyuv/row.h
-+++ media/libyuv/libyuv/include/libyuv/row.h
-@@ -31,7 +31,7 @@ extern "C" {
- var = 0
-
- #if defined(__pnacl__) || defined(__CLR_VER) || \
-- (defined(__i386__) && !defined(__SSE2__))
-+ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__))
- #define LIBYUV_DISABLE_X86
- #endif
- // MemorySanitizer does not support assembly code yet. http://crbug.com/344505
-diff --git media/libyuv/libyuv/include/libyuv/scale_row.h media/libyuv/libyuv/include/libyuv/scale_row.h
-index edb46cc8c647..2b2c7a0700ef 100644
---- media/libyuv/libyuv/include/libyuv/scale_row.h
-+++ media/libyuv/libyuv/include/libyuv/scale_row.h
-@@ -20,7 +20,7 @@ extern "C" {
- #endif
-
- #if defined(__pnacl__) || defined(__CLR_VER) || \
-- (defined(__i386__) && !defined(__SSE2__))
-+ (defined(__i386__) && !defined(__SSE__) && !defined(__clang__))
- #define LIBYUV_DISABLE_X86
- #endif
- // MemorySanitizer does not support assembly code yet. http://crbug.com/344505
-diff --git media/libyuv/libyuv/linux.mk media/libyuv/libyuv/linux.mk
-index 923345ae4d12..9e555e303913 100644
---- media/libyuv/libyuv/linux.mk
-+++ media/libyuv/libyuv/linux.mk
-@@ -80,4 +80,4 @@ cpuid: util/cpuid.c libyuv.a
- $(CC) $(CFLAGS) -o $@ util/cpuid.c libyuv.a
-
- clean:
-- /bin/rm -f source/*.o *.ii *.s libyuv.a convert cpuid psnr
-+ /bin/rm -f source/*.o *.ii *.s libyuv.a yuvconvert cpuid psnr
-diff --git media/libyuv/libyuv/source/row_gcc.cc media/libyuv/libyuv/source/row_gcc.cc
-index 8735070b619d..9df8c6a627db 100644
---- media/libyuv/libyuv/source/row_gcc.cc
-+++ media/libyuv/libyuv/source/row_gcc.cc
-@@ -5479,7 +5479,7 @@ void HalfFloatRow_SSE2(const uint16* src, uint16* dst, float scale, int width) {
- : "+r"(src), // %0
- "+r"(dst), // %1
- "+r"(width) // %2
-- : "x"(scale * kScaleBias) // %3
-+ : "mx"(scale * kScaleBias) // %3
- : "memory", "cc",
- "xmm2", "xmm3", "xmm4", "xmm5"
- );
-@@ -5515,7 +5515,7 @@ void HalfFloatRow_AVX2(const uint16* src, uint16* dst, float scale, int width) {
- : "+r"(src), // %0
- "+r"(dst), // %1
- "+r"(width) // %2
-- : "x"(scale * kScaleBias) // %3
-+ : "mx"(scale * kScaleBias) // %3
- : "memory", "cc",
- "xmm2", "xmm3", "xmm4", "xmm5"
- );
-@@ -5548,7 +5548,7 @@ void HalfFloatRow_F16C(const uint16* src, uint16* dst, float scale, int width) {
- : "+r"(src), // %0
- "+r"(dst), // %1
- "+r"(width) // %2
-- : "x"(scale) // %3
-+ : "mx"(scale) // %3
- : "memory", "cc",
- "xmm2", "xmm3", "xmm4"
- );
diff --git a/www/firefox/files/patch-bug826985 b/www/firefox/files/patch-bug826985
index 8e9e7d24a024..69a51707c051 100644
--- a/www/firefox/files/patch-bug826985
+++ b/www/firefox/files/patch-bug826985
@@ -13,32 +13,32 @@ Date: Fri Jan 4 13:49:22 2013 +0100
toolkit/library/Makefile.in | 1 +
6 files changed, 52 insertions(+), 1 deletion(-)
-diff --git config/system-headers config/system-headers
-index 55e4cd1..76567b3 100644
---- config/system-headers
-+++ config/system-headers
-@@ -624,6 +624,7 @@ libgnome/libgnome.h
- libgnomeui/gnome-icon-lookup.h
- libgnomeui/gnome-icon-theme.h
- libgnomeui/gnome-ui-init.h
-+libv4l2.h
- limits.h
- link.h
- #ifdef ANDROID
+diff --git config/system-headers.mozbuild config/system-headers.mozbuild
+index e02d381a12e9..7620b4d00623 100644
+--- config/system-headers.mozbuild
++++ config/system-headers.mozbuild
+@@ -428,6 +428,7 @@ system_headers = [
+ 'libgnomeui/gnome-icon-theme.h',
+ 'libgnomeui/gnome-ui-init.h',
+ 'libutil.h',
++ 'libv4l2.h',
+ 'limits.h',
+ 'link.h',
+ 'linux/ioprio.h',
diff --git old-configure.in configure.in
index 55e4cd1..76567b3 100644
--- old-configure.in
+++ old-configure.in
-@@ -5309,6 +5309,9 @@ if test -n "$MOZ_WEBRTC"; then
- MOZ_VP8_ENCODER=1
- MOZ_VP8_ERROR_CONCEALMENT=1
-
+@@ -2558,6 +2558,9 @@ if test -n "$MOZ_WEBRTC"; then
+ if test -n "$MOZ_X11"; then
+ MOZ_WEBRTC_X11_LIBS="-lXext -lXdamage -lXfixes -lXcomposite"
+ fi
++
+ dnl with libv4l2 we can support more cameras
+ PKG_CHECK_MODULES(MOZ_LIBV4L2, libv4l2)
-+
- dnl enable once Signaling lands
- MOZ_WEBRTC_SIGNALING=1
- AC_DEFINE(MOZ_WEBRTC_SIGNALING)
+ else
+ MOZ_SYNTH_PICO=
+ fi
diff --git build/gyp.mozbuild build/gyp.mozbuild
index b483cd1..f1dd1f0 100644
--- build/gyp.mozbuild
diff --git a/www/firefox/files/patch-bug847568 b/www/firefox/files/patch-bug847568
index ed16b8d7caac..b9752599971c 100644
--- a/www/firefox/files/patch-bug847568
+++ b/www/firefox/files/patch-bug847568
@@ -1,43 +1,34 @@
# Allow building against system-wide graphite2/harfbuzz.
-diff --git config/Makefile.in config/Makefile.in
-index e2e11dc0e27e..a6206bb0ff30 100644
---- config/Makefile.in
-+++ config/Makefile.in
-@@ -41,6 +41,8 @@ export:: $(export-preqs)
- $(PYTHON) -m mozbuild.action.preprocessor $(DEFINES) $(ACDEFINES) \
- -DMOZ_TREE_CAIRO=$(MOZ_TREE_CAIRO) \
- -DMOZ_TREE_PIXMAN=$(MOZ_TREE_PIXMAN) \
-+ -DMOZ_SYSTEM_GRAPHITE2=$(MOZ_SYSTEM_GRAPHITE2) \
-+ -DMOZ_SYSTEM_HARFBUZZ=$(MOZ_SYSTEM_HARFBUZZ) \
- -DMOZ_SYSTEM_HUNSPELL=$(MOZ_SYSTEM_HUNSPELL) \
- -DMOZ_SYSTEM_BZ2=$(MOZ_SYSTEM_BZ2) \
- -DMOZ_SYSTEM_ZLIB=$(MOZ_SYSTEM_ZLIB) \
-diff --git config/system-headers config/system-headers
-index a0c53c651a3e..5ee7f71f9634 100644
---- config/system-headers
-+++ config/system-headers
-@@ -1269,6 +1269,15 @@ libsn/sn-launcher.h
- libsn/sn-monitor.h
- libsn/sn-util.h
- #endif
-+#if MOZ_SYSTEM_GRAPHITE2==1
-+graphite2/Font.h
-+graphite2/Segment.h
-+#endif
-+#if MOZ_SYSTEM_HARFBUZZ==1
-+harfbuzz/hb-glib.h
-+harfbuzz/hb-ot.h
-+harfbuzz/hb.h
-+#endif
- #if MOZ_SYSTEM_HUNSPELL==1
- hunspell.hxx
- #endif
+diff --git config/system-headers.mozbuild config/system-headers.mozbuild
+index 7620b4d00623..09d3db5ca8c0 100644
+--- config/system-headers.mozbuild
++++ config/system-headers.mozbuild
+@@ -1312,6 +1312,19 @@ if not CONFIG['MOZ_TREE_PIXMAN']:
+ 'pixman.h',
+ ]
+
++if CONFIG['MOZ_SYSTEM_GRAPHITE2']:
++ system_headers += [
++ 'graphite2/Font.h',
++ 'graphite2/Segment.h',
++ ]
++
++if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
++ system_headers += [
++ 'harfbuzz/hb-glib.h',
++ 'harfbuzz/hb-ot.h',
++ 'harfbuzz/hb.h',
++ ]
++
+ if CONFIG['MOZ_SYSTEM_LIBVPX']:
+ system_headers += [
+ 'vpx_mem/vpx_mem.h',
diff --git dom/base/moz.build dom/base/moz.build
index 8e19020315ae..2fcdbb6f7b42 100644
--- dom/base/moz.build
+++ dom/base/moz.build
-@@ -464,6 +464,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']:
+@@ -470,6 +470,9 @@ if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']:
if CONFIG['MOZ_X11']:
CXXFLAGS += CONFIG['TK_CFLAGS']
@@ -120,7 +111,7 @@ diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py
index e06ae3457a47..93faa61594a3 100755
--- gfx/skia/generate_mozbuild.py
+++ gfx/skia/generate_mozbuild.py
-@@ -143,6 +143,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
+@@ -135,6 +135,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
'-Wno-unused-private-field',
]
@@ -134,7 +125,7 @@ diff --git gfx/skia/moz.build gfx/skia/moz.build
index 2118677ca3a8..e4978b413784 100644
--- gfx/skia/moz.build
+++ gfx/skia/moz.build
-@@ -753,6 +753,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
+@@ -780,6 +780,9 @@ if CONFIG['CLANG_CXX'] or CONFIG['CLANG_CL']:
'-Wno-unused-private-field',
]
@@ -148,7 +139,7 @@ diff --git gfx/thebes/moz.build gfx/thebes/moz.build
index 56f1b9fe3f4b..0ac1100b0df3 100644
--- gfx/thebes/moz.build
+++ gfx/thebes/moz.build
-@@ -269,7 +269,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
+@@ -267,7 +267,13 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
@@ -167,9 +158,9 @@ diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build
index cb1233c56d7e..06fb1f9f174b 100644
--- intl/unicharutil/util/moz.build
+++ intl/unicharutil/util/moz.build
-@@ -29,4 +29,7 @@ if CONFIG['ENABLE_INTL_API']:
- 'ICUUtils.cpp',
- ]
+@@ -25,4 +25,7 @@ UNIFIED_SOURCES += [
+ 'nsUnicodeProperties.cpp',
+ ]
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
@@ -179,24 +170,22 @@ diff --git netwerk/dns/moz.build netwerk/dns/moz.build
index 79c26e3e7001..c4d93bc5f7dc 100644
--- netwerk/dns/moz.build
+++ netwerk/dns/moz.build
-@@ -69,6 +69,9 @@ LOCAL_INCLUDES += [
- '/netwerk/base',
- ]
+@@ -73,3 +73,6 @@ USE_LIBS += ['icu']
+ if CONFIG['GNU_CXX']:
+ CXXFLAGS += ['-Wno-error=shadow']
++
+if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
-+
- if CONFIG['ENABLE_INTL_API']:
- DEFINES['IDNA2008'] = True
- USE_LIBS += ['icu']
diff --git old-configure.in old-configure.in
index 95a58b634593..b614eef85c89 100644
--- old-configure.in
+++ old-configure.in
-@@ -4888,6 +4888,27 @@ dnl ========================================================
+@@ -4333,6 +4333,27 @@ dnl ========================================================
+
AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
- dnl ========================================================
++dnl ========================================================
+dnl Check for graphite2
+dnl ========================================================
+if test -n "$MOZ_SYSTEM_GRAPHITE2"; then
@@ -217,15 +206,14 @@ index 95a58b634593..b614eef85c89 100644
+ CFLAGS=$_SAVE_CFLAGS
+fi
+
-+dnl ========================================================
+ dnl ========================================================
dnl Check for pixman and cairo
dnl ========================================================
-
diff --git toolkit/library/moz.build toolkit/library/moz.build
index 24f940e1ed7e..079a575adec3 100644
--- toolkit/library/moz.build
+++ toolkit/library/moz.build
-@@ -224,6 +224,12 @@ if CONFIG['MOZ_SYSTEM_JPEG']:
+@@ -231,6 +231,12 @@ if CONFIG['MOZ_SYSTEM_JPEG']:
if CONFIG['MOZ_SYSTEM_PNG']:
OS_LIBS += CONFIG['MOZ_PNG_LIBS']
@@ -242,9 +230,9 @@ diff --git toolkit/moz.configure toolkit/moz.configure
index 9297e4d6f501..d8e273887e4b 100644
--- toolkit/moz.configure
+++ toolkit/moz.configure
-@@ -356,6 +356,26 @@ add_old_configure_assignment('FT2_LIBS',
+@@ -1065,6 +1065,26 @@ add_old_configure_assignment('FT2_LIBS',
add_old_configure_assignment('FT2_CFLAGS',
- delayed_getattr(ft2_info, 'cflags'))
+ ft2_info.cflags)
+# Graphite2
+# ==============================================================
@@ -261,11 +249,11 @@ index 9297e4d6f501..d8e273887e4b 100644
+option('--with-system-harfbuzz',
+ help="Use system harfbuzz (located with pkgconfig)")
+
-+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.5.1',
++system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.7.2',
+ when='--with-system-harfbuzz')
+
+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
+
- # Apple platform decoder support
+ # Mortar
# ==============================================================
- @depends(toolkit)
+ option('--enable-mortar', help='Enable mortar extension')
diff --git a/www/firefox/files/patch-dom_media_flac_FlacDecoder.cpp b/www/firefox/files/patch-dom_media_flac_FlacDecoder.cpp
new file mode 100644
index 000000000000..1df3736c2211
--- /dev/null
+++ b/www/firefox/files/patch-dom_media_flac_FlacDecoder.cpp
@@ -0,0 +1,25 @@
+Enable FLAC on platforms without ffvpx like powerpc*
+
+diff --git dom/media/flac/FlacDecoder.cpp dom/media/flac/FlacDecoder.cpp
+index 53fc3c9937f7..b23771ab80fa 100644
+--- dom/media/flac/FlacDecoder.cpp
++++ dom/media/flac/FlacDecoder.cpp
+@@ -7,6 +7,7 @@
+ #include "FlacDecoder.h"
+ #include "MediaContainerType.h"
+ #include "MediaPrefs.h"
++#include "PDMFactory.h"
+
+ namespace mozilla {
+
+@@ -15,6 +16,10 @@ FlacDecoder::IsEnabled()
+ {
+ #ifdef MOZ_FFVPX
+ return MediaPrefs::FlacEnabled();
++#elif defined(MOZ_FFMPEG)
++ RefPtr<PDMFactory> platform = new PDMFactory();
++ return MediaPrefs::FlacEnabled() && platform->SupportsMimeType(NS_LITERAL_CSTRING("audio/flac"),
++ /* DecoderDoctorDiagnostics* */ nullptr);
+ #else
+ // Until bug 1295886 is fixed.
+ return false;
diff --git a/www/firefox/files/patch-toolkit_moz.configure b/www/firefox/files/patch-toolkit_moz.configure
new file mode 100644
index 000000000000..6927df0b3ce5
--- /dev/null
+++ b/www/firefox/files/patch-toolkit_moz.configure
@@ -0,0 +1,15 @@
+diff --git toolkit/moz.configure toolkit/moz.configure
+index 1befea00c485..7999b7acd5bd 100644
+--- toolkit/moz.configure
++++ toolkit/moz.configure
+@@ -842,8 +842,8 @@ def webrender(value, milestone):
+ enable_webrender = None
+
+ if value.origin == 'default':
+- # if nothing is specified, default to just building on Nightly
+- build_webrender = milestone.is_nightly
++ # build by default downstream
++ build_webrender = True
+ elif len(value) and value[0] == 'build':
+ # if explicitly set to 'build', then we build but don't enable
+ build_webrender = True
diff --git a/www/firefox/files/patch-z-bug517422 b/www/firefox/files/patch-z-bug517422
index debf8d5a7afd..3e37f43324e7 100644
--- a/www/firefox/files/patch-z-bug517422
+++ b/www/firefox/files/patch-z-bug517422
@@ -4,7 +4,7 @@ diff --git build/moz.configure/old.configure build/moz.configure/old.configure
index d0fe7accffe6..c46bdd023225 100644
--- build/moz.configure/old.configure
+++ build/moz.configure/old.configure
-@@ -288,7 +288,12 @@ def old_configure_options(*options):
+@@ -285,7 +285,12 @@ def old_configure_options(*options):
'--with-system-libvpx',
'--with-system-nspr',
'--with-system-nss',
@@ -17,29 +17,13 @@ index d0fe7accffe6..c46bdd023225 100644
'--with-system-zlib',
'--with-thumb',
'--with-thumb-interwork',
-diff --git config/Makefile.in config/Makefile.in
-index a6206bb0ff30..f20987c61754 100644
---- config/Makefile.in
-+++ config/Makefile.in
-@@ -51,6 +51,11 @@ export:: $(export-preqs)
- -DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \
- -DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \
- -DMOZ_SYSTEM_ICU=$(MOZ_SYSTEM_ICU) \
-+ -DMOZ_SYSTEM_OGG=$(MOZ_SYSTEM_OGG) \
-+ -DMOZ_SYSTEM_THEORA=$(MOZ_SYSTEM_THEORA) \
-+ -DMOZ_SYSTEM_VORBIS=$(MOZ_SYSTEM_VORBIS) \
-+ -DMOZ_SYSTEM_TREMOR=$(MOZ_SYSTEM_TREMOR) \
-+ -DMOZ_SYSTEM_SOUNDTOUCH=$(MOZ_SYSTEM_SOUNDTOUCH) \
- $(srcdir)/system-headers $(srcdir)/stl-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
- $(INSTALL) system_wrappers $(DIST)
-
diff --git config/external/moz.build config/external/moz.build
index 029ff8504795..2c3a40caa1ba 100644
--- config/external/moz.build
+++ config/external/moz.build
-@@ -21,12 +21,21 @@ if CONFIG['MOZ_UPDATER']:
- external_dirs += ['modules/brotli']
- external_dirs += ['modules/woff2']
+@@ -23,12 +23,21 @@ external_dirs += ['modules/woff2']
+
+ external_dirs += ['modules/xz-embedded']
-if CONFIG['MOZ_VORBIS']:
+if not CONFIG['MOZ_SYSTEM_OGG']:
@@ -61,7 +45,7 @@ index 029ff8504795..2c3a40caa1ba 100644
if CONFIG['MOZ_WEBM_ENCODER']:
external_dirs += ['media/libmkv']
-@@ -52,12 +61,9 @@ external_dirs += [
+@@ -51,12 +60,9 @@ external_dirs += [
'media/kiss_fft',
'media/libcubeb',
'media/libnestegg',
@@ -74,33 +58,44 @@ index 029ff8504795..2c3a40caa1ba 100644
'media/psshparser'
]
-diff --git config/system-headers config/system-headers
-index 5ee7f71f9634..13178ac3b3ab 100644
---- config/system-headers
-+++ config/system-headers
-@@ -1348,3 +1348,17 @@ unicode/utypes.h
- libutil.h
- unwind.h
- fenv.h
-+#if MOZ_SYSTEM_OGG==1
-+ogg/ogg.h
-+ogg/os_types.h
-+#endif
-+#if MOZ_SYSTEM_THEORA==1
-+theora/theoradec.h
-+#endif
-+#if MOZ_SYSTEM_VORBIS==1
-+vorbis/codec.h
-+vorbis/vorbisenc.h
-+#endif
-+#if MOZ_SYSTEM_TREMOR==1
-+tremor/ivorbiscodec.h
-+#endif
+diff --git config/system-headers.mozbuild config/system-headers.mozbuild
+index 09d3db5ca8c0..c6533b84c470 100644
+--- config/system-headers.mozbuild
++++ config/system-headers.mozbuild
+@@ -1325,6 +1325,28 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+ 'harfbuzz/hb.h',
+ ]
+
++if CONFIG['MOZ_SYSTEM_OGG']:
++ system_headers += [
++ 'ogg/ogg.h',
++ 'ogg/os_types.h',
++ ]
++
++if CONFIG['MOZ_SYSTEM_THEORA']:
++ system_headers += [
++ 'theora/theoradec.h',
++ ]
++
++if CONFIG['MOZ_SYSTEM_VORBIS']:
++ system_headers += [
++ 'vorbis/codec.h',
++ 'vorbis/vorbisenc.h',
++ ]
++
++if CONFIG['MOZ_SYSTEM_TREMOR']:
++ system_headers += [
++ 'tremor/ivorbiscodec.h',
++ ]
++
+ if CONFIG['MOZ_SYSTEM_LIBVPX']:
+ system_headers += [
+ 'vpx_mem/vpx_mem.h',
diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp
index 93ecda4319af..ff674c64ea07 100644
--- dom/media/AudioStream.cpp
+++ dom/media/AudioStream.cpp
-@@ -115,7 +115,9 @@ AudioStream::AudioStream(DataSource& aSource)
+@@ -121,7 +121,9 @@ AudioStream::AudioStream(DataSource& aSource)
: mMonitor("AudioStream")
, mChannels(0)
, mOutChannels(0)
@@ -110,7 +105,7 @@ index 93ecda4319af..ff674c64ea07 100644
, mDumpFile(nullptr)
, mState(INITIALIZED)
, mDataSource(aSource)
-@@ -135,9 +137,11 @@ AudioStream::~AudioStream()
+@@ -142,9 +144,11 @@ AudioStream::~AudioStream()
if (mDumpFile) {
fclose(mDumpFile);
}
@@ -122,7 +117,7 @@ index 93ecda4319af..ff674c64ea07 100644
#if defined(XP_WIN)
if (XRE_IsContentProcess()) {
audio::AudioNotificationReceiver::Unregister(this);
-@@ -151,7 +155,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked()
+@@ -168,7 +172,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked()
{
mMonitor.AssertCurrentThreadOwns();
if (!mTimeStretcher) {
@@ -138,7 +133,7 @@ diff --git dom/media/AudioStream.h dom/media/AudioStream.h
index 7dc1f60f95cc..67d402a4117f 100644
--- dom/media/AudioStream.h
+++ dom/media/AudioStream.h
-@@ -16,7 +16,11 @@
+@@ -15,7 +15,11 @@
#include "mozilla/TimeStamp.h"
#include "mozilla/UniquePtr.h"
#include "CubebUtils.h"
@@ -148,9 +143,9 @@ index 7dc1f60f95cc..67d402a4117f 100644
#include "soundtouch/SoundTouchFactory.h"
+#endif
- namespace mozilla {
-
-@@ -287,7 +291,11 @@ private:
+ #if defined(XP_WIN)
+ #include "mozilla/audio/AudioNotificationReceiver.h"
+@@ -297,7 +301,11 @@ private:
uint32_t mChannels;
uint32_t mOutChannels;
AudioClock mAudioClock;
@@ -166,7 +161,7 @@ diff --git dom/media/moz.build dom/media/moz.build
index 86b051c58d33..fb6186dce78b 100644
--- dom/media/moz.build
+++ dom/media/moz.build
-@@ -308,6 +308,21 @@ if CONFIG['MOZ_WEBRTC']:
+@@ -318,6 +318,21 @@ if CONFIG['MOZ_WEBRTC']:
DEFINES['MOZILLA_INTERNAL_API'] = True
@@ -185,9 +180,9 @@ index 86b051c58d33..fb6186dce78b 100644
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
+ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS']
+
- if CONFIG['OS_TARGET'] == 'WINNT':
- DEFINES['WEBRTC_WIN'] = True
- else:
+ if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
+ DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True
+
diff --git dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
index 078f6ea5ef60..c600db067539 100644
--- dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
@@ -206,7 +201,7 @@ index 078f6ea5ef60..c600db067539 100644
namespace mozilla {
-@@ -50,6 +54,12 @@ FFVPXRuntimeLinker::Init()
+@@ -54,6 +58,12 @@ FFVPXRuntimeLinker::Init()
sLinkStatus = LinkStatus_FAILED;
@@ -219,7 +214,7 @@ index 078f6ea5ef60..c600db067539 100644
// We retrieve the path of the lgpllibs library as this is where mozavcodec
// and mozavutil libs are located.
char* lgpllibsname = PR_GetLibraryName(nullptr, "lgpllibs");
-@@ -60,6 +70,7 @@ FFVPXRuntimeLinker::Init()
+@@ -64,6 +74,7 @@ FFVPXRuntimeLinker::Init()
PR_GetLibraryFilePathname(lgpllibsname,
(PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
PR_FreeLibraryName(lgpllibsname);
@@ -312,7 +307,7 @@ diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA
index 1211ac074b33..eb31084aed25 100644
--- media/libvorbis/README_MOZILLA
+++ media/libvorbis/README_MOZILLA
-@@ -8,3 +8,6 @@ https://svn.xiph.org/tags/vorbis/libvorbis-1.3.5@19464
+@@ -8,3 +8,6 @@ from https://git.xiph.org/vorbis.git
Some files are renamed during the copy to prevent clashes with object
file names with other Mozilla libraries.
@@ -334,9 +329,9 @@ diff --git old-configure.in old-configure.in
index b614eef85c89..85f9099dba4d 100644
--- old-configure.in
+++ old-configure.in
-@@ -2941,6 +2941,111 @@ if test -n "$MOZ_OMX_PLUGIN"; then
- fi
+@@ -2627,6 +2627,111 @@ if test -n "$MOZ_APPLEMEDIA"; then
fi
+ fi # COMPILE_ENVIRONMENT
+dnl ========================================================
+dnl Check for libogg
@@ -450,7 +445,7 @@ diff --git toolkit/library/moz.build toolkit/library/moz.build
index 079a575adec3..514d901195de 100644
--- toolkit/library/moz.build
+++ toolkit/library/moz.build
-@@ -237,6 +237,21 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
+@@ -240,6 +240,21 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
@@ -476,7 +471,7 @@ diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp
index c083ab4bc4f3..62b917043a2c 100644
--- xpcom/build/XPCOMInit.cpp
+++ xpcom/build/XPCOMInit.cpp
-@@ -154,7 +154,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**);
+@@ -132,7 +132,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**);
#include "mozilla/ipc/GeckoChildProcessHost.h"
@@ -486,7 +481,7 @@ index c083ab4bc4f3..62b917043a2c 100644
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
#if defined(HAVE_STDINT_H)
// mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in
-@@ -664,11 +666,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult,
+@@ -639,11 +641,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult,
// this oddness.
mozilla::SetICUMemoryFunctions();