#!/bin/sh -x

# variables
VERSION=${VERSION:=$(date +"%Y.%m.%d_%H.%M")}
BUILD=${BUILD:=1}
GIT_TAG=${GIT_TAG:=latest}

TAG=${TAG:=cyco}
OUTPUT=${OUTPUT:=/tmp}
TMP=/tmp/$TAG
CWD=$(pwd)

PRGNAM=$(basename $CWD)
PKG=${PKG:=$TMP/pkg-$PRGNAM}

ARCH=${ARCH:=java}

REPOSITORY=${REPOSITORY:=/home/installs/SlackBuilds/repositories/$PRGNAM}
PREFIX=${PREFIX:=/usr}

EMACS=$(basename $(ls /usr/bin/emacs-2*))
EMACS_VERSION=$(echo "$EMACS" | grep -o "\-[0-9\.]*\-" | tr -d - | head -n1)

# mise en place
mkdir -p $TMP/
cd $TMP
if [ ! -e $REPOSITORY ] ; then
    git clone "http://github.com/espenhw/malabar-mode.git" $REPOSITORY
else
	( cd $REPOSITORY
		git pull
	)
fi

# nettoyage préalable
rm -fr $PKG $TMP/$PRGNAM*

mkdir -p $PKG

cp -R $REPOSITORY $TMP/
cd $TMP/$PRGNAM
if [ "x$GIT_TAG" != "x" ]; then
	if [ "x$GIT_TAG" == "xlatest" ]; then
		GIT_TAG=$(git tag | tail -n1 | grep -o "[0-9\.]*")
	fi
	git checkout malabar-$GIT_TAG
	VERSION=$GIT_TAG
fi
mvn package -Dmaven.skip.test=true

mkdir -p $PKG$PREFIX/share/emacs/site-lisp
cd $PKG$PREFIX/share/emacs/site-lisp
unzip $TMP/$PRGNAM/target/malabar-*-dist.zip
ln -s malabar-* malabar
cd malabar
chmod -x COPYING.txt README.md

# correction
cd $PKG
chown -R root:root *

# embaumement
mkdir -p $PKG/install

cat <<EOF > $PKG/install/slack-desc
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.  Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in.  You must
# make exactly 11 lines for the formatting to be correct.  It's also
# customary to leave one space after the ':'.

     |-----handy-ruler------------------------------------------------------|
$PRGNAM: $PRGNAM (A better Java mode for Emacs)
$PRGNAM: 
$PRGNAM: 
$PRGNAM: 
$PRGNAM: 
$PRGNAM: 
$PRGNAM: 
$PRGNAM: 
$PRGNAM: 
$PRGNAM: http://github.com/espenhw/malabar-mode/
$PRGNAM: 
EOF

# empaquetage
makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.txz