#!/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

# Information about this package:
export PKGNAM=xdg-desktop-portal
export VERSION=${VERSION:-1.20.4}
export BUILD=${BUILD:-1}
slack_var_pkgseries
# Defaults are taken from the slackkit package:
#export PKGARCH=${PKGARCH:-arm}
#export PKGARCH=${PKGARCH:-noarch}
#export PKGARCH=${PKGARCH:-fw}
#export PKGARCH=$( slack_archtype )
#export BUILD=${BUILD:-1_slack15.0}
#export PKGSERIES=${PKGSERIES:-patches}
#export PKGSERIES=${PKGSERIES:-../pasture}
#export PKGSERIES=${PKGSERIES:-../extra}
#export PKGSERIES=${PKGSERIES:-x}
export SLACKPACKAGE=$PKGNAM-$VERSION-$PKGARCH-$BUILD.txz

# If building in /patches for a Stable Release, we drop the packages into /tmp/patches/
slack_findpkgstore_is_stablerelease && {
    export PKGSTORE=/tmp/
    export PKGSERIES=/patches/
    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 libgudev        || installpkg $PKGSTORE/a/libgudev-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps cairo           || installpkg $PKGSTORE/l/cairo-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps fluidsynth      || installpkg $PKGSTORE/l/fluidsynth-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps fuse            || installpkg $PKGSTORE/l/fuse-[0-9]*.t?z    || exit 99; }
{ slackcheckpkgdeps glib2           || installpkg $PKGSTORE/l/glib2-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps gst-plugins-bad-free || installpkg $PKGSTORE/l/gst-plugins-bad-free-[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 json-glib       || installpkg $PKGSTORE/l/json-glib-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps lcms2           || installpkg $PKGSTORE/l/lcms2-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps libdvdnav       || installpkg $PKGSTORE/l/libdvdnav-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libdvdread      || installpkg $PKGSTORE/l/libdvdread-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libnice         || installpkg $PKGSTORE/l/libnice-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps librsvg         || installpkg $PKGSTORE/l/librsvg-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libsndfile      || installpkg $PKGSTORE/l/libsndfile-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libusb          || installpkg $PKGSTORE/l/libusb-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps libwebp         || installpkg $PKGSTORE/l/libwebp-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libxkbcommon    || installpkg $PKGSTORE/l/libxkbcommon-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libxml2         || installpkg $PKGSTORE/l/libxml2-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps openal-soft     || installpkg $PKGSTORE/l/openal-soft-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps opencv          || installpkg $PKGSTORE/l/opencv-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps openexr         || installpkg $PKGSTORE/l/openexr-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps opus            || installpkg $PKGSTORE/l/opus-[0-9]*.t?z    || exit 99; }
{ slackcheckpkgdeps orc             || installpkg $PKGSTORE/l/orc-[0-9]*.t?z     || exit 99; }
{ slackcheckpkgdeps pango           || installpkg $PKGSTORE/l/pango-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps pipewire        || installpkg $PKGSTORE/l/pipewire-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps sbc             || installpkg $PKGSTORE/l/sbc-[0-9]*.t?z     || exit 99; }
{ slackcheckpkgdeps curl            || installpkg $PKGSTORE/n/curl-[0-9]*.t?z    || exit 99; }
{ slackcheckpkgdeps nettle          || installpkg $PKGSTORE/n/nettle-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps openssl         || installpkg $PKGSTORE/n/openssl-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libX11          || installpkg $PKGSTORE/x/libX11-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps libdrm          || installpkg $PKGSTORE/x/libdrm-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps libva           || installpkg $PKGSTORE/x/libva-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps libxcb          || installpkg $PKGSTORE/x/libxcb-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps vulkan-sdk      || installpkg $PKGSTORE/x/vulkan-sdk-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps wayland         || installpkg $PKGSTORE/x/wayland-[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
