From 0f78806d775c4d46c649425fcb67964d53531db8 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 1 Oct 2011 23:14:36 +0000 Subject: Sat Oct 1 23:14:36 UTC 2011 --- testing/claws-mail-extra-plugins/PKGBUILD | 75 +++++++++++++++ testing/claws-mail-extra-plugins/webkit1.6.1.patch | 106 +++++++++++++++++++++ 2 files changed, 181 insertions(+) create mode 100644 testing/claws-mail-extra-plugins/PKGBUILD create mode 100644 testing/claws-mail-extra-plugins/webkit1.6.1.patch (limited to 'testing/claws-mail-extra-plugins') diff --git a/testing/claws-mail-extra-plugins/PKGBUILD b/testing/claws-mail-extra-plugins/PKGBUILD new file mode 100644 index 000000000..cc21970ba --- /dev/null +++ b/testing/claws-mail-extra-plugins/PKGBUILD @@ -0,0 +1,75 @@ +# $Id: PKGBUILD 139133 2011-09-30 07:33:19Z andyrtr $ +# Maintainer: Andreas Radke +# Contributor: Mildred + +pkgname=claws-mail-extra-plugins +pkgver=3.7.10 +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.6.1' + 'pygtk>=2.16.0' 'libsoup-gnome' 'libcanberra' 'libgdata') +optdepends=('libgtkhtml: for gtkhtml2_viewer plugin' + 'perl: for perl plugin' + 'libnotify: for notification plugin' + 'libcanberra: for notification plugin' + 'dbus-core: for notification plugin' + 'libxml2: for gtkhtml2_viewer and rssyl plugins' + 'curl: for gtkhtml2_viewer, vcalendar, rssyl and spamreport plugins' + 'libarchive: for archive plugin' + 'libytnef: for tnef_parse plugin' + 'libwebkit: for the fancy webkit html plugin' + 'libsoup-gnome: for the fancy webkit html plugin' + 'python2: for python plugin' + 'libgdata: for gdata plugin') +conflicts=('claws-gtkhtml2_viewer' 'claws-mail-acpinotifier-plugin' + 'sylpheed-claws-gtkhtml2-plugin' 'sylpheed-claws-rssyl-plugin' + 'sylpheed-claws-extra-plugins' 'claws-tnef-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 + 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 + + ./configure --prefix=/usr --disable-static + make + ) + done +} + +package() { + cd "$srcdir/claws-mail-extra-plugins-$pkgver" + for dir in */; do + [[ $dir != geolocation_plugin-* ]] && + make -C $dir DESTDIR="$pkgdir" install + done + + # fix fileconflict with libical, #11485 + rm -f "$pkgdir/usr/include/ical.h" +} diff --git a/testing/claws-mail-extra-plugins/webkit1.6.1.patch b/testing/claws-mail-extra-plugins/webkit1.6.1.patch new file mode 100644 index 000000000..82bc5d062 --- /dev/null +++ b/testing/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 -- cgit v1.2.3-54-g00ecf