Update mojo sdk to rev 1dc8a9a5db73d3718d99917fadf31f5fb2ebad4f
[chromium-blink-merge.git] / third_party / instrumented_libraries / scripts / install-build-deps.sh
blob7b8c3cbddddf8b040f23fd9685696c7b950486fe
1 #!/bin/bash -e
3 # Copyright 2014 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file.
7 # Script to install build dependencies of packages which we instrument.
9 # Enable source repositories in Goobuntu.
10 if hash goobuntu-config 2> /dev/null
11 then
12 sudo goobuntu-config set include_deb_src true
15 # TODO(earthdok): find a way to pull the list from the build config.
16 common_packages="\
17 atk1.0 \
18 dee \
19 freetype \
20 libappindicator1 \
21 libasound2 \
22 libcairo2 \
23 libcap2 \
24 libcups2 \
25 libdbus-1-3 \
26 libdbus-glib-1-2 \
27 libdbusmenu \
28 libdbusmenu-glib4 \
29 libexpat1 \
30 libffi6 \
31 libfontconfig1 \
32 libgconf-2-4 \
33 libgcrypt11 \
34 libgdk-pixbuf2.0-0 \
35 libglib2.0-0 \
36 libgnome-keyring0 \
37 libgpg-error0 \
38 libgtk2.0-0 \
39 libnspr4 \
40 libp11-kit0 \
41 libpci3 \
42 libpcre3 \
43 libpixman-1-0 \
44 libpng12-0 \
45 libunity9 \
46 libx11-6 \
47 libxau6 \
48 libxcb1 \
49 libxcomposite1 \
50 libxcursor1 \
51 libxdamage1 \
52 libxdmcp6 \
53 libxext6 \
54 libxfixes3 \
55 libxi6 \
56 libxinerama1 \
57 libxrandr2 \
58 libxrender1 \
59 libxss1 \
60 libxtst6 \
61 nss \
62 pango1.0 \
63 pulseaudio \
64 udev \
65 zlib1g \
66 brltty"
68 precise_specific_packages="libtasn1-3"
69 trusty_specific_packages="\
70 libtasn1-6 \
71 harfbuzz
72 libsecret"
74 ubuntu_release=$(lsb_release -cs)
76 if test "$ubuntu_release" = "precise" ; then
77 packages="$common_packages $precise_specific_packages"
78 else
79 packages="$common_packages $trusty_specific_packages"
82 # Extra build deps for pulseaudio, which apt-get build-dep may fail to install
83 # for reasons which are not entirely clear.
84 sudo apt-get install libltdl3-dev libjson0-dev \
85 libsndfile1-dev libspeexdsp-dev libjack0 \
86 chrpath -y # Chrpath is required by fix_rpaths.sh.
88 sudo apt-get build-dep -y $packages
90 if test "$ubuntu_release" = "trusty" ; then
91 # On Trusty, build deps for some of the instrumented packages above conflict
92 # with Chromium's build deps. In particular:
93 # zlib1g and libffi remove gcc-4.8 in favor of gcc-multilib,
94 # libglib2.0-0 removes libelf in favor of libelfg0.
95 # We let Chromium's build deps take priority. So, run Chromium's
96 # install-build-deps.sh to reinstall those that have been removed.
97 $(dirname ${BASH_SOURCE[0]})/../../../build/install-build-deps.sh --no-prompt