#!/bin/bash

# koffice-l10n.SlackBuild
# Heavily based on the original Slackware build scripts,
# Modified by Stuart Winter for ARMedslack.
#
# Copyright 2008  Robby Workman  Northport, AL, USA
# Copyright 2009  Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

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

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

# Ensure that the real Slackware tree has the "languages" file.
# If not, create it.
( cd $CWD
  if [ ! -r ./languages ]; then
     # This isn't normal -- the languages file is usually present
     echo "**** Generating $CWD/languages... *****"
     sleep 40
     for file in koffice-l10n*bz2 ; do
     echo $file | cut -f 3 -d - >> ./languages
    done
  fi )

# Apart from this one - the French are on strike (it doesn't build):
#sed -i '/^fr$/d' $CWD/languages

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

# When I adapted the Slackware script for kdei, there weren't any
# files in the local.options directory; so let me know if that changes!
if [ -d $CWD/local.options ]; then
   if [  $( find $CWD/local.options -type f | wc -l ) -ne 0 ]; then 
      echo "***********************************************"
      echo "***********************************************"
      read -p "$CWD/local.options now has files in it!"
   fi
fi

# Determine the CFLAGS for the known architectures:
case $ARCH in
   arm)     export SLKCFLAGS="-O2 -march=armv4t"
            export LIBDIRSUFFIX="" ;;
   *)       export SLKCFLAGS="-O2" ;;
esac

# This is in the Slackware script, but there are no such files in the source
# dir so I assume this was left over from the KDE package build script template.
# Get the kde environment variables
#[ -d kdebase ] && . ./kdebase/profile.d/kde.sh

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

# Build language pack:
make_language_pack() {
   rm -rf $PKG
   mkdir -vpm755 $PKG
   cd $TMPBUILD
   rm -rf $PKGNAM-$VERSION
   tar xvvf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1
   cd $PKGNAM-$VERSION || exit 1
   slackhousekeeping
   mkdir -p build
   cd build
     cmake \
       -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
     make || exit 1
     make install DESTDIR=$PKG || exit 1
   cd -
   mkdir -p $PKG/install
   install -vpm644 $CWD/slack-desc/slack-desc.koffice-l10n-$PKGLANG $PKG/install/slack-desc
   cd $PKG

   # ARMedslack build specific stuff:
   export SLACKPACKAGE=$PKGNAM-$VERSION-noarch-$BUILD.tgz
   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
   slackmp         # run makepkg -l y -c n
}


if [ -z $PKGLANG ]; then
  for PKGLANG in $(cat $CWD/languages) ; do
    PKGNAM=koffice-l10n-$PKGLANG
    PKG=$TMPBUILD/package-koffice-l10n-$PKGLANG
    # The global options may be overridden here (if needed):
    [ -r $PORTCWD/local.options/$PKGLANG ] && . $PORTCWD/local.options/$PKGLANG
    make_language_pack;
  done
else
  PKGNAM=koffice-l10n-$PKGLANG
  PKG=$TMPBUILD/package-koffice-l10n-$PKGLANG
  # The global options may be overridden here (if needed):
  [ -r $PORTCWD/local.options/$PKGLANG ] && . $PORTCWD/local.options/$PKGLANG
  make_language_pack;
fi
