summaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
authorRomain Perier <mrpouet@gentoo.org>2010-02-02 12:59:37 +0000
committerRomain Perier <mrpouet@gentoo.org>2010-02-02 12:59:37 +0000
commit9b1aa88483cf3217b6d1fa59b151855ba756c52a (patch)
tree995aeff5b4f739d8641658179261dda018bcb5c8 /x11-wm
parentStable on alpha, bug #303207 (diff)
downloadgentoo-2-9b1aa88483cf3217b6d1fa59b151855ba756c52a.tar.gz
gentoo-2-9b1aa88483cf3217b6d1fa59b151855ba756c52a.tar.bz2
gentoo-2-9b1aa88483cf3217b6d1fa59b151855ba756c52a.zip
Fix window region calculation for windows that have border width set, patch imported from upstream, per bug #302308.
(Portage version: 2.2_rc62/cvs/Linux x86_64)
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/compiz/ChangeLog9
-rw-r--r--x11-wm/compiz/compiz-0.8.4-r2.ebuild151
-rw-r--r--x11-wm/compiz/files/compiz-0.8.4-window-region-calculation.patch36
3 files changed, 195 insertions, 1 deletions
diff --git a/x11-wm/compiz/ChangeLog b/x11-wm/compiz/ChangeLog
index ecc330ed9d95..a3a1ba27c58d 100644
--- a/x11-wm/compiz/ChangeLog
+++ b/x11-wm/compiz/ChangeLog
@@ -1,6 +1,13 @@
# 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.50 2010/01/31 16:49:44 mrpouet Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-wm/compiz/ChangeLog,v 1.51 2010/02/02 12:59:36 mrpouet Exp $
+
+*compiz-0.8.4-r2 (02 Feb 2010)
+
+ 02 Feb 2010; Romain Perier <mrpouet@gentoo.org> +compiz-0.8.4-r2.ebuild,
+ +files/compiz-0.8.4-window-region-calculation.patch:
+ Fix window region calculation for windows that have border width set,
+ patch imported from upstream, per bug #302308.
*compiz-0.8.4-r1 (31 Jan 2010)
diff --git a/x11-wm/compiz/compiz-0.8.4-r2.ebuild b/x11-wm/compiz/compiz-0.8.4-r2.ebuild
new file mode 100644
index 000000000000..b6f346fc80d8
--- /dev/null
+++ b/x11-wm/compiz/compiz-0.8.4-r2.ebuild
@@ -0,0 +1,151 @@
+# 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.4-r2.ebuild,v 1.1 2010/02/02 12:59:36 mrpouet Exp $
+
+EAPI="2"
+
+inherit autotools eutils gnome2-utils
+
+DESCRIPTION="3D composite and windowmanager"
+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 gtk kde +svg"
+
+DEPEND="
+ 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[xcb]
+ 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
+ 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
+ )
+"
+
+RDEPEND="${DEPEND}
+ x11-apps/mesa-progs
+ x11-apps/xvinfo"
+
+DEPEND="${DEPEND}
+ dev-util/pkgconfig
+ x11-proto/damageproto
+ x11-proto/xineramaproto"
+
+src_prepare() {
+
+ echo "gtk/gnome/compiz-wm.desktop.in" >> "${S}/po/POTFILES.skip"
+ echo "metadata/core.xml.in" >> "${S}/po/POTFILES.skip"
+
+ # Missing gconf flags, fix bug #282807
+ epatch "${FILESDIR}"/${PN}-0.8.2-gtk-gnome-missing-gconf-flags.patch
+
+ # 3 bugfixes, per bug #302308
+ epatch "${FILESDIR}"/${P}-crash-on-opening-windows.patch
+ epatch "${FILESDIR}"/${P}-place-plugin.patch
+ epatch "${FILESDIR}"/${P}-window-region-calculation.patch
+
+ if ! use gnome; then
+ epatch "${FILESDIR}"/${PN}-no-gconf.patch
+ fi
+ eautoreconf
+}
+
+src_configure() {
+ econf --disable-dependency-tracking \
+ --disable-gnome-keybindings \
+ --enable-librsvg \
+ --with-default-plugins \
+ $(use_enable cairo annotate) \
+ $(use_enable dbus) \
+ $(use_enable dbus dbus-glib) \
+ $(use_enable fuse) \
+ $(use_enable gnome) \
+ $(use_enable gnome gconf) \
+ $(use_enable gnome metacity) \
+ $(use_enable gtk) \
+ $(use_enable kde kde4) \
+ --disable-kde
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ # 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 && gnome2_gconf_savelist
+}
+
+pkg_postinst() {
+ use gnome && 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.4-window-region-calculation.patch b/x11-wm/compiz/files/compiz-0.8.4-window-region-calculation.patch
new file mode 100644
index 000000000000..c4e26a2a7de5
--- /dev/null
+++ b/x11-wm/compiz/files/compiz-0.8.4-window-region-calculation.patch
@@ -0,0 +1,36 @@
+From 79a275b240a98d9f64c8dd1e799e5d469ec8f204 Mon Sep 17 00:00:00 2001
+From: Danny Baumann <dannybaumann@web.de>
+Date: Wed, 20 Jan 2010 14:05:10 +0000
+Subject: Fix window region calculation for windows that have border width set.
+
+---
+diff --git a/src/window.c b/src/window.c
+index 90922d1..e7bb987 100644
+--- a/src/window.c
++++ b/src/window.c
+@@ -1701,8 +1701,8 @@ updateWindowRegion (CompWindow *w)
+ {
+ r.x = -w->attrib.border_width;
+ r.y = -w->attrib.border_width;
+- r.width = w->width;
+- r.height = w->height;
++ r.width = w->attrib.width + w->attrib.border_width;
++ r.height = w->attrib.height + w->attrib.border_width;
+
+ rects = &r;
+ n = 1;
+@@ -1719,8 +1719,10 @@ updateWindowRegion (CompWindow *w)
+ {
+ rect.extents.x1 = rects[i].x + w->attrib.border_width;
+ rect.extents.y1 = rects[i].y + w->attrib.border_width;
+- rect.extents.x2 = rect.extents.x1 + rects[i].width;
+- rect.extents.y2 = rect.extents.y1 + rects[i].height;
++ rect.extents.x2 = rect.extents.x1 + rects[i].width +
++ w->attrib.border_width;
++ rect.extents.y2 = rect.extents.y1 + rects[i].height +
++ w->attrib.border_width;
+
+ if (rect.extents.x1 < 0)
+ rect.extents.x1 = 0;
+--
+cgit v0.8.2