#!/bin/bash
# Usage:
# mkdir -p $HOME/pgxn/build
# rsync -az --delete rsync://master.pgxn.org/pgxn/dist $HOME/pgxn/
# for i in $HOME/pgxn/dist/*/; do ./build.sh $i; done

# grep -l '^Build OK$' *.log |wc -l
# grep -l '^Install OK$' *.log |wc -l
# grep -l 'install: will not overwrite just-created' *.log |wc -l
# grep -l 'implicit declaration of function .heap_' *.log |wc -l

BASE=$HOME/pgxn
BUILDDIR=$BASE/build

NAME="$(basename "$1")"
VER=$(ls "$1" -v |tail -n1)

echo "Building $NAME $VER"
(
OUTDIR="$BUILDDIR/$NAME"
rm -rf "$OUTDIR"
mkdir -p "$OUTDIR" "$OUTDIR/_install"

unzip -o -d "$OUTDIR" "$BASE/dist/$NAME/$VER/$NAME-$VER.zip"

cd "$OUTDIR/$NAME-$VER"
mkdir _install
make && echo "Build OK"
make DESTDIR="$OUTDIR/_install" install && echo "Install OK"
) &> "$BUILDDIR/${NAME}.log"

