1
0
Fork 0
Browse Source

www/firefox: update to 96.0.3

PR:		261410
Reported by:	Stefan Ehmann
Tested by:	Stefan Ehmann (prior v0.3),
		jbeich (PipeWire screen capture) (prior v0.8 via mail),
		cmt (prior v0.8 + 96.0.3 bump)
main
Evgeniy Khramtsov 7 months ago committed by Christoph Moench-Tegeder
parent
commit
7b007c9d1e
  1. 3
      Mk/bsd.gecko.mk
  2. 7
      www/firefox/Makefile
  3. 6
      www/firefox/distinfo
  4. 16
      www/firefox/files/patch-addon-search
  5. 14
      www/firefox/files/patch-browser-app-nsBrowserApp.cpp
  6. 37
      www/firefox/files/patch-bug1288587
  7. 10
      www/firefox/files/patch-bug1504834_comment10
  8. 71
      www/firefox/files/patch-bug1504834_comment5
  9. 24
      www/firefox/files/patch-bug1559213
  10. 25961
      www/firefox/files/patch-bug1612184
  11. 35
      www/firefox/files/patch-bug1618914
  12. 40
      www/firefox/files/patch-bug1626236
  13. 4
      www/firefox/files/patch-bug1628567
  14. 16
      www/firefox/files/patch-bug1640982
  15. 122
      www/firefox/files/patch-bug1676134
  16. 26
      www/firefox/files/patch-bug1745560
  17. 89
      www/firefox/files/patch-bug847568
  18. 41
      www/firefox/files/patch-pipewire_init
  19. 253107
      www/firefox/files/patch-webrtc

3
Mk/bsd.gecko.mk

@ -67,6 +67,9 @@ USE_GL= gl
USE_GNOME= cairo gdkpixbuf2 gtk30
USE_PERL5= build
USE_XORG= x11 xcb xcomposite xdamage xext xfixes xrender xt
.if ${MOZILLA_VER:R:R} >= 96
USE_XORG+= xrandr
.endif
HAS_CONFIGURE= yes
CONFIGURE_OUTSOURCE= yes
LDFLAGS+= -Wl,--as-needed

7
www/firefox/Makefile

@ -1,8 +1,7 @@
# Created by: Alan Eldridge <alane@FreeBSD.org>
PORTNAME= firefox
DISTVERSION= 95.0.2
PORTREVISION= 2
DISTVERSION= 96.0.3
PORTEPOCH= 2
CATEGORIES= www
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
@ -13,8 +12,8 @@ MAINTAINER= gecko@FreeBSD.org
COMMENT= Web browser based on the browser portion of Mozilla
BUILD_DEPENDS= nspr>=4.32:devel/nspr \
nss>=3.72:security/nss \
icu>=69.1,1:devel/icu \
nss>=3.73:security/nss \
icu>=70.1:devel/icu \
libevent>=2.1.8:devel/libevent \
harfbuzz>=2.9.1:print/harfbuzz \
graphite2>=1.3.14:graphics/graphite2 \

6
www/firefox/distinfo

@ -1,3 +1,3 @@
TIMESTAMP = 1639939431
SHA256 (firefox-95.0.2.source.tar.xz) = c178cbf61979bd39a8daa9a09c6e03089da37baded692ad1f745ecfcaae74d64
SIZE (firefox-95.0.2.source.tar.xz) = 384674224
TIMESTAMP = 1643336011
SHA256 (firefox-96.0.3.source.tar.xz) = 1a741d6fcf20e6833a90169f41d29141ea4610f58b848e06091a683af6304dea
SIZE (firefox-96.0.3.source.tar.xz) = 406721708

16
www/firefox/files/patch-addon-search

