#!/bin/sh

[ -z $PREPKG ] && exit 1

PACKAGE=yamagi-quake2
QVERSION=7.30
CVERSION=1.05
RVERSION=2.04
XVERSION=2.05
FILES=$(cd $(dirname $0) ; pwd)

mkdir -p \
  $PREPKG/{install,usr/{doc/$PACKAGE-{$QVERSION,ctf-$CVERSION,rogue-$RVERSION,xatrix-$XVERSION},games,share/{applications,games/$PACKAGE/{ctf,xatrix,rogue},icons/hicolor/{512x512,scalable}/apps}}}/

# extract everything at once
for i in \
quake2-$QVERSION.tar.xz \
quake2-ctf-$CVERSION.tar.xz \
quake2-rogue-$RVERSION.tar.xz \
quake2-xatrix-$XVERSION.tar.xz ; do
  tar xf $FILES/$i || exit 1
done

chmod -R \
  g-w .

# base
cd quake2-$QVERSION/
make $MAKEJOBS \
  WITH_SYSTEMWIDE=yes \
  WITH_SYSTEMDIR=/usr/share/games/$PACKAGE &> make.output || exit 1
cp -a \
  release/* \
  $PREPKG/usr/share/games/$PACKAGE/
cp -p \
  stuff/icon/Quake2.png \
  $PREPKG/usr/share/icons/hicolor/512x512/apps/
cp -p \
  stuff/icon/Quake2.svg \
  $PREPKG/usr/share/icons/hicolor/scalable/apps/
cp -p \
  CHANGELOG CONTRIBUTE LICENSE README.md \
  stuff/cdripper.sh stuff/cvarlist.md \
  stuff/packaging.md stuff/yq2.cfg \
  $PREPKG/usr/doc/$PACKAGE-$QVERSION/
cd -

# threewave ctf
cd quake2-ctf-$CVERSION/
make $MAKEJOBS &> make.output || exit 1
cp -p \
  release/game.so \
  $PREPKG/usr/share/games/$PACKAGE/ctf/
cp -p \
  CHANGELOG LICENSE README \
  $PREPKG/usr/doc/$PACKAGE-ctf-$CVERSION/
cd -

# missionpack 2 (ground zero)
cd quake2-rogue-$RVERSION/
make $MAKEJOBS &> make.output || exit 1
cp -p \
  release/game.so \
  $PREPKG/usr/share/games/$PACKAGE/rogue/
cp -p \
  CHANGELOG LICENSE README \
  $PREPKG/usr/doc/$PACKAGE-rogue-$RVERSION/
cd -

# missionpack 1 (the reckoning)
cd quake2-xatrix-$XVERSION/
make $MAKEJOBS &> make.output || exit 1
cp -p \
  release/game.so \
  $PREPKG/usr/share/games/$PACKAGE/xatrix/
cp -p \
  CHANGELOG LICENSE README \
  $PREPKG/usr/doc/$PACKAGE-xatrix-$XVERSION/
cd -

# misc stuff
cp \
  $FILES/scripts/$PACKAGE* \
  $PREPKG/usr/games/
chmod +x \
  $PREPKG/usr/games/$PACKAGE*

cp \
  $FILES/$PACKAGE.desktop \
  $PREPKG/usr/share/applications/

cp \
  $FILES/{doinst.sh,slack-desc} \
  $PREPKG/install/

find $PREPKG -exec file {} \; \
  | awk -F : '/ ELF / {print $1}' \
  | xargs strip -p --strip-unneeded
