diff options
author | Nirbheek Chauhan <nirbheek@gentoo.org> | 2011-08-14 14:16:52 +0000 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@gentoo.org> | 2011-08-14 14:16:52 +0000 |
commit | 289bb381bd269b0d0972f6526db50d43c1a8343e (patch) | |
tree | 0d21b1a5e510e189569ec017297ffc1144859061 /app-accessibility | |
parent | Move from gnome overlay for GNOME 3 (diff) | |
download | gentoo-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')
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> |