# Maintainer: mmm
# Contributer: jellysheep
pkgname=gpuocelot-svn
pkgver=2.1.2210
pkgrel=3
pkgdesc="Ocelot emulation allows CUDA programs to be executed on NVIDIA/AMD GPUs and x86-CPUs at full speed
without recompilation"
arch=('i686' 'x86_64')
url="https://code.google.com/p/gpuocelot/"
license=('BSD')
depends=('cuda' 'boost' 'llvm' 'glew')
makedepends=('gcc>=4.5' 'svn' 'scons' 'flex' 'bison' 'mesa' 'python2')
provides=('gpuocelot')
source=('lib_mt_fix.patch' 'ptxgrammar_fix.patch')
md5sums=('93247cceb967ace49d6756922ec2f543'
'e26c4304a60f1cba3efb7fd3df51e07f')
build()
{
cd $srcdir
msg "Connecting to $pkgname SVN server..."
mkdir -p $pkgname
cd $pkgname
if [[ -d .svn ]]; then
svn cleanup && svn up
else svn checkout http://gpuocelot.googlecode.com/svn/trunk/ocelot . || return 1
fi
msg "SVN checkout done"
msg "Downloading llvm-svn header files..."
cd $srcdir
svn checkout http://llvm.org/svn/llvm-project/llvm/trunk/include/ $pkgname/.release_build/ocelot/
msg "Done."
cd $pkgname
msg "Starting make..."
patch -p0 < $srcdir/lib_mt_fix.patch
python2 build.py --install -p$srcdir/build || (
msg "resolving error in ptxgrammar.hpp and trying again..."
patch -p0 < $srcdir/ptxgrammar_fix.patch
python2 build.py --install -p$srcdir/build
)
}
package()
{
mv $srcdir/build/* $pkgdir/
rm -r $srcdir/build
}