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

HERE=`pwd`
NAME="gdk-pixbuf"
PKGNAME="$NAME"2
VER=2.26.1
PKGDIR=/mnt/sda2/"$PKGNAME"/package
PKG="$PKGDIR"/pkg
DEV="$PKGDIR"/dev
DOC="$PKGDIR"/doc
GIR="$PKGDIR"/gir
LOC="$PKGDIR"/loc


[ -d "$PKG" ] && rm -r "$PKG"
[ -d "$DEV" ] && rm -r "$DEV"
[ -d "$DOC" ] && rm -r "$DOC"
[ -d "$LOC" ] && rm -r "$LOC"
[ -d "$GIR" ] && rm -r "$GIR"

TCEDIR="`cat /etc/sysconfig/tcedir`/optional"

DEPS="compiletc.tcz \
bash.tcz \
squashfs-tools-4.x.tcz \
atk.tcz \
atk-dev.tcz \
glib2.tcz \
glib2-dev.tcz \
cairo.tcz \
cairo-dev.tcz \
libffi.tcz \
libffi-dev.tcz \
fontconfig.tcz \
fontconfig-dev.tcz \
cups.tcz \
cups-dev.tcz \
gettext.tcz \
libcups.tcz \
gdk-pixbuf2.tcz \
gdk-pixbuf2-dev.tcz \
Xorg-7.6-lib.tcz \
Xorg-7.6-dev.tcz \
shared-mime-info.tcz \
libxml2.tcz \
libxml2-dev.tcz \
pixman.tcz \
pixman-dev.tcz \
pango.tcz \
perl5.tcz \
pango-dev.tcz \
graphics-libs-1.tcz \
graphics-libs-1-dev.tcz"


for I in `echo "$DEPS"`; do 
   DEPNAME=`basename "$I" .tcz`
   if [ ! -f /usr/local/tce.installed/"$DEPNAME" ]; 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
	


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 "$PKGNAME" "$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"

./configure --prefix=/usr/local --without-libjasper --with-x11 || exit 1


sleep 9
make || exit 1
make install DESTDIR="$PKG" || exit 1

mkdir -p "$DOC"/usr/local/share
mv "$PKG"/usr/local/share/gtk-doc "$DOC"/usr/local/share/
mv "$PKG"/usr/local/share/man "$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/ "$PKGNAME".tcz -noappend
mksquashfs doc/ "$PKGNAME"-doc.tcz -noappend
mksquashfs dev/ "$PKGNAME"-dev.tcz -noappend
mksquashfs loc/ "$PKGNAME"-locale.tcz -noappend
submitqc4
