aboutsummaryrefslogtreecommitdiff
path: root/www/firefox-esr/files/patch-third__party_libwebrtc_build_config_BUILDCONFIG.gn
diff options
context:
space:
mode:
Diffstat (limited to 'www/firefox-esr/files/patch-third__party_libwebrtc_build_config_BUILDCONFIG.gn')
-rw-r--r--www/firefox-esr/files/patch-third__party_libwebrtc_build_config_BUILDCONFIG.gn132
1 files changed, 132 insertions, 0 deletions
diff --git a/www/firefox-esr/files/patch-third__party_libwebrtc_build_config_BUILDCONFIG.gn b/www/firefox-esr/files/patch-third__party_libwebrtc_build_config_BUILDCONFIG.gn
new file mode 100644
index 000000000000..e4607283ebcf
--- /dev/null
+++ b/www/firefox-esr/files/patch-third__party_libwebrtc_build_config_BUILDCONFIG.gn
@@ -0,0 +1,132 @@
+commit da40b474fba2247ffc07696a2c565d830e900c9c
+Author: Christoph Moench-Tegeder <cmt@FreeBSD.org>
+
+ enable pipewire on bsd
+
+diff --git third_party/chromium/build/config/BUILDCONFIG.gn third_party/chromium/build/config/BUILDCONFIG.gn
+index 889bdb92354c..ccda96d998c5 100644
+--- third_party/chromium/build/config/BUILDCONFIG.gn
++++ third_party/chromium/build/config/BUILDCONFIG.gn
+@@ -132,6 +132,7 @@ declare_args() {
+
+ # Set to true when compiling with the Clang compiler.
+ is_clang = current_os != "linux" || current_os == "openbsd" ||
++ current_os == "freebsd" ||
+ (current_cpu != "s390x" && current_cpu != "s390" &&
+ current_cpu != "ppc64" && current_cpu != "ppc" &&
+ current_cpu != "mips" && current_cpu != "mips64" &&
+@@ -184,7 +185,7 @@ if (host_toolchain == "") {
+ # TODO(dpranke): Add some sort of assert here that verifies that
+ # no toolchain omitted host_toolchain from its toolchain_args().
+
+- if (host_os == "linux" || host_os == "openbsd") {
++ if (host_os == "linux" || host_os == "openbsd" || host_os == "freebsd") {
+ if (target_os != "linux") {
+ host_toolchain = "//chromium/build/toolchain/linux:clang_$host_cpu"
+ } else if (is_clang) {
+@@ -222,7 +223,7 @@ if (target_os == "android") {
+ assert(host_os == "linux" || host_os == "mac",
+ "Android builds are only supported on Linux and Mac hosts.")
+ _default_toolchain = "//chromium/build/toolchain/android:android_clang_$target_cpu"
+-} else if (target_os == "chromeos" || target_os == "linux" || target_os == "openbsd") {
++} else if (target_os == "chromeos" || target_os == "linux" || target_os == "openbsd" || target_os == "freebsd") {
+ # See comments in build/toolchain/cros/BUILD.gn about board compiles.
+ if (is_clang) {
+ _default_toolchain = "//chromium/build/toolchain/linux:clang_$target_cpu"
+@@ -288,7 +289,7 @@ is_chromeos = current_os == "chromeos"
+ is_fuchsia = current_os == "fuchsia"
+ is_ios = current_os == "ios"
+ is_linux = current_os == "linux"
+-is_bsd = current_os == "openbsd"
++is_bsd = current_os == "openbsd" || current_os == "freebsd"
+ is_mac = current_os == "mac"
+ is_nacl = current_os == "nacl"
+ is_win = current_os == "win" || current_os == "winuwp"
+diff --git third_party/libwebrtc/BUILD.gn third_party/libwebrtc/BUILD.gn
+index 397df7b27b24..8a587feed6b9 100644
+--- third_party/libwebrtc/BUILD.gn
++++ third_party/libwebrtc/BUILD.gn
+@@ -107,7 +107,7 @@ if (!build_with_chromium && !build_with_mozilla) {
+ "tools_webrtc/perf:webrtc_dashboard_upload",
+ ]
+ }
+- if ((is_linux || is_chromeos) && rtc_use_pipewire) {
++ if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) {
+ deps += [ "modules/desktop_capture:shared_screencast_stream_test" ]
+ }
+ }
+diff --git third_party/libwebrtc/modules/desktop_capture/BUILD.gn third_party/libwebrtc/modules/desktop_capture/BUILD.gn
+index de00f688871c..e32c19d38c8d 100644
+--- third_party/libwebrtc/modules/desktop_capture/BUILD.gn
++++ third_party/libwebrtc/modules/desktop_capture/BUILD.gn
+@@ -74,7 +74,7 @@ if (rtc_include_tests) {
+ "window_finder_unittest.cc",
+ ]
+
+- if ((is_linux || is_chromeos) && rtc_use_pipewire) {
++ if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) {
+ configs += [ "../portal:gio" ]
+ }
+
+@@ -86,7 +86,7 @@ if (rtc_include_tests) {
+ }
+ }
+
+- if ((is_linux || is_chromeos) && rtc_use_pipewire) {
++ if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) {
+ rtc_test("shared_screencast_stream_test") {
+ testonly = true
+
+@@ -145,7 +145,7 @@ if (rtc_include_tests) {
+ "test_utils_unittest.cc",
+ ]
+
+- if ((is_linux || is_chromeos) && rtc_use_pipewire) {
++ if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) {
+ configs += [ "../portal:gio" ]
+ }
+
+@@ -267,7 +267,7 @@ if (rtc_include_tests) {
+ }
+
+ # TODO(bugs.webrtc.org/14187): remove when all users are gone
+-if ((is_linux || is_chromeos) && rtc_use_pipewire) {
++if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) {
+ config("pipewire_config") {
+ configs = [ "../portal:pipewire_config" ]
+ }
+@@ -330,7 +330,7 @@ rtc_library("desktop_capture") {
+ "window_finder.cc",
+ "window_finder.h",
+ ]
+- if (is_linux && !is_castos && rtc_use_pipewire) {
++ if ((is_linux || is_bsd) && !is_castos && rtc_use_pipewire) {
+ sources += [ "desktop_capture_metadata.h" ]
+ }
+ if (is_mac) {
+diff --git third_party/libwebrtc/modules/portal/BUILD.gn third_party/libwebrtc/modules/portal/BUILD.gn
+index 6828388b31af..7e1857d861c5 100644
+--- third_party/libwebrtc/modules/portal/BUILD.gn
++++ third_party/libwebrtc/modules/portal/BUILD.gn
+@@ -10,7 +10,7 @@ import("//chromium/build/config/linux/pkg_config.gni")
+ import("//tools/generate_stubs/rules.gni")
+ import("../../webrtc.gni")
+
+-if ((is_linux || is_chromeos) && rtc_use_pipewire) {
++if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) {
+ if (!build_with_mozilla) {
+ pkg_config("gio") {
+ packages = [
+diff --git third_party/libwebrtc/webrtc.gni third_party/libwebrtc/webrtc.gni
+index 58b450cbb16e..00b9ca49c71f 100644
+--- third_party/libwebrtc/webrtc.gni
++++ third_party/libwebrtc/webrtc.gni
+@@ -154,7 +154,7 @@ declare_args() {
+ # By default it's only enabled on desktop Linux (excludes ChromeOS) and
+ # only when using the sysroot as PipeWire is not available in older and
+ # supported Ubuntu and Debian distributions.
+- rtc_use_pipewire = is_linux && use_sysroot
++ rtc_use_pipewire = (is_linux || is_bsd) && use_sysroot
+
+ # Set this to link PipeWire and required libraries directly instead of using the dlopen.
+ rtc_link_pipewire = false