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 https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_i
nstructions.md | 8 # See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_i
nstructions.md |
9 | 9 |
10 usage() { | 10 usage() { |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 | 95 |
96 # Packages needed for chromeos only | 96 # Packages needed for chromeos only |
97 chromeos_dev_list="libbluetooth-dev libxkbcommon-dev realpath" | 97 chromeos_dev_list="libbluetooth-dev libxkbcommon-dev realpath" |
98 | 98 |
99 # Packages needed for development | 99 # Packages needed for development |
100 dev_list="bison cdbs curl dpkg-dev elfutils devscripts fakeroot | 100 dev_list="bison cdbs curl dpkg-dev elfutils devscripts fakeroot |
101 flex fonts-thai-tlwg g++ git-core git-svn gperf language-pack-da | 101 flex fonts-thai-tlwg g++ git-core git-svn gperf language-pack-da |
102 language-pack-fr language-pack-he language-pack-zh-hant | 102 language-pack-fr language-pack-he language-pack-zh-hant |
103 libapache2-mod-php5 libasound2-dev libbrlapi-dev libav-tools | 103 libapache2-mod-php5 libasound2-dev libbrlapi-dev libav-tools |
104 libbz2-dev libcairo2-dev libcap-dev libcups2-dev libcurl4-gnutls-dev | 104 libbz2-dev libcairo2-dev libcap-dev libcups2-dev libcurl4-gnutls-dev |
105 libdrm-dev libelf-dev libffi-dev libgconf2-dev libglib2.0-dev | 105 libdrm-dev libelf-dev libexif-dev libffi-dev libgconf2-dev |
106 libglu1-mesa-dev libgnome-keyring-dev libgtk2.0-dev libkrb5-dev | 106 libglib2.0-dev libglu1-mesa-dev libgnome-keyring-dev libgtk2.0-dev |
107 libnspr4-dev libnss3-dev libpam0g-dev libpci-dev libpulse-dev | 107 libkrb5-dev libnspr4-dev libnss3-dev libpam0g-dev libpci-dev |
108 libsctp-dev libspeechd-dev libsqlite3-dev libssl-dev libudev-dev | 108 libpulse-dev libsctp-dev libspeechd-dev libsqlite3-dev libssl-dev |
109 libwww-perl libxslt1-dev libxss-dev libxt-dev libxtst-dev openbox | 109 libudev-dev libwww-perl libxslt1-dev libxss-dev libxt-dev libxtst-dev |
110 patch perl php5-cgi pkg-config python python-cherrypy3 python-crypto | 110 openbox patch perl php5-cgi pkg-config python python-cherrypy3 |
111 python-dev python-numpy python-opencv python-openssl python-psutil | 111 python-crypto python-dev python-numpy python-opencv python-openssl |
112 python-yaml rpm ruby subversion ttf-dejavu-core ttf-indic-fonts | 112 python-psutil python-yaml rpm ruby subversion ttf-dejavu-core |
113 ttf-kochi-gothic ttf-kochi-mincho wdiff zip $chromeos_dev_list" | 113 ttf-indic-fonts ttf-kochi-gothic ttf-kochi-mincho wdiff |
| 114 zip $chromeos_dev_list" |
114 | 115 |
115 # 64-bit systems need a minimum set of 32-bit compat packages for the pre-built | 116 # 64-bit systems need a minimum set of 32-bit compat packages for the pre-built |
116 # NaCl binaries. | 117 # NaCl binaries. |
117 if file -L /sbin/init | grep -q 'ELF 64-bit'; then | 118 if file -L /sbin/init | grep -q 'ELF 64-bit'; then |
118 dev_list="${dev_list} libc6-i386 lib32gcc1 lib32stdc++6" | 119 dev_list="${dev_list} libc6-i386 lib32gcc1 lib32stdc++6" |
119 fi | 120 fi |
120 | 121 |
121 # Run-time libraries required by chromeos only | 122 # Run-time libraries required by chromeos only |
122 chromeos_lib_list="libpulse0 libbz2-1.0" | 123 chromeos_lib_list="libpulse0 libbz2-1.0" |
123 | 124 |
124 # Full list of required run-time libraries | 125 # Full list of required run-time libraries |
125 lib_list="libatk1.0-0 libc6 libasound2 libcairo2 libcap2 libcups2 libexpat1 | 126 lib_list="libatk1.0-0 libc6 libasound2 libcairo2 libcap2 libcups2 libexpat1 |
126 libffi6 libfontconfig1 libfreetype6 libglib2.0-0 libgnome-keyring0 | 127 libexif12 libffi6 libfontconfig1 libfreetype6 libglib2.0-0 |
127 libgtk2.0-0 libpam0g libpango1.0-0 libpci3 libpcre3 libpixman-1-0 | 128 libgnome-keyring0 libgtk2.0-0 libpam0g libpango1.0-0 libpci3 libpcre3 |
128 libpng12-0 libspeechd2 libstdc++6 libsqlite3-0 libx11-6 libxau6 | 129 libpixman-1-0 libpng12-0 libspeechd2 libstdc++6 libsqlite3-0 libx11-6 |
129 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 | 130 libxau6 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 |
130 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 libxtst6 | 131 libxext6 libxfixes3 libxi6 libxinerama1 libxrandr2 libxrender1 |
131 zlib1g $chromeos_lib_list" | 132 libxtst6 zlib1g $chromeos_lib_list" |
132 | 133 |
133 # Debugging symbols for all of the run-time libraries | 134 # Debugging symbols for all of the run-time libraries |
134 dbg_list="libatk1.0-dbg libc6-dbg libcairo2-dbg libffi6-dbg libfontconfig1-dbg | 135 dbg_list="libatk1.0-dbg libc6-dbg libcairo2-dbg libffi6-dbg libfontconfig1-dbg |
135 libglib2.0-0-dbg libgtk2.0-0-dbg libpango1.0-0-dbg libpcre3-dbg | 136 libglib2.0-0-dbg libgtk2.0-0-dbg libpango1.0-0-dbg libpcre3-dbg |
136 libpixman-1-0-dbg libsqlite3-0-dbg libx11-6-dbg libxau6-dbg | 137 libpixman-1-0-dbg libsqlite3-0-dbg libx11-6-dbg libxau6-dbg |
137 libxcb1-dbg libxcomposite1-dbg libxcursor1-dbg libxdamage1-dbg | 138 libxcb1-dbg libxcomposite1-dbg libxcursor1-dbg libxdamage1-dbg |
138 libxdmcp6-dbg libxext6-dbg libxfixes3-dbg libxi6-dbg libxinerama1-dbg | 139 libxdmcp6-dbg libxext6-dbg libxfixes3-dbg libxi6-dbg libxinerama1-dbg |
139 libxrandr2-dbg libxrender1-dbg libxtst6-dbg zlib1g-dbg" | 140 libxrandr2-dbg libxrender1-dbg libxtst6-dbg zlib1g-dbg" |
140 | 141 |
141 # Find the proper version of libstdc++6-4.x-dbg. | 142 # Find the proper version of libstdc++6-4.x-dbg. |
(...skipping 15 matching lines...) Expand all Loading... |
157 | 158 |
158 # Work around for dependency issue Ubuntu/Trusty: http://crbug.com/435056 | 159 # Work around for dependency issue Ubuntu/Trusty: http://crbug.com/435056 |
159 if [ "x$lsb_release" = "xtrusty" ]; then | 160 if [ "x$lsb_release" = "xtrusty" ]; then |
160 arm_list+=" g++-4.8-multilib-arm-linux-gnueabihf | 161 arm_list+=" g++-4.8-multilib-arm-linux-gnueabihf |
161 gcc-4.8-multilib-arm-linux-gnueabihf" | 162 gcc-4.8-multilib-arm-linux-gnueabihf" |
162 fi | 163 fi |
163 | 164 |
164 # Packages to build NaCl, its toolchains, and its ports. | 165 # Packages to build NaCl, its toolchains, and its ports. |
165 naclports_list="ant autoconf bison cmake gawk intltool xutils-dev xsltproc" | 166 naclports_list="ant autoconf bison cmake gawk intltool xutils-dev xsltproc" |
166 nacl_list="g++-mingw-w64-i686 lib32z1-dev | 167 nacl_list="g++-mingw-w64-i686 lib32z1-dev |
167 libasound2:i386 libcap2:i386 libelf-dev:i386 libfontconfig1:i386 | 168 libasound2:i386 libcap2:i386 libelf-dev:i386 libexif12:i386 |
168 libgconf-2-4:i386 libglib2.0-0:i386 libgpm2:i386 libgtk2.0-0:i386 | 169 libfontconfig1:i386 libgconf-2-4:i386 libglib2.0-0:i386 libgpm2:i386 |
169 libncurses5:i386 lib32ncurses5-dev libnss3:i386 libpango1.0-0:i386 | 170 libgtk2.0-0:i386 libncurses5:i386 lib32ncurses5-dev |
| 171 libnss3:i386 libpango1.0-0:i386 |
170 libssl1.0.0:i386 libtinfo-dev libtinfo-dev:i386 libtool | 172 libssl1.0.0:i386 libtinfo-dev libtinfo-dev:i386 libtool |
171 libxcomposite1:i386 libxcursor1:i386 libxdamage1:i386 libxi6:i386 | 173 libxcomposite1:i386 libxcursor1:i386 libxdamage1:i386 libxi6:i386 |
172 libxrandr2:i386 libxss1:i386 libxtst6:i386 texinfo xvfb | 174 libxrandr2:i386 libxss1:i386 libxtst6:i386 texinfo xvfb |
173 ${naclports_list}" | 175 ${naclports_list}" |
174 | 176 |
175 # Find the proper version of packages that depend on mesa. Only one -lts variant | 177 # Find the proper version of packages that depend on mesa. Only one -lts variant |
176 # of mesa can be installed and everything that depends on it must match. | 178 # of mesa can be installed and everything that depends on it must match. |
177 | 179 |
178 # Query for the name and status of all mesa LTS variants, filter for only | 180 # Query for the name and status of all mesa LTS variants, filter for only |
179 # installed packages, extract just the name, and eliminate duplicates (there can | 181 # installed packages, extract just the name, and eliminate duplicates (there can |
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
469 # only contains libcrypto.so.1.0.0 and not the symlink needed for | 471 # only contains libcrypto.so.1.0.0 and not the symlink needed for |
470 # linking (libcrypto.so). | 472 # linking (libcrypto.so). |
471 create_library_symlink /lib/i386-linux-gnu/libcrypto.so.1.0.0 \ | 473 create_library_symlink /lib/i386-linux-gnu/libcrypto.so.1.0.0 \ |
472 /usr/lib/i386-linux-gnu/libcrypto.so | 474 /usr/lib/i386-linux-gnu/libcrypto.so |
473 | 475 |
474 create_library_symlink /lib/i386-linux-gnu/libssl.so.1.0.0 \ | 476 create_library_symlink /lib/i386-linux-gnu/libssl.so.1.0.0 \ |
475 /usr/lib/i386-linux-gnu/libssl.so | 477 /usr/lib/i386-linux-gnu/libssl.so |
476 else | 478 else |
477 echo "Skipping symbolic links for NaCl." | 479 echo "Skipping symbolic links for NaCl." |
478 fi | 480 fi |
OLD | NEW |