www/firefox-esr: expose PipeWire support after c58401d4dd
Should work on wlroots-based compositors. For example,
# pkg install firefox sway pam_xdg xdg-desktop-portal-wlr xdg-desktop-portal
# sysrc seatd_enable=YES
# service seatd start
# echo 'session optional pam_xdg.so notroot runtime' >>/etc/pam.d/system
$ exit # log out to pick up XDG_RUNTIME_DIR
<new login>
$ export XDG_CURRENT_DESKTOP=sway
$ export MOZ_ENABLE_WAYLAND=1
$ dbus-daemon --session --fork --address=unix:runtime=yes
$ sway
<GUI session>
$ dbus-update-activation-environment --all
$ daemon -f pipewire
$ firefox https://mozilla.github.io/webrtc-landing/gum_test.html
<click on "Screen Capture">
<select "Use operating system settings">
<click on "Allow" button>
<select via cursor the desired screen (output display)>
<notice the screen mirrored on the web page>
(cherry picked from commit 4dd7526ead
)
This commit is contained in:
parent
62142f9300
commit
1985ab273c
|
@ -2,6 +2,7 @@
|
|||
|
||||
PORTNAME= thunderbird
|
||||
DISTVERSION= 91.3.2
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= mail news net-im
|
||||
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
|
||||
MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source
|
||||
|
|
122
mail/thunderbird/files/patch-bug1676134
Normal file
122
mail/thunderbird/files/patch-bug1676134
Normal file
|
@ -0,0 +1,122 @@
|
|||
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",
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
PORTNAME= firefox
|
||||
DISTVERSION= 91.3.0
|
||||
PORTREVISION= 1
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= www
|
||||
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \
|
||||
|
|
122
www/firefox-esr/files/patch-bug1676134
Normal file
122
www/firefox-esr/files/patch-bug1676134
Normal file
|
@ -0,0 +1,122 @@
|
|||
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",
|
Loading…
Reference in New Issue
Block a user