#!/bin/bash

# arm/build
# Check package dependencies, set metadata and launch
# package build script.
# by Stuart Winter <mozes@slackware.com>
#
source /usr/share/slackdev/buildkit.sh

# Package metadata:
export PKGNAM=gst-plugins-good
export VERSION=${VERSION:-1.18.5}
export BUILD=${BUILD:-2}
export PKGSERIES=${PKGSERIES:-l}

# If this package is being built for ALSA (no PulseAudio), use the _alsa $TAG:
if [ ! -r /usr/lib${LIBDIRSUFFIX}/pkgconfig/libpulse.pc ]; then
   TAG="_alsa"
fi

export SLACKPACKAGE=$PKGNAM-$VERSION-$PKGARCH-$BUILD${TAG}.txz

## ******************************************************************* ##
# For test packages - best to store in another location rather than
# overwriting the working copy in the main tree:
# export PKGSTORE=/tmp/
# mkdir -vpm755 $PKGSTORE/$PKGSERIES
## ******************************************************************* ##

# Ensure base ARM packages are installed first:
slackbasedeps

# Ensure $PKGNAM isn't already installed:
#slackfailpkgdeps $PKGNAM || removepkg $PKGNAM

# Ensure specific build dependencies (mainly libraries):
{ slackcheckpkgdeps bzip2           || installpkg $PKGSTORE/a/bzip2-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps gpm             || installpkg $PKGSTORE/a/gpm-[0-9]*.t?z     || exit 99; }
{ slackcheckpkgdeps libgudev        || installpkg $PKGSTORE/a/libgudev-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps flac            || installpkg $PKGSTORE/ap/flac-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps aalib           || installpkg $PKGSTORE/l/aalib-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps cairo           || installpkg $PKGSTORE/l/cairo-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps gdk-pixbuf2     || installpkg $PKGSTORE/l/gdk-pixbuf2-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps glib2           || installpkg $PKGSTORE/l/glib2-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps gst-plugins-base || installpkg $PKGSTORE/l/gst-plugins-base-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps gstreamer       || installpkg $PKGSTORE/l/gstreamer-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libcaca         || installpkg $PKGSTORE/l/libcaca-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libjpeg-turbo   || installpkg $PKGSTORE/l/libjpeg-turbo-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libpng          || installpkg $PKGSTORE/l/libpng-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps libsoup         || installpkg $PKGSTORE/l/libsoup-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libvpx          || installpkg $PKGSTORE/l/libvpx-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps orc             || installpkg $PKGSTORE/l/orc-[0-9]*.t?z     || exit 99; }
{ slackcheckpkgdeps pulseaudio      || installpkg $PKGSTORE/l/pulseaudio-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps slang1          || installpkg $PKGSTORE/l/slang1-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps speex           || installpkg $PKGSTORE/l/speex-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps taglib          || installpkg $PKGSTORE/l/taglib-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps v4l-utils       || installpkg $PKGSTORE/l/v4l-utils-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps wavpack         || installpkg $PKGSTORE/l/wavpack-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libX11          || installpkg $PKGSTORE/x/libX11-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps libXdamage      || installpkg $PKGSTORE/x/libXdamage-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libXext         || installpkg $PKGSTORE/x/libXext-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libXfixes       || installpkg $PKGSTORE/x/libXfixes-[0-9]*.t?z || exit 99; }

# Launch the package build script:
BUILDLOG=$SLKPORTARCH-$( basename $SLACKPACKAGE .t?z ).build.log
( ./$PKGNAM.SlackBuild ) >& /dev/stdout | tee $BUILDLOG

# Compress the build log:
bzip2 -9fvz $BUILDLOG
