Merge lp:~unity-team/unity/installation-instructions into lp:unity

Proposed by Neil J. Patel
Status: Merged
Approved by: Neil J. Patel
Approved revision: no longer in the source branch.
Merged at revision: 660
Proposed branch: lp:~unity-team/unity/installation-instructions
Merge into: lp:unity
Diff against target: 213 lines (+185/-2)
2 files modified
INSTALL (+180/-0)
README (+5/-2)
To merge this branch: bzr merge lp:~unity-team/unity/installation-instructions
Reviewer Review Type Date Requested Status
Neil J. Patel Pending
Review via email: mp+42511@code.launchpad.net

Description of the change

Adds installation instructions taken from http://wiki.ubuntu.com/Unity/InstallationGuideFromSource

To post a comment you must log in.
Revision history for this message
Mikkel Kamstrup Erlandsen (kamstrup) wrote :

review approve

Awesome! This is really valuable.

It does raise a few questions about building a few of the components,
but this is not related to this particular merge.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added file 'INSTALL'
--- INSTALL 1970-01-01 00:00:00 +0000
+++ INSTALL 2010-12-02 18:01:40 +0000
@@ -0,0 +1,180 @@
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• Dependencies
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
0181
=== modified file 'README'
--- README 2010-11-23 11:36:14 +0000
+++ README 2010-12-02 18:01:40 +0000
@@ -3,12 +3,15 @@
33
4• Installation4• Installation
55
6 Please see INSTALL or http://wiki.ubuntu.com/Unity/InstallationGuideFromSource
7
6• Tests8• Tests
79
8 - You can run `make check` in the build directory to run all GTester tests10 - You can run `make check` in the build directory to run all GTester tests
9 - In the build directory, ./tests/test-panel will start the panel in11 - In the build directory, ./tests/test-panel will start the panel in
10 standalone mode, which is great for testing12 standalone mode, which is great for testing
1113
14
12• Environmental Variables15• Environmental Variables
1316
14 PANEL_USE_LOCAL_SERVICE=${anything}17 PANEL_USE_LOCAL_SERVICE=${anything}
@@ -16,6 +19,6 @@
16 D-Bus activation. This is used for testing how the panel reacts when it19 D-Bus activation. This is used for testing how the panel reacts when it
17 starts before the service does.20 starts before the service does.
1821
22
19• Code Style23• Code Style
2024 astyle -s2 -b -S -N -w -Y -M80 -p -H -d -j -k3 -n -z2
21astyle -s2 -b -S -N -w -Y -M80 -p -H -d -j -k3 -n -z2