#!/bin/sh
. /etc/init.d/tc-functions

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

TODAY=`date +%Y/%m/%d`
MIRROR="http://eion.robbmob.com/"
PACKAGE="pidgin-skype"
SEP="-"
VERSION="21 January 2010"
DESCRIPTION="Skype Chat plugin for Pidgin"
AUTHORS="Eion Robb"
HOMEPAGE="http://eion.robbmob.com"
LICENSE="gplv3"
ME="jls_legalize (unsenepopiu at tin dot it)"
DEPS="atk.tcz cairo.tcz expat2.tcz fontconfig.tcz glib2.tcz graphics-libs-1.tcz gtk2.tcz libxml2.tcz nss-nspr.tcz pango.tcz pidgin.tcz pixman.tcz shared-mime-info.tcz Xlibs_support.tcz"
BUILDDEPS="p7zip.tcz"

TCUSER=`cat /etc/sysconfig/tcuser`
SRC="skype4pidgin.deb"
THISDIR=`pwd`
PKGDIR="${THISDIR}/${PACKAGE}"
SRCDIR="${PKGDIR}/${PACKAGE}${SEP}${VERSION}"
TCEDIR=`cat /opt/.tce_dir`

clean(){
	rm -rf ${THISDIR}/${PACKAGE}
	rm -rf ${THISDIR}/${PACKAGE}.tar
}
environment(){
	for each in squashfs-tools-4.0.tcz ${DEPS} ${BUILDDEPS}; do
		sudo -u ${TCUSER} tce-load -i ${TCEDIR}/optional/${each}
		sudo -u ${TCUSER} tce-load -w -i ${each}
	done
	[ -d "${PKGDIR}" ] && rm -rf ${PKGDIR}
	mkdir -p ${PKGDIR}/tmp
	cd ${PKGDIR} && wget ${MIRROR}${SRC}
	7z x ${SRC}
	tar xzvf data.tar.gz -C tmp
}

