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
