#!/bin/bash

# amarok.SlackBuild
# Heavily based on the original Slackware build scripts,
# Modified by Stuart Winter <mozes@slackware.com>

# Record toolchain & other info for the build log:
slackbuildinfo

# Paths to skeleton port's source & real Slackware source tree:
export CWD=$SLACKSOURCE/$PKGSERIES/$PKGNAM
export PORTCWD=$PWD

# Set the config option variables if they are not already set:
if [ -r ../KDE.options ]; then
   . ../KDE.options
fi

# The global options may be overridden here (if needed):
if [ -r ./local.options ]; then
   . ./local.options
fi

# Avoid a version number in .la files:
if [ -d /usr/lib${LIBDIRSUFFIX}/qt ]; then
  QTDIR=/usr/lib${LIBDIRSUFFIX}/qt
fi

# Temporary build locations:
export TMPBUILD=$TMP/build-$PKGNAM
export PKG=$TMP/package-$PKGNAM
mkpkgdirs # Delete & re-create temporary directories then cd into $TMPBUILD

# If there's no libmysqld.a on the system then copy it from the MySQL source
# directory in the ARMedslack tree, since it's built as part of the MySQL build but
# not included in the package.
# Slackware does this by hand but this is easier since I don't need to remember
# to do anything.
if [ -r $PORTCWD/../../ap/mysql/libmysqld.a.xz ]; then
   # Ensure the version on-system is up to date:
   echo "Updating embedded MySQL library..."
   xz -dfc $PORTCWD/../../ap/mysql/libmysqld.a.xz > /usr/lib${LIBDIRSUFFIX}/mysql/libmysqld.a
  else
   echo "Unable to find $PORTCWD/../../ap/mysql/libmysqld.a.xz"
   echo "Please rebuild ap/mysql."
   exit 1
fi

# Extract source:
tar xvf $CWD/../src/extragear/amarok-$VERSION.tar.?z* || exit 1
cd amarok-*
slackhousekeeping

# ARM build fix:
tar xvvf $PORTCWD/sources/amarok*debian* 
auto_apply_patch debian/patches/debian/disable_qtscriptbindings_check_fix.diff || exit 1

# NOTE: if cmake complains that it can not find qscript-qt when in fact you
# have it installed, this is likely because you are building inside a chroot.
# To remedy the error, run the command "dbus-uuidgen --ensure"
# and then re-start this SlackBuild :

export QTSCRIPTS=/usr/lib${LIBDIRSUFFIX}/qt4/plugins/script

# Configure:
mkdir -p build
cd build
  cmake \
    $KDE_OPT_ARGS \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DMAN_INSTALL_DIR=/usr/man \
    -DSYSCONF_INSTALL_DIR=/etc/kde \
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \
    .. || exit 1

# Build:
make $NUMJOBS || make || exit 1

# Install:
make install DESTDIR=$PKG || exit 1
cd -

mkdir -p $PKG/usr/doc/amarok-$VERSION
cp -a AUTHORS COPYING* INSTALL OXYGEN README TODO \
  $PKG/usr/doc/amarok-$VERSION

# If necessary, start the fakeroot server so we can set file/dir ownerships:
start_fakeroot

# Apply generic Slackware packaging policies:
cd $PKG
slackstripall   # strip all .a archives and all ELFs
slackgzpages -i # compress man & info pages and delete usr/info/dir
slackslack      # chown -R root:root, chmod -R og-w, slackchown, slack644docs
slackdesc       # install slack-desc and doinst.sh
slackmp         # run makepkg -l y -c n

# Perform any final checks on the package:
cd $PKG
slackhlinks     # search for any hard links
