#!/bin/sh

. /etc/init.d/tc-functions

checkroot

[ `id -u` = 0 ] || { echo "must be root"; exit 1; }

export CFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti"
export CPPFLAGS="-I/usr/local/include"
export LDFLAGS="-L/usr/local/lib"
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig

TODAY=`date +%Y/%m/%d`
MIRROR="http://pidgin-facebookchat.googlecode.com/files/"
PACKAGE="pidgin-facebook"
SEP="-"
VERSION="1.69"
DESCRIPTION="Facebook Chat plugin for Pidgin"
AUTHORS="Eion Robb, Casey Ho and Mark Doliner"
HOMEPAGE="http://code.google.com/p/pidgin-facebookchat/"
LICENSE="GPLv3"
ME="jls_legalize (unsenepopiu at tin dot it)"
DEPS="json-glib.tcz pidgin.tcz"
BUILDDEPS="glib2-dev.tcz pidgin-dev.tcz json-glib-dev.tcz"
FLAGS="--prefix=/usr/local"
DOCS=""
TCUSER=`cat /etc/sysconfig/tcuser`
SRC="${PACKAGE}chat-source${SEP}${VERSION}.tar.bz2"
THISDIR=`pwd`
PKGDIR="${THISDIR}/${PACKAGE}"
SRCDIR="${PKGDIR}/${PACKAGE}chat"
TCEDIR="$(cat /opt/.tce_dir)"

clean(){
	rm -rf ${THISDIR}/${PACKAGE}
}
environment(){
	for each in compiletc.tcz squashfs-tools-4.x.tcz ${DEPS} ${BUILDDEPS}; do
		APPNAME=$(getbasefile "$each" 1)
		if [ ! -f /usr/local/tce.installed/"${APPNAME}" ]; then
			if [ ! -e ${TCEDIR}/optional/${each} ]; then
				sudo -u ${TCUSER} tce-load -w ${each}
			fi
			sudo -u ${TCUSER} tce-load -i ${TCEDIR}/optional/${each}
		fi
	done
	[ -d "${PKGDIR}" ] && rm -rf ${PKGDIR}
	mkdir -p ${PKGDIR}/tmp
	cd ${PKGDIR} && wget ${MIRROR}${SRC}
	tar xjf ${SRC}
}

buildit(){
	cd ${SRCDIR}
	make
}

workit(){
   cd ${PKGDIR}/tmp/
   mkdir -p usr/local/lib/purple-2
   cp ${SRCDIR}/libfacebook.so usr/local/lib/purple-2
   mkdir -p usr/local/share/pixmaps/pidgin/protocols/16/
   cp ${SRCDIR}/facebook16.png usr/local/share/pixmaps/pidgin/protocols/16/facebook.png
   mkdir -p usr/local/share/pixmaps/pidgin/protocols/22/
   cp ${SRCDIR}/facebook22.png usr/local/share/pixmaps/pidgin/protocols/22/facebook.png
   mkdir -p usr/local/share/pixmaps/pidgin/protocols/48/
   cp ${SRCDIR}/facebook48.png usr/local/share/pixmaps/pidgin/protocols/48/facebook.png
   rm -rf ${DOCS}
   mkdir -p usr/local/share/doc/License
   cp ${SRCDIR}/COPYING usr/local/share/doc/License/${PACKAGE}.txt

   find usr/ | xargs file | grep "executable" | grep ELF | grep "not stripped" | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
   find usr/ | xargs file | grep "shared object" | grep ELF | grep "not stripped" | cut -f 1 -d : | xargs strip -g 2> /dev/null
}

packageit(){
   cd ${PKGDIR}/tmp
   for dir in `ls -A`; do
      find ${dir} -not -type d | sort >> ../${PACKAGE}.tcz.list
   done

   mksquashfs . ../${PACKAGE}.tcz

   cd ${PKGDIR}
   md5sum ${PACKAGE}.tcz > ${PACKAGE}.tcz.md5.txt

   [ -f "${PACKAGE}.tcz.dep" ] && rm -f ${PACKAGE}.tcz.dep
   for each in ${DEPS}; do echo ${each} >> ${PACKAGE}.tcz.dep; done

   size=`du -h ${PACKAGE}.tcz | cut -f 1`

cat <<EOF> ${PACKAGE}.tcz.info
Title:		${PACKAGE}.tcz
Description:	${DESCRIPTION}
Version:	${VERSION}
Author:		${AUTHORS}
Original-site:	${HOMEPAGE}
Copying-policy:	${LICENSE}
Size:		${size}
Extension_by:	${ME}
Comments:	
		This extension is PPI compatible
Change-log:	2009/05/25 Initial packaging
		2009/11/11 updated to 1.62 and added json-gilb dep
		2009/12/04 updated 2 1.63
		2010/02/05 updated 2 1.64
		2010/02/05 updated 2 1.64
		2010/03/07 updated 2 1.65
		2010/06/05 updated 2 1.67
		2010/10/14 updated 2 1.68
Current:	${TODAY} updated 2 ${VERSION}
EOF
}
tarit(){	
	cd ${PKGDIR}
	rm ${PACKAGE}.tar.bz2
	cp ../${PACKAGE}.tcbuild .
	tar	cjvf ${PACKAGE}.tar.bz2 \
		${PACKAGE}.tcz* \
		${PACKAGE}.tcbuild \
		${SRC}
}

#here we go
#clean
#environment
#buildit
#workit
packageit
tarit
