aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2021-11-21 01:02:32 +0000
committerJan Beich <jbeich@FreeBSD.org>2021-11-21 02:39:12 +0000
commit4dd7526ead6681463d6744d5f5d1940cb2fad551 (patch)
tree1dedd2757d32f1fb862caa7054b5f6a624ffd952
parent706c703c5bde6459d02497b488869d51045d067e (diff)
downloadports-4dd7526ead6681463d6744d5f5d1940cb2fad551.tar.gz
ports-4dd7526ead6681463d6744d5f5d1940cb2fad551.zip
www/firefox-esr: expose PipeWire support after c58401d4dda5
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>
-rw-r--r--mail/thunderbird/Makefile1
-rw-r--r--mail/thunderbird/files/patch-bug1676134122
-rw-r--r--www/firefox-esr/Makefile1
-rw-r--r--www/firefox-esr/files/patch-bug1676134122
4 files changed, 246 insertions, 0 deletions
diff --git a/mail/thunderbird/Makefile b/mail/thunderbird/Makefile
index 48253c6bb14b..bae0618640e9 100644
--- a/mail/thunderbird/Makefile
+++ b/mail/thunderbird/Makefile
@@ -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
diff --git a/mail/thunderbird/files/patch-bug1676134 b/mail/thunderbird/files/patch-bug1676134
new file mode 100644
index 000000000000..9abd1a03c7a4
--- /dev/null
+++ b/mail/thunderbird/files/patch-bug1676134
@@ -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",
diff --git a/www/firefox-esr/Makefile b/www/firefox-esr/Makefile
index 70132b426528..ad9339a46b0f 100644
--- a/www/firefox-esr/Makefile
+++ b/www/firefox-esr/Makefile
@@ -2,6 +2,7 @@
PORTNAME= firefox
DISTVERSION= 91.3.0
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= www
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \
diff --git a/www/firefox-esr/files/patch-bug1676134 b/www/firefox-esr/files/patch-bug1676134
new file mode 100644
index 000000000000..9abd1a03c7a4
--- /dev/null
+++ b/www/firefox-esr/files/patch-bug1676134
@@ -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",