#!/bin/bash
#
# author           : George Vlahavas (vlahavas~AT~gmail~DOT~com)
# project web page : http://dl.matroska.org/downloads/libmatroska/
# source           : http://dl.matroska.org/downloads/libmatroska/libmatroska-0.8.1.tar.bz2

# Package name
NAME="libmatroska"
# Package version
VERSION="0.8.1"
# Files that should be placed in /usr/doc/package-version/
DOCS="ChangeLog LICENSE.LGPL"

CWD=`pwd`
PKG="$CWD/$NAME-install"
ARCH="i486"
CPU="i686"
BUILD="1gv"

rm -rf $PKG
mkdir -p $PKG

# Create package install directory
mkdir $PKG/install

# Create the slack-desc file
cat > $PKG/install/slack-desc << END
$NAME: libmatroska is a C++ libary to parse Matroska files (.mkv and .mka)
$NAME:
$NAME: A C++ libary to parse Matroska files (.mkv and .mka). It is based on
$NAME: EBML (the Extensible Binary Meta Language).
$NAME:
$NAME:
$NAME:
$NAME:
$NAME:
$NAME:
$NAME:
END

# Check to see if source is present. If it's not, download it
rm -rf $NAME-$VERSION
if [ -f $NAME-$VERSION.tar.bz2 ]; then
	echo "Source file already here, no need to download";
else
 	echo "Downloading source"
	wget -c $SOURCE
fi

# Unpack source
tar xvjf $NAME-$VERSION.tar.bz2

# Configure and make
cd $NAME-$VERSION/make/linux
sed -i "s|prefix=/usr/local|prefix=/usr|g" Makefile
sed -i "s|/lib$|/lib${LIBDIRSUFFIX}|" Makefile
if [ $ARCH == "x86_64" ]; then
	export CFLAGS=${CFLAGS:-"-O2 -fPIC"}
	export CXXFLAGS=${CFLAGS:-"-O2 -fPIC"}
	export LIBDIRSUFFIX="64"
else
	export CFLAGS=${CFLAGS:-"-O2 -march=$ARCH -mtune=i686"}
	export CXXFLAGS=${CFLAGS:-"-O2 -march=$ARCH -mtune=i686"}
	export LIBDIRSUFFIX=""
fi
make

# Install on temporary directory
make install prefix=$PKG/usr

# Strip binaries
cd $PKG
find . | xargs file | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null

# Copy Docs
mkdir -p $PKG/usr/doc/$NAME-$VERSION
cd $CWD/$NAME-$VERSION
cp -a ChangeLog LICENSE.LGPL $PKG/usr/doc/$NAME-$VERSION

# Make sure ownerships and permissions are sane
cd $PKG
chown -R root:root .
find . -perm 666 -exec chmod 644 {} \;
find . -perm 664 -exec chmod 644 {} \;
find . -perm 600 -exec chmod 644 {} \;
find . -perm 444 -exec chmod 644 {} \;
find . -perm 400 -exec chmod 644 {} \;
find . -perm 440 -exec chmod 644 {} \;
find . -perm 777 -exec chmod 755 {} \;
find . -perm 775 -exec chmod 755 {} \;
find . -perm 511 -exec chmod 755 {} \;
find . -perm 711 -exec chmod 755 {} \;
find . -perm 555 -exec chmod 755 {} \;

# Make the package
/sbin/makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.txz

# Calculate md5sum
cd $CWD/
md5sum $NAME-$VERSION-$ARCH-$BUILD.txz > $NAME-$VERSION-$ARCH-$BUILD.md5

# Remove source-code and temporary install directories
# since they are not needed anymore
rm -rf $CWD/$NAME-$VERSION
rm -rf $PKG