Index: head/Mk/bsd.gecko.mk =================================================================== --- head/Mk/bsd.gecko.mk +++ head/Mk/bsd.gecko.mk @@ -77,7 +77,7 @@ BUNDLE_LIBS= yes BUILD_DEPENDS+= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT} \ - rust-cbindgen>=0.13.1:devel/rust-cbindgen \ + rust-cbindgen>=0.14.1:devel/rust-cbindgen \ ${RUST_DEFAULT}>=1.41:lang/${RUST_DEFAULT} \ ${LOCALBASE}/bin/python${PYTHON3_DEFAULT}:lang/python${PYTHON3_DEFAULT:S/.//g} \ node:www/node Index: head/www/firefox/Makefile =================================================================== --- head/www/firefox/Makefile +++ head/www/firefox/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= firefox -DISTVERSION= 77.0.1 -PORTREVISION= 1 +DISTVERSION= 78.0 PORTEPOCH= 1 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ @@ -14,10 +13,10 @@ COMMENT= Web browser based on the browser portion of Mozilla BUILD_DEPENDS= nspr>=4.25:devel/nspr \ - nss>=3.52.1:security/nss \ - icu>=64.1,1:devel/icu \ + nss>=3.53.1:security/nss \ + icu>=67.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ - harfbuzz>=2.6.4:print/harfbuzz \ + harfbuzz>=2.6.6:print/harfbuzz \ graphite2>=1.3.14:graphics/graphite2 \ png>=1.6.35:graphics/png \ libvpx>=1.8.2:multimedia/libvpx \ Index: head/www/firefox/distinfo =================================================================== --- head/www/firefox/distinfo +++ head/www/firefox/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1591146315 -SHA256 (firefox-77.0.1.source.tar.xz) = 54256fc5f8e9c2e8129ef84773fae31fcfdaf95da6d4d03151f3939e9f749640 -SIZE (firefox-77.0.1.source.tar.xz) = 334037816 +TIMESTAMP = 1592878264 +SHA256 (firefox-78.0.source.tar.xz) = 97770b3277adde8baa3fe1feaac7c54caae3bb1d923bc8e680c30c7d171da1ef +SIZE (firefox-78.0.source.tar.xz) = 331612656 Index: head/www/firefox/files/patch-bug1288587 =================================================================== --- head/www/firefox/files/patch-bug1288587 +++ head/www/firefox/files/patch-bug1288587 @@ -2,7 +2,7 @@ index 855214a..1e91d51 100644 --- build/moz.configure/init.configure +++ build/moz.configure/init.configure -@@ -252,6 +252,7 @@ option(env='PYTHON3', nargs=1, help='Python 3 interpre +@@ -251,6 +251,7 @@ option(env='PYTHON3', nargs=1, help='Python 3 interpre @imports(_from='mozbuild.pythonutil', _import='find_python3_executable') @imports(_from='mozbuild.pythonutil', _import='python_executable_version') @imports(_from='six', _import='ensure_text') @@ -10,7 +10,7 @@ def virtualenv_python3(env_python, build_env, mozconfig, help): # Avoid re-executing python when running configure --help. if help: -@@ -284,6 +285,12 @@ def virtualenv_python3(env_python, build_env, mozconfi +@@ -283,6 +284,12 @@ def virtualenv_python3(env_python, build_env, mozconfi python = mozconfig['vars']['added']['PYTHON3'] elif 'PYTHON3' in mozconfig['vars']['modified']: python = mozconfig['vars']['modified']['PYTHON3'][1] @@ -23,15 +23,15 @@ log.debug("python3: executable from configuration: %r" % python) -@@ -373,7 +380,10 @@ def virtualenv_python3(env_python, build_env, mozconfi - sys.executable, manager.python_path)) - log.info('Re-executing in the virtualenv') - if env_python: -- del os.environ['PYTHON3'] +@@ -365,7 +372,10 @@ def virtualenv_python3(env_python, build_env, mozconfi + sys.executable, manager.python_path)) + log.info('Re-executing in the virtualenv') + if env_python: +- del os.environ['PYTHON3'] + try: + del os.environ['PYTHON3'] + except KeyError: + pass - # Homebrew on macOS will change Python's sys.executable to a custom - # value which messes with mach's virtualenv handling code. Override - # Homebrew's changes with the correct sys.executable value. + # Homebrew on macOS will change Python's sys.executable to a custom + # value which messes with mach's virtualenv handling code. Override + # Homebrew's changes with the correct sys.executable value. Index: head/www/firefox/files/patch-bug1618914 =================================================================== --- head/www/firefox/files/patch-bug1618914 +++ head/www/firefox/files/patch-bug1618914 @@ -4,8 +4,7 @@ index 9a73326399bd5..9e42a7f1c5d18 100644 --- widget/gtk/WindowSurfaceWayland.cpp +++ widget/gtk/WindowSurfaceWayland.cpp -@@ -235,23 +235,24 @@ - #ifdef HAVE_POSIX_FALLOCATE +@@ -222,19 +222,20 @@ static int WaylandAllocateShmMemory(int aSize) { do { ret = posix_fallocate(fd, 0, aSize); } while (ret == EINTR); @@ -14,9 +13,7 @@ + return fd; + } else if (ret != EINVAL && ret != EOPNOTSUPP) { close(fd); - MOZ_CRASH_UNSAFE_PRINTF( - "posix_fallocate() fails on %s size %d error code %d\n", filename, - aSize, ret); + MOZ_CRASH("posix_fallocate() fails to allocate shm memory"); } -#else +#endif @@ -25,8 +22,7 @@ } while (ret < 0 && errno == EINTR); if (ret < 0) { close(fd); - MOZ_CRASH_UNSAFE_PRINTF("ftruncate() fails on %s size %d error code %d\n", - filename, aSize, ret); + MOZ_CRASH("ftruncate() fails to allocate shm memory"); } -#endif Index: head/www/firefox/files/patch-bug1632456 =================================================================== --- head/www/firefox/files/patch-bug1632456 +++ head/www/firefox/files/patch-bug1632456 @@ -1,40 +0,0 @@ -commit 0aaf67da2681 -Author: Martin Stransky -Date: Wed May 27 08:37:58 2020 +0000 - - Bug 1632456 [Wayland] Release mVAAPIDeviceContext when FFmpegVideoDecoder::CreateVAAPIDeviceContext() fails, r=jya - - Differential Revision: https://phabricator.services.mozilla.com/D76745 ---- - dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp -index 889d1d1ed5b97..1bd144d7375f4 100644 ---- dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp -+++ dom/media/platforms/ffmpeg/FFmpegVideoDecoder.cpp -@@ -175,6 +175,10 @@ bool FFmpegVideoDecoder::CreateVAAPIDeviceContext() { - if (!mVAAPIDeviceContext) { - return false; - } -+ -+ auto releaseVAAPIcontext = -+ MakeScopeExit([&] { mLib->av_buffer_unref(&mVAAPIDeviceContext); }); -+ - AVHWDeviceContext* hwctx = (AVHWDeviceContext*)mVAAPIDeviceContext->data; - AVVAAPIDeviceContext* vactx = (AVVAAPIDeviceContext*)hwctx->hwctx; - -@@ -195,12 +199,12 @@ bool FFmpegVideoDecoder::CreateVAAPIDeviceContext() { - } - - vactx->display = mDisplay; -- - if (mLib->av_hwdevice_ctx_init(mVAAPIDeviceContext) < 0) { - return false; - } - - mCodecContext->hw_device_ctx = mLib->av_buffer_ref(mVAAPIDeviceContext); -+ releaseVAAPIcontext.release(); - return true; - } - Index: head/www/firefox/files/patch-bug1634852 =================================================================== --- head/www/firefox/files/patch-bug1634852 +++ head/www/firefox/files/patch-bug1634852 @@ -1,30 +0,0 @@ -https://bugzilla.mozilla.org/show_bug.cgi?id=1634852 -https://bug1634852.bmoattachments.org/attachment.cgi?id=9145195 - -/usr/ports/www/firefox/work/firefox-76.0/dom/base/nsTextFragmentVMX.cpp:47:5: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] - register const vector unsigned short gtcompare = - ^~~~~~~~~ -/usr/ports/www/firefox/work/firefox-76.0/dom/base/nsTextFragmentVMX.cpp:56:7: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] - register vector unsigned short vect; - ^~~~~~~~~ - ---- dom/base/nsTextFragmentVMX.cpp.orig 2020-05-02 07:47:36.059185000 +0000 -+++ dom/base/nsTextFragmentVMX.cpp -@@ -44,7 +44,7 @@ int32_t FirstNon8Bit(const char16_t* str, const char16 - reinterpret_cast( - vec_mergel(vec_splat_s8(-1), vec_splat_s8(0))); - #else -- register const vector unsigned short gtcompare = -+ const vector unsigned short gtcompare = - reinterpret_cast( - vec_mergel(vec_splat_s8(0), vec_splat_s8(-1))); - #endif -@@ -53,7 +53,7 @@ int32_t FirstNon8Bit(const char16_t* str, const char16 - i2 = i * sizeof(char16_t); - - while (1) { -- register vector unsigned short vect; -+ vector unsigned short vect; - - // Check one VMX register (8 unichars) at a time. The vec_any_gt - // intrinsic does exactly what we want. This loop is manually unrolled; Index: head/www/firefox/files/patch-bug1636072 =================================================================== --- head/www/firefox/files/patch-bug1636072 +++ head/www/firefox/files/patch-bug1636072 @@ -1,33 +0,0 @@ -commit edbe69232a5b -Author: Martin Stransky -Date: Tue May 12 09:20:25 2020 +0000 - - Bug 1636072 [Wayland] Don't crash when GetWlBuffer() fails, r=jhorak - - Differential Revision: https://phabricator.services.mozilla.com/D74663 ---- - widget/gtk/WindowSurfaceWayland.cpp | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git widget/gtk/WindowSurfaceWayland.cpp widget/gtk/WindowSurfaceWayland.cpp -index 372158c9f0f33..56f5d3d530853 100644 ---- widget/gtk/WindowSurfaceWayland.cpp -+++ widget/gtk/WindowSurfaceWayland.cpp -@@ -390,10 +390,13 @@ void WindowBackBuffer::Attach(wl_surface* aSurface) { - (void*)GetWlBuffer(), - GetWlBuffer() ? wl_proxy_get_id((struct wl_proxy*)GetWlBuffer()) : -1)); - -- wl_surface_attach(aSurface, GetWlBuffer(), 0, 0); -- wl_surface_commit(aSurface); -- wl_display_flush(WaylandDisplayGetWLDisplay()); -- SetAttached(); -+ wl_buffer* buffer = GetWlBuffer(); -+ if (buffer) { -+ wl_surface_attach(aSurface, buffer, 0, 0); -+ wl_surface_commit(aSurface); -+ wl_display_flush(WaylandDisplayGetWLDisplay()); -+ SetAttached(); -+ } - } - - void WindowBackBufferShm::Detach(wl_buffer* aBuffer) { Index: head/www/firefox/files/patch-bug1638010 =================================================================== --- head/www/firefox/files/patch-bug1638010 +++ head/www/firefox/files/patch-bug1638010 @@ -1,25 +0,0 @@ -commit 9a89dccd2a85 -Author: Martin Stransky -Date: Fri May 15 07:52:39 2020 +0000 - - Bug 1638010 [Wayland] Make WaylandDMABUFTextureData::BorrowDrawTarget() fail when underlying dmabuf surface is not locked, r=sotaro - - Differential Revision: https://phabricator.services.mozilla.com/D75329 ---- - gfx/layers/opengl/WaylandDMABUFTextureClientOGL.cpp | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git gfx/layers/opengl/WaylandDMABUFTextureClientOGL.cpp gfx/layers/opengl/WaylandDMABUFTextureClientOGL.cpp -index bb556d9fcfaf5..da9c9cb6f4d19 100644 ---- gfx/layers/opengl/WaylandDMABUFTextureClientOGL.cpp -+++ gfx/layers/opengl/WaylandDMABUFTextureClientOGL.cpp -@@ -86,6 +86,9 @@ already_AddRefed WaylandDMABUFTextureData::BorrowDrawTarget() { - return nullptr; - } - auto surf = mSurface->GetAsWaylandDMABufSurfaceRGBA(); -+ if (!surf->GetMappedRegion()) { -+ return nullptr; -+ } - return Factory::CreateDrawTargetForData( - mBackend, (unsigned char*)surf->GetMappedRegion(), - IntSize(surf->GetWidth(), surf->GetHeight()), Index: head/www/firefox/files/patch-bug847568 =================================================================== --- head/www/firefox/files/patch-bug847568 +++ head/www/firefox/files/patch-bug847568 @@ -278,7 +278,7 @@ +option('--with-system-harfbuzz', + help="Use system harfbuzz (located with pkgconfig)") + -+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 2.6.4', ++system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 2.6.6', + when='--with-system-harfbuzz') + +set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))