- update to vte-0.38.0, this breaks the API as they move to vte-2.91.

breakage will be dealt with shortly
This commit is contained in:
jasper 2014-10-06 07:24:33 +00:00
parent 720b4cce66
commit f25ed58e27
5 changed files with 31 additions and 211 deletions

View File

@ -1,31 +1,30 @@
# $OpenBSD: Makefile,v 1.49 2014/09/15 07:06:29 jasper Exp $
# $OpenBSD: Makefile,v 1.50 2014/10/06 07:24:33 jasper Exp $
SHARED_ONLY= Yes
COMMENT= terminal emulation library
GNOME_PROJECT= vte
GNOME_VERSION= 0.36.3
REVISION= 1
API_V= 2.90
GNOME_VERSION= 0.38.0
API_V= 2.91
PKGNAME= vte3-${GNOME_VERSION}
SHARED_LIBS += vte2_90 1.0 # 3609.0
SHARED_LIBS += vte-2.91 0.0 # 3800.0
CATEGORIES= devel
MAINTAINER= Jasper Lievisse Adriaanse <jasper@openbsd.org>, \
Antoine Jacoutot <ajacoutot@openbsd.org>
# LGPLv2
# LGPLv2.1
PERMIT_PACKAGE_CDROM= Yes
WANTLIB += ICE SM X11 Xcomposite Xcursor Xdamage Xext Xfixes Xi
WANTLIB += Xinerama Xrandr Xrender atk-1.0 atk-bridge-2.0 atspi
WANTLIB += c cairo cairo-gobject dbus-1 expat ffi fontconfig freetype
WANTLIB += gdk-3 gdk_pixbuf-2.0 gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0
WANTLIB += graphite2 gthread-2.0 gtk-3 harfbuzz m ncurses pango-1.0
WANTLIB += graphite2 gthread-2.0 gtk-3 harfbuzz m pango-1.0
WANTLIB += pangocairo-1.0 pangoft2-1.0 pcre pixman-1 png pthread
WANTLIB += pthread-stubs util xcb xcb-render xcb-shm z
@ -41,6 +40,7 @@ MODGNU_CONFIG_GUESS_DIRS= \
${WRKSRC}/gnome-pty-helper
CONFIGURE_STYLE= gnu
CONFIGURE_ARGS+= --enable-gnome-pty-helper
# error: -Bsymbolic requested but not supported by ld
CONFIGURE_ARGS += --disable-Bsymbolic

View File

@ -1,2 +1,2 @@
SHA256 (vte-0.36.3.tar.xz) = VOWwe+PA97FYMC9U7nnU3hywAvQlm2ZCt5seDjFKlZw=
SIZE (vte-0.36.3.tar.xz) = 1013412
SHA256 (vte-0.38.0.tar.xz) = XP/yjck2ToL1EpN5bVQckikpl2YoMoPaBsPYK20Xj9I=
SIZE (vte-0.38.0.tar.xz) = 1003184

View File

