#!/bin/bash
# Script to make a cairo .tcel extension source
# needs atk, fontconfig, glib-2.16.4, and compiletc.tcel installed


NAME=pixman
VERSION=0.11.8
DOWNLOAD=http://cairographics.org/releases
SOURCE="$NAME"-"$VERSION".tar.gz
MD5SUM=7b5db768c51337b5e5e954fc9c961cd3
TMPDIR=/usr/local/"$NAME"56184
SRCDIR=/tmp
PKG="$TMPDIR"/pkg
DEV="$TMPDIR"/dev
LIST="$TMPDIR"/"$NAME".list
LIST1="$TMPDIR"/"$NAME"1.list
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.gz md5sum passed."
		sleep 2
	else
		echo "Download failed. aborting"
		exit 1;
	fi
}

build_source() {
	tar xzvf "$SRCDIR"/"$SOURCE" -C "$TMPDIR"
	cd "$TMPDIR"/"$NAME"-"$VERSION"
	export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig
	./configure --prefix=/usr/local --sysconfdir=/usr/local/etc --disable-docs 
	make
	make install
	make DESTDIR="$PKG" install
	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
	mv "$PKG"/usr/local/include "$DEV"/usr/local/
	mv "$PKG"/usr/local/lib/pkgconfig "$DEV"/usr/local/lib/
	mv "$PKG"/usr/local/lib/{*.a,*.la} "$DEV"/usr/local/lib/
}

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
}


#######################Main################

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


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