#!/bin/sh
. /etc/init.d/tc-functions
[ `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`
PACKAGE="tv-player"
SEP="-"
VERSION="1.0.5"
MIRROR="http://launchpad.net/tv-player/stable/${VERSION}/+download/"
DESCRIPTION="a tv/radio streaming channel archive"
AUTHORS="tv-player team"
HOMEPAGE="https://launchpad.net/tv-player/stable"
LICENSE="LGPL v3"
ME="jls_legalize (unsenepopiu at tin dot it)"
DEPS="flvstreamer.tcz gamin.tcz gst-plugins-base.tcz gst-python.tcz libmms.tcz pygtk.tcz shared-mime-info.tcz"
BUILDDEPS="squashfs-tools-4.0.tcz"
FLAGS=""
DOCS="usr/local/share/man"
COPYING="doc/Copyright"

TCUSER=`cat /etc/sysconfig/tcuser`
SRC="${PACKAGE}-gtk_${VERSION}.tar.gz"
#MD5="${PACKAGE}-gtk_${VERSION}.tar.gz/+md5"
THISDIR=`pwd`
PKGDIR="${THISDIR}/${PACKAGE}"
SRCDIR="${PKGDIR}/tvplayer${SEP}${VERSION}"
TCEDIR="$(cat /opt/.tce_dir)"
ICON=pixmaps/${PACKAGE}.png

clean(){
	rm -rf ${THISDIR}/${PACKAGE}
}
environment(){
	for each in ${DEPS} ${BUILDDEPS}; do
		APPNAME=$(getbasefile "$each " 1)
		if [ -f /usr/local/tce.installed/"${APPNAME}" ]; then
			continue
		else
			if [ -e ${TCEDIR}/optional/${each} ]; then
				sudo -u ${TCUSER} tce-load -i ${TCEDIR}/optional/${each}
			else
				sudo -u ${TCUSER} tce-load -w -i ${each}
			fi
		fi
	done
	[ -d "${PKGDIR}" ] && rm -rf ${PKGDIR}
	mkdir -p ${PKGDIR}/tmp
	cd ${PKGDIR} && wget ${MIRROR}${SRC} 
	#&& wget ${MIRROR}${MD5} -O ${PACKAGE}-gtk_${VERSION}.tar.gz.md5.txt
	#busybox md5sum -cs ${PACKAGE}-gtk_${VERSION}.tar.gz.md5.txt
	#if [ $? != 0 ];	then
		#echo "md5 doesn't match"
		#exit 1
	#fi 
	tar xzf ${SRC}
}

workit(){
	
	cd ${PKGDIR}/tmp
	rm -rf ${DOCS}

	mkdir -p usr/local/share/doc/License
	cp ${SRCDIR}/${COPYING} usr/local/share/doc/License/${PACKAGE}.txt

	mkdir -p usr/local/share/applications
	cat <<EOF> usr/local/share/applications/${PACKAGE}.desktop
[Desktop Entry]
Version=${VERSION}
Name=${PACKAGE}
Comment=${DESCRIPTION}
Type=Application
Comment[it_IT]=Visualizzatore di Tv/Radio Streaming
Exec=tv-player
Icon=/usr/local/tce.icons/${PACKAGE}.png
Terminal=false
Categories=AudioVideo;GTK;
EOF
	mkdir -p usr/local/bin
	cat <<EOF> usr/local/bin/${PACKAGE}
#!/bin/sh
cd /usr/local/share/tv-player
env python -O main-gtk.py
EOF
	chmod 775 usr/local/bin/${PACKAGE}
	
	mkdir -p usr/local/share/${PACKAGE}
	cp -a ${SRCDIR}/* usr/local/share/${PACKAGE}
	chown -R "${TCUSER}":staff usr/local/share/${PACKAGE}
	
	#mkdir -pm 775 usr/local/tce.installed
	#cat <<EOF> usr/local/tce.installed/${PACKAGE}
#!/bin/sh
#EOF
	#chmod 775 usr/local/tce.installed/${PACKAGE}

	mkdir -pm 775 usr/local/tce.menu
	cat <<EOF> usr/local/tce.menu/${PACKAGE}
<JWM>
  <Program label="$PACKAGE">$PACKAGE</Program>
</JWM>
EOF
	chmod 644 usr/local/tce.menu/${PACKAGE}

	mkdir -pm 775 usr/local/tce.icons
	cp "${SRCDIR}"/"${ICON}" usr/local/tce.icons/
	cat <<EOF> usr/local/tce.icons/${PACKAGE}
i: /usr/local/tce.icons/$PACKAGE.png
t: $PACKAGE
c: $PACKAGE
EOF
	chmod 644 usr/local/tce.icons/*

	#dont clobber tc setup
	chown -R root:staff usr/local/tce.*

	#package specific stuff
	#locale
	#mkdir -p ../locale/usr/local/share/locale
	#mv usr/local/share/locale ../locale/usr/local/share
}

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

   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:	the internal player doesn't work
			-----------------------------------------
			This extension is PPI compatible.
			-----------------------------------------
			dep file is recursive
Change-log:	2010/03/04 First version 
Current:		${TODAY} fixed bug in starting script (now works also without bash)
EOF

}
tarit(){	
	cd ${PKGDIR}
	cp ../${PACKAGE}.tcbuild ./
	busybox tar cvf ../${PACKAGE}.tar ${PACKAGE}.tcz* ${PACKAGE}.tcbuild
}
#here we go
clean
environment
workit
packageit
tarit