|
|
@ -25,9 +25,31 @@ bindir=$root/$ROCKCFG_PKG_GAMES_BINDIR |
|
|
|
datadir=$root/$ROCKCFG_PKG_GAMES_DATADIR |
|
|
|
|
|
|
|
lgeneral_pm() { |
|
|
|
tar $taropt $archdir/pg-data.tar.bz2 |
|
|
|
$bindir/lgc-pg -s pg-data -d $datadir/lgeneral |
|
|
|
rm -Rf pg-data |
|
|
|
tar $taropt $archdir/pg-data.tar.bz2 |
|
|
|
|
|
|
|
mkdir -p $datadir/lgeneral/{nations,gfx/flags,units,gfx/units,maps} |
|
|
|
mkdir -p $datadir/lgeneral/{gfx/terrain/pg,sounds/pg,scenarios/pg} |
|
|
|
|
|
|
|
# Ok. This might be one of the ugliest hacks I've ever made for a ROCK |
|
|
|
# Linux package.. this app needs an X-display for running the 'lgc-pg' |
|
|
|
# binary. So we create a temporary Xvfb process and register it as X-server |
|
|
|
# number 42. Let's hope that there isn't already another X-server using |
|
|
|
# the same ID ... (Clifford) |
|
|
|
|
|
|
|
echo "Starting Xvfb server .." |
|
|
|
Xvfb :42 -fbdir . -screen 0 640x480x15 & |
|
|
|
|
|
|
|
lgcpgrun=1 |
|
|
|
if DISPLAY=:42.0 $bindir/lgc-pg -s pg-data -d $datadir/lgeneral | grep 'Done!' |
|
|
|
then lgcpgrun=0; fi |
|
|
|
|
|
|
|
echo "Killing Xvfb server .." |
|
|
|
fuser -k Xvfb_screen0; sleep 1 |
|
|
|
|
|
|
|
if [ $lgcpgrun -ne 0 ]; then |
|
|
|
echo "Got error from '$bindir/lgc-pg -s pg-data -d $datadir/lgeneral' !!" |
|
|
|
false |
|
|
|
fi |
|
|
|
} |
|
|
|
|
|
|
|
hook_add postmake 3 lgeneral_pm |
|
|
|