qulogic/pidgin

7a4558293dca
Parents a8a644e3e561
Children 04a97e6730d2
Add birb as a subproject and make IRCv3 use it

Testing Done:
Connected an IRCv3 account to twitch without issue.

Reviewed at https://reviews.imfreedom.org/r/2877/
--- 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 : true,
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])
pkgconfig.generate(
# 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 <birb.h>
+
#include "purpleircv3connection.h"
#include "purpleircv3constants.h"
@@ -49,7 +51,7 @@
gboolean registered;
GDataInputStream *input;
- PurpleQueuedOutputStream *output;
+ GOutputStream *output;
PurpleIRCv3Parser *parser;
@@ -208,15 +210,15 @@
gpointer data)
{
PurpleIRCv3Connection *connection = data;
- PurpleQueuedOutputStream *stream = PURPLE_QUEUED_OUTPUT_STREAM(source);
+ BirbQueuedOutputStream *stream = BIRB_QUEUED_OUTPUT_STREAM(source);
GError *error = NULL;
gboolean success = FALSE;
- success = purple_queued_output_stream_push_bytes_finish(stream, result,
- &error);
+ success = birb_queued_output_stream_push_bytes_finish(stream, result,
+ &error);
if(!success) {
- 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,
- G_PRIORITY_DEFAULT,
- cancellable,
- purple_ircv3_connection_write_cb,
- connection);
+ birb_queued_output_stream_push_bytes_async(BIRB_QUEUED_OUTPUT_STREAM(priv->output),
+ bytes,
+ G_PRIORITY_DEFAULT,
+ cancellable,
+ purple_ircv3_connection_write_cb,
+ connection);
g_bytes_unref(bytes);
}
--- 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 @@
foreach prog : TESTS
e = executable(
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 @@
+[wrap-hg]
+directory = birb
+url = https://keep.imfreedom.org/birb/birb/
+revision = d9d91dc0265d