Date: Friday, September 30, 2011 @ 03:32:14
  Author: andyrtr
Revision: 139130

upgpkg: claws-mail-extra-plugins 3.7.10-2

fix fancy plugin for new webkit

Added:
  claws-mail-extra-plugins/trunk/webkit1.6.1.patch
Modified:
  claws-mail-extra-plugins/trunk/PKGBUILD

-------------------+
 PKGBUILD          |   20 +++++++--
 webkit1.6.1.patch |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 122 insertions(+), 4 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2011-09-30 05:59:05 UTC (rev 139129)
+++ PKGBUILD    2011-09-30 07:32:14 UTC (rev 139130)
@@ -4,14 +4,14 @@
 
 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 @@
            '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

Added: webkit1.6.1.patch
===================================================================
--- webkit1.6.1.patch                           (rev 0)
+++ webkit1.6.1.patch   2011-09-30 07:32:14 UTC (rev 139130)
@@ -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

Reply via email to