From bcb9de9ec69bb3bba4284a0afbe28ab96ecea5a6 Mon Sep 17 00:00:00 2001 From: Robert Nagy Date: Mon, 24 Mar 2025 06:53:17 +0100 Subject: [PATCH] www/{*chromium,iridium}: fix build with pipewire 1.4 Obtained from: https://webrtc-review.googlesource.com/c/src/+/380500 --- www/chromium/Makefile | 1 + ..._video__capture_linux_pipewire__session.cc | 20 +++++++++++++++++++ www/iridium/Makefile | 1 + ..._video__capture_linux_pipewire__session.cc | 20 +++++++++++++++++++ www/ungoogled-chromium/Makefile | 1 + ..._video__capture_linux_pipewire__session.cc | 20 +++++++++++++++++++ 6 files changed, 63 insertions(+) create mode 100644 www/chromium/files/patch-third__party_webrtc_modules_video__capture_linux_pipewire__session.cc create mode 100644 www/iridium/files/patch-third__party_webrtc_modules_video__capture_linux_pipewire__session.cc create mode 100644 www/ungoogled-chromium/files/patch-third__party_webrtc_modules_video__capture_linux_pipewire__session.cc diff --git a/www/chromium/Makefile b/www/chromium/Makefile index 38571c2bc878..e9dced151f60 100644 --- a/www/chromium/Makefile +++ b/www/chromium/Makefile @@ -1,5 +1,6 @@ PORTNAME= chromium PORTVERSION= 134.0.6998.165 +PORTREVISION= 1 PULSEMV= 16 PULSEV= ${PULSEMV}.1 CATEGORIES= www wayland diff --git a/www/chromium/files/patch-third__party_webrtc_modules_video__capture_linux_pipewire__session.cc b/www/chromium/files/patch-third__party_webrtc_modules_video__capture_linux_pipewire__session.cc new file mode 100644 index 000000000000..33afacfc84c5 --- /dev/null +++ b/www/chromium/files/patch-third__party_webrtc_modules_video__capture_linux_pipewire__session.cc @@ -0,0 +1,20 @@ +--- third_party/webrtc/modules/video_capture/linux/pipewire_session.cc.orig 2025-03-24 05:49:20 UTC ++++ third_party/webrtc/modules/video_capture/linux/pipewire_session.cc +@@ -87,7 +87,7 @@ PipeWireNode::PipeWireNode(PipeWireSession* session, + .param = OnNodeParam, + }; + +- pw_node_add_listener(proxy_, &node_listener_, &node_events, this); ++ pw_node_add_listener(reinterpret_cast(proxy_), &node_listener_, &node_events, this); + } + + // static +@@ -119,7 +119,7 @@ void PipeWireNode::OnNodeInfo(void* data, const pw_nod + uint32_t id = info->params[i].id; + if (id == SPA_PARAM_EnumFormat && + info->params[i].flags & SPA_PARAM_INFO_READ) { +- pw_node_enum_params(that->proxy_, 0, id, 0, UINT32_MAX, nullptr); ++ pw_node_enum_params(reinterpret_cast(that->proxy_), 0, id, 0, UINT32_MAX, nullptr); + break; + } + } diff --git a/www/iridium/Makefile b/www/iridium/Makefile index 8b7afc25091a..5e5f39030dd3 100644 --- a/www/iridium/Makefile +++ b/www/iridium/Makefile @@ -1,5 +1,6 @@ PORTNAME= iridium PORTVERSION= 2025.03.134.2 +PORTREVISION= 1 PULSEMV= 16 PULSEV= ${PULSEMV}.1 CATEGORIES= www wayland diff --git a/www/iridium/files/patch-third__party_webrtc_modules_video__capture_linux_pipewire__session.cc b/www/iridium/files/patch-third__party_webrtc_modules_video__capture_linux_pipewire__session.cc new file mode 100644 index 000000000000..33afacfc84c5 --- /dev/null +++ b/www/iridium/files/patch-third__party_webrtc_modules_video__capture_linux_pipewire__session.cc @@ -0,0 +1,20 @@ +--- third_party/webrtc/modules/video_capture/linux/pipewire_session.cc.orig 2025-03-24 05:49:20 UTC ++++ third_party/webrtc/modules/video_capture/linux/pipewire_session.cc +@@ -87,7 +87,7 @@ PipeWireNode::PipeWireNode(PipeWireSession* session, + .param = OnNodeParam, + }; + +- pw_node_add_listener(proxy_, &node_listener_, &node_events, this); ++ pw_node_add_listener(reinterpret_cast(proxy_), &node_listener_, &node_events, this); + } + + // static +@@ -119,7 +119,7 @@ void PipeWireNode::OnNodeInfo(void* data, const pw_nod + uint32_t id = info->params[i].id; + if (id == SPA_PARAM_EnumFormat && + info->params[i].flags & SPA_PARAM_INFO_READ) { +- pw_node_enum_params(that->proxy_, 0, id, 0, UINT32_MAX, nullptr); ++ pw_node_enum_params(reinterpret_cast(that->proxy_), 0, id, 0, UINT32_MAX, nullptr); + break; + } + } diff --git a/www/ungoogled-chromium/Makefile b/www/ungoogled-chromium/Makefile index 4889aa94a341..d0ad30d10d4e 100644 --- a/www/ungoogled-chromium/Makefile +++ b/www/ungoogled-chromium/Makefile @@ -1,5 +1,6 @@ PORTNAME= ungoogled-chromium PORTVERSION= 134.0.6998.165 +PORTREVISION= 1 PULSEMV= 16 PULSEV= ${PULSEMV}.1 UGVERSION= ${DISTVERSION}-1 diff --git a/www/ungoogled-chromium/files/patch-third__party_webrtc_modules_video__capture_linux_pipewire__session.cc b/www/ungoogled-chromium/files/patch-third__party_webrtc_modules_video__capture_linux_pipewire__session.cc new file mode 100644 index 000000000000..33afacfc84c5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_webrtc_modules_video__capture_linux_pipewire__session.cc @@ -0,0 +1,20 @@ +--- third_party/webrtc/modules/video_capture/linux/pipewire_session.cc.orig 2025-03-24 05:49:20 UTC ++++ third_party/webrtc/modules/video_capture/linux/pipewire_session.cc +@@ -87,7 +87,7 @@ PipeWireNode::PipeWireNode(PipeWireSession* session, + .param = OnNodeParam, + }; + +- pw_node_add_listener(proxy_, &node_listener_, &node_events, this); ++ pw_node_add_listener(reinterpret_cast(proxy_), &node_listener_, &node_events, this); + } + + // static +@@ -119,7 +119,7 @@ void PipeWireNode::OnNodeInfo(void* data, const pw_nod + uint32_t id = info->params[i].id; + if (id == SPA_PARAM_EnumFormat && + info->params[i].flags & SPA_PARAM_INFO_READ) { +- pw_node_enum_params(that->proxy_, 0, id, 0, UINT32_MAX, nullptr); ++ pw_node_enum_params(reinterpret_cast(that->proxy_), 0, id, 0, UINT32_MAX, nullptr); + break; + } + }