summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@gentoo.org>2011-08-14 14:16:52 +0000
committerNirbheek Chauhan <nirbheek@gentoo.org>2011-08-14 14:16:52 +0000
commit289bb381bd269b0d0972f6526db50d43c1a8343e (patch)
tree0d21b1a5e510e189569ec017297ffc1144859061 /app-accessibility
parentMove from gnome overlay for GNOME 3 (diff)
downloadgentoo-2-289bb381bd269b0d0972f6526db50d43c1a8343e.tar.gz
gentoo-2-289bb381bd269b0d0972f6526db50d43c1a8343e.tar.bz2
gentoo-2-289bb381bd269b0d0972f6526db50d43c1a8343e.zip
Move from gnome overlay for GNOME 3
(Portage version: 2.2.0_alpha39_p14/cvs/Linux x86_64)
Diffstat (limited to 'app-accessibility')
-rw-r--r--app-accessibility/at-spi2-core/ChangeLog12
-rw-r--r--app-accessibility/at-spi2-core/at-spi2-core-2.0.2-r1.ebuild47
-rw-r--r--app-accessibility/at-spi2-core/files/at-spi2-core-2.0.2-abort-if-already-running.patch88
-rw-r--r--app-accessibility/at-spi2-core/files/at-spi2-core-2.0.2-disable-teamspaces-test.patch13
-rw-r--r--app-accessibility/at-spi2-core/metadata.xml9
5 files changed, 169 insertions, 0 deletions
diff --git a/app-accessibility/at-spi2-core/ChangeLog b/app-accessibility/at-spi2-core/ChangeLog
new file mode 100644
index 000000000000..70eae166ee0d
--- /dev/null
+++ b/app-accessibility/at-spi2-core/ChangeLog
@@ -0,0 +1,12 @@
+# ChangeLog for app-accessibility/at-spi2-core
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-accessibility/at-spi2-core/ChangeLog,v 1.1 2011/08/14 14:16:52 nirbheek Exp $
+
+*at-spi2-core-2.0.2-r1 (14 Aug 2011)
+
+ 14 Aug 2011; Nirbheek Chauhan <nirbheek@gentoo.org>
+ +at-spi2-core-2.0.2-r1.ebuild,
+ +files/at-spi2-core-2.0.2-abort-if-already-running.patch,
+ +files/at-spi2-core-2.0.2-disable-teamspaces-test.patch, +metadata.xml:
+ Move from gnome overlay for GNOME 3
+
diff --git a/app-accessibility/at-spi2-core/at-spi2-core-2.0.2-r1.ebuild b/app-accessibility/at-spi2-core/at-spi2-core-2.0.2-r1.ebuild
new file mode 100644
index 000000000000..105f4a9ece87
--- /dev/null
+++ b/app-accessibility/at-spi2-core/at-spi2-core-2.0.2-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-accessibility/at-spi2-core/at-spi2-core-2.0.2-r1.ebuild,v 1.1 2011/08/14 14:16:52 nirbheek Exp $
+
+EAPI="3"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+inherit eutils gnome2
+
+DESCRIPTION="D-Bus accessibility specifications and registration daemon"
+HOMEPAGE="http://live.gnome.org/Accessibility"
+
+LICENSE="LGPL-2"
+SLOT="2"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc +introspection"
+
+RDEPEND="
+ >=dev-libs/glib-2.28:2
+ >=sys-apps/dbus-1
+ x11-libs/libX11
+ x11-libs/libXi
+ x11-libs/libXtst
+ introspection? ( >=dev-libs/gobject-introspection-0.9.6 )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/intltool-0.40
+ doc? ( >=dev-util/gtk-doc-1.9 )
+"
+
+pkg_setup() {
+ DOCS="AUTHORS ChangeLog NEWS README"
+ # xevie is deprecated/broken since xorg-1.6/1.7
+ G2CONF="${G2CONF} --disable-xevie"
+}
+
+src_prepare() {
+ # disable teamspaces test since that requires Novell.ICEDesktop.Daemon
+ epatch "${FILESDIR}/${PN}-2.0.2-disable-teamspaces-test.patch"
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=652215
+ # Fixed in upstream git master branch, but not in gnome-3-0 branch
+ epatch "${FILESDIR}/${PN}-2.0.2-abort-if-already-running.patch"
+
+ gnome2_src_prepare
+}
diff --git a/app-accessibility/at-spi2-core/files/at-spi2-core-2.0.2-abort-if-already-running.patch b/app-accessibility/at-spi2-core/files/at-spi2-core-2.0.2-abort-if-already-running.patch
new file mode 100644
index 000000000000..0e39dcf3766a
--- /dev/null
+++ b/app-accessibility/at-spi2-core/files/at-spi2-core-2.0.2-abort-if-already-running.patch
@@ -0,0 +1,88 @@
+From 72b5b5733841657af00f31370d26bdfd5a0b60b7 Mon Sep 17 00:00:00 2001
+From: Mike Gorse <mgorse@novell.com>
+Date: Thu, 09 Jun 2011 16:50:58 +0000
+Subject: Make the bus launcher abort if an instance is already running
+
+Upon starting up, at-spi-bus-launcher now looks for an X property with
+the bus address and tries to connect to it, aborting if successful.
+This fixes a bug where, if the launcher was run twice (perhaps by both
+an autostart script and a request for the bus address), the second
+instance would start its main loop, eventually abort, and delete the X
+property, which would cause a new X property to be created later,
+overriding the old one, if a different user requested the address,
+leading to a11y breakage.
+---
+diff --git a/bus/at-spi-bus-launcher.c b/bus/at-spi-bus-launcher.c
+index 9300979..dcc35e4 100644
+--- a/bus/at-spi-bus-launcher.c
++++ b/bus/at-spi-bus-launcher.c
+@@ -27,6 +27,7 @@
+ #include <signal.h>
+ #include <sys/wait.h>
+ #include <errno.h>
++#include <stdio.h>
+
+ #include <gio/gio.h>
+ #include <X11/Xlib.h>
+@@ -349,6 +350,49 @@ is_a11y_using_corba (void)
+ return result;
+ }
+
++static gboolean
++already_running ()
++{
++ Atom AT_SPI_BUS;
++ Atom actual_type;
++ Display *bridge_display;
++ int actual_format;
++ unsigned char *data = NULL;
++ unsigned long nitems;
++ unsigned long leftover;
++ gboolean result = FALSE;
++
++ bridge_display = XOpenDisplay (NULL);
++ if (!bridge_display)
++ return FALSE;
++
++ AT_SPI_BUS = XInternAtom (bridge_display, "AT_SPI_BUS", False);
++ XGetWindowProperty (bridge_display,
++ XDefaultRootWindow (bridge_display),
++ AT_SPI_BUS, 0L,
++ (long) BUFSIZ, False,
++ (Atom) 31, &actual_type, &actual_format,
++ &nitems, &leftover, &data);
++
++ if (data)
++ {
++ GDBusConnection *bus;
++ GError *error = NULL;
++ const gchar *old_session = g_getenv ("DBUS_SESSION_BUS_ADDRESS");
++ /* TODO: Is there a better way to connect? This is really hacky */
++ g_setenv ("DBUS_SESSION_BUS_ADDRESS", data, TRUE);
++ bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error);
++ g_setenv ("DBUS_SESSION_BUS_ADDRESS", old_session, TRUE);
++ if (bus != NULL)
++ result = TRUE;
++ g_object_unref (bus);
++ }
++
++ XCloseDisplay (bridge_display);
++ return result;
++}
++
++
+ int
+ main (int argc,
+ char **argv)
+@@ -363,6 +407,9 @@ main (int argc,
+ if (is_a11y_using_corba ())
+ return 0;
+
++ if (already_running ())
++ return 0;
++
+ _global_app = g_slice_new0 (A11yBusLauncher);
+ _global_app->loop = g_main_loop_new (NULL, FALSE);
+ _global_app->launch_immediately = (argc == 2 && strcmp (argv[1], "--launch-immediately") == 0);
+--
+cgit v0.9
diff --git a/app-accessibility/at-spi2-core/files/at-spi2-core-2.0.2-disable-teamspaces-test.patch b/app-accessibility/at-spi2-core/files/at-spi2-core-2.0.2-disable-teamspaces-test.patch
new file mode 100644
index 000000000000..269236d177e7
--- /dev/null
+++ b/app-accessibility/at-spi2-core/files/at-spi2-core-2.0.2-disable-teamspaces-test.patch
@@ -0,0 +1,13 @@
+diff --git a/dbind/dbtest.c b/dbind/dbtest.c
+index e8bbb63..9843c3d 100644
+--- a/dbind/dbtest.c
++++ b/dbind/dbtest.c
+@@ -417,7 +417,7 @@ int main (int argc, char **argv)
+
+ test_helpers ();
+ test_marshalling ();
+- test_teamspaces (bus);
++ /* test_teamspaces (bus); */
+
+ return 0;
+ }
diff --git a/app-accessibility/at-spi2-core/metadata.xml b/app-accessibility/at-spi2-core/metadata.xml
new file mode 100644
index 000000000000..d984e97ecd63
--- /dev/null
+++ b/app-accessibility/at-spi2-core/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>gnome-accessibility</herd>
+ <use>
+ <flag name="introspection">Use <pkg>dev-libs/gobject-introspection</pkg>
+ for introspection</flag>
+ </use>
+</pkgmetadata>