pkgname=mingw-w64-python39-bin pkgver=3.9.13 _pybasever=39 pkgrel=1 pkgdesc="Next generation of the python high-level scripting language (native MSVC version) (mingw-w64)" arch=('any') license=('PSF') url="http://www.python.org/" depends=('mingw-w64-openssl') optdepends=('mingw-w64-wine: runtime support') makedepends=('mingw-w64-tools' 'mingw-w64-binutils') options=('staticlibs' '!buildflags' '!strip') source=("https://www.python.org/ftp/python/${pkgver}/python-${pkgver}-embed-win32.zip" "https://www.python.org/ftp/python/${pkgver}/python-${pkgver}-embed-amd64.zip" "https://www.python.org/ftp/python/${pkgver}/Python-${pkgver}.tgz" wine-python.sh) noextract=("python-${pkgver}-embed-win32.zip" "python-${pkgver}-embed-amd64.zip") sha256sums=('f8ed5e019d7bc6dba1d7dfa5d59052b5241c37e8eaa5293133c898ac7acedb98' '938a1f3b80d580320836260612084d74ce094a261e36f9ff3ac7b9463df5f5e4' '829b0d26072a44689a6b0810f5b4a3933ee2a0b8a4bfc99d7c5893ffd4f97c44' 'a76a4715e87d3ed4aca6babc8715de8de94513dae4c683c1681551c43698b5ae') _architectures="i686-w64-mingw32 x86_64-w64-mingw32" prepare () { cd "${srcdir}/Python-${pkgver}" } build() { cd "${srcdir}/Python-${pkgver}" for _arch in ${_architectures}; do target="win32" if test "${_arch}" = x86_64-w64-mingw32 then target="amd64" fi mkdir -p "build-${_arch}" && pushd "build-${_arch}" bsdtar -xf "${srcdir}"/python-${pkgver}-embed-${target}.zip gendef python${_pybasever}.dll sed -i "s|PyEval_InitThreads@0|PyEval_InitThreads|g" python${_pybasever}.def ${_arch}-dlltool --dllname python${_pybasever}.dll --def python${_pybasever}.def --output-lib libpython${_pybasever}.dll.a sed "s|@TRIPLE@|${_arch}|g;s|@PYVER@|${_pybasever}|g" "${srcdir}"/wine-python.sh > ${_arch}-python${_pybasever}-bin popd done } package() { for _arch in ${_architectures}; do cd "${srcdir}/Python-${pkgver}/build-${_arch}" install -d "$pkgdir"/usr/${_arch}/lib install -m644 libpython${_pybasever}*.a "$pkgdir"/usr/${_arch}/lib install -d "$pkgdir"/usr/${_arch}/bin install -d "$pkgdir"/usr/${_arch}/include/python${_pybasever} cp -r ../Include/* "$pkgdir"/usr/${_arch}/include/python${_pybasever} install -m644 ../PC/pyconfig.h "$pkgdir"/usr/${_arch}/include/python${_pybasever} install -m755 python${_pybasever}.dll "$pkgdir"/usr/${_arch}/bin install -d "$pkgdir"/usr/${_arch}/lib/python${_pybasever} install -m644 *.pyd "$pkgdir"/usr/${_arch}/lib/python${_pybasever} install -m755 python.exe "$pkgdir"/usr/${_arch}/bin/python${_pybasever}.exe install -m644 python${_pybasever}.zip "$pkgdir"/usr/${_arch}/bin/ install -d "$pkgdir"/usr/bin install -m755 ${_arch}-python${_pybasever}-bin "$pkgdir"/usr/bin ${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll done }