# Maintainer : Daniel Bermond <dbermond@archlinux.org>
# Maintainer : Santiago Torres-Arias <santiago@archlinux.org>
# Contributor: Matthew Ellison <matt+aur@arroyonetworks.com>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - disable lto via -DPYBIND11_LTO_CXX_FLAGS=""

pkgname=pybind11
pkgver=2.4.3
pkgrel=3
pkgdesc='A lightweight header-only library that exposes C++ types in Python and vice versa'
arch=('any')
url='https://pybind11.readthedocs.org/'
license=('BSD')
optdepends=('python: for python bindings')
makedepends=('cmake' 'boost' 'eigen' 'python' 'python-setuptools' 'python-pytest'
             'python-sphinx' 'python-sphinx_rtd_theme' 'python-breathe')
checkdepends=('python-py' 'python-pluggy' 'python-hypothesis' 'python-numpy' 'python-scipy')
source=("${pkgname}-${pkgver}.tar.gz"::"https://github.com/pybind/pybind11/archive/v${pkgver}.tar.gz")
sha256sums=('1eed57bc6863190e35637290f97a20c81cfe4d9090ac0a24f3bbf08f265eb71d')

prepare() {
    mkdir -p "${pkgname}-${pkgver}/build-cmake"
}

build () {
    # python modules
    cd "${pkgname}-${pkgver}"
    python setup.py build
    
    # cmake files and tests
    cd build-cmake
    cmake -DCMAKE_INSTALL_PREFIX:PATH='/usr' -DPYBIND11_LTO_CXX_FLAGS="" -Wno-dev ..
    make all mock_install
    
    # manpage
    make -C "${srcdir}/${pkgname}-${pkgver}/docs" man
}

check() {
    make -C "${pkgname}-${pkgver}/build-cmake" check
}

package() {
    cd "${pkgname}-${pkgver}"
    
    # python modules
    python setup.py install --root="$pkgdir" --install-headers='/usr/include/pybind11' --skip-build --optimize='1'
    
    # cmake files
    mkdir -p "${pkgdir}/usr/share/cmake/${pkgname}"
    install -m644 build-cmake/mock_install/share/cmake/pybind11/*.cmake -t "${pkgdir}/usr/share/cmake/${pkgname}"
    
    # man page
    install -D -m644 "docs/.build/man/${pkgname}.1" "${pkgdir}/usr/share/man/man7/${pkgname}.7"
    sed -i '/^\.TH/s/"1"/"7"/' "${pkgdir}/usr/share/man/man7/${pkgname}.7"
    
    # license
    install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}