#!/bin/bash

# variables
BUILD=${BUILD:-1}

TAG=gwh
TMP=/tmp/$TAG
CWD=$(pwd)

PRGNAM=$(basename $CWD)
PKG=$TMP/pkg-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
VERSION=${VERSION:-trunk}

ARCH=${ARCH:-$(uname -m)}

REPOSITORY=/home/installs/SlackBuilds/_repositories/$PRGNAM

PREFIX=${PREFIX:-/usr}

# nettoyage préalable
rm -fr $PKG $TMP/$PRGNAM

mkdir -p $PKG

# mise en place
cd $TMP
[ ! -e $REPOSITORY ] && git clone https://git.sr.ht/~crc_/retroforth $REPOSITORY

cp -R $REPOSITORY $TMP/$PRGNAM
cd $TMP/$PRGNAM
[ "x$VERSION" == "xlatest" ] && VERSION=$(git for-each-ref --sort=taggerdate --format '%(tag)' | tail -n1)
[ "x$VERSION" == "x" ] && VERSION=trunk
[ "x$VERSION" == "xtrunk" ] && VERSION="git_$(git log -1 --format=%h_%ad --date=format:%Y.%m.%d)" || git checkout $VERSION

make PREFIX=$PREFIX
make install PREFIX=$PREFIX DESTDIR=$PKG MANDIR=$PREFIX/man/man1 DOCSDIR=$PREFIX/doc/$PRGNAM/ EXAMPLESDIR=$PREFIX/doc/$PRGNAM/examples/

# # move doc/ to the appropriate location
# mkdir -p $PKG$PREFIX/doc/$PRGNAM
# cp LICENSE* *.md $PKG$PREFIX/doc/$PRGNAM

# correction
cd $PKG
chown -R root:root *

[ -d $PKG$PREFIX/man ] && find $PKG$PREFIX/man -type f -not -name \*.gz -exec gzip -9 {} \;

# embaumement
mkdir -p $PKG/install

cat <<EOF > $PKG/install/slack-desc
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.  Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in.  You must
# make exactly 11 lines for the formatting to be correct.  It's also
# customary to leave one space after the ':'.

       |-----handy-ruler------------------------------------------------------|
$PRGNAM: $PRGNAM (a Forth)
$PRGNAM:
$PRGNAM: RETRO is a clean, elegant, and pragmatic dialect of Forth. It
$PRGNAM: provides a simple alternative for those willing to make a break from
$PRGNAM: legacy systems.
$PRGNAM:
$PRGNAM: The language draws influences from many sources including traditional
$PRGNAM: Forth systems, cmForth, colorForth, Factor, and Parable. It was
$PRGNAM: designed to be easy to grasp and adapt to specific uses.
$PRGNAM:
$PRGNAM: http://forthworks.com/retro
EOF

# empaquetage
rm -f $PKG/{,usr/}lib$(uname -m | grep -o 64)/*.la
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$(echo $VERSION | tr - _)-$ARCH-$BUILD$TAG.txz