Update to libsoup-2.38.0.

This commit is contained in:
ajacoutot 2012-03-29 06:31:59 +00:00
parent 654c807daf
commit 261383886e
3 changed files with 14 additions and 100 deletions

View File

@ -1,18 +1,16 @@
# $OpenBSD: Makefile,v 1.69 2012/02/16 22:16:02 ajacoutot Exp $
# $OpenBSD: Makefile,v 1.70 2012/03/29 06:31:59 ajacoutot Exp $
COMMENT-main = SOAP implementation in C
COMMENT-gnome = GNOME specific libsoup parts
GNOME_PROJECT = libsoup
GNOME_VERSION = 2.36.1
REVISION-main = 0
GNOME_VERSION = 2.38.0
PKGNAME-main = ${DISTNAME}
PKGNAME-gnome = ${GNOME_PROJECT}-gnome-${GNOME_VERSION}
SHARED_LIBS += soup-2.4 3.1 # .5.0
SHARED_LIBS += soup-gnome-2.4 1.2 # .5.0
SHARED_LIBS += soup-2.4 6.0 # 6.0
SHARED_LIBS += soup-gnome-2.4 6.0 # 6.0
API_VERSION = 2.4
@ -36,18 +34,20 @@ MULTI_PACKAGES = -main -gnome
MODGNOME_TOOLS= goi
RUN_DEPENDS = net/glib2-networking>=2.30.0
BUILD_DEPENDS = net/glib2-networking>=2.31.22 \
net/curl # needed to build tests
RUN_DEPENDS = net/glib2-networking>=2.31.22
LIB_DEPENDS = devel/glib2>=2.22.2 \
textproc/libxml
WANTLIB-gnome = ${WANTLIB-main} dbus-1 sqlite3 \
soup-2.4 gnome-keyring>=6 gcrypt gpg-error
soup-2.4 gnome-keyring gcrypt gpg-error
RUN_DEPENDS-gnome= ${MODGETTEXT_RUN_DEPENDS}
LIB_DEPENDS-gnome = ${LIB_DEPENDS-main} \
${BUILD_PKGPATH},-main \
x11/gnome/libgnome-keyring \
x11/gnome/libgnome-keyring>=3.4.0 \
databases/sqlite3
MODULES = devel/gettext \
@ -63,6 +63,4 @@ CONFIGURE_ARGS+= --with-apache-httpd="/usr/sbin/httpd"
SUBST_VARS = API_VERSION
NO_REGRESS = Yes
.include <bsd.port.mk>

View File

@ -1,5 +1,5 @@
MD5 (libsoup-2.36.1.tar.xz) = Xm3PDf2/WPZ/V27Wf4kjuQ==
RMD160 (libsoup-2.36.1.tar.xz) = XwQLbyH77ntdlA2SkYTA6r0rB08=
SHA1 (libsoup-2.36.1.tar.xz) = U27WLfyAY40PA9mZJxpHZuNGMEg=
SHA256 (libsoup-2.36.1.tar.xz) = c3IkB/9fp/z/La44SqBNheeQDA4/7UY4nxKJoUCeH2U=
SIZE (libsoup-2.36.1.tar.xz) = 608308
MD5 (libsoup-2.38.0.tar.xz) = ikTXzx3qNksIzsIYi2FmVw==
RMD160 (libsoup-2.38.0.tar.xz) = 3yEzGtJRFrpVBc1f1ytLp0VPIsg=
SHA1 (libsoup-2.38.0.tar.xz) = ojz2n8VCj6WubYkqy25eKVut28I=
SHA256 (libsoup-2.38.0.tar.xz) = j8FHAwmqz8RYQux3S1pd4YSNPVn3xGfvrKVVshvvlq0=
SIZE (libsoup-2.38.0.tar.xz) = 618636

View File

@ -1,84 +0,0 @@
$OpenBSD: patch-libsoup_soup-http-input-stream_c,v 1.1 2012/02/16 22:16:50 ajacoutot Exp $
From 856df33301221711789f0db744fce951eb70ba76 Mon Sep 17 00:00:00 2001
From: Dan Winship <danw@gnome.org>
Date: Mon, 23 Jan 2012 17:34:12 +0000
Subject: SoupHTTPInputStream: don't burn through GCancellable fds
--- libsoup/soup-http-input-stream.c.orig Tue Oct 18 03:26:25 2011
+++ libsoup/soup-http-input-stream.c Tue Feb 7 09:32:20 2012
@@ -45,7 +45,7 @@ typedef struct {
goffset offset;
GCancellable *cancellable;
- GSource *cancel_watch;
+ guint cancel_id;
SoupHTTPInputStreamCallback got_headers_cb;
SoupHTTPInputStreamCallback got_chunk_cb;
SoupHTTPInputStreamCallback finished_cb;
@@ -310,39 +310,34 @@ soup_http_input_stream_finished (SoupMessage *msg, gpo
priv->finished_cb (stream);
}
-static gboolean
-soup_http_input_stream_cancelled (GIOChannel *chan, GIOCondition condition,
- gpointer stream)
+static void
+soup_http_input_stream_cancelled (GCancellable *cancellable,
+ gpointer user_data)
{
+ SoupHTTPInputStream *stream = user_data;
SoupHTTPInputStreamPrivate *priv = SOUP_HTTP_INPUT_STREAM_GET_PRIVATE (stream);
- priv->cancel_watch = NULL;
+ g_signal_handler_disconnect (cancellable, priv->cancel_id);
+ priv->cancel_id = 0;
soup_session_pause_message (priv->session, priv->msg);
if (priv->cancelled_cb)
- priv->cancelled_cb (stream);
-
- return FALSE;
+ priv->cancelled_cb (G_INPUT_STREAM (stream));
}
static void
soup_http_input_stream_prepare_for_io (GInputStream *stream,
GCancellable *cancellable,
guchar *buffer,
- gsize count)
+ gsize count)
{
SoupHTTPInputStreamPrivate *priv = SOUP_HTTP_INPUT_STREAM_GET_PRIVATE (stream);
- int cancel_fd;
priv->cancellable = cancellable;
- cancel_fd = g_cancellable_get_fd (cancellable);
- if (cancel_fd != -1) {
- GIOChannel *chan = g_io_channel_unix_new (cancel_fd);
- priv->cancel_watch = soup_add_io_watch (priv->async_context, chan,
- G_IO_IN | G_IO_ERR | G_IO_HUP,
- soup_http_input_stream_cancelled,
- stream);
- g_io_channel_unref (chan);
+ if (cancellable) {
+ priv->cancel_id = g_signal_connect (cancellable, "cancelled",
+ G_CALLBACK (soup_http_input_stream_cancelled),
+ stream);
}
priv->caller_buffer = buffer;
@@ -358,10 +353,9 @@ soup_http_input_stream_done_io (GInputStream *stream)
{
SoupHTTPInputStreamPrivate *priv = SOUP_HTTP_INPUT_STREAM_GET_PRIVATE (stream);
- if (priv->cancel_watch) {
- g_source_destroy (priv->cancel_watch);
- priv->cancel_watch = NULL;
- g_cancellable_release_fd (priv->cancellable);
+ if (priv->cancel_id) {
+ g_signal_handler_disconnect (priv->cancellable, priv->cancel_id);
+ priv->cancel_id = 0;
}
priv->cancellable = NULL;