Blame autobuild/install-requirements-linux.sh

24a789
#!/bin/bash
24a789
7544ab
set -e
7544ab
24a789
# Make sure we have all dependencies installed
24a789
echo "Checking dependencies..."
24a789
DEB_LIST_MINIMAL="\
24a789
    build-essential \
24a789
    autoconf automake \
24a789
    shared-mime-info \
24a789
    libltdl3-dev \
24a789
    libtool \
24a789
    intltool \
24a789
    gettext \
24a789
    libpng-dev \
24a789
    libfftw3-dev \
24a789
    fontconfig \
24a789
    libfreetype6-dev \
24a789
    libfontconfig1-dev \
24a789
    libxml2-dev \
24a789
    libtiff5-dev \
24a789
    libmlt-dev libmlt++-dev \
24a789
    libjasper-dev \
24a789
    x11proto-xext-dev libdirectfb-dev libxfixes-dev libxinerama-dev libxdamage-dev libxcomposite-dev libxcursor-dev libxft-dev libxrender-dev libxt-dev libxrandr-dev libxi-dev libxext-dev libx11-dev \
24a789
    libatk1.0-dev \
24a789
    libgl1-mesa-dev \
24a789
    imagemagick \
24a789
    bzip2"
24a789
if which dnf >/dev/null; then
24a789
    #
24a789
    #  Fedora >= 22
24a789
    #
24a789
    PKG_LIST="git"
24a789
    if [[ $MODE == 'package' ]]; then
24a789
        PKG_LIST="${PKG_LIST} \
24a789
            debootstrap \
24a789
            rsync"
24a789
    else
24a789
        PKG_LIST="${PKG_LIST} \
24a789
            intltool \
24a789
            libpng-devel \
24a789
            libjpeg-devel \
24a789
            fftw-devel \
24a789
            freetype-devel \
24a789
            fontconfig-devel \
24a789
            atk-devel \
24a789
            pango-devel \
24a789
            cairo-devel \
24a789
            gtk3-devel \
24a789
            gettext-devel \
24a789
            libxml2-devel \
24a789
            libxml++-devel \
24a789
            gcc-c++ \
24a789
            autoconf \
24a789
            automake \
24a789
            libtool \
24a789
            libtool-ltdl-devel \
24a789
            boost-devel \
24a789
            shared-mime-info \
24a789
            OpenEXR-devel \
24a789
            libmng-devel \
24a789
            ImageMagick-c++-devel \
24a789
            jack-audio-connection-kit-devel \
24a789
            mlt-devel \
24a789
            ocl-icd-devel \
24a789
            opencl-headers \
24a789
            gtkmm30-devel \
24a789
            glibmm24-devel"
24a789
    fi
24a789
    if ! ( rpm -qv $PKG_LIST ); then
24a789
        echo "Running dnf (you need root privelegies to do that)..."
24a789
        su -c "dnf install $PKG_LIST" || true
24a789
    fi
24a789
elif which yum >/dev/null; then
24a789
    #
24a789
    #  Fedora
24a789
    #
24a789
    PKG_LIST="git"
24a789
    if [[ $MODE == 'package' ]]; then
24a789
        PKG_LIST="${PKG_LIST} \
24a789
            debootstrap \
24a789
            rsync"
24a789
    else
24a789
        PKG_LIST="${PKG_LIST} \
24a789
            intltool \
24a789
            libpng-devel \
24a789
            libjpeg-devel \
24a789
            fftw-devel \
24a789
            freetype-devel \
24a789
            fontconfig-devel \
24a789
            atk-devel \
24a789
            pango-devel \
24a789
            cairo-devel \
24a789
            gtk3-devel \
24a789
            gettext-devel \
24a789
            libxml2-devel \
24a789
            libxml++-devel \
24a789
            gcc-c++ \
24a789
            autoconf \
24a789
            automake \
24a789
            libtool \
24a789
            libtool-ltdl-devel \
24a789
            boost-devel \
24a789
            shared-mime-info \
24a789
            OpenEXR-devel \
24a789
            libmng-devel \
24a789
            ImageMagick-c++-devel \
24a789
            jack-audio-connection-kit-devel \
24a789
            mlt-devel \
24a789
            ocl-icd-devel \
24a789
            opencl-headers \
24a789
            gtkmm30-devel \
24a789
            glibmm24-devel"
24a789
    fi
24a789
    if ! ( rpm -qv $PKG_LIST ); then
24a789
        echo "Running yum (you need root privelegies to do that)..."
24a789
        su -c "yum install $PKG_LIST" || true
24a789
    fi
24a789
elif which zypper >/dev/null; then
24a789
    #
24a789
    #  OpenSUSE
24a789
    #
24a789
    PKG_LIST="git"
24a789
    if [[ $MODE == 'package' ]]; then
