-
Notifications
You must be signed in to change notification settings - Fork 0
/
INSTALL
180 lines (129 loc) · 4.99 KB
/
INSTALL
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
Install
--------------------------------------------------------------------------------
• Notes
- libunity is an independant library which has a client side API for talking
to Unity. However it does not depend on the main Unity codebase and the
main Unity codebase does not depend on it.
- Unity and it's desktop environment modules are all modules of Compiz. We use
a patched version of Compiz which uses the GLib main loop instead of the
custom Compiz main loop. This allows us to use GNOME libraries easily inside
the Unity plugins.
We are currently working on getting this patch upstreamed, but until then
you will need to build this special version of Compiz.
- libunity is written in Vala and the rest of Unity in C++/C.
- Unity depends on a library called Nux (lp:nux) which let's us do OpenGL
layouts quickly and efficiently.
• Dependencies
These are in Debian package name form, but it should be easy enough to
translate them to other systems:
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 pkg-config intltool libgee-dev
libbamf-dev gsettings-desktop-schemas-dev libgconf2-dev libglib2.0-dev
libdbusmenu-glib-dev libgtk2.0-dev libdee-dev libindicator-dev
libboost-dev libboost-serialization-dev libmetacity-dev python-dev cython
However, as with any project, it's probably best to just run autogen/cmake
and figure out what you need/is missing. If your distro supports grabbing
all the packages needed to build a package, then at least do that for
Compiz, as I'm not going to detail everything it needs here.
In case your distro isn't packaging all the Ayatana software, these links
might come in handy:
https://launchpad.net/dee
https://launchpad.net/bamf
https://launchpad.net/libindicator
Also, although we don't hard depend on them, having a few indicators installed
will make your experience better:
https://launchpad.net/indicator-appmenu
https://launchpad.net/indicator-application
https://launchpad.net/indicator-network
https://launchpad.net/indicator-sound
https://launchpad.net/indicator-messages
https://launchpad.net/indicator-datetime
https://launchpad.net/indicator-me
https://launchpad.net/indicator-session
• Build Compiz GLib
This is taken from http://wiki.ubuntu.com/Unity/InstallationGuideFromSource and
was originally authored by Sam:
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
• Build Nux
bzr branch lp:nux
cd nux
./autogen.sh --disable-documentation --prefix=/opt/unity
make
sudo make install
• Build 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
• Cleanup
unset PKG_CONFIG_PATH
unset LD_LIBRARY_PATH
unset LD_RUN_PATH
• Testing
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
}
Logout, login, then in a terminal do
$ compiz-unity-setup-env
$ compiz --replace cpp &
$ ccsm
And then use the CompizConfig Settings Window to search for and enable the Unity plugin!
• Bugs
If you find bugs in this installation guide or in Unity itself, please report them at
https://launchpad.net/unity/+filebug