diff options
author | Mike Auty <ikelos@gentoo.org> | 2010-12-04 19:09:19 +0000 |
---|---|---|
committer | Mike Auty <ikelos@gentoo.org> | 2010-12-04 19:09:19 +0000 |
commit | 3243b709dec80cad34c4c846f84047b8216cbaaa (patch) | |
tree | 3e1de6c7c768be8208fd38a2c3602c68948b1fc5 /x11-wm/compiz | |
parent | Add folks as needed by empathy-2.32. (diff) | |
download | gentoo-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/compiz')
-rw-r--r-- | x11-wm/compiz/ChangeLog | 8 | ||||
-rw-r--r-- | x11-wm/compiz/compiz-0.8.6-r3.ebuild | 163 | ||||
-rw-r--r-- | x11-wm/compiz/files/compiz-0.8.6-gdk-display-deprecated.patch | 97 |
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; |