24a789
        PKG_LIST="${PKG_LIST} \
24a789
            debootstrap \
24a789
            rsync"
24a789
    else
cc8279
        PKG_LIST="${PKG_LIST} libpng-devel libjpeg-devel freetype-devel fontconfig-devel atk-devel pango-devel cairo-devel gtk3-devel gettext-devel libxml2-devel libxml++-devel gcc-c++ autoconf automake libtool libtool-ltdl-devel boost-devel shared-mime-info"
24a789
        PKG_LIST="${PKG_LIST} OpenEXR-devel libmng-devel ImageMagick-c++-devel gtkmm3-devel glibmm2-devel"
24a789
    fi
24a789
    if ! ( rpm -qv $PKG_LIST ); then
24a789
        echo "Running zypper (you need root privelegies to do that)..."
24a789
        su -c "zypper install $PKG_LIST" || true
24a789
    fi
24a789
elif which apt-get >/dev/null; then
24a789
    if [[ $MODE == 'package' ]]; then
24a789
        if [[ `cat /etc/chroot.id` == "Synfig Packages Buildroot v${BUILDROOT_VERSION}" ]]; then
24a789
            #we are inside of chroot
24a789
            PKG_LIST="$DEB_LIST_MINIMAL rpm alien xsltproc wget python"
24a789
        else
24a789
            #we have to prepare chroot
24a789
            PKG_LIST="git-core debootstrap rsync"
24a789
        fi
24a789
    else
24a789
        if ( cat /etc/altlinux-release | egrep "ALT Linux" ); then
24a789
            #
24a789
            #  ALT Linux case
24a789
            #
24a789
            PKG_LIST=" \
24a789
                rpm-build \
24a789
                git-core \
24a789
                shared-mime-info \
24a789
                libltdl3-devel \
24a789
                intltool \
24a789
                gettext \
24a789
                libpng12-devel \
24a789
                libjpeg-devel \
24a789
                fontconfig \
24a789
                libfreetype-devel \
24a789
                fontconfig-devel \
24a789
                libxml2-devel \
24a789
                libtiff-devel \
24a789
                libjasper-devel \
24a789
                libdirectfb-devel \
24a789
                libfftw3-dev \
24a789
                libXfixes-devel \
24a789
                libXinerama-devel \
24a789
                libXdamage-devel \
24a789
                libXcomposite-devel \
24a789
                libXcursor-devel \
24a789
                libXft-devel \
24a789
                libXrender-devel \
24a789
                libXt-devel \
24a789
                libXrandr-devel \
24a789
                libXi-devel \
24a789
                libXext-devel \
24a789
                libX11-devel \
24a789
                libatk-devel \
24a789
                bzip2 \
24a789
                libmng-devel \
24a789
                libgtkmm3-devel \
24a789
                libglibmm-devel \
24a789
                libsigc++2-devel \
24a789
                libxml++2-devel \
24a789
            "
24a789
        else
24a789
            #
24a789
            #  Ubuntu/Debian case
24a789
            #
24a789
            PKG_LIST=" \
24a789
                ${DEB_LIST_MINIMAL} \
24a789
                git-core \
24a789
                libmng-dev \
24a789
                libjack-jackd2-dev \
24a789
                libgtkmm-3.0-dev \
24a789
                libglibmm-2.4-dev \
24a789
                libsigc++-2.0-dev \
24a789
                libxml++2.6-dev \
24a789
                libboost-system-dev \
24a789
                libmagick++-dev \
24a789
            "
24a789
        fi
24a789
    fi
24a789
    echo "Running apt-get (you need root privelegies to do that)..."
24a789
    echo
7544ab
    sudo apt-get update -qq || true
a02fb9
    sudo apt-get install -y -q $PKG_LIST
a02fb9
    sudo apt-get install -y -q autopoint || true # Ubuntu special case
24a789
else
24a789
    if [[ $MODE == 'package' ]]; then
24a789
        if ! ( which git && which debootstrap ) ; then
24a789
            echo "ERROR: Please install 'git' and 'debootstrap'."
24a789
            exit;
24a789
        fi
24a789
    else
24a789
        echo "WARNING: This build script does not works with package mangement systems other than yum, zypper or apt! You should install dependent packages manually."
24a789
        echo "REQUIRED PACKAGES: libpng-devel libjpeg-devel freetype-devel fontconfig-devel atk-devel pango-devel cairo-devel gtk3-devel gettext-devel libxml2-devel libxml++-devel gcc-c++ autoconf automake libtool libtool-ltdl-devel shared-mime-info OpenEXR-devel libmng-devel ImageMagick-c++-devel gtkmm30-devel glibmm24-devel"
24a789
        echo ""
24a789
        read
24a789
    fi
24a789
fi
24a789
echo "Done."