blob: 474fd19340605d59dcac0b2473a81d549d2d1532 (
plain) 
 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137  | #!/bin/bash # # A script to build compiz++ by Scott Moreau oreaus@gmail.com # Modifications by Jason Smith jason.smith@canonical.com # # Make sure we're being ran in bash if [[ -z "$BASH_VERSION" ]]; then echo "Please run this script in a bash environment." exit 1 fi # Don't run it as root if [[ "$EUID" = 0 ]]; then echo "Run as user, without sudo and not as root." exit 1 fi SRC_DIR=$HOME/staging/build/compiz/script-src PLUGIN_DIR=$SRC_DIR/plugins PREFIX=$HOME/staging/ PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig LD_LIBRARY_PATH=$PREFIX/lib # These are the dependencies for ubuntu. This script should work on other distros provided the dependencies are met DEPENDENCIES="git-core cmake libcairo2-dev librsvg2-dev libglib2.0-dev libpng12-dev libdbus-1-dev libboost-dev libboost-serialization-dev libxml2-dev libgl1-mesa-dev libglu1-mesa-dev libwnck-dev libgconf2-dev libx11-xcb-dev libxslt1-dev libnotify-dev libprotobuf-dev libmetacity-dev libgnome-window-settings-dev gnome-control-center-dev intltool cython python2.6-dev" COMPONENTS=(core libcompizconfig compizconfig-python ccsm compizconfig-backend-gconf plugins-main plugins-extra plugins-unsupported) echo "Installing dependencies..." sudo apt-get install $DEPENDENCIES mkdir -p $SRC_DIR for COMPONENT in "${COMPONENTS[@]}"; do	cd $SRC_DIR	if [[ ! -d $SRC_DIR/$COMPONENT ]]; then if [[ "$COMPONENT" = "libcompizconfig" || "$COMPONENT" = "compizconfig-python" || "$COMPONENT" = "ccsm" || "$COMPONENT" = "compizconfig-backend-gconf" ]]; then	echo "COMPONENT = $COMPONENT"	git clone git://anongit.compiz.org/compiz/compizconfig/$COMPONENT elif [ "$COMPONENT" = "core" ]; then git clone git://anongit.compiz.org/users/dbo/compiz-with-glib-mainloop core else	git clone git://anongit.compiz.org/compiz/$COMPONENT fi	else cd $SRC_DIR/$COMPONENT git checkout master git reset --hard master git clean -fd git pull	fi	if [[ "$COMPONENT" = "plugins-main" || "$COMPONENT" = "plugins-extra" || "$COMPONENT" = "plugins-unsupported" ]]; then cd $SRC_DIR/$COMPONENT git submodule init git submodule update	fi	if [[ "$COMPONENT" = "compizconfig-python" ]]; then cd $SRC_DIR/$COMPONENT echo "Installing $COMPONENT..." PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig python ./setup.py install --prefix=$PREFIX	elif [[ "$COMPONENT" = "ccsm" ]]; then cd $SRC_DIR/$COMPONENT echo "Installing $COMPONENT..." ./setup.py install --prefix=$PREFIX	else mkdir -p $SRC_DIR/$COMPONENT/build cd $SRC_DIR/$COMPONENT/build echo "Building $COMPONENT..." cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_BUILD_TYPE=Debug -DCOMPIZ_PLUGIN_INSTALL_TYPE=compiz make clean make -j5 echo "Installing $COMPONENT..." make install	fi	if [[ "$COMPONENT" = "core" ]]; then sudo make findcompiz_install	fi	if [[ "$COMPONENT" = "libcompizconfig" ]]; then sudo make findcompizconfig_install	fi done cd $SRC_DIR if [[ ! -f $PREFIX/bin/ccsm++ ]]; then cat << EOF > ccsm++ #!/bin/bash PREFIX=$PREFIX # Hack to fix ccsm from complaining and causing incorrect plugin config option ordering rm -rf $HOME/.cache/compizconfig-1 2&1>/dev/null LD_LIBRARY_PATH=\$PREFIX/lib/ PYTHONPATH=\$PREFIX/lib/python2.6/site-packages \$PREFIX/bin/ccsm EOF chmod +x ccsm++ echo "Installing ccsm++ starter script to $PREFIX/bin/" cp ccsm++ $PREFIX/bin/ fi if [[ ! -f $PREFIX/bin/compiz++ ]]; then cat <<EOF > compiz++ #!/bin/bash PREFIX=$PREFIX # Kill all decorators in case an incompatible (0.8) decorator is running if ps ax | grep gtk-window-decorator | grep -v grep 2>&1>/dev/null; then	echo "Killing gtk-window-decorator"	killall gtk-window-decorator 2>&1>/dev/null fi if ps ax | grep kde4-window-decorator | grep -v grep 2>&1>/dev/null; then	echo "Killing kde4-window-decorator"	killall kde4-window-decorator 2>&1>/dev/null fi if ps ax | grep emerald | grep -v grep 2>&1>/dev/null; then	echo "Killing emerald"	killall emerald 2>&1>/dev/null fi # Kill ccsm pkill ccsm LD_LIBRARY_PATH=\$PREFIX/lib/ \$PREFIX/bin/compiz --replace ccp & \$PREFIX/bin/gtk-window-decorator & \$PREFIX/bin/ccsm++ & EOF chmod +x compiz++ echo "Installing compiz++ starter script to $PREFIX/bin/" cp compiz++ $PREFIX/bin/ fi echo "Done. Run $PREFIX/bin/compiz++ to start compiz or $PREFIX/bin/ccsm++ to start ccsm." 
 |