diff --git a/www/firefox/Makefile b/www/firefox/Makefile index ab713a16dfa7..fcbe0e76efe8 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -1,75 +1,75 @@ # Created by: Alan Eldridge PORTNAME= firefox -DISTVERSION= 99.0.1 +DISTVERSION= 100.0 PORTEPOCH= 2 CATEGORIES= www MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \ - MOZILLA/${PORTNAME}/candidates/${DISTVERSION}${DISTVERSIONSUFFIX}-candidates/build2/source + MOZILLA/${PORTNAME}/candidates/${DISTVERSION}${DISTVERSIONSUFFIX}-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.76:security/nss \ icu>=70.1:devel/icu \ libevent>=2.1.8:devel/libevent \ - harfbuzz>=3.4.0:print/harfbuzz \ + harfbuzz>=4.1.0:print/harfbuzz \ graphite2>=1.3.14:graphics/graphite2 \ png>=1.6.37:graphics/png \ dav1d>=1.0.0:multimedia/dav1d \ 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 # work around bindgen not finding ICU, e.g. # dist/include/mozilla/intl/ICU4CGlue.h:8:10: fatal error: 'unicode/uenum.h' file not found, err: true CONFIGURE_ENV+= BINDGEN_CFLAGS="-I${LOCALBASE}/include" 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" .include .if ${ARCH} == powerpc64 MOZ_OPTIONS+= --disable-webrtc --without-wasm-sandboxed-libraries .else BUILD_DEPENDS+= ${LOCALBASE}/share/wasi-sysroot/lib/wasm32-wasi/libc++abi.a:devel/wasi-libcxx \ ${LOCALBASE}/share/wasi-sysroot/lib/wasm32-wasi/libc.a:devel/wasi-libc \ ${LOCALBASE}/llvm${LLVM_DEFAULT}/lib/clang/${LLVM_VERSION}/lib/wasi/libclang_rt.builtins-wasm32.a:devel/wasi-compiler-rt${LLVM_DEFAULT} MOZ_OPTIONS+= --with-wasi-sysroot=${LOCALBASE}/share/wasi-sysroot .endif 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 f16ba01741f6..851ed830f08c 100644 --- a/www/firefox/distinfo +++ b/www/firefox/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1649763203 -SHA256 (firefox-99.0.1.source.tar.xz) = 76d22279ce99588a728bb2d034064be0d5918b5900631f2148d4565b8a72e00b -SIZE (firefox-99.0.1.source.tar.xz) = 483537764 +TIMESTAMP = 1650958415 +SHA256 (firefox-100.0.source.tar.xz) = fba937a55a177916c6121f82f79e0d46c10bf175d4effc10d9095d0c297711fa +SIZE (firefox-100.0.source.tar.xz) = 482628448 diff --git a/www/firefox/files/patch-bug1664115 b/www/firefox/files/patch-bug1664115 index dce342a44b40..3be934a8c04e 100644 --- a/www/firefox/files/patch-bug1664115 +++ b/www/firefox/files/patch-bug1664115 @@ -1,82 +1,82 @@ 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 2022-02-25 16:27:47.676236000 +0100 -+++ dom/media/AudioStream.cpp 2022-02-25 16:54:21.223904000 +0100 +--- dom/media/AudioStream.cpp.orig 2022-04-19 19:43:36.505544000 +0200 ++++ dom/media/AudioStream.cpp 2022-04-19 19:47:53.111474000 +0200 @@ -27,7 +27,6 @@ #endif #include "Tracing.h" #include "webaudio/blink/DenormalDisabler.h" -#include "AudioThreadRegistry.h" #include "mozilla/StaticPrefs_media.h" // Use abort() instead of exception in SoundTouch. @@ -144,8 +143,6 @@ - mAudioClock(aInRate), + mOutChannels(aOutputChannels), mState(INITIALIZED), mDataSource(aSource), - mAudioThreadId(ProfilerThreadId{}), - mSandboxed(CubebUtils::SandboxEnabled()), mPlaybackComplete(false), mPlaybackRate(1.0f), mPreservesPitch(true) {} -@@ -551,17 +548,6 @@ +@@ -552,17 +549,6 @@ aWriter.Available()); } -bool AudioStream::CheckThreadIdChanged() { - ProfilerThreadId id = profiler_current_thread_id(); - if (id != mAudioThreadId) { - mAudioThreadId = id; - mAudioThreadChanged = true; - return true; - } - mAudioThreadChanged = false; - return false; -} - void AudioStream::AssertIsOnAudioThread() const { // This can be called right after CheckThreadIdChanged, because the audio // thread can change when not sandboxed. -@@ -590,9 +576,6 @@ +@@ -591,9 +577,6 @@ } long AudioStream::DataCallback(void* aBuffer, long aFrames) { - if (CheckThreadIdChanged() && !mSandboxed) { - CubebUtils::GetAudioThreadRegistry()->Register(mAudioThreadId); - } WebCore::DenormalDisabler disabler; TRACE_AUDIO_CALLBACK_BUDGET(aFrames, mAudioClock.GetInputRate()); -@@ -647,9 +630,6 @@ +@@ -648,9 +631,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 2022-02-25 16:27:53.316210000 +0100 -+++ dom/media/AudioStream.h 2022-02-25 16:55:18.967535000 +0100 -@@ -323,7 +323,6 @@ +--- dom/media/AudioStream.h.orig 2022-04-19 19:43:45.457171000 +0200 ++++ dom/media/AudioStream.h 2022-04-19 19:45:30.463633000 +0200 +@@ -329,7 +329,6 @@ template - int InvokeCubeb(Function aFunction, Args&&... aArgs); + int InvokeCubeb(Function aFunction, Args&&... aArgs) REQUIRES(mMonitor); - bool CheckThreadIdChanged(); void AssertIsOnAudioThread() const; soundtouch::SoundTouch* mTimeStretcher; -@@ -357,9 +356,6 @@ +@@ -368,9 +367,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; - const bool mSandboxed = false; - MozPromiseHolder mEndedPromise; + MozPromiseHolder mEndedPromise GUARDED_BY(mMonitor); std::atomic mPlaybackComplete;