summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
authorMike Auty <ikelos@gentoo.org>2010-12-04 19:09:19 +0000
committerMike Auty <ikelos@gentoo.org>2010-12-04 19:09:19 +0000
commit3243b709dec80cad34c4c846f84047b8216cbaaa (patch)
tree3e1de6c7c768be8208fd38a2c3602c68948b1fc5 /x11-wm
parentAdd folks as needed by empathy-2.32. (diff)
downloadgentoo-2-3243b709dec80cad34c4c846f84047b8216cbaaa.tar.gz
gentoo-2-3243b709dec80cad34c4c846f84047b8216cbaaa.tar.bz2
gentoo-2-3243b709dec80cad34c4c846f84047b8216cbaaa.zip
Add in patch to fix deprecated use of gdk-display (bug 344293).
(Portage version: 2.2.0_alpha6/cvs/Linux i686)
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/compiz/ChangeLog8
-rw-r--r--x11-wm/compiz/compiz-0.8.6-r3.ebuild163
-rw-r--r--x11-wm/compiz/files/compiz-0.8.6-gdk-display-deprecated.patch97
3 files changed, 267 insertions, 1 deletions
diff --git a/x11-wm/compiz/ChangeLog b/x11-wm/compiz/ChangeLog
index 288b5b91df88..3508ca9e9a47 100644
--- a/x11-wm/compiz/ChangeLog
+++ b/x11-wm/compiz/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for x11-wm/compiz
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-wm/compiz/ChangeLog,v 1.58 2010/11/11 09:14:56 xmw Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/compiz/ChangeLog,v 1.59 2010/12/04 19:09:18 ikelos Exp $
+
+*compiz-0.8.6-r3 (04 Dec 2010)
+
+ 04 Dec 2010; Mike Auty <ikelos@gentoo.org> +compiz-0.8.6-r3.ebuild,
+ +files/compiz-0.8.6-gdk-display-deprecated.patch:
+ Add in patch to fix deprecated use of gdk-display (bug 344293).
*compiz-0.8.6-r2 (11 Nov 2010)
diff --git a/x11-wm/compiz/compiz-0.8.6-r3.ebuild b/x11-wm/compiz/compiz-0.8.6-r3.ebuild
new file mode 100644
index 000000000000..2aebb41f472c
--- /dev/null
+++ b/x11-wm/compiz/compiz-0.8.6-r3.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/compiz/compiz-0.8.6-r3.ebuild,v 1.1 2010/12/04 19:09:18 ikelos Exp $
+
+EAPI="2"
+
+inherit autotools eutils gnome2-utils
+
+DESCRIPTION="OpenGL window and compositing manager"
+HOMEPAGE="http://www.compiz.org/"
+SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="+cairo dbus fuse gnome gconf gtk kde +svg"
+
+COMMONDEPEND="
+ dev-libs/glib:2
+ dev-libs/libxml2
+ dev-libs/libxslt
+ media-libs/libpng
+ >=media-libs/mesa-6.5.1-r1
+ >=x11-base/xorg-server-1.1.1-r1
+ || ( <x11-libs/libX11-1.3.99.901[xcb] >=x11-libs/libX11-1.3.99.901 )
+ x11-libs/libxcb
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libICE
+ x11-libs/libSM
+ >=x11-libs/libXrender-0.8.4
+ >=x11-libs/startup-notification-0.7
+ cairo? (
+ x11-libs/cairo[X]
+ )
+ dbus? ( >=sys-apps/dbus-1.0 )
+ fuse? ( sys-fs/fuse )
+ gnome? (
+ >=gnome-base/gnome-control-center-2.16.1:2
+ gnome-base/gnome-desktop:2
+ gconf? ( gnome-base/gconf:2 )
+ )
+ gtk? (
+ >=x11-libs/gtk+-2.8.0:2
+ >=x11-libs/libwnck-2.18.3
+ x11-libs/pango
+ )
+ kde? (
+ || (
+ >=kde-base/kwin-4.2.0
+ kde-base/kwin:live
+ )
+ )
+ svg? (
+ >=gnome-base/librsvg-2.14.0:2
+ >=x11-libs/cairo-1.0
+ )
+"
+
+DEPEND="${COMMONDEPEND}
+ dev-util/pkgconfig
+ x11-proto/damageproto
+ x11-proto/xineramaproto
+"
+
+RDEPEND="${COMMONDEPEND}
+ x11-apps/mesa-progs
+ x11-apps/xvinfo
+"
+
+src_prepare() {
+
+ echo "gtk/gnome/compiz-wm.desktop.in" >> "${S}/po/POTFILES.skip"
+ echo "metadata/core.xml.in" >> "${S}/po/POTFILES.skip"
+
+ # fix cont corruption, bug #343861
+ epatch "${FILESDIR}"/${P}-r2-fontcorruption.patch
+ epatch "${FILESDIR}"/${P}-gdk-display-deprecated.patch
+
+ if ! use gnome || ! use gconf; then
+ epatch "${FILESDIR}"/${PN}-no-gconf.patch
+ fi
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=
+
+ # We make gconf optional by itself, but only if gnome is also
+ # enabled, otherwise we simply disable it.
+ if use gnome; then
+ myconf="${myconf} $(use_enable gconf)"
+ else
+ myconf="${myconf} --disable-gconf"
+ fi
+
+ econf --disable-dependency-tracking \
+ --enable-fast-install \
+ --disable-static \
+ --disable-gnome-keybindings \
+ --with-default-plugins \
+ $(use_enable svg librsvg) \
+ $(use_enable cairo annotate) \
+ $(use_enable dbus) \
+ $(use_enable dbus dbus-glib) \
+ $(use_enable fuse) \
+ $(use_enable gnome) \
+ $(use_enable gnome metacity) \
+ $(use_enable gtk) \
+ $(use_enable kde kde4) \
+ --disable-kde \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ find "${D}" -name '*.la' -delete || die
+
+ # Install compiz-manager
+ dobin "${FILESDIR}/compiz-manager" || die "dobin failed"
+
+ # Add the full-path to lspci
+ sed -i "s#lspci#/usr/sbin/lspci#" "${D}/usr/bin/compiz-manager" || die "sed 1 failed"
+
+ # Fix the hardcoded lib paths
+ sed -i "s#/lib/#/$(get_libdir)/#g" "${D}/usr/bin/compiz-manager" || die "sed 2 failed"
+
+ # Create gentoo's config file
+ dodir /etc/xdg/compiz || die "dodir failed"
+
+ cat <<- EOF > "${D}/etc/xdg/compiz/compiz-manager"
+ COMPIZ_BIN_PATH="/usr/bin/"
+ PLUGIN_PATH="/usr/$(get_libdir)/compiz/"
+ LIBGL_NVIDIA="/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.so.1.2"
+ LIBGL_FGLRX="/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.so.1.2"
+ KWIN="$(type -p kwin)"
+ METACITY="$(type -p metacity)"
+ SKIP_CHECKS="yes"
+ EOF
+
+ dodoc AUTHORS ChangeLog NEWS README TODO || die "dodoc failed"
+
+ insinto "/usr/share/applications"
+ doins "${FILESDIR}/compiz.desktop" || die "Failed to install compiz.desktop"
+}
+
+pkg_preinst() {
+ use gnome && use gconf && gnome2_gconf_savelist
+}
+
+pkg_postinst() {
+ use gnome && use gconf && gnome2_gconf_install
+
+ ewarn "If you update to x11-wm/metacity-2.24 after you install ${P},"
+ ewarn "gtk-window-decorator will crash until you reinstall ${PN} again."
+}
+
+pkg_prerm() {
+ use gnome && gnome2_gconf_uninstall
+}
diff --git a/x11-wm/compiz/files/compiz-0.8.6-gdk-display-deprecated.patch b/x11-wm/compiz/files/compiz-0.8.6-gdk-display-deprecated.patch
new file mode 100644
index 000000000000..a0cd0885967e
--- /dev/null
+++ b/x11-wm/compiz/files/compiz-0.8.6-gdk-display-deprecated.patch
@@ -0,0 +1,97 @@
+diff --git a/gtk/window-decorator/gtk-window-decorator.c b/gtk/window-decorator/gtk-window-decorator.c
+index 18b907e..2af99b9 100644
+--- a/gtk/window-decorator/gtk-window-decorator.c
++++ b/gtk/window-decorator/gtk-window-decorator.c
+@@ -41,6 +41,7 @@
+
+ #include <gtk/gtk.h>
+ #include <gdk/gdkx.h>
++#include <gdk/gdkgc.h>
+ #include <glib/gi18n.h>
+
+ #ifdef USE_GCONF
+@@ -2659,6 +2660,7 @@ get_window_prop (Window xwindow,
+ Atom atom,
+ Window *val)
+ {
++ Display *dpy = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
+ Atom type;
+ int format;
+ gulong nitems;
+@@ -2671,7 +2673,7 @@ get_window_prop (Window xwindow,
+ gdk_error_trap_push ();
+
+ type = None;
+- result = XGetWindowProperty (gdk_display,
++ result = XGetWindowProperty (dpy,
+ xwindow,
+ atom,
+ 0, G_MAXLONG,
+@@ -4966,7 +4968,7 @@ force_quit_dialog_realize (GtkWidget *dialog,
+ WnckWindow *win = data;
+
+ gdk_error_trap_push ();
+- XSetTransientForHint (gdk_display,
++ XSetTransientForHint (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
+ GDK_WINDOW_XID (dialog->window),
+ wnck_window_get_xid (win));
+ gdk_display_sync (gdk_display_get_default ());
+@@ -4976,17 +4978,18 @@ force_quit_dialog_realize (GtkWidget *dialog,
+ static char *
+ get_client_machine (Window xwindow)
+ {
+- Atom atom, type;
+- gulong nitems, bytes_after;
+- guchar *str = NULL;
+- int format, result;
+- char *retval;
++ Display *xdisplay = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
++ Atom atom, type;
++ gulong nitems, bytes_after;
++ guchar *str = NULL;
++ int format, result;
++ char *retval;
+
+- atom = XInternAtom (gdk_display, "WM_CLIENT_MACHINE", FALSE);
++ atom = XInternAtom (xdisplay, "WM_CLIENT_MACHINE", FALSE);
+
+ gdk_error_trap_push ();
+
+- result = XGetWindowProperty (gdk_display,
++ result = XGetWindowProperty (xdisplay,
+ xwindow, atom,
+ 0, G_MAXLONG,
+ FALSE, XA_STRING, &type, &format, &nitems,
+@@ -5013,6 +5016,8 @@ get_client_machine (Window xwindow)
+ static void
+ kill_window (WnckWindow *win)
+ {
++ GdkDisplay *gdk_display = gdk_display_get_default ();
++ Display *xdisplay = GDK_DISPLAY_XDISPLAY (gdk_display);
+ WnckApplication *app;
+
+ app = wnck_window_get_application (win);
+@@ -5038,8 +5043,8 @@ kill_window (WnckWindow *win)
+ }
+
+ gdk_error_trap_push ();
+- XKillClient (gdk_display, wnck_window_get_xid (win));
+- gdk_display_sync (gdk_display_get_default ());
++ XKillClient (xdisplay, wnck_window_get_xid (win));
++ gdk_display_sync (gdk_display);
+ gdk_error_trap_pop ();
+ }
+
+@@ -5623,9 +5628,9 @@ static int
+ update_shadow (void)
+ {
+ decor_shadow_options_t opt;
+- Display *xdisplay = gdk_display;
+- GdkDisplay *display = gdk_display_get_default ();
+- GdkScreen *screen = gdk_display_get_default_screen (display);
++ GdkDisplay *display = gdk_display_get_default ();
++ Display *xdisplay = GDK_DISPLAY_XDISPLAY (display);
++ GdkScreen *screen = gdk_display_get_default_screen (display);
+
+ opt.shadow_radius = shadow_radius;
+ opt.shadow_opacity = shadow_opacity;