--- a/libpurple/protocols/ircv3/meson.build Tue Dec 12 01:21:38 2023 -0600
+++ b/libpurple/protocols/ircv3/meson.build Tue Dec 12 03:48:15 2023 -0600
@@ -64,14 +64,14 @@
ircv3_prpl = shared_library('ircv3', IRCV3_SOURCES + IRCV3_HEADERS + [ircv3_h],
c_args : ['-DPURPLE_IRCV3_COMPILATION', '-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-IRCv3"'],
gnu_symbol_visibility : 'hidden',
- dependencies : [libpurple_dep, glib, gio, hasl],
+ dependencies : [libpurple_dep, birb, glib, gio, hasl], install_dir : PURPLE_PLUGINDIR)
ircv3_dep = declare_dependency(
sources : [IRCV3_SOURCES, IRCV3_HEADERS],
include_directories : ircv3_includes,
- dependencies : [libpurple_dep, glib, gio, hasl])
+ dependencies : [libpurple_dep, birb, glib, gio, hasl]) # we purposely don't put the library here because you should not be
--- a/libpurple/protocols/ircv3/purpleircv3connection.c Tue Dec 12 01:21:38 2023 -0600
+++ b/libpurple/protocols/ircv3/purpleircv3connection.c Tue Dec 12 03:48:15 2023 -0600
@@ -18,6 +18,8 @@
#include <glib/gi18n-lib.h>
#include "purpleircv3connection.h"
#include "purpleircv3constants.h"
@@ -49,7 +51,7 @@
- PurpleQueuedOutputStream *output;
PurpleIRCv3Parser *parser;
@@ -208,15 +210,15 @@
PurpleIRCv3Connection *connection = data;
- PurpleQueuedOutputStream *stream = PURPLE_QUEUED_OUTPUT_STREAM(source);
+ BirbQueuedOutputStream *stream = BIRB_QUEUED_OUTPUT_STREAM(source); gboolean success = FALSE;
- success = purple_queued_output_stream_push_bytes_finish(stream, result,
+ success = birb_queued_output_stream_push_bytes_finish(stream, result, - purple_queued_output_stream_clear_queue(stream);
+ birb_queued_output_stream_clear_queue(stream); g_prefix_error(&error, "%s", _("Lost connection with server: "));
@@ -261,7 +263,7 @@
purple_ircv3_parser_add_default_handlers(priv->parser);
ostream = g_io_stream_get_output_stream(G_IO_STREAM(conn));
- priv->output = purple_queued_output_stream_new(ostream);
+ priv->output = birb_queued_output_stream_new(ostream); istream = g_io_stream_get_input_stream(G_IO_STREAM(conn));
priv->input = g_data_input_stream_new(istream);
@@ -807,11 +809,12 @@
bytes = g_string_free_to_bytes(msg);
cancellable = purple_connection_get_cancellable(PURPLE_CONNECTION(connection));
- purple_queued_output_stream_push_bytes_async(priv->output, bytes,
- purple_ircv3_connection_write_cb,
+ birb_queued_output_stream_push_bytes_async(BIRB_QUEUED_OUTPUT_STREAM(priv->output), + purple_ircv3_connection_write_cb, --- a/libpurple/protocols/ircv3/tests/meson.build Tue Dec 12 01:21:38 2023 -0600
+++ b/libpurple/protocols/ircv3/tests/meson.build Tue Dec 12 03:48:15 2023 -0600
@@ -7,7 +7,7 @@
f'test_ircv3_@prog@', f'test_ircv3_@prog@.c',
- dependencies : [libpurple_dep, glib, hasl],
+ dependencies : [libpurple_dep, birb, glib, hasl], objects : ircv3_prpl.extract_all_objects(),
c_args : ['-DPURPLE_IRCV3_COMPILATION'])
--- a/meson.build Tue Dec 12 01:21:38 2023 -0600
+++ b/meson.build Tue Dec 12 03:48:15 2023 -0600
@@ -251,6 +251,11 @@
gstreamer_app = dependency('gstreamer-app-1.0')
#######################################################################
+# Check for birb glib utility library +####################################################################### +birb = dependency('birb') +####################################################################### # Check for Native Avahi headers (for Bonjour)
#######################################################################
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/subprojects/birb.wrap Tue Dec 12 03:48:15 2023 -0600
@@ -0,0 +1,4 @@
+url = https://keep.imfreedom.org/birb/birb/