Wed, 16 Nov 2022 23:44:59 -0600
Remove soupcompat.h since we require libsoup3 now
Testing Done:
Compiled
Reviewed at https://reviews.imfreedom.org/r/2068/
--- a/finch/plugins/gnttinyurl/gnttinyurl.c Wed Nov 16 23:43:30 2022 -0600 +++ b/finch/plugins/gnttinyurl/gnttinyurl.c Wed Nov 16 23:44:59 2022 -0600 @@ -27,8 +27,6 @@ #include <purple.h> -#include "soupcompat.h" - #include <gnt.h> #include <finch.h>
--- a/libpurple/meson.build Wed Nov 16 23:43:30 2022 -0600 +++ b/libpurple/meson.build Wed Nov 16 23:44:59 2022 -0600 @@ -342,7 +342,6 @@ requires : [glib, gdk_pixbuf, 'gplugin'], variables : [ f'plugindir=${libdir}/@purple_filebase@', - f'soupapiversion=@soup_api_version@', ]) if enable_introspection
--- a/libpurple/protocols/facebook/api.c Wed Nov 16 23:43:30 2022 -0600 +++ b/libpurple/protocols/facebook/api.c Wed Nov 16 23:44:59 2022 -0600 @@ -27,7 +27,6 @@ #include <string.h> #include "libpurple/glibcompat.h" -#include "libpurple/soupcompat.h" #include "api.h" #include "http.h"
--- a/libpurple/protocols/facebook/data.c Wed Nov 16 23:43:30 2022 -0600 +++ b/libpurple/protocols/facebook/data.c Wed Nov 16 23:44:59 2022 -0600 @@ -24,7 +24,6 @@ #include <purple.h> #include "libpurple/glibcompat.h" -#include "libpurple/soupcompat.h" #include "api.h" #include "data.h"
--- a/libpurple/protocols/facebook/http.c Wed Nov 16 23:43:30 2022 -0600 +++ b/libpurple/protocols/facebook/http.c Wed Nov 16 23:44:59 2022 -0600 @@ -25,8 +25,6 @@ #include "http.h" -#include "libpurple/soupcompat.h" - GQuark fb_http_error_quark(void) {
--- a/libpurple/protocols/facebook/meson.build Wed Nov 16 23:43:30 2022 -0600 +++ b/libpurple/protocols/facebook/meson.build Wed Nov 16 23:44:59 2022 -0600 @@ -44,7 +44,8 @@ if enable_introspection introspection_sources = FACEBOOK_SOURCES - facebook_gir_includes = ['GObject-2.0', 'Gio-2.0', 'Gst-1.0', 'Json-1.0', f'Soup-@soup_api_version@', libpurple_gir[0]] + facebook_gir_includes = ['GObject-2.0', 'Gio-2.0', 'Gst-1.0', + 'Json-1.0', 'Soup-3.0', libpurple_gir[0]] facebook_gir = gnome.generate_gir(facebook_prpl, sources : introspection_sources,
--- a/libpurple/protocols/gg/avatar.c Wed Nov 16 23:43:30 2022 -0600 +++ b/libpurple/protocols/gg/avatar.c Wed Nov 16 23:44:59 2022 -0600 @@ -30,7 +30,6 @@ #include "avatar.h" #include "libpurple/glibcompat.h" -#include "libpurple/soupcompat.h" #include "gg.h" #include "utils.h"
--- a/libpurple/protocols/gg/edisc.c Wed Nov 16 23:43:30 2022 -0600 +++ b/libpurple/protocols/gg/edisc.c Wed Nov 16 23:44:59 2022 -0600 @@ -36,7 +36,6 @@ #include <glib/gi18n-lib.h> #include <purple.h> -#include "libpurple/soupcompat.h" #define GGP_EDISC_OS "WINNT x86-msvc" #define GGP_EDISC_TYPE "desktop"
--- a/libpurple/protocols/gg/oauth/oauth-purple.c Wed Nov 16 23:43:30 2022 -0600 +++ b/libpurple/protocols/gg/oauth/oauth-purple.c Wed Nov 16 23:44:59 2022 -0600 @@ -35,7 +35,6 @@ #include "../xml.h" #include <purple.h> -#include "libpurple/soupcompat.h" #define GGP_OAUTH_RESPONSE_MAX 10240
--- a/libpurple/protocols/gg/pubdir-prpl.c Wed Nov 16 23:43:30 2022 -0600 +++ b/libpurple/protocols/gg/pubdir-prpl.c Wed Nov 16 23:44:59 2022 -0600 @@ -30,7 +30,6 @@ #include <glib/gi18n-lib.h> #include <purple.h> -#include "libpurple/soupcompat.h" #include "pubdir-prpl.h" #include "gg.h"
--- a/libpurple/protocols/jabber/bosh.c Wed Nov 16 23:43:30 2022 -0600 +++ b/libpurple/protocols/jabber/bosh.c Wed Nov 16 23:44:59 2022 -0600 @@ -25,7 +25,6 @@ #include <purple.h> #include <libsoup/soup.h> -#include "libpurple/soupcompat.h" #include "bosh.h"
--- a/libpurple/protocols/jabber/oob.c Wed Nov 16 23:43:30 2022 -0600 +++ b/libpurple/protocols/jabber/oob.c Wed Nov 16 23:44:59 2022 -0600 @@ -22,8 +22,6 @@ */ #include <purple.h> -#include "libpurple/soupcompat.h" - #include "jabber.h" #include "iq.h" #include "oob.h"
--- a/libpurple/protocols/jabber/useravatar.c Wed Nov 16 23:43:30 2022 -0600 +++ b/libpurple/protocols/jabber/useravatar.c Wed Nov 16 23:44:59 2022 -0600 @@ -27,7 +27,6 @@ #include <purple.h> #include "libpurple/glibcompat.h" -#include "libpurple/soupcompat.h" #include <libsoup/soup.h>
--- a/libpurple/soupcompat.h Wed Nov 16 23:43:30 2022 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,163 +0,0 @@ -/* - * Purple - Internet Messaging Library - * Copyright (C) Pidgin Developers <devel@pidgin.im> - * - * Purple is the legal property of its developers, whose names are too numerous - * to list here. Please refer to the COPYRIGHT file distributed with this - * source distribution. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see <https://www.gnu.org/licenses/>. - */ - -#ifndef PURPLE_SOUPCOMPAT_H -#define PURPLE_SOUPCOMPAT_H -/* - * This file is internal to libpurple. Do not use! - * Also, any public API should not depend on this file. - */ - -#include <libsoup/soup.h> - -#if SOUP_MAJOR_VERSION < 3 - -static inline const char * -soup_message_get_reason_phrase(SoupMessage *msg) { - return msg->reason_phrase; -} - -static inline SoupMessageHeaders * -soup_message_get_response_headers(SoupMessage *msg) { - return msg->response_headers; -} - -static inline SoupMessageHeaders * -soup_message_get_request_headers(SoupMessage *msg) { - return msg->request_headers; -} - -static inline SoupStatus -soup_message_get_status(SoupMessage *msg) { - return msg->status_code; -} - -static inline SoupMessage * -soup_message_new_from_encoded_form(const gchar *method, - const gchar *uri_string, - gchar *encoded_form) -{ - SoupMessage *msg = NULL; - SoupURI *uri; - - g_return_val_if_fail(method != NULL, NULL); - g_return_val_if_fail(uri_string != NULL, NULL); - g_return_val_if_fail(encoded_form != NULL, NULL); - - uri = soup_uri_new(uri_string); - if (!uri || !uri->host) { - g_free(encoded_form); - soup_uri_free(uri); - return NULL; - } - - if (strcmp(method, "GET") == 0) { - g_free(uri->query); - uri->query = encoded_form; - msg = soup_message_new_from_uri(method, uri); - } else if (strcmp (method, "POST") == 0 || strcmp (method, "PUT") == 0) { - msg = soup_message_new_from_uri(method, uri); - soup_message_body_append_take(msg->request_body, - (guchar *)encoded_form, - strlen(encoded_form)); - } else { - g_free(encoded_form); - } - - soup_uri_free(uri); - - return msg; -} - -static inline void -soup_message_set_request_body_from_bytes(SoupMessage *msg, - const gchar *content_type, - GBytes *bytes) -{ - gconstpointer data = NULL; - gsize length = 0; - - data = g_bytes_get_data(bytes, &length); - soup_message_set_request(msg, content_type, SOUP_MEMORY_COPY, - data, length); -} - -static inline void -soup_session_send_and_read_async_cancel_cb(GCancellable *cancellable, - gpointer data) -{ - GTask *task = data; - SoupSession *session = g_task_get_source_object(task); - SoupMessage *msg = g_task_get_task_data(task); - - soup_session_cancel_message(session, msg, SOUP_STATUS_CANCELLED); -} - -static inline void -soup_session_send_and_read_sync_cb(SoupSession *session, SoupMessage *msg, - gpointer data) -{ - GTask *task = data; - - if(SOUP_STATUS_IS_SUCCESSFUL(msg->status_code)) { - GBytes *bytes = g_bytes_new(msg->response_body->data, - msg->response_body->length); - g_task_return_pointer(task, bytes, (GDestroyNotify)g_bytes_unref); - } else { - g_task_return_new_error(task, SOUP_HTTP_ERROR, msg->status_code, - "SoupMessage returned failure: (%d) %s", - msg->status_code, msg->reason_phrase); - } - - g_object_unref(task); -} - -static inline GBytes * -soup_session_send_and_read_finish(SoupSession *session, GAsyncResult *result, - GError **error) -{ - g_return_val_if_fail(SOUP_IS_SESSION(session), NULL); - - return g_task_propagate_pointer(G_TASK(result), error); -} - -static inline void -soup_session_send_and_read_async(SoupSession *session, SoupMessage *msg, - gint priority, GCancellable *cancellable, - GAsyncReadyCallback cb, gpointer data) -{ - GTask *task = NULL; - - task = g_task_new(session, cancellable, cb, data); - g_task_set_priority(task, priority); - g_task_set_task_data(task, g_object_ref(msg), g_object_unref); - g_cancellable_connect(cancellable, - G_CALLBACK(soup_session_send_and_read_async_cancel_cb), - g_object_ref(task), g_object_unref); - - soup_session_queue_message(session, msg, - soup_session_send_and_read_sync_cb, task); -} - -#endif /* SOUP_MAJOR_VERSION < 3 */ - -#endif /* PURPLE_SOUPCOMPAT_H */
--- a/meson.build Wed Nov 16 23:43:30 2022 -0600 +++ b/meson.build Wed Nov 16 23:44:59 2022 -0600 @@ -274,22 +274,11 @@ # Check for libsoup (required) ####################################################################### -libsoup = disabler() -if not get_option('soup2') - libsoup = dependency('libsoup-3.0', version : '>= 3') - add_project_arguments( - '-DSOUP_VERSION_MIN_REQUIRED=SOUP_VERSION_3_0', - '-DSOUP_VERSION_MAX_ALLOWED=SOUP_VERSION_3_0', - language : 'c') - soup_api_version = '3.0' -else - libsoup = dependency('libsoup-2.4', version : '>= 2.42') - add_project_arguments( - '-DSOUP_VERSION_MIN_REQUIRED=SOUP_VERSION_2_42', - '-DSOUP_VERSION_MAX_ALLOWED=SOUP_VERSION_2_42', - language : 'c') - soup_api_version = '2.4' -endif +libsoup = dependency('libsoup-3.0', version : '>= 3') +add_project_arguments( + '-DSOUP_VERSION_MIN_REQUIRED=SOUP_VERSION_3_0', + '-DSOUP_VERSION_MAX_ALLOWED=SOUP_VERSION_3_0', + language : 'c') ####################################################################### # Check for sqlite3 (required)
--- a/meson_options.txt Wed Nov 16 23:43:30 2022 -0600 +++ b/meson_options.txt Wed Nov 16 23:44:59 2022 -0600 @@ -25,9 +25,6 @@ option('libsecret', type : 'feature', description : 'enable libsecret support') -option('soup2', type : 'boolean', value : false, - description : 'compile against libsoup2') - ############################################################################## # Protocol Plugins