Fix for bug #323127.
authorThomas Beierlein <tomjbe@gentoo.org>
Tue, 8 Jun 2010 17:14:26 +0000 (17:14 +0000)
committerThomas Beierlein <tomjbe@gentoo.org>
Tue, 8 Jun 2010 17:14:26 +0000 (17:14 +0000)
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64

sci-electronics/geda-gattrib/ChangeLog
sci-electronics/geda-gattrib/Manifest
sci-electronics/geda-gattrib/files/geda-gattrib-1.4.3-gtkentry.patch [new file with mode: 0644]
sci-electronics/geda-gattrib/geda-gattrib-1.4.3-r1.ebuild [new file with mode: 0644]

index f0bf2cbd3af723a5dfbca68835a86bee4c0f20eb..f2d08557b156843a9267cf5ee6555c5982960567 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for sci-electronics/geda-gattrib
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-electronics/geda-gattrib/ChangeLog,v 1.2 2010/03/04 12:51:57 phajdan.jr Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-electronics/geda-gattrib/ChangeLog,v 1.3 2010/06/08 17:14:26 tomjbe Exp $
+
+*geda-gattrib-1.4.3-r1 (08 Jun 2010)
+
+  08 Jun 2010; Thomas Beierlein <tomjbe@gentoo.org>
+  +geda-gattrib-1.4.3-r1.ebuild, +files/geda-gattrib-1.4.3-gtkentry.patch:
+  Fix for bug #323127.
 
   04 Mar 2010; Pawel Hajdan jr <phajdan.jr@gentoo.org>
   geda-gattrib-1.4.3.ebuild:
index 207e5b93e54f52175b25185e4a219adc27807186..454c7d92bb77876616e90aca50f75da932b0dae7 100644 (file)
@@ -1,4 +1,6 @@
+AUX geda-gattrib-1.4.3-gtkentry.patch 4473 RMD160 67c7949c495c16cf842880c49e5f9f50e7258ff6 SHA1 7095f2785c361ff6facedaa59baac650592b7e0b SHA256 3e950ffdfd7c4cf649bec9e9d2bee62176cb382d0e032ae6b1a2de32d691abe3
 DIST geda-gattrib-1.4.3.tar.gz 326641 RMD160 9063e498824bebe57bad18ca99bdf4b02aae1060 SHA1 f3886a41abaddd444eea21e4000b5c495accb85c SHA256 5eb48772d374dad446bfcd69990231fa6c6b52ba9b30048991632557512a7565
+EBUILD geda-gattrib-1.4.3-r1.ebuild 1432 RMD160 ed2bb1a07721397325d7668c6b13441d14313ef4 SHA1 a9de749f56f9b577e384db8bdc6304fca0b0c35d SHA256 fa72c220cdfba1a6a36405606f62ed314a49945906b2d863f537503e5dcd76e3
 EBUILD geda-gattrib-1.4.3.ebuild 1364 RMD160 ebc459b8d27efa6f215d9741073a8ca85599669c SHA1 d0abd0a5cc279cd38dab7f6d9c437cae2d4c9361 SHA256 c8e769d282580986f9d4d0ed6cf33c71ec7f8fbbb4a8a105fe9afe5aece9cfb8
-MISC ChangeLog 546 RMD160 a8b22fe435ae330d6f1fb4af9094cec8478ad09f SHA1 44784cb3635f5bd5628cbfd4c67251686599bc10 SHA256 3600ea46181c653e6135cd6e7575121ab3d9bfe0baec09a891edd9d59d15ad33
+MISC ChangeLog 731 RMD160 4dac0d8065d7e6db53f5bde14c7d3bb4b53cfe7d SHA1 f74e978807f1adf0b053cfba6fe5635bc2628ee5 SHA256 8cc2961ba66349c2968ec206cda2697cb03b5d708ca91f5de6f8e7b4e74a2824
 MISC metadata.xml 758 RMD160 992e1ba9bf8c595c5aadf1fb4b079ae064a664f7 SHA1 105a5e05b44168ed3fddfffe1311f0d5b15f5777 SHA256 d8d5f54b56fcaf68c26bb79a678bcfe3f4416e7a31196ee4775839ffc0209f9e
