| # Maintainer: Saul Ibarra Corretge <saghul@gmail.com> |
| # Contributor: Alexey Pavlov <alexpux@gmail.com> |
| # Contributor: Mehdi Chinoune <mehdi.chinoune@hotmail.com> |
| |
| _realname=sip |
| pkgbase=mingw-w64-${_realname}4 |
| pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}4" "${MINGW_PACKAGE_PREFIX}-python-${_realname}4") |
| pkgver=4.19.25 |
| pkgrel=1 |
| pkgdesc="Tool to create Python bindings for C and C++ libraries (mingw-w64)" |
| arch=('any') |
| mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') |
| license=('GPL') |
| url="https://riverbankcomputing.com/software/sip" |
| makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" |
| "${MINGW_PACKAGE_PREFIX}-python") |
| source=(#"https://downloads.sourceforge.net/project/pyqt/${_realname}/${_realname}-${pkgver}/${_realname}-${pkgver}.tar.gz" |
| https://www.riverbankcomputing.com/static/Downloads/sip/${pkgver}/sip-${pkgver}.tar.gz |
| "0001-mingw-python.patch" |
| "0002-add-exe-in-sipconfig.patch") |
| sha256sums=('b39d93e937647807bac23579edbff25fe46d16213f708370072574ab1f1b4211' |
| '2e3400c7467faca17b6efaae2e2420b0a253df9070b1ed0adcafcc10f9499a8d' |
| '37b3c0b5da1731e1fb7044cd4af5e4ac81ee3f12f4b8a3a4584f3081441a4d31') |
| |
| prepare() { |
| cd "${srcdir}"/${_realname}-${pkgver} |
| |
| # Apply patches |
| patch -p1 -i "${srcdir}"/0001-mingw-python.patch |
| patch -p1 -i "${srcdir}"/0002-add-exe-in-sipconfig.patch |
| } |
| |
| build() { |
| [[ -d python-${MINGW_CHOST} ]] && rm -rf python-${MINGW_CHOST} |
| cp -r ${_realname}-${pkgver} python-${MINGW_CHOST} |
| pushd python-${MINGW_CHOST} |
| ${MINGW_PREFIX}/bin/python configure.py \ |
| --sip-module PyQt5.sip CFLAGS="${CFLAGS}" LFLAGS="${LDFLAGS}" |
| make |
| popd |
| } |
| |
| package_sip4() { |
| pkgdesc="A tool that makes it easy to create Python bindings for C and C++ libraries (mingw-w64)" |
| depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") |
| |
| cd "${srcdir}"/python-${MINGW_CHOST} |
| make DESTDIR="${pkgdir}" install -C sipgen |
| |
| install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}4/LICENSE" |
| } |
| |
| package_python-sip4() { |
| pkgdesc="Python 3.x SIP bindings for C and C++ libraries (mingw-w64)" |
| depends=("${MINGW_PACKAGE_PREFIX}-sip4" "${MINGW_PACKAGE_PREFIX}-python") |
| provides=("${MINGW_PACKAGE_PREFIX}-python3-sip4=${pkgver}") |
| conflicts=("${MINGW_PACKAGE_PREFIX}-python3-sip") |
| replaces=("${MINGW_PACKAGE_PREFIX}-python3-sip") |
| |
| cd python-${MINGW_CHOST} |
| make DESTDIR="${pkgdir}" install -C siplib |
| |
| local _py3basever=$(${MINGW_PREFIX}/bin/python3 -c "import sys;sys.stdout.write('.'.join(map(str, sys.version_info[:2])))") |
| |
| sed -e "s|[\'\"]${MINGW_PREFIX}|sys.prefix \+ \'|g" -i sipconfig.py |
| install -Dm644 sipconfig.py "${pkgdir}${MINGW_PREFIX}"/lib/python${_py3basever}/site-packages/sipconfig.py |
| install -Dm644 sipdistutils.py "${pkgdir}${MINGW_PREFIX}"/lib/python${_py3basever}/site-packages/sipdistutils.py |
| |
| install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/python3-sip4/LICENSE" |
| } |
| |
| # template start; name=mingw-w64-splitpkg-wrappers; version=1.0; |
| # vim: set ft=bash : |
| |
| # generate wrappers |
| for _name in "${pkgname[@]}"; do |
| _short="package_${_name#${MINGW_PACKAGE_PREFIX}-}" |
| _func="$(declare -f "${_short}")" |
| eval "${_func/#${_short}/package_${_name}}" |
| done |
| # template end; |