summaryrefslogtreecommitdiff
path: root/extra/claws-mail-extra-plugins
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-10-03 23:14:36 +0000
committerroot <root@rshg054.dnsready.net>2011-10-03 23:14:36 +0000
commit57d05f7209f022aa99a8850aafbeec4cb85c3b5b (patch)
tree8f6753258e8359d1314356a677cdb32ae94658ab /extra/claws-mail-extra-plugins
parentad84169d66d20378d28533c216b73c9a6646d6d7 (diff)
Mon Oct 3 23:14:36 UTC 2011
Diffstat (limited to 'extra/claws-mail-extra-plugins')
-rw-r--r--extra/claws-mail-extra-plugins/PKGBUILD22
-rw-r--r--extra/claws-mail-extra-plugins/webkit1.6.1.patch106
2 files changed, 123 insertions, 5 deletions
diff --git a/extra/claws-mail-extra-plugins/PKGBUILD b/extra/claws-mail-extra-plugins/PKGBUILD
index b263ff58b..e252bbe96 100644
--- a/extra/claws-mail-extra-plugins/PKGBUILD
+++ b/extra/claws-mail-extra-plugins/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 136389 2011-08-28 17:30:33Z andyrtr $
+# $Id: PKGBUILD 139484 2011-10-02 07:11:06Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Mildred <mildred593 at online dot fr>
pkgname=claws-mail-extra-plugins
pkgver=3.7.10
-pkgrel=1
+pkgrel=2
pkgdesc="Extra plugins for claws-mail"
url="http://www.claws-mail.org/plugins.php?branch=EXT"
license=('GPL3')
arch=('i686' 'x86_64')
depends=('claws-mail>=3.7.10')
makedepends=('make' 'bc' 'perl>=5.10.1-5' 'libgtkhtml>=2.11.1-2' 'libnotify>=0.7'
- 'libxml2>=2.7.6' 'curl>=7.19.7' 'libytnef>=1.5-2' 'libwebkit>=1.3.13'
+ 'libxml2>=2.7.6' 'curl>=7.19.7' 'libytnef>=1.5-2' 'libwebkit>=1.6.1'
'pygtk>=2.16.0' 'libsoup-gnome' 'libcanberra' 'libgdata')
optdepends=('libgtkhtml: for gtkhtml2_viewer plugin'
'perl: for perl plugin'
@@ -32,15 +32,27 @@ conflicts=('claws-gtkhtml2_viewer' 'claws-mail-acpinotifier-plugin'
'claws-webkit-plugin-svn' 'claws-mayflower-plugin-svn')
replaces=('sylpheed-claws-extra-plugins')
options=('!libtool' '!strip')
-source=(http://downloads.sourceforge.net/project/sylpheed-claws/extra%20plugins/$pkgver/claws-mail-extra-plugins-$pkgver.tar.bz2)
-md5sums=('fe782b2d4762c9727e22c1bb7979f7d6')
+source=(http://downloads.sourceforge.net/project/sylpheed-claws/extra%20plugins/$pkgver/claws-mail-extra-plugins-$pkgver.tar.bz2
+ webkit1.6.1.patch)
+md5sums=('fe782b2d4762c9727e22c1bb7979f7d6'
+ '8b94fa44072331b9c3926607eb42ba26')
+sha1sums=('c5200936cb4811022774e960dc3f43d19eb320cf'
+ '8efd800617406dfe58a14422f243a678c582a90d')
build() {
cd "$srcdir/claws-mail-extra-plugins-$pkgver"
+ # fix for new webkit api
+ pushd fancy*
+ patch -Np0 -i ${srcdir}/webkit1.6.1.patch
+ popd
+
# fix for python2
export PYTHON="/usr/bin/python2"
+ # fix gdata plugin build
+ sed -i -e "s:libgdata\ <\ 0.9.0:libgdata\ <\ 0.11.0:g" gdata_plugin-0.2/configure
+
for dir in */; do
[[ $dir != geolocation_plugin-* ]] && (
cd $dir
diff --git a/extra/claws-mail-extra-plugins/webkit1.6.1.patch b/extra/claws-mail-extra-plugins/webkit1.6.1.patch
new file mode 100644
index 000000000..82bc5d062
--- /dev/null
+++ b/extra/claws-mail-extra-plugins/webkit1.6.1.patch
@@ -0,0 +1,106 @@
+--- src/fancy_viewer.c 2011-07-01 11:50:25.000000000 +0200
++++ src/fancy_viewer.c 2011-09-30 06:02:45.000000000 +0200
+@@ -83,8 +83,10 @@
+ static void download_file_cb(GtkWidget *widget, FancyViewer *viewer);
+ #endif
+
+-/*FIXME substitute webkitwebsettings.cpp functions with their API when available */
+-gchar* webkit_web_view_get_selected_text(WebKitWebView* webView);
++#if !WEBKIT_CHECK_VERSION (1,5,1)
++gchar* webkit_web_view_get_selected_text(WebKitWebView* web_view);
++#endif
++
+ /*------*/
+ static GtkWidget *fancy_get_widget(MimeViewer *_viewer)
+ {
+@@ -243,6 +245,8 @@
+
+ gtk_print_unix_dialog_set_manual_capabilities(print_dialog,
+ GTK_PRINT_CAPABILITY_GENERATE_PS);
++ gtk_print_unix_dialog_set_manual_capabilities(print_dialog,
++ GTK_PRINT_CAPABILITY_PREVIEW);
+
+ result = gtk_dialog_run (GTK_DIALOG (dialog));
+ gtk_widget_hide (dialog);
+@@ -293,7 +297,19 @@
+ {
+ debug_print("fancy_get_selection\n");
+ FancyViewer *viewer = (FancyViewer *) _viewer;
++#if WEBKIT_CHECK_VERSION(1,5,1)
++ viewer->doc = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(viewer->view));
++ viewer->window = webkit_dom_document_get_default_view (viewer->doc);
++ viewer->selection = webkit_dom_dom_window_get_selection (viewer->window);
++ if (viewer->selection == NULL)
++ return NULL;
++ viewer->range = webkit_dom_dom_selection_get_range_at(viewer->selection, 0, NULL);
++ if (viewer->range == NULL)
++ return NULL;
++ gchar *sel = webkit_dom_range_get_text (viewer->range);
++#else
+ gchar *sel = webkit_web_view_get_selected_text(viewer->view);
++#endif
+ if (!viewer->view || strlen(sel) == 0) {
+ g_free(sel);
+ return NULL;
+@@ -686,7 +702,15 @@
+ debug_print("Clicked on Search on Web\n");
+ if (webkit_web_view_has_selection(viewer->view)) {
+ gchar *search;
++#if WEBKIT_CHECK_VERSION(1,5,1)
++ viewer->doc = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(viewer->view));
++ viewer->window = webkit_dom_document_get_default_view (viewer->doc);
++ viewer->selection = webkit_dom_dom_window_get_selection (viewer->window);
++ viewer->range = webkit_dom_dom_selection_get_range_at(viewer->selection, 0, NULL);
++ gchar *tmp = webkit_dom_range_get_text (viewer->range);
++#else
+ gchar *tmp = webkit_web_view_get_selected_text(viewer->view);
++#endif
+ search = g_strconcat(GOOGLE_SEARCH, tmp, NULL);
+ webkit_web_view_open(viewer->view, search);
+ g_free(search);
+@@ -896,7 +920,6 @@
+ static gboolean populate_popup_cb (WebKitWebView *view, GtkWidget *menu,
+ FancyViewer *viewer)
+ {
+- /*FIXME hack..until webkit does not give the proper way to handle it*/
+ Plugin *plugin = plugin_get_loaded_by_name("RSSyl");
+ gtk_container_foreach(GTK_CONTAINER(menu),
+ (GtkCallback)viewer_menu_handler,
+@@ -941,7 +964,19 @@
+ if (webkit_web_view_can_copy_clipboard(view)) {
+ GtkClipboard *wv_clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY);
+ const gchar *sel_text;
+- sel_text = (const gchar*)webkit_web_view_get_selected_text(view);
++#if WEBKIT_CHECK_VERSION(1,5,1)
++ viewer->doc = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(viewer->view));
++ viewer->window = webkit_dom_document_get_default_view (viewer->doc);
++ viewer->selection = webkit_dom_dom_window_get_selection (viewer->window);
++ if (viewer->selection == NULL)
++ return NULL;
++ viewer->range = webkit_dom_dom_selection_get_range_at(viewer->selection, 0, NULL);
++ if (viewer->range == NULL)
++ return NULL;
++ sel_text = (const *gchar)webkit_dom_range_get_text (viewer->range);
++#else
++ sel_text = (const *gchar)webkit_web_view_get_selected_text(viewer->view);
++#endif
+ gtk_clipboard_set_text(wv_clipboard, sel_text, -1);
+ }
+ return FALSE;
+--- src/fancy_viewer.h 2011-07-01 11:50:25.000000000 +0200
++++ src/fancy_viewer.h 2011-09-30 06:02:45.000000000 +0200
+@@ -113,6 +113,14 @@
+ gint tag;
+ gint loading;
+ gint stop_previous;
++
++ /* DOM Objects */
++#if WEBKIT_CHECK_VERSION(1,5,1)
++ WebKitDOMDocument *doc;
++ WebKitDOMDOMWindow *window;
++ WebKitDOMDOMSelection *selection;
++ WebKitDOMRange *range;
++#endif
+ };
+ #define OPEN_INTERNAL FALSE
+ #define OPEN_EXTERNAL TRUE