#!/usr/bin/env bash

if [ $# -ne 0 ]; then
    UPSTREAM_SOURCE_TARBALL=$1
    echo "Using $UPSTREAM_SOURCE_TARBALL instead of downloading tarball"
fi

SPKG_ROOT=`pwd`

set -e
shopt -s extglob

# Remove old sources and download new
rm -rf src
if [ -z "$UPSTREAM_SOURCE_TARBALL" ]; then
    tar xf <( curl http://www.gap-system.org/pub/gap/gap47/tar.bz2/gap4r7p8_2015_06_09-20_27.tar.bz2)
else
    tar xf "$UPSTREAM_SOURCE_TARBALL"
fi
mv gap4r8 src


# Make everything writable
chmod -R u+w src


# Delete some unneeded stuff
cd src

# Delete PDF documentation and misc TeX files
find doc \( \
         -name "*.bbl" \
      -o -name "*.blg" \
      -o -name "*.aux" \
      -o -name "*.dvi" \
      -o -name "*.idx" \
      -o -name "*.ilg" \
      -o -name "*.l*" \
      -o -name "*.m*" \
      -o -name "*.pdf" \
      -o -name "*.ind" \
      -o -name "*.toc" \
      \) -exec rm {} \;

# DATABASES (separated out to database_gap.spkg) except GAPDoc which is required:
rm -r small prim trans
cd pkg
rm -r !(GAPDoc*)
cd ..

# Stuff that isn't GAP sources:
rm -r bin/*
cd extern
rm -r !(Makefile.in)

# Write version to gap-version
cd "$SPKG_ROOT"
autoconf --trace='AC_INIT:$2' src/cnf/configure.in > src/gap-version
rm -rf autom4te.cache


tar cjf gap-`cat src/gap-version`.tar.bz2 src/  && rm -rf src/
