# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
# Maintainer: Antonio Rojas <arojas@archlinux.org>
# Maintainer: Felix Yan <felixonmars@archlinux.org>

pkgbase=shiboken2
pkgname=(shiboken2 python-shiboken2)
_qtver=5.15.2.1
_clangver=13.0.1
pkgver=${_qtver/-/}
pkgrel=2
arch=(x86_64 powerpc64le powerpc riscv64)
url='https://www.qt.io'
license=(GPL2 LGPL)
pkgdesc='Generates bindings for C++ libraries using CPython source code'
makedepends=(clang llvm cmake libxslt qt5-xmlpatterns python-sphinx python-wheel)
_pkgfqn=pyside-setup-opensource-src-$_qtver
source=(https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-$pkgver-src/${_pkgfqn}.tar.gz
        python310.patch)
sha256sums=('91e78e4e3b31ebb0053c2e4f1029703e578615695450c0dd03072248d713b391'
            '20da52cf2a17da606a2d3aa82eb5ff3ccdb2367b7415289e1e33ac071a73d35b')

build() {
  cmake -B build -S ${_pkgfqn%.*}/sources/shiboken2 \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DBUILD_TESTS=OFF \
    -DUSE_PYTHON_VERSION=3
  cmake --build build
}

prepare() {
  patch -d ${_pkgfqn%.*} -p1 -i ../python310.patch # Fix build with Python 3.10
}

package_shiboken2() {
  depends=(clang=$_clangver llvm libxslt qt5-xmlpatterns)

  DESTDIR="$pkgdir" cmake --install build
# Provided in python-shiboken2
  rm -r "$pkgdir"/usr/lib/{python*,libshiboken*}
# Conflicts with shiboken6 and doesn't work anyway
  rm "$pkgdir"/usr/bin/shiboken_tool.py
}

package_python-shiboken2() {
  depends=(python)

  DESTDIR="$pkgdir" cmake --install build
# Provided in shiboken2
  rm -r "$pkgdir"/usr/{bin,include,lib/{cmake,pkgconfig}}

# Install egg-info
  cd ${_pkgfqn%.*}
  python setup.py egg_info --build-type=shiboken2
  _pythonpath=`python -c "from sysconfig import get_path; print(get_path('platlib'))"`
  cp -r shiboken2.egg-info "$pkgdir"/$_pythonpath
}
