3
TARGET_DIR=$PWD/../unity_build
4
BUILD_DIR=$TARGET_DIR/build
8
NUM_JOBS=$(( `grep -c ^processor /proc/cpuinfo` + 1 ))
9
LENSES="applications mockmusic mockvideos"
11
# verified working revisions
18
echo "usage: build_unity [OPTIONS]\n"
19
echo "Script to build Unity on Ubuntu 12.10.\n"
21
echo " -s, --setup Setup the build environment and branch Unity"
22
echo " -u, --update Update Unity's source code"
23
echo " -c, --clean Clean build trees before building"
27
set -- `getopt -n$0 -u -a --longoptions="setup,update,clean,help" "such" "$@"`
29
# FIXME: giving incorrect arguments does not call usage and exit
33
-s|--setup) SETUP=true;;
34
-u|--update) UPDATE=true;;
35
-c|--clean) CLEAN=true;;
42
install_dependencies() {
43
echo "Installing build dependencies.."
44
sudo apt-get build-dep -y libunity unity || exit 4
45
sudo apt-get install -y libgtest-dev gnome-common libfolks-dev libtelepathy-glib-dev || exit 5
47
sudo apt-get install -y bamfdaemon debhelper dh-autoreconf gir1.2-dee-1.0 gnome-common gnome-doc-utils gobject-introspection gtk-doc-tools indicator-application indicator-appmenu indicator-appmenu-tools intltool libappindicator3-dev libbamf3-dev libdbusmenu-glib-dev libdbusmenu-gtk3-dev libdbusmenu-jsonloader-dev libdbustest1-dev libdee-dev libgirepository1.0-dev libgtk-3-dev libncurses5-dev libreadline-dev libsqlite3-dev metacity sqlite3 valac-0.18 libpocketsphinx-dev libsphinxbase-dev || exit 6
51
echo "Branching libunity.."
52
bzr branch lp:libunity/phablet $TARGET_DIR/libunity
56
echo "Branching Unity.."
57
bzr branch lp:unity/phablet-mods $TARGET_DIR/unity
60
branch_people_lens() {
61
echo "Branching people lens.."
62
bzr branch lp:unity-lens-people $TARGET_DIR/people_lens
66
echo "Branching hud.."
67
bzr branch lp:hud $TARGET_DIR/hud
71
echo "Updating Unity.."
72
bzr pull -d $TARGET_DIR/unity
76
echo "Updating libunity.."
77
bzr pull -d $TARGET_DIR/libunity
80
update_people_lens() {
81
echo "Updating people lens.."
82
bzr pull -d $TARGET_DIR/people_lens
87
bzr pull -d $TARGET_DIR/hud
91
echo "Configuring libunity.."
93
if $CLEAN; then bzr clean-tree -d $TARGET_DIR/libunity --quiet --unknown --ignored --force; fi
95
cd $TARGET_DIR/libunity
96
bzr revert --quiet -r $LIBUNITY_REV || exit 8
98
./autogen.sh --prefix $BUILD_DIR --disable-debug
100
echo "Building libunity and installing in " $BUILD_DIR
101
make -j$NUM_JOBS install
105
compile_unity_core() {
106
echo "Configuring Unity.."
108
if $CLEAN; then bzr clean-tree -d $TARGET_DIR/unity --quiet --unknown --ignored --force; fi
111
bzr revert --quiet -r $UNITY_REV || exit 9
113
mkdir $TARGET_DIR/unity/build
114
cd $TARGET_DIR/unity/build
116
PKG_CONFIG_PATH=$BUILD_DIR/lib/pkgconfig:$PKG_CONFIG_PATH cmake $TARGET_DIR/unity -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$BUILD_DIR -DCOMPIZ_PLUGIN_INSTALL_TYPE=local -DGSETTINGS_LOCALINSTALL=ON
118
echo "Building UnityCore and installing in " $BUILD_DIR
125
compile_people_lens() {
126
echo "Configuring people lens.."
128
if $CLEAN; then bzr clean-tree -d $TARGET_DIR/people_lens --quiet --unknown --ignored --force; fi
130
cd $TARGET_DIR/people_lens
131
bzr revert --quiet -r $PEOPLE_LENS_REV || exit 10
133
PKG_CONFIG_PATH=$BUILD_DIR/lib/pkgconfig:$PKG_CONFIG_PATH ./autogen.sh --prefix $BUILD_DIR --enable-localinstall
135
echo "Building people lens and installing in " $BUILD_DIR
136
MAINTAINER_VALAFLAGS="--vapidir=${BUILD_DIR}/share/vala/vapi" make -j$NUM_JOBS install
141
echo "Configuring hud.."
143
if $CLEAN; then bzr clean-tree -d $TARGET_DIR/hud --quiet --unknown --ignored --force; fi
146
bzr revert -r $HUD_REV || exit 11
148
mkdir $TARGET_DIR/hud/build
149
cd $TARGET_DIR/hud/build
151
cmake $TARGET_DIR/hud/ -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$BUILD_DIR -DCMAKE_INSTALL_LIBDIR=lib -DLOCAL_INSTALL=ON -DENABLE_TESTS=OFF
153
echo "Building hud and installing in " $BUILD_DIR
159
echo "Linking system lenses.."
160
mkdir -p $BUILD_DIR/share/unity/lenses/
161
for LENS in $LENSES; do
162
[ -e $BUILD_DIR/share/unity/lenses/$LENS ] || ln -ivs /usr/share/unity/lenses/$LENS $BUILD_DIR/share/unity/lenses/$LENS
167
echo "Setting up environment for building Unity.."
180
if $CLEAN; then rm -Rf $BUILD_DIR; fi