Compiz Fusionの覚え書き(2008/9/29現在)
http://lists.compiz-fusion.org/pipermail/dev/2008-September/001045.html
にあるように、Compiz Fusionのバージョン0.7.8が出ている。
変更点
今回の変更点は不具合修正などが多いが、
- 透明度の変更を行う部分が、「アクセシビリティ」内のプラグイン「明度と彩度」と一緒になって「Opacity,Brightness and Saturation」にまとめられた
- 最大化/最小化/閉じるなどのアニメーションを行うプラグインが分割され、設定と基本的なアニメーションの種類のみをこれまでの「アニメーション」が担当し、幾つかのアニメーションの種類は追加扱いで別プラグイン「Animations Add-On」を有効にする必要が出た。分離されたほうのアニメーションの詳細は「Animations Add-On」プラグインの設定で行う
といったプラグインの整理もある。
Gentooのdesktop-effectsでバージョン0.7.8が利用可能に
laymanで追加できるOverlay「desktop-effects」のebuildが0.7.8対応になったが、「EAPI="2"」でebuildが書かれるようになったため、Portageのバージョンが2.2系でないと処理できない。2008/9/29現在は2.2_rc11が最新(リリース候補段階)。
(2008/11/2)2008年11月現在、公式のPortageツリーに0.7.8が入っているようだ。また、乗り換えた先のMandriva Linux 2009.0でも0.7.8はディストリのパッケージとして利用可能となっている。
compizコアからxcb依存を外すパッチが消えたので貼り付け
compizのコア部分のパッケージ(x11-wm/compiz)でxcbを外せないように書かれていたため、x11-xcb(libxcbサポートの付いたlibX11)を不要にするパッチとともに、それを適用できるようにするebuild*1を下に貼り付ける(libxcbなしで動作することを確認)。
ファイル名: compiz-0.7.8-drop-xcb.patch
diff -ur compiz-0.7.8.orig/configure.ac compiz-0.7.8/configure.ac --- compiz-0.7.8.orig/configure.ac +++ compiz-0.7.8/configure.ac @@ -118,8 +118,7 @@ metadatadir=$datadir/compiz AC_SUBST(metadatadir) -COMPIZ_REQUIRES="x11-xcb \ - xcomposite \ +COMPIZ_REQUIRES="xcomposite \ xfixes \ xdamage \ xrandr \ diff -ur compiz-0.7.8.orig/include/compiz-core.h compiz-0.7.8/include/compiz-core.h --- compiz-0.7.8.orig/include/compiz-core.h +++ compiz-0.7.8/include/compiz-core.h @@ -33,7 +33,7 @@ #include <stdio.h> #include <sys/time.h> -#include <X11/Xlib-xcb.h> +#include <X11/Xlib.h> #include <X11/Xutil.h> #include <X11/extensions/Xdamage.h> #include <X11/extensions/Xcomposite.h> @@ -896,8 +896,6 @@ CompDisplay *next; - xcb_connection_t *connection; - Display *display; CompScreen *screens; diff -ur compiz-0.7.8.orig/src/display.c compiz-0.7.8/src/display.c --- compiz-0.7.8.orig/src/display.c +++ compiz-0.7.8/src/display.c @@ -1998,8 +1998,6 @@ return FALSE; } - d->connection = XGetXCBConnection (dpy); - if (!compInitDisplayOptionsFromMetadata (d, &coreMetadata, coreDisplayOptionInfo,
ebuildとパッチは、別のローカル用Overlayへ配置し、下のようにebuildのリビジョン番号を高めにして(desktop-effectsのものより)優先させる。
[任意]ファイル名: compiz-0.7.8-r9999.ebuild
# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="2" inherit autotools eutils gnome2-utils multilib DESCRIPTION="3D composite and windowmanager" HOMEPAGE="http://www.compiz.org/" SRC_URI="http://xorg.freedesktop.org/archive/individual/app/${P}.tar.gz" LICENSE="GPL-2 LGPL-2.1 MIT" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="annotate dbus fuse gnome gtk kde kde4 svg xcb" RESTRICT="mirror" DEPEND=" dev-libs/glib:2 dev-libs/libxml2 dev-libs/libxslt >=media-libs/glitz-0.5.6 media-libs/libpng >=media-libs/mesa-6.5.1-r1 >=x11-base/xorg-server-1.1.1-r1 xcb? ( 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.9.2 >=x11-libs/startup-notification-0.7 annotate? ( 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:3.5 kde-base/kdebase:3.5 ) dev-libs/dbus-qt3-old ) kde4? ( || ( kde-base/kwin:4.1 kde-base/kwin:4 kde-base/kwin:kde-svn ) ) 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() { if ! use xcb; then epatch ${FILESDIR}/${P}-drop-xcb.patch || die "epatch failed" fi use gnome || { epatch "${FILESDIR}"/${PN}-no-gconf.patch ln -s "${ROOT}"/usr/share/aclocal/gconf-2.m4 acinclude.m4 # required to apply the above patch intltoolize --copy --force || die "intltoolize failed" glib-gettextize --copy --force || die "glib-gettextize failed" } if ! use xcb || ! use gnome; then eautoreconf || die "eautoreconf failed" fi } src_configure() { econf \ --disable-gnome-keybindings \ --enable-librsvg \ --with-default-plugins \ $(use_enable 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) \ $(use_enable kde4) \ || die "econf failed" } 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" # Create gentoo's config file dodir /etc/xdg/compiz 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/libGL.so.1.2" LIBGL_FGLRX="/usr/$(get_libdir)/opengl/xorg-x11/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" } pkg_postinst() { use gnome && gnome2_gconf_install } pkg_prerm() { use gnome && gnome2_gconf_uninstall }
*1:これに加え、libXrenderのバージョンに関しても、バージョン0.9.2で動作したので、依存バージョンを書き換えた