pkgname=mingw-w64-python38-bin pkgver=3.8.1 _pybasever=38 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=('181086bf24331b6e50b3975e89daf56d75ac9148a46ca5f08b941f35beec22ea' 'd86fe36e65960205cd33d8146d84eb8cb7915528c457cce9194a9aeb3052b20b' 'c7cfa39a43b994621b245e029769e9126caa2a93571cee2e743b213cceac35fb' 'SKIP') _architectures="i686-w64-mingw32 x86_64-w64-mingw32" prepare () { cd "${srcdir}/Python-${pkgver}" # https://bugs.python.org/issue36020 sed -i 's|#if defined(MS_WIN32) \&\& !defined(HAVE_SNPRINTF)|#if defined(_MSC_VER) \&\& !defined(HAVE_SNPRINTF)|g' Include/pyerrors.h } 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 ${_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 pushd "$pkgdir"/usr/${_arch}/bin/ ${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll done }