#!/bin/bash

die () {
	echo "error: $@"
	exit 128
}

verify () {
	local sum="$1"
	local file="$2"

	my_sum=$(sha1sum "$file" | awk '{ print $1 }')
	if [ "$my_sum" == "$sum" ]; then
		echo "$file: checksum OK" >&2
	else
		die "$file: checksum verification error $my_sum, should be $sum"
	fi
}

echo -n "Fetching sources..."
wget -q http://ftp.podlesie.net/pub/km/cver/src/gplcver-2.12a.src.tar.bz2 \
	-O gplcver-2.12a.src.tar.bz2 || die "wget"
wget -q http://ftp.podlesie.net/pub/km/cver/src/patches/copyright.patch \
	-O copyright.patch || die "wget"
wget -q http://ftp.podlesie.net/pub/km/cver/src/patches/makefile.patch \
	-O makefile.patch || die "wget"
wget -q http://ftp.podlesie.net/pub/km/cver/src/patches/types.patch \
	-O types.patch || die "wget"
echo "OK"

verify f583678c5ba091fdd8cadc249297cca7685b0940 copyright.patch
verify 946bb35b6279646c6e10c309922ed17deb2aca8a gplcver-2.12a.src.tar.bz2
verify 31357d722ab15ba5a2d8b000b021a1e979c52d00 makefile.patch
verify 371fcad399e2196162122ae5a5a8d35cd098ed54 types.patch

tar xfj gplcver-2.12a.src.tar.bz2 || die "tar error"
cd gplcver-2.12a.src || die "cd error"
patch -p1 < ../makefile.patch || die "patch #1 error"
patch -p1 < ../types.patch || die "patch #2 error"
patch -p1 < ../copyright.patch || die "patch #3 error"
cd src || die "cd error"

echo -n "Compiling cver (output in make.log)..."
make -j4 -f makefile.lnx >& make.log || die "make error"
echo "OK"

echo "cver binary in $(realpath ../bin/cver)"
