#! /bin/bash

trap "echo '*** BUILD FAILED! ***' 1>&2" ERR
set -ex -o pipefail
umask 022
export PATH='/bin:/usr/bin:/usr/local/bin'
export CFLAGS=${CFLAGS:--Os}
export CXXFLAGS=${CXXFLAGS:--Os}

rebuild () {
    # 6.14.5 seems broken (segfaults)
    tar xjf xf86-video-ati-6.14.2.tar.bz2
    cd xf86-video-ati-6.14.2
    PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig ./configure \
	    --prefix=/usr --sysconfdir=/etc/X11 --localstatedir=/var \
	    --datarootdir=/usr/lib --disable-static \
	    --with-xorg-module-dir=/usr/lib/xorg/modules --enable-dri \
	    --enable-exa --enable-kms
    sed -i -e 's/-lpixman-1//' src/Makefile
    make
    strip -R .note -R .comment src/.libs/*.so
    mkdir -p ../xserver-xorg-accel-ati/lib/xorg/modules/drivers \
	    ../xserver-xorg-accel-ati/lib/xorg/modules/multimedia
    cp src/.libs/ati_drv.so src/.libs/radeon_drv.so \
	    ../xserver-xorg-accel-ati/lib/xorg/modules/drivers/
    cp src/.libs/theatre*_drv.so \
	    ../xserver-xorg-accel-ati/lib/xorg/modules/multimedia/
    cd ..
    rm -rf xf86-video-ati-6.14.2
}

while read FN; do
    eval "[ -e $FN ] || rebuild"
done < MANIFEST

ARCH=`ipkg -V 0 print_architecture | tail -n 1 | cut -f2 -d' '`
for CTRLFILE in */CONTROL/control; do
    sed -i -e "s/__ARCH__/$ARCH/g" $CTRLFILE
    sudo ipkg-build -o root -g root `dirname $CTRLFILE`/..
done
