#!/bin/bash

# koffice.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

# Extract source:
tar xvf $CWD/../src/koffice-$VERSION.tar.?z* || exit 1
#tar xvf $PORTCWD/sources/koffice-$VERSION.tar.?z* || exit 1
cd $PKGNAM*
slackhousekeeping

# Apply build fix:
#
# FTBFS ARM fix:
auto_apply_patch $PORTCWD/sources/kubuntu_01_arm_compile.diff.xz || exit 1

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

# Build:
make $NUMJOBS || make || failmake

# Install into package:
make install DESTDIR=$PKG
cd -

# hack for a shitty version of koffice:
if [ ! -r $PKG/usr/bin/kformula ]; then # wtf??
  echo "Kludging KFormula installation..."
  cp -a build/kformula/kformula $PKG/usr/bin/kformula || exit 1
  cp -a build/lib/kformulapart.so $PKG/usr/lib/kde4/kformulapart.so || exit 1
  cp -a build/lib/libkdeinit_kformula.so $PKG/usr/lib/libkdeinit_kformula.so || exit 1
  cp -a kformula/kformula.desktop $PKG/usr/share/applications/kde4/kformula.desktop || exit 1
  mkdir -p $PKG/usr/share/apps/kformula || exit 1
  cp -a kformula/kformula.rc $PKG/usr/share/apps/kformula/kformula.rc || exit 1
  cp -a kformula/kformula_readonly.rc $PKG/usr/share/apps/kformula/kformula_readonly.rc || exit 1
  cp -a kformula/tips $PKG/usr/share/apps/kformula/tips || exit 1
  cp -a kformula/kformulapart.desktop $PKG/usr/share/kde4/services/kformulapart.desktop || exit 1
fi

mkdir -p $PKG/usr/doc/koffice-$VERSION
cp -a AUTHORS COPYING* README* $PKG/usr/doc/koffice-$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

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