@ -2,10 +2,10 @@ https://github.com/mozilla/addons/issues/708
https://github.com/mozilla/addons-frontend/issues/4610
diff --git browser/app/profile/firefox.js browser/app/profile/firefox.js
index 75c2c5e435e35..4d8c09c02759b 100644
index af08811..77a3b18 100644
--- browser/app/profile/firefox.js
+++ browser/app/profile/firefox.js
@@ -39,7 +39,7 @@ pref("extensions.postDownloadThirdPartyPrompt", true);
@@ -38,7 +38,7 @@ pref("extensions.postDownloadThirdPartyPrompt", true);
// Preferences for AMO integration
pref("extensions.getAddons.cache.enabled", true);
pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/api/v4/addons/search/?guid=%IDS%&lang=%LOCALE%");
@ -14,7 +14,7 @@ index 75c2c5e435e35..4d8c09c02759b 100644
pref("extensions.getAddons.link.url", "https://addons.mozilla.org/%LOCALE%/firefox/");
pref("extensions.getAddons.langpacks.url", "https://services.addons.mozilla.org/api/v4/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%");
pref("extensions.getAddons.discovery.api_url", "https://services.addons.mozilla.org/api/v4/discovery/?lang=%LOCALE%&edition=%DISTRIBUTION%");
@@ -176,8 +176,8 @@ pref("app.update.langpack.enabled", true);
@@ -193,8 +193,8 @@ pref("app.update.langpack.enabled", true);
// .. etc ..
//
pref("extensions.update.enabled", true);
@ -26,10 +26,10 @@ index 75c2c5e435e35..4d8c09c02759b 100644
// Themes every day
diff --git toolkit/mozapps/extensions/internal/AddonRepository.jsm toolkit/mozapps/extensions/internal/AddonRepository.jsm
index f70fd8d7e3bd8..81e8cd7764fdf 100644
index 661c902..a41b32f 100644
--- toolkit/mozapps/extensions/internal/AddonRepository.jsm
+++ toolkit/mozapps/extensions/internal/AddonRepository.jsm
@@ -602,7 +602,7 @@ var AddonRepository = {
@@ -592,7 +592,7 @@ var AddonRepository = {
addon.version = String(aEntry.current_version.version);
if (Array.isArray(aEntry.current_version.files)) {
for (let file of aEntry.current_version.files) {
@ -39,10 +39,10 @@ index f70fd8d7e3bd8..81e8cd7764fdf 100644
addon.sourceURI = NetUtil.newURI(file.url);
}
diff --git toolkit/mozapps/extensions/internal/XPIDatabase.jsm toolkit/mozapps/extensions/internal/XPIDatabase.jsm
index f70fd8d7e3bd8..81e8cd7764fdf 100644
index f8c99c7..c6ba8a1 100644
--- toolkit/mozapps/extensions/internal/XPIDatabase.jsm
+++ toolkit/mozapps/extensions/internal/XPIDatabase.jsm
@@ -355,7 +355,7 @@ class AddonInternal {
@@ -520,7 +520,7 @@ class AddonInternal {
// Something is causing errors in here
try {
for (let platform of this.targetPlatforms) {
@ -50,4 +50,4 @@ index f70fd8d7e3bd8..81e8cd7764fdf 100644
+ if (platform.os == "Linux" || platform.os == Services.appinfo.OS) {
if (platform.abi) {
needsABI = true;
if (platform.abi === abi)
if (platform.abi === abi) {

14
www/firefox/files/patch-browser-app-nsBrowserApp.cpp

@ -1,12 +1,14 @@
--- browser/app/nsBrowserApp.cpp.orig 2016-09-19 16:19:28 UTC
diff --git browser/app/nsBrowserApp.cpp browser/app/nsBrowserApp.cpp
index 87c2e16..a41f1d9 100644
--- browser/app/nsBrowserApp.cpp
+++ browser/app/nsBrowserApp.cpp
@@ -324,6 +324,9 @@ int main(int argc, char* argv[], char* e
{
mozilla::TimeStamp start = mozilla::TimeStamp::Now();
@@ -337,6 +337,9 @@ int main(int argc, char* argv[], char* envp[]) {
}
#endif
+ setenv("MOZ_GMP_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0);
+ setenv("MOZ_PLUGIN_PATH", "%%LOCALBASE%%/lib/browser_plugins/symlinks/gecko", 0);
+
#ifdef HAS_DLL_BLOCKLIST
DllBlocklist_Initialize();
DllBlocklist_Initialize(gBlocklistInitFlags);
#endif

37
www/firefox/files/patch-bug1288587

@ -1,37 +0,0 @@
diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
index 855214a..1e91d51 100644
--- build/moz.configure/init.configure
+++ build/moz.configure/init.configure
@@ -238,6 +238,7 @@ option(
@imports(_from="mozbuild.pythonutil", _import="find_python3_executable")
@imports(_from="mozbuild.pythonutil", _import="python_executable_version")
@imports(_from="six", _import="ensure_text")
+@imports(_from="__builtin__", _import="KeyError")
def virtualenv_python3(env_python, build_env, mozconfig, help):
# Avoid re-executing python when running configure --help.
if help:
@@ -271,6 +272,12 @@ def virtualenv_python3(env_python, virtualenv_name, bu
python = mozconfig["vars"]["added"]["PYTHON3"]
elif "PYTHON3" in mozconfig["vars"]["modified"]:
python = mozconfig["vars"]["modified"]["PYTHON3"][1]
+ for i in ("env", "vars"):
+ for j in ("added", "modified"):
+ try:
+ del mozconfig[i][j]["PYTHON3"]
+ except KeyError:
+ pass
log.debug("python3: executable from configuration: %r" % python)
@@ -364,7 +371,10 @@ def virtualenv_python3(env_python, virtualenv_name, bu
)
log.info("Re-executing in the virtualenv")
if env_python:
- del os.environ["PYTHON3"]
+ try:
+ del os.environ["PYTHON3"]
+ except KeyError:
+ pass
# Another quirk on macOS, with the system python, the virtualenv is
# not fully operational (missing entries in sys.path) if
# __PYVENV_LAUNCHER__ is set.

10
www/firefox/files/patch-bug1504834_comment10

@ -14,10 +14,11 @@ Solution: This is not a real solution, but a hack. The real solution would have
are readable, albeit not as pretty to look at as they could be.
Side-effects: I have not yet found an unwanted side-effect.
diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp
--- gfx/2d/DrawTargetSkia.cpp Tue Oct 22 12:27:22 2019 +0200
+++ gfx/2d/DrawTargetSkia.cpp Thu Oct 31 09:11:56 2019 +0100
@@ -1861,6 +1861,14 @@
diff --git gfx/2d/DrawTargetSkia.cpp gfx/2d/DrawTargetSkia.cpp
index 6bbef8d..161b96f 100644
--- gfx/2d/DrawTargetSkia.cpp
+++ gfx/2d/DrawTargetSkia.cpp
@@ -1903,6 +1903,14 @@ void DrawTargetSkia::PushLayerWithBlend(bool aOpaque, Float aOpacity,
SkCanvas::kPreserveLCDText_SaveLayerFlag |
(aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
@ -32,3 +33,4 @@ diff -r 46ea866ca3ac -r 6ef20eee3f8f gfx/2d/DrawTargetSkia.cpp
mCanvas->saveLayer(saveRec);
SetPermitSubpixelAA(aOpaque);

71
www/firefox/files/patch-bug1504834_comment5

@ -3,9 +3,44 @@ https://bugzilla.mozilla.org/attachment.cgi?id=9028600
Rough progress patch
diff -r 53107afbc21e gfx/skia/skia/third_party/skcms/skcms.cc
--- gfx/skia/skia/third_party/skcms/skcms.cc Wed Nov 07 04:50:21 2018 +0000
+++ gfx/skia/skia/third_party/skcms/skcms.cc Thu Nov 29 12:49:35 2018 +0000
diff --git gfx/2d/DrawTargetSkia.cpp gfx/2d/DrawTargetSkia.cpp
index 6bbef8d..82b04ba 100644
--- gfx/2d/DrawTargetSkia.cpp
+++ gfx/2d/DrawTargetSkia.cpp
@@ -154,8 +154,7 @@ static IntRect CalculateSurfaceBounds(const IntSize& aSize, const Rect* aBounds,
return surfaceBounds.Intersect(bounds);
}
-static const int kARGBAlphaOffset =
- SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
+static const int kARGBAlphaOffset = 0;
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
const int32_t aStride, SurfaceFormat aFormat) {
diff --git gfx/2d/Types.h gfx/2d/Types.h
index 6b3bdc7..7c6c342 100644
--- gfx/2d/Types.h
+++ gfx/2d/Types.h
@@ -90,15 +90,8 @@ enum class SurfaceFormat : int8_t {
// The following values are endian-independent synonyms. The _UINT32 suffix
// indicates that the name reflects the layout when viewed as a uint32_t
// value.
-#if MOZ_LITTLE_ENDIAN()
A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB
X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB
-#elif MOZ_BIG_ENDIAN()
- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB
- X8R8G8B8_UINT32 = X8R8G8B8, // 0x00RRGGBB
-#else
-# error "bad endianness"
-#endif
// The following values are OS and endian-independent synonyms.
//
diff --git gfx/skia/skia/third_party/skcms/skcms.cc gfx/skia/skia/third_party/skcms/skcms.cc
index 6b4d87b..7c0559d 100644
--- gfx/skia/skia/third_party/skcms/skcms.cc
+++ gfx/skia/skia/third_party/skcms/skcms.cc
@@ -30,6 +30,8 @@
#include <avx512fintrin.h>
#include <avx512dqintrin.h>
@ -48,33 +83,3 @@ diff -r 53107afbc21e gfx/skia/skia/third_party/skcms/skcms.cc
#endif
}
--- gfx/2d/DrawTargetSkia.cpp.orig 2019-09-21 15:51:04.129603000 +0200
+++ gfx/2d/DrawTargetSkia.cpp 2019-09-21 15:52:11.900316000 +0200
@@ -138,8 +138,7 @@ static IntRect CalculateSurfaceBounds(const IntSize& a
return surfaceBounds.Intersect(bounds);
}
-static const int kARGBAlphaOffset =
- SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
+static const int kARGBAlphaOffset = 0;
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
const int32_t aStride, SurfaceFormat aFormat) {
--- gfx/2d/Types.h.orig 2019-09-21 15:52:47.044803000 +0200
+++ gfx/2d/Types.h 2019-09-21 15:53:40.113641000 +0200
@@ -87,15 +87,8 @@ enum class SurfaceFormat : int8_t {
// The following values are endian-independent synonyms. The _UINT32 suffix
// indicates that the name reflects the layout when viewed as a uint32_t
// value.
-#if MOZ_LITTLE_ENDIAN()
A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB
X8R8G8B8_UINT32 = B8G8R8X8, // 0x00RRGGBB
-#elif MOZ_BIG_ENDIAN()
- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB
- X8R8G8B8_UINT32 = X8R8G8B8, // 0x00RRGGBB
-#else
-# error "bad endianness"
-#endif
// The following values are OS and endian-independent synonyms.
//

24
www/firefox/files/patch-bug1559213

@ -11,10 +11,10 @@ Date: Thu Jun 13 11:53:00 2019 -0700
4 files changed, 34 insertions(+), 3 deletions(-)
diff --git config/external/moz.build config/external/moz.build
index 03e4fa143bd1..a67d10b11fe6 100644
index ab77121..75595d9 100644
--- config/external/moz.build
+++ config/external/moz.build
@@ -40,8 +40,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
@@ -49,8 +49,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
external_dirs += ["media/libvpx"]
if CONFIG["MOZ_AV1"]:
@ -27,11 +27,11 @@ index 03e4fa143bd1..a67d10b11fe6 100644
if not CONFIG["MOZ_SYSTEM_PNG"]:
external_dirs += ["media/libpng"]
diff --git config/system-headers.mozbuild config/system-headers.mozbuild
index bcf5c4925564..48964a999a9b 100644
index a1b58eb..65729f9 100644
--- config/system-headers.mozbuild
+++ config/system-headers.mozbuild
@@ -1305,6 +1305,14 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
'harfbuzz/hb.h',
@@ -1289,6 +1289,14 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
'proxy.h',
]
+if CONFIG['MOZ_SYSTEM_AV1']:
@ -46,7 +46,7 @@ index bcf5c4925564..48964a999a9b 100644
system_headers += [
'vpx_mem/vpx_mem.h',
diff --git dom/media/platforms/moz.build dom/media/platforms/moz.build
index 092cee0c9b66..38e45de5b5f0 100644
index 8509aec..eb6f129 100644
--- dom/media/platforms/moz.build
+++ dom/media/platforms/moz.build
@@ -78,6 +78,11 @@ if CONFIG["MOZ_AV1"]:
@ -62,10 +62,10 @@ index 092cee0c9b66..38e45de5b5f0 100644
if CONFIG["MOZ_OMX"]:
EXPORTS += [
diff --git toolkit/moz.configure toolkit/moz.configure
index 82b5a59acf42..e2329560b42b 100644
--- toolkit/moz.configure.orig 2021-04-13 16:12:34.770032000 +0200
+++ toolkit/moz.configure 2021-04-18 00:03:41.432698000 +0200
@@ -538,7 +538,23 @@
index 0069865..e806fc8 100644
--- toolkit/moz.configure
+++ toolkit/moz.configure
@@ -523,7 +523,23 @@ def av1(value):
return True
@ -90,11 +90,11 @@ index 82b5a59acf42..e2329560b42b 100644
def dav1d_asm(target):
if target.cpu in ("aarch64", "x86", "x86_64"):
return True
@@ -554,6 +570,7 @@
@@ -539,6 +555,7 @@ set_config("MOZ_DAV1D_ASM", dav1d_asm)
set_define("MOZ_DAV1D_ASM", dav1d_asm)
set_config("MOZ_AV1", av1)
set_define("MOZ_AV1", av1)
+set_config("MOZ_SYSTEM_AV1", depends_if(system_av1)(lambda _: True))
# Built-in fragmented MP4 support.
# JXL Image Codec Support
# ==============================================================

25961
www/firefox/files/patch-bug1612184

File diff suppressed because it is too large Load Diff

35
www/firefox/files/patch-bug1618914

@ -1,35 +0,0 @@
From cea8e6a01bb03bbe565c9bf5dd4f439f30ca953f Mon Sep 17 00:00:00 2001
From: Jan Beich <jbeich@FreeBSD.org>
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.
--- 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))
@@ -80,7 +82,7 @@
close(fd);
return -1;
}
-#else
+#endif
do {
ret = ftruncate(fd, aSize);
} while (ret < 0 && errno == EINTR);
@@ -91,7 +93,6 @@
close(fd);
fd = -1;
}
-#endif
return fd;
}

40
www/firefox/files/patch-bug1626236

@ -9,10 +9,11 @@ https://bug1626236.bmoattachments.org/attachment.cgi?id=9137096
# Parent 9cd90914846f667f18babc491a74c164ae5d6e9f
imported patch decoder_workaround.patch
diff -r 9cd90914846f image/decoders/nsGIFDecoder2.cpp
--- image/decoders/nsGIFDecoder2.cpp Thu Feb 27 12:57:14 2020 +0100
+++ image/decoders/nsGIFDecoder2.cpp Fri Mar 27 13:06:18 2020 +0100
@@ -422,6 +422,9 @@
diff --git image/decoders/nsGIFDecoder2.cpp image/decoders/nsGIFDecoder2.cpp
index ebb0b7d..d52ef47 100644
--- image/decoders/nsGIFDecoder2.cpp
+++ image/decoders/nsGIFDecoder2.cpp
@@ -422,6 +422,9 @@ void nsGIFDecoder2::ConvertColormap(uint32_t* aColormap, uint32_t aColors) {
MOZ_ASSERT(mSwizzleFn);
uint8_t* data = reinterpret_cast<uint8_t*>(aColormap);
mSwizzleFn(data, data, aColors);
@ -22,10 +23,11 @@ diff -r 9cd90914846f image/decoders/nsGIFDecoder2.cpp
}
LexerResult nsGIFDecoder2::DoDecode(SourceBufferIterator& aIterator,
diff -r 9cd90914846f image/decoders/nsJPEGDecoder.cpp
--- image/decoders/nsJPEGDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
+++ image/decoders/nsJPEGDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
@@ -263,6 +263,9 @@
diff --git image/decoders/nsJPEGDecoder.cpp image/decoders/nsJPEGDecoder.cpp
index 9ea4403..d82772c 100644
--- image/decoders/nsJPEGDecoder.cpp
+++ image/decoders/nsJPEGDecoder.cpp
@@ -257,6 +257,9 @@ LexerTransition<nsJPEGDecoder::State> nsJPEGDecoder::ReadJPEGData(
case JCS_YCbCr:
// By default, we will output directly to BGRA. If we need to apply
// special color transforms, this may change.
@ -35,7 +37,7 @@ diff -r 9cd90914846f image/decoders/nsJPEGDecoder.cpp
switch (SurfaceFormat::OS_RGBX) {
case SurfaceFormat::B8G8R8X8:
mInfo.out_color_space = JCS_EXT_BGRX;
@@ -277,6 +280,7 @@
@@ -271,6 +274,7 @@ LexerTransition<nsJPEGDecoder::State> nsJPEGDecoder::ReadJPEGData(
mState = JPEG_ERROR;
return Transition::TerminateFailure();
}
@ -43,10 +45,11 @@ diff -r 9cd90914846f image/decoders/nsJPEGDecoder.cpp
break;
case JCS_CMYK:
case JCS_YCCK:
diff -r 9cd90914846f image/decoders/nsPNGDecoder.cpp
--- image/decoders/nsPNGDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
+++ image/decoders/nsPNGDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
@@ -361,7 +361,7 @@
diff --git image/decoders/nsPNGDecoder.cpp image/decoders/nsPNGDecoder.cpp
index e3e4ef4..3cc7315 100644
--- image/decoders/nsPNGDecoder.cpp
+++ image/decoders/nsPNGDecoder.cpp
@@ -356,7 +356,7 @@ LexerResult nsPNGDecoder::DoDecode(SourceBufferIterator& aIterator,
IResumable* aOnResume) {
MOZ_ASSERT(!HasError(), "Shouldn't call DoDecode after error!");
@ -55,7 +58,7 @@ diff -r 9cd90914846f image/decoders/nsPNGDecoder.cpp
[=](State aState, const char* aData, size_t aLength) {
switch (aState) {
case State::PNG_DATA:
@@ -371,6 +371,14 @@
@@ -366,6 +366,14 @@ LexerResult nsPNGDecoder::DoDecode(SourceBufferIterator& aIterator,
}
MOZ_CRASH("Unknown State");
});
@ -70,10 +73,11 @@ diff -r 9cd90914846f image/decoders/nsPNGDecoder.cpp
}
LexerTransition<nsPNGDecoder::State> nsPNGDecoder::ReadPNGData(
diff -r 9cd90914846f image/decoders/nsWebPDecoder.cpp
--- image/decoders/nsWebPDecoder.cpp Thu Feb 27 12:57:14 2020 +0100
+++ image/decoders/nsWebPDecoder.cpp Fri Mar 27 13:06:18 2020 +0100
@@ -237,7 +237,12 @@
diff --git image/decoders/nsWebPDecoder.cpp image/decoders/nsWebPDecoder.cpp
index e58ca92..2056ebb 100644
--- image/decoders/nsWebPDecoder.cpp
+++ image/decoders/nsWebPDecoder.cpp
@@ -247,7 +247,12 @@ nsresult nsWebPDecoder::CreateFrame(const OrientedIntRect& aFrameRect) {
// WebP doesn't guarantee that the alpha generated matches the hint in the
// header, so we always need to claim the input is BGRA. If the output is
// BGRX, swizzling will mask off the alpha channel.

4
www/firefox/files/patch-bug1628567

@ -1,10 +1,10 @@
Don't pass --target when CC/CXX contains clang
diff --git third_party/rust/cc/src/lib.rs third_party/rust/cc/src/lib.rs
index 9d133a0..273e520 100644
index 8cafd2a..f40b746 100644
--- third_party/rust/cc/src/lib.rs
+++ third_party/rust/cc/src/lib.rs
@@ -2667,24 +2667,7 @@ impl Tool {
@@ -2796,24 +2796,7 @@ impl Tool {
}
fn with_features(path: PathBuf, clang_driver: Option<&str>, cuda: bool) -> Self {

16
www/firefox/files/patch-bug1640982

@ -2,14 +2,18 @@ Unbreak build with Rust 1.45.0
error: options `-C embed-bitcode=no` and `-C lto` are incompatible
--- config/makefiles/rust.mk.orig 2020-05-12 09:36:22 UTC
--- config/makefiles/rust.mk.orig 2020-05-12 09:36:22 UTC
diff --git config/makefiles/rust.mk config/makefiles/rust.mk
index 75570d3..94ec33f 100644
--- config/makefiles/rust.mk
+++ config/makefiles/rust.mk
@@ -61,7 +61,7 @@ ifndef MOZ_DEBUG_RUST
# Enable link-time optimization for release builds, but not when linking
# gkrust_gtest.
@@ -97,7 +97,7 @@ ifndef rustflags_sancov
# Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
ifndef MOZ_CODE_COVERAGE
ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
-cargo_rustc_flags += -Clto
+cargo_rustc_flags +=
endif
endif
endif
# We need -Cembed-bitcode=yes for all crates when using -Clto.
RUSTFLAGS += -Cembed-bitcode=yes

122
www/firefox/files/patch-bug1676134

@ -1,122 +0,0 @@
Enable Pipewire on BSDs
diff --git third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
index a0e116195e0e..cbe27e94108b 100644
--- third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
+++ third_party/libwebrtc/webrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
@@ -87,8 +87,13 @@ if CONFIG["OS_TARGET"] == "DragonFly":
DEFINES["USE_X11"] = "1"
DEFINES["WEBRTC_BSD"] = True
DEFINES["WEBRTC_POSIX"] = True
+ DEFINES["WEBRTC_USE_PIPEWIRE"] = True
DEFINES["_FILE_OFFSET_BITS"] = "64"
+ LOCAL_INCLUDES += [
+ "/third_party/pipewire/"
+ ]
+
OS_LIBS += [
"X11",
"X11-xcb",
@@ -103,11 +108,14 @@ if CONFIG["OS_TARGET"] == "DragonFly":
]
UNIFIED_SOURCES += [
+ "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/desktop_device_info_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc",
+ "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_display.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_util.cc",
+ "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_finder_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_list_utils.cc",
@@ -124,8 +132,13 @@ if CONFIG["OS_TARGET"] == "FreeBSD":
DEFINES["USE_X11"] = "1"
DEFINES["WEBRTC_BSD"] = True
DEFINES["WEBRTC_POSIX"] = True
+ DEFINES["WEBRTC_USE_PIPEWIRE"] = True
DEFINES["_FILE_OFFSET_BITS"] = "64"
+ LOCAL_INCLUDES += [
+ "/third_party/pipewire/"
+ ]
+
OS_LIBS += [
"X11",
"X11-xcb",
@@ -140,11 +153,14 @@ if CONFIG["OS_TARGET"] == "FreeBSD":
]
UNIFIED_SOURCES += [
+ "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/desktop_device_info_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc",
+ "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_display.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_util.cc",
+ "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_finder_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_list_utils.cc",
@@ -200,8 +216,13 @@ if CONFIG["OS_TARGET"] == "NetBSD":
DEFINES["USE_X11"] = "1"
DEFINES["WEBRTC_BSD"] = True
DEFINES["WEBRTC_POSIX"] = True
+ DEFINES["WEBRTC_USE_PIPEWIRE"] = True
DEFINES["_FILE_OFFSET_BITS"] = "64"
+ LOCAL_INCLUDES += [
+ "/third_party/pipewire/"
+ ]
+
OS_LIBS += [
"X11",
"X11-xcb",
@@ -216,11 +237,14 @@ if CONFIG["OS_TARGET"] == "NetBSD":
]
UNIFIED_SOURCES += [
+ "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/desktop_device_info_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc",
+ "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_display.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_util.cc",
+ "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_finder_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_list_utils.cc",
@@ -237,8 +261,13 @@ if CONFIG["OS_TARGET"] == "OpenBSD":
DEFINES["USE_X11"] = "1"
DEFINES["WEBRTC_BSD"] = True
DEFINES["WEBRTC_POSIX"] = True
+ DEFINES["WEBRTC_USE_PIPEWIRE"] = True
DEFINES["_FILE_OFFSET_BITS"] = "64"
+ LOCAL_INCLUDES += [
+ "/third_party/pipewire/"
+ ]
+
OS_LIBS += [
"X11",
"X11-xcb",
@@ -253,11 +282,14 @@ if CONFIG["OS_TARGET"] == "OpenBSD":
]
UNIFIED_SOURCES += [
+ "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/desktop_device_info_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc",
+ "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_pipewire.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_display.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/shared_x_util.cc",
+ "/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_pipewire.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_finder_x11.cc",
"/third_party/libwebrtc/webrtc/modules/desktop_capture/linux/window_list_utils.cc",

26
www/firefox/files/patch-bug1745560

@ -1,26 +0,0 @@
https://hg.mozilla.org/mozilla-central/rev/f7e2cf808d30
ld: warning: undefined symbol: wl_proxy_marshal_flags
>>> referenced by Unified_cpp_gfx_gl0.cpp
>>> objdir/gfx/gl/Unified_cpp_gfx_gl0.o:(mozilla::gl::DeleteWaylandGLSurface(void*))
>>> referenced by Unified_cpp_gfx_gl0.cpp
>>> objdir/gfx/gl/Unified_cpp_gfx_gl0.o:(mozilla::gl::GLContextEGL::CreateWaylandBufferSurface(mozilla::gl::EglDisplay&, void*, mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits>&))
>>> referenced by Unified_cpp_gfx_layers1.cpp
>>> objdir/gfx/layers/Unified_cpp_gfx_layers1.o:(mozilla::layers::NativeLayerRootWayland::CommitToScreen(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&))
>>> referenced 84 more times
diff --git widget/gtk/mozwayland/mozwayland.c widget/gtk/mozwayland/mozwayland.c
index 7a448e6321e2..1a86468b4f3d 100644
--- widget/gtk/mozwayland/mozwayland.c
+++ widget/gtk/mozwayland/mozwayland.c
@@ -200,3 +200,10 @@ MOZ_EXPORT int wl_list_empty(const struct wl_list* list) { return -1; }
MOZ_EXPORT void wl_list_insert_list(struct wl_list* list,
struct wl_list* other) {}
+
+MOZ_EXPORT struct wl_proxy* wl_proxy_marshal_flags(
+ struct wl_proxy* proxy, uint32_t opcode,
+ const struct wl_interface* interface, uint32_t version, uint32_t flags,
+ ...) {
+ return NULL;
+}

89
www/firefox/files/patch-bug847568

@ -1,10 +1,10 @@
# Allow building against system-wide graphite2/harfbuzz.
diff --git config/system-headers.mozbuild config/system-headers.mozbuild
index 7620b4d00623..09d3db5ca8c0 100644
index a1b58eb..a0a0943 100644
--- config/system-headers.mozbuild
+++ config/system-headers.mozbuild
@@ -1292,6 +1292,19 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
@@ -1289,6 +1289,19 @@ if CONFIG['MOZ_ENABLE_LIBPROXY']:
'proxy.h',
]
@ -25,10 +25,10 @@ index 7620b4d00623..09d3db5ca8c0 100644
system_headers += [
'vpx_mem/vpx_mem.h',
diff --git dom/base/moz.build dom/base/moz.build
index 8e19020315ae..2fcdbb6f7b42 100644
index d390adf..4508f19 100644
--- dom/base/moz.build
+++ dom/base/moz.build
@@ -546,6 +546,9 @@ if CONFIG["MOZ_BUILD_APP"] in ["browser", "mobile/android", "xulrunner"]:
@@ -567,6 +567,9 @@ FINAL_LIBRARY = "xul"
if CONFIG["MOZ_X11"]:
CXXFLAGS += CONFIG["TK_CFLAGS"]
@ -40,7 +40,7 @@ index 8e19020315ae..2fcdbb6f7b42 100644
script="gen-usecounters.py",
diff --git gfx/graphite2/geckoextra/moz.build gfx/graphite2/geckoextra/moz.build
new file mode 100644
index 0000000000000..24e8d7a03274a
index 0000000..24e8d7a
--- /dev/null
+++ gfx/graphite2/geckoextra/moz.build
@@ -0,0 +1,21 @@
@ -66,7 +66,7 @@ index 0000000000000..24e8d7a03274a
+
+FINAL_LIBRARY = 'gkmedias'
diff --git gfx/graphite2/moz-gr-update.sh gfx/graphite2/moz-gr-update.sh
index faaab1b17971..04eff5f09882 100644
index b91d9c1..a97e6eb 100755
--- gfx/graphite2/moz-gr-update.sh
+++ gfx/graphite2/moz-gr-update.sh
@@ -1,6 +1,7 @@
@ -96,10 +96,10 @@ index faaab1b17971..04eff5f09882 100644
echo
echo If gfx/graphite2/src/files.mk has changed, please make corresponding
diff --git gfx/harfbuzz/README-mozilla gfx/harfbuzz/README-mozilla
index 22c76a7df020..a01490bd49ee 100644
index 3180257..4587a3b 100644
--- gfx/harfbuzz/README-mozilla
+++ gfx/harfbuzz/README-mozilla
@@ -15,3 +15,8 @@ from within the gfx/harfbuzz directory.
@@ -21,3 +21,8 @@ from within the gfx/harfbuzz directory.
If the collection of source files changes, manual updates to moz.build may be
needed as we don't use the upstream makefiles.
@ -109,12 +109,12 @@ index 22c76a7df020..a01490bd49ee 100644
+with checkout version or increment latest tag by one if it's not based
+on upstream release.
diff --git gfx/moz.build gfx/moz.build
index 771f652e837a..3b358d84e384 100644
index 4d6d63d..cd57b0c 100644
--- gfx/moz.build
+++ gfx/moz.build
@@ -13,6 +13,14 @@ with Files("wr/**"):
if CONFIG["MOZ_TREE_CAIRO"]:
DIRS += ["cairo"]
@@ -10,6 +10,14 @@ with Files("**"):
with Files("wr/**"):
BUG_COMPONENT = ("Core", "Graphics: WebRender")
+if CONFIG["MOZ_SYSTEM_GRAPHITE2"]:
+ DIRS += ["graphite2/geckoextra"]
@ -125,9 +125,9 @@ index 771f652e837a..3b358d84e384 100644
+ DIRS += ["harfbuzz/src"]
+
DIRS += [
"cairo",
"2d",
"ycbcr",
@@ -21,8 +29,6 @@ DIRS += [
@@ -19,8 +27,6 @@ DIRS += [
"qcms",
"gl",
"layers",
@ -137,10 +137,10 @@ index 771f652e837a..3b358d84e384 100644
"thebes",
"ipc",
diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py
index e06ae3457a47..93faa61594a3 100755
index 5e0fd17..860b80a 100755
--- gfx/skia/generate_mozbuild.py
+++ gfx/skia/generate_mozbuild.py
@@ -98,6 +98,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
@@ -96,6 +96,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
'-Wno-unused-private-field',
]
@ -148,13 +148,13 @@ index e06ae3457a47..93faa61594a3 100755
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
LOCAL_INCLUDES += [
"/gfx/cairo/cairo/src",
diff --git gfx/skia/moz.build gfx/skia/moz.build
index 2118677ca3a8..e4978b413784 100644
index 524bd28..615c93b 100755
--- gfx/skia/moz.build
+++ gfx/skia/moz.build
@@ -490,6 +490,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
@@ -488,6 +488,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
'-Wno-unused-private-field',
]
@ -162,13 +162,13 @@ index 2118677ca3a8..e4978b413784 100644
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk', 'android'):
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
LOCAL_INCLUDES += [
"/gfx/cairo/cairo/src",
diff --git gfx/thebes/moz.build gfx/thebes/moz.build
index 56f1b9fe3f4b..0ac1100b0df3 100644
index baa6f09..4f02a9e 100644
--- gfx/thebes/moz.build
+++ gfx/thebes/moz.build
@@ -287,7 +287,13 @@ if CONFIG["MOZ_WAYLAND"]:
@@ -286,7 +286,13 @@ if CONFIG["MOZ_WAYLAND"]:
LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
@ -184,33 +184,38 @@ index 56f1b9fe3f4b..0ac1100b0df3 100644
if CONFIG["CC_TYPE"] == "clang":
# Suppress warnings from Skia header files.
diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build
index cb1233c56d7e..06fb1f9f174b 100644
index 301eb9a..7cece5e 100644
--- intl/unicharutil/util/moz.build
+++ intl/unicharutil/util/moz.build
@@ -25,4 +25,7 @@ UNIFIED_SOURCES += [
@@ -25,6 +25,9 @@ UNIFIED_SOURCES += [
"nsUnicodeProperties.cpp",
]
+if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
+ CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
+
FINAL_LIBRARY = "xul"
include("/ipc/chromium/chromium-config.mozbuild")
GeneratedFile(
diff --git netwerk/dns/moz.build netwerk/dns/moz.build
index 79c26e3e7001..c4d93bc5f7dc 100644
index f769e27..315bdd4 100644
--- netwerk/dns/moz.build
+++ netwerk/dns/moz.build
@@ -105,3 +105,6 @@ USE_LIBS += ["icu"]
@@ -102,6 +102,9 @@ GeneratedFile(
"etld_data.inc", script="prepare_tlds.py", inputs=["effective_tld_names.dat"]
)
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
CXXFLAGS += ["-Wno-error=shadow"]
+
+if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
+ CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
+
# need to include etld_data.inc
LOCAL_INCLUDES += [
"/netwerk/base",
diff --git old-configure.in old-configure.in
index 95a58b634593..b614eef85c89 100644
index d147957..d332b34 100644
--- old-configure.in
+++ old-configure.in
@@ -2303,6 +2303,27 @@ dnl ========================================================
@@ -2217,6 +2217,27 @@ dnl ========================================================
AC_SUBST(MOZ_LINUX_32_SSE2_STARTUP_ERROR)
@ -239,10 +244,10 @@ index 95a58b634593..b614eef85c89 100644
dnl Check for pixman and cairo
dnl ========================================================
diff --git toolkit/library/moz.build toolkit/library/moz.build
index 24f940e1ed7e..079a575adec3 100644
index 2c3f869..e8a9d23 100644
--- toolkit/library/moz.build
+++ toolkit/library/moz.build
@@ -247,6 +247,12 @@ if CONFIG["MOZ_SYSTEM_PNG"]:
@@ -269,6 +269,12 @@ if CONFIG["MOZ_SYSTEM_PNG"]:
if CONFIG["MOZ_SYSTEM_WEBP"]:
OS_LIBS += CONFIG["MOZ_WEBP_LIBS"]
@ -256,12 +261,12 @@ index 24f940e1ed7e..079a575adec3 100644
OS_LIBS += CONFIG["MOZ_LIBEVENT_LIBS"]
diff --git toolkit/moz.configure toolkit/moz.configure
index 9297e4d6f501..d8e273887e4b 100644
index 0069865..9bb1864 100644
--- toolkit/moz.configure
+++ toolkit/moz.configure
@@ -1055,6 +1055,25 @@ set_config("FT2_LIBS", ft2_info.libs)
add_old_configure_assignment("FT2_LIBS", ft2_info.libs)
add_old_configure_assignment("FT2_CFLAGS", ft2_info.cflags)
@@ -1058,6 +1058,25 @@ def geckodriver_default(enable_tests, target, cross_compile, hazard, asan, autom
return False
return True
+# Graphite2
+# ==============================================================
@ -283,5 +288,5 @@ index 9297e4d6f501..d8e273887e4b 100644
+
+set_config("MOZ_SYSTEM_HARFBUZZ", depends_if(system_harfbuzz)(lambda _: True))
# Remote agent
# (partial implementation of Chromium Remote Debugging Protocol)
option(
"--enable-geckodriver",

41
www/firefox/files/patch-pipewire_init

@ -2,20 +2,37 @@ Chase ABI from multimedia/pipewire/files/patch-src_pipewire_pipewire_init
https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1819
--- third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc.orig 2021-11-17 19:32:27 UTC
+++ third_party/libwebrtc/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
@@ -253,7 +253,7 @@ void BaseCapturerPipeWire::InitPortal() {
}
diff --git third_party/libwebrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc third_party/libwebrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
index 2fd3b1a575..79a14d7d7e 100644
--- third_party/libwebrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
+++ third_party/libwebrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc
@@ -279,7 +279,7 @@ void BaseCapturerPipeWire::InitPipeWire() {
}
#endif // defined(WEBRTC_DLOPEN_PIPEWIRE)
void BaseCapturerPipeWire::InitPipeWire() {
- pw_init(/*argc=*/nullptr, /*argc=*/nullptr);
+ pipewire_init(/*argc=*/nullptr, /*argc=*/nullptr);
pw_main_loop_ = pw_thread_loop_new("pipewire-main-loop", nullptr);
pw_context_ = pw_context_new(pw_thread_loop_get_loop(pw_main_loop_), nullptr, 0);
--- third_party/pipewire/libpipewire/mozpipewire.cpp.orig 2021-11-17 19:33:46 UTC
diff --git third_party/libwebrtc/modules/desktop_capture/linux/pipewire.sigs third_party/libwebrtc/modules/desktop_capture/linux/pipewire.sigs
index 3e21e9dc07..f561dcf619 100644
--- third_party/libwebrtc/modules/desktop_capture/linux/pipewire.sigs
+++ third_party/libwebrtc/modules/desktop_capture/linux/pipewire.sigs
@@ -16,7 +16,7 @@ void pw_loop_destroy(pw_loop *loop);
pw_loop * pw_loop_new(pw_properties *properties);
// pipewire.h
-void pw_init(int *argc, char **argv[]);
+void pipewire_init(int *argc, char **argv[]);
// properties.h
pw_properties * pw_properties_new_string(const char *args);
diff --git third_party/pipewire/libpipewire/mozpipewire.cpp third_party/pipewire/libpipewire/mozpipewire.cpp
index 1ecfc3196a..6f44b35964 100644
--- third_party/pipewire/libpipewire/mozpipewire.cpp
+++ third_party/pipewire/libpipewire/mozpipewire.cpp
@@ -58,7 +58,7 @@ struct pw_context * (*pw_context_new_fn)(struct pw_loo
@@ -58,7 +58,7 @@ struct pw_context * (*pw_context_new_fn)(struct pw_loop *main_loop,
struct pw_properties *props,
size_t user_data_size);
static int (*pw_core_disconnect_fn)(struct pw_core *core);
@ -24,7 +41,7 @@ https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1819
static void (*pw_stream_add_listener_fn)(struct pw_stream *stream,
struct spa_hook *listener,
const struct pw_stream_events *events,
@@ -93,7 +93,7 @@ bool IsPwLibraryLoaded() {
@@ -96,7 +96,7 @@ bool IsPwLibraryLoaded() {
IS_FUNC_LOADED(pw_context_destroy_fn) &&
IS_FUNC_LOADED(pw_context_new_fn) &&
IS_FUNC_LOADED(pw_core_disconnect_fn) &&
@ -33,7 +50,7 @@ https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1819
IS_FUNC_LOADED(pw_stream_add_listener_fn) &&
IS_FUNC_LOADED(pw_stream_connect_fn) &&
IS_FUNC_LOADED(pw_stream_dequeue_buffer_fn) &&
@@ -127,7 +127,7 @@ bool LoadPWLibrary() {
@@ -133,7 +133,7 @@ bool LoadPWLibrary() {
GET_FUNC(pw_context_destroy, pwLib);
GET_FUNC(pw_context_new, pwLib);
GET_FUNC(pw_core_disconnect, pwLib);
@ -42,7 +59,7 @@ https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1819
GET_FUNC(pw_stream_add_listener, pwLib);
GET_FUNC(pw_stream_connect, pwLib);
GET_FUNC(pw_stream_dequeue_buffer, pwLib);
@@ -198,12 +198,12 @@ pw_core_disconnect(struct pw_core *core)
@@ -207,12 +207,12 @@ pw_core_disconnect(struct pw_core *core)
}
void
@ -57,7 +74,9 @@ https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1819
}
void
--- third_party/pipewire/pipewire/pipewire.h.orig 2021-11-17 19:34:07 UTC
diff --git third_party/pipewire/pipewire/pipewire.h third_party/pipewire/pipewire/pipewire.h
index 69c523bd62..378502004c 100644
--- third_party/pipewire/pipewire/pipewire.h
+++ third_party/pipewire/pipewire/pipewire.h
@@ -114,9 +114,9 @@ extern "C" {
* \brief PipeWire initialization and infrastructure functions

253107
www/firefox/files/patch-webrtc

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save