blob: 35b8cc49a2179338dc1bdb452fd30e0611d86808 [file] [log] [blame] [edit]
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
_realname=pybind11
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=2.6.0
pkgrel=2
pkgdesc="A lightweight header-only library that exposes C++ types in Python and vice versa (mingw-w64)"
url='https://pybind11.readthedocs.org/'
license=('BSD')
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
optdepends=("${MINGW_PACKAGE_PREFIX}-python: to target bindings supporting python")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-doxygen"
"${MINGW_PACKAGE_PREFIX}-eigen3"
"${MINGW_PACKAGE_PREFIX}-boost"
"${MINGW_PACKAGE_PREFIX}-python"
"${MINGW_PACKAGE_PREFIX}-python-breathe"
"${MINGW_PACKAGE_PREFIX}-python-setuptools"
"${MINGW_PACKAGE_PREFIX}-python-sphinx"
"${MINGW_PACKAGE_PREFIX}-python-sphinx_rtd_theme"
"${MINGW_PACKAGE_PREFIX}-python-sphinxcontrib-moderncmakedomain"
"${MINGW_PACKAGE_PREFIX}-python-sphinxcontrib-svg2pdfconverter"
"${MINGW_PACKAGE_PREFIX}-python-pytest")
checkdepends=("${MINGW_PACKAGE_PREFIX}-python-pytest")
source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/pybind/pybind11/archive/v${pkgver}.tar.gz"
01-mingw-python.patch)
sha256sums=('90b705137b69ee3b5fc655eaca66d0dc9862ea1759226f7ccd3098425ae69571'
'af43a5bcb89bc1b07e0bb4b23213f526d4c775fe3570b03333ed3d191ce7e031')
prepare() {
cd ${srcdir}/${_realname}-${pkgver}
patch -p1 -i ${srcdir}/01-mingw-python.patch
}
build () {
cd "${srcdir}/${_realname}-${pkgver}"
${MINGW_PREFIX}/bin/python setup.py build
cd "${srcdir}/${_realname}-${pkgver}/build"
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake \
-G"MSYS Makefiles" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DCMAKE_BUILD_TYPE=Release \
-DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/python \
..
make mock_install
cd "${srcdir}/${_realname}-${pkgver}/docs"
make man
}
package() {
local _pythonver
_pythonver="$(${MINGW_PREFIX}/bin/python --version | awk '{ print $2 }' | grep -o '^[0-9]*\.[0-9]*')"
cd "${srcdir}/${_realname}-${pkgver}/build"
make install DESTDIR="$pkgdir"
# python modules
cd "${srcdir}/${_realname}-${pkgver}"
MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \
${MINGW_PREFIX}/bin/python setup.py install_lib --install-dir="${pkgdir}${MINGW_PREFIX}/lib/python${_pythonver}/site-packages" --optimize='1'
# C++ headers
#cd "${srcdir}/${_realname}-${pkgver}"
#MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \
#${MINGW_PREFIX}/bin/python setup.py install_headers --install-dir="${pkgdir}${MINGW_PREFIX}/include/${_realname}"
# cmake files
mkdir -p "${pkgdir}${MINGW_PREFIX}/share/cmake/${_realname}"
cd build/mock_install/share/cmake/pybind11
install -m644 *.cmake "${pkgdir}${MINGW_PREFIX}/share/cmake/${_realname}"
# manpage
cd "${srcdir}/${_realname}-${pkgver}/docs/.build/man"
install -D -m644 "${_realname}.1" -t "${pkgdir}${MINGW_PREFIX}/share/man/man1"
# license
install -D -m644 ${srcdir}/${_realname}-${pkgver}/LICENSE -t "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}"
}