diff options
author | 2009-09-06 21:54:44 +0000 | |
---|---|---|
committer | 2009-09-06 21:54:44 +0000 | |
commit | c7977add6ee381e02e338fda41320716d7ad91a1 (patch) | |
tree | 1d6b8abd286613162d0852c7bb670d06e1935b99 /dev-libs/libtranslate | |
parent | fix typo (diff) | |
download | historical-c7977add6ee381e02e338fda41320716d7ad91a1.tar.gz historical-c7977add6ee381e02e338fda41320716d7ad91a1.tar.bz2 historical-c7977add6ee381e02e338fda41320716d7ad91a1.zip |
Adding patch to build against net-libs/libsoup:2.4
Package-Manager: portage-2.1.6.13/cvs/Linux i686
Diffstat (limited to 'dev-libs/libtranslate')
-rw-r--r-- | dev-libs/libtranslate/ChangeLog | 8 | ||||
-rw-r--r-- | dev-libs/libtranslate/Manifest | 5 | ||||
-rw-r--r-- | dev-libs/libtranslate/files/libtranslate-0.99-libsoup24.diff | 533 | ||||
-rw-r--r-- | dev-libs/libtranslate/libtranslate-0.99.ebuild | 18 |
4 files changed, 554 insertions, 10 deletions
diff --git a/dev-libs/libtranslate/ChangeLog b/dev-libs/libtranslate/ChangeLog index 24e122715a7e..580078a8a5d3 100644 --- a/dev-libs/libtranslate/ChangeLog +++ b/dev-libs/libtranslate/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for dev-libs/libtranslate -# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libtranslate/ChangeLog,v 1.6 2008/05/05 15:07:37 drac Exp $ +# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/libtranslate/ChangeLog,v 1.7 2009/09/06 21:54:44 vostorga Exp $ + + 06 Sep 2009; VĂctor Ostorga <vostorga@gentoo.org> + libtranslate-0.99.ebuild, +files/libtranslate-0.99-libsoup24.diff: + Adding patch to build against net-libs/libsoup:2.4 05 May 2008; Samuli Suominen <drac@gentoo.org> libtranslate-0.99.ebuild: Move pkgconfig to DEPEND wrt #217278. diff --git a/dev-libs/libtranslate/Manifest b/dev-libs/libtranslate/Manifest index e3fc8ecf64b2..6f897e1e90b3 100644 --- a/dev-libs/libtranslate/Manifest +++ b/dev-libs/libtranslate/Manifest @@ -1,8 +1,9 @@ AUX libtranslate-0.99-charsetparse.diff 1551 RMD160 13ef2724dd6f16b565240fb3ed159bdf5a61afa2 SHA1 e45d8d608241cec6010ae2c62e5be908073c91fc SHA256 e1af8665554f05040894652ffd21854efc1796654de684bd9686c1e0b8d8923b AUX libtranslate-0.99-condfix.diff 1058 RMD160 0e4c115440f9c31abaa6e73da81c06a2e4d08138 SHA1 fe2886d829fc8929d50e145b62e67429fa9bb664 SHA256 8eb95ac1112b6074870564e3bff7a396f375b0dfc87346b7d084dc95801d4946 AUX libtranslate-0.99-int64.diff 557 RMD160 4f8e4982ccfe8535ed5404b9895be2f2a31fded8 SHA1 e83276473f9fe0a73ae6a5a76b2dc4e6b329cbad SHA256 6857bbc91d8e346cd342ecb486f0787edcbb613d071be024edaff007bc5e0066 +AUX libtranslate-0.99-libsoup24.diff 18353 RMD160 ce2cecbc767e22cbad9ba85f96753228b0766146 SHA1 81c33045701f3a34f4d9bc20e3ff68875f48e7a3 SHA256 81614ed56cd803f98fc7bbbadec04b6c930634d618975d2a97d3ccb59cc2d68d AUX libtranslate-0.99-man-page.diff 692 RMD160 cfacc90a868281229e5cc701b0ae055a65a2cd8a SHA1 f177dbb4e7254519176e5583e62019cf4e76b455 SHA256 9b42fb784cdfd50a319a83de7c77a487dc481021324c71fba2c51e5787861a3e DIST libtranslate-0.99.tar.gz 532516 RMD160 a6776a45b6e60b38a308809973676d6b7da44fbf SHA1 d9c681bc2726d2a459ac698b08786c81932e4057 SHA256 4b2becb139e51663022d9531c430ebcc81d8b26edc73f6ddc05707ff9950eb34 -EBUILD libtranslate-0.99.ebuild 1076 RMD160 60f17f34cafbd53280b635b5010a728b01644403 SHA1 8c72c47de418d1af46df90011ef872e2c6b73f17 SHA256 7a4a8c9734b9420863f94df6477ab5cb566a459006f510a46030bd95d5427414 -MISC ChangeLog 1285 RMD160 233b97ba1977066752241232dd63374761c05a5b SHA1 7acd753594d22e07a4cd0fbc8fcb154c60d72a37 SHA256 a602b6516c865e31acc23cd0d31652a67b1a5eadb61f2df166f8325bc28dc76d +EBUILD libtranslate-0.99.ebuild 1302 RMD160 d5037b9da6b41a4f65f9adb1ced219de92dedf6b SHA1 63227fcc1c90fb5e34c46193b4561958eb49ff3e SHA256 8fef4a89b377453dd0ace8263062e8338e6947f4742fda8b94d74f6f29be20ec +MISC ChangeLog 1465 RMD160 0ae0d6290c4e1d8be54adddedd07ba957b48ec49 SHA1 b7d49b14aed97f79a4c8686da7b2ac8725680925 SHA256 56203cc8377a8b72be5c281419257911a20af62636b435029ef6627dd111c97c MISC metadata.xml 945 RMD160 1992a1a6d2602c1b93752aa24362a315eb0a8f8e SHA1 c125453cf80a6a9910cd5b76937fd829cea52360 SHA256 7923542a557898ae45ed77a4be9a6e429a711381f47254ca842acdc1bebe52e3 diff --git a/dev-libs/libtranslate/files/libtranslate-0.99-libsoup24.diff b/dev-libs/libtranslate/files/libtranslate-0.99-libsoup24.diff new file mode 100644 index 000000000000..94b7cb443a10 --- /dev/null +++ b/dev-libs/libtranslate/files/libtranslate-0.99-libsoup24.diff @@ -0,0 +1,533 @@ +diff -ur libtranslate-0.99.orig/configure.ac libtranslate-0.99/configure.ac +--- libtranslate-0.99.orig/configure.ac 2005-01-15 11:24:12.000000000 -0500 ++++ libtranslate-0.99/configure.ac 2008-01-28 18:44:18.000000000 -0500 +@@ -50,7 +50,11 @@ + ### optional libraries + + if TRANSLATE_FEATURE_ENABLED(generic); then +- PKG_CHECK_MODULES(SOUP, [libsoup-2.2],, [TRANSLATE_FEATURE_DISABLE(generic, [libsoup not found])]) ++ PKG_CHECK_MODULES(SOUP, [libsoup-2.4], ++ [AC_DEFINE(HAVE_LIBSOUP24, 1, [Building with libsoup 2.4])], ++ [PKG_CHECK_MODULES(SOUP, [libsoup-2.2], ++ [AC_DEFINE(HAVE_LIBSOUP22, 1, [Building with libsoup 2.2])], ++ [TRANSLATE_FEATURE_DISABLE(generic, [libsoup not found])])]) + fi + if TRANSLATE_FEATURE_ENABLED(generic); then + PKG_CHECK_MODULES(LIBXML, [libxml-2.0],, [TRANSLATE_FEATURE_DISABLE(generic, [libxml not found])]) +diff -ur libtranslate-0.99.orig/config.h.in libtranslate-0.99/config.h.in +--- libtranslate-0.99.orig/config.h.in 2005-01-17 12:06:58.000000000 -0500 ++++ libtranslate-0.99/config.h.in 2008-01-28 18:45:19.000000000 -0500 +@@ -24,6 +24,12 @@ + /* Define if your <locale.h> file defines LC_MESSAGES. */ + #undef HAVE_LC_MESSAGES + ++/* Building with libsoup 2.2 */ ++#undef HAVE_LIBSOUP22 ++ ++/* Building with libsoup 2.4 */ ++#undef HAVE_LIBSOUP24 ++ + /* Define to 1 if you have the <locale.h> header file. */ + #undef HAVE_LOCALE_H + +diff -ur libtranslate-0.99.orig/src/modules/translate-generic-service.c libtranslate-0.99/src/modules/translate-generic-service.c +--- libtranslate-0.99.orig/src/modules/translate-generic-service.c 2008-01-28 19:34:27.000000000 -0500 ++++ libtranslate-0.99/src/modules/translate-generic-service.c 2008-01-30 09:50:35.000000000 -0500 +@@ -35,7 +35,9 @@ + #include <stdlib.h> + #include <glib/gi18n-lib.h> + #include <libsoup/soup.h> ++#ifdef HAVE_LIBSOUP22 + #include <libsoup/soup-message-filter.h> ++#endif + #include <libxml/HTMLparser.h> + #include "translate.h" + #include "translate-generic-service.h" +@@ -43,6 +45,17 @@ + #include "translate-generic-parser.h" + #include "translate-generic-soup-cookie-jar.h" + ++#ifdef HAVE_LIBSOUP22 ++#define soup_message_headers_get soup_message_get_header ++#define soup_message_headers_append soup_message_add_header ++#define SoupURI SoupUri ++#define SOUP_MESSAGE_RESPONSE_BODY(msg) ((msg)->response.body) ++#define SOUP_MESSAGE_RESPONSE_LENGTH(msg) ((msg)->response.length) ++#else ++#define SOUP_MESSAGE_RESPONSE_BODY(msg) ((msg)->response_body->data) ++#define SOUP_MESSAGE_RESPONSE_LENGTH(msg) ((msg)->response_body->length) ++#endif ++ + #define MAKE_WARNING_PREFIX(service, group_pos, attribute, element) \ + g_strdup_printf(_("in %s, group %i, \"%s\" attribute of \"%s\" element"), \ + translate_service_get_name((service)), \ +@@ -140,6 +153,7 @@ + const char *name); + + static void translate_generic_service_log_connect (SoupMessage *message); ++#ifdef HAVE_LIBSOUP22 + static void translate_generic_service_log_wrote_headers_h (SoupMessage *message, + gpointer user_data); + static void translate_generic_service_log_wrote_body_h (SoupMessage *message, +@@ -151,10 +165,20 @@ + static void translate_generic_service_log_headers_cb (const char *key, + const char *value, + gpointer user_data); ++#else ++static void translate_generic_service_log_printer (SoupLogger *logger, ++ SoupLoggerLogLevel level, ++ char direction, ++ const char *data, ++ gpointer user_data); ++#endif + + static void translate_generic_service_progress_got_headers_h (SoupMessage *message, + gpointer user_data); + static void translate_generic_service_progress_got_chunk_h (SoupMessage *message, ++#ifdef HAVE_LIBSOUP24 ++ SoupBuffer *chunk, ++#endif + gpointer user_data); + + static void translate_generic_service_html_got_headers_h (SoupMessage *message, +@@ -170,8 +194,10 @@ + static void translate_generic_service_refresh_got_body_h (SoupMessage *message, + gpointer user_data); + ++#ifdef HAVE_LIBSOUP22 + static void translate_generic_service_redirect_handler (SoupMessage *message, + gpointer user_data); ++#endif + + static char *translate_generic_service_translate_text (TranslateService *service, + const char *text, +@@ -419,7 +445,11 @@ + g_return_val_if_fail(post_content_type != NULL, NULL); + soup_message_set_request(message, + post_content_type, ++#ifdef HAVE_LIBSOUP22 + SOUP_BUFFER_USER_OWNED, ++#else ++ SOUP_MEMORY_TEMPORARY, ++#endif + (char *) post, + strlen(post)); + } +@@ -427,7 +457,7 @@ + for (l = headers; l != NULL; l = l->next) + { + TranslateGenericHttpHeader *header = l->data; +- soup_message_add_header(message->request_headers, header->name, header->value); ++ soup_message_headers_append(message->request_headers, header->name, header->value); + } + + info.session = translate_generic_service_soup_session_sync_new(); +@@ -435,12 +465,21 @@ + info.html_http_equiv = NULL; + + if (translate_generic_debug_flags & TRANSLATE_GENERIC_DEBUG_LOG_TRANSFERS) +- g_object_connect(message, +- "signal::wrote-headers", translate_generic_service_log_wrote_headers_h, &info, +- "signal::wrote-body", translate_generic_service_log_wrote_body_h, &info, +- "signal::got-headers", translate_generic_service_log_got_headers_h, &info, +- "signal::got-body", translate_generic_service_log_got_body_h, &info, +- NULL); ++ { ++#ifdef HAVE_LIBSOUP22 ++ g_object_connect(message, ++ "signal::wrote-headers", translate_generic_service_log_wrote_headers_h, &info, ++ "signal::wrote-body", translate_generic_service_log_wrote_body_h, &info, ++ "signal::got-headers", translate_generic_service_log_got_headers_h, &info, ++ "signal::got-body", translate_generic_service_log_got_body_h, &info, ++ NULL); ++#else ++ SoupLogger *logger = soup_logger_new (SOUP_LOGGER_LOG_BODY, -1); ++ soup_logger_set_printer (logger, translate_generic_service_log_printer, NULL, NULL); ++ soup_logger_attach (logger, info.session); ++ g_object_unref (logger); ++#endif ++ } + + if (progress_func) + { +@@ -468,6 +507,7 @@ + if (flags & TRANSFER_FOLLOW_REFRESH) + g_signal_connect(message, "got-body", G_CALLBACK(translate_generic_service_refresh_got_body_h), &info); + ++#ifdef HAVE_LIBSOUP22 + /* http://bugzilla.ximian.com/show_bug.cgi?id=70688 */ + soup_message_set_flags(message, SOUP_MESSAGE_NO_REDIRECT); + soup_message_add_status_class_handler(message, +@@ -475,6 +515,7 @@ + SOUP_HANDLER_POST_BODY, + translate_generic_service_redirect_handler, + info.session); ++#endif + + if (translate_generic_debug_flags & TRANSLATE_GENERIC_DEBUG_LOG_TRANSFERS) + translate_generic_service_log_connect(message); +@@ -515,18 +556,18 @@ + + if (charset) + { +- response = g_convert(message->response.body, message->response.length, "UTF-8", charset, NULL, NULL, err); ++ response = g_convert(SOUP_MESSAGE_RESPONSE_BODY (message), SOUP_MESSAGE_RESPONSE_LENGTH (message), "UTF-8", charset, NULL, NULL, err); + g_free(charset); + } + else + { +- if ((flags & TRANSFER_CONVERT) && ! g_utf8_validate(message->response.body, message->response.length, NULL)) ++ if ((flags & TRANSFER_CONVERT) && ! g_utf8_validate(SOUP_MESSAGE_RESPONSE_BODY (message), SOUP_MESSAGE_RESPONSE_LENGTH (message), NULL)) + g_set_error(err, + TRANSLATE_GENERIC_SERVICE_ERROR, + TRANSLATE_GENERIC_SERVICE_ERROR_TRANSFER, + _("invalid UTF-8")); + else +- response = g_strndup(message->response.body, message->response.length); ++ response = g_strndup(SOUP_MESSAGE_RESPONSE_BODY (message), SOUP_MESSAGE_RESPONSE_LENGTH (message)); + } + } + else +@@ -567,7 +608,7 @@ + : NULL; + + if (! value) +- value = soup_message_get_header(message->response_headers, name); ++ value = soup_message_headers_get(message->response_headers, name); + + return value; + } +@@ -575,12 +616,14 @@ + static void + translate_generic_service_log_connect (SoupMessage *message) + { +- const SoupUri *uri; ++ const SoupURI *uri; + + uri = soup_message_get_uri(message); + g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, _("connecting to %s:%i"), uri->host, uri->port); + } + ++#ifdef HAVE_LIBSOUP22 ++ + static void + translate_generic_service_log_wrote_headers_h (SoupMessage *message, + gpointer user_data) +@@ -635,6 +678,20 @@ + g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "%s %s: %s", prefix, key, value); + } + ++#else /* !HAVE_LIBSOUP22 */ ++ ++static void ++translate_generic_service_log_printer (SoupLogger *logger, ++ SoupLoggerLogLevel level, ++ char direction, ++ const char *data, ++ gpointer user_data) ++{ ++ g_log(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "%c %s", direction, data); ++} ++ ++#endif /* HAVE_LIBSOUP22 */ ++ + static void + translate_generic_service_progress_got_headers_h (SoupMessage *message, + gpointer user_data) +@@ -642,7 +699,7 @@ + TransferInfo *info = user_data; + const char *content_length; + +- content_length = soup_message_get_header(message->response_headers, "Content-Length"); ++ content_length = soup_message_headers_get(message->response_headers, "Content-Length"); + info->length = (content_length + && *content_length + && strspn(content_length, "0123456789") == strlen(content_length)) +@@ -652,6 +709,9 @@ + + static void + translate_generic_service_progress_got_chunk_h (SoupMessage *message, ++#ifdef HAVE_LIBSOUP24 ++ SoupBuffer *chunk, ++#endif + gpointer user_data) + { + TransferInfo *info = user_data; +@@ -661,7 +721,11 @@ + progress = -1; + else + { ++#ifdef HAVE_LIBSOUP22 + info->received += message->response.length; ++#else ++ info->received += chunk->length; ++#endif + progress = (double) info->received / info->length; + progress = CLAMP(progress, 0.0, 1.0); + } +@@ -677,7 +741,7 @@ + TransferInfo *info = user_data; + const char *content_type; + +- content_type = soup_message_get_header(message->response_headers, "Content-Type"); ++ content_type = soup_message_headers_get(message->response_headers, "Content-Type"); + info->parse_html = content_type + && (g_str_has_prefix(content_type, "text/html") + || g_str_has_prefix(content_type, "application/xhtml+xml") +@@ -697,7 +761,7 @@ + info->html_http_equiv = NULL; + } + +- if (info->parse_html && message->response.length > 0) ++ if (info->parse_html && SOUP_MESSAGE_RESPONSE_LENGTH (message) > 0) + { + char *body; + xmlSAXHandler sax_handler = { NULL }; +@@ -711,7 +775,7 @@ + sax_handler.startElement = translate_generic_service_html_start_element_cb; + sax_handler.endElement = translate_generic_service_html_end_element_cb; + +- body = g_strndup(message->response.body, message->response.length); ++ body = g_strndup(SOUP_MESSAGE_RESPONSE_BODY (message), SOUP_MESSAGE_RESPONSE_LENGTH (message)); + htmlSAXParseDoc(body, NULL, &sax_handler, user_data); + g_free(body); + } +@@ -778,7 +842,7 @@ + { + TransferInfo *info = user_data; + const char *refresh_uri; +- SoupUri *new_uri = NULL; ++ SoupURI *new_uri = NULL; + + refresh_uri = translate_generic_service_get_header(message, info, "Refresh"); + if (refresh_uri) +@@ -793,9 +857,9 @@ + new_uri = soup_uri_new(refresh_uri); + if (! new_uri) + { +- const SoupUri *base_uri; ++ SoupURI *base_uri; + +- base_uri = soup_message_get_uri(message); ++ base_uri = (SoupURI *)soup_message_get_uri(message); + new_uri = soup_uri_new_with_base(base_uri, refresh_uri); + } + } +@@ -812,6 +876,7 @@ + } + } + ++#ifdef HAVE_LIBSOUP22 + static void + translate_generic_service_redirect_handler (SoupMessage *message, + gpointer user_data) +@@ -848,6 +913,7 @@ + soup_session_requeue_message(session, message); + } + } ++#endif + + static char * + translate_generic_service_translate_text (TranslateService *service, +@@ -1314,7 +1380,7 @@ + translate_generic_service_soup_session_sync_new (void) + { + char *proxy_text_uri; +- SoupUri *proxy_uri = NULL; ++ SoupURI *proxy_uri = NULL; + SoupSession *session; + TranslateGenericSoupCookieJar *cookie_jar; + +@@ -1334,7 +1400,7 @@ + soup_uri_free(proxy_uri); + + cookie_jar = translate_generic_soup_cookie_jar_new(); +- soup_session_add_filter(session, SOUP_MESSAGE_FILTER(cookie_jar)); ++ translate_generic_soup_cookie_jar_attach(cookie_jar, session); + g_object_unref(cookie_jar); + + return session; +diff -ur libtranslate-0.99.orig/src/modules/translate-generic-soup-cookie-jar.c libtranslate-0.99/src/modules/translate-generic-soup-cookie-jar.c +--- libtranslate-0.99.orig/src/modules/translate-generic-soup-cookie-jar.c 2005-01-17 11:46:53.000000000 -0500 ++++ libtranslate-0.99/src/modules/translate-generic-soup-cookie-jar.c 2008-01-28 19:48:21.000000000 -0500 +@@ -29,9 +29,12 @@ + * POSSIBILITY OF SUCH DAMAGE. + */ + ++#include "config.h" + #include <string.h> + #include <libsoup/soup.h> ++#ifdef HAVE_LIBSOUP22 + #include <libsoup/soup-message-filter.h> ++#endif + #include "translate-generic-soup-cookie-jar.h" + + struct _TranslateGenericSoupCookieJarPrivate +@@ -44,9 +47,12 @@ + static void translate_generic_soup_cookie_jar_register_type (GType *type); + static void translate_generic_soup_cookie_jar_class_init (TranslateGenericSoupCookieJarClass *class); + static void translate_generic_soup_cookie_jar_init (TranslateGenericSoupCookieJar *jar); ++#ifdef HAVE_LIBSOUP22 + static void translate_generic_soup_cookie_jar_filter_init (SoupMessageFilterClass *iface); ++#else ++#define SoupMessageFilter TranslateGenericSoupCookieJar ++#endif + static void translate_generic_soup_cookie_jar_finalize (GObject *object); +- + static void translate_generic_soup_cookie_jar_setup_message (SoupMessageFilter *filter, + SoupMessage *message); + +@@ -75,17 +81,21 @@ + 0, + (GInstanceInitFunc) translate_generic_soup_cookie_jar_init + }; ++#ifdef HAVE_LIBSOUP22 + static const GInterfaceInfo filter_info = { + (GInterfaceInitFunc) translate_generic_soup_cookie_jar_filter_init, + NULL, + NULL + }; ++#endif + + *type = g_type_register_static(G_TYPE_OBJECT, + "TranslateGenericSoupCookieJar", + &info, + 0); ++#ifdef HAVE_LIBSOUP22 + g_type_add_interface_static(*type, SOUP_TYPE_MESSAGE_FILTER, &filter_info); ++#endif + } + + static void +@@ -107,11 +117,13 @@ + TranslateGenericSoupCookieJarPrivate); + } + ++#ifdef HAVE_LIBSOUP22 + static void + translate_generic_soup_cookie_jar_filter_init (SoupMessageFilterClass *iface) + { + iface->setup_message = translate_generic_soup_cookie_jar_setup_message; + } ++#endif + + static void + translate_generic_soup_cookie_jar_finalize (GObject *object) +@@ -125,26 +137,46 @@ + } + + static void ++add_cookie_to_jar (TranslateGenericSoupCookieJar *jar, const char *cookie) ++{ ++ char *s; ++ ++ s = strchr(cookie, ';'); ++ if (s) ++ jar->priv->cookies = g_slist_append(jar->priv->cookies, g_strndup(cookie, s - cookie)); ++} ++ ++#ifdef HAVE_LIBSOUP24 ++static void ++maybe_add_cookie_to_jar (const char *header, const char *value, gpointer jar) ++{ ++ if (!g_ascii_strcasecmp (header, "Set-Cookie")) ++ add_cookie_to_jar (jar, value); ++} ++#endif ++ ++static void + translate_generic_soup_cookie_jar_setup_message (SoupMessageFilter *filter, +- SoupMessage *message) ++ SoupMessage *message) + { + TranslateGenericSoupCookieJar *jar = TRANSLATE_GENERIC_SOUP_COOKIE_JAR(filter); +- const GSList *cookies; + const GSList *l; + + /* FIXME: add full RFC 2965 support */ + ++#ifdef HAVE_LIBSOUP22 ++ const GSList *cookies; ++ + cookies = soup_message_get_header_list(message->response_headers, "Set-Cookie"); + for (l = cookies; l != NULL; l = l->next) + { + const char *cookie = l->data; +- char *s; +- +- s = strchr(cookie, ';'); +- if (s) +- jar->priv->cookies = g_slist_append(jar->priv->cookies, g_strndup(cookie, s - cookie)); ++ add_cookie_to_jar(jar, cookie); + } +- ++#else ++ soup_message_headers_foreach(message->response_headers, maybe_add_cookie_to_jar, jar); ++#endif ++ + if (jar->priv->cookies) + { + GString *string; +@@ -159,13 +191,44 @@ + g_string_append(string, "; "); + } + ++#ifdef HAVE_LIBSOUP22 + soup_message_add_header(message->request_headers, "Cookie", string->str); ++#else ++ soup_message_headers_append(message->request_headers, "Cookie", string->str); ++#endif + g_string_free(string, TRUE); + } + } + ++#ifdef HAVE_LIBSOUP24 ++static void ++translate_generic_soup_cookie_jar_request_started (SoupSession *session, ++ SoupMessage *message, ++ SoupSocket *socket, ++ gpointer cookie_jar) ++{ ++ translate_generic_soup_cookie_jar_setup_message (cookie_jar, message); ++} ++#endif ++ + TranslateGenericSoupCookieJar * + translate_generic_soup_cookie_jar_new (void) + { + return g_object_new(TRANSLATE_GENERIC_TYPE_SOUP_COOKIE_JAR, NULL); + } ++ ++void ++translate_generic_soup_cookie_jar_attach (TranslateGenericSoupCookieJar *cookie_jar, ++ SoupSession *session) ++{ ++#ifdef HAVE_LIBSOUP22 ++ soup_session_add_filter (session, SOUP_MESSAGE_FILTER(cookie_jar)); ++#else ++ g_signal_connect (session, "request_started", ++ G_CALLBACK (translate_generic_soup_cookie_jar_request_started), ++ cookie_jar); ++ g_object_set_data_full (G_OBJECT (session), "TranslateGenericSoupCookieJar", ++ g_object_ref (cookie_jar), g_object_unref); ++#endif ++} ++ +diff -ur libtranslate-0.99.orig/src/modules/translate-generic-soup-cookie-jar.h libtranslate-0.99/src/modules/translate-generic-soup-cookie-jar.h +--- libtranslate-0.99.orig/src/modules/translate-generic-soup-cookie-jar.h 2005-01-17 11:47:00.000000000 -0500 ++++ libtranslate-0.99/src/modules/translate-generic-soup-cookie-jar.h 2008-01-28 19:17:24.000000000 -0500 +@@ -33,6 +33,7 @@ + #define _TRANSLATE_GENERIC_SOUP_COOKIE_JAR_H + + #include <glib-object.h> ++#include <libsoup/soup-session.h> + + #define TRANSLATE_GENERIC_TYPE_SOUP_COOKIE_JAR (translate_generic_soup_cookie_jar_get_type()) + #define TRANSLATE_GENERIC_SOUP_COOKIE_JAR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), TRANSLATE_GENERIC_TYPE_SOUP_COOKIE_JAR, TranslateGenericSoupCookieJar)) +@@ -59,5 +60,6 @@ + + GType translate_generic_soup_cookie_jar_get_type (void); + TranslateGenericSoupCookieJar *translate_generic_soup_cookie_jar_new (void); ++void translate_generic_soup_cookie_jar_attach (TranslateGenericSoupCookieJar *cookie_jar, SoupSession *session); + + #endif /* _TRANSLATE_GENERIC_SOUP_COOKIE_JAR_H */ diff --git a/dev-libs/libtranslate/libtranslate-0.99.ebuild b/dev-libs/libtranslate/libtranslate-0.99.ebuild index 71ac46b392a3..915dff9361e0 100644 --- a/dev-libs/libtranslate/libtranslate-0.99.ebuild +++ b/dev-libs/libtranslate/libtranslate-0.99.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2008 Gentoo Foundation +# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libtranslate/libtranslate-0.99.ebuild,v 1.4 2008/05/05 15:07:37 drac Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/libtranslate/libtranslate-0.99.ebuild,v 1.5 2009/09/06 21:54:44 vostorga Exp $ EAPI=1 -inherit eutils +inherit eutils autotools DESCRIPTION="Library for translating text and web pages between natural languages." HOMEPAGE="http://www.nongnu.org/libtranslate" @@ -19,11 +19,12 @@ IUSE="" RESTRICT="test" RDEPEND=">=dev-libs/glib-2.4 - net-libs/libsoup:2.2 + net-libs/libsoup:2.4 >=dev-libs/libxml2-2 >=app-text/talkfilters-2.3.4-r1" DEPEND="${RDEPEND} - dev-util/pkgconfig" + dev-util/pkgconfig + dev-util/intltool" src_unpack() { unpack ${A} @@ -32,7 +33,12 @@ src_unpack() { epatch "${FILESDIR}"/${P}-charsetparse.diff \ "${FILESDIR}"/${P}-condfix.diff \ "${FILESDIR}"/${P}-int64.diff \ - "${FILESDIR}"/${P}-man-page.diff + "${FILESDIR}"/${P}-man-page.diff \ + "${FILESDIR}"/${P}-libsoup24.diff + + einfo "Running intltoolize --force --copy --automake" + intltoolize --force --copy --automake || die "intltoolize failed" + AT_M4DIR="${S}/m4" eautoreconf } src_install() { |