~canonical-dx-team/unity/unity.fix-685830

« back to all changes in this revision

Viewing changes to INSTALL

  • Committer: Neil Jagdish Patel
  • Date: 2010-12-02 17:09:48 UTC
  • mto: This revision was merged to the branch mainline in revision 660.
  • Revision ID: neil.patel@canonical.com-20101202170948-8vo9n8c5n5h91bqi
Add installation instructions

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
                                   Install                                      
 
2
--------------------------------------------------------------------------------
 
3
 
 
4
• Notes
 
5
 
 
6
  - libunity is an independant library which has a client side API for talking
 
7
    to Unity. However it does not depend on the main Unity codebase and the 
 
8
    main Unity codebase does not depend on it.
 
9
 
 
10
  - Unity and it's desktop environment modules are all modules of Compiz. We use
 
11
    a patched version of Compiz which uses the GLib main loop instead of the
 
12
    custom Compiz main loop. This allows us to use GNOME libraries easily inside
 
13
    the Unity plugins.
 
14
 
 
15
    We are currently working on getting this patch upstreamed, but until then
 
16
    you will need to build this special version of Compiz.
 
17
 
 
18
  - libunity is written in Vala and the rest of Unity in C++/C.
 
19
 
 
20
  - Unity depends on a library called Nux (lp:nux) which let's us do OpenGL
 
21
    layouts quickly and efficiently.
 
22
 
 
23
 
 
24
• Dependancies
 
25
 
 
26
  These are in Debian package name form, but it should be easy enough to
 
27
  translate them to other systems:
 
28
 
 
29
  libglib2.0-dev libgdk-pixbuf2.0-dev libcairo2-dev libpng12-dev libglew1.5-dev
 
30
  libglewmx1.5-dev libxxf86vm-dev libgl1-mesa-dev libsigc++-2.0-dev
 
31
  libpango1.0-dev doxygen cmake pkg-config valac intltool libgee-dev
 
32
  libbamf-dev gsettings-desktop-schemas-dev libgconf2-dev  libglib2.0-dev
 
33
  libdbusmenu-glib-dev libgtk2.0-dev libdee-dev libindicator-dev 
 
34
  libboost-dev libboost-serialization-dev libmetacity-dev python-dev cython
 
35
 
 
36
  However, as with any project, it's probably best to just run autogen/cmake
 
37
  and figure out what you need/is missing. If your distro supports grabbing
 
38
  all the packages needed to build a package, then at least do that for
 
39
  Compiz, as I'm not going to detail everything it needs here.
 
40
 
 
41
  In case your distro isn't packaging all the Ayatana software, these links
 
42
  might come in handy:
 
43
 
 
44
  https://launchpad.net/dee
 
45
  https://launchpad.net/bamf
 
46
  https://launchpad.net/libindicator
 
47
 
 
48
  Also, although we don't hard depend on them, having a few indicators installed
 
49
  will make your experience better:
 
50
 
 
51
  https://launchpad.net/indicator-appmenu
 
52
  https://launchpad.net/indicator-application
 
53
  https://launchpad.net/indicator-network
 
54
  https://launchpad.net/indicator-sound
 
55
  https://launchpad.net/indicator-messages
 
56
  https://launchpad.net/indicator-datetime
 
57
  https://launchpad.net/indicator-me
 
58
  https://launchpad.net/indicator-session
 
59
 
 
60
• Build Compiz GLib
 
61
  
 
62
  This is taken from http://wiki.ubuntu.com/Unity/InstallationGuideFromSource and
 
63
  was originally authored by Sam:
 
64
 
 
65
  core:
 
66
 
 
67
    git clone git://git.compiz.org/users/dbo/compiz-with-glib-mainloop
 
68
    cd compiz-with-glib-mainloop
 
69
    mkdir build
 
70
    cd build
 
71
    cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity
 
72
    make
 
73
    sudo make findcompiz_install
 
