summaryrefslogtreecommitdiffstats
path: root/x11-wm
diff options
context:
space:
mode:
authorkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2009-10-20 19:04:40 +0800
committerkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2009-10-20 19:04:40 +0800
commit115a080cf101e0a9b4bceb2a66addcd14b65a1fc (patch)
treea3c4963b955b4dbaae2afc62815073854588a6f0 /x11-wm
parentd24b68c439743a5f4f6c87ce32ad17bd3b529099 (diff)
downloadmarcuscom-ports-115a080cf101e0a9b4bceb2a66addcd14b65a1fc.tar
marcuscom-ports-115a080cf101e0a9b4bceb2a66addcd14b65a1fc.tar.gz
marcuscom-ports-115a080cf101e0a9b4bceb2a66addcd14b65a1fc.tar.bz2
marcuscom-ports-115a080cf101e0a9b4bceb2a66addcd14b65a1fc.tar.lz
marcuscom-ports-115a080cf101e0a9b4bceb2a66addcd14b65a1fc.tar.xz
marcuscom-ports-115a080cf101e0a9b4bceb2a66addcd14b65a1fc.tar.zst
marcuscom-ports-115a080cf101e0a9b4bceb2a66addcd14b65a1fc.zip
Fix build with gnome 2.28.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@13168 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/compiz/Makefile171
-rw-r--r--x11-wm/compiz/distinfo3
-rwxr-xr-xx11-wm/compiz/files/compiz-manager.in407
-rw-r--r--x11-wm/compiz/files/patch-plugins_fuse.c11
-rw-r--r--x11-wm/compiz/pkg-descr8
-rw-r--r--x11-wm/compiz/pkg-message10
-rw-r--r--x11-wm/compiz/pkg-plist217
7 files changed, 827 insertions, 0 deletions
diff --git a/x11-wm/compiz/Makefile b/x11-wm/compiz/Makefile
new file mode 100644
index 000000000..ed03d51ac
--- /dev/null
+++ b/x11-wm/compiz/Makefile
@@ -0,0 +1,171 @@
+# New ports collection makefile for: compiz
+# Date created: Dec 20 2006
+# Whom: Florent Thoumie <flz@FreeBSD.org>
+#
+# $FreeBSD: ports/x11-wm/compiz/Makefile,v 1.18 2009/08/02 19:36:31 mezz Exp $
+#
+
+PORTNAME= compiz
+PORTVERSION= 0.8.2
+PORTREVISION= 2
+CATEGORIES= x11-wm
+MASTER_SITES= http://releases.compiz.org/${PORTVERSION}/
+
+MAINTAINER= rnoland@FreeBSD.org
+COMMENT= Compiz Composite/Window Manager
+
+LIB_DEPENDS= png.5:${PORTSDIR}/graphics/png \
+ startup-notification-1.0:${PORTSDIR}/x11/startup-notification
+
+XORG_CAT= app
+GNU_CONFIGURE= yes
+USE_BZIP2= yes
+#USE_TGZ= yes
+USE_GMAKE= yes
+USE_GETTEXT= yes
+USE_GL= glu
+USE_GNOME= gnomehack gconf2 libxslt
+USE_XORG= xcomposite xfixes xdamage xrandr xrender ice sm xinerama glproto
+USE_LDCONFIG= yes
+USE_AUTOTOOLS= libtool:22
+
+GCONF_SCHEMAS= gwd.schemas \
+ compiz-annotate.schemas \
+ compiz-blur.schemas \
+ compiz-clone.schemas \
+ compiz-commands.schemas \
+ compiz-core.schemas \
+ compiz-cube.schemas \
+ compiz-dbus.schemas \
+ compiz-decoration.schemas \
+ compiz-fade.schemas \
+ compiz-fs.schemas \
+ compiz-gconf.schemas \
+ compiz-glib.schemas \
+ compiz-gnomecompat.schemas \
+ compiz-ini.schemas \
+ compiz-inotify.schemas \
+ compiz-kconfig.schemas \
+ compiz-minimize.schemas \
+ compiz-move.schemas \
+ compiz-obs.schemas \
+ compiz-place.schemas \
+ compiz-png.schemas \
+ compiz-regex.schemas \
+ compiz-resize.schemas \
+ compiz-rotate.schemas \
+ compiz-scale.schemas \
+ compiz-screenshot.schemas \
+ compiz-svg.schemas \
+ compiz-switcher.schemas \
+ compiz-video.schemas \
+ compiz-water.schemas \
+ compiz-wobbly.schemas \
+ compiz-zoom.schemas
+
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
+ LDFLAGS="-L${LOCALBASE}/lib ${PTHREAD_LIBS}"
+
+OPTIONS= RSVG "Enable librsvg2 support" on \
+ GTK "Enable gtk2 support" on \
+ METACITY "Enable Metacity support" on \
+ GNOME "Enable Gnome support" on \
+ DBUS "Enable DBUS support" on \
+ FUSEFS "Enable fusefs support" off \
+ KDE "Enable KDE support" off
+
+SUB_FILES= compiz-manager
+DESKTOP_ENTRIES= "Compiz Manager" \
+ "A wrapper script for starting compiz" \
+ "" \
+ "compiz-manager" \
+ "Application;Core;" \
+ false
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|libpng|libpng12|' -e 's|gnome-desktop-2.0|gnome-desktop-2.0 gconf-2.0|g' \
+ ${WRKSRC}/configure
+
+post-install:
+ ${INSTALL_SCRIPT} ${WRKDIR}/compiz-manager ${PREFIX}/bin/compiz-manager
+.include <bsd.port.pre.mk>
+
+.if !defined(WITHOUT_RSVG)
+CONFIGURE_ARGS+= --enable-librsvg
+USE_GNOME+= librsvg2
+PLIST_SUB+= RSVG=""
+.else
+CONFIGURE_ARGS+= --disable-librsvg
+PLIST_SUB+= RSVG="@comment "
+.endif
+
+.if !defined(WITHOUT_GTK)
+CONFIGURE_ARGS+= --enable-gtk
+USE_GNOME+= glib20 libwnck
+PLIST_SUB+= GTK=""
+.else
+CONFIGURE_ARGS+= --disable-gtk
+PLIST_SUB+= GTK="@comment "
+.endif
+
+.if !defined(WITHOUT_METACITY) && !defined(WITHOUT_GNOME) && !defined(WITHOUT_GTK)
+CONFIGURE_ARGS+= --enable-metacity
+USE_GNOME+= metacity
+.else
+CONFIGURE_ARGS+= --disable-metacity
+.endif
+
+.if !defined(WITHOUT_GNOME) && !defined(WITHOUT_GTK)
+CONFIGURE_ARGS+= --enable-gnome \
+ --enable-gnome-keybindings
+USE_GNOME+= gnomecontrolcenter2
+WINDOWSETTINGSDATADIR= \
+ `pkg-config --variable=prefix gnome-window-settings-2.0`
+WINDOWSETTINGSLIBDIR= \
+ `pkg-config --variable=libdir gnome-window-settings-2.0`
+PLIST_SUB+= GNOME="" \
+ WINDOWSETTINGSDATADIR="${WINDOWSETTINGSDATADIR}" \
+ WINDOWSETTINGSLIBDIR="${WINDOWSETTINGSLIBDIR}"
+.else
+CONFIGURE_ARGS+= --disable-gnome \
+ --disable-gnome-keybindings
+PLIST_SUB+= GNOME="@comment "
+.endif
+
+.if !defined(WITHOUT_DBUS)
+CONFIGURE_ARGS+= --enable-dbus
+BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/dbus-1.pc:${PORTSDIR}/devel/dbus
+RUN_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/dbus-1.pc:${PORTSDIR}/devel/dbus
+.if !defined(WITHOUT_GTK) && !defined(WITHOUT_GNOME)
+CONFIGURE_ARGS+= --enable-dbus-glib
+BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/dbus-glib-1.pc:${PORTSDIR}/devel/dbus-glib
+RUN_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/dbus-glib-1.pc:${PORTSDIR}/devel/dbus-glib
+.endif
+PLIST_SUB+= DBUS=""
+.else
+CONFIGURE_ARGS+= --disable-dbus --disable-dbus-glib
+PLIST_SUB+= DBUS="@comment "
+.endif
+
+.if defined(WITH_FUSEFS)
+CONFIGURE_ARGS+= --enable-fuse
+BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/fuse.pc:${PORTSDIR}/sysutils/fusefs-libs
+RUN_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/fuse.pc:${PORTSDIR}/sysutils/fusefs-libs
+PLIST_SUB+= FUSEFS=""
+.else
+CONFIGURE_ARGS+= --disable-fuse
+PLIST_SUB+= FUSEFS="@comment "
+.endif
+
+.if defined(WITH_KDE)
+USE_KDEBASE_VER= 3
+CONFIGURE_ARGS+= --enable-kde
+PLIST_SUB+= KDE=""
+# allow bsd.kde.mk to be included after bsd.port.mk
+.include "${PORTSDIR}/Mk/bsd.kde.mk"
+.else
+CONFIGURE_ARGS+= --disable-kde
+PLIST_SUB+= KDE="@comment "
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/x11-wm/compiz/distinfo b/x11-wm/compiz/distinfo
new file mode 100644
index 000000000..39f18386d
--- /dev/null
+++ b/x11-wm/compiz/distinfo
@@ -0,0 +1,3 @@
+MD5 (xorg/app/compiz-0.8.2.tar.bz2) = c161975eb0fe8deac7be8d99408a80fc
+SHA256 (xorg/app/compiz-0.8.2.tar.bz2) = f526050f0e0b81dda5a7fc5f28c0b7fd879a77a2676f7303b10dbdda9dc3b0a8
+SIZE (xorg/app/compiz-0.8.2.tar.bz2) = 1086003
diff --git a/x11-wm/compiz/files/compiz-manager.in b/x11-wm/compiz/files/compiz-manager.in
new file mode 100755
index 000000000..adfd309d3
--- /dev/null
+++ b/x11-wm/compiz/files/compiz-manager.in
@@ -0,0 +1,407 @@
+#!/bin/sh
+# Compiz Manager wrapper script
+#
+# Copyright (c) 2007 Kristian Lyngstøl <kristian@bohemians.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+#
+# Contributions by: Treviño (3v1n0) <trevi55@gmail.com>, Ubuntu Packages
+#
+# Much of this code is based on Beryl code, also licensed under the GPL.
+# This script will detect what options we need to pass to compiz to get it
+# started, and start a default plugin and possibly window decorator.
+#
+
+
+COMPIZ_BIN_PATH="%%LOCALBASE%%/bin/" # For window decorators and compiz
+PLUGIN_PATH="%%LOCALBASE%%/lib/compiz/"
+GLXINFO="%%LOCALBASE%%/bin/glxinfo"
+KWIN="%%LOCALBASE%%/bin/kwin"
+METACITY="%%LOCALBASE%%/bin/metacity"
+XFWM="%%LOCALBASE%%/bin/xfwm"
+COMPIZ_NAME="compiz" # Final name for compiz (compiz.real)
+
+# For Xgl LD_PRELOAD
+LIBGL_NVIDIA="/usr/lib/nvidia/libGL.so.1.2.xlibmesa"
+LIBGL_FGLRX="/usr/lib/fglrx/libGL.so.1.2.xlibmesa"
+
+# Minimum amount of memory (in kilo bytes) that nVidia cards need
+# to be allowed to start
+# Set to 262144 to require 256MB
+NVIDIA_MEMORY="65536" # 64MB
+NVIDIA_SETTINGS="nvidia-settings" # Assume it's in the path by default
+
+# For detecting what driver is in use, the + is for one or more /'s
+XORG_DRIVER_PATH="%%LOCALBASE%%/lib/xorg/modules/drivers/+"
+FALLBACKWM="xterm"
+if [ x"$KDE_FULL_SESSION" = x"true" ]; then
+ FALLBACKWM="${KWIN}";
+elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then
+ FALLBACKWM="${METACITY}"
+elif xprop -root _DT_SAVE_MODE | grep ' = \"xfce4\"$' >/dev/null 2>&1; then
+ FALLBACKWM="${XFWM}"
+fi
+
+FALLBACKWM_OPTIONS="--replace $@"
+
+# Driver whitelist
+WHITELIST="nvidia intel ati radeon i810"
+
+# blacklist based on the pci ids
+# See http://wiki.compiz-fusion.org/Hardware/Blacklist for details
+T=" 1002:5954 1002:5854 1002:5955" # ati rs480
+T="$T 1002:4153" # ATI Rv350
+T="$T 8086:2982 8086:2992 8086:29a2 8086:2a02 8086:2a12" # intel 965
+BLACKLIST_PCIIDS="$T"
+unset T
+
+COMPIZ_OPTIONS="--ignore-desktop-hints --replace"
+COMPIZ_PLUGINS=""
+ENV=""
+
+# Use emerald by default if it exist
+USE_EMERALD="yes"
+
+# No indirect by default
+INDIRECT="no"
+
+# Default X.org log if xset q doesn't reveal it
+XORG_DEFAULT_LOG="/var/log/Xorg.0.log"
+
+# Set to yes to enable verbose
+VERBOSE="yes"
+
+# Echos the arguments if verbose
+verbose()
+{
+ if [ "x$VERBOSE" = "xyes" ]; then
+ printf "$*"
+ fi
+}
+
+# abort script and run fallback windowmanager
+abort_with_fallback_wm()
+{
+ if [ "x$SKIP_CHECKS" = "xyes" ]; then
+ verbose "SKIP_CHECKS is yes, so continuing despite problems.\n"
+ return 0;
+ fi
+
+ if [ "x$CM_DRY" = "xyes" ]; then
+ verbose "Dry run failed: Problems detected with 3D support.'n"
+ exit 1;
+ fi
+
+ verbose "aborting and using fallback: $FALLBACKWM \n"
+
+ if [ -x $FALLBACKWM ]; then
+ exec $FALLBACKWM $FALLBACKWM_OPTIONS
+ else
+ printf "no $FALLBACKWM found, exiting\n"
+ exit 1
+ fi
+}
+
+# Check for non power of two texture support
+check_npot_texture()
+{
+ verbose "Checking for non power of two support: "
+ if glxinfo 2> /dev/null | egrep -q '(GL_ARB_texture_non_power_of_two|GL_NV_texture_rectangle|GL_EXT_texture_rectangle|GL_ARB_texture_rectangle)' ; then
+ verbose "present. \n";
+ return 0;
+ else
+ verbose "Not present. \n"
+ return 1;
+ fi
+
+}
+
+# Check for presence of FBConfig
+check_fbconfig()
+{
+ verbose "Checking for FBConfig: "
+ if [ "$INDIRECT" = "yes" ]; then
+ $GLXINFO -i | grep -q GLX.*fbconfig
+ FB=$?
+ else
+ $GLXINFO | grep -q GLX.*fbconfig
+ FB=$?
+ fi
+
+ if [ $FB = "0" ]; then
+ unset FB
+ verbose "present. \n"
+ return 0;
+ else
+ unset FB
+ verbose "not present. \n"
+ return 1;
+ fi
+}
+
+
+# Check for TFP
+check_tfp()
+{
+ verbose "Checking for texture_from_pixmap: "
+ if [ $($GLXINFO 2>/dev/null | grep -c GLX_EXT_texture_from_pixmap) -gt 2 ] ; then
+ verbose "present. \n"
+ return 0;
+ else
+ verbose "not present. \n"
+ if [ "$INDIRECT" = "yes" ]; then
+ unset LIBGL_ALWAYS_INDIRECT
+ INDIRECT="no"
+ return 1;
+ else
+ verbose "Trying again with indirect rendering:\n";
+ INDIRECT="yes"
+ export LIBGL_ALWAYS_INDIRECT=1
+ check_tfp;
+ return $?
+ fi
+ fi
+}
+
+# Check wether the composite extension is present
+check_composite()
+{
+ verbose "Checking for Composite extension: "
+ if xdpyinfo -queryExtensions | grep -q Composite ; then
+ verbose "present. \n";
+ return 0;
+ else
+ verbose "not present. \n";
+ return 1;
+ fi
+}
+
+# Detects if Xgl is running
+check_xgl()
+{
+ verbose "Checking for Xgl: "
+ if xvinfo | grep -q Xgl ; then
+ verbose "present. \n"
+ return 0;
+ else
+ verbose "not present. \n"
+ return 1;
+ fi
+}
+
+# Check if the nVidia card has enough video ram to make sense
+check_nvidia_memory()
+{
+ MEM=$(${NVIDIA_SETTINGS} -q VideoRam | egrep Attribute\ \'VideoRam\'\ .*: | cut -d: -f3 | sed 's/[^0-9]//g')
+ if [ $MEM -lt $NVIDIA_MEMORY ]; then
+ verbose "Less than ${NVIDIA_MEMORY}kb of memory and nVidia";
+ return 1;
+ fi
+ return 0;
+}
+
+# Check for existence if NV-GLX
+check_nvidia()
+{
+ if [ ! -z $NVIDIA_INTERNAL_TEST ]; then
+ return $NVIDIA_INTERNAL_TEST;
+ fi
+ verbose "Checking for nVidia: "
+ if xdpyinfo | grep -q NV-GLX ; then
+ verbose "present. \n"
+ NVIDIA_INTERNAL_TEST=0
+ return 0;
+ else
+ verbose "not present. \n"
+ NVIDIA_INTERNAL_TEST=1
+ return 1;
+ fi
+}
+
+# Check if the max texture size is large enough compared to the resolution
+check_texture_size()
+{
+ TEXTURE_LIMIT=$(glxinfo -l | grep GL_MAX_TEXTURE_SIZE | sed 's/.*=[^0-9]//g')
+ RESOLUTION=$(xdpyinfo | grep -i dimensions: | sed 's/[^0-9]*pixels.*(.*).*//' | sed 's/[^0-9x]*//')
+ VRES=$(echo $RESOLUTION | sed 's/.*x//')
+ HRES=$(echo $RESOLUTION | sed 's/x.*//')
+ verbose "Comparing resolution ($RESOLUTION) to maximum 3D texture size ($TEXTURE_LIMIT): ";
+ if [ $VRES -gt $TEXTURE_LIMIT ] || [ $HRES -gt $TEXTURE_LIMIT ]; then
+ verbose "Failed.\n"
+ return 1;
+ fi
+ verbose "Passed.\n"
+ return 0
+}
+
+# check driver whitelist
+running_under_whitelisted_driver()
+{
+ LOG=$(xset q|grep "Log file"|awk '{print $3}')
+ if [ "$LOG" = "" ]; then
+ verbose "xset q doesn't reveal the location of the log file. Using fallback $XORG_DEFAULT_LOG \n"
+ LOG=$XORG_DEFAULT_LOG;
+ fi
+ if [ -z "$LOG" ];then
+ verbose "AIEEEEH, no Log file found \n"
+ verbose "$(xset q) \n"
+ return 0
+ fi
+ for DRV in ${WHITELIST}; do
+ if egrep -q "Loading ${XORG_DRIVER_PATH}${DRV}_drv\.so" $LOG &&
+ ! egrep -q "Unloading ${XORG_DRIVER_PATH}${DRV}_drv\.so" $LOG;
+ then
+ return 0
+ fi
+ done
+ verbose "No whitelisted driver found\n"
+ return 1
+}
+
+# check pciid blacklist
+have_blacklisted_pciid()
+{
+# OUTPUT=$(lspci -n)
+# for ID in ${BLACKLIST_PCIIDS}; do
+# if echo "$OUTPUT" | egrep -q "$ID"; then
+# verbose "Blacklisted PCIID '$ID' found \n"
+# return 0
+# fi
+# done
+# OUTPUT=$(lspci -vn | grep -i VGA)
+# verbose "Detected PCI ID for VGA: $OUTPUT\n"
+ return 1
+}
+
+build_env()
+{
+ if check_nvidia; then
+ ENV="__GL_YIELD=NOTHING "
+ fi
+ if [ "$INDIRECT" = "yes" ]; then
+ ENV="$ENV LIBGL_ALWAYS_INDIRECT=1 "
+ fi
+ if check_xgl; then
+ if [ -f ${LIBGL_NVIDIA} ]; then
+ ENV="$ENV LD_PRELOAD=${LIBGL_NVIDIA}"
+ verbose "Enabling Xgl with nVidia drivers...\n"
+ fi
+ if [ -f ${LIBGL_FGLRX} ]; then
+ ENV="$ENV LD_PRELOAD=${LIBGL_FGLRX}"
+ verbose "Enabling Xgl with fglrx ATi drivers...\n"
+ fi
+ fi
+
+ ENV="$ENV FROM_WRAPPER=yes"
+
+ if [ -n "$ENV" ]; then
+ export $ENV
+ fi
+}
+
+build_args()
+{
+ if [ "x$INDIRECT" = "xyes" ]; then
+ COMPIZ_OPTIONS="$COMPIZ_OPTIONS --indirect-rendering "
+ fi
+ if [ ! -z "$DESKTOP_AUTOSTART_ID" ]; then
+ COMPIZ_OPTIONS="$COMPIZ_OPTIONS --sm-client-id $DESKTOP_AUTOSTART_ID"
+ fi
+ if check_nvidia; then
+ if [ "x$INDIRECT" != "xyes" ]; then
+ COMPIZ_OPTIONS="$COMPIZ_OPTIONS --loose-binding"
+ fi
+ fi
+}
+
+####################
+# Execution begins here.
+
+# Read configuration from XDG paths
+if [ -z "$XDG_CONFIG_DIRS" ]; then
+ test -f %%LOCALBASE%%/etc/xdg/compiz/compiz-manager && . %%LOCALBASE%%/etc/xdg/compiz/compiz-manager
+else
+ test -f $XDG_CONFIG_DIRS/compiz/compiz-manager && . $XDG_CONFIG_DIRS/compiz/compiz-manager
+fi
+
+if [ -z "$XDG_CONFIG_HOME" ]; then
+ test -f $HOME/.config/compiz/compiz-manager && . $HOME/.config/compiz/compiz-manager
+else
+ test -f $XDG_CONFIG_HOME/compiz/compiz-manager && . $XDG_CONFIG_HOME/compiz/compiz-manager
+fi
+
+# Don't use compiz when running the failsafe session
+if [ "x$GNOME_DESKTOP_SESSION_ID" = "xFailsafe" ]; then
+ abort_with_fallback_wm
+fi
+
+if [ "x$LIBGL_ALWAYS_INDIRECT" = "x1" ]; then
+ INDIRECT="yes";
+fi
+
+# if we run under Xgl, we can skip some tests here
+if ! check_xgl; then
+ # if vesa or vga are in use, do not even try glxinfo (LP#119341)
+ if ! running_under_whitelisted_driver || have_blacklisted_pciid; then
+ abort_with_fallback_wm
+ fi
+ # check if we have the required bits to run compiz and if not,
+ # fallback
+ if ! check_tfp || ! check_npot_texture || ! check_composite || ! check_texture_size; then
+ abort_with_fallback_wm
+ fi
+
+ if check_nvidia && ! check_nvidia_memory; then
+ abort_with_fallback_wm
+ fi
+
+ if ! check_fbconfig; then
+ abort_with_fallback_wm
+ fi
+fi
+
+# load the ccp plugin if present and fallback to plain gconf if not
+if [ -f ${PLUGIN_PATH}libccp.so ]; then
+ COMPIZ_PLUGINS="$COMPIZ_PLUGINS ccp"
+elif [ -f ${PLUGIN_PATH}libgconf.so ]; then
+ COMPIZ_PLUGINS="$COMPIZ_PLUGINS glib gconf"
+fi
+
+# get environment
+build_env
+build_args
+
+if [ "x$CM_DRY" = "xyes" ]; then
+ verbose "Dry run finished: everything should work with regards to Compiz and 3D.\n"
+ verbose "Execute: ${COMPIZ_BIN_PATH}${COMPIZ_NAME} $COMPIZ_OPTIONS "$@" $COMPIZ_PLUGINS \n"
+ exit 0;
+fi
+# start the gtk-window-decorator if present
+if [ -x ${COMPIZ_BIN_PATH}emerald ] && [ "$USE_EMERALD" = "yes" ]; then
+ verbose "Starting emerald\n"
+ ${COMPIZ_BIN_PATH}emerald --replace &
+elif [ -x ${COMPIZ_BIN_PATH}gtk-window-decorator ] && [ -n "$GNOME_DESKTOP_SESSION_ID" ]; then
+ verbose "Starting gtk-window-decorator\n"
+ ${COMPIZ_BIN_PATH}gtk-window-decorator --replace &
+elif [ -x ${COMPIZ_BIN_PATH}kde-window-decorator ] && [ -n "$KDE_FULL_SESSION" ]; then
+ verbose "Starting kde-window-decorator\n"
+ ${COMPIZ_BIN_PATH}kde-window-decorator --replace &
+ FALLBACKWM="${KWIN}"
+fi
+
+${COMPIZ_BIN_PATH}${COMPIZ_NAME} $COMPIZ_OPTIONS "$@" $COMPIZ_PLUGINS || exec $FALLBACKWM $FALLBACKWM_OPTIONS
+
diff --git a/x11-wm/compiz/files/patch-plugins_fuse.c b/x11-wm/compiz/files/patch-plugins_fuse.c
new file mode 100644
index 000000000..48a0a68b9
--- /dev/null
+++ b/x11-wm/compiz/files/patch-plugins_fuse.c
@@ -0,0 +1,11 @@
+--- plugins/fuse.c.orig Mon Apr 2 14:15:28 2007
++++ plugins/fuse.c Mon May 7 20:07:09 2007
+@@ -28,6 +28,8 @@
+ #include <errno.h>
+ #include <poll.h>
+ #include <signal.h>
++#include <sys/types.h>
++#include <sys/param.h>
+ #include <sys/mount.h>
+ #include <fuse.h>
+ #include <fuse_lowlevel.h>
diff --git a/x11-wm/compiz/pkg-descr b/x11-wm/compiz/pkg-descr
new file mode 100644
index 000000000..d654cfa1b
--- /dev/null
+++ b/x11-wm/compiz/pkg-descr
@@ -0,0 +1,8 @@
+Compiz is an OpenGL compositing manager that use GLX_EXT_texture_from_pixmap
+for binding redirected top-level windows to texture objects. It has a flexible
+plug-in system and it is designed to run well on most graphics hardware.
+
+WWW: http://www.go-compiz.org/
+
+- Florent Thoumie
+flz@FreeBSD.org
diff --git a/x11-wm/compiz/pkg-message b/x11-wm/compiz/pkg-message
new file mode 100644
index 000000000..fb8bce937
--- /dev/null
+++ b/x11-wm/compiz/pkg-message
@@ -0,0 +1,10 @@
+This port has installed compiz-manager which is a wrapper to start
+compiz.
+
+If you are using gnome, you can use the configuration editor to set the
+value of:
+
+desktop->gnome->session->required_components->windowmanager = compiz-manager
+
+This will enable compiz as your default window manager.
+
diff --git a/x11-wm/compiz/pkg-plist b/x11-wm/compiz/pkg-plist
new file mode 100644
index 000000000..fd214a72d
--- /dev/null
+++ b/x11-wm/compiz/pkg-plist
@@ -0,0 +1,217 @@
+@comment $FreeBSD: ports/x11-wm/compiz/pkg-plist,v 1.6 2009/04/08 06:55:27 rnoland Exp $
+bin/compiz
+bin/compiz-manager
+%%GTK%%bin/gtk-window-decorator
+%%KDE%%bin/kde-window-decorator
+include/compiz/compiz.h
+include/compiz/compiz-common.h
+include/compiz/compiz-core.h
+include/compiz/compiz-cube.h
+include/compiz/compiz-plugin.h
+include/compiz/compiz-scale.h
+include/compiz/decoration.h
+lib/compiz/libannotate.a
+lib/compiz/libannotate.la
+lib/compiz/libannotate.so
+lib/compiz/libblur.a
+lib/compiz/libblur.la
+lib/compiz/libblur.so
+lib/compiz/libclone.a
+lib/compiz/libclone.la
+lib/compiz/libclone.so
+lib/compiz/libcommands.a
+lib/compiz/libcommands.la
+lib/compiz/libcommands.so
+lib/compiz/libcube.a
+lib/compiz/libcube.la
+lib/compiz/libcube.so
+%%DBUS%%lib/compiz/libdbus.a
+%%DBUS%%lib/compiz/libdbus.la
+%%DBUS%%lib/compiz/libdbus.so
+lib/compiz/libdecoration.a
+lib/compiz/libdecoration.la
+lib/compiz/libdecoration.so
+lib/compiz/libfade.a
+lib/compiz/libfade.la
+lib/compiz/libfade.so
+%%FUSEFS%%lib/compiz/libfs.a
+%%FUSEFS%%lib/compiz/libfs.la
+%%FUSEFS%%lib/compiz/libfs.so
+lib/compiz/libgconf.a
+lib/compiz/libgconf.la
+lib/compiz/libgconf.so
+lib/compiz/libglib.a
+lib/compiz/libglib.la
+lib/compiz/libglib.so
+lib/compiz/libgnomecompat.a
+lib/compiz/libgnomecompat.la
+lib/compiz/libgnomecompat.so
+lib/compiz/libini.a
+lib/compiz/libini.la
+lib/compiz/libini.so
+lib/compiz/libminimize.a
+lib/compiz/libminimize.la
+lib/compiz/libminimize.so
+lib/compiz/libmove.a
+lib/compiz/libmove.la
+lib/compiz/libmove.so
+lib/compiz/libobs.a
+lib/compiz/libobs.la
+lib/compiz/libobs.so
+lib/compiz/libplace.a
+lib/compiz/libplace.la
+lib/compiz/libplace.so
+lib/compiz/libpng.a
+lib/compiz/libpng.la
+lib/compiz/libpng.so
+lib/compiz/libregex.a
+lib/compiz/libregex.la
+lib/compiz/libregex.so
+lib/compiz/libresize.a
+lib/compiz/libresize.la
+lib/compiz/libresize.so
+lib/compiz/librotate.a
+lib/compiz/librotate.la
+lib/compiz/librotate.so
+lib/compiz/libscale.a
+lib/compiz/libscale.la
+lib/compiz/libscale.so
+lib/compiz/libscreenshot.a
+lib/compiz/libscreenshot.la
+lib/compiz/libscreenshot.so
+%%RSVG%%lib/compiz/libsvg.a
+%%RSVG%%lib/compiz/libsvg.la
+%%RSVG%%lib/compiz/libsvg.so
+lib/compiz/libswitcher.a
+lib/compiz/libswitcher.la
+lib/compiz/libswitcher.so
+lib/compiz/libvideo.a
+lib/compiz/libvideo.la
+lib/compiz/libvideo.so
+lib/compiz/libwater.a
+lib/compiz/libwater.la
+lib/compiz/libwater.so
+lib/compiz/libwobbly.a
+lib/compiz/libwobbly.la
+lib/compiz/libwobbly.so
+lib/compiz/libzoom.a
+lib/compiz/libzoom.la
+lib/compiz/libzoom.so
+lib/libdecoration.a
+lib/libdecoration.la
+lib/libdecoration.so
+lib/libdecoration.so.0
+libdata/pkgconfig/compiz-cube.pc
+libdata/pkgconfig/compiz-gconf.pc
+libdata/pkgconfig/compiz-scale.pc
+libdata/pkgconfig/compiz.pc
+libdata/pkgconfig/libdecoration.pc
+%%DATADIR%%/annotate.xml
+%%DATADIR%%/blur.xml
+%%DATADIR%%/clone.xml
+%%DATADIR%%/commands.xml
+%%DATADIR%%/core.xml
+%%DATADIR%%/cube.xml
+%%DATADIR%%/dbus.xml
+%%DATADIR%%/decoration.xml
+%%DATADIR%%/fade.xml
+%%DATADIR%%/freedesktop.png
+%%DATADIR%%/fs.xml
+%%DATADIR%%/gconf.xml
+%%DATADIR%%/glib.xml
+%%DATADIR%%/gnomecompat.xml
+%%DATADIR%%/icon.png
+%%DATADIR%%/ini.xml
+%%DATADIR%%/inotify.xml
+%%DATADIR%%/kconfig.xml
+%%DATADIR%%/minimize.xml
+%%DATADIR%%/move.xml
+%%DATADIR%%/obs.xml
+%%DATADIR%%/place.xml
+%%DATADIR%%/png.xml
+%%DATADIR%%/regex.xml
+%%DATADIR%%/resize.xml
+%%DATADIR%%/rotate.xml
+%%DATADIR%%/scale.xml
+%%DATADIR%%/schemas.xslt
+%%DATADIR%%/screenshot.xml
+%%DATADIR%%/svg.xml
+%%DATADIR%%/switcher.xml
+%%DATADIR%%/video.xml
+%%DATADIR%%/water.xml
+%%DATADIR%%/wobbly.xml
+%%DATADIR%%/zoom.xml
+%%GNOME%%@cwd %%WINDOWSETTINGSDATADIR%%
+%%GNOME%%share/gnome/wm-properties/compiz-wm.desktop
+%%GNOME%%share/gnome-control-center/keybindings/50-compiz-desktop-key.xml
+%%GNOME%%share/gnome-control-center/keybindings/50-compiz-key.xml
+%%GNOME%%@cwd %%WINDOWSETTINGSLIBDIR%%
+%%GNOME%%window-manager-settings/libcompiz.a
+%%GNOME%%window-manager-settings/libcompiz.la
+%%GNOME%%window-manager-settings/libcompiz.so
+%%GNOME%%@cwd
+share/applications/compiz.desktop
+share/locale/af/LC_MESSAGES/compiz.mo
+share/locale/ar/LC_MESSAGES/compiz.mo
+share/locale/bg/LC_MESSAGES/compiz.mo
+share/locale/bn/LC_MESSAGES/compiz.mo
+share/locale/bn_IN/LC_MESSAGES/compiz.mo
+share/locale/bs/LC_MESSAGES/compiz.mo
+share/locale/ca/LC_MESSAGES/compiz.mo
+share/locale/cs/LC_MESSAGES/compiz.mo
+share/locale/cy/LC_MESSAGES/compiz.mo
+share/locale/da/LC_MESSAGES/compiz.mo
+share/locale/de/LC_MESSAGES/compiz.mo
+share/locale/el/LC_MESSAGES/compiz.mo
+share/locale/en_GB/LC_MESSAGES/compiz.mo
+share/locale/en_US/LC_MESSAGES/compiz.mo
+share/locale/es/LC_MESSAGES/compiz.mo
+share/locale/et/LC_MESSAGES/compiz.mo
+share/locale/eu/LC_MESSAGES/compiz.mo
+share/locale/fi/LC_MESSAGES/compiz.mo
+share/locale/fr/LC_MESSAGES/compiz.mo
+share/locale/gl/LC_MESSAGES/compiz.mo
+share/locale/gu/LC_MESSAGES/compiz.mo
+share/locale/he/LC_MESSAGES/compiz.mo
+share/locale/hi/LC_MESSAGES/compiz.mo
+share/locale/hr/LC_MESSAGES/compiz.mo
+share/locale/hu/LC_MESSAGES/compiz.mo
+share/locale/id/LC_MESSAGES/compiz.mo
+share/locale/it/LC_MESSAGES/compiz.mo
+share/locale/ja/LC_MESSAGES/compiz.mo
+share/locale/ka/LC_MESSAGES/compiz.mo
+share/locale/km/LC_MESSAGES/compiz.mo
+share/locale/ko/LC_MESSAGES/compiz.mo
+share/locale/lo/LC_MESSAGES/compiz.mo
+share/locale/lt/LC_MESSAGES/compiz.mo
+share/locale/mk/LC_MESSAGES/compiz.mo
+share/locale/mr/LC_MESSAGES/compiz.mo
+share/locale/nb/LC_MESSAGES/compiz.mo
+share/locale/nl/LC_MESSAGES/compiz.mo
+share/locale/or/LC_MESSAGES/compiz.mo
+share/locale/pa/LC_MESSAGES/compiz.mo
+share/locale/pl/LC_MESSAGES/compiz.mo
+share/locale/pt/LC_MESSAGES/compiz.mo
+share/locale/pt_BR/LC_MESSAGES/compiz.mo
+share/locale/ro/LC_MESSAGES/compiz.mo
+share/locale/ru/LC_MESSAGES/compiz.mo
+share/locale/sk/LC_MESSAGES/compiz.mo
+share/locale/sl/LC_MESSAGES/compiz.mo
+share/locale/sr/LC_MESSAGES/compiz.mo
+share/locale/sv/LC_MESSAGES/compiz.mo
+share/locale/ta/LC_MESSAGES/compiz.mo
+share/locale/tr/LC_MESSAGES/compiz.mo
+share/locale/uk/LC_MESSAGES/compiz.mo
+share/locale/vi/LC_MESSAGES/compiz.mo
+share/locale/xh/LC_MESSAGES/compiz.mo
+share/locale/zh_CN/LC_MESSAGES/compiz.mo
+share/locale/zh_TW/LC_MESSAGES/compiz.mo
+share/locale/zu/LC_MESSAGES/compiz.mo
+@dirrmtry share/applications
+@dirrmtry share/locale/en_US/LC_MESSAGES
+@dirrmtry share/locale/en_US
+@dirrmtry share/locale/lo/LC_MESSAGES
+@dirrmtry share/locale/lo
+@dirrm %%DATADIR%%
+@dirrm lib/compiz
+@dirrm include/compiz