diff --git a/sci-electronics/geda-gattrib/files/geda-gattrib-1.4.3-gtkentry.patch b/sci-electronics/geda-gattrib/files/geda-gattrib-1.4.3-gtkentry.patch
new file mode 100644 (file)
index 0000000..10d023e
--- /dev/null
@@ -0,0 +1,109 @@
+diff -ur -u geda-gattrib-1.4.3.orig/src/gtkitementry_2_2.c geda-gattrib-1.4.3/src/gtkitementry_2_2.c
+--- geda-gattrib-1.4.3.orig/src/gtkitementry_2_2.c     2010-06-08 16:53:06.000000000 +0000
++++ geda-gattrib-1.4.3/src/gtkitementry_2_2.c  2010-06-08 16:56:16.000000000 +0000
+@@ -811,23 +811,23 @@
+       new_text_length = g_utf8_offset_to_pointer (new_text, n_chars) - new_text;
+     }
+ 
+-  if (new_text_length + entry->n_bytes + 1 > entry->text_size)
++  if (new_text_length + entry->x_n_bytes + 1 > entry->x_text_size)
+     {
+-      while (new_text_length + entry->n_bytes + 1 > entry->text_size)
++      while (new_text_length + entry->x_n_bytes + 1 > entry->x_text_size)
+       {
+-        if (entry->text_size == 0)
+-          entry->text_size = MIN_SIZE;
++        if (entry->x_text_size == 0)
++          entry->x_text_size = MIN_SIZE;
+         else
+           {
+-            if (2 * (guint)entry->text_size < MAX_SIZE &&
+-                2 * (guint)entry->text_size > entry->text_size)
+-              entry->text_size *= 2;
++            if (2 * (guint)entry->x_text_size < MAX_SIZE &&
++                2 * (guint)entry->x_text_size > entry->x_text_size)
++              entry->x_text_size *= 2;
+             else
+               {
+-                entry->text_size = MAX_SIZE;
+-                if (new_text_length > (gint)entry->text_size - (gint)entry->n_bytes - 1)
++                entry->x_text_size = MAX_SIZE;
++                if (new_text_length > (gint)entry->x_text_size - (gint)entry->x_n_bytes - 1)
+                   {
+-                    new_text_length = (gint)entry->text_size - (gint)entry->n_bytes - 1;
++                    new_text_length = (gint)entry->x_text_size - (gint)entry->x_n_bytes - 1;
+                     new_text_length = g_utf8_find_prev_char (new_text, new_text + new_text_length + 1) - new_text;
+                     n_chars = g_utf8_strlen (new_text, new_text_length);
+                   }
+@@ -836,19 +836,19 @@
+           }
+       }
+ 
+-      entry->text = g_realloc (entry->text, entry->text_size);
++      entry->text = g_realloc (entry->text, entry->x_text_size);
+     }
+ 
+   index = g_utf8_offset_to_pointer (entry->text, *position) - entry->text;
+ 
+-  g_memmove (entry->text + index + new_text_length, entry->text + index, entry->n_bytes - index);
++  g_memmove (entry->text + index + new_text_length, entry->text + index, entry->x_n_bytes - index);
+   memcpy (entry->text + index, new_text, new_text_length);
+ 
+-  entry->n_bytes += new_text_length;
++  entry->x_n_bytes += new_text_length;
+   entry->text_length += n_chars;
+ 
+   /* NUL terminate for safety and convenience */
+-  entry->text[entry->n_bytes] = '\0';
++  entry->text[entry->x_n_bytes] = '\0';
+   
+   if (entry->current_pos > *position)
+     entry->current_pos += n_chars;
+@@ -881,9 +881,9 @@
+       gint start_index = g_utf8_offset_to_pointer (entry->text, start_pos) - entry->text;
+       gint end_index = g_utf8_offset_to_pointer (entry->text, end_pos) - entry->text;
+ 
+-      g_memmove (entry->text + start_index, entry->text + end_index, entry->n_bytes + 1 - end_index);
++      g_memmove (entry->text + start_index, entry->text + end_index, entry->x_n_bytes + 1 - end_index);
+       entry->text_length -= (end_pos - start_pos);
+-      entry->n_bytes -= (end_index - start_index);
++      entry->x_n_bytes -= (end_index - start_index);
+       
+       if (entry->current_pos > start_pos)
+       entry->current_pos -= MIN (entry->current_pos, end_pos) - start_pos;
+@@ -1157,7 +1157,7 @@
+ {
+   gtk_im_context_set_surrounding (context,
+                                   entry->text,
+-                                  entry->n_bytes,
++                                  entry->x_n_bytes,
+                                   g_utf8_offset_to_pointer (entry->text, entry->current_pos) - entry->text);
+ 
+   return TRUE;
+@@ -1364,7 +1364,7 @@
+       
+       if (entry->visible)
+         {
+-          g_string_prepend_len (tmp_string, entry->text, entry->n_bytes);
++          g_string_prepend_len (tmp_string, entry->text, entry->x_n_bytes);
+           g_string_insert (tmp_string, cursor_index, preedit_string);
+         }
+       else
+@@ -1373,7 +1373,7 @@
+           gint preedit_len_chars;
+           gunichar invisible_char;
+           
+-          ch_len = g_utf8_strlen (entry->text, entry->n_bytes);
++          ch_len = g_utf8_strlen (entry->text, entry->x_n_bytes);
+           preedit_len_chars = g_utf8_strlen (preedit_string, -1);
+           ch_len += preedit_len_chars;
+ 
+@@ -1407,7 +1407,7 @@
+     {
+       if (entry->visible)
+         {
+-          pango_layout_set_text (layout, entry->text, entry->n_bytes);
++          pango_layout_set_text (layout, entry->text, entry->x_n_bytes);
+         }
+       else
+         {
diff --git a/sci-electronics/geda-gattrib/geda-gattrib-1.4.3-r1.ebuild b/sci-electronics/geda-gattrib/geda-gattrib-1.4.3-r1.ebuild
new file mode 100644 (file)
index 0000000..7c1b904
--- /dev/null
@@ -0,0 +1,56 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-electronics/geda-gattrib/geda-gattrib-1.4.3-r1.ebuild,v 1.1 2010/06/08 17:14:26 tomjbe Exp $
+
+EAPI="2"
+
+inherit eutils fdo-mime versionator
+
+DESCRIPTION="GPL Electronic Design Automation: attribute editor"
+HOMEPAGE="http://www.gpleda.org/"
+SRC_URI="http://geda.seul.org/release/v$(get_version_component_range 1-2)/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="nls"
+
+RDEPEND="=sci-libs/libgeda-${PV}*
+       =sci-electronics/geda-symbols-${PV}*
+       >=dev-libs/glib-2.4
+       >=x11-libs/gtk+-2.4
+       || ( =dev-scheme/guile-1.6* =dev-scheme/guile-1.8*[deprecated] )
+       nls? ( virtual/libintl )"
+
+DEPEND="${RDEPEND}
+       !<sci-electronics/geda-1.4.3-r1
+       >=dev-util/intltool-0.35
+       >=dev-util/pkgconfig-0.9
+       nls? ( sys-devel/gettext )"
+
+src_prepare() {
+       epatch "${FILESDIR}"/${P}-gtkentry.patch
+}
+
+src_configure() {
+       # nls may not work if LINGUAS is set -- upstream bug, they use only variants
+       # like de_DE.po. See Debian bug #336796
+       use nls && unset LINGUAS
+       econf \
+               $(use_enable nls) \
+               --disable-dependency-tracking \
+               --disable-update-desktop-database
+}
+
+src_install() {
+       emake DESTDIR="${D}" install || die "install failed"
+       dodoc AUTHORS BUGS NEWS README
+}
+
+pkg_postinst() {
+       fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+       fdo-mime_desktop_database_update
+}