#!/bin/sh


. /etc/init.d/tc-functions

checkroot

export CFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe" 
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`
VERSION="3.1.1"
MIRROR="http://downloads.sourceforge.net/project/mldonkey/mldonkey/$VERSION"
PACKAGE="mldonkey"
SEP="-"
DESCRIPTION="p2p application for ed2k kademila (amule emule), bittorrent..."
AUTHORS="Fabrice Le Fessant, Simon Patarin, amorphous-mld, mlpango, ovidr, schlumpf_, spiralvoice"
HOMEPAGE="http://mldonkey.sourceforge.net/"
LICENSE="GPLv2"
ME="jls_legalize <unsenepopiu at tin dot it>"
DEPS="gtk2.tcz \
libiconv.tcz \
librsvg.tcz \
file.tcz"
#libupnp.tcz \
#gupnp.tcz \
BUILDDEPS="gtk2-dev.tcz \
lablgtk-dev.tcz \
ocaml.tcz \
ocaml-dev.tcz \
file-dev.tcz \
librsvg-dev.tcz"
#libupnp-dev.tcz \
#gupnp-dev.tcz \
FLAGS="--prefix=/usr/local \
--enable-gui"
DOCS=""
TCUSER=`cat /etc/sysconfig/tcuser`
SRC="${PACKAGE}${SEP}${VERSION}.tar.bz2"
THISDIR=`pwd`
PKGDIR="${THISDIR}/${PACKAGE}"
SRCDIR="${PKGDIR}/${PACKAGE}${SEP}${VERSION}"
TCEDIR=/etc/sysconfig/tcedir
COPYING="Copying.txt"
CURRENT="${TODAY} Updated to ${VERSION}"

clean(){
	rm -rf ${THISDIR}/${PACKAGE}
}
environment(){
	for each in compiletc.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
	[ -e  ${PKGDIR}/tmp ]  || mkdir -p ${PKGDIR}/tmp
	cd ${PKGDIR} 

	[ -e  ${SRC} ] || (wget ${MIRROR}/${SRC} && tar xjf ${SRC})
}

buildit(){
	cd ${SRCDIR}
#	make clean
	./configure ${FLAGS} || exit 1 
	echo -n "Press Enter key."
	read gagme
	make || exit 1 
	make DESTDIR=${PKGDIR}/tmp install || exit 1
}
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/bin
   cp ${SRCDIR}/mlnet usr/local/bin
	

   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

   mkdir -p usr/local/share/pixmaps
   cp  ${SRCDIR}/icons/tux/mld_tux_on.xpm usr/local/share/pixmaps/mldonkey.xpm

   mkdir -p usr/local/share/applications
   cat <<EOF> usr/local/share/applications/${PACKAGE}.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=MLDonkey
Comment=Graphical frontend for MLDonkey
Comment[fr]=Interface graphique pour MLDonkey
TryExec=mlgui
Exec=mldonkey+gui
Icon=${PACKAGE}
Categories=Network;FileTransfer;GTK;
X-FullPathIcon=/usr/local/share/pixmaps/${PACKAGE}.xpm
EOF
}
getinfo(){
   cd ${PKGDIR}
   getMirror
   [ -e ${PACKAGE}.tcz.info ] && rm ${PACKAGE}.tcz.info
   busybox wget "$MIRROR/$PACKAGE.tcz.info"
}
packageit(){
   if [ ! -f /usr/local/tce.installed/squashfs-tools-4.x ]; then
	if [ ! -e ${TCEDIR}/optional/squashfs-tools-4.x.tcz ]; then
		sudo -u ${TCUSER} tce-load -w squashfs-tools-4.x.tcz 
	fi
	su ${TCUSER} -c "tce-load -is squashfs-tools-4.x.tcz"
   fi
   cd ${PKGDIR}/tmp
   for dir in `ls -A`; do
      find ${dir} -not -type d | sort >> ../${PACKAGE}.tcz.list
   done

   [ -e ../${PACKAGE}.tcz ] && rm ../${PACKAGE}.tcz
   mksquashfs . ../${PACKAGE}.tcz

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

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

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

   sed -i "s/Version:.*/Version:	${VERSION}/" ${PACKAGE}.tcz.info
   sed -i "s/Size:.*/Size:	${size}/" ${PACKAGE}.tcz.info
   sed -i "s/Current:/	/" $PACKAGE.tcz.info
   echo "Current:	$CURRENT" >> $PACKAGE.tcz.info
}
checkit(){
	sudo chown ${TCUSER}:staff ${THISDIR}
	cd ${PKGDIR}
	if [ ! -f /usr/local/tce.installed/submitqc4 ]; then
		if [ ! -e ${TCEDIR}/optional/submitqc4 ]; then
			sudo -u ${TCUSER} tce-load -w submitqc4
		fi
		su ${TCUSER} -c "tce-load -is submitqc4"
	fi
	submitqc4
}
tarit(){	
	cd ${PKGDIR}
	[ -f  ../${PACKAGE}$SEP$VERSION.tar.xz ] && rm ../${PACKAGE}$SEP$VERSION.tar.xz
	cp ../${PACKAGE}.tcbuild .

	if [ ! -f /usr/local/tce.installed/xz ]; then
		if [ ! -e ${TCEDIR}/optional/xz ]; then
			sudo -u ${TCUSER} tce-load -w xz
		fi
		su ${TCUSER} -c "tce-load -is xz"
	fi
	[ -e ../${PACKAGE}.tar ] && rm ../${PACKAGE}.tar
	tar	cvf ../${PACKAGE}$SEP$VERSION.tar \
		${PACKAGE}.tcz* \
		${SRC} \
		${PACKAGE}.tcbuild
	cd ${THISDIR}
	[ -e ${PACKAGE}.tar.xz ] && rm ${PACKAGE}.tar.xz
	xz ${PACKAGE}$SEP$VERSION.tar
}
#here we go

#clean
environment
echo -n "Next step buildit. Press Enter key."
read gagme
buildit
echo -n "Next step workit. Press Enter key."
read gagme
workit
echo -n "Next step getinfo. Press Enter key."
read gagme
getinfo
echo -n "Next step packageit. Press Enter key."
read gagme
packageit
echo -n "Next step checkit. Press Enter key."
read gagme
checkit
tarit
