Add Ubuntu patch to enable support for Ubuntu's metacity themes such as x11-themes...
authorAlexandre Rostovtsev <tetromino@gentoo.org>
Sun, 1 Jan 2012 18:48:34 +0000 (18:48 +0000)
committerAlexandre Rostovtsev <tetromino@gentoo.org>
Sun, 1 Jan 2012 18:48:34 +0000 (18:48 +0000)
Package-Manager: portage-2.2.0_alpha84/cvs/Linux x86_64

x11-wm/mutter/ChangeLog
x11-wm/mutter/Manifest
x11-wm/mutter/files/mutter-3.2.1-ignore-shadow-and-padding.patch [new file with mode: 0644]
x11-wm/mutter/mutter-3.2.1-r1.ebuild [new file with mode: 0644]

index 06c834aca84cf835ba7c1e8f997144d7cd705f8f..1364b66a1e1a7d17a4f53b7a2d95af22376bdc4a 100644 (file)
@@ -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:
index 1abe0b3cb6f11e60c123942e4eb7d73372988456..75f13a363e117b7c7209a42e8b12f97bb176b78b 100644 (file)
@@ -1,14 +1,16 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA256
 
+AUX mutter-3.2.1-ignore-shadow-and-padding.patch 2640 RMD160 408acd936e0a474714ffaa3c4a0a5c17bcc160ca SHA1 3705a09d1160c6a7ace480c5f51a3c413ac52a0d SHA256 765c04ba4d177789407a25d3cbdf358e3fa125170cfd37c53095372bc4ec883d
 DIST mutter-3.2.1.tar.xz 1640556 RMD160 310ad5d91e0c741b95c3e14f1f27c2a5bb32609e SHA1 d3990d3f51481e679dd7e588ca28795a361c6006 SHA256 d6135d5e6c0852f7dc996798e9455fc2e9cbe6d2672f3750fc9b8d27ab141294
+EBUILD mutter-3.2.1-r1.ebuild 1937 RMD160 645e906873397d025929f2d0ddfa7eae7b399f66 SHA1 b4e2f729adfdf535f7cd978200fcb3c673ed2271 SHA256 f60d0792520285195b2290e75eba366d48e6ecd2b8df8d4158596f8eac101386
 EBUILD mutter-3.2.1.ebuild 1759 RMD160 4cf2003e42999e5e61cc5fb933abd3fafb075b89 SHA1 58e7d512e15d5f1993aacc4292328eeeab7c6e5f SHA256 643014745b238d78fc19de6ac7cb63c9e5465606ca98a56aaae2e524adce5b3a
-MISC ChangeLog 721 RMD160 e48c238b02815807fe93ec813c48c5772d89524b SHA1 c14f9f29ffcecefa7e3766fc5f5d9c7fdc5be379 SHA256 13b67d036a5187285b930301826a91dacf96cabf21db7d5812b7e458dc749172
+MISC ChangeLog 1046 RMD160 c80e281b849ae402b4497307d9308c8cbe4adc5b SHA1 78f3b1bc48b8e8220537604ab6f0346b9ccafb02 SHA256 13c7e7c038ba8a269e6dab783ae8697dcf5fb5ff07ee1cd589206f32c003bd58
 MISC metadata.xml 277 RMD160 2ffb105a089a3b759ddef20bf72b06362a1d1c63 SHA1 82aa8cfe90fb0c9f7c02f295d2802d41ad2af380 SHA256 3d52f90556a9db4ad09f2fbe34e2d25b21f345e474e829ac84669d49cb64c8bb
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
-iF4EAREIAAYFAk7PM48ACgkQdjK8w9WeBnDjoQEAsU+P/s4ET+uTo44nIkzjV1iZ
-2uaKrP+cgkMIJ2qysMABALe10yVH6KdUpDG4hKDmXOupeJxkpaCROIMxGmopzVfC
-=qaQd
+iF4EAREIAAYFAk8AqogACgkQdjK8w9WeBnCppwD/cQ9Ll2cGDKSqsOBJmn5+UDNF
+7zoQ++nDxBZCBhyt0woA/iPnUhqbE8rW0D6qBiiS/Z1ehEi1qdorz3KMNB16t3lQ
+=X0zz
 -----END PGP SIGNATURE-----
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 (file)
index 0000000..bf4649e
--- /dev/null
@@ -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 (file)
index 0000000..b254469
--- /dev/null
@@ -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
+}