]> git.pld-linux.org Git - packages/bmpx.git/blob - bmpx-libsoup24.patch
- updated gettext BR
[packages/bmpx.git] / bmpx-libsoup24.patch
1 diff -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])
14 diff -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  
31 diff -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*/);
80 diff -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  }
347 diff -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
359 diff -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.083462 seconds and 3 git commands to generate.