#!/bin/bash
# Script to make a gtk2 .tcel extension source
# Requires the compiletc.dsl, X_headers.dsl, libxml2-2.6.32.dsl, graphics-libs-1.dsl, perl-xml.dsl
# glib-2.16.4-devs.dsl, glib-2.16.4.dsl, atk,cairo and pango.


export CFLAGS="-march=i686 -O2 -pipe"
export CXXFLAGS="-march=i686 -O2 -pipe"

NAME=gtk
VERSION=2.12.11
DOWNLOAD=http://ftp.gnome.org/pub/gnome/sources/gtk+/2.12
SOURCE="$NAME"+-"$VERSION".tar.bz2
MD5SUM=f7aab88e856a813386f797aade5867ad
TMPDIR=/usr/local/"$NAME"56543
SRCDIR=/tmp
PKG="$TMPDIR"/pkg
DEV="$TMPDIR"/dev
LIST="$TMPDIR"/"$NAME".list
LIST1="$TMPDIR"/"$NAME".list1
SRCDIR=/tmp
DIALOG=dialog

download() {
cd "$SRCDIR"
if [ -e "$SOURCE" ]; then
if [ $(md5sum "$SOURCE" | cut -c1-32) != "$MD5SUM" ]; then
	rm "$SOURCE"
fi
fi
if [ ! -e "$SOURCE" ]; then
	wget "$DOWNLOAD"/"$SOURCE"
fi
if [ $(md5sum "$SOURCE" | cut -c1-32) = "$MD5SUM" ]; then
	echo ""$NAME"+-"$VERSION".tar.bz2 md5sum passed."
	sleep 2
else
	echo "Download failed. aborting"
	exit 1;
fi
}

build_source() {
tar xjvf "$SRCDIR"/"$SOURCE" -C "$TMPDIR"
cd "$TMPDIR"/gtk+-2.12.11
export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig
./configure --prefix=/usr/local --sysconfdir=/usr/local/etc 
make 
make install
make DESTDIR="$PKG" install
ldconfig
rm -r "$PKG"/usr/local/share/{gtk-2.0,gtk-doc,man}
mkdir -p "$PKG"/usr/local/etc/gtk-2.0
gdk-pixbuf-query-loaders > "$PKG"/usr/local/etc/gtk-2.0/gdk-pixbuf.loaders
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
}




split_extension() {
mkdir -p "$DEV"/usr/local/lib/gtk-2.0/2.10.0/{engines,immodules,loaders,printbackends}
mkdir "$DEV"/usr/local/share
mv "$PKG"/usr/local/bin "$DEV"/usr/local/
mv "$PKG"/usr/local/include "$DEV"/usr/local/
mv "$PKG"/usr/local/lib/gtk-2.0/include "$DEV"/usr/local/lib/gtk-2.0/
mv "$PKG"/usr/local/share/aclocal "$DEV"/usr/local/share/
mv "$PKG"/usr/local/lib/*.la "$DEV"/usr/local/lib/
mv "$PKG"/usr/local/lib/pkgconfig "$DEV"/usr/local/lib/
mv "$PKG"/usr/local/lib/gtk-2.0/2.10.0/engines/*.la "$DEV"/usr/local/lib/gtk-2.0/2.10.0/engines/
mv "$PKG"/usr/local/lib/gtk-2.0/2.10.0/immodules/*.la "$DEV"/usr/local/lib/gtk-2.0/2.10.0/immodules/
mv "$PKG"/usr/local/lib/gtk-2.0/2.10.0/loaders/*.la "$DEV"/usr/local/lib/gtk-2.0/2.10.0/loaders/
mv "$PKG"/usr/local/lib/gtk-2.0/2.10.0/printbackends/*.la "$DEV"/usr/local/lib/gtk-2.0/2.10.0/printbackends/
}

make_extension() {
cd "$PKG"
find . -not -type d > "$LIST"
tar -T "$LIST" -czvf /home/tc/"$NAME"-"$VERSION".tcel
cd "$DEV"
find . -not -type d > "$LIST1"
tar -T "$LIST1" -czvf /home/tc/"$NAME"-"$VERSION"-devs.tcel
}


if [ -e "$TMPDIR" ]; then
rm -r "$TMPDIR"
fi
mkdir -p "$PKG"
mkdir -p "$DEV"
download || exit 1
build_source || exit 1
split_extension || exit 1
make_extension ||exit 1
echo "Done."
