summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2009-08-02 21:21:14 +0000
committerGilles Dartiguelongue <eva@gentoo.org>2009-08-02 21:21:14 +0000
commitd7e6a143a21537d681d15785784af8038eba230b (patch)
tree13c45a83e7cba6398cd4e7a6f9241015bb89f040 /app-office
parentInvalid entry. ACKd by Alexis Ballier. (diff)
downloadhistorical-d7e6a143a21537d681d15785784af8038eba230b.tar.gz
historical-d7e6a143a21537d681d15785784af8038eba230b.tar.bz2
historical-d7e6a143a21537d681d15785784af8038eba230b.zip
Version bump. Fix gtk+ 2.16 compatibility issues, bug #278502. Remove useless .la files.
Package-Manager: portage-2.2_rc33/cvs/Linux x86_64
Diffstat (limited to 'app-office')
-rw-r--r--app-office/gnumeric/ChangeLog11
-rw-r--r--app-office/gnumeric/Manifest15
-rw-r--r--app-office/gnumeric/files/gnumeric-1.8.4-gtk216-abi-spinbuttons.patch291
-rw-r--r--app-office/gnumeric/files/gnumeric-1.8.4-gtk216-im-block.patch241
-rw-r--r--app-office/gnumeric/gnumeric-1.8.4-r2.ebuild102
5 files changed, 658 insertions, 2 deletions
diff --git a/app-office/gnumeric/ChangeLog b/app-office/gnumeric/ChangeLog
index 9e7b7d524a0e..024b185b99db 100644
--- a/app-office/gnumeric/ChangeLog
+++ b/app-office/gnumeric/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for app-office/gnumeric
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/gnumeric/ChangeLog,v 1.189 2009/06/28 19:09:20 mrpouet Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-office/gnumeric/ChangeLog,v 1.190 2009/08/02 21:21:14 eva Exp $
+
+*gnumeric-1.8.4-r2 (02 Aug 2009)
+
+ 02 Aug 2009; Gilles Dartiguelongue <eva@gentoo.org>
+ +gnumeric-1.8.4-r2.ebuild,
+ +files/gnumeric-1.8.4-gtk216-abi-spinbuttons.patch,
+ +files/gnumeric-1.8.4-gtk216-im-block.patch:
+ Version bump. Fix gtk+ 2.16 compatibility issues, bug #278502. Remove
+ useless .la files.
28 Jun 2009; Romain Perier <mrpouet@gentoo.org>
gnumeric-1.8.4-r1.ebuild:
diff --git a/app-office/gnumeric/Manifest b/app-office/gnumeric/Manifest
index 985bcb34d24b..65aa2d16a351 100644
--- a/app-office/gnumeric/Manifest
+++ b/app-office/gnumeric/Manifest
@@ -1,5 +1,18 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX gnumeric-1.8.4-CVE-2009-0318.patch 626 RMD160 ec133b7ec03d9ea2b14a9d2bcb2798f624173744 SHA1 8a4237843309e1bf5b47dd1fbb3e69ecaccd4aa8 SHA256 fab335e4db5f17f74b110d473ad50b14510d56d43168fc3b84f115d907bba964
+AUX gnumeric-1.8.4-gtk216-abi-spinbuttons.patch 14242 RMD160 5fb5cff75cbaba6b6f8e3dd0ceb48454c16eea38 SHA1 d69b15735fc870d9dc8e246f4c0cb7ff7a89b799 SHA256 e29eadcb5e92c904001fd4af7d23916208e6563ed49da0028c4cf113fc0a9de5
+AUX gnumeric-1.8.4-gtk216-im-block.patch 8431 RMD160 d7d0ecf0104f7670bc8d9a7bcf36913150ed653a SHA1 ac6f2dc7d0a480dd6197597d1e16197635e081a5 SHA256 2029b766687c3d59ef5c9e6e8c8606451e15f1962a7257af30fd29bb27e4e59a
DIST gnumeric-1.8.4.tar.bz2 14087780 RMD160 461ea59b2ce30d2ce7dd5bca2cea2c50b955dc57 SHA1 2d765b0d06509e0695c4d3ec96b94f8acba88735 SHA256 a3c7fdbbafa6c9cfee7f16c067b043c3041cd0240292aa92b653a2221ae04503
EBUILD gnumeric-1.8.4-r1.ebuild 2102 RMD160 13a599d55f7cc23620209eed2bac56b81fc805c8 SHA1 b932ec7cd86ed2f76e4383e84457cd69b6ad8ce7 SHA256 72e7c08a2f705d909b2d89c22bf7bd5267afbd51a94ee2b6b2a8ff4ac1db15b0
-MISC ChangeLog 25499 RMD160 b7a59f4b3963ca4685418f535c2f1a9436c178c2 SHA1 ac6e6371b4f7eebf1aea7dc7e3592736bb98103f SHA256 187503fc3a087772a42b580c21fb8fd66ab2a0ca1333d5d47e45afcaee34cf31
+EBUILD gnumeric-1.8.4-r2.ebuild 2358 RMD160 5e03cfe517b3a883f624ee0644175813ef4376cf SHA1 8954c155ddc4a3cd593b92d7e9e15a1dc3a2484c SHA256 9b9e464716d612876f49aa154988a38c02b929017630b6299465073c43b749b8
+MISC ChangeLog 25807 RMD160 afb44d2a926d9125f9be7ecd13c65c49b5f9aef3 SHA1 cb6cb806bda2348c1d68d1a3703029dfa15890f7 SHA256 197209fd61a74e5d72b356f29859dcbc4993f48b350b5949213a168369e0e53b
MISC metadata.xml 364 RMD160 864c3698f6ae825aa9badd409f07ff4499cbf0f1 SHA1 39dbd02b506842082781dd6d08dceb3abaf20046 SHA256 d230daad082bc155b5f1dd6cfdfd4e1aa2584227b385e9c57a17db57e9bc940f
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.11 (GNU/Linux)
+
+iEYEARECAAYFAkp2A1AACgkQ1fmVwcYIWAYHtwCg37I5Ks/RUFVovV3+JL4YDpOl
+HQcAn0uQF3k7FqbpTKhv/DgnJEfGtupd
+=NEEa
+-----END PGP SIGNATURE-----
diff --git a/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-abi-spinbuttons.patch b/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-abi-spinbuttons.patch
new file mode 100644
index 000000000000..282d2c66ac8d
--- /dev/null
+++ b/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-abi-spinbuttons.patch
@@ -0,0 +1,291 @@
+From 75fe906cb0afce76a47338415773a6d4c5f07c5c Mon Sep 17 00:00:00 2001
+From: Morten Welinder <terra@gnome.org>
+Date: Thu, 30 Apr 2009 19:04:49 -0400
+Subject: [PATCH 1/1] Work around gtk+ 2.16 ABI break re spinbuttons.
+
+---
+ src/dialogs/anova-one.glade | 3 +--
+ src/dialogs/anova-two.glade | 3 +--
+ src/dialogs/cell-format.glade | 3 +--
+ src/dialogs/col-width.glade | 3 +--
+ src/dialogs/descriptive-stats.glade | 3 +--
+ src/dialogs/dialog-stf.glade | 6 ++----
+ src/dialogs/dialog-zoom.glade | 3 +--
+ src/dialogs/print.glade | 9 +++------
+ src/dialogs/row-height.glade | 3 +--
+ src/dialogs/simulation.glade | 12 ++++--------
+ src/dialogs/so-scrollbar.glade | 12 ++++--------
+ src/dialogs/solver.glade | 6 ++----
+ 12 files changed, 22 insertions(+), 44 deletions(-)
+
+diff --git a/src/dialogs/anova-one.glade b/src/dialogs/anova-one.glade
+index cf95a5b..a822db5 100644
+--- a/src/dialogs/anova-one.glade
++++ b/src/dialogs/anova-one.glade
+@@ -318,8 +318,7 @@
+ <property name="update_policy">GTK_UPDATE_IF_VALID</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">0.05 0 1 0.01 10 10</property>
+- </widget>
++ <property name="adjustment">0.05 0 1 0.01 10 0</property> </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+diff --git a/src/dialogs/anova-two.glade b/src/dialogs/anova-two.glade
+index 3b101fb..c25e425 100644
+--- a/src/dialogs/anova-two.glade
++++ b/src/dialogs/anova-two.glade
+@@ -263,8 +263,7 @@
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">0.05 0 1 0.01 0.05 0.05</property>
+- </widget>
++ <property name="adjustment">0.05 0 1 0.01 0.05 0</property> </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+diff --git a/src/dialogs/cell-format.glade b/src/dialogs/cell-format.glade
+index be30f4f..968754d 100644
+--- a/src/dialogs/cell-format.glade
++++ b/src/dialogs/cell-format.glade
+@@ -356,8 +356,7 @@
+ <property name="update_policy">GTK_UPDATE_IF_VALID</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">0 0 20 1 10 10</property>
+- </widget>
++ <property name="adjustment">0 0 20 1 10 0</property> </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+diff --git a/src/dialogs/col-width.glade b/src/dialogs/col-width.glade
+index 907a629..f87b21a 100644
+--- a/src/dialogs/col-width.glade
++++ b/src/dialogs/col-width.glade
+@@ -148,8 +148,7 @@
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">5 5 1000 1 5 5</property>
+- </widget>
++ <property name="adjustment">5 5 1000 1 5 0</property> </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+diff --git a/src/dialogs/descriptive-stats.glade b/src/dialogs/descriptive-stats.glade
+index 9653553..35bde2c 100644
+--- a/src/dialogs/descriptive-stats.glade
++++ b/src/dialogs/descriptive-stats.glade
+@@ -474,8 +474,7 @@
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">0.05 0 1 0.01 10 10</property>
+- </widget>
++ <property name="adjustment">0.05 0 1 0.01 10 0</property> </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+diff --git a/src/dialogs/dialog-stf.glade b/src/dialogs/dialog-stf.glade
+index 0673cdd..77c7acd 100644
+--- a/src/dialogs/dialog-stf.glade
++++ b/src/dialogs/dialog-stf.glade
+@@ -515,8 +515,7 @@
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">1 1 100 1 10 10</property>
+- </widget>
++ <property name="adjustment">1 1 100 1 10 0</property> </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+@@ -557,8 +556,7 @@
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">1 1 100 1 10 10</property>
+- </widget>
++ <property name="adjustment">1 1 100 1 10 0</property> </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+diff --git a/src/dialogs/dialog-zoom.glade b/src/dialogs/dialog-zoom.glade
+index 30e65cc..3cd716a 100644
+--- a/src/dialogs/dialog-zoom.glade
++++ b/src/dialogs/dialog-zoom.glade
+@@ -254,8 +254,7 @@
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">100 10 500 5 25 25</property>
+- </widget>
++ <property name="adjustment">100 10 500 5 25 0</property> </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+diff --git a/src/dialogs/print.glade b/src/dialogs/print.glade
+index 196ffd0..f2a1662 100644
+--- a/src/dialogs/print.glade
++++ b/src/dialogs/print.glade
+@@ -698,8 +698,7 @@
+ <widget class="GtkSpinButton" id="scale-h-spin">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+- <property name="adjustment">1 1 100 1 10 10</property>
+- <property name="climb_rate">1</property>
++ <property name="adjustment">1 1 100 1 10 0</property> <property name="climb_rate">1</property>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+@@ -747,8 +746,7 @@
+ <widget class="GtkSpinButton" id="scale-v-spin">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+- <property name="adjustment">1 1 100 1 10 10</property>
+- <property name="climb_rate">1</property>
++ <property name="adjustment">1 1 100 1 10 0</property> <property name="climb_rate">1</property>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+@@ -792,8 +790,7 @@
+ <widget class="GtkSpinButton" id="scale-percent-spin">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+- <property name="adjustment">10 10 1000 1 10 10</property>
+- <property name="climb_rate">1</property>
++ <property name="adjustment">10 10 1000 1 10 0</property> <property name="climb_rate">1</property>
+ <property name="digits">1</property>
+ <property name="numeric">True</property>
+ </widget>
+diff --git a/src/dialogs/row-height.glade b/src/dialogs/row-height.glade
+index 71e62b0..3004d87 100644
+--- a/src/dialogs/row-height.glade
++++ b/src/dialogs/row-height.glade
+@@ -149,8 +149,7 @@
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">5 5 1000 1 5 5</property>
+- </widget>
++ <property name="adjustment">5 5 1000 1 5 0</property> </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+diff --git a/src/dialogs/simulation.glade b/src/dialogs/simulation.glade
+index d084dfc..356c90b 100644
+--- a/src/dialogs/simulation.glade
++++ b/src/dialogs/simulation.glade
+@@ -345,8 +345,7 @@
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">10 1 36000 10 10 10</property>
+- </widget>
++ <property name="adjustment">10 1 36000 10 10 0</property> </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+@@ -366,8 +365,7 @@
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">1000 1 1e+10 1000 10 10</property>
+- </widget>
++ <property name="adjustment">1000 1 1e+10 1000 10 0</property> </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+@@ -387,8 +385,7 @@
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">1 1 1e+08 1 10 10</property>
+- </widget>
++ <property name="adjustment">1 1 1e+08 1 10 0</property> </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+@@ -408,8 +405,7 @@
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">1 1 1e+08 1 10 10</property>
+- </widget>
++ <property name="adjustment">1 1 1e+08 1 10 0</property> </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+diff --git a/src/dialogs/so-scrollbar.glade b/src/dialogs/so-scrollbar.glade
+index f4d7de2..8890bbb 100644
+--- a/src/dialogs/so-scrollbar.glade
++++ b/src/dialogs/so-scrollbar.glade
+@@ -194,8 +194,7 @@
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">0 0 3001 1 10 1</property>
+- <accessibility>
++ <property name="adjustment">0 0 3001 1 10 0</property> <accessibility>
+ <atkrelation target="label_min" type="labelled-by"/>
+ </accessibility>
+ </widget>
+@@ -218,8 +217,7 @@
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">0 0 3001 1 10 1</property>
+- <accessibility>
++ <property name="adjustment">0 0 3001 1 10 0</property> <accessibility>
+ <atkrelation target="label_max" type="labelled-by"/>
+ </accessibility>
+ </widget>
+@@ -242,8 +240,7 @@
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">0 0 3001 1 10 1</property>
+- <accessibility>
++ <property name="adjustment">0 0 3001 1 10 0</property> <accessibility>
+ <atkrelation target="label_increment" type="labelled-by"/>
+ </accessibility>
+ </widget>
+@@ -266,8 +263,7 @@
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">0 0 3001 1 10 1</property>
+- <accessibility>
++ <property name="adjustment">0 0 3001 1 10 0</property> <accessibility>
+ <atkrelation target="label_page" type="labelled-by"/>
+ </accessibility>
+ </widget>
+diff --git a/src/dialogs/solver.glade b/src/dialogs/solver.glade
+index 66eab7c..b58fdf3 100644
+--- a/src/dialogs/solver.glade
++++ b/src/dialogs/solver.glade
+@@ -668,8 +668,7 @@ Bool
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">100 1 1e+10 10 10 10</property>
+- </widget>
++ <property name="adjustment">100 1 1e+10 10 10 0</property> </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+@@ -689,8 +688,7 @@ Bool
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+- <property name="adjustment">30 1 36000 10 10 10</property>
+- </widget>
++ <property name="adjustment">30 1 36000 10 10 0</property> </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+--
+1.6.3.3
+
diff --git a/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-im-block.patch b/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-im-block.patch
new file mode 100644
index 000000000000..5a3b6e48aff5
--- /dev/null
+++ b/app-office/gnumeric/files/gnumeric-1.8.4-gtk216-im-block.patch
@@ -0,0 +1,241 @@
+From 9932dc2cafe66b752e965175a3cbe9889819feb5 Mon Sep 17 00:00:00 2001
+From: Jody Goldberg <jody@gnome.org>
+Date: Sat, 14 Mar 2009 22:21:18 +0000
+Subject: [PATCH 1/1] clear the 'im_block_edit_start' flag. (gnm_pane_unrealize) : set the flag.
+
+2009-03-13 Jody Goldberg <jody@gnome.org>
+
+ * src/gnm-pane.c (gnm_pane_realize) : clear the 'im_block_edit_start' flag.
+ (gnm_pane_unrealize) : set the flag.
+
+ * src/application.c (gnm_app_add_extra_ui) : take a group name.
+ (gnm_app_remove_extra_ui) : patch minor leak.
+ * src/gnm-plugin.c (plugin_service_ui_activate) : use the supplied
+ group name rather than a static name that is shared between all
+ custom ui.
+
+
+
+svn path=/branches/gnumeric-1-8/; revision=17206
+---
+ src/application.c | 6 +++++-
+ src/application.h | 4 +++-
+ src/gnm-pane-impl.h | 7 +++----
+ src/gnm-pane.c | 40 ++++++++++++++++++++++++++++------------
+ src/gnm-plugin.c | 6 ++++--
+ src/wbc-gtk.c | 2 +-
+ 6 files changed, 44 insertions(+), 21 deletions(-)
+
+diff --git a/src/application.c b/src/application.c
+index fccd626..04a47e7 100644
+--- a/src/application.c
++++ b/src/application.c
+@@ -815,12 +815,14 @@ gnm_action_free (GnmAction *action)
+ }
+
+ GnmAppExtraUI *
+-gnm_app_add_extra_ui (GSList *actions, char *layout,
++gnm_app_add_extra_ui (char const *group_name,
++ GSList *actions, char *layout,
+ char const *domain,
+ gpointer user_data)
+ {
+ GnmAppExtraUI *extra_ui = g_new0 (GnmAppExtraUI, 1);
+ extra_uis = g_slist_prepend (extra_uis, extra_ui);
++ extra_ui->group_name = g_strdup (group_name);
+ extra_ui->actions = actions;
+ extra_ui->layout = layout;
+ extra_ui->user_data = user_data;
+@@ -832,6 +834,8 @@ void
+ gnm_app_remove_extra_ui (GnmAppExtraUI *extra_ui)
+ {
+ g_signal_emit (G_OBJECT (app), signals [CUSTOM_UI_REMOVED], 0, extra_ui);
++ g_free (extra_ui->group_name);
++ g_free (extra_ui);
+ }
+
+ void
+diff --git a/src/application.h b/src/application.h
+index 18d8837..ccf7c01 100644
+--- a/src/application.h
++++ b/src/application.h
+@@ -79,6 +79,7 @@ struct _GnmAction {
+ GnmActionHandler handler;
+ };
+ typedef struct {
++ char const *group_name;
+ GSList *actions;
+ char *layout;
+ char const *domain;
+@@ -90,7 +91,8 @@ GnmAction *gnm_action_new (char const *name, char const *label,
+ GnmActionHandler handler);
+ void gnm_action_free (GnmAction *action);
+
+-GnmAppExtraUI *gnm_app_add_extra_ui (GSList *actions, char *layout,
++GnmAppExtraUI *gnm_app_add_extra_ui (char const *group_name,
++ GSList *actions, char *layout,
+ char const *domain,
+ gpointer user_data);
+ void gnm_app_remove_extra_ui (GnmAppExtraUI *extra_ui);
+diff --git a/src/gnm-pane-impl.h b/src/gnm-pane-impl.h
+index 90578b8..a38e2dc 100644
+--- a/src/gnm-pane-impl.h
++++ b/src/gnm-pane-impl.h
+@@ -30,14 +30,13 @@ struct _GnmPane {
+ gboolean sliding_adjacent_h, sliding_adjacent_v;
+
+ /* IM */
+- guint reseting_im :1; /* quick hack to keep gtk_im_context_reset from starting an edit */
++ guint im_block_edit_start :1; /* see gnm_pane_key_press for details */
++ guint im_first_focus :1; /* see gnm_pane_init for details */
+ guint preedit_length;
+ GtkIMContext *im_context;
+ PangoAttrList *preedit_attrs;
+- gboolean insert_decimal;
+-
+-
+
++ gboolean insert_decimal;
+
+ int index;
+ struct {
+diff --git a/src/gnm-pane.c b/src/gnm-pane.c
+index 68be0d4..58f1579 100644
+--- a/src/gnm-pane.c
++++ b/src/gnm-pane.c
+@@ -587,11 +587,15 @@ gnm_pane_key_press (GtkWidget *widget, GdkEventKey *event)
+ event->keyval == GDK_KP_Decimal ||
+ event->keyval == GDK_KP_Separator;
+
+- if (gtk_im_context_filter_keypress (pane->im_context,event))
++ if (gtk_im_context_filter_keypress (pane->im_context, event))
+ return TRUE;
+- pane->reseting_im = TRUE;
++
++ /* in gtk-2.8 something changed. gtk_im_context_reset started
++ * triggering a pre-edit-changed. We'd end up start and finishing an
++ * empty edit every time the cursor moved */
++ pane->im_block_edit_start = TRUE;
+ gtk_im_context_reset (pane->im_context);
+- pane->reseting_im = FALSE;
++ pane->im_block_edit_start = FALSE;
+
+ if (gnm_pane_key_mode_sheet (pane, event, allow_rangesel))
+ return TRUE;
+@@ -628,7 +632,17 @@ static gint
+ gnm_pane_focus_in (GtkWidget *widget, GdkEventFocus *event)
+ {
+ #ifndef GNM_USE_HILDON
++ /* The first call to focus-in was sometimes the first thing to init the
++ * imcontext. In which case the im_context_focus_in would fire a
++ * preedit-changed, and we would start editing. */
++ GnmPane *pane = GNM_PANE (widget);
++ if (pane->im_first_focus)
++ pane->im_block_edit_start = TRUE;
+ gtk_im_context_focus_in (GNM_PANE (widget)->im_context);
++ if (pane->im_first_focus) {
++ pane->im_first_focus = FALSE;
++ pane->im_block_edit_start = FALSE;
++ }
+ #endif
+ return (*GTK_WIDGET_CLASS (parent_klass)->focus_in_event) (widget, event);
+ }
+@@ -645,6 +659,8 @@ gnm_pane_realize (GtkWidget *w)
+ {
+ GtkStyle *style;
+
++ GNM_PANE (w)->im_block_edit_start = FALSE;
++
+ if (GTK_WIDGET_CLASS (parent_klass)->realize)
+ (*GTK_WIDGET_CLASS (parent_klass)->realize) (w);
+
+@@ -667,8 +683,10 @@ gnm_pane_unrealize (GtkWidget *widget)
+ pane = GNM_PANE (widget);
+ g_return_if_fail (pane != NULL);
+
+- if (pane->im_context)
++ if (pane->im_context) {
++ pane->im_block_edit_start = TRUE;
+ gtk_im_context_set_client_window (pane->im_context, NULL);
++ }
+
+ (*GTK_WIDGET_CLASS (parent_klass)->unrealize)(widget);
+ }
+@@ -733,10 +751,7 @@ cb_gnm_pane_preedit_changed (GtkIMContext *context, GnmPane *pane)
+ pango_attr_list_unref (pane->preedit_attrs);
+ gtk_im_context_get_preedit_string (pane->im_context, &preedit_string, &pane->preedit_attrs, &cursor_pos);
+
+- /* in gtk-2.8 something changed. gtk_im_context_reset started
+- * triggering a pre-edit-changed. We'd end up start and finishing an
+- * empty edit every time the cursor moved */
+- if (!pane->reseting_im &&
++ if (!pane->im_block_edit_start &&
+ !wbcg_is_editing (wbcg) && !wbcg_edit_start (wbcg, TRUE, TRUE)) {
+ gtk_im_context_reset (pane->im_context);
+ pane->preedit_length = 0;
+@@ -911,8 +926,9 @@ gnm_pane_init (GnmPane *pane)
+
+ pane->im_context = gtk_im_multicontext_new ();
+ pane->preedit_length = 0;
+- pane->preedit_attrs = NULL;
+- pane->reseting_im = FALSE;
++ pane->preedit_attrs = NULL;
++ pane->im_block_edit_start = FALSE;
++ pane->im_first_focus = TRUE;
+
+ GTK_WIDGET_SET_FLAGS (canvas, GTK_CAN_FOCUS);
+ GTK_WIDGET_SET_FLAGS (canvas, GTK_CAN_DEFAULT);
+@@ -2062,9 +2078,9 @@ gnm_pane_size_guide_start (GnmPane *pane, gboolean vert, int colrow, int width)
+ "width-pixels", 1,
+ NULL);
+ else {
+- static char const dat [] = { 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88 };
++ static unsigned char const dat [] = { 0x22, 0x88, 0x22, 0x88, 0x22, 0x88, 0x22, 0x88 };
+ GdkBitmap *stipple = gdk_bitmap_create_from_data (
+- GTK_WIDGET (pane)->window, dat, 8, 8);
++ GTK_WIDGET (pane)->window, (const gchar *)dat, 8, 8);
+ foo_canvas_item_set (pane->size_guide.guide, "fill-stipple", stipple, NULL);
+ g_object_unref (stipple);
+ }
+diff --git a/src/gnm-plugin.c b/src/gnm-plugin.c
+index d546a39..dd659bd 100644
+--- a/src/gnm-plugin.c
++++ b/src/gnm-plugin.c
+@@ -363,7 +363,7 @@ plugin_service_ui_activate (GOPluginService *service, ErrorInfo **ret_error)
+ PluginServiceUI *service_ui = GNM_PLUGIN_SERVICE_UI (service);
+ GError *err = NULL;
+ char *full_file_name;
+- char *xml_ui;
++ char *xml_ui, *group_name;
+ char const *textdomain;
+
+ GO_INIT_RET_ERROR_INFO (ret_error);
+@@ -380,9 +380,11 @@ plugin_service_ui_activate (GOPluginService *service, ErrorInfo **ret_error)
+ g_free (full_file_name);
+
+ textdomain = go_plugin_get_textdomain (service->plugin);
+- service_ui->layout_id = gnm_app_add_extra_ui (
++ group_name = g_strconcat (go_plugin_get_id (service->plugin), service->id, NULL);
++ service_ui->layout_id = gnm_app_add_extra_ui (group_name,
+ service_ui->actions,
+ xml_ui, textdomain, service);
++ g_free (group_name);
+ service->is_active = TRUE;
+ }
+
+diff --git a/src/wbc-gtk.c b/src/wbc-gtk.c
+index 6a7db0c..d687aa8 100644
+--- a/src/wbc-gtk.c
++++ b/src/wbc-gtk.c
+@@ -3010,7 +3010,7 @@ cb_add_custom_ui (G_GNUC_UNUSED GnmApp *app,
+ GtkAction *res;
+
+ details = g_new0 (CustomUIHandle, 1);
+- details->actions = gtk_action_group_new ("DummyName");
++ details->actions = gtk_action_group_new (extra_ui->group_name);
+
+ for (ptr = extra_ui->actions; ptr != NULL ; ptr = ptr->next) {
+ action = ptr->data;
+--
+1.6.3.3
+
diff --git a/app-office/gnumeric/gnumeric-1.8.4-r2.ebuild b/app-office/gnumeric/gnumeric-1.8.4-r2.ebuild
new file mode 100644
index 000000000000..d11b644324fd
--- /dev/null
+++ b/app-office/gnumeric/gnumeric-1.8.4-r2.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-office/gnumeric/gnumeric-1.8.4-r2.ebuild,v 1.1 2009/08/02 21:21:14 eva Exp $
+
+EAPI="2"
+
+inherit gnome2 flag-o-matic python autotools
+
+DESCRIPTION="Gnumeric, the GNOME Spreadsheet"
+HOMEPAGE="http://www.gnome.org/projects/gnumeric/"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+
+IUSE="gnome perl python"
+# bonobo guile libgda mono (experimental)
+
+# lots of missing files, wait for next release
+RESTRICT="test"
+
+RDEPEND="sys-libs/zlib
+ app-arch/bzip2
+ >=dev-libs/glib-2.6
+ >=gnome-extra/libgsf-1.14.6[gnome?]
+ >=x11-libs/goffice-0.6.3
+ >=dev-libs/libxml2-2.4.12
+ >=x11-libs/pango-1.8.1
+
+ >=x11-libs/gtk+-2.16
+ x11-libs/cairo[svg]
+ >=gnome-base/libglade-2.3.6
+ >=media-libs/libart_lgpl-2.3.11
+
+ gnome? (
+ >=gnome-base/gconf-2
+ >=gnome-base/libgnome-2
+ >=gnome-base/libgnomeui-2
+ >=gnome-base/libbonobo-2.2
+ >=gnome-base/libbonoboui-2.2 )
+ perl? ( dev-lang/perl )
+ python? (
+ >=dev-lang/python-2
+ >=dev-python/pygtk-2 )"
+ # libgda? (
+ # >=gnome-extra/libgda-3.1.1
+ # >=gnome-extra/libgnomedb-3.0.1 )
+
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.29
+ >=dev-util/pkgconfig-0.18
+ app-text/scrollkeeper"
+
+DOCS="AUTHORS BEVERAGES BUGS ChangeLog HACKING MAINTAINERS NEWS README"
+
+pkg_setup() {
+ G2CONF="${G2CONF}
+ --enable-ssindex
+ --disable-static
+ --without-gda
+ --without-guile
+ --without-mono
+ --with-zlib
+ $(use_with perl)
+ $(use_with python)
+ $(use_with gnome)"
+
+ # gcc bug (http://bugs.gnome.org/show_bug.cgi?id=128834)
+ replace-flags "-Os" "-O2"
+}
+
+src_prepare() {
+ # Fix for CVE-2009-0318, bug #257012
+ epatch "${FILESDIR}/${P}-CVE-2009-0318.patch"
+
+ # Fix gtk+ 2.16 ABI changs wrt spinbuttons
+ epatch "${FILESDIR}/${P}-gtk216-abi-spinbuttons.patch"
+
+ # Fix gtk+-2.16 semantic changes, bug #278502
+ epatch "${FILESDIR}/${P}-gtk216-im-block.patch"
+
+ # Fix #275352 (the sed expression didn't work !)
+ intltoolize --automake --copy --force || die "intltoolize failed"
+ eautoreconf
+}
+
+src_install() {
+ gnome2_src_install
+
+ # Remove useless .la files
+ find "${D}" -name "*.la" -delete
+
+ # make gnumeric find its help
+ dosym \
+ /usr/share/gnome/help/gnumeric \
+ /usr/share/${PN}/${PV}/doc
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+ python_need_rebuild
+}