# Maintainer: Lev Velykoivanenko # Contributor: Adam Gradzki (previous maintainer) # Contributor: Flávio Zavan # Contributor: pingplug # Contributor: perlawk # Contributor: xsmile # Contributor: p00h pkgname=('python-dlib-cuda' 'python2-dlib-cuda') _pkgname='dlib' pkgver=19.15 pkgrel=1 pkgdesc="Dlib is a general purpose cross-platform C++ library designed using contract programming and modern C++ techniques." arch=('x86_64') url="http://www.dlib.net/" license=('Boost') depends=('cuda' 'cudnn' 'libx11') makedepends=('cmake' 'cuda' 'cudnn' 'libx11' 'python' 'python2') optdepends=('cblas: for BLAS support' 'giflib: for GIF support' 'lapack: for LAPACK support' 'libjpeg-turbo: for JPEG support' 'libpng: for PNG support' 'neon: for neon support' 'sqlite: for sqlite support') source=("http://dlib.net/files/${_pkgname}-${pkgver}.tar.bz2") sha256sums=('5340eeaaea7dd6d93d55e7a7d2fdb1f854a77b75f66049354db53671a202c11d') # Detecting whether certain cpu optimisations can be made _avx_available=() if grep -q avx /proc/cpuinfo; then _avx_available=( '--yes' 'USE_AVX_INSTRUCTIONS' ) fi _sse2_available=() if grep -q sse2 /proc/cpuinfo; then _sse2_available=( '--yes' 'USE_SSE2_INSTRUCTIONS' ) fi _sse4_available=() if grep -q sse4 /proc/cpuinfo; then _sse4_available=( '--yes' 'USE_SSE4_INSTRUCTIONS' ) fi build() { cd "${srcdir}/${_pkgname}-${pkgver}" # Preparing array of variables setting the compiler for CUDA and optionally # ccache support. # Code based on the dlib package found in the AUR. # To enable ccache support you need to install the following package: # https://github.com/pingplug/PKGBUILDs/tree/master/others/ccache-ext _compiler_vars=( '--set' 'CUDA_HOST_COMPILER=/opt/cuda/bin/gcc' ) if [[ -f "/usr/lib/ccache/bin/nvcc-ccache" ]]; then _compiler_vars+=( '--set' 'CUDA_NVCC_EXECUTABLE=/usr/lib/ccache/bin/nvcc-ccache' ) _compiler_vars+=( '--set' 'CUDA_HOST_COMPILER=/usr/lib/ccache/bin/gcc-7' ) fi # Compiling for Python 3 python setup.py build "${_avx_available[@]}" \ "${_sse2_available[@]}" \ "${_sse4_available[@]}" \ "${_compiler_vars[@]}" # Compiling for Python 2 python2 setup.py build "${_avx_available[@]}" \ "${_sse2_available[@]}" \ "${_sse4_available[@]}" \ "${_compiler_vars[@]}" } package_python-dlib-cuda() { depends=('python' 'cuda' 'cudnn' 'libx11') provides=('python-dlib') conflicts=('python-dlib') cd "${srcdir}/${_pkgname}-${pkgver}" python setup.py install --skip-build --prefix=/usr --root="${pkgdir}" --optimize=1 } package_python2-dlib-cuda() { depends=('python2' 'cuda' 'cudnn' 'libx11') provides=('python2-dlib') conflicts=('python2-dlib') cd "${srcdir}/${_pkgname}-${pkgver}" python2 setup.py install --skip-build --prefix=/usr --root="${pkgdir}" --optimize=1 }