@ -1,189 +0,0 @@
$OpenBSD: patch-src_vteaccess_c,v 1.2 2014/08/10 08:05:35 ajacoutot Exp $
From 4664d7c24eb16cddf8546e5049537af12a5cb348 Mon Sep 17 00:00:00 2001
From: Egmont Koblinger <egmont@gmail.com>
Date: Mon, 4 Aug 2014 15:09:39 +0200
Subject: a11y: Fix a crash at text deletion
--- src/vteaccess.c.orig Mon Jun 23 19:26:54 2014
+++ src/vteaccess.c Wed Aug 6 11:32:09 2014
@@ -236,7 +236,8 @@ emit_text_changed_delete(GObject *object,
static void
vte_terminal_accessible_update_private_data_if_needed(AtkObject *text,
- char **old, glong *olen)
+ GString **old_text,
+ GArray **old_characters)
{
VteTerminal *terminal;
VteTerminalAccessiblePrivate *priv;
@@ -256,25 +257,23 @@ vte_terminal_accessible_update_private_data_if_needed(
/* If nothing's changed, just return immediately. */
if ((priv->snapshot_contents_invalid == FALSE) &&
(priv->snapshot_caret_invalid == FALSE)) {
- if (old) {
+ if (old_text) {
if (priv->snapshot_text) {
- *old = g_malloc(priv->snapshot_text->len + 1);
- memcpy(*old,
- priv->snapshot_text->str,
- priv->snapshot_text->len);
- (*old)[priv->snapshot_text->len] = '\0';
- if (olen) {
- *olen = priv->snapshot_text->len;
- }
+ *old_text = g_string_new_len(priv->snapshot_text->str,
+ priv->snapshot_text->len);
} else {
- *old = g_strdup("");
- if (olen) {
- *olen = 0;
- }
+ *old_text = g_string_new("");
}
- } else {
- if (olen) {
- g_assert_not_reached();
+ }
+ if (old_characters) {
+ if (priv->snapshot_characters) {
+ *old_characters = g_array_sized_new(FALSE, FALSE, sizeof(int),
+ priv->snapshot_characters->len);
+ g_array_append_vals(*old_characters,
+ priv->snapshot_characters->data,
+ priv->snapshot_characters->len);
+ } else {
+ *old_characters = g_array_new(FALSE, FALSE, sizeof(int));
}
}
return;
@@ -285,33 +284,31 @@ vte_terminal_accessible_update_private_data_if_needed(
if (priv->snapshot_contents_invalid) {
/* Free the outdated snapshot data, unless the caller
* wants it. */
- if (old) {
+ if (old_text) {
if (priv->snapshot_text != NULL) {
- *old = priv->snapshot_text->str;
- if (olen) {
- *olen = priv->snapshot_text->len;
- }
- g_string_free(priv->snapshot_text, FALSE);
+ *old_text = priv->snapshot_text;
} else {
- *old = g_strdup("");
- if (olen) {
- *olen = 0;
- }
+ *old_text = g_string_new("");
}
} else {
- if (olen) {
- g_assert_not_reached();
- }
if (priv->snapshot_text != NULL) {
g_string_free(priv->snapshot_text, TRUE);
}
}
priv->snapshot_text = NULL;
- /* Free the character offsets and allocate a new array to hold
- * them. */
- if (priv->snapshot_characters != NULL) {
- g_array_free(priv->snapshot_characters, TRUE);
+ /* Free the character offsets unless the caller wants it,
+ * and allocate a new array to hold them. */
+ if (old_characters) {
+ if (priv->snapshot_characters != NULL) {
+ *old_characters = priv->snapshot_characters;
+ } else {
+ *old_characters = g_array_new(FALSE, FALSE, sizeof(int));
+ }
+ } else {
+ if (priv->snapshot_characters != NULL) {
+ g_array_free(priv->snapshot_characters, TRUE);
+ }
}
priv->snapshot_characters = g_array_new(FALSE, FALSE, sizeof(int));
@@ -431,6 +428,8 @@ static void
vte_terminal_accessible_text_modified(VteTerminal *terminal, gpointer data)
{
VteTerminalAccessiblePrivate *priv;
+ GString *old_text;
+ GArray *old_characters;
char *old, *current;
glong offset, caret_offset, olen, clen;
gint old_snapshot_caret;
@@ -444,11 +443,15 @@ vte_terminal_accessible_text_modified(VteTerminal *ter
old_snapshot_caret = priv->snapshot_caret;
priv->snapshot_contents_invalid = TRUE;
vte_terminal_accessible_update_private_data_if_needed(ATK_OBJECT(data),
- &old, &olen);
- g_assert(old != NULL);
+ &old_text,
+ &old_characters);
+ g_assert(old_text != NULL);
+ g_assert(old_characters != NULL);
current = priv->snapshot_text->str;
clen = priv->snapshot_text->len;
+ old = old_text->str;
+ olen = old_text->len;
if ((guint) priv->snapshot_caret < priv->snapshot_characters->len) {
caret_offset = g_array_index(priv->snapshot_characters,
@@ -471,12 +474,15 @@ vte_terminal_accessible_text_modified(VteTerminal *ter
if ((olen == offset) &&
(caret_offset < olen && old[caret_offset] == ' ') &&
(old_snapshot_caret == priv->snapshot_caret + 1)) {
- priv->snapshot_text->str = old;
- priv->snapshot_text->len = caret_offset + 1;
+ GString *saved_text = priv->snapshot_text;
+ GArray *saved_characters = priv->snapshot_characters;
+
+ priv->snapshot_text = old_text;
+ priv->snapshot_characters = old_characters;
emit_text_changed_delete(G_OBJECT(data),
old, caret_offset, 1);
- priv->snapshot_text->str = current;
- priv->snapshot_text->len = clen;
+ priv->snapshot_text = saved_text;
+ priv->snapshot_characters = saved_characters;
}
@@ -505,17 +511,17 @@ vte_terminal_accessible_text_modified(VteTerminal *ter
/* Now emit a deleted signal for text that was in the old
* string but isn't in the new one... */
if (olen > offset) {
- gchar *saved_str = priv->snapshot_text->str;
- gsize saved_len = priv->snapshot_text->len;
+ GString *saved_text = priv->snapshot_text;
+ GArray *saved_characters = priv->snapshot_characters;
- priv->snapshot_text->str = old;
- priv->snapshot_text->len = olen;
+ priv->snapshot_text = old_text;
+ priv->snapshot_characters = old_characters;
emit_text_changed_delete(G_OBJECT(data),
old,
offset,
olen - offset);
- priv->snapshot_text->str = saved_str;
- priv->snapshot_text->len = saved_len;
+ priv->snapshot_text = saved_text;
+ priv->snapshot_characters = saved_characters;
}
/* .. and an inserted signal for text that wasn't in the old
* string but is in the new one. */
@@ -527,7 +533,8 @@ vte_terminal_accessible_text_modified(VteTerminal *ter
}
}
- g_free(old);
+ g_string_free(old_text, TRUE);
+ g_array_free(old_characters, TRUE);
}
/* A signal handler to catch "text-scrolled" signals. */

View File

@ -0,0 +1,14 @@
$OpenBSD: patch-src_vteterminal_h,v 1.1 2014/10/06 07:24:33 jasper Exp $
https://bugzilla.gnome.org/show_bug.cgi?id=736659
--- src/vteterminal.h.orig Mon Sep 15 08:58:57 2014
+++ src/vteterminal.h Mon Sep 15 08:59:31 2014
@@ -111,7 +111,6 @@ struct _VteTerminalClass {
};
/* The structure we return as the supplemental attributes for strings. */
-typedef struct _VteCharAttributes VteCharAttributes;
struct _VteCharAttributes {
/*< private >*/
long row, column;

View File

@ -1,21 +1,20 @@
@comment $OpenBSD: PLIST,v 1.19 2014/09/15 07:06:29 jasper Exp $
@comment $OpenBSD: PLIST,v 1.20 2014/10/06 07:24:33 jasper Exp $
@conflict vte-<0.28.2p3
@conflict vte-ptyhelper-*
@bin bin/vte2_90
include/vte-${API_V}/
include/vte-${API_V}/vte/
include/vte-${API_V}/vte/pty.h
include/vte-${API_V}/vte/reaper.h
include/vte-${API_V}/vte/vte.h
include/vte-${API_V}/vte/vteaccess.h
include/vte-${API_V}/vte/vtedeprecated.h
include/vte-${API_V}/vte/vteenums.h
include/vte-${API_V}/vte/vteglobals.h
include/vte-${API_V}/vte/vtemacros.h
include/vte-${API_V}/vte/vtepty.h
include/vte-${API_V}/vte/vteterminal.h
include/vte-${API_V}/vte/vtetypebuiltins.h
include/vte-${API_V}/vte/vteversion.h
lib/girepository-1.0/Vte-${API_V}.typelib
lib/libvte2_90.a
lib/libvte2_90.la
@lib lib/libvte2_90.so.${LIBvte2_90_VERSION}
lib/libvte-${API_V}.a
lib/libvte-${API_V}.la
@lib lib/libvte-${API_V}.so.${LIBvte-2.91_VERSION}
lib/pkgconfig/vte-${API_V}.pc
@mode 2555
@group utmp
@ -24,9 +23,7 @@ lib/pkgconfig/vte-${API_V}.pc
@group
share/gir-1.0/Vte-${API_V}.gir
share/gtk-doc/html/vte-${API_V}/
share/gtk-doc/html/vte-${API_V}/VteReaper.html
share/gtk-doc/html/vte-${API_V}/VteTerminal.html
share/gtk-doc/html/vte-${API_V}/VteTerminalAccessible.html
share/gtk-doc/html/vte-${API_V}/annotation-glossary.html
share/gtk-doc/html/vte-${API_V}/api-index-0-20.html
share/gtk-doc/html/vte-${API_V}/api-index-0-24.html
@ -39,11 +36,9 @@ share/gtk-doc/html/vte-${API_V}/api-index-full.html
share/gtk-doc/html/vte-${API_V}/ch01.html
share/gtk-doc/html/vte-${API_V}/ch02.html
share/gtk-doc/html/vte-${API_V}/ch03.html
share/gtk-doc/html/vte-${API_V}/deprecated-objects.html
share/gtk-doc/html/vte-${API_V}/home.png
share/gtk-doc/html/vte-${API_V}/index.html
share/gtk-doc/html/vte-${API_V}/index.sgml
share/gtk-doc/html/vte-${API_V}/internal-objects.html
share/gtk-doc/html/vte-${API_V}/left-insensitive.png
share/gtk-doc/html/vte-${API_V}/left.png
share/gtk-doc/html/vte-${API_V}/licence.html