Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=ce31d434378854200c075b1ac75dc7b14d94eee7

commit ce31d434378854200c075b1ac75dc7b14d94eee7
Author: crazy <[EMAIL PROTECTED]>
Date:   Thu Sep 27 08:08:34 2007 +0200

gtk+2-2.12.0-2-i686
* relbump ( round one )
* added patches from gnome BTS to :
- workaround OOo and flash breackage
- fix pidgin and trcker breackage
- fix broken iconchage logic
- fix tooltips logic
* ( some patches I just got from gentoo while to tired to rediff all from svn 
now )
* all url's to the  patches in FB
* after a quick scan added an missing depend
* more later .. gtg now

diff --git a/source/gnome/gtk+2/FrugalBuild b/source/gnome/gtk+2/FrugalBuild
index 79f0e6d..cb3685a 100644
--- a/source/gnome/gtk+2/FrugalBuild
+++ b/source/gnome/gtk+2/FrugalBuild
@@ -4,26 +4,57 @@
pkgname=gtk+2
_F_gnome_name=gtk+
pkgver=2.12.0
-pkgrel=1
+pkgrel=2
pkgdesc="The GTK+ Toolkit (2.x series)"
url="http://www.gtk.org/";
depends=('libtiff' 'atk>=1.20.0' 'libxi' 'libxinerama' 'fontconfig' 'libjpeg' \
-        'pango>=1.18.2' 'cairo>=1.4.0' 'libxcursor' 'libxrandr' 'libsm' 
'glib2>=2.14.1' \
-        'libcups')
+        'pango>=1.18.2' 'cairo>=1.4.0' 'libxcursor' 'libxrandr' 'libsm' 
'glib2>=2.14.1-3' \
+        'libcups' 'libx11' 'libtiff' 'libpng')
rodepends=('gnome-icon-theme')
groups=('gnome' 'gnome-core')
makedepends=('gtk-doc' 'cups')
archs=('i686' 'x86_64')
Finclude gnome
_F_cd_path="gtk+-$pkgver"
-Fconfopts="$Fconfopts --with-xinput=yes --enable-gtk-doc"
+source=($source \
+       gtk+-$pkgver-flash-workaround.patch \
+       gtk+-$pkgver-icon-cache-speedup.patch \
+       gtk+-$pkgver-libtracker_so.patch \
+       gtk+-$pkgver-openoffice-freeze-workaround.patch \
+       gtk+-$pkgver-searchenginesimple-crash-fix.patch \
+       gtk+-$pkgver-swt-tooltips-fix.patch \
+       gtk+-$pkgver-fix-pidgin-issues.patch \
+       gtk+-$pkgver-fix-tracker-issues.patch)
+
+# patches from upstream bugs :
+# http://bugzilla.gnome.org/show_bug.cgi?id=476342
+# http://bugzilla.gnome.org/show_bug.cgi?id=478173
+# http://bugzilla.gnome.org/show_bug.cgi?id=463773#c11
+# http://bugzilla.gnome.org/show_bug.cgi?id=460194
+# http://bugzilla.gnome.org/show_bug.cgi?id=480123
+# http://bugzilla.gnome.org/show_bug.cgi?id=456137
+# http://bugzilla.gnome.org/show_bug.cgi?id=479197
+
+

build() {
export CFLAGS="$CFLAGS -fno-strict-aliasing"
-       Fbuild
+       Fbuild \
+               --with-xinput=yes \
+               --enable-gtk-doc \
+               --with-gdktarget=x11 \
+               --with-libpng
Fmkdir /etc/gtk-2.0
-       echo 'gtk-fallback-icon-theme = "gnome"' > $Fdestdir/etc/gtk-2.0/gtkrc 
|| Fdie
+       echo 'gtk-fallback-icon-theme = "gnome"' > $Fdestdir/etc/gtk-2.0/gtkrc 
|| Fdie
}

