git: c7106d659f48 - main - multimedia/wireplumber: backport devel/glib20 fix from 0.5.0

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Wed, 01 May 2024 22:16:03 UTC
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=c7106d659f48942c4f4b26dc4aa8e840750a162d

commit c7106d659f48942c4f4b26dc4aa8e840750a162d
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2024-05-01 21:51:25 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2024-05-01 22:15:00 +0000

    multimedia/wireplumber: backport devel/glib20 fix from 0.5.0
    
    In file included from ../src/modules/wireplumber.cpp:1:
    In file included from ../include/modules/wireplumber.hpp:9:
    In file included from ../include/ALabel.hpp:4:
    In file included from /usr/local/include/gtkmm-3.0/gtkmm/label.h:27:
    In file included from /usr/local/include/gtkmm-3.0/gtkmm/misc.h:27:
    In file included from /usr/local/include/gtkmm-3.0/gtkmm/widget.h:31:
    In file included from /usr/local/include/pangomm-1.4/pangomm/context.h:31:
    In file included from /usr/local/include/glibmm-2.4/glibmm/object.h:30:
    /usr/local/include/glibmm-2.4/glibmm/wrap.h:92:7: error: use of undeclared identifier 'WP_LOCAL_LOG_TOPIC'
       92 |       g_warning("Glib::wrap_auto_interface(): The C++ instance (%s) does not dynamic_cast to the "
          |       ^
    /usr/local/include/glib-2.0/glib/gmessages.h:362:32: note: expanded from macro 'g_warning'
      362 | #define g_warning(...)  g_log (G_LOG_DOMAIN,         \
          |                                ^
    /usr/local/include/wireplumber-0.5/wp/log.h:65:23: note: expanded from macro 'G_LOG_DOMAIN'
       65 | #define G_LOG_DOMAIN (WP_LOCAL_LOG_TOPIC->topic_name)
          |                       ^
---
 multimedia/wireplumber/Makefile         |  1 +
 multimedia/wireplumber/files/patch-glib | 98 +++++++++++++++++++++++++++++++++
 x11/waybar/Makefile                     |  1 -
 3 files changed, 99 insertions(+), 1 deletion(-)

diff --git a/multimedia/wireplumber/Makefile b/multimedia/wireplumber/Makefile
index 2ecad6f3e3a4..a78d375f2c60 100644
--- a/multimedia/wireplumber/Makefile
+++ b/multimedia/wireplumber/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	wireplumber
 DISTVERSION=	0.4.90
+PORTREVISION=	1
 CATEGORIES=	multimedia
 
 MAINTAINER=	arrowd@FreeBSD.org
diff --git a/multimedia/wireplumber/files/patch-glib b/multimedia/wireplumber/files/patch-glib
new file mode 100644
index 000000000000..8cc15aac9fa7
--- /dev/null
+++ b/multimedia/wireplumber/files/patch-glib
@@ -0,0 +1,98 @@
+https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/e9d8eeedefa8
+
+--- lib/wp/log.h.orig	2024-03-04 17:29:09 UTC
++++ lib/wp/log.h
+@@ -59,10 +59,12 @@ struct _WpLogTopic {
+   WP_LOG_TOPIC_STATIC(WP_LOCAL_LOG_TOPIC, t)
+ 
+ /* make glib log functions also use the local log topic */
+-#ifdef G_LOG_DOMAIN
+-# undef G_LOG_DOMAIN
++#ifdef WP_USE_LOCAL_LOG_TOPIC_IN_G_LOG
++# ifdef G_LOG_DOMAIN
++#  undef G_LOG_DOMAIN
++# endif
++# define G_LOG_DOMAIN (WP_LOCAL_LOG_TOPIC->topic_name)
+ #endif
+-#define G_LOG_DOMAIN (WP_LOCAL_LOG_TOPIC->topic_name)
+ 
+ WP_API
+ void wp_log_topic_init (WpLogTopic *topic);
+--- lib/wp/meson.build.orig	2024-03-04 17:29:09 UTC
++++ lib/wp/meson.build
+@@ -126,6 +126,7 @@ wp_lib = library('wireplumber-' + wireplumber_api_vers
+   c_args : [
+     '-D_GNU_SOURCE',
+     '-DG_LOG_USE_STRUCTURED',
++    '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG',
+     '-DBUILDING_WP',
+   ],
+   install: true,
+--- modules/meson.build.orig	2024-03-04 17:29:09 UTC
++++ modules/meson.build
+@@ -1,6 +1,7 @@ common_c_args = [
+ common_c_args = [
+   '-D_GNU_SOURCE',
+   '-DG_LOG_USE_STRUCTURED',
++  '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG',
+ ]
+ 
+ shared_library(
+--- modules/module-lua-scripting/wplua/meson.build.orig	2024-03-04 17:29:09 UTC
++++ modules/module-lua-scripting/wplua/meson.build
+@@ -19,6 +19,7 @@ wplua_lib = static_library('wplua-' + wireplumber_api_
+   c_args : [
+     '-D_GNU_SOURCE',
+     '-DG_LOG_USE_STRUCTURED',
++    '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG',
+   ],
+   install: false,
+   include_directories: wplua_include_dir,
+--- src/meson.build.orig	2024-03-04 17:29:09 UTC
++++ src/meson.build
+@@ -33,6 +33,7 @@ if build_daemon
+     c_args : [
+       '-D_GNU_SOURCE',
+       '-DG_LOG_USE_STRUCTURED',
++      '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG',
+     ],
+     install: true,
+     dependencies : [gobject_dep, gio_dep, wp_dep, pipewire_dep],
+--- src/tools/meson.build.orig	2024-03-04 17:29:09 UTC
++++ src/tools/meson.build
+@@ -3,6 +3,7 @@ executable('wpctl',
+   c_args : [
+     '-D_GNU_SOURCE',
+     '-DG_LOG_USE_STRUCTURED',
++    '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG',
+   ],
+   install: true,
+   dependencies : [gobject_dep, gio_dep, wp_dep, pipewire_dep],
+@@ -18,6 +19,7 @@ executable('wpexec',
+   c_args : [
+     '-D_GNU_SOURCE',
+     '-DG_LOG_USE_STRUCTURED',
++    '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG',
+   ],
+   install: true,
+   dependencies : [gobject_dep, gio_dep, wp_dep, pipewire_dep],
+--- tests/modules/meson.build.orig	2024-03-04 17:29:09 UTC
++++ tests/modules/meson.build
+@@ -5,6 +5,7 @@ common_args = [
+ common_args = [
+   '-D_GNU_SOURCE',
+   '-DG_LOG_USE_STRUCTURED',
++  '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG',
+ ]
+ 
+ if get_option('dbus-tests')
+--- tests/wp/meson.build.orig	2024-03-04 17:29:09 UTC
++++ tests/wp/meson.build
+@@ -5,6 +5,7 @@ common_args = [
+ common_args = [
+   '-D_GNU_SOURCE',
+   '-DG_LOG_USE_STRUCTURED',
++  '-DWP_USE_LOCAL_LOG_TOPIC_IN_G_LOG',
+ ]
+ 
+ test(
diff --git a/x11/waybar/Makefile b/x11/waybar/Makefile
index 21b8a20d702a..6392729061d9 100644
--- a/x11/waybar/Makefile
+++ b/x11/waybar/Makefile
@@ -47,7 +47,6 @@ SUB_FILES+=	date.pc
 OPTIONS_DEFINE=		CAVA DBUS EVDEV ICONSFONT JACK MANPAGES MPD MPRIS PIPEWIRE PULSEAUDIO SNDIO UDEV UPOWER WIREPLUMBER
 OPTIONS_DEFAULT=	CAVA DBUS EVDEV ICONSFONT JACK MANPAGES MPD MPRIS PIPEWIRE PULSEAUDIO SNDIO UDEV UPOWER WIREPLUMBER
 OPTIONS_EXCLUDE+=	CAVA # https://github.com/karlstav/cava/issues/487
-OPTIONS_EXCLUDE+=	WIREPLUMBER # https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/571
 .if ${FLAVOR:U:M*nopulse}
 OPTIONS_EXCLUDE+=	PULSEAUDIO
 .endif