mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-01-17 23:34:07 +00:00
extra/firefox to 106.0.3-1
This commit is contained in:
parent
a300c08f5f
commit
52bb0f90df
2 changed files with 228 additions and 100 deletions
|
@ -1,3 +1,47 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
|
||||
Date: Sat, 29 Oct 2022 17:43:52 +0200
|
||||
Subject: [PATCH] libwebrtc screen-cast sync
|
||||
|
||||
Patch from Fedora, at
|
||||
https://src.fedoraproject.org/rpms/firefox/blob/rawhide/f/libwebrtc-screen-cast-sync.patch
|
||||
|
||||
Fixes: https://bugs.archlinux.org/task/76231
|
||||
Fixes: https://bugzilla.mozilla.org/show_bug.cgi?id=1790496
|
||||
---
|
||||
dom/media/webrtc/moz.build | 2 +
|
||||
third_party/drm/README | 4 +
|
||||
third_party/drm/drm/drm.h | 1193 ++++++++++++++
|
||||
third_party/drm/drm/drm_fourcc.h | 1377 +++++++++++++++++
|
||||
third_party/drm/drm/drm_mode.h | 1217 +++++++++++++++
|
||||
third_party/drm/drm/xf86drm.h | 966 ++++++++++++
|
||||
.../libpipewire => drm/libdrm}/moz.build | 4 +-
|
||||
third_party/drm/libdrm/mozdrm.cpp | 66 +
|
||||
third_party/gbm/README | 4 +
|
||||
third_party/gbm/gbm/gbm.h | 452 ++++++
|
||||
.../libpipewire => gbm/libgbm}/moz.build | 4 +-
|
||||
third_party/gbm/libgbm/mozgbm.cpp | 66 +
|
||||
.../desktop_capture_generic_gn/moz.build | 45 +-
|
||||
.../desktop_capture_options.cc | 4 +-
|
||||
.../desktop_capture/desktop_capture_options.h | 6 +-
|
||||
.../linux/wayland/base_capturer_pipewire.cc | 2 +-
|
||||
.../desktop_capture/screen_capturer_linux.cc | 8 -
|
||||
.../desktop_capture/window_capturer_linux.cc | 8 -
|
||||
third_party/moz.build | 6 +
|
||||
.../pipewire/libpipewire/mozpipewire.cpp | 49 +-
|
||||
20 files changed, 5450 insertions(+), 33 deletions(-)
|
||||
create mode 100644 third_party/drm/README
|
||||
create mode 100644 third_party/drm/drm/drm.h
|
||||
create mode 100644 third_party/drm/drm/drm_fourcc.h
|
||||
create mode 100644 third_party/drm/drm/drm_mode.h
|
||||
create mode 100644 third_party/drm/drm/xf86drm.h
|
||||
copy third_party/{pipewire/libpipewire => drm/libdrm}/moz.build (86%)
|
||||
create mode 100644 third_party/drm/libdrm/mozdrm.cpp
|
||||
create mode 100644 third_party/gbm/README
|
||||
create mode 100644 third_party/gbm/gbm/gbm.h
|
||||
copy third_party/{pipewire/libpipewire => gbm/libgbm}/moz.build (86%)
|
||||
create mode 100644 third_party/gbm/libgbm/mozgbm.cpp
|
||||
|
||||
diff --git a/dom/media/webrtc/moz.build b/dom/media/webrtc/moz.build
|
||||
index ddf9321b58ea..af0f7ab64cc3 100644
|
||||
--- a/dom/media/webrtc/moz.build
|
||||
|
@ -3828,7 +3872,7 @@ index 000000000000..e1e351682872
|
|||
+#endif
|
||||
diff --git a/third_party/drm/drm/xf86drm.h b/third_party/drm/drm/xf86drm.h
|
||||
new file mode 100644
|
||||
index 000000000000..a105b9e13108
|
||||
index 000000000000..501ab9e9d36d
|
||||
--- /dev/null
|
||||
+++ b/third_party/drm/drm/xf86drm.h
|
||||
@@ -0,0 +1,966 @@
|
||||
|
@ -4210,7 +4254,7 @@ index 000000000000..a105b9e13108
|
|||
+ "lock ; cmpxchg %4,%1\n\t" \
|
||||
+ "setnz %0" \
|
||||
+ : "=d" (__ret), \
|
||||
+ "=m" (__drm_dummy_lock(lock)), \
|
||||
+ "=m" (__drm_dummy_lock(lock)), \
|
||||
+ "=a" (__dummy) \
|
||||
+ : "2" (old), \
|
||||
+ "r" (new)); \
|
||||
|
@ -4798,28 +4842,28 @@ index 000000000000..a105b9e13108
|
|||
+#endif
|
||||
+
|
||||
+#endif
|
||||
diff --git a/third_party/drm/libdrm/moz.build b/third_party/drm/libdrm/moz.build
|
||||
new file mode 100644
|
||||
index 000000000000..3b37b913e8b2
|
||||
--- /dev/null
|
||||
diff --git a/third_party/pipewire/libpipewire/moz.build b/third_party/drm/libdrm/moz.build
|
||||
similarity index 86%
|
||||
copy from third_party/pipewire/libpipewire/moz.build
|
||||
copy to third_party/drm/libdrm/moz.build
|
||||
index 3102b3cb69b7..3b37b913e8b2 100644
|
||||
--- a/third_party/pipewire/libpipewire/moz.build
|
||||
+++ b/third_party/drm/libdrm/moz.build
|
||||
@@ -0,0 +1,16 @@
|
||||
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
+# vim: set filetype=python:
|
||||
+# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
+# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
+
|
||||
+SOURCES += [
|
||||
@@ -5,12 +5,12 @@
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
SOURCES += [
|
||||
- 'mozpipewire.cpp',
|
||||
+ 'mozdrm.cpp',
|
||||
+]
|
||||
+
|
||||
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||
+ CXXFLAGS += CONFIG['MOZ_GTK3_CFLAGS']
|
||||
+
|
||||
]
|
||||
|
||||
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||
CXXFLAGS += CONFIG['MOZ_GTK3_CFLAGS']
|
||||
|
||||
-LOCAL_INCLUDES += ['/third_party/pipewire']
|
||||
+LOCAL_INCLUDES += ['/third_party/drm']
|
||||
+
|
||||
+FINAL_LIBRARY = 'xul'
|
||||
|
||||
FINAL_LIBRARY = 'xul'
|
||||
diff --git a/third_party/drm/libdrm/mozdrm.cpp b/third_party/drm/libdrm/mozdrm.cpp
|
||||
new file mode 100644
|
||||
index 000000000000..b2fb59be64a2
|
||||
|
@ -5360,28 +5404,28 @@ index 000000000000..e28fa04aaed8
|
|||
+#endif
|
||||
+
|
||||
+#endif
|
||||
diff --git a/third_party/gbm/libgbm/moz.build b/third_party/gbm/libgbm/moz.build
|
||||
new file mode 100644
|
||||
index 000000000000..0953d2f17a54
|
||||
--- /dev/null
|
||||
diff --git a/third_party/pipewire/libpipewire/moz.build b/third_party/gbm/libgbm/moz.build
|
||||
similarity index 86%
|
||||
copy from third_party/pipewire/libpipewire/moz.build
|
||||
copy to third_party/gbm/libgbm/moz.build
|
||||
index 3102b3cb69b7..0953d2f17a54 100644
|
||||
--- a/third_party/pipewire/libpipewire/moz.build
|
||||
+++ b/third_party/gbm/libgbm/moz.build
|
||||
@@ -0,0 +1,16 @@
|
||||
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
+# vim: set filetype=python:
|
||||
+# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
+# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
+
|
||||
+SOURCES += [
|
||||
@@ -5,12 +5,12 @@
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
SOURCES += [
|
||||
- 'mozpipewire.cpp',
|
||||
+ 'mozgbm.cpp',
|
||||
+]
|
||||
+
|
||||
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||
+ CXXFLAGS += CONFIG['MOZ_GTK3_CFLAGS']
|
||||
+
|
||||
]
|
||||
|
||||
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||
CXXFLAGS += CONFIG['MOZ_GTK3_CFLAGS']
|
||||
|
||||
-LOCAL_INCLUDES += ['/third_party/pipewire']
|
||||
+LOCAL_INCLUDES += ['/third_party/gbm']
|
||||
+
|
||||
+FINAL_LIBRARY = 'xul'
|
||||
|
||||
FINAL_LIBRARY = 'xul'
|
||||
diff --git a/third_party/gbm/libgbm/mozgbm.cpp b/third_party/gbm/libgbm/mozgbm.cpp
|
||||
new file mode 100644
|
||||
index 000000000000..bc024a11c0b7
|
||||
|
@ -5458,7 +5502,7 @@ diff --git a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_gener
|
|||
index 809899a92847..8869fae89703 100644
|
||||
--- a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
|
||||
+++ b/third_party/libwebrtc/modules/desktop_capture/desktop_capture_generic_gn/moz.build
|
||||
@@ -8,7 +8,8 @@
|
||||
@@ -8,25 +8,28 @@
|
||||
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
|
||||
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
|
||||
|
||||
|
@ -5468,7 +5512,18 @@ index 809899a92847..8869fae89703 100644
|
|||
AllowCompilerWarnings()
|
||||
|
||||
DEFINES["ABSL_ALLOCATOR_NOTHROW"] = "1"
|
||||
@@ -27,6 +28,8 @@ LOCAL_INCLUDES += [
|
||||
DEFINES["RTC_DAV1D_IN_INTERNAL_DECODER_FACTORY"] = True
|
||||
DEFINES["RTC_ENABLE_VP9"] = True
|
||||
DEFINES["WEBRTC_ENABLE_PROTOBUF"] = "0"
|
||||
DEFINES["WEBRTC_LIBRARY_IMPL"] = True
|
||||
DEFINES["WEBRTC_MOZILLA_BUILD"] = True
|
||||
DEFINES["WEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS"] = "0"
|
||||
|
||||
FINAL_LIBRARY = "webrtc"
|
||||
|
||||
|
||||
LOCAL_INCLUDES += [
|
||||
"!/ipc/ipdl/_ipdlheaders",
|
||||
"/ipc/chromium/src",
|
||||
"/media/libyuv/",
|
||||
"/media/libyuv/libyuv/include/",
|
||||
|
@ -5494,7 +5549,7 @@ index 809899a92847..8869fae89703 100644
|
|||
]
|
||||
|
||||
if CONFIG["CPU_ARCH"] == "ppc64":
|
||||
@@ -295,7 +306,15 @@ if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["OS_TARGET"] == "Linux":
|
||||
@@ -295,27 +306,51 @@ if CONFIG["CPU_ARCH"] == "aarch64" and CONFIG["OS_TARGET"] == "Linux":
|
||||
DEFINES["_GNU_SOURCE"] = True
|
||||
|
||||
UNIFIED_SOURCES += [
|
||||
|
@ -5511,7 +5566,9 @@ index 809899a92847..8869fae89703 100644
|
|||
]
|
||||
|
||||
if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Linux":
|
||||
@@ -305,7 +324,15 @@ if CONFIG["CPU_ARCH"] == "x86" and CONFIG["OS_TARGET"] == "Linux":
|
||||
|
||||
DEFINES["WEBRTC_ENABLE_AVX2"] = True
|
||||
DEFINES["WEBRTC_USE_PIPEWIRE"] = True
|
||||
DEFINES["_GNU_SOURCE"] = True
|
||||
|
||||
UNIFIED_SOURCES += [
|
||||
|
@ -5528,7 +5585,9 @@ index 809899a92847..8869fae89703 100644
|
|||
]
|
||||
|
||||
if CONFIG["CPU_ARCH"] == "x86_64" and CONFIG["OS_TARGET"] == "Linux":
|
||||
@@ -315,7 +342,15 @@ if CONFIG["CPU_ARCH"] == "x86_64" and CONFIG["OS_TARGET"] == "Linux":
|
||||
|
||||
DEFINES["WEBRTC_ENABLE_AVX2"] = True
|
||||
DEFINES["WEBRTC_USE_PIPEWIRE"] = True
|
||||
DEFINES["_GNU_SOURCE"] = True
|
||||
|
||||
UNIFIED_SOURCES += [
|
||||
|
@ -5549,7 +5608,7 @@ diff --git a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_optio
|
|||
index 8bdc83b76218..ab7932195c85 100644
|
||||
--- a/third_party/libwebrtc/modules/desktop_capture/desktop_capture_options.cc
|
||||
+++ b/third_party/libwebrtc/modules/desktop_capture/desktop_capture_options.cc
|
||||
@@ -14,7 +14,7 @@
|
||||
@@ -14,33 +14,33 @@
|
||||
#elif defined(WEBRTC_WIN)
|
||||
#include "modules/desktop_capture/win/full_screen_win_application_handler.h"
|
||||
#endif
|
||||
|
@ -5558,7 +5617,25 @@ index 8bdc83b76218..ab7932195c85 100644
|
|||
#include "modules/desktop_capture/linux/wayland/shared_screencast_stream.h"
|
||||
#endif
|
||||
|
||||
@@ -40,7 +40,7 @@ DesktopCaptureOptions DesktopCaptureOptions::CreateDefault() {
|
||||
#include "rtc_base/ref_counted_object.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
DesktopCaptureOptions::DesktopCaptureOptions() {}
|
||||
DesktopCaptureOptions::DesktopCaptureOptions(
|
||||
const DesktopCaptureOptions& options) = default;
|
||||
DesktopCaptureOptions::DesktopCaptureOptions(DesktopCaptureOptions&& options) =
|
||||
default;
|
||||
DesktopCaptureOptions::~DesktopCaptureOptions() {}
|
||||
|
||||
DesktopCaptureOptions& DesktopCaptureOptions::operator=(
|
||||
const DesktopCaptureOptions& options) = default;
|
||||
DesktopCaptureOptions& DesktopCaptureOptions::operator=(
|
||||
DesktopCaptureOptions&& options) = default;
|
||||
|
||||
// static
|
||||
DesktopCaptureOptions DesktopCaptureOptions::CreateDefault() {
|
||||
DesktopCaptureOptions result;
|
||||
#if defined(WEBRTC_USE_X11)
|
||||
result.set_x_display(SharedXDisplay::CreateDefault());
|
||||
#endif
|
||||
|
@ -5580,7 +5657,7 @@ index 1605d30f82d1..eb5b8a2a8777 100644
|
|||
#include "modules/desktop_capture/linux/wayland/shared_screencast_stream.h"
|
||||
#endif
|
||||
|
||||
@@ -181,7 +181,6 @@ class RTC_EXPORT DesktopCaptureOptions {
|
||||
@@ -181,22 +181,20 @@ class RTC_EXPORT DesktopCaptureOptions {
|
||||
bool allow_pipewire() const { return allow_pipewire_; }
|
||||
void set_allow_pipewire(bool allow) { allow_pipewire_ = allow; }
|
||||
|
||||
|
@ -5588,7 +5665,7 @@ index 1605d30f82d1..eb5b8a2a8777 100644
|
|||
const rtc::scoped_refptr<SharedScreenCastStream>& screencast_stream() const {
|
||||
return screencast_stream_;
|
||||
}
|
||||
@@ -189,14 +188,13 @@ class RTC_EXPORT DesktopCaptureOptions {
|
||||
void set_screencast_stream(
|
||||
rtc::scoped_refptr<SharedScreenCastStream> stream) {
|
||||
screencast_stream_ = stream;
|
||||
}
|
||||
|
@ -5621,7 +5698,7 @@ diff --git a/third_party/libwebrtc/modules/desktop_capture/screen_capturer_linux
|
|||
index d9f27951302d..18840cc6d7ef 100644
|
||||
--- a/third_party/libwebrtc/modules/desktop_capture/screen_capturer_linux.cc
|
||||
+++ b/third_party/libwebrtc/modules/desktop_capture/screen_capturer_linux.cc
|
||||
@@ -14,11 +14,7 @@
|
||||
@@ -14,29 +14,21 @@
|
||||
#include "modules/desktop_capture/desktop_capturer.h"
|
||||
|
||||
#if defined(WEBRTC_USE_PIPEWIRE)
|
||||
|
@ -5633,7 +5710,13 @@ index d9f27951302d..18840cc6d7ef 100644
|
|||
#endif // defined(WEBRTC_USE_PIPEWIRE)
|
||||
|
||||
#if defined(WEBRTC_USE_X11)
|
||||
@@ -32,11 +28,7 @@ std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawScreenCapturer(
|
||||
#include "modules/desktop_capture/linux/x11/screen_capturer_x11.h"
|
||||
#endif // defined(WEBRTC_USE_X11)
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
// static
|
||||
std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawScreenCapturer(
|
||||
const DesktopCaptureOptions& options) {
|
||||
#if defined(WEBRTC_USE_PIPEWIRE)
|
||||
if (options.allow_pipewire() && DesktopCapturer::IsRunningUnderWayland()) {
|
||||
|
@ -5649,7 +5732,7 @@ diff --git a/third_party/libwebrtc/modules/desktop_capture/window_capturer_linux
|
|||
index b2b1e376ada5..638c42ae3963 100644
|
||||
--- a/third_party/libwebrtc/modules/desktop_capture/window_capturer_linux.cc
|
||||
+++ b/third_party/libwebrtc/modules/desktop_capture/window_capturer_linux.cc
|
||||
@@ -14,11 +14,7 @@
|
||||
@@ -14,29 +14,21 @@
|
||||
#include "modules/desktop_capture/desktop_capturer.h"
|
||||
|
||||
#if defined(WEBRTC_USE_PIPEWIRE)
|
||||
|
@ -5661,7 +5744,13 @@ index b2b1e376ada5..638c42ae3963 100644
|
|||
#endif // defined(WEBRTC_USE_PIPEWIRE)
|
||||
|
||||
#if defined(WEBRTC_USE_X11)
|
||||
@@ -32,11 +28,7 @@ std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawWindowCapturer(
|
||||
#include "modules/desktop_capture/linux/x11/window_capturer_x11.h"
|
||||
#endif // defined(WEBRTC_USE_X11)
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
// static
|
||||
std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawWindowCapturer(
|
||||
const DesktopCaptureOptions& options) {
|
||||
#if defined(WEBRTC_USE_PIPEWIRE)
|
||||
if (options.allow_pipewire() && DesktopCapturer::IsRunningUnderWayland()) {
|
||||
|
@ -5691,10 +5780,10 @@ index 19ee0224b041..fab8f23c624f 100644
|
|||
BUG_COMPONENT = ('Firefox Build System', 'General')
|
||||
|
||||
diff --git a/third_party/pipewire/libpipewire/mozpipewire.cpp b/third_party/pipewire/libpipewire/mozpipewire.cpp
|
||||
index 1ecfc3196af1..fbeeb8e5a760 100644
|
||||
index 1ecfc3196af1..380c5b2c8582 100644
|
||||
--- a/third_party/pipewire/libpipewire/mozpipewire.cpp
|
||||
+++ b/third_party/pipewire/libpipewire/mozpipewire.cpp
|
||||
@@ -69,11 +69,13 @@ static int (*pw_stream_connect_fn)(struct pw_stream *stream,
|
||||
@@ -69,86 +69,99 @@ static int (*pw_stream_connect_fn)(struct pw_stream *stream,
|
||||
enum pw_stream_flags flags,
|
||||
const struct spa_pod **params,
|
||||
uint32_t n_params);
|
||||
|
@ -5708,7 +5797,13 @@ index 1ecfc3196af1..fbeeb8e5a760 100644
|
|||
static int (*pw_stream_queue_buffer_fn)(struct pw_stream *stream,
|
||||
struct pw_buffer *buffer);
|
||||
static int (*pw_stream_update_params_fn)(struct pw_stream *stream,
|
||||
@@ -87,7 +89,10 @@ static int (*pw_thread_loop_start_fn)(struct pw_thread_loop *loop);
|
||||
const struct spa_pod **params,
|
||||
uint32_t n_params);
|
||||
static void (*pw_thread_loop_destroy_fn)(struct pw_thread_loop *loop);
|
||||
static struct pw_loop* (*pw_thread_loop_get_loop_fn)(struct pw_thread_loop *loop);
|
||||
static struct pw_thread_loop* (*pw_thread_loop_new_fn)(const char *name,
|
||||
const struct spa_dict *props);
|
||||
static int (*pw_thread_loop_start_fn)(struct pw_thread_loop *loop);
|
||||
static void (*pw_thread_loop_stop_fn)(struct pw_thread_loop *loop);
|
||||
static void (*pw_thread_loop_lock_fn)(struct pw_thread_loop *loop);
|
||||
static void (*pw_thread_loop_unlock_fn)(struct pw_thread_loop *loop);
|
||||
|
@ -5719,7 +5814,11 @@ index 1ecfc3196af1..fbeeb8e5a760 100644
|
|||
|
||||
bool IsPwLibraryLoaded() {
|
||||
static bool isLoaded =
|
||||
@@ -99,6 +104,7 @@ bool IsPwLibraryLoaded() {
|
||||
(IS_FUNC_LOADED(pw_context_connect_fn) &&
|
||||
IS_FUNC_LOADED(pw_context_connect_fd_fn) &&
|
||||
IS_FUNC_LOADED(pw_context_destroy_fn) &&
|
||||
IS_FUNC_LOADED(pw_context_new_fn) &&
|
||||
IS_FUNC_LOADED(pw_core_disconnect_fn) &&
|
||||
IS_FUNC_LOADED(pw_init_fn) &&
|
||||
IS_FUNC_LOADED(pw_stream_add_listener_fn) &&
|
||||
IS_FUNC_LOADED(pw_stream_connect_fn) &&
|
||||
|
@ -5727,7 +5826,12 @@ index 1ecfc3196af1..fbeeb8e5a760 100644
|
|||
IS_FUNC_LOADED(pw_stream_dequeue_buffer_fn) &&
|
||||
IS_FUNC_LOADED(pw_stream_destroy_fn) &&
|
||||
IS_FUNC_LOADED(pw_stream_new_fn) &&
|
||||
@@ -111,7 +117,10 @@ bool IsPwLibraryLoaded() {
|
||||
IS_FUNC_LOADED(pw_stream_queue_buffer_fn) &&
|
||||
IS_FUNC_LOADED(pw_stream_update_params_fn) &&
|
||||
IS_FUNC_LOADED(pw_thread_loop_destroy_fn) &&
|
||||
IS_FUNC_LOADED(pw_thread_loop_get_loop_fn) &&
|
||||
IS_FUNC_LOADED(pw_thread_loop_new_fn) &&
|
||||
IS_FUNC_LOADED(pw_thread_loop_start_fn) &&
|
||||
IS_FUNC_LOADED(pw_thread_loop_stop_fn) &&
|
||||
IS_FUNC_LOADED(pw_thread_loop_lock_fn) &&
|
||||
IS_FUNC_LOADED(pw_thread_loop_unlock_fn) &&
|
||||
|
@ -5739,7 +5843,24 @@ index 1ecfc3196af1..fbeeb8e5a760 100644
|
|||
|
||||
return isLoaded;
|
||||
}
|
||||
@@ -136,6 +145,7 @@ bool LoadPWLibrary() {
|
||||
|
||||
bool LoadPWLibrary() {
|
||||
static PRLibrary* pwLib = nullptr;
|
||||
static bool pwInitialized = false;
|
||||
|
||||
//TODO Thread safe
|
||||
if (!pwInitialized) {
|
||||
pwInitialized = true;
|
||||
pwLib = PR_LoadLibrary("libpipewire-0.3.so.0");
|
||||
if (!pwLib) {
|
||||
return false;
|
||||
}
|
||||
|
||||
GET_FUNC(pw_context_connect, pwLib);
|
||||
GET_FUNC(pw_context_connect_fd, pwLib);
|
||||
GET_FUNC(pw_context_destroy, pwLib);
|
||||
GET_FUNC(pw_context_new, pwLib);
|
||||
GET_FUNC(pw_core_disconnect, pwLib);
|
||||
GET_FUNC(pw_init, pwLib);
|
||||
GET_FUNC(pw_stream_add_listener, pwLib);
|
||||
GET_FUNC(pw_stream_connect, pwLib);
|
||||
|
@ -5747,7 +5868,12 @@ index 1ecfc3196af1..fbeeb8e5a760 100644
|
|||
GET_FUNC(pw_stream_dequeue_buffer, pwLib);
|
||||
GET_FUNC(pw_stream_destroy, pwLib);
|
||||
GET_FUNC(pw_stream_new, pwLib);
|
||||
@@ -148,7 +158,10 @@ bool LoadPWLibrary() {
|
||||
GET_FUNC(pw_stream_queue_buffer, pwLib);
|
||||
GET_FUNC(pw_stream_update_params, pwLib);
|
||||
GET_FUNC(pw_thread_loop_destroy, pwLib);
|
||||
GET_FUNC(pw_thread_loop_get_loop, pwLib);
|
||||
GET_FUNC(pw_thread_loop_new, pwLib);
|
||||
GET_FUNC(pw_thread_loop_start, pwLib);
|
||||
GET_FUNC(pw_thread_loop_stop, pwLib);
|
||||
GET_FUNC(pw_thread_loop_lock, pwLib);
|
||||
GET_FUNC(pw_thread_loop_unlock, pwLib);
|
||||
|
@ -5774,7 +5900,7 @@ index 1ecfc3196af1..fbeeb8e5a760 100644
|
|||
struct pw_buffer *
|
||||
pw_stream_dequeue_buffer(struct pw_stream *stream)
|
||||
{
|
||||
@@ -356,6 +378,23 @@ pw_thread_loop_unlock(struct pw_thread_loop *loop)
|
||||
@@ -356,13 +378,38 @@ pw_thread_loop_unlock(struct pw_thread_loop *loop)
|
||||
return pw_thread_loop_unlock_fn(loop);
|
||||
}
|
||||
|
||||
|
@ -5798,7 +5924,10 @@ index 1ecfc3196af1..fbeeb8e5a760 100644
|
|||
|
||||
struct pw_properties *
|
||||
pw_properties_new_string(const char *str)
|
||||
@@ -366,3 +405,12 @@ pw_properties_new_string(const char *str)
|
||||
{
|
||||
if (!LoadPWLibrary()) {
|
||||
return nullptr;
|
||||
}
|
||||
return pw_properties_new_string_fn(str);
|
||||
}
|
||||
|
||||
|
@ -5810,4 +5939,3 @@ index 1ecfc3196af1..fbeeb8e5a760 100644
|
|||
+ }
|
||||
+ return pw_get_library_version_fn();
|
||||
+}
|
||||
+
|
|
@ -11,7 +11,7 @@
|
|||
highmem=1
|
||||
|
||||
pkgname=firefox
|
||||
pkgver=106.0.2
|
||||
pkgver=106.0.3
|
||||
pkgrel=1
|
||||
pkgdesc="Standalone web browser from mozilla.org"
|
||||
arch=(x86_64)
|
||||
|
@ -30,11 +30,11 @@ optdepends=('networkmanager: Location detection via available WiFi networks'
|
|||
'xdg-desktop-portal: Screensharing with Wayland')
|
||||
options=(!emptydirs !makeflags !strip !lto !debug)
|
||||
source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz{,.asc}
|
||||
libwebrtc-screen-cast-sync.patch
|
||||
0001-libwebrtc-screen-cast-sync.patch
|
||||
https://github.com/mozilla/gecko-dev/commit/60858bce4bb1b426c07ec0e9e7f627f59b8aca45.patch
|
||||
build-arm-libopus.patch
|
||||
$pkgname.desktop identity-icons-brand.svg)
|
||||
sha256sums=('905738490cd523ef3d17c48aaac65a1dc19294e8932a245d0f7607be38393fe2'
|
||||
sha256sums=('6f7cc633d75872cb8776feefafcec20becb448359bd591f8204a21fd4b845f8e'
|
||||
'SKIP'
|
||||
'ce16a6cc61be2e5e892c5b0b22e9ca3edbd0bd32938908b6d102272ef99dfa6f'
|
||||
'19d1a61b903926623a3f5d0db9b63bdbbc191589f8735d3696025abbfd6dd1c4'
|
||||
|
@ -63,7 +63,7 @@ prepare() {
|
|||
# https://bugs.archlinux.org/task/76231
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1790496
|
||||
# https://src.fedoraproject.org/rpms/firefox/blob/rawhide/f/libwebrtc-screen-cast-sync.patch
|
||||
patch -Np1 -i ../libwebrtc-screen-cast-sync.patch
|
||||
patch -Np1 -i ../0001-libwebrtc-screen-cast-sync.patch
|
||||
|
||||
echo -n "$_google_api_key" >google-api-key
|
||||
echo -n "$_mozilla_api_key" >mozilla-api-key
|
||||
|
|
Loading…
Reference in a new issue