#!/bin/bash # This script needs to be run with root rights. if [ $UID -ne 0 ]; then sudo $0 exit 0 fi function printNotSupportedMessageAndExit() { echo echo "Currently this script only works for distributions supporting apt-get and yum." echo "Please add support for your distribution: http://webkit.org/b/110693" echo exit 1 } function checkInstaller { # apt-get - Debian based distributions apt-get --version &> /dev/null if [ $? -eq 0 ]; then installDependenciesWithApt exit 0 fi # yum - Fedora yum --version &> /dev/null if [ $? -eq 0 ]; then installDependenciesWithYum exit 0 fi printNotSupportedMessageAndExit } function installDependenciesWithApt { # These are dependencies necessary for building WebKitGTK+. apt-get install \ autoconf \ automake \ autopoint \ autotools-dev \ bison \ flex \ gawk \ gnome-common \ gperf \ gtk-doc-tools \ intltool \ libatk1.0-dev \ libenchant-dev \ libfaad-dev \ libgeoclue-dev \ libgirepository1.0-dev \ libgl1-mesa-dev \ libgl1-mesa-glx \ libgnutls-dev \ libgtk2.0-dev \ libgtk-3-dev \ libgudev-1.0-dev \ libicu-dev \ libjpeg8-dev \ libmpg123-dev \ libopus-dev \ libpango1.0-dev \ libpng12-dev \ libpulse-dev \ librsvg2-dev \ libsecret-1-dev \ libsoup2.4-dev \ libsqlite3-dev \ libtheora-dev \ libtool \ libvorbis-dev \ libwebp-dev \ libxcomposite-dev \ libxslt1-dev \ libxt-dev \ libxtst-dev \ ruby \ xfonts-utils # These are dependencies necessary for running tests. apt-get install \ apache2 \ curl \ libapache2-mod-bw \ libapache2-mod-php5 \ libgpg-error-dev \ pulseaudio-utils \ python-gi \ ruby # These are dependencies necessary for building the jhbuild. apt-get install \ git \ gobject-introspection \ icon-naming-utils \ libcroco3-dev \ libegl1-mesa-dev \ libgcrypt11-dev \ libgpg-error-dev \ libp11-kit-dev \ libpciaccess-dev \ libtiff5-dev \ libxfont-dev \ libxkbfile-dev \ ragel \ x11proto-bigreqs-dev \ x11proto-composite-dev \ x11proto-gl-dev \ x11proto-input-dev \ x11proto-randr-dev \ x11proto-resource-dev \ x11proto-scrnsaver-dev \ x11proto-video-dev \ x11proto-xcmisc-dev \ x11proto-xf86dri-dev \ xfonts-utils \ xtrans-dev \ xutils-dev # These are dependencies necessary for using webkit-patch apt-get install \ subversion } function installDependenciesWithYum { # These are dependencies necessary for building WebKitGTK+. yum install \ atk-devel \ autoconf \ automake \ bison \ cairo-devel \ enchant-devel \ flex \ fontconfig-devel \ freetype-devel \ gcc-c++ \ geoclue-devel \ gettext-devel \ gobject-introspection-devel \ gperf \ gstreamer1-devel \ gstreamer1-plugins-base-devel \ gtk-doc \ gtk2-devel \ gtk3-devel \ harfbuzz-devel \ libXt-devel \ libXtst-devel \ libgudev1-devel \ libicu-devel \ libjpeg-turbo-devel \ libpng-devel \ libsecret-devel \ libsoup-devel \ libwebp-devel \ libxslt-devel \ mesa-libGL-devel \ pcre-devel \ perl-Switch \ perl-version \ python-devel \ ruby \ sqlite-devel # These are dependencies necessary for running tests. yum install \ curl \ httpd \ libgpg-error-devel \ mod_bw \ mod_ssl \ php \ pulseaudio-utils \ pygobject3-base \ ruby # These are dependencies necessary for building the jhbuild. yum install \ git \ gobject-introspection \ icon-naming-utils \ libXfont-devel \ libcroco-devel \ libgcrypt-devel \ libgpg-error-devel \ libp11-devel \ libpciaccess-devel \ libtiff-devel \ libxkbfile-devel \ mesa-libEGL-devel \ ragel \ xorg-x11-font-utils \ xorg-x11-proto-devel \ xorg-x11-util-macros \ xorg-x11-xtrans-devel } checkInstaller