]> git.pld-linux.org Git - packages/bmpx.git/commitdiff
- port to libsoup 2.4
authorMarcin Banasiak <marcin.banasiak@gmail.com>
Sat, 15 Mar 2008 17:56:31 +0000 (17:56 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    bmpx-libsoup24.patch -> 1.1

bmpx-libsoup24.patch [new file with mode: 0644]

diff --git a/bmpx-libsoup24.patch b/bmpx-libsoup24.patch
new file mode 100644 (file)
index 0000000..c4152ef
--- /dev/null
@@ -0,0 +1,396 @@
+diff -up bmpx-0.40.13/configure.ac.libsoup24 bmpx-0.40.13/configure.ac
+--- bmpx-0.40.13/configure.ac.libsoup24        2007-10-18 19:17:17.000000000 +0200
++++ bmpx-0.40.13/configure.ac  2008-02-15 20:26:58.000000000 +0100
+@@ -240,8 +240,7 @@ AC_ARG_WITH([pkgconfig-dir],
+ AC_SUBST([pkgconfigdir])
+ # libsoup
+-PKG_CHECK_MODULES([SOUP], [libsoup-2.2 >= 2.2.100])
+-BMP_CHECK_SOUP_EXTERN_C
++PKG_CHECK_MODULES([SOUP], [libsoup-2.4 >= 2.3.0.1])
+ # sqlite
+ PKG_CHECK_MODULES([SQLITE], [sqlite3 >= 3.3])
+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
+--- bmpx-0.40.13/sentinel/beep-media-player-2-sentinel.cc.libsoup24    2007-10-18 19:17:06.000000000 +0200
++++ bmpx-0.40.13/sentinel/beep-media-player-2-sentinel.cc      2008-02-15 20:26:58.000000000 +0100
+@@ -68,13 +68,7 @@
+ #include <bmp/dbus.hh>
+ #include <src/paths.hh>
+-#ifndef LIBSOUP_HAS_EXTERN_C
+-G_BEGIN_DECLS
+-#endif
+ #include <libsoup/soup.h>
+-#ifndef LIBSOUP_HAS_EXTERN_C
+-G_END_DECLS
+-#endif
+ #define SERVER_NAME "beep-media-player.org"
+diff -up bmpx-0.40.13/src/minisoup.hh.libsoup24 bmpx-0.40.13/src/minisoup.hh
+--- bmpx-0.40.13/src/minisoup.hh.libsoup24     2007-10-18 19:17:08.000000000 +0200
++++ bmpx-0.40.13/src/minisoup.hh       2008-02-15 20:26:58.000000000 +0100
+@@ -33,13 +33,7 @@
+ #include <iostream>
+ #include <fstream>
+-#ifndef LIBSOUP_HAS_EXTERN_C
+-G_BEGIN_DECLS
+-# include <libsoup/soup.h>
+-G_END_DECLS
+-#else
+-# include <libsoup/soup.h>
+-#endif // !LIBSOUP_HAS_EXTERN_C
++#include <libsoup/soup.h>
+ namespace Bmp
+ {
+@@ -111,7 +105,7 @@ namespace Bmp
+         restarted (SoupMessage* /*message*/, gpointer /*data*/);
+         static void
+-        got_chunk (SoupMessage* /*message*/, gpointer /*data*/);
++        got_chunk (SoupMessage* /*message*/, SoupBuffer* /*chunk*/, gpointer /*data*/);
+         static void
+         got_content_length (SoupMessage* /*message*/, gpointer /*data*/);
+@@ -161,7 +155,7 @@ namespace Bmp
+         restarted (SoupMessage* /*message*/, gpointer /*data*/);
+         static void
+-        got_answer (SoupMessage* /*message*/, gpointer /*data*/);
++        got_answer (SoupSession* /*session*/, SoupMessage* /*message*/, gpointer /*data*/);
+     };
+@@ -224,10 +218,10 @@ namespace Bmp
+         restarted (SoupMessage* /*message*/, gpointer /*data*/);
+         static void
+-        got_answer (SoupMessage* /*message*/, gpointer /*data*/);
++        got_answer (SoupSession* /*session*/, SoupMessage* /*message*/, gpointer /*data*/);
+                    
+         static void
+-        got_chunk (SoupMessage* /*message*/, gpointer /*data*/);
++        got_chunk (SoupMessage* /*message*/, SoupBuffer* /*chunk*/, gpointer /*data*/);
+         static void
+         got_content_length (SoupMessage* /*message*/, gpointer /*data*/);
+diff -up bmpx-0.40.13/src/minisoup.cc.libsoup24 bmpx-0.40.13/src/minisoup.cc
+--- bmpx-0.40.13/src/minisoup.cc.libsoup24     2007-10-18 19:17:08.000000000 +0200
++++ bmpx-0.40.13/src/minisoup.cc       2008-02-15 20:26:58.000000000 +0100
+@@ -60,8 +60,8 @@ namespace Bmp
+     {
+       g_signal_connect (G_OBJECT (m_message), "got-chunk", G_CALLBACK (got_chunk), this);
+       g_signal_connect (G_OBJECT (m_message), "restarted", G_CALLBACK (restarted), this);
+-      soup_message_add_header_handler (m_message, "content-length", SOUP_HANDLER_PRE_BODY,
+-                                       SoupMessageCallbackFn (got_content_length), this);
++      soup_message_add_header_handler (m_message, "got-headers", "content-length",
++                                       G_CALLBACK (got_content_length), this);
+       return soup_session_send_message (m_session, m_message);
+     }
+   
+@@ -75,26 +75,26 @@ namespace Bmp
+     RequestSync::get_data ()
+     {
+       std::string buffer;
+-      buffer.append (m_message->response.body, m_message->response.length);
++      buffer.append (m_message->response_body->data, m_message->response_body->length);
+       return buffer;
+     }
+     void
+     RequestSync::get_data (std::string & buffer)
+     {
+-      buffer.append (m_message->response.body, m_message->response.length);
++      buffer.append (m_message->response_body->data, m_message->response_body->length);
+     }
+     char const*
+     RequestSync::get_data_raw ()
+     {
+-      return m_message->response.body;
++      return m_message->response_body->data;
+     }
+     guint
+     RequestSync::get_data_size ()
+     {
+-      return m_message->response.length;
++      return m_message->response_body->length;
+     }
+@@ -102,15 +102,15 @@ namespace Bmp
+     RequestSync::add_header (std::string const& name,
+                              std::string const& value) 
+     {
+-      soup_message_add_header (m_message->request_headers, name.c_str(), value.c_str());   
++      soup_message_headers_append (m_message->request_headers, name.c_str(), value.c_str());   
+     }
+     void
+     RequestSync::add_request (std::string const& type,
+                               std::string const& request)
+     {
+-      soup_message_set_request (m_message, type.c_str(), SOUP_BUFFER_SYSTEM_OWNED /* we can't rely on the std::string not being destroyed */,
+-        g_strdup (const_cast<char*>(request.c_str())), strlen (request.c_str()));
++      soup_message_set_request (m_message, type.c_str(), SOUP_MEMORY_COPY,
++        request.c_str(), strlen (request.c_str()));
+       m_post = true;
+     }
+@@ -125,11 +125,11 @@ namespace Bmp
+     }
+     void
+-    RequestSync::got_chunk (SoupMessage* message, gpointer data)
++    RequestSync::got_chunk (SoupMessage* message, SoupBuffer* chunk, gpointer data)
+     {
+       RequestSync & request = (*(reinterpret_cast<RequestSync*>(data)));
+-      request.m_read += message->response.length;
++      request.m_read += chunk->length;
+       double percent = (double (request.m_read) / double (request.m_size));
+       if(percent >= 0. && percent <= 1.)
+       {
+@@ -141,7 +141,7 @@ namespace Bmp
+     RequestSync::got_content_length (SoupMessage* message, gpointer data)
+     {
+       RequestSync & request = (*(reinterpret_cast<RequestSync*>(data)));
+-      request.m_size = g_ascii_strtoull (soup_message_get_header (message->response_headers, "content-length"), NULL, 10);
++      request.m_size = soup_message_headers_get_content_length (message->response_headers);
+     }
+@@ -180,17 +180,17 @@ namespace Bmp
+       return m_message->status_code;
+     }
+-    guint
+-    Request::message_status ()
+-    {
+-      return m_message->status;
+-    }
++    //guint
++    //Request::message_status ()
++    //{
++    //  return m_message->status;
++    //}
+     void
+     Request::run ()
+     {
+       g_signal_connect (G_OBJECT (m_message), "restarted", G_CALLBACK (restarted), this);
+-      soup_session_queue_message (m_session, m_message, SoupMessageCallbackFn (got_answer), this);
++      soup_session_queue_message (m_session, m_message, SoupSessionCallback (got_answer), this);
+     }
+     void
+@@ -199,9 +199,6 @@ namespace Bmp
+       if (G_IS_OBJECT(m_session))
+       {
+             soup_session_abort (m_session);
+-            //soup_message_set_status (m_message, SOUP_STATUS_CANCELLED);
+-            //soup_session_cancel_message (m_session, m_message);
+-            //m_message = 0;
+       }
+     }
+@@ -210,15 +207,15 @@ namespace Bmp
+     Request::add_header (std::string const& name,
+                          std::string const& value) 
+     {
+-      soup_message_add_header (m_message->request_headers, name.c_str(), value.c_str());   
++      soup_message_headers_append (m_message->request_headers, name.c_str(), value.c_str());   
+     }
+     void
+     Request::add_request (std::string const& type,
+                           std::string const& request)
+     {
+-      soup_message_set_request (m_message, type.c_str(), SOUP_BUFFER_SYSTEM_OWNED /* we can't rely on the std::string not being destroyed */,
+-        g_strdup (const_cast<char*>(request.c_str())), strlen (request.c_str()));
++      soup_message_set_request (m_message, type.c_str(), SOUP_MEMORY_COPY,
++        request.c_str(), strlen (request.c_str()));
+       m_post = true;
+     }
+@@ -230,7 +227,7 @@ namespace Bmp
+     }
+     void
+-    Request::got_answer (SoupMessage* message, gpointer data)
++    Request::got_answer (SoupSession* session, SoupMessage* message, gpointer data)
+     {
+       Request & request = (*(reinterpret_cast<Request*>(data)));
+@@ -241,15 +238,12 @@ namespace Bmp
+       if( block )
+         return;
+-      if( request.m_message->status != SOUP_MESSAGE_STATUS_FINISHED )
+-        return;
+-
+       //if( request.m_message->status_code == SOUP_STATUS_CANCELLED )
+         //return;
+       request.Signals.Callback.emit(
+-                                      request.m_message->response.body, 
+-                                      request.m_message->response.length,
++                                      request.m_message->response_body->data, 
++                                      request.m_message->response_body->length,
+                                       request.m_message->status_code
+                                     );
+     }
+@@ -269,6 +263,7 @@ namespace Bmp
+       m_session = soup_session_async_new ();
+       m_message = soup_message_new ("GET", m_url.c_str());
++      soup_message_set_flags (m_message, SOUP_MESSAGE_OVERWRITE_CHUNKS);
+     }
+     Glib::RefPtr<RequestFile>
+@@ -279,9 +274,9 @@ namespace Bmp
+     RequestFile::~RequestFile ()
+     {
+-      if (G_IS_OBJECT(m_message) && m_message->status == SOUP_MESSAGE_STATUS_RUNNING)
++      if (m_file.is_open())
+       {
+-            cancel ();
++          cancel ();
+             Signals.Aborted.emit ((boost::format (_("Download of file '%s' was cancelled prematurely!")) % filename_to_utf8 (m_filename).c_str()).str());
+       }
+       g_object_unref (m_session);
+@@ -316,9 +311,9 @@ namespace Bmp
+     {
+       g_signal_connect (G_OBJECT (m_message), "got-chunk", G_CALLBACK (got_chunk), this);
+       g_signal_connect (G_OBJECT (m_message), "restarted", G_CALLBACK (restarted), this);
+-      soup_message_add_header_handler (m_message, "content-length", SOUP_HANDLER_PRE_BODY,
+-                                       SoupMessageCallbackFn (got_content_length), this);
+-      soup_session_queue_message (m_session, m_message, SoupMessageCallbackFn (got_answer), this);
++      soup_message_add_header_handler (m_message, "got-headers", "content-length",
++                                       G_CALLBACK (got_content_length), this);
++      soup_session_queue_message (m_session, m_message, SoupSessionCallback (got_answer), this);
+       fileOpen ();
+     }
+@@ -327,8 +322,7 @@ namespace Bmp
+     {
+       if (G_IS_OBJECT(m_message))
+       {
+-            soup_message_set_status (m_message, SOUP_STATUS_CANCELLED);
+-            soup_session_cancel_message (m_session, m_message);
++            soup_session_cancel_message (m_session, m_message, SOUP_STATUS_CANCELLED);
+             m_message = 0;
+       }
+       
+@@ -340,7 +334,7 @@ namespace Bmp
+     RequestFile::add_header (std::string const& name,
+                              std::string const& value) 
+     {
+-      soup_message_add_header (m_message->request_headers, name.c_str(), value.c_str());   
++      soup_message_headers_append (m_message->request_headers, name.c_str(), value.c_str());   
+     }
+@@ -356,7 +350,7 @@ namespace Bmp
+     }
+     void
+-    RequestFile::got_answer (SoupMessage* message, gpointer data)
++    RequestFile::got_answer (SoupSession* session, SoupMessage* message, gpointer data)
+     {
+       RequestFile & request = (*(reinterpret_cast<RequestFile*>(data)));
+       
+@@ -368,25 +362,22 @@ namespace Bmp
+         return;
+       }
+-      if( request.m_message->status != SOUP_MESSAGE_STATUS_FINISHED )
+-        return;
+-
+       if( request.m_message->status_code == SOUP_STATUS_CANCELLED)
+         return;
+-      debug("soup","%s: status: %d, status_code: %d", G_STRLOC, request.m_message->status, request.m_message->status_code);
++      debug("soup","%s: status_code: %d", G_STRLOC, request.m_message->status_code);
+       
+       request.fileClose ();
+       request.Signals.Done.emit (request.m_filename);
+     }
+     void
+-    RequestFile::got_chunk (SoupMessage* message, gpointer data)
++    RequestFile::got_chunk (SoupMessage* message, SoupBuffer* chunk, gpointer data)
+     {
+       RequestFile & request = (*(reinterpret_cast<RequestFile*>(data)));
+-      request.m_file.write (message->response.body, message->response.length);
+-      request.m_read += message->response.length;
++      request.m_file.write (chunk->data, chunk->length);
++      request.m_read += chunk->length;
+       double percent = (double (request.m_read) / double (request.m_size));
+       if(percent >= 0. && percent <= 1.)
+@@ -399,7 +390,7 @@ namespace Bmp
+     RequestFile::got_content_length (SoupMessage* message, gpointer data)
+     {
+       RequestFile & request = (*(reinterpret_cast<RequestFile*>(data)));
+-      request.m_size = g_ascii_strtoull (soup_message_get_header (message->response_headers, "content-length"), NULL, 10);
++      request.m_size = soup_message_headers_get_content_length (message->response_headers);
+     }
+   }
+ }
+diff -up bmpx-0.40.13/README.libsoup24 bmpx-0.40.13/README
+--- bmpx-0.40.13/README.libsoup24      2007-10-18 19:17:17.000000000 +0200
++++ bmpx-0.40.13/README        2008-02-15 20:26:58.000000000 +0100
+@@ -16,7 +16,7 @@ Requirements:
+   * libglademm-2.4          >= 2.6.2
+   * libsexymm               >= 0.1.9
+   * librsvg                 >= 2.14.0
+-  * libsoup                 >= 2.2.100
++  * libsoup                 >= 2.3.0.1
+   * libofa                  >= 0.9.3
+   * sqlite                  >= 3.3.11
+   * libxml                  >= 2.6.1
+diff -up bmpx-0.40.13/m4/soup.m4.libsoup24 bmpx-0.40.13/m4/soup.m4
+--- bmpx-0.40.13/m4/soup.m4.libsoup24  2007-10-18 19:17:06.000000000 +0200
++++ bmpx-0.40.13/m4/soup.m4    2008-02-15 20:26:58.000000000 +0100
+@@ -1,4 +1,34 @@
+ dnl -*- Mode: Autoconf; -*-
++dnl -*- Mode: Autoconf; -*-
++
++AC_DEFUN([BMP_CHECK_SOUP_EXTERN_C],
++[
++      CPPFLAGS_SAVED="$CPPFLAGS"
++      CPPFLAGS="$CPPFLAGS $SOUP_CFLAGS"
++      export CPPFLAGS
++
++      LDFLAGS_SAVED="$LDFLAGS"
++      LDFLAGS="$LDFLAGS $SOUP_LDFLAGS"
++      export LDFLAGS
++
++      AC_MSG_CHECKING(for extern in libsoup headers)
++
++      AC_LANG_PUSH(C++)
++      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
++      @%:@include <libsoup/soup.h>
++      ]], [[
++      SoupSession * session = soup_session_sync_new ();
++      ]])],[
++      AC_MSG_RESULT(no)
++      ],[
++      AC_MSG_RESULT(yes)
++      AC_DEFINE(LIBSOUP_HAS_EXTERN_C,,[define if libsoup has extern c])
++      ])
++      AC_LANG_POP([C++])
++
++      CPPFLAGS="$CPPFLAGS_SAVED"
++      LDFLAGS="$LDFLAGS_SAVED"
++])
+ AC_DEFUN([BMP_CHECK_SOUP_EXTERN_C],
+ [
This page took 0.1171 seconds and 4 git commands to generate.