74
    sudo make install
 
75
 
 
76
  exporting paths:
 
77
 
 
78
    export PKG_CONFIG_PATH=/opt/unity/lib/pkgconfig:${PKG_CONFIG_PATH}
 
79
    export LD_LIBRARY_PATH=/opt/unity/lib:${LD_LIBRARY_PATH}
 
80
    export LD_RUN_PATH=/opt/unity/lib:${LD_RUN_PATH}
 
81
 
 
82
  libcompizconfig:
 
83
 
 
84
    git clone git://git.compiz.org/compiz/compizconfig/libcompizconfig
 
85
    cd libcompizconfig
 
86
    mkdir build
 
87
    cd build
 
88
    cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity
 
89
    make
 
90
    sudo make install
 
91
 
 
92
  compizconfig-python:
 
93
 
 
94
    git clone git://git.compiz.org/compiz/compizconfig/compizconfig-python
 
95
    cd compizconfig-python
 
96
    python setup.py install --prefix=/opt/unity
 
97
 
 
98
  ccsm:
 
99
 
 
100
    git clone git://git.compiz.org/compiz/compizconfig/ccsm
 
101
    cd ccsm
 
102
    python setup.py install --prefix=/opt/unity
 
103
 
 
104
  plugins-main:
 
105
 
 
106
    git clone git://git.compiz.org/compiz/plugins-main
 
107
    cd plugins-main
 
108
    git submodule init
 
109
    git pull origin master
 
110
    git submodule update
 
111
    mkdir build
 
112
    cd build
 
113
    cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity
 
114
    make
 
115
    sudo make install
 
116
 
 
117
  plugins-extra:
 
118
 
 
119
    git clone git://git.compiz.org/compiz/plugins-extra
 
120
    cd plugins-extra
 
121
    git submodule init
 
122
    git pull origin master
 
123
    git submodule update
 
124
    mkdir build
 
125
    cd build
 
126
    cmake .. -DCMAKE_INSTALL_PREFIX=/opt/unity
 
127
    make
 
128
    sudo make install
 
129
 
 
130
 
 
131
• Build Nux
 
132
 
 
133
  bzr branch lp:nux
 
134
  cd nux
 
135
  ./autogen.sh --disable-documentation --prefix=/opt/unity
 
136
  make
 
137
  sudo make install
 
138
 
 
139
 
 
140
• Build Unity
 
141
 
 
142
  bzr branch lp:unity
 
143
  cd unity
 
144
  mkdir build; cd build
 
145
  cmake .. -DCMAKE_BUILD_TYPE=Debug -DCOMPIZ_PLUGIN_INSTALL_TYPE=package -DCMAKE_INSTALL_PREFIX=/opt/unity
 
146
  make
 
147
  sudo make install
 
148
 
 
149
• Cleanup
 
150
 
 
151
  unset PKG_CONFIG_PATH
 
152
  unset LD_LIBRARY_PATH
 
153
  unset LD_RUN_PATH
 
154
 
 
155
 
 
156
• Testing
 
157
 
 
158
  add this to your /home/$USER/.bashrc
 
159
 
 
160
    function compiz-unity-setup-env
 
161
    {
 
162
        export PATH=/opt/unity/bin:${PATH}
 
163
        export PYTHONPATH=/opt/unity/lib/python2.6/site-packages
 
164
    }
 
165
 
 
166
  Logout, login, then in a terminal do
 
167
  
 
168
    $ compiz-unity-setup-env
 
169
    $ compiz --replace cpp &
 
170
    $ ccsm
 
171
 
 
172
  And then use the CompizConfig Settings Window to search for and enable the Unity plugin!
 
173
 
 
174
 
 
175
• Bugs
 
176
 
 
177
  If you find bugs in this installation guide or in Unity itself, please report them at
 
178
  https://launchpad.net/unity/+filebug
 
179
 
 
180