#!/bin/bash

################################################################
# Script : arm/build
# Purpose: Package build script.
#          Set package version and build information, prepare
#          enviornment & launch build.
# Author : Stuart Winter <mozes@slackware.com>
################################################################

source /usr/share/slackdev/buildkit.sh

# Information about this package:
export PKGNAM=xcb-imdkit
export VERSION=${VERSION:-1.0.9}
export BUILD=${BUILD:-1}
slack_var_pkgseries

# If building in /patches for a Stable Release, we drop the packages into /tmp/patches/
slack_findpkgstore_is_stablerelease && {
    export PKGSTORE=$PORTPATCHPKGS
    export PKGSERIES=/ # unset as it's not required for patches
    export BUILD=1_slack15.0
    mkdir -vpm755 $PKGSTORE/$PKGSERIES ;}

# Set package name:
export SLACKPACKAGE=$PKGNAM-$VERSION-$PKGARCH-$BUILD.txz

# 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 dbus            || installpkg $PKGSTORE/a/dbus-[0-9]*.t?z    || exit 99; }
{ slackcheckpkgdeps util-linux      || installpkg $PKGSTORE/a/util-linux-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps fcitx5-configtool || installpkg $PKGSTORE/kde/fcitx5-configtool-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps kconfig         || installpkg $PKGSTORE/kde/kconfig-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps kcoreaddons     || installpkg $PKGSTORE/kde/kcoreaddons-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps kdeclarative    || installpkg $PKGSTORE/kde/kdeclarative-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps ki18n           || installpkg $PKGSTORE/kde/ki18n-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps kiconthemes     || installpkg $PKGSTORE/kde/kiconthemes-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps kitemviews      || installpkg $PKGSTORE/kde/kitemviews-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps kpackage        || installpkg $PKGSTORE/kde/kpackage-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps kservice        || installpkg $PKGSTORE/kde/kservice-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps kwidgetsaddons  || installpkg $PKGSTORE/kde/kwidgetsaddons-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps plasma-framework || installpkg $PKGSTORE/kde/plasma-framework-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps boost           || installpkg $PKGSTORE/l/boost-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps cairo           || installpkg $PKGSTORE/l/cairo-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps enchant         || installpkg $PKGSTORE/l/enchant-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps expat           || installpkg $PKGSTORE/l/expat-[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 gtk+2           || installpkg $PKGSTORE/l/gtk+2-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps gtk+3           || installpkg $PKGSTORE/l/gtk+3-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps gtk4            || installpkg $PKGSTORE/l/gtk4-[0-9]*.t?z    || exit 99; }
{ slackcheckpkgdeps json-c          || installpkg $PKGSTORE/l/json-c-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps libevent        || installpkg $PKGSTORE/l/libevent-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libxkbcommon    || installpkg $PKGSTORE/l/libxkbcommon-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps pango           || installpkg $PKGSTORE/l/pango-[0-9]*.t?z   || exit 99; }
{ slackcheckpkgdeps qt5             || installpkg $PKGSTORE/l/qt5-[0-9]*.t?z     || exit 99; }
{ slackcheckpkgdeps qt5-webkit      || installpkg $PKGSTORE/l/qt5-webkit-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps curl            || installpkg $PKGSTORE/n/curl-[0-9]*.t?z    || exit 99; }
{ slackcheckpkgdeps OpenCC          || installpkg $PKGSTORE/x/OpenCC-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps anthy-unicode   || installpkg $PKGSTORE/x/anthy-unicode-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libX11          || installpkg $PKGSTORE/x/libX11-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps libhangul       || installpkg $PKGSTORE/x/libhangul-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps libkkc          || installpkg $PKGSTORE/x/libkkc-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps libxcb          || installpkg $PKGSTORE/x/libxcb-[0-9]*.t?z  || exit 99; }
{ slackcheckpkgdeps libxkbfile      || installpkg $PKGSTORE/x/libxkbfile-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps m17n-lib        || installpkg $PKGSTORE/x/m17n-lib-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps wayland         || installpkg $PKGSTORE/x/wayland-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps xcb-util        || installpkg $PKGSTORE/x/xcb-util-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps xcb-util-keysyms || installpkg $PKGSTORE/x/xcb-util-keysyms-[0-9]*.t?z || exit 99; }
{ slackcheckpkgdeps xcb-util-wm     || installpkg $PKGSTORE/x/xcb-util-wm-[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
