diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-10-15 09:45:50 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-10-15 09:45:50 +0000 |
commit | e15dd966d523731101f70ccf768bba12435a0208 (patch) | |
tree | ae9cb828a24ded2585a41af3f21411523b47897d /Tools/gtk/install-dependencies | |
download | WebKitGtk-tarball-e15dd966d523731101f70ccf768bba12435a0208.tar.gz |
webkitgtk-2.10.2webkitgtk-2.10.2
Diffstat (limited to 'Tools/gtk/install-dependencies')
-rwxr-xr-x | Tools/gtk/install-dependencies | 401 |
1 files changed, 401 insertions, 0 deletions
diff --git a/Tools/gtk/install-dependencies b/Tools/gtk/install-dependencies new file mode 100755 index 000000000..2d0fe86e9 --- /dev/null +++ b/Tools/gtk/install-dependencies @@ -0,0 +1,401 @@ +#!/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 + + # dnf - Fedora 22 and above + dnf --version &> /dev/null + if [ $? -eq 0 ]; then + installFedoraDependencies dnf + exit 0 + fi + + # yum - Fedora 21 and below + yum --version &> /dev/null + if [ $? -eq 0 ]; then + installFedoraDependencies yum + exit 0 + fi + + # pacman - Arch Linux + # pacman --version and pacman --help both return non-0 + pacman -Ss &> /dev/null + if [ $? -eq 0 ]; then + installDependenciesWithPacman + exit 0 + fi + + printNotSupportedMessageAndExit +} + +function installDependenciesWithApt { + # These are dependencies necessary for building WebKitGTK+. + apt-get install \ + autoconf \ + automake \ + autopoint \ + autotools-dev \ + bison \ + cmake \ + flex \ + gawk \ + gnome-common \ + gperf \ + gtk-doc-tools \ + intltool \ + itstool \ + libatk1.0-dev \ + libenchant-dev \ + libfaad-dev \ + libgeoclue-dev \ + libgirepository1.0-dev \ + libgl1-mesa-dev \ + libgl1-mesa-glx \ + libgnutls28-dev \ + libgtk2.0-dev \ + libgtk-3-dev \ + libgudev-1.0-dev \ + libharfbuzz-dev \ + libhyphen-dev \ + libicu-dev \ + libjpeg-dev \ + libmpg123-dev \ + libnotify-dev \ + libopus-dev \ + liborc-0.4-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 \ + libwayland-dev \ + ruby \ + xfonts-utils + + # These are dependencies necessary for running tests. + apt-get install \ + apache2 \ + curl \ + dbus-x11 \ + libapache2-mod-bw \ + libapache2-mod-php5 \ + libgpg-error-dev \ + pulseaudio-utils \ + python-gi \ + ruby \ + ruby-json \ + ruby-highline \ + xvfb + + # These are dependencies necessary for building the jhbuild. + apt-get install \ + git \ + gobject-introspection \ + icon-naming-utils \ + libcroco3-dev \ + libegl1-mesa-dev \ + libepoxy-dev \ + libgcrypt11-dev \ + libgpg-error-dev \ + libjson-glib-dev \ + liborc-0.4-dev \ + libp11-kit-dev \ + libpciaccess-dev \ + libssl-dev \ + libtiff5-dev \ + libv4l-dev \ + libxcb-xfixes0-dev \ + libxfont-dev \ + libxkbfile-dev \ + llvm \ + llvm-dev \ + python-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 \ + git-svn \ + subversion + + # ninja is a faster build system than GNU make, but it doesn't + # exist on Ubuntu 12.04 + apt-get install ninja-build || true +} + +function installDependenciesWithPacman { + # These are dependencies necessary for building WebKitGTK+. + packages=" \ + autoconf \ + automake \ + bison \ + cmake \ + file \ + findutils \ + flex \ + gawk \ + gcc \ + gettext \ + gnome-common \ + gperf \ + grep \ + groff \ + gzip \ + hyphen \ + libtool \ + m4 \ + make \ + patch \ + pkg-config \ + sed \ + texinfo \ + util-linux \ + which \ + gtk-doc \ + intltool \ + itstool \ + atk \ + enchant \ + faad2 \ + geoclue \ + gobject-introspection \ + mesa \ + mesa-libgl \ + gnutls \ + gtk2 \ + gtk3 \ + libsystemd \ + harfbuzz \ + harfbuzz-icu \ + icu \ + libjpeg-turbo \ + mpg123 \ + opus \ + pango \ + libnotify \ + libpng \ + libpulse \ + librsvg \ + libsecret \ + libsoup \ + sqlite \ + libtheora \ + libtool \ + libvorbis \ + libwebp \ + libxcomposite \ + libxslt \ + libxt \ + libxtst \ + ninja \ + ruby \ + xorg-font-utils \ + orc \ + wayland" + + # These are dependencies necessary for running tests. + # Note: apache-mod_bw is available in the AUR, but the main repos + # could not find ruby-json + packages="$packages \ + apache \ + curl \ + hunspell \ + hunspell-en \ + php-apache \ + libgpg-error \ + pulseaudio \ + python-gobject \ + ruby \ + ruby-highline \ + xorg-server-xvfb" + + # These are dependencies necessary for building the jhbuild. + # Note: Could not find libegl-mesa + packages="$packages \ + git \ + gobject-introspection \ + icon-naming-utils \ + libcroco \ + libepoxy \ + libgcrypt \ + libgpg-error \ + p11-kit \ + libpciaccess \ + libtiff \ + libxfixes \ + libxfont \ + libxkbfile \ + llvm \ + python2 \ + python2-lxml \ + ragel \ + bigreqsproto \ + compositeproto \ + glproto \ + inputproto \ + randrproto \ + resourceproto \ + scrnsaverproto \ + videoproto \ + xcmiscproto \ + xf86driproto \ + xorg-font-utils \ + xorg-util-macros \ + xtrans \ + xorg-utils" + + # These are dependencies necessary for using webkit-patch + packages="$packages \ + svn" + pacman -S --needed $packages + + echo "You will also need to follow the instructions on the Arch Wiki to make" + echo "'python' call python2 in the webkit folder" + echo "https://wiki.archlinux.org/index.php/Python#Dealing_with_version_problem_in_build_scripts" +} + +function installFedoraDependencies { + # These are dependencies necessary for building WebKitGTK+. + $1 install \ + atk-devel \ + autoconf \ + automake \ + bison \ + cairo-devel \ + cmake \ + 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 \ + hyphen-devel \ + json-glib-devel \ + libXt-devel \ + libXtst-devel \ + libgudev1-devel \ + libicu-devel \ + libjpeg-turbo-devel \ + libnotify-devel \ + libpng-devel \ + libsecret-devel \ + libsoup-devel \ + libv4l-devel \ + libwebp-devel \ + libwayland-client-devel \ + libwayland-server-devel \ + libxslt-devel \ + mesa-libGL-devel \ + ninja-build \ + openssl-devel \ + pcre-devel \ + perl-Switch \ + perl-version \ + pulseaudio-libs-devel \ + python-devel \ + orc-devel \ + ruby \ + sqlite-devel + + # These are dependencies necessary for running tests. + $1 install \ + curl \ + dbus-x11 \ + hunspell-en \ + httpd \ + libgpg-error-devel \ + mod_bw \ + mod_ssl \ + perl-CGI \ + php \ + pulseaudio-utils \ + pygobject3-base \ + ruby \ + rubygem-json \ + rubygem-highline \ + xorg-x11-server-Xvfb + + # These are dependencies necessary for building the jhbuild. + $1 install \ + docbook-utils \ + docbook-utils-pdf \ + git \ + gobject-introspection \ + icon-naming-utils \ + itstool \ + libXfont-devel \ + libcroco-devel \ + libepoxy-devel \ + libgcrypt-devel \ + libgpg-error-devel \ + libp11-devel \ + libpciaccess-devel \ + libtiff-devel \ + libxkbfile-devel \ + llvm \ + llvm-devel \ + mesa-libEGL-devel \ + ragel \ + xorg-x11-font-utils \ + xorg-x11-proto-devel \ + xorg-x11-util-macros \ + xorg-x11-xtrans-devel + + # These are dependencies necessary for using webkit-patch + $1 install \ + git-svn \ + subversion +} + +checkInstaller + |