#!/bin/sh

TARGETDIR=$HOME/shrenv

VALA_SNAPSHOT=http://downloads.freesmartphone.org/vala-0.7.10.281-f8b8-dirty.tar.bz2
LIBGEE_SNAPSHOT=http://downloads.freesmartphone.org/libgee-0.5.0.1.tar.bz2
VALA_DBUS_BINDING_TOOL_SNAPSHOT=http://downloads.freesmartphone.org/vala-dbus-binding-tool-0.1.6.tar.bz2
LIBNL_SNAPSHOT=http://downloads.freesmartphone.org/libnl-2.0+fso2.tar.gz

FSOGIT=git://git.freesmartphone.org
SHRGIT=http://git.shr-project.org/repo
FSO_SPECS_GIT=$FSOGIT/specs.git
LIBFSO_GLIB_GIT=$FSOGIT/libfso-glib.git
LFG_GIT=$FSOGIT/libframeworkd-glib.git
CORNUCOPIA_GIT=$FSOGIT/cornucopia.git
LIBPHONE_UTILS_GIT=$SHRGIT/libphone-utils.git
LIBPHONE_UI_GIT=$SHRGIT/libphone-ui.git
LIBPHONE_UI_SHR_GIT=$SHRGIT/libphone-ui-shr.git
SHR_SPECS_GIT=$SHRGIT/shr-specs.git
PHONEUID_GIT=$SHRGIT/phoneuid.git
PHONEUI_APPS_GIT=$SHRGIT/phoneui-apps.git

export LIBRARY_PATH=$LIBRARY_PATH:$HOME/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/lib
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$HOME/lib/pkgconfig:$HOME/share/pkgconfig

snapshot_get_unpack_and_install()
{
	local srcdir srcpkg

	srcpkg=$(basename $1)
	srcdir=${srcpkg/.tar.*}

	[ -d $srcdir ] && return
	[ -f $srcpkg ] || wget $1
	if [ "${srcpkg#*.tar.}" == "gz" ]; then
		tar -xvzf $srcpkg || exit 1
	else
		tar -xvjf $srcpkg || exit 1
	fi
	cd $srcdir
	./configure --prefix=$HOME || exit 1
	make || exit 1
	make install || exit 1
	cd ..
}

git_clone_and_install()
{
	local olddir srcdir
	olddir=$(pwd)
	srcdir=$(basename $1)
	srcdir=${srcdir/.git}
	if [ -d $srcdir ]; then
		cd $srcdir
		git pull || exit 1
	else
		git clone $1 $srcdir || exit 1
		cd $srcdir
	fi
	[ -n "$2" ] && cd $2
	./autogen.sh --prefix=$HOME || exit 1
	make || exit 1
	make install || exit 1
	cd $olddir
}

git_clone_and_install_shr_specs()
{
	if [ -d shr-specs ]; then
		cd shr-specs
		git pull || exit 1
	else
		git clone $SHR_SPECS_GIT || exit 1
		cd shr-specs
	fi
	make xml || exit 1
	install -d $HOME/share/shr-specs
	install -m 0644 xml/* $HOME/share/shr-specs
}
	
[ -d "$TARGETDIR" ] || mkdir -p "$TARGETDIR"
cd "$TARGETDIR"
snapshot_get_unpack_and_install $VALA_SNAPSHOT
snapshot_get_unpack_and_install $VALA_DBUS_BINDING_TOOL_SNAPSHOT
snapshot_get_unpack_and_install $LIBGEE_SNAPSHOT
snapshot_get_unpack_and_install $LIBNL_SNAPSHOT
git_clone_and_install $FSO_SPECS_GIT
git_clone_and_install $LIBFSO_GLIB_GIT
git_clone_and_install $LFG_GIT
git_clone_and_install $CORNUCOPIA_GIT libfsobasics
git_clone_and_install $CORNUCOPIA_GIT libfsoframework
git_clone_and_install $LIBPHONE_UTILS_GIT
git_clone_and_install $LIBPHONE_UI_GIT
git_clone_and_install $LIBPHONE_UI_SHR_GIT
git_clone_and_install_shr_specs
SPECS_PATH=$HOME/share/shr-specs git_clone_and_install $PHONEUID_GIT
git_clone_and_install $PHONEUI_APPS_GIT


