# $Id$ PNAME="compiz" PVER="0.8.4" PBUILD="r3" PCATEGORIE="x11-wm" STATE="unstable" HOMEPAGE="http://www.compiz-fusion.org/" SDEPEND=">= x11-libs/pango-1.26 >= x11-libs/cairo-1.8 >= x11-libs/gtk2+-2.18 >= x11-libs/libX11-1.3 >= x11-libs/libxcb-1.4 >= x11-libs/libXcomposite-0.4.1 >= x11-libs/libXdamage-1.1.2 >= x11-libs/libXinerama-1.1 >= x11-libs/libXrandr-1.3 >= x11-libs/libICE-1 >= x11-libs/libSM-1.1 >= x11-libs/libXrender-0.9.5 >= x11-libs/startup-notification-0.10 >= x11-base/xorg-server-1.7 >= media-libs/mesa-7.6 >= media-libs/glitz-0.5.6 >= media-libs/libpng-1.2.40 >= x11-libs/libwnck-2.28 >= gnome-base/librsvg-2.26 >= dev-libs/libxml2-2.7 >= dev-libs/libxslt-1.1.26 >= sys-apps/dbus-1.3 >= dev-libs/dbus-glib-0.74 >= dev-libs/dbus-qt3-0.70 >= sys-fs/fuse-2.8 >= x11-apps/mesa-progs-7.6 >= x11-apps/xvinfo-1.1 >= kde-base/kdebase-3.5 >= kde-base/kdebase4-workspace-4.3 >= gnome-base/gconf-2.28 >= gnome-base/control-center-2.28 >= gnome-base/gnome-desktop-2.28 >= dev-util/pkgconfig-0.23 >= x11-proto/damageproto-1.2 >= x11-proto/xineramaproto-1.2" SRCFILE="${PNAME}-${PVER}.tar.bz2" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" SPLIT_PACKAGES="${PNAME} ${PNAME}-gnome ${PNAME}-kde ${PNAME}-kde4" # important: qt4 will be detected through pkgconfig and qt3 via QTLIB var # so the qt3 include must be called *after* qt4! # KDEDIR for out kde4 compile hack is needed, so we include kde4 # kde4 includes qt4 so it must be included *before* qt4! # kde4 must be included *before* mbuild to not override src_install sminclude kde4 qt4 qt3 mtools cleanutils SRC_URI=( http://releases.compiz-fusion.org/${PVER}/${SRCFILE} mirror://${PNAME}/${SRCFILE} mirror://${PNAME}/${PNAME}-${PVER}-missing-files.patch mirror://${PNAME}/${PNAME}-${PVER}-kde44.patch ) UP2DATE="updatecmd http://releases.compiz-fusion.org/ | grep '\][0-9]' | sed -n 's:.*\]\([0-9].*\)/.*:\1:;$ p'" split_info_compiz() { DESCRIPTION="Compiz core components." DEPEND=">= x11-libs/pango-1.26 >= x11-libs/gtk2+-2.18 >= x11-libs/cairo-1.8 >= x11-libs/libX11-1.3 >= x11-libs/libxcb-1.4 >= x11-libs/libXcomposite-0.4.1 >= x11-libs/libXdamage-1.1.2 >= x11-libs/libXinerama-1.1 >= x11-libs/libXrandr-1.3 >= x11-libs/libICE-1 >= x11-libs/libSM-1.1 >= x11-libs/libXrender-0.9.5 >= x11-libs/startup-notification-0.10 >= x11-base/xorg-server-1.7 >= media-libs/mesa-7.6 >= media-libs/glitz-0.5.6 >= media-libs/libpng-1.2.40 >= gnome-base/librsvg-2.26 >= dev-libs/libxml2-2.7 >= dev-libs/libxslt-1.1.26 >= sys-apps/dbus-1.3 >= sys-fs/fuse-2.8 >= x11-apps/mesa-progs-7.6 >= x11-apps/xvinfo-1.1" } split_info_compiz-gnome() { DESCRIPTION="Compiz gnome components." DEPEND=">= x11-wm/compiz-${PVER} >= x11-libs/gtk2+-2.18 >= gnome-base/gconf-2.28 >= gnome-base/control-center-2.28 >= gnome-base/gnome-desktop-2.28 >= x11-libs/libwnck-2.28 >= dev-libs/dbus-glib-0.82" } split_info_compiz-kde() { DESCRIPTION="Compiz KDE3 components." DEPEND=">= x11-wm/compiz-${PVER} >= kde-base/kdebase-3.5 >= dev-libs/dbus-qt3-0.70" } split_info_compiz-kde4() { DESCRIPTION="Compiz KDE4 components." DEPEND=">= x11-wm/compiz-${PVER} >= kde-base/kdebase4-workspace-4.3" } src_prepare() { munpack ${SRCFILE} || die cd ${SRCDIR} # add missing metadata: kcfg.xslt and kconfig.xslt # -Np1 is needed as the patch only adds new files and always applies mpatch -Np1 ${PNAME}-${PVER}-missing-files.patch || die # fix build against kde-4.4.x mpatch ${PNAME}-${PVER}-kde44.patch || die } src_compile() { cd ${SRCDIR} mconfigure \ --with-default-plugins \ --enable-gtk \ --enable-gconf \ --enable-gnome \ --enable-metacity \ --enable-kde \ --enable-kde4 \ --enable-librsvg \ --enable-dbus \ --enable-dbus-glib \ --enable-fuse \ --enable-annotate \ || die # fixes compile issues with kde4 and kde3 installed at the same time sed -i -e "s:-lkdecore:${KDEDIR}/$(mlibdir)/libkdecore.so:g" \ -e "s:-lkdecorations:${KDEDIR}/$(mlibdir)/libkdecorations.so:g" \ kde/window-decorator-kde4/Makefile || die mmake || die } src_install_compiz() { cd ${SRCDIR} local sub for sub in src images include libdecoration metadata plugins po do mmake -C ${sub} DESTDIR=${BINDIR} install || die done # install missing pkgconfig data mmake DESTDIR=${BINDIR} install-pkgconfigDATA || die # clean up metadata # gnome rm -r ${BINDIR}/etc/gconf || die rm ${BINDIR}/usr/share/compiz/gconf.xml || die rm ${BINDIR}/usr/share/compiz/gnomecompat.xml || die # kde3 rm ${BINDIR}/usr/share/compiz/kcfg.xslt || die rm ${BINDIR}/usr/share/compiz/kconfig.xml || die rm ${BINDIR}/usr/share/compiz/kconfig.xslt || die rm -r ${BINDIR}/usr/share/config || die rm -r ${BINDIR}/usr/share/config.kcfg || die # clean up plugins # gnome rm ${BINDIR}/usr/$(mlibdir)/compiz/libgconf.* || die rm ${BINDIR}/usr/$(mlibdir)/compiz/libgnomecompat.* || die # kde rm ${BINDIR}/usr/$(mlibdir)/compiz/libkconfig.* || die # install docs minstalldocs AUTHORS ChangeLog COPYING* NEWS README TODO || die } src_install_compiz-gnome() { cd ${SRCDIR} mmake -C gtk/gnome DESTDIR=${BINDIR} install || die mmake -C gtk/window-decorator DESTDIR=${BINDIR} install || die mmake -C metadata DESTDIR=${BINDIR} install || die # clean up metadata # compiz-core zapmost ${BINDIR}/usr/share/compiz gconf.xml gnomecompat.xml || die # kde3 rm -r ${BINDIR}/usr/share/config || die rm -r ${BINDIR}/usr/share/config.kcfg || die # install missing plugins local sub for sub in libgconf libgnomecompat do # dirty hack but workins ;) mmake -C plugins DESTDIR=${BINDIR} install-moduleLTLIBRARIES module_LTLIBRARIES="${sub}.la" || die done } src_install_compiz-kde() { cd ${SRCDIR} mmake -C kde/window-decorator DESTDIR=${BINDIR} install || die mmake -C metadata DESTDIR=${BINDIR} install || die # clean up metadata # compiz-core zapmost ${BINDIR}/usr/share/compiz kcfg.xslt kconfig.xml kconfig.xslt || die # gnome rm -r ${BINDIR}/etc/gconf || die # install missing plugins local sub for sub in libkconfig do # dirty hack but workins ;) mmake -C plugins DESTDIR=${BINDIR} install-moduleLTLIBRARIES module_LTLIBRARIES="${sub}.la" || die done } src_install_compiz-kde4() { cd ${SRCDIR} mmake -C kde/window-decorator-kde4 DESTDIR=${BINDIR} install || die }