From 1c6ea6cdc45199ba98de05788af98125395771fe Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Sat, 2 Apr 2011 23:30:06 +0530 Subject: Use Adwaita as metacity theme in fallback mode * Clearlooks was provided by gnome-themes, which is now obsolete * Make Adwaita the default so that metacity doesn't fall back to 'Simple' * Make the metas pull in metacity-2.30.3-r1, and add it to package.keywords --- gnome-base/gnome-light/Manifest | 2 +- gnome-base/gnome-light/gnome-light-2.91.90.ebuild | 2 +- gnome-base/gnome/Manifest | 2 +- gnome-base/gnome/gnome-2.91.90.ebuild | 2 +- status/portage-configs/package.keywords.gnome3 | 3 + x11-wm/metacity/Manifest | 5 + ...city-2.28.0-restartstylehint-when-replace.patch | 139 +++++++++++++++++++++ .../files/metacity-2.28.0-sys-wait-header.patch | 19 +++ .../files/metacity-2.28.1-wif_macros.patch | 16 +++ x11-wm/metacity/metacity-2.30.3-r1.ebuild | 88 +++++++++++++ 10 files changed, 274 insertions(+), 4 deletions(-) create mode 100644 x11-wm/metacity/Manifest create mode 100644 x11-wm/metacity/files/metacity-2.28.0-restartstylehint-when-replace.patch create mode 100644 x11-wm/metacity/files/metacity-2.28.0-sys-wait-header.patch create mode 100644 x11-wm/metacity/files/metacity-2.28.1-wif_macros.patch create mode 100644 x11-wm/metacity/metacity-2.30.3-r1.ebuild diff --git a/gnome-base/gnome-light/Manifest b/gnome-base/gnome-light/Manifest index b3d7c936..0201df7c 100644 --- a/gnome-base/gnome-light/Manifest +++ b/gnome-base/gnome-light/Manifest @@ -1 +1 @@ -EBUILD gnome-light-2.91.90.ebuild 1987 RMD160 2dcae1bded10556b2753b06b4659a255bc02368e SHA1 90cebbfd7f5a5dbb184f6ec1dc19969f36124e4e SHA256 994ed366f01718576a8c5c733ada2b967c794aa38bd54597a409844e6102864a +EBUILD gnome-light-2.91.90.ebuild 1990 RMD160 76bbd998fd8df821723259dc256823e62fbac157 SHA1 eb16f24e8a441ce9c58edb51c6406dbffe54dc20 SHA256 724ff73ebb18aed5bafb5a7d8c2cce56567109e13fec9fcdda878909e719c20f diff --git a/gnome-base/gnome-light/gnome-light-2.91.90.ebuild b/gnome-base/gnome-light/gnome-light-2.91.90.ebuild index 82af57a0..afb927bf 100644 --- a/gnome-base/gnome-light/gnome-light-2.91.90.ebuild +++ b/gnome-base/gnome-light/gnome-light-2.91.90.ebuild @@ -44,7 +44,7 @@ RDEPEND="!gnome-base/gnome >=x11-wm/mutter-${PV} >=gnome-base/gnome-shell-${PV} - >=x11-wm/metacity-2.30.3 + >=x11-wm/metacity-2.30.3-r1 >=gnome-base/gnome-panel-${PV} >=x11-themes/gnome-icon-theme-${PV} diff --git a/gnome-base/gnome/Manifest b/gnome-base/gnome/Manifest index dc27242b..c4156cf4 100644 --- a/gnome-base/gnome/Manifest +++ b/gnome-base/gnome/Manifest @@ -1 +1 @@ -EBUILD gnome-2.91.90.ebuild 4567 RMD160 ab2ceef02cbefec238aebecc336136733bcf5dbe SHA1 68dcc2b7e0fb2c328176052fe2f3d5328159d23b SHA256 37dc02caf3bb969ecfd5feb2090e3e4d01a1d18e96cce498090326e039e3b2ba +EBUILD gnome-2.91.90.ebuild 4570 RMD160 21a991411d746822498a75a658902e6be5b69e73 SHA1 2f9c2c1015620125be715b0b739b07bbe0cdb730 SHA256 0c4e81a06ccf4a0b275a965c4eaa71a8b860b3c66a5711dba5bc83c6c909ef44 diff --git a/gnome-base/gnome/gnome-2.91.90.ebuild b/gnome-base/gnome/gnome-2.91.90.ebuild index 8a6949ef..887b0926 100644 --- a/gnome-base/gnome/gnome-2.91.90.ebuild +++ b/gnome-base/gnome/gnome-2.91.90.ebuild @@ -44,7 +44,7 @@ RDEPEND=" >=x11-wm/mutter-${PV} >=gnome-base/gnome-shell-${PV} - >=x11-wm/metacity-2.30.3 + >=x11-wm/metacity-2.30.3-r1 >=gnome-base/gnome-panel-${PV} >=gnome-base/gnome-menus-${PV} diff --git a/status/portage-configs/package.keywords.gnome3 b/status/portage-configs/package.keywords.gnome3 index 2d75146b..acd2038d 100644 --- a/status/portage-configs/package.keywords.gnome3 +++ b/status/portage-configs/package.keywords.gnome3 @@ -166,6 +166,9 @@ gnome-base/gnome-shell net-im/telepathy-logger >=net-libs/telepathy-glib-0.13.12 +# GNOME Fallback +>=x11-wm/metacity-2.30.3-r1 + # GNOME Games ~dev-scheme/guile-1.8.7 gnome-extra/gnome-games diff --git a/x11-wm/metacity/Manifest b/x11-wm/metacity/Manifest new file mode 100644 index 00000000..a8ef6219 --- /dev/null +++ b/x11-wm/metacity/Manifest @@ -0,0 +1,5 @@ +AUX metacity-2.28.0-restartstylehint-when-replace.patch 4709 RMD160 da983b21c50dbacd8f5df06f50d233eef6c25331 SHA1 248f8dce5fc3b88ce43e796ba7995bf0d76a9d99 SHA256 3a7e484ec2eb97e7b7f1baaa33e5d925e67a35c84e49c5abe6c32cf2c25f16eb +AUX metacity-2.28.0-sys-wait-header.patch 480 RMD160 5f3cb891f1f1e5e122db1b4a20af345df1963e48 SHA1 fb9cb941e877c552dd1aef8c49470bcdd300007f SHA256 7bcaa2ba358e8666cef98abeea30d7a01d8c9c9e60ead7ec0b2dee3ee6f84be0 +AUX metacity-2.28.1-wif_macros.patch 500 RMD160 570a8b9e76e815cc5d207fddcf0278e193edbf77 SHA1 fa42355b0200d577eef767e28b8674eef5eb9e42 SHA256 94c1f3bd17c618a8b59585939987138bdbd590de8b3f6c16b89586e68c7c6cef +DIST metacity-2.30.3.tar.bz2 2358537 RMD160 ce4a994c7b1e7b95e493fc67082a4cbb6458329f SHA1 32848d34473375ca27ef12be9f41e924d8af177d SHA256 08f887018fa5e447cf184d03bae3fe2c05fdb7583bed6768e3b4d66392fc18dd +EBUILD metacity-2.30.3-r1.ebuild 2498 RMD160 d0489ffb66eba218b4a41815e2d3fa3955488e59 SHA1 16294eed84c245a4d74902603dc4ba2401bb2291 SHA256 d7dd7d9a847d18b432369a33eb96f4c2522fe91581c438fc02549ec27818200f diff --git a/x11-wm/metacity/files/metacity-2.28.0-restartstylehint-when-replace.patch b/x11-wm/metacity/files/metacity-2.28.0-restartstylehint-when-replace.patch new file mode 100644 index 00000000..54dd79e0 --- /dev/null +++ b/x11-wm/metacity/files/metacity-2.28.0-restartstylehint-when-replace.patch @@ -0,0 +1,139 @@ +From a3de65d5d1861f755ced7cad291fbbd4f1b8ef51 Mon Sep 17 00:00:00 2001 +From: Owen W. Taylor +Date: Sat, 22 Aug 2009 15:00:57 -0400 +Subject: [PATCH] Should set RestartStyleHint to RestartIfRunning when replaced + +This reverts most of commit abbd057eb967e6ab462ffe305f41b2b04d417b25; + + - It's fine to call meta_session_shutdown() after the display + is closed, since it's talking over the ICE connection + - We should not call warn_about_lame_clients_and_finish_interact() + unless we are interacting with the window manager in a session + save. + +However, the part of abbd057 that fixed accessing freed memory was +fixing a real problem; this patches does the same thing in a simpler +way by fixing an obvious type in meta_display_close() where it was +NULL'ing out the local variable 'display' rather than the global +variable 'the_display' and adding keeping the check in meta_finalize() +that was added in abbd057. + +The order of calling meta_session_shutdown() and +calling meta_display_close() is reverted back to the old order to +make it clear that it's OK if the display way already closed previously. + +http://bugzilla.gnome.org/show_bug.cgi?id=588119 +--- + src/core/display-private.h | 2 +- + src/core/display.c | 16 ++++------------ + src/core/main.c | 5 ++--- + src/core/session.c | 8 -------- + 4 files changed, 7 insertions(+), 24 deletions(-) + +diff --git a/src/core/display-private.h b/src/core/display-private.h +index 19287f3..9c8ebc6 100644 +--- a/src/core/display-private.h ++++ b/src/core/display-private.h +@@ -329,7 +329,7 @@ MetaScreen* meta_display_screen_for_xwindow (MetaDisplay *display, + void meta_display_grab (MetaDisplay *display); + void meta_display_ungrab (MetaDisplay *display); + +-void meta_display_unmanage_screen (MetaDisplay **display, ++void meta_display_unmanage_screen (MetaDisplay *display, + MetaScreen *screen, + guint32 timestamp); + +diff --git a/src/core/display.c b/src/core/display.c +index 55c374a..8e35a35 100644 +--- a/src/core/display.c ++++ b/src/core/display.c +@@ -926,7 +926,7 @@ meta_display_close (MetaDisplay *display, + meta_compositor_destroy (display->compositor); + + g_free (display); +- display = NULL; ++ the_display = NULL; + + meta_quit (META_EXIT_SUCCESS); + } +@@ -4762,13 +4762,10 @@ process_selection_clear (MetaDisplay *display, + meta_verbose ("Got selection clear for screen %d on display %s\n", + screen->number, display->name); + +- meta_display_unmanage_screen (&display, ++ meta_display_unmanage_screen (display, + screen, + event->xselectionclear.time); + +- if (!display) +- the_display = NULL; +- + /* display and screen may both be invalid memory... */ + + return; +@@ -4790,12 +4787,10 @@ process_selection_clear (MetaDisplay *display, + } + + void +-meta_display_unmanage_screen (MetaDisplay **displayp, ++meta_display_unmanage_screen (MetaDisplay *display, + MetaScreen *screen, + guint32 timestamp) + { +- MetaDisplay *display = *displayp; +- + meta_verbose ("Unmanaging screen %d on display %s\n", + screen->number, display->name); + +@@ -4805,10 +4800,7 @@ meta_display_unmanage_screen (MetaDisplay **displayp, + display->screens = g_slist_remove (display->screens, screen); + + if (display->screens == NULL) +- { +- meta_display_close (display, timestamp); +- *displayp = NULL; +- } ++ meta_display_close (display, timestamp); + } + + void +diff --git a/src/core/main.c b/src/core/main.c +index a36a396..44d317e 100644 +--- a/src/core/main.c ++++ b/src/core/main.c +@@ -361,12 +361,11 @@ static void + meta_finalize (void) + { + MetaDisplay *display = meta_get_display(); +- +- meta_session_shutdown (); +- + if (display) + meta_display_close (display, + CurrentTime); /* I doubt correct timestamps matter here */ ++ ++ meta_session_shutdown (); + } + + static void +diff --git a/src/core/session.c b/src/core/session.c +index 7e3b389..0d69350 100644 +--- a/src/core/session.c ++++ b/src/core/session.c +@@ -376,14 +376,6 @@ meta_session_shutdown (void) + SmProp *props[1]; + char hint = SmRestartIfRunning; + +- if (!meta_get_display ()) +- { +- meta_verbose ("Cannot close session because there is no display"); +- return; +- } +- +- warn_about_lame_clients_and_finish_interact (FALSE); +- + if (session_connection == NULL) + return; + +-- +1.6.4 \ No newline at end of file diff --git a/x11-wm/metacity/files/metacity-2.28.0-sys-wait-header.patch b/x11-wm/metacity/files/metacity-2.28.0-sys-wait-header.patch new file mode 100644 index 00000000..5d7f4a14 --- /dev/null +++ b/x11-wm/metacity/files/metacity-2.28.0-sys-wait-header.patch @@ -0,0 +1,19 @@ +From: Alexis Ballier +Date: Thu, 5 Nov 2009 19:48:41 +0100 +Subject: Include sys/wait.h instead of only wait.h as described in POSIX specs. Fixes build on FreeBSD. + +--- + src/core/main.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +--- a/src/core/main.c ++++ b/src/core/main.c +@@ -58,7 +58,7 @@ + + #include + #include +-#include ++#include + #include + #include + #include diff --git a/x11-wm/metacity/files/metacity-2.28.1-wif_macros.patch b/x11-wm/metacity/files/metacity-2.28.1-wif_macros.patch new file mode 100644 index 00000000..4ce382e9 --- /dev/null +++ b/x11-wm/metacity/files/metacity-2.28.1-wif_macros.patch @@ -0,0 +1,16 @@ +WIFEXITED and friends are defined in sys/wait.h +Fixes a build failure on BSD. + +https://bugs.gentoo.org/show_bug.cgi?id=309443 +https://bugzilla.gnome.org/show_bug.cgi?id=605460 + +--- metacity-2.28.1/src/core/delete.c.old 2010-03-15 07:46:52.000000000 +0100 ++++ metacity-2.28.1/src/core/delete.c 2010-03-15 07:47:12.000000000 +0100 +@@ -32,6 +32,7 @@ + #include "workspace.h" + + #include ++#include /* WIF* macros */ + #include + #include + #include diff --git a/x11-wm/metacity/metacity-2.30.3-r1.ebuild b/x11-wm/metacity/metacity-2.30.3-r1.ebuild new file mode 100644 index 00000000..d404649c --- /dev/null +++ b/x11-wm/metacity/metacity-2.30.3-r1.ebuild @@ -0,0 +1,88 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-wm/metacity/metacity-2.30.3.ebuild,v 1.7 2011/03/27 13:04:59 nirbheek Exp $ + +EAPI="3" +GNOME2_LA_PUNT="yes" +# debug only changes CFLAGS +GCONF_DEBUG="no" + +inherit eutils gnome2 + +DESCRIPTION="GNOME default window manager" +HOMEPAGE="http://blogs.gnome.org/metacity/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris" +IUSE="test xinerama" + +# XXX: libgtop is automagic, hard-enabled instead +RDEPEND=">=x11-libs/gtk+-2.20:2 + >=x11-libs/pango-1.2[X] + >=gnome-base/gconf-2:2 + >=dev-libs/glib-2.6:2 + >=x11-libs/startup-notification-0.7 + >=x11-libs/libXcomposite-0.2 + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXdamage + x11-libs/libXcursor + x11-libs/libX11 + xinerama? ( x11-libs/libXinerama ) + x11-libs/libXext + x11-libs/libXrandr + x11-libs/libSM + x11-libs/libICE + media-libs/libcanberra[gtk] + gnome-base/libgtop + gnome-extra/zenity + !x11-misc/expocity" +DEPEND="${RDEPEND} + >=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" + +DOCS="AUTHORS ChangeLog HACKING NEWS README *.txt doc/*.txt" + +pkg_setup() { + G2CONF="${G2CONF} + --disable-static + --enable-compositor + --enable-gconf + --enable-render + --enable-shape + --enable-sm + --enable-startup-notification + --enable-xsync + --with-gtk=2.0 + $(use_enable xinerama)" +} + +src_prepare() { + gnome2_src_prepare + + # Should set RestartStyleHint to RestartIfRunning when replaced, + # this fix a strange issue with gnome-session (100% of the CPU, + # and try to restart metacity infinitively when compiz is started) + # patch import from upstream bug #588119. + epatch "${FILESDIR}/${PN}-2.28.0-restartstylehint-when-replace.patch" + + # Use sys/wait.h header instead of wait.h as described in posix specs, + # bug 292009 + epatch "${FILESDIR}/${PN}-2.28.0-sys-wait-header.patch" + + # WIFEXITED and friends are defined in sys/wait.h + # Fixes a build failure on BSD. + # https://bugs.gentoo.org/show_bug.cgi?id=309443 + # https://bugzilla.gnome.org/show_bug.cgi?id=605460 + epatch "${FILESDIR}/${PN}-2.28.1-wif_macros.patch" + + # Use Adwaita as the default theme instead of clearlooks + sed -e 's/Clearlooks/Adwaita/g' -i src/metacity.schemas* || die +} -- cgit v1.2.3-65-gdbad