mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-14 07:43:06 +00:00
www/firefox: update to 98.0 (rc1)
Release Notes (soon): https://www.mozilla.org/en-US/firefox/98.0/releasenotes/
This commit is contained in:
parent
8e2a89b541
commit
59870de849
@ -1,7 +1,7 @@
|
||||
# Created by: Alan Eldridge <alane@FreeBSD.org>
|
||||
|
||||
PORTNAME= firefox
|
||||
DISTVERSION= 97.0.1
|
||||
DISTVERSION= 98.0
|
||||
PORTEPOCH= 2
|
||||
CATEGORIES= www
|
||||
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
|
||||
@ -12,10 +12,10 @@ MAINTAINER= gecko@FreeBSD.org
|
||||
COMMENT= Web browser based on the browser portion of Mozilla
|
||||
|
||||
BUILD_DEPENDS= nspr>=4.32:devel/nspr \
|
||||
nss>=3.74:security/nss \
|
||||
nss>=3.75:security/nss \
|
||||
icu>=70.1:devel/icu \
|
||||
libevent>=2.1.8:devel/libevent \
|
||||
harfbuzz>=2.9.1:print/harfbuzz \
|
||||
harfbuzz>=3.1.2:print/harfbuzz \
|
||||
graphite2>=1.3.14:graphics/graphite2 \
|
||||
png>=1.6.37:graphics/png \
|
||||
libvpx>=1.8.2:multimedia/libvpx \
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1645044916
|
||||
SHA256 (firefox-97.0.1.source.tar.xz) = 3f2c87cf28645130777e875ddc9c67e8994c8d5c859f425f3ddced6fecb78d45
|
||||
SIZE (firefox-97.0.1.source.tar.xz) = 476866824
|
||||
TIMESTAMP = 1646080342
|
||||
SHA256 (firefox-98.0.source.tar.xz) = 4140c7002dafd1fa300857accbafcb92d4974795940e50887e8708023d346c91
|
||||
SIZE (firefox-98.0.source.tar.xz) = 484375888
|
||||
|
@ -3,8 +3,8 @@ 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-09-01 15:26:18.998745000 +0200
|
||||
+++ dom/media/AudioStream.cpp 2021-09-01 15:34:45.227435000 +0200
|
||||
--- 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
|
||||
@@ -27,7 +27,6 @@
|
||||
#endif
|
||||
#include "Tracing.h"
|
||||
@ -13,18 +13,16 @@ created by libcubeb.
|
||||
#include "mozilla/StaticPrefs_media.h"
|
||||
|
||||
// Use abort() instead of exception in SoundTouch.
|
||||
@@ -141,9 +140,7 @@ AudioStream::AudioStream(DataSource& aSource)
|
||||
mTimeStretcher(nullptr),
|
||||
@@ -144,8 +143,6 @@
|
||||
mAudioClock(aInRate),
|
||||
mState(INITIALIZED),
|
||||
mDataSource(aSource),
|
||||
- mPrefillQuirk(false),
|
||||
- mAudioThreadId(ProfilerThreadId{}),
|
||||
- mSandboxed(CubebUtils::SandboxEnabled()) {}
|
||||
+ mPrefillQuirk(false) {}
|
||||
|
||||
AudioStream::~AudioStream() {
|
||||
LOG("deleted, state %d", mState);
|
||||
@@ -582,19 +579,7 @@
|
||||
- mSandboxed(CubebUtils::SandboxEnabled()),
|
||||
mPlaybackComplete(false),
|
||||
mPlaybackRate(1.0f),
|
||||
mPreservesPitch(true) {}
|
||||
@@ -551,17 +548,6 @@
|
||||
aWriter.Available());
|
||||
}
|
||||
|
||||
@ -32,19 +30,27 @@ created by libcubeb.
|
||||
- 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 @@
|
||||
}
|
||||
|
||||
long AudioStream::DataCallback(void* aBuffer, long aFrames) {
|
||||
- if (!mSandboxed && CheckThreadIdChanged()) {
|
||||
- if (CheckThreadIdChanged() && !mSandboxed) {
|
||||
- CubebUtils::GetAudioThreadRegistry()->Register(mAudioThreadId);
|
||||
- }
|
||||
WebCore::DenormalDisabler disabler;
|
||||
|
||||
TRACE_AUDIO_CALLBACK_BUDGET(aFrames, mAudioClock.GetInputRate());
|
||||
@@ -650,9 +635,6 @@
|
||||
@@ -647,9 +630,6 @@
|
||||
mDumpFile.Write(static_cast<const AudioDataValue*>(aBuffer),
|
||||
aFrames * mOutChannels);
|
||||
|
||||
@ -54,17 +60,17 @@ created by libcubeb.
|
||||
return aFrames - writer.Available();
|
||||
}
|
||||
|
||||
--- 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 @@
|
||||
--- 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 @@
|
||||
|
||||
template <typename Function, typename... Args>
|
||||
int InvokeCubeb(Function aFunction, Args&&... aArgs);
|
||||
- bool CheckThreadIdChanged();
|
||||
void AssertIsOnAudioThread() const;
|
||||
|
||||
// The monitor is held to protect all access to member variables.
|
||||
Monitor mMonitor;
|
||||
@@ -331,9 +330,6 @@
|
||||
soundtouch::SoundTouch* mTimeStretcher;
|
||||
@@ -357,9 +356,6 @@
|
||||
// the default device is used. It is set
|
||||
// during the Init() in decoder thread.
|
||||
RefPtr<AudioDeviceInfo> mSinkInfo;
|
||||
@ -73,4 +79,4 @@ created by libcubeb.
|
||||
- const bool mSandboxed = false;
|
||||
|
||||
MozPromiseHolder<MediaSink::EndedPromise> mEndedPromise;
|
||||
Atomic<bool> mPlaybackComplete;
|
||||
std::atomic<bool> mPlaybackComplete;
|
||||
|
@ -1,249 +0,0 @@
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1749604
|
||||
https://hg.mozilla.org/mozilla-central/rev/f6031b5927f5
|
||||
https://hg.mozilla.org/mozilla-central/rev/c7440a6eb545
|
||||
https://github.com/mozilla/gecko-dev/commit/e6f459cd77e3
|
||||
(Avoid ~13 GB clone of moz-libwebrtc for libwebrtc regen)
|
||||
(To be dropped for 98)
|
||||
|
||||
Updated README.md to reflect simplified setup for generation.
|
||||
Updated generate-gn-build-files.sh:
|
||||
- remove dependencies on MOZ_LIBWEBRTC environment variable
|
||||
- add checking for GN environment variable
|
||||
---
|
||||
|
||||
diff --git a/dom/media/webrtc/third_party_build/gn-configs/README.md b/dom/media/webrtc/third_party_build/gn-configs/README.md
|
||||
index bc54ba183d016..09dea1ae87833 100644
|
||||
--- dom/media/webrtc/third_party_build/gn-configs/README.md
|
||||
+++ dom/media/webrtc/third_party_build/gn-configs/README.md
|
||||
@@ -1,9 +1,10 @@
|
||||
# Generate new gn json files and moz.build files for building libwebrtc in our tree
|
||||
|
||||
-1. If generating on macOS for Apple Silicon (cross-compiling), make sure to have at least
|
||||
-[Xcode 12.2](https://download.developer.apple.com/Developer_Tools/Xcode_12.2/Xcode_12.2.xip).
|
||||
+1. If generating on macOS for Apple Silicon (cross-compiling), make sure to have
|
||||
+ at least [Xcode 12.2](https://download.developer.apple.com/Developer_Tools/Xcode_12.2/Xcode_12.2.xip).
|
||||
|
||||
- In addition the aarch64 Rust target will need to be installed via: `rustup target add aarch64-apple-darwin`
|
||||
+ The aarch64 Rust target will need to be installed via:
|
||||
+ `rustup target add aarch64-apple-darwin`
|
||||
|
||||
2. If generating on Windows 10, Visual Studio 2019 is required. Please follow
|
||||
the install instructions from [here](https://firefox-source-docs.mozilla.org/setup/windows_build.html)
|
||||
@@ -14,86 +15,85 @@
|
||||
- MSVC v142 - VS2019 C++ ARM64 build tools
|
||||
|
||||
"Debugging Tools for Windows" is also required.
|
||||
- - Under `Settings -> Apps` search for "Windows Software Development Kit" with the version
|
||||
- number 10.0.19041.685.
|
||||
+ - Under `Settings -> Apps` search for "Windows Software Development Kit" with
|
||||
+ the version number 10.0.19041.685.
|
||||
- select Modify (and allow the installer to modify)
|
||||
- select Change and then click Next
|
||||
- select "Debugging Tools for Windows" and then click Change.
|
||||
|
||||
- And the aarch64 Rust target will need to be installed via: `rustup target add aarch64-pc-windows-msvc`
|
||||
+ The aarch64 Rust target will need to be installed via:
|
||||
+ `rustup target add aarch64-pc-windows-msvc`
|
||||
|
||||
-3. See information in `third_party/libwebrtc/README.mozilla` for the proper revision of libwebrtc
|
||||
+3. See information in `third_party/libwebrtc/README.mozilla` for the proper
|
||||
+ revision of libwebrtc
|
||||
|
||||
libwebrtc updated from commit https://github.com/mozilla/libwebrtc/archive/149d693483e9055f574d9d65b01fe75a186b654b.tar.gz on 2020-11-30T15:48:48.472088.
|
||||
third_party updated from commit https://chromium.googlesource.com/chromium/src/third_party/+archive/5dc5a4a45df9592baa8e8c5f896006d9193d8e45.tar.gz on 2020-11-30T17:00:15.612630.
|
||||
|
||||
- In our current case, the revision is `149d693483e9055f574d9d65b01fe75a186b654b` which
|
||||
- corresponds to:
|
||||
+ In our current case, the revision is `149d693483e9055f574d9d65b01fe75a186b654b`
|
||||
+ which corresponds to:
|
||||
|
||||
mozilla-modifications-rel86
|
||||
|
||||
-4. Clone Mozilla's version of libwebrtc from [libwebrtc](https://github.com/mozilla/libwebrtc)
|
||||
+ This commit was made on `Thu Nov 19 14:14:00 2020`.
|
||||
|
||||
- git clone https://github.com/mozilla/libwebrtc moz-libwebrtc
|
||||
- export MOZ_LIBWEBRTC=`pwd`/moz-libwebrtc
|
||||
- (cd moz-libwebrtc ; git checkout mozilla-modifications-rel86)
|
||||
+4. Download a version of the `gn` executable that corresponds to
|
||||
+ `Thu Nov 19 14:14:00 2020`. In our case, that is version `1889 (8fe02009)`.
|
||||
+
|
||||
+ - [Win](https://chrome-infra-packages.appspot.com/p/gn/gn/windows-amd64/+/e_UmTHedzuu4zJ2gdpW8jrFFNnzIhThljx3jn3RMlVsC)
|
||||
+ - [Linux](https://chrome-infra-packages.appspot.com/p/gn/gn/linux-amd64/+/bvBFKgehaepiKy_YhFnbiOpF38CK26N2OyE1R1jXof0C)
|
||||
+ - [macOS](https://chrome-infra-packages.appspot.com/p/gn/gn/mac-amd64/+/nXvMRpyJhLhisAcnRmU5s9UZqovzMAhKAvWjax-swioC)
|
||||
|
||||
- Note that branch was made on `Thu Nov 19 14:14:00 2020`
|
||||
+ Find the downloaded `.zip` file, unzip and export the location of the
|
||||
+ executable:
|
||||
|
||||
-5. Clone `depot_tools` from [depot_tools](https://chromium.googlesource.com/chromium/tools/depot_tools.git)
|
||||
+ unzip gn-mac-amd64.zip && export GN=`pwd`/gn
|
||||
+ unzip gn-windows-amd64.zip && export GN=`pwd`/gn.exe
|
||||
+ unzip gn-linux-amd64.zip && export GN=`pwd`/gn
|
||||
|
||||
- git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
|
||||
- export DEPOT_TOOLS=`pwd`/depot_tools
|
||||
+ On platforms that don't have pre-built `gn` executables, `ninja` and `gn` can
|
||||
+ be easily built:
|
||||
|
||||
- If generating files on Windows, the following steps must be completed
|
||||
- from a traditional Windows Cmd prompt (cmd.exe) launched from the start
|
||||
- menu or search bar. This allows `gclient` to properly bootstrap the
|
||||
- required python setup.
|
||||
+ git clone https://github.com/ninja-build/ninja.git
|
||||
+ git clone https://gn.googlesource.com/gn
|
||||
+ (cd gn && git checkout 8fe02009)
|
||||
+ (cd ninja && ./configure.py --bootstrap)
|
||||
+ (export NINJA=`pwd`/ninja/ninja ; cd gn && python build/gen.py && $NINJA -C out)
|
||||
+ export GN=`pwd`/gn/out/gn
|
||||
|
||||
- cd {depot_tools directory}
|
||||
- set PATH=%CD%;%PATH%
|
||||
- set DEPOT_TOOLS_WIN_TOOLCHAIN=0
|
||||
- set vs2019_install="c:\Program Files (x86)\Microsoft Visual Studio\2019\Community"
|
||||
- gclient
|
||||
- exit
|
||||
+ On OpenBSD, a slightly newer version of `gn` is needed in order to build:
|
||||
|
||||
- Now, we need to checkout a revision of `depot_tools` that corresponds to the date of
|
||||
- our libwebrtc branch. The closest `depot_tools` commit to `Thu Nov 19 14:14:00 2020` is
|
||||
- `e7d1862b155ac3ccbef72c4d70629b5c88ffcb32`. There is additional information on how to
|
||||
- more automatically determine this [here](https://chromium.googlesource.com/chromium/src/+/master/docs/building_old_revisions.md).
|
||||
+ (cd gn && git checkout 31f2bba8)
|
||||
|
||||
- (cd depot_tools ; git checkout e7d1862b155ac3ccbef72c4d70629b5c88ffcb32 )
|
||||
+5. Clone `depot_tools` from [depot_tools](https://chromium.googlesource.com/chromium/tools/depot_tools.git)
|
||||
|
||||
-6. It is necessary to let `depot_tools` pull information into the `libwebrtc` tree as well. This can take a while.
|
||||
+ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
|
||||
+ export DEPOT_TOOLS=`pwd`/depot_tools
|
||||
|
||||
- (cd moz-libwebrtc ; \
|
||||
- export PATH=$DEPOT_TOOLS:$PATH ; \
|
||||
- export DEPOT_TOOLS_UPDATE=0 ; \
|
||||
- export DEPOT_TOOLS_WIN_TOOLCHAIN=0 ; \
|
||||
- gclient config https://github.com/mozilla/libwebrtc && \
|
||||
- gclient sync -D --force --reset --with_branch_heads \
|
||||
- )
|
||||
-
|
||||
- Note that if one uses `gclient` sync with a different output directory `$MOZ_LIBWEBRTC_GIT`
|
||||
- must be set to the original clone directory, and `$MOZ_LIBWEBRTC` needs to be set to the
|
||||
- directory created by `gclient sync`.
|
||||
+ Now, we need to checkout a revision of `depot_tools` that corresponds to the
|
||||
+ date of our libwebrtc branch. The closest `depot_tools` commit to
|
||||
+ `Thu Nov 19 14:14:00 2020` is `e7d1862b155ac3ccbef72c4d70629b5c88ffcb32`.
|
||||
+ There is additional information on how to more automatically determine this
|
||||
+ [here](https://chromium.googlesource.com/chromium/src/+/master/docs/building_old_revisions.md).
|
||||
+
|
||||
+ (cd depot_tools ; git checkout e7d1862b155ac3ccbef72c4d70629b5c88ffcb32 )
|
||||
|
||||
-7. Now it is time to generate the build files. The script should be run from the top
|
||||
-directory of our firefox tree.
|
||||
+6. It is time to generate the build files. The script should be run from the
|
||||
+ top directory of our firefox tree.
|
||||
|
||||
- ./dom/media/webrtc/third_party_build/gn-configs/generate-gn-build-files.sh
|
||||
+ bash ./dom/media/webrtc/third_party_build/gn-configs/generate-gn-build-files.sh
|
||||
|
||||
- Debugging the generate script itself may prove useful, and one can do this by setting the DEBUG_GEN environment
|
||||
- variable to a non-empty value. This will print everything that the script executes.
|
||||
+ Debugging the generate script itself may prove useful, and one can do this by
|
||||
+ setting the DEBUG_GEN environment variable to a non-empty value. This will
|
||||
+ print everything that the script executes.
|
||||
|
||||
-8. Checkin all the generated/modified files and try your build!
|
||||
+7. Checkin all the generated/modified files and try your build!
|
||||
|
||||
# Adding new configurations to the build
|
||||
|
||||
-- Each new platform/architecture will require 2 new mozconfig files,
|
||||
- one for the debug build and one for the non-debug build. The
|
||||
- filenames follow the same pattern as the generated json files,
|
||||
- `a-b-c-d.mozconfig` where:
|
||||
+- Each new platform/architecture will require 2 new mozconfig files, one for the
|
||||
+ debug build and one for the non-debug build. The filenames follow the same
|
||||
+ pattern as the generated json files, `a-b-c-d.mozconfig` where:
|
||||
- a = generating cpu (example: x64)
|
||||
- b = debug (True / False)
|
||||
- c = target cpu (example: x64 / arm64)
|
||||
@@ -103,9 +103,9 @@ directory of our firefox tree.
|
||||
- The new configs must be added to the appropriate platform section in
|
||||
`generate-gn-build-files.sh`.
|
||||
|
||||
-**Note:** when adding new mozconfig files, especially for linux/android
|
||||
-configs, it is important to include the `ac_add_options
|
||||
---enable-bootstrap`. This ensures switching archtectures for
|
||||
-"cross-compiled" generation works properly. For example, when generating
|
||||
-`x86` or `arm64` linux json files, it would be necessary to install additional
|
||||
-libraries in order for the configure step to complete.
|
||||
+**Note:** when adding new mozconfig files, especially for linux/android configs,
|
||||
+it is important to include the `ac_add_options --enable-bootstrap`. This
|
||||
+ensures switching archtectures for "cross-compiled" generation works properly.
|
||||
+For example, when generating `x86` or `arm64` linux json files, it would be
|
||||
+necessary to install additional libraries in order for the configure step to
|
||||
+complete.
|
||||
diff --git a/dom/media/webrtc/third_party_build/gn-configs/generate-gn-build-files.sh b/dom/media/webrtc/third_party_build/gn-configs/generate-gn-build-files.sh
|
||||
index 4452b0ce76aeb..8d1acbf783514 100755
|
||||
--- dom/media/webrtc/third_party_build/gn-configs/generate-gn-build-files.sh
|
||||
+++ dom/media/webrtc/third_party_build/gn-configs/generate-gn-build-files.sh
|
||||
@@ -8,33 +8,15 @@ if [ ! "x$DEBUG_GEN" = "x" ]; then
|
||||
set -x
|
||||
fi
|
||||
|
||||
-if [ "x$MOZ_LIBWEBRTC" = "x" ]; then
|
||||
- echo "MOZ_LIBWEBRTC is not defined, see README.md"
|
||||
+if [ "x$GN" = "x" ]; then
|
||||
+ echo "GN is not defined, see README.md"
|
||||
exit
|
||||
fi
|
||||
|
||||
-if [ -d $MOZ_LIBWEBRTC ]; then
|
||||
- echo "MOZ_LIBWEBRTC is $MOZ_LIBWEBRTC"
|
||||
+if [ -f $GN ]; then
|
||||
+ echo "GN is $GN"
|
||||
else
|
||||
- echo "Path $MOZ_LIBWEBRTC is not found, see README.md"
|
||||
- exit
|
||||
-fi
|
||||
-
|
||||
-# git clone and gclient checkout may be in different places
|
||||
-if [ "x$MOZ_LIBWEBRTC_GIT" = "x" ]; then
|
||||
- MOZ_LIBWEBRTC_GIT=$MOZ_LIBWEBRTC
|
||||
-fi
|
||||
-
|
||||
-if [ ! -d $MOZ_LIBWEBRTC_GIT/.git ]; then
|
||||
- echo "No .git directory is found in the libwebrtc checkout, see README.md"
|
||||
- exit
|
||||
-fi
|
||||
-
|
||||
-if [ ! -d $MOZ_LIBWEBRTC/src/buildtools ]; then
|
||||
- echo "Path $MOZ_LIBWEBRTC/src/buildtools is not found, see README.md"
|
||||
- echo "Please run the following commands from inside $MOZ_LIBWEBRTC:"
|
||||
- echo "\tgclient config https://github.com/mozilla/libwebrtc"
|
||||
- echo "\tgclient sync -D --force --reset --with_branch_heads # this make take a while"
|
||||
+ echo "Path $GN is not found, see README.md"
|
||||
exit
|
||||
fi
|
||||
|
||||
@@ -115,21 +97,6 @@ fi
|
||||
export PATH=$DEPOT_TOOLS:$PATH
|
||||
export DEPOT_TOOLS_UPDATE=0
|
||||
|
||||
-# Symlink in the buildtools and .git directories from our copy of libwebrtc.
|
||||
-if [ -L ./third_party/libwebrtc/buildtools ]; then
|
||||
- rm ./third_party/libwebrtc/buildtools
|
||||
-elif [ -d ./third_party/libwebrtc/buildtools ]; then
|
||||
- rm -rf ./third_party/libwebrtc/buildtools
|
||||
-fi
|
||||
-ln -s $MOZ_LIBWEBRTC/src/buildtools ./third_party/libwebrtc/
|
||||
-
|
||||
-if [ -L ./third_party/libwebrtc/.git ]; then
|
||||
- rm ./third_party/libwebrtc/.git
|
||||
-elif [ -d ./third_party/libwebrtc/.git ]; then
|
||||
- rm -rf ./third_party/libwebrtc/.git
|
||||
-fi
|
||||
-ln -s $MOZ_LIBWEBRTC_GIT/.git ./third_party/libwebrtc/
|
||||
-
|
||||
CONFIG_DIR=dom/media/webrtc/third_party_build/gn-configs
|
||||
echo "CONFIG_DIR is $CONFIG_DIR"
|
||||
|
Loading…
Reference in New Issue
Block a user