#!/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 xjf <( curl http://www.gap-system.org/pub/gap/gap48/tar.bz2/gap4r8p6_2016_11_12-14_25.tar.bz2)
else
    tar xf "$UPSTREAM_SOURCE_TARBALL"
fi
GAP=`pwd`/gap4r8

# Make everything writable
chmod -R u+w "$GAP"


mkdir src
for pkg in \
    aclib cohomolo corelg crime ctbllib design factint gbnp grape \
    guava Hap HAPcryst hecke laguna liealgdb liepring liering loops mapclass nq polymaking \
    QPA quagroup repsn sla sonata toric polycyclic autpgrp Alnuth atlasrep
do
    echo "Copying package $pkg"
    pkg_dir=`ls -d "$GAP/pkg/$pkg"*`
    pkg_lower=`echo $pkg | tr [:upper:] [:lower:]`
    cp -rap "$pkg_dir" src/
done

for pkg in \
    happrime cryst crystcat
do
    echo "Copying package $pkg"
    pkg_dir=`ls -d "$GAP/pkg/$pkg"`
    cp -rap "$pkg_dir" src/
done

# Delete unnecessary crap
rm -rf src/grape/bin

# Delete GAP sources that we untarred above
rm -rf "$GAP"

tar cjf gap_packages-`cat package-version.txt`.tar.bz2 src/  && rm -rf src/
