blob: f5547c5332d73514c14738ae6d8400f0236cf46c [file] [log] [blame]
commit-bot@chromium.org0d317d32014-04-16 22:10:48 +00001#!/bin/sh
2# Copyright 2014 Google Inc.
3#
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6
commit-bot@chromium.org3df4e952014-05-05 13:30:06 +00007# install_dependencies.sh will install system-specific Skia
8# dependencies using your system's package manager. If your system is
9# not supported, add logic here to support it.
10
Joe Gregorio7d63f912020-12-29 10:15:15 -050011# Pass in --yes as the first argument to force apt-get to skip Y/n prompts while
12# being backward compatible with the old behavior.
13
commit-bot@chromium.org3056bdd2014-05-20 15:07:53 +000014set -e
15
halcanary5190a482015-04-28 13:06:54 -070016# Return 0 iff all package name arguments are installed.
17dpkg_all_installed() {
18 for arg; do
19 if !(dpkg-query -W -f'${Status}' "$arg" 2>/dev/null | \
20 grep -q "ok installed"); then
21 return 1
22 fi
23 done
24 return 0
25}
26
commit-bot@chromium.org0d317d32014-04-16 22:10:48 +000027if command -v lsb_release > /dev/null ; then
28 case $(lsb_release -i -s) in
Yuqian Libc8bb022018-02-09 10:52:18 +080029 Ubuntu|Debian)
halcanary5190a482015-04-28 13:06:54 -070030 PACKAGES=$(cat<<-EOF
31 build-essential
tikutad9ee5972016-09-02 05:21:40 -070032 freeglut3-dev
halcanary5190a482015-04-28 13:06:54 -070033 libfontconfig-dev
tikutad9ee5972016-09-02 05:21:40 -070034 libfreetype6-dev
halcanary5190a482015-04-28 13:06:54 -070035 libgif-dev
Yuqian Libc8bb022018-02-09 10:52:18 +080036 libgl1-mesa-dev
tikutad9ee5972016-09-02 05:21:40 -070037 libglu1-mesa-dev
Ben Wagnerfeae8672019-05-03 19:16:35 -040038 libharfbuzz-dev
Ben Wagner8ac78aa2019-05-03 17:26:12 -040039 libicu-dev
40 libjpeg-dev
Yuqian Libc8bb022018-02-09 10:52:18 +080041 libpng-dev
Ben Wagner8ac78aa2019-05-03 17:26:12 -040042 libwebp-dev
halcanary5190a482015-04-28 13:06:54 -070043 EOF
44 )
45 if [ $(lsb_release -r -s) = '14.04' ] ; then
46 PACKAGES="${PACKAGES} ninja-build"
tikutad9ee5972016-09-02 05:21:40 -070047 fi
48 if ! dpkg_all_installed $PACKAGES; then
Joe Gregorio7d63f912020-12-29 10:15:15 -050049 sudo apt-get $1 install $PACKAGES
tikutad9ee5972016-09-02 05:21:40 -070050 fi
51 exit
52 ;;
commit-bot@chromium.org0d317d32014-04-16 22:10:48 +000053 esac
54fi
55
56echo 'unknown system'
57exit 1