blob: dbf1d28ab1e501e26af3a188465267e3b1d521a6 [file] [log] [blame]
#!/usr/bin/env bash
# If the package $1 is available, prints it. Otherwise prints $2.
# Useful for handling when a package is renamed on new versions of Debian/Ubuntu.
aptIfElse() {
if apt-cache show $1 &>/dev/null; then
echo $1
else
echo $2
fi
}
aptIfExists() {
local ret=$(apt show "$1" 2>/dev/null)
if [[ $? -ne 0 ]]; then
return
fi
if [[ "$ret" =~ "(virtual)" ]]; then
return
fi
echo "$1"
}
PACKAGES=(
# These are dependencies necessary for building WebKitGTK/WPE.
autoconf
automake
autopoint
autotools-dev
bubblewrap
cmake
gawk
gperf
gtk-doc-tools
intltool
itstool
libasound2-dev
libatk1.0-dev
libepoxy-dev
libevent-dev
libfile-copy-recursive-perl
$(aptIfElse libgcrypt20-dev libgcrypt11-dev)
libgstreamer1.0-dev
libgstreamer-plugins-bad1.0-dev
libgstreamer-plugins-base1.0-dev
libjpeg-dev
libkate-dev
liblcms2-dev
libopenjp2-7-dev
libpng-dev
libseccomp-dev
libsqlite3-dev
libsystemd-dev
libtasn1-6-dev
libtool
libwayland-dev
libwebp-dev
libwoff-dev
libxslt1-dev
ninja-build
patch
ruby
# These are dependencies necessary for running tests.
apache2
curl
fonts-liberation
gdb
libcgi-pm-perl
psmisc
pulseaudio-utils
ruby-highline
ruby-json
$(aptIfExists python-gi)
# These are dependencies necessary for building with the Flatpak SDK.
flatpak
libglib2.0-bin
# These are dependencies necessary for building the jhbuild.
git
gsettings-desktop-schemas-dev
gyp
libegl1-mesa-dev
libexpat1-dev
libfdk-aac-dev
libgles2-mesa-dev
liborc-0.4-dev
libproxy-dev
libpsl-dev
libtool-bin
libxml-libxml-perl
python3-setuptools
uuid-dev
yasm
# These are dependencies necessary for using webkit-patch.
git-svn
subversion
# These are GStreamer plugins needed to play different media files.
gstreamer1.0-gl
gstreamer1.0-libav
gstreamer1.0-plugins-bad
gstreamer1.0-plugins-base
gstreamer1.0-plugins-good
gstreamer1.0-plugins-ugly
gstreamer1.0-pulseaudio
)