#!/bin/sh
#script by kingdomcome modified by jls_legalize <unsenepopiu@tin.it>

. /etc/init.d/tc-functions

checkroot

export CFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti -fvisibility=hidden -O2"
export LDFLAGS="-Wl,-O1 -fvisibility=hidden"

TODAY=`date +%Y/%m/%d`
PACKAGE="ecore"
SEP="-"
VERSION="1.2.1"
SRCVERSION="1.2.1"
MIRROR="http://download.enlightenment.org/releases/"
DESCRIPTION=" multi-platform library that provides optimized data types and useful tools for projects"
AUTHORS="Jorge Luis "turran" Zapata <jorgeluis.zapata@gmail.com> Carsten Haitzler <raster@rasterman.com> Corey "atmos" Donohoe <atmos@atmos.org> Vincent "caro" Torri  <vtorri at univ-evry dot fr> Gustavo Sverzut Barbieri <barbieri@gmail.com> Tilman Sauerbeck <tilman@code-monkey.de> Cedric Bail <cedric.bail@free.fr> Peter "pfritz" Wehrfritz <peter.wehrfritz@web.de> Arnaud de Turckheim "quarium" <quarium@gmail.com> Alexandre "diaxen" Becoulet <diaxen@free.fr> Albin "Lutin" Tonnerre <albin.tonnerre@gmail.com> Andre Dieb <andre.dieb@gmail.com> Raphael Kubo da Costa <kubo@profusion.mobi> Gustavo Chaves <glima@profusion.mobi> Fabiano Fidêncio <fidencio@profusion.mobi> Brett Nash <nash@nash.id.au> Tom Hacohen <tom@stosb.com>"
HOMEPAGE="enlightenment.org"
LICENSE="GPL"
ME="Althalus, jls_legalize <jlslegalize at gmail dot com>"
DEPS="glib2.tcz \
Xorg-7.6-lib.tcz \
libxcb.tcz \
evas.tcz"
#curl.tcz \
#libssh2.tcz \
#gnutls2.tcz \
#libcares.tcz \
#libxcb-util.tcz \
#openssl-1.0.0.tcz"
BUILDDEPS="gettext.tcz \
libtool-dev.tcz \
evas-dev.tcz \
libcares-dev.tcz \
libxcb-util-dev.tcz" 
#curl-dev.tcz \
#gnutls2-dev.tcz \
#libssh2-dev.tcz" 
#openssl-1.0.0-dev.tcz"
#libxcb-dev.tcz"
#ethumb-dev.tcz \
#Xfbdev" 
FLAGS="--enable-pthread \
--disable-ecore-timer-dump \
--with-internal-maximum-log-level=2" 
#--enable-ecore-file \
#--enable-inotify \
#--enable-xim \
#--enable-ecore-imf \
#--enable-ecore-input \
#--enable-gnutls \
#--enable-ecore-con \
#--enable-pthread \
#--enable-curl \
#--enable-glib \
#--enable-ecore-x \
#--enable-ecore-x-gesture \
#--enable-openssl \
#--enable-ecore-fb \
#--enable-tslib \
#--enable-cares \
#--enable-ecore-sdl \
#--enable-sdl \
#--enable-directfb \
DOCS=""
TCUSER=`cat /etc/sysconfig/tcuser`
SRC="${PACKAGE}${SEP}${VERSION}.tar.bz2"
THISDIR=`pwd`
PKGDIR="${THISDIR}/${PACKAGE}"
SRCDIR="${PKGDIR}/${PACKAGE}${SEP}${SRCVERSION}"
TCEDIR=/etc/sysconfig/tcedir
COPYING="COPYING"
CURRENT="${TODAY} Updated to ${VERSION}, re-enabled openssl"

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})
	cd ${SRCDIR}
	wget http://trac.enlightenment.org/e/raw-attachment/ticket/1032/ecore.patch
	patch -i ecore.patch -p0
}

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

	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

	#locale
	mkdir -p ../locale/usr/local/share/locale
	mv usr/local/share/locale ../locale/usr/local/share

	#dev
	for I in $(find `ls` -name *.h); do 
		export DIR=`dirname "$I"`; 
		[ -d ../dev/"$DIR" ] || mkdir -p ../dev/"$DIR"; 
		mv "$I" ../dev/"$DIR"/; 
	done

	for I in $(find `ls` -name *.a); do 
		export DIR=`dirname "$I"`; 
		[ -d ../dev/"$DIR" ] || mkdir -p ../dev/"$DIR"; 
		mv "$I" ../dev/"$DIR"/; 
	done

	for I in $(find `ls` -name *.la); do 
		export DIR=`dirname "$I"`; 
		[ -d ../dev/"$DIR" ] || mkdir -p ../dev/"$DIR"; 
		mv "$I" ../dev/"$DIR"/; 
	done
	
	for I in $(find `ls` -name *.pc); do 
		export DIR=`dirname "$I"`; 
		[ -d ../dev/"$DIR" ] || mkdir -p ../dev/"$DIR"; 
		mv "$I" ../dev/"$DIR"/; 
	done

	rm -rf usr/local/include
	rm -rf usr/local/lib/pkgconfig
}
getinfo(){
   cd ${PKGDIR}
   getMirror
   rm *.tcz.info
   busybox wget "$MIRROR/$PACKAGE.tcz.info"
   busybox wget "$MIRROR/$PACKAGE-locale.tcz.info"
   busybox wget "$MIRROR/$PACKAGE-dev.tcz.info"
}
packageit(){
   cd ${PKGDIR}
   
   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
   [ -e ../${PACKAGE}.tcz.list ] && rm ../${PACKAGE}.tcz.list
   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

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

   [ -e ../${PACKAGE}-locale.tcz ] && rm ../${PACKAGE}-locale.tcz
   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
   echo ${PACKAGE}.tcz > ${PACKAGE}-locale.tcz.dep
   
   size=`du -h ${PACKAGE}-locale.tcz | cut -f 1`

   sed -i "s/Version:.*/Version:	${VERSION}/" ${PACKAGE}-locale.tcz.info
   sed -i "s/Size:.*/Size:	${size}/" ${PACKAGE}-locale.tcz.info
   sed -i "s/Current:/	/" $PACKAGE-locale.tcz.info
   echo "Current:	$CURRENT" >> $PACKAGE-locale.tcz.info

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

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

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

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

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

   sed -i "/This extension is PPI compatible/d" ${PACKAGE}-dev.tcz.info
   sed -i "s/Version:.*/Version:	${VERSION}/" ${PACKAGE}-dev.tcz.info
   sed -i "s/Size:.*/Size:	${size}/" ${PACKAGE}-dev.tcz.info
   sed -i "s/Current:/	/" $PACKAGE-dev.tcz.info
   echo "Current:	$CURRENT" >> $PACKAGE-dev.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
}
copy2tce(){
	cd ${PKGDIR}
	cp ${PACKAGE}.tcz "${TCEDIR}"/optional
	cp ${PACKAGE}.tcz.md5.txt "${TCEDIR}"/optional
	cp ${PACKAGE}.tcz.dep "${TCEDIR}"/optional
	cp ${PACKAGE}-locale.tcz "${TCEDIR}"/optional
	cp ${PACKAGE}-locale.tcz.md5.txt "${TCEDIR}"/optional
	cp ${PACKAGE}-locale.tcz.dep "${TCEDIR}"/optional
	cp ${PACKAGE}-dev.tcz "${TCEDIR}"/optional
	cp ${PACKAGE}-dev.tcz.md5.txt "${TCEDIR}"/optional
	cp ${PACKAGE}-dev.tcz.dep "${TCEDIR}"/optional
}
tarit(){	
	cd ${PKGDIR}
	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* \
		${PACKAGE}-locale.tcz* \
		${PACKAGE}-dev.tcz* \
		${PACKAGE}.tcbuild \
		${SRC}
	cd ${THISDIR}
	[ -f  ${PACKAGE}$SEP$VERSION.tar.xz ] && rm ${PACKAGE}$SEP$VERSION.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
copy2tce
tarit

