InstallationGuideFromSource

Revision 4 as of 2010-11-23 11:14:46

Clear message

Building Unity from Source

You'll need a fully updated Natty system, with the latest compiz and bamfdaemon packages installed.

You'll then need to do do this:

sudo apt-get install libglib2.0-dev libgdk-pixbuf2.0-dev libcairo2-dev libpng12-dev libglew1.5-dev  libglewmx1.5-dev libxxf86vm-dev libgl1-mesa-dev libsigc++-2.0-dev libpango1.0-dev doxygen cmake build-essential debhelper pkg-config valac intltool libgee-dev libunique-dev libclutter-1.0-dev libclutter-gtk-0.10-dev libclutk-dev libbamf-dev gsettings-desktop-schemas-dev libgconf2-dev  libglib2.0-dev libdbusmenu-glib-dev libgnome-desktop-dev libgtk2.0-dev libpango1.0-dev libgnomeui-dev libdee-dev libindicator-dev  libunity-misc-dev libutouch-grail-dev libxcb-icccm1-dev compizconfig-settings-manager compiz-dev libboost-dev libboost-serialization-dev libmetacity-dev python-dev cython 

to get all the dependencies.

You'll need to build compiz manually as well - but first one library that Unity depends on but isn't yet packaged in Natty called Nux:

bzr branch lp:nux
cd nux
./autogen.sh --disable-documentation --prefix=/opt/unity
make
sudo make install

and then Compiz with the glib mainloop integration patch (will go into core at some point)

core:

git clone git://git.compiz.org/users/dbo/compiz-with-glib-mainloop
cd compiz-with-glib-mainloop
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity
make
sudo make findcompiz_install
sudo make install

exporting paths:

export PKG_CONFIG_PATH=/opt/unity/lib/pkgconfig:${PKG_CONFIG_PATH}
export LD_LIBRARY_PATH=/opt/unity/lib:${LD_LIBRARY_PATH}
export LD_RUN_PATH=/opt/unity/lib:${LD_RUN_PATH}

libcompizconfig:

git clone git://git.compiz.org/compiz/compizconfig/libcompizconfig
cd libcompizconfig
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity
make
sudo make install

compizconfig-python:

git clone git://git.compiz.org/compiz/compizconfig/compizconfig-python
cd compizconfig-python
python setup.py install --prefix=/opt/unity

ccsm:

git clone git://git.compiz.org/compiz/compizconfig/ccsm
cd ccsm
python setup.py install --prefix=/opt/unity

plugins-main:

git clone git://git.compiz.org/compiz/plugins-main
cd plugins-main
git submodule init
git pull origin master
git submodule update
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity
make
sudo make install

plugins-extra:

git clone git://git.compiz.org/compiz/plugins-extra
cd plugins-extra
git submodule init
git pull origin master
git submodule update
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity
make
sudo make install

and then Unity:

bzr branch lp:unity
cd unity
mkdir build; cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCOMPIZ_PLUGIN_INSTALL_TYPE=package -DCMAKE_INSTALL_PREFIX=/opt/unity
make
sudo make install

unsetting paths:

unset PKG_CONFIG_PATH
unset LD_LIBRARY_PATH
unset LD_RUN_PATH

add this to your /home/$USER/.bashrc

function compiz-unity-setup-env
{
    export PATH=/opt/unity/bin:${PATH}
    export PYTHONPATH=/opt/unity/lib/python2.6/site-packages
}

and finally, once that's installed, you can log out and log in and again and then run compiz-unity-setup-env and then restart Compiz (compiz --replace ccp) and then use CompizConfig Settings Manager (ccsm) to search for and enable the Unity plugin!

Maverick from source

Exactly the same as above in Natty, but you'll first need Compiz 0.9.2 patched with glib support. There aren't any packages yet but there is a build script for it in the unity source under the "tools/" directory. After installing that, make sure to update you PKG_CONFIG_PATH and you can then follow the same instructions as Natty.