# $Id: PKGBUILD 96121 2013-08-20 06:32:55Z lcarlier $
# Maintainer: Felix Yan <felixonmars@gmail.com>
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>

pkgbase=python-pycuda
pkgname=('python-pycuda' 'python2-pycuda' 'pycuda-headers')
pkgver=2013.1.1
pkgrel=2
pkgdesc="Python wrapper for Nvidia CUDA"
arch=('x86_64')
url="http://mathema.tician.de/software/pycuda"
license=('MIT' 'Apache')
source=("http://pypi.python.org/packages/source/p/pycuda/pycuda-${pkgver}.tar.gz"
        LICENSE)
makedepends=('ctags' 'python2-setuptools' 'python-setuptools' 'python2-numpy' 'python-numpy' 'mesa' 'cuda' 'boost>=1.53.0' 'nvidia-utils')

build() {
   cd "${srcdir}"
  
   _arch=''
   [ "$CARCH" = "x86_64" ] && _arch='64'

   cp -a pycuda-${pkgver}{,-python2}
  
   cd "${srcdir}"/pycuda-${pkgver}
   python3 ./configure.py \
                  --cuda-root=/opt/cuda \
                  --cuda-inc-dir=/opt/cuda/include \
                  --cudadrv-lib-dir=/opt/cuda/lib${_arch} \
                  --cudart-lib-dir=/opt/cuda/lib${_arch} \
                  --no-use-shipped-boost \
                  --boost-python-libname=boost_python3
   make

   cd "${srcdir}"/pycuda-${pkgver}-python2
   python2 ./configure.py \
                  --cuda-root=/opt/cuda \
                  --cuda-inc-dir=/opt/cuda/include \
                  --cudadrv-lib-dir=/opt/cuda/lib${_arch} \
                  --cudart-lib-dir=/opt/cuda/lib${_arch} \
                  --no-use-shipped-boost \
		  --boost-python-libname=boost_python
   make
}

package_python-pycuda() {
   depends=('cuda' 'nvidia-utils' 'python-numpy' 'python-pytools' 'python' 'boost-libs' 'pycuda-headers')
   cd "${srcdir}"/pycuda-${pkgver}
   python3 setup.py install --prefix=/usr --root="${pkgdir}" --skip-build --optimize=1

   install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

   rm -fr "${pkgdir}"/usr/include
}

package_python2-pycuda() {
   depends=('cuda' 'nvidia-utils' 'python2-numpy' 'python2-pytools' 'python2' 'boost-libs' 'pycuda-headers')
   cd "${srcdir}"/pycuda-${pkgver}-python2
   python2 setup.py install --prefix=/usr --root="${pkgdir}" --skip-build --optimize=1

   install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

   rm -fr "${pkgdir}"/usr/include   
}

package_pycuda-headers() {
   cd "${srcdir}"/pycuda-${pkgver}
   install -dm755 "${pkgdir}"/usr/include/pycuda

   for file in $(ls -1 src/cpp/*.hpp); do
      install -m644 ${file} "${pkgdir}"/usr/include/pycuda
   done

   install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}

sha512sums=('7a7e95fcd4f76d10234558021064cc299e6d93ab9a428c9560e5a8a73b13304ba9ccc3c103674a25effdc01a14aac21981a62de881a9c990ad16d7689b75e502'
            'ee0bef251b8b2c25cd5821932d506183655c04285ae7d01d12f86557812c5068568e9f38e9f6bffe28de870ec662ebe0ee9cce2b444883caaf66b4c877494130')
