#!!! Due to a limitation in pacman's SVN package handling,
# this package requires out-of-the-ordinary building. pacman checks 
# the SVN repo for new revisions before scanning the PKGBUILD.
#!!! So, when you run makepkg, if it asks you for a password for 'mupen64',
# give it 'Dyson5632-kart' without the quotes. If it asks for a password
# for _your_ username, hit Enter to make it ask for a new username, tell it
# 'mupen64' without the quotes, and then give it the password above. When
# it asks you to save the password unencrypted, you can say yes, because
# it's just a read-only access login :P Once you do that, you shouldn't
# need to do the above anymore.

# Maintainer: Devin Cofer <ranguvar@archlinux.us>
# Contributor: Rudy Matela <rudy.matela@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Zephyr

pkgname=mupen64plus-svn
pkgver=1416
pkgrel=1
pkgdesc="Nintendo64 emulator, SVN version"
arch=('i686' 'x86_64')
url="http://code.google.com/p/mupen64plus/"
license=('GPL2')

makedepends=('subversion' 'pkgconfig' 'libsamplerate' 'yasm' 'mesa')
depends=('gtk2' 'sdl_ttf')
optdepends=('libsamplerate: Higher quality audio')
conflicts=('mupen64plus')
provides=('mupen64plus')
source=('install.patch'
        'fix-gcc4.4-const-char.patch')
md5sums=('f6a3bc6e59d4f2af9db1b3fce257eb43'
         '7bb0182949bf043847ad7ff66097e66f')

_svnuser=mupen64
_svnpass=Dyson5632-kart
_svntrunk=svn://$_svnuser:$_svnpass@fascination.homelinux.net:7684/mupen64plus/trunk
_svnmod=mupen64plus

build() {
	if [ -d $_svnmod/.svn ]; then
		(cd $_svnmod &&\
		svn up --config-dir . -r $pkgver \
		--non-interactive --username $_svnuser --password $_svnpass)
	else
		svn co $_svntrunk --config-dir . -r $pkgver $_svnmod \
		--non-interactive --username $_svnuser --password $_svnpass
	fi
	msg "SVN checkout done or server timeout"

	cp -r $_svnmod $_svnmod-build
	patch -d $_svnmod-build < install.patch || return 1
#	patch -p0 -d $_svnmod-build < fix-gcc4.4-const-char.patch || return 1
	cd $_svnmod-build

	make PREFIX="/usr" LIRC=1 all || return 1
	make PREFIX="$pkgdir/usr" install || return 1

	##### Qt 4 GUI build #####
	#==> Currently broken
	#make PREFIX="/usr" GUI=QT4 all || return 1
	#install -m755 mupen64plus "$pkgdir/usr/bin/mupen64plus-qt"
	#
	#cd "$pkgdir/usr/share/applications"
	#cp mupen64plus.desktop mupen64plus-qt.desktop
	#sed -i "s#Name=Mupen64Plus#Name=Mupen64Plus (Qt)#" mupen64plus-qt.desktop || return 1
	#sed -i "s#Exec=mupen64plus#Exec=mupen64plus-qt#" mupen64plus-qt.desktop || return 1
	##### End Qt 4 GUI build #####

	rm -r "$srcdir/$_svnmod-build"
}