workit(){
	cd ${PKGDIR}/tmp
	mkdir -p usr/local/lib/purple-2
	mkdir -p usr/local/share/pixmaps/pidgin/protocols/16
	echo "mv usr/share/pixmaps/pidgin/protocols/16/* usr/local/share/pixmaps/pidgin/protocols/16"
	mv usr/share/pixmaps/pidgin/protocols/16/* usr/local/share/pixmaps/pidgin/protocols/16
	mkdir -p usr/local/share/pixmaps/pidgin/protocols/22
	echo "mv usr/share/pixmaps/pidgin/protocols/22/* usr/local/share/pixmaps/pidgin/protocols/22"
	mv usr/share/pixmaps/pidgin/protocols/22/* usr/local/share/pixmaps/pidgin/protocols/22
	mkdir -p usr/local/share/pixmaps/pidgin/protocols/48
	echo "mv usr/share/pixmaps/pidgin/protocols/48/* usr/local/share/pixmaps/pidgin/protocols/48"
	mv usr/share/pixmaps/pidgin/protocols/48/* usr/local/share/pixmaps/pidgin/protocols/48
	echo "mv usr/share/pixmaps/pidgin/protocols/48/* usr/local/share/pixmaps/pidgin/protocols/48"
	mv usr/lib/purple-2/libskype.so usr/local/lib/purple-2/libskype.so
	
	#locale
	mkdir ${PKGDIR}/locale
	cd ${PKGDIR}/locale
	mkdir -p usr/local/share/locale
	cp -a ${PKGDIR}/tmp/usr/share/locale/* ${PKGDIR}/locale/usr/local/share/locale
	rm -rf ${PKGDIR}/tmp/usr/lib
	rm -rf ${PKGDIR}/tmp/usr/share
	
	mkdir -pm 775 usr/local/tce.installed
cat <<EOF> usr/local/tce.installed/${PACKAGE}-locale
#!/bin/sh
mkdir -p /usr/share/locale/de/LC_MESSAGES/
ln -s /usr/local/share/locale/de/LC_MESSAGES/skype4pidgin.mo /usr/share/locale/de/LC_MESSAGES/skype4pidgin.mo
mkdir -p /usr/share/locale/en-AU/LC_MESSAGES/
ln -s /usr/local/share/locale/en-AU/LC_MESSAGES/skype4pidgin.mo /usr/share/locale/en-AU/LC_MESSAGES/skype4pidgin.mo
mkdir -p /usr/share/locale/es/LC_MESSAGES/
ln -s /usr/local/share/locale/es/LC_MESSAGES/skype4pidgin.mo /usr/share/locale/es/LC_MESSAGES/skype4pidgin.mo
mkdir -p /usr/share/locale/fr/LC_MESSAGES/
ln -s /usr/local/share/locale/fr/LC_MESSAGES/skype4pidgin.mo /usr/share/locale/fr/LC_MESSAGES/skype4pidgin.mo
mkdir -p /usr/share/locale/hu/LC_MESSAGES/
ln -s /usr/local/share/locale/hu/LC_MESSAGES/skype4pidgin.mo /usr/share/locale/hu/LC_MESSAGES/skype4pidgin.mo
mkdir -p /usr/share/locale/it/LC_MESSAGES/
ln -s /usr/local/share/locale/it/LC_MESSAGES/skype4pidgin.mo /usr/share/locale/it/LC_MESSAGES/skype4pidgin.mo
mkdir -p /usr/share/locale/ja/LC_MESSAGES/
ln -s /usr/local/share/locale/ja/LC_MESSAGES/skype4pidgin.mo /usr/share/locale/ja/LC_MESSAGES/skype4pidgin.mo
mkdir -p /usr/share/locale/mk/LC_MESSAGES/
ln -s /usr/local/share/locale/mk/LC_MESSAGES/skype4pidgin.mo /usr/share/locale/mk/LC_MESSAGES/skype4pidgin.mo
mkdir -p /usr/share/locale/nb/LC_MESSAGES/
ln -s /usr/local/share/locale/nb/LC_MESSAGES/skype4pidgin.mo /usr/share/locale/nb/LC_MESSAGES/skype4pidgin.mo
mkdir -p /usr/share/locale/pl/LC_MESSAGES/
ln -s /usr/local/share/locale/pl/LC_MESSAGES/skype4pidgin.mo /usr/share/locale/pl/LC_MESSAGES/skype4pidgin.mo
mkdir -p /usr/share/locale/pt/LC_MESSAGES/
ln -s /usr/local/share/locale/pt/LC_MESSAGES/skype4pidgin.mo /usr/share/locale/pt/LC_MESSAGES/skype4pidgin.mo
mkdir -p /usr/share/locale/ru/LC_MESSAGES/
ln -s /usr/local/share/locale/ru/LC_MESSAGES/skype4pidgin.mo /usr/share/locale/ru/LC_MESSAGES/skype4pidgin.mo
EOF
	chmod 775 usr/local/tce.installed/${PACKAGE}-locale
}

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:Once pidgin connects to skype, skype disappears, and if u don't
		have a tray I haven't found a way to show skype again, but this
		is not a problem, since with pidgin u can call, receive calls,
		messsages..
		---------------------------------
		This extension is PPI compatible.
Change-log: 2009/07/02 Initial packaging
			2009/10/01 upgraded to version 20 sept 2009
Current:	${TODAY} updated to version ${VERSION}
EOF

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

	mksquashfs . ../${PACKAGE}-locale.tcz

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

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

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

	cat <<EOF> ${PACKAGE}-locale.tcz.info
Title:		${PACKAGE}-locale.tcz
Description:	${DESCRIPTION} locale files
Version:	${VERSION}
Author:		${AUTHORS}
Original-site:	${HOMEPAGE}
Copying-policy:	${LICENSE}
Size:		${size}
Extension_by:	${ME}
Comments:	locale files
		---------------------------------
		This extension is PPI compatible.
Change-log: 2009/07/02 Initial packaging
			2009/10/01 upgraded to version 20 sept 2009
Current:	${TODAY} updated to version ${VERSION}
EOF

	cd ${THISDIR}
	tar cvf pidgin-skype.tar ${PACKAGE}.tcbuild ${PKGDIR}/${PACKAGE}*
}

#here we go
clean
environment
workit
packageit
