diff --git a/www/firefox/Makefile b/www/firefox/Makefile index ad9f740f9892..9bc4084f5dec 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -1,60 +1,60 @@ # Created by: Alan Eldridge PORTNAME= firefox -DISTVERSION= 91.0.2 +DISTVERSION= 92.0 PORTEPOCH= 2 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX} MAINTAINER= gecko@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla BUILD_DEPENDS= nspr>=4.32:devel/nspr \ - nss>=3.68:security/nss \ + nss>=3.69:security/nss \ icu>=67.1,1:devel/icu \ libevent>=2.1.8:devel/libevent \ harfbuzz>=2.8.1:print/harfbuzz \ graphite2>=1.3.14:graphics/graphite2 \ png>=1.6.37:graphics/png \ libvpx>=1.8.2:multimedia/libvpx \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ v4l_compat>0:multimedia/v4l_compat \ autoconf-2.13:devel/autoconf213 \ nasm:devel/nasm \ yasm:devel/yasm \ zip:archivers/zip USE_GECKO= gecko CONFLICTS_INSTALL= firefox-esr USE_MOZILLA= -sqlite CFLAGS_powerpc64le= -DSQLITE_BYTEORDER=1234 USES= tar:xz FIREFOX_ICON= ${MOZILLA}.png FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png FIREFOX_DESKTOP= ${MOZSRC}/taskcluster/docker/${MOZILLA}-snap/${MOZILLA}.desktop MOZ_OPTIONS= --enable-application=browser \ --enable-official-branding .include "${.CURDIR}/../../www/firefox/Makefile.options" post-patch: @${REINPLACE_CMD} -e 's/%u/%U/' -e '/X-MultipleArgs/d' \ -e '/^Icon/s/=.*/=${FIREFOX_ICON:R}/' \ ${FIREFOX_DESKTOP} @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${WRKSRC}/browser/app/nsBrowserApp.cpp pre-configure: (cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13) (cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf-2.13) post-install: ${INSTALL_DATA} ${FIREFOX_DESKTOP} ${STAGEDIR}${PREFIX}/share/applications/ ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps ${LN} -sf ${FIREFOX_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${FIREFOX_ICON} .include diff --git a/www/firefox/distinfo b/www/firefox/distinfo index a6f187bfd8aa..2ce0b78ee4e0 100644 --- a/www/firefox/distinfo +++ b/www/firefox/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1629750305 -SHA256 (firefox-91.0.2.source.tar.xz) = 23523af27631e24dd7dbab8429bcd0d828133e9d32b7ab343495c6e15912f6b5 -SIZE (firefox-91.0.2.source.tar.xz) = 381193820 +TIMESTAMP = 1630410984 +SHA256 (firefox-92.0.source.tar.xz) = a6a681bbf7d5f8d5e75a8fda629de16a94d2b8938584e20510dda7eea0358dd0 +SIZE (firefox-92.0.source.tar.xz) = 381561996 diff --git a/www/firefox/files/patch-bug1618914 b/www/firefox/files/patch-bug1618914 index c52ac49018b2..915f6415360c 100644 --- a/www/firefox/files/patch-bug1618914 +++ b/www/firefox/files/patch-bug1618914 @@ -1,50 +1,35 @@ From cea8e6a01bb03bbe565c9bf5dd4f439f30ca953f Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Fri, 28 Feb 2020 16:49:38 +0000 Subject: Bug 1618914 - [Wayland] Fall back to ftruncate if posix_fallocate isn't supported by filesystem. -diff --git widget/gtk/WaylandShmBuffer.cpp widget/gtk/WaylandShmBuffer.cpp -index 42eeedd3429ac..2a5c23d287413 100644 ---- widget/gtk/WaylandShmBuffer.cpp -+++ widget/gtk/WaylandShmBuffer.cpp -@@ -67,36 +67,37 @@ static int WaylandAllocateShmMemory(int aSize) { - return -1; - } - - int ret = 0; - #ifdef HAVE_POSIX_FALLOCATE +--- widget/gtk/WaylandBuffer.cpp.orig 2021-08-31 14:09:31.912165000 +0200 ++++ widget/gtk/WaylandBuffer.cpp 2021-08-31 14:20:08.723307000 +0200 +@@ -72,7 +72,9 @@ do { ret = posix_fallocate(fd, 0, aSize); } while (ret == EINTR); - if (ret != 0) { + if (ret == 0) { + return fd; + } else if (ret != ENODEV && ret != EINVAL && ret != EOPNOTSUPP) { NS_WARNING( nsPrintfCString("posix_fallocate() fails to allocate shm memory: %s", strerror(ret)) - .get()); +@@ -80,7 +82,7 @@ close(fd); return -1; } -#else +#endif do { ret = ftruncate(fd, aSize); } while (ret < 0 && errno == EINTR); - if (ret < 0) { - NS_WARNING(nsPrintfCString("ftruncate() fails to allocate shm memory: %s", - strerror(ret)) - .get()); +@@ -91,7 +93,6 @@ close(fd); fd = -1; } -#endif return fd; } - - /* static */ - RefPtr WaylandShmPool::Create( - const RefPtr& aWaylandDisplay, int aSize) { - RefPtr shmPool = new WaylandShmPool(aSize); diff --git a/www/firefox/files/patch-bug1659612 b/www/firefox/files/patch-bug1659612 index f8ca9dc2d6ee..dce125b883d2 100644 --- a/www/firefox/files/patch-bug1659612 +++ b/www/firefox/files/patch-bug1659612 @@ -1,35 +1,35 @@ media/libcubeb/src/cubeb_alsa.c:613:9: error: implicitly declaring library function 'snprintf' with type 'int (char *, unsigned int, const char *, ...)' [-Werror,-Wimplicit-function-declaration] r = snprintf(node_name, sizeof(node_name), "pcm.%s", string); ^ media/libcubeb/src/cubeb_alsa.c:613:9: note: include the header or explicitly provide a declaration for 'snprintf' media/libcubeb/src/cubeb_alsa.c:1168:3: error: implicitly declaring library function 'alloca' with type 'void *(unsigned int)' [-Werror,-Wimplicit-function-declaration] snd_pcm_hw_params_alloca(&hw_params); ^ /usr/local/include/alsa/pcm.h:737:39: note: expanded from macro 'snd_pcm_hw_params_alloca' #define snd_pcm_hw_params_alloca(ptr) __snd_alloca(ptr, snd_pcm_hw_params) ^ /usr/local/include/alsa/global.h:106:57: note: expanded from macro '__snd_alloca' #define __snd_alloca(ptr,type) do { *ptr = (type##_t *) alloca(type##_sizeof()); memset(*ptr, 0, type##_sizeof()); } while (0) ^ media/libcubeb/src/cubeb_alsa.c:1168:3: note: include the header or explicitly provide a declaration for 'alloca' /usr/local/include/alsa/pcm.h:737:39: note: expanded from macro 'snd_pcm_hw_params_alloca' #define snd_pcm_hw_params_alloca(ptr) __snd_alloca(ptr, snd_pcm_hw_params) ^ /usr/local/include/alsa/global.h:106:57: note: expanded from macro '__snd_alloca' #define __snd_alloca(ptr,type) do { *ptr = (type##_t *) alloca(type##_sizeof()); memset(*ptr, 0, type##_sizeof()); } while (0) ^ 2 errors generated. ---- media/libcubeb/src/cubeb_alsa.c~ -+++ media/libcubeb/src/cubeb_alsa.c +--- media/libcubeb/src/cubeb_alsa.c.orig 2021-08-31 14:26:24.530548000 +0200 ++++ media/libcubeb/src/cubeb_alsa.c 2021-08-31 14:26:43.081470000 +0200 @@ -5,9 +5,7 @@ * accompanying file LICENSE for details. */ #undef NDEBUG -#define _DEFAULT_SOURCE -#define _BSD_SOURCE -#define _XOPEN_SOURCE 500 +#define _GNU_SOURCE 1 - #include - #include - #include + #include "cubeb-internal.h" + #include "cubeb/cubeb.h" + #include diff --git a/www/firefox/files/patch-bug1664115 b/www/firefox/files/patch-bug1664115 index 05bc6a15e35f..8a6e82d59b1f 100644 --- a/www/firefox/files/patch-bug1664115 +++ b/www/firefox/files/patch-bug1664115 @@ -1,78 +1,76 @@ Revert bug 1647717 to workaround the issue of occational tab crashing when using any cubeb backends other than pulse-rust to play media. The loss of such change will be that users will not be able to do profiling on threads created by libcubeb. ---- dom/media/AudioStream.cpp.orig 2021-03-20 22:57:21.194862000 +0100 -+++ dom/media/AudioStream.cpp 2021-03-20 23:00:50.527112000 +0100 -@@ -26,7 +26,6 @@ +--- dom/media/AudioStream.cpp.orig 2021-09-01 15:26:18.998745000 +0200 ++++ dom/media/AudioStream.cpp 2021-09-01 15:34:45.227435000 +0200 +@@ -27,7 +27,6 @@ #endif #include "Tracing.h" #include "webaudio/blink/DenormalDisabler.h" -#include "AudioThreadRegistry.h" // Use abort() instead of exception in SoundTouch. #define ST_NO_EXCEPTION_HANDLING 1 -@@ -139,9 +138,7 @@ +@@ -140,9 +139,7 @@ mTimeStretcher(nullptr), mState(INITIALIZED), mDataSource(aSource), - mPrefillQuirk(false), -- mAudioThreadId(0), +- mAudioThreadId(ProfilerThreadId{}), - mSandboxed(CubebUtils::SandboxEnabled()) {} + mPrefillQuirk(false) {} AudioStream::~AudioStream() { LOG("deleted, state %d", mState); -@@ -565,21 +562,7 @@ +@@ -582,19 +579,7 @@ aWriter.Available()); } -bool AudioStream::CheckThreadIdChanged() { --#ifdef MOZ_GECKO_PROFILER -- auto id = profiler_current_thread_id(); +- ProfilerThreadId id = profiler_current_thread_id(); - if (id != mAudioThreadId) { - mAudioThreadId = id; - return true; - } --#endif - return false; -} - long AudioStream::DataCallback(void* aBuffer, long aFrames) { - if (!mSandboxed && CheckThreadIdChanged()) { - CubebUtils::GetAudioThreadRegistry()->Register(mAudioThreadId); - } WebCore::DenormalDisabler disabler; TRACE_AUDIO_CALLBACK_BUDGET(aFrames, mAudioClock.GetInputRate()); -@@ -635,9 +618,6 @@ +@@ -650,9 +635,6 @@ mDumpFile.Write(static_cast(aBuffer), aFrames * mOutChannels); - if (!mSandboxed && writer.Available() != 0) { - CubebUtils::GetAudioThreadRegistry()->Unregister(mAudioThreadId); - } return aFrames - writer.Available(); } ---- dom/media/AudioStream.h.orig 2021-03-20 23:01:10.169773000 +0100 -+++ dom/media/AudioStream.h 2021-03-20 23:01:56.622691000 +0100 -@@ -294,7 +294,6 @@ +--- dom/media/AudioStream.h.orig 2021-09-01 15:26:35.926655000 +0200 ++++ dom/media/AudioStream.h 2021-09-01 15:35:53.435096000 +0200 +@@ -297,7 +297,6 @@ template int InvokeCubeb(Function aFunction, Args&&... aArgs); - bool CheckThreadIdChanged(); // The monitor is held to protect all access to member variables. Monitor mMonitor; -@@ -328,9 +327,6 @@ +@@ -331,9 +330,6 @@ // the default device is used. It is set // during the Init() in decoder thread. RefPtr mSinkInfo; -- /* Contains the id of the audio thread, from profiler_get_thread_id. */ -- std::atomic mAudioThreadId; +- // Contains the id of the audio thread, from profiler_get_thread_id. +- std::atomic mAudioThreadId; - const bool mSandboxed = false; MozPromiseHolder mEndedPromise; Atomic mPlaybackComplete; diff --git a/www/firefox/files/patch-freebsd11 b/www/firefox/files/patch-freebsd11 index 5478a3f12a3c..4d075051751a 100644 --- a/www/firefox/files/patch-freebsd11 +++ b/www/firefox/files/patch-freebsd11 @@ -1,21 +1,21 @@ Drop after FreeBSD 11 EOL, see https://svnweb.freebsd.org/changeset/base/303524 media/libcubeb/src/cubeb_oss.c:362:10: error: implicit declaration of function 'getline' is invalid in C99 [-Werror,-Wimplicit-function-declaration] while (getline(&line, &linecap, sndstatfp) > 0) { ^ media/libcubeb/src/cubeb_oss.c:850:13: warning: comparison of integers of different signs: 'long' and 'unsigned int' [-Wsign-compare] if (nfr > s->bufframes) { ~~~ ^ ~~~~~~~~~~~~ ---- media/libcubeb/src/cubeb_oss.c.orig 2020-12-07 23:35:05 UTC -+++ media/libcubeb/src/cubeb_oss.c +--- media/libcubeb/src/cubeb_oss.c.orig 2021-08-31 15:32:30.862769000 +0200 ++++ media/libcubeb/src/cubeb_oss.c 2021-08-31 15:33:07.421620000 +0200 @@ -10,6 +10,9 @@ * accompanying file LICENSE for details. */ +#if defined(__FreeBSD__) && __FreeBSD__ < 12 +#define _WITH_GETLINE +#endif - #include - #include - #include + #include "cubeb-internal.h" + #include "cubeb/cubeb.h" + #include "cubeb_mixer.h"