#!/bin/bash
set -xe
######################################################
# Configure extension creation parameters            #
######################################################
S=$(basename $0)
PACKAGE=${S%%.build}

VERSION=0.99.1
SRCNAM=flCalc-$VERSION.tar.gz
WRKDIR=flCalc
EXTNAM=$PACKAGE
TMPDIR=/tmp/$PACKAGE-$VERSION
OUTDIR=$PWD/../../build/$(version)

######################################################
# Prepare extension creation                         #
######################################################

# Remove dirs and files left from previous creation
rm -r -f $WRKDIR
rm -r -f $TMPDIR

# Crete temporary directory
mkdir -p $TMPDIR

######################################################
# Compile extension                                  #
######################################################

# Export variables needed for compilation
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
export CPPFLAGS="-I/usr/local/include -I/usr/include"
export CFLAGS="-Os -pipe -march=i486 -mtune=i686"
export CXXFLAGS="-Os -pipe -fno-exceptions -fno-rtti -march=i486 -mtune=i686"
export LDFLAGS="-Wl,-Os"

# Unpack source in to WRK directory
tar -xf $SRCNAM
pushd $WRKDIR
patch -p0 -bz .compat < ../flCalc-0.99.1-1-compat.patch
patch -p1 -bz .bigsize < ../flCalc-0.99.1-2-bigsize.patch
cp ../calc.xpm ./ICONS/calc.xpm
cp ../flcalc.desktop ../calc.png ../COPYING ./
# Configure,Compile,Check,Install in base temp dir
make

# Installation
install -Dm755 flcalc $TMPDIR/usr/local/bin/flcalc
install -Dm755 flcalc.desktop $TMPDIR/usr/local/share/applications/flcalc.desktop
install -Dm644 calc.png $TMPDIR/usr/local/share/pixmaps/flcalc.png
install -Dm644 COPYING $TMPDIR/usr/local/share/doc/$PACKAGE/COPYING

# Delete compilation work directory
popd
rm -r -f $WRKDIR

# Strip executables
find $TMPDIR | xargs file | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded

###################################################
# Create base extension in temp dir               #
###################################################
mkdir -p "$OUTDIR"
mksquashfs $TMPDIR $OUTDIR/$EXTNAM.tcz -noappend -no-xattrs -all-root
rm -rf $TMPDIR

###################################################
# Update info/tree/dep/build-dep
cp $EXTNAM.tcz.build-dep $OUTDIR/
for INFO in *.tcz.info; do
        TCZ=${INFO%%.info}
        SIZE=$(ls -sh "$OUTDIR/$TCZ" | cut -f1 -d' ')
        sed -re "s/\{SIZE\}/$SIZE/g" -e "s/\{TITLE\}/$TCZ/g" -e "s/\{VERSION\}/$VERSION/g" <$INFO >$OUTDIR/$INFO
        if [ -f $TCZ.tree ]; then
                cp $TCZ.tree $OUTDIR/$TCZ.tree
                cat $TCZ.tree | grep -wv "$TCZ" | sed -re 's/^[ \t]+//' | sort | uniq > $OUTDIR/$TCZ.dep
        fi
done

###################################################
# submitqc
pushd $OUTDIR
submitqc --libs --tcz=$EXTNAM.tcz
popd
