]> git.pld-linux.org Git - packages/bmpx.git/blame - bmpx-libsoup24.patch
- updated gettext BR
[packages/bmpx.git] / bmpx-libsoup24.patch
CommitLineData
8808173d
MB
1diff -up bmpx-0.40.13/configure.ac.libsoup24 bmpx-0.40.13/configure.ac
2--- bmpx-0.40.13/configure.ac.libsoup24 2007-10-18 19:17:17.000000000 +0200
3+++ bmpx-0.40.13/configure.ac 2008-02-15 20:26:58.000000000 +0100
4@@ -240,8 +240,7 @@ AC_ARG_WITH([pkgconfig-dir],
5 AC_SUBST([pkgconfigdir])
6
7 # libsoup
8-PKG_CHECK_MODULES([SOUP], [libsoup-2.2 >= 2.2.100])
9-BMP_CHECK_SOUP_EXTERN_C
10+PKG_CHECK_MODULES([SOUP], [libsoup-2.4 >= 2.3.0.1])
11
12 # sqlite
13 PKG_CHECK_MODULES([SQLITE], [sqlite3 >= 3.3])
14diff -up bmpx-0.40.13/sentinel/beep-media-player-2-sentinel.cc.libsoup24 bmpx-0.40.13/sentinel/beep-media-player-2-sentinel.cc
15--- bmpx-0.40.13/sentinel/beep-media-player-2-sentinel.cc.libsoup24 2007-10-18 19:17:06.000000000 +0200
16+++ bmpx-0.40.13/sentinel/beep-media-player-2-sentinel.cc 2008-02-15 20:26:58.000000000 +0100
17@@ -68,13 +68,7 @@
18 #include <bmp/dbus.hh>
19 #include <src/paths.hh>
20
21-#ifndef LIBSOUP_HAS_EXTERN_C
22-G_BEGIN_DECLS
23-#endif
24 #include <libsoup/soup.h>
25-#ifndef LIBSOUP_HAS_EXTERN_C
26-G_END_DECLS
27-#endif
28
29 #define SERVER_NAME "beep-media-player.org"
30
31diff -up bmpx-0.40.13/src/minisoup.hh.libsoup24 bmpx-0.40.13/src/minisoup.hh
32--- bmpx-0.40.13/src/minisoup.hh.libsoup24 2007-10-18 19:17:08.000000000 +0200
33+++ bmpx-0.40.13/src/minisoup.hh 2008-02-15 20:26:58.000000000 +0100
34@@ -33,13 +33,7 @@
35 #include <iostream>
36 #include <fstream>
37
38-#ifndef LIBSOUP_HAS_EXTERN_C
39-G_BEGIN_DECLS
40-# include <libsoup/soup.h>
41-G_END_DECLS
42-#else
43-# include <libsoup/soup.h>
44-#endif // !LIBSOUP_HAS_EXTERN_C
45+#include <libsoup/soup.h>
46
47 namespace Bmp
48 {
49@@ -111,7 +105,7 @@ namespace Bmp
50 restarted (SoupMessage* /*message*/, gpointer /*data*/);
51
52 static void
53- got_chunk (SoupMessage* /*message*/, gpointer /*data*/);
54+ got_chunk (SoupMessage* /*message*/, SoupBuffer* /*chunk*/, gpointer /*data*/);
55
56 static void
57 got_content_length (SoupMessage* /*message*/, gpointer /*data*/);
58@@ -161,7 +155,7 @@ namespace Bmp
59 restarted (SoupMessage* /*message*/, gpointer /*data*/);
60
61 static void
62- got_answer (SoupMessage* /*message*/, gpointer /*data*/);
63+ got_answer (SoupSession* /*session*/, SoupMessage* /*message*/, gpointer /*data*/);
64 };
65
66
67@@ -224,10 +218,10 @@ namespace Bmp
68 restarted (SoupMessage* /*message*/, gpointer /*data*/);
69
70 static void
71- got_answer (SoupMessage* /*message*/, gpointer /*data*/);
72+ got_answer (SoupSession* /*session*/, SoupMessage* /*message*/, gpointer /*data*/);
73
74 static void
75- got_chunk (SoupMessage* /*message*/, gpointer /*data*/);
76+ got_chunk (SoupMessage* /*message*/, SoupBuffer* /*chunk*/, gpointer /*data*/);
77
78 static void
79 got_content_length (SoupMessage* /*message*/, gpointer /*data*/);
80diff -up bmpx-0.40.13/src/minisoup.cc.libsoup24 bmpx-0.40.13/src/minisoup.cc
81--- bmpx-0.40.13/src/minisoup.cc.libsoup24 2007-10-18 19:17:08.000000000 +0200
82+++ bmpx-0.40.13/src/minisoup.cc 2008-02-15 20:26:58.000000000 +0100
83@@ -60,8 +60,8 @@ namespace Bmp
84 {
85 g_signal_connect (G_OBJECT (m_message), "got-chunk", G_CALLBACK (got_chunk), this);
86 g_signal_connect (G_OBJECT (m_message), "restarted", G_CALLBACK (restarted), this);
87- soup_message_add_header_handler (m_message, "content-length", SOUP_HANDLER_PRE_BODY,
88- SoupMessageCallbackFn (got_content_length), this);
89+ soup_message_add_header_handler (m_message, "got-headers", "content-length",
90+ G_CALLBACK (got_content_length), this);
91 return soup_session_send_message (m_session, m_message);
92 }
93
94@@ -75,26 +75,26 @@ namespace Bmp
95 RequestSync::get_data ()
96 {
97 std::string buffer;
98- buffer.append (m_message->response.body, m_message->response.length);
99+ buffer.append (m_message->response_body->data, m_message->response_body->length);
100 return buffer;
101 }
102
103 void
104 RequestSync::get_data (std::string & buffer)
105 {
106- buffer.append (m_message->response.body, m_message->response.length);
107+ buffer.append (m_message->response_body->data, m_message->response_body->length);
108 }
109
110 char const*
111 RequestSync::get_data_raw ()
112 {
113- return m_message->response.body;
114+ return m_message->response_body->data;
115 }
116
117 guint
118 RequestSync::get_data_size ()
119 {
120- return m_message->response.length;
121+ return m_message->response_body->length;
122 }
123
124
125@@ -102,15 +102,15 @@ namespace Bmp
126 RequestSync::add_header (std::string const& name,
127 std::string const& value)
128 {
129- soup_message_add_header (m_message->request_headers, name.c_str(), value.c_str());
130+ soup_message_headers_append (m_message->request_headers, name.c_str(), value.c_str());
131 }
132
133 void
134 RequestSync::add_request (std::string const& type,
135 std::string const& request)
136 {
137- soup_message_set_request (m_message, type.c_str(), SOUP_BUFFER_SYSTEM_OWNED /* we can't rely on the std::string not being destroyed */,
138- g_strdup (const_cast<char*>(request.c_str())), strlen (request.c_str()));
139+ soup_message_set_request (m_message, type.c_str(), SOUP_MEMORY_COPY,
140+ request.c_str(), strlen (request.c_str()));
141 m_post = true;
142 }
143
144@@ -125,11 +125,11 @@ namespace Bmp
145 }
146
147 void
148- RequestSync::got_chunk (SoupMessage* message, gpointer data)
149+ RequestSync::got_chunk (SoupMessage* message, SoupBuffer* chunk, gpointer data)
150 {
151 RequestSync & request = (*(reinterpret_cast<RequestSync*>(data)));
152
153- request.m_read += message->response.length;
154+ request.m_read += chunk->length;
155 double percent = (double (request.m_read) / double (request.m_size));
156 if(percent >= 0. && percent <= 1.)
157 {
158@@ -141,7 +141,7 @@ namespace Bmp
159 RequestSync::got_content_length (SoupMessage* message, gpointer data)
160 {
161 RequestSync & request = (*(reinterpret_cast<RequestSync*>(data)));
162- request.m_size = g_ascii_strtoull (soup_message_get_header (message->response_headers, "content-length"), NULL, 10);
163+ request.m_size = soup_message_headers_get_content_length (message->response_headers);
164 }
165
166
167@@ -180,17 +180,17 @@ namespace Bmp
168 return m_message->status_code;
169 }
170
171- guint
172- Request::message_status ()
173- {
174- return m_message->status;
175- }
176+ //guint
177+ //Request::message_status ()
178+ //{
179+ // return m_message->status;
180+ //}
181
182 void
183 Request::run ()
184 {
185 g_signal_connect (G_OBJECT (m_message), "restarted", G_CALLBACK (restarted), this);
186- soup_session_queue_message (m_session, m_message, SoupMessageCallbackFn (got_answer), this);
187+ soup_session_queue_message (m_session, m_message, SoupSessionCallback (got_answer), this);
188 }
189
190 void
191@@ -199,9 +199,6 @@ namespace Bmp
192 if (G_IS_OBJECT(m_session))
193 {
194 soup_session_abort (m_session);
195- //soup_message_set_status (m_message, SOUP_STATUS_CANCELLED);
196- //soup_session_cancel_message (m_session, m_message);
197- //m_message = 0;
198 }
199 }
200
201@@ -210,15 +207,15 @@ namespace Bmp
202 Request::add_header (std::string const& name,
203 std::string const& value)
204 {
205- soup_message_add_header (m_message->request_headers, name.c_str(), value.c_str());
206+ soup_message_headers_append (m_message->request_headers, name.c_str(), value.c_str());
207 }
208
209 void
210 Request::add_request (std::string const& type,
211 std::string const& request)
212 {
213- soup_message_set_request (m_message, type.c_str(), SOUP_BUFFER_SYSTEM_OWNED /* we can't rely on the std::string not being destroyed */,
214- g_strdup (const_cast<char*>(request.c_str())), strlen (request.c_str()));
215+ soup_message_set_request (m_message, type.c_str(), SOUP_MEMORY_COPY,
216+ request.c_str(), strlen (request.c_str()));
217 m_post = true;
218 }
219
220@@ -230,7 +227,7 @@ namespace Bmp
221 }
222
223 void
224- Request::got_answer (SoupMessage* message, gpointer data)
225+ Request::got_answer (SoupSession* session, SoupMessage* message, gpointer data)
226 {
227 Request & request = (*(reinterpret_cast<Request*>(data)));
228
229@@ -241,15 +238,12 @@ namespace Bmp
230 if( block )
231 return;
232
233- if( request.m_message->status != SOUP_MESSAGE_STATUS_FINISHED )
234- return;
235-
236 //if( request.m_message->status_code == SOUP_STATUS_CANCELLED )
237 //return;
238
239 request.Signals.Callback.emit(
240- request.m_message->response.body,
241- request.m_message->response.length,
242+ request.m_message->response_body->data,
243+ request.m_message->response_body->length,
244 request.m_message->status_code
245 );
246 }
247@@ -269,6 +263,7 @@ namespace Bmp
248
249 m_session = soup_session_async_new ();
250 m_message = soup_message_new ("GET", m_url.c_str());
251+ soup_message_set_flags (m_message, SOUP_MESSAGE_OVERWRITE_CHUNKS);
252 }
253
254 Glib::RefPtr<RequestFile>
255@@ -279,9 +274,9 @@ namespace Bmp
256
257 RequestFile::~RequestFile ()
258 {
259- if (G_IS_OBJECT(m_message) && m_message->status == SOUP_MESSAGE_STATUS_RUNNING)
260+ if (m_file.is_open())
261 {
262- cancel ();
263+ cancel ();
264 Signals.Aborted.emit ((boost::format (_("Download of file '%s' was cancelled prematurely!")) % filename_to_utf8 (m_filename).c_str()).str());
265 }
266 g_object_unref (m_session);
267@@ -316,9 +311,9 @@ namespace Bmp
268 {
269 g_signal_connect (G_OBJECT (m_message), "got-chunk", G_CALLBACK (got_chunk), this);
270 g_signal_connect (G_OBJECT (m_message), "restarted", G_CALLBACK (restarted), this);
271- soup_message_add_header_handler (m_message, "content-length", SOUP_HANDLER_PRE_BODY,
272- SoupMessageCallbackFn (got_content_length), this);
273- soup_session_queue_message (m_session, m_message, SoupMessageCallbackFn (got_answer), this);
274+ soup_message_add_header_handler (m_message, "got-headers", "content-length",
275+ G_CALLBACK (got_content_length), this);
276+ soup_session_queue_message (m_session, m_message, SoupSessionCallback (got_answer), this);
277 fileOpen ();
278 }
279
280@@ -327,8 +322,7 @@ namespace Bmp
281 {
282 if (G_IS_OBJECT(m_message))
283 {
284- soup_message_set_status (m_message, SOUP_STATUS_CANCELLED);
285- soup_session_cancel_message (m_session, m_message);
286+ soup_session_cancel_message (m_session, m_message, SOUP_STATUS_CANCELLED);
287 m_message = 0;
288 }
289
290@@ -340,7 +334,7 @@ namespace Bmp
291 RequestFile::add_header (std::string const& name,
292 std::string const& value)
293 {
294- soup_message_add_header (m_message->request_headers, name.c_str(), value.c_str());
295+ soup_message_headers_append (m_message->request_headers, name.c_str(), value.c_str());
296 }
297
298
299@@ -356,7 +350,7 @@ namespace Bmp
300 }
301
302 void
303- RequestFile::got_answer (SoupMessage* message, gpointer data)
304+ RequestFile::got_answer (SoupSession* session, SoupMessage* message, gpointer data)
305 {
306 RequestFile & request = (*(reinterpret_cast<RequestFile*>(data)));
307
308@@ -368,25 +362,22 @@ namespace Bmp
309 return;
310 }
311
312- if( request.m_message->status != SOUP_MESSAGE_STATUS_FINISHED )
313- return;
314-
315 if( request.m_message->status_code == SOUP_STATUS_CANCELLED)
316 return;
317
318- debug("soup","%s: status: %d, status_code: %d", G_STRLOC, request.m_message->status, request.m_message->status_code);
319+ debug("soup","%s: status_code: %d", G_STRLOC, request.m_message->status_code);
320
321 request.fileClose ();
322 request.Signals.Done.emit (request.m_filename);
323 }
324
325 void
326- RequestFile::got_chunk (SoupMessage* message, gpointer data)
327+ RequestFile::got_chunk (SoupMessage* message, SoupBuffer* chunk, gpointer data)
328 {
329 RequestFile & request = (*(reinterpret_cast<RequestFile*>(data)));
330
331- request.m_file.write (message->response.body, message->response.length);
332- request.m_read += message->response.length;
333+ request.m_file.write (chunk->data, chunk->length);
334+ request.m_read += chunk->length;
335
336 double percent = (double (request.m_read) / double (request.m_size));
337 if(percent >= 0. && percent <= 1.)
338@@ -399,7 +390,7 @@ namespace Bmp
339 RequestFile::got_content_length (SoupMessage* message, gpointer data)
340 {
341 RequestFile & request = (*(reinterpret_cast<RequestFile*>(data)));
342- request.m_size = g_ascii_strtoull (soup_message_get_header (message->response_headers, "content-length"), NULL, 10);
343+ request.m_size = soup_message_headers_get_content_length (message->response_headers);
344 }
345 }
346 }
347diff -up bmpx-0.40.13/README.libsoup24 bmpx-0.40.13/README
348--- bmpx-0.40.13/README.libsoup24 2007-10-18 19:17:17.000000000 +0200
349+++ bmpx-0.40.13/README 2008-02-15 20:26:58.000000000 +0100
350@@ -16,7 +16,7 @@ Requirements:
351 * libglademm-2.4 >= 2.6.2
352 * libsexymm >= 0.1.9
353 * librsvg >= 2.14.0
354- * libsoup >= 2.2.100
355+ * libsoup >= 2.3.0.1
356 * libofa >= 0.9.3
357 * sqlite >= 3.3.11
358 * libxml >= 2.6.1
359diff -up bmpx-0.40.13/m4/soup.m4.libsoup24 bmpx-0.40.13/m4/soup.m4
360--- bmpx-0.40.13/m4/soup.m4.libsoup24 2007-10-18 19:17:06.000000000 +0200
361+++ bmpx-0.40.13/m4/soup.m4 2008-02-15 20:26:58.000000000 +0100
362@@ -1,4 +1,34 @@
363 dnl -*- Mode: Autoconf; -*-
364+dnl -*- Mode: Autoconf; -*-
365+
366+AC_DEFUN([BMP_CHECK_SOUP_EXTERN_C],
367+[
368+ CPPFLAGS_SAVED="$CPPFLAGS"
369+ CPPFLAGS="$CPPFLAGS $SOUP_CFLAGS"
370+ export CPPFLAGS
371+
372+ LDFLAGS_SAVED="$LDFLAGS"
373+ LDFLAGS="$LDFLAGS $SOUP_LDFLAGS"
374+ export LDFLAGS
375+
376+ AC_MSG_CHECKING(for extern in libsoup headers)
377+
378+ AC_LANG_PUSH(C++)
379+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
380+ @%:@include <libsoup/soup.h>
381+ ]], [[
382+ SoupSession * session = soup_session_sync_new ();
383+ ]])],[
384+ AC_MSG_RESULT(no)
385+ ],[
386+ AC_MSG_RESULT(yes)
387+ AC_DEFINE(LIBSOUP_HAS_EXTERN_C,,[define if libsoup has extern c])
388+ ])
389+ AC_LANG_POP([C++])
390+
391+ CPPFLAGS="$CPPFLAGS_SAVED"
392+ LDFLAGS="$LDFLAGS_SAVED"
393+])
394
395 AC_DEFUN([BMP_CHECK_SOUP_EXTERN_C],
396 [
This page took 0.09001 seconds and 4 git commands to generate.