OLD | NEW |
1 #!/bin/bash -e | 1 #!/bin/bash -e |
2 | 2 |
3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 # Script to install everything needed to build chromium (well, ideally, anyway) | 7 # Script to install everything needed to build chromium (well, ideally, anyway) |
8 # See http://code.google.com/p/chromium/wiki/LinuxBuildInstructions | 8 # See http://code.google.com/p/chromium/wiki/LinuxBuildInstructions |
9 # and http://code.google.com/p/chromium/wiki/LinuxBuild64Bit | 9 # and http://code.google.com/p/chromium/wiki/LinuxBuild64Bit |
10 | 10 |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 | 92 |
93 # Packages needed for chromeos only | 93 # Packages needed for chromeos only |
94 chromeos_dev_list="libbluetooth-dev" | 94 chromeos_dev_list="libbluetooth-dev" |
95 | 95 |
96 # Packages needed for development | 96 # Packages needed for development |
97 dev_list="apache2.2-bin bison curl dpkg-dev elfutils devscripts fakeroot flex | 97 dev_list="apache2.2-bin bison curl dpkg-dev elfutils devscripts fakeroot flex |
98 fonts-thai-tlwg g++ git-core gperf language-pack-da language-pack-fr | 98 fonts-thai-tlwg g++ git-core gperf language-pack-da language-pack-fr |
99 language-pack-he language-pack-zh-hant libapache2-mod-php5 | 99 language-pack-he language-pack-zh-hant libapache2-mod-php5 |
100 libasound2-dev libbrlapi-dev libbz2-dev libcairo2-dev libcap-dev | 100 libasound2-dev libbrlapi-dev libbz2-dev libcairo2-dev libcap-dev |
101 libcups2-dev libcurl4-gnutls-dev libdrm-dev libelf-dev libexif-dev | 101 libcups2-dev libcurl4-gnutls-dev libdrm-dev libelf-dev libexif-dev |
102 libgbm-dev libgconf2-dev libgl1-mesa-dev libglib2.0-dev | 102 libgconf2-dev libgl1-mesa-dev libglib2.0-dev libglu1-mesa-dev |
103 libglu1-mesa-dev libgnome-keyring-dev libgtk2.0-dev libkrb5-dev | 103 libgnome-keyring-dev libgtk2.0-dev libkrb5-dev libnspr4-dev |
104 libnspr4-dev libnss3-dev libpam0g-dev libpci-dev libpulse-dev | 104 libnss3-dev libpam0g-dev libpci-dev libpulse-dev libsctp-dev |
105 libsctp-dev libspeechd-dev libsqlite3-dev libssl-dev libudev-dev | 105 libspeechd-dev libsqlite3-dev libssl-dev libudev-dev libwww-perl |
106 libwww-perl libxslt1-dev libxss-dev libxt-dev libxtst-dev | 106 libxslt1-dev libxss-dev libxt-dev libxtst-dev mesa-common-dev openbox |
107 mesa-common-dev openbox patch perl php5-cgi pkg-config python | 107 patch perl php5-cgi pkg-config python python-cherrypy3 python-dev |
108 python-cherrypy3 python-dev python-psutil rpm ruby subversion | 108 python-psutil rpm ruby subversion ttf-dejavu-core ttf-indic-fonts |
109 ttf-dejavu-core ttf-indic-fonts ttf-kochi-gothic ttf-kochi-mincho | 109 ttf-kochi-gothic ttf-kochi-mincho wdiff xfonts-mathml zip |
110 wdiff xfonts-mathml zip $chromeos_dev_list" | 110 $chromeos_dev_list" |
111 | 111 |
112 # 64-bit systems need a minimum set of 32-bit compat packages for the pre-built | 112 # 64-bit systems need a minimum set of 32-bit compat packages for the pre-built |
113 # NaCl binaries. These are always needed, regardless of whether or not we want | 113 # NaCl binaries. These are always needed, regardless of whether or not we want |
114 # the full 32-bit "cross-compile" support (--lib32). | 114 # the full 32-bit "cross-compile" support (--lib32). |
115 if file /sbin/init | grep -q 'ELF 64-bit'; then | 115 if file /sbin/init | grep -q 'ELF 64-bit'; then |
116 dev_list="${dev_list} libc6-i386 lib32gcc1 lib32stdc++6" | 116 dev_list="${dev_list} libc6-i386 lib32gcc1 lib32stdc++6" |
117 fi | 117 fi |
118 | 118 |
119 # Run-time libraries required by chromeos only | 119 # Run-time libraries required by chromeos only |
120 chromeos_lib_list="libpulse0 libbz2-1.0" | 120 chromeos_lib_list="libpulse0 libbz2-1.0" |
(...skipping 17 matching lines...) Expand all Loading... |
138 libstdc++6-4.6-dbg" | 138 libstdc++6-4.6-dbg" |
139 | 139 |
140 # arm cross toolchain packages needed to build chrome on armhf | 140 # arm cross toolchain packages needed to build chrome on armhf |
141 arm_list="libc6-dev-armhf-cross | 141 arm_list="libc6-dev-armhf-cross |
142 linux-libc-dev-armhf-cross | 142 linux-libc-dev-armhf-cross |
143 g++-arm-linux-gnueabihf" | 143 g++-arm-linux-gnueabihf" |
144 | 144 |
145 # Packages to build NaCl, its toolchains, and its ports. | 145 # Packages to build NaCl, its toolchains, and its ports. |
146 nacl_list="autoconf bison cmake g++-mingw-w64-i686 gawk lib32z1-dev | 146 nacl_list="autoconf bison cmake g++-mingw-w64-i686 gawk lib32z1-dev |
147 libasound2:i386 libcap2:i386 libelf-dev:i386 libexif12:i386 | 147 libasound2:i386 libcap2:i386 libelf-dev:i386 libexif12:i386 |
148 libfontconfig1:i386 libgconf-2-4:i386 libgl1-mesa-glx:i386 | 148 libfontconfig1:i386 libgconf-2-4:i386 libglib2.0-0:i386 libgpm2:i386 |
149 libglib2.0-0:i386 libgpm2:i386 libgtk2.0-0:i386 libncurses5:i386 | 149 libgtk2.0-0:i386 libncurses5:i386 libnss3:i386 libpango1.0-0:i386 |
150 libnss3:i386 libpango1.0-0:i386 libssl0.9.8:i386 libtinfo-dev | 150 libssl0.9.8:i386 libtinfo-dev libtinfo-dev:i386 libtool |
151 libtinfo-dev:i386 libtool libxcomposite1:i386 libxcursor1:i386 | 151 libxcomposite1:i386 libxcursor1:i386 libxdamage1:i386 libxi6:i386 |
152 libxdamage1:i386 libxi6:i386 libxrandr2:i386 libxss1:i386 | 152 libxrandr2:i386 libxss1:i386 libxtst6:i386 texinfo xvfb" |
153 libxtst6:i386 texinfo xvfb" | 153 |
| 154 # Find the proper version of libgbm-dev. We can't just install libgbm-dev as |
| 155 # it depends on mesa, and only one version of mesa can exists on the system. |
| 156 # Hence we must match the same version or this entire script will fail. |
| 157 mesa_variant="" |
| 158 for variant in "-lts-quantal" "-lts-raring" "-lts-saucy"; do |
| 159 if $(dpkg-query -Wf'${Status}' libgl1-mesa-glx${variant} | \ |
| 160 grep -q " ok installed"); then |
| 161 mesa_variant="${variant}" |
| 162 fi |
| 163 done |
| 164 dev_list="${dev_list} libgbm-dev${mesa_variant}" |
| 165 nacl_list="${nacl_list} libgl1-mesa-glx${mesa_variant}:i386" |
154 | 166 |
155 # Some package names have changed over time | 167 # Some package names have changed over time |
156 if package_exists ttf-mscorefonts-installer; then | 168 if package_exists ttf-mscorefonts-installer; then |
157 dev_list="${dev_list} ttf-mscorefonts-installer" | 169 dev_list="${dev_list} ttf-mscorefonts-installer" |
158 else | 170 else |
159 dev_list="${dev_list} msttcorefonts" | 171 dev_list="${dev_list} msttcorefonts" |
160 fi | 172 fi |
161 if package_exists libnspr4-dbg; then | 173 if package_exists libnspr4-dbg; then |
162 dbg_list="${dbg_list} libnspr4-dbg libnss3-dbg" | 174 dbg_list="${dbg_list} libnspr4-dbg libnss3-dbg" |
163 lib_list="${lib_list} libnspr4 libnss3" | 175 lib_list="${lib_list} libnspr4 libnss3" |
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
597 sed -e 's/[.]so[.][0-9].*/.so/' | | 609 sed -e 's/[.]so[.][0-9].*/.so/' | |
598 sort -u); do | 610 sort -u); do |
599 [ "x${i##*/}" = "xld-linux.so" ] && continue | 611 [ "x${i##*/}" = "xld-linux.so" ] && continue |
600 [ -r "$i" ] && continue | 612 [ -r "$i" ] && continue |
601 j="$(ls "$i."* | sed -e 's/.*[.]so[.]\([^.]*\)$/\1/;t;d' | | 613 j="$(ls "$i."* | sed -e 's/.*[.]so[.]\([^.]*\)$/\1/;t;d' | |
602 sort -n | tail -n 1)" | 614 sort -n | tail -n 1)" |
603 [ -r "$i.$j" ] || continue | 615 [ -r "$i.$j" ] || continue |
604 sudo ln -s "${i##*/}.$j" "$i" | 616 sudo ln -s "${i##*/}.$j" "$i" |
605 done | 617 done |
606 fi | 618 fi |
OLD | NEW |