diff options
author | Romain Perier <mrpouet@gentoo.org> | 2010-02-02 12:59:37 +0000 |
---|---|---|
committer | Romain Perier <mrpouet@gentoo.org> | 2010-02-02 12:59:37 +0000 |
commit | 9b1aa88483cf3217b6d1fa59b151855ba756c52a (patch) | |
tree | 995aeff5b4f739d8641658179261dda018bcb5c8 /x11-wm/compiz | |
parent | Stable on alpha, bug #303207 (diff) | |
download | gentoo-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/compiz')
-rw-r--r-- | x11-wm/compiz/ChangeLog | 9 | ||||
-rw-r--r-- | x11-wm/compiz/compiz-0.8.4-r2.ebuild | 151 | ||||
-rw-r--r-- | x11-wm/compiz/files/compiz-0.8.4-window-region-calculation.patch | 36 |
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 |