summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/mutter/ChangeLog11
-rw-r--r--x11-wm/mutter/files/mutter-3.2.1-ignore-shadow-and-padding.patch91
-rw-r--r--x11-wm/mutter/mutter-3.2.1-r1.ebuild78
3 files changed, 178 insertions, 2 deletions
diff --git a/x11-wm/mutter/ChangeLog b/x11-wm/mutter/ChangeLog
index 06c834aca84c..1364b66a1e1a 100644
--- a/x11-wm/mutter/ChangeLog
+++ b/x11-wm/mutter/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for x11-wm/mutter
-# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/mutter/ChangeLog,v 1.3 2011/11/25 06:19:54 tetromino Exp $
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/mutter/ChangeLog,v 1.4 2012/01/01 18:48:34 tetromino Exp $
+
+*mutter-3.2.1-r1 (01 Jan 2012)
+
+ 01 Jan 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
+ +mutter-3.2.1-r1.ebuild, +files/mutter-3.2.1-ignore-shadow-and-padding.patch:
+ Add Ubuntu patch to enable support for Ubuntu's metacity themes such as
+ x11-themes/light-themes (bug #396673, thanks to Luis Medinas for reporting).
25 Nov 2011; Alexandre Rostovtsev <tetromino@gentoo.org>
-mutter-3.0.2.1.ebuild:
diff --git a/x11-wm/mutter/files/mutter-3.2.1-ignore-shadow-and-padding.patch b/x11-wm/mutter/files/mutter-3.2.1-ignore-shadow-and-padding.patch
new file mode 100644
index 000000000000..bf4649e75ed8
--- /dev/null
+++ b/x11-wm/mutter/files/mutter-3.2.1-ignore-shadow-and-padding.patch
@@ -0,0 +1,91 @@
+Patch author: Timo Kluck <tkluck@infty.nl> Wed, 21 Sep 2011 17:51:28 +0200
+
+Patch to silently ignore padding and shadow tags in Ubuntu metacity themes.
+
+https://bugs.launchpad.net/bugs/800315
+https://bugs.gentoo.org/show_bug.cgi?id=396673
+
+diff --git a/src/ui/theme-parser.c b/src/ui/theme-parser.c
+index 9063541..63a881f 100644
+--- a/src/ui/theme-parser.c
++++ b/src/ui/theme-parser.c
+@@ -90,7 +90,9 @@ typedef enum
+ STATE_WINDOW,
+ /* things we don't use any more but we can still parse: */
+ STATE_MENU_ICON,
+- STATE_FALLBACK
++ STATE_FALLBACK,
++ /* an ubuntu specific ignore-this-element state */
++ UBUNTU_STATE_IGNORE
+ } ParseState;
+
+ typedef struct
+@@ -1306,7 +1308,19 @@ parse_toplevel_element (GMarkupParseContext *context,
+ */
+ push_state (info, STATE_FALLBACK);
+ }
+- else
++ else if (ELEMENT_IS ("shadow"))
++ {
++ /* ubuntu specific, workaround for light-themes: silently ignore shadow tag.
++ */
++ push_state (info, UBUNTU_STATE_IGNORE);
++ }
++ else if (ELEMENT_IS ("padding"))
++ {
++ /* ubuntu specific, workaround for light-themes: silently ignore padding tag.
++ */
++ push_state (info, UBUNTU_STATE_IGNORE);
++ }
++ else
+ {
+ set_error (error, context,
+ G_MARKUP_ERROR, G_MARKUP_ERROR_PARSE,
+@@ -3027,6 +3041,18 @@ parse_style_element (GMarkupParseContext *context,
+
+ push_state (info, STATE_BUTTON);
+ }
++ else if (ELEMENT_IS ("shadow"))
++ {
++ /* ubuntu specific, workaround for light-themes: silently ignore shadow tag.
++ */
++ push_state (info, UBUNTU_STATE_IGNORE);
++ }
++ else if (ELEMENT_IS ("padding"))
++ {
++ /* ubuntu specific, workaround for light-themes: silently ignore padding tag.
++ */
++ push_state (info, UBUNTU_STATE_IGNORE);
++ }
+ else
+ {
+ set_error (error, context,
+@@ -3671,6 +3697,8 @@ start_element_handler (GMarkupParseContext *context,
+ _("Element <%s> is not allowed inside a <%s> element"),
+ element_name, "fallback");
+ break;
++ case UBUNTU_STATE_IGNORE:
++ break;
+ }
+ }
+
+@@ -3960,6 +3988,9 @@ end_element_handler (GMarkupParseContext *context,
+ pop_state (info);
+ g_assert (peek_state (info) == STATE_THEME);
+ break;
++ case UBUNTU_STATE_IGNORE:
++ pop_state (info);
++ break;
+ }
+
+ pop_required_version (info);
+@@ -4165,6 +4196,9 @@ text_handler (GMarkupParseContext *context,
+ case STATE_FALLBACK:
+ NO_TEXT ("fallback");
+ break;
++ case UBUNTU_STATE_IGNORE:
++ NO_TEXT ("ignored_element");
++ break;
+ }
+ }
+
diff --git a/x11-wm/mutter/mutter-3.2.1-r1.ebuild b/x11-wm/mutter/mutter-3.2.1-r1.ebuild
new file mode 100644
index 000000000000..b254469d4ebc
--- /dev/null
+++ b/x11-wm/mutter/mutter-3.2.1-r1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/mutter/mutter-3.2.1-r1.ebuild,v 1.1 2012/01/01 18:48:34 tetromino Exp $
+
+EAPI="4"
+GCONF_DEBUG="no"
+GNOME2_LA_PUNT="yes"
+
+inherit gnome2
+
+DESCRIPTION="GNOME 3 compositing window manager based on Clutter"
+HOMEPAGE="http://git.gnome.org/browse/mutter/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+introspection test xinerama"
+KEYWORDS="~amd64 ~x86"
+
+COMMON_DEPEND=">=x11-libs/pango-1.2[X,introspection?]
+ >=x11-libs/cairo-1.10[X]
+ x11-libs/gdk-pixbuf:2
+ >=x11-libs/gtk+-2.91.7:3[introspection?]
+ >=gnome-base/gconf-2:2
+ >=dev-libs/glib-2.14:2
+ >=media-libs/clutter-1.7.5:1.0
+ >=media-libs/libcanberra-0.26[gtk3]
+ >=x11-libs/startup-notification-0.7
+ >=x11-libs/libXcomposite-0.2
+
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXrender
+
+ gnome-extra/zenity
+
+ introspection? ( >=dev-libs/gobject-introspection-0.9.5 )
+ xinerama? ( x11-libs/libXinerama )
+"
+DEPEND="${COMMON_DEPEND}
+ >=app-text/gnome-doc-utils-0.8
+ sys-devel/gettext
+ >=dev-util/pkgconfig-0.9
+ >=dev-util/intltool-0.35
+ test? ( app-text/docbook-xml-dtd:4.5 )
+ xinerama? ( x11-proto/xineramaproto )
+ x11-proto/xextproto
+ x11-proto/xproto"
+RDEPEND="${COMMON_DEPEND}
+ !x11-misc/expocity"
+
+pkg_setup() {
+ DOCS="AUTHORS ChangeLog HACKING MAINTAINERS NEWS README *.txt doc/*.txt"
+ G2CONF="${G2CONF}
+ --disable-static
+ --enable-gconf
+ --enable-shape
+ --enable-sm
+ --enable-startup-notification
+ --enable-xsync
+ --enable-verbose-mode
+ --enable-compile-warnings=maximum
+ --with-libcanberra
+ $(use_enable introspection)
+ $(use_enable xinerama)"
+}
+
+src_prepare() {
+ # Compat with Ubuntu metacity themes (e.g. x11-themes/light-themes)
+ epatch "${FILESDIR}/${PN}-3.2.1-ignore-shadow-and-padding.patch"
+
+ gnome2_src_prepare
+}