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

NAME="gtk+"
VER=2.24.6
PKGDIR=/tmp/2/package
PKG="$PKGDIR"/pkg
TCEDIR="`cat /opt/.tce_dir`/optional"

DEPS="compiletc.tcz \
bash.tcz \
atk.tcz \
atk-dev.tcz \
glib2.tcz \
glib2-dev.tcz \
cairo.tcz \
cairo-dev.tcz \
fontconfig.tcz \
fontconfig-dev.tcz \
cups.tcz \
cups-dev.tcz \
libcups.tcz \
gdk-pixbuf2.tcz \
gdk-pixbuf2-dev.tcz \
Xorg-7.5-lib.tcz \
shared-mime-info.tcz \
libxml2.tcz \
libxml2-dev.tcz \
pixman.tcz \
pixman-dev.tcz \
pango.tcz \
pango-dev.tcz \
graphics-libs-1.tcz \
graphics-libs-1-dev.tcz"


for I in `echo "$DEPS"`; do 
   PKGNAME=`basename "$I" .tcz`
   if [ ! -f /usr/local/tce.installed/"$PKGNAME" ]; then	
	if [ -f "$TCEDIR"/"$I" ]; then
		if su tc -c "tce-load -i "$I""; then
		   echo "${YELLOW}"$I" loaded locally${NORMAL}"
		else
		   echo "${RED}"$I" failed to load, exiting..${NORMAL}"
		   exit 1
		fi
	else
		if su tc -c "tce-load -iw "$I""; then
		   echo "${YELLOW}"$I" loaded from repo${NORMAL}"
		else
		   echo "${RED}"$I" failed to load, exiting..${NORMAL}"
		   exit 1
		fi
	fi
   fi
done
	

[ -d "$PKGDIR"/pkg ] && rm -r "$PKGDIR"/pkg
[ -d "$PKGDIR"/dev ] && rm -r "$PKGDIR"/dev
[ -d "$PKGDIR"/loc ] && rm -r "$PKGDIR"/loc
[ -d "$PKGDIR"/doc ] && rm -r "$PKGDIR"/doc
rm "$PKGDIR"/*.tcz{.md5.txt,.list,.zsync} > /dev/null 2>&1

mkdir -p "$PKGDIR"/{pkg/usr/local/tce.installed,loc,dev,doc/usr/local/share}
cp -a gtk2 "$PKGDIR"/pkg/usr/local/tce.installed/
chown -R root:staff "$PKGDIR"/pkg/usr/local/tce.installed/
chmod -R 775 "$PKGDIR"/pkg/usr/local/tce.installed/
[ -d "$NAME"-"$VER" ] && rm -r "$NAME"-"$VER"

tar xvf "$NAME"-"$VER".tar.xz
cd "$NAME"-"$VER"
zcat ../gtk+-2.24.x.icon-compat.diff.gz | patch -p1 --verbose || exit 1
zcat ../gtk+-2.24.x.icon-compat.am.diff.gz | patch -p1 --verbose || exit 1
patch -p1 < ../xid-collision-debug.patch || exit 1
./configure --prefix=/usr/local --enable-introspection=no
sleep 9
make 
make install DESTDIR="$PKG"
rm "$PKG"/usr/local/bin/gtk-demo
rm -r "$PKG"/usr/local/share/gtk-2.0
#"$PKG"/usr/local/bin/gtk-query-immodules-2.0 > "$PKG"/usr/local/etc/gtk-2.0/gtk.immodules
#"$PKG"/usr/local/bin/gdk-pixbuf-query-loaders > "$PKG"/usr/local/etc/gtk-2.0/gdk-pixbuf.loaders
mv "$PKG"/usr/local/share/gtk-doc/ "$PKGDIR"/doc/usr/local/share/
cd "$PKG"
find . | xargs file | grep "executable" | grep ELF | grep "not stripped" | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | grep "not stripped" | cut -f 1 -d : | xargs strip -g 2> /dev/null



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

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

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


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

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

find . -type d | sort -r | xargs rmdir

cd "$PKGDIR"
mksquashfs pkg/ gtk2.tcz -noappend
mksquashfs doc/ gtk2-doc.tcz -noappend
mksquashfs dev/ gtk2-dev.tcz -noappend
mksquashfs loc/ gtk2-locale.tcz -noappend
submitqc
