| # Maintainer: Alexey Pavlov <alexpux@gmail.com> |
| # Maintainer: Ray Donnelly <mingw.android@gmail.com> |
| # Contributor: Saul Ibarra Corretge <saghul@gmail.com> |
| # Contributor: Frode Solheim <frode@fs-uae.net> |
| |
| # TODO :: subprocess.Popen .. specifically list2cmdline in subprocess.py |
| # needs a fix so it can handle running MSYS2 executables better. |
| # Arguments should not be quoted in the Windows fashion as-per: |
| # http://www.daviddeley.com/autohotkey/parameters/parameters.htm |
| # but instead how Cygwin expects them to be quoted. Checking for |
| # {cygwin,msys-2.0}.dll in the executable is the only way that I |
| # can think to do this at present. |
| # Any double quoted string will cause problems, e.g. |
| # -DGNOMELOCALEDIR=\"/mingw64/share/locale\" |
| |
| _primary_python="no" |
| _pybasever=3.9 |
| _realname=python |
| |
| if [[ "${_primary_python}" == "yes" ]]; then |
| pkgbase="mingw-w64-${_realname}" |
| pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") |
| provides=("${MINGW_PACKAGE_PREFIX}-python3=${pkgver}") |
| conflicts=("${MINGW_PACKAGE_PREFIX}-python3" |
| "${MINGW_PACKAGE_PREFIX}-python2<2.7.16-7") |
| replaces=("${MINGW_PACKAGE_PREFIX}-python3") |
| else |
| pkgbase="mingw-w64-${_realname}${_pybasever}" |
| pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}${_pybasever}") |
| fi |
| pkgver=${_pybasever}.6 |
| pkgrel=2 |
| pkgdesc="A high-level scripting language (mingw-w64)" |
| arch=('any') |
| mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') |
| license=('PSF') |
| url="https://www.python.org/" |
| depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" |
| "${MINGW_PACKAGE_PREFIX}-expat" |
| "${MINGW_PACKAGE_PREFIX}-bzip2" |
| "${MINGW_PACKAGE_PREFIX}-libffi" |
| "${MINGW_PACKAGE_PREFIX}-mpdecimal" |
| "${MINGW_PACKAGE_PREFIX}-ncurses" |
| "${MINGW_PACKAGE_PREFIX}-openssl" |
| "${MINGW_PACKAGE_PREFIX}-sqlite3" |
| "${MINGW_PACKAGE_PREFIX}-tcl" |
| "${MINGW_PACKAGE_PREFIX}-tk" |
| "${MINGW_PACKAGE_PREFIX}-zlib" |
| "${MINGW_PACKAGE_PREFIX}-xz") |
| makedepends=( |
| "${MINGW_PACKAGE_PREFIX}-gcc" |
| "${MINGW_PACKAGE_PREFIX}-pkg-config" |
| "autoconf-archive" |
| ) |
| options=('makeflags') # 'debug' '!strip') |
| source=("https://www.python.org/ftp/python/${pkgver%rc?}/Python-${pkgver}.tar.xz" |
| "smoketests.py" |
| 0001-make-_sysconfigdata.py-relocatable.patch |
| 0002-restore-setup-config.patch |
| 0003-MINGW-BASE-use-NT-thread-model.patch |
| 0004-MINGW-translate-gcc-internal-defines-to-python-platf.patch |
| 0005-MINGW-configure-MACHDEP-and-platform-for-build.patch |
| 0006-MINGW-preset-configure-defaults.patch |
| 0007-MINGW-configure-largefile-support-for-windows-builds.patch |
| 0008-MINGW-add-srcdir-PC-to-CPPFLAGS.patch |
| 0009-MINGW-init-system-calls.patch |
| 0010-MINGW-build-in-windows-modules-winreg.patch |
| 0011-MINGW-determine-if-pwdmodule-should-be-used.patch |
| 0012-MINGW-compiler-customize-mingw-cygwin-compilers.patch |
| 0013-MINGW-compiler-enable-new-dtags.patch |
| 0014-issue6672-v2-Add-Mingw-recognition-to-pyport.h-to-al.patch |
| 0015-MINGW-configure-for-shared-build.patch |
| 0016-MINGW-dynamic-loading-support.patch |
| 0017-MINGW-ignore-main-program-for-frozen-scripts.patch |
| 0018-MINGW-setup-_multiprocessing-module.patch |
| 0019-MINGW-setup-select-module.patch |
| 0020-MINGW-setup-_ctypes-module-with-system-libffi.patch |
| 0021-MINGW-defect-winsock2-and-setup-_socket-module.patch |
| 0022-MINGW-exclude-unix-only-modules.patch |
| 0023-MINGW-setup-msvcrt-and-_winapi-modules.patch |
| 0024-MINGW-build-extensions-with-GCC.patch |
| 0025-MINGW-use-Mingw32CCompiler-as-default-compiler-for-m.patch |
| 0026-MINGW-find-import-library.patch |
| 0027-MINGW-setup-_ssl-module.patch |
| 0028-MINGW-generalization-of-posix-build-in-sysconfig.py.patch |
| 0029-MINGW-support-stdcall-without-underscore.patch |
| 0030-use-replace-instead-rename-to-avoid-failure-on-windo.patch |
| 0031-MINGW-avoid-circular-dependency-from-time-module-dur.patch |
| 0032-MINGW-generalization-of-posix-build-in-distutils-sys.patch |
| 0033-MINGW-customize-site.patch |
| 0034-add-python-config-sh.patch |
| 0035-cross-darwin-feature.patch |
| 0036-py3k-mingw-ntthreads-vs-pthreads.patch |
| 0037-mingw-system-libffi.patch |
| 0038-msys-mingw-prefer-unix-sep-if-MSYSTEM.patch |
| 0039-mingw-use-posix-getpath.patch |
| 0040-mingw-add-ModuleFileName-dir-to-PATH.patch |
| 0041-mingw-add-BUILDIN_WIN32_MODULEs-time-msvcrt.patch |
| 0042-msys-cygwin-semi-native-build-sysconfig.patch |
| 0043-mingw-sysconfig-like-posix.patch |
| 0044-mingw-_winapi_as_builtin_for_Popen_in_cygwinccompile.patch |
| 0045-cross-dont-add-multiarch-paths-if-cross-compiling.patch |
| 0046-mingw-use-backslashes-in-compileall-py.patch |
| 0047-msys-convert_path-fix-and-root-hack.patch |
| 0048-allow-static-tcltk.patch |
| 0049-mingw-pdcurses_ISPAD.patch |
| 0050-grammar-fixes.patch |
| 0051-builddir-fixes.patch |
| 0052-msys-monkeypatch-os-system-via-sh-exe.patch |
| 0053-msys-replace-slashes-used-in-io-redirection.patch |
| 0054-mingw-install-layout-as-posix.patch |
| 0055-remove_path_max.default.patch |
| 0056-dont-link-with-gettext.patch |
| 0057-ctypes-python-dll.patch |
| 0058-gdbm-module-includes.patch |
| 0059-use-gnu_printf-in-format.patch |
| 0060-mingw-fix-ssl-dont-use-enum_certificates.patch |
| 0061-mingw-build-optimized-ext.patch |
| 0062-cygwinccompiler-dont-strip-modules-if-pydebug.patch |
| 0063-fix-using-dllhandle-and-winver-mingw.patch |
| 0064-mingw-add-LIBPL-to-library-dirs.patch |
| 0065-Add-AMD64-to-sys-config-so-msvccompiler-get_build_ve.patch |
| 0066-MINGW-link-with-additional-library.patch |
| 0067-install-msilib.patch |
| 0068-dont-include-system-ncurses-path.patch |
| 0069-fix-signal-module-build.patch |
| 0070-build-winconsoleio.patch |
| 0071-expose-sem_unlink.patch |
| 0072-cygpty-isatty.patch |
| 0073-disable-broken-gdbm-module.patch |
| 0074-link-win-resource-files-and-build-pythonw.patch |
| 0075-3.7-mpdec-mingw.patch |
| 0076-disable-readline.patch |
| 0077-fix-isselectable.patch |
| 0078-use-_wcsnicmp-instead-wcsncasecmp.patch |
| 0079-_xxsubinterpretersmodule.patch |
| 0080-sqlite3-module-defines.patch |
| 0081-configure-have-inet-pton.patch |
| 0082-fix-msvc9-import.patch |
| 0083-set-venv-activate-path-unix.patch |
| 0084-venv-creation-fixes.patch |
| 0085-pass-gen-profile-ldflags.patch |
| 0086-distutils-add-windmc-to-cygwinccompiler.patch |
| 0087-pkg-config-windows-must-link-ext-with-python-lib.patch |
| 0088-importlib-bootstrap-path-sep.patch |
| 0089-pathlib-path-sep.patch |
| 0090-warnings-fixes.patch |
| 0091-fix-build-testinternalcapi.patch |
| 0092-extend-MS_WINDOWS-flag.patch |
| 0093-clang-arm64.patch |
| 0094-MINGW-stack-reserve.patch |
| 0095-Add-support-for-Windows-7-Python-3.9.patch |
| 0097-Don-t-use-os.pathsep-to-find-EOF.patch |
| 0098-Fix-extension-suffix-for-c-extensions-on-mingw.patch |
| 0099-Change-the-get_platform-method-in-sysconfig-and-dist.patch) |
| |
| # Helper macros to help make tasks easier # |
| apply_patch_with_msg() { |
| for _patch in "$@" |
| do |
| msg2 "Applying ${_patch}" |
| patch -Nbp1 -i "${srcdir}/${_patch}" |
| done |
| } |
| |
| prepare() { |
| cd "${srcdir}/Python-${pkgver}" |
| |
| apply_patch_with_msg 0001-make-_sysconfigdata.py-relocatable.patch \ |
| 0002-restore-setup-config.patch \ |
| 0003-MINGW-BASE-use-NT-thread-model.patch \ |
| 0004-MINGW-translate-gcc-internal-defines-to-python-platf.patch \ |
| 0005-MINGW-configure-MACHDEP-and-platform-for-build.patch \ |
| 0006-MINGW-preset-configure-defaults.patch \ |
| 0007-MINGW-configure-largefile-support-for-windows-builds.patch \ |
| 0008-MINGW-add-srcdir-PC-to-CPPFLAGS.patch \ |
| 0009-MINGW-init-system-calls.patch \ |
| 0010-MINGW-build-in-windows-modules-winreg.patch \ |
| 0011-MINGW-determine-if-pwdmodule-should-be-used.patch \ |
| 0012-MINGW-compiler-customize-mingw-cygwin-compilers.patch \ |
| 0013-MINGW-compiler-enable-new-dtags.patch \ |
| 0014-issue6672-v2-Add-Mingw-recognition-to-pyport.h-to-al.patch \ |
| 0015-MINGW-configure-for-shared-build.patch \ |
| 0016-MINGW-dynamic-loading-support.patch \ |
| 0017-MINGW-ignore-main-program-for-frozen-scripts.patch \ |
| 0018-MINGW-setup-_multiprocessing-module.patch \ |
| 0019-MINGW-setup-select-module.patch \ |
| 0020-MINGW-setup-_ctypes-module-with-system-libffi.patch \ |
| 0021-MINGW-defect-winsock2-and-setup-_socket-module.patch \ |
| 0022-MINGW-exclude-unix-only-modules.patch \ |
| 0023-MINGW-setup-msvcrt-and-_winapi-modules.patch \ |
| 0024-MINGW-build-extensions-with-GCC.patch \ |
| 0025-MINGW-use-Mingw32CCompiler-as-default-compiler-for-m.patch \ |
| 0026-MINGW-find-import-library.patch \ |
| 0027-MINGW-setup-_ssl-module.patch \ |
| 0028-MINGW-generalization-of-posix-build-in-sysconfig.py.patch \ |
| 0029-MINGW-support-stdcall-without-underscore.patch \ |
| 0030-use-replace-instead-rename-to-avoid-failure-on-windo.patch \ |
| 0031-MINGW-avoid-circular-dependency-from-time-module-dur.patch \ |
| 0032-MINGW-generalization-of-posix-build-in-distutils-sys.patch \ |
| 0033-MINGW-customize-site.patch \ |
| 0034-add-python-config-sh.patch \ |
| 0035-cross-darwin-feature.patch \ |
| 0036-py3k-mingw-ntthreads-vs-pthreads.patch \ |
| 0037-mingw-system-libffi.patch \ |
| 0038-msys-mingw-prefer-unix-sep-if-MSYSTEM.patch \ |
| 0039-mingw-use-posix-getpath.patch \ |
| 0040-mingw-add-ModuleFileName-dir-to-PATH.patch \ |
| 0041-mingw-add-BUILDIN_WIN32_MODULEs-time-msvcrt.patch \ |
| 0042-msys-cygwin-semi-native-build-sysconfig.patch \ |
| 0043-mingw-sysconfig-like-posix.patch \ |
| 0044-mingw-_winapi_as_builtin_for_Popen_in_cygwinccompile.patch \ |
| 0045-cross-dont-add-multiarch-paths-if-cross-compiling.patch \ |
| 0046-mingw-use-backslashes-in-compileall-py.patch \ |
| 0047-msys-convert_path-fix-and-root-hack.patch \ |
| 0048-allow-static-tcltk.patch \ |
| 0049-mingw-pdcurses_ISPAD.patch \ |
| 0050-grammar-fixes.patch \ |
| 0051-builddir-fixes.patch \ |
| 0052-msys-monkeypatch-os-system-via-sh-exe.patch \ |
| 0053-msys-replace-slashes-used-in-io-redirection.patch \ |
| 0054-mingw-install-layout-as-posix.patch \ |
| 0055-remove_path_max.default.patch \ |
| 0056-dont-link-with-gettext.patch \ |
| 0057-ctypes-python-dll.patch \ |
| 0058-gdbm-module-includes.patch \ |
| 0059-use-gnu_printf-in-format.patch \ |
| 0060-mingw-fix-ssl-dont-use-enum_certificates.patch \ |
| 0061-mingw-build-optimized-ext.patch \ |
| 0062-cygwinccompiler-dont-strip-modules-if-pydebug.patch \ |
| 0063-fix-using-dllhandle-and-winver-mingw.patch \ |
| 0064-mingw-add-LIBPL-to-library-dirs.patch \ |
| 0065-Add-AMD64-to-sys-config-so-msvccompiler-get_build_ve.patch \ |
| 0066-MINGW-link-with-additional-library.patch \ |
| 0067-install-msilib.patch \ |
| 0068-dont-include-system-ncurses-path.patch \ |
| 0069-fix-signal-module-build.patch \ |
| 0070-build-winconsoleio.patch \ |
| 0071-expose-sem_unlink.patch \ |
| 0072-cygpty-isatty.patch \ |
| 0073-disable-broken-gdbm-module.patch \ |
| 0074-link-win-resource-files-and-build-pythonw.patch \ |
| 0075-3.7-mpdec-mingw.patch \ |
| 0076-disable-readline.patch \ |
| 0077-fix-isselectable.patch \ |
| 0078-use-_wcsnicmp-instead-wcsncasecmp.patch \ |
| 0079-_xxsubinterpretersmodule.patch \ |
| 0080-sqlite3-module-defines.patch \ |
| 0081-configure-have-inet-pton.patch \ |
| 0082-fix-msvc9-import.patch \ |
| 0083-set-venv-activate-path-unix.patch \ |
| 0084-venv-creation-fixes.patch \ |
| 0085-pass-gen-profile-ldflags.patch \ |
| 0086-distutils-add-windmc-to-cygwinccompiler.patch \ |
| 0087-pkg-config-windows-must-link-ext-with-python-lib.patch \ |
| 0088-importlib-bootstrap-path-sep.patch \ |
| 0089-pathlib-path-sep.patch \ |
| 0090-warnings-fixes.patch \ |
| 0091-fix-build-testinternalcapi.patch \ |
| 0092-extend-MS_WINDOWS-flag.patch \ |
| 0093-clang-arm64.patch \ |
| 0094-MINGW-stack-reserve.patch \ |
| 0095-Add-support-for-Windows-7-Python-3.9.patch \ |
| 0097-Don-t-use-os.pathsep-to-find-EOF.patch \ |
| 0098-Fix-extension-suffix-for-c-extensions-on-mingw.patch \ |
| 0099-Change-the-get_platform-method-in-sysconfig-and-dist.patch |
| |
| autoreconf -vfi |
| } |
| |
| check() { |
| cd "${srcdir}/build-${CARCH}" |
| |
| # Some basic tests to ensure nothing major or MSYS2 specific features are |
| # broken |
| ./python.exe "${srcdir}/smoketests.py" |
| MSYSTEM= ./python.exe "${srcdir}/smoketests.py" |
| |
| # make test EXTRATESTOPTS="-v" |
| } |
| |
| build() { |
| local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX}) |
| |
| CFLAGS+=" -fwrapv -D__USE_MINGW_ANSI_STDIO=1 -D_WIN32_WINNT=0x0601" |
| CXXFLAGS+=" -fwrapv -D__USE_MINGW_ANSI_STDIO=1 -D_WIN32_WINNT=0x0601" |
| CPPFLAGS+=" -I${PREFIX_WIN}/include/ncurses " |
| |
| declare -a _extra_config |
| if check_option "debug" "n"; then |
| CFLAGS+=" -DNDEBUG " |
| CXXFLAGS+=" -DNDEBUG " |
| _extra_config+=("--enable-optimizations") |
| # _extra_config+=("--with-lto") |
| else |
| CFLAGS+=" -O0 -ggdb" |
| CXXFLAGS+=" -O0 -ggdb" |
| _extra_config+=("--with-pydebug") |
| fi |
| |
| |
| # Fix MS_DLL_ID undeclared in PC/dl_nt.c |
| local f3f=0 |
| local re='^[0-9]+$' |
| local part3=${pkgver##*.} |
| if ! [[ $part3 =~ $re ]] ; then |
| local c= |
| while test -n "$part3"; do |
| local b=${part3:0:1} |
| if ! [[ $b =~ $re ]] ; then |
| break |
| fi |
| c+=${b} |
| part3=${part3:1} |
| done |
| f3f=$((f3f + 1000 * $((${c})))) |
| local part3Len=${#part3} |
| if [ "$part3Len" -ge "1" ] ; then |
| f3f=$((f3f + 10 * $((0x${part3:0:1})))) |
| if [ "$part3Len" -ge "2" ] ; then |
| f3f=$((f3f + ${part3:1:1})) |
| fi |
| fi |
| else |
| f3f=$((f3f + 1000 * ${part3})) |
| fi |
| CFLAGS+=" -DMS_DLL_ID=\\\"${_pybasever}\\\"" |
| CFLAGS+=" -DFIELD3=${f3f}" |
| CFLAGS+=" -DORIGINAL_FILENAME=\\\"libpython${_pybasever}.dll\\\"" |
| local rc_flags=" -DMS_DLL_ID=\\\\\\\"${_pybasever}\\\\\\\" -DFIELD3=${f3f} -DORIGINAL_FILENAME=\\\\\\\"libpython${_pybasever}.dll\\\\\\\"" |
| |
| # Workaround for conftest error on 64-bit builds |
| export ac_cv_working_tzset=no |
| |
| # Workaround for when dlfcn exists on Windows, which causes |
| # some conftests to succeed when they shouldn't (we don't use dlfcn). |
| export ac_cv_header_dlfcn_h=no |
| export ac_cv_lib_dl_dlopen=no |
| export ac_cv_have_decl_RTLD_GLOBAL=no |
| export ac_cv_have_decl_RTLD_LAZY=no |
| export ac_cv_have_decl_RTLD_LOCAL=no |
| export ac_cv_have_decl_RTLD_NOW=no |
| export ac_cv_have_decl_RTLD_DEEPBIND=no |
| export ac_cv_have_decl_RTLD_MEMBER=no |
| export ac_cv_have_decl_RTLD_NODELETE=no |
| export ac_cv_have_decl_RTLD_NOLOAD=no |
| |
| [[ -d "${srcdir}/build-${CARCH}" ]] && rm -rf "${srcdir}/build-${CARCH}" |
| mkdir -p "${srcdir}/build-${CARCH}" && cd "${srcdir}/build-${CARCH}" |
| |
| MSYSTEM=MINGW ../Python-${pkgver}/configure \ |
| --prefix=${MINGW_PREFIX} \ |
| --host=${MINGW_CHOST} \ |
| --build=${MINGW_CHOST} \ |
| --enable-shared \ |
| --with-nt-threads \ |
| --with-system-expat \ |
| --with-system-ffi \ |
| --with-system-libmpdec \ |
| --without-ensurepip \ |
| --without-c-locale-coercion \ |
| --enable-loadable-sqlite-extensions \ |
| "${_extra_config[@]}" \ |
| RCFLAGS="$rc_flags" \ |
| OPT="" |
| |
| # We patch importlib which is embedded in C headers, so regenerate them |
| make regen-importlib |
| |
| make |
| |
| # Add missing venvlauncher files (issue #7014) |
| # FIXME: build these from PC/launcher.c instead |
| cp python.exe venvlauncher.exe |
| cp pythonw.exe venvwlauncher.exe |
| } |
| |
| package() { |
| cd "${srcdir}/build-${CARCH}" |
| |
| local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX}) |
| MSYSTEM=MINGW \ |
| MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ |
| make -j1 install DESTDIR="${pkgdir}" |
| if check_option "debug" "n"; then |
| VERABI=${_pybasever} |
| else |
| VERABI=${_pybasever}d |
| fi |
| |
| # gdb pretty printers for debugging Python itself; to use: |
| # python |
| # sys.path.append('C:/msys64/mingw64/share/gdb/python3') |
| # import python_gdb |
| # reload(python_gdb) |
| # end |
| if [[ "${_primary_python}" == "yes" ]]; then |
| [[ -d "${pkgdir}${MINGW_PREFIX}"/share/gdb/python3/ ]] || mkdir -p "${pkgdir}${MINGW_PREFIX}"/share/gdb/python3/ |
| cp -f python.exe-gdb.py "${pkgdir}${MINGW_PREFIX}"/share/gdb/python3/python_gdb.py |
| fi |
| |
| cp -f "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/config-${VERABI}/libpython${VERABI}.dll.a "${pkgdir}${MINGW_PREFIX}"/lib/libpython${VERABI}.dll.a |
| |
| # Need for building boost python module |
| cp -f "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/config-${VERABI}/libpython${VERABI}.dll.a "${pkgdir}${MINGW_PREFIX}"/lib/libpython${_pybasever}.dll.a |
| |
| # some useful "stuff" |
| install -dm755 "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/Tools/{i18n,scripts} |
| install -m755 "${srcdir}/Python-${pkgver}"/Tools/i18n/{msgfmt,pygettext}.py "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/Tools/i18n/ |
| install -m755 "${srcdir}/Python-${pkgver}"/Tools/scripts/{README,*py} "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/Tools/scripts/ |
| |
| # clean up #!s |
| find "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/ -name '*.py' | \ |
| xargs sed -i "s|#[ ]*![ ]*/usr/bin/env python$|#!/usr/bin/env python|" |
| |
| # clean-up reference to build directory |
| sed -i "s#${srcdir}/Python-${pkgver}:##" "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/config-${VERABI}/Makefile |
| |
| for fscripts in 2to3 2to3-${_pybasever} idle3 idle${_pybasever} pydoc3 pydoc${_pybasever}; do |
| sed -i "s|$(cygpath -w ${MINGW_PREFIX} | sed 's|\\|\\\\|g')/bin/python${_pybasever}.exe|/usr/bin/env python${_pybasever}.exe|g" "${pkgdir}${MINGW_PREFIX}"/bin/${fscripts} |
| done |
| |
| if [[ "${_primary_python}" == "yes" ]]; then |
| # Default names are aliases for Python now |
| cp "${pkgdir}${MINGW_PREFIX}"/bin/python3.exe "${pkgdir}${MINGW_PREFIX}"/bin/python.exe |
| cp "${pkgdir}${MINGW_PREFIX}"/bin/python3w.exe "${pkgdir}${MINGW_PREFIX}"/bin/pythonw.exe |
| cp "${pkgdir}${MINGW_PREFIX}"/bin/python3-config "${pkgdir}${MINGW_PREFIX}"/bin/python-config |
| cp "${pkgdir}${MINGW_PREFIX}"/bin/idle3 "${pkgdir}${MINGW_PREFIX}"/bin/idle |
| cp "${pkgdir}${MINGW_PREFIX}"/bin/pydoc3 "${pkgdir}${MINGW_PREFIX}"/bin/pydoc |
| else |
| rm "${pkgdir}${MINGW_PREFIX}"/bin/python3.exe |
| rm "${pkgdir}${MINGW_PREFIX}"/bin/python3w.exe |
| rm "${pkgdir}${MINGW_PREFIX}"/bin/python3-config |
| rm "${pkgdir}${MINGW_PREFIX}"/bin/idle3 |
| rm "${pkgdir}${MINGW_PREFIX}"/bin/pydoc3 |
| rm "${pkgdir}${MINGW_PREFIX}"/bin/2to3 |
| rm "${pkgdir}${MINGW_PREFIX}"/lib/pkgconfig/python3-embed.pc |
| rm "${pkgdir}${MINGW_PREFIX}"/lib/pkgconfig/python3.pc |
| rm "${pkgdir}${MINGW_PREFIX}"/share/man/man1/python3.1 |
| fi |
| |
| sed -i "s|#!${pkgdir}${MINGW_PREFIX}/bin/python${VERABI}.exe|#!/usr/bin/env python${_pybasever}.exe|" "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/config-${VERABI}/python-config.py |
| |
| # fix permissons |
| find ${pkgdir}${MINGW_PREFIX} -type f \( -name "*.dll" -o -name "*.exe" \) | xargs chmod 0755 |
| |
| # Fix up two instances of MSYS2 paths in python-config.sh in-case the final consumer of the results are native executables. |
| sed -e "s|${MINGW_PREFIX}|${PREFIX_WIN}|" \ |
| -i "${pkgdir}${MINGW_PREFIX}"/bin/python${VERABI}-config |
| if [[ "${_primary_python}" == "yes" ]]; then |
| sed -e "s|${MINGW_PREFIX}|${PREFIX_WIN}|" \ |
| -i "${pkgdir}${MINGW_PREFIX}"/bin/python3-config \ |
| -i "${pkgdir}${MINGW_PREFIX}"/bin/python-config |
| fi |
| |
| # replace paths in sysconfig |
| sed -i "s|${pkgdir}${MINGW_PREFIX}|${MINGW_PREFIX}|g" \ |
| "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/lib-dynload/_sysconfigdata*.py \ |
| "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/smtpd.py |
| |
| # install venv launchers |
| mkdir -p "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/venv/scripts/nt |
| cp venvlauncher.exe "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/venv/scripts/nt/python.exe |
| cp venvwlauncher.exe "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/venv/scripts/nt/pythonw.exe |
| } |
| |
| sha256sums=('397920af33efc5b97f2e0b57e91923512ef89fc5b3c1d21dbfc8c4828ce0108a' |
| '7188e017a1efba4a87cb64a38b63ed2d8a469e2e74c3fd35b6538d5bc6e370e5' |
| '621cbe4120c2f83c39eff9c03aba62b4240c657aaacff6c6063968e597a94f88' |
| '382f4d6b59da0e3c0ccea985864bd0e1389d97bd6517f068f175a624615f192d' |
| '36a13e324c8d4001f60799b60e87255db4f5ae9f2a04c2396b2a154fa8c7eb4c' |
| 'a3aeeeafbeaf8fd0f0884a29e4066e5ce2af0f8d4945b51e420dfdaa4dbfe4b9' |
| '852be8186f71c46b7f7907a8cef3fd1936f3a288ffeeedba843d73cd2e65caaf' |
| 'db5a158f9545d554dfad95290aae15fc71f03550c3594e1dabdbc0cfbb0ced29' |
| 'a8a6eb37672dbe4cfcd6df4ccd755217ee5e433b36b67591a407edcbb262c0eb' |
| '380a25c2b7cfafb1b9ddff91a94ba8eb7db00fb6a37c5f6bdb1e12ffbdcf2076' |
| '354b523f924dd066520f6df3f61fb752a7bdfe63b6422d32cb3b860445040878' |
| 'ac85eca34438d4e38f195da6614663a10e7f3f659e5c9879670a1e9a46a8a1c1' |
| 'fa0010a847b7156b07aadc7fe976b675d8913df0fa4efdfe5a148a529ff41ec1' |
| '0581eeba3aab8d851a1af2bf7ac29479d36adf19f7db7f0210d6d5e3ca22b9d8' |
| 'ff8375e55445678ab17a3d1dff62908dd22d15609160acb670e0fe67198736ee' |
| 'effc7117a72e0f3cadce63135f18ad513516880e3a6b8121037f6dbfddfc1e46' |
| '8f515fc87a457462c2d412326907c58dbc4253de95630718c4d56610db24a6de' |
| '3f833597807e08a85ca5e1fc26a2872f1127a01bfe2336c85f2c78cc547f40c3' |
| 'e2e9b0439a0e6c9a054c2f35c8f454ec2a4100e7bca9505ea94cd1011dfe7ee3' |
| '4f4d34bf0b1d3a979988d1dab3cc34d43d267c3b1b3ea1debf3358424302752d' |
| '02d3058ffe6439033055834f1452edebca5df686d38c2d48bc62f290b11de1a9' |
| '5185d0763ac3ff351d86b4403421ba8bbb9dac477ceb2816054caf4eb62873a5' |
| '86e39c652691e6dac338d617d262d0413f7468d74d12305cf8a12806f5e07b5e' |
| 'e28cfe596fa3087172b00fcdc1f313e1050f97b433a6b4f322a291866b80fc95' |
| 'fce14bcae4019a1d82b66cf18ad80e2c131eafcb585c1e70843b1f2a7b46a059' |
| '91499de0d6b5541aae4b544a84af4f85ce25d8bea030dd61cff0f5af2950e26e' |
| '67e10d47d4fd13b6ca691e9e04aa73a230a7df95318251e232455f8ab5c1eec4' |
| 'dae01ea768c270bf7e04f909000156d785881116dd05c48f2d6c5c64992943af' |
| 'f6214537de4f5ab1bc1c9c287bcd9f4108f6bf444b8930a985759753a96241e6' |
| 'd332fa50c6b6de4cba8b849c18687a420da1448cfc1bbdaafa8e724976fc0ee0' |
| '8363c5a8baf8dbde51c94413cffc1f9b6da3e3881c98995b30f9264cbf587845' |
| '5df74f664abbba7302642b7a9791ce891a1a00df2848cb0ac243cf61ca2617dd' |
| '339d65c6309431bd871810be26eb28ac84468b0dc287d443a40e5116ea7e45c7' |
| '1e5d15016f9866db88bf0efebe2cabef93955a6a9c54efe254e2219a9938bcba' |
| '9e3c9dcecb70a1394c2d2ed36ac2161014f95456a7a28fb206ebe14d6e944e28' |
| '516327a3e0dddd923c20a23dffbfafbad83d9ae782477eb36650a14526e0237f' |
| '008613913e1d861093ffe980999c1999da8c415f6d6e1f2a630ad872e018048b' |
| '6a0798d4f3a832bd0a09a22896b59fa4bc69638d99230d81ff3bc45ff16cde82' |
| '6346ca038c76011ade842ed2fe629897cc53ee7c2517ede0a300d7c8bab13ab0' |
| 'cd2614a5d8fef3132e08a0037ba66eeec9acfab386df086de8637e39bbd93cef' |
| '5a7d072a9b3c731818288ee0fe51fdabe5dc257b885eeb5fac6f200bbfc8a63a' |
| 'a155c770a98ee6bb96cfa0a6f9a5ddb4dce993ea818b83532d90cf57b1615c09' |
| '4915b4b4ff6c293426671d6bc91c174cc2b2cd7d3d1099a67e9cfe53cd7320b9' |
| '0d3061a67c8ed855ec78c01f682c12632e36e473d42c3e7008f999dc13bbc5b0' |
| 'e0c2d8aaa24425aa9f1cfd576d8f0a67d2e39c7108edadc7f322f618cdf9f97e' |
| '18f30eea4c1efb0f2c7f608a7daa7491c021c15476a1df2323a4f48849b6f77d' |
| '8ce17fdb9665dcd384744527a1eb155e1d1ff137a0a2a75d275dca0230830645' |
| '8b34737a4018920ecd31ee40d3a0db1545478258e58028061935e50024ee6b6c' |
| 'e4060c8d2158d3b2dcf7f8c79eca7490d23ef4897fa8a24388321f77c340fd88' |
| 'd47c18f14276c6151176c9c7f0780d334a582adcf4b6c71145f328377960bb94' |
| '25002a2be534ef4b4dbcfbc5598832ef4b64aa0ac849c3b44d796b49e10a3906' |
| 'c6a731c103ef31589296f60b9e220fe70b0113b49696248c4e379bb3b39ddf03' |
| 'c5ccfdb8f8695f94f23e9ecd0304ec91b5f4f00f9d6f43426ede4e0038479f24' |
| '58f5f50ce9e8a6dd4b484f174ad174db397ac5b2b248b56db65acae2122ed805' |
| '077ce1a4e5fd69de839c5f1bfb24a3bb5d2d548fb4a51250097692626d7c5d6b' |
| '3b1659b05b3353938a84b9a9f23a1add6f0dc38bb1d81e58010651e07c719a95' |
| '17d44817baccadcfb23289c15ca23f19fa185aa2a7dd12c88524de8d888f3507' |
| '54031e5b3f02cc4b80ce6b1702d7c33c6e9251136e1410012c7faa861abffe84' |
| '3741637112ae6fa0bcc15d73e80810b5e5c6986b8e8a4333f8a08c30c5e21ddb' |
| '11314e843829ef3fd8058434311dd55eeb7dd512ec8730f28c5b8bc6e101a654' |
| 'b87f41523bbcb61a8076a46a83b61480a2da79b49c3af3d0310aff02fb3eff7d' |
| '12f619eb1bcc3dc3a05d3ac077d0970860a8b97ecbd95f735fc95436bc910c1d' |
| '22f256ab9b1f19aa6ad41ef2ef23bcc67b8d9a2fc24315bac39e5eff4a3d5ef0' |
| '453be8620a5b47567fd750bdc7226baa2a7bae84d280c082ceea6c822c0152d4' |
| '167fc8fe20a0122fa0a5dfd7adcf343ba71379732bd0f6ade5a958f4c4c07c84' |
| 'f99bc96d13d181c0e3604b0b6f3405450cb23504739812cd05d12bb4796d6a4d' |
| '4e1fed573d0b564faad7770fa1a79525864acb02dd3996bbd28813201d80e941' |
| 'dcbf48794825acdcfc00e08ae358f2dc51dc8dfde8fc3cf7e304c570b8c477d2' |
| '3a9876035372157298f0b340c86806a43c193c09a1f732cb116262a8baa6658b' |
| '4446250eb39ed7afd9d0c79da92f15586bf8dc8c2ba9dec2edaa5d92136e95e6' |
| '385935abdaedf42ae27e21e895707471a3171a73310d0b97218823d13a1cff52' |
| '2b890e0612c9aaa0243b3cc86219b47c8f6823af2c57d8f3f100dcc5f664d13e' |
| '02b98c859ffc4c0d47667e7fa4579699249eb9052b8a985d051630c33d2304ff' |
| '92c3ed2cbcc0c9bd28a0b669ec68e445be7c5245201bda1c06172712c54d1a17' |
| '72e51a8f9374766b9afc452a5fbf7646390e89d1ae9f1ec158e22aac6dedf1db' |
| '5891a8c56eb49b1a9d2c22ee895821c34086a341b4a7e7e57b9e78196dc346a4' |
| 'e02409488b5cbd9157b6c80abd78ea2972e49092949e902811dabbf56f3f6d0c' |
| 'adba48cb1daf77542162e4da61caf498c83b2de5abbc5545f68a8ac290fe7b4a' |
| 'bf1960038604a3ad0ab11bc47007f8d7a97941c3b7f44d4487e2d79d742ca870' |
| '836723f0d3ec3d10b5ddabd09f7dddc76eefa261b6105b544f9dae7f4416146e' |
| 'b64e7a874532fe0475d4b3c192fb215948c06392a7ad04fd47a28289cc809967' |
| 'b49ab150e95bd390101225ba6ac3983df2a5a0bbc47d506a88c9caeefbd4ed3f' |
| '79f1646fa548a9da9986ded4a51842751cdea7ec579d28e6cc5d86e4a5a89f27' |
| '233318923f5fd7dd4605c79bb2adfbcdd2e8cc7e242b1e080e59aed1f6b86a29' |
| 'ceba0f6e583570db571ee9c3fe64b74ea58a474d114847cadd3ad70386c7c199' |
| 'fb3bee9ba5e4f9b2e8b7e8ec2fb08e12d85542bae8b86e7a4c69f698f720253b' |
| 'b01320b3c9037bb1fed03c7b8002e7b6af52fc7bb85cdf84cfc96842c7c9657d' |
| 'e3c10b3eb07b41e804b6a500c848def6f72cb04d94d00657dab307e68e891536' |
| '5e8113ca39795b59a0144b68db88a197c43c3b907c3f7bf2a5e1c1dd3a41b19c' |
| '4130af022a9ec1717cac82e3d3d5a7144a9c17611ac4db5150f8adede4ed3276' |
| '24e9029d664255a96c0346f7e53316640be6a6480bd77fcd7532a2b88881b485' |
| '754d84bc288da89cdec4b1cf5d216195aaa2f3d4046043d8b487bdd2f5a4c837' |
| '2d6ce50423f65dded048f64eb0dafe62448ad4786add9295d90fcfa6f316412a' |
| 'b3ba2ac22cd4263419f3daf93334745bccd1c70c429812c95821ed1e2d649159' |
| 'a74c4203ccc6f858fa9ee2c203cad1bf5de2bd868650d18c65034897e29e2b5d' |
| 'fe6bb4725238cbd00b856ed757392bdd2f0e7adb5216ee7738654b7a74594810' |
| '6fcc769d47e71afd496eef16a6c77d0e1eff983a20b16a7fadb6f4cc1c8ee6d7' |
| '432b51884bad4e578a64a7a24a8652de025c71c9129d0d3cd4120c71a7d0d57c' |
| '034a036cbdcbe33bb17a7951658da438ff7047f4f86fe8e5ebac5d84438ed0bd' |
| '703846000b96d426c50b400f5efbc8c2c877ce7c844f64ecdba86275035577b3') |