-sha1sums=('f5ecbf73a789a8880a6b2e15279267bb113980e2')
+sha1sums=('f5ecbf73a789a8880a6b2e15279267bb113980e2' \
+          '7db980e782a5b04d27bffb55e3dc0190ad22e118' \
+          '2b199886215bb4bb0372e11665dab72d494e3077' \
+          'a1da145b30e2346fa3536a16c132be53450c8699' \
+          '783920d179ba0755ccab9186b6bff9f293828a96' \
+          '1ae3ab211722e57dd4aaa8494657c97ed1beec55' \
+          '83bbb52d3b724e32432799773675f9896c534ed9' \
+          '1c470728d78a646ea4b21041480ece51212dbc0c' \
+          '3fb0332becafa55ce2daa14e4c15c3eb6c8ddc44')
# optimization OK
diff --git a/source/gnome/gtk+2/gtk+-2.12.0-fix-pidgin-issues.patch 
b/source/gnome/gtk+2/gtk+-2.12.0-fix-pidgin-issues.patch
new file mode 100644
index 0000000..04455c6
--- /dev/null
+++ b/source/gnome/gtk+2/gtk+-2.12.0-fix-pidgin-issues.patch
@@ -0,0 +1,41 @@
+Index: gtk/gtkiconfactory.c
+===================================================================
+--- gtk/gtkiconfactory.c       (revision 18848)
++++ gtk/gtkiconfactory.c       (working copy)
+@@ -831,6 +831,9 @@
+
+   init_icon_sizes ();
+
++  if (size == (GtkIconSize)-1)
++    return FALSE;
++
+   if (size >= icon_sizes_used)
+     return FALSE;
+
+@@ -1338,7 +1341,7 @@
+
+       if ((s->any_direction || (s->direction == direction)) &&
+           (s->any_state || (s->state == state)) &&
+-          (s->any_size || (sizes_equivalent (size, s->size))))
++          (s->any_size || size == (GtkIconSize)-1 || (sizes_equivalent (size, 
s->size))))
+         {
+         if (!g_slist_find (failed, s))
+           {
+@@ -1417,7 +1420,7 @@
+
+   if (!gtk_icon_size_lookup_for_settings (settings, size, &width, &height))
+     {
+-      if (size == -1)
++      if (size == (GtkIconSize)-1)
+       {
+         /* Find an available size close to 48
+          */
+@@ -2438,7 +2441,7 @@
+       if (icon->style == style &&
+           icon->direction == direction &&
+           icon->state == state &&
+-          icon->size == size)
++          (size == (GtkIconSize)-1 || icon->size == size))
+         {
+           if (prev)
+             {
diff --git a/source/gnome/gtk+2/gtk+-2.12.0-fix-tracker-issues.patch 
b/source/gnome/gtk+2/gtk+-2.12.0-fix-tracker-issues.patch
new file mode 100644
index 0000000..c3c5065
--- /dev/null
+++ b/source/gnome/gtk+2/gtk+-2.12.0-fix-tracker-issues.patch
@@ -0,0 +1,45 @@
+--- gtk/gtksearchenginetracker.c.orig  2007-09-22 09:48:10.580987152 +0200
++++ gtk/gtksearchenginetracker.c       2007-09-22 18:32:27.693625839 +0200
+@@ -35,6 +35,7 @@
+
+ static TrackerClient * (*tracker_connect) (gboolean enable_warnings) = NULL;
+ static void          (*tracker_disconnect) (TrackerClient *client) = NULL;
++static int             (*tracker_get_version) (TrackerClient *client, GError 
**error) = NULL;
+ static void            (*tracker_cancel_last_call) (TrackerClient *client) = 
NULL;
+
+ static void (*tracker_search_metadata_by_text_async) (TrackerClient *client,
+@@ -56,6 +57,7 @@
+ #define MAP(a) { #a, (gpointer *)&a }
+   MAP (tracker_connect),
+   MAP (tracker_disconnect),
++  MAP (tracker_get_version),
+   MAP (tracker_cancel_last_call),
+   MAP (tracker_search_metadata_by_text_async),
+   MAP (tracker_search_metadata_by_text_and_location_async),
+@@ -285,6 +287,7 @@
+ {
+   GtkSearchEngineTracker *engine;
+   TrackerClient *tracker_client;
++  GError *err = NULL;
+
+   open_libtracker ();
+
+@@ -296,6 +299,18 @@
+   if (!tracker_client)
+     return NULL;
+
++  if (!tracker_get_version)
++    return NULL;
++
++  tracker_get_version (tracker_client, &err);
++
++  if (err != NULL)
++    {
++      g_error_free (err);
++      tracker_disconnect (tracker_client);
++      return NULL;
++    }
++
+   engine = g_object_new (GTK_TYPE_SEARCH_ENGINE_TRACKER, NULL);
+
+   engine->priv->client = tracker_client;
diff --git a/source/gnome/gtk+2/gtk+-2.12.0-flash-workaround.patch 
b/source/gnome/gtk+2/gtk+-2.12.0-flash-workaround.patch
new file mode 100644
index 0000000..7beccc3
--- /dev/null
+++ b/source/gnome/gtk+2/gtk+-2.12.0-flash-workaround.patch
@@ -0,0 +1,12 @@
+Index: gtk+2.0-2.11.6/gtk/gtkclipboard.c
+===================================================================
+--- gtk+2.0-2.11.6.orig/gtk/gtkclipboard.c     2007-08-31 16:52:48.000000000 
+0200
++++ gtk+2.0-2.11.6/gtk/gtkclipboard.c  2007-08-31 16:53:16.000000000 +0200
+@@ -287,6 +287,7 @@
+ gtk_clipboard_get_for_display (GdkDisplay *display,
+                              GdkAtom     selection)
+ {
++  g_return_val_if_fail (display != NULL, NULL);
+   g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
+   g_return_val_if_fail (!display->closed, NULL);
+
diff --git a/source/gnome/gtk+2/gtk+-2.12.0-icon-cache-speedup.patch 
b/source/gnome/gtk+2/gtk+-2.12.0-icon-cache-speedup.patch
new file mode 100644
index 0000000..99311df
--- /dev/null
+++ b/source/gnome/gtk+2/gtk+-2.12.0-icon-cache-speedup.patch
@@ -0,0 +1,28 @@
+diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN 
gtk+-2.12.0.orig/gtk/gtkiconcache.c gtk+-2.12.0/gtk/gtkiconcache.c
+--- gtk+-2.12.0.orig/gtk/gtkiconcache.c        2007-09-13 16:35:41.000000000 
-0400
++++ gtk+-2.12.0/gtk/gtkiconcache.c     2007-09-14 15:33:01.000000000 -0400
+@@ -127,14 +127,19 @@ _gtk_icon_cache_new_for_path (const gcha
+   info.n_directories = 0;
+   info.flags = CHECK_OFFSETS|CHECK_STRINGS;
+
+-  if (!_gtk_icon_cache_validate (&info))
++#ifdef G_ENABLE_DEBUG
++  if (gtk_debug_flags & GTK_DEBUG_ICONTHEME)
+     {
+-      g_mapped_file_free (map);
+-      g_warning ("Icon cache '%s' is invalid\n", cache_filename);
++      if (!_gtk_icon_cache_validate (&info))
++        {
++          g_mapped_file_free (map);
++          g_warning ("Icon cache '%s' is invalid\n", cache_filename);
+
+-      goto done;
++          goto done;
++        }
+     }
+-
++#endif
++
+   GTK_NOTE (ICONTHEME, g_print ("found cache for %s\n", path));
+
+   cache = g_new0 (GtkIconCache, 1);
diff --git a/source/gnome/gtk+2/gtk+-2.12.0-libtracker_so.patch 
b/source/gnome/gtk+2/gtk+-2.12.0-libtracker_so.patch
new file mode 100644
index 0000000..d5f3fdd
--- /dev/null
+++ b/source/gnome/gtk+2/gtk+-2.12.0-libtracker_so.patch
@@ -0,0 +1,21 @@
+--- gtk/gtksearchenginetracker.c       2007/06/22 14:32:22     18219
++++ gtk/gtksearchenginetracker.c       2007/09/18 21:48:01     18846
+@@ -71,10 +71,16 @@
+     {
+       int i;
+       GModule *tracker;
++      GModuleFlags flags;
+
+       done = TRUE;
+-
+-      tracker = g_module_open ("libtracker.so.0", G_MODULE_BIND_LAZY | 
G_MODULE_BIND_LOCAL);
++      flags = G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL;
++
++      tracker = g_module_open ("libtrackerclient.so.0", flags);
++
++      if (!tracker)
++        tracker = g_module_open ("libtracker.so.0", flags);
++
+       if (!tracker)
+       return;
+
diff --git a/source/gnome/gtk+2/gtk+-2.12.0-openoffice-freeze-workaround.patch 
b/source/gnome/gtk+2/gtk+-2.12.0-openoffice-freeze-workaround.patch
new file mode 100644
index 0000000..453bd5d
--- /dev/null
+++ b/source/gnome/gtk+2/gtk+-2.12.0-openoffice-freeze-workaround.patch
@@ -0,0 +1,10 @@
+--- gdk/gdkscreen.c.orig       2007-09-13 23:36:09.000000000 +0300
++++ gdk/gdkscreen.c    2007-09-25 18:16:53.000000000 +0300
+@@ -417,6 +417,7 @@
+ const cairo_font_options_t *
+ gdk_screen_get_font_options (GdkScreen *screen)
+ {
++    g_return_val_if_fail (screen != NULL, NULL);
+     g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
+
+     return screen->font_options;
diff --git a/source/gnome/gtk+2/gtk+-2.12.0-searchenginesimple-crash-fix.patch 
b/source/gnome/gtk+2/gtk+-2.12.0-searchenginesimple-crash-fix.patch
new file mode 100644
index 0000000..af9aeb1
--- /dev/null
+++ b/source/gnome/gtk+2/gtk+-2.12.0-searchenginesimple-crash-fix.patch
@@ -0,0 +1,84 @@
+Index: gtk/gtksearchenginesimple.c
+===================================================================
+--- gtk/gtksearchenginesimple.c        (revision 18864)
++++ gtk/gtksearchenginesimple.c        (working copy)
+@@ -72,19 +72,27 @@ struct _GtkSearchEngineSimplePrivate
+ G_DEFINE_TYPE (GtkSearchEngineSimple, _gtk_search_engine_simple, 
GTK_TYPE_SEARCH_ENGINE);
+
+ static void
+-finalize (GObject *object)
++gtk_search_engine_simple_dispose (GObject *object)
+ {
+   GtkSearchEngineSimple *simple;
++  GtkSearchEngineSimplePrivate *priv;
+
+   simple = GTK_SEARCH_ENGINE_SIMPLE (object);
++  priv = simple->priv;
+
+-  if (simple->priv->query)
++  if (priv->query)
++    {
++      g_object_unref (priv->query);
++      priv->query = NULL;
++    }
++
++  if (priv->active_search)
+     {
+-      g_object_unref (simple->priv->query);
+-      simple->priv->query = NULL;
++      priv->active_search->cancelled = TRUE;
++      priv->active_search = NULL;
+     }
+
+-  G_OBJECT_CLASS (_gtk_search_engine_simple_parent_class)->finalize (object);
++  G_OBJECT_CLASS (_gtk_search_engine_simple_parent_class)->dispose (object);
+ }
+
+ static SearchThreadData *
+@@ -131,12 +139,10 @@ search_thread_done_idle (gpointer user_d
+
+   data = user_data;
+
+-  if (!data->cancelled)
+-    {
+-      _gtk_search_engine_finished (GTK_SEARCH_ENGINE (data->engine));
+-      data->engine->priv->active_search = NULL;
+-    }
+-
++  if (!data->cancelled)
++    _gtk_search_engine_finished (GTK_SEARCH_ENGINE (data->engine));
++
++  data->engine->priv->active_search = NULL;
+   search_thread_data_free (data);
+
+   return FALSE;
+@@ -181,6 +187,7 @@ send_batch (SearchThreadData *data)
+       hits = g_new (SearchHits, 1);
+       hits->uris = data->uri_hits;
+       hits->thread_data = data;
++
+       gdk_threads_add_idle (search_thread_add_hits_idle, hits);
+     }
+   data->uri_hits = NULL;
+@@ -349,7 +356,7 @@ _gtk_search_engine_simple_class_init (Gt
+   GtkSearchEngineClass *engine_class;
+
+   gobject_class = G_OBJECT_CLASS (class);
+-  gobject_class->finalize = finalize;
++  gobject_class->dispose = gtk_search_engine_simple_dispose;
+
+   engine_class = GTK_SEARCH_ENGINE_CLASS (class);
+   engine_class->set_query = gtk_search_engine_simple_set_query;
+Index: gtk/gtkfilechooserdefault.c
+===================================================================
+--- gtk/gtkfilechooserdefault.c        (revision 18864)
++++ gtk/gtkfilechooserdefault.c        (working copy)
+@@ -8994,6 +8994,8 @@ search_stop_searching (GtkFileChooserDef
+
+   if (impl->search_engine)
+     {
++      _gtk_search_engine_stop (impl->search_engine);
++
+       g_object_unref (impl->search_engine);
+       impl->search_engine = NULL;
+     }
diff --git a/source/gnome/gtk+2/gtk+-2.12.0-swt-tooltips-fix.patch 
b/source/gnome/gtk+2/gtk+-2.12.0-swt-tooltips-fix.patch
new file mode 100644
index 0000000..8277cdf
--- /dev/null
+++ b/source/gnome/gtk+2/gtk+-2.12.0-swt-tooltips-fix.patch
@@ -0,0 +1,14 @@
+Fix http://bugzilla.gnome.org/show_bug.cgi?id=460194
+Patch from 
http://svn.gnome.org/viewcvs/gtk%2B/trunk/gtk/gtktooltips.c?view=patch&r1=18864&r2=18863&pathrev=18864
+Will be part of gtk+-2.12.1
+
+--- trunk/gtk/gtktooltips.c    2007/09/24 17:13:40     18863
++++ trunk/gtk/gtktooltips.c    2007/09/24 18:23:01     18864
+@@ -230,6 +230,7 @@
+     }
+
+   if (tooltips->active_tips_data
++      && tooltipsdata
+       && tooltips->active_tips_data->widget == widget
+       && GTK_WIDGET_DRAWABLE (tooltips->active_tips_data->widget))
+     {
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to