#! /bin/bash

# Downloads sources to compile

echo "

This tool will download sources for compiling *MoviX*.
It will only work if you have a working network setup.

Up to 50 MB will be downloaded. Press CTRL+C now if you don't want this.
"

. /home/movix/work/config/uml-download-config

# The files to download. Change this only if you know what you're doing.
downloads="linux.tar.bz2=http://www.${kernel_prefix}kernel.org/pub/linux/kernel/v2.4/linux-2.4.25.tar.bz2
mplayer.tar.bz2=http://ftp2.mplayerhq.hu/MPlayer/releases/MPlayer-0.92.tar.bz2
mplayer-unstable.tar.bz2=http://ftp2.mplayerhq.hu/MPlayer/releases/MPlayer-1.0pre3.tar.bz2
alsa.tar.bz2=http://www.alsa-project.org/alsa/ftp/driver/alsa-driver-1.0.3.tar.bz2
alsa-utils.tar.bz2=http://www.alsa-project.org/alsa/ftp/utils/alsa-utils-1.0.3.tar.bz2
alsa-lib.tar.bz2=http://www.alsa-project.org/alsa/ftp/lib/alsa-lib-1.0.3a.tar.bz2
aalib.tar.gz=http://aleron.dl.sourceforge.net/sourceforge/aa-project/aalib-1.4rc4.tar.gz
busybox.tar.bz2=http://www.busybox.net/downloads/busybox-1.00-pre10.tar.bz2
sdl.tar.gz=http://www.libsdl.org/release/SDL-1.2.6.tar.gz
lirc.tar.bz2=http://umn.dl.sourceforge.net/sourceforge/lirc/lirc-0.6.6.tar.bz2
em8300.tar.gz=http://aleron.dl.sourceforge.net/sourceforge/dxr3/em8300-0.13.0.tar.gz
supermount.diff.bz2=http://www.plumlocosoft.com/kernel/patches/2.4/2.4.25/2.4.25-lck1/components/020-supermount-1.2.11a.diff.bz2
bootsplash.diff.bz2=http://www.plumlocosoft.com/kernel/patches/2.4/2.4.25/2.4.25-lck1/components/021-bootsplash-3.0.7.diff.bz2
splashutils.tar.bz2=ftp://ftp.suse.com/pub/people/stepan/bootsplash/rpm-sources/bootsplash/splashutils.tar.bz2
matroxset.tar.gz=http://platan.vc.cvut.cz/ftp/pub/linux/matrox-latest/matroxset-0.3.tar.gz
nvtv.tar.gz=http://twtelecom.dl.sourceforge.net/sourceforge/nv-tv-out/nvtv-0.4.5.tar.gz
s3switch.zip=http://www.probo.com/timr/s3ssrc.zip
epiafb.tar.gz=http://twtelecom.dl.sourceforge.net/sourceforge/epiafb/epiafb-0.1.tar.gz
epiatvout.tar.gz=http://twtelecom.dl.sourceforge.net/sourceforge/epiafb/tvout-0.1.tar.gz
i810fb-lite.tar.bz2=http://umn.dl.sourceforge.net/sourceforge/i810fb/linux-i810fb-lite-0.0.23.tar.bz2
i810fb-lite.diff.bz2=http://easynews.dl.sourceforge.net/sourceforge/i810fb/linux-2.4.20-i810fb-lite.diff.bz2
aureal88xx.tar.bz2=http://aleron.dl.sourceforge.net/sourceforge/aureal/au88xx-1.1.2.tar.bz2
nmixer.tar.gz=http://www.stack.nl/~brama/projects/nmixer/src/nmixer-2.0.tar.gz
rexima.tar.gz=ftp://ftp.ibiblio.org/pub/Linux/apps/sound/mixers/rexima-1.4.tar.gz
atitvout.tar.gz=http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/atitvout-0.4.tar.gz"

acpi_url="acpi.diff.gz=http://twtelecom.dl.sourceforge.net/sourceforge/acpi/acpi-20030619-2.4.21.diff.gz"
devfsd_url="devfsd.tar.bz2=http://www.${kernel_prefix}kernel.org/pub/linux/daemons/devfsd/devfsd-v1.3.25.tar.bz2"
perl_url="perl.tar.gz=http://www.perl.com/CPAN/src/stable.tar.gz"

# Old stuff
# mplayer-old.tar.bz2=http://ftp3.mplayerhq.hu/MPlayer/releases/MPlayer-0.92.tar.bz2

# ------------- No need to change anything below ------------
# Work begins here

sourcedir=/home/movix/work/source

while getopts ":hadp" opt; do
	case $opt in

		# help
		h )     echo "Usage:

  -h   this help

  -a   also download the ACPI kernel patch
  -d   also download devfsd
  -p   also download perl

"
			exit;
		;;

		# download ACPI
		a )	downloads="$downloads $acpi_url"
		;;

		# download perl
		p )	downloads="$downloads $perl_url"
		;;

		# download devfsd
		d )	downloads="$downloads $devfsd_url"
		;;
	esac
done


# Give the user some time before the heavy downloading begins
sleep 3

# Function for downloading a file
download () {
# params: $1 url, $2 file name

	if [ "X$limitrate" != "X" ]; then
		limit="--limit-rate=$limitrate"
	else
		limit=""
	fi

	wget --continue --tries 3 $limit \
		--output-document "$2" \
		"$1"
}

# Main part

mkdir -p $sourcedir
pushd $sourcedir

for dl in $downloads; do
	# split the  download specifications into file name and URL
	link=`echo "$dl" | sed 's/^\([^=]\+\)=.*$/\1/'` 
	url=`echo "$dl" | sed 's/^\([^=]\+\)=\(.*\)$/\2/'` 
	download "$url" "$link"
done

popd
