[CI20] Add script for creating Debian sysroot and GCC toolchain for mipsel

Script will create Debain Jessie based sysroot for building Cobalt
and will build cross-toolchain GCC 4.9.

Change-Id: Iade0cf7ceafb041945c8d0f7e368b4059dc3a27b
diff --git a/src/third_party/ci20/LICENSE b/src/third_party/ci20/LICENSE
new file mode 100644
index 0000000..1941a11
--- /dev/null
+++ b/src/third_party/ci20/LICENSE
@@ -0,0 +1,28 @@
+Copyright 2008, Google Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+    * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+    * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/src/third_party/ci20/mipsel-toolchain-sysroot-creator.sh b/src/third_party/ci20/mipsel-toolchain-sysroot-creator.sh
new file mode 100755
index 0000000..d01df8c
--- /dev/null
+++ b/src/third_party/ci20/mipsel-toolchain-sysroot-creator.sh
@@ -0,0 +1,518 @@
+#!/bin/bash
+# Copyright (c) 2012 The Native Client Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# This script is intended to build a mipsel-linux-gnu cross compilation
+# toolchain that runs on x86 linux and generates code for a little-endian,
+# hard-float, mips32 target.
+
+######################################################################
+# Config
+######################################################################
+
+set -o nounset
+set -o errexit
+
+readonly SCRIPT_DIR=$(dirname $0)
+
+readonly MAKE_OPTS="-j8"
+readonly ARCH="mips32"
+
+readonly GMP_URL="http://ftp.gnu.org/gnu/gmp/gmp-6.1.1.tar.bz2"
+readonly GMP_SHA1SUM="757d672e66d8e0afe60ca04735ab11c00d9346e4"
+
+readonly MPFR_URL="http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.4.tar.bz2"
+readonly MPFR_SHA1SUM="e3b0af77f18505184410d621fe0aae179e229dba"
+
+readonly MPC_URL="http://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz"
+readonly MPC_SHA1SUM="b8be66396c726fdc36ebb0f692ed8a8cca3bcc66"
+
+readonly GCC_URL="http://ftp.gnu.org/gnu/gcc/gcc-4.9.0/gcc-4.9.0.tar.bz2"
+readonly GCC_SHA1SUM="fbde8eb49f2b9e6961a870887cf7337d31cd4917"
+
+readonly BINUTILS_URL="http://ftp.gnu.org/gnu/binutils/binutils-2.26.tar.bz2"
+readonly BINUTILS_SHA1SUM="a637508cffeb2323b14bc8dd65378819768ad4ff"
+
+readonly KERNEL_URL="http://www.linux-mips.org/pub/linux/mips/kernel/v3.x/linux-3.18.3.tar.gz"
+readonly KERNEL_SHA1SUM="66c390838cc3401135be534135fe72813e92378b"
+
+readonly GLIBC_URL="http://ftp.gnu.org/gnu/glibc/glibc-2.19.tar.bz2"
+readonly GLIBC_SHA1SUM="382f4438a7321dc29ea1a3da8e7852d2c2b3208c"
+
+readonly INSTALL_ROOT=$(pwd)/toolchain/linux_x86/mips_trusted
+
+readonly TMP=$(pwd)/toolchain/tmp/crosstool-trusted
+
+readonly BUILD_DIR=${TMP}/build
+
+readonly JAIL_MIPS32=${INSTALL_ROOT}/sysroot
+
+readonly CROSS_TARBALL="mipsel_toolchain_sysroot"
+
+######################################################################
+# Helper
+######################################################################
+
+Banner() {
+  echo "######################################################################"
+  echo $*
+  echo "######################################################################"
+}
+
+SubBanner() {
+  echo "......................................................................"
+  echo $*
+  echo "......................................................................"
+}
+
+Usage() {
+  echo
+  echo "$0"
+  echo
+}
+
+DownloadOrCopy() {
+  local url=$1
+  local filename="${TMP}/${url##*/}"
+  local filetype="${url%%:*}"
+
+  if [ "${filename}" == "" ]; then
+    echo "Unknown error occured. Aborting."
+    exit 1
+  fi
+
+  if [[ "${filetype}" ==  "http" || ${filetype} ==  "https" ]] ; then
+    if [ ! -f "${filename}" ]; then
+      SubBanner "downloading from ${url} -> ${filename}"
+      wget ${url} -O ${filename}
+    fi
+  else
+    SubBanner "copying from ${url}"
+    cp ${url} ${filename}
+  fi
+}
+
+DownloadOrCopyAndVerify() {
+  local url=$1
+  local checksum=$2
+  local filename="${TMP}/${url##*/}"
+  local filetype="${url%%:*}"
+
+  if [ "${filename}" == "" ]; then
+    echo "Unknown error occured. Aborting."
+    exit 1
+  fi
+
+  if [[ "${filetype}" ==  "http" || ${filetype} ==  "https" ]] ; then
+    if [ ! -f "${filename}" ]; then
+      SubBanner "downloading from ${url} -> ${filename}"
+      wget ${url} -O ${filename}
+    fi
+    if [ "${checksum}" != "nochecksum" ]; then
+      if [ "$(sha1sum ${filename} | cut -d ' ' -f 1)" != "${checksum}" ]; then
+        echo "${filename} sha1sum failed. Deleting file and aborting."
+        rm -f ${filename}
+        exit 1
+      fi
+    fi
+  else
+    SubBanner "copying from ${url}"
+    cp ${url} ${filename}
+  fi
+}
+
+######################################################################
+#
+######################################################################
+
+# Some sanity checks to make sure this script is run from the right place
+# with the right tools.
+SanityCheck() {
+  Banner "Sanity Checks"
+
+  if ! mkdir -p "${INSTALL_ROOT}" ; then
+     echo "ERROR: ${INSTALL_ROOT} can't be created."
+    exit -1
+  fi
+
+  for tool in wget ; do
+    if ! which ${tool} ; then
+      echo "Required binary $tool not found."
+      echo "Exiting."
+      exit 1
+    fi
+  done
+}
+
+ClearInstallDir() {
+  Banner "clearing dirs in ${INSTALL_ROOT}"
+  rm -rf ${INSTALL_ROOT}/*
+  mkdir -p ${JAIL_MIPS32}
+}
+
+ClearBuildDir() {
+  Banner "clearing dirs in ${BUILD_DIR}"
+  rm -rf ${BUILD_DIR}/*
+}
+
+CreateTarBall() {
+  local tarball=$1
+  Banner "creating tar ball ${tarball}"
+  tar cfz ${tarball}.tgz -C ${INSTALL_ROOT} .
+}
+
+# Download the toolchain source tarballs or use a local copy when available.
+DownloadOrCopyAndInstallToolchain() {
+  Banner "Installing toolchain"
+
+  tarball="${TMP}/${GCC_URL##*/}"
+  DownloadOrCopyAndVerify ${GCC_URL} ${GCC_SHA1SUM}
+  SubBanner "extracting from ${tarball}"
+  tar jxf ${tarball} -C ${TMP}
+
+  pushd ${TMP}/gcc-*
+
+  local tarball="${TMP}/${GMP_URL##*/}"
+  DownloadOrCopyAndVerify ${GMP_URL} ${GMP_SHA1SUM}
+  SubBanner "extracting from ${tarball}"
+  tar jxf ${tarball}
+  local filename=`ls | grep gmp\-`
+  rm -f gmp
+  ln -s ${filename} gmp
+  # Fix gmp configure problem with flex.
+  sed -i "s/m4-not-needed/m4/" gmp/configure
+
+  local tarball="${TMP}/${MPFR_URL##*/}"
+  DownloadOrCopyAndVerify ${MPFR_URL} ${MPFR_SHA1SUM}
+  SubBanner "extracting from ${tarball}"
+  tar jxf ${tarball}
+  local filename=`ls | grep mpfr\-`
+  rm -f mpfr
+  ln -s ${filename} mpfr
+
+  local tarball="${TMP}/${MPC_URL##*/}"
+  DownloadOrCopyAndVerify ${MPC_URL} ${MPC_SHA1SUM}
+  SubBanner "extracting from ${tarball}"
+  tar zxf ${tarball}
+  local filename=`ls | grep mpc\-`
+  rm -f mpc
+  ln -s ${filename} mpc
+
+  popd
+
+  local tarball="${TMP}/${BINUTILS_URL##*/}"
+  DownloadOrCopyAndVerify ${BINUTILS_URL} ${BINUTILS_SHA1SUM}
+  SubBanner "extracting from ${tarball}"
+  tar jxf ${tarball} -C ${TMP}
+
+  tarball="${TMP}/${KERNEL_URL##*/}"
+  DownloadOrCopyAndVerify ${KERNEL_URL} ${KERNEL_SHA1SUM}
+  SubBanner "extracting from ${tarball}"
+  tar zxf ${tarball} -C ${TMP}
+
+  tarball="${TMP}/${GLIBC_URL##*/}"
+  DownloadOrCopyAndVerify ${GLIBC_URL} ${GLIBC_SHA1SUM}
+  SubBanner "extracting from ${tarball}"
+  tar jxf ${tarball} -C ${TMP}
+
+  Banner "Preparing the code"
+
+  # Fix a minor syntax issue in tc-mips.c.
+  local OLD_TEXT="as_warn_where (fragp->fr_file, fragp->fr_line, msg);"
+  local NEW_TEXT="as_warn_where (fragp->fr_file, fragp->fr_line, \"%s\", msg);"
+  local FILE_NAME="${TMP}/binutils-2.26/gas/config/tc-mips.c"
+  sed -i "s/${OLD_TEXT}/${NEW_TEXT}/g" "${FILE_NAME}"
+
+  export PATH=${INSTALL_ROOT}/bin:$PATH
+
+  Banner "Building binutils"
+
+  rm -rf ${BUILD_DIR}/binutils/
+  mkdir -p ${BUILD_DIR}/binutils/
+  pushd ${BUILD_DIR}/binutils/
+
+  SubBanner "Configuring"
+  ${TMP}/binutils-2.26/configure \
+    --prefix=${INSTALL_ROOT}     \
+    --target=mipsel-linux-gnu    \
+    --with-sysroot=${JAIL_MIPS32}
+
+  SubBanner "Make"
+  make ${MAKE_OPTS} all-binutils all-gas all-ld
+
+  SubBanner "Install"
+  make ${MAKE_OPTS} install-binutils install-gas install-ld
+
+  popd
+
+  Banner "Building GCC (initial)"
+
+  rm -rf ${BUILD_DIR}/gcc/initial
+  mkdir -p ${BUILD_DIR}/gcc/initial
+  pushd ${BUILD_DIR}/gcc/initial
+
+  SubBanner "Configuring"
+  ${TMP}/gcc-4.9.0/configure \
+    --prefix=${INSTALL_ROOT} \
+    --disable-libssp         \
+    --disable-libgomp        \
+    --disable-libmudflap     \
+    --disable-fixed-point    \
+    --disable-decimal-float  \
+    --with-mips-plt          \
+    --with-endian=little     \
+    --with-arch=${ARCH}      \
+    --enable-languages=c     \
+    --with-newlib            \
+    --without-headers        \
+    --disable-shared         \
+    --disable-threads        \
+    --disable-libquadmath    \
+    --disable-libatomic      \
+    --target=mipsel-linux-gnu
+
+  SubBanner "Make"
+  make ${MAKE_OPTS} all
+
+  SubBanner "Install"
+  make ${MAKE_OPTS} install
+
+  popd
+
+  Banner "Installing Linux kernel headers"
+  pushd ${TMP}/linux-3.18.3
+  make headers_install ARCH=mips INSTALL_HDR_PATH=${JAIL_MIPS32}/usr
+  popd
+
+  Banner "Building GLIBC"
+
+  rm -rf ${BUILD_DIR}/glibc/final
+  mkdir -p ${BUILD_DIR}/glibc/final
+  pushd ${BUILD_DIR}/glibc/final
+
+  BUILD_CC=gcc                      \
+  AR=mipsel-linux-gnu-ar            \
+  RANLIB=mipsel-linux-gnu-ranlibi   \
+  CC=mipsel-linux-gnu-gcc           \
+  CXX=mipsel-linux-gnu-g++          \
+  ${TMP}/glibc-2.19/configure       \
+    --prefix=/usr                   \
+    --enable-add-ons                \
+    --host=mipsel-linux-gnu         \
+    --disable-profile               \
+    --without-gd                    \
+    --without-cvs                   \
+    --build=i686-pc-linux-gnu       \
+    --with-headers=${JAIL_MIPS32}/usr/include
+
+  SubBanner "Make"
+  make ${MAKE_OPTS} all
+
+  SubBanner "Install"
+  make ${MAKE_OPTS} install install_root=${JAIL_MIPS32}
+
+  popd
+
+  Banner "Building GCC (final)"
+
+  rm -rf ${BUILD_DIR}/gcc/final
+  mkdir -p ${BUILD_DIR}/gcc/final
+  pushd ${BUILD_DIR}/gcc/final
+
+  ${TMP}/gcc-4.9.0/configure  \
+    --prefix=${INSTALL_ROOT}  \
+    --disable-libssp          \
+    --disable-libgomp         \
+    --disable-libmudflap      \
+    --disable-fixed-point     \
+    --disable-decimal-float   \
+    --with-mips-plt           \
+    --with-endian=little      \
+    --with-arch=${ARCH}       \
+    --target=mipsel-linux-gnu \
+    --enable-__cxa_atexit     \
+    --enable-languages=c,c++  \
+    --with-sysroot=${JAIL_MIPS32}
+
+  SubBanner "Make"
+  make ${MAKE_OPTS} all
+
+  SubBanner "Install"
+  make ${MAKE_OPTS} install
+
+  popd
+}
+
+# ----------------------------------------------------------------------
+# mips32 deb files to complete our code sourcery jail
+# ----------------------------------------------------------------------
+readonly REPO_DEBIAN=http://ftp.debian.org/debian
+readonly MIPS32_PACKAGES=${REPO_DEBIAN}/dists/jessie/main/binary-mipsel/Packages.xz
+
+readonly BASE_PACKAGELIST_MIPS32=${SCRIPT_DIR}/packagelist.jessie.mipsel.base
+readonly EXTRA_PACKAGELIST_MIPS32=${SCRIPT_DIR}/packagelist.jessie.mipsel.extra
+readonly TMP_BASE_PKG_MIPS32=${TMP}/packagelist.generated.jessie.mipsel.base
+readonly TMP_EXTRA_PKG_MIPS32=${TMP}/packagelist.generated.jessie.mipsel.extra
+
+GeneratePackageLists() {
+  local packages=
+  local TMP_PACKAGELIST=
+  Banner "Generating Cobalt package lists for mips32"
+  rm -f ${TMP}/Packages.bz2
+  DownloadOrCopy ${MIPS32_PACKAGES}
+  xzcat ${TMP}/Packages.xz\
+    | egrep '^(Package:|Filename:)' > ${TMP}/Packages_mipsel
+
+  echo -n > ${TMP_EXTRA_PKG_MIPS32}
+  TMP_PACKAGELIST=${TMP_EXTRA_PKG_MIPS32}
+  packages=$(cat ${EXTRA_PACKAGELIST_MIPS32})
+
+  for pkg in ${packages} ; do
+    echo ${pkg}
+    grep  -A 1 "${pkg}\$" ${TMP}/Packages_mipsel\
+      | egrep -o "pool/.*" >> ${TMP_PACKAGELIST}
+  done
+}
+
+InstallMissingLibraries() {
+  local DEP_FILES_NEEDED_MIPS32=
+
+  DEP_FILES_NEEDED_MIPS32=$(cat ${TMP_EXTRA_PKG_MIPS32})
+
+  for file in ${DEP_FILES_NEEDED_MIPS32} ; do
+    local package="${TMP}/${file##*/}"
+    Banner "installing ${file}"
+    DownloadOrCopy ${REPO_DEBIAN}/${file}
+    SubBanner "extracting to ${JAIL_MIPS32}"
+    dpkg --fsys-tarfile ${package}\
+      | tar -xvf - -C ${JAIL_MIPS32}
+  done
+}
+
+# Workaround for missing headers since pkg-config is not working correctly.
+FixIncludes() {
+  Banner "Fixing includes"
+  pushd ${JAIL_MIPS32}/usr/include/glib-2.0
+    ln -s ../../lib/glib-2.0/include/glibconfig.h .
+  popd
+
+  pushd ${JAIL_MIPS32}/usr/include/gtk-2.0
+    ln -s ../../lib/gtk-2.0/include/gdkconfig.h .
+  popd
+
+  pushd ${JAIL_MIPS32}/usr/include/dbus-1.0/dbus
+    ln -s ../../../lib/dbus-1.0/include/dbus/dbus-arch-deps.h .
+  popd
+
+  pushd ${JAIL_MIPS32}/usr/include
+    cp ./mipsel-linux-gnu/sys/* ./sys/
+    mkdir -p bits
+    cp ./mipsel-linux-gnu/bits/* ./bits/
+    mkdir -p gnu
+    cp ./mipsel-linux-gnu/gnu/* ./gnu/
+    mkdir -p asm
+    cp ./mipsel-linux-gnu/asm/* ./asm/
+    cp ./mipsel-linux-gnu/openssl/* ./openssl/
+  popd
+}
+
+FixLinks() {
+  Banner "Fixing links"
+  pushd ${JAIL_MIPS32}/lib/
+    mv mipsel-linux-gnu/* .
+    rm -rf mipsel-linux-gnu
+    ln -s . mipsel-linux-gnu
+  popd
+
+  pushd ${JAIL_MIPS32}/usr/lib/
+    mkdir -p pkgconfig
+    mv mipsel-linux-gnu/pkgconfig/* pkgconfig/
+    rm -rf mipsel-linux-gnu/pkgconfig
+    cp -r mipsel-linux-gnu/* .
+    rm -rf mipsel-linux-gnu
+    ln -s . mipsel-linux-gnu
+  popd
+
+  mkdir -p ${JAIL_MIPS32}/usr/share
+
+  pushd ${JAIL_MIPS32}/usr/share/
+    mkdir -p pkgconfig
+  popd
+
+  pushd ${JAIL_MIPS32}/usr/lib/
+    rm -f libgcc_s.so*
+    ln -s ../../../mipsel-linux-gnu/lib/libgcc_s.so.1 .
+    ln -s libgcc_s.so.1 libgcc_s.so
+  popd
+}
+
+FixLibs() {
+  Banner "Fixing libraries"
+
+  readonly liblist="libanl.co       \
+                    libBrokenLocale.so \
+                    libbz2.so       \
+                    libcap.so       \
+                    libcidn.so      \
+                    libcom_err.so   \
+                    libcrypt.so     \
+                    libdbus-1.so    \
+                    libdl.so        \
+                    libexpat.so     \
+                    libglib-2.0.so  \
+                    libgpg-error.so \
+                    libkeyutils.so  \
+                    libnsl.so       \
+                    libnss_compat.so\
+                    libnss_dns.so   \
+                    libnss_files.so \
+                    libnss_hesiod.so\
+                    libnss_nisplus.so\
+                    libnss_nis.so   \
+                    libpamc.so      \
+                    libpam_misc.so  \
+                    libpam.so       \
+                    libpci.so       \
+                    libpcre.so      \
+                    libpng12.so     \
+                    libresolv.so    \
+                    librt.so        \
+                    libthread_db.so \
+                    libutil.so      \
+                    libudev.so      \
+                    libz.so"
+  readonly liblist2="libpng12.so.0"
+
+  pushd ${JAIL_MIPS32}/usr/lib/
+    for library in ${liblist}; do
+      rm -f ${library}
+      ln -s ../../lib/${library}.[0123] ${library}
+    done
+    for library2 in ${liblist2}; do
+      rm -f ${library2}
+      ln -s ../../lib/${library2} ${library2}
+    done
+    rm -f libpython2.7.a
+    ln -s ./python2.7/config-mipsel-linux-gnu/libpython2.7.a libpython2.7.a
+    rm -f libm.so
+    ln -s ../../lib/libm.so.6 libm.so
+  popd
+}
+
+######################################################################
+# Main
+######################################################################
+
+mkdir -p ${TMP}
+SanityCheck
+ClearInstallDir
+ClearBuildDir
+DownloadOrCopyAndInstallToolchain
+GeneratePackageLists
+InstallMissingLibraries
+FixLinks
+FixLibs
+FixIncludes
+CreateTarBall ${CROSS_TARBALL}
+
diff --git a/src/third_party/ci20/packagelist.jessie.mipsel.base b/src/third_party/ci20/packagelist.jessie.mipsel.base
new file mode 100644
index 0000000..8a3d300
--- /dev/null
+++ b/src/third_party/ci20/packagelist.jessie.mipsel.base
@@ -0,0 +1,4 @@
+libssl1.0.0
+libssl-dev
+zlib1g
+zlib1g-dev
diff --git a/src/third_party/ci20/packagelist.jessie.mipsel.extra b/src/third_party/ci20/packagelist.jessie.mipsel.extra
new file mode 100644
index 0000000..d99b951
--- /dev/null
+++ b/src/third_party/ci20/packagelist.jessie.mipsel.extra
@@ -0,0 +1,273 @@
+comerr-dev
+krb5-multidev
+libaa1
+libaa1-dev
+libasound2
+libasound2-dev
+libasyncns0
+libatk1.0-0
+libatk1.0-dev
+libattr1
+libx264-142
+libx264-dev
+libxau6
+libxau-dev
+libxml2
+libxml2-dev
+libxvidcore4
+libavahi-client3
+libavahi-client-dev
+libavahi-common3
+libavahi-common-dev
+libavcodec56
+libavcodec-dev
+libavformat56
+libavformat-dev
+libavutil54
+libavutil-dev
+libavresample2
+libavresample-dev
+libbz2-1.0
+libbz2-dev
+libc6
+libc6-dev
+libcairo2
+libcairo2-dev
+libcairo-gobject2
+libcairo-script-interpreter2
+libcap2
+libcap-dev
+libcups2
+libcups2-dev
+libdbus-1-3
+libdbus-1-dev
+libdbus-glib-1-2
+libdbus-glib-1-dev
+libdirectfb-1.2-9
+libdirectfb-dev
+libdrm2
+libdrm-nouveau2
+libdrm-radeon1
+libdrm-dev
+libcomerr2
+libegl1-mesa
+libegl1-mesa-dev
+libexif12
+libexif-dev
+libexpat1
+libexpat1-dev
+libffi6
+libffi-dev
+libflac8
+libfontconfig1
+libfontconfig1-dev
+libfreetype6
+libfreetype6-dev
+libgbm1
+libgbm-dev
+libgconf-2-4
+libgconf2-dev
+libgcrypt11-dev
+libgcrypt20
+libgcr-3-dev
+libgcr-base-3-1
+libgcr-ui-3-1
+libgdk-pixbuf2.0-0
+libgdk-pixbuf2.0-dev
+libgdk-pixbuf2.0-common
+libgl1-mesa-glx
+libgl1-mesa-dev
+libglapi-mesa
+libgles2-mesa
+libgles2-mesa-dev
+libgmp10
+libgnutls-deb0-28
+libgnutls-openssl27
+libgnutls28-dev
+libgnutlsxx28
+libgpg-error0
+libgpg-error-dev
+libgssapi-krb5-2
+libgtk2.0-0
+libgtk2.0-dev
+libglib2.0-0
+libglib2.0-dev
+libgnome-keyring0
+libgnome-keyring-dev
+libgsm1
+libgssrpc4
+libhogweed2
+libice6
+libicu-dev
+libicu52
+libjpeg62-turbo
+libjpeg62-turbo-dev
+libjson-c2
+libkadm5clnt-mit9
+libkadm5srv-mit9
+libkdb5-7
+libk5crypto3
+libkeyutils1
+libkeyutils-dev
+libkrb5-3
+libkrb5-dev
+libkrb5support0
+liblzma5
+libmp3lame0
+libnettle4
+libnspr4
+libnspr4-0d
+libnspr4-dev
+libnss3
+libnss3-1d
+libnss3-dev
+libogg0
+libopenjpeg5
+libopus0
+liborbit2
+liborbit-2-0
+liborbit2-dev
+liborc-0.4-0
+libp11-kit0
+libp11-kit-dev
+libpam0g
+libpam0g-dev
+libpango-1.0-0
+libpango1.0-0
+libpango1.0-dev
+libpangocairo-1.0-0
+libpangoft2-1.0-0
+libpangoxft-1.0-0
+libpci3
+libpci-dev
+libpcre3
+libpcre3-dev
+libpcrecpp0
+libpixman-1-0
+libpixman-1-dev
+libpng12-0
+libpng12-dev
+libpulse0
+libpulse-dev
+libpulse-mainloop-glib0
+libpthread-stubs0-dev
+libpython2.7
+librtmp1
+libschroedinger-1.0-0
+libselinux1
+libsm6
+libsnappy1
+libsnappy-dev
+libsndfile1
+libspeex1
+libsoup-gnome2.4-1
+libsoup-gnome2.4-dev
+libspeechd2
+libspeechd-dev
+libsrtp0
+libsrtp0-dev
+libssl1.0.0
+libssl-dev
+libstdc++6
+libsystemd0
+libsqlite3-0
+libsqlite3-dev
+libtasn1-6
+libtasn1-6-dev
+libtheora0
+libudev1
+libudev-dev
+libuuid1
+libva1
+libvorbis0a
+libvorbisenc2
+libvpx1
+libwayland-client0
+libwayland-egl1-mesa
+libwayland-server0
+libwebkitgtk-1.0-0
+libwrap0
+libx11-6
+libx11-dev
+libx11-xcb1
+libx11-xcb-dev
+libxext6
+libxext-dev
+libxau6
+libxau-dev
+libxcb-dri2-0
+libxcb-dri2-0-dev
+libxcb-glx0
+libxcb-glx0-dev
+libxcb-image0
+libxcb-image0-dev
+libxcb1
+libxcb1-dev
+libxcb-icccm4
+libxcb-icccm4-dev
+libxcb-randr0
+libxcb-randr0-dev
+libxcb-render0
+libxcb-render0-dev
+libxcb-render-util0
+libxcb-render-util0-dev
+libxcb-keysyms1
+libxcb-keysyms1-dev
+libxcb-sync1
+libxcb-sync-dev
+libxcb-shape0
+libxcb-shape0-dev
+libxcb-shm0
+libxcb-shm0-dev
+libxcb-util0
+libxcb-util0-dev
+libxcb-xinerama0
+libxcb-xinerama0-dev
+libxcb-xfixes0
+libxcb-xfixes0-dev
+libxcb-xkb1
+libxcb-xkb-dev
+libxcomposite1
+libxcomposite-dev
+libxcursor1
+libxcursor-dev
+libxdamage1
+libxdamage-dev
+libxdmcp6
+libxdmcp-dev
+libxfixes3
+libxfixes-dev
+libxi6
+libxi-dev
+libxinerama1
+libxinerama-dev
+libxkbcommon0
+libxkbcommon-dev
+libxrandr2
+libxrandr-dev
+libxrender1
+libxrender-dev
+libxss1
+libxss-dev
+libxt6
+libxt-dev
+libxtst6
+libxtst-dev
+linux-libc-dev
+mesa-common-dev
+python2.7
+python2.7-dev
+x11proto-core-dev
+x11proto-composite-dev
+x11proto-damage-dev
+x11proto-fixes-dev
+x11proto-input-dev
+x11proto-kb-dev
+x11proto-randr-dev
+x11proto-record-dev
+x11proto-render-dev
+x11proto-scrnsaver-dev
+x11proto-xext-dev
+x11proto-xinerama-dev
+zlib1g
+zlib1g-dev