# $Id: PKGBUILD 144619 2015-10-21 21:56:55Z foutrelis $
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>

pkgbase=python-pycuda
pkgname=('python-pycuda' 'python2-pycuda' 'pycuda-headers')
pkgver=2015.1.3
pkgrel=4
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' 'nvidia-utils')
sha512sums=('7730738024c1db49097bdf59f8cdcf98cbd14e8d143b31d023e0b83f720270df3010d756fe52ee430d19fd2850b120d137617e2e9b4462b45e9dffd9e107eedb'
            'ee0bef251b8b2c25cd5821932d506183655c04285ae7d01d12f86557812c5068568e9f38e9f6bffe28de870ec662ebe0ee9cce2b444883caaf66b4c877494130')

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"
}
