diff --git a/.ci/ci-build.sh b/.ci/ci-build.sh index 14e210050f..84b9fea555 100644 --- a/.ci/ci-build.sh +++ b/.ci/ci-build.sh @@ -21,9 +21,8 @@ sed -i 's/^CheckSpace/#CheckSpace/g' /etc/pacman.conf pacman --noconfirm -Fy # Detect -list_commits || failure 'Could not detect added commits' list_packages || failure 'Could not detect changed files' -message 'Processing changes' "${commits[@]}" +message 'Processing changes' test -z "${packages}" && success 'No changes in package recipes' # Build diff --git a/.ci/ci-library.sh b/.ci/ci-library.sh index 5770351b40..18117da39e 100644 --- a/.ci/ci-library.sh +++ b/.ci/ci-library.sh @@ -24,32 +24,6 @@ _status() { printf "${items:+\t%s\n}" "${items:+${items[@]}}" } -# Convert lines to array -_as_list() { - local -n nameref_list="${1}" - local filter="${2}" - local strip="${3}" - local lines="${4}" - local result=1 - nameref_list=() - while IFS= read -r line; do - test -z "${line}" && continue - result=0 - [[ "${line}" = ${filter} ]] && nameref_list+=("${line/${strip}/}") - done <<< "${lines}" - return "${result}" -} - -# Changes since master or from head -_list_changes() { - local list_name="${1}" - local filter="${2}" - local strip="${3}" - local git_options=("${@:4}") - _as_list "${list_name}" "${filter}" "${strip}" "$(git log "${git_options[@]}" upstream/master.. | sort -u)" || - _as_list "${list_name}" "${filter}" "${strip}" "$(git log "${git_options[@]}" HEAD^.. | sort -u)" -} - # Git configuration git_config() { local name="${1}" @@ -73,11 +47,6 @@ execute(){ cd - > /dev/null } -# Added commits -list_commits() { - _list_changes commits '*' '#*::' --pretty=format:'%ai::[%h] %s' -} - # Get changed packages in correct build order list_packages() { # readarray doesn't work with a plain pipe diff --git a/mingw-w64-abseil-cpp/PKGBUILD b/mingw-w64-abseil-cpp/PKGBUILD new file mode 100644 index 0000000000..26859600da --- /dev/null +++ b/mingw-w64-abseil-cpp/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Michał Łukowski + +_realname=abseil-cpp +pkgbase=mingw-w64-${_realname} +pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" +pkgver=20211102.0 +pkgrel=1 +pkgdesc="A collection of open source C++ libraries taken from the most fundamental pieces of Google’s internal codebase, designed to extend the standard C ++ library. (mingw-w64)" +arch=('any') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +url="https://abseil.io" +license=('spdx:Apache-2.0') +makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-ninja" + "${MINGW_PACKAGE_PREFIX}-cc") +source=("https://github.com/abseil/abseil-cpp/archive/$pkgver/$_realname-$pkgver.tar.gz") +sha256sums=('dcf71b9cba8dc0ca9940c4b316a0c796be8fab42b070bb6b7cab62b48f0e66c4') + +build() { + [[ -d "${srcdir}/build-${MSYSTEM}" ]] && rm -rf "${srcdir}/build-${MSYSTEM}" + mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" + + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=17 \ + -DBUILD_SHARED_LIBS=ON \ + ../${_realname}-${pkgver} + + cmake --build . +} + +package() { + cd "${srcdir}/build-${MSYSTEM}" + + DESTDIR="${pkgdir}" cmake --install . +} diff --git a/mingw-w64-amf-headers/0001-prevent-some-redefinition.patch b/mingw-w64-amf-headers/0001-prevent-some-redefinition.patch new file mode 100644 index 0000000000..5839310c79 --- /dev/null +++ b/mingw-w64-amf-headers/0001-prevent-some-redefinition.patch @@ -0,0 +1,26 @@ +From d376bd3f4d1e6bd8b6c7d4151caa701b238235ac Mon Sep 17 00:00:00 2001 +From: Christopher Degawa +Date: Tue, 14 Dec 2021 12:58:39 -0600 +Subject: [PATCH] Platform.h: tie typedef for HRESULT to !windows + +The existence of `__clang__` there breaks clang on Windows compilation +due to conflicting LONG vs INT typedefs + +Signed-off-by: Christopher Degawa +--- + amf/public/include/core/Platform.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/amf/public/include/core/Platform.h b/amf/public/include/core/Platform.h +index 7fa61cc..a175e62 100644 +--- a/amf/public/include/core/Platform.h ++++ b/amf/public/include/core/Platform.h +@@ -72,7 +72,7 @@ + // #error Need to define AMF_ALIGN + #endif + +-#if defined(__linux) || (__clang__) ++#if !defined(_WIN32) + typedef signed int HRESULT; + #define SUCCEEDED(hr) (((HRESULT)(hr)) >= 0) + #define FAILED(hr) (((HRESULT)(hr)) < 0) diff --git a/mingw-w64-amf-headers/PKGBUILD b/mingw-w64-amf-headers/PKGBUILD index a09cfe7143..35c22669fa 100644 --- a/mingw-w64-amf-headers/PKGBUILD +++ b/mingw-w64-amf-headers/PKGBUILD @@ -4,14 +4,23 @@ _realname=amf-headers pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=1.4.23 -pkgrel=1 +pkgrel=2 pkgdesc='Header files for AMD Advanced Media Framework' arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url='https://github.com/GPUOpen-LibrariesAndSDKs/AMF/' license=('MIT') -source=("${_realname}-${pkgver}.tar.gz::https://github.com/GPUOpen-LibrariesAndSDKs/AMF/archive/v${pkgver}.tar.gz") -sha256sums=('7c8a5c91bca54e257258e4efcc61925921f2efe432efd34cf77dd9dc1803c38a') +source=("${_realname}-${pkgver}.tar.gz::https://github.com/GPUOpen-LibrariesAndSDKs/AMF/archive/v${pkgver}.tar.gz" + "0001-prevent-some-redefinition.patch") +sha256sums=('7c8a5c91bca54e257258e4efcc61925921f2efe432efd34cf77dd9dc1803c38a' + 'cb81680806a7049bff2b1ac70d46fe925fc91e5ab763db30f7f4f4a8b89daebc') + +prepare() { + cd "AMF-${pkgver}" + + # https://github.com/GPUOpen-LibrariesAndSDKs/AMF/pull/286 + patch -p1 -i "${srcdir}/0001-prevent-some-redefinition.patch" +} package() { mkdir -p "${pkgdir}${MINGW_PREFIX}"/include/AMF/ diff --git a/mingw-w64-argtable/PKGBUILD b/mingw-w64-argtable/PKGBUILD index 86232f0984..f19ad748a8 100644 --- a/mingw-w64-argtable/PKGBUILD +++ b/mingw-w64-argtable/PKGBUILD @@ -13,7 +13,7 @@ license=("custom") url="https://argtable.sourceforge.io" source=("https://downloads.sourceforge.net/project/argtable/argtable/${_realname}-${pkgver}/${_realname}${intver}.tar.gz") sha256sums=('8f77e8a7ced5301af6e22f47302fdbc3b1ff41f2b83c43c77ae5ca041771ddbf') -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-autotools") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") options=('staticlibs' 'strip') diff --git a/mingw-w64-armadillo/PKGBUILD b/mingw-w64-armadillo/PKGBUILD index f5cd34ae25..e9f566799c 100644 --- a/mingw-w64-armadillo/PKGBUILD +++ b/mingw-w64-armadillo/PKGBUILD @@ -3,7 +3,7 @@ _realname=armadillo pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=10.8.0 +pkgver=10.8.1 pkgrel=2 pkgdesc="C++ linear algebra library (mingw-w64)" arch=('any') @@ -12,7 +12,8 @@ url="https://arma.sourceforge.io/" license=(MPL2) depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-hdf5" - $([[ ${MSYSTEM} == CLANG32 ]] || echo "${MINGW_PACKAGE_PREFIX}-openblas") + "${MINGW_PACKAGE_PREFIX}-openblas" + $([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] && echo "${MINGW_PACKAGE_PREFIX}-f2cblaslapack") $([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-arpack") ) makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" @@ -21,7 +22,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" install=${_realname}-${MSYSTEM}.install source=(https://sourceforge.net/projects/arma/files/${_realname}-${pkgver}.tar.xz 0001-mingw-config-fix.patch) -sha256sums=('7c5d2fd4bba095733829f7fe03d4a74e732b81c75dd4d40001163487c967d5bc' +sha256sums=('5087ab5a2268e5ce71798c1afcb6d1fb246463f8dc88a60db49a083600f98332' '772719e60eb2970ecb37844382dbcb6d0439f949c5080f9865798115640b612a') prepare() { @@ -38,7 +39,7 @@ build() { -G"Ninja" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DCMAKE_BUILD_TYPE=Release \ - $([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo -DLAPACK_NAMES=openblas) \ + $([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo -DOPENBLAS_PROVIDES_LAPACK=ON) \ ../${_realname}-${pkgver} cmake --build . diff --git a/mingw-w64-arrow/PKGBUILD b/mingw-w64-arrow/PKGBUILD index 1857dc6563..beb8ea5987 100644 --- a/mingw-w64-arrow/PKGBUILD +++ b/mingw-w64-arrow/PKGBUILD @@ -3,7 +3,7 @@ _realname=arrow pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=6.0.1 +pkgver=7.0.0 pkgrel=1 pkgdesc="Apache Arrow is a cross-language development platform for in-memory data (mingw-w64)" arch=(any) @@ -43,7 +43,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-boost" options=("staticlibs" "strip" "!buildflags") source=("apache-arrow-${pkgver}.tar.gz"::"https://www.apache.org/dyn/closer.lua?action=download&filename=arrow/arrow-${pkgver}/apache-arrow-${pkgver}.tar.gz" "apache-arrow-${pkgver}.tar.gz.asc"::"https://www.apache.org/dyn/closer.lua?action=download&filename=arrow/arrow-${pkgver}/apache-arrow-${pkgver}.tar.gz.asc") -sha256sums=('3786b3d2df954d078b3e68f98d2e5aecbaa3fa2accf075d7a3a13c187b9c5294' +sha256sums=('e8f49b149a15ecef4e40fcfab1b87c113c6b1ee186005c169e5cdf95d31a99de' 'SKIP') # See generate-valid-keys.sh validpgpkeys=('35CF82A165DDBBA29B307B7497D7E8647AE7E47B' diff --git a/mingw-w64-asciidoctor/PKGBUILD b/mingw-w64-asciidoctor/PKGBUILD index 1147812679..3706788c60 100644 --- a/mingw-w64-asciidoctor/PKGBUILD +++ b/mingw-w64-asciidoctor/PKGBUILD @@ -11,7 +11,7 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url='https://asciidoctor.org/' license=('MIT') depends=("${MINGW_PACKAGE_PREFIX}-ruby") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc") source=(https://rubygems.org/downloads/${_realname}-${pkgver}.gem) sha256sums=('02439a5b89b25550297a21c631035c2a6608d6fc9d9b63d7f137b3356bbd0482') diff --git a/mingw-w64-asio/PKGBUILD b/mingw-w64-asio/PKGBUILD index e6716cf871..5d0ae17d30 100644 --- a/mingw-w64-asio/PKGBUILD +++ b/mingw-w64-asio/PKGBUILD @@ -10,7 +10,7 @@ url='https://think-async.com/Asio/' arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') license=('custom:boost') -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" #"${MINGW_PACKAGE_PREFIX}-boost" "${MINGW_PACKAGE_PREFIX}-autotools" "${MINGW_PACKAGE_PREFIX}-openssl") diff --git a/mingw-w64-autotools/PKGBUILD b/mingw-w64-autotools/PKGBUILD index 9a3f386207..d65f15eea7 100644 --- a/mingw-w64-autotools/PKGBUILD +++ b/mingw-w64-autotools/PKGBUILD @@ -3,7 +3,7 @@ _realname=autotools pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2021.12.15 +pkgver=2022.01.16 pkgrel=1 pkgdesc="A meta package for the GNU autotools build system (mingw-w64)" arch=('any') @@ -11,7 +11,7 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') license=('GPL') url="https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html" depends=( - 'autoconf' + 'autoconf-wrapper' 'automake-wrapper' 'make' 'libtool' diff --git a/mingw-w64-bat/PKGBUILD b/mingw-w64-bat/PKGBUILD index de96db4997..9b4112a8eb 100644 --- a/mingw-w64-bat/PKGBUILD +++ b/mingw-w64-bat/PKGBUILD @@ -3,7 +3,7 @@ _realname=bat pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.18.3 +pkgver=0.19.0 pkgrel=1 pkgdesc="Cat clone with syntax highlighting and git integration (mingw-w64)" arch=('any') @@ -16,7 +16,7 @@ makedepends=( depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") options=('staticlibs' 'strip') source=("${_realname}-${pkgver}.tar.gz::https://github.com/sharkdp/bat/archive/refs/tags/v${pkgver}.tar.gz") -sha256sums=('dff7fa5222f40c7b3c783d3ceb0c3ffb35662f1198b00d785f80f3f1523399dd') +sha256sums=('6a920cad1e7ae069eb9393f5b6883e0a7f2c957186b1075976331daaa5e0468a') prepare() { cp -r ${_realname}-${pkgver} build-${MSYSTEM} @@ -28,11 +28,13 @@ prepare() { build() { ${MINGW_PREFIX}/bin/cargo build \ --release \ + --frozen \ --manifest-path build-${MSYSTEM}/Cargo.toml } package() { ${MINGW_PREFIX}/bin/cargo install \ + --frozen \ --offline \ --no-track \ --path build-${MSYSTEM} \ diff --git a/mingw-w64-binaryen/PKGBUILD b/mingw-w64-binaryen/PKGBUILD index f513d24cf5..1e8026dca1 100644 --- a/mingw-w64-binaryen/PKGBUILD +++ b/mingw-w64-binaryen/PKGBUILD @@ -4,7 +4,7 @@ _realname=binaryen pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=104 +pkgver=105 pkgrel=1 pkgdesc="Compiler infrastructure and toolchain library for WebAssembly, in C++ (mingw-w64)" arch=('any') @@ -15,7 +15,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-ninja") source=("${_realname}-${pkgver}.tar.gz::https://github.com/WebAssembly/binaryen/archive/version_${pkgver}.tar.gz") -sha256sums=('a6acabb159fcc5b1d8c9506f5036dcd1e4446952b572903b256af955e959780d') +sha256sums=('c5ec27c157d3b33ce4360607cc6afe565fa490094237895db2162b3a7d667da2') build() { declare -a extra_config diff --git a/mingw-w64-cargo-c/PKGBUILD b/mingw-w64-cargo-c/PKGBUILD index 837d5cbdc8..924251619c 100644 --- a/mingw-w64-cargo-c/PKGBUILD +++ b/mingw-w64-cargo-c/PKGBUILD @@ -3,7 +3,7 @@ _realname=cargo-c pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.9.6 +pkgver=0.9.7 pkgrel=1 pkgdesc='A cargo subcommand to build and install C-ABI compatibile dynamic and static libraries (mingw-w64)' arch=('any') @@ -17,8 +17,8 @@ depends=("${MINGW_PACKAGE_PREFIX}-curl" makedepends=("${MINGW_PACKAGE_PREFIX}-rust") source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/lu-zero/cargo-c/archive/v${pkgver}.tar.gz" "${_realname}-${pkgver}.Cargo.lock"::"https://github.com/lu-zero/cargo-c/releases/download/v${pkgver}/Cargo.lock") -sha256sums=('c121bc2069373c25a89dcf9c357aa1e91d9eb4eb46a87db4d9931114070317c5' - 'd89b9b02ae95d1993b12ef1a764157b5a42bc70d39e91eb5844320dc809a0e08') +sha256sums=('eead78d26b4e5924e9d750f66f2fef4d706680927542d87c895178fc0be016f0' + '3898341b624517daa50d95bd99e2fa873b15ea803f9e3d6f7edab11427b95de8') prepare() { cp "${srcdir}/${_realname}-${pkgver}.Cargo.lock" "${_realname}-${pkgver}/Cargo.lock" diff --git a/mingw-w64-catch/PKGBUILD b/mingw-w64-catch/PKGBUILD index 488b0ebd71..18980f00c2 100644 --- a/mingw-w64-catch/PKGBUILD +++ b/mingw-w64-catch/PKGBUILD @@ -9,7 +9,7 @@ pkgdesc="A modern, C++-native, header-only, test framework for unit-tests, TDD a arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url='https://github.com/philsquared/Catch' -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-python") license=('custom') diff --git a/mingw-w64-cereal/PKGBUILD b/mingw-w64-cereal/PKGBUILD index d4d5db5880..ade4b8da1f 100644 --- a/mingw-w64-cereal/PKGBUILD +++ b/mingw-w64-cereal/PKGBUILD @@ -3,21 +3,22 @@ _realname=cereal pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.3.0 +pkgver=1.3.1 pkgrel=1 pkgdesc="A C++11 library for serialization (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://uscilab.github.io/cereal/" license=('New BSD license') -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" - "${MINGW_PACKAGE_PREFIX}-cmake") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-ninja") depends=("${MINGW_PACKAGE_PREFIX}-boost") checkdepends=("${MINGW_PACKAGE_PREFIX}-gflags") source=("${_realname}-${pkgver}.tar.gz::https://github.com/USCiLab/cereal/archive/v${pkgver}.tar.gz" "${_realname}-1.2.2.patch") -sha256sums=('329ea3e3130b026c03a4acc50e168e7daff4e6e661bc6a7dfec0d77b570851d5' - '3a7f7a6e6d8e092c5ffb7b0342d0bfa8675a57985dc1c9e5a4209ce434156767') +sha256sums=('65ea6ddda98f4274f5c10fb3e07b2269ccdd1e5cbb227be6a2fd78b8f382c976' + '1f82ffd1cac9b171ef4a60612492fef2216c851960f84543742ac4206fcc5a94') prepare() { cd "${srcdir}/${_realname}-${pkgver}" @@ -33,22 +34,23 @@ build() { CXXFLAGS+=" -Wno-unused-variable" MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake.exe \ - -G"MSYS Makefiles" \ + -G"Ninja" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DCMAKE_BUILD_TYPE="Release" \ + -DWITH_WERROR=OFF \ "../${_realname}-${pkgver}" - make + ${MINGW_PREFIX}/bin/cmake.exe --build ./ } check() { cd "${srcdir}/build-${MINGW_CHOST}" - make test + ${MINGW_PREFIX}/bin/ctest.exe || true } package() { cd "${srcdir}/build-${MINGW_CHOST}" - make DESTDIR="${pkgdir}" install + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./ install -Dm644 ${srcdir}/${_realname}-${pkgver}/LICENSE ${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE } diff --git a/mingw-w64-cereal/cereal-1.2.2.patch b/mingw-w64-cereal/cereal-1.2.2.patch index 706906af48..30d4e6ca44 100644 --- a/mingw-w64-cereal/cereal-1.2.2.patch +++ b/mingw-w64-cereal/cereal-1.2.2.patch @@ -1,7 +1,7 @@ diff -Naur cereal-1.2.2/include/cereal/archives/json.hpp cereal-1.2.2-patched/include/cereal/archives/json.hpp --- cereal-1.2.2/include/cereal/archives/json.hpp 2017-02-13 01:06:58.000000000 +0300 +++ cereal-1.2.2-patched/include/cereal/archives/json.hpp 2018-10-23 22:38:05.621656900 +0300 -@@ -643,7 +643,7 @@ +@@ -661,7 +661,7 @@ // Special cases to handle various flavors of long, which tend to conflict with // the int32_t or int64_t on various compiler/OS combinations. MSVC doesn't need any of this. @@ -20,19 +20,19 @@ diff -Naur cereal-1.2.2/unittests/CMakeLists.txt cereal-1.2.2-patched/unittests/ - if(NOT MSVC) + if(NOT WIN32) add_executable(portability_test32 portability_test.cpp) + target_link_libraries(portability_test32 ${CEREAL_THREAD_LIBS}) set_target_properties(portability_test32 PROPERTIES COMPILE_FLAGS "-m32") - set_target_properties(portability_test32 PROPERTIES LINK_FLAGS "-m32") -@@ -24,7 +24,7 @@ +@@ -26,7 +26,7 @@ -DPORTABILITY_TEST_DIR=$ -P "${CMAKE_CURRENT_SOURCE_DIR}/run_portability_test.cmake") - elseif(MSVC) + elseif() add_executable(portability_test32 portability_test.cpp) + target_link_libraries(portability_test32 cereal::cereal) endif() - endif() -@@ -45,7 +45,7 @@ - add_test("${TEST_TARGET}" "${TEST_TARGET}") +@@ -48,7 +48,7 @@ + add_test(NAME "${TEST_TARGET}" COMMAND "${TEST_TARGET}") # If we are on a 64-bit machine, create an extra 32-bit version of the test if portability testing is enabled - if((NOT MSVC) AND (${CMAKE_SIZEOF_VOID_P} EQUAL 8) AND (NOT SKIP_PORTABILITY_TEST)) @@ -40,7 +40,7 @@ diff -Naur cereal-1.2.2/unittests/CMakeLists.txt cereal-1.2.2-patched/unittests/ add_executable(${TEST_TARGET}_32 ${TEST_SOURCE}) set_target_properties(${TEST_TARGET}_32 PROPERTIES COMPILE_FLAGS "-m32" LINK_FLAGS "-m32") -@@ -57,7 +57,7 @@ +@@ -61,7 +61,7 @@ endforeach() # Add the valgrind target @@ -49,28 +49,19 @@ diff -Naur cereal-1.2.2/unittests/CMakeLists.txt cereal-1.2.2-patched/unittests/ add_custom_target(valgrind COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/run_valgrind.sh") -@@ -85,7 +85,7 @@ - target_link_libraries(${COVERAGE_TARGET} ${CEREAL_THREAD_LIBS}) - endif() - endforeach() --endif(NOT MSVC) -+endif() - - if(NOT CMAKE_VERSION VERSION_LESS 3.0) - add_test(test_cmake_config_module ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake-config-module.cmake) diff -Naur cereal-1.3.0/unittests/boost/CMakeLists.txt cereal-1.3.0-patched/unittests/boost/CMakeLists.txt --- cereal-1.3.0/unittests/boost/CMakeLists.txt 2020-06-11 01:06:58.000000000 +0300 +++ cereal-1.3.0-patched/unittests/boost/CMakeLists.txt 2020-06-11 22:45:34.970358200 +0300 -@@ -12,7 +12,7 @@ - add_test("${TEST_TARGET}" "${TEST_TARGET}") +@@ -14,7 +14,7 @@ + add_test(NAME "${TEST_TARGET}" COMMAND "${TEST_TARGET}") # If we are on a 64-bit machine, create an extra 32-bit version of the test if portability testing is enabled - if((NOT MSVC) AND (${CMAKE_SIZEOF_VOID_P} EQUAL 8) AND (NOT SKIP_PORTABILITY_TEST)) + if((NOT WIN32) AND (${CMAKE_SIZEOF_VOID_P} EQUAL 8) AND (NOT SKIP_PORTABILITY_TEST)) add_executable(${TEST_TARGET}_32 ${TEST_SOURCE}) + target_link_libraries(${TEST_TARGET}_32 ${CEREAL_THREAD_LIBS}) set_target_properties(${TEST_TARGET}_32 PROPERTIES - COMPILE_FLAGS "-m32" LINK_FLAGS "-m32") -@@ -21,7 +21,7 @@ +@@ -24,7 +24,7 @@ endforeach() diff --git a/mingw-w64-cgal/PKGBUILD b/mingw-w64-cgal/PKGBUILD index e7b2b0ac75..e7826eb805 100644 --- a/mingw-w64-cgal/PKGBUILD +++ b/mingw-w64-cgal/PKGBUILD @@ -10,7 +10,7 @@ arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://www.cgal.org/" license=("LGPL, GPL") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-eigen3" "${MINGW_PACKAGE_PREFIX}-pkg-config" diff --git a/mingw-w64-clang/PKGBUILD b/mingw-w64-clang/PKGBUILD index bba34382eb..c470219a86 100644 --- a/mingw-w64-clang/PKGBUILD +++ b/mingw-w64-clang/PKGBUILD @@ -20,8 +20,8 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" "${MINGW_PACKAGE_PREFIX}-compiler-rt" "${MINGW_PACKAGE_PREFIX}-lld" "${MINGW_PACKAGE_PREFIX}-llvm") -pkgver=13.0.0 -pkgrel=5 +pkgver=13.0.1 +pkgrel=1 pkgdesc="C language family frontend for LLVM (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -69,17 +69,17 @@ source=("${_url}/llvm-${pkgver}.src.tar.xz"{,.sig} #0101-0199 -> clang #0201-0299 -> rt #0301-0399 -> lld -sha256sums=('408d11708643ea826f519ff79761fcdfc12d641a2510229eec459e72f8163020' +sha256sums=('ec6b80d82c384acad2dc192903a6cf2cdbaffb889b84bfb98da9d71e630fc834' 'SKIP' - '5d611cbb06cfb6626be46eb2f23d003b2b80f40182898daa54b1c4e8b5b9e17e' + '787a9e2d99f5c8720aa1773e4be009461cd30d3bd40fdd24591e473467c917c9' 'SKIP' - '428b6060a28b22adf0cdf5d827abbc2ba81809f4661ede3d02b1d3fedaa3ead5' + 'cc2bc8598848513fa2257a270083e986fd61048347eccf1d801926ea709392d0' 'SKIP' - '4c3602d76c7868a96b30c36165c4b7643e2a20173fced7e071b4baeb2d74db3f' + '7b33955031f9a9c5d63077dedb0f99d77e4e7c996266952c1cec55626dca5dfc' 'SKIP' - '20d1900bcd64ff62047291f6edb6ba2fed34d782675ff68713bf0c2fc9e69386' + '666af745e8bf7b680533b4d18b7a31dc7cab575b1e6e4d261922bbafd9644cfb' 'SKIP' - '36f819091216177a61da639244eda67306ccdd904c757d70d135e273278b65e1' + 'e206dbf1bbe058a113bffe189386ded99a160b2443ee1e2cd41ff810f78551ba' 'SKIP' '403f1711270ab62988d9f6a111a95049711cb36be6763025734ff4ded4b5e091' '8831c6ea72baa315b20e5f1a9008a9bf4098ba8a18d5331f05216604489063a4' @@ -196,7 +196,7 @@ build() { if (( _clangprefix )); then # A bit hacky but it works - local _clang_links="clang++;clang-cpp;as;c++;cc;cpp;g++;gcc;${MINGW_CHOST}-cc;${MINGW_CHOST}-c++;${MINGW_CHOST}-clang;${MINGW_CHOST}-clang++;${MINGW_CHOST}-g++;${MINGW_CHOST}-gcc" + local _clang_links="clang++;clang-cpp;as;c++;cc;cpp;${MINGW_CHOST}-cc;${MINGW_CHOST}-c++;${MINGW_CHOST}-clang;${MINGW_CHOST}-clang++" platform_config+=(-DCLANG_DEFAULT_RTLIB=compiler-rt -DCLANG_DEFAULT_UNWINDLIB=libunwind @@ -286,7 +286,6 @@ package_clang() { "${MINGW_PACKAGE_PREFIX}-winpthreads" \ || echo "${MINGW_PACKAGE_PREFIX}-gcc")) provides=($( (( _clangprefix )) && echo \ - "${MINGW_PACKAGE_PREFIX}-gcc" \ "${MINGW_PACKAGE_PREFIX}-cc" \ || true )) diff --git a/mingw-w64-clang/README-patches.md b/mingw-w64-clang/README-patches.md index 9c5b997870..c539360b54 100644 --- a/mingw-w64-clang/README-patches.md +++ b/mingw-w64-clang/README-patches.md @@ -1,6 +1,7 @@ -### Patches statuses +# Patches statuses Legend: + - :grey_exclamation: - not meant to upstream, for compatibility with GCC only - :x: - not upstreamed - :grey_question: - sent but not merged yet @@ -8,6 +9,7 @@ Legend: - :arrow_down_small: - backported ----- + - `"0001-Use-posix-style-path-separators-with-MinGW.patch"` :x::x::x: - this one is really imporant - `"0002-Fix-GetHostTriple-for-mingw-w64-in-msys.patch"` :x: - `"0003-CMake-try-creating-symlink-first-on-windows.patch"` :x: (win symlinks don't play well with pacman packages) @@ -16,7 +18,6 @@ Legend: - `"0101-Disable-fPIC-errors.patch"` :x: - `"0103-Use-posix-style-path-separators-with-MinGW.patch"` :x::x::x: - this one is really imporant - `"0104-link-pthread-with-mingw.patch"` :grey_exclamation: -- `"0105-clang-Tooling-Use-Windows-command-lines.patch"` :arrow_up_small: - https://reviews.llvm.org/D111195 +- `"0105-clang-Tooling-Use-Windows-command-lines.patch"` :arrow_up_small: - [https://reviews.llvm.org/D111195] - `"0304-ignore-new-bfd-options.patch"` :x: -- `"0501-lldb-Make-the-thread_local-g_global_boundary-accesse.patch"` :arrow_down_small: - https://reviews.llvm.org/D111779 - `"0901-cast-to-make-gcc-happy.patch"` :grey_exclamation: diff --git a/mingw-w64-cmake-doc-qt/PKGBUILD b/mingw-w64-cmake-doc-qt/PKGBUILD index 7d26dba098..25731e3383 100644 --- a/mingw-w64-cmake-doc-qt/PKGBUILD +++ b/mingw-w64-cmake-doc-qt/PKGBUILD @@ -3,7 +3,7 @@ _realname=cmake-doc-qt pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=3.22.1 +pkgver=3.22.2 pkgrel=1 pkgdesc="CMake documentation in Qt Help format" arch=('any') @@ -13,7 +13,7 @@ url='https://www.cmake.org/documentation/' # rename to include version of each release # (prevents accidentally using the file of an older version) source=("CMake-${pkgver}.qch::https://www.cmake.org/cmake/help/v${pkgver%.*}/CMake.qch") -sha256sums=('97d7760618a71966797015340c8c52ee2fd96c1dd88a7f648dd4848f34a7fa70') +sha256sums=('521ea0973dbfe09ca973d843d0eb091090ffae012fb9eabaf5808d5182d6629c') package() { mkdir -p "${pkgdir}${MINGW_PREFIX}/share/qt5/doc" diff --git a/mingw-w64-cmake/0006-fix-clang32-crash.patch b/mingw-w64-cmake/0006-fix-clang32-crash.patch deleted file mode 100644 index c9e106d8d4..0000000000 --- a/mingw-w64-cmake/0006-fix-clang32-crash.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- cmake-3.22.0/Source/cmTimestamp.cxx.orig 2021-11-21 19:49:45.959000000 +0100 -+++ cmake-3.22.0/Source/cmTimestamp.cxx 2021-11-21 19:49:59.378057000 +0100 -@@ -194,7 +194,7 @@ - - char buffer[16]; - --#ifdef __MINGW32__ -+#if defined(__MINGW32__) && !defined(_UCRT) - /* See a bug in MinGW: https://sourceforge.net/p/mingw-w64/bugs/793/. A work - * around is to try to use strftime() from ucrtbase.dll. */ - using T = size_t(WINAPI*)(char*, size_t, const char*, const struct tm*); diff --git a/mingw-w64-cmake/PKGBUILD b/mingw-w64-cmake/PKGBUILD index fcb0f18bd5..683fff63a1 100644 --- a/mingw-w64-cmake/PKGBUILD +++ b/mingw-w64-cmake/PKGBUILD @@ -4,7 +4,7 @@ _realname=cmake pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=3.22.1 +pkgver=3.22.2 pkgrel=1 pkgdesc="A cross-platform open-source make system (mingw-w64)" arch=('any') @@ -38,14 +38,12 @@ source=("https://github.com/Kitware/CMake/releases/download/v${pkgver}/${_realna "0001-Disable-response-files-for-MSYS-Generator.patch" "0002-Do-not-install-Qt-bundle-in-cmake-gui.patch" "0004-Output-line-numbers-in-callstacks.patch" - "0005-Default-to-ninja-generator.patch" - "0006-fix-clang32-crash.patch") -sha256sums=('0e998229549d7b3f368703d20e248e7ee1f853910d42704aa87918c213ea82c0' + "0005-Default-to-ninja-generator.patch") +sha256sums=('3c1c478b9650b107d452c5bd545c72e2fad4e37c09b89a1984b9a2f46df6aced' '25793edcbac05bb6d17fa9947b52ace4a6b5ccccf7758e22ae9ae022ed089061' 'f6cf6a6f2729db2b9427679acd09520af2cd79fc26900b19a49cead05a55cd1a' '15fdf3fb1a0f1c153c8cfbdd2b5c64035b7a04de618bfe61d7d74ced0d6a5c4b' - '426818278090704d2a12f62ef3dfd94c47b11fa2784bb842989b7f6a09ee7aa2' - '63ea33f98e93be1ffa4ef958a914f08651c5e59bc516ba0dd33f03ff345377c3') + '426818278090704d2a12f62ef3dfd94c47b11fa2784bb842989b7f6a09ee7aa2') # Helper macros to help make tasks easier # @@ -78,10 +76,6 @@ prepare() { # We want cmake to default to something useful and not MSVC apply_patch_with_msg \ 0005-Default-to-ninja-generator.patch - - # https://gitlab.kitware.com/cmake/cmake/-/issues/22939 - apply_patch_with_msg \ - 0006-fix-clang32-crash.patch } build() { diff --git a/mingw-w64-cotire/PKGBUILD b/mingw-w64-cotire/PKGBUILD deleted file mode 100644 index 72171cab97..0000000000 --- a/mingw-w64-cotire/PKGBUILD +++ /dev/null @@ -1,30 +0,0 @@ -# Maintainer: Norbert Pfeiler - -_realname=cotire -pkgbase=mingw-w64-${_realname} -pkgname="$MINGW_PACKAGE_PREFIX-$_realname" -_cotirever=1.8.1 -_cmakever=3.21 -_cmakegooduntil=3.22 -pkgver=${_cotirever}_${_cmakever} -pkgrel=1 -pkgdesc='CMake module to speed up builds (automated PCH, unity builds) (mingw-w64)' -arch=(any) -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') -license=('custom') -conflicts=("$MINGW_PACKAGE_PREFIX-cmake<${_cmakever}" "$MINGW_PACKAGE_PREFIX-cmake>=${_cmakegooduntil}") # the Modules dir changes every major release -url='https://github.com/sakra/cotire' -source=("https://github.com/sakra/cotire/archive/${_realname}-${_cotirever}.tar.gz") -sha256sums=('79b976b9e822941e3e2a3d82881c5fbcfbc971156640cb745e74f845e764f192') - -package() { - cd "${_realname}-${_realname}-${_cotirever}" - - modules_dir="${pkgdir}${MINGW_PREFIX}/share/cmake-${_cmakever}/Modules/" - mkdir -p ${modules_dir} - cp CMake/cotire.cmake ${modules_dir} - - license_dir="${pkgdir}${MINGW_PREFIX}/share/licenses/cotire/" - mkdir -p ${license_dir} - cp license ${license_dir} -} diff --git a/mingw-w64-cppcheck/PKGBUILD b/mingw-w64-cppcheck/PKGBUILD index ee2dbd83cf..a0ff65c159 100644 --- a/mingw-w64-cppcheck/PKGBUILD +++ b/mingw-w64-cppcheck/PKGBUILD @@ -3,7 +3,7 @@ _realname=cppcheck pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=2.6 +pkgver=2.6.3 pkgrel=1 pkgdesc="static analysis of C/C++ code (mingw-w64)" arch=('any') @@ -25,7 +25,7 @@ optdepends=("${MINGW_PACKAGE_PREFIX}-qt5-base: cppcheck-gui" source=(${_realname}-${pkgver}.tar.gz::"https://github.com/danmar/cppcheck/archive/${pkgver}.tar.gz" '001-cppcheck-2.2-change-language-files-path.patch' '002-cppcheck-2.2-change-cfg-path.patch') -sha256sums=('99f0c5cf58a0072876c4deb114f3f5f798c933b8e459cddb00a061c8bb4dd765' +sha256sums=('7a49ebb7a54356ade09867f466cb41ee4020ebf3732582762669e5c8903f16c8' 'e741bfafbeb3ade454a42563a1c4617ae3dc87fd6a6f409e1ae4b735b68997d3' '6f53ad14361717b3f994033483c14ad35c5790f703e03fe8aebaca83936ea61b') diff --git a/mingw-w64-cppcoro/PKGBUILD b/mingw-w64-cppcoro/PKGBUILD index d825cebfd0..ac20eb7f69 100644 --- a/mingw-w64-cppcoro/PKGBUILD +++ b/mingw-w64-cppcoro/PKGBUILD @@ -3,7 +3,7 @@ _realname=cppcoro pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=r390.a87e97f -pkgrel=1 +pkgrel=2 pkgdesc=" A library of C++ coroutine abstractions for the coroutines TS (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -21,19 +21,9 @@ pkgver() { build(){ # replace all std::experimental with std -function scan_dir(){ - for file in `ls $1` - do - if [ -d $1"/"$file ] - then - scan_dir $1"/"$file - else - sed 's/std::experimental/std/g' $1"/"$file | sed 's/experimental\///g' > $1"/"$file - fi - done -} -scan_dir "${srcdir}/cppcoro/include/cppcoro/" + find "${srcdir}/cppcoro/include/cppcoro/" -type f -exec sed -e 's/std::experimental/std/g' -e 's|experimental/||g' -i \{\} \+ } + package() { mkdir -p "${pkgdir}${MINGW_PREFIX}/" cp -r "${srcdir}/cppcoro/include/" "${pkgdir}${MINGW_PREFIX}/include/" diff --git a/mingw-w64-crt-git/PKGBUILD b/mingw-w64-crt-git/PKGBUILD index 508c86617a..c55b433ae3 100644 --- a/mingw-w64-crt-git/PKGBUILD +++ b/mingw-w64-crt-git/PKGBUILD @@ -14,7 +14,7 @@ license=('custom') groups=("${MINGW_PACKAGE_PREFIX}-toolchain") depends=("${MINGW_PACKAGE_PREFIX}-headers-git") makedepends=("git" - "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-binutils" "${MINGW_PACKAGE_PREFIX}-autotools") provides=("${MINGW_PACKAGE_PREFIX}-${_realname}") diff --git a/mingw-w64-delta/PKGBUILD b/mingw-w64-delta/PKGBUILD index e198bed3b7..ea81ef59d3 100644 --- a/mingw-w64-delta/PKGBUILD +++ b/mingw-w64-delta/PKGBUILD @@ -3,7 +3,7 @@ _realname=delta pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=0.7.1 +pkgver=0.11.3 pkgrel=1 pkgdesc='A syntax-highlighting pager for git and diff output (mingw-w64)' arch=('any') @@ -13,27 +13,27 @@ license=('MIT') depends=('git') makedepends=("${MINGW_PACKAGE_PREFIX}-rust") source=("https://github.com/dandavison/delta/archive/refs/tags/$pkgver.tar.gz") -sha256sums=('f432335361088c37f8aa4bb747ba12e1f8eddbbc3ed5c51fdd52d9b96eb22227') +sha256sums=('cf68f43d4d26c10551c0137a7e718719958e52267d83f29a8f7794af12095b9e') prepare() { - cp -r ${_realname}-${pkgver} build-${CARCH} + cp -r ${_realname}-${pkgver} build-${MSYSTEM} ${MINGW_PREFIX}/bin/cargo fetch \ --locked \ - --manifest-path build-${CARCH}/Cargo.toml + --manifest-path build-${MSYSTEM}/Cargo.toml } build() { ${MINGW_PREFIX}/bin/cargo build \ --release \ --frozen \ - --manifest-path build-${CARCH}/Cargo.toml + --manifest-path build-${MSYSTEM}/Cargo.toml } check() { ${MINGW_PREFIX}/bin/cargo test \ --release \ --frozen \ - --manifest-path build-${CARCH}/Cargo.toml + --manifest-path build-${MSYSTEM}/Cargo.toml } package() { @@ -41,7 +41,7 @@ package() { --frozen \ --offline \ --no-track \ - --path build-${CARCH} \ + --path build-${MSYSTEM} \ --root ${pkgdir}${MINGW_PREFIX} install -Dm644 ${_realname}-${pkgver}/LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" diff --git a/mingw-w64-desktop-file-utils/002-install.patch b/mingw-w64-desktop-file-utils/002-install.patch new file mode 100644 index 0000000000..4be510cbfd --- /dev/null +++ b/mingw-w64-desktop-file-utils/002-install.patch @@ -0,0 +1,15 @@ +--- desktop-file-utils-0.26/install.py.orig 2022-01-15 09:26:40.590000000 +0100 ++++ desktop-file-utils-0.26/install.py 2022-01-15 09:30:23.249712200 +0100 +@@ -1,8 +1,9 @@ + #!/usr/bin/env python3 + + import os ++import shutil + +-os.symlink( +- 'desktop-file-install', +- os.getenv('MESON_INSTALL_DESTDIR_PREFIX') + '/bin/desktop-file-edit' ++shutil.copy( ++ os.getenv('MESON_INSTALL_DESTDIR_PREFIX') + '/bin/desktop-file-install.exe', ++ os.getenv('MESON_INSTALL_DESTDIR_PREFIX') + '/bin/desktop-file-edit.exe' + ) diff --git a/mingw-w64-desktop-file-utils/PKGBUILD b/mingw-w64-desktop-file-utils/PKGBUILD index c7f9687c0f..8caf9e945d 100644 --- a/mingw-w64-desktop-file-utils/PKGBUILD +++ b/mingw-w64-desktop-file-utils/PKGBUILD @@ -4,51 +4,49 @@ _realname=desktop-file-utils pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=0.26 -pkgrel=1 +pkgrel=2 arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') pkgdesc="Utilities for .desktop files (mingw-w64)" -depends=("${MINGW_PACKAGE_PREFIX}-glib2" - "${MINGW_PACKAGE_PREFIX}-gtk3" - "${MINGW_PACKAGE_PREFIX}-libxml2") -makedepends=("gtk-doc" - "${MINGW_PACKAGE_PREFIX}-vala" - "${MINGW_PACKAGE_PREFIX}-gobject-introspection" - "${MINGW_PACKAGE_PREFIX}-cc" - "${MINGW_PACKAGE_PREFIX}-autotools") -options=('!strip' 'debug' 'staticlibs') +depends=("${MINGW_PACKAGE_PREFIX}-glib2") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-meson" + "${MINGW_PACKAGE_PREFIX}-pkg-config" + "${MINGW_PACKAGE_PREFIX}-ninja") license=("LGPL 2.1") url="https://www.gnome.org/" source=(https://www.freedesktop.org/software/${_realname}/releases/desktop-file-utils-${pkgver}.tar.xz - 001-win.patch) + 001-win.patch + 002-install.patch) sha256sums=('b26dbde79ea72c8c84fb7f9d870ffd857381d049a86d25e0038c4cef4c747309' - '477686cf08eaf80f5ee7f474cd6fb67361539f625c88fb9483ce600c5c8a73df') + '477686cf08eaf80f5ee7f474cd6fb67361539f625c88fb9483ce600c5c8a73df' + 'd0fb777a741b3fbe1b92ae8b7855bbefb229e244c2c4a3af842f180e610f2fa1') prepare() { cd ${_realname}-${pkgver} patch -b -V simple -p1 -i ${srcdir}/001-win.patch - - autoreconf -fi + patch -b -V simple -p1 -i ${srcdir}/002-install.patch } build() { - [[ -d build-${MINGW_CHOST} ]] && rm -rf build-${MINGW_CHOST} - mkdir -p build-${MINGW_CHOST} - cd build-${MINGW_CHOST} + mkdir -p build-${MSYSTEM} && cd build-${MSYSTEM} - ../${_realname}-${pkgver}/configure \ - --host=${MINGW_CHOST} \ - --target=${MINGW_CHOST} \ - --build=${MINGW_CHOST} \ - --prefix=${MINGW_PREFIX} \ - --libexecdir=${MINGW_PREFIX}/lib - make + MSYS2_ARG_CONV_EXCL="--prefix=" \ + meson \ + --prefix="${MINGW_PREFIX}" \ + --wrap-mode=nodownload \ + --auto-features=enabled \ + --buildtype=plain \ + ../${_realname}-${pkgver} + + meson compile } package() { - cd "$srcdir/build-${MINGW_CHOST}" - make DESTDIR=$pkgdir install + cd "$srcdir/build-${MSYSTEM}" + + DESTDIR="${pkgdir}" meson install install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING" } diff --git a/mingw-w64-dosbox/PKGBUILD b/mingw-w64-dosbox/PKGBUILD index 41cb95b01b..8159f805b0 100644 --- a/mingw-w64-dosbox/PKGBUILD +++ b/mingw-w64-dosbox/PKGBUILD @@ -4,13 +4,13 @@ _realname=dosbox _forkname=dosbox-staging pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=0.77.0 +pkgver=0.78.1 pkgrel=1 pkgdesc="Emulator with builtin DOS for running DOS Games (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url='https://github.com/dosbox-staging/dosbox-staging' -license=('GPL2') +license=('spdx:GPL-2.0-or-later') depends=( "${MINGW_PACKAGE_PREFIX}-fluidsynth" "${MINGW_PACKAGE_PREFIX}-libpng" @@ -18,6 +18,7 @@ depends=( "${MINGW_PACKAGE_PREFIX}-SDL2" "${MINGW_PACKAGE_PREFIX}-SDL2_net" "${MINGW_PACKAGE_PREFIX}-zlib" + "${MINGW_PACKAGE_PREFIX}-libslirp" "${MINGW_PACKAGE_PREFIX}-munt-mt32emu" ) makedepends=("${MINGW_PACKAGE_PREFIX}-meson" @@ -25,7 +26,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-meson" "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-pkg-config") source=("https://github.com/dosbox-staging/dosbox-staging/archive/refs/tags/v${pkgver}.tar.gz") -sha256sums=('85e1739f5dfd7d96b752b2b0e12aad6f95c7770b47fcdaf978d4128d7890d986') +sha256sums=('dcd93ce27f5f3f31e7022288f7cbbc1f1f6eb7cc7150c2c085eeff8ba76c3690') prepare() { cd "${srcdir}/${_forkname}-${pkgver}" diff --git a/mingw-w64-dust/PKGBUILD b/mingw-w64-dust/PKGBUILD index 9dfdec4ca3..afaaf73143 100644 --- a/mingw-w64-dust/PKGBUILD +++ b/mingw-w64-dust/PKGBUILD @@ -3,7 +3,7 @@ _realname=dust pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.5.4 +pkgver=0.7.5 pkgrel=1 pkgdesc="A more intuitive version of du in rust (mingw-w64)" arch=('any') @@ -16,7 +16,7 @@ makedepends=( depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") options=('staticlibs' 'strip') source=("${_realname}-${pkgver}.tar.gz::${url}/archive/refs/tags/v${pkgver}.tar.gz") -sha256sums=('395f0d5f44d5000468dc51a195e4b8e8c0b710a1c75956fb1f9ad08f2fbbc935') +sha256sums=('f892aaf7a0a7852e12d01b2ced6c2484fb6dc5fe7562abdf0c44a2d08aa52618') prepare() { cp -r ${_realname}-${pkgver} build-${CARCH} @@ -28,11 +28,13 @@ prepare() { build() { ${MINGW_PREFIX}/bin/cargo build \ --release \ + --frozen \ --manifest-path build-${CARCH}/Cargo.toml } package() { ${MINGW_PREFIX}/bin/cargo install \ + --frozen \ --offline \ --no-track \ --path build-${CARCH} \ diff --git a/mingw-w64-ebook-tools/PKGBUILD b/mingw-w64-ebook-tools/PKGBUILD new file mode 100644 index 0000000000..6f5a15b076 --- /dev/null +++ b/mingw-w64-ebook-tools/PKGBUILD @@ -0,0 +1,56 @@ +# Maintainer: Biswapriyo Nath + +_realname=ebook-tools +pkgbase=mingw-w64-${_realname} +pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" +pkgver=0.2.2 +pkgrel=1 +pkgdesc="Tools for accessing and converting various ebook file formats (mingw-w64)" +arch=('any') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +url="https://sourceforge.net/projects/ebook-tools/" +license=('spdx:MIT') +depends=("${MINGW_PACKAGE_PREFIX}-libzip" + "${MINGW_PACKAGE_PREFIX}-libxml2") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-ninja") +source=("https://downloads.sourceforge.net/${_realname}/${_realname}-${pkgver}.tar.gz" + crash-fix.patch) +sha256sums=('cbc35996e911144fa62925366ad6a6212d6af2588f1e39075954973bbee627ae' + 'ad556ce08909727a6022c9f1632086ccb8623a81a4f39cd34722e22116e14527') + +prepare() { + cd "${_realname}-${pkgver}" + + # https://sourceforge.net/p/ebook-tools/bugs/8/ + patch -p2 -i "${srcdir}/crash-fix.patch" +} + +build() { + declare -a _extra_config + if check_option "debug" "n"; then + _extra_config+=("-DCMAKE_BUILD_TYPE=Release") + else + _extra_config+=("-DCMAKE_BUILD_TYPE=Debug") + fi + + [[ -d "${srcdir}/build-${MSYSTEM}" ]] && rm -rf "${srcdir}/build-${MSYSTEM}" + mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" + + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake.exe \ + -G "Ninja" \ + "${_extra_config[@]}" \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + ../${_realname}-${pkgver} + + ${MINGW_PREFIX}/bin/cmake.exe --build ./ +} + +package() { + cd "${srcdir}/build-${MSYSTEM}" + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./ + + install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" +} diff --git a/mingw-w64-ebook-tools/crash-fix.patch b/mingw-w64-ebook-tools/crash-fix.patch new file mode 100644 index 0000000000..2389d299cf --- /dev/null +++ b/mingw-w64-ebook-tools/crash-fix.patch @@ -0,0 +1,51 @@ +From 93ebf942a90f9c95797838f9adab94bc0378671c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Tue, 30 Apr 2019 16:36:09 +0200 +Subject: [PATCH] Avoid crash on toc.ncx navPoint without navLabel + +Althoug at least one navLabel is required per navPoint, there is no +guarantee it actually exists. + +Avoid crashes due to invalid accesses of a null label in case the toc is +broken, and spew a warning. + +Fixes #8 epub_tit_next crashes on navPoint without navLabel. +--- + ebook-tools/src/libepub/epub.c | 5 +++-- + ebook-tools/src/libepub/opf.c | 4 ++++ + 2 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/ebook-tools/src/libepub/epub.c b/ebook-tools/src/libepub/epub.c +index d085503..a259d9d 100644 +--- a/ebook-tools/src/libepub/epub.c ++++ b/ebook-tools/src/libepub/epub.c +@@ -469,8 +469,9 @@ int epub_tit_next(struct titerator *tit) { + case TITERATOR_NAVMAP: + case TITERATOR_PAGES: + ti = GetNodeData(curr); +- tit->cache.label = +- (char *)_opf_label_get_by_doc_lang(tit->epub->opf, ti->label); ++ if (ti->label) ++ tit->cache.label = ++ (char *)_opf_label_get_by_doc_lang(tit->epub->opf, ti->label); + + if (! tit->cache.label) + tit->cache.label = (char *)ti->id; +diff --git a/ebook-tools/src/libepub/opf.c b/ebook-tools/src/libepub/opf.c +index 6851db2..09bce9e 100644 +--- a/ebook-tools/src/libepub/opf.c ++++ b/ebook-tools/src/libepub/opf.c +@@ -398,6 +398,10 @@ void _opf_parse_navmap(struct opf *opf, xmlTextReaderPtr reader) { + + } else if (xmlTextReaderNodeType(reader) == 15) { + if (item) { ++ if (! item->label) { ++ _epub_print_debug(opf->epub, DEBUG_WARNING, ++ "- missing navlabel for nav point element"); ++ } + _epub_print_debug(opf->epub, DEBUG_INFO, + "adding nav point item->%s %s (d:%d,p:%d)", + item->id, item->src, item->depth, item->playOrder); +-- +2.21.0 + diff --git a/mingw-w64-eigen3/PKGBUILD b/mingw-w64-eigen3/PKGBUILD index 607169bc8d..8b71422b7e 100644 --- a/mingw-w64-eigen3/PKGBUILD +++ b/mingw-w64-eigen3/PKGBUILD @@ -15,7 +15,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-doxygen" "${MINGW_PACKAGE_PREFIX}-fftw" "${MINGW_PACKAGE_PREFIX}-boost" - "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-mpfr") source=("https://gitlab.com/libeigen/eigen/-/archive/${pkgver}/eigen-${pkgver}.tar.bz2" 'eigen-3.1.2_osversion.patch' diff --git a/mingw-w64-emacs-pdf-tools-server/PKGBUILD b/mingw-w64-emacs-pdf-tools-server/PKGBUILD index 339b725648..360d3f142e 100644 --- a/mingw-w64-emacs-pdf-tools-server/PKGBUILD +++ b/mingw-w64-emacs-pdf-tools-server/PKGBUILD @@ -3,12 +3,12 @@ _realname=emacs-pdf-tools-server pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.80.r235.ga8847b7 -pkgrel=2 +pkgver=0.91 +pkgrel=1 pkgdesc="Emacs support library for PDF files" -_commit="a8847b75d3487d60e27762816bdbdd23b6dc1c11" -source=("${_realname}::git+https://github.com/vedang/pdf-tools.git#commit=${_commit}") -sha256sums=("SKIP") +source=("${_realname}-${pkgver}.tar.gz::https://github.com/vedang/pdf-tools/archive/refs/tags/v${pkgver}.tar.gz") +noextract=(${_realname}-${pkgver}.tar.gz) +sha256sums=("93f88d27e7910b76ffe2c506670d685b41c0b2cd3086543971d0c700c9eadee3") arch=("any") url="https://github.com/vedang/pdf-tools" license=("GPL3") @@ -22,23 +22,24 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-emacs" "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") -pkgver() { - cd "${srcdir}/${_realname}" - - git describe --long "${_commit}" | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//g' -} - prepare() { - cd "${srcdir}/${_realname}/server" + # Workaround for symlinks in tarball and the different package and git repo + # names. + mkdir -p "${srcdir}/${_realname}-${pkgver}" + tar xzf "${srcdir}/${_realname}-${pkgver}.tar.gz" \ + -C "${srcdir}/${_realname}-${pkgver}" \ + --strip-components=1 \ + --exclude "README*" + + cd "${srcdir}/${_realname}-${pkgver}/server" autoreconf -fvi } build() { - cd "${srcdir}/${_realname}" mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" - ../"${_realname}"/server/configure \ + ../"${_realname}-${pkgver}"/server/configure \ --prefix="${MINGW_PREFIX}" \ --build="${MINGW_CHOST}" \ --host="${MINGW_CHOST}" \ diff --git a/mingw-w64-ensmallen/PKGBUILD b/mingw-w64-ensmallen/PKGBUILD index f69152c13e..1575dd3ca3 100644 --- a/mingw-w64-ensmallen/PKGBUILD +++ b/mingw-w64-ensmallen/PKGBUILD @@ -13,7 +13,7 @@ license=('BSD') depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-armadillo" "${MINGW_PACKAGE_PREFIX}-openblas") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-doxygen") source=("https://www.ensmallen.org/files/ensmallen-${pkgver}.tar.gz") diff --git a/mingw-w64-entt/PKGBUILD b/mingw-w64-entt/PKGBUILD index 434e515689..d886e499bd 100644 --- a/mingw-w64-entt/PKGBUILD +++ b/mingw-w64-entt/PKGBUILD @@ -1,7 +1,9 @@ +# Maintainer: Biswapriyo Nath + _realname=entt pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=3.7.1 +pkgver=3.9.0 pkgrel=1 pkgdesc="A fast and reliable entity-component system" arch=('any') @@ -9,11 +11,12 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://github.com/skypjack/entt" license=('MIT') makedepends=( + "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" ) -source=("https://github.com/skypjack/entt/archive/refs/tags/v${pkgver}.tar.gz") -sha256sums=('FE3CE773C17797C0C57FFA97F73902854FCC8E7AFC7E09BEA373E0C64FA24A23') +source=("${_realname}-${pkgver}.tar.gz::https://github.com/skypjack/entt/archive/refs/tags/v${pkgver}.tar.gz") +sha256sums=('1b06f1f6627c3702486855877bdeab6885f5d821d3dd78862126d4308c627c23') prepare() { cd "${srcdir}/${_realname}-${pkgver}" diff --git a/mingw-w64-expat/002-fix-tests.patch b/mingw-w64-expat/002-fix-tests.patch deleted file mode 100644 index 5e428f5a41..0000000000 --- a/mingw-w64-expat/002-fix-tests.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- expat-2.2.1/run.sh.in.orig 2017-06-26 02:47:32.339456800 -0400 -+++ expat-2.2.1/run.sh.in 2017-06-26 02:55:25.747253400 -0400 -@@ -4,7 +4,11 @@ - - case "@host@" in - *-mingw*) -- exec wine "$@" -+ if [ "$(uname -o)"=="Msys" ]; then -+ exec "$@" -+ else -+ exec wine "$@" -+ fi - ;; - *) - exec "$@" diff --git a/mingw-w64-expat/PKGBUILD b/mingw-w64-expat/PKGBUILD index 598c63cb97..b89511fe05 100644 --- a/mingw-w64-expat/PKGBUILD +++ b/mingw-w64-expat/PKGBUILD @@ -4,23 +4,23 @@ _realname=expat pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.4.2 +pkgver=2.4.4 pkgrel=1 pkgdesc="An XML parser library (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://libexpat.github.io/" -license=(MIT) +license=('spdx:MIT') makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") options=('strip' 'staticlibs') -source=("https://github.com/libexpat/libexpat/releases/download/R_${pkgver//./_}/expat-${pkgver}.tar.xz" - 002-fix-tests.patch) -sha256sums=('bc2ff58f49c29aac7bff705a6c167a821f26c512079ff08ac432fd0fdc9bb199' - 'abcf34b90ed801cc2810f6d333bca2997aadfe95dbedd1509bd54c14ecca1042') +source=("https://github.com/libexpat/libexpat/releases/download/R_${pkgver//./_}/expat-${pkgver}.tar.xz"{,.asc}) +sha256sums=('b5d25d6e373351c2ed19b562b4732d01d2589ac8c8e9e7962d8df1207cc311b8' + 'SKIP') +validpgpkeys=('3176EF7DB2367F1FCA4F306B1F9B0E909AF37285') # Sebastian Pipping prepare() { cd "${srcdir}/${_realname}-${pkgver}" - patch -p1 -i "${srcdir}/002-fix-tests.patch" + autoreconf -fiv } diff --git a/mingw-w64-f2cblaslapack/PKGBUILD b/mingw-w64-f2cblaslapack/PKGBUILD index c12ce1c1d5..3903c695bf 100644 --- a/mingw-w64-f2cblaslapack/PKGBUILD +++ b/mingw-w64-f2cblaslapack/PKGBUILD @@ -4,21 +4,45 @@ _realname=f2cblaslapack pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=3.4.2.q4 -pkgrel=1 +pkgrel=2 pkgdesc="f2c BLAS/LAPACK (mingw-w64)" -provides=("${MINGW_PACKAGE_PREFIX}-lapack") +provides=($([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] && echo "${MINGW_PACKAGE_PREFIX}-lapack")) arch=('any') mingw_arch=('clang64' 'clang32') url='https://www.petsc.org/' # Part of petsc -license=('2-clause BSD') +license=('spdx:BSD-2-Clause') source=("http://ftp.mcs.anl.gov/pub/petsc/externalpackages/${_realname}-${pkgver}.tar.gz" - 001-no-petsc-conf.patch) + 001-no-petsc-conf.patch + libf2cblas-i686.def + libf2cblas-x86_64.def + libf2clapack-i686.def + libf2clapack-x86_64.def) sha256sums=('41a43c6f2514ab34bf55aca5474b875882c7d4cd70c76bf4bc7ac433e6c2003e' - '7a77aa2621945d2103bb85735b0e9d08526e1943b7f055c1ee7680fd401064f1') + '7a77aa2621945d2103bb85735b0e9d08526e1943b7f055c1ee7680fd401064f1' + '75612d7dc28d0e061fb249012678e1773cae26c8f043c529a9f559eba8cdce71' + '8e3dfdb8372c22a817fbacba2279e70d7e7dd74ae72bdf43d91ac05e26b27395' + 'e33ae1f3db1a8d8859b010b5cf889bf0227dcd3b458dcd3430b2f5a96fd06171' + '16718ef5fc6c7166c32984e8efe630bbda972bc81e8768c36ed0289c2118321a') +makedepends=("make" + "${MINGW_PACKAGE_PREFIX}-cc") prepare() { cd "${srcdir}"/${_realname}-${pkgver} patch -p1 -i "${srcdir}"/001-no-petsc-conf.patch + + # The following .def files were created in the MINGW32 or MINGW64 + # environments, respectively. They have been slightly adapted for line + # endings and formatting. + # Commands used after the static libraries have been built: + # dlltool --export-all-symbols -z blas/libf2cblas.def libf2cblas.a + # dlltool --export-all-symbols -z lapack/libf2clapack.def libf2clapack.a + if [[ "${CARCH}" == "i686" ]]; then + cp "${srcdir}"/libf2cblas-i686.def "${srcdir}"/${_realname}-${pkgver}/blas/libf2cblas.def + cp "${srcdir}"/libf2clapack-i686.def "${srcdir}"/${_realname}-${pkgver}/lapack/libf2clapack.def + else + cp "${srcdir}"/libf2cblas-x86_64.def "${srcdir}"/${_realname}-${pkgver}/blas/libf2cblas.def + cp "${srcdir}"/libf2clapack-x86_64.def "${srcdir}"/${_realname}-${pkgver}/lapack/libf2clapack.def + fi } build() { @@ -26,10 +50,32 @@ build() { cp -r "${srcdir}"/${_realname}-${pkgver} "${srcdir}"/build-${MSYSTEM} && cd "${srcdir}"/build-${MSYSTEM} make + + # link shared libraries + ${CC} -shared \ + -Wl,--export-all-symbols -Wl,--whole-archive libf2cblas.a -Wl,--no-whole-archive -Wl,blas/libf2cblas.def \ + -o libf2cblas.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker libf2cblas.dll.a + ${CC} -shared \ + -Wl,--export-all-symbols -Wl,--whole-archive libf2clapack.a -Wl,--no-whole-archive -Wl,lapack/libf2clapack.def -L. -lf2cblas \ + -o libf2clapack.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker libf2clapack.dll.a } package() { cd "${srcdir}"/build-${MSYSTEM} - install -Dm644 libf2cblas.a "${pkgdir}"${MINGW_PREFIX}/lib/libblas.a - install -Dm644 libf2clapack.a "${pkgdir}"${MINGW_PREFIX}/lib/liblapack.a + install -Dm644 libf2cblas.a "${pkgdir}"${MINGW_PREFIX}/lib/libf2cblas.a + install -Dm644 libf2clapack.a "${pkgdir}"${MINGW_PREFIX}/lib/libf2clapack.a + install -Dm644 libf2cblas.dll.a "${pkgdir}"${MINGW_PREFIX}/lib/libf2cblas.dll.a + install -Dm644 libf2clapack.dll.a "${pkgdir}"${MINGW_PREFIX}/lib/libf2clapack.dll.a + install -Dm644 libf2cblas.dll "${pkgdir}"${MINGW_PREFIX}/bin/libf2cblas.dll + install -Dm644 libf2clapack.dll "${pkgdir}"${MINGW_PREFIX}/bin/libf2clapack.dll + + if [[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]]; then + # "pretend" to be reference BLAS/LAPACK + install -Dm644 libf2cblas.a "${pkgdir}"${MINGW_PREFIX}/lib/libblas.a + install -Dm644 libf2clapack.a "${pkgdir}"${MINGW_PREFIX}/lib/liblapack.a + install -Dm644 libf2cblas.dll.a "${pkgdir}"${MINGW_PREFIX}/lib/libblas.dll.a + install -Dm644 libf2clapack.dll.a "${pkgdir}"${MINGW_PREFIX}/lib/liblapack.dll.a + install -Dm644 libf2cblas.dll "${pkgdir}"${MINGW_PREFIX}/bin/libblas.dll + install -Dm644 libf2clapack.dll "${pkgdir}"${MINGW_PREFIX}/bin/liblapack.dll + fi } diff --git a/mingw-w64-f2cblaslapack/libf2cblas-i686.def b/mingw-w64-f2cblaslapack/libf2cblas-i686.def new file mode 100644 index 0000000000..b6414cd20b --- /dev/null +++ b/mingw-w64-f2cblaslapack/libf2cblas-i686.def @@ -0,0 +1,160 @@ +; C:\msys64\mingw32\bin\dlltool.exe --export-all-symbols -z blas/libf2cblas.def libf2cblas.a +EXPORTS + caxpy_ @ 1 + ccopy_ @ 2 + cdotc_ @ 3 + cdotu_ @ 4 + cgbmv_ @ 5 + cgemm_ @ 6 + cgemv_ @ 7 + cgerc_ @ 8 + cgeru_ @ 9 + chbmv_ @ 10 + chemm_ @ 11 + chemv_ @ 12 + cher2_ @ 13 + cher2k_ @ 14 + cher_ @ 15 + cherk_ @ 16 + chpmv_ @ 17 + chpr2_ @ 18 + chpr_ @ 19 + crotg_ @ 20 + cscal_ @ 21 + csrot_ @ 22 + csscal_ @ 23 + cswap_ @ 24 + csymm_ @ 25 + csyr2k_ @ 26 + csyrk_ @ 27 + ctbmv_ @ 28 + ctbsv_ @ 29 + ctpmv_ @ 30 + ctpsv_ @ 31 + ctrmm_ @ 32 + ctrmv_ @ 33 + ctrsm_ @ 34 + ctrsv_ @ 35 + dasum_ @ 36 + daxpy_ @ 37 + dcabs1_ @ 38 + dcopy_ @ 39 + ddot_ @ 40 + df__cabs @ 41 + dgbmv_ @ 42 + dgemm_ @ 43 + dgemv_ @ 44 + dger_ @ 45 + dmaxloc_ @ 46 + dnrm2_ @ 47 + dpow_ui @ 48 + drot_ @ 49 + drotg_ @ 50 + drotm_ @ 51 + drotmg_ @ 52 + dsbmv_ @ 53 + dscal_ @ 54 + dsdot_ @ 55 + dspmv_ @ 56 + dspr2_ @ 57 + dspr_ @ 58 + dswap_ @ 59 + dsymm_ @ 60 + dsymv_ @ 61 + dsyr2_ @ 62 + dsyr2k_ @ 63 + dsyr_ @ 64 + dsyrk_ @ 65 + dtbmv_ @ 66 + dtbsv_ @ 67 + dtpmv_ @ 68 + dtpsv_ @ 69 + dtrmm_ @ 70 + dtrmv_ @ 71 + dtrsm_ @ 72 + dtrsv_ @ 73 + dzasum_ @ 74 + dznrm2_ @ 75 + icamax_ @ 76 + idamax_ @ 77 + isamax_ @ 78 + izamax_ @ 79 + lsame_ @ 80 + pow_ii @ 81 + sasum_ @ 82 + saxpy_ @ 83 + scabs1_ @ 84 + scasum_ @ 85 + scnrm2_ @ 86 + scopy_ @ 87 + sdot_ @ 88 + sdsdot_ @ 89 + sf__cabs @ 90 + sgbmv_ @ 91 + sgemm_ @ 92 + sgemv_ @ 93 + sger_ @ 94 + smaxloc_ @ 95 + snrm2_ @ 96 + spow_ui @ 97 + srot_ @ 98 + srotg_ @ 99 + srotm_ @ 100 + srotmg_ @ 101 + ssbmv_ @ 102 + sscal_ @ 103 + sspmv_ @ 104 + sspr2_ @ 105 + sspr_ @ 106 + sswap_ @ 107 + ssymm_ @ 108 + ssymv_ @ 109 + ssyr2_ @ 110 + ssyr2k_ @ 111 + ssyr_ @ 112 + ssyrk_ @ 113 + stbmv_ @ 114 + stbsv_ @ 115 + stpmv_ @ 116 + stpsv_ @ 117 + strmm_ @ 118 + strmv_ @ 119 + strsm_ @ 120 + strsv_ @ 121 + xerbla_ @ 122 + xerbla_array_ @ 123 + zaxpy_ @ 124 + zcopy_ @ 125 + zdotc_ @ 126 + zdotu_ @ 127 + zdrot_ @ 128 + zdscal_ @ 129 + zgbmv_ @ 130 + zgemm_ @ 131 + zgemv_ @ 132 + zgerc_ @ 133 + zgeru_ @ 134 + zhbmv_ @ 135 + zhemm_ @ 136 + zhemv_ @ 137 + zher2_ @ 138 + zher2k_ @ 139 + zher_ @ 140 + zherk_ @ 141 + zhpmv_ @ 142 + zhpr2_ @ 143 + zhpr_ @ 144 + zrotg_ @ 145 + zscal_ @ 146 + zswap_ @ 147 + zsymm_ @ 148 + zsyr2k_ @ 149 + zsyrk_ @ 150 + ztbmv_ @ 151 + ztbsv_ @ 152 + ztpmv_ @ 153 + ztpsv_ @ 154 + ztrmm_ @ 155 + ztrmv_ @ 156 + ztrsm_ @ 157 + ztrsv_ @ 158 diff --git a/mingw-w64-f2cblaslapack/libf2cblas-x86_64.def b/mingw-w64-f2cblaslapack/libf2cblas-x86_64.def new file mode 100644 index 0000000000..6ed040a903 --- /dev/null +++ b/mingw-w64-f2cblaslapack/libf2cblas-x86_64.def @@ -0,0 +1,159 @@ +EXPORTS +caxpy_ +ccopy_ +cdotc_ +cdotu_ +cgbmv_ +cgemm_ +cgemv_ +cgerc_ +cgeru_ +chbmv_ +chemm_ +chemv_ +cher2_ +cher2k_ +cher_ +cherk_ +chpmv_ +chpr2_ +chpr_ +crotg_ +cscal_ +csrot_ +csscal_ +cswap_ +csymm_ +csyr2k_ +csyrk_ +ctbmv_ +ctbsv_ +ctpmv_ +ctpsv_ +ctrmm_ +ctrmv_ +ctrsm_ +ctrsv_ +icamax_ +isamax_ +sasum_ +saxpy_ +scabs1_ +scasum_ +scnrm2_ +scopy_ +sdot_ +sgbmv_ +sgemm_ +sgemv_ +sger_ +snrm2_ +srot_ +srotg_ +srotm_ +srotmg_ +ssbmv_ +sscal_ +sspmv_ +sspr2_ +sspr_ +sswap_ +ssymm_ +ssymv_ +ssyr2_ +ssyr2k_ +ssyr_ +ssyrk_ +stbmv_ +stbsv_ +stpmv_ +stpsv_ +strmm_ +strmv_ +strsm_ +strsv_ +dasum_ +daxpy_ +dcabs1_ +dcopy_ +ddot_ +dgbmv_ +dgemm_ +dgemv_ +dger_ +dnrm2_ +drot_ +drotg_ +drotm_ +drotmg_ +dsbmv_ +dscal_ +dsdot_ +dspmv_ +dspr2_ +dspr_ +dswap_ +dsymm_ +dsymv_ +dsyr2_ +dsyr2k_ +dsyr_ +dsyrk_ +dtbmv_ +dtbsv_ +dtpmv_ +dtpsv_ +dtrmm_ +dtrmv_ +dtrsm_ +dtrsv_ +dzasum_ +dznrm2_ +idamax_ +izamax_ +sdsdot_ +zaxpy_ +zcopy_ +zdotc_ +zdotu_ +zdrot_ +zdscal_ +zgbmv_ +zgemm_ +zgemv_ +zgerc_ +zgeru_ +zhbmv_ +zhemm_ +zhemv_ +zher2_ +zher2k_ +zher_ +zherk_ +zhpmv_ +zhpr2_ +zhpr_ +zrotg_ +zscal_ +zswap_ +zsymm_ +zsyr2k_ +zsyrk_ +ztbmv_ +ztbsv_ +ztpmv_ +ztpsv_ +ztrmm_ +ztrmv_ +ztrsm_ +ztrsv_ +pow_ii +spow_ui +smaxloc_ +sf__cabs +dpow_ui +dmaxloc_ +df__cabs +lsame_ +xerbla_array_ +xerbla_ diff --git a/mingw-w64-f2cblaslapack/libf2clapack-i686.def b/mingw-w64-f2cblaslapack/libf2clapack-i686.def new file mode 100644 index 0000000000..02dadd6e79 --- /dev/null +++ b/mingw-w64-f2cblaslapack/libf2clapack-i686.def @@ -0,0 +1,1556 @@ +; C:\msys64\mingw32\bin\dlltool.exe --export-all-symbols -z lapack/libf2clapack.def libf2clapack.a +EXPORTS + cbbcsd_ @ 1 + cbdsqr_ @ 2 + cgbbrd_ @ 3 + cgbcon_ @ 4 + cgbequ_ @ 5 + cgbequb_ @ 6 + cgbrfs_ @ 7 + cgbsv_ @ 8 + cgbsvx_ @ 9 + cgbtf2_ @ 10 + cgbtrf_ @ 11 + cgbtrs_ @ 12 + cgebak_ @ 13 + cgebal_ @ 14 + cgebd2_ @ 15 + cgebrd_ @ 16 + cgecon_ @ 17 + cgeequ_ @ 18 + cgeequb_ @ 19 + cgees_ @ 20 + cgeesx_ @ 21 + cgeev_ @ 22 + cgeevx_ @ 23 + cgegs_ @ 24 + cgegv_ @ 25 + cgehd2_ @ 26 + cgehrd_ @ 27 + cgelq2_ @ 28 + cgelqf_ @ 29 + cgels_ @ 30 + cgelsd_ @ 31 + cgelss_ @ 32 + cgelsx_ @ 33 + cgelsy_ @ 34 + cgemqrt_ @ 35 + cgeql2_ @ 36 + cgeqlf_ @ 37 + cgeqp3_ @ 38 + cgeqpf_ @ 39 + cgeqr2_ @ 40 + cgeqr2p_ @ 41 + cgeqrf_ @ 42 + cgeqrfp_ @ 43 + cgeqrt2_ @ 44 + cgeqrt3_ @ 45 + cgeqrt_ @ 46 + cgerfs_ @ 47 + cgerq2_ @ 48 + cgerqf_ @ 49 + cgesc2_ @ 50 + cgesdd_ @ 51 + cgesv_ @ 52 + cgesvd_ @ 53 + cgesvx_ @ 54 + cgetc2_ @ 55 + cgetf2_ @ 56 + cgetrf_ @ 57 + cgetri_ @ 58 + cgetrs_ @ 59 + cggbak_ @ 60 + cggbal_ @ 61 + cgges_ @ 62 + cggesx_ @ 63 + cggev_ @ 64 + cggevx_ @ 65 + cggglm_ @ 66 + cgghrd_ @ 67 + cgglse_ @ 68 + cggqrf_ @ 69 + cggrqf_ @ 70 + cggsvd_ @ 71 + cggsvp_ @ 72 + cgtcon_ @ 73 + cgtrfs_ @ 74 + cgtsv_ @ 75 + cgtsvx_ @ 76 + cgttrf_ @ 77 + cgttrs_ @ 78 + cgtts2_ @ 79 + chbev_ @ 80 + chbevd_ @ 81 + chbevx_ @ 82 + chbgst_ @ 83 + chbgv_ @ 84 + chbgvd_ @ 85 + chbgvx_ @ 86 + chbtrd_ @ 87 + checon_ @ 88 + cheequb_ @ 89 + cheev_ @ 90 + cheevd_ @ 91 + cheevr_ @ 92 + cheevx_ @ 93 + chegs2_ @ 94 + chegst_ @ 95 + chegv_ @ 96 + chegvd_ @ 97 + chegvx_ @ 98 + cherfs_ @ 99 + chesv_ @ 100 + chesvx_ @ 101 + cheswapr_ @ 102 + chetd2_ @ 103 + chetf2_ @ 104 + chetrd_ @ 105 + chetrf_ @ 106 + chetri2_ @ 107 + chetri2x_ @ 108 + chetri_ @ 109 + chetrs2_ @ 110 + chetrs_ @ 111 + chfrk_ @ 112 + chgeqz_ @ 113 + chla_transtype__ @ 114 + chpcon_ @ 115 + chpev_ @ 116 + chpevd_ @ 117 + chpevx_ @ 118 + chpgst_ @ 119 + chpgv_ @ 120 + chpgvd_ @ 121 + chpgvx_ @ 122 + chprfs_ @ 123 + chpsv_ @ 124 + chpsvx_ @ 125 + chptrd_ @ 126 + chptrf_ @ 127 + chptri_ @ 128 + chptrs_ @ 129 + chsein_ @ 130 + chseqr_ @ 131 + cla_gerpvgrw__ @ 132 + clabrd_ @ 133 + clacgv_ @ 134 + clacn2_ @ 135 + clacon_ @ 136 + clacp2_ @ 137 + clacpy_ @ 138 + clacrm_ @ 139 + clacrt_ @ 140 + cladiv_ @ 141 + claed0_ @ 142 + claed7_ @ 143 + claed8_ @ 144 + claein_ @ 145 + claesy_ @ 146 + claev2_ @ 147 + clag2z_ @ 148 + clags2_ @ 149 + clagtm_ @ 150 + clahef_ @ 151 + clahqr_ @ 152 + clahr2_ @ 153 + clahrd_ @ 154 + claic1_ @ 155 + clals0_ @ 156 + clalsa_ @ 157 + clalsd_ @ 158 + clangb_ @ 159 + clange_ @ 160 + clangt_ @ 161 + clanhb_ @ 162 + clanhe_ @ 163 + clanhf_ @ 164 + clanhp_ @ 165 + clanhs_ @ 166 + clanht_ @ 167 + clansb_ @ 168 + clansp_ @ 169 + clansy_ @ 170 + clantb_ @ 171 + clantp_ @ 172 + clantr_ @ 173 + clapll_ @ 174 + clapmr_ @ 175 + clapmt_ @ 176 + claqgb_ @ 177 + claqge_ @ 178 + claqhb_ @ 179 + claqhe_ @ 180 + claqhp_ @ 181 + claqp2_ @ 182 + claqps_ @ 183 + claqr0_ @ 184 + claqr1_ @ 185 + claqr2_ @ 186 + claqr3_ @ 187 + claqr4_ @ 188 + claqr5_ @ 189 + claqsb_ @ 190 + claqsp_ @ 191 + claqsy_ @ 192 + clar1v_ @ 193 + clar2v_ @ 194 + clarcm_ @ 195 + clarf_ @ 196 + clarfb_ @ 197 + clarfg_ @ 198 + clarfgp_ @ 199 + clarft_ @ 200 + clarfx_ @ 201 + clargv_ @ 202 + clarnv_ @ 203 + clarrv_ @ 204 + clartg_ @ 205 + clartv_ @ 206 + clarz_ @ 207 + clarzb_ @ 208 + clarzt_ @ 209 + clascl_ @ 210 + claset_ @ 211 + clasr_ @ 212 + classq_ @ 213 + claswp_ @ 214 + clasyf_ @ 215 + clatbs_ @ 216 + clatdf_ @ 217 + clatps_ @ 218 + clatrd_ @ 219 + clatrs_ @ 220 + clatrz_ @ 221 + clatzm_ @ 222 + clauu2_ @ 223 + clauum_ @ 224 + cpbcon_ @ 225 + cpbequ_ @ 226 + cpbrfs_ @ 227 + cpbstf_ @ 228 + cpbsv_ @ 229 + cpbsvx_ @ 230 + cpbtf2_ @ 231 + cpbtrf_ @ 232 + cpbtrs_ @ 233 + cpftrf_ @ 234 + cpftri_ @ 235 + cpftrs_ @ 236 + cpocon_ @ 237 + cpoequ_ @ 238 + cpoequb_ @ 239 + cporfs_ @ 240 + cposv_ @ 241 + cposvx_ @ 242 + cpotf2_ @ 243 + cpotrf_ @ 244 + cpotri_ @ 245 + cpotrs_ @ 246 + cppcon_ @ 247 + cppequ_ @ 248 + cpprfs_ @ 249 + cppsv_ @ 250 + cppsvx_ @ 251 + cpptrf_ @ 252 + cpptri_ @ 253 + cpptrs_ @ 254 + cpstf2_ @ 255 + cpstrf_ @ 256 + cptcon_ @ 257 + cpteqr_ @ 258 + cptrfs_ @ 259 + cptsv_ @ 260 + cptsvx_ @ 261 + cpttrf_ @ 262 + cpttrs_ @ 263 + cptts2_ @ 264 + crot_ @ 265 + cspcon_ @ 266 + cspmv_ @ 267 + cspr_ @ 268 + csprfs_ @ 269 + cspsv_ @ 270 + cspsvx_ @ 271 + csptrf_ @ 272 + csptri_ @ 273 + csptrs_ @ 274 + csrscl_ @ 275 + cstedc_ @ 276 + cstegr_ @ 277 + cstein_ @ 278 + cstemr_ @ 279 + csteqr_ @ 280 + csycon_ @ 281 + csyconv_ @ 282 + csyequb_ @ 283 + csymv_ @ 284 + csyr_ @ 285 + csyrfs_ @ 286 + csysv_ @ 287 + csysvx_ @ 288 + csyswapr_ @ 289 + csytf2_ @ 290 + csytrf_ @ 291 + csytri2_ @ 292 + csytri2x_ @ 293 + csytri_ @ 294 + csytrs2_ @ 295 + csytrs_ @ 296 + ctbcon_ @ 297 + ctbrfs_ @ 298 + ctbtrs_ @ 299 + ctfsm_ @ 300 + ctftri_ @ 301 + ctfttp_ @ 302 + ctfttr_ @ 303 + ctgevc_ @ 304 + ctgex2_ @ 305 + ctgexc_ @ 306 + ctgsen_ @ 307 + ctgsja_ @ 308 + ctgsna_ @ 309 + ctgsy2_ @ 310 + ctgsyl_ @ 311 + ctpcon_ @ 312 + ctpmqrt_ @ 313 + ctpqrt2_ @ 314 + ctpqrt_ @ 315 + ctprfb_ @ 316 + ctprfs_ @ 317 + ctptri_ @ 318 + ctptrs_ @ 319 + ctpttf_ @ 320 + ctpttr_ @ 321 + ctrcon_ @ 322 + ctrevc_ @ 323 + ctrexc_ @ 324 + ctrrfs_ @ 325 + ctrsen_ @ 326 + ctrsna_ @ 327 + ctrsyl_ @ 328 + ctrti2_ @ 329 + ctrtri_ @ 330 + ctrtrs_ @ 331 + ctrttf_ @ 332 + ctrttp_ @ 333 + ctzrqf_ @ 334 + ctzrzf_ @ 335 + cunbdb_ @ 336 + cuncsd_ @ 337 + cung2l_ @ 338 + cung2r_ @ 339 + cungbr_ @ 340 + cunghr_ @ 341 + cungl2_ @ 342 + cunglq_ @ 343 + cungql_ @ 344 + cungqr_ @ 345 + cungr2_ @ 346 + cungrq_ @ 347 + cungtr_ @ 348 + cunm2l_ @ 349 + cunm2r_ @ 350 + cunmbr_ @ 351 + cunmhr_ @ 352 + cunml2_ @ 353 + cunmlq_ @ 354 + cunmql_ @ 355 + cunmqr_ @ 356 + cunmr2_ @ 357 + cunmr3_ @ 358 + cunmrq_ @ 359 + cunmrz_ @ 360 + cunmtr_ @ 361 + cupgtr_ @ 362 + cupmtr_ @ 363 + dbbcsd_ @ 364 + dbdsdc_ @ 365 + dbdsqr_ @ 366 + ddisna_ @ 367 + dgbbrd_ @ 368 + dgbcon_ @ 369 + dgbequ_ @ 370 + dgbequb_ @ 371 + dgbrfs_ @ 372 + dgbsv_ @ 373 + dgbsvx_ @ 374 + dgbtf2_ @ 375 + dgbtrf_ @ 376 + dgbtrs_ @ 377 + dgebak_ @ 378 + dgebal_ @ 379 + dgebd2_ @ 380 + dgebrd_ @ 381 + dgecon_ @ 382 + dgeequ_ @ 383 + dgeequb_ @ 384 + dgees_ @ 385 + dgeesx_ @ 386 + dgeev_ @ 387 + dgeevx_ @ 388 + dgegs_ @ 389 + dgegv_ @ 390 + dgehd2_ @ 391 + dgehrd_ @ 392 + dgejsv_ @ 393 + dgelq2_ @ 394 + dgelqf_ @ 395 + dgels_ @ 396 + dgelsd_ @ 397 + dgelss_ @ 398 + dgelsx_ @ 399 + dgelsy_ @ 400 + dgemqrt_ @ 401 + dgeql2_ @ 402 + dgeqlf_ @ 403 + dgeqp3_ @ 404 + dgeqpf_ @ 405 + dgeqr2_ @ 406 + dgeqr2p_ @ 407 + dgeqrf_ @ 408 + dgeqrfp_ @ 409 + dgeqrt2_ @ 410 + dgeqrt3_ @ 411 + dgeqrt_ @ 412 + dgerfs_ @ 413 + dgerq2_ @ 414 + dgerqf_ @ 415 + dgesc2_ @ 416 + dgesdd_ @ 417 + dgesv_ @ 418 + dgesvd_ @ 419 + dgesvj_ @ 420 + dgesvx_ @ 421 + dgetc2_ @ 422 + dgetf2_ @ 423 + dgetrf_ @ 424 + dgetri_ @ 425 + dgetrs_ @ 426 + dggbak_ @ 427 + dggbal_ @ 428 + dgges_ @ 429 + dggesx_ @ 430 + dggev_ @ 431 + dggevx_ @ 432 + dggglm_ @ 433 + dgghrd_ @ 434 + dgglse_ @ 435 + dggqrf_ @ 436 + dggrqf_ @ 437 + dggsvd_ @ 438 + dggsvp_ @ 439 + dgsvj0_ @ 440 + dgsvj1_ @ 441 + dgtcon_ @ 442 + dgtrfs_ @ 443 + dgtsv_ @ 444 + dgtsvx_ @ 445 + dgttrf_ @ 446 + dgttrs_ @ 447 + dgtts2_ @ 448 + dhgeqz_ @ 449 + dhsein_ @ 450 + dhseqr_ @ 451 + disnan_ @ 452 + dla_gerpvgrw__ @ 453 + dlabad_ @ 454 + dlabrd_ @ 455 + dlacn2_ @ 456 + dlacon_ @ 457 + dlacpy_ @ 458 + dladiv_ @ 459 + dlae2_ @ 460 + dlaebz_ @ 461 + dlaed0_ @ 462 + dlaed1_ @ 463 + dlaed2_ @ 464 + dlaed3_ @ 465 + dlaed4_ @ 466 + dlaed5_ @ 467 + dlaed6_ @ 468 + dlaed7_ @ 469 + dlaed8_ @ 470 + dlaed9_ @ 471 + dlaeda_ @ 472 + dlaein_ @ 473 + dlaev2_ @ 474 + dlaexc_ @ 475 + dlag2_ @ 476 + dlag2s_ @ 477 + dlags2_ @ 478 + dlagtf_ @ 479 + dlagtm_ @ 480 + dlagts_ @ 481 + dlagv2_ @ 482 + dlahqr_ @ 483 + dlahr2_ @ 484 + dlahrd_ @ 485 + dlaic1_ @ 486 + dlaisnan_ @ 487 + dlaln2_ @ 488 + dlals0_ @ 489 + dlalsa_ @ 490 + dlalsd_ @ 491 + dlamc1_ @ 492 + dlamc2_ @ 493 + dlamc3_ @ 494 + dlamc4_ @ 495 + dlamc5_ @ 496 + dlamch_ @ 497 + dlamrg_ @ 498 + dlaneg_ @ 499 + dlangb_ @ 500 + dlange_ @ 501 + dlangt_ @ 502 + dlanhs_ @ 503 + dlansb_ @ 504 + dlansf_ @ 505 + dlansp_ @ 506 + dlanst_ @ 507 + dlansy_ @ 508 + dlantb_ @ 509 + dlantp_ @ 510 + dlantr_ @ 511 + dlanv2_ @ 512 + dlapll_ @ 513 + dlapmr_ @ 514 + dlapmt_ @ 515 + dlapy2_ @ 516 + dlapy3_ @ 517 + dlaqgb_ @ 518 + dlaqge_ @ 519 + dlaqp2_ @ 520 + dlaqps_ @ 521 + dlaqr0_ @ 522 + dlaqr1_ @ 523 + dlaqr2_ @ 524 + dlaqr3_ @ 525 + dlaqr4_ @ 526 + dlaqr5_ @ 527 + dlaqsb_ @ 528 + dlaqsp_ @ 529 + dlaqsy_ @ 530 + dlaqtr_ @ 531 + dlar1v_ @ 532 + dlar2v_ @ 533 + dlarf_ @ 534 + dlarfb_ @ 535 + dlarfg_ @ 536 + dlarfgp_ @ 537 + dlarft_ @ 538 + dlarfx_ @ 539 + dlargv_ @ 540 + dlarnv_ @ 541 + dlarra_ @ 542 + dlarrb_ @ 543 + dlarrc_ @ 544 + dlarrd_ @ 545 + dlarre_ @ 546 + dlarrf_ @ 547 + dlarrj_ @ 548 + dlarrk_ @ 549 + dlarrr_ @ 550 + dlarrv_ @ 551 + dlartg_ @ 552 + dlartgp_ @ 553 + dlartgs_ @ 554 + dlartv_ @ 555 + dlaruv_ @ 556 + dlarz_ @ 557 + dlarzb_ @ 558 + dlarzt_ @ 559 + dlas2_ @ 560 + dlascl_ @ 561 + dlasd0_ @ 562 + dlasd1_ @ 563 + dlasd2_ @ 564 + dlasd3_ @ 565 + dlasd4_ @ 566 + dlasd5_ @ 567 + dlasd6_ @ 568 + dlasd7_ @ 569 + dlasd8_ @ 570 + dlasda_ @ 571 + dlasdq_ @ 572 + dlasdt_ @ 573 + dlaset_ @ 574 + dlasq1_ @ 575 + dlasq2_ @ 576 + dlasq3_ @ 577 + dlasq4_ @ 578 + dlasq5_ @ 579 + dlasq6_ @ 580 + dlasr_ @ 581 + dlasrt_ @ 582 + dlassq_ @ 583 + dlasv2_ @ 584 + dlaswp_ @ 585 + dlasy2_ @ 586 + dlasyf_ @ 587 + dlat2s_ @ 588 + dlatbs_ @ 589 + dlatdf_ @ 590 + dlatps_ @ 591 + dlatrd_ @ 592 + dlatrs_ @ 593 + dlatrz_ @ 594 + dlatzm_ @ 595 + dlauu2_ @ 596 + dlauum_ @ 597 + dopgtr_ @ 598 + dopmtr_ @ 599 + dorbdb_ @ 600 + dorcsd_ @ 601 + dorg2l_ @ 602 + dorg2r_ @ 603 + dorgbr_ @ 604 + dorghr_ @ 605 + dorgl2_ @ 606 + dorglq_ @ 607 + dorgql_ @ 608 + dorgqr_ @ 609 + dorgr2_ @ 610 + dorgrq_ @ 611 + dorgtr_ @ 612 + dorm2l_ @ 613 + dorm2r_ @ 614 + dormbr_ @ 615 + dormhr_ @ 616 + dorml2_ @ 617 + dormlq_ @ 618 + dormql_ @ 619 + dormqr_ @ 620 + dormr2_ @ 621 + dormr3_ @ 622 + dormrq_ @ 623 + dormrz_ @ 624 + dormtr_ @ 625 + dpbcon_ @ 626 + dpbequ_ @ 627 + dpbrfs_ @ 628 + dpbstf_ @ 629 + dpbsv_ @ 630 + dpbsvx_ @ 631 + dpbtf2_ @ 632 + dpbtrf_ @ 633 + dpbtrs_ @ 634 + dpftrf_ @ 635 + dpftri_ @ 636 + dpftrs_ @ 637 + dpocon_ @ 638 + dpoequ_ @ 639 + dpoequb_ @ 640 + dporfs_ @ 641 + dposv_ @ 642 + dposvx_ @ 643 + dpotf2_ @ 644 + dpotrf_ @ 645 + dpotri_ @ 646 + dpotrs_ @ 647 + dppcon_ @ 648 + dppequ_ @ 649 + dpprfs_ @ 650 + dppsv_ @ 651 + dppsvx_ @ 652 + dpptrf_ @ 653 + dpptri_ @ 654 + dpptrs_ @ 655 + dpstf2_ @ 656 + dpstrf_ @ 657 + dptcon_ @ 658 + dpteqr_ @ 659 + dptrfs_ @ 660 + dptsv_ @ 661 + dptsvx_ @ 662 + dpttrf_ @ 663 + dpttrs_ @ 664 + dptts2_ @ 665 + drscl_ @ 666 + dsbev_ @ 667 + dsbevd_ @ 668 + dsbevx_ @ 669 + dsbgst_ @ 670 + dsbgv_ @ 671 + dsbgvd_ @ 672 + dsbgvx_ @ 673 + dsbtrd_ @ 674 + dsfrk_ @ 675 + dsgesv_ @ 676 + dspcon_ @ 677 + dspev_ @ 678 + dspevd_ @ 679 + dspevx_ @ 680 + dspgst_ @ 681 + dspgv_ @ 682 + dspgvd_ @ 683 + dspgvx_ @ 684 + dsposv_ @ 685 + dsprfs_ @ 686 + dspsv_ @ 687 + dspsvx_ @ 688 + dsptrd_ @ 689 + dsptrf_ @ 690 + dsptri_ @ 691 + dsptrs_ @ 692 + dstebz_ @ 693 + dstedc_ @ 694 + dstegr_ @ 695 + dstein_ @ 696 + dstemr_ @ 697 + dsteqr_ @ 698 + dsterf_ @ 699 + dstev_ @ 700 + dstevd_ @ 701 + dstevr_ @ 702 + dstevx_ @ 703 + dsycon_ @ 704 + dsyconv_ @ 705 + dsyequb_ @ 706 + dsyev_ @ 707 + dsyevd_ @ 708 + dsyevr_ @ 709 + dsyevx_ @ 710 + dsygs2_ @ 711 + dsygst_ @ 712 + dsygv_ @ 713 + dsygvd_ @ 714 + dsygvx_ @ 715 + dsyrfs_ @ 716 + dsysv_ @ 717 + dsysvx_ @ 718 + dsyswapr_ @ 719 + dsytd2_ @ 720 + dsytf2_ @ 721 + dsytrd_ @ 722 + dsytrf_ @ 723 + dsytri2_ @ 724 + dsytri2x_ @ 725 + dsytri_ @ 726 + dsytrs2_ @ 727 + dsytrs_ @ 728 + dtbcon_ @ 729 + dtbrfs_ @ 730 + dtbtrs_ @ 731 + dtfsm_ @ 732 + dtftri_ @ 733 + dtfttp_ @ 734 + dtfttr_ @ 735 + dtgevc_ @ 736 + dtgex2_ @ 737 + dtgexc_ @ 738 + dtgsen_ @ 739 + dtgsja_ @ 740 + dtgsna_ @ 741 + dtgsy2_ @ 742 + dtgsyl_ @ 743 + dtpcon_ @ 744 + dtpmqrt_ @ 745 + dtpqrt2_ @ 746 + dtpqrt_ @ 747 + dtprfb_ @ 748 + dtprfs_ @ 749 + dtptri_ @ 750 + dtptrs_ @ 751 + dtpttf_ @ 752 + dtpttr_ @ 753 + dtrcon_ @ 754 + dtrevc_ @ 755 + dtrexc_ @ 756 + dtrrfs_ @ 757 + dtrsen_ @ 758 + dtrsna_ @ 759 + dtrsyl_ @ 760 + dtrti2_ @ 761 + dtrtri_ @ 762 + dtrtrs_ @ 763 + dtrttf_ @ 764 + dtrttp_ @ 765 + dtzrqf_ @ 766 + dtzrzf_ @ 767 + dzsum1_ @ 768 + icmax1_ @ 769 + ieeeck_ @ 770 + ilaclc_ @ 771 + ilaclr_ @ 772 + iladiag_ @ 773 + iladlc_ @ 774 + iladlr_ @ 775 + ilaenv_ @ 776 + ilaprec_ @ 777 + ilaslc_ @ 778 + ilaslr_ @ 779 + ilatrans_ @ 780 + ilauplo_ @ 781 + ilaver_ @ 782 + ilazlc_ @ 783 + ilazlr_ @ 784 + iparmq_ @ 785 + izmax1_ @ 786 + lsamen_ @ 787 + sbbcsd_ @ 788 + sbdsdc_ @ 789 + sbdsqr_ @ 790 + scsum1_ @ 791 + sdisna_ @ 792 + sgbbrd_ @ 793 + sgbcon_ @ 794 + sgbequ_ @ 795 + sgbequb_ @ 796 + sgbrfs_ @ 797 + sgbsv_ @ 798 + sgbsvx_ @ 799 + sgbtf2_ @ 800 + sgbtrf_ @ 801 + sgbtrs_ @ 802 + sgebak_ @ 803 + sgebal_ @ 804 + sgebd2_ @ 805 + sgebrd_ @ 806 + sgecon_ @ 807 + sgeequ_ @ 808 + sgeequb_ @ 809 + sgees_ @ 810 + sgeesx_ @ 811 + sgeev_ @ 812 + sgeevx_ @ 813 + sgegs_ @ 814 + sgegv_ @ 815 + sgehd2_ @ 816 + sgehrd_ @ 817 + sgejsv_ @ 818 + sgelq2_ @ 819 + sgelqf_ @ 820 + sgels_ @ 821 + sgelsd_ @ 822 + sgelss_ @ 823 + sgelsx_ @ 824 + sgelsy_ @ 825 + sgemqrt_ @ 826 + sgeql2_ @ 827 + sgeqlf_ @ 828 + sgeqp3_ @ 829 + sgeqpf_ @ 830 + sgeqr2_ @ 831 + sgeqr2p_ @ 832 + sgeqrf_ @ 833 + sgeqrfp_ @ 834 + sgeqrt2_ @ 835 + sgeqrt3_ @ 836 + sgeqrt_ @ 837 + sgerfs_ @ 838 + sgerq2_ @ 839 + sgerqf_ @ 840 + sgesc2_ @ 841 + sgesdd_ @ 842 + sgesv_ @ 843 + sgesvd_ @ 844 + sgesvj_ @ 845 + sgesvx_ @ 846 + sgetc2_ @ 847 + sgetf2_ @ 848 + sgetrf_ @ 849 + sgetri_ @ 850 + sgetrs_ @ 851 + sggbak_ @ 852 + sggbal_ @ 853 + sgges_ @ 854 + sggesx_ @ 855 + sggev_ @ 856 + sggevx_ @ 857 + sggglm_ @ 858 + sgghrd_ @ 859 + sgglse_ @ 860 + sggqrf_ @ 861 + sggrqf_ @ 862 + sggsvd_ @ 863 + sggsvp_ @ 864 + sgsvj0_ @ 865 + sgsvj1_ @ 866 + sgtcon_ @ 867 + sgtrfs_ @ 868 + sgtsv_ @ 869 + sgtsvx_ @ 870 + sgttrf_ @ 871 + sgttrs_ @ 872 + sgtts2_ @ 873 + shgeqz_ @ 874 + shsein_ @ 875 + shseqr_ @ 876 + sisnan_ @ 877 + sla_gerpvgrw__ @ 878 + slabad_ @ 879 + slabrd_ @ 880 + slacn2_ @ 881 + slacon_ @ 882 + slacpy_ @ 883 + sladiv_ @ 884 + slae2_ @ 885 + slaebz_ @ 886 + slaed0_ @ 887 + slaed1_ @ 888 + slaed2_ @ 889 + slaed3_ @ 890 + slaed4_ @ 891 + slaed5_ @ 892 + slaed6_ @ 893 + slaed7_ @ 894 + slaed8_ @ 895 + slaed9_ @ 896 + slaeda_ @ 897 + slaein_ @ 898 + slaev2_ @ 899 + slaexc_ @ 900 + slag2_ @ 901 + slag2d_ @ 902 + slags2_ @ 903 + slagtf_ @ 904 + slagtm_ @ 905 + slagts_ @ 906 + slagv2_ @ 907 + slahqr_ @ 908 + slahr2_ @ 909 + slahrd_ @ 910 + slaic1_ @ 911 + slaisnan_ @ 912 + slaln2_ @ 913 + slals0_ @ 914 + slalsa_ @ 915 + slalsd_ @ 916 + slamc1_ @ 917 + slamc2_ @ 918 + slamc3_ @ 919 + slamc4_ @ 920 + slamc5_ @ 921 + slamch_ @ 922 + slamrg_ @ 923 + slaneg_ @ 924 + slangb_ @ 925 + slange_ @ 926 + slangt_ @ 927 + slanhs_ @ 928 + slansb_ @ 929 + slansf_ @ 930 + slansp_ @ 931 + slanst_ @ 932 + slansy_ @ 933 + slantb_ @ 934 + slantp_ @ 935 + slantr_ @ 936 + slanv2_ @ 937 + slapll_ @ 938 + slapmr_ @ 939 + slapmt_ @ 940 + slapy2_ @ 941 + slapy3_ @ 942 + slaqgb_ @ 943 + slaqge_ @ 944 + slaqp2_ @ 945 + slaqps_ @ 946 + slaqr0_ @ 947 + slaqr1_ @ 948 + slaqr2_ @ 949 + slaqr3_ @ 950 + slaqr4_ @ 951 + slaqr5_ @ 952 + slaqsb_ @ 953 + slaqsp_ @ 954 + slaqsy_ @ 955 + slaqtr_ @ 956 + slar1v_ @ 957 + slar2v_ @ 958 + slarf_ @ 959 + slarfb_ @ 960 + slarfg_ @ 961 + slarfgp_ @ 962 + slarft_ @ 963 + slarfx_ @ 964 + slargv_ @ 965 + slarnv_ @ 966 + slarra_ @ 967 + slarrb_ @ 968 + slarrc_ @ 969 + slarrd_ @ 970 + slarre_ @ 971 + slarrf_ @ 972 + slarrj_ @ 973 + slarrk_ @ 974 + slarrr_ @ 975 + slarrv_ @ 976 + slartg_ @ 977 + slartgp_ @ 978 + slartgs_ @ 979 + slartv_ @ 980 + slaruv_ @ 981 + slarz_ @ 982 + slarzb_ @ 983 + slarzt_ @ 984 + slas2_ @ 985 + slascl_ @ 986 + slasd0_ @ 987 + slasd1_ @ 988 + slasd2_ @ 989 + slasd3_ @ 990 + slasd4_ @ 991 + slasd5_ @ 992 + slasd6_ @ 993 + slasd7_ @ 994 + slasd8_ @ 995 + slasda_ @ 996 + slasdq_ @ 997 + slasdt_ @ 998 + slaset_ @ 999 + slasq1_ @ 1000 + slasq2_ @ 1001 + slasq3_ @ 1002 + slasq4_ @ 1003 + slasq5_ @ 1004 + slasq6_ @ 1005 + slasr_ @ 1006 + slasrt_ @ 1007 + slassq_ @ 1008 + slasv2_ @ 1009 + slaswp_ @ 1010 + slasy2_ @ 1011 + slasyf_ @ 1012 + slatbs_ @ 1013 + slatdf_ @ 1014 + slatps_ @ 1015 + slatrd_ @ 1016 + slatrs_ @ 1017 + slatrz_ @ 1018 + slatzm_ @ 1019 + slauu2_ @ 1020 + slauum_ @ 1021 + sopgtr_ @ 1022 + sopmtr_ @ 1023 + sorbdb_ @ 1024 + sorcsd_ @ 1025 + sorg2l_ @ 1026 + sorg2r_ @ 1027 + sorgbr_ @ 1028 + sorghr_ @ 1029 + sorgl2_ @ 1030 + sorglq_ @ 1031 + sorgql_ @ 1032 + sorgqr_ @ 1033 + sorgr2_ @ 1034 + sorgrq_ @ 1035 + sorgtr_ @ 1036 + sorm2l_ @ 1037 + sorm2r_ @ 1038 + sormbr_ @ 1039 + sormhr_ @ 1040 + sorml2_ @ 1041 + sormlq_ @ 1042 + sormql_ @ 1043 + sormqr_ @ 1044 + sormr2_ @ 1045 + sormr3_ @ 1046 + sormrq_ @ 1047 + sormrz_ @ 1048 + sormtr_ @ 1049 + spbcon_ @ 1050 + spbequ_ @ 1051 + spbrfs_ @ 1052 + spbstf_ @ 1053 + spbsv_ @ 1054 + spbsvx_ @ 1055 + spbtf2_ @ 1056 + spbtrf_ @ 1057 + spbtrs_ @ 1058 + spftrf_ @ 1059 + spftri_ @ 1060 + spftrs_ @ 1061 + spocon_ @ 1062 + spoequ_ @ 1063 + spoequb_ @ 1064 + sporfs_ @ 1065 + sposv_ @ 1066 + sposvx_ @ 1067 + spotf2_ @ 1068 + spotrf_ @ 1069 + spotri_ @ 1070 + spotrs_ @ 1071 + sppcon_ @ 1072 + sppequ_ @ 1073 + spprfs_ @ 1074 + sppsv_ @ 1075 + sppsvx_ @ 1076 + spptrf_ @ 1077 + spptri_ @ 1078 + spptrs_ @ 1079 + spstf2_ @ 1080 + spstrf_ @ 1081 + sptcon_ @ 1082 + spteqr_ @ 1083 + sptrfs_ @ 1084 + sptsv_ @ 1085 + sptsvx_ @ 1086 + spttrf_ @ 1087 + spttrs_ @ 1088 + sptts2_ @ 1089 + srscl_ @ 1090 + ssbev_ @ 1091 + ssbevd_ @ 1092 + ssbevx_ @ 1093 + ssbgst_ @ 1094 + ssbgv_ @ 1095 + ssbgvd_ @ 1096 + ssbgvx_ @ 1097 + ssbtrd_ @ 1098 + ssfrk_ @ 1099 + sspcon_ @ 1100 + sspev_ @ 1101 + sspevd_ @ 1102 + sspevx_ @ 1103 + sspgst_ @ 1104 + sspgv_ @ 1105 + sspgvd_ @ 1106 + sspgvx_ @ 1107 + ssprfs_ @ 1108 + sspsv_ @ 1109 + sspsvx_ @ 1110 + ssptrd_ @ 1111 + ssptrf_ @ 1112 + ssptri_ @ 1113 + ssptrs_ @ 1114 + sstebz_ @ 1115 + sstedc_ @ 1116 + sstegr_ @ 1117 + sstein_ @ 1118 + sstemr_ @ 1119 + ssteqr_ @ 1120 + ssterf_ @ 1121 + sstev_ @ 1122 + sstevd_ @ 1123 + sstevr_ @ 1124 + sstevx_ @ 1125 + ssycon_ @ 1126 + ssyconv_ @ 1127 + ssyequb_ @ 1128 + ssyev_ @ 1129 + ssyevd_ @ 1130 + ssyevr_ @ 1131 + ssyevx_ @ 1132 + ssygs2_ @ 1133 + ssygst_ @ 1134 + ssygv_ @ 1135 + ssygvd_ @ 1136 + ssygvx_ @ 1137 + ssyrfs_ @ 1138 + ssysv_ @ 1139 + ssysvx_ @ 1140 + ssyswapr_ @ 1141 + ssytd2_ @ 1142 + ssytf2_ @ 1143 + ssytrd_ @ 1144 + ssytrf_ @ 1145 + ssytri2_ @ 1146 + ssytri2x_ @ 1147 + ssytri_ @ 1148 + ssytrs2_ @ 1149 + ssytrs_ @ 1150 + stbcon_ @ 1151 + stbrfs_ @ 1152 + stbtrs_ @ 1153 + stfsm_ @ 1154 + stftri_ @ 1155 + stfttp_ @ 1156 + stfttr_ @ 1157 + stgevc_ @ 1158 + stgex2_ @ 1159 + stgexc_ @ 1160 + stgsen_ @ 1161 + stgsja_ @ 1162 + stgsna_ @ 1163 + stgsy2_ @ 1164 + stgsyl_ @ 1165 + stpcon_ @ 1166 + stpmqrt_ @ 1167 + stpqrt2_ @ 1168 + stpqrt_ @ 1169 + stprfb_ @ 1170 + stprfs_ @ 1171 + stptri_ @ 1172 + stptrs_ @ 1173 + stpttf_ @ 1174 + stpttr_ @ 1175 + strcon_ @ 1176 + strevc_ @ 1177 + strexc_ @ 1178 + strrfs_ @ 1179 + strsen_ @ 1180 + strsna_ @ 1181 + strsyl_ @ 1182 + strti2_ @ 1183 + strtri_ @ 1184 + strtrs_ @ 1185 + strttf_ @ 1186 + strttp_ @ 1187 + stzrqf_ @ 1188 + stzrzf_ @ 1189 + zbbcsd_ @ 1190 + zbdsqr_ @ 1191 + zcgesv_ @ 1192 + zcposv_ @ 1193 + zdrscl_ @ 1194 + zgbbrd_ @ 1195 + zgbcon_ @ 1196 + zgbequ_ @ 1197 + zgbequb_ @ 1198 + zgbrfs_ @ 1199 + zgbsv_ @ 1200 + zgbsvx_ @ 1201 + zgbtf2_ @ 1202 + zgbtrf_ @ 1203 + zgbtrs_ @ 1204 + zgebak_ @ 1205 + zgebal_ @ 1206 + zgebd2_ @ 1207 + zgebrd_ @ 1208 + zgecon_ @ 1209 + zgeequ_ @ 1210 + zgeequb_ @ 1211 + zgees_ @ 1212 + zgeesx_ @ 1213 + zgeev_ @ 1214 + zgeevx_ @ 1215 + zgegs_ @ 1216 + zgegv_ @ 1217 + zgehd2_ @ 1218 + zgehrd_ @ 1219 + zgelq2_ @ 1220 + zgelqf_ @ 1221 + zgels_ @ 1222 + zgelsd_ @ 1223 + zgelss_ @ 1224 + zgelsx_ @ 1225 + zgelsy_ @ 1226 + zgemqrt_ @ 1227 + zgeql2_ @ 1228 + zgeqlf_ @ 1229 + zgeqp3_ @ 1230 + zgeqpf_ @ 1231 + zgeqr2_ @ 1232 + zgeqr2p_ @ 1233 + zgeqrf_ @ 1234 + zgeqrfp_ @ 1235 + zgeqrt2_ @ 1236 + zgeqrt3_ @ 1237 + zgeqrt_ @ 1238 + zgerfs_ @ 1239 + zgerq2_ @ 1240 + zgerqf_ @ 1241 + zgesc2_ @ 1242 + zgesdd_ @ 1243 + zgesv_ @ 1244 + zgesvd_ @ 1245 + zgesvx_ @ 1246 + zgetc2_ @ 1247 + zgetf2_ @ 1248 + zgetrf_ @ 1249 + zgetri_ @ 1250 + zgetrs_ @ 1251 + zggbak_ @ 1252 + zggbal_ @ 1253 + zgges_ @ 1254 + zggesx_ @ 1255 + zggev_ @ 1256 + zggevx_ @ 1257 + zggglm_ @ 1258 + zgghrd_ @ 1259 + zgglse_ @ 1260 + zggqrf_ @ 1261 + zggrqf_ @ 1262 + zggsvd_ @ 1263 + zggsvp_ @ 1264 + zgtcon_ @ 1265 + zgtrfs_ @ 1266 + zgtsv_ @ 1267 + zgtsvx_ @ 1268 + zgttrf_ @ 1269 + zgttrs_ @ 1270 + zgtts2_ @ 1271 + zhbev_ @ 1272 + zhbevd_ @ 1273 + zhbevx_ @ 1274 + zhbgst_ @ 1275 + zhbgv_ @ 1276 + zhbgvd_ @ 1277 + zhbgvx_ @ 1278 + zhbtrd_ @ 1279 + zhecon_ @ 1280 + zheequb_ @ 1281 + zheev_ @ 1282 + zheevd_ @ 1283 + zheevr_ @ 1284 + zheevx_ @ 1285 + zhegs2_ @ 1286 + zhegst_ @ 1287 + zhegv_ @ 1288 + zhegvd_ @ 1289 + zhegvx_ @ 1290 + zherfs_ @ 1291 + zhesv_ @ 1292 + zhesvx_ @ 1293 + zheswapr_ @ 1294 + zhetd2_ @ 1295 + zhetf2_ @ 1296 + zhetrd_ @ 1297 + zhetrf_ @ 1298 + zhetri2_ @ 1299 + zhetri2x_ @ 1300 + zhetri_ @ 1301 + zhetrs2_ @ 1302 + zhetrs_ @ 1303 + zhfrk_ @ 1304 + zhgeqz_ @ 1305 + zhpcon_ @ 1306 + zhpev_ @ 1307 + zhpevd_ @ 1308 + zhpevx_ @ 1309 + zhpgst_ @ 1310 + zhpgv_ @ 1311 + zhpgvd_ @ 1312 + zhpgvx_ @ 1313 + zhprfs_ @ 1314 + zhpsv_ @ 1315 + zhpsvx_ @ 1316 + zhptrd_ @ 1317 + zhptrf_ @ 1318 + zhptri_ @ 1319 + zhptrs_ @ 1320 + zhsein_ @ 1321 + zhseqr_ @ 1322 + zla_gerpvgrw__ @ 1323 + zlabrd_ @ 1324 + zlacgv_ @ 1325 + zlacn2_ @ 1326 + zlacon_ @ 1327 + zlacp2_ @ 1328 + zlacpy_ @ 1329 + zlacrm_ @ 1330 + zlacrt_ @ 1331 + zladiv_ @ 1332 + zlaed0_ @ 1333 + zlaed7_ @ 1334 + zlaed8_ @ 1335 + zlaein_ @ 1336 + zlaesy_ @ 1337 + zlaev2_ @ 1338 + zlag2c_ @ 1339 + zlags2_ @ 1340 + zlagtm_ @ 1341 + zlahef_ @ 1342 + zlahqr_ @ 1343 + zlahr2_ @ 1344 + zlahrd_ @ 1345 + zlaic1_ @ 1346 + zlals0_ @ 1347 + zlalsa_ @ 1348 + zlalsd_ @ 1349 + zlangb_ @ 1350 + zlange_ @ 1351 + zlangt_ @ 1352 + zlanhb_ @ 1353 + zlanhe_ @ 1354 + zlanhf_ @ 1355 + zlanhp_ @ 1356 + zlanhs_ @ 1357 + zlanht_ @ 1358 + zlansb_ @ 1359 + zlansp_ @ 1360 + zlansy_ @ 1361 + zlantb_ @ 1362 + zlantp_ @ 1363 + zlantr_ @ 1364 + zlapll_ @ 1365 + zlapmr_ @ 1366 + zlapmt_ @ 1367 + zlaqgb_ @ 1368 + zlaqge_ @ 1369 + zlaqhb_ @ 1370 + zlaqhe_ @ 1371 + zlaqhp_ @ 1372 + zlaqp2_ @ 1373 + zlaqps_ @ 1374 + zlaqr0_ @ 1375 + zlaqr1_ @ 1376 + zlaqr2_ @ 1377 + zlaqr3_ @ 1378 + zlaqr4_ @ 1379 + zlaqr5_ @ 1380 + zlaqsb_ @ 1381 + zlaqsp_ @ 1382 + zlaqsy_ @ 1383 + zlar1v_ @ 1384 + zlar2v_ @ 1385 + zlarcm_ @ 1386 + zlarf_ @ 1387 + zlarfb_ @ 1388 + zlarfg_ @ 1389 + zlarfgp_ @ 1390 + zlarft_ @ 1391 + zlarfx_ @ 1392 + zlargv_ @ 1393 + zlarnv_ @ 1394 + zlarrv_ @ 1395 + zlartg_ @ 1396 + zlartv_ @ 1397 + zlarz_ @ 1398 + zlarzb_ @ 1399 + zlarzt_ @ 1400 + zlascl_ @ 1401 + zlaset_ @ 1402 + zlasr_ @ 1403 + zlassq_ @ 1404 + zlaswp_ @ 1405 + zlasyf_ @ 1406 + zlat2c_ @ 1407 + zlatbs_ @ 1408 + zlatdf_ @ 1409 + zlatps_ @ 1410 + zlatrd_ @ 1411 + zlatrs_ @ 1412 + zlatrz_ @ 1413 + zlatzm_ @ 1414 + zlauu2_ @ 1415 + zlauum_ @ 1416 + zpbcon_ @ 1417 + zpbequ_ @ 1418 + zpbrfs_ @ 1419 + zpbstf_ @ 1420 + zpbsv_ @ 1421 + zpbsvx_ @ 1422 + zpbtf2_ @ 1423 + zpbtrf_ @ 1424 + zpbtrs_ @ 1425 + zpftrf_ @ 1426 + zpftri_ @ 1427 + zpftrs_ @ 1428 + zpocon_ @ 1429 + zpoequ_ @ 1430 + zpoequb_ @ 1431 + zporfs_ @ 1432 + zposv_ @ 1433 + zposvx_ @ 1434 + zpotf2_ @ 1435 + zpotrf_ @ 1436 + zpotri_ @ 1437 + zpotrs_ @ 1438 + zppcon_ @ 1439 + zppequ_ @ 1440 + zpprfs_ @ 1441 + zppsv_ @ 1442 + zppsvx_ @ 1443 + zpptrf_ @ 1444 + zpptri_ @ 1445 + zpptrs_ @ 1446 + zpstf2_ @ 1447 + zpstrf_ @ 1448 + zptcon_ @ 1449 + zpteqr_ @ 1450 + zptrfs_ @ 1451 + zptsv_ @ 1452 + zptsvx_ @ 1453 + zpttrf_ @ 1454 + zpttrs_ @ 1455 + zptts2_ @ 1456 + zrot_ @ 1457 + zspcon_ @ 1458 + zspmv_ @ 1459 + zspr_ @ 1460 + zsprfs_ @ 1461 + zspsv_ @ 1462 + zspsvx_ @ 1463 + zsptrf_ @ 1464 + zsptri_ @ 1465 + zsptrs_ @ 1466 + zstedc_ @ 1467 + zstegr_ @ 1468 + zstein_ @ 1469 + zstemr_ @ 1470 + zsteqr_ @ 1471 + zsycon_ @ 1472 + zsyconv_ @ 1473 + zsyequb_ @ 1474 + zsymv_ @ 1475 + zsyr_ @ 1476 + zsyrfs_ @ 1477 + zsysv_ @ 1478 + zsysvx_ @ 1479 + zsyswapr_ @ 1480 + zsytf2_ @ 1481 + zsytrf_ @ 1482 + zsytri2_ @ 1483 + zsytri2x_ @ 1484 + zsytri_ @ 1485 + zsytrs2_ @ 1486 + zsytrs_ @ 1487 + ztbcon_ @ 1488 + ztbrfs_ @ 1489 + ztbtrs_ @ 1490 + ztfsm_ @ 1491 + ztftri_ @ 1492 + ztfttp_ @ 1493 + ztfttr_ @ 1494 + ztgevc_ @ 1495 + ztgex2_ @ 1496 + ztgexc_ @ 1497 + ztgsen_ @ 1498 + ztgsja_ @ 1499 + ztgsna_ @ 1500 + ztgsy2_ @ 1501 + ztgsyl_ @ 1502 + ztpcon_ @ 1503 + ztpmqrt_ @ 1504 + ztpqrt2_ @ 1505 + ztpqrt_ @ 1506 + ztprfb_ @ 1507 + ztprfs_ @ 1508 + ztptri_ @ 1509 + ztptrs_ @ 1510 + ztpttf_ @ 1511 + ztpttr_ @ 1512 + ztrcon_ @ 1513 + ztrevc_ @ 1514 + ztrexc_ @ 1515 + ztrrfs_ @ 1516 + ztrsen_ @ 1517 + ztrsna_ @ 1518 + ztrsyl_ @ 1519 + ztrti2_ @ 1520 + ztrtri_ @ 1521 + ztrtrs_ @ 1522 + ztrttf_ @ 1523 + ztrttp_ @ 1524 + ztzrqf_ @ 1525 + ztzrzf_ @ 1526 + zunbdb_ @ 1527 + zuncsd_ @ 1528 + zung2l_ @ 1529 + zung2r_ @ 1530 + zungbr_ @ 1531 + zunghr_ @ 1532 + zungl2_ @ 1533 + zunglq_ @ 1534 + zungql_ @ 1535 + zungqr_ @ 1536 + zungr2_ @ 1537 + zungrq_ @ 1538 + zungtr_ @ 1539 + zunm2l_ @ 1540 + zunm2r_ @ 1541 + zunmbr_ @ 1542 + zunmhr_ @ 1543 + zunml2_ @ 1544 + zunmlq_ @ 1545 + zunmql_ @ 1546 + zunmqr_ @ 1547 + zunmr2_ @ 1548 + zunmr3_ @ 1549 + zunmrq_ @ 1550 + zunmrz_ @ 1551 + zunmtr_ @ 1552 + zupgtr_ @ 1553 + zupmtr_ @ 1554 diff --git a/mingw-w64-f2cblaslapack/libf2clapack-x86_64.def b/mingw-w64-f2cblaslapack/libf2clapack-x86_64.def new file mode 100644 index 0000000000..314583a846 --- /dev/null +++ b/mingw-w64-f2cblaslapack/libf2clapack-x86_64.def @@ -0,0 +1,1555 @@ +EXPORTS +slamc1_ +slamc2_ +slamc3_ +slamc4_ +slamc5_ +slamch_ +cbbcsd_ +cbdsqr_ +cgbbrd_ +cgbcon_ +cgbequb_ +cgbequ_ +cgbrfs_ +cgbsv_ +cgbsvx_ +cgbtf2_ +cgbtrf_ +cgbtrs_ +cgebak_ +cgebal_ +cgebd2_ +cgebrd_ +cgecon_ +cgeequb_ +cgeequ_ +cgees_ +cgeesx_ +cgeev_ +cgeevx_ +cgegs_ +cgegv_ +cgehd2_ +cgehrd_ +cgelq2_ +cgelqf_ +cgelsd_ +cgels_ +cgelss_ +cgelsx_ +cgelsy_ +cgemqrt_ +cgeql2_ +cgeqlf_ +cgeqp3_ +cgeqpf_ +cgeqr2_ +cgeqr2p_ +cgeqrf_ +cgeqrfp_ +cgeqrt2_ +cgeqrt3_ +cgeqrt_ +cgerfs_ +cgerq2_ +cgerqf_ +cgesc2_ +cgesdd_ +cgesvd_ +cgesv_ +cgesvx_ +cgetc2_ +cgetf2_ +cgetrf_ +cgetri_ +cgetrs_ +cggbak_ +cggbal_ +cgges_ +cggesx_ +cggev_ +cggevx_ +cggglm_ +cgghrd_ +cgglse_ +cggqrf_ +cggrqf_ +cggsvd_ +cggsvp_ +cgtcon_ +cgtrfs_ +cgtsv_ +cgtsvx_ +cgttrf_ +cgttrs_ +cgtts2_ +chbevd_ +chbev_ +chbevx_ +chbgst_ +chbgvd_ +chbgv_ +chbgvx_ +chbtrd_ +checon_ +cheequb_ +cheevd_ +cheev_ +cheevr_ +cheevx_ +chegs2_ +chegst_ +chegvd_ +chegv_ +chegvx_ +cherfs_ +chesv_ +chesvx_ +cheswapr_ +chetd2_ +chetf2_ +chetrd_ +chetrf_ +chetri2_ +chetri2x_ +chetri_ +chetrs2_ +chetrs_ +chfrk_ +chgeqz_ +chpcon_ +chpevd_ +chpev_ +chpevx_ +chpgst_ +chpgvd_ +chpgv_ +chpgvx_ +chprfs_ +chpsv_ +chpsvx_ +chptrd_ +chptrf_ +chptri_ +chptrs_ +chsein_ +chseqr_ +clabrd_ +clacgv_ +clacn2_ +clacon_ +clacp2_ +clacpy_ +clacrm_ +clacrt_ +cladiv_ +claed0_ +claed7_ +claed8_ +claein_ +claesy_ +claev2_ +clag2z_ +cla_gerpvgrw__ +clags2_ +clagtm_ +clahef_ +clahqr_ +clahr2_ +clahrd_ +claic1_ +clals0_ +clalsa_ +clalsd_ +clangb_ +clange_ +clangt_ +clanhb_ +clanhe_ +clanhf_ +clanhp_ +clanhs_ +clanht_ +clansb_ +clansp_ +clansy_ +clantb_ +clantp_ +clantr_ +clapll_ +clapmr_ +clapmt_ +claqgb_ +claqge_ +claqhb_ +claqhe_ +claqhp_ +claqp2_ +claqps_ +claqr0_ +claqr1_ +claqr2_ +claqr3_ +claqr4_ +claqr5_ +claqsb_ +claqsp_ +claqsy_ +clar1v_ +clar2v_ +clarcm_ +clarfb_ +clarf_ +clarfg_ +clarfgp_ +clarft_ +clarfx_ +clargv_ +clarnv_ +clarrv_ +clartg_ +clartv_ +clarzb_ +clarz_ +clarzt_ +clascl_ +claset_ +clasr_ +classq_ +claswp_ +clasyf_ +clatbs_ +clatdf_ +clatps_ +clatrd_ +clatrs_ +clatrz_ +clatzm_ +clauu2_ +clauum_ +cpbcon_ +cpbequ_ +cpbrfs_ +cpbstf_ +cpbsv_ +cpbsvx_ +cpbtf2_ +cpbtrf_ +cpbtrs_ +cpftrf_ +cpftri_ +cpftrs_ +cpocon_ +cpoequb_ +cpoequ_ +cporfs_ +cposv_ +cposvx_ +cpotf2_ +cpotrf_ +cpotri_ +cpotrs_ +cppcon_ +cppequ_ +cpprfs_ +cppsv_ +cppsvx_ +cpptrf_ +cpptri_ +cpptrs_ +cpstf2_ +cpstrf_ +cptcon_ +cpteqr_ +cptrfs_ +cptsv_ +cptsvx_ +cpttrf_ +cpttrs_ +cptts2_ +crot_ +cspcon_ +cspmv_ +cspr_ +csprfs_ +cspsv_ +cspsvx_ +csptrf_ +csptri_ +csptrs_ +csrscl_ +cstedc_ +cstegr_ +cstein_ +cstemr_ +csteqr_ +csycon_ +csyconv_ +csyequb_ +csymv_ +csyr_ +csyrfs_ +csysv_ +csysvx_ +csyswapr_ +csytf2_ +csytrf_ +csytri2_ +csytri2x_ +csytri_ +csytrs2_ +csytrs_ +ctbcon_ +ctbrfs_ +ctbtrs_ +ctfsm_ +ctftri_ +ctfttp_ +ctfttr_ +ctgevc_ +ctgex2_ +ctgexc_ +ctgsen_ +ctgsja_ +ctgsna_ +ctgsy2_ +ctgsyl_ +ctpcon_ +ctpmqrt_ +ctpqrt2_ +ctpqrt_ +ctprfb_ +ctprfs_ +ctptri_ +ctptrs_ +ctpttf_ +ctpttr_ +ctrcon_ +ctrevc_ +ctrexc_ +ctrrfs_ +ctrsen_ +ctrsna_ +ctrsyl_ +ctrti2_ +ctrtri_ +ctrtrs_ +ctrttf_ +ctrttp_ +ctzrqf_ +ctzrzf_ +cunbdb_ +cuncsd_ +cung2l_ +cung2r_ +cungbr_ +cunghr_ +cungl2_ +cunglq_ +cungql_ +cungqr_ +cungr2_ +cungrq_ +cungtr_ +cunm2l_ +cunm2r_ +cunmbr_ +cunmhr_ +cunml2_ +cunmlq_ +cunmql_ +cunmqr_ +cunmr2_ +cunmr3_ +cunmrq_ +cunmrz_ +cunmtr_ +cupgtr_ +cupmtr_ +icmax1_ +ilaclc_ +ilaclr_ +ilaslc_ +ilaslr_ +sbbcsd_ +sbdsdc_ +sbdsqr_ +scsum1_ +sdisna_ +sgbbrd_ +sgbcon_ +sgbequb_ +sgbequ_ +sgbrfs_ +sgbsv_ +sgbsvx_ +sgbtf2_ +sgbtrf_ +sgbtrs_ +sgebak_ +sgebal_ +sgebd2_ +sgebrd_ +sgecon_ +sgeequb_ +sgeequ_ +sgees_ +sgeesx_ +sgeev_ +sgeevx_ +sgegs_ +sgegv_ +sgehd2_ +sgehrd_ +sgejsv_ +sgelq2_ +sgelqf_ +sgelsd_ +sgels_ +sgelss_ +sgelsx_ +sgelsy_ +sgemqrt_ +sgeql2_ +sgeqlf_ +sgeqp3_ +sgeqpf_ +sgeqr2_ +sgeqr2p_ +sgeqrf_ +sgeqrfp_ +sgeqrt2_ +sgeqrt3_ +sgeqrt_ +sgerfs_ +sgerq2_ +sgerqf_ +sgesc2_ +sgesdd_ +sgesvd_ +sgesv_ +sgesvj_ +sgesvx_ +sgetc2_ +sgetf2_ +sgetrf_ +sgetri_ +sgetrs_ +sggbak_ +sggbal_ +sgges_ +sggesx_ +sggev_ +sggevx_ +sggglm_ +sgghrd_ +sgglse_ +sggqrf_ +sggrqf_ +sggsvd_ +sggsvp_ +sgsvj0_ +sgsvj1_ +sgtcon_ +sgtrfs_ +sgtsv_ +sgtsvx_ +sgttrf_ +sgttrs_ +sgtts2_ +shgeqz_ +shsein_ +shseqr_ +sisnan_ +slabad_ +slabrd_ +slacn2_ +slacon_ +slacpy_ +sladiv_ +slae2_ +slaebz_ +slaed0_ +slaed1_ +slaed2_ +slaed3_ +slaed4_ +slaed5_ +slaed6_ +slaed7_ +slaed8_ +slaed9_ +slaeda_ +slaein_ +slaev2_ +slaexc_ +slag2d_ +slag2_ +sla_gerpvgrw__ +slags2_ +slagtf_ +slagtm_ +slagts_ +slagv2_ +slahqr_ +slahr2_ +slahrd_ +slaic1_ +slaisnan_ +slaln2_ +slals0_ +slalsa_ +slalsd_ +slamrg_ +slaneg_ +slangb_ +slange_ +slangt_ +slanhs_ +slansb_ +slansf_ +slansp_ +slanst_ +slansy_ +slantb_ +slantp_ +slantr_ +slanv2_ +slapll_ +slapmr_ +slapmt_ +slapy2_ +slapy3_ +slaqgb_ +slaqge_ +slaqp2_ +slaqps_ +slaqr0_ +slaqr1_ +slaqr2_ +slaqr3_ +slaqr4_ +slaqr5_ +slaqsb_ +slaqsp_ +slaqsy_ +slaqtr_ +slar1v_ +slar2v_ +slarfb_ +slarf_ +slarfg_ +slarfgp_ +slarft_ +slarfx_ +slargv_ +slarnv_ +slarra_ +slarrb_ +slarrc_ +slarrd_ +slarre_ +slarrf_ +slarrj_ +slarrk_ +slarrr_ +slarrv_ +slartg_ +slartgp_ +slartgs_ +slartv_ +slaruv_ +slarzb_ +slarz_ +slarzt_ +slas2_ +slascl_ +slasd0_ +slasd1_ +slasd2_ +slasd3_ +slasd4_ +slasd5_ +slasd6_ +slasd7_ +slasd8_ +slasda_ +slasdq_ +slasdt_ +slaset_ +slasq1_ +slasq2_ +slasq3_ +slasq4_ +slasq5_ +slasq6_ +slasr_ +slasrt_ +slassq_ +slasv2_ +slaswp_ +slasy2_ +slasyf_ +slatbs_ +slatdf_ +slatps_ +slatrd_ +slatrs_ +slatrz_ +slatzm_ +slauu2_ +slauum_ +sopgtr_ +sopmtr_ +sorbdb_ +sorcsd_ +sorg2l_ +sorg2r_ +sorgbr_ +sorghr_ +sorgl2_ +sorglq_ +sorgql_ +sorgqr_ +sorgr2_ +sorgrq_ +sorgtr_ +sorm2l_ +sorm2r_ +sormbr_ +sormhr_ +sorml2_ +sormlq_ +sormql_ +sormqr_ +sormr2_ +sormr3_ +sormrq_ +sormrz_ +sormtr_ +spbcon_ +spbequ_ +spbrfs_ +spbstf_ +spbsv_ +spbsvx_ +spbtf2_ +spbtrf_ +spbtrs_ +spftrf_ +spftri_ +spftrs_ +spocon_ +spoequb_ +spoequ_ +sporfs_ +sposv_ +sposvx_ +spotf2_ +spotrf_ +spotri_ +spotrs_ +sppcon_ +sppequ_ +spprfs_ +sppsv_ +sppsvx_ +spptrf_ +spptri_ +spptrs_ +spstf2_ +spstrf_ +sptcon_ +spteqr_ +sptrfs_ +sptsv_ +sptsvx_ +spttrf_ +spttrs_ +sptts2_ +srscl_ +ssbevd_ +ssbev_ +ssbevx_ +ssbgst_ +ssbgvd_ +ssbgv_ +ssbgvx_ +ssbtrd_ +ssfrk_ +sspcon_ +sspevd_ +sspev_ +sspevx_ +sspgst_ +sspgvd_ +sspgv_ +sspgvx_ +ssprfs_ +sspsv_ +sspsvx_ +ssptrd_ +ssptrf_ +ssptri_ +ssptrs_ +sstebz_ +sstedc_ +sstegr_ +sstein_ +sstemr_ +ssteqr_ +ssterf_ +sstevd_ +sstev_ +sstevr_ +sstevx_ +ssycon_ +ssyconv_ +ssyequb_ +ssyevd_ +ssyev_ +ssyevr_ +ssyevx_ +ssygs2_ +ssygst_ +ssygvd_ +ssygv_ +ssygvx_ +ssyrfs_ +ssysv_ +ssysvx_ +ssyswapr_ +ssytd2_ +ssytf2_ +ssytrd_ +ssytrf_ +ssytri2_ +ssytri2x_ +ssytri_ +ssytrs2_ +ssytrs_ +stbcon_ +stbrfs_ +stbtrs_ +stfsm_ +stftri_ +stfttp_ +stfttr_ +stgevc_ +stgex2_ +stgexc_ +stgsen_ +stgsja_ +stgsna_ +stgsy2_ +stgsyl_ +stpcon_ +stpmqrt_ +stpqrt2_ +stpqrt_ +stprfb_ +stprfs_ +stptri_ +stptrs_ +stpttf_ +stpttr_ +strcon_ +strevc_ +strexc_ +strrfs_ +strsen_ +strsna_ +strsyl_ +strti2_ +strtri_ +strtrs_ +strttf_ +strttp_ +stzrqf_ +stzrzf_ +dlamc1_ +dlamc2_ +dlamc3_ +dlamc4_ +dlamc5_ +dlamch_ +dbbcsd_ +dbdsdc_ +dbdsqr_ +ddisna_ +dgbbrd_ +dgbcon_ +dgbequb_ +dgbequ_ +dgbrfs_ +dgbsv_ +dgbsvx_ +dgbtf2_ +dgbtrf_ +dgbtrs_ +dgebak_ +dgebal_ +dgebd2_ +dgebrd_ +dgecon_ +dgeequb_ +dgeequ_ +dgees_ +dgeesx_ +dgeev_ +dgeevx_ +dgegs_ +dgegv_ +dgehd2_ +dgehrd_ +dgejsv_ +dgelq2_ +dgelqf_ +dgelsd_ +dgels_ +dgelss_ +dgelsx_ +dgelsy_ +dgemqrt_ +dgeql2_ +dgeqlf_ +dgeqp3_ +dgeqpf_ +dgeqr2_ +dgeqr2p_ +dgeqrf_ +dgeqrfp_ +dgeqrt2_ +dgeqrt3_ +dgeqrt_ +dgerfs_ +dgerq2_ +dgerqf_ +dgesc2_ +dgesdd_ +dgesvd_ +dgesv_ +dgesvj_ +dgesvx_ +dgetc2_ +dgetf2_ +dgetrf_ +dgetri_ +dgetrs_ +dggbak_ +dggbal_ +dgges_ +dggesx_ +dggev_ +dggevx_ +dggglm_ +dgghrd_ +dgglse_ +dggqrf_ +dggrqf_ +dggsvd_ +dggsvp_ +dgsvj0_ +dgsvj1_ +dgtcon_ +dgtrfs_ +dgtsv_ +dgtsvx_ +dgttrf_ +dgttrs_ +dgtts2_ +dhgeqz_ +dhsein_ +dhseqr_ +disnan_ +dlabad_ +dlabrd_ +dlacn2_ +dlacon_ +dlacpy_ +dladiv_ +dlae2_ +dlaebz_ +dlaed0_ +dlaed1_ +dlaed2_ +dlaed3_ +dlaed4_ +dlaed5_ +dlaed6_ +dlaed7_ +dlaed8_ +dlaed9_ +dlaeda_ +dlaein_ +dlaev2_ +dlaexc_ +dlag2_ +dlag2s_ +dla_gerpvgrw__ +dlags2_ +dlagtf_ +dlagtm_ +dlagts_ +dlagv2_ +dlahqr_ +dlahr2_ +dlahrd_ +dlaic1_ +dlaisnan_ +dlaln2_ +dlals0_ +dlalsa_ +dlalsd_ +dlamrg_ +dlaneg_ +dlangb_ +dlange_ +dlangt_ +dlanhs_ +dlansb_ +dlansf_ +dlansp_ +dlanst_ +dlansy_ +dlantb_ +dlantp_ +dlantr_ +dlanv2_ +dlapll_ +dlapmr_ +dlapmt_ +dlapy2_ +dlapy3_ +dlaqgb_ +dlaqge_ +dlaqp2_ +dlaqps_ +dlaqr0_ +dlaqr1_ +dlaqr2_ +dlaqr3_ +dlaqr4_ +dlaqr5_ +dlaqsb_ +dlaqsp_ +dlaqsy_ +dlaqtr_ +dlar1v_ +dlar2v_ +dlarfb_ +dlarf_ +dlarfg_ +dlarfgp_ +dlarft_ +dlarfx_ +dlargv_ +dlarnv_ +dlarra_ +dlarrb_ +dlarrc_ +dlarrd_ +dlarre_ +dlarrf_ +dlarrj_ +dlarrk_ +dlarrr_ +dlarrv_ +dlartg_ +dlartgp_ +dlartgs_ +dlartv_ +dlaruv_ +dlarzb_ +dlarz_ +dlarzt_ +dlas2_ +dlascl_ +dlasd0_ +dlasd1_ +dlasd2_ +dlasd3_ +dlasd4_ +dlasd5_ +dlasd6_ +dlasd7_ +dlasd8_ +dlasda_ +dlasdq_ +dlasdt_ +dlaset_ +dlasq1_ +dlasq2_ +dlasq3_ +dlasq4_ +dlasq5_ +dlasq6_ +dlasr_ +dlasrt_ +dlassq_ +dlasv2_ +dlaswp_ +dlasy2_ +dlasyf_ +dlat2s_ +dlatbs_ +dlatdf_ +dlatps_ +dlatrd_ +dlatrs_ +dlatrz_ +dlatzm_ +dlauu2_ +dlauum_ +dopgtr_ +dopmtr_ +dorbdb_ +dorcsd_ +dorg2l_ +dorg2r_ +dorgbr_ +dorghr_ +dorgl2_ +dorglq_ +dorgql_ +dorgqr_ +dorgr2_ +dorgrq_ +dorgtr_ +dorm2l_ +dorm2r_ +dormbr_ +dormhr_ +dorml2_ +dormlq_ +dormql_ +dormqr_ +dormr2_ +dormr3_ +dormrq_ +dormrz_ +dormtr_ +dpbcon_ +dpbequ_ +dpbrfs_ +dpbstf_ +dpbsv_ +dpbsvx_ +dpbtf2_ +dpbtrf_ +dpbtrs_ +dpftrf_ +dpftri_ +dpftrs_ +dpocon_ +dpoequb_ +dpoequ_ +dporfs_ +dposv_ +dposvx_ +dpotf2_ +dpotrf_ +dpotri_ +dpotrs_ +dppcon_ +dppequ_ +dpprfs_ +dppsv_ +dppsvx_ +dpptrf_ +dpptri_ +dpptrs_ +dpstf2_ +dpstrf_ +dptcon_ +dpteqr_ +dptrfs_ +dptsv_ +dptsvx_ +dpttrf_ +dpttrs_ +dptts2_ +drscl_ +dsbevd_ +dsbev_ +dsbevx_ +dsbgst_ +dsbgvd_ +dsbgv_ +dsbgvx_ +dsbtrd_ +dsfrk_ +dsgesv_ +dspcon_ +dspevd_ +dspev_ +dspevx_ +dspgst_ +dspgvd_ +dspgv_ +dspgvx_ +dsposv_ +dsprfs_ +dspsv_ +dspsvx_ +dsptrd_ +dsptrf_ +dsptri_ +dsptrs_ +dstebz_ +dstedc_ +dstegr_ +dstein_ +dstemr_ +dsteqr_ +dsterf_ +dstevd_ +dstev_ +dstevr_ +dstevx_ +dsycon_ +dsyconv_ +dsyequb_ +dsyevd_ +dsyev_ +dsyevr_ +dsyevx_ +dsygs2_ +dsygst_ +dsygvd_ +dsygv_ +dsygvx_ +dsyrfs_ +dsysv_ +dsysvx_ +dsyswapr_ +dsytd2_ +dsytf2_ +dsytrd_ +dsytrf_ +dsytri2_ +dsytri2x_ +dsytri_ +dsytrs2_ +dsytrs_ +dtbcon_ +dtbrfs_ +dtbtrs_ +dtfsm_ +dtftri_ +dtfttp_ +dtfttr_ +dtgevc_ +dtgex2_ +dtgexc_ +dtgsen_ +dtgsja_ +dtgsna_ +dtgsy2_ +dtgsyl_ +dtpcon_ +dtpmqrt_ +dtpqrt2_ +dtpqrt_ +dtprfb_ +dtprfs_ +dtptri_ +dtptrs_ +dtpttf_ +dtpttr_ +dtrcon_ +dtrevc_ +dtrexc_ +dtrrfs_ +dtrsen_ +dtrsna_ +dtrsyl_ +dtrti2_ +dtrtri_ +dtrtrs_ +dtrttf_ +dtrttp_ +dtzrqf_ +dtzrzf_ +dzsum1_ +iladlc_ +iladlr_ +ilazlc_ +ilazlr_ +izmax1_ +zbbcsd_ +zbdsqr_ +zcgesv_ +zcposv_ +zdrscl_ +zgbbrd_ +zgbcon_ +zgbequb_ +zgbequ_ +zgbrfs_ +zgbsv_ +zgbsvx_ +zgbtf2_ +zgbtrf_ +zgbtrs_ +zgebak_ +zgebal_ +zgebd2_ +zgebrd_ +zgecon_ +zgeequb_ +zgeequ_ +zgees_ +zgeesx_ +zgeev_ +zgeevx_ +zgegs_ +zgegv_ +zgehd2_ +zgehrd_ +zgelq2_ +zgelqf_ +zgelsd_ +zgels_ +zgelss_ +zgelsx_ +zgelsy_ +zgemqrt_ +zgeql2_ +zgeqlf_ +zgeqp3_ +zgeqpf_ +zgeqr2_ +zgeqr2p_ +zgeqrf_ +zgeqrfp_ +zgeqrt2_ +zgeqrt3_ +zgeqrt_ +zgerfs_ +zgerq2_ +zgerqf_ +zgesc2_ +zgesdd_ +zgesvd_ +zgesv_ +zgesvx_ +zgetc2_ +zgetf2_ +zgetrf_ +zgetri_ +zgetrs_ +zggbak_ +zggbal_ +zgges_ +zggesx_ +zggev_ +zggevx_ +zggglm_ +zgghrd_ +zgglse_ +zggqrf_ +zggrqf_ +zggsvd_ +zggsvp_ +zgtcon_ +zgtrfs_ +zgtsv_ +zgtsvx_ +zgttrf_ +zgttrs_ +zgtts2_ +zhbevd_ +zhbev_ +zhbevx_ +zhbgst_ +zhbgvd_ +zhbgv_ +zhbgvx_ +zhbtrd_ +zhecon_ +zheequb_ +zheevd_ +zheev_ +zheevr_ +zheevx_ +zhegs2_ +zhegst_ +zhegvd_ +zhegv_ +zhegvx_ +zherfs_ +zhesv_ +zhesvx_ +zheswapr_ +zhetd2_ +zhetf2_ +zhetrd_ +zhetrf_ +zhetri2_ +zhetri2x_ +zhetri_ +zhetrs2_ +zhetrs_ +zhfrk_ +zhgeqz_ +zhpcon_ +zhpevd_ +zhpev_ +zhpevx_ +zhpgst_ +zhpgvd_ +zhpgv_ +zhpgvx_ +zhprfs_ +zhpsv_ +zhpsvx_ +zhptrd_ +zhptrf_ +zhptri_ +zhptrs_ +zhsein_ +zhseqr_ +zlabrd_ +zlacgv_ +zlacn2_ +zlacon_ +zlacp2_ +zlacpy_ +zlacrm_ +zlacrt_ +zladiv_ +zlaed0_ +zlaed7_ +zlaed8_ +zlaein_ +zlaesy_ +zlaev2_ +zlag2c_ +zla_gerpvgrw__ +zlags2_ +zlagtm_ +zlahef_ +zlahqr_ +zlahr2_ +zlahrd_ +zlaic1_ +zlals0_ +zlalsa_ +zlalsd_ +zlangb_ +zlange_ +zlangt_ +zlanhb_ +zlanhe_ +zlanhf_ +zlanhp_ +zlanhs_ +zlanht_ +zlansb_ +zlansp_ +zlansy_ +zlantb_ +zlantp_ +zlantr_ +zlapll_ +zlapmr_ +zlapmt_ +zlaqgb_ +zlaqge_ +zlaqhb_ +zlaqhe_ +zlaqhp_ +zlaqp2_ +zlaqps_ +zlaqr0_ +zlaqr1_ +zlaqr2_ +zlaqr3_ +zlaqr4_ +zlaqr5_ +zlaqsb_ +zlaqsp_ +zlaqsy_ +zlar1v_ +zlar2v_ +zlarcm_ +zlarfb_ +zlarf_ +zlarfg_ +zlarfgp_ +zlarft_ +zlarfx_ +zlargv_ +zlarnv_ +zlarrv_ +zlartg_ +zlartv_ +zlarzb_ +zlarz_ +zlarzt_ +zlascl_ +zlaset_ +zlasr_ +zlassq_ +zlaswp_ +zlasyf_ +zlat2c_ +zlatbs_ +zlatdf_ +zlatps_ +zlatrd_ +zlatrs_ +zlatrz_ +zlatzm_ +zlauu2_ +zlauum_ +zpbcon_ +zpbequ_ +zpbrfs_ +zpbstf_ +zpbsv_ +zpbsvx_ +zpbtf2_ +zpbtrf_ +zpbtrs_ +zpftrf_ +zpftri_ +zpftrs_ +zpocon_ +zpoequb_ +zpoequ_ +zporfs_ +zposv_ +zposvx_ +zpotf2_ +zpotrf_ +zpotri_ +zpotrs_ +zppcon_ +zppequ_ +zpprfs_ +zppsv_ +zppsvx_ +zpptrf_ +zpptri_ +zpptrs_ +zpstf2_ +zpstrf_ +zptcon_ +zpteqr_ +zptrfs_ +zptsv_ +zptsvx_ +zpttrf_ +zpttrs_ +zptts2_ +zrot_ +zspcon_ +zspmv_ +zspr_ +zsprfs_ +zspsv_ +zspsvx_ +zsptrf_ +zsptri_ +zsptrs_ +zstedc_ +zstegr_ +zstein_ +zstemr_ +zsteqr_ +zsycon_ +zsyconv_ +zsyequb_ +zsymv_ +zsyr_ +zsyrfs_ +zsysv_ +zsysvx_ +zsyswapr_ +zsytf2_ +zsytrf_ +zsytri2_ +zsytri2x_ +zsytri_ +zsytrs2_ +zsytrs_ +ztbcon_ +ztbrfs_ +ztbtrs_ +ztfsm_ +ztftri_ +ztfttp_ +ztfttr_ +ztgevc_ +ztgex2_ +ztgexc_ +ztgsen_ +ztgsja_ +ztgsna_ +ztgsy2_ +ztgsyl_ +ztpcon_ +ztpmqrt_ +ztpqrt2_ +ztpqrt_ +ztprfb_ +ztprfs_ +ztptri_ +ztptrs_ +ztpttf_ +ztpttr_ +ztrcon_ +ztrevc_ +ztrexc_ +ztrrfs_ +ztrsen_ +ztrsna_ +ztrsyl_ +ztrti2_ +ztrtri_ +ztrtrs_ +ztrttf_ +ztrttp_ +ztzrqf_ +ztzrzf_ +zunbdb_ +zuncsd_ +zung2l_ +zung2r_ +zungbr_ +zunghr_ +zungl2_ +zunglq_ +zungql_ +zungqr_ +zungr2_ +zungrq_ +zungtr_ +zunm2l_ +zunm2r_ +zunmbr_ +zunmhr_ +zunml2_ +zunmlq_ +zunmql_ +zunmqr_ +zunmr2_ +zunmr3_ +zunmrq_ +zunmrz_ +zunmtr_ +zupgtr_ +zupmtr_ +chla_transtype__ +ieeeck_ +iladiag_ +ilaenv_ +ilaprec_ +ilatrans_ +ilauplo_ +ilaver_ +iparmq_ +lsamen_ diff --git a/mingw-w64-faudio/PKGBUILD b/mingw-w64-faudio/PKGBUILD index f6ffcdf062..e28875548f 100644 --- a/mingw-w64-faudio/PKGBUILD +++ b/mingw-w64-faudio/PKGBUILD @@ -3,7 +3,7 @@ _realname=FAudio pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=21.05 +pkgver=22.01 pkgrel=1 pkgdesc="FAudio - Accuracy-focused XAudio reimplementation for open platforms (mingw-w64)" arch=('any') @@ -19,7 +19,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-cc") options=('strip' '!debug' 'staticlibs') source=(${_realname}-${pkgver}.tar.gz::"https://github.com/FNA-XNA/FAudio/archive/${pkgver}.tar.gz") -sha256sums=('05c971c1676a9a16690d96922161a74f792ae93ea1fc076edb9ac3690c2f11fc') +sha256sums=('e6b7c0ced90f5a3e1363f95ad990a99afee6784a35320719df48af45d1f07c7d') build() { declare -a extra_config @@ -37,6 +37,8 @@ build() { ${MINGW_PREFIX}/bin/cmake.exe \ -G "Ninja" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_INSTALL_INCLUDEDIR=include \ "${extra_config[@]}" \ -DBUILD_SHARED_LIBS=OFF \ -DGSTREAMER=ON \ @@ -52,6 +54,8 @@ build() { ${MINGW_PREFIX}/bin/cmake.exe \ -G "Ninja" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_INSTALL_INCLUDEDIR=include \ "${extra_config[@]}" \ -DBUILD_SHARED_LIBS=ON \ -DGSTREAMER=ON \ diff --git a/mingw-w64-ffmpeg/PKGBUILD b/mingw-w64-ffmpeg/PKGBUILD index 328ec5a5aa..c0e2e61391 100644 --- a/mingw-w64-ffmpeg/PKGBUILD +++ b/mingw-w64-ffmpeg/PKGBUILD @@ -7,7 +7,7 @@ _realname=ffmpeg pkgbase="mingw-w64-${_realname}" pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=4.4.1 -pkgrel=2 +pkgrel=4 pkgdesc="Complete and free Internet live audio and video broadcasting solution (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -43,10 +43,12 @@ depends=("${MINGW_PACKAGE_PREFIX}-aom" "${MINGW_PACKAGE_PREFIX}-SDL2" "${MINGW_PACKAGE_PREFIX}-speex" "${MINGW_PACKAGE_PREFIX}-srt" + $([[ "${CARCH}" != "x86_64" ]] || echo "${MINGW_PACKAGE_PREFIX}-svt-av1") "${MINGW_PACKAGE_PREFIX}-vulkan" "${MINGW_PACKAGE_PREFIX}-x264" "${MINGW_PACKAGE_PREFIX}-x265" "${MINGW_PACKAGE_PREFIX}-xvidcore" + "${MINGW_PACKAGE_PREFIX}-zimg" "${MINGW_PACKAGE_PREFIX}-zlib") makedepends=("${MINGW_PACKAGE_PREFIX}-dlfcn" "${MINGW_PACKAGE_PREFIX}-cc" @@ -123,6 +125,7 @@ build() { --enable-libvpx --enable-libwebp --enable-libxml2 + --enable-libzimg --enable-nvenc --enable-openal --enable-pic @@ -141,6 +144,12 @@ build() { ) fi + if [[ "${CARCH}" == "x86_64" ]]; then + common_config+=( + --enable-libsvtav1 + ) + fi + for _variant in -static -shared; do [[ -d "${srcdir}/build-${MINGW_CHOST}${_variant}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}${_variant}" mkdir -p "${srcdir}/build-${MINGW_CHOST}${_variant}" && cd "${srcdir}/build-${MINGW_CHOST}${_variant}" @@ -149,12 +158,12 @@ build() { else ENABLE_VARIANT=--enable-shared fi - CC=${MINGW_PREFIX}/bin/gcc \ - CXX=${MINGW_PREFIX}/bin/g++ \ ../${_realname}-${pkgver}/configure \ --prefix=${MINGW_PREFIX} \ --target-os=mingw32 \ --arch=${CARCH%%-*} \ + --cc=${CC} \ + --cxx=${CXX} \ "${common_config[@]}" \ --logfile=config.log \ ${ENABLE_VARIANT} || diff --git a/mingw-w64-ffnvcodec-headers/PKGBUILD b/mingw-w64-ffnvcodec-headers/PKGBUILD index 8e052565ac..c944b065d6 100644 --- a/mingw-w64-ffnvcodec-headers/PKGBUILD +++ b/mingw-w64-ffnvcodec-headers/PKGBUILD @@ -3,15 +3,15 @@ _realname=ffnvcodec-headers pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=11.1.5.0 +pkgver=11.1.5.1 pkgrel=1 -pkgdesc='FFmpeg version of headers required to interface with Nvidias codec APIs' +pkgdesc='FFmpeg version of headers required to interface with Nvidias codec APIs (mingw-w64)' arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url=https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git license=('MIT') makedepends=("git") -_tag=b641a195edbe3ac9788e681e22c2e2fad8aacddb +_tag=84483da70d903239d4536763fde8c7e6c4e80784 source=(git+https://git.videolan.org/git/ffmpeg/nv-codec-headers.git#tag=${_tag}) sha256sums=(SKIP) diff --git a/mingw-w64-fgsl/PKGBUILD b/mingw-w64-fgsl/PKGBUILD index e02c5880d4..7d2f152abf 100644 --- a/mingw-w64-fgsl/PKGBUILD +++ b/mingw-w64-fgsl/PKGBUILD @@ -11,7 +11,7 @@ arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64') url="https://github.com/reinh-bader/fgsl" license=('GPL') -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-gcc-fortran" "${MINGW_PACKAGE_PREFIX}-autotools") depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" diff --git a/mingw-w64-flang/PKGBUILD b/mingw-w64-flang/PKGBUILD index 06f3224bc7..8fceb436dd 100644 --- a/mingw-w64-flang/PKGBUILD +++ b/mingw-w64-flang/PKGBUILD @@ -2,8 +2,8 @@ _compiler=clang _realname=flang pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=13.0.0 -pkgrel=2 +pkgver=13.0.1 +pkgrel=1 pkgdesc="Fortran frontend for LLVM (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -12,13 +12,11 @@ license=("custom:Apache 2.0 with LLVM Exception") depends=("${MINGW_PACKAGE_PREFIX}-clang=${pkgver}" "${MINGW_PACKAGE_PREFIX}-llvm=${pkgver}" "${MINGW_PACKAGE_PREFIX}-mlir=${pkgver}") -makedepends=("${MINGW_PACKAGE_PREFIX}-clang-analyzer=${pkgver}" - "${MINGW_PACKAGE_PREFIX}-clang-tools-extra=${pkgver}" - "${MINGW_PACKAGE_PREFIX}-cmake>=3.4.3" +makedepends=("${MINGW_PACKAGE_PREFIX}-clang-tools-extra=${pkgver}" + "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-lld" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-pkg-config" - "${MINGW_PACKAGE_PREFIX}-polly=${pkgver}" "gawk" $([[ "$_compiler" == "clang" ]] && echo \ "${MINGW_PACKAGE_PREFIX}-compiler-rt" \ @@ -30,7 +28,7 @@ options=('!debug' 'strip') source=("https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver}/flang-${pkgver}.src.tar.xz"{,.sig} "0001-cast-cxx11-narrowing.patch" "0002-cmake-22162.patch") -sha256sums=('13bc580342bec32b6158c8cddeb276bd428d9fc8fd23d13179c8aa97bbba37d5' +sha256sums=('129587687253c82de1a3a5eed18c1e12f16c3ad44cb881129b10335555b90778' 'SKIP' 'f8babd240968599597cf2b906fad44b62e2d92ac7ea144530a3f9542e96e06b1' '77fb0612217b6af7a122f586a9d0d334cd48bb201509bf72e8f8e6244616e895') diff --git a/mingw-w64-fluidsynth/PKGBUILD b/mingw-w64-fluidsynth/PKGBUILD index 5b9306e31a..4e2f4dc528 100644 --- a/mingw-w64-fluidsynth/PKGBUILD +++ b/mingw-w64-fluidsynth/PKGBUILD @@ -3,8 +3,8 @@ _realname=fluidsynth pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.2.4 -pkgrel=2 +pkgver=2.2.5 +pkgrel=1 pkgdesc="A real-time software synthesizer based on the SoundFont 2 specifications (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -22,7 +22,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-pkg-config" options=('strip' 'staticlibs') source=("${_realname}-${pkgver}.tar.gz::https://github.com/FluidSynth/${_realname}/archive/v${pkgver}.tar.gz" "010-no-undefined.patch") -sha256sums=('83cb1dba04c632ede74f0c0717018b062c0e00b639722203b23f77a961afd390' +sha256sums=('9037e703617f91c4c36039a5059e0f624164799d856af715bcd8a23c07ba03b8' '8b865ac2b0ea760f3c5fa640573793131a09cdc7af833ab6fd8f69b583e41153') noextract=("${_realname}-${pkgver}.tar.gz") diff --git a/mingw-w64-fontconfig/PKGBUILD b/mingw-w64-fontconfig/PKGBUILD index 297b97b7a8..f1231960f2 100644 --- a/mingw-w64-fontconfig/PKGBUILD +++ b/mingw-w64-fontconfig/PKGBUILD @@ -4,7 +4,7 @@ _realname=fontconfig pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.13.94 +pkgver=2.13.96 pkgrel=1 pkgdesc="A library for configuring and customizing font access (mingw-w64)" arch=('any') @@ -29,7 +29,7 @@ source=("https://www.freedesktop.org/software/fontconfig/release/fontconfig-${pk 0005-fix-setenv.mingw.patch 0007-pkgconfig.mingw.patch fontconfig.hook.in) -sha256sums=('a5f052cb73fd479ffb7b697980510903b563bbb55b8f7a2b001fcfb94026003c' +sha256sums=('d816a920384aa91bc0ebf20c3b51c59c2153fdf65de0b5564bf9e8473443d637' '1266d4bbd8270f013fee2401c890f0251babf50a175a69d681d3a6af5003c899' '9e5700b9c555e60cd8116fdc2e24cf0a01de01e83373dbbe78cef1e32b91da3b' '57ff8420dbf62873b6fcb38b52fb7b37e0e278425a9125e15dccba54668c8ab9' diff --git a/mingw-w64-fontconfig/fontconfig-CLANG32.install b/mingw-w64-fontconfig/fontconfig-CLANG32.install index f60ca0ed97..af2663dafb 100644 --- a/mingw-w64-fontconfig/fontconfig-CLANG32.install +++ b/mingw-w64-fontconfig/fontconfig-CLANG32.install @@ -1,13 +1,6 @@ MINGW_INSTALL=clang32 post_install() { - cat << _EOF - - Fontconfig configuration is done via /${MINGW_INSTALL}/etc/fonts/conf.avail and conf.d. - Read /${MINGW_INSTALL}/etc/fonts/conf.d/README for more information. - -_EOF - if [ -n "${MSYS2_FC_CACHE_SKIP}" ]; then echo "Warning: 'MSYS2_FC_CACHE_SKIP' set, skipping font cache update" else diff --git a/mingw-w64-fontconfig/fontconfig-CLANG64.install b/mingw-w64-fontconfig/fontconfig-CLANG64.install index 96f62deef4..2372e98f45 100644 --- a/mingw-w64-fontconfig/fontconfig-CLANG64.install +++ b/mingw-w64-fontconfig/fontconfig-CLANG64.install @@ -1,13 +1,6 @@ MINGW_INSTALL=clang64 post_install() { - cat << _EOF - - Fontconfig configuration is done via /${MINGW_INSTALL}/etc/fonts/conf.avail and conf.d. - Read /${MINGW_INSTALL}/etc/fonts/conf.d/README for more information. - -_EOF - if [ -n "${MSYS2_FC_CACHE_SKIP}" ]; then echo "Warning: 'MSYS2_FC_CACHE_SKIP' set, skipping font cache update" else diff --git a/mingw-w64-fontconfig/fontconfig-CLANGARM64.install b/mingw-w64-fontconfig/fontconfig-CLANGARM64.install index 40fb18753e..670bde7b0b 100644 --- a/mingw-w64-fontconfig/fontconfig-CLANGARM64.install +++ b/mingw-w64-fontconfig/fontconfig-CLANGARM64.install @@ -1,13 +1,6 @@ MINGW_INSTALL=clangarm64 post_install() { - cat << _EOF - - Fontconfig configuration is done via /${MINGW_INSTALL}/etc/fonts/conf.avail and conf.d. - Read /${MINGW_INSTALL}/etc/fonts/conf.d/README for more information. - -_EOF - if [ -n "${MSYS2_FC_CACHE_SKIP}" ]; then echo "Warning: 'MSYS2_FC_CACHE_SKIP' set, skipping font cache update" else diff --git a/mingw-w64-fontconfig/fontconfig-MINGW32.install b/mingw-w64-fontconfig/fontconfig-MINGW32.install index de80da68dd..2556a14dd2 100644 --- a/mingw-w64-fontconfig/fontconfig-MINGW32.install +++ b/mingw-w64-fontconfig/fontconfig-MINGW32.install @@ -1,13 +1,6 @@ MINGW_INSTALL=mingw32 post_install() { - cat << _EOF - - Fontconfig configuration is done via /${MINGW_INSTALL}/etc/fonts/conf.avail and conf.d. - Read /${MINGW_INSTALL}/etc/fonts/conf.d/README for more information. - -_EOF - if [ -n "${MSYS2_FC_CACHE_SKIP}" ]; then echo "Warning: 'MSYS2_FC_CACHE_SKIP' set, skipping font cache update" else diff --git a/mingw-w64-fontconfig/fontconfig-MINGW64.install b/mingw-w64-fontconfig/fontconfig-MINGW64.install index 0c2d780690..a1a3617e77 100644 --- a/mingw-w64-fontconfig/fontconfig-MINGW64.install +++ b/mingw-w64-fontconfig/fontconfig-MINGW64.install @@ -1,13 +1,6 @@ MINGW_INSTALL=mingw64 post_install() { - cat << _EOF - - Fontconfig configuration is done via /${MINGW_INSTALL}/etc/fonts/conf.avail and conf.d. - Read /${MINGW_INSTALL}/etc/fonts/conf.d/README for more information. - -_EOF - if [ -n "${MSYS2_FC_CACHE_SKIP}" ]; then echo "Warning: 'MSYS2_FC_CACHE_SKIP' set, skipping font cache update" else diff --git a/mingw-w64-fontconfig/fontconfig-UCRT64.install b/mingw-w64-fontconfig/fontconfig-UCRT64.install index f7105ab6f2..948f91a6c9 100644 --- a/mingw-w64-fontconfig/fontconfig-UCRT64.install +++ b/mingw-w64-fontconfig/fontconfig-UCRT64.install @@ -1,13 +1,6 @@ MINGW_INSTALL=ucrt64 post_install() { - cat << _EOF - - Fontconfig configuration is done via /${MINGW_INSTALL}/etc/fonts/conf.avail and conf.d. - Read /${MINGW_INSTALL}/etc/fonts/conf.d/README for more information. - -_EOF - if [ -n "${MSYS2_FC_CACHE_SKIP}" ]; then echo "Warning: 'MSYS2_FC_CACHE_SKIP' set, skipping font cache update" else diff --git a/mingw-w64-gcc/0300-override-builtin-printf-format.patch b/mingw-w64-gcc/0300-override-builtin-printf-format.patch new file mode 100644 index 0000000000..76ef4920fc --- /dev/null +++ b/mingw-w64-gcc/0300-override-builtin-printf-format.patch @@ -0,0 +1,122 @@ +>From 4db4e6b35be5793902d8820d2c8e4d1f1cbba80d Mon Sep 17 00:00:00 2001 +From: Tomas Kalibera +Date: Thu, 13 Jan 2022 05:25:32 -0500 +Subject: [PATCH] c-family: Let stdio.h override built in printf format + [PR95130,PR92292] + +Mingw32 targets use ms_printf format for printf, but mingw-w64 when +configured for UCRT uses gnu_format (via stdio.h). GCC then checks both +formats, which means that one cannot print a 64-bit integer without a +warning. All these lines issue a warning: + + printf("Hello %"PRIu64"\n", x); + printf("Hello %I64u\n", x); + printf("Hello %llu\n", x); + +because each of them violates one of the formats. Also, one gets a warning +twice if the format string violates both formats. + +Fixed by disabling the built in format in case there are additional ones. + +gcc/c-family/ChangeLog: + + PR c/95130 + PR c/92292 + + * c-common.c (check_function_arguments): Pass also function + declaration to check_function_format. + + * c-common.h (check_function_format): Extra argument - function + declaration. + + * c-format.c (check_function_format): For builtin functions with a + built in format and at least one more, do not check the first one. +--- + gcc/c-family/c-common.c | 2 +- + gcc/c-family/c-common.h | 2 +- + gcc/c-family/c-format.c | 32 ++++++++++++++++++++++++++++++-- + 3 files changed, 32 insertions(+), 4 deletions(-) + +diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c +index 4a6a4edb763..00fc734d28e 100644 +--- a/gcc/c-family/c-common.c ++++ b/gcc/c-family/c-common.c +@@ -6064,7 +6064,7 @@ check_function_arguments (location_t loc, const_tree fndecl, const_tree fntype, + /* Check for errors in format strings. */ + + if (warn_format || warn_suggest_attribute_format) +- check_function_format (fntype, TYPE_ATTRIBUTES (fntype), nargs, argarray, ++ check_function_format (fndecl, fntype, TYPE_ATTRIBUTES (fntype), nargs, argarray, + arglocs); + + if (warn_format) +diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h +index 8b7bf35e888..ee370eafbbc 100644 +--- a/gcc/c-family/c-common.h ++++ b/gcc/c-family/c-common.h +@@ -856,7 +856,7 @@ extern void check_function_arguments_recurse (void (*) + unsigned HOST_WIDE_INT); + extern bool check_builtin_function_arguments (location_t, vec, + tree, tree, int, tree *); +-extern void check_function_format (const_tree, tree, int, tree *, ++extern void check_function_format (const_tree, const_tree, tree, int, tree *, + vec *); + extern bool attribute_fallthrough_p (tree); + extern tree handle_format_attribute (tree *, tree, tree, int, bool *); +diff --git a/gcc/c-family/c-format.c b/gcc/c-family/c-format.c +index afa77810a5c..bc2abee5146 100644 +--- a/gcc/c-family/c-format.c ++++ b/gcc/c-family/c-format.c +@@ -1160,12 +1160,13 @@ decode_format_type (const char *s, bool *is_raw /* = NULL */) + attribute themselves. */ + + void +-check_function_format (const_tree fntype, tree attrs, int nargs, ++check_function_format (const_tree fndecl, const_tree fntype, tree attrs, int nargs, + tree *argarray, vec *arglocs) + { +- tree a; ++ tree a, aa; + + tree atname = get_identifier ("format"); ++ bool skipped_default_format = false; + + /* See if this function has any format attributes. */ + for (a = attrs; a; a = TREE_CHAIN (a)) +@@ -1176,6 +1177,33 @@ check_function_format (const_tree fntype, tree attrs, int nargs, + function_format_info info; + decode_format_attr (fntype, atname, TREE_VALUE (a), &info, + /*validated=*/true); ++ ++ /* Mingw32 targets have traditionally used ms_printf format for the ++ printf function, and this format is built in GCC. But nowadays, ++ if mingw-w64 is configured to target UCRT, the printf function ++ uses the gnu_printf format (specified in the stdio.h header). This ++ causes GCC to check both formats, which means that there is no way ++ to e.g. print a long long unsigned without a warning (ms_printf ++ warns for %llu and gnu_printf warns for %I64u). Also, GCC would warn ++ twice about the same issue when both formats are violated, e.g. ++ for %lu used to print long long unsigned. ++ ++ Hence, if there are multiple format specifiers, we skip the first ++ one. See PR 95130, PR 92292. */ ++ ++ if (!skipped_default_format && fndecl) ++ { ++ for(aa = TREE_CHAIN (a); aa; aa = TREE_CHAIN(aa)) ++ if (is_attribute_p ("format", get_attribute_name (aa)) && ++ fndecl && fndecl_built_in_p (fndecl, BUILT_IN_NORMAL)) ++ { ++ skipped_default_format = true; ++ break; ++ } ++ if (skipped_default_format) ++ continue; ++ } ++ + if (warn_format) + { + /* FIXME: Rewrite all the internal functions in this file +-- +2.25.1 + diff --git a/mingw-w64-gcc/1001-Fix-freorder-blocks-and-partition-glitch-with-Window.patch b/mingw-w64-gcc/1001-Fix-freorder-blocks-and-partition-glitch-with-Window.patch new file mode 100644 index 0000000000..5dca6113e4 --- /dev/null +++ b/mingw-w64-gcc/1001-Fix-freorder-blocks-and-partition-glitch-with-Window.patch @@ -0,0 +1,60 @@ +From aef7d09baf91341540e7d468419918d58dd33601 Mon Sep 17 00:00:00 2001 +From: Eric Botcazou +Date: Tue, 30 Nov 2021 10:17:09 +0100 +Subject: [PATCH] Fix -freorder-blocks-and-partition glitch with Windows SEH + (continued) + +This fixes a thinko in the fix for the -freorder-blocks-and-partition +glitch with SEH on 64-bit Windows: + https://gcc.gnu.org/pipermail/gcc-patches/2021-February/565208.html + +Even if no exceptions are active, e.g. in C, we need to consider calls. + +gcc/ + PR target/103274 + * config/i386/i386.c (ix86_output_call_insn): Beef up comment about + nops emitted with SEH. + * config/i386/winnt.c (i386_pe_seh_unwind_emit): When switching to + the cold section, emit a nop before the directive if the previous + active instruction is a call. +--- + gcc/config/i386/i386.c | 6 ++++-- + gcc/config/i386/winnt.c | 4 ++-- + 2 files changed, 6 insertions(+), 4 deletions(-) + +diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c +index 1448f3609c3..8e8c8beb366 100644 +--- a/gcc/config/i386/i386.c ++++ b/gcc/config/i386/i386.c +@@ -16149,8 +16149,10 @@ ix86_output_call_insn (rtx_insn *insn, rtx call_op) + break; + + /* If we get to the epilogue note, prevent a catch region from +- being adjacent to the standard epilogue sequence. If non- +- call-exceptions, we'll have done this during epilogue emission. */ ++ being adjacent to the standard epilogue sequence. Note that, ++ if non-call exceptions are enabled, we already did it during ++ epilogue expansion, or else, if the insn can throw internally, ++ we already did it during the reorg pass. */ + if (NOTE_P (i) && NOTE_KIND (i) == NOTE_INSN_EPILOGUE_BEG + && !flag_non_call_exceptions + && !can_throw_internal (insn)) +diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c +index b66263ad243..2d1debf2dbd 100644 +--- a/gcc/config/i386/winnt.c ++++ b/gcc/config/i386/winnt.c +@@ -1244,9 +1244,9 @@ i386_pe_seh_unwind_emit (FILE *asm_out_file, rtx_insn *insn) + seh = cfun->machine->seh; + if (NOTE_P (insn) && NOTE_KIND (insn) == NOTE_INSN_SWITCH_TEXT_SECTIONS) + { +- /* See ix86_seh_fixup_eh_fallthru for the rationale. */ ++ /* See ix86_output_call_insn/seh_fixup_eh_fallthru for the rationale. */ + rtx_insn *prev = prev_active_insn (insn); +- if (prev && !insn_nothrow_p (prev)) ++ if (prev && (CALL_P (prev) || !insn_nothrow_p (prev))) + fputs ("\tnop\n", asm_out_file); + fputs ("\t.seh_endproc\n", asm_out_file); + seh->in_cold_section = true; +-- +2.34.1 + diff --git a/mingw-w64-gcc/1002-Properly-enable-freorder-blocks-and-partition-on-64-.patch b/mingw-w64-gcc/1002-Properly-enable-freorder-blocks-and-partition-on-64-.patch new file mode 100644 index 0000000000..52c59c05e9 --- /dev/null +++ b/mingw-w64-gcc/1002-Properly-enable-freorder-blocks-and-partition-on-64-.patch @@ -0,0 +1,46 @@ +From 27e6c84c1f14a8195a3f9fb489c240ecc7a6257d Mon Sep 17 00:00:00 2001 +From: Eric Botcazou +Date: Mon, 10 Jan 2022 12:40:10 +0100 +Subject: [PATCH] Properly enable -freorder-blocks-and-partition on 64-bit + Windows + +The PR uncovered that -freorder-blocks-and-partition was working by accident +on 64-bit Windows, i.e. the middle-end was supposed to disable it with SEH. +After the change installed on mainline, the middle-end properly disables it, +which is too bad since a significant amount of work went into it for SEH. + +gcc/ + PR target/103465 + * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET. +--- + gcc/coretypes.h | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/gcc/coretypes.h b/gcc/coretypes.h +index 406572e947d..732c76f5cbf 100644 +--- a/gcc/coretypes.h ++++ b/gcc/coretypes.h +@@ -227,15 +227,17 @@ enum stack_protector { + SPCT_FLAG_EXPLICIT = 4 + }; + +-/* Types of unwind/exception handling info that can be generated. */ ++/* Types of unwind/exception handling info that can be generated. ++ Note that a UI_TARGET (or larger) setting is considered to be ++ incompatible with -freorder-blocks-and-partition. */ + + enum unwind_info_type + { + UI_NONE, + UI_SJLJ, + UI_DWARF2, +- UI_TARGET, +- UI_SEH ++ UI_SEH, ++ UI_TARGET + }; + + /* Callgraph node profile representation. */ +-- +2.34.1 + diff --git a/mingw-w64-gcc/PKGBUILD b/mingw-w64-gcc/PKGBUILD index 4a6bbd5cb7..4041c5eec3 100644 --- a/mingw-w64-gcc/PKGBUILD +++ b/mingw-w64-gcc/PKGBUILD @@ -24,7 +24,7 @@ pkgver=11.2.0 #_majorver=${pkgver:0:1} #_sourcedir=${_realname}-${_majorver}-${_snapshot} _sourcedir=${_realname}-${pkgver} -pkgrel=6 +pkgrel=8 pkgdesc="GCC for the MinGW-w64" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64') @@ -65,7 +65,10 @@ source=("https://ftp.gnu.org/gnu/gcc/${_realname}-${pkgver%%+*}/${_realname}-${p 0021-fix-ada-exception-propagation.patch 0140-gcc-8.2.0-diagnostic-color.patch 0150-gcc-10.2.0-libgcc-ldflags.patch - 0200-add-m-no-align-vector-insn-option-for-i386.patch) + 0200-add-m-no-align-vector-insn-option-for-i386.patch + 0300-override-builtin-printf-format.patch + 1001-Fix-freorder-blocks-and-partition-glitch-with-Window.patch + 1002-Properly-enable-freorder-blocks-and-partition-on-64-.patch) sha256sums=('d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b' 'SKIP' 'bce81824fc89e5e62cca350de4c17a27e27a18a1a1ad5ca3492aec1fc5af3234' @@ -84,7 +87,10 @@ sha256sums=('d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b' 'bbd1374f4fccaadd641959725f222acab789f4bead9718d04f7e500885a14f30' '5240a9e731b45c17a164066c7eb193c1fbee9fd8d9a2a5afa2edbcde9510da47' '7f0b4e45d933e18c9d8bd2afcd83e4f52e97e2e25dd41bfa0cba755c70e591c7' - '75c4f764741a1f5ed29adbed1b7085bf4a12a3dd6fb19347f5f63c3831a51953') + '75c4f764741a1f5ed29adbed1b7085bf4a12a3dd6fb19347f5f63c3831a51953' + 'b6c401790fce1f5e57a479d7820b11bd13b5711c28d263a25852cee68bcf8fd1' + '579f7f4921a085cddd23b1282adc4bc3f1bbbd027eb545c86fe3db2a81537776' + '675df5cb664e9f0171fa008426c524fe44b04e58476dd1775027cd3bc5ce625b') validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org 86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com @@ -150,6 +156,16 @@ prepare() { apply_patch_with_msg \ 0200-add-m-no-align-vector-insn-option-for-i386.patch + # Patch from https://gcc.gnu.org/pipermail/gcc-patches/2022-January/588341.html + # Related bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95130 + apply_patch_with_msg \ + 0300-override-builtin-printf-format.patch + + # https://github.com/msys2/MINGW-packages/pull/10589#issuecomment-1018478090 + apply_patch_with_msg \ + 1001-Fix-freorder-blocks-and-partition-glitch-with-Window.patch \ + 1002-Properly-enable-freorder-blocks-and-partition-on-64-.patch + # do not expect ${prefix}/mingw symlink - this should be superceded by # 0005-Windows-Don-t-ignore-native-system-header-dir.patch .. but isn't! sed -i 's/${prefix}\/mingw\//${prefix}\//g' configure diff --git a/mingw-w64-gdb/0001-gdb-tui-Fix-breakpoint-display-functionality.patch b/mingw-w64-gdb/0001-gdb-tui-Fix-breakpoint-display-functionality.patch deleted file mode 100644 index 20226785ec..0000000000 --- a/mingw-w64-gdb/0001-gdb-tui-Fix-breakpoint-display-functionality.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 4f8042c7295f894124abed541abd0576f51c0e1b Mon Sep 17 00:00:00 2001 -From: Tom de Vries -Date: Fri, 22 Oct 2021 00:28:14 +0200 -Subject: [PATCH] [gdb/tui] Fix breakpoint display functionality - -In commit 81e6b8eb208 "Make tui-winsource not use breakpoint_chain", a loop -body was transformed into a lambda function body: -... -- for (bp = breakpoint_chain; -- bp != NULL; -- bp = bp->next) -+ iterate_over_breakpoints ([&] (breakpoint *bp) -> bool -... -and consequently: -- a continue was replaced by a return, and -- a final return was added. - -Then in commit 240edef62f0 "gdb: remove iterate_over_breakpoints function", we -transformed back to a loop body: -... -- iterate_over_breakpoints ([&] (breakpoint *bp) -> bool -+ for (breakpoint *bp : all_breakpoints ()) -... -but without reverting the changes that introduced the two returns. - -Consequently, breakpoints no longer show up in the tui source window. - -Fix this by reverting the changes that introduced the two returns. - -Build on x86_64-linux, tested with all .exp test-cases that contain -tuiterm_env. - -Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=28483 ---- - gdb/tui/tui-winsource.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/gdb/tui/tui-winsource.c b/gdb/tui/tui-winsource.c -index afd51e95980..955b68901fe 100644 ---- a/gdb/tui/tui-winsource.c -+++ b/gdb/tui/tui-winsource.c -@@ -460,7 +460,7 @@ tui_source_window_base::update_breakpoint_info - for (breakpoint *bp : all_breakpoints ()) - { - if (bp == being_deleted) -- return false; -+ continue; - - for (bp_location *loc : bp->locations ()) - { -@@ -478,7 +478,6 @@ tui_source_window_base::update_breakpoint_info - mode |= TUI_BP_HARDWARE; - } - } -- return false; - } - - if (line->break_mode != mode) --- -2.33.1.windows.1 - diff --git a/mingw-w64-gdb/PKGBUILD b/mingw-w64-gdb/PKGBUILD index 14ea248b60..d36357b76e 100644 --- a/mingw-w64-gdb/PKGBUILD +++ b/mingw-w64-gdb/PKGBUILD @@ -5,8 +5,8 @@ _realname=gdb pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" "${MINGW_PACKAGE_PREFIX}-${_realname}-multiarch") -pkgver=11.1 -pkgrel=2 +pkgver=11.2 +pkgrel=1 pkgdesc="GNU Debugger (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -32,16 +32,14 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gmp" "${MINGW_PACKAGE_PREFIX}-cc") options=('staticlibs' '!distcc' '!ccache') source=(https://ftp.gnu.org/gnu/gdb/${_realname}-${pkgver}.tar.xz{,.sig} - '0001-gdb-tui-Fix-breakpoint-display-functionality.patch' '0001-Workaround-performance-regression-in-info-func-var-t.patch' '0002-Fix-using-gnu-print.patch' '0003-configure-Disable-static-linking-with-standard-libs.patch' '0004-Python-Configure-path-fixes.patch' '0005-W32-Always-check-USERPROFILE-if-HOME-is-not-set.patch') validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') -sha256sums=('cccfcc407b20d343fb320d4a9a2110776dd3165118ffd41f4b1b162340333f94' +sha256sums=('1497c36a71881b8671a9a84a0ee40faab788ca30d7ba19d8463c3cc787152e32' 'SKIP' - 'a8001dad47e4016dbd0843356f79ba562f152e68362e73a700f644166eccbba8' '428cda7dcc107c236225ae89704390b0f1e70c276b5ca6b1741988f384b21d62' 'c60e867fb74f7985b5ac5337a07cc697b4a4ffe19fb6e52f7c377e29c8413a4a' '0eb291cd81f7392610d16a83f436a30d3384a99661c6b6ffd1bfb243d5aee6dd' @@ -51,9 +49,6 @@ sha256sums=('cccfcc407b20d343fb320d4a9a2110776dd3165118ffd41f4b1b162340333f94' prepare() { cd ${srcdir}/${_realname}-${pkgver} - # https://sourceware.org/bugzilla/show_bug.cgi?id=28483 - patch -p1 -i ${srcdir}/0001-gdb-tui-Fix-breakpoint-display-functionality.patch - # https://sourceware.org/bugzilla/show_bug.cgi?id=15412 patch -p1 -i ${srcdir}/0001-Workaround-performance-regression-in-info-func-var-t.patch diff --git a/mingw-w64-gegl/PKGBUILD b/mingw-w64-gegl/PKGBUILD index 353345880b..22bb8514f4 100644 --- a/mingw-w64-gegl/PKGBUILD +++ b/mingw-w64-gegl/PKGBUILD @@ -5,7 +5,7 @@ _realname=gegl pkgbase="mingw-w64-${_realname}" pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=0.4.34 -pkgrel=2 +pkgrel=4 pkgdesc="Generic Graphics Library (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -20,7 +20,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-asciidoc" "${MINGW_PACKAGE_PREFIX}-ruby" "${MINGW_PACKAGE_PREFIX}-vala" "${MINGW_PACKAGE_PREFIX}-meson" - "${MINGW_PACKAGE_PREFIX}-ninja") + "${MINGW_PACKAGE_PREFIX}-openmp") depends=("${MINGW_PACKAGE_PREFIX}-babl" "${MINGW_PACKAGE_PREFIX}-cairo" "${MINGW_PACKAGE_PREFIX}-exiv2" diff --git a/mingw-w64-geoip/PKGBUILD b/mingw-w64-geoip/PKGBUILD index dbea65c74e..88967b7997 100644 --- a/mingw-w64-geoip/PKGBUILD +++ b/mingw-w64-geoip/PKGBUILD @@ -6,14 +6,13 @@ _pkgname=geoip-api-c pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=1.6.12 -pkgrel=1 +pkgrel=2 pkgdesc="Non-DNS IP-to-country resolver C library & utils (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') url="https://www.maxmind.com/app/c" license=('LGPL') -depends=("${MINGW_PACKAGE_PREFIX}-geoip2-database" - "${MINGW_PACKAGE_PREFIX}-zlib") +depends=("${MINGW_PACKAGE_PREFIX}-zlib") makedepends=("${MINGW_PACKAGE_PREFIX}-autotools" "${MINGW_PACKAGE_PREFIX}-cc") options=('!emptydirs') diff --git a/mingw-w64-geoip2-database/PKGBUILD b/mingw-w64-geoip2-database/PKGBUILD deleted file mode 100644 index 98849a12ab..0000000000 --- a/mingw-w64-geoip2-database/PKGBUILD +++ /dev/null @@ -1,41 +0,0 @@ -# Maintainer: Alexey Pavlov - -_realname=geoip2-database -pkgbase=mingw-w64-${_realname} -pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=20190624 -pkgrel=1 -pkgdesc="GeoLite country geolocation database compiled by MaxMind (mingw-w64)" -arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') -url="https://dev.maxmind.com/geoip/geoip2/geolite2/" -license=('custom:Creative Commons Attribution-ShareAlike 3.0 Unported') -source=(GeoLite2-City-${pkgver}.tar.gz::https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz - GeoLite2-Country-${pkgver}.tar.gz::https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz - GeoLite2-ASN-${pkgver}.tar.gz::https://geolite.maxmind.com/download/geoip/database/GeoLite2-ASN.tar.gz) -noextract=(GeoLite2-City-${pkgver}.tar.gz - GeoLite2-Country-${pkgver}.tar.gz - GeoLite2-ASN-${pkgver}.tar.gz) -sha256sums=('491367661ccfda918c606a140154aa10ded8c62eeb64c947dd037efdaba08d94' - 'cd8640a40a8423464e7f9cad3c814bbe073c72646abb4f98b768be55f2096182' - '0fa431a8663984d87f44dbc9ceaa2602abf5a3254ac52bfde27a6f517c4ee018') - -prepare() { - cd "${srcdir}" - - for _db in GeoLite2-{City,Country,ASN}; do - tar --strip-components=1 -xf ${_db}-${pkgver}.tar.gz --wildcards "*/${_db}.mmdb" - done - - tar --strip-components=1 -xf GeoLite2-ASN-${pkgver}.tar.gz --wildcards "*/COPYRIGHT.txt" "*/LICENSE.txt" -} - -package() { - cd "${srcdir}" - - install -d "${pkgdir}${MINGW_PREFIX}/share/GeoIP" - install -m644 -t "${pkgdir}${MINGW_PREFIX}/share/GeoIP" GeoLite2-{City,Country,ASN}.mmdb - - install -Dm644 COPYRIGHT.txt "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYRIGHT.txt" - install -Dm644 LICENSE.txt "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE.txt" -} diff --git a/mingw-w64-geoip2-database/check-last-modified.sh b/mingw-w64-geoip2-database/check-last-modified.sh deleted file mode 100644 index 0787b46cf3..0000000000 --- a/mingw-w64-geoip2-database/check-last-modified.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -e - -# Unicode characters taken from pactree.c -UNICODE_IS_FUN="\u2514\u2500" - -verbose=0 -if [[ $1 == -v ]]; then - verbose=1 -fi - -URLS=(https://geolite.maxmind.com/download/geoip/database/GeoLite2-City.tar.gz - https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz - https://geolite.maxmind.com/download/geoip/database/GeoLite2-ASN.tar.gz) - -for url in ${URLS[@]}; do - last_mod=$(curl -sI $url | grep -i ^Last-Modified: | cut -d' ' -f2- | tr -d '\r') - echo "$last_mod (${url##*/})" - - if ((verbose)); then - build_id=$(curl -s $url | gzip -cd | grep -aoE '[0-9]{8} Build [0-9]*') - echo -e "${UNICODE_IS_FUN}$build_id" - fi -done diff --git a/mingw-w64-geoipupdate/001-relocate.patch b/mingw-w64-geoipupdate/001-relocate.patch new file mode 100644 index 0000000000..2436f1b128 --- /dev/null +++ b/mingw-w64-geoipupdate/001-relocate.patch @@ -0,0 +1,21 @@ +--- geoipupdate-4.8.0/cmd/geoipupdate/main.go.orig 2022-02-01 08:23:33.340000000 +0100 ++++ geoipupdate-4.8.0/cmd/geoipupdate/main.go 2022-02-01 08:08:48.823592300 +0100 +@@ -21,11 +21,16 @@ + func main() { + log.SetFlags(0) + ++ ex, err := os.Executable() ++ if err != nil { ++ panic(err) ++ } ++ + if defaultConfigFile == "" { +- defaultConfigFile = geoipupdate.DefaultConfigFile ++ defaultConfigFile = filepath.Join(filepath.Dir(ex), "..", "etc", "GeoIP.conf") + } + if defaultDatabaseDirectory == "" { +- defaultDatabaseDirectory = geoipupdate.DefaultDatabaseDirectory ++ defaultDatabaseDirectory = filepath.Join(filepath.Dir(ex), "..", "var", "lib", "GeoIP") + } + + args := getArgs() diff --git a/mingw-w64-geoipupdate/PKGBUILD b/mingw-w64-geoipupdate/PKGBUILD new file mode 100644 index 0000000000..9dc0c68688 --- /dev/null +++ b/mingw-w64-geoipupdate/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Christoph Reiter + +_realname=geoipupdate +pkgbase=mingw-w64-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") +pkgver=4.8.0 +pkgrel=1 +pkgdesc='Update GeoIP2 and GeoIP Legacy binary databases from MaxMind (mingw-w64)' +arch=('any') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') +url="https://dev.maxmind.com/geoip/geoipupdate" +license=('spdx:Apache-2.0 OR MIT') +makedepends=("${MINGW_PACKAGE_PREFIX}-go") +backup=("${MINGW_PREFIX:1}/etc/GeoIP.conf") +options=('!strip') +source=("https://github.com/maxmind/geoipupdate/archive/v$pkgver/$_realname-$pkgver.tar.gz" + "001-relocate.patch") +sha256sums=('ca718c3ffcc595ef441363699888d20150f1d3a6583ac2d60bcbd34f052db09f' + '13a011e60eb044281c41420723f3854b8870c174a7876c3ecd7ccc22393c909f') + +prepare() { + cd "$srcdir/$_realname-$pkgver" + + sed -i 's/EditionIDs .*/EditionIDs GeoLite2-ASN GeoLite2-City GeoLite2-Country/' conf/GeoIP.conf.default + + patch -Nbp1 -i "${srcdir}/001-relocate.patch" +} + +build() { + cd "$srcdir/$_realname-$pkgver" + + export GOROOT=${MINGW_PREFIX}/lib/go + + cd cmd/geoipupdate + mkdir -p "$srcdir/build" + go build -o "$srcdir/build/geoipupdate.exe" -ldflags "-X main.version=$pkgver" +} + +package() { + cd "$srcdir/$_realname-$pkgver" + + install -dm755 "${pkgdir}${MINGW_PREFIX}/var/lib/GeoIP" + install -Dm600 conf/GeoIP.conf.default "${pkgdir}${MINGW_PREFIX}/etc/GeoIP.conf" + + cd "$srcdir/build" + install -Dm755 geoipupdate.exe "${pkgdir}${MINGW_PREFIX}/bin/geoipupdate.exe" + + cd "$srcdir/$_realname-$pkgver" + install -Dm644 LICENSE-APACHE "${pkgdir}${MINGW_PREFIX}/usr/share/licenses/$_realname/LICENSE-APACHE" + install -Dm644 LICENSE-MIT "${pkgdir}${MINGW_PREFIX}/usr/share/licenses/$_realname/LICENSE-MIT" +} diff --git a/mingw-w64-gexiv2/PKGBUILD b/mingw-w64-gexiv2/PKGBUILD index 57eb059232..56fc11ee0e 100644 --- a/mingw-w64-gexiv2/PKGBUILD +++ b/mingw-w64-gexiv2/PKGBUILD @@ -3,7 +3,7 @@ _realname=gexiv2 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.12.3 +pkgver=0.14.0 pkgrel=1 arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -21,7 +21,7 @@ options=('strip' 'staticlibs') license=("LGPL 2.1") url="https://wiki.gnome.org/Projects/gexiv2" source=(https://download.gnome.org/sources/${_realname}/${pkgver%.*}/${_realname}-${pkgver}.tar.xz) -sha256sums=('d23b7972a2fc6f840150bad1ed79c1cbec672951e180c1e1ec33ca6c730c59f3') +sha256sums=('e58279a6ff20b6f64fa499615da5e9b57cf65ba7850b72fafdf17221a9d6d69e') prepare() { cd ${_realname}-${pkgver} @@ -40,7 +40,6 @@ build() { ${MINGW_PREFIX}/bin/meson.exe \ --prefix="${MINGW_PREFIX}" \ --buildtype plain \ - -Dpython2_girdir=no \ -Dpython3_girdir="${_overrides}" \ -Dgtk_doc=true \ ../${_realname}-${pkgver} diff --git a/mingw-w64-ghc/PKGBUILD b/mingw-w64-ghc/PKGBUILD index 9d1f4686c3..2515449251 100644 --- a/mingw-w64-ghc/PKGBUILD +++ b/mingw-w64-ghc/PKGBUILD @@ -14,7 +14,7 @@ url='https://www.haskell.org/ghc/' license=('The Glasgow Haskell Compiler License') depends=("${MINGW_PACKAGE_PREFIX}-binutils" "${MINGW_PACKAGE_PREFIX}-crt" - "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-gmp" "${MINGW_PACKAGE_PREFIX}-headers" diff --git a/mingw-w64-ghdl/PKGBUILD b/mingw-w64-ghdl/PKGBUILD index 6462258840..d9c78d9be2 100644 --- a/mingw-w64-ghdl/PKGBUILD +++ b/mingw-w64-ghdl/PKGBUILD @@ -1,8 +1,8 @@ _realname=ghdl pkgbase="mingw-w64-${_realname}" pkgname='__placeholder__' -pkgver=1.0.0.r950.g8d512a44b -pkgrel=1 +pkgver=1.0.0.r964.g70f3c162b +pkgrel=2 pkgdesc='GHDL: the open-source analyzer, compiler, simulator and (experimental) synthesizer for VHDL' arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') @@ -12,7 +12,7 @@ groups=("${MINGW_PACKAGE_PREFIX}-eda") checkdepends=("${MINGW_PACKAGE_PREFIX}-python") provides=("${MINGW_PACKAGE_PREFIX}-${_realname}") -_commit="8d512a44" +_commit="70f3c162" source=("${_realname}::git+https://github.com/ghdl/ghdl.git#commit=${_commit}") sha512sums=('SKIP') @@ -75,7 +75,12 @@ _package() { if [ "${CARCH}" = "x86_64" ]; then pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}-llvm") - makedepends=("${MINGW_PACKAGE_PREFIX}-clang" "${MINGW_PACKAGE_PREFIX}-autotools") + makedepends=( + "${MINGW_PACKAGE_PREFIX}-clang" + "${MINGW_PACKAGE_PREFIX}-autotools" + "${MINGW_PACKAGE_PREFIX}-gcc-ada" + "git" + ) package() { pkgdesc="$pkgdesc (LLVM backend) (mingw-w64)" depends=( @@ -90,7 +95,12 @@ if [ "${CARCH}" = "x86_64" ]; then fi if [ "${CARCH}" = "i686" ]; then pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}-mcode") - makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") + makedepends=( + "${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-autotools" + "${MINGW_PACKAGE_PREFIX}-gcc-ada" + "git" + ) package() { pkgdesc="$pkgdesc (mcode backend) (mingw-w64)" depends=( diff --git a/mingw-w64-gimp-ufraw/01-mingw-getopt-long.patch b/mingw-w64-gimp-ufraw/01-mingw-getopt-long.patch deleted file mode 100644 index f560b27c8e..0000000000 --- a/mingw-w64-gimp-ufraw/01-mingw-getopt-long.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- ufraw-0.19.2/configure.ac.orig 2014-02-27 09:46:30.949200000 +0400 -+++ ufraw-0.19.2/configure.ac 2014-02-27 09:46:52.898400000 +0400 -@@ -210,10 +210,12 @@ - echo cannot execute: pod2man], $PATH) - AC_FUNC_FSEEKO - -+if test $ufraw_win32 = no; then - # Ensure that getopt_long is available. It is included in GNU libc and - # in at least most BSD libcs. If not found, search for it in libgnugetopt. - AC_SEARCH_LIBS(getopt_long, gnugetopt, , - AC_MSG_ERROR(can not build UFRaw without getopt_long)) -+fi - - # Make sure that pow is available, trying libm if necessary. - AC_SEARCH_LIBS(pow, m) diff --git a/mingw-w64-gimp-ufraw/02-mingw-w64-fixes.patch b/mingw-w64-gimp-ufraw/02-mingw-w64-fixes.patch deleted file mode 100644 index 634143492f..0000000000 --- a/mingw-w64-gimp-ufraw/02-mingw-w64-fixes.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- ufraw-0.22/dcraw.cc.orig 2014-02-27 09:46:30.949200000 +0400 -+++ ufraw-0.22/dcraw.cc 2014-02-27 09:46:52.898400000 +0400 -@@ -446,7 +446,7 @@ - { - if (fread (pixel, 2, count, ifp) < count) derror(); - if ((order == 0x4949) == (ntohs(0x1234) == 0x1234)) --#if defined(__MINGW64_VERSION_MAJOR) && __MINGW64_VERSION_MAJOR < 4 -+#if defined(__MINGW64_VERSION_MAJOR) - swab ((char *) pixel, (char *) pixel, count*2); - #else - swab ((const char *) pixel, (char *) pixel, count*2); -@@ -2397,7 +2397,7 @@ - DCRaw *d = (DCRaw*)cinfo->client_data; - - nbytes = fread (jpeg_buffer, 1, 4096, d->ifp); --#if defined(__MINGW64_VERSION_MAJOR) && __MINGW64_VERSION_MAJOR < 4 -+#if defined(__MINGW64_VERSION_MAJOR) - swab ((char *) jpeg_buffer, (char *) jpeg_buffer, nbytes); - #else - swab ((const char *) jpeg_buffer, (char *) jpeg_buffer, nbytes); -@@ -10196,7 +10196,7 @@ - FORCC ppm [col*colors+c] = curve[image[soff][c]] >> 8; - else FORCC ppm2[col*colors+c] = curve[image[soff][c]]; - if (output_bps == 16 && !output_tiff && htons(0x55aa) != 0x55aa) --#if defined(__MINGW64_VERSION_MAJOR) && __MINGW64_VERSION_MAJOR < 4 -+#if defined(__MINGW64_VERSION_MAJOR) - swab ((char *) ppm2, (char *) ppm2, width*colors*2); - #else - swab ((const char *) ppm2, (char *) ppm2, width*colors*2); diff --git a/mingw-w64-gimp-ufraw/03-fix-abs-gcc-7.patch b/mingw-w64-gimp-ufraw/03-fix-abs-gcc-7.patch deleted file mode 100644 index e27b5dedaa..0000000000 --- a/mingw-w64-gimp-ufraw/03-fix-abs-gcc-7.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 31c400d67c83ad8c9bb222f71c0250dbf600df64 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= -Date: Wed, 30 Jan 2019 18:19:43 +0000 -Subject: [PATCH] 04_fix-abs-gcc-7.patch from Debian - -Description: fix compilation in GCC 7 - change some variables to int instead of unsigned so that calls to abs are no - longer ambiguous under GCC7 -Author: Ken Moffat -Origin: https://sourceforge.net/p/ufraw/mailman/message/35843737/ -Bug-Debian: https://bugs.debian.org/853692 ---- - dcraw.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/dcraw.cc b/dcraw.cc -index e5fba53..9014b73 100644 ---- a/dcraw.cc -+++ b/dcraw.cc -@@ -8866,8 +8866,8 @@ void CLASS identify() - "Nikon", "Nokia", "Olympus", "Ricoh", "Pentax", "Phase One", - "Samsung", "Sigma", "Sinar", "Sony" }; - char head[32], *cp; -- unsigned fsize, i, c; -- int hlen, flen, zero_fsize=1; -+ unsigned fsize; -+ int hlen, flen, zero_fsize=1, i, c; - struct jhead jh; - - tiff_flip = flip = filters = UINT_MAX; /* unknown */ diff --git a/mingw-w64-gimp-ufraw/04-gcc-9-openmp.patch b/mingw-w64-gimp-ufraw/04-gcc-9-openmp.patch deleted file mode 100644 index 09a40fbfe4..0000000000 --- a/mingw-w64-gimp-ufraw/04-gcc-9-openmp.patch +++ /dev/null @@ -1,97 +0,0 @@ -From ac8c74699cba65d65f918b3f4cba2de64e039ada Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= -Date: Thu, 14 Feb 2019 03:26:02 +0000 -Subject: [PATCH] Fix GCC 9 OpenMP issues by drop default(none) - ---- - dcraw_api.cc | 4 ++-- - dcraw_indi.c | 4 ---- - ufraw_ufraw.c | 6 +++--- - 3 files changed, 5 insertions(+), 9 deletions(-) - -diff --git a/dcraw_api.cc b/dcraw_api.cc -index 796e4a4..d33f030 100644 ---- a/dcraw_api.cc -+++ b/dcraw_api.cc -@@ -900,7 +900,7 @@ extern "C" { - rgbWB[3] = rgbWB[1]; - if (dark) { - #ifdef _OPENMP -- #pragma omp parallel for schedule(static) default(none) \ -+ #pragma omp parallel for schedule(static) \ - shared(h,dark,rgbWB) - #endif - for (int i = 0; i < pixels; i++) { -@@ -913,7 +913,7 @@ extern "C" { - } - } else { - #ifdef _OPENMP -- #pragma omp parallel for schedule(static) default(none) \ -+ #pragma omp parallel for schedule(static) \ - shared(h,dark,rgbWB) - #endif - for (int i = 0; i < pixels; i++) { -diff --git a/dcraw_indi.c b/dcraw_indi.c -index 9131eb9..a6e2a94 100644 ---- a/dcraw_indi.c -+++ b/dcraw_indi.c -@@ -137,12 +137,10 @@ void CLASS wavelet_denoise_INDI(ushort(*image)[4], const int black, - #ifdef _OPENMP - #if defined(__sun) && !defined(__GNUC__) /* Fix bug #3205673 - NKBJ */ - #pragma omp parallel for \ -- default(none) \ - shared(nc,image,size,noise) \ - private(c,i,hpass,lev,lpass,row,col,thold,fimg,temp) - #else - #pragma omp parallel for \ -- default(none) \ - shared(nc,image,size) \ - private(c,i,hpass,lev,lpass,row,col,thold,fimg,temp) - #endif -@@ -413,7 +411,6 @@ void CLASS vng_interpolate_INDI(ushort(*image)[4], const unsigned filters, - progress(PROGRESS_INTERPOLATE, -height); - #ifdef _OPENMP - #pragma omp parallel \ -- default(none) \ - shared(image,code,prow,pcol,h) \ - private(row,col,g,brow,rowtmp,pix,ip,gval,diff,gmin,gmax,thold,sum,color,num,c,t) - #endif -@@ -496,7 +493,6 @@ void CLASS ppg_interpolate_INDI(ushort(*image)[4], const unsigned filters, - - #ifdef _OPENMP - #pragma omp parallel \ -- default(none) \ - shared(image,dir,diff) \ - private(row,col,i,d,c,pix,guess) - #endif -diff --git a/ufraw_ufraw.c b/ufraw_ufraw.c -index eee681c..516b4c7 100644 ---- a/ufraw_ufraw.c -+++ b/ufraw_ufraw.c -@@ -1044,7 +1044,7 @@ static void ufraw_shave_hotpixels(ufraw_data *uf, dcraw_image_type *img, - delta = rgbMax / (uf->conf->hotpixel + 1.0); - count = 0; - #ifdef _OPENMP -- #pragma omp parallel for schedule(static) default(none) \ -+ #pragma omp parallel for schedule(static) \ - shared(uf,img,width,height,colors,rgbMax,delta) \ - reduction(+:count) \ - private(h,p,w,c,t,v,hi,i) -@@ -1366,7 +1366,7 @@ static void ufraw_convert_reverse_wb(ufraw_data *uf, UFRawPhase phase) - mul[i] = (guint64)0x10000 * 0x10000 / uf->developer->rgbWB[i]; - size = img->height * img->width; - #ifdef _OPENMP -- #pragma omp parallel for schedule(static) default(none) \ -+ #pragma omp parallel for schedule(static) \ - shared(uf,phase,img,mul,size) \ - private(i,p16,c,px) - #endif -@@ -1391,7 +1391,7 @@ static void ufraw_convert_image_tca(ufraw_data *uf, ufraw_image_data *img, - return; - int y; - #ifdef _OPENMP -- #pragma omp parallel for schedule(static) default(none) \ -+ #pragma omp parallel for schedule(static) \ - shared(uf,img,outimg,area) - #endif - for (y = area->y; y < area->y + area->height; y++) { diff --git a/mingw-w64-gimp-ufraw/05-exiv2-0.27.patch b/mingw-w64-gimp-ufraw/05-exiv2-0.27.patch deleted file mode 100644 index 746aee5deb..0000000000 --- a/mingw-w64-gimp-ufraw/05-exiv2-0.27.patch +++ /dev/null @@ -1,36 +0,0 @@ -From a13c0f7385ff873bd7cf8fc8aae8657c75fb20c8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= -Date: Thu, 14 Feb 2019 01:56:49 +0000 -Subject: [PATCH] From Gentoo ufraw-0.22-exiv2-0.27.patch - ---- - ufraw_exiv2.cc | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/ufraw_exiv2.cc b/ufraw_exiv2.cc -index cba4c05..b0971b0 100644 ---- a/ufraw_exiv2.cc -+++ b/ufraw_exiv2.cc -@@ -15,9 +15,7 @@ - #include "ufraw.h" - - #ifdef HAVE_EXIV2 --#include --#include --#include -+#include - #include - #include - -@@ -67,7 +65,11 @@ extern "C" int ufraw_exif_read_input(ufraw_data *uf) - if (exifData.empty()) { - std::string error(uf->filename); - error += ": No Exif data found in the file"; -+#if EXIV2_TEST_VERSION(0,27,0) -+ throw Exiv2::Error(Exiv2::kerErrorMessage, error); -+#else - throw Exiv2::Error(1, error); -+#endif - } - - /* List of tag names taken from exiv2's printSummary() in actions.cpp */ diff --git a/mingw-w64-gimp-ufraw/PKGBUILD b/mingw-w64-gimp-ufraw/PKGBUILD deleted file mode 100644 index 67a7167385..0000000000 --- a/mingw-w64-gimp-ufraw/PKGBUILD +++ /dev/null @@ -1,71 +0,0 @@ -# Maintainer: Alexey Pavlov - -_realname=ufraw -pkgbase=mingw-w64-gimp-${_realname} -pkgname="${MINGW_PACKAGE_PREFIX}-gimp-${_realname}" -groups=("${MINGW_PACKAGE_PREFIX}-gimp-plugins") -pkgver=0.22 -pkgrel=2 -pkgdesc="Converter for raw files; utility and GIMP plugin (mingw-w64)" -arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') -url="https://ufraw.sourceforge.io/" -license=("GPL") -options=('strip' 'staticlibs') -depends=("${MINGW_PACKAGE_PREFIX}-bzip2" - "${MINGW_PACKAGE_PREFIX}-cfitsio" - "${MINGW_PACKAGE_PREFIX}-exiv2" - "${MINGW_PACKAGE_PREFIX}-gtkimageview" - "${MINGW_PACKAGE_PREFIX}-lcms" - "${MINGW_PACKAGE_PREFIX}-lensfun") -makedepends=("${MINGW_PACKAGE_PREFIX}-cc" - "${MINGW_PACKAGE_PREFIX}-gimp" - "${MINGW_PACKAGE_PREFIX}-autotools") -optdepends=("${MINGW_PACKAGE_PREFIX}-gimp: to use the gimp import plugin for raw images") -source=("https://downloads.sourceforge.net/${_realname}/${_realname}-${pkgver}.tar.gz" - 01-mingw-getopt-long.patch - 02-mingw-w64-fixes.patch - 03-fix-abs-gcc-7.patch - 04-gcc-9-openmp.patch - 05-exiv2-0.27.patch) -sha256sums=('f7abd28ce587db2a74b4c54149bd8a2523a7ddc09bedf4f923246ff0ae09a25e' - '41c7c530b6c8992653166ba2adb155c3ae137eb12ed7bc8675d623fd58a6bb13' - '9bbb7748bdb3bb9e085600b827a061d91e938852aae80e51da082f030901cd25' - '1cac31243d5a4e647a8263785b653cf33efb6ebccb660a22a8170a22fe0a09ff' - '1edce8bea1bd3bbf46a0d8f3eb172fdf3c646e215f829bd8a6e1fdc560646c28' - 'fd9f9dab2c96c0da5c4c0be83d53672a46f3fe4d3f84b4dc635037f971c6743e') - -prepare() { - cd "${srcdir}/${_realname}-${pkgver}" - patch -p1 -i ${srcdir}/01-mingw-getopt-long.patch - patch -p1 -i ${srcdir}/02-mingw-w64-fixes.patch - patch -p1 -i ${srcdir}/03-fix-abs-gcc-7.patch - patch -p1 -i ${srcdir}/04-gcc-9-openmp.patch - patch -p1 -i ${srcdir}/05-exiv2-0.27.patch - ./autogen.sh -} - -build() { - [[ -d build-${MINGW_CHOST} ]] && rm -rf build-${MINGW_CHOST} - mkdir -p build-${MINGW_CHOST} && cd build-${MINGW_CHOST} - MSYS2_ARG_CONV_EXCL="GIMP_LIBDIR" \ - ../${_realname}-${pkgver}/configure \ - --prefix=${MINGW_PREFIX} \ - --build=${MINGW_CHOST} \ - --host=${MINGW_CHOST} \ - --enable-extras \ - --enable-mime \ - --with-gimp \ - --enable-openmp \ - --enable-contrast - - local wgimp_pref=$(cygpath -wm ${MINGW_PREFIX}) - sed -e "s|${wgimp_pref}|${MINGW_PREFIX}|g" -i Makefile - sed -e "s|-ffast-math -fomit-frame-pointer -W -Wall -O3|${CFLAGS}|" -i Makefile - make VERBOSE=1 -} - -package() { - cd "${srcdir}/build-${MINGW_CHOST}" - make -j1 DESTDIR="${pkgdir}" install -} diff --git a/mingw-w64-gimp/PKGBUILD b/mingw-w64-gimp/PKGBUILD index 26f7654c60..c35d550df0 100644 --- a/mingw-w64-gimp/PKGBUILD +++ b/mingw-w64-gimp/PKGBUILD @@ -4,7 +4,7 @@ _realname=gimp pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=2.10.30 -pkgrel=1 +pkgrel=2 pkgdesc="GNU Image Manipulation Program (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') diff --git a/mingw-w64-github-cli/PKGBUILD b/mingw-w64-github-cli/PKGBUILD index f1c4d574f2..fd778f9b0b 100644 --- a/mingw-w64-github-cli/PKGBUILD +++ b/mingw-w64-github-cli/PKGBUILD @@ -3,7 +3,7 @@ _realname=github-cli pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=2.4.0 +pkgver=2.5.0 pkgrel=1 pkgdesc='The GitHub CLI (mingw-w64)' arch=('any') @@ -11,13 +11,13 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') url="https://github.com/cli/cli" license=('MIT') depends=("winpty") -makedepends=("${MINGW_PACKAGE_PREFIX}-go") +makedepends=("${MINGW_PACKAGE_PREFIX}-go" "${MINGW_PACKAGE_PREFIX}-cc") checkdepends=("git") optdepends=("git: To interact with repositories") options=('!strip') source=("$_realname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz" "gh") -sha256sums=('3c87db4d9825a342fc55bd7f27461099dd46291aea4a4a29bb95d3c896403f94' +sha256sums=('4e9d1cbcdd2346cab5b7fc176cd57c07ed3628a0241fad8a48fe4df6a354b120' '9ee5f2b44b7e9aa751508f02c1020e341e0212a9aa146b7428eb5ffea310be27') build() { cd "cli-$pkgver" diff --git a/mingw-w64-glib2/PKGBUILD b/mingw-w64-glib2/PKGBUILD index 447a49310d..8cc99c314c 100644 --- a/mingw-w64-glib2/PKGBUILD +++ b/mingw-w64-glib2/PKGBUILD @@ -6,8 +6,8 @@ _realname=glib2 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.70.2 -pkgrel=2 +pkgver=2.70.3 +pkgrel=1 url="https://gitlab.gnome.org/GNOME/glib" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -35,7 +35,7 @@ source=("https://download.gnome.org/sources/glib/${pkgver%.*}/glib-${pkgver}.tar gio-querymodules.hook.in 0002-disable_glib_compile_schemas_warning.patch pyscript2exe.py) -sha256sums=('0551459c85cd3da3d58ddc9016fd28be5af503f5e1615a71ba5b512ac945806f' +sha256sums=('233fa4841c1e19e396db7607d58f6b75ba3313c50bf0fce07b2e3532d5eb7d46' '92bf41b13b18314b35204a1f384fe41a6e606350cec9afcd3aee8265172edc41' '51d02360a1ee978fd45e77b84bca9cfbcf080d91986b5c0efe0732779c6a54ec' '5b238550c8826b0c0695b16b2689ae2c2144e8f488137b7e867b6c651f125a10' diff --git a/mingw-w64-gmic/PKGBUILD b/mingw-w64-gmic/PKGBUILD index b3c099b6eb..1ba0066648 100644 --- a/mingw-w64-gmic/PKGBUILD +++ b/mingw-w64-gmic/PKGBUILD @@ -3,7 +3,7 @@ _realname=gmic pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=3.0.0 +pkgver=3.0.2 pkgrel=1 pkgdesc="A Full-Featured Open-Source Framework for Image Processing (mingw-w64)" arch=(any) @@ -23,18 +23,14 @@ depends=("${MINGW_PACKAGE_PREFIX}-fftw" "${MINGW_PACKAGE_PREFIX}-curl" "${MINGW_PACKAGE_PREFIX}-openexr" "${MINGW_PACKAGE_PREFIX}-opencv") - source=("${_realname}-${pkgver}.tar.gz::https://gmic.eu/files/source/${_realname}_${pkgver}.tar.gz" - "0002-gmic-mingw-build.patch"::https://github.com/dtschump/gmic/commit/2461be2d9582e8b83ac91989ef7c56e502f4b237.diff - "0003-gmic-clang-build.patch"::https://github.com/dtschump/gmic/commit/537ac58d7966daca86e4aa2d47a2887ae4e34d67.diff) -sha256sums=('3f056bb9e6dbf0674af4c8dce59f4198172187662f7fbb36cc63ebc8c1b71120' - '9bb9882bbd4a3f755aabcdb1a68a7ba76c7dfc11c347c31fd269dc98b140fb38' - '897e6dd45d6bab3e3ef30623f275b0fa1355b4ba8303a50bb078dfe2306f1de5') + "0004-gmic-core-cmake-build.patch"::https://github.com/dtschump/gmic/commit/7e97e786295f925256b1b1b7349aa3cb16bdfd3b.diff) +sha256sums=('68acec32c45d56fb0b0408acec4f63166171816d70722d63106787f1e7d17030' + 'fb6c330e88a7ba1e1f9ba62b0598e9e1a3b5eb9cea1b60d27bdf7aca992381f6') prepare() { cd "${srcdir}/${_realname}-${pkgver}" - patch -p1 -i "${srcdir}/0002-gmic-mingw-build.patch" - patch -p1 -i "${srcdir}/0003-gmic-clang-build.patch" + patch -Np1 -i "${srcdir}/0004-gmic-core-cmake-build.patch" } build() { diff --git a/mingw-w64-gnucobol/PKGBUILD b/mingw-w64-gnucobol/PKGBUILD index f1a83ec6c1..35a3a2d233 100644 --- a/mingw-w64-gnucobol/PKGBUILD +++ b/mingw-w64-gnucobol/PKGBUILD @@ -6,7 +6,7 @@ _realname=gnucobol pkgbase=mingw-w64-${_realname} pkgname=${MINGW_PACKAGE_PREFIX}-${_realname} pkgver=3.1.2 -pkgrel=1 +pkgrel=2 pkgdesc="GnuCOBOL, a free and modern COBOL compiler (mingw-w64)" conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}-svn" "${MINGW_PACKAGE_PREFIX}-gnu-cobol-svn") replaces=("${MINGW_PACKAGE_PREFIX}-${_realname}-svn" "${MINGW_PACKAGE_PREFIX}-gnu-cobol-svn") diff --git a/mingw-w64-gnutls/PKGBUILD b/mingw-w64-gnutls/PKGBUILD index 4bbd509006..8bef2067c7 100644 --- a/mingw-w64-gnutls/PKGBUILD +++ b/mingw-w64-gnutls/PKGBUILD @@ -3,9 +3,9 @@ _realname=gnutls pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -_pkgver=3.7.2 +_pkgver=3.7.3 pkgver=${_pkgver} -pkgrel=5 +pkgrel=1 pkgdesc="A library which provides a secure layer over a reliable transport layer (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -31,7 +31,7 @@ source=(https://www.gnupg.org/ftp/gcrypt/gnutls/v${_pkgver%.*}/${_realname}-${pk 0003-gnutls-fix-external-libtasn1-detection.patch 0004-disable-broken-examples.patch 0005-remove-coverage-rules.patch) -sha256sums=('646e6c5a9a185faa4cea796d378a1ba8e1148dbb197ca6605f95986a25af2752' +sha256sums=('fc59c43bc31ab20a6977ff083029277a31935b8355ce387b634fa433f8f6c49a' 'SKIP' '6493f69e782d60fe04de4b0040987e99851c522d0baf2fe25d10b85b63e97863' 'cbf9e59fb2432d4ac1edcb70734023e074b8058fa4c010a036a40de8449f67fb' diff --git a/mingw-w64-go/PKGBUILD b/mingw-w64-go/PKGBUILD index d6774eb8d0..6aa6433093 100644 --- a/mingw-w64-go/PKGBUILD +++ b/mingw-w64-go/PKGBUILD @@ -10,7 +10,7 @@ pkgdesc="Go Lang (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') license=('BSD') -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc") url="https://www.golang.org/" depends=() makedepends=("${MINGW_PACKAGE_PREFIX}-${_realname}") diff --git a/mingw-w64-groonga/PKGBUILD b/mingw-w64-groonga/PKGBUILD index 360163aa8f..1ad2672ac9 100644 --- a/mingw-w64-groonga/PKGBUILD +++ b/mingw-w64-groonga/PKGBUILD @@ -3,8 +3,8 @@ _realname=groonga pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=11.1.1 -pkgrel=1 +pkgver=11.1.3 +pkgrel=2 pkgdesc="An opensource fulltext search engine (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -27,7 +27,7 @@ makedepends=("git" "${MINGW_PACKAGE_PREFIX}-ruby" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-cc") -sha256sums=('f1633b31e9ba74ee7879e2e57ba15cb9c0c26dd5430d3748cec22a7bb1669c0d' +sha256sums=('ace25b3294b480a1b7806eccdc5749dfd49e233366c15883629ac4a395428ecd' 'SKIP') validpgpkeys=('2701F317CFCCCB975CADE9C2624CF77434839225') # Groonga Key diff --git a/mingw-w64-gst-devtools/PKGBUILD b/mingw-w64-gst-devtools/PKGBUILD index ab8039c9da..d4383abe3d 100644 --- a/mingw-w64-gst-devtools/PKGBUILD +++ b/mingw-w64-gst-devtools/PKGBUILD @@ -3,7 +3,7 @@ _realname=gst-devtools pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.18.5 +pkgver=1.20.0 pkgrel=1 pkgdesc="Development and debugging tools for GStreamer (mingw-w64)" arch=('any') @@ -19,7 +19,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gstreamer" "${MINGW_PACKAGE_PREFIX}-gst-plugins-base" "${MINGW_PACKAGE_PREFIX}-json-glib") source=(https://gstreamer.freedesktop.org/src/${_realname}/${_realname}-${pkgver}.tar.xz) -sha256sums=('fecffc86447daf5c2a06843c757a991d745caa2069446a0d746e99b13f7cb079') +sha256sums=('69fc8756ec9d93e5c5258c99088434f203e91fdbc5af28d1f2c583fd819b7a1d') prepare() { cd "${srcdir}/${_realname}-${pkgver}" diff --git a/mingw-w64-gst-editing-services/PKGBUILD b/mingw-w64-gst-editing-services/PKGBUILD index 243b7db3b7..511f582f6d 100644 --- a/mingw-w64-gst-editing-services/PKGBUILD +++ b/mingw-w64-gst-editing-services/PKGBUILD @@ -3,7 +3,7 @@ _realname=gst-editing-services pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.18.5 +pkgver=1.20.0 pkgrel=1 pkgdesc="GStreamer Editing Services (mingw-w64)" arch=('any') @@ -22,7 +22,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gst-plugins-base") options=(!libtool strip staticlibs) source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz 0001-meson-Don-t-harcode-path-to-site-packages.patch) -sha256sums=('8af4a8394d051f3e18280686db49a6efaccc95c0c59a17f0f564e32000590df5' +sha256sums=('f837adcf4073d19a5908984e879cd039f4192ca368e71d39e8ccd8a56b9feedf' '92ffe7a8d2109d0dbca4d591af8d7a7f2aa2db3994781458f3cf313c1f8ed391') prepare() { diff --git a/mingw-w64-gst-libav/PKGBUILD b/mingw-w64-gst-libav/PKGBUILD index e8967fb881..effa71736d 100644 --- a/mingw-w64-gst-libav/PKGBUILD +++ b/mingw-w64-gst-libav/PKGBUILD @@ -3,7 +3,7 @@ _realname=gst-libav pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.18.5 +pkgver=1.20.0 pkgrel=1 pkgdesc="Multimedia graph framework - libav plugin (mingw-w64)" arch=('any') @@ -20,7 +20,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gobject-introspection" depends=("${MINGW_PACKAGE_PREFIX}-gst-plugins-base" "${MINGW_PACKAGE_PREFIX}-ffmpeg") source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz) -sha256sums=('822e008a910e9dd13aedbdd8dc63fedef4040c0ee2e927bab3112e9de693a548') +sha256sums=('5eee5ed8d5082a31b500448e41535c722ee30cd5f8224f32982bbaba2eedef17') prepare() { cd "${srcdir}/${_realname}-${pkgver}" diff --git a/mingw-w64-gst-plugins-bad/0001-meson-fix-vulkan-detection.patch b/mingw-w64-gst-plugins-bad/0001-meson-fix-vulkan-detection.patch deleted file mode 100644 index 471daa488b..0000000000 --- a/mingw-w64-gst-plugins-bad/0001-meson-fix-vulkan-detection.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/gst-libs/gst/vulkan/meson.build -+++ a/gst-libs/gst/vulkan/meson.build -@@ -109,7 +109,7 @@ - # on implementing a proper Metal extension for Vulkan - # https://github.com/KhronosGroup/MoltenVK/issues/492 - vulkan_dep = cc.find_library('MoltenVK', required : get_option('vulkan')) --elif host_system == 'windows' -+elif host_system == 'windows' and cc.get_id() == 'msvc' - vulkan_root = run_command(python3, '-c', 'import os; print(os.environ.get("VK_SDK_PATH"))').stdout().strip() - if vulkan_root != '' and vulkan_root != 'None' - vulkan_lib_dir = '' -@@ -138,7 +138,7 @@ - endif - endif - --if host_system != 'windows' -+if host_system != 'windows' or cc.get_id() != 'msvc' - has_vulkan_header = cc.has_header('vulkan/vulkan_core.h') - endif - diff --git a/mingw-w64-gst-plugins-bad/0001-meson-fix-vulkan.patch b/mingw-w64-gst-plugins-bad/0001-meson-fix-vulkan.patch new file mode 100644 index 0000000000..29967f86ef --- /dev/null +++ b/mingw-w64-gst-plugins-bad/0001-meson-fix-vulkan.patch @@ -0,0 +1,48 @@ +--- a/gst-libs/gst/vulkan/meson.build ++++ a/gst-libs/gst/vulkan/meson.build +@@ -109,7 +109,7 @@ + # on implementing a proper Metal extension for Vulkan + # https://github.com/KhronosGroup/MoltenVK/issues/492 + vulkan_dep = cc.find_library('MoltenVK', required : get_option('vulkan')) +-elif host_system == 'windows' ++elif host_system == 'windows' and cc.get_id() == 'msvc' + vulkan_root = run_command(python3, '-c', 'import os; print(os.environ.get("VK_SDK_PATH"))', check: false).stdout().strip() + if vulkan_root != '' and vulkan_root != 'None' + vulkan_lib_dir = '' +@@ -138,7 +138,7 @@ + endif + endif + +-if host_system != 'windows' ++if host_system != 'windows' or cc.get_id() != 'msvc' + has_vulkan_header = cc.has_header('vulkan/vulkan_core.h') + endif + +--- ./gst-libs/gst/vulkan/meson.build.orig 2022-02-05 14:20:35.191999800 +0100 ++++ ./gst-libs/gst/vulkan/meson.build 2022-02-05 14:21:13.880211400 +0100 +@@ -242,8 +242,14 @@ + if host_system == 'windows' + gdi_dep = cc.find_library('gdi32', required : get_option('vulkan')) + ++ if vulkan_inc_dir != '' ++ has_vulkan_win32 = cc.has_header('vulkan/vulkan_win32.h', args: '-I' + vulkan_inc_dir) ++ else ++ has_vulkan_win32 = cc.has_header('vulkan/vulkan_win32.h') ++ endif ++ + # Cannot use internal dependency object with cc.has_header() +- if gdi_dep.found() and cc.has_header('vulkan/vulkan_win32.h', args: '-I' + vulkan_inc_dir) ++ if gdi_dep.found() and has_vulkan_win32 + vulkan_priv_sources += ['win32/gstvkwindow_win32.c'] + optional_deps += [gdi_dep] + vulkan_windowing = true +--- ./gst-libs/gst/vulkan/win32/gstvkwindow_win32.c.orig 2022-02-05 14:35:25.981000000 +0100 ++++ ./gst-libs/gst/vulkan/win32/gstvkwindow_win32.c 2022-02-05 14:35:34.422184800 +0100 +@@ -67,6 +67,7 @@ + static void gst_vulkan_window_win32_close (GstVulkanWindow * window); + static void release_parent_win_id (GstVulkanWindowWin32 * window_win32); + static void gst_vulkan_window_win32_show (GstVulkanWindowWin32 * window); ++static gboolean gst_vulkan_window_win32_create_window (GstVulkanWindowWin32 * window_win32, GError ** error); + + static void + gst_vulkan_window_win32_class_init (GstVulkanWindowWin32Class * klass) diff --git a/mingw-w64-gst-plugins-bad/0003-enable-mediafoundation-plugin.patch b/mingw-w64-gst-plugins-bad/0003-enable-mediafoundation-plugin.patch index 375d3b76d1..a81a0d0433 100644 --- a/mingw-w64-gst-plugins-bad/0003-enable-mediafoundation-plugin.patch +++ b/mingw-w64-gst-plugins-bad/0003-enable-mediafoundation-plugin.patch @@ -1,16 +1,3 @@ ---- a/sys/mediafoundation/gstmfdevice.h -+++ b/sys/mediafoundation/gstmfdevice.h -@@ -31,9 +31,6 @@ - G_DECLARE_FINAL_TYPE (GstMFDeviceProvider, - gst_mf_device_provider, GST, MF_DEVICE_PROVIDER, GstDeviceProvider); - --G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstMFDevice, gst_object_unref) --G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstMFDeviceProvider, gst_object_unref) -- - G_END_DECLS - - #endif /* __GST_MF_DEVICE_H__ */ -\ No newline at end of file --- a/sys/mediafoundation/gstmfutils.h +++ b/sys/mediafoundation/gstmfutils.h @@ -38,6 +38,10 @@ @@ -26,7 +13,7 @@ " P010, P016, v210, v216, GRAY16_LE }" --- a/sys/mediafoundation/meson.build +++ b/sys/mediafoundation/meson.build -@@ -44,9 +44,9 @@ +@@ -50,9 +50,9 @@ subdir_done() endif diff --git a/mingw-w64-gst-plugins-bad/PKGBUILD b/mingw-w64-gst-plugins-bad/PKGBUILD index f2453c741d..9995679ab8 100644 --- a/mingw-w64-gst-plugins-bad/PKGBUILD +++ b/mingw-w64-gst-plugins-bad/PKGBUILD @@ -5,7 +5,7 @@ _realname=gst-plugins-bad pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-gst-plugins-bad-libs" "${MINGW_PACKAGE_PREFIX}-gst-plugins-bad") -pkgver=1.18.5 +pkgver=1.20.0 pkgrel=1 pkgdesc="GStreamer Multimedia Framework Bad Plugins (mingw-w64)" arch=('any') @@ -73,17 +73,17 @@ makedepends=( ) source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz - "0001-meson-fix-vulkan-detection.patch" + "0001-meson-fix-vulkan.patch" "0002-fix-vulkan-mkenum.patch" "0003-enable-mediafoundation-plugin.patch") -sha256sums=('a164923b94f0d08578a6fcaeaac6e0c05da788a46903a1086870e9ca45ad678e' - 'e038864a83bafc0e16f143f16a86215dd52621703c8272c580f43ab56d30110f' +sha256sums=('015b8d4d9a395ebf444d40876867a2034dd3304b3ad48bc3a0dd0c1ee71dc11d' + 'd2e9485b1ae5d5afa764331ee97cea2ef1a6b07c7b658a373f6beef0cc98d69f' '5ca55fdfc4c5d10d2319f83dddac8130c2ffab67b1248d2233cdcb188d5a0fd3' - '5c2c0f49c1afcee2e406078322cdac1be16bc832a92583152f9bc6aedaf526e6') + 'b5d3627177942ed5027d96bdd45aa1611fa2700aee9920ef52c15c251e3fd964') prepare() { cd "${srcdir}/${_realname}-${pkgver}" - patch -Np1 -i "${srcdir}/0001-meson-fix-vulkan-detection.patch" + patch -Np1 -i "${srcdir}/0001-meson-fix-vulkan.patch" patch -Np1 -i "${srcdir}/0002-fix-vulkan-mkenum.patch" # https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1882 @@ -130,12 +130,10 @@ build() { -Dkate=disabled \ -Dladspa=disabled \ -Dlibde265=disabled \ - -Dlibmms=disabled \ -Dlv2=disabled \ -Dmpeg2enc=disabled \ -Dmplex=disabled \ -Dneon=disabled \ - -Dofa=disabled \ -Dopenmpt=disabled \ -Dopenni2=disabled \ -Dsbc=disabled \ @@ -152,6 +150,15 @@ build() { -Davtp=disabled \ -Dsvthevcenc=disabled \ -Dzxing=disabled \ + -Dasio=disabled \ + -Dgpl=enabled \ + -Dgs=disabled \ + -Disac=disabled \ + -Dldac=disabled \ + -Donnx=disabled \ + -Dopenaptx=disabled \ + -Dqroverlay=disabled \ + -Dmediafoundation=disabled \ "${extra_config[@]}" \ ../${_realname}-${pkgver} diff --git a/mingw-w64-gst-plugins-base/PKGBUILD b/mingw-w64-gst-plugins-base/PKGBUILD index 9cfb513f1b..e830ea868e 100644 --- a/mingw-w64-gst-plugins-base/PKGBUILD +++ b/mingw-w64-gst-plugins-base/PKGBUILD @@ -3,7 +3,7 @@ _realname=gst-plugins-base pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.18.5 +pkgver=1.20.0 pkgrel=1 pkgdesc="GStreamer Multimedia Framework Base Plugins (mingw-w64)" arch=('any') @@ -30,7 +30,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-graphene" "${MINGW_PACKAGE_PREFIX}-zlib") conflicts=("${MINGW_PACKAGE_PREFIX}-gst-plugins-bad<1.16.0") source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz) -sha256sums=('960b7af4585700db0fdd5b843554e11e2564fed9e061f591fae88a7be6446fa3') +sha256sums=('4cb66fccf730b1037e6533862c2128990912a6db4e5bbd14e0ef914450eb4c7c') prepare() { cd "${srcdir}/${_realname}-${pkgver}" diff --git a/mingw-w64-gst-plugins-good/PKGBUILD b/mingw-w64-gst-plugins-good/PKGBUILD index eddec6451f..22c679b29d 100644 --- a/mingw-w64-gst-plugins-good/PKGBUILD +++ b/mingw-w64-gst-plugins-good/PKGBUILD @@ -3,8 +3,8 @@ _realname=gst-plugins-good pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.18.5 -pkgrel=2 +pkgver=1.20.0 +pkgrel=1 pkgdesc="GStreamer Multimedia Framework Base Plugins (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -39,7 +39,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-bzip2" conflicts=("${MINGW_PACKAGE_PREFIX}-gst-plugins-ugly<1.14.0" "${MINGW_PACKAGE_PREFIX}-gst-plugins-bad<1.16.0") source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz) -sha256sums=('3aaeeea7765fbf8801acce4a503a9b05f73f04e8a35352e9d00232cfd555796b') +sha256sums=('2d119c15ab8c9e79f8cd3c6bf582ff7a050b28ccae52ab4865e1a1464991659c') prepare() { cd "${srcdir}/${_realname}-${pkgver}" diff --git a/mingw-w64-gst-plugins-ugly/PKGBUILD b/mingw-w64-gst-plugins-ugly/PKGBUILD index 194e080f3b..12ecff4550 100644 --- a/mingw-w64-gst-plugins-ugly/PKGBUILD +++ b/mingw-w64-gst-plugins-ugly/PKGBUILD @@ -3,7 +3,7 @@ _realname=gst-plugins-ugly pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.18.5 +pkgver=1.20.0 pkgrel=1 pkgdesc="GStreamer Multimedia Framework Ugly Plugins (mingw-w64)" arch=('any') @@ -25,7 +25,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-a52dec" "${MINGW_PACKAGE_PREFIX}-opencore-amr" "${MINGW_PACKAGE_PREFIX}-x264") source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz) -sha256sums=('df32803e98f8a9979373fa2ca7e05e62f977b1097576d3a80619d9f5c69f66d9') +sha256sums=('4e8dcb5d26552f0a4937f6bc6279bd9070f55ca6ae0eaa32d72d264c44001c2e') prepare() { cd "${srcdir}/${_realname}-${pkgver}" @@ -46,6 +46,7 @@ build() { -Dtests=disabled \ -Dsidplay=disabled \ -Ddoc=disabled \ + -Dgpl=enabled \ ../${_realname}-${pkgver} ${MINGW_PREFIX}/bin/ninja.exe diff --git a/mingw-w64-gst-python/PKGBUILD b/mingw-w64-gst-python/PKGBUILD index 2064aca4f6..fc60ac0e40 100644 --- a/mingw-w64-gst-python/PKGBUILD +++ b/mingw-w64-gst-python/PKGBUILD @@ -3,7 +3,7 @@ _realname=gst-python pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-gst-python") -pkgver=1.18.5 +pkgver=1.20.0 pkgrel=1 pkgdesc="GStreamer GObject Introspection overrides for Python (mingw-w64)" arch=('any') @@ -20,7 +20,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-cc") url='https://gstreamer.freedesktop.org/modules/gst-python.html' source=(https://gstreamer.freedesktop.org/src/gst-python/${_realname}-${pkgver}.tar.xz) -sha256sums=('533685871305959d6db89507f3b3aa6c765c2f2b0dacdc32c5a6543e72e5bc52') +sha256sums=('8f67bdc5606ba33606c6bc896e89de7dcd8cf4fca459f71389b1b6fe075b5e54') prepare() { cd "${srcdir}/${_realname}-${pkgver}" diff --git a/mingw-w64-gst-rtsp-server/PKGBUILD b/mingw-w64-gst-rtsp-server/PKGBUILD index de1d18065c..21e37ed4f3 100644 --- a/mingw-w64-gst-rtsp-server/PKGBUILD +++ b/mingw-w64-gst-rtsp-server/PKGBUILD @@ -3,7 +3,7 @@ _realname=gst-rtsp-server pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.18.5 +pkgver=1.20.0 pkgrel=1 pkgdesc="GStreamer RTSP server library (mingw-w64)" arch=('any') @@ -27,7 +27,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-gst-plugins-ugly" "${MINGW_PACKAGE_PREFIX}-gst-plugins-bad") source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz) -sha256sums=('04d63bf48816c6f41c73f6de0f912a7cef0aab39c44162a7bcece1923dfc9d1f') +sha256sums=('c209f5ed906da713fdd44a8844e909aa6c8af3dfb630259b092cfb77a7755843') prepare() { cd "${srcdir}/${_realname}-${pkgver}" diff --git a/mingw-w64-gstreamer/PKGBUILD b/mingw-w64-gstreamer/PKGBUILD index 2dfd9f9cbd..e636bac915 100644 --- a/mingw-w64-gstreamer/PKGBUILD +++ b/mingw-w64-gstreamer/PKGBUILD @@ -3,8 +3,8 @@ _realname=gstreamer pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.18.5 -pkgrel=2 +pkgver=1.20.0 +pkgrel=1 pkgdesc="GStreamer Multimedia Framework (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -26,7 +26,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-gsl") conflicts=("${MINGW_PACKAGE_PREFIX}-gst-plugins-bad<1.14.0") source=("${url}/src/gstreamer/gstreamer-${pkgver}.tar.xz") -sha256sums=('55862232a63459bbf56abebde3085ca9aec211b478e891dacea4d6df8cafe80a') +sha256sums=('edf4bffff85591d4fff7b21bb9ed7f0feabc123ac4a4eff29e73cbce454f9db7') build() { [[ -d "${srcdir}/build-${MSYSTEM}" ]] && rm -rf "${srcdir}/build-${MSYSTEM}" diff --git a/mingw-w64-gtk-elementary-theme/PKGBUILD b/mingw-w64-gtk-elementary-theme/PKGBUILD index ed84f58d1a..f48ab92f3c 100644 --- a/mingw-w64-gtk-elementary-theme/PKGBUILD +++ b/mingw-w64-gtk-elementary-theme/PKGBUILD @@ -12,7 +12,7 @@ depends=( "${MINGW_PACKAGE_PREFIX}-gtk3") optdepends=("${MINGW_PACKAGE_PREFIX}-gtk-engine-murrine: gtk2 theme support") makedepends=("${MINGW_PACKAGE_PREFIX}-meson" "${MINGW_PACKAGE_PREFIX}-ninja" - "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-pkg-config") options=('strip') license=("GPL3") diff --git a/mingw-w64-gtk3/PKGBUILD b/mingw-w64-gtk3/PKGBUILD index 6da36f06d8..35aec4d6e2 100644 --- a/mingw-w64-gtk3/PKGBUILD +++ b/mingw-w64-gtk3/PKGBUILD @@ -3,9 +3,9 @@ _realname=gtk3 pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" "${MINGW_PACKAGE_PREFIX}-gtk-update-icon-cache") -pkgver=3.24.31+56+g7e9935e381 +pkgver=3.24.31+76+g3dc44becf0 pkgrel=1 -_commit=7e9935e38140a5a04e9679b0c399e6f4627956c3 +_commit=3dc44becf080731771fc995aa6f185706f9d7cda pkgdesc="GObject-based multi-platform GUI toolkit (v3) (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') diff --git a/mingw-w64-gtkimageview/01-resource.patch b/mingw-w64-gtkimageview/01-resource.patch deleted file mode 100644 index 5ed872323f..0000000000 --- a/mingw-w64-gtkimageview/01-resource.patch +++ /dev/null @@ -1,158 +0,0 @@ -Origin: Jeffrey Ratcliffe -Bug-Debian: https://bugs.debian.org/789101 -Last-Update: 2016-02-24 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -87,6 +87,12 @@ - --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (g_intern_static_string (\"@EnumName@\"), values);\n }\n return etype;\n}\n" \ - gtk*.h gdk*.h > $@ - --EXTRA_DIST = gtkimageview-marshal.list wscript_build -+# Generate the GResource source file for icon files: -+resource_file = $(srcdir)/gtkimageview.gresource.xml -+BUILT_SOURCES += gtkimageview-resources.c -+gtkimageview-resources.c: $(resource_file) $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies $(resource_file)) -+ $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-source $(resource_file) -+ -+EXTRA_DIST = gtkimageview-marshal.list wscript_build $(resource_file) - - CLEANFILES = $(BUILT_SOURCES) ---- a/src/gtkimageview.gresource.xml -+++ b/src/gtkimageview.gresource.xml -@@ -0,0 +1,7 @@ -+ -+ -+ -+ gtkimageview-nav_button.png -+ gtkimageview-nav_button_hc.png -+ -+ ---- a/configure.in -+++ b/configure.in -@@ -29,6 +29,14 @@ - # Check for glib utils - AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal) - AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums) -+AC_PATH_PROG(GLIB_COMPILE_RESOURCES,[glib-compile-resources],no) -+AC_MSG_CHECKING([glib-compile-resources]) -+if test "x$GLIB_COMPILE_RESOURCES" = xno ; then -+ GLIB_COMPILE_RESOURCES="" -+ AC_MSG_RESULT([cannot be found in PATH.]) -+else -+ AC_MSG_RESULT([usable.]) -+fi - - # 1.8 introduced the --rebuild-sections and --rebuild-types options to - # 1.gtkdoc-scan that we need. ---- a/src/gtkimagescrollwin.c -+++ b/src/gtkimagescrollwin.c -@@ -44,97 +44,6 @@ - /*************************************************************/ - /***** PRIVATE DATA ******************************************/ - /*************************************************************/ --#ifdef __GNUC__ --static const guint8 nav_button[] __attribute__ ((__aligned__ (4))) = --#else --static const guint8 nav_button[] = --#endif --{ -- "" -- /* Pixbuf magic (0x47646b50) */ -- "GdkP" -- /* length: header (24) + pixel_data (784) */ -- "\0\0\3(" -- /* pixdata_type (0x1010002) */ -- "\1\1\0\2" -- /* rowstride (56) */ -- "\0\0\0""8" -- /* width (14) */ -- "\0\0\0\16" -- /* height (14) */ -- "\0\0\0\16" -- /* pixel_data: */ -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377" -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\0" -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\0\0\0" -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377" -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" -- "\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0" -- "\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377" -- "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" -- "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" -- "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" -- "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\377\0\0\0\377" -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\0\0\0\0" -- "\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0" -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377" -- "\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" -- "\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\0\0" -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\0\0" --}; -- --#ifdef __GNUC__ --static const guint8 nav_button_hc[] __attribute__ ((__aligned__ (4))) = --#else --static const guint8 nav_button_hc[] = --#endif --{ -- "" -- /* Pixbuf magic (0x47646b50) */ -- "GdkP" -- /* length: header (24) + pixel_data (784) */ -- "\0\0\3(" -- /* pixdata_type (0x1010002) */ -- "\1\1\0\2" -- /* rowstride (56) */ -- "\0\0\0""8" -- /* width (14) */ -- "\0\0\0\16" -- /* height (14) */ -- "\0\0\0\16" -- /* pixel_data: */ -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>>>\377>>>\377\0\0\0" -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\0\0\0\0>>>\377>>>\377>>>\377>>>\377\0\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>>>\377>>>\377>>>\377>" -- ">>\377>>>\377>>>\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>>>\377>>>\377\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>>>\377\0\0\0\0\0\0\0\0\0\0" -- "\0\0>>>\377>>>\377\0\0\0\0\0\0\0\0\0\0\0\0>>>\377\0\0\0\0\0\0\0\0\0\0" -- "\0\0>>>\377>>>\377\0\0\0\0\0\0\0\0\0\0\0\0>>>\377>>>\377\0\0\0\0\0\0" -- "\0\0\0\0\0\0>>>\377>>>\377\0\0\0\0>>>\377>>>\377>>>\377>>>\377>>>\377" -- ">>>\377>>>\377>>>\377>>>\377>>>\377>>>\377>>>\377>>>\377>>>\377>>>\377" -- ">>>\377>>>\377>>>\377>>>\377>>>\377>>>\377>>>\377>>>\377>>>\377>>>\377" -- ">>>\377>>>\377>>>\377\0\0\0\0>>>\377>>>\377\0\0\0\0\0\0\0\0\0\0\0\0>" -- ">>\377>>>\377\0\0\0\0\0\0\0\0\0\0\0\0>>>\377>>>\377\0\0\0\0\0\0\0\0\0" -- "\0\0\0>>>\377\0\0\0\0\0\0\0\0\0\0\0\0>>>\377>>>\377\0\0\0\0\0\0\0\0\0" -- "\0\0\0>>>\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\0>>>\377>>>\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>>>\377>>>\377>>>\377>>>\377>>>\377" -- ">>>\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\0\0>>>\377>>>\377>>>\377>>>\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" -- "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0>>>\377>>>" -- "\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" --}; - - G_DEFINE_TYPE(GtkImageScrollWin, gtk_image_scroll_win, GTK_TYPE_TABLE); - -@@ -294,9 +203,9 @@ - - // Setup the navigator button. - window->nav_button = -- gdk_pixbuf_new_from_inline (-1, nav_button, FALSE, NULL); -+ gdk_pixbuf_new_from_resource ("gtkimageview-nav_button.png", NULL); - window->nav_button_hc = -- gdk_pixbuf_new_from_inline (-1, nav_button_hc, FALSE, NULL); -+ gdk_pixbuf_new_from_resource ("gtkimageview-nav_button_hc.png", NULL); - window->nav_image = gtk_image_new_from_pixbuf (window->nav_button); - - window->nav_box = gtk_event_box_new (); diff --git a/mingw-w64-gtkimageview/02-g_mem_set_vtable.patch b/mingw-w64-gtkimageview/02-g_mem_set_vtable.patch deleted file mode 100644 index 36c7db5d1a..0000000000 --- a/mingw-w64-gtkimageview/02-g_mem_set_vtable.patch +++ /dev/null @@ -1,15 +0,0 @@ -Origin: Jeffrey Ratcliffe -Last-Update: 2016-02-24 -Index: gtkimageview-1.6.4+dfsg/tests/test-memory.c -=================================================================== ---- gtkimageview-1.6.4+dfsg.orig/tests/test-memory.c -+++ gtkimageview-1.6.4+dfsg/tests/test-memory.c -@@ -251,7 +251,7 @@ test_offset_setting () - int - main (int argc, char *argv[]) - { -- g_mem_set_vtable (glib_mem_profiler_table); -+ // g_mem_set_vtable (glib_mem_profiler_table); - gtk_init (&argc, &argv); - test_unreffing (); - test_unrefing_the_pixbuf (); diff --git a/mingw-w64-gtkimageview/03-update-obsolete-gnome-common-and-automake.patch b/mingw-w64-gtkimageview/03-update-obsolete-gnome-common-and-automake.patch deleted file mode 100644 index c581aefdc0..0000000000 --- a/mingw-w64-gtkimageview/03-update-obsolete-gnome-common-and-automake.patch +++ /dev/null @@ -1,44 +0,0 @@ -diff -Naur gtkimageview-1.6.4-orig/configure.in gtkimageview-1.6.4/configure.in ---- gtkimageview-1.6.4-orig/configure.in 2019-05-29 10:11:23.407610600 +0300 -+++ gtkimageview-1.6.4/configure.in 2019-05-29 10:16:24.349032000 +0300 -@@ -17,9 +17,7 @@ - AC_PROG_INSTALL - AM_PROG_LIBTOOL - --# Initialize GNOME environment --GNOME_COMMON_INIT --GNOME_COMPILE_WARNINGS(error) -+AX_COMPILER_FLAGS([WARN_CFLAGS],[WARN_LDFLAGS]) - DEPRECATED_FLAGS="-DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED" - AC_SUBST(DEPRECATED_FLAGS) - -diff -Naur gtkimageview-1.6.4-orig/src/Makefile.am gtkimageview-1.6.4/src/Makefile.am ---- gtkimageview-1.6.4-orig/src/Makefile.am 2019-05-29 10:11:23.397610600 +0300 -+++ gtkimageview-1.6.4/src/Makefile.am 2019-05-29 10:15:01.867916500 +0300 -@@ -1,4 +1,4 @@ --INCLUDES = $(DEP_CFLAGS) -+AM_CPPFLAGS = $(DEP_CFLAGS) - - BUILT_SOURCES = \ - gtkimageview-marshal.c \ -diff -Naur gtkimageview-1.6.4-orig/tests/Makefile.am gtkimageview-1.6.4/tests/Makefile.am ---- gtkimageview-1.6.4-orig/tests/Makefile.am 2009-04-05 03:25:14.000000000 +0400 -+++ gtkimageview-1.6.4/tests/Makefile.am 2019-05-29 10:15:38.568967900 +0300 -@@ -4,7 +4,7 @@ - $(top_builddir)/src/libgtkimageview.la \ - $(DEP_LIBS) \ - ./testlib/libtest.la --INCLUDES = $(DEP_CFLAGS) -I$(top_srcdir) -I. -+AM_CPPFLAGS = $(DEP_CFLAGS) -I$(top_srcdir) -I. - - noinst_PROGRAMS = \ - ex-abssize \ -diff -Naur gtkimageview-1.6.4-orig/tests/testlib/Makefile.am gtkimageview-1.6.4/tests/testlib/Makefile.am ---- gtkimageview-1.6.4-orig/tests/testlib/Makefile.am 2009-04-05 03:25:14.000000000 +0400 -+++ gtkimageview-1.6.4/tests/testlib/Makefile.am 2019-05-29 10:15:48.208981400 +0300 -@@ -1,4 +1,4 @@ --INCLUDES = $(DEP_CFLAGS) -+AM_CPPFLAGS = $(DEP_CFLAGS) - - noinst_LTLIBRARIES = libtest.la - noinst_HEADERS = testlib.h diff --git a/mingw-w64-gtkimageview/04-gcc9-identation-error.patch b/mingw-w64-gtkimageview/04-gcc9-identation-error.patch deleted file mode 100644 index d42ba99852..0000000000 --- a/mingw-w64-gtkimageview/04-gcc9-identation-error.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- gtkimageview-1.6.4/src/gtkimagenav.c.orig 2019-05-29 10:25:30.343100700 +0300 -+++ gtkimageview-1.6.4/src/gtkimagenav.c 2019-05-29 10:26:01.383144100 +0300 -@@ -71,8 +71,9 @@ - gtk_image_nav_get_preview_size (GtkImageNav *nav) - { - GdkPixbuf *pixbuf = gtk_image_view_get_pixbuf (nav->view); -- if (!pixbuf) -- return (Size){GTK_IMAGE_NAV_MAX_WIDTH, GTK_IMAGE_NAV_MAX_HEIGHT}; -+ if (!pixbuf) { -+ return (Size){GTK_IMAGE_NAV_MAX_WIDTH, GTK_IMAGE_NAV_MAX_HEIGHT}; -+ } - int img_width = gdk_pixbuf_get_width (pixbuf); - int img_height = gdk_pixbuf_get_height (pixbuf); - diff --git a/mingw-w64-gtkimageview/PKGBUILD b/mingw-w64-gtkimageview/PKGBUILD deleted file mode 100644 index 7dee7fddf3..0000000000 --- a/mingw-w64-gtkimageview/PKGBUILD +++ /dev/null @@ -1,57 +0,0 @@ -# Maintainer: Alexey Pavlov - -_realname=gtkimageview -pkgbase=mingw-w64-${_realname} -pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.6.4 -pkgrel=4 -pkgdesc="Simple image viewer widget for GTK2 (mingw-w64)" -arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') -url="https://projects-old.gnome.org/gtkimageview/" -license=("LGPL2.1") -makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") -depends=("${MINGW_PACKAGE_PREFIX}-gtk2") -options=('strip' 'staticlibs') -source=("${_realname}-${pkgver}.tar.gz" - "resources.tar.bz2" - 01-resource.patch - 02-g_mem_set_vtable.patch - 03-update-obsolete-gnome-common-and-automake.patch - 04-gcc9-identation-error.patch) -sha256sums=('4c681d38d127ee3950a29bce9aa7aa8a2abe3b4d915f7a0c88e526999c1a46f2' - 'bb255c8786e2039168801a9f49eb0f1fe38321842cd4967ec67f698883a90d86' - '438c3c45f24cb367a9ba8567d9aa85775be9b1edda03a7101d6023a4dd04942c' - 'f2ba3dd4b6d1ad8f81953e2d51e43396df6606dab84211aec1095329514ebd5e' - '89a214a265c2dfd7a555cc17640e5e73f397fd043ffbbbf22e395c5a6afb27dd' - 'fd0437cbce60004ed58c287c359ecebc6fa693ec75d88a906a7c4c01eccd8d0a') - -prepare() { - mv -f *.png ${_realname}-${pkgver}/src/ - cd "${srcdir}/${_realname}-${pkgver}" - patch -p1 -i ${srcdir}/01-resource.patch - patch -p1 -i ${srcdir}/02-g_mem_set_vtable.patch - patch -p1 -i ${srcdir}/03-update-obsolete-gnome-common-and-automake.patch - patch -p1 -i ${srcdir}/04-gcc9-identation-error.patch - - autoreconf -fiv -} - -build() { - export lt_cv_deplibs_check_method='pass_all' - rm -rf "${srcdir}/build-${MINGW_CHOST}" - mkdir "${srcdir}/build-${MINGW_CHOST}" - cd "${srcdir}/build-${MINGW_CHOST}" - ../${_realname}-${pkgver}/configure \ - --prefix=${MINGW_PREFIX} \ - --build=${MINGW_CHOST} \ - --host=${MINGW_CHOST} \ - --target=${MINGW_CHOST} - - make -} - -package() { - cd "${srcdir}/build-${MINGW_CHOST}" - make DESTDIR="${pkgdir}" install -} diff --git a/mingw-w64-gtkimageview/gtkimageview-1.6.4.tar.gz b/mingw-w64-gtkimageview/gtkimageview-1.6.4.tar.gz deleted file mode 100644 index 4eda1aaaf0..0000000000 Binary files a/mingw-w64-gtkimageview/gtkimageview-1.6.4.tar.gz and /dev/null differ diff --git a/mingw-w64-gtkimageview/resources.tar.bz2 b/mingw-w64-gtkimageview/resources.tar.bz2 deleted file mode 100644 index 1c60dde01a..0000000000 Binary files a/mingw-w64-gtkimageview/resources.tar.bz2 and /dev/null differ diff --git a/mingw-w64-gtkwave/PKGBUILD b/mingw-w64-gtkwave/PKGBUILD index bbca25dac3..07bec15f4c 100644 --- a/mingw-w64-gtkwave/PKGBUILD +++ b/mingw-w64-gtkwave/PKGBUILD @@ -30,7 +30,6 @@ depends=( makedepends=( 'perlxml' 'intltool' - "${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-gtk3" "${MINGW_PACKAGE_PREFIX}-autotools" "${MINGW_PACKAGE_PREFIX}-cc" diff --git a/mingw-w64-hexchat/PKGBUILD b/mingw-w64-hexchat/PKGBUILD index 3bf4a60e63..54ba326276 100644 --- a/mingw-w64-hexchat/PKGBUILD +++ b/mingw-w64-hexchat/PKGBUILD @@ -18,8 +18,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-dbus-glib" "${MINGW_PACKAGE_PREFIX}-libssp" "${MINGW_PACKAGE_PREFIX}-openssl" "${MINGW_PACKAGE_PREFIX}-pango") -makedepends=("intltool" - "${MINGW_PACKAGE_PREFIX}-cc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-iso-codes" "${MINGW_PACKAGE_PREFIX}-luajit" "${MINGW_PACKAGE_PREFIX}-meson" diff --git a/mingw-w64-hexyl/PKGBUILD b/mingw-w64-hexyl/PKGBUILD index d0f22c6ff5..c5585ded3f 100644 --- a/mingw-w64-hexyl/PKGBUILD +++ b/mingw-w64-hexyl/PKGBUILD @@ -3,7 +3,7 @@ _realname=hexyl pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.8.0 +pkgver=0.9.0 pkgrel=1 pkgdesc="A command-line hex viewer" arch=('any') @@ -15,12 +15,8 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-rust") source=( "${url}/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz" ) -sha512sums=( - '9695b57d11b58da3987475982622a19e5a576f2b05df141dc133e0cddf2cf37e37c995ed4b32c8020a7ec08a0c101e7ea3aa6a19a3a21510cffaa033401a8c34' -) -b2sums=( - 'f06101d27956e746e2ac794fc94b5ae7dd98b970b9a4060b6af375365838228a4580c464a7d5edf37ccb2326c1242f43aabee277d3fdfdbe274b73b55f2185ff' -) +sha512sums=('a6fc8315dd115ac4b3e3717ffc6e218bf587749149405250796a435834252382fe51c613688729d7de6911340bf6f2002ae945c0f19b499dacc767e995958ce6') +b2sums=('244c133a06e6432937803e84b2b64cd762a75c05490189533271522a069b68b639e7517904e5585d8b617b68885da1a092d6bdae2d6c15bd53d38bb89d96517f') build() { cd "${srcdir}/${_realname}-${pkgver}" diff --git a/mingw-w64-hicolor-icon-theme/PKGBUILD b/mingw-w64-hicolor-icon-theme/PKGBUILD index af61fc8ff8..844b921fad 100644 --- a/mingw-w64-hicolor-icon-theme/PKGBUILD +++ b/mingw-w64-hicolor-icon-theme/PKGBUILD @@ -10,7 +10,7 @@ arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://wiki.freedesktop.org/www/Software/icon-theme/" license=("GPL2") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-autotools") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") options=('!libtool' 'strip' 'staticlibs') source=("https://icon-theme.freedesktop.org/releases/${_realname}-${pkgver}.tar.xz") sha256sums=('317484352271d18cbbcfac3868eab798d67fff1b8402e740baa6ff41d588a9d8') diff --git a/mingw-w64-hlsl2glsl-git/PKGBUILD b/mingw-w64-hlsl2glsl-git/PKGBUILD index 7cf22ea3c3..c9eef3315e 100644 --- a/mingw-w64-hlsl2glsl-git/PKGBUILD +++ b/mingw-w64-hlsl2glsl-git/PKGBUILD @@ -11,7 +11,7 @@ arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url='https://github.com/aras-p/hlsl2glslfork' license=('MIT') -makedepends=("git" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-gcc") +makedepends=("git" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-cc") provides=("${MINGW_PACKAGE_PREFIX}-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}") options=('!strip' 'staticlibs' '!emptydirs') diff --git a/mingw-w64-iverilog/PKGBUILD b/mingw-w64-iverilog/PKGBUILD index af37e1442c..05ce7e0a93 100644 --- a/mingw-w64-iverilog/PKGBUILD +++ b/mingw-w64-iverilog/PKGBUILD @@ -4,7 +4,7 @@ _realname=iverilog pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=11.0.r8956.gf705e7b6 -pkgrel=1 +pkgrel=2 epoch=1 pkgdesc="Icarus Verilog, is a Verilog simulation and synthesis tool (mingw-w64)" arch=('any') @@ -14,7 +14,7 @@ license=('GPLv2+') groups=("${MINGW_PACKAGE_PREFIX}-eda") depends=( "${MINGW_PACKAGE_PREFIX}-bzip2" - "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-readline" ) makedepends=( diff --git a/mingw-w64-lcms2/PKGBUILD b/mingw-w64-lcms2/PKGBUILD index ea4c379ff7..e44979b487 100644 --- a/mingw-w64-lcms2/PKGBUILD +++ b/mingw-w64-lcms2/PKGBUILD @@ -4,7 +4,7 @@ _realname=lcms2 pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=2.12 +pkgver=2.13.1 pkgrel=1 pkgdesc="Small-footprint color management engine, version 2 (mingw-w64)" arch=('any') @@ -17,7 +17,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-libtiff") options=('staticlibs' 'strip') source=("https://downloads.sourceforge.net/sourceforge/lcms/${_realname}-${pkgver}.tar.gz") -sha256sums=('18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5') +sha256sums=('d473e796e7b27c5af01bd6d1552d42b45b43457e7182ce9903f38bb748203b88') prepare() { cd "${srcdir}"/${_realname}-${pkgver} diff --git a/mingw-w64-leveldb/PKGBUILD b/mingw-w64-leveldb/PKGBUILD index 36e41ccf91..f3fbbb38ae 100644 --- a/mingw-w64-leveldb/PKGBUILD +++ b/mingw-w64-leveldb/PKGBUILD @@ -10,7 +10,7 @@ arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://github.com/google/leveldb" license=('BSD') -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake") source=("${_realname}-${pkgver}.tar.gz::https://github.com/google/leveldb/archive/${pkgver}.tar.gz" 001-snappy-optional.patch) diff --git a/mingw-w64-libadwaita/PKGBUILD b/mingw-w64-libadwaita/PKGBUILD new file mode 100644 index 0000000000..bd24c3dd36 --- /dev/null +++ b/mingw-w64-libadwaita/PKGBUILD @@ -0,0 +1,51 @@ +# Maintainer: Taozuhong + +_realname=libadwaita +pkgbase=mingw-w64-${_realname} +pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" +pkgver=1.0.1 +pkgrel=1 +pkgdesc="Building blocks for modern GNOME applications (mingw-w64)" +url="https://gitlab.gnome.org/GNOME/libadwaita" +license=("spdx:LGPL-2.1-or-later") +arch=('any') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +depends=("${MINGW_PACKAGE_PREFIX}-glib2" + "${MINGW_PACKAGE_PREFIX}-gtk4") +makedepends=("${MINGW_PACKAGE_PREFIX}-glade" + "${MINGW_PACKAGE_PREFIX}-meson" + "${MINGW_PACKAGE_PREFIX}-pkg-config" + "${MINGW_PACKAGE_PREFIX}-vala" + "${MINGW_PACKAGE_PREFIX}-sassc" + "${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-gobject-introspection") +options=('strip' 'staticlibs' '!debug') +source=("https://download.gnome.org/sources/libadwaita/${pkgver:0:3}/libadwaita-${pkgver}.tar.xz") +sha256sums=('bb49cf5a09d2e8bc144946c2c3272aecd611667fd027f3808b95d7101ed473d6') + +prepare() { + cd "${srcdir}/${_realname}-${pkgver}" +} + +build() { + [[ -d "${srcdir}"/build-${CARCH} ]] && rm -rf "${srcdir}"/build-${CARCH} + mkdir "${srcdir}"/build-${CARCH} && cd "${srcdir}"/build-${CARCH} + + MSYS2_ARG_CONV_EXCL="--prefix=" \ + ${MINGW_PREFIX}/bin/meson \ + --prefix="${MINGW_PREFIX}" \ + --buildtype=plain \ + --wrap-mode=nodownload \ + -Dexamples=true \ + -Dgtk_doc=false \ + -Dtests=false \ + ../${_realname}-${pkgver} + + ${MINGW_PREFIX}/bin/ninja +} + +package() { + cd "${srcdir}"/build-${CARCH} + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/ninja install + install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING" +} diff --git a/mingw-w64-libart_lgpl/PKGBUILD b/mingw-w64-libart_lgpl/PKGBUILD index fd82418577..10f0aaf603 100644 --- a/mingw-w64-libart_lgpl/PKGBUILD +++ b/mingw-w64-libart_lgpl/PKGBUILD @@ -7,7 +7,7 @@ pkgver=2.3.21 pkgrel=2 pkgdesc="Library for high-performance 2D graphics (mingw-w64)" depends=() -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc") arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url='https://www.levien.com/libart' diff --git a/mingw-w64-libbacktrace/PKGBUILD b/mingw-w64-libbacktrace/PKGBUILD index 2ed96777aa..7d1691a4c3 100644 --- a/mingw-w64-libbacktrace/PKGBUILD +++ b/mingw-w64-libbacktrace/PKGBUILD @@ -3,7 +3,7 @@ pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") _commit='1da441c1b020bef75d040dd300814b1a49e0e529' pkgver=r53.1da441c -pkgrel=2 +pkgrel=3 pkgdesc="Library to produce symbolic backtraces (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -27,8 +27,7 @@ prepare () { # dont allow undefined symbols to build the dll sed -i "87ilibbacktrace_la_LDFLAGS = -no-undefined" Makefile.am - sed -i "s/2.69/2.71/g" config/override.m4 - autoreconf -vfi + WANT_AUTOCONF=2.69 autoreconf -vfi } build() { diff --git a/mingw-w64-libbsdf/PKGBUILD b/mingw-w64-libbsdf/PKGBUILD index 87bf1b5db3..5b6f2f62d7 100644 --- a/mingw-w64-libbsdf/PKGBUILD +++ b/mingw-w64-libbsdf/PKGBUILD @@ -13,7 +13,7 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url='https://github.com/KimuraRyo/libbsdf' license=('MPL2') makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" - "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-eigen3") source=(${_realname}-${pkgver}.tar.gz::"https://github.com/KimuraRyo/${_realname}/archive/v${pkgver}.tar.gz" 'optimisations-CMakeLists.txt.patch' diff --git a/mingw-w64-libc++/PKGBUILD b/mingw-w64-libc++/PKGBUILD index c51b7aef38..fe3d1fb2b2 100644 --- a/mingw-w64-libc++/PKGBUILD +++ b/mingw-w64-libc++/PKGBUILD @@ -9,8 +9,8 @@ pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" "${MINGW_PACKAGE_PREFIX}-${_realname}abi" "${MINGW_PACKAGE_PREFIX}-libunwind") -pkgver=13.0.0 -pkgrel=3 +pkgver=13.0.1 +pkgrel=1 url="https://libcxx.llvm.org/" arch=(any) mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -20,20 +20,21 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-clang" "${MINGW_PACKAGE_PREFIX}-lld" - "${MINGW_PACKAGE_PREFIX}-compiler-rt") + "${MINGW_PACKAGE_PREFIX}-compiler-rt" + "${MINGW_PACKAGE_PREFIX}-python") options=('!debug' 'strip') _url=https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver} source=("${_url}/llvm-${pkgver}.src.tar.xz"{,.sig} "${_url}/libcxx-${pkgver}.src.tar.xz"{,.sig} "${_url}/libcxxabi-${pkgver}.src.tar.xz"{,.sig} "${_url}/libunwind-${pkgver}.src.tar.xz"{,.sig}) -sha256sums=('408d11708643ea826f519ff79761fcdfc12d641a2510229eec459e72f8163020' +sha256sums=('ec6b80d82c384acad2dc192903a6cf2cdbaffb889b84bfb98da9d71e630fc834' 'SKIP' - '3682f16ce33bb0a8951fc2c730af2f9b01a13b71b2b0dc1ae1e7034c7d86ca1a' + '2f446acc00bb7cfb4e866c2fa46d1b6dbf4e7d2ab62e3c3d84e56f7b9e28110f' 'SKIP' - 'becd5f1cd2c03cd6187558e9b4dc8a80b6d774ff2829fede88aa1576c5234ce3' + 'db5fa6093c786051e8b1c85527240924eceb6c95eeff0a2bbc57be8422b3cef1' 'SKIP' - '36f819091216177a61da639244eda67306ccdd904c757d70d135e273278b65e1' + 'e206dbf1bbe058a113bffe189386ded99a160b2443ee1e2cd41ff810f78551ba' 'SKIP') validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D' # Hans Wennborg, Google. '474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard diff --git a/mingw-w64-libcaca/0004-msc-only-please.all.patch b/mingw-w64-libcaca/0004-msc-only-please.all.patch deleted file mode 100644 index 5e18cdc4a3..0000000000 --- a/mingw-w64-libcaca/0004-msc-only-please.all.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- libcaca-0.99.beta19/caca/figfont.c.orig 2012-12-28 17:34:08.000000000 +0000 -+++ libcaca-0.99.beta19/caca/figfont.c 2014-07-30 10:38:17.765662500 +0000 -@@ -29,7 +29,7 @@ - #include "caca.h" - #include "caca_internals.h" - --#if defined _WIN32 && defined __GNUC__ && __GNUC__ >= 3 -+#if defined _MSC_VER && defined __GNUC__ && __GNUC__ >= 3 - int sprintf_s(char *s, size_t n, const char *fmt, ...) CACA_WEAK; - int vsnprintf(char *s, size_t n, const char *fmt, va_list ap) CACA_WEAK; - #endif -@@ -636,7 +636,7 @@ - * Functions for the mingw32 runtime - */ - --#if defined _WIN32 && defined __GNUC__ && __GNUC__ >= 3 -+#if defined _MSC_VER && defined __GNUC__ && __GNUC__ >= 3 - int sprintf_s(char *s, size_t n, const char *fmt, ...) - { - va_list args; ---- libcaca-0.99.beta19/caca/string.c.orig 2012-12-28 17:34:08.000000000 +0000 -+++ libcaca-0.99.beta19/caca/string.c 2014-07-30 10:38:28.801063800 +0000 -@@ -36,7 +36,7 @@ - #include "caca.h" - #include "caca_internals.h" - --#if defined _WIN32 && defined __GNUC__ && __GNUC__ >= 3 -+#if defined _MSC_VER && defined __GNUC__ && __GNUC__ >= 3 - int vsnprintf_s(char *s, size_t n, size_t c, - const char *fmt, va_list ap) CACA_WEAK; - int vsnprintf(char *s, size_t n, const char *fmt, va_list ap) CACA_WEAK; -@@ -610,7 +610,7 @@ - * Functions for the mingw32 runtime - */ - --#if defined _WIN32 && defined __GNUC__ && __GNUC__ >= 3 -+#if defined _MSC_VER && defined __GNUC__ && __GNUC__ >= 3 - int vsnprintf_s(char *s, size_t n, size_t c, const char *fmt, va_list ap) - { - return vsnprintf(s, n, fmt, ap); diff --git a/mingw-w64-libcaca/0005-ruby-paths.mingw.patch b/mingw-w64-libcaca/0005-ruby-paths.mingw.patch deleted file mode 100644 index 06cfe04519..0000000000 --- a/mingw-w64-libcaca/0005-ruby-paths.mingw.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- libcaca-0.99.beta19/configure.ac.orig 2014-05-16 19:07:53.000000000 +0000 -+++ libcaca-0.99.beta19/configure.ac 2014-07-30 11:04:20.605117900 +0000 -@@ -467,8 +467,8 @@ - if test "${RUBY}" != "no"; then - RUBY_CFLAGS="$(ruby -r mkmf -e 'conf = RbConfig::CONFIG.merge("hdrdir" => $hdrdir, "arch_hdrdir" => $arch_hdrdir); print RbConfig::expand("#$INCFLAGS", conf)')" - RUBY_LIBS="-L$(ruby -r rbconfig -e 'print RbConfig::CONFIG@<:@"libdir"@:>@') -l$(ruby -r rbconfig -e 'print RbConfig::CONFIG@<:@"RUBY_SO_NAME"@:>@')" -- RUBY_SITEARCHDIR=`ruby -r rbconfig -e 'print RbConfig::CONFIG@<:@"sitearchdir"@:>@'` -- RUBY_SITELIBDIR=`ruby -r rbconfig -e 'print RbConfig::CONFIG@<:@"sitelibdir"@:>@'` -+ RUBY_SITEARCHDIR=$(cygpath `ruby -r rbconfig -e 'print RbConfig::CONFIG@<:@"sitearchdir"@:>@'`) -+ RUBY_SITELIBDIR=$(cygpath `ruby -r rbconfig -e 'print RbConfig::CONFIG@<:@"sitelibdir"@:>@'`) - AC_SUBST(RUBY_CFLAGS) - AC_SUBST(RUBY_LIBS) - AC_SUBST(RUBY_SITEARCHDIR) diff --git a/mingw-w64-libcaca/PKGBUILD b/mingw-w64-libcaca/PKGBUILD index 53f71db377..6a0b08f9cf 100644 --- a/mingw-w64-libcaca/PKGBUILD +++ b/mingw-w64-libcaca/PKGBUILD @@ -3,12 +3,12 @@ _realname=libcaca pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.99.beta19 -pkgrel=7 +pkgver=0.99.beta20 +pkgrel=1 pkgdesc="Color AsCii Art library (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') -url="http://caca.zoy.org/wiki/libcaca" +url="https://github.com/cacalabs/libcaca" license=("LGPL") makedepends=("${MINGW_PACKAGE_PREFIX}-cppunit" "${MINGW_PACKAGE_PREFIX}-cc" @@ -20,25 +20,19 @@ depends=("${MINGW_PACKAGE_PREFIX}-fontconfig" "${MINGW_PACKAGE_PREFIX}-zlib") checkdepends=("${MINGW_PACKAGE_PREFIX}-cppunit") options=(!libtool strip staticlibs) -source=(http://libcaca.zoy.org/files/libcaca/${_realname}-${pkgver}.tar.gz +source=(https://github.com/cacalabs/libcaca/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.gz 0001-win32-is-not-msvc-it-could-be.mingw.patch 0002-correct-installation-order.mingw.patch - 0004-msc-only-please.all.patch - 0005-ruby-paths.mingw.patch 0006-no-undefined.all.patch) -sha256sums=('128b467c4ed03264c187405172a4e83049342cc8cc2f655f53a2d0ee9d3772f4' +sha256sums=('8ad74babc63bf665b0b2378d95b4da65b7493c11bd9f3ac600517085b0c4acf2' 'd7a30c2717d2cc22eee98a635bf885ea057888381c8a452f942931afb5990ded' 'bd7b8659347406d76579a6d29148016a452b18dfcc1760db1be8b1f4c0786a63' - '6db33ce3ccec000bb425be756aff48edb0182343f1e4815d3f84177a1bdbd5ad' - 'cec04bee16bd89164b3d63433603fe5cbff212a6f25836bd7f2b877a3a12a67b' '41868030a0e8ec2828476c17918af6d368e84e6aa1e165338000c36cc9898f82') prepare() { cd ${srcdir}/${_realname}-${pkgver} patch -p1 -i ${srcdir}/0001-win32-is-not-msvc-it-could-be.mingw.patch patch -p1 -i ${srcdir}/0002-correct-installation-order.mingw.patch - patch -p1 -i ${srcdir}/0004-msc-only-please.all.patch - patch -p1 -i ${srcdir}/0005-ruby-paths.mingw.patch patch -p1 -i ${srcdir}/0006-no-undefined.all.patch autoreconf -fi @@ -47,6 +41,11 @@ prepare() { build() { [[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}" mkdir -p "${srcdir}/build-${MINGW_CHOST}" && cd "${srcdir}/build-${MINGW_CHOST}" + + # wrong result with ucrt + export ac_cv_func_sprintf_s=yes + export ac_cv_func_vsnprintf_s=yes + ../${_realname}-${pkgver}/configure \ --prefix=${MINGW_PREFIX} \ --build=${MINGW_CHOST} \ diff --git a/mingw-w64-libchamplain/PKGBUILD b/mingw-w64-libchamplain/PKGBUILD index 9b19fb3278..fe11c9dd16 100644 --- a/mingw-w64-libchamplain/PKGBUILD +++ b/mingw-w64-libchamplain/PKGBUILD @@ -4,7 +4,7 @@ _realname=libchamplain pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=0.12.20 -pkgrel=2 +pkgrel=3 arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') pkgdesc="C library providing ClutterActor to display maps (mingw-w64)" @@ -12,7 +12,6 @@ depends=("${MINGW_PACKAGE_PREFIX}-clutter" "${MINGW_PACKAGE_PREFIX}-clutter-gtk" "${MINGW_PACKAGE_PREFIX}-cairo" "${MINGW_PACKAGE_PREFIX}-libsoup" - "${MINGW_PACKAGE_PREFIX}-memphis" "${MINGW_PACKAGE_PREFIX}-sqlite3") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-gobject-introspection" diff --git a/mingw-w64-libgcrypt/PKGBUILD b/mingw-w64-libgcrypt/PKGBUILD index c7a6e5b6c0..15cdada34c 100644 --- a/mingw-w64-libgcrypt/PKGBUILD +++ b/mingw-w64-libgcrypt/PKGBUILD @@ -4,7 +4,7 @@ _realname=libgcrypt pkgbase="mingw-w64-${_realname}" pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.9.4 +pkgver=1.10.0 pkgrel=1 pkgdesc="General purpose cryptographic library based on the code from GnuPG (mingw-w64)" arch=('any') @@ -23,7 +23,7 @@ validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6' '031EC2536E580D8EA286A9F22071B08A33BD3F06' '5B80C5754298F0CB55D8ED6ABCEF7E294B092E28' '6DAA6E64A76D2840571B4902528897B826403ADA') -sha256sums=('ea849c83a72454e3ed4267697e8ca03390aee972ab421e7df69dfe42b65caaf7' +sha256sums=('6a00f5c05caa4c4acc120c46b63857da0d4ff61dc4b4b03933fa8d46013fae81' 'SKIP' '55cf915badebb4b3cfa671eea725aebb77be791aa39a19caef090ded4f38d8eb' 'd6855fc9b7a3a7fa440be1d9ae3477f8c08524d1aab1a8c7bb26d62b55382f72') diff --git a/mingw-w64-libgpg-error/01-mingw32-fix-potomo.mingw.patch b/mingw-w64-libgpg-error/01-mingw32-fix-potomo.mingw.patch deleted file mode 100644 index c5233bf974..0000000000 --- a/mingw-w64-libgpg-error/01-mingw32-fix-potomo.mingw.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- libgpg-error-1.10/potomo 2010-10-20 18:27:58 +0400 -+++ libgpg-error-1.10/potomo 2011-04-03 15:05:06 +0400 -@@ -57,7 +57,7 @@ - ;; - *) - echo "potomo: '$infile' converting from $fromset to utf-8" >&2 -- iconv --silent --from-code=$fromset --to-code=utf-8 < "$infile" |\ -+ iconv -s --from-code=$fromset --to-code=utf-8 < "$infile" |\ - sed "/^\"Content-Type:/ s/charset=[a-zA-Z0-9_-]*/charset=utf-8/"|\ - msgfmt --output-file="$outfile" - - ;; diff --git a/mingw-w64-libgpg-error/PKGBUILD b/mingw-w64-libgpg-error/PKGBUILD index 88f4e0c252..10d16c26ea 100644 --- a/mingw-w64-libgpg-error/PKGBUILD +++ b/mingw-w64-libgpg-error/PKGBUILD @@ -3,7 +3,7 @@ _realname=libgpg-error pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.43 +pkgver=1.44 pkgrel=1 pkgdesc="Support library for libgcrypt (mingw-w64)" arch=('any') @@ -14,7 +14,6 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-gettext") options=('staticlibs' 'strip') source=("https://gnupg.org/ftp/gcrypt/libgpg-error/${_realname}-${pkgver}.tar.bz2"{,.sig} - 01-mingw32-fix-potomo.mingw.patch 02-fix-symbollist-on.mingw.patch 05-w32-gen.all.patch 07-windows-build.patch @@ -24,9 +23,8 @@ validpgpkeys=('5B80C5754298F0CB55D8ED6ABCEF7E294B092E28' # Andre Heinecke (Rele '6DAA6E64A76D2840571B4902528897B826403ADA' # Werner Koch (dist signing 2020) 'AC8E115BF73E2D8D47FA9908E98E9B2D19C6C8BD' # Niibe Yutaka (GnuPG Release Key) '02F38DFF731FF97CB039A1DA549E695E905BA208') # GnuPG.com (Release Signing Key 2021) -sha256sums=('a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf' +sha256sums=('8e3d2da7a8b9a104dd8e9212ebe8e0daf86aa838cc1314ba6bc4de8f2d8a1ff9' 'SKIP' - '252349e58d418adfec5621af1e09753db52b1bf39983aa3bc398d636afb9b495' '364da17febff3f6eeffee5a5f1e3ed1b644adeb5ca48a972c5c4675c10238a91' '9ccdc567810d58526888fd11c5f7d01101627011840b7b75a91e96aa9e71f49d' 'ab1d5e1a10d3803b2ae514aacba184c0bba019417bf9f7615243505455ffabb8' @@ -34,7 +32,6 @@ sha256sums=('a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf' prepare() { cd "${srcdir}/${_realname}-${pkgver}" - patch -p1 -i ${srcdir}/01-mingw32-fix-potomo.mingw.patch patch -p1 -i ${srcdir}/02-fix-symbollist-on.mingw.patch patch -p1 -i ${srcdir}/05-w32-gen.all.patch patch -p1 -i ${srcdir}/07-windows-build.patch diff --git a/mingw-w64-libgweather/PKGBUILD b/mingw-w64-libgweather/PKGBUILD index da475ea180..cb1cb73cea 100644 --- a/mingw-w64-libgweather/PKGBUILD +++ b/mingw-w64-libgweather/PKGBUILD @@ -4,7 +4,7 @@ _realname=libgweather pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=3.36.1 -pkgrel=2 +pkgrel=3 arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') pkgdesc="GWeather shared library (mingw-w64)" @@ -19,13 +19,11 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-meson" "${MINGW_PACKAGE_PREFIX}-pkg-config" "${MINGW_PACKAGE_PREFIX}-ninja" - "${MINGW_PACKAGE_PREFIX}-vala" - "gtk-doc" - "intltool") + "${MINGW_PACKAGE_PREFIX}-gettext" + "${MINGW_PACKAGE_PREFIX}-vala") options=('strip' 'staticlibs') license=("LGPL 2.1") url="https://www.gnome.org/" -install=${_realname}-${MSYSTEM}.install source=(https://download.gnome.org/sources/${_realname}/${pkgver%.*}/${_realname}-${pkgver}.tar.xz 001-win.patch 002-relocation.patch diff --git a/mingw-w64-libgweather/libgweather-CLANG32.install b/mingw-w64-libgweather/libgweather-CLANG32.install deleted file mode 100644 index 7eefb084bb..0000000000 --- a/mingw-w64-libgweather/libgweather-CLANG32.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - clang32/bin/glib-compile-schemas /clang32/share/glib-2.0/schemas -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - post_install $1 -} diff --git a/mingw-w64-libgweather/libgweather-CLANG64.install b/mingw-w64-libgweather/libgweather-CLANG64.install deleted file mode 100644 index 98a3820471..0000000000 --- a/mingw-w64-libgweather/libgweather-CLANG64.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - clang64/bin/glib-compile-schemas /clang64/share/glib-2.0/schemas -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - post_install $1 -} diff --git a/mingw-w64-libgweather/libgweather-MINGW32.install b/mingw-w64-libgweather/libgweather-MINGW32.install deleted file mode 100644 index 375e708c36..0000000000 --- a/mingw-w64-libgweather/libgweather-MINGW32.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - mingw32/bin/glib-compile-schemas /mingw32/share/glib-2.0/schemas -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - post_install $1 -} diff --git a/mingw-w64-libgweather/libgweather-MINGW64.install b/mingw-w64-libgweather/libgweather-MINGW64.install deleted file mode 100644 index d43ee14ce7..0000000000 --- a/mingw-w64-libgweather/libgweather-MINGW64.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - mingw64/bin/glib-compile-schemas /mingw64/share/glib-2.0/schemas -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - post_install $1 -} diff --git a/mingw-w64-libgweather/libgweather-UCRT64.install b/mingw-w64-libgweather/libgweather-UCRT64.install deleted file mode 100644 index 5ec9ea658c..0000000000 --- a/mingw-w64-libgweather/libgweather-UCRT64.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - ucrt64/bin/glib-compile-schemas /ucrt64/share/glib-2.0/schemas -} - -post_upgrade() { - post_install $1 -} - -post_remove() { - post_install $1 -} diff --git a/mingw-w64-libgxps/PKGBUILD b/mingw-w64-libgxps/PKGBUILD index 648c6088bc..06de6fd38c 100644 --- a/mingw-w64-libgxps/PKGBUILD +++ b/mingw-w64-libgxps/PKGBUILD @@ -4,7 +4,7 @@ _realname=libgxps pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=0.3.2 -pkgrel=1 +pkgrel=2 arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') pkgdesc="A library to handling and rendering XPS documents (mingw-w64)" @@ -20,9 +20,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-glib2" makedepends=("${MINGW_PACKAGE_PREFIX}-meson" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-pkg-config" - "${MINGW_PACKAGE_PREFIX}-cc" - "intltool" - "gettext-devel") + "${MINGW_PACKAGE_PREFIX}-cc") options=('strip' 'staticlibs') license=("LGPL 2.1") url="https://www.gnome.org" diff --git a/mingw-w64-libiptcdata/PKGBUILD b/mingw-w64-libiptcdata/PKGBUILD index 95b814b2d4..bfb49fc702 100644 --- a/mingw-w64-libiptcdata/PKGBUILD +++ b/mingw-w64-libiptcdata/PKGBUILD @@ -11,7 +11,7 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://libiptcdata.sourceforge.io/" license=('GPL') depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-autotools") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") source=("https://downloads.sourceforge.net/sourceforge/libiptcdata/${_realname}-${pkgver}.tar.gz" "0001-libiptcdata-automake-remove-iptc-docs.patch") sha512sums=('8656b2febaec133d1a8783252047672bebd58ae9ceab5477c4acfa35bcc381dfda08b655a957b962878af28c69deff77d920e780c84b4debdff2f980b3de94e8' diff --git a/mingw-w64-libmangle-git/PKGBUILD b/mingw-w64-libmangle-git/PKGBUILD index f2076fdfbb..0707866bca 100644 --- a/mingw-w64-libmangle-git/PKGBUILD +++ b/mingw-w64-libmangle-git/PKGBUILD @@ -15,7 +15,7 @@ url="https://mingw-w64.sourceforge.io/" license=('custom') groups=("${MINGW_PACKAGE_PREFIX}-toolchain") makedepends=("git" - "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-binutils" "${MINGW_PACKAGE_PREFIX}-crt-git" "${MINGW_PACKAGE_PREFIX}-headers-git" diff --git a/mingw-w64-libmaxminddb/PKGBUILD b/mingw-w64-libmaxminddb/PKGBUILD index 459bf70d3c..265f081dab 100644 --- a/mingw-w64-libmaxminddb/PKGBUILD +++ b/mingw-w64-libmaxminddb/PKGBUILD @@ -4,13 +4,13 @@ _realname=libmaxminddb pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=1.3.2 -pkgrel=2 +pkgrel=3 pkgdesc="C library for reading MaxMind DB files, including the GeoIP2 databases from MaxMind (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') url="https://dev.maxmind.com/geoip/" license=('Apache-2.0') -depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-geoip2-database") +depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools" "git" diff --git a/mingw-w64-libopenmpt/PKGBUILD b/mingw-w64-libopenmpt/PKGBUILD index 564827dc38..378c7d17ae 100644 --- a/mingw-w64-libopenmpt/PKGBUILD +++ b/mingw-w64-libopenmpt/PKGBUILD @@ -3,7 +3,7 @@ _realname=libopenmpt pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=0.4.27 +pkgver=0.6.1 pkgrel=1 pkgdesc="A cross-platform C++ and C library to decode tracked music files (modules) into a raw PCM audio stream (mingw-w64)" arch=('any') @@ -21,7 +21,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") options=('staticlibs' 'strip') source=("https://lib.openmpt.org/files/${_realname}/src/${_realname}-${pkgver}+release.autotools.tar.gz") -sha256sums=('a4c23aaf1914e78d082d71f96cc82d63b0ed30091ed8cf8e8cb6887d4cecfaab') +sha256sums=('c0bada4bebfc707961111bdb5ff6bbe337f5d71e837e8278f2e362a909eb925b') prepare() { cd "${srcdir}/${_realname}-${pkgver}+release.autotools" @@ -39,7 +39,6 @@ build() { --host=${MINGW_CHOST} \ --enable-shared \ --enable-static \ - --without-portaudiocpp \ --disable-examples make diff --git a/mingw-w64-libplacebo/PKGBUILD b/mingw-w64-libplacebo/PKGBUILD index 7212b96ee1..5c1c2087be 100644 --- a/mingw-w64-libplacebo/PKGBUILD +++ b/mingw-w64-libplacebo/PKGBUILD @@ -3,8 +3,8 @@ _realname=libplacebo pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=4.157.0 -pkgrel=2 +pkgver=4.192.0 +pkgrel=1 pkgdesc="Reusable library for GPU-accelerated video/image rendering primitives (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -25,7 +25,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-meson" "${MINGW_PACKAGE_PREFIX}-cc") license=('LGPLv2.1') source=("https://code.videolan.org/videolan/libplacebo/-/archive/v${pkgver}/libplacebo-v${pkgver}.tar.gz") -sha256sums=('8ee7773fb7813520b6b1e5f8f207cdf0071a7cf48ca0ce871e956ae6f4d0d538') +sha256sums=('eea8989693e5632e7bb716998b00aebdaa75354369048de52b6da1f1407bb847') prepare() { cd "${srcdir}/${_realname}-v${pkgver}" diff --git a/mingw-w64-libraqm/PKGBUILD b/mingw-w64-libraqm/PKGBUILD index bc98da199e..40e6442741 100644 --- a/mingw-w64-libraqm/PKGBUILD +++ b/mingw-w64-libraqm/PKGBUILD @@ -3,7 +3,7 @@ _realname=libraqm pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=0.8.0 +pkgver=0.9.0 pkgrel=1 pkgdesc="A library that encapsulates the logic for complex text layout (mingw-w64)" arch=('any') @@ -19,7 +19,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gtk-doc" "${MINGW_PACKAGE_PREFIX}-cc") license=('MIT') source=("${_realname}-$pkgver".tar.gz::"https://github.com/HOST-Oman/libraqm/archive/v${pkgver}.tar.gz") -sha256sums=('6429e35f69f5e7d514877624fb73ae6d07a7e9ac746ae6a1cf2bf1277bb5b68d') +sha256sums=('826e43bc638b53ec720e93a26f4ead494c6a28006d280609dac6aef09b39283e') prepare() { cd ${srcdir}/${_realname}-${pkgver} diff --git a/mingw-w64-libswift/PKGBUILD b/mingw-w64-libswift/PKGBUILD deleted file mode 100644 index 37f1870755..0000000000 --- a/mingw-w64-libswift/PKGBUILD +++ /dev/null @@ -1,51 +0,0 @@ -# Maintainer: Andrew Wheeler - -_realname=libswift -pkgbase=mingw-w64-${_realname} -pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.0.0 -pkgrel=2 -pkgdesc="a library that attempts to satisfy the most fundamental needs of -C programmers by providing Data structures, Networking, IO, Threading, and so -forth. libswift was originally created by S.J.R. van Schaik and is currently -being managed by Andrew Wheeler" -arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') -url="https://ascendingcreations.com" -license=("LGPL") -makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") -depends=(${MINGW_PACKAGE_PREFIX}-gcc-libs - ${MINGW_PACKAGE_PREFIX}-bzip2 - ${MINGW_PACKAGE_PREFIX}-libiconv - ${MINGW_PACKAGE_PREFIX}-libpng - ${MINGW_PACKAGE_PREFIX}-freetype - ${MINGW_PACKAGE_PREFIX}-glfw - ${MINGW_PACKAGE_PREFIX}-zlib) -options=('!libtool' 'strip') -source=("https://ascendingcreations.com/packages/${_realname}-${pkgver}.tar.gz") -sha256sums=('611ffd5dfb8f98a85752cc7f87a2cb469f5ff11663f067b31c579ad3f9b010c9') - -prepare() { - cd "${srcdir}/${_realname}-${pkgver}" - sh autogen.sh -} - -build() { - [[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}" - mkdir "${srcdir}/build-${MINGW_CHOST}" - cd "${srcdir}/build-${MINGW_CHOST}" - ../${_realname}-${pkgver}/configure \ - --build=${MINGW_CHOST} \ - --host=${MINGW_CHOST} \ - --target=${MINGW_CHOST} \ - --prefix=${MINGW_PREFIX} \ - --enable-shared \ - --enable-static - - make -} - -package() { - cd "${srcdir}/build-${MINGW_CHOST}" - make DESTDIR="${pkgdir}" install -} diff --git a/mingw-w64-libtomcrypt/PKGBUILD b/mingw-w64-libtomcrypt/PKGBUILD index 38d6ca19df..891e7cab48 100644 --- a/mingw-w64-libtomcrypt/PKGBUILD +++ b/mingw-w64-libtomcrypt/PKGBUILD @@ -13,7 +13,7 @@ license=('custom') depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-gmp" "${MINGW_PACKAGE_PREFIX}-libtommath") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "make") options=('staticlibs' 'strip') source=("https://github.com/libtom/libtomcrypt/releases/download/v${pkgver}/crypt-${pkgver}.tar.xz"{,.asc} diff --git a/mingw-w64-libusb/PKGBUILD b/mingw-w64-libusb/PKGBUILD index ed1cbda4e6..59739beba7 100644 --- a/mingw-w64-libusb/PKGBUILD +++ b/mingw-w64-libusb/PKGBUILD @@ -3,8 +3,8 @@ _realname=libusb pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=1.0.24 -pkgrel=5 +pkgver=1.0.25 +pkgrel=1 pkgdesc="Library that provides generic access to USB devices (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -15,7 +15,7 @@ options=('staticlibs' 'strip') source=("https://github.com/libusb/libusb/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.bz2" "fix-dll-exports.patch" "010-cdecl.patch") -sha256sums=('7efd2685f7b327326dcfb85cee426d9b871fd70e22caa15bb68d595ce2a2b12a' +sha256sums=('8a28ef197a797ebac2702f095e81975e2b02b2eeff2774fa909c78a74ef50849' 'e25a317610623df4c020ff904661f52b1de6c9f95f3966aef52cf34886c768b3' '89f47f73705c231eb766ae2ba7357c7569b8b6ff5881e274a4c0ed02c877833b') diff --git a/mingw-w64-libwebp/PKGBUILD b/mingw-w64-libwebp/PKGBUILD index d9933e0a79..0b01feff69 100644 --- a/mingw-w64-libwebp/PKGBUILD +++ b/mingw-w64-libwebp/PKGBUILD @@ -4,7 +4,7 @@ _realname=libwebp pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.2.1 +pkgver=1.2.2 pkgrel=1 pkgdesc="the WebP library. Includes conversion tools (mingw-w64)" arch=('any') @@ -19,7 +19,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-SDL" "${MINGW_PACKAGE_PREFIX}-autotools") source=(${_realname}-${pkgver}.tar.gz::https://github.com/webmproject/libwebp/archive/v${pkgver}.tar.gz) -sha256sums=('01bcde6a40a602294994050b81df379d71c40b7e39c819c024d079b3c56307f4') +sha256sums=('51e9297aadb7d9eb99129fe0050f53a11fcce38a0848fb2b0389e385ad93695e') validpgpkeys=('6B0E6B70976DE303EDF2F601F9C3D6BDB8232B5D') prepare() { diff --git a/mingw-w64-libwebsockets/PKGBUILD b/mingw-w64-libwebsockets/PKGBUILD index 7b9dfa607d..f8d1e32149 100644 --- a/mingw-w64-libwebsockets/PKGBUILD +++ b/mingw-w64-libwebsockets/PKGBUILD @@ -3,10 +3,10 @@ _realname=libwebsockets pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=4.3.0 +pkgver=4.3.1 pkgrel=1 arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') pkgdesc="C library for websocket clients and servers (mingw-w64)" url='https://libwebsockets.org/' license=('LGPL2.1') @@ -19,7 +19,7 @@ source=("${_realname}-${pkgver}.tar.gz::https://github.com/warmcat/${_realname}/ 001-posix-layout.patch 002-cmake-remove-build-hash.patch) options=(!strip !buildflags staticlibs) -sha256sums=('ceef46e3bffb368efe4959202f128fd93d74e10cd2e6c3ac289a33b075645c3b' +sha256sums=('8fdb1454a1b34cd9a6351beaab237a485e6853806101de7e62bd2bc250bb50af' '9bdfdffc74e348692b20b08881ec682ee7aa7ba65b370199dd52f99331013cdc' '90ad5e561980d820ffe2c84823e4da16bfb875d205cfedab221543436ab702b7') diff --git a/mingw-w64-libxlsxwriter/PKGBUILD b/mingw-w64-libxlsxwriter/PKGBUILD index 094594c22c..a809cc6f1d 100644 --- a/mingw-w64-libxlsxwriter/PKGBUILD +++ b/mingw-w64-libxlsxwriter/PKGBUILD @@ -4,22 +4,22 @@ _realname=libxlsxwriter pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.0.0 -pkgrel=2 +pkgver=1.1.4 +pkgrel=1 pkgdesc="A C library for creating Excel XLSX files (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://github.com/jmcnamara/libxlsxwriter" license=("custom") -makedepends=("${MINGW_PACKAGE_PREFIX}-cc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" - "${MINGW_PACKAGE_PREFIX}-zlib") + "${MINGW_PACKAGE_PREFIX}-ninja") depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" #"${MINGW_PACKAGE_PREFIX}-minizip" "${MINGW_PACKAGE_PREFIX}-zlib") options=('staticlibs' 'strip') source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/jmcnamara/libxlsxwriter/archive/RELEASE_${pkgver}.tar.gz") -sha256sums=('8b353379333c323d14a9d265cd2491d3a6c0032c8d6ec2141f10b82ab66a087c') +sha256sums=('b379eb35fdd9c653ebe72485b9c992f612c7ea66f732784457997d6e782f619b') prepare() { cd "${srcdir}/${_realname}-RELEASE_${pkgver}" @@ -31,7 +31,7 @@ build() { MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake.exe -Wno-dev \ - -G"MSYS Makefiles" \ + -G"Ninja" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_TESTS=ON \ @@ -39,15 +39,18 @@ build() { -DUSE_SYSTEM_MINIZIP=OFF \ -DCMAKE_BUILD_TYPE=Release \ ../${_realname}-RELEASE_${pkgver} - make + + ${MINGW_PREFIX}/bin/cmake.exe --build ./ } check(){ cd ${srcdir}/build-${MINGW_CHOST} - make test + ${MINGW_PREFIX}/bin/ctest.exe || true } package() { cd "${srcdir}/build-${MINGW_CHOST}" - make DESTDIR="${pkgdir}" install + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./ + + install -Dm644 "${srcdir}/${_realname}-RELEASE_${pkgver}/LICENSE.txt" "${pkgdir}/${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE.txt" } diff --git a/mingw-w64-libxml2/0028-work-around-lxml-api-abuse.patch b/mingw-w64-libxml2/0028-work-around-lxml-api-abuse.patch new file mode 100644 index 0000000000..8a9de7fc2b --- /dev/null +++ b/mingw-w64-libxml2/0028-work-around-lxml-api-abuse.patch @@ -0,0 +1,211 @@ +From 7955b0d6fbbe49392ccc2e511edd00fbbfcb5a10 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer +Date: Tue, 18 May 2021 20:08:28 +0200 +Subject: [PATCH] Work around lxml API abuse + +Make xmlNodeDumpOutput and htmlNodeDumpFormatOutput work with corrupted +parent pointers. This used to work with the old recursive code but the +non-recursive rewrite required parent pointers to be set correctly. + +Unfortunately, lxml relies on the old behavior and passes subtrees with +a corrupted structure. Fall back to a recursive function call if an +invalid parent pointer is detected. + +Fixes #255. +--- + HTMLtree.c | 46 ++++++++++++++++++++++++++++------------------ + xmlsave.c | 31 +++++++++++++++++++++---------- + 2 files changed, 49 insertions(+), 28 deletions(-) + +diff --git a/HTMLtree.c b/HTMLtree.c +index 24434d453..bdd639c7f 100644 +--- a/HTMLtree.c ++++ b/HTMLtree.c +@@ -744,7 +744,7 @@ void + htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, + xmlNodePtr cur, const char *encoding ATTRIBUTE_UNUSED, + int format) { +- xmlNodePtr root; ++ xmlNodePtr root, parent; + xmlAttrPtr attr; + const htmlElemDesc * info; + +@@ -755,6 +755,7 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, + } + + root = cur; ++ parent = cur->parent; + while (1) { + switch (cur->type) { + case XML_HTML_DOCUMENT_NODE: +@@ -762,13 +763,25 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, + if (((xmlDocPtr) cur)->intSubset != NULL) { + htmlDtdDumpOutput(buf, (xmlDocPtr) cur, NULL); + } +- if (cur->children != NULL) { ++ /* Always validate cur->parent when descending. */ ++ if ((cur->parent == parent) && (cur->children != NULL)) { ++ parent = cur; + cur = cur->children; + continue; + } + break; + + case XML_ELEMENT_NODE: ++ /* ++ * Some users like lxml are known to pass nodes with a corrupted ++ * tree structure. Fall back to a recursive call to handle this ++ * case. ++ */ ++ if ((cur->parent != parent) && (cur->children != NULL)) { ++ htmlNodeDumpFormatOutput(buf, doc, cur, encoding, format); ++ break; ++ } ++ + /* + * Get specific HTML info for that node. + */ +@@ -817,6 +830,7 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, + (cur->name != NULL) && + (cur->name[0] != 'p')) /* p, pre, param */ + xmlOutputBufferWriteString(buf, "\n"); ++ parent = cur; + cur = cur->children; + continue; + } +@@ -825,9 +839,9 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, + (info != NULL) && (!info->isinline)) { + if ((cur->next->type != HTML_TEXT_NODE) && + (cur->next->type != HTML_ENTITY_REF_NODE) && +- (cur->parent != NULL) && +- (cur->parent->name != NULL) && +- (cur->parent->name[0] != 'p')) /* p, pre, param */ ++ (parent != NULL) && ++ (parent->name != NULL) && ++ (parent->name[0] != 'p')) /* p, pre, param */ + xmlOutputBufferWriteString(buf, "\n"); + } + +@@ -842,9 +856,9 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, + break; + if (((cur->name == (const xmlChar *)xmlStringText) || + (cur->name != (const xmlChar *)xmlStringTextNoenc)) && +- ((cur->parent == NULL) || +- ((xmlStrcasecmp(cur->parent->name, BAD_CAST "script")) && +- (xmlStrcasecmp(cur->parent->name, BAD_CAST "style"))))) { ++ ((parent == NULL) || ++ ((xmlStrcasecmp(parent->name, BAD_CAST "script")) && ++ (xmlStrcasecmp(parent->name, BAD_CAST "style"))))) { + xmlChar *buffer; + + buffer = xmlEncodeEntitiesReentrant(doc, cur->content); +@@ -902,13 +916,9 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, + break; + } + +- /* +- * The parent should never be NULL here but we want to handle +- * corrupted documents gracefully. +- */ +- if (cur->parent == NULL) +- return; +- cur = cur->parent; ++ cur = parent; ++ /* cur->parent was validated when descending. */ ++ parent = cur->parent; + + if ((cur->type == XML_HTML_DOCUMENT_NODE) || + (cur->type == XML_DOCUMENT_NODE)) { +@@ -939,9 +949,9 @@ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, xmlDocPtr doc, + (cur->next != NULL)) { + if ((cur->next->type != HTML_TEXT_NODE) && + (cur->next->type != HTML_ENTITY_REF_NODE) && +- (cur->parent != NULL) && +- (cur->parent->name != NULL) && +- (cur->parent->name[0] != 'p')) /* p, pre, param */ ++ (parent != NULL) && ++ (parent->name != NULL) && ++ (parent->name[0] != 'p')) /* p, pre, param */ + xmlOutputBufferWriteString(buf, "\n"); + } + } +diff --git a/xmlsave.c b/xmlsave.c +index 61a40459b..aedbd5e70 100644 +--- a/xmlsave.c ++++ b/xmlsave.c +@@ -847,7 +847,7 @@ htmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { + static void + xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { + int format = ctxt->format; +- xmlNodePtr tmp, root, unformattedNode = NULL; ++ xmlNodePtr tmp, root, unformattedNode = NULL, parent; + xmlAttrPtr attr; + xmlChar *start, *end; + xmlOutputBufferPtr buf; +@@ -856,6 +856,7 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { + buf = ctxt->buf; + + root = cur; ++ parent = cur->parent; + while (1) { + switch (cur->type) { + case XML_DOCUMENT_NODE: +@@ -868,7 +869,9 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { + break; + + case XML_DOCUMENT_FRAG_NODE: +- if (cur->children != NULL) { ++ /* Always validate cur->parent when descending. */ ++ if ((cur->parent == parent) && (cur->children != NULL)) { ++ parent = cur; + cur = cur->children; + continue; + } +@@ -887,7 +890,18 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { + break; + + case XML_ELEMENT_NODE: +- if ((cur != root) && (ctxt->format == 1) && (xmlIndentTreeOutput)) ++ /* ++ * Some users like lxml are known to pass nodes with a corrupted ++ * tree structure. Fall back to a recursive call to handle this ++ * case. ++ */ ++ if ((cur->parent != parent) && (cur->children != NULL)) { ++ xmlNodeDumpOutputInternal(ctxt, cur); ++ break; ++ } ++ ++ if ((ctxt->level > 0) && (ctxt->format == 1) && ++ (xmlIndentTreeOutput)) + xmlOutputBufferWrite(buf, ctxt->indent_size * + (ctxt->level > ctxt->indent_nr ? + ctxt->indent_nr : ctxt->level), +@@ -942,6 +956,7 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { + xmlOutputBufferWrite(buf, 1, ">"); + if (ctxt->format == 1) xmlOutputBufferWrite(buf, 1, "\n"); + if (ctxt->level >= 0) ctxt->level++; ++ parent = cur; + cur = cur->children; + continue; + } +@@ -1058,13 +1073,9 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) { + break; + } + +- /* +- * The parent should never be NULL here but we want to handle +- * corrupted documents gracefully. +- */ +- if (cur->parent == NULL) +- return; +- cur = cur->parent; ++ cur = parent; ++ /* cur->parent was validated when descending. */ ++ parent = cur->parent; + + if (cur->type == XML_ELEMENT_NODE) { + if (ctxt->level > 0) ctxt->level--; +-- +GitLab + diff --git a/mingw-w64-libxml2/0029-xml2-config-win-paths.patch b/mingw-w64-libxml2/0029-xml2-config-win-paths.patch new file mode 100644 index 0000000000..61bb70e4b2 --- /dev/null +++ b/mingw-w64-libxml2/0029-xml2-config-win-paths.patch @@ -0,0 +1,10 @@ +--- a/xml2-config.in ++++ b/xml2-config.in +@@ -1,6 +1,6 @@ + #! /bin/sh + +-prefix=@prefix@ ++prefix="$(cygpath -m "@prefix@")" + exec_prefix=@exec_prefix@ + includedir=@includedir@ + libdir=@libdir@ diff --git a/mingw-w64-libxml2/PKGBUILD b/mingw-w64-libxml2/PKGBUILD index 131b562970..12a10f2ccd 100644 --- a/mingw-w64-libxml2/PKGBUILD +++ b/mingw-w64-libxml2/PKGBUILD @@ -6,7 +6,7 @@ _realname=libxml2 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=2.9.12 -pkgrel=3 +pkgrel=5 arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') pkgdesc="XML parsing library, version 2 (mingw-w64)" @@ -33,6 +33,8 @@ source=("http://xmlsoft.org/sources/${_realname}-${pkgver}.tar.gz" 0026-mingw-relocate.patch libxml2-2.9.9-python.patch 0027-decoding-segfault.patch + 0028-work-around-lxml-api-abuse.patch + 0029-xml2-config-win-paths.patch libxml2-disable-version-script.patch) sha256sums=('c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92' '9b61db9f5dbffa545f4b8d78422167083a8568c59bd1129f94138f936cf6fc1f' @@ -46,6 +48,8 @@ sha256sums=('c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92' 'e98c2f5ae8cdbcf54354a833c550c26563c1ebdfbf92cc790d40eafadb72f985' '7b9bc59b174da93a547429b2f751047c758657953f6e2fb398e73b5ebf0f55e3' '0391a4b267ba7251ca74ff2e98bf4c0332a14b618e8147a9341ec5617e45d9d9' + '6af21506236a16c154d1e72f987e8a0fb1bc2ea01f0fd6911eda1191df4f544c' + '278b4531da3d2aabda080c412c5122b471202dd6df67768b38bb0c31c7a0e508' '96f5b4de10b56563da0cb3c8b9ee9a88f89e5385acd66cadf4acab9628dc9848') # Helper macros to help make tasks easier # @@ -82,6 +86,15 @@ prepare() { apply_patch_with_msg \ 0027-decoding-segfault.patch + # https://gitlab.gnome.org/nwellnhof/libxml2/-/commit/7955b0d6fbbe49392ccc + # https://github.com/msys2/MINGW-packages/issues/10576 + apply_patch_with_msg \ + 0028-work-around-lxml-api-abuse.patch + + # https://github.com/msys2/MINGW-packages/issues/10577 + apply_patch_with_msg \ + 0029-xml2-config-win-paths.patch + libtoolize --copy --force aclocal automake --add-missing diff --git a/mingw-w64-libxslt/0010-xslt-config-win-paths.patch b/mingw-w64-libxslt/0010-xslt-config-win-paths.patch new file mode 100644 index 0000000000..95bd08914e --- /dev/null +++ b/mingw-w64-libxslt/0010-xslt-config-win-paths.patch @@ -0,0 +1,10 @@ +--- a/xslt-config.in ++++ b/xslt-config.in +@@ -1,6 +1,6 @@ + #! /bin/sh + +-prefix=@prefix@ ++prefix="$(cygpath -m @prefix@)" + exec_prefix=@exec_prefix@ + exec_prefix_set=no + includedir=@includedir@ diff --git a/mingw-w64-libxslt/PKGBUILD b/mingw-w64-libxslt/PKGBUILD index f03820f3d6..89d0db167d 100644 --- a/mingw-w64-libxslt/PKGBUILD +++ b/mingw-w64-libxslt/PKGBUILD @@ -4,7 +4,7 @@ _realname=libxslt pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=1.1.34 -pkgrel=4 +pkgrel=5 pkgdesc="XML stylesheet transformation library (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -24,7 +24,8 @@ source=("http://xmlsoft.org/sources/${_realname}-${pkgver}.tar.gz" '0003-fix-concurrent-directory-creation.all.patch' '0004-add-missing-include-for-python.all.patch' '0008-fix-warnings.patch' - '0009-fix-xml2-config-check-in-configure.patch') + '0009-fix-xml2-config-check-in-configure.patch' + '0010-xslt-config-win-paths.patch') sha256sums=('98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f' '3d56e8ae1fbf817f495ecb0afe223d7a001ef4787ce52e1c57cc7b32499e95d6' '76029b76c6a1670f85ecb3db6b299cfe468a65b1718880cb8b82c6813cc63ea9' @@ -33,7 +34,8 @@ sha256sums=('98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f' 'fc23bd3c9e62a28cb1c020cebc83ca7532a5a7a21c2e4748b72d13ac7716a851' '1da234751e2bd337a0991a0f90272bbf83b6cbd8945208825fa3d9dd580020e6' '7578654016d89e9a292860201199e8bffeb78b3aa819e8baecad7cf9305bdb67' - '27bd05d3dab2a9848fc70e6894e904b15f260d3ced6ae4e0f4a616711f87c1c3') + '27bd05d3dab2a9848fc70e6894e904b15f260d3ced6ae4e0f4a616711f87c1c3' + '9e7a75d479e5cd799b52ccfe5762c18f4d9af0dc687fab257ef2dec6e71a08f1') # Helper macros to help make tasks easier # apply_patch_with_msg() { @@ -64,7 +66,8 @@ prepare() { "0003-fix-concurrent-directory-creation.all.patch" \ "0004-add-missing-include-for-python.all.patch" \ "0008-fix-warnings.patch" \ - "0009-fix-xml2-config-check-in-configure.patch" + "0009-fix-xml2-config-check-in-configure.patch" \ + "0010-xslt-config-win-paths.patch" autoreconf -fi } @@ -91,7 +94,17 @@ package() { cd "${srcdir}/build-${CARCH}" make DESTDIR="${pkgdir}" install + # Remove hard coded library path from xslt-config and xsltConf.sh files local PREFIX_DEPS=$(cygpath -am ${MINGW_PREFIX}) + pushd "${pkgdir}${MINGW_PREFIX}/bin" > /dev/null + sed -s "s|${PREFIX_DEPS}\/include|\${includedir}|g" -i ./xslt-config + sed -s "s|${PREFIX_DEPS}\/lib|\${libdir}|g" -i ./xslt-config + popd > /dev/null + + pushd "${pkgdir}${MINGW_PREFIX}/lib" > /dev/null + sed -s "s|${PREFIX_DEPS}|${MINGW_PREFIX}|g" -i ./xsltConf.sh + popd > /dev/null + pushd "${pkgdir}${MINGW_PREFIX}/lib/pkgconfig" > /dev/null sed -s "s|${PREFIX_DEPS}|${MINGW_PREFIX}|g" -i ./libexslt.pc sed -s "s|${PREFIX_DEPS}|${MINGW_PREFIX}|g" -i ./libxslt.pc diff --git a/mingw-w64-lldb/PKGBUILD b/mingw-w64-lldb/PKGBUILD index 5ed4d9e188..7f2eb1dc7a 100644 --- a/mingw-w64-lldb/PKGBUILD +++ b/mingw-w64-lldb/PKGBUILD @@ -7,8 +7,8 @@ fi _realname=lldb pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=13.0.0 -pkgrel=3 +pkgver=13.0.1 +pkgrel=1 pkgdesc="Next generation, high-performance debugger (mingw-w64)" url="https://lldb.llvm.org/" arch=(any) @@ -33,7 +33,7 @@ _pkgfn=$_realname-$pkgver.src source=($_url/$_pkgfn.tar.xz{,.sig} 001-lldb-Make-the-thread_local-g_global_boundary-accesse.patch 002-fix-api-generator-expression.patch) -sha256sums=('24c65bd5ec0d7cbc37bafdd7533b1783352708bf6338c403a72f47884e406dbd' +sha256sums=('4a0c590bccbb3ce8fcbc1997aaed89a0ddbfd8be4b7f393230a867b2de62db16' 'SKIP' 'fa50228904ec44455396ae0604128a37c335caf264b544f3d90640a8c2e1eba0' 'ca897429775137be3d0ccaffb95010e4995aa9003c243ff795645ebac2f61fe1') diff --git a/mingw-w64-lmdbxx/PKGBUILD b/mingw-w64-lmdbxx/PKGBUILD index 98a3897e14..6ac8408539 100644 --- a/mingw-w64-lmdbxx/PKGBUILD +++ b/mingw-w64-lmdbxx/PKGBUILD @@ -10,7 +10,7 @@ arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://lmdbxx.sourceforge.io/" license=('custom') -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc") depends=("${MINGW_PACKAGE_PREFIX}-lmdb") source=("${_realname}-${pkgver}.tar.gz::https://codeload.github.com/bendiken/lmdbxx/tar.gz/${pkgver}") sha256sums=('99ae16599829c7c9dfb396382bb8e774031ca7e839c38e0c5fef124f409f19a2') diff --git a/mingw-w64-lsd/PKGBUILD b/mingw-w64-lsd/PKGBUILD index 7c9b5aef40..12b07b6b92 100644 --- a/mingw-w64-lsd/PKGBUILD +++ b/mingw-w64-lsd/PKGBUILD @@ -5,7 +5,7 @@ _realname=lsd pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=0.20.1 +pkgver=0.21.0 pkgrel=1 pkgdesc="The next gen ls command (mingw-w64)" arch=('any') @@ -16,8 +16,8 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-rust") #depends=() #optdepends=('powerline-fonts: powerline symbols for terminals' # 'nerd-fonts-complete: popular collections such as Font Awesome & fonts such as Hack') -source=("https://github.com/Peltoche/lsd/archive/refs/tags/${pkgver}.tar.gz") -sha256sums=('a2086aa049b8bd21c880f23b21b0e9ef21d3c3829d40641aa8810c08be936c19') +source=("${_realname}-${pkgver}.tar.gz::https://github.com/Peltoche/lsd/archive/refs/tags/${pkgver}.tar.gz") +sha256sums=('f500c18221f9c3fd45f88f6f764001e99cf9d6d74af9172cbb9a9ff32f3e5c7d') prepare() { cd "${srcdir}/${_realname}-${pkgver}" diff --git a/mingw-w64-lua-luarocks/PKGBUILD b/mingw-w64-lua-luarocks/PKGBUILD index 0292589769..11ae869a9d 100644 --- a/mingw-w64-lua-luarocks/PKGBUILD +++ b/mingw-w64-lua-luarocks/PKGBUILD @@ -16,7 +16,7 @@ license=("MIT") depends=("${MINGW_PACKAGE_PREFIX}-lua" "unzip" "zip") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-autotools") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") options=('staticlibs' 'strip') source=("https://luarocks.org/releases/${_realname}-${pkgver}.tar.gz" "0001-luarocks_msys2_mingw_w64.patch") diff --git a/mingw-w64-meld3/0001-fixes-for-MinGW-w64-symlinks-and-use-sh-to-spawn.patch b/mingw-w64-meld3/0001-fixes-for-MinGW-w64-symlinks-and-use-sh-to-spawn.patch deleted file mode 100644 index 32d0b2064c..0000000000 --- a/mingw-w64-meld3/0001-fixes-for-MinGW-w64-symlinks-and-use-sh-to-spawn.patch +++ /dev/null @@ -1,109 +0,0 @@ ---- meld-3.20.2/meld/build_helpers.py.orig 2020-02-15 23:32:20.000000000 +0100 -+++ meld-3.20.2/meld/build_helpers.py 2020-02-16 09:29:41.241211600 +0100 -@@ -29,6 +29,8 @@ - import os.path - import platform - import sys -+import shutil -+from distutils.util import get_platform - from distutils.log import info - - try: -@@ -46,7 +46,7 @@ - - - def has_help(self): -- return "build_help" in self.distribution.cmdclass and not windows_build -+ return "build_help" in self.distribution.cmdclass and (not windows_build or get_platform().startswith('mingw')) - - - def has_icons(self): -@@ -54,7 +54,7 @@ - - - def has_i18n(self): -- return "build_i18n" in self.distribution.cmdclass and not windows_build -+ return "build_i18n" in self.distribution.cmdclass and (not windows_build or get_platform().startswith('mingw')) - - - def has_data(self): -@@ -122,7 +124,7 @@ - - data_files.append(('share/meld', [target])) - -- if windows_build: -+ if windows_build and not get_platform().startswith('mingw'): - gschemas = self.frozen_gschemas - else: - gschemas = self.gschemas -@@ -196,14 +196,19 @@ - self.spawn(msgfmt) - for page in self.C_PAGES: - itstool = [ -- 'itstool', '-m', mo_file, '-o', build_path, page] -+ 'sh', '-c', -+ "itstool -m %s -o %s %s" % (mo_file, build_path, page)] - self.spawn(itstool) - for extra in self.C_EXTRA: - extra_path = os.path.join( - build_path, os.path.basename(extra)) - if os.path.exists(extra_path): - os.unlink(extra_path) -- os.symlink(os.path.relpath(extra, source_path), extra_path) -+ # symlinks require special privileges on Windows :-( -+ if os.name == 'nt': -+ shutil.copy(extra, extra_path) -+ else: -+ os.symlink(os.path.relpath(extra, source_path), extra_path) - else: - distutils.dir_util.copy_tree(source_path, build_path) - -@@ -314,17 +314,14 @@ - - # If we're on Windows, assume we're building frozen and make a bunch - # of insane assumptions. -- if windows_build: -+ if windows_build and not get_platform().startswith('mingw'): - msgfmt = "C:\\Python27\\Tools\\i18n\\msgfmt" - else: - msgfmt = "msgfmt" - - # Update po(t) files and print a report - # We have to change the working dir to the po dir for intltool -- cmd = [ -- "intltool-update", -- (self.merge_po and "-r" or "-p"), "-g", self.domain -- ] -+ cmd = ["sh", "-c", "intltool-update %s -g %s" % ((self.merge_po and "-r" or "-p"), self.domain)] - wd = os.getcwd() - os.chdir(self.po_dir) - self.spawn(cmd) -@@ -335,7 +335,7 @@ - mo_file = os.path.join(mo_dir, "%s.mo" % self.domain) - if not os.path.exists(mo_dir): - os.makedirs(mo_dir) -- cmd = [msgfmt, po_file, "-o", mo_file] -+ cmd = ["sh", "-c", "%s %s -o %s" % (msgfmt, po_file, mo_file)] - po_mtime = os.path.getmtime(po_file) - mo_mtime = ( - os.path.exists(mo_file) and os.path.getmtime(mo_file) or 0) -@@ -385,8 +385,8 @@ - if file_merged.endswith(".in"): - file_merged = file_merged[:-3] - file_merged = os.path.join(build_target, file_merged) -- cmd = ["intltool-merge", switch, self.po_dir, file, -- file_merged] -+ cmd = ["sh", "-c", "intltool-merge %s %s %s %s" % (switch, self.po_dir, file, -+ file_merged)] - mtime_merged = (os.path.exists(file_merged) and - os.path.getmtime(file_merged) or 0) - mtime_file = os.path.getmtime(file) -@@ -431,7 +431,7 @@ - elif line.startswith('# END'): - end = i - -- if start and end: -+ if start and end and not get_platform().startswith('mingw'): - lines[start:end + 1] = [ - self.data_line % datadir, - self.locale_line % localedir, diff --git a/mingw-w64-meld3/0001-relocate.patch b/mingw-w64-meld3/0001-relocate.patch new file mode 100644 index 0000000000..b30e7d0e7c --- /dev/null +++ b/mingw-w64-meld3/0001-relocate.patch @@ -0,0 +1,11 @@ +--- meld-3.21.0/meld/meson.build.orig 2022-01-15 14:17:00.473000000 +0100 ++++ meld-3.21.0/meld/meson.build 2022-01-15 14:17:32.105354000 +0100 +@@ -90,7 +90,7 @@ + app_config.set('resource_base_id', resource_base_id) + app_config.set('localedir', localedir) + app_config.set('pkgdatadir', pkgdatadir) +-app_config.set('configured', 'True') ++app_config.set('configured', 'False') + + configure_file( + input: 'conf.py.in', diff --git a/mingw-w64-meld3/PKGBUILD b/mingw-w64-meld3/PKGBUILD index 9eae2b9511..e4a0ebcd6d 100644 --- a/mingw-w64-meld3/PKGBUILD +++ b/mingw-w64-meld3/PKGBUILD @@ -5,48 +5,53 @@ _realname=meld pkgbase=mingw-w64-${_realname}3 pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}3" pkgver=3.21.0 -pkgrel=5 +pkgrel=7 pkgdesc="Visual diff and merge tool (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://meldmerge.org/" -license=("GPL" "LGPL") -options=('strip' 'staticlibs') +license=("spdx:GPL-2.0-or-later") depends=("${MINGW_PACKAGE_PREFIX}-gtk3" "${MINGW_PACKAGE_PREFIX}-gtksourceview4" "${MINGW_PACKAGE_PREFIX}-adwaita-icon-theme" "${MINGW_PACKAGE_PREFIX}-gtk-update-icon-cache" "${MINGW_PACKAGE_PREFIX}-gsettings-desktop-schemas" "${MINGW_PACKAGE_PREFIX}-python-gobject") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-pkg-config" + "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-itstool" - 'intltool') -install=meld-${MSYSTEM}.install + "${MINGW_PACKAGE_PREFIX}-meson") source=(https://download.gnome.org/sources/${_realname}/${pkgver%.*}/${_realname}-${pkgver}.tar.xz - '0001-fixes-for-MinGW-w64-symlinks-and-use-sh-to-spawn.patch') + '0001-relocate.patch') sha256sums=('b680114d5ab793324549fd58f4eb202d8e280c0633a0b765ede6dfb34160a81b' - 'dd6bab18d62698b442af7addb27f1e8d2166b68605dedc410da86d56d4d4e96c') + 'e39b45a26867c8233cdf4427ae67deb028bcbfb92321976ca0aaf7c1cbd38f45') prepare() { cd "${srcdir}/${_realname}-${pkgver}" - patch -p1 -i "${srcdir}/0001-fixes-for-MinGW-w64-symlinks-and-use-sh-to-spawn.patch" + + patch -p1 -i "${srcdir}/0001-relocate.patch" } build() { - cd "${srcdir}/${_realname}-${pkgver}" + mkdir -p build-${MSYSTEM} && cd build-${MSYSTEM} - ${MINGW_PREFIX}/bin/python setup.py build + MSYS2_ARG_CONV_EXCL="--prefix=" \ + meson \ + --prefix="${MINGW_PREFIX}" \ + --wrap-mode=nodownload \ + --auto-features=enabled \ + --buildtype=plain \ + ../${_realname}-${pkgver} + + meson compile } package() { - cd "${srcdir}/${_realname}-${pkgver}" + cd "${srcdir}/build-${MSYSTEM}" - MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ - ${MINGW_PREFIX}/bin/python3 setup.py --no-update-icon-cache --no-compile-schemas \ - install --prefix=${MINGW_PREFIX} --root="${pkgdir}" + DESTDIR="${pkgdir}" meson install - PREFIX_WIN=$(cygpath -m ${MINGW_PREFIX}) - sed -s "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" \ - -i ${pkgdir}${MINGW_PREFIX}/bin/meld + MSYS2_ARG_CONV_EXCL="-d" \ + python -m compileall -q -d"${MINGW_PREFIX}" "${pkgdir}${MINGW_PREFIX}" } diff --git a/mingw-w64-meld3/meld-CLANG32.install b/mingw-w64-meld3/meld-CLANG32.install deleted file mode 100644 index 485e76ae2f..0000000000 --- a/mingw-w64-meld3/meld-CLANG32.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - /clang32/bin/update-mime-database /clang32/share/mime -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/mingw-w64-meld3/meld-CLANG64.install b/mingw-w64-meld3/meld-CLANG64.install deleted file mode 100644 index 340fb708e1..0000000000 --- a/mingw-w64-meld3/meld-CLANG64.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - /clang64/bin/update-mime-database /clang64/share/mime -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/mingw-w64-meld3/meld-MINGW32.install b/mingw-w64-meld3/meld-MINGW32.install deleted file mode 100644 index b461eb4553..0000000000 --- a/mingw-w64-meld3/meld-MINGW32.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - /mingw32/bin/update-mime-database /mingw32/share/mime -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/mingw-w64-meld3/meld-MINGW64.install b/mingw-w64-meld3/meld-MINGW64.install deleted file mode 100644 index c1c5bb015d..0000000000 --- a/mingw-w64-meld3/meld-MINGW64.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - /mingw64/bin/update-mime-database /mingw64/share/mime -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/mingw-w64-meld3/meld-UCRT64.install b/mingw-w64-meld3/meld-UCRT64.install deleted file mode 100644 index 5672dfcd3a..0000000000 --- a/mingw-w64-meld3/meld-UCRT64.install +++ /dev/null @@ -1,11 +0,0 @@ -post_install() { - /ucrt64/bin/update-mime-database /ucrt64/share/mime -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} diff --git a/mingw-w64-memphis/001-win.patch b/mingw-w64-memphis/001-win.patch deleted file mode 100644 index dbbee06c65..0000000000 --- a/mingw-w64-memphis/001-win.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- ./memphis/Makefile.am.orig 2014-10-18 11:58:22.839752500 +0200 -+++ ./memphis/Makefile.am 2014-10-18 11:58:27.805836200 +0200 -@@ -49,7 +49,8 @@ - - libmemphis_0_2_la_LDFLAGS = \ - -version-info $(LIBRARY_VERSION) \ -- -export-symbols-regex ^memphis_.* -+ -export-symbols-regex ^memphis_.* \ -+ -no-undefined - - noinst_HEADERS = \ - memphis-private.h \ diff --git a/mingw-w64-memphis/PKGBUILD b/mingw-w64-memphis/PKGBUILD deleted file mode 100644 index 919660e98d..0000000000 --- a/mingw-w64-memphis/PKGBUILD +++ /dev/null @@ -1,57 +0,0 @@ -# Maintainer: Andrea Zagli - -_realname=memphis -pkgbase=mingw-w64-${_realname} -pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.2.3 -pkgrel=4 -arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') -pkgdesc="A map-rendering library for OpenStreetMap (mingw-w64)" -options=(strip staticlibs) -depends=("${MINGW_PACKAGE_PREFIX}-glib2" - "${MINGW_PACKAGE_PREFIX}-cairo" - "${MINGW_PACKAGE_PREFIX}-expat") -makedepends=("${MINGW_PACKAGE_PREFIX}-gobject-introspection" - "${MINGW_PACKAGE_PREFIX}-vala" - "${MINGW_PACKAGE_PREFIX}-autotools" - "${MINGW_PACKAGE_PREFIX}-cc" - "gtk-doc") -options=('strip' 'staticlibs') -license=("GPL 2") -url="https://github.com/jiuka/" -source=(${_realname}-${pkgver}.tar.gz::"https://github.com/jiuka/memphis/archive/${pkgver}.tar.gz" - 001-win.patch) -sha256sums=('10b43b2325ce9937ce33a7afdc247e926cc515ac612b50eb0520e1ac1455e1ab' - '47dc1f857ff09647429e89fdb4dc8ae451e39afa7e3bf960d8bda63bb193fde5') - -prepare() { - cd "${srcdir}"/${_realname}-${pkgver} - patch -p1 -i ${srcdir}/001-win.patch - - libtoolize --copy - aclocal -I m4 - gtkdocize --copy - autoreconf -isf -} - -build() { - [[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST} - mkdir -p build-${MINGW_CHOST} && cd build-${MINGW_CHOST} - - ../${_realname}-${pkgver}/configure \ - --prefix=${MINGW_PREFIX} \ - --libexecdir=${MINGW_PREFIX}/lib \ - --build=${MINGW_CHOST} \ - --host=${MINGW_CHOST} \ - --target=${MINGW_CHOST} \ - --enable-introspection \ - --enable-vala=no - - make -} - -package() { - cd "${srcdir}/build-${MINGW_CHOST}" - make DESTDIR=${pkgdir} install -} diff --git a/mingw-w64-mesa/PKGBUILD b/mingw-w64-mesa/PKGBUILD index 3227bbfb82..513c6c59f7 100644 --- a/mingw-w64-mesa/PKGBUILD +++ b/mingw-w64-mesa/PKGBUILD @@ -3,8 +3,8 @@ _realname=mesa pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=21.3.3 -pkgrel=3 +pkgver=21.3.5 +pkgrel=1 pkgdesc="Open-source implementation of the OpenGL specification (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -12,8 +12,6 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-python-mako" "${MINGW_PACKAGE_PREFIX}-meson" "${MINGW_PACKAGE_PREFIX}-pkg-config" - "${MINGW_PACKAGE_PREFIX}-spirv-tools" - "${MINGW_PACKAGE_PREFIX}-vulkan-validation-layers" "${MINGW_PACKAGE_PREFIX}-libelf" "${MINGW_PACKAGE_PREFIX}-zstd") depends=("${MINGW_PACKAGE_PREFIX}-llvm" @@ -21,7 +19,8 @@ depends=("${MINGW_PACKAGE_PREFIX}-llvm" "${MINGW_PACKAGE_PREFIX}-vulkan-loader" "${MINGW_PACKAGE_PREFIX}-libsystre") optdepends=("${MINGW_PACKAGE_PREFIX}-opengl-man-pages: for the OpenGL API man pages" - "${MINGW_PACKAGE_PREFIX}-zstd: use ZSTD instead of zlib for certain compression tasks") + "${MINGW_PACKAGE_PREFIX}-zstd: use ZSTD instead of zlib for certain compression tasks" + "${MINGW_PACKAGE_PREFIX}-vulkan-validation-layers: to debug applications using Vulkan graphics") url="https://www.mesa3d.org/" license=('MIT') options=('staticlibs' 'strip') @@ -34,7 +33,7 @@ source=(https://mesa.freedesktop.org/archive/${_realname}-${pkgver}.tar.xz{,.sig 0005-win32-The-opengl-headers-should-install-to-mesa-GL-s.patch 0006-win32-Fixes-32-bits-visual-studio-module-definition-.patch 0007-win32-Do-not-use-BUILD_GL32-we-use-def-file-to-expor.patch) -sha256sums=('ad7f4613ea7c5d08d9fcb5025270199e6ceb9aa99fd72ee572b70342240a8121' +sha256sums=('d93b2a9d2464ee856d7637a07dff6b7cd950f295ad58518bb959f76882cf4a4c' 'SKIP' '69f21522f20c10f5699dfe3e128aa88d4fedde816f6e8df1506d7470c44bf3da' 'e5aa27b6aba3e75335bbd6d989c52dd42a8435ef87a1453267164e9612daee1a' diff --git a/mingw-w64-meson/PKGBUILD b/mingw-w64-meson/PKGBUILD index 1c9e825f2a..dfd41c2c46 100644 --- a/mingw-w64-meson/PKGBUILD +++ b/mingw-w64-meson/PKGBUILD @@ -3,13 +3,13 @@ _realname=meson pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.60.3 +pkgver=0.61.1 pkgrel=1 pkgdesc="High-productivity build system (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://mesonbuild.com/" -license=("Apache 2") +license=("spdx:Apache-2.0") options=('strip' 'staticlibs') depends=("${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-ninja") @@ -19,7 +19,7 @@ source=("https://github.com/mesonbuild/${_realname}/releases/download/${pkgver}/ '0002-Default-to-sys.prefix-as-the-default-prefix.patch' '0004-fix-gtk-doc.patch' 'install-man.patch') -sha256sums=('87ca5fa9358a01864529392bd64e027158eb94afca7c7766b1866ef27eccb98e' +sha256sums=('feb2cefb325b437dbf36146df7c6b87688ddff0b0205caa31dc64055c6da410c' '5805aed0a117536eb16dd8eef978c6be57c2471b655ede63e25517c28b4f4cf0' '675e79a0fc78b4236f5b803ffd2e745cb2ff125c9b4a03657773915183a4e19a' '0f9177102976bbcbdf50c1da49842783a0c77be939e839f1bf91dcaba6a5cdee' diff --git a/mingw-w64-mhook/PKGBUILD b/mingw-w64-mhook/PKGBUILD index 3bdaf2d1ae..f46fb36029 100644 --- a/mingw-w64-mhook/PKGBUILD +++ b/mingw-w64-mhook/PKGBUILD @@ -10,7 +10,7 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') pkgdesc="An API hooking library (mingw-w64)" depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" - "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cc" "git") options=('strip' 'staticlibs') license=('custom') diff --git a/mingw-w64-mlir/PKGBUILD b/mingw-w64-mlir/PKGBUILD index 97c524e30f..38286566ef 100644 --- a/mingw-w64-mlir/PKGBUILD +++ b/mingw-w64-mlir/PKGBUILD @@ -7,8 +7,8 @@ fi _realname=mlir pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=13.0.0 -pkgrel=3 +pkgver=13.0.1 +pkgrel=1 pkgdesc="Multi-Level IR Compiler Framework for LLVM (mingw-w64)" url="https://mlir.llvm.org/" arch=(any) @@ -25,7 +25,7 @@ _pkgfn=$_realname _url=https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver} # No source package for MLIR: https://bugs.llvm.org/show_bug.cgi?id=52248 source=("${_url}/llvm-project-${pkgver}.src.tar.xz"{,.sig}) -sha256sums=('6075ad30f1ac0e15f07c1bf062c1e1268c241d674f11bd32cdf0e040c71f2bf3' +sha256sums=('326335a830f2e32d06d0a36393b5455d17dc73e0bd1211065227ee014f92cbf8' 'SKIP') validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D' # Hans Wennborg, Google. '474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard diff --git a/mingw-w64-mlpack/PKGBUILD b/mingw-w64-mlpack/PKGBUILD index aa7f9143f7..730e8a867e 100644 --- a/mingw-w64-mlpack/PKGBUILD +++ b/mingw-w64-mlpack/PKGBUILD @@ -4,13 +4,14 @@ _realname=mlpack pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=3.4.2 -pkgrel=1 +pkgrel=2 pkgdesc='An intuitive, fast, scalable C++ machine learning library (mingw-w64)' arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url='https://mlpack.org/' license=('BSD') depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" + $([[ ${MINGW_PACKAGE_PREFIX} != *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-openmp") "${MINGW_PACKAGE_PREFIX}-armadillo" "${MINGW_PACKAGE_PREFIX}-boost" "${MINGW_PACKAGE_PREFIX}-ensmallen" @@ -18,7 +19,6 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" - "${MINGW_PACKAGE_PREFIX}-cotire" "${MINGW_PACKAGE_PREFIX}-doxygen") source=("https://www.mlpack.org/files/${_realname}-${pkgver}.tar.gz" "0001-mingw-w64-cmake.patch") diff --git a/mingw-w64-mono/bootstrap/PKGBUILD b/mingw-w64-mono/bootstrap/PKGBUILD index 83922679f5..d43d6aac5d 100644 --- a/mingw-w64-mono/bootstrap/PKGBUILD +++ b/mingw-w64-mono/bootstrap/PKGBUILD @@ -19,7 +19,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-zlib" "${MINGW_PACKAGE_PREFIX}-python3" "${MINGW_PACKAGE_PREFIX}-ca-certificates") makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" - "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools" "git" "wget" diff --git a/mingw-w64-mpv/PKGBUILD b/mingw-w64-mpv/PKGBUILD index 2fc0fb054f..920f6ed025 100644 --- a/mingw-w64-mpv/PKGBUILD +++ b/mingw-w64-mpv/PKGBUILD @@ -5,7 +5,7 @@ _realname=mpv pkgbase="mingw-w64-${_realname}" pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=0.34.1 -pkgrel=2 +pkgrel=3 pkgdesc="Video player based on MPlayer/mplayer2 (mingw-w64)" url="https://mpv.io/" arch=('any') diff --git a/mingw-w64-msmpi/PKGBUILD b/mingw-w64-msmpi/PKGBUILD index 3d527e652e..24f9591ae9 100644 --- a/mingw-w64-msmpi/PKGBUILD +++ b/mingw-w64-msmpi/PKGBUILD @@ -4,14 +4,14 @@ _realname=msmpi pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=10.1.1 -pkgrel=5 +pkgrel=6 pkgdesc="Microsoft MPI SDK (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://docs.microsoft.com/en-us/message-passing-interface/microsoft-mpi" license=('MIT') makedepends=("${MINGW_PACKAGE_PREFIX}-binutils" "${MINGW_PACKAGE_PREFIX}-cc") -depends=("${MINGW_PACKAGE_PREFIX}-gcc" +depends=("${MINGW_PACKAGE_PREFIX}-cc" $([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-gcc-fortran") ) optdepends=("${MINGW_PACKAGE_PREFIX}-tcl: build & run test suite") diff --git a/mingw-w64-mumps/PKGBUILD b/mingw-w64-mumps/PKGBUILD index 96f31ea554..4989834149 100644 --- a/mingw-w64-mumps/PKGBUILD +++ b/mingw-w64-mumps/PKGBUILD @@ -42,7 +42,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-scotch" "${MINGW_PACKAGE_PREFIX}-scalapack" "${MINGW_PACKAGE_PREFIX}-msmpi") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-gcc-fortran") optdepends=("${MINGW_PACKAGE_PREFIX}-tcl: build & run test suite") options=('strip' 'staticlibs') diff --git a/mingw-w64-muparser/PKGBUILD b/mingw-w64-muparser/PKGBUILD index a0a972e057..ba5070ca72 100644 --- a/mingw-w64-muparser/PKGBUILD +++ b/mingw-w64-muparser/PKGBUILD @@ -3,45 +3,58 @@ _realname=muparser pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.3.2 -pkgrel=2 +pkgver=2.3.3 +pkgrel=1 pkgdesc="A fast math parser library (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') -url="http://muparser.beltoforion.de/" +url="https://beltoforion.de/en/muparser/" license=('custom') -makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-cc") -options=('!makeflags') -source=("${_realname}-${pkgver}.tar.gz"::https://github.com/beltoforion/muparser/archive/v${pkgver}.tar.gz +depends=("${MINGW_PACKAGE_PREFIX}-openmp") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-ninja") +source=("${_realname}-${pkgver}.tar.gz"::https://github.com/beltoforion/muparser/archive/v${pkgver}-1.tar.gz "001-exports.patch") -sha256sums=('b35fc84e3667d432e3414c8667d5764dfa450ed24a99eeef7ee3f6647d44f301' +sha256sums=('91d26d8274ae9cd9c776ee58250aeddc6b574f369eafd03b25045b858a2b8177' 'f125ce80b250e59a6d650cfecc11f511703a7e5079409bc287f43b3fd56cdc37') prepare() { - cd ${srcdir}/${_realname}-${pkgver} + cd ${srcdir}/${_realname}-${pkgver}-1 patch -p1 -i ${srcdir}/001-exports.patch } build() { - [[ -d build-${MINGW_CHOST} ]] && rm -rf build-${MINGW_CHOST} - mkdir -p build-${MINGW_CHOST} - cd build-${MINGW_CHOST} + declare -a _extra_config + if check_option "debug" "n"; then + _extra_config+=("-DCMAKE_BUILD_TYPE=Release") + else + _extra_config+=("-DCMAKE_BUILD_TYPE=Debug") + fi + + [[ -d "${srcdir}/build-${MSYSTEM}" ]] && rm -rf "${srcdir}/build-${MSYSTEM}" + mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake.exe \ - -G"MSYS Makefiles" \ - -DCMAKE_BUILD_TYPE=Release \ + -G"Ninja" \ + "${_extra_config[@]}" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ - ../${_realname}-${pkgver} + ../${_realname}-${pkgver}-1 - make + ${MINGW_PREFIX}/bin/cmake.exe --build ./ +} + +check() { + cd "build-${MSYSTEM}" + ${MINGW_PREFIX}/bin/ctest.exe || true } package() { - cd build-${MINGW_CHOST} - make DESTDIR=${pkgdir} install + cd "build-${MSYSTEM}" + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./ # license - install -D -m644 ${srcdir}/${_realname}-${pkgver}/License.txt \ - ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE + install -D -m644 "${srcdir}/${_realname}-${pkgver}-1/LICENSE" \ + "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" } diff --git a/mingw-w64-mypaint-brushes/PKGBUILD b/mingw-w64-mypaint-brushes/PKGBUILD index 77cbb5b23d..396a14d8ec 100644 --- a/mingw-w64-mypaint-brushes/PKGBUILD +++ b/mingw-w64-mypaint-brushes/PKGBUILD @@ -10,7 +10,7 @@ arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://github.com/mypaint/mypaint-brushes" license=("ISC") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-autotools") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") depends=("${MINGW_PACKAGE_PREFIX}-libmypaint") options=('strip' '!debug') source=(${_realname}-${pkgver}.tar.gz::https://github.com/mypaint/mypaint-brushes/archive/v${pkgver}.tar.gz) diff --git a/mingw-w64-mypaint-brushes2/PKGBUILD b/mingw-w64-mypaint-brushes2/PKGBUILD index 23ab4f3a37..c724cdaa4f 100644 --- a/mingw-w64-mypaint-brushes2/PKGBUILD +++ b/mingw-w64-mypaint-brushes2/PKGBUILD @@ -10,7 +10,7 @@ arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://github.com/mypaint/mypaint-brushes" license=("ISC") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-autotools") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") options=('strip' '!debug') source=(${_realname}-${pkgver}.tar.gz::https://github.com/mypaint/mypaint-brushes/archive/v${pkgver}.tar.gz) sha256sums=('01032550dd817bb0f8e85d83a632ed2e50bc16e0735630839e6c508f02f800ac') diff --git a/mingw-w64-nana/PKGBUILD b/mingw-w64-nana/PKGBUILD index 2f849ca954..5ab515487a 100644 --- a/mingw-w64-nana/PKGBUILD +++ b/mingw-w64-nana/PKGBUILD @@ -11,7 +11,7 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://github.com/cnjinhao/${_realname}" license=("Custom:Boost Software License") depends=("${MINGW_PACKAGE_PREFIX}-libpng" "${MINGW_PACKAGE_PREFIX}-libjpeg-turbo") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja") source=("${_realname}-v${pkgver}.tar.gz"::"https://github.com/cnjinhao/${_realname}/archive/v${pkgver}.tar.gz" 010-thread.patch) sha256sums=('56F7B1ED006C750FCCF8EF15AB1E83F96751F2DFDCB68D93E5F712A6C9B58BCB' diff --git a/mingw-w64-nodejs/0001-Fix-python-invocation-to-python2.patch b/mingw-w64-nodejs/0001-Fix-python-invocation-to-python2.patch deleted file mode 100644 index 60cdbf098d..0000000000 --- a/mingw-w64-nodejs/0001-Fix-python-invocation-to-python2.patch +++ /dev/null @@ -1,2364 +0,0 @@ -diff -Naur node-v11.15.0-orig/common.gypi node-v11.15.0/common.gypi ---- node-v11.15.0-orig/common.gypi 2019-04-30 20:31:12.000000000 +0300 -+++ node-v11.15.0/common.gypi 2019-06-27 13:09:51.857895300 +0300 -@@ -11,7 +11,7 @@ - 'msvs_multi_core_compile': '0', # we do enable multicore compiles, but not using the V8 way - 'enable_pgo_generate%': '0', - 'enable_pgo_use%': '0', -- 'python%': 'python', -+ 'python%': 'python2', - - 'node_shared%': 'false', - 'force_dynamic_crt%': 0, -diff -Naur node-v11.15.0-orig/configure node-v11.15.0/configure ---- node-v11.15.0-orig/configure 2019-04-30 20:31:12.000000000 +0300 -+++ node-v11.15.0/configure 2019-06-27 13:09:51.882895300 +0300 -@@ -6,7 +6,7 @@ - _=[ 'exec' '/bin/sh' '-c' ''' - which python2.7 >/dev/null && exec python2.7 "$0" "$@" - which python2 >/dev/null && exec python2 "$0" "$@" --exec python "$0" "$@" -+exec python2 "$0" "$@" - ''' "$0" "$@" - ] - del _ -diff -Naur node-v11.15.0-orig/configure.py node-v11.15.0/configure.py ---- node-v11.15.0-orig/configure.py 2019-04-30 20:31:12.000000000 +0300 -+++ node-v11.15.0/configure.py 2019-06-27 13:09:51.902895400 +0300 -@@ -1570,7 +1570,7 @@ - # sys.executable. This directory will be prefixed to the PATH, so that - # other tools that shell out to `python` will use the appropriate python - -- which_python = which('python') -+ which_python = which('python2') - if (which_python and - os.path.realpath(which_python) == os.path.realpath(sys.executable)): - return -@@ -1581,7 +1581,7 @@ - except OSError as e: - if e.errno != errno.EEXIST: raise e - -- python_link = os.path.join(bin_override, 'python') -+ python_link = os.path.join(bin_override, 'python2') - try: - os.unlink(python_link) - except OSError as e: -@@ -1701,6 +1701,6 @@ - if warn.warned and not options.verbose: - warn('warnings were emitted in the configure phase') - --print_verbose("running: \n " + " ".join(['python', 'tools/gyp_node.py'] + gyp_args)) -+print_verbose("running: \n " + " ".join(['python2', 'tools/gyp_node.py'] + gyp_args)) - run_gyp(gyp_args) - info('configure completed successfully') -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/gyp node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/gyp ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/gyp 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/gyp 2019-06-27 13:11:28.559030700 +0300 -@@ -5,4 +5,4 @@ - - set -e - base=$(dirname "$0") --exec python "${base}/gyp_main.py" "$@" -+exec python2 "${base}/gyp_main.py" "$@" -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/gyp_main.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/gyp_main.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/gyp_main.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/gyp_main.py 2019-06-27 13:11:28.614030800 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - # Copyright (c) 2009 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py 2019-06-27 13:11:29.754032400 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - # Copyright (c) 2012 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py 2019-06-27 13:11:28.744031000 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - # Copyright (c) 2012 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py 2019-06-27 13:11:28.804031100 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - # Copyright (c) 2011 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py 2019-06-27 13:11:28.829031100 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - # Copyright (c) 2011 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be - # found in the LICENSE file. -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py 2019-06-27 13:11:29.089031500 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - # Copyright (c) 2012 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be - # found in the LICENSE file. -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py 2019-06-27 13:11:29.114031500 +0300 -@@ -1754,7 +1754,7 @@ - return '%(python)s gyp-win-tool link-with-manifests $arch %(embed)s ' \ - '%(out)s "%(ldcmd)s" %(resname)s $mt $rc "$intermediatemanifest" ' \ - '$manifests' % { -- 'python': sys.executable, -+ 'python2': sys.executable, - 'out': out, - 'ldcmd': ldcmd, - 'resname': resource_name, -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py 2019-06-27 13:11:29.134031500 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - # Copyright (c) 2012 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py 2019-06-27 13:11:29.159031600 +0300 -@@ -283,7 +283,7 @@ - command_prefix = '' - if serialize_all_tests: - command_prefix = \ --"""python -c "import fcntl, subprocess, sys -+"""python2 -c "import fcntl, subprocess, sys - file = open('$TMPDIR/GYP_serialize_test_runs', 'a') - fcntl.flock(file.fileno(), fcntl.LOCK_EX) - sys.exit(subprocess.call(sys.argv[1:]))" """ -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py 2019-06-27 13:11:29.184031600 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - # Copyright (c) 2013 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py 2019-06-27 13:11:29.264031700 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - # Copyright 2013 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py 2019-06-27 13:11:29.289031800 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - # Copyright (c) 2012 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be - # found in the LICENSE file. -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py 2019-06-27 13:11:29.394031900 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - # Copyright (c) 2012 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py 2019-06-27 13:11:29.619032200 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - # Copyright (c) 2012 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be -@@ -144,7 +144,7 @@ - # first and only link. We still tell link to generate a manifest, but we - # only use that to assert that our simpler process did not miss anything. - variables = { -- 'python': sys.executable, -+ 'python2': sys.executable, - 'arch': arch, - 'out': out, - 'ldcmd': ldcmd, -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/samples/samples node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/samples/samples ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/samples/samples 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/samples/samples 2019-06-27 13:11:29.784032400 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python2 - - # Copyright (c) 2009 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/setup.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/setup.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/setup.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/setup.py 2019-06-27 13:11:29.844032500 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - # Copyright (c) 2009 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp 2019-06-27 13:11:29.974032700 +0300 -@@ -987,7 +987,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/media/jni/media_player_listener_jni.h', - ], - 'action': [ -- 'python', -+ 'python2', - '<(DEPTH)/base/android/jni_generator/jni_generator.py', - '-o', - '<@(_inputs)', -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp.fontified node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp.fontified ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp.fontified 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/tools/emacs/testdata/media.gyp.fontified 2019-06-27 13:11:29.999032700 +0300 -@@ -988,7 +988,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/media/jni/media_player_listener_jni.h', - ], - 'action': [ -- 'python', -+ 'python2', - '<(DEPTH)/base/android/jni_generator/jni_generator.py', - '-o', - '<@(_inputs)', -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/tools/graphviz.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/tools/graphviz.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/tools/graphviz.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/tools/graphviz.py 2019-06-27 13:11:30.024032800 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - # Copyright (c) 2011 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/tools/pretty_gyp.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/tools/pretty_gyp.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/tools/pretty_gyp.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/tools/pretty_gyp.py 2019-06-27 13:11:30.054032800 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - # Copyright (c) 2012 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/tools/pretty_sln.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/tools/pretty_sln.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/tools/pretty_sln.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/tools/pretty_sln.py 2019-06-27 13:11:30.074032900 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - # Copyright (c) 2012 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.py node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.py ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.py 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.py 2019-06-27 13:11:30.104032900 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - # Copyright (c) 2012 Google Inc. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/lib/configure.js node-v11.15.0/deps/npm/node_modules/node-gyp/lib/configure.js ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/lib/configure.js 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/lib/configure.js 2019-06-27 13:11:30.284033100 +0300 -@@ -47,7 +47,7 @@ - - function getNodeDir () { - -- // 'python' should be set by now -+ // 'python2' should be set by now - process.env.PYTHON = python - - if (gyp.opts.nodedir) { -@@ -397,7 +397,7 @@ - if (err) { - this.log.verbose('`which` failed', this.python, err) - if (this.python === 'python2') { -- this.python = 'python' -+ this.python = 'python2' - return this.checkPython() - } - if (this.win) { -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/README.md node-v11.15.0/deps/npm/node_modules/node-gyp/README.md ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/README.md 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/README.md 2019-06-27 13:11:31.969035500 +0300 -@@ -70,7 +70,7 @@ - ``` - - If `node-gyp` is called by way of `npm` *and* you have multiple versions of --Python installed, then you can set `npm`'s 'python' config key to the appropriate -+Python installed, then you can set `npm`'s 'python2' config key to the appropriate - value: - - ``` bash -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/test/test-addon.js node-v11.15.0/deps/npm/node_modules/node-gyp/test/test-addon.js ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/test/test-addon.js 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/test/test-addon.js 2019-06-27 13:11:32.224035900 +0300 -@@ -16,13 +16,13 @@ - - function getEncoding() { - var code = 'import locale;print locale.getdefaultlocale()[1]' -- return execFileSync('python', ['-c', code]).toString().trim() -+ return execFileSync('python2', ['-c', code]).toString().trim() - } - - function checkCharmapValid() { - var data - try { -- data = execFileSync('python', ['fixtures/test-charmap.py'], -+ data = execFileSync('python2', ['fixtures/test-charmap.py'], - { cwd: __dirname }) - } catch (err) { - return false -diff -Naur node-v11.15.0-orig/deps/npm/node_modules/node-gyp/test/test-find-python.js node-v11.15.0/deps/npm/node_modules/node-gyp/test/test-find-python.js ---- node-v11.15.0-orig/deps/npm/node_modules/node-gyp/test/test-find-python.js 2019-04-30 20:31:13.000000000 +0300 -+++ node-v11.15.0/deps/npm/node_modules/node-gyp/test/test-find-python.js 2019-06-27 13:11:32.364036100 +0300 -@@ -9,7 +9,7 @@ - test('find python', function (t) { - t.plan(4) - -- configure.test.findPython('python', function (err, found) { -+ configure.test.findPython('python2', function (err, found) { - t.strictEqual(err, null) - var proc = execFile(found, ['-V'], function (err, stdout, stderr) { - t.strictEqual(err, null) -@@ -55,13 +55,13 @@ - test('find python - python', function (t) { - t.plan(5) - -- var f = new TestPythonFinder('python', done) -+ var f = new TestPythonFinder('python2', done) - f.which = function(program, cb) { -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - cb(null, program) - } - f.execFile = function(program, args, opts, cb) { -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - t.ok(/import sys/.test(args[1])) - cb(null, '2.7.0') - } -@@ -69,20 +69,20 @@ - - function done(err, python) { - t.strictEqual(err, null) -- t.strictEqual(python, 'python') -+ t.strictEqual(python, 'python2') - } - }) - - test('find python - python too old', function (t) { - t.plan(4) - -- var f = new TestPythonFinder('python', done) -+ var f = new TestPythonFinder('python2', done) - f.which = function(program, cb) { -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - cb(null, program) - } - f.execFile = function(program, args, opts, cb) { -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - t.ok(/import sys/.test(args[1])) - cb(null, '2.3.4') - } -@@ -96,13 +96,13 @@ - test('find python - python too new', function (t) { - t.plan(4) - -- var f = new TestPythonFinder('python', done) -+ var f = new TestPythonFinder('python2', done) - f.which = function(program, cb) { -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - cb(null, program) - } - f.execFile = function(program, args, opts, cb) { -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - t.ok(/import sys/.test(args[1])) - cb(null, '3.0.0') - } -@@ -116,9 +116,9 @@ - test('find python - no python', function (t) { - t.plan(2) - -- var f = new TestPythonFinder('python', done) -+ var f = new TestPythonFinder('python2', done) - f.which = function(program, cb) { -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - cb(new Error('not found')) - } - f.checkPython() -@@ -134,14 +134,14 @@ - var f = new TestPythonFinder('python2', done) - f.which = function(program, cb) { - f.which = function(program, cb) { -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - cb(null, program) - } - t.strictEqual(program, 'python2') - cb(new Error('not found')) - } - f.execFile = function(program, args, opts, cb) { -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - t.ok(/import sys/.test(args[1])) - cb(null, '2.7.0') - } -@@ -149,7 +149,7 @@ - - function done(err, python) { - t.strictEqual(err, null) -- t.strictEqual(python, 'python') -+ t.strictEqual(python, 'python2') - } - }) - -@@ -162,7 +162,7 @@ - - f.which = function(program, cb) { - f.which = function(program, cb) { -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - cb(new Error('not found')) - } - t.strictEqual(program, 'python2') -@@ -178,12 +178,12 @@ - test('find python - no python, use python launcher', function (t) { - t.plan(8) - -- var f = new TestPythonFinder('python', done) -+ var f = new TestPythonFinder('python2', done) - f.env = {} - f.win = true - - f.which = function(program, cb) { -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - cb(new Error('not found')) - } - f.execFile = function(program, args, opts, cb) { -@@ -208,12 +208,12 @@ - test('find python - python 3, use python launcher', function (t) { - t.plan(10) - -- var f = new TestPythonFinder('python', done) -+ var f = new TestPythonFinder('python2', done) - f.env = {} - f.win = true - - f.which = function(program, cb) { -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - cb(null, program) - } - f.execFile = function(program, args, opts, cb) { -@@ -228,7 +228,7 @@ - t.notEqual(args.indexOf('-c'), -1) - cb(null, 'Z:\\snake.exe') - } -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - t.ok(/import sys/.test(args[1])) - cb(null, '3.0.0') - } -@@ -244,13 +244,13 @@ - function (t) { - t.plan(9) - -- var f = new TestPythonFinder('python', done) -+ var f = new TestPythonFinder('python2', done) - f.checkedPythonLauncher = false - f.env = {} - f.win = true - - f.which = function(program, cb) { -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - cb(null, program) - } - f.execFile = function(program, args, opts, cb) { -@@ -265,7 +265,7 @@ - t.notEqual(args.indexOf('-c'), -1) - cb(null, 'Z:\\snake.exe') - } -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - t.ok(/import sys/.test(args[1])) - cb(null, '3.0.0') - } -@@ -280,12 +280,12 @@ - t.plan(6) - - var re = /C:[\\\/]Python27[\\\/]python[.]exe/ -- var f = new TestPythonFinder('python', done) -+ var f = new TestPythonFinder('python2', done) - f.env = {} - f.win = true - - f.which = function(program, cb) { -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - cb(new Error('not found')) - } - f.execFile = function(program, args, opts, cb) { -@@ -312,12 +312,12 @@ - test('find python - no python, no python launcher, bad guess', function (t) { - t.plan(4) - -- var f = new TestPythonFinder('python', done) -+ var f = new TestPythonFinder('python2', done) - f.env = { SystemDrive: 'Z:\\' } - f.win = true - - f.which = function(program, cb) { -- t.strictEqual(program, 'python') -+ t.strictEqual(program, 'python2') - cb(new Error('not found')) - } - f.execFile = function(program, args, opts, cb) { -diff -Naur node-v11.15.0-orig/deps/openssl/openssl/fuzz/helper.py node-v11.15.0/deps/openssl/openssl/fuzz/helper.py ---- node-v11.15.0-orig/deps/openssl/openssl/fuzz/helper.py 2019-04-30 20:31:26.000000000 +0300 -+++ node-v11.15.0/deps/openssl/openssl/fuzz/helper.py 2019-06-27 13:13:35.496208600 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python2 - # - # Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. - # -diff -Naur node-v11.15.0-orig/deps/uv/gyp_uv.py node-v11.15.0/deps/uv/gyp_uv.py ---- node-v11.15.0-orig/deps/uv/gyp_uv.py 2019-04-30 20:31:27.000000000 +0300 -+++ node-v11.15.0/deps/uv/gyp_uv.py 2019-06-27 13:13:43.351219600 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - - import os - import platform -diff -Naur node-v11.15.0-orig/deps/uv/tools/make_dist_html.py node-v11.15.0/deps/uv/tools/make_dist_html.py ---- node-v11.15.0-orig/deps/uv/tools/make_dist_html.py 2019-04-30 20:31:27.000000000 +0300 -+++ node-v11.15.0/deps/uv/tools/make_dist_html.py 2019-06-27 13:13:46.876224500 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python2 - - from __future__ import print_function - -diff -Naur node-v11.15.0-orig/deps/v8/DEPS node-v11.15.0/deps/v8/DEPS ---- node-v11.15.0-orig/deps/v8/DEPS 2019-04-30 20:31:27.000000000 +0300 -+++ node-v11.15.0/deps/v8/DEPS 2019-06-27 13:13:48.121226200 +0300 -@@ -107,7 +107,7 @@ - 'name': 'disable_depot_tools_selfupdate', - 'pattern': '.', - 'action': [ -- 'python', -+ 'python2', - 'v8/third_party/depot_tools/update_depot_tools_toggle.py', - '--disable', - ], -@@ -119,7 +119,7 @@ - 'name': 'landmines', - 'pattern': '.', - 'action': [ -- 'python', -+ 'python2', - 'v8/build/landmines.py', - '--landmine-scripts', - 'v8/tools/get_landmines.py', -@@ -284,35 +284,35 @@ - 'name': 'sysroot_arm', - 'pattern': '.', - 'condition': '(checkout_linux and checkout_arm)', -- 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py', -+ 'action': ['python2', 'v8/build/linux/sysroot_scripts/install-sysroot.py', - '--arch=arm'], - }, - { - 'name': 'sysroot_arm64', - 'pattern': '.', - 'condition': '(checkout_linux and checkout_arm64)', -- 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py', -+ 'action': ['python2', 'v8/build/linux/sysroot_scripts/install-sysroot.py', - '--arch=arm64'], - }, - { - 'name': 'sysroot_x86', - 'pattern': '.', - 'condition': '(checkout_linux and (checkout_x86 or checkout_x64))', -- 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py', -+ 'action': ['python2', 'v8/build/linux/sysroot_scripts/install-sysroot.py', - '--arch=x86'], - }, - { - 'name': 'sysroot_mips', - 'pattern': '.', - 'condition': '(checkout_linux and checkout_mips)', -- 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py', -+ 'action': ['python2', 'v8/build/linux/sysroot_scripts/install-sysroot.py', - '--arch=mips'], - }, - { - 'name': 'sysroot_x64', - 'pattern': '.', - 'condition': 'checkout_linux and checkout_x64', -- 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py', -+ 'action': ['python2', 'v8/build/linux/sysroot_scripts/install-sysroot.py', - '--arch=x64'], - }, - { -@@ -342,14 +342,14 @@ - 'name': 'win_toolchain', - 'pattern': '.', - 'condition': 'checkout_win', -- 'action': ['python', 'v8/build/vs_toolchain.py', 'update'], -+ 'action': ['python2', 'v8/build/vs_toolchain.py', 'update'], - }, - { - # Update the Mac toolchain if necessary. - 'name': 'mac_toolchain', - 'pattern': '.', - 'condition': 'checkout_mac', -- 'action': ['python', 'v8/build/mac_toolchain.py'], -+ 'action': ['python2', 'v8/build/mac_toolchain.py'], - }, - # Pull binutils for linux, enabled debug fission for faster linking / - # debugging when used with clang on Ubuntu Precise. -@@ -359,7 +359,7 @@ - 'pattern': 'v8/third_party/binutils', - 'condition': 'host_os == "linux"', - 'action': [ -- 'python', -+ 'python2', - 'v8/third_party/binutils/download.py', - ], - }, -@@ -369,13 +369,13 @@ - 'pattern': '.', - # clang not supported on aix - 'condition': 'host_os != "aix"', -- 'action': ['python', 'v8/tools/clang/scripts/update.py'], -+ 'action': ['python2', 'v8/tools/clang/scripts/update.py'], - }, - { - # Update LASTCHANGE. - 'name': 'lastchange', - 'pattern': '.', -- 'action': ['python', 'v8/build/util/lastchange.py', -+ 'action': ['python2', 'v8/build/util/lastchange.py', - '-o', 'v8/build/util/LASTCHANGE'], - }, - { -@@ -383,7 +383,7 @@ - 'pattern': '.', - 'condition': 'checkout_fuchsia', - 'action': [ -- 'python', -+ 'python2', - 'v8/build/fuchsia/update_sdk.py', - ], - }, -@@ -415,7 +415,7 @@ - 'pattern': '.', - 'condition': 'check_v8_header_includes', - 'action': [ -- 'python', -+ 'python2', - 'v8/tools/generate-header-include-checks.py', - ], - }, -diff -Naur node-v11.15.0-orig/deps/v8/gypfiles/cctest.gyp node-v11.15.0/deps/v8/gypfiles/cctest.gyp ---- node-v11.15.0-orig/deps/v8/gypfiles/cctest.gyp 2019-04-30 20:31:27.000000000 +0300 -+++ node-v11.15.0/deps/v8/gypfiles/cctest.gyp 2019-06-27 13:13:48.231226400 +0300 -@@ -438,7 +438,7 @@ - '<(generated_file)', - ], - 'action': [ -- 'python', -+ 'python2', - '../tools/js2c.py', - '<@(_outputs)', - 'TEST', # type -diff -Naur node-v11.15.0-orig/deps/v8/gypfiles/coverage_wrapper.py node-v11.15.0/deps/v8/gypfiles/coverage_wrapper.py ---- node-v11.15.0-orig/deps/v8/gypfiles/coverage_wrapper.py 2019-04-30 20:31:27.000000000 +0300 -+++ node-v11.15.0/deps/v8/gypfiles/coverage_wrapper.py 2019-06-27 13:13:48.261226400 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - # Copyright 2016 the V8 project authors. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be - # found in the LICENSE file. -diff -Naur node-v11.15.0-orig/deps/v8/gypfiles/d8.gyp node-v11.15.0/deps/v8/gypfiles/d8.gyp ---- node-v11.15.0-orig/deps/v8/gypfiles/d8.gyp 2019-04-30 20:31:27.000000000 +0300 -+++ node-v11.15.0/deps/v8/gypfiles/d8.gyp 2019-06-27 13:13:48.286226500 +0300 -@@ -109,7 +109,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/d8-js.cc', - ], - 'action': [ -- 'python', -+ 'python2', - '../tools/js2c.py', - '<@(_outputs)', - 'D8', -diff -Naur node-v11.15.0-orig/deps/v8/gypfiles/gyp_v8 node-v11.15.0/deps/v8/gypfiles/gyp_v8 ---- node-v11.15.0-orig/deps/v8/gypfiles/gyp_v8 2019-04-30 20:31:27.000000000 +0300 -+++ node-v11.15.0/deps/v8/gypfiles/gyp_v8 2019-06-27 13:13:48.456226700 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - # - # Copyright 2012 the V8 project authors. All rights reserved. - # Redistribution and use in source and binary forms, with or without -diff -Naur node-v11.15.0-orig/deps/v8/gypfiles/inspector.gypi node-v11.15.0/deps/v8/gypfiles/inspector.gypi ---- node-v11.15.0-orig/deps/v8/gypfiles/inspector.gypi 2019-04-30 20:31:27.000000000 +0300 -+++ node-v11.15.0/deps/v8/gypfiles/inspector.gypi 2019-06-27 13:13:48.536226800 +0300 -@@ -101,7 +101,7 @@ - '<@(SHARED_INTERMEDIATE_DIR)/src/js_protocol.stamp', - ], - 'action': [ -- 'python', -+ 'python2', - '<(protocol_path)/CheckProtocolCompatibility.py', - '--stamp', '<@(_outputs)', - '<(inspector_path)/js_protocol.json', -@@ -120,7 +120,7 @@ - ], - 'process_outputs_as_sources': 1, - 'action': [ -- 'python', -+ 'python2', - '<(protocol_path)/CodeGenerator.py', - '--jinja_dir', '../third_party', - '--output_base', '<(SHARED_INTERMEDIATE_DIR)/src/inspector', -@@ -139,7 +139,7 @@ - ], - 'process_outputs_as_sources': 1, - 'action': [ -- 'python', -+ 'python2', - '<(inspector_path)/build/xxd.py', - 'InjectedScriptSource_js', - '<(inspector_path)/injected-script-source.js', -diff -Naur node-v11.15.0-orig/deps/v8/gypfiles/run-tests-legacy.py node-v11.15.0/deps/v8/gypfiles/run-tests-legacy.py ---- node-v11.15.0-orig/deps/v8/gypfiles/run-tests-legacy.py 2019-04-30 20:31:27.000000000 +0300 -+++ node-v11.15.0/deps/v8/gypfiles/run-tests-legacy.py 2019-06-27 13:13:48.696227000 +0300 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python2 - # Copyright 2017 the V8 project authors. All rights reserved. - # Use of this source code is governed by a BSD-style license that can be - # found in the LICENSE file. -diff -Naur node-v11.15.0-orig/deps/v8/gypfiles/shim_headers.gypi node-v11.15.0/deps/v8/gypfiles/shim_headers.gypi ---- node-v11.15.0-orig/deps/v8/gypfiles/shim_headers.gypi 2019-04-30 20:31:27.000000000 +0300 -+++ node-v11.15.0/deps/v8/gypfiles/shim_headers.gypi 2019-06-27 13:13:48.781227200 +0300 -@@ -62,7 +62,7 @@ - 'outputs': [ - ' -Date: Tue, 14 Feb 2017 21:43:31 -0500 -Subject: [PATCH 02/23] Fix system-icu build - ---- - deps/v8/gypfiles/v8.gyp | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/deps/v8/gypfiles/v8.gyp b/deps/v8/gypfiles/v8.gyp -index e1d4aea0..05204ef2 100644 ---- a/deps/v8/gypfiles/v8.gyp -+++ b/deps/v8/gypfiles/v8.gyp -@@ -1922,11 +1922,6 @@ - '../src/runtime/runtime-intl.cc', - ], - }], -- ['OS=="win" and v8_enable_i18n_support==1', { -- 'dependencies': [ -- '<(icu_gyp_path):icudata', -- ], -- }], - ], - }, # v8_base - { --- -2.17.0.windows.1 diff --git a/mingw-w64-nodejs/0003-Include-win32-headers.h-in-v8-atomicops.h.patch b/mingw-w64-nodejs/0003-Include-win32-headers.h-in-v8-atomicops.h.patch deleted file mode 100644 index aca4beba56..0000000000 --- a/mingw-w64-nodejs/0003-Include-win32-headers.h-in-v8-atomicops.h.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 71b0c4625ab94d7632a061dccaf665fce80dd22c Mon Sep 17 00:00:00 2001 -From: Alethea Rose -Date: Tue, 14 Feb 2017 22:26:28 -0500 -Subject: [PATCH 03/23] Include win32-headers.h in v8/atomicops.h - -[jes: this may not be needed anymore... another instance where a good -commit message would save a ton of time!] ---- - deps/v8/src/base/atomicops.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/deps/v8/src/base/atomicops.h b/deps/v8/src/base/atomicops.h -index c4c28f70..30384303 100644 ---- a/deps/v8/src/base/atomicops.h -+++ b/deps/v8/src/base/atomicops.h -@@ -36,6 +36,10 @@ - #include "src/base/base-export.h" - #include "src/base/build_config.h" - -+#if defined(_WIN32) -+#include "win32-headers.h" -+#endif -+ - namespace v8 { - namespace base { - --- -2.17.0.windows.1 - diff --git a/mingw-w64-nodejs/0004-Define-localtime_s-for-MinGW.patch b/mingw-w64-nodejs/0004-Define-localtime_s-for-MinGW.patch deleted file mode 100644 index 3994b25030..0000000000 --- a/mingw-w64-nodejs/0004-Define-localtime_s-for-MinGW.patch +++ /dev/null @@ -1,33 +0,0 @@ -From fa7be56b0c792732aaa07b1f778987c51f38b810 Mon Sep 17 00:00:00 2001 -From: Alethea Rose -Date: Tue, 14 Feb 2017 23:07:39 -0500 -Subject: [PATCH 04/23] Define localtime_s for MinGW - ---- - deps/v8/src/base/platform/platform-win32.cc | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/deps/v8/src/base/platform/platform-win32.cc b/deps/v8/src/base/platform/platform-win32.cc -index 7ce0a0d5..9453a673 100644 ---- a/deps/v8/src/base/platform/platform-win32.cc -+++ b/deps/v8/src/base/platform/platform-win32.cc -@@ -42,8 +42,6 @@ inline void MemoryFence() { - __asm__ __volatile__("xchgl %%eax,%0 ":"=r" (barrier)); - } - --#endif // __MINGW64_VERSION_MAJOR -- - - int localtime_s(tm* out_tm, const time_t* time) { - tm* posix_local_time_struct = localtime_r(time, out_tm); -@@ -51,6 +49,7 @@ int localtime_s(tm* out_tm, const time_t* time) { - return 0; - } - -+#endif // __MINGW64_VERSION_MAJOR - - int fopen_s(FILE** pFile, const char* filename, const char* mode) { - *pFile = fopen(filename, mode); --- -2.17.0.windows.1 - diff --git a/mingw-w64-nodejs/0005-Remove-.lib-suffix-on-linked-libraries.patch b/mingw-w64-nodejs/0005-Remove-.lib-suffix-on-linked-libraries.patch deleted file mode 100644 index 295be7aba0..0000000000 --- a/mingw-w64-nodejs/0005-Remove-.lib-suffix-on-linked-libraries.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 5f390ae5e8857ad8c4d0a8b00818eadd8d8f4daa Mon Sep 17 00:00:00 2001 -From: Alethea Rose -Date: Tue, 14 Feb 2017 23:11:03 -0500 -Subject: [PATCH 05/23] Remove .lib suffix on linked libraries - ---- - deps/v8/BUILD.gn | 8 ++++---- - deps/v8/gypfiles/v8.gyp | 8 ++++---- - node.gyp | 2 +- - 3 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/deps/v8/BUILD.gn b/deps/v8/BUILD.gn -index 9d95036a..9a8c48db 100644 ---- a/deps/v8/BUILD.gn -+++ b/deps/v8/BUILD.gn -@@ -3127,10 +3127,10 @@ v8_component("v8_libbase") { - defines += [ "_CRT_RAND_S" ] # for rand_s() - - libs = [ -- "dbghelp.lib", -- "shlwapi.lib", -- "winmm.lib", -- "ws2_32.lib", -+ "dbghelp", -+ "shlwapi", -+ "winmm", -+ "ws2_32", - ] - - data_deps += [ "//build/win:runtime_libs" ] -diff --git a/deps/v8/gypfiles/v8.gyp b/deps/v8/gypfiles/v8.gyp -index 05204ef2..1baa7ab3 100644 ---- a/deps/v8/gypfiles/v8.gyp -+++ b/deps/v8/gypfiles/v8.gyp -@@ -2152,10 +2152,10 @@ - 'msvs_disabled_warnings': [4351, 4355, 4800], - 'link_settings': { - 'libraries': [ -- '-ldbghelp.lib', -- '-lshlwapi.lib', -- '-lwinmm.lib', -- '-lws2_32.lib' -+ '-ldbghelp', -+ '-lshlwapi', -+ '-lwinmm', -+ '-lws2_32' - ], - }, - }], -diff --git a/node.gyp b/node.gyp -index 38dcdac0..dba17e28 100644 ---- a/node.gyp -+++ b/node.gyp -@@ -339,9 +339,9 @@ - 'conditions': [ - ['OS=="win"', { - 'libraries': [ -- 'dbghelp.lib', -- 'PsApi.lib', -- 'Ws2_32.lib', -+ 'dbghelp', -+ 'psapi', -+ 'ws2_32', - ], - 'dll_files': [ - 'dbghelp.dll', -@@ -586,7 +586,7 @@ - ], - }], - ], -- 'libraries': [ '-lpsapi.lib' ] -+ 'libraries': [ '-lpsapi' ] - }], - [ 'node_use_etw=="true"', { - 'defines': [ 'HAVE_ETW=1' ], -@@ -682,9 +682,9 @@ - 'conditions': [ - ['OS=="win"', { - 'libraries': [ -- 'dbghelp.lib', -- 'PsApi.lib', -- 'Ws2_32.lib', -+ 'dbghelp', -+ 'psapi', -+ 'ws2_32', - ], - 'dll_files': [ - 'dbghelp.dll', -@@ -1047,9 +1047,9 @@ - 'conditions': [ - ['OS=="win"', { - 'libraries': [ -- 'dbghelp.lib', -- 'PsApi.lib', -- 'Ws2_32.lib', -+ 'dbghelp', -+ 'psapi', -+ 'ws2_32', - ], - 'dll_files': [ - 'dbghelp.dll', --- -2.17.0.windows.1 diff --git a/mingw-w64-nodejs/0006-Define-_WIN32_WINNT-in-node.gyp.patch b/mingw-w64-nodejs/0006-Define-_WIN32_WINNT-in-node.gyp.patch deleted file mode 100644 index c3306a3acf..0000000000 --- a/mingw-w64-nodejs/0006-Define-_WIN32_WINNT-in-node.gyp.patch +++ /dev/null @@ -1,23 +0,0 @@ -From b2a82cd1865cbf1dc21db290b1be33439646dd04 Mon Sep 17 00:00:00 2001 -From: Alethea Rose -Date: Wed, 15 Feb 2017 02:03:24 -0500 -Subject: [PATCH 06/23] Define _WIN32_WINNT in node.gyp - ---- - node.gypi | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/node.gypi b/node.gypi -index 3990c59e..2705cefe 100644 ---- a/node.gypi -+++ b/node.gypi -@@ -55,5 +55,6 @@ - 'defines!': [ - 'NODE_PLATFORM="win"', - ], -+ 'defines': [ '_WIN32_WINNT=0x0601' ], - 'defines': [ - 'FD_SETSIZE=1024', - # we need to use node's preferred "win32" rather than gyp's preferred "win" --- -2.17.0.windows.1 diff --git a/mingw-w64-nodejs/0007-Skip-sys-resource-and-unneeded-includes-in-node.cc.patch b/mingw-w64-nodejs/0007-Skip-sys-resource-and-unneeded-includes-in-node.cc.patch deleted file mode 100644 index 16c227fd97..0000000000 --- a/mingw-w64-nodejs/0007-Skip-sys-resource-and-unneeded-includes-in-node.cc.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 245132eb35e4f9829737e56fe56a1ccbfd42690a Mon Sep 17 00:00:00 2001 -From: Alethea Rose -Date: Wed, 15 Feb 2017 02:45:09 -0500 -Subject: [PATCH 07/23] Skip sys/resource and unneeded includes in node.cc - ---- - src/node.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/node.cc b/src/node.cc -index d17752bb..0008d755 100644 ---- a/src/node.cc -+++ b/src/node.cc -@@ -94,7 +94,7 @@ - #include - #endif - --#if defined(_MSC_VER) -+#if defined(_WIN32) - #include - #include - #define STDIN_FILENO 0 --- -2.17.0.windows.1 - diff --git a/mingw-w64-nodejs/0008-Link-with-municode-and-extern-wmain-for-Unicode.patch b/mingw-w64-nodejs/0008-Link-with-municode-and-extern-wmain-for-Unicode.patch deleted file mode 100644 index c05812cb29..0000000000 --- a/mingw-w64-nodejs/0008-Link-with-municode-and-extern-wmain-for-Unicode.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 3b353a4dbc0e96a35d18dde94a787945f1c5c58a Mon Sep 17 00:00:00 2001 -From: Alethea Rose -Date: Wed, 15 Feb 2017 19:11:53 -0500 -Subject: [PATCH 08/23] Link with -municode and extern wmain for Unicode - ---- - node.gyp | 5 +++-- - node.gypi | 1 + - src/node_main.cc | 9 +++++++++ - 3 files changed, 13 insertions(+), 2 deletions(-) - -diff --git a/node.gyp b/node.gyp -index dba17e28..aa6e0588 100644 ---- a/node.gyp -+++ b/node.gyp -@@ -586,7 +586,7 @@ - ], - }], - ], -- 'libraries': [ '-lpsapi' ] -+ 'libraries': [ '-municode', '-lpsapi' ] - }], - [ 'node_use_etw=="true"', { - 'defines': [ 'HAVE_ETW=1' ], -@@ -993,7 +993,8 @@ - '<(SHARED_INTERMEDIATE_DIR)', # for node_natives.h - ], - -- 'defines': [ 'NODE_WANT_INTERNALS=1' ], -+ 'defines': [ 'NODE_WANT_INTERNALS=1', '_UNICODE=1', 'UNICODE' ], -+ 'libraries': [ '-municode' ], - - 'sources': [ - 'test/cctest/node_module_reg.cc', -diff --git a/node.gypi b/node.gypi -index dba17e28..aa6e0588 100644 ---- a/node.gypi -+++ b/node.gypi -@@ -64,6 +64,7 @@ - # but we still inherit it from uv.h. - 'NOMINMAX', - '_UNICODE=1', -+ 'UNICODE', - ], - }, { # POSIX - 'defines': [ '__POSIX__' ], -diff --git a/src/node_main.cc b/src/node_main.cc -index 2a511b92..d592a1f8 100644 ---- a/src/node_main.cc -+++ b/src/node_main.cc -@@ -27,6 +27,10 @@ - #include - #include - -+#if defined(__MINGW_VERSION_MAJOR) -+#extern "C" { -+#endif -+ - int wmain(int argc, wchar_t* wargv[]) { - if (!IsWindows7OrGreater()) { - fprintf(stderr, "This application is only supported on Windows 7, " -@@ -71,6 +75,11 @@ int wmain(int argc, wchar_t *wargv[]) { - // Now that conversion is done, we can finally start. - return node::Start(argc, argv); - } -+ -+#if defined(__MINGW_VERSION_MAJOR) -+} -+#endif -+ - #else - // UNIX - #ifdef __linux__ --- -2.17.0.windows.1 diff --git a/mingw-w64-nodejs/0010-Fix-incorrect-test-assumptions-for-MinGW.patch b/mingw-w64-nodejs/0010-Fix-incorrect-test-assumptions-for-MinGW.patch deleted file mode 100644 index 180a53e799..0000000000 --- a/mingw-w64-nodejs/0010-Fix-incorrect-test-assumptions-for-MinGW.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 0216a3a3d9920be1c65aa1ed90b0548b04a99d05 Mon Sep 17 00:00:00 2001 -From: Alethea Rose -Date: Wed, 15 Feb 2017 22:21:51 -0500 -Subject: [PATCH 10/23] Fix incorrect test assumptions for MinGW - ---- - test/parallel/test-debugger-pid.js | 3 ++- - test/parallel/test-https-foafssl.js | 6 +++++- - test/parallel/test-npm-install.js | 5 +++++ - 4 files changed, 16 insertions(+), 3 deletions(-) - -diff --git a/test/parallel/test-debugger-pid.js b/test/parallel/test-debugger-pid.js -index e11d2315..857e6be7 100644 ---- a/test/parallel/test-debugger-pid.js -+++ b/test/parallel/test-debugger-pid.js -@@ -11,8 +11,9 @@ const interfacer = spawn(process.execPath, ['debug', '-p', '655555']); - - interfacer.stdout.setEncoding('utf-8'); - interfacer.stderr.setEncoding('utf-8'); -+const newline = common.isMinGW ? '\r\n' : '\n'; - const onData = (data) => { -- data = (buffer + data).split('\n'); -+ data = (buffer + data).split(newline); - buffer = data.pop(); - data.forEach(function(line) { - interfacer.emit('line', line); -diff --git a/test/parallel/test-https-foafssl.js b/test/parallel/test-https-foafssl.js -index 4e1a8fbc..6cf6deca 100644 ---- a/test/parallel/test-https-foafssl.js -+++ b/test/parallel/test-https-foafssl.js -@@ -81,7 +81,11 @@ server.listen(0, function() { - server.close(); - }); - -- client.stdin.write('GET /\n\n'); -+ if (common.isMinGW) { -+ client.stdin.write('GET /\r\n\r\n'); -+ } else { -+ client.stdin.write('GET /\n\n'); -+ } - - client.on('error', function(error) { - throw error; -diff --git a/test/parallel/test-npm-install.js b/test/parallel/test-npm-install.js -index d826eb09..be4084f2 100644 ---- a/test/parallel/test-npm-install.js -+++ b/test/parallel/test-npm-install.js -@@ -9,6 +9,11 @@ const assert = require('assert'); - const fs = require('fs'); - const fixtures = require('../common/fixtures'); - -+if(common.isMinGW) { -+ common.skip('npm is split into its own package'); -+ return; -+} -+ - const tmpdir = require('../common/tmpdir'); - tmpdir.refresh(); - const npmSandbox = path.join(tmpdir.path, 'npm-sandbox'); --- -2.17.0.windows.1 diff --git a/mingw-w64-nodejs/0011-detect-architecture.patch b/mingw-w64-nodejs/0011-detect-architecture.patch deleted file mode 100644 index 2d8563422d..0000000000 --- a/mingw-w64-nodejs/0011-detect-architecture.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 5ed8bd0689649f985ff1b89a63f064c078adc6a6 Mon Sep 17 00:00:00 2001 -From: Alexey Pavlov -Date: Thu, 12 Apr 2018 10:18:48 +0200 -Subject: [PATCH 11/23] detect architecture - ---- - configure.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.py b/configure.py -index 5a242a1a..9950626e 100755 ---- a/configure.py -+++ b/configure.py -@@ -955,7 +955,7 @@ def configure_node(o): - o['variables']['node_report'] = b(not options.without_report) - o['default_configuration'] = 'Debug' if options.debug else 'Release' - -- host_arch = host_arch_win() if os.name == 'nt' else host_arch_cc() -+ host_arch = host_arch_win() if (os.name == 'nt' and not ('GCC' in sys.version)) else host_arch_cc() - target_arch = options.dest_cpu or host_arch - # ia32 is preferred by the build tools (GYP) over x86 even if we prefer the latter - # the Makefile resets this to x86 afterward --- -2.17.0.windows.1 diff --git a/mingw-w64-nodejs/0012-Use-shell-wrapper-script-for-npm-on-MSYS2-mingw-w64.patch b/mingw-w64-nodejs/0012-Use-shell-wrapper-script-for-npm-on-MSYS2-mingw-w64.patch deleted file mode 100644 index fcc5797df8..0000000000 --- a/mingw-w64-nodejs/0012-Use-shell-wrapper-script-for-npm-on-MSYS2-mingw-w64.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 94d3d4f85a245f474091a5e241e249ecbc2c12a1 Mon Sep 17 00:00:00 2001 -From: Alexey Pavlov -Date: Thu, 12 Apr 2018 10:20:30 +0200 -Subject: [PATCH 12/23] Use shell wrapper script for npm on MSYS2 mingw-w64 - ---- - tools/install.py | 24 ++++++++++++++++++++++-- - 1 file changed, 22 insertions(+), 2 deletions(-) - -diff --git a/tools/install.py b/tools/install.py -index be2bab54..20dfee30 100755 ---- a/tools/install.py -+++ b/tools/install.py -@@ -95,7 +95,17 @@ def npm_files(action): - if action == uninstall: - action([link_path], 'bin/npm') - elif action == install: -- try_symlink('../lib/node_modules/npm/bin/npm-cli.js', link_path) -+ # Use MSYS2 shell script wrapper. -+ if ((os.name == 'nt' and 'GCC' in sys.version) or -+ (os.name == 'posix' and 'NT' in platform.system())): -+ # Copy the wrapper shell script -+ try_copy('deps/npm/bin/npm', link_path) -+ # deps/npm/bin/npm is a shell script so the shebang must run sh, not node -+ s = open(link_path, 'r').read() -+ s = re.sub(r'#!.*\n', '#!' + '/usr/bin/env sh' + '\n', s) -+ open(link_path, 'w').write(s) -+ else: -+ try_symlink('../lib/node_modules/npm/bin/npm-cli.js', link_path) - else: - assert(0) # unhandled action type - -@@ -104,7 +114,17 @@ def npm_files(action): - if action == uninstall: - action([link_path], 'bin/npx') - elif action == install: -- try_symlink('../lib/node_modules/npm/bin/npx-cli.js', link_path) -+ # Use MSYS2 shell script wrapper. -+ if ((os.name == 'nt' and 'GCC' in sys.version) or -+ (os.name == 'posix' and 'NT' in platform.system())): -+ # Copy the wrapper shell script -+ try_copy('deps/npm/bin/npx', link_path) -+ # deps/npm/bin/npm is a shell script so the shebang must run sh, not node -+ s = open(link_path, 'r').read() -+ s = re.sub(r'#!.*\n', '#!' + '/usr/bin/env sh' + '\n', s) -+ open(link_path, 'w').write(s) -+ else: -+ try_symlink('../lib/node_modules/npm/bin/npx-cli.js', link_path) - else: - assert(0) # unhandled action type - --- -2.17.0.windows.1 - diff --git a/mingw-w64-nodejs/0013-Revert-to-FHS-installation-paths-on-Windows-tests-no.patch b/mingw-w64-nodejs/0013-Revert-to-FHS-installation-paths-on-Windows-tests-no.patch deleted file mode 100644 index e6654574fd..0000000000 --- a/mingw-w64-nodejs/0013-Revert-to-FHS-installation-paths-on-Windows-tests-no.patch +++ /dev/null @@ -1,127 +0,0 @@ -From bcee3d1a11b3cfdb3e2cf970674b10829b9cf293 Mon Sep 17 00:00:00 2001 -From: Mateusz Mikula -Date: Sat, 24 Jun 2017 13:59:32 +0200 -Subject: [PATCH 13/23] Revert to FHS installation paths on Windows (tests not - fixed) - - Author: Mateusz Mikula ---- - deps/npm/bin/npm | 4 ++-- - deps/npm/bin/npm.cmd | 4 ++-- - deps/npm/lib/config/defaults.js | 7 ++----- - deps/npm/lib/npm.js | 6 ++---- - deps/npm/lib/unbuild.js | 1 - - deps/npm/node_modules/bin-links/index.js | 2 +- - 6 files changed, 9 insertions(+), 15 deletions(-) - -diff --git a/deps/npm/bin/npm b/deps/npm/bin/npm -index 5acd6fb6..dc01687e 100755 ---- a/deps/npm/bin/npm -+++ b/deps/npm/bin/npm -@@ -12,12 +12,12 @@ if ! [ -x "$NODE_EXE" ]; then - NODE_EXE=node - fi - --NPM_CLI_JS="$basedir/node_modules/npm/bin/npm-cli.js" -+NPM_CLI_JS="$basedir/../lib/node_modules/npm/bin/npm-cli.js" - - case `uname` in - *MINGW*) - NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix -g` -- NPM_PREFIX_NPM_CLI_JS="$NPM_PREFIX/node_modules/npm/bin/npm-cli.js" -+ NPM_PREFIX_NPM_CLI_JS="$NPM_PREFIX/../lib/node_modules/npm/bin/npm-cli.js" - if [ -f "$NPM_PREFIX_NPM_CLI_JS" ]; then - NPM_CLI_JS="$NPM_PREFIX_NPM_CLI_JS" - fi -diff --git a/deps/npm/bin/npm.cmd b/deps/npm/bin/npm.cmd -index 880554dc..12507ba1 100644 ---- a/deps/npm/bin/npm.cmd -+++ b/deps/npm/bin/npm.cmd -@@ -8,9 +8,9 @@ IF NOT EXIST "%NODE_EXE%" ( - SET "NODE_EXE=node" - ) - --SET "NPM_CLI_JS=%~dp0\node_modules\npm\bin\npm-cli.js" -+SET "NPM_CLI_JS=%~dp0\..\lib\node_modules\npm\bin\npm-cli.js" - FOR /F "delims=" %%F IN ('CALL "%NODE_EXE%" "%NPM_CLI_JS%" prefix -g') DO ( -- SET "NPM_PREFIX_NPM_CLI_JS=%%F\node_modules\npm\bin\npm-cli.js" -+ SET "NPM_PREFIX_NPM_CLI_JS=%%F\..\lib\node_modules\npm\bin\npm-cli.js" - ) - IF EXIST "%NPM_PREFIX_NPM_CLI_JS%" ( - SET "NPM_CLI_JS=%NPM_PREFIX_NPM_CLI_JS%" -diff --git a/deps/npm/lib/config/defaults.js b/deps/npm/lib/config/defaults.js -index c049f213..d1654b7c 100644 ---- a/deps/npm/lib/config/defaults.js -+++ b/deps/npm/lib/config/defaults.js -@@ -81,8 +81,8 @@ var uidOrPid = process.getuid ? process.getuid() : process.pid - if (home) process.env.HOME = home - else home = path.resolve(temp, 'npm-' + uidOrPid) - --var cacheExtra = process.platform === 'win32' ? 'npm-cache' : '.npm' --var cacheRoot = (process.platform === 'win32' && process.env.APPDATA) || home -+var cacheExtra = '.npm' -+var cacheRoot = home - var cache = path.resolve(cacheRoot, cacheExtra) - - var globalPrefix -@@ -91,9 +91,6 @@ Object.defineProperty(exports, 'defaults', {get: function () { - - if (process.env.PREFIX) { - globalPrefix = process.env.PREFIX -- } else if (process.platform === 'win32') { -- // c:\node\node.exe --> prefix=c:\node\ -- globalPrefix = path.dirname(process.execPath) - } else { - // /usr/local/bin/node --> prefix=/usr/local - globalPrefix = path.dirname(path.dirname(process.execPath)) -diff --git a/deps/npm/lib/npm.js b/deps/npm/lib/npm.js -index e5871260..ad9ed251 100644 ---- a/deps/npm/lib/npm.js -+++ b/deps/npm/lib/npm.js -@@ -387,7 +387,7 @@ - { - get: function () { - var b = npm.globalPrefix -- if (process.platform !== 'win32') b = path.resolve(b, 'bin') -+ b = path.resolve(b, 'bin') - return b - } - }) -@@ -404,9 +404,7 @@ - Object.defineProperty(npm, 'globalDir', - { - get: function () { -- return (process.platform !== 'win32') -- ? path.resolve(npm.globalPrefix, 'lib', 'node_modules') -- : path.resolve(npm.globalPrefix, 'node_modules') -+ return path.resolve(npm.globalPrefix, 'lib', 'node_modules') - }, - enumerable: true - }) -diff --git a/deps/npm/lib/unbuild.js b/deps/npm/lib/unbuild.js -index 78293c9c..0360b8c6 100644 ---- a/deps/npm/lib/unbuild.js -+++ b/deps/npm/lib/unbuild.js -@@ -92,7 +92,6 @@ function rmBins (pkg, folder, parent, top, cb) { - function rmMans (pkg, folder, parent, top, cb) { - if (!pkg.man || - !top || -- process.platform === 'win32' || - !npm.config.get('global')) { - return cb() - } -diff --git a/deps/npm/node_modules/bin-links/index.js b/deps/npm/node_modules/bin-links/index.js -index e6370aca..759daee6 100644 ---- a/deps/npm/node_modules/bin-links/index.js -+++ b/deps/npm/node_modules/bin-links/index.js -@@ -115,7 +115,7 @@ function linkBin (from, to, opts, cb) { - } - - function linkMans (pkg, folder, parent, gtop, opts) { -- if (!pkg.man || !gtop || process.platform === 'win32') return -+ if (!pkg.man || !gtop) return - - var manRoot = path.resolve(opts.prefix, 'share', 'man') - opts.log.verbose('linkMans', 'man files are', pkg.man, 'in', manRoot) --- -2.17.0.windows.1 diff --git a/mingw-w64-nodejs/0015-cctest-allow-building-with-municode.patch b/mingw-w64-nodejs/0015-cctest-allow-building-with-municode.patch deleted file mode 100644 index e33028f05c..0000000000 --- a/mingw-w64-nodejs/0015-cctest-allow-building-with-municode.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 1979214e69399d503b0f5a5b302101c80d8f437a Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Sat, 14 Apr 2018 00:23:10 +0200 -Subject: [PATCH 15/23] cctest: allow building with -municode - -The rest of the code is built with -municode, we cannot start building -cctest (which relies on the already-built parts) without this option. - -Signed-off-by: Johannes Schindelin ---- - deps/gtest/src/gtest_main.cc | 61 ++++++++++++++++++++++++++++++++++++ - 1 file changed, 61 insertions(+) - -diff --git a/deps/gtest/src/gtest_main.cc b/deps/gtest/src/gtest_main.cc -index 4cf03e59..e71ff613 100644 ---- a/deps/gtest/src/gtest_main.cc -+++ b/deps/gtest/src/gtest_main.cc -@@ -31,7 +31,68 @@ - - #include "gtest/gtest.h" - -+#ifdef _WIN32 -+#include -+#include -+ -+#if defined(__MINGW_VERSION_MAJOR) -+#extern "C" { -+#endif -+ -+int wmain(int argc, wchar_t *wargv[]) { -+ if (!IsWindows7OrGreater()) { -+ fprintf(stderr, "This application is only supported on Windows 7, " -+ "Windows Server 2008 R2, or higher."); -+ exit(1); -+ } -+ -+ // Convert argv to to UTF8 -+ char** argv = new char*[argc + 1]; -+ for (int i = 0; i < argc; i++) { -+ // Compute the size of the required buffer -+ DWORD size = WideCharToMultiByte(CP_UTF8, -+ 0, -+ wargv[i], -+ -1, -+ nullptr, -+ 0, -+ nullptr, -+ nullptr); -+ if (size == 0) { -+ // This should never happen. -+ fprintf(stderr, "Could not convert arguments to utf8."); -+ exit(1); -+ } -+ // Do the actual conversion -+ argv[i] = new char[size]; -+ DWORD result = WideCharToMultiByte(CP_UTF8, -+ 0, -+ wargv[i], -+ -1, -+ argv[i], -+ size, -+ nullptr, -+ nullptr); -+ if (result == 0) { -+ // This should never happen. -+ fprintf(stderr, "Could not convert arguments to utf8."); -+ exit(1); -+ } -+ } -+ argv[argc] = nullptr; -+ testing::InitGoogleTest(&argc, argv); -+ return RUN_ALL_TESTS(); -+} -+ -+#if defined(__MINGW_VERSION_MAJOR) -+} -+#endif -+ -+#else -+ - GTEST_API_ int main(int argc, char **argv) { - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); - } -+ -+#endif --- -2.17.0.windows.1 - diff --git a/mingw-w64-nodejs/0016-format-macros.h-do-not-rely-on-__STDC_FORMAT_MACROS.patch b/mingw-w64-nodejs/0016-format-macros.h-do-not-rely-on-__STDC_FORMAT_MACROS.patch deleted file mode 100644 index 6f3db84e1b..0000000000 --- a/mingw-w64-nodejs/0016-format-macros.h-do-not-rely-on-__STDC_FORMAT_MACROS.patch +++ /dev/null @@ -1,37 +0,0 @@ -From d17f9f527f2cdae7564602525b7e851ce4902115 Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Sat, 14 Apr 2018 20:10:12 +0200 -Subject: [PATCH 16/23] format-macros.h: do not rely on __STDC_FORMAT_MACROS - -The PRId64 macro and friends are not universally defined in inttypes.h. -Let's just go ahead and define them when needed. - -Signed-off-by: Johannes Schindelin ---- - deps/v8/src/base/format-macros.h | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/deps/v8/src/base/format-macros.h b/deps/v8/src/base/format-macros.h -index 5f5fe5df..13f240a2 100644 ---- a/deps/v8/src/base/format-macros.h -+++ b/deps/v8/src/base/format-macros.h -@@ -80,6 +80,16 @@ - - #else // V8_OS_WIN - -+#ifndef PRId64 -+#define PRId64 "I64d" -+#endif -+#ifndef PRIu64 -+#define PRIu64 "I64u" -+#endif -+#ifndef PRIx64 -+#define PRIx64 "I64x" -+#endif -+ - #if !defined(PRId64) || !defined(PRIu64) || !defined(PRIx64) - #error "inttypes.h provided by win toolchain should define these." - #endif --- -2.17.0.windows.1 - diff --git a/mingw-w64-nodejs/0017-Do-not-get-confused-by-the-presence-of-winpthread.patch b/mingw-w64-nodejs/0017-Do-not-get-confused-by-the-presence-of-winpthread.patch deleted file mode 100644 index ab08b356e8..0000000000 --- a/mingw-w64-nodejs/0017-Do-not-get-confused-by-the-presence-of-winpthread.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 79be156837e69e90daf9937c81b5b714bab8492c Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Sat, 14 Apr 2018 15:34:05 +0200 -Subject: [PATCH 17/23] Do not get confused by the presence of winpthread - -We still have no ClockNow() defined on Windows... - -Signed-off-by: Johannes Schindelin ---- - deps/v8/src/base/platform/time.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/deps/v8/src/base/platform/time.cc b/deps/v8/src/base/platform/time.cc -index 09e3fd02..dcc13087 100644 ---- a/deps/v8/src/base/platform/time.cc -+++ b/deps/v8/src/base/platform/time.cc -@@ -650,13 +650,13 @@ bool ThreadTicks::IsSupported() { - ThreadTicks ThreadTicks::Now() { - #if V8_OS_MACOSX - return ThreadTicks(ComputeThreadTicks()); -+#elif V8_OS_WIN -+ return ThreadTicks::GetForThread(::GetCurrentThread()); - #elif(defined(_POSIX_THREAD_CPUTIME) && (_POSIX_THREAD_CPUTIME >= 0)) || \ - defined(V8_OS_ANDROID) - return ThreadTicks(ClockNow(CLOCK_THREAD_CPUTIME_ID)); - #elif V8_OS_SOLARIS - return ThreadTicks(gethrvtime() / Time::kNanosecondsPerMicrosecond); --#elif V8_OS_WIN -- return ThreadTicks::GetForThread(::GetCurrentThread()); - #else - UNREACHABLE(); - #endif --- -2.17.0.windows.1 - diff --git a/mingw-w64-nodejs/0018-Add-missing-include-to-build-condition-variable.cc-s.patch b/mingw-w64-nodejs/0018-Add-missing-include-to-build-condition-variable.cc-s.patch deleted file mode 100644 index 707649de0f..0000000000 --- a/mingw-w64-nodejs/0018-Add-missing-include-to-build-condition-variable.cc-s.patch +++ /dev/null @@ -1,26 +0,0 @@ -From aab5602c55871c9c8ab63e802f0583c2a594b4c3 Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Sat, 14 Apr 2018 15:34:56 +0200 -Subject: [PATCH 18/23] Add missing #include to build condition-variable.cc - successfully - -Signed-off-by: Johannes Schindelin ---- - deps/v8/src/base/platform/condition-variable.cc | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/deps/v8/src/base/platform/condition-variable.cc b/deps/v8/src/base/platform/condition-variable.cc -index 6df8599d..307263c6 100644 ---- a/deps/v8/src/base/platform/condition-variable.cc -+++ b/deps/v8/src/base/platform/condition-variable.cc -@@ -8,6 +8,7 @@ - #include - - #include "src/base/platform/time.h" -+#include - - namespace v8 { - namespace base { --- -2.17.0.windows.1 - diff --git a/mingw-w64-nodejs/0020-inspector-use-namespaced-icu-symbols.patch b/mingw-w64-nodejs/0020-inspector-use-namespaced-icu-symbols.patch deleted file mode 100644 index 8d56e83de8..0000000000 --- a/mingw-w64-nodejs/0020-inspector-use-namespaced-icu-symbols.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 291385eae1987bfc26c21de8e883f8af94881360 Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Sat, 14 Apr 2018 15:37:06 +0200 -Subject: [PATCH 20/23] inspector: use namespaced icu symbols - -Needed to fix the build. - -Signed-off-by: Johannes Schindelin ---- - src/inspector_io.cc | 3 +++ - src/node_i18n.cc | 2 ++ - 2 files changed, 5 insertions(+) - -diff --git a/src/inspector_io.cc b/src/inspector_io.cc -index 538cbab3..e6a780a2 100644 ---- a/src/inspector_io.cc -+++ b/src/inspector_io.cc -@@ -22,6 +22,9 @@ namespace { - using AsyncAndAgent = std::pair; - using v8_inspector::StringBuffer; - using v8_inspector::StringView; -+using icu::UnicodeString; -+using icu::CheckedArrayByteSink; -+using icu::StringPiece; - - template - using TransportAndIo = std::pair; -diff --git a/src/node_i18n.cc b/src/node_i18n.cc -index cc02092d..572d4446 100644 ---- a/src/node_i18n.cc -+++ b/src/node_i18n.cc -@@ -94,6 +94,8 @@ using v8::ObjectTemplate; - using v8::String; - using v8::Value; - -+using icu::TimeZone; -+ - namespace i18n { - namespace { - --- -2.17.0.windows.1 - diff --git a/mingw-w64-nodejs/0021-Use-wide-character-Win32-API-functions-to-handle-wch.patch b/mingw-w64-nodejs/0021-Use-wide-character-Win32-API-functions-to-handle-wch.patch deleted file mode 100644 index a0c8913553..0000000000 --- a/mingw-w64-nodejs/0021-Use-wide-character-Win32-API-functions-to-handle-wch.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 1bcebd98fee4e97be94be19ade983c142d3f2892 Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Sat, 14 Apr 2018 20:40:00 +0200 -Subject: [PATCH 21/23] Use wide-character Win32 API functions to handle - `wchar_t *` - -Signed-off-by: Johannes Schindelin ---- - deps/v8/src/base/debug/stack_trace_win.cc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/deps/v8/src/base/debug/stack_trace_win.cc b/deps/v8/src/base/debug/stack_trace_win.cc -index 64e63091..8110ef29 100644 ---- a/deps/v8/src/base/debug/stack_trace_win.cc -+++ b/deps/v8/src/base/debug/stack_trace_win.cc -@@ -50,9 +50,9 @@ long WINAPI StackDumpExceptionFilter(EXCEPTION_POINTERS* info) { // NOLINT - } - - void GetExePath(wchar_t* path_out) { -- GetModuleFileName(nullptr, path_out, MAX_PATH); -+ GetModuleFileNameW(nullptr, path_out, MAX_PATH); - path_out[MAX_PATH - 1] = L'\0'; -- PathRemoveFileSpec(path_out); -+ PathRemoveFileSpecW(path_out); - } - - bool InitializeSymbols() { --- -2.17.0.windows.1 diff --git a/mingw-w64-nodejs/0022-Disable-MSVC_HACK.patch b/mingw-w64-nodejs/0022-Disable-MSVC_HACK.patch deleted file mode 100644 index 3c5827bfea..0000000000 --- a/mingw-w64-nodejs/0022-Disable-MSVC_HACK.patch +++ /dev/null @@ -1,27 +0,0 @@ -From a818f5d1cc8146c0880efad675ddd48efe4174b6 Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Sat, 14 Apr 2018 20:42:47 +0200 -Subject: [PATCH 22/23] Disable MSVC_HACK - -It only produces compile errors with GCC... - -Signed-off-by: Johannes Schindelin ---- - deps/v8/src/base/export-template.h | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/deps/v8/src/base/export-template.h b/deps/v8/src/base/export-template.h -index 861cfe40..0211fd52 100644 ---- a/deps/v8/src/base/export-template.h -+++ b/deps/v8/src/base/export-template.h -@@ -153,7 +153,6 @@ - - EXPORT_TEMPLATE_TEST(DEFAULT, ); - EXPORT_TEMPLATE_TEST(DEFAULT, __attribute__((visibility("default")))); --EXPORT_TEMPLATE_TEST(MSVC_HACK, __declspec(dllexport)); - EXPORT_TEMPLATE_TEST(DEFAULT, __declspec(dllimport)); - - #undef EXPORT_TEMPLATE_TEST --- -2.17.0.windows.1 - diff --git a/mingw-w64-nodejs/0023-Make-sure-that-__rdtsc-is-declared.patch b/mingw-w64-nodejs/0023-Make-sure-that-__rdtsc-is-declared.patch deleted file mode 100644 index 1bd8b4a0ca..0000000000 --- a/mingw-w64-nodejs/0023-Make-sure-that-__rdtsc-is-declared.patch +++ /dev/null @@ -1,32 +0,0 @@ -From c66e0118a3b270a96f71ce2f072ef5598436d7d1 Mon Sep 17 00:00:00 2001 -From: Johannes Schindelin -Date: Sun, 15 Apr 2018 13:33:29 +0200 -Subject: [PATCH 23/23] Make sure that __rdtsc() is declared - -Otherwise, the 32-bit mingw-w64 build fails. - -Signed-off-by: Johannes Schindelin ---- - deps/v8/src/base/platform/time.cc | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/deps/v8/src/base/platform/time.cc b/deps/v8/src/base/platform/time.cc -index dcc13087..2055039c 100644 ---- a/deps/v8/src/base/platform/time.cc -+++ b/deps/v8/src/base/platform/time.cc -@@ -695,6 +695,12 @@ void ThreadTicks::WaitUntilInitializedWin() { - ::Sleep(10); - } - -+#ifdef __MINGW64_VERSION_MAJOR -+extern "C" { -+ extern unsigned __int64 __rdtsc(void); -+} -+#endif -+ - double ThreadTicks::TSCTicksPerSecond() { - DCHECK(IsSupported()); - --- -2.17.0.windows.1 - diff --git a/mingw-w64-nodejs/0024-gyp-mingw.patch b/mingw-w64-nodejs/0024-gyp-mingw.patch deleted file mode 100644 index 2bfa757944..0000000000 --- a/mingw-w64-nodejs/0024-gyp-mingw.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff -Naur node-v11.15.0-orig/configure.py node-v11.15.0/configure.py ---- node-v11.15.0-orig/configure.py -+++ node-v11.15.0/configure.py -@@ -1687,7 +1687,7 @@ - - if options.use_ninja: - gyp_args += ['-f', 'ninja'] --elif flavor == 'win' and sys.platform != 'msys': -+elif flavor == 'win' and sys.platform != 'msys' and not ('GCC' in sys.version): - gyp_args += ['-f', 'msvs', '-G', 'msvs_version=auto'] - else: - gyp_args += ['-f', 'make-' + flavor] -diff -Naur node-v11.15.0-orig/tools/gyp/pylib/gyp/generator/make.py node-v11.15.0/tools/gyp/pylib/gyp/generator/make.py ---- node-v11.15.0-orig/tools/gyp/pylib/gyp/generator/make.py 2019-04-30 20:31:53.000000000 +0300 -+++ node-v11.15.0/tools/gyp/pylib/gyp/generator/make.py 2019-06-28 08:07:23.053184000 +0300 -@@ -94,6 +94,8 @@ - default_variables.setdefault('OS', operating_system) - if flavor == 'aix': - default_variables.setdefault('SHARED_LIB_SUFFIX', '.a') -+ elif flavor == 'win': -+ default_variables.setdefault('SHARED_LIB_SUFFIX', '.dll') - else: - default_variables.setdefault('SHARED_LIB_SUFFIX', '.so') - default_variables.setdefault('SHARED_LIB_DIR','$(builddir)/lib.$(TOOLSET)') -@@ -172,6 +174,26 @@ - cmd_solink_module = $(LINK.$(TOOLSET)) -o $@ -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,-soname=$(@F) -Wl,--start-group $(filter-out FORCE_DO_CMD, $^) -Wl,--end-group $(LIBS) - """ - -+LINK_COMMANDS_WINMINGW = """\ -+quiet_cmd_alink = AR($(TOOLSET)) $@ -+cmd_alink = rm -f $@ && echo $(filter %.o,$^) >> $(@).rsp && $(AR.$(TOOLSET)) crs $@ @$(@).rsp -+ -+quiet_cmd_alink_thin = AR($(TOOLSET)) $@ -+cmd_alink_thin = rm -f $@ && echo $(filter %.o,$^) >> $(@).rsp && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^) @$(@).rsp -+ -+# Due to circular dependencies between libraries :(, we wrap the -+# special "figure out circular dependencies" flags around the entire -+# input list during linking. -+quiet_cmd_link = LINK($(TOOLSET)) $@ -+cmd_link = $(LINK.$(TOOLSET)) -o $@ $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,--start-group $(LD_INPUTS) $(LIBS) -Wl,--end-group -+ -+quiet_cmd_solink = SOLINK($(TOOLSET)) $@ -+cmd_solink = $(LINK.$(TOOLSET)) -o $@ -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,--out-implib,$(@F).a -Wl,--whole-archive $(LD_INPUTS) -Wl,--no-whole-archive $(LIBS) -+ -+quiet_cmd_solink_module = SOLINK_MODULE($(TOOLSET)) $@ -+cmd_solink_module = $(LINK.$(TOOLSET)) -o $@ -shared $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,--out-implib,$(@F).a -Wl,--start-group $(filter-out FORCE_DO_CMD, $^) -Wl,--end-group $(LIBS) -+""" -+ - LINK_COMMANDS_MAC = """\ - quiet_cmd_alink = LIBTOOL-STATIC $@ - cmd_alink = rm -f $@ && ./gyp-mac-tool filter-libtool libtool $(GYP_LIBTOOLFLAGS) -static -o $@ $(filter %.o,$^) -@@ -1354,6 +1376,8 @@ - target_prefix = 'lib' - if self.flavor == 'aix': - target_ext = '.a' -+ elif self.flavor == 'win': -+ target_ext = '.dll' - else: - target_ext = '.so' - elif self.type == 'none': -@@ -2060,6 +2084,11 @@ - header_params.update({ - 'copy_archive_args': copy_archive_arguments, - }) -+ elif flavor == 'win': -+ copy_archive_arguments = '-pPRf' -+ header_params.update({ -+ 'link_commands': LINK_COMMANDS_WINMINGW, -+ }) - elif flavor == 'aix': - copy_archive_arguments = '-pPRf' - header_params.update({ diff --git a/mingw-w64-nodejs/0025-mingw-missing-features.patch b/mingw-w64-nodejs/0025-mingw-missing-features.patch deleted file mode 100644 index 7e6b9b2fee..0000000000 --- a/mingw-w64-nodejs/0025-mingw-missing-features.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- node-v11.15.0-orig/deps/v8/src/base/platform/platform-win32.cc.orig 2019-06-28 08:53:22.904659200 +0300 -+++ node-v11.15.0/deps/v8/src/base/platform/platform-win32.cc 2019-06-28 08:53:44.904690000 +0300 -@@ -36,7 +36,7 @@ - // Extra functions for MinGW. Most of these are the _s functions which are in - // the Microsoft Visual Studio C++ CRT. - #ifdef __MINGW32__ -- -+#define PAGE_TARGETS_INVALID 0x40000000 - - #ifndef __MINGW64_VERSION_MAJOR - diff --git a/mingw-w64-nodejs/PKGBUILD b/mingw-w64-nodejs/PKGBUILD deleted file mode 100644 index 71382b55b1..0000000000 --- a/mingw-w64-nodejs/PKGBUILD +++ /dev/null @@ -1,183 +0,0 @@ -# Maintainer: Martell Malone -# Maintainer: Ray Donnelly -# Contributor: David Macek -# Contributor: Mateusz Mikuła -# Contributor: Alethea Rose - -_realname=nodejs -pkgbase=mingw-w64-${_realname} -pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=11.15.0 -pkgrel=1 -pkgdesc="Evented I/O for V8 javascript (mingw-w64)" -arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') -url="https://nodejs.org/" -license=("MIT") -makedepends=("${MINGW_PACKAGE_PREFIX}-python2" - "${MINGW_PACKAGE_PREFIX}-nasm" - "${MINGW_PACKAGE_PREFIX}-autotools") -depends=("${MINGW_PACKAGE_PREFIX}-c-ares" - "${MINGW_PACKAGE_PREFIX}-http-parser" - "${MINGW_PACKAGE_PREFIX}-icu" - "${MINGW_PACKAGE_PREFIX}-nghttp2" - "${MINGW_PACKAGE_PREFIX}-libuv" - "${MINGW_PACKAGE_PREFIX}-openssl" - "${MINGW_PACKAGE_PREFIX}-zlib" - "winpty") -optdepends=("${MINGW_PACKAGE_PREFIX}-npm: nodejs package manager") -options=('!emptydirs' '!strip') # 'debug') - -source=("https://nodejs.org/dist/v${pkgver}/node-v${pkgver}.tar.xz" - '0001-Fix-python-invocation-to-python2.patch' - '0002-Fix-system-icu-build.patch' - '0003-Include-win32-headers.h-in-v8-atomicops.h.patch' - '0004-Define-localtime_s-for-MinGW.patch' - '0005-Remove-.lib-suffix-on-linked-libraries.patch' - '0006-Define-_WIN32_WINNT-in-node.gyp.patch' - '0007-Skip-sys-resource-and-unneeded-includes-in-node.cc.patch' - '0008-Link-with-municode-and-extern-wmain-for-Unicode.patch' - '0010-Fix-incorrect-test-assumptions-for-MinGW.patch' - '0011-detect-architecture.patch' - '0012-Use-shell-wrapper-script-for-npm-on-MSYS2-MinGW-w64.patch' - '0013-Revert-to-FHS-installation-paths-on-Windows-tests-no.patch' - '0015-cctest-allow-building-with-municode.patch' - '0016-format-macros.h-do-not-rely-on-__STDC_FORMAT_MACROS.patch' - '0017-Do-not-get-confused-by-the-presence-of-winpthread.patch' - '0018-Add-missing-include-to-build-condition-variable.cc-s.patch' - '0020-inspector-use-namespaced-icu-symbols.patch' - '0021-Use-wide-character-Win32-API-functions-to-handle-wch.patch' - '0022-Disable-MSVC_HACK.patch' - '0023-Make-sure-that-__rdtsc-is-declared.patch' - '0024-gyp-mingw.patch' - '0025-mingw-missing-features.patch' - 'node') - -prepare() { - cd "${srcdir}/node-v${pkgver}" - - patch -Np1 -i "${srcdir}/0001-Fix-python-invocation-to-python2.patch" - patch -Np1 -i "${srcdir}/0002-Fix-system-icu-build.patch" - patch -Np1 -i "${srcdir}/0003-Include-win32-headers.h-in-v8-atomicops.h.patch" - patch -Np1 -i "${srcdir}/0004-Define-localtime_s-for-MinGW.patch" - patch -Np1 -i "${srcdir}/0005-Remove-.lib-suffix-on-linked-libraries.patch" - patch -Np1 -i "${srcdir}/0006-Define-_WIN32_WINNT-in-node.gyp.patch" - patch -Np1 -i "${srcdir}/0007-Skip-sys-resource-and-unneeded-includes-in-node.cc.patch" - patch -Np1 -i "${srcdir}/0008-Link-with-municode-and-extern-wmain-for-Unicode.patch" - patch -Np1 -i "${srcdir}/0010-Fix-incorrect-test-assumptions-for-MinGW.patch" - patch -Np1 -i "${srcdir}/0011-detect-architecture.patch" - patch -Np1 -i "${srcdir}/0012-Use-shell-wrapper-script-for-npm-on-MSYS2-MinGW-w64.patch" - patch -Np1 -i "${srcdir}/0013-Revert-to-FHS-installation-paths-on-Windows-tests-no.patch" - patch -Np1 -i "${srcdir}/0015-cctest-allow-building-with-municode.patch" - patch -Np1 -i "${srcdir}/0016-format-macros.h-do-not-rely-on-__STDC_FORMAT_MACROS.patch" - patch -Np1 -i "${srcdir}/0017-Do-not-get-confused-by-the-presence-of-winpthread.patch" - patch -Np1 -i "${srcdir}/0018-Add-missing-include-to-build-condition-variable.cc-s.patch" - patch -Np1 -i "${srcdir}/0020-inspector-use-namespaced-icu-symbols.patch" - patch -Np1 -i "${srcdir}/0021-Use-wide-character-Win32-API-functions-to-handle-wch.patch" - patch -Np1 -i "${srcdir}/0022-Disable-MSVC_HACK.patch" - patch -Np1 -i "${srcdir}/0023-Make-sure-that-__rdtsc-is-declared.patch" - patch -Np1 -i "${srcdir}/0024-gyp-mingw.patch" - patch -Np1 -i "${srcdir}/0025-mingw-missing-features.patch" -} - -build() { - - local -a extra_config - - cd "${srcdir}" - sleep 5 - - [[ -d ${CARCH} ]] && rm -rf ${CARCH} - mv node-v${pkgver} ${CARCH} - cd ${CARCH} - - if check_option "debug" "y"; then - extra_config+=( --debug ) - fi - - local opt_cpu="x64" - if [ "${CARCH}" = "i686" ]; then - opt_cpu="x86" - fi - - ./configure \ - --prefix="${MINGW_PREFIX}" \ - --dest-os=win \ - --dest-cpu=${opt_cpu} \ - --shared-cares \ - --shared-http-parser \ - --shared-libuv \ - --shared-nghttp2 \ - --shared-openssl \ - --shared-zlib \ - --with-intl=system-icu \ - --without-etw \ - "${extra_config[@]}" - - ${MINGW_PREFIX}/bin/python2 tools/gyp_node.py -f make - touch config.gypi - # Work around the problem where the protocol files would be generated into a - # subdirectory relative to deps/v8/src/inspector instead of relative to the - # top-level directory. - #CXXFLAGS=-D_WIN32_WINNT=0x0601 make out/Release/obj/gen/src/inspector/protocol/Forward.h - CXXFLAGS=-D_WIN32_WINNT=0x0601 make V=1 - - # flatten the nested node_modules/ hierarchy - test -z "$(find deps/npm/node_modules | grep '^.\{140,\}$')" || - (cd deps/npm && - cp -R . ../npm.bup && - rm -rf node_modules && - ../../out/Release/node.exe ../npm.bup/bin/npm-cli.js install --production) -} - -check() { - cd "${srcdir}/${CARCH}" - - # A few tests still fail due to a bug with pausing/resuming file streams - ${MINGW_PREFIX}/bin/python2 tools/test.py --mode=release -J \ - cctest doctool inspector message parallel sequential tick-processor || true -} - -package() { - cd "${srcdir}/${CARCH}" - - ${MINGW_PREFIX}/bin/python2 tools/install.py install "${pkgdir}" "/${MINGW_PREFIX}" - - install -d "${pkgdir}${MINGW_PREFIX}/share/doc/nodejs" - cp -r doc/api/{*.html,assets} \ - "${pkgdir}${MINGW_PREFIX}/share/doc/nodejs" - - install -D -m644 LICENSE \ - "${pkgdir}${MINGW_PREFIX}/share/licenses/nodejs/LICENSE" - - mv -v "${pkgdir}$MINGW_PREFIX/bin/node"{.exe,_exe} - install -m755 "${srcdir}/node" "${pkgdir}${MINGW_PREFIX}/bin/node" - mv -v "${pkgdir}$MINGW_PREFIX/bin/node"{_exe,.exe} - - install -m755 "${srcdir}/${CARCH}/deps/npm/bin/npm.cmd" "${pkgdir}${MINGW_PREFIX}/bin/npm.cmd" -} - -sha256sums=('68a776c5d8b8b91a8f2adac2ca4ce4390ae1804883ec7ec9c0d6a6a64d306a76' - '0e3b9ec420393c6d56fb5dcabb60acc7a1f50000ebea3a8bbbf6ecb87a00e404' - 'b5357ea485814c179b3b1131f985abf4e3992791d7008d7f9c60dde3cd800401' - '7a0f96ba5b8639807a22c592d25e87bceae623d382c41bfc7f994367aa9b8ffb' - '8c21a199822d3e106eacbc8e4ef923508293026edc8c55ad838c316cea5bda45' - 'a8640f1b7b90469ecc5314dd710ee18ae33ef18133263fdb497ff302dd38bc41' - 'afdc52f2aa8b2234ff0824521ad284bf6e3e1261fbd76e96a146643e6e47e4ff' - 'f15e5266eece74443bedfa9d6d1243083ef30b27cdf621cb4b4267866660387c' - '6e1535166dc3fc75540f0e5e3fc25253cf488cb40a98a4b23f7b24e0059ca9f5' - '59b052ff5e50f4ab49619bad1d8c388f8a5183256361452e262ffa9e079c99b6' - '495b44761dde93a242850304038bd47fdc665d4bbc59e4b027c192afebc9283a' - 'b37fba2c8bb254905993b41d0ed319fa02bc37c88446ef0b2341ee92cc42faae' - '9a29cb99c53dc39187d2cbb7e559130944063e07342802b9d77cfb037c8d9b30' - '2005eb72281e1c727411015ced471b37999ccd062d60856cabd68032ed303601' - '4fd604e2889e1741f8a7ed5b3e945d401eed2b13086daa4544384da4c04698d1' - '3e5da564180238aeaf6e79b3273838465bed962fc65bbe8f0657e09ab0cabee3' - '3a83695ebb617341b687133cd5319e0762c2f8af880800ac36de232311ccb903' - 'f7144d6fe1efee3d9134d92d3757c9bcc3f570dbca5a4fbadf3efd6492ba345f' - '71e6b87542013c68641bcc8f98a769236f7181125960b2dcd1e7af516b1447ac' - '44a8d757584cb725760c9d9bd661fb23ee0a2b555ffca8a449573e4d03db7dcc' - '8cc3ef3ce149e5f0869d434538a9bd0a934afc52f0f571f6436694ce11587d12' - '01eab68f9de8b7cbcae774b25c931a7f503a3419f20464ba1a7df9eea9fa7710' - '6e223d2996f4cc02080c7b57521da6f7d29b41f41d4e225f8d1c941d25c1f963' - '284251ff443506cd61530a026afb421d0084e4ad25c037bcfe3a045246d729a2') diff --git a/mingw-w64-nodejs/node b/mingw-w64-nodejs/node deleted file mode 100644 index 70834e2543..0000000000 --- a/mingw-w64-nodejs/node +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -NODE_EXE="$( dirname ${BASH_SOURCE[0]} )/node.exe" - -if [ -t 0 -a -t 1 ]; then - /usr/bin/winpty $NODE_EXE "$@" -else - exec $NODE_EXE "$@" -fi diff --git a/mingw-w64-npm/PKGBUILD b/mingw-w64-npm/PKGBUILD deleted file mode 100644 index 201ecf5721..0000000000 --- a/mingw-w64-npm/PKGBUILD +++ /dev/null @@ -1,51 +0,0 @@ -# Contributor: Alethea Rose - -_realname=npm -pkgbase=mingw-w64-${_realname} -pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=4.3.0 -pkgrel=1 -pkgdesc='The package manager for JavaScript (mingw-w64)' -arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') -url='https://www.npmjs.com/' -license=('custom:Artistic') -depends=('winpty' "$MINGW_PACKAGE_PREFIX-nodejs") -makedepends=('tar') -optdepends=("${MINGW_PACKAGE_PREFIX}-python2: for node-gyp") -options=('!emptydirs') -_marked_ver=0.3.6 -_marked_man_ver=0.2.0 - -source=("npm-$pkgver.tar.gz::https://github.com/npm/npm/archive/v$pkgver.tar.gz" - "npm-marked-man-$_marked_man_ver.tgz::https://registry.npmjs.org/marked-man/-/marked-man-$_marked_man_ver.tgz" - "npm-marked-$_marked_ver.tgz::https://registry.npmjs.org/marked/-/marked-$_marked_ver.tgz") -noextract=("npm-$pkgver.tar.gz" - "npm-marked-$_marked_ver.tgz" - "npm-marked-man-$_marked_man_ver.tgz") - -sha256sums=('a4b083e0694ce786777d55f803551635b7c958e773b4ff5990103eab7c6e46a2' - 'ea48226f08675656a9794d44aef458e10d076b5f116be77a04986122b7c1c4c2' - '46f71f8b9cbb5606b166af554958c67f2de6b3346ebe8c8fcc92470252af00c3') - -prepare() { - cd "${srcdir}" - tar -xf "npm-${pkgver}.tar.gz" -} - -build() { - cd "${srcdir}"/npm-${pkgver} - - node cli.js install ../npm-marked-${_marked_ver}.tgz - node cli.js install ../npm-marked-man-${_marked_man_ver}.tgz - make -} - -package() { - cd "${srcdir}"/npm-${pkgver} - - make NPMOPTS="--prefix=\"${pkgdir}${MINGW_PREFIX}/bin\"" install - - mkdir -p "${pkgdir}${MINGW_PREFIX}/share/man" - cp -r man/* "${pkgdir}${MINGW_PREFIX}/share/man" -} diff --git a/mingw-w64-openFPGALoader/PKGBUILD b/mingw-w64-openFPGALoader/PKGBUILD index e29079a07e..92603494ae 100644 --- a/mingw-w64-openFPGALoader/PKGBUILD +++ b/mingw-w64-openFPGALoader/PKGBUILD @@ -16,7 +16,7 @@ depends=( "${MINGW_PACKAGE_PREFIX}-zlib" ) makedepends=( - "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-cc" ) diff --git a/mingw-w64-opencl-headers/PKGBUILD b/mingw-w64-opencl-headers/PKGBUILD index d6aeadb6c0..deb10d5dee 100644 --- a/mingw-w64-opencl-headers/PKGBUILD +++ b/mingw-w64-opencl-headers/PKGBUILD @@ -3,7 +3,8 @@ _realname=opencl-headers pkgbase=mingw-w64-${_realname} pkgname=${MINGW_PACKAGE_PREFIX}-${_realname} -pkgver=2021.06.30 +pkgver=2022.01.04 +_clhpp_ver=2.0.16 pkgrel=1 epoch=2 pkgdesc='OpenCL (Open Computing Language) header files' @@ -12,11 +13,12 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url='https://www.khronos.org/registry/cl/' license=('Apache 2.0') makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" - "${MINGW_PACKAGE_PREFIX}-ninja") + "${MINGW_PACKAGE_PREFIX}-ninja" + "${MINGW_PACKAGE_PREFIX}-cc") source=(OpenCL-Headers-${pkgver}.tar.gz::https://github.com/KhronosGroup/OpenCL-Headers/archive/refs/tags/v${pkgver}.tar.gz - OpenCL-CLHPP-2.0.15.tar.gz::https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2.0.15.tar.gz) -sha256sums=('6640d590c30d90f89351f5e3043ae6363feeb19ac5e64bc35f8cfa1a6cd5498e' - '0175806508abc699586fc9a9387e01eb37bf812ca534e3b493ff3091ec2a9246') + OpenCL-CLHPP-${_clhpp_ver}.tar.gz::https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v${_clhpp_ver}.tar.gz) +sha256sums=('6E716E2B13FC8D363B40A165CA75021B102F9328E2B38F8054D7DB5884DE29C9' + '869456032E60787EED9FCEAEAF6C6CB4452BC0FF97E0F5A271510145A1C8F4D4') package() { cd "${srcdir}"/OpenCL-Headers-${pkgver} @@ -31,14 +33,14 @@ package() { DESTDIR=${pkgdir} cmake --install . - cd "${srcdir}"/OpenCL-CLHPP-2.0.15 + cd "${srcdir}"/OpenCL-CLHPP-${_clhpp_ver} MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake \ -G'Ninja' \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ "${extra_config[@]}" \ -DBUILD_TESTS=OFF \ - ../OpenCL-CLHPP-2.0.15 + ../OpenCL-CLHPP-${_clhpp_ver} DESTDIR=${pkgdir} cmake --install . diff --git a/mingw-w64-opencl-icd/PKGBUILD b/mingw-w64-opencl-icd/PKGBUILD index f86db787d7..5ab8438c70 100644 --- a/mingw-w64-opencl-icd/PKGBUILD +++ b/mingw-w64-opencl-icd/PKGBUILD @@ -4,7 +4,7 @@ _realname=opencl-icd pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" replaces=("${MINGW_PACKAGE_PREFIX}-${_realname}-git") -pkgver=2021.06.30 +pkgver=2022.01.04 pkgrel=1 pkgdesc="OpenCL ICD Loader (mingw-w64)" arch=('any') @@ -17,7 +17,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-tools") source=("${_realname}-${pkgver}.tar.gz::https://github.com/KhronosGroup/OpenCL-ICD-Loader/archive/refs/tags/v${pkgver}.tar.gz") -sha256sums=('a50557ed6ff18c81aa1ed5e74700521e389c84ca5cd9188d35d368936e0a4972') +sha256sums=('9F21D958AF68C1B625A03C2BEFDDD79DA95D610614DDAB6C291F26F01A947DD8') build() { cd "${srcdir}"/OpenCL-ICD-Loader-${pkgver} diff --git a/mingw-w64-opencollada/PKGBUILD b/mingw-w64-opencollada/PKGBUILD index fe8442e8a8..db3f5cbb50 100644 --- a/mingw-w64-opencollada/PKGBUILD +++ b/mingw-w64-opencollada/PKGBUILD @@ -12,7 +12,7 @@ arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://github.com/khronosGroup/OpenCOLLADA/" license=("LGPL") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-pkg-config" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "git") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-pkg-config" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "git") depends=("${MINGW_PACKAGE_PREFIX}-libxml2" "${MINGW_PACKAGE_PREFIX}-pcre") options=('staticlibs' 'strip') diff --git a/mingw-w64-opengl-man-pages/PKGBUILD b/mingw-w64-opengl-man-pages/PKGBUILD index 0054131c21..badbdb8c79 100644 --- a/mingw-w64-opengl-man-pages/PKGBUILD +++ b/mingw-w64-opengl-man-pages/PKGBUILD @@ -5,7 +5,7 @@ pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=20191114 _commit=8acb9c72a30d36a6f7e89b9b2de0635c50773cdb -pkgrel=1 +pkgrel=2 pkgdesc="OpenGL Man Pages - OpenGL 4.x (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') @@ -22,10 +22,6 @@ source=(${_realname}::git+https://github.com/KhronosGroup/OpenGL-Refpages#commit sha256sums=('SKIP' 'a7b2f6669d7ead91dcaf5a03620cdf9d37c54d83fd1899b4ef84683c7e6d4024') -pkgver() { - date +%Y%m%d -} - build() { for manpages in gl4; do cd "${srcdir}/${_realname}/${manpages}" diff --git a/mingw-w64-openh264/PKGBUILD b/mingw-w64-openh264/PKGBUILD index fe4fa581e8..0f64abe41b 100644 --- a/mingw-w64-openh264/PKGBUILD +++ b/mingw-w64-openh264/PKGBUILD @@ -3,7 +3,7 @@ _realname=openh264 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.1.1 +pkgver=2.2.0 pkgrel=1 pkgdesc="Library for encoding/decoding H264/AVC video streams (mingw-w64)" arch=('any') @@ -13,10 +13,10 @@ license=("BSD") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-pkg-config" "${MINGW_PACKAGE_PREFIX}-nasm") -depends=() +depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") options=('strip' 'staticlibs') source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/cisco/openh264/archive/v${pkgver}.tar.gz") -sha256sums=('af173e90fce65f80722fa894e1af0d6b07572292e76de7b65273df4c0a8be678') +sha256sums=('e4e5c8ba48e64ba6ce61e8b6e2b76b2d870c74c270147649082feabb40f25905') build() { [[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}" @@ -33,4 +33,8 @@ build() { package() { cd "${srcdir}/build-${MINGW_CHOST}" make DESTDIR="${pkgdir}" PREFIX=${MINGW_PREFIX} install + install -Dm755 h264dec.exe "${pkgdir}${MINGW_PREFIX}"/bin/h264dec.exe + install -Dm755 h264enc.exe "${pkgdir}${MINGW_PREFIX}"/bin/h264enc.exe + + install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" } diff --git a/mingw-w64-openmp/PKGBUILD b/mingw-w64-openmp/PKGBUILD index b83382d3d8..0f63fda962 100644 --- a/mingw-w64-openmp/PKGBUILD +++ b/mingw-w64-openmp/PKGBUILD @@ -7,8 +7,8 @@ fi _realname=openmp pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=13.0.0 -pkgrel=3 +pkgver=13.0.1 +pkgrel=1 pkgdesc="LLVM OpenMP Library (mingw-w64)" url="https://openmp.llvm.org/" arch=(any) @@ -18,15 +18,15 @@ groups=($( (( _clangprefix )) && echo "${MINGW_PACKAGE_PREFIX}-toolchain")) depends=($( (( _clangprefix )) || echo "${MINGW_PACKAGE_PREFIX}-gcc-libs")) makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" - "${MINGW_PACKAGE_PREFIX}-clang" "${MINGW_PACKAGE_PREFIX}-cc" + $( (( _clangprefix )) || echo "${MINGW_PACKAGE_PREFIX}-gcc-fortran") "${MINGW_PACKAGE_PREFIX}-uasm") options=('!debug' 'strip') _url=https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver} _pkgfn=$_realname-$pkgver.src source=($_url/$_pkgfn.tar.xz{,.sig} "001-cast-to-make-gcc-happy.patch") -sha256sums=('4930ae7a1829a53b698255c2c6b6ee977cc364b37450c14ee458793c0d5e493c' +sha256sums=('6b79261371616c31fea18cd3ee1797c79ee38bcaf8417676d4fa366a24c96b4f' 'SKIP' '11352ffbe7559a7170f2abd52b3552c877fbcf8fc82cff77b421e8b130a4dd66') validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D' # Hans Wennborg, Google. diff --git a/mingw-w64-p11-kit/PKGBUILD b/mingw-w64-p11-kit/PKGBUILD index 95c44f6327..cd4baed258 100644 --- a/mingw-w64-p11-kit/PKGBUILD +++ b/mingw-w64-p11-kit/PKGBUILD @@ -5,7 +5,7 @@ _realname=p11-kit pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.24.0 +pkgver=0.24.1 pkgrel=1 pkgdesc="Library to work with PKCS#11 modules (mingw-w64)" arch=('any') @@ -39,7 +39,7 @@ source=(https://github.com/p11-glue/p11-kit/releases/download/${pkgver}/${_realn 0014-meson-build.patch) validpgpkeys=('C0F67099B808FB063E2C81117BFB1108D92765AF' '462225C3B46F34879FC8496CD605848ED7E69871') -sha256sums=('81e6140584f635e4e956a1b93a32239acf3811ff5b2d3a5c6094e94e99d2c685' +sha256sums=('d8be783efd5cd4ae534cee4132338e3f40f182c3205d23b200094ec85faaaef8' 'SKIP' '195b2e8695f701caf545e2a468383ad29457febd9b1ee57de1986de04ad3c31c' 'aa92f986d3f7dfc119e86f9a8f3987e6ac2562149921820eadbe09218c4df99c' diff --git a/mingw-w64-pdcurses/001-mingw-pdcurses-4.1.0-build.patch b/mingw-w64-pdcurses/001-mingw-pdcurses-4.1.0-build.patch deleted file mode 100644 index 2224b9ce28..0000000000 --- a/mingw-w64-pdcurses/001-mingw-pdcurses-4.1.0-build.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff -Naur pdcurses-4.1.0-orig/wincon/Makefile.mng pdcurses-4.1.0/wincon/Makefile.mng ---- pdcurses-4.1.0-orig/wincon/Makefile.mng 2019-05-09 02:27:41.000000000 +0300 -+++ pdcurses-4.1.0/wincon/Makefile.mng 2019-05-28 08:49:28.054006700 +0300 -@@ -100,8 +100,9 @@ - ifeq ($(DLL),Y) - CFLAGS += -DPDC_DLL_BUILD - LIBEXE = $(PREFIX)gcc -- LIBFLAGS = -Wl,--out-implib,pdcurses.a -shared -o -- LIBCURSES = pdcurses.dll -+ LIBARCHIVE = libpdcurses.dll.a -+ LIBFLAGS = -Wl,--out-implib,$(LIBARCHIVE) -shared -o -+ LIBCURSES = libpdcurses.dll - LIBDEPS = $(LIBOBJS) $(PDCOBJS) - LIBSADDED = - EXELIBS = -@@ -113,7 +114,8 @@ - else - LIBFLAGS = rv - endif -- LIBCURSES = pdcurses.a -+ LIBARCHIVE = libpdcurses.a -+ LIBCURSES = $(LIBARCHIVE) - LIBDEPS = $(LIBOBJS) $(PDCOBJS) - LIBSADDED = - EXELIBS = -@@ -139,7 +141,7 @@ - - $(LIBCURSES) : $(LIBDEPS) - $(LIBEXE) $(LIBFLAGS) $@ $? $(LIBSADDED) -- $(CP) pdcurses.a panel.a -+ $(CP) $(LIBARCHIVE) libpanel.a - - $(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS) - $(PDCOBJS) : $(PDCURSES_WIN_H) -diff -Naur pdcurses-4.1.0-orig/wingui/Makefile.mng pdcurses-4.1.0/wingui/Makefile.mng ---- pdcurses-4.1.0-orig/wingui/Makefile.mng 2019-05-09 02:27:41.000000000 +0300 -+++ pdcurses-4.1.0/wingui/Makefile.mng 2019-05-28 08:48:33.963930900 +0300 -@@ -98,8 +98,9 @@ - ifeq ($(DLL),Y) - CFLAGS += -DPDC_DLL_BUILD - LIBEXE = $(CC) -- LIBFLAGS = -Wl,--out-implib,pdcurses.a -shared -o -- LIBCURSES = pdcurses.dll -+ LIBARCHIVE = libpdcurses.dll.a -+ LIBFLAGS = -Wl,--out-implib,$(LIBARCHIVE) -shared -o -+ LIBCURSES = libpdcurses.dll - LIBDEPS = $(LIBOBJS) $(PDCOBJS) - LIBSADDED = -lgdi32 -lcomdlg32 - EXELIBS = -@@ -111,7 +112,8 @@ - else - LIBFLAGS = rv - endif -- LIBCURSES = pdcurses.a -+ LIBARCHIVE = libpdcurses.a -+ LIBCURSES = $(LIBARCHIVE) - LIBDEPS = $(LIBOBJS) $(PDCOBJS) - LIBSADDED = - EXELIBS = -lgdi32 -lcomdlg32 -@@ -137,7 +139,7 @@ - - $(LIBCURSES) : $(LIBDEPS) - $(LIBEXE) $(LIBFLAGS) $@ $? $(LIBSADDED) -- $(CP) pdcurses.a panel.a -+ $(CP) $(LIBARCHIVE) libpanel.a - - $(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS) - $(PDCOBJS) : $(PDCURSES_WIN_H) diff --git a/mingw-w64-pdcurses/001-mingw-pdcurses-4.3.1-build.patch b/mingw-w64-pdcurses/001-mingw-pdcurses-4.3.1-build.patch new file mode 100644 index 0000000000..a835430dec --- /dev/null +++ b/mingw-w64-pdcurses/001-mingw-pdcurses-4.3.1-build.patch @@ -0,0 +1,116 @@ +diff -Naur ./wincon/Makefile.orig ./wincon/Makefile +--- ./wincon/Makefile.orig 2021-12-16 23:18:17.855851200 +0100 ++++ ./wincon/Makefile 2021-12-21 18:32:46.983443000 +0100 +@@ -97,12 +97,15 @@ + PDCCFLAGS += -DHAVE_NO_INFOEX + endif + +-LINK = $(CC) ++LINK = $(CC) ++ ++LIBPREFIX = lib + + ifeq ($(DLL),Y) + CFLAGS += -DPDC_DLL_BUILD + LIBEXE = $(CC) +- LIBFLAGS = -Wl,--out-implib,pdcurses.a -shared -o +- LIBCURSES = pdcurses.dll ++ LIBCURSES = $(LIBPREFIX)pdcurses.dll ++ LIBARCHIVE = $(LIBCURSES).a ++ LIBFLAGS = -Wl,--out-implib,$(LIBARCHIVE) -shared -o + LIBDEPS = $(LIBOBJS) $(PDCOBJS) + LIBSADDED = -lwinmm +@@ -115,7 +118,8 @@ + else + LIBFLAGS = rv + endif +- LIBCURSES = pdcurses.a ++ LIBCURSES = $(LIBPREFIX)pdcurses.a ++ LIBARCHIVE = $(LIBCURSES) + LIBDEPS = $(LIBOBJS) $(PDCOBJS) + LIBSADDED = + EXELIBS = -lwinmm +@@ -141,11 +145,11 @@ + + $(LIBCURSES) : $(LIBDEPS) + $(LIBEXE) $(LIBFLAGS) $@ $? $(LIBSADDED) +- $(CP) pdcurses.a panel.a ++ $(CP) $(LIBARCHIVE) $(LIBPREFIX)panel.a + + $(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS) + $(PDCOBJS) : $(PDCURSES_WIN_H) +-$(DEMOS) : $(PDCURSES_CURSES_H) $(LIBCURSES) ++$(DEMOS) : $(PDCURSES_CURSES_H) $(LIBARCHIVE) + panel.o : $(PANEL_HEADER) + + $(LIBOBJS) : %.o: $(srcdir)/%.c +@@ -157,10 +161,10 @@ + firework.exe init_col.exe newtest.exe ozdemo.exe picsview.exe \ + ptest.exe rain.exe speed.exe testcurs.exe test_pan.exe \ + version.exe worm.exe xmas.exe: %.exe: $(demodir)/%.c +- $(CC) $(CFLAGS) -o$@ $< $(LIBCURSES) $(EXELIBS) ++ $(CC) $(CFLAGS) -o$@ $< $(LIBARCHIVE) $(EXELIBS) + + tuidemo.exe: tuidemo.o tui.o +- $(LINK) $(LDFLAGS) -o$@ tuidemo.o tui.o $(LIBCURSES) $(EXELIBS) ++ $(LINK) $(LDFLAGS) -o$@ tuidemo.o tui.o $(LIBARCHIVE) $(EXELIBS) + + tui.o: $(demodir)/tui.c $(demodir)/tui.h $(PDCURSES_CURSES_H) + $(CC) -c $(CFLAGS) -I$(demodir) -o$@ $< +diff -Naur ./wingui/Makefile.orig ./wingui/Makefile +--- ./wingui/Makefile.orig 2021-12-16 23:18:17.870848300 +0100 ++++ ./wingui/Makefile 2021-12-16 23:41:24.693021600 +0100 +@@ -94,11 +94,14 @@ + + LINK = $(CC) + ++LIBPREFIX = lib ++ + ifeq ($(DLL),Y) + CFLAGS += -DPDC_DLL_BUILD + LIBEXE = $(CC) +- LIBFLAGS = -Wl,--out-implib,pdcurses.a -static-libgcc -shared -o +- LIBCURSES = pdcurses.dll ++ LIBCURSES = $(LIBPREFIX)pdcurses.dll ++ LIBARCHIVE = $(LIBCURSES).a ++ LIBFLAGS = -Wl,--out-implib,$(LIBARCHIVE) -static-libgcc -shared -o + LIBDEPS = $(LIBOBJS) $(PDCOBJS) + LIBSADDED = -lgdi32 -lcomdlg32 -lwinmm + EXELIBS = +@@ -110,7 +113,8 @@ + else + LIBFLAGS = rv + endif +- LIBCURSES = pdcurses.a ++ LIBCURSES = $(LIBPREFIX)pdcurses.a ++ LIBARCHIVE = $(LIBCURSES) + LIBDEPS = $(LIBOBJS) $(PDCOBJS) + LIBSADDED = + EXELIBS = -lgdi32 -lcomdlg32 -lwinmm +@@ -136,11 +140,11 @@ + + $(LIBCURSES) : $(LIBDEPS) + $(LIBEXE) $(LIBFLAGS) $@ $? $(LIBSADDED) +- $(CP) pdcurses.a panel.a ++ $(CP) $(LIBARCHIVE) $(LIBPREFIX)panel.a + + $(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS) + $(PDCOBJS) : $(PDCURSES_WIN_H) +-$(DEMOS) : $(PDCURSES_CURSES_H) $(LIBCURSES) ++$(DEMOS) : $(PDCURSES_CURSES_H) $(LIBARCHIVE) + panel.o : $(PANEL_HEADER) + + $(LIBOBJS) : %.o: $(srcdir)/%.c +@@ -152,10 +156,10 @@ + firework.exe init_col.exe newtest.exe ozdemo.exe picsview.exe \ + ptest.exe rain.exe speed.exe testcurs.exe test_pan.exe \ + version.exe worm.exe xmas.exe: %.exe: $(demodir)/%.c +- $(CC) $(CFLAGS) -mwindows -o$@ $< $(LIBCURSES) $(EXELIBS) ++ $(CC) $(CFLAGS) -mwindows -o$@ $< $(LIBARCHIVE) $(EXELIBS) + + tuidemo.exe: tuidemo.o tui.o +- $(LINK) $(LDFLAGS) -mwindows -o$@ tuidemo.o tui.o $(LIBCURSES) $(EXELIBS) ++ $(LINK) $(LDFLAGS) -mwindows -o$@ tuidemo.o tui.o $(LIBARCHIVE) $(EXELIBS) + + tui.o: $(demodir)/tui.c $(demodir)/tui.h $(PDCURSES_CURSES_H) + $(CC) -c $(CFLAGS) -I$(demodir) -o$@ $< diff --git a/mingw-w64-pdcurses/003-fix-_bool-was-not-declared.patch b/mingw-w64-pdcurses/003-fix-_bool-was-not-declared.patch deleted file mode 100644 index 13bb98741b..0000000000 --- a/mingw-w64-pdcurses/003-fix-_bool-was-not-declared.patch +++ /dev/null @@ -1,53 +0,0 @@ ---- pdcurses-4.1.0.orig/curses.h 2019-05-09 07:27:41.000000000 +0800 -+++ pdcurses-4.1.0/curses.h 2019-06-13 21:48:34.230201400 +0800 -@@ -56,6 +56,10 @@ - # include - #endif - -+#if defined(__cplusplus) && __cplusplus >= 199711L -+# define PDC_PP98 1 -+#endif -+ - #if defined(__STDC_VERSION__) && __STDC_VERSION >= 199901L && \ - !defined(__bool_true_false_are_defined) - # include -@@ -64,7 +68,9 @@ - #ifdef __cplusplus - extern "C" - { --# define bool _bool -+# ifndef PDC_PP98 -+# define bool _bool -+# endif - #endif - - /*---------------------------------------------------------------------- -@@ -83,13 +89,15 @@ - - #else - --typedef unsigned char bool; -- - # define FALSE 0 - # define TRUE 1 - - #endif - -+#if !defined(PDC_PP98) && !defined(__bool_true_false_are_defined) -+typedef unsigned char bool; -+#endif -+ - #undef ERR - #define ERR (-1) - -@@ -1840,7 +1848,9 @@ - #define PDC_KEY_MODIFIER_REPEAT 16 - - #ifdef __cplusplus --# undef bool -+# ifndef PDC_PP98 -+# undef bool -+# endif - } - #endif - diff --git a/mingw-w64-pdcurses/004-link-implib.patch b/mingw-w64-pdcurses/004-link-implib.patch deleted file mode 100644 index a8a6cb3fc2..0000000000 --- a/mingw-w64-pdcurses/004-link-implib.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- PDCursesMod-4.1.0/wingui/Makefile.mng.orig 2021-04-30 22:23:42.270025000 -0700 -+++ PDCursesMod-4.1.0/wingui/Makefile.mng 2021-04-30 22:24:54.066906800 -0700 -@@ -155,10 +155,10 @@ - - firework.exe ozdemo.exe newtest.exe ptest.exe rain.exe testcurs.exe \ - version.exe worm.exe xmas.exe: %.exe: $(demodir)/%.c -- $(CC) $(CFLAGS) -mwindows -o$@ $< $(LIBCURSES) $(EXELIBS) -+ $(CC) $(CFLAGS) -mwindows -o$@ $< $(LIBARCHIVE) $(EXELIBS) - - tuidemo.exe: tuidemo.o tui.o -- $(LINK) $(LDFLAGS) -mwindows -o$@ tuidemo.o tui.o $(LIBCURSES) $(EXELIBS) -+ $(LINK) $(LDFLAGS) -mwindows -o$@ tuidemo.o tui.o $(LIBARCHIVE) $(EXELIBS) - - tui.o: $(demodir)/tui.c $(demodir)/tui.h $(PDCURSES_CURSES_H) - $(CC) -c $(CFLAGS) -I$(demodir) -o$@ $< diff --git a/mingw-w64-pdcurses/PKGBUILD b/mingw-w64-pdcurses/PKGBUILD index b6257f6778..d7f8e55096 100644 --- a/mingw-w64-pdcurses/PKGBUILD +++ b/mingw-w64-pdcurses/PKGBUILD @@ -5,11 +5,14 @@ _realname=pdcurses pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" provides=("${MINGW_PACKAGE_PREFIX}-curses") +# No replace or conflict as the installed names are different #replaces=("${MINGW_PACKAGE_PREFIX}-ncurses" "${MINGW_PACKAGE_PREFIX}-termcap") #conflicts=("${MINGW_PACKAGE_PREFIX}-ncurses" "${MINGW_PACKAGE_PREFIX}-termcap") -pkgver=4.1.0 -pkgrel=5 +pkgver=4.3.1 +pkgrel=1 pkgdesc="Curses library on the Win32 API (mingw-w64)" +# ports that are available with this package +_pdcports="wincon wingui" # vt is relevant especially for Windows Terminal - look at this later arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://www.projectpluto.com/win32a.htm" @@ -18,52 +21,79 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc") depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") options=('staticlibs' 'strip') source=(${_realname}-${pkgver}.tar.gz::"https://github.com/Bill-Gray/PDCursesMod/archive/v${pkgver}.tar.gz" - 001-mingw-pdcurses-4.1.0-build.patch - 002-fix-exports.patch - 003-fix-_bool-was-not-declared.patch - 004-link-implib.patch) -sha256sums=('c6e036c0cb24f7909dbb8fa5011564727cd64a91efd3b7bb3e81c7509d7f5fde' - '913b5aff09d0ab1a2197f66a98657927d85a0dc3577c2b5e69179148fb2b0242' - '246f93facdd2703f8b9d0bcd57e89688fd861d34a30facc60a48892b330b08bc' - '6f6875068a13988988b8b04300636db4c4f9f543632597232cb2b64a2fd1218b' - '39c6488570cd7b492f636b47972d40ec6e809744daeed85ef415df9c1ae6f3ff') + 001-mingw-pdcurses-4.3.1-build.patch + 002-fix-exports.patch) +sha256sums=('d3926643f7bab358ffd87e2c853a4e8f5f7555a01eae7e67256748e6208f8a68' + '9a63f3c561d5a796965f5251e386d47371c0be86d42f97565394a7af930426b0' + '246f93facdd2703f8b9d0bcd57e89688fd861d34a30facc60a48892b330b08bc') prepare() { cd PDCursesMod-${pkgver} - patch -p1 -i ${srcdir}/001-mingw-pdcurses-4.1.0-build.patch - patch -p1 -i ${srcdir}/002-fix-exports.patch - patch -p1 -i ${srcdir}/003-fix-_bool-was-not-declared.patch - patch -p1 -i ${srcdir}/004-link-implib.patch + patch -p1 -i ${srcdir}/001-mingw-pdcurses-4.3.1-build.patch # https://github.com/Bill-Gray/PDCursesMod/issues/222 + patch -p1 -i ${srcdir}/002-fix-exports.patch # https://github.com/Bill-Gray/PDCursesMod/pull/221 } build() { cd "${srcdir}/PDCursesMod-${pkgver}" -# NOte that you should use something like -${CARCH} +# Note that you should use something like -${CARCH} # to prevent building i686 compiled binaries from # being compiled with x86_64 compiled binaries and # vice-versa. That causes build failures - no surpise. - cp -rf wingui wingui-shared-${CARCH} - pushd wingui-shared-${CARCH} - make -f Makefile.mng \ - CC=${MINGW_PREFIX}/bin/gcc \ - STRIP=${MINGW_PREFIX}/bin/strip \ - AR=${MINGW_PREFIX}/bin/ar \ - WIDE=Y \ - UTF8=Y \ - DLL=Y - popd - cp -rf wingui wingui-static-${CARCH} - pushd wingui-static-${CARCH} - make -f Makefile.mng \ - CC=${MINGW_PREFIX}/bin/gcc \ - STRIP=${MINGW_PREFIX}/bin/strip \ - AR=${MINGW_PREFIX}/bin/ar \ - WIDE=Y \ - UTF8=Y - popd - + for pdc_port in ${_pdcports}; do + cp -rf ${pdc_port} ${pdc_port}-shared-${CARCH} + pushd ${pdc_port}-shared-${CARCH} + make -f Makefile \ + CC=${MINGW_PREFIX}/bin/gcc \ + STRIP=${MINGW_PREFIX}/bin/strip \ + AR=${MINGW_PREFIX}/bin/ar \ + WIDE=Y \ + UTF8=Y \ + DLL=Y + popd + + cp -rf ${pdc_port} ${pdc_port}-static-${CARCH} + pushd ${pdc_port}-static-${CARCH} + make -f Makefile \ + CC=${MINGW_PREFIX}/bin/gcc \ + STRIP=${MINGW_PREFIX}/bin/strip \ + AR=${MINGW_PREFIX}/bin/ar \ + WIDE=Y \ + UTF8=Y + popd + done +} + +# we use the check target to verify that the demos would link correctly +# and could then (manually) run the tests to verify the results *look* correct +check() { + cd "${srcdir}/PDCursesMod-${pkgver}" + + for pdc_port in ${_pdcports}; do + cp -rf ${pdc_port} ${pdc_port}-shared-${CARCH} + pushd ${pdc_port}-shared-${CARCH} + make -f Makefile \ + CC=${MINGW_PREFIX}/bin/gcc \ + STRIP=${MINGW_PREFIX}/bin/strip \ + AR=${MINGW_PREFIX}/bin/ar \ + WIDE=Y \ + UTF8=Y \ + DLL=Y \ + demos + popd + + cp -rf ${pdc_port} ${pdc_port}-static-${CARCH} + pushd ${pdc_port}-static-${CARCH} + make -f Makefile \ + CC=${MINGW_PREFIX}/bin/gcc \ + STRIP=${MINGW_PREFIX}/bin/strip \ + AR=${MINGW_PREFIX}/bin/ar \ + WIDE=Y \ + UTF8=Y \ + demos + popd + done } package() { @@ -71,13 +101,28 @@ package() { mkdir -p ${pkgdir}${MINGW_PREFIX}/{bin,include,lib} mkdir ${pkgdir}${MINGW_PREFIX}/include/pdcurses - - install wingui-shared-${CARCH}/*.exe ${pkgdir}${MINGW_PREFIX}/bin/ - install wingui-shared-${CARCH}/libpdcurses.dll ${pkgdir}${MINGW_PREFIX}/bin/ - install wingui-shared-${CARCH}/libpdcurses.dll.a ${pkgdir}${MINGW_PREFIX}/lib/libpdcurses.dll.a - install wingui-static-${CARCH}/libpdcurses.a ${pkgdir}${MINGW_PREFIX}/lib/libpdcurses.a - echo '#include "pdcurses/curses.h"' > pdcurses.h - install -m 0644 curses.h panel.h term.h acs_defs.h ${pkgdir}${MINGW_PREFIX}/include/pdcurses/ + # no exe - those are only demos and only run for check + #install "wingui-shared-${CARCH}/*.exe ${pkgdir}${MINGW_PREFIX}/bin/ + + # install dll and shared library of the "default port" (as in earlier versions of this package: wingui) + install "wingui-shared-${CARCH}/libpdcurses.dll" "${pkgdir}${MINGW_PREFIX}/bin/" + install "wingui-static-${CARCH}/libpdcurses.a" "${pkgdir}${MINGW_PREFIX}/lib/" + + # as all share the same ABI and the binaries are intended to work only with the basename - only install one link library + install "wingui-shared-${CARCH}/libpdcurses.dll.a" "${pkgdir}${MINGW_PREFIX}/lib/" + + # the additional static libraries and actual dll's go in with a rename + for pdc_port in ${_pdcports}; do + install "${pdc_port}-static-${CARCH}/libpdcurses.a" "${pkgdir}${MINGW_PREFIX}/lib/libpdcurses_${pdc_port}.a" + install "${pdc_port}-shared-${CARCH}/libpdcurses.dll" "${pkgdir}${MINGW_PREFIX}/bin/libpdcurses_${pdc_port}.dll" + done + + install -m 0644 curses.h panel.h term.h ${pkgdir}${MINGW_PREFIX}/include/pdcurses/ + # needs defines matching the make step, see https://github.com/Bill-Gray/PDCursesMod/issues/133 + echo '/* if you want to use the DLL one: #define PDC_DLL_BUILD 1 */' > pdcurses.h + echo '#define PDC_WIDE 1' >> pdcurses.h + echo '#define PDC_FORCE_UTF8 1' >> pdcurses.h + echo '#include "pdcurses/curses.h"' >> pdcurses.h install -m 0644 pdcurses.h ${pkgdir}${MINGW_PREFIX}/include/pdcurses.h } diff --git a/mingw-w64-poco/PKGBUILD b/mingw-w64-poco/PKGBUILD index 021dde72c1..b23e6af34b 100644 --- a/mingw-w64-poco/PKGBUILD +++ b/mingw-w64-poco/PKGBUILD @@ -4,7 +4,7 @@ _realname=poco pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=1.10.1 -pkgrel=7 +pkgrel=8 pkgdesc="POrtable COmponents C++ Libraries (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -81,24 +81,49 @@ build() { ;; esac - CXXFLAGS+=" -std=c++11" - [[ -d ${srcdir}/build-${MSYSTEM} ]] && rm -rf ${srcdir}/build-${MSYSTEM} - mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" + [[ -d "${srcdir}/build-${MSYSTEM}-static" ]] && rm -rf "${srcdir}/build-${MSYSTEM}-static" + mkdir -p "${srcdir}/build-${MSYSTEM}-static" && cd "${srcdir}/build-${MSYSTEM}-static" MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ ${MINGW_PREFIX}/bin/cmake \ -GNinja \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_FLAGS="${CPPFLAGS} -DPCRE_STATIC ${CFLAGS}" \ + -DCMAKE_CXX_FLAGS="${CPPFLAGS} -DPCRE_STATIC ${CXXFLAGS}" \ + -DBUILD_SHARED_LIBS=OFF \ -DPOCO_UNBUNDLED=ON \ -DENABLE_MONGODB=OFF \ -DENABLE_DATA_ODBC=OFF \ ../${_realname}-${pkgver}-all - ${MINGW_PREFIX}/bin/cmake.exe --build . + ${MINGW_PREFIX}/bin/cmake.exe --build ./ + + [[ -d "${srcdir}/build-${MSYSTEM}-shared" ]] && rm -rf "${srcdir}/build-${MSYSTEM}-shared" + mkdir -p "${srcdir}/build-${MSYSTEM}-shared" && cd "${srcdir}/build-${MSYSTEM}-shared" + + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake \ + -GNinja \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_FLAGS="${CPPFLAGS} ${CFLAGS}" \ + -DCMAKE_CXX_FLAGS="${CPPFLAGS} ${CXXFLAGS}" \ + -DBUILD_SHARED_LIBS=ON \ + -DPOCO_UNBUNDLED=ON \ + -DENABLE_MONGODB=OFF \ + -DENABLE_DATA_ODBC=OFF \ + ../${_realname}-${pkgver}-all + + ${MINGW_PREFIX}/bin/cmake.exe --build ./ } package() { - cd "${srcdir}/build-${MSYSTEM}" - DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install . + cd "${srcdir}/build-${MSYSTEM}-static" + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./ + + cd "${srcdir}/build-${MSYSTEM}-shared" + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./ + + install -Dm644 "${srcdir}/${_realname}-${pkgver}-all/LICENSE" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" } diff --git a/mingw-w64-polly/PKGBUILD b/mingw-w64-polly/PKGBUILD index 3c2a0a55ec..c05a1385af 100644 --- a/mingw-w64-polly/PKGBUILD +++ b/mingw-w64-polly/PKGBUILD @@ -7,8 +7,8 @@ fi _realname=polly pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=13.0.0 -pkgrel=3 +pkgver=13.0.1 +pkgrel=1 pkgdesc="Polly - Polyhedral optimizations for LLVM (mingw-w64)" url="https://polly.llvm.org/" arch=(any) @@ -16,14 +16,15 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') license=("custom:Apache 2.0 with LLVM Exception") groups=($( (( _clangprefix )) && echo "${MINGW_PACKAGE_PREFIX}-toolchain")) depends=("${MINGW_PACKAGE_PREFIX}-llvm") -makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-python-sphinx") options=('!debug' 'strip') _url=https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver} _pkgfn=$_realname-$pkgver.src source=($_url/$_pkgfn.tar.xz{,.sig}) -sha256sums=('cd93672c3be35146e199b1e221fb81a39403a0cdeabcad4a47ae878655eea872' +sha256sums=('f4003e03da57b53bf206faadd0cf53f7b198c38498c605dec45743db23c10ad0' 'SKIP') validpgpkeys=('B6C8F98282B944E3B0D5C2530FC3042E345AD05D' # Hans Wennborg, Google. '474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard diff --git a/mingw-w64-portaudio/0002-cmake-add-cpp-binding.patch b/mingw-w64-portaudio/0002-cmake-add-cpp-binding.patch new file mode 100644 index 0000000000..77be0403d3 --- /dev/null +++ b/mingw-w64-portaudio/0002-cmake-add-cpp-binding.patch @@ -0,0 +1,10 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 122fe93..738a099 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -485,3 +485,5 @@ OPTION(PA_BUILD_EXAMPLES "Include example projects" OFF) + IF(PA_BUILD_EXAMPLES) + SUBDIRS(examples) + ENDIF() ++ ++add_subdirectory(bindings/cpp) diff --git a/mingw-w64-portaudio/0003-pa_getversioninfo-fix.patch b/mingw-w64-portaudio/0003-pa_getversioninfo-fix.patch new file mode 100644 index 0000000000..6692ad33c2 --- /dev/null +++ b/mingw-w64-portaudio/0003-pa_getversioninfo-fix.patch @@ -0,0 +1,42 @@ +From 15dfd46b33ae71bdbfa22dd71c37ee7a8e7c659c Mon Sep 17 00:00:00 2001 +From: Mirko Rajkovaca +Date: Thu, 27 May 2021 02:07:27 +0200 +Subject: [PATCH] Added Pa_GetVersionInfo to portaudio.def (#574) + +* - added Pa_GetVersionInfo to portaudio.def + +* - added Pa_GetVersionInfo to `cmake_support/template_portaudio.def` + +Co-authored-by: Mirko Rajkovaca +--- + build/msvc/portaudio.def | 1 + + cmake_support/template_portaudio.def | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/build/msvc/portaudio.def b/build/msvc/portaudio.def +index 6ecb142..8de8065 100644 +--- a/build/msvc/portaudio.def ++++ b/build/msvc/portaudio.def +@@ -35,6 +35,7 @@ Pa_GetStreamReadAvailable @31 + Pa_GetStreamWriteAvailable @32 + Pa_GetSampleSize @33 + Pa_Sleep @34 ++Pa_GetVersionInfo @35 + PaAsio_GetAvailableBufferSizes @50 + PaAsio_ShowControlPanel @51 + PaUtil_InitializeX86PlainConverters @52 +diff --git a/cmake_support/template_portaudio.def b/cmake_support/template_portaudio.def +index 9cf0dc3..b5d56f1 100644 +--- a/cmake_support/template_portaudio.def ++++ b/cmake_support/template_portaudio.def +@@ -38,6 +38,7 @@ Pa_GetStreamReadAvailable @31 + Pa_GetStreamWriteAvailable @32 + Pa_GetSampleSize @33 + Pa_Sleep @34 ++Pa_GetVersionInfo @35 + @DEF_EXCLUDE_ASIO_SYMBOLS@PaAsio_GetAvailableBufferSizes @50 + @DEF_EXCLUDE_ASIO_SYMBOLS@PaAsio_ShowControlPanel @51 + @DEF_EXCLUDE_X86_PLAIN_CONVERTERS@PaUtil_InitializeX86PlainConverters @52 +-- +2.32.0 (Apple Git-132) + diff --git a/mingw-w64-portaudio/CMakeLists.txt b/mingw-w64-portaudio/CMakeLists.txt new file mode 100644 index 0000000000..0a04e2b4e7 --- /dev/null +++ b/mingw-w64-portaudio/CMakeLists.txt @@ -0,0 +1,89 @@ +PROJECT(portaudiocpp) + +set(PA_CPP_SOURCES + source/portaudiocpp/BlockingStream.cxx + source/portaudiocpp/CallbackInterface.cxx + source/portaudiocpp/CallbackStream.cxx + source/portaudiocpp/CFunCallbackStream.cxx + source/portaudiocpp/CppFunCallbackStream.cxx + source/portaudiocpp/Device.cxx + source/portaudiocpp/DirectionSpecificStreamParameters.cxx + source/portaudiocpp/Exception.cxx + source/portaudiocpp/HostApi.cxx + source/portaudiocpp/InterfaceCallbackStream.cxx + source/portaudiocpp/MemFunCallbackStream.cxx + source/portaudiocpp/Stream.cxx + source/portaudiocpp/StreamParameters.cxx + source/portaudiocpp/System.cxx + source/portaudiocpp/SystemDeviceIterator.cxx + source/portaudiocpp/SystemHostApiIterator.cxx +) + +set(PA_CPP_INCLUDES + include/portaudiocpp/AutoSystem.hxx + include/portaudiocpp/BlockingStream.hxx + include/portaudiocpp/CallbackInterface.hxx + include/portaudiocpp/CallbackStream.hxx + include/portaudiocpp/CFunCallbackStream.hxx + include/portaudiocpp/CppFunCallbackStream.hxx + include/portaudiocpp/Device.hxx + include/portaudiocpp/DirectionSpecificStreamParameters.hxx + include/portaudiocpp/Exception.hxx + include/portaudiocpp/HostApi.hxx + include/portaudiocpp/InterfaceCallbackStream.hxx + include/portaudiocpp/MemFunCallbackStream.hxx + include/portaudiocpp/PortAudioCpp.hxx + include/portaudiocpp/SampleDataFormat.hxx + include/portaudiocpp/Stream.hxx + include/portaudiocpp/StreamParameters.hxx + include/portaudiocpp/SystemDeviceIterator.hxx + include/portaudiocpp/SystemHostApiIterator.hxx + include/portaudiocpp/System.hxx +) + +IF(WIN32) + if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_LIST_DIR) + FIND_PACKAGE(ASIOSDK) + IF(ASIOSDK_FOUND) + OPTION(PA_USE_ASIO "Enable support for ASIO" ON) + ELSE() + OPTION(PA_USE_ASIO "Enable support for ASIO" OFF) + ENDIF() + endif() + + if(PA_USE_ASIO) + list(APPEND PA_CPP_INCLUDES include/portaudiocpp/AsioDeviceAdapter.hxx) + list(APPEND PA_CPP_SOURCES source/portaudiocpp/AsioDeviceAdapter.cxx) + endif() +ENDIF(WIN32) + +IF(PA_BUILD_SHARED) + add_library(portaudiocpp SHARED ${PA_CPP_SOURCES}) + target_link_libraries(portaudiocpp PUBLIC portaudio) + target_include_directories(portaudiocpp PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") +ENDIF(PA_BUILD_SHARED) +IF(PA_BUILD_STATIC) + add_library(portaudiocpp_static STATIC ${PA_CPP_SOURCES}) + target_link_libraries(portaudiocpp_static PUBLIC portaudio) + target_include_directories(portaudiocpp_static PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") + IF(NOT PA_LIBNAME_ADD_SUFFIX) + SET_PROPERTY(TARGET portaudiocpp_static PROPERTY OUTPUT_NAME portaudiocpp) + ENDIF() +ENDIF(PA_BUILD_STATIC) + +include(GNUInstallDirs) +install(TARGETS portaudiocpp portaudiocpp_static + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +) + +install(FILES ${PA_CPP_INCLUDES} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/portaudiocpp") + +if(WIN32) + install(FILES include/portaudiocpp/AsioDeviceAdapter.hxx DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/portaudiocpp") +endif() + +set(PORTAUDIOCPP_VERSION 12) +configure_file(cmake/portaudiocpp.pc.in ${CMAKE_CURRENT_BINARY_DIR}/portaudiocpp.pc @ONLY) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/portaudiocpp.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") diff --git a/mingw-w64-portaudio/PKGBUILD b/mingw-w64-portaudio/PKGBUILD index 9fbd377a29..08924e6a28 100644 --- a/mingw-w64-portaudio/PKGBUILD +++ b/mingw-w64-portaudio/PKGBUILD @@ -6,7 +6,7 @@ pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" epoch=1 pkgver=19.7.0 _tarver=190700_20210406 -pkgrel=2 +pkgrel=4 pkgdesc="A free, cross-platform, open source, audio I/O library (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -21,14 +21,27 @@ makedepends=( depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") options=(!libtool strip staticlibs) source=("http://files.portaudio.com/archives/pa_stable_v${_tarver}.tgz" - "0001-clang-fix.patch") + 0001-clang-fix.patch + 0002-cmake-add-cpp-binding.patch + 0003-pa_getversioninfo-fix.patch + CMakeLists.txt + portaudiocpp.pc.in) sha256sums=('47efbf42c77c19a05d22e627d42873e991ec0c1357219c0d74ce6a2948cb2def' - '2c1ef1727d45f2140ef0a29ffa0553c7b9a1b59e1a223e8892a7792a860f2922') + '2c1ef1727d45f2140ef0a29ffa0553c7b9a1b59e1a223e8892a7792a860f2922' + '22e485926fb875fba2a5c3011a1bbe5de99c1ef4560677105f767e66c8fb6324' + '8f12f41692880c9dffb4f8147af2394df2bd0b2b762ae3fc09e1555eb27b9acb' + '6af7c2c023483af698edd5063a0dce7cebb65eb40a256e6269ffd6ad32895dd4' + 'e48867fb8eb4ceda8e646879a03525b9bacbbaf154585c81478b06eef1c9d6a5') prepare() { - cd ${srcdir}/${_realname} + cd "${srcdir}/${_realname}" + mkdir -v bindings/cpp/cmake + cp -v "${srcdir}/CMakeLists.txt" bindings/cpp + cp -v "${srcdir}/portaudiocpp.pc.in" bindings/cpp/cmake patch -p1 -i "${srcdir}/0001-clang-fix.patch" + patch -p1 -i "${srcdir}/0002-cmake-add-cpp-binding.patch" + patch -p1 -i "${srcdir}/0003-pa_getversioninfo-fix.patch" } build() { diff --git a/mingw-w64-portaudio/portaudiocpp.pc.in b/mingw-w64-portaudio/portaudiocpp.pc.in new file mode 100644 index 0000000000..317543ae80 --- /dev/null +++ b/mingw-w64-portaudio/portaudiocpp.pc.in @@ -0,0 +1,12 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=${prefix}/lib +includedir=${prefix}/include + +Name: PortAudioCpp +Description: Portable audio I/O C++ bindings +Version: @PORTAUDIOCPP_VERSION@ +Requires: portaudio-2.0 + +Libs: -L${libdir} -lportaudiocpp @PA_PKGCONFIG_LDFLAGS@ +Cflags: -I${includedir} @PA_PKGCONFIG_CFLAGS@ diff --git a/mingw-w64-pqp/PKGBUILD b/mingw-w64-pqp/PKGBUILD index c52d9feb4d..55a5c6ebd4 100644 --- a/mingw-w64-pqp/PKGBUILD +++ b/mingw-w64-pqp/PKGBUILD @@ -11,7 +11,7 @@ arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://github.com/GammaUNC/PQP" license=('custom') -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja") depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") diff --git a/mingw-w64-prjtrellis/PKGBUILD b/mingw-w64-prjtrellis/PKGBUILD index ed74632c92..6949b3036e 100644 --- a/mingw-w64-prjtrellis/PKGBUILD +++ b/mingw-w64-prjtrellis/PKGBUILD @@ -4,7 +4,7 @@ _realname=prjtrellis pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=1.0.r1031.2f06397 -pkgrel=1 +pkgrel=2 pkgdesc="Documenting the Lattice ECP5 bit-stream format (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -17,8 +17,8 @@ depends=( ) makedepends=( "${MINGW_PACKAGE_PREFIX}-boost" + "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" - "${MINGW_PACKAGE_PREFIX}-clang" "git" ) @@ -45,8 +45,6 @@ build() { MSYS2_ARG_CONV_EXCL='-DCMAKE_INSTALL_PREFIX=' cmake \ -G "MSYS Makefiles" \ - -DCMAKE_C_COMPILER=clang \ - -DCMAKE_CXX_COMPILER=clang++ \ -DCMAKE_PREFIX_PATH=${MINGW_PREFIX} \ -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \ . diff --git a/mingw-w64-pycairo/PKGBUILD b/mingw-w64-pycairo/PKGBUILD index c9fe438476..bcf067c3ce 100644 --- a/mingw-w64-pycairo/PKGBUILD +++ b/mingw-w64-pycairo/PKGBUILD @@ -4,7 +4,7 @@ _realname=pycairo pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-cairo") pkgver=1.20.1 -pkgrel=1 +pkgrel=2 pkgdesc="Python bindings for the cairo graphics library (mingw-w64)" url="https://pycairo.readthedocs.io" arch=('any') @@ -12,7 +12,10 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') license=('LGPL' 'MPL') depends=("${MINGW_PACKAGE_PREFIX}-cairo" "${MINGW_PACKAGE_PREFIX}-python") -makedepends=("${MINGW_PACKAGE_PREFIX}-cc") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-meson" + "${MINGW_PACKAGE_PREFIX}-pkg-config" + "${MINGW_PACKAGE_PREFIX}-ninja") provides=("${MINGW_PACKAGE_PREFIX}-python3-cairo") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-cairo") replaces=("${MINGW_PACKAGE_PREFIX}-python3-cairo") @@ -21,22 +24,34 @@ source=(https://github.com/pygobject/${_realname}/releases/download/v${pkgver}/$ sha256sums=('1ee72b035b21a475e1ed648e26541b04e5d7e753d75ca79de8c583b25785531b') build() { - cd "${srcdir}/${_realname}-${pkgver}" + mkdir -p build-${MSYSTEM} && cd build-${MSYSTEM} - ${MINGW_PREFIX}/bin/python setup.py build + MSYS2_ARG_CONV_EXCL="--prefix=" \ + meson \ + --prefix="${MINGW_PREFIX}" \ + --wrap-mode=nodownload \ + --auto-features=enabled \ + --buildtype=plain \ + ../${_realname}-${pkgver} + + meson compile } check() { - cd "${srcdir}/${_realname}-${pkgver}" + cd "${srcdir}/build-${MSYSTEM}" - ${MINGW_PREFIX}/bin/python setup.py test + meson test } package() { - cd "${srcdir}/${_realname}-${pkgver}" + cd "${srcdir}/build-${MSYSTEM}" - MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ - ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} --root="${pkgdir}" -O1 + DESTDIR="${pkgdir}" meson install + shopt -s globstar + rm ${pkgdir}${MINGW_PREFIX}/**/*.dll.a + MSYS2_ARG_CONV_EXCL="-d" \ + python -m compileall -q -d"${MINGW_PREFIX}" "${pkgdir}${MINGW_PREFIX}" && \ + python -O -m compileall -q -d"${MINGW_PREFIX}" "${pkgdir}${MINGW_PREFIX}" - install -Dm644 COPYING* -t "${pkgdir}${MINGW_PREFIX}/share/licenses/python-cairo" + install -Dm644 "${srcdir}/${_realname}-${pkgver}/"COPYING* -t "${pkgdir}${MINGW_PREFIX}/share/licenses/python-cairo" } diff --git a/mingw-w64-pystring/PKGBUILD b/mingw-w64-pystring/PKGBUILD index 1e01d42877..78c76ba8e8 100644 --- a/mingw-w64-pystring/PKGBUILD +++ b/mingw-w64-pystring/PKGBUILD @@ -11,7 +11,7 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://github.com/imageworks/pystring" license=('custom') depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc") options=('strip') source=(${_realname}-${pkgver}.tar.gz::https://github.com/imageworks/pystring/archive/v${pkgver}.tar.gz 01-makefile.patch) diff --git a/mingw-w64-python-absl-py/PKGBUILD b/mingw-w64-python-absl-py/PKGBUILD index cd2d872a76..ff61592854 100644 --- a/mingw-w64-python-absl-py/PKGBUILD +++ b/mingw-w64-python-absl-py/PKGBUILD @@ -6,24 +6,23 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=0.13.0 -pkgrel=2 +pkgver=1.0.0 +pkgrel=1 pkgdesc="Abseil Common Libraries (Python) (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://github.com/abseil/abseil-py" license=('Apache 2.0') depends=("${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-python-six") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") -_archive=abseil-py-pypi-v${pkgver} -source=(${_archive}.tar.gz::https://github.com/abseil/abseil-py/archive/pypi-v${pkgver}.tar.gz) -sha256sums=('82423ef923465cb628424c93be2fd29bff70f3e6aca90fe5fade6fc4cefca669') +source=(https://files.pythonhosted.org/packages/source/a/${_realname}/${_realname}-${pkgver}.tar.gz) +sha256sums=('ac511215c01ee9ae47b19716599e8ccfa746f2e18de72bdf641b79b22afa27ea') prepare() { cd "${srcdir}" rm -rf "python-build-${CARCH}" | true - cp -r "${_archive}" "python-build-${CARCH}" + cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" } build() { diff --git a/mingw-w64-python-aioresponses/PKGBUILD b/mingw-w64-python-aioresponses/PKGBUILD index d7767be855..c7ea8e2f1d 100644 --- a/mingw-w64-python-aioresponses/PKGBUILD +++ b/mingw-w64-python-aioresponses/PKGBUILD @@ -3,39 +3,41 @@ _realname=aioresponses pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=0.7.2 -pkgrel=2 +pkgver=0.7.3 +pkgrel=1 pkgdesc='A helper to mock/fake web requests in python aiohttp package. (mingw-w64)' arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://github.com/pnuckowski/aioresponses" license=('MIT') depends=("${MINGW_PACKAGE_PREFIX}-python-aiohttp") -checkdepends=("${MINGW_PACKAGE_PREFIX}-python-asynctest" "${MINGW_PACKAGE_PREFIX}-python-ddt" "${MINGW_PACKAGE_PREFIX}-python-pytest-runner") +checkdepends=("${MINGW_PACKAGE_PREFIX}-python-asynctest" + "${MINGW_PACKAGE_PREFIX}-python-ddt" + "${MINGW_PACKAGE_PREFIX}-python-pytest-runner") makedepends=("${MINGW_PACKAGE_PREFIX}-python-pbr") -source=("https://github.com/pnuckowski/aioresponses/archive/$pkgver.tar.gz") -sha256sums=('1bef1328f6732cd10b6d9c4ce02bd0198ffd491728d3c57f8e47fef1e427c5d3') +source=("${_realname}-${pkgver}.tar.gz::https://github.com/pnuckowski/aioresponses/archive/${pkgver}.tar.gz") +sha256sums=('c4a0bd1fd38680e36b7d2344ed4279062a8178c64bd66b68ffa2f8562751bf27') export PBR_VERSION=$pkgver -prepare() { - rm -rf python-build-${CARCH} | true - cp -r "${_realname}-$pkgver" "python-build-${CARCH}" +prepare() { + rm -rf "python-build-${MSYSTEM}" | true + cp -r "${_realname}-$pkgver" "python-build-${MSYSTEM}" } build() { - msg "Python build for ${CARCH}" - cd "${srcdir}/python-build-${CARCH}" + msg "Python build for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py build } check() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py pytest || warning "Tests failed" } package() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ --root="${pkgdir}" --optimize=1 --skip-build diff --git a/mingw-w64-python-asgiref/PKGBUILD b/mingw-w64-python-asgiref/PKGBUILD index ff17fbe759..bb6eb8303f 100644 --- a/mingw-w64-python-asgiref/PKGBUILD +++ b/mingw-w64-python-asgiref/PKGBUILD @@ -3,11 +3,11 @@ _realname=asgiref pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=3.3.4 -pkgrel=2 +pkgver=3.5.0 +pkgrel=1 pkgdesc="Reference ASGI adapters and channel layers (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url='https://github.com/django/asgiref' license=('BSD') depends=("${MINGW_PACKAGE_PREFIX}-python") @@ -16,7 +16,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-python" #checkdepends=("${MINGW_PACKAGE_PREFIX}-python-pytest-asyncio" "${MINGW_PACKAGE_PREFIX}-python-pytest") options=('staticlibs' 'strip' '!debug') source=("https://pypi.io/packages/source/a/asgiref/asgiref-${pkgver}.tar.gz") -sha256sums=('d1216dfbdfb63826470995d31caed36225dcaf34f182e0fa257a4dd9e86f1b78') +sha256sums=('2f8abc20f7248433085eda803936d98992f1343ddb022065779f37c5da0181d0') # Helper macros to help make tasks easier # apply_patch_with_msg() { diff --git a/mingw-w64-python-black/PKGBUILD b/mingw-w64-python-black/PKGBUILD index 05c7823309..065f5afa5a 100644 --- a/mingw-w64-python-black/PKGBUILD +++ b/mingw-w64-python-black/PKGBUILD @@ -3,30 +3,27 @@ _realname=black pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=21.6b0 -pkgrel=2 +pkgver=22.1.0 +pkgrel=1 pkgdesc='Uncompromising Python code formatter (mingw-w64)' arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://github.com/psf/black" license=('MIT') -depends=("${MINGW_PACKAGE_PREFIX}-python-appdirs" - "${MINGW_PACKAGE_PREFIX}-python-click" +depends=("${MINGW_PACKAGE_PREFIX}-python-click" "${MINGW_PACKAGE_PREFIX}-python-mypy_extensions" "${MINGW_PACKAGE_PREFIX}-python-pathspec" - "${MINGW_PACKAGE_PREFIX}-python-regex" - "${MINGW_PACKAGE_PREFIX}-python-toml" - "${MINGW_PACKAGE_PREFIX}-python-typed_ast" + "${MINGW_PACKAGE_PREFIX}-python-platformdirs" + "${MINGW_PACKAGE_PREFIX}-python-tomli" "${MINGW_PACKAGE_PREFIX}-python-typing_extensions") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-python-setuptools-scm") checkdepends=("${MINGW_PACKAGE_PREFIX}-python-aiohttp-cors") options=('!emptydirs') source=("https://files.pythonhosted.org/packages/source/${_realname:0:1}/${_realname}/${_realname}-${pkgver}.tar.gz") -sha256sums=('dc132348a88d103016726fe360cb9ede02cecf99b76e3660ce6c596be132ce04') +sha256sums=('a7c0192d35635f6fc1174be575cb7915e92e5dd629ee79fdaf0dcfa41a80afb5') prepare() { - cd "$srcdir" rm -rf python-build-${CARCH} | true cp -r "${_realname}-$pkgver" "python-build-${CARCH}" } diff --git a/mingw-w64-python-bleach/PKGBUILD b/mingw-w64-python-bleach/PKGBUILD index dc92574426..3ddbdf0582 100644 --- a/mingw-w64-python-bleach/PKGBUILD +++ b/mingw-w64-python-bleach/PKGBUILD @@ -6,19 +6,19 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=3.3.0 -pkgrel=2 +pkgver=4.1.0 +pkgrel=1 pkgdesc="An easy whitelist-based HTML-sanitizing tool (mingw-w64)" url="https://pypi.python.org/pypi/bleach" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') license=('Apache') depends=("${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-python-html5lib" "${MINGW_PACKAGE_PREFIX}-python-packaging") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") source=(${_realname}-${pkgver}.tar.gz::https://pypi.org/packages/source/b/${_realname}/${_realname}-${pkgver}.tar.gz) -sha256sums=('98b3170739e5e83dd9dc19633f074727ad848cbedb6026708c8ac2d3b697a433') +sha256sums=('0900d8b37eba61a802ee40ac0061f8c2b5dee29c1927dd1d233e075ebf5a71da') prepare() { rm -rf python-build-${CARCH} | true @@ -35,4 +35,6 @@ package() { MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --root=${pkgdir} --prefix=${MINGW_PREFIX} --optimize=1 --skip-build + + install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" } diff --git a/mingw-w64-python-breathe/PKGBUILD b/mingw-w64-python-breathe/PKGBUILD index f7d643063d..4125eedc07 100644 --- a/mingw-w64-python-breathe/PKGBUILD +++ b/mingw-w64-python-breathe/PKGBUILD @@ -6,20 +6,24 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=4.30.0 -pkgrel=2 +pkgver=4.32.0 +pkgrel=1 pkgdesc="An extension to reStructuredText and Sphinx to be able to read and render Doxygen xml output (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://breathe.readthedocs.org/en/latest/" license=('BSD') depends=("${MINGW_PACKAGE_PREFIX}-python" - "${MINGW_PACKAGE_PREFIX}-python-sphinx") -makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" - "${MINGW_PACKAGE_PREFIX}-python-six") + "${MINGW_PACKAGE_PREFIX}-python-sphinx" + "${MINGW_PACKAGE_PREFIX}-python-docutils") +makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") +checkdepends=("${MINGW_PACKAGE_PREFIX}-python-pytest") options=('staticlibs' 'strip' '!debug') -source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/michaeljones/breathe/archive/v${pkgver}.tar.gz") -sha256sums=('540ca6d694aa2e194ba33265f58e0070465799f6feabb726d198cb039972a5a3') +source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/michaeljones/breathe/archive/v${pkgver}.tar.gz" + "${_realname}-${pkgver}.tar.gz.sig"::"https://github.com/michaeljones/breathe/releases/download/v${pkgver}/breathe-${pkgver}.tar.gz.sig") +sha256sums=('61f73dde091ecd6316ad7317d39f82d35a3128b9c13d1e566b6d835412776ca9' + 'SKIP') +validpgpkeys=('8AED58021FEACDD5F27BA0E6A72F627716EA9D96') # Melvin Vermeeren prepare() { cd "${srcdir}" @@ -33,15 +37,21 @@ build() { ${MINGW_PREFIX}/bin/python setup.py build } +check() { + cd "${srcdir}/python-build-${CARCH}" + PYTHONPATH="$PWD" make test || true +} + package() { cd "${srcdir}/python-build-${CARCH}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ --root="${pkgdir}" --optimize=1 --skip-build - local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX}) - # fix python command in files - for _ff in ${pkgdir}${MINGW_PREFIX}/bin/*.py; do - sed -e "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" -i ${_ff} + install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/LICENSE" + + for _f in "${pkgdir}${MINGW_PREFIX}"/bin/*-script.py; do + # Remove shebang line + sed -e '1 { s/^#!.*$// }' -i "${_f}" done } diff --git a/mingw-w64-python-cattrs/PKGBUILD b/mingw-w64-python-cattrs/PKGBUILD index b5d8410b2e..9596f593f3 100644 --- a/mingw-w64-python-cattrs/PKGBUILD +++ b/mingw-w64-python-cattrs/PKGBUILD @@ -3,22 +3,21 @@ _realname=cattrs pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=1.7.1 -pkgrel=2 +pkgver=1.10.0 +pkgrel=1 pkgdesc='Complex custom class converters for attrs (mingw-w64)' arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://github.com/Tinche/cattrs" license=('MIT') depends=("${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-python-attrs") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") options=('!emptydirs') -source=("https://files.pythonhosted.org/packages/source/${_realname::1}/$_realname/$_realname-$pkgver.tar.gz") -sha256sums=('95265b8aaa45e6de75b5f52ae081e021a2a7a688babdb711e4174e6b18920d08') +source=("https://files.pythonhosted.org/packages/source/${_realname::1}/${_realname}/${_realname}-${pkgver}.tar.gz") +sha256sums=('211800f725cdecedcbcf4c753bbd22d248312b37d130f06045434acb7d9b34e1') prepare() { - cd "$srcdir" rm -rf python-build-${CARCH} | true cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" } diff --git a/mingw-w64-python-certifi/PKGBUILD b/mingw-w64-python-certifi/PKGBUILD index 3f29bc64d6..e64fd12bfe 100644 --- a/mingw-w64-python-certifi/PKGBUILD +++ b/mingw-w64-python-certifi/PKGBUILD @@ -6,8 +6,8 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=2021.5.30 -pkgrel=2 +pkgver=2021.10.8 +pkgrel=1 pkgdesc="Python package for providing Mozilla's CA Bundle (mingw-w64)" url='https://pypi.python.org/pypi/certifi' license=('GPL') @@ -16,11 +16,9 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") source=("https://pypi.io/packages/source/${_realname:0:1}/${_realname}/${_realname}-${pkgver}.tar.gz") -sha256sums=('2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee') +sha256sums=('78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872') prepare() { - cd ${srcdir} - rm -rf python-build-${CARCH} | true cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" diff --git a/mingw-w64-python-cloup/PKGBUILD b/mingw-w64-python-cloup/PKGBUILD index a699a86af4..992a4b8a9d 100644 --- a/mingw-w64-python-cloup/PKGBUILD +++ b/mingw-w64-python-cloup/PKGBUILD @@ -4,11 +4,11 @@ _pyname=cloup _realname=cloup pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=0.7.1 -pkgrel=2 +pkgver=0.12.1 +pkgrel=1 pkgdesc='Option groups and subcommand help sections for pallets/click (mingw-w64)' arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://github.com/janLuke/cloup" license=('MIT') depends=( @@ -16,24 +16,23 @@ depends=( "${MINGW_PACKAGE_PREFIX}-python-click" ) makedepends=( - "${MINGW_PACKAGE_PREFIX}-python-setuptools" - "${MINGW_PACKAGE_PREFIX}-python-setuptools-scm" + "${MINGW_PACKAGE_PREFIX}-python-setuptools" + "${MINGW_PACKAGE_PREFIX}-python-setuptools-scm" ) checkdepends=( "${MINGW_PACKAGE_PREFIX}-python-pytest" ) source=("${_pyname}-${pkgver}.tar.gz::https://pypi.org/packages/source/${_pyname::1}/${_pyname}/${_pyname}-${pkgver}.tar.gz") -sha256sums=('f26cc500dda4e4c9444ac1008b82376df8d72ecfa43a6310a9b3d54ef98add7b') +sha256sums=('c7e3988b61601121382cce0aad3ff5aaae04d379d589ec528aeb8c2906749e5e') -prepare() { - cd "$srcdir" +prepare() { rm -rf python-build-${CARCH} | true cp -r "${_pyname//_/-}-$pkgver" "python-build-${CARCH}" export SETUPTOOLS_SCM_PRETEND_VERSION=${pkgver} } build() { - msg "Python build for ${CARCH}" + msg "Python build for ${CARCH}" cd "${srcdir}/python-build-${CARCH}" ${MINGW_PREFIX}/bin/python setup.py build } diff --git a/mingw-w64-python-cx-freeze/PKGBUILD b/mingw-w64-python-cx-freeze/PKGBUILD index 28638323b7..690c6dd76f 100644 --- a/mingw-w64-python-cx-freeze/PKGBUILD +++ b/mingw-w64-python-cx-freeze/PKGBUILD @@ -12,7 +12,7 @@ conflicts=("${MINGW_PACKAGE_PREFIX}-python3-cx_Freeze" "${MINGW_PACKAGE_PREFIX}-python-cx_Freeze") replaces=("${MINGW_PACKAGE_PREFIX}-python3-cx_Freeze" "${MINGW_PACKAGE_PREFIX}-python-cx_Freeze") -pkgver=6.9 +pkgver=6.10 pkgrel=1 pkgdesc="Creates standalone executables from Python scripts, with the same performance (mingw-w64)" arch=('any') @@ -21,11 +21,15 @@ license=('PSF') url="https://github.com/marcelotduarte/cx_Freeze/" depends=("${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-python-cx-logging" - "${MINGW_PACKAGE_PREFIX}-python-importlib-metadata") -makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-cc") + "${MINGW_PACKAGE_PREFIX}-python-importlib-metadata" + "${MINGW_PACKAGE_PREFIX}-python-lief" + "${MINGW_PACKAGE_PREFIX}-python-wheel") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-tools" + "${MINGW_PACKAGE_PREFIX}-python-setuptools") options=('staticlibs' 'strip' '!debug') source=(cx_Freeze-${pkgver}.tar.gz::https://pypi.io/packages/source/c/cx_Freeze/cx_Freeze-${pkgver}.tar.gz) -sha256sums=('673aa3199af2ef87fc03a43a30e5d78b27ced2cedde925da89c55b5657da267b') +sha256sums=('e5b71bf57b9881ac142fbebeae2c8b0d3294b56f6e48ab64032321e3b1a2ba27') prepare() { rm -Rf python-${_realname}-${CARCH} diff --git a/mingw-w64-python-debtcollector/PKGBUILD b/mingw-w64-python-debtcollector/PKGBUILD index 327b69636b..99116201d3 100644 --- a/mingw-w64-python-debtcollector/PKGBUILD +++ b/mingw-w64-python-debtcollector/PKGBUILD @@ -6,8 +6,8 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=2.2.0 -pkgrel=2 +pkgver=2.4.0 +pkgrel=1 pkgdesc="A collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -20,9 +20,9 @@ depends=("${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-python-babel" "${MINGW_PACKAGE_PREFIX}-python-wrapt") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") -#checkdepends=("${MINGW_PACKAGE_PREFIX}-python-oslotest") +checkdepends=("${MINGW_PACKAGE_PREFIX}-python-oslotest") source=("${_realname}-${pkgver}.tar.gz::https://github.com/openstack/debtcollector/archive/${pkgver}.tar.gz") -sha512sums=('51060ddbe102aec7ea262faba31e93f6068365887158abf902a8d5d405cf00955849d934d02a3925b770359be32b8cdb24a1b9f029a94a07d8d20fca15495a49') +sha512sums=('ba04507fb7579e63b0a03623b40df5b97fe24396589a2b88ba6bd1338b1934e004fe671bfbe32e7463ebfcab21191afc307beaadb270f96257f69d5cddb7fa53') # Helper macros to help make tasks easier # apply_patch_with_msg() { @@ -44,9 +44,8 @@ del_file_exists() { # =========================================== # prepare() { - cd "${srcdir}" - rm -rf python-build-${CARCH} | true - cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" + rm -rf "python-build-${MSYSTEM}" | true + cp -r "${_realname}-${pkgver}" "python-build-${MSYSTEM}" # Set version for setuptools_scm export SETUPTOOLS_SCM_PRETEND_VERSION=${pkgver} @@ -55,19 +54,19 @@ prepare() { } build() { - msg "Python build for ${CARCH}" - cd "${srcdir}/python-build-${CARCH}" + msg "Python build for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py build } check() { - msg "Python test for ${CARCH}" - cd "${srcdir}/python-build-${CARCH}" + msg "Python test for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py check } package() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ --root="${pkgdir}" --optimize=1 --skip-build diff --git a/mingw-w64-python-decorator/PKGBUILD b/mingw-w64-python-decorator/PKGBUILD index 83cd38005f..afd4241485 100644 --- a/mingw-w64-python-decorator/PKGBUILD +++ b/mingw-w64-python-decorator/PKGBUILD @@ -6,11 +6,11 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=5.1.0 +pkgver=5.1.1 pkgrel=1 pkgdesc="Python Decorator module (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url='https://pypi.python.org/pypi/decorator' license=('BSD') depends=("${MINGW_PACKAGE_PREFIX}-python") @@ -18,31 +18,32 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") options=('staticlibs' 'strip' '!debug') source=(#"${_realname}-${pkgver}.tar.gz"::"https://github.com/micheles/decorator/archive/${pkgver}.tar.gz" "https://pypi.python.org/packages/source/${_realname:0:1}/${_realname}/${_realname}-${pkgver}.tar.gz") -sha512sums=('4acc0967af79f61c56adea3084c4e9f9de1c34fcbc7906db4bb1b0759e07ffed6eff0e4b21645dda5f37e96662742621f3d043e8c06a401841c7199a915afe18') +sha512sums=('584857ffb0c3e52344b473ceb9e28adfd7d789d480a528471f8ab37be055ebe5feb170f41077010e25350e1c311189d45b90773cf12f0043de98ea8ebcde20ab') prepare() { - cd "${srcdir}" - rm -rf python-build-${CARCH} | true - cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" + rm -rf "python-build-${MSYSTEM}" | true + cp -r "${_realname}-${pkgver}" "python-build-${MSYSTEM}" # Set version for setuptools_scm export SETUPTOOLS_SCM_PRETEND_VERSION=${pkgver} } build() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py build } check() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py test } package() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ --root="${pkgdir}" --optimize=1 --skip-build + + install -Dm644 LICENSE.txt "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/LICENSE.txt" } diff --git a/mingw-w64-python-distro/PKGBUILD b/mingw-w64-python-distro/PKGBUILD index ae11373797..e61d16f9fd 100644 --- a/mingw-w64-python-distro/PKGBUILD +++ b/mingw-w64-python-distro/PKGBUILD @@ -3,17 +3,17 @@ _realname=distro pkgbase=mingw-w64-python-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-python-${_realname}" -pkgver=1.5.0 -pkgrel=2 +pkgver=1.6.0 +pkgrel=1 pkgdesc="Distro - an OS platform information API (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://pypi.org/project/${_realname}" license=('Apache2.0') depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") source=("https://pypi.io/packages/source/${_realname:0:1}/${_realname}/${_realname}-${pkgver}.tar.gz") -sha512sums=('14831fe1355e9ef4f58f273ce4a548a3fe438e95466b4b4f596b8110da51305d66ed77c2e40c3dbfbcbd1a66c74e23a4d4244c8bfdebc4b49b3e7ddcbff55b8f') +sha512sums=('d30334ed1137c54ddc70e041b75be905b7e13398483d0d92117eca0407d2a7b60424d96fd7af885a2e3ea3676b1aef620e91598a53309ae0da12a360d57ac013') prepare() { cd "${srcdir}" @@ -35,11 +35,11 @@ package() { cd "${srcdir}/python-build-${CARCH}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} --root="${pkgdir}" --skip-build - local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX}) - # fix python command in files - for _f in "${pkgdir}${MINGW_PREFIX}"/bin/*.py; do - sed -e "s|/usr/bin/env |${MINGW_PREFIX}|g" \ - -e "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" -i ${_f} + + for _f in "${pkgdir}${MINGW_PREFIX}"/bin/*-script.py; do + # Remove shebang line + sed -e '1 { s/^#!.*$// }' -i "${_f}" done + install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/LICENSE.txt" } diff --git a/mingw-w64-python-entrypoints/PKGBUILD b/mingw-w64-python-entrypoints/PKGBUILD index b1720c89ce..f67d0a998e 100644 --- a/mingw-w64-python-entrypoints/PKGBUILD +++ b/mingw-w64-python-entrypoints/PKGBUILD @@ -6,18 +6,18 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=0.3 -pkgrel=2 +pkgver=0.4 +pkgrel=1 pkgdesc="Discover and load entry points from installed packages (mingw-w64)" url="https://github.com/takluyver/entrypoints" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') license=('MIT') makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") source=(${_realname}-${pkgver}.tar.gz::https://github.com/takluyver/${_realname}/archive/${pkgver}.tar.gz - ${_realname}-${pkgver}-whl.tar.gz::https://files.pythonhosted.org/packages/py2.py3/e/${_realname}/${_realname}-${pkgver}-py2.py3-none-any.whl) -sha256sums=('f26eddc371e37d8e9f6663b77524d6731567f005bd1e4ac950c0e33c48fbc065' - '589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19') + ${_realname}-${pkgver}-whl.tar.gz::https://files.pythonhosted.org/packages/py3/e/${_realname}/${_realname}-${pkgver}-py3-none-any.whl) +sha256sums=('d2197a94aa73e70a7f60600e654ac9918ca2a0ee5480eb875296c42220a02272' + 'f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f') package() { cd "${srcdir}" diff --git a/mingw-w64-python-gast/PKGBUILD b/mingw-w64-python-gast/PKGBUILD index 4b81c61b94..ebb019bbc1 100644 --- a/mingw-w64-python-gast/PKGBUILD +++ b/mingw-w64-python-gast/PKGBUILD @@ -3,17 +3,17 @@ _realname=gast pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=0.4.0 -pkgrel=2 +pkgver=0.5.3 +pkgrel=1 pkgdesc='AST that abstracts the underlying Python version (mingw-w64)' arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://github.com/serge-sans-paille/gast" license=('BSD') depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") source=("https://pypi.io/packages/source/g/gast/gast-${pkgver}.tar.gz") -sha256sums=('40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1') +sha256sums=('cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea') prepare() { cd "$srcdir" diff --git a/mingw-w64-python-greenlet/PKGBUILD b/mingw-w64-python-greenlet/PKGBUILD index dff0bddef4..3e5a551b1c 100644 --- a/mingw-w64-python-greenlet/PKGBUILD +++ b/mingw-w64-python-greenlet/PKGBUILD @@ -6,8 +6,8 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=1.0.0 -pkgrel=2 +pkgver=1.1.2 +pkgrel=1 pkgdesc="Lightweight in-process concurrent programming (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -18,21 +18,20 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-cc") options=('staticlibs' 'strip' '!debug') source=("${_realname}-${pkgver}.tar.gz::https://files.pythonhosted.org/packages/source/g/greenlet/${_realname}-${pkgver}.tar.gz") -sha256sums=('719e169c79255816cdcf6dccd9ed2d089a72a9f6c42273aae12d55e8d35bdcf8') +sha256sums=('e30f5ea4ae2346e62cedde8794a56858a67b878dd79f7df76a0767e356b1744a') prepare() { - cd "${srcdir}" - rm -rf python-build-${CARCH} | true - cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" + rm -rf "python-build-${MSYSTEM}" | true + cp -r "${_realname}-${pkgver}" "python-build-${MSYSTEM}" } build() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py build } package() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ diff --git a/mingw-w64-python-httplib2/PKGBUILD b/mingw-w64-python-httplib2/PKGBUILD index 9b8ea1f8ee..5c0651c193 100644 --- a/mingw-w64-python-httplib2/PKGBUILD +++ b/mingw-w64-python-httplib2/PKGBUILD @@ -7,11 +7,11 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=0.19.1 -pkgrel=2 +pkgver=0.20.3 +pkgrel=1 pkgdesc="Comprehensive HTTP client library, supporting many features (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') license=('MIT') url="https://github.com/httplib2/httplib2" depends=("${MINGW_PACKAGE_PREFIX}-python" @@ -21,7 +21,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-python" makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") source=(${_realname}-${pkgver}.tar.gz::https://github.com/httplib2/httplib2/archive/v${pkgver}.tar.gz cert.patch) -sha256sums=('26702e32b4e6a88e0230d3d51b4d07b68cda8d25cef7205cbf32e5313cdef274' +sha256sums=('5eb7c82d2ec284b21a4939a763d2dc81ed9f2639ee92c5f66163ed86214a5ab1' '3503625ade773c17c9c44f4017aec634ff03db0073eb3ec11e6882a466d7aae6') prepare() { diff --git a/mingw-w64-python-idna/PKGBUILD b/mingw-w64-python-idna/PKGBUILD index a600e4d2bb..6f70f906de 100644 --- a/mingw-w64-python-idna/PKGBUILD +++ b/mingw-w64-python-idna/PKGBUILD @@ -6,8 +6,8 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=3.2 -pkgrel=2 +pkgver=3.3 +pkgrel=1 pkgdesc='Internationalized Domain Names in Applications (mingw-w64)' url='https://github.com/kjd/idna' license=('BSD-like') @@ -17,10 +17,9 @@ depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") _dtoken="d8/82/28a51052215014efc07feac7330ed758702fc0581347098a81699b5281cb" source=("https://pypi.io/packages/source/${_realname::1}/${_realname}/${_realname}-${pkgver}.tar.gz") -sha256sums=('467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3') +sha256sums=('9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d') prepare() { - cd ${srcdir} rm -rf python-build-${CARCH} cp -r ${_realname}-${pkgver} python-build-${CARCH} } diff --git a/mingw-w64-python-imageio/PKGBUILD b/mingw-w64-python-imageio/PKGBUILD index 4f2c839fae..81df483df4 100644 --- a/mingw-w64-python-imageio/PKGBUILD +++ b/mingw-w64-python-imageio/PKGBUILD @@ -4,7 +4,7 @@ _realname=imageio pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=2.13.5 +pkgver=2.14.1 pkgrel=1 pkgdesc="Python library for reading and writing a wide range of image, video, scientific, and volumetric data formats (mingw-w64)" arch=('any') @@ -18,7 +18,7 @@ optdepends=("${MINGW_PACKAGE_PREFIX}-freeimage" makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") options=('staticlibs' 'strip' '!debug') source=("${_realname}-${pkgver}.tar.gz"::"${url}/archive/v${pkgver}.tar.gz") -sha256sums=('ac79da398f3eda2984ce41bf71467200d3ca1a75515efddae3b07d023a2bbee1') +sha256sums=('4bf7254792f764177eb7bee9fc10abf379dfb40fd55d66e543b72aeff1585c7b') prepare() { cd "${srcdir}" diff --git a/mingw-w64-python-inflect/PKGBUILD b/mingw-w64-python-inflect/PKGBUILD index d05aba03f1..3abbcc12fd 100644 --- a/mingw-w64-python-inflect/PKGBUILD +++ b/mingw-w64-python-inflect/PKGBUILD @@ -4,7 +4,7 @@ _pyname=inflect _realname=inflect pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=5.3.0 +pkgver=5.4.0 pkgrel=1 pkgdesc='Python module to correctly generate plurals, ordinals, indefinite articles; convert numbers to words (mingw-w64)' arch=('any') @@ -16,7 +16,7 @@ makedepends=( "${MINGW_PACKAGE_PREFIX}-python-setuptools-scm" ) source=("${_pyname}-${pkgver}.tar.gz::https://pypi.org/packages/source/${_pyname::1}/${_pyname}/${_pyname}-${pkgver}.tar.gz") -sha256sums=('41a23f6788962e9775e40e2ecfb1d6455d02de315022afeedd3c5dc070019d73') +sha256sums=('b58d58c4e73ffca9b25e075c1c4fc9cadecbb5c99d7cd9f3cdedda73ece83c1c') prepare() { cd "$srcdir" diff --git a/mingw-w64-python-installer/103.patch b/mingw-w64-python-installer/103.patch new file mode 100644 index 0000000000..1b9414558c --- /dev/null +++ b/mingw-w64-python-installer/103.patch @@ -0,0 +1,130 @@ +From 98aa055b5bc7b3111efdf17122dc9c528aaae56c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Thu, 3 Feb 2022 17:19:26 +0100 +Subject: [PATCH] main: Implement --prefix option to override install path + +Implement a --prefix option that can be used to override platbase +and base when expanding the paths from install scheme. This can be used +to install paths to a layout using another prefix than the one used +to run installer. + +Gentoo use case for this is running installer inside a venv to prepare +installation images for the real system. The nixOS maintainers have +also indicated interest in this feature. + +Fixes #98 +--- + src/installer/__main__.py | 26 ++++++++++++++++++++++---- + tests/test_main.py | 30 ++++++++++++++++++++++++++++++ + 2 files changed, 52 insertions(+), 4 deletions(-) + +diff --git a/src/installer/__main__.py b/src/installer/__main__.py +index 6695d4b..1c0e40a 100644 +--- a/src/installer/__main__.py ++++ b/src/installer/__main__.py +@@ -23,6 +23,13 @@ def main_parser() -> argparse.ArgumentParser: + type=str, + help="destination directory (prefix to prepend to each file)", + ) ++ parser.add_argument( ++ "--prefix", ++ "-p", ++ metavar="path", ++ type=str, ++ help="override prefix to install packages to", ++ ) + parser.add_argument( + "--compile-bytecode", + action="append", +@@ -39,16 +46,27 @@ def main_parser() -> argparse.ArgumentParser: + return parser + + +-def get_scheme_dict(distribution_name: str) -> Dict[str, str]: ++def get_scheme_dict( ++ distribution_name: str, prefix: Optional[str] = None ++) -> Dict[str, str]: + """Calculate the scheme dictionary for the current Python environment.""" +- scheme_dict = sysconfig.get_paths() ++ vars = {} ++ if prefix is not None: ++ vars["base"] = vars["platbase"] = prefix ++ ++ scheme_dict = sysconfig.get_paths(vars=vars) + + # calculate 'headers' path, not currently in sysconfig - see + # https://bugs.python.org/issue44445. This is based on what distutils does. + # TODO: figure out original vs normalised distribution names + scheme_dict["headers"] = os.path.join( + sysconfig.get_path( +- "include", vars={"installed_base": sysconfig.get_config_var("base")} ++ "include", ++ vars={ ++ "installed_base": prefix ++ if prefix is not None ++ else sysconfig.get_config_var("base") ++ }, + ), + distribution_name, + ) +@@ -71,7 +89,7 @@ def main(cli_args: Sequence[str], program: Optional[str] = None) -> None: + + with installer.sources.WheelFile.open(args.wheel) as source: + destination = installer.destinations.SchemeDictionaryDestination( +- get_scheme_dict(source.distribution), ++ get_scheme_dict(source.distribution, prefix=args.prefix), + sys.executable, + installer.utils.get_launcher_kind(), + bytecode_optimization_levels=bytecode_levels, +diff --git a/tests/test_main.py b/tests/test_main.py +index ca22892..bf9acd5 100644 +--- a/tests/test_main.py ++++ b/tests/test_main.py +@@ -1,3 +1,5 @@ ++import os ++ + from installer.__main__ import get_scheme_dict, main + + +@@ -6,6 +8,14 @@ def test_get_scheme_dict(): + assert set(d.keys()) >= {"purelib", "platlib", "headers", "scripts", "data"} + + ++def test_get_scheme_dict_prefix(): ++ d = get_scheme_dict(distribution_name="foo", prefix="/foo") ++ for key in ("purelib", "platlib", "headers", "scripts", "data"): ++ assert d[key].startswith( ++ f"{os.sep}foo" ++ ), f"{key} does not start with /foo: {d[key]}" ++ ++ + def test_main(fancy_wheel, tmp_path): + destdir = tmp_path / "dest" + +@@ -22,6 +32,26 @@ def test_main(fancy_wheel, tmp_path): + } + + ++def test_main_prefix(fancy_wheel, tmp_path): ++ destdir = tmp_path / "dest" ++ ++ main([str(fancy_wheel), "-d", str(destdir), "-p", "/foo"], "python -m installer") ++ ++ installed_py_files = list(destdir.rglob("*.py")) ++ ++ for f in installed_py_files: ++ assert str(f.parent).startswith( ++ str(destdir / "foo") ++ ), f"path does not respect destdir+prefix: {f}" ++ assert {f.stem for f in installed_py_files} == {"__init__", "__main__", "data"} ++ ++ installed_pyc_files = destdir.rglob("*.pyc") ++ assert {f.name.split(".")[0] for f in installed_pyc_files} == { ++ "__init__", ++ "__main__", ++ } ++ ++ + def test_main_no_pyc(fancy_wheel, tmp_path): + destdir = tmp_path / "dest" + diff --git a/mingw-w64-python-installer/PKGBUILD b/mingw-w64-python-installer/PKGBUILD new file mode 100644 index 0000000000..3895ea9018 --- /dev/null +++ b/mingw-w64-python-installer/PKGBUILD @@ -0,0 +1,90 @@ +# Maintainer: Christoph Reiter + +_realname=installer +pkgbase=mingw-w64-python-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") +pkgver=0.4.0 +pkgrel=3 +pkgdesc="A low-level library for installing from a Python wheel distribution (mingw-w64)" +arch=('any') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') +url='https://github.com/pradyunsg/installer' +license=('spdx:MIT') +depends=("${MINGW_PACKAGE_PREFIX}-python") +makedepends=( + "${MINGW_PACKAGE_PREFIX}-python-flit" + "${MINGW_PACKAGE_PREFIX}-cc" + "unzip" + "git" +) +_commit="32836e96e14d85db1f864ab5ff46ceb84b4a7673" +_launcher_commit="8c455825fc1308d34a1a47238a9eb6d56f732142" +source=("${_realname}-$pkgver"::"git+https://github.com/pradyunsg/installer.git#commit=${_commit}" + "simple_launcher"::"git+https://bitbucket.org/vinay.sajip/simple_launcher.git#commit=${_launcher_commit}" + "103.patch") +sha256sums=('SKIP' + 'SKIP' + '861b4ee753b7f3e1cae37e1fa9a96fe65050a7066b6650a153df5d26f10f07c0') + +prepare() { + cd "${srcdir}/${_realname}-${pkgver}" + + # https://github.com/pradyunsg/installer/pull/103 + patch -Np1 -i "${srcdir}/103.patch" +} + +build() { + cd "${srcdir}/simple_launcher" + windres --input launcher.rc --output resources.res --output-format=coff + + local _gui_cflags="$CFLAGS -mwindows" + local _cli_cflags="$CFLAGS" + local _gui_lflags="-lshlwapi" + local _cli_lflags="-lshlwapi" + case "$MSYSTEM" in + MINGW*) + _gui_cflags+=" -mcrtdll=msvcr120" + _cli_cflags+=" -mcrtdll=msvcr120" + ;; + esac + + case "${MINGW_CHOST}" in + i686-w64-mingw32) + cc $_cli_cflags -o t32.exe launcher.c resources.res $_cli_lflags + cc $_gui_cflags -o w32.exe launcher.c resources.res $_gui_lflags + ;; + x86_64-w64-mingw32) + cc $_cli_cflags -o t64.exe launcher.c resources.res $_cli_lflags + cc $_gui_cflags -o w64.exe launcher.c resources.res $_gui_lflags + ;; + aarch64-w64-mingw32) + cc $_cli_cflags -o t64-arm.exe launcher.c resources.res $_cli_lflags + cc $_gui_cflags -o w64-arm.exe launcher.c resources.res $_gui_lflags + ;; + *) + echo "Unsupported CHOST ${MINGW_CHOST}" && false + ;; + esac + + cd "${srcdir}/${_realname}-${pkgver}" + + flit build --no-setup-py +} + +package() { + cd "${srcdir}/${_realname}-${pkgver}" + + local site_packages="$(python3 -c "import sysconfig; print(sysconfig.get_path('purelib', 'posix_prefix', {'base': ''}), end='')")" + local target="${pkgdir}${MINGW_PREFIX}${site_packages}" + mkdir -p "${target}" + unzip -q "dist/"*.whl -d "${target}" + + # Replace launchers + rm "${target}"/installer/_scripts/*.exe + cd "${srcdir}/simple_launcher" + cp *.exe "${target}"/installer/_scripts/ + + # compile Python bytecode + ${MINGW_PREFIX}/bin/python -m compileall -d / "${target}" + ${MINGW_PREFIX}/bin/python -O -m compileall -d / "${target}" +} diff --git a/mingw-w64-python-jellyfish/PKGBUILD b/mingw-w64-python-jellyfish/PKGBUILD index 7271b11ba1..10c6d8e1e5 100644 --- a/mingw-w64-python-jellyfish/PKGBUILD +++ b/mingw-w64-python-jellyfish/PKGBUILD @@ -3,19 +3,19 @@ _realname=jellyfish pkgbase=mingw-w64-python-${_realname} pkgname=${MINGW_PACKAGE_PREFIX}-python-${_realname} -pkgver=0.8.8 +pkgver=0.9.0 pkgrel=1 pkgdesc='A python library for doing approximate and phonetic matching of strings (mingw-w64)' arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') license=('BSD 2-Clause') url='https://github.com/jamesturk/jellyfish' makedepends=( ${MINGW_PACKAGE_PREFIX}-python ${MINGW_PACKAGE_PREFIX}-python-setuptools "${MINGW_PACKAGE_PREFIX}-cc") -source=("https://files.pythonhosted.org/packages/76/88/e6eba0ebd8a11eb0a03392d827f0a605ad45fbb24234f7db98ca1ecb41b2/${_realname}-${pkgver}.tar.gz") -sha256sums=('0506089cacf9b5897442134417b04b3c6610c19f280ae535eace390dc6325a5c') +source=("https://files.pythonhosted.org/packages/source/j/${_realname}/${_realname}-${pkgver}.tar.gz") +sha256sums=('40c9a2ffd8bd3016f7611d424120442f627f56d518a106847dc93f0ead6ad79a') prepare() { cd "${srcdir}" diff --git a/mingw-w64-python-lark-parser/PKGBUILD b/mingw-w64-python-lark-parser/PKGBUILD index fd549f8434..8ac6327435 100644 --- a/mingw-w64-python-lark-parser/PKGBUILD +++ b/mingw-w64-python-lark-parser/PKGBUILD @@ -4,20 +4,19 @@ _realname=lark-parser _pyname=lark pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=0.11.1 -pkgrel=2 +pkgver=0.12.0 +pkgrel=1 pkgdesc="A modern parsing library. (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url='https://github.com/erezsh/lark' license=('MIT') depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/lark-parser/lark/archive/${pkgver}.tar.gz") -sha512sums=('3C1A6E3E3742BF26EB824EF19079B5151D91B0066EF184A0387BD065C3F444ADBAB3F5EC9C4E618D863FCD49E10F0333FEE4EEAF3100FBC362F142BBCAE8BD76') +sha512sums=('d9d0e2531c139d8c75d47c21af996cc5f13588231e0082e2c698f1e295aebc0323297f75fe737b8854836c5a1556f7eb699d02554e218916e691e730ed68e538') prepare() { - cd "${srcdir}" rm -rf python-build-${CARCH} | true cp -r "${_pyname}-${pkgver}" "python-build-${CARCH}" export SETUPTOOLS_SCM_PRETEND_VERSION=${pkgver} diff --git a/mingw-w64-python-lief/PKGBUILD b/mingw-w64-python-lief/PKGBUILD index 07c91c16f1..4fb475964b 100644 --- a/mingw-w64-python-lief/PKGBUILD +++ b/mingw-w64-python-lief/PKGBUILD @@ -5,18 +5,18 @@ pkgbase=mingw-w64-python-${_realname} pkgname=${MINGW_PACKAGE_PREFIX}-python-${_realname} pkgdesc="LIEF - Library to Instrument Executable Formats (mingw-w64)" pkgver=0.11.5 -pkgrel=1 +pkgrel=2 arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://github.com/lief-project/LIEF/" license=("Apache-2.0") depends=("${MINGW_PACKAGE_PREFIX}-python") -makedepends=("${MINGW_PACKAGE_PREFIX}-ccache" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-ccache" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-python" - "${MINGW_PACKAGE_PREFIX}-python-setuptools" - "${MINGW_PACKAGE_PREFIX}-cc") + "${MINGW_PACKAGE_PREFIX}-python-setuptools") options=('staticlibs' '!strip' '!debug') source=(https://github.com/lief-project/LIEF/archive/${pkgver}.tar.gz lief.patch) @@ -30,7 +30,6 @@ prepare() { } build() { - echo "Building for Python - ${MSYSTEM}" cd "${srcdir}/LIEF-${pkgver}" [[ -d build-${MSYSTEM} ]] && rm -rf build-${MSYSTEM} mkdir -p build-${MSYSTEM} && cd build-${MSYSTEM} @@ -76,7 +75,7 @@ package() { _pythonpath=`${MINGW_PREFIX}/bin/python -c "from sysconfig import get_path; print(get_path('platlib'))"` _site_packages=${pkgdir}$(cygpath ${_pythonpath}) mkdir -p $_site_packages - cp -r ${_realname}.egg-info $_site_packages/${_realname}-${pkgver} + cp -r ${_realname}.egg-info $_site_packages/${_realname}-${pkgver}.egg-info cp build-${MSYSTEM}/api/python/lief.pyd $_site_packages/lief.pyd install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" diff --git a/mingw-w64-python-lsp-server/PKGBUILD b/mingw-w64-python-lsp-server/PKGBUILD index b87acdb0f3..0e0ec4a6ce 100644 --- a/mingw-w64-python-lsp-server/PKGBUILD +++ b/mingw-w64-python-lsp-server/PKGBUILD @@ -4,7 +4,7 @@ _realname=lsp-server pkgbase=mingw-w64-python-${_realname} pkgname=${MINGW_PACKAGE_PREFIX}-python-${_realname} pkgver=1.3.3 -pkgrel=1 +pkgrel=2 pkgdesc='Python Language Server for the Language Server Protocol (mingw-w64)' arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -49,5 +49,10 @@ package() { ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ --root="${pkgdir}" --optimize=1 --skip-build + for _f in "${pkgdir}${MINGW_PREFIX}"/bin/*-script.py; do + # Remove shebang line + sed -e '1 { s/^#!.*$// }' -i "${_f}" + done + install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/LICENSE" } diff --git a/mingw-w64-python-lxml/PKGBUILD b/mingw-w64-python-lxml/PKGBUILD index 58a7269ea6..4e2dd8c5b7 100644 --- a/mingw-w64-python-lxml/PKGBUILD +++ b/mingw-w64-python-lxml/PKGBUILD @@ -4,7 +4,7 @@ _realname=lxml pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=4.6.2 +pkgver=4.7.1 pkgrel=2 provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}=${pkgver}" "${MINGW_PACKAGE_PREFIX}-python-${_realname}-docs") @@ -15,7 +15,7 @@ replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}" pkgdesc="Python binding for the libxml2 and libxslt libraries (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') -license=('BSD' 'custom') +license=('spdx:BSD-3-Clause') url="https://lxml.de/" depends=("${MINGW_PACKAGE_PREFIX}-libxml2" "${MINGW_PACKAGE_PREFIX}-libxslt" @@ -28,29 +28,17 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cython" "${MINGW_PACKAGE_PREFIX}-python-beautifulsoup4" "${MINGW_PACKAGE_PREFIX}-python-cssselect" "${MINGW_PACKAGE_PREFIX}-python-html5lib" + "${MINGW_PACKAGE_PREFIX}-pkg-config" "${MINGW_PACKAGE_PREFIX}-cc") source=("https://github.com/lxml/lxml/archive/${_realname}-${pkgver}.tar.gz" - "mingw-python-fix.patch" - "use-distutils-get_platform.patch" - "allow-pass-path-to-rst2s5.patch") -sha256sums=('31eff968b5fb7f0dc6f2dedff071f179c17df5ada2c3fd613f79a5f14a94490a' - '032bbca0c8cb4d24665162722736e7afcc3c49b84d0bc3d4996a5c9089bd24b4' - 'd50fefc47295d8c6eecf1ca42d03af43dc79d3debb52caf8edbed3b56df2f672' - 'ec4de74d02cc4f0d09c029c7e36063ff833e378b36993e8bb57b852ac5648b7c') - -apply_patch_with_msg() { - for _patch in "$@" - do - msg2 "Applying $_patch" - patch -Nbp1 -i "${srcdir}/$_patch" - done -} + "use-distutils-get_platform.patch") +sha256sums=('c495545191397b26ce33a2749e13a64bc2b44894e39fd92c4243922e36f7d5a9' + 'd50fefc47295d8c6eecf1ca42d03af43dc79d3debb52caf8edbed3b56df2f672') prepare() { cd "${srcdir}/${_realname}-${_realname}-${pkgver}" - apply_patch_with_msg mingw-python-fix.patch \ - use-distutils-get_platform.patch \ - allow-pass-path-to-rst2s5.patch + + patch -Nbp1 -i "${srcdir}/use-distutils-get_platform.patch" cd "${srcdir}" rm -rf python-build-${CARCH} | true @@ -58,32 +46,10 @@ prepare() { } build() { - # It seems to me that CFLAGS and LDFLAGS aren't getting - # converted to Windows versions when calling Python for - # some reason? - - # Tried $(cygpath -m) to get -IC:/msys64/mingw32/ - # but that gets mangled to -IC;C:msys64msys64mingw32 - # PREFIX_WIN=$(cygpath -m $MINGW_PREFIX) - # CPPFLAGS="$CPPFLAGS -I${PREFIX_WIN}/include/libxml2" - # LDFLAGS="$LDFLAGS -L${PREFIX_WIN}/lib" - - # This horrible version works; needs the right amount of \\ to - # escape the escapes. This stuff makes some of xslt-config - # redundant (xslt-config *should* return C:/ paths but doesn't) - PREFIX_WIN=$(cygpath -w $MINGW_PREFIX) - PREFIX_WIN=${PREFIX_WIN//\\/\\\\} - CPPFLAGS="$CPPFLAGS -I${PREFIX_WIN}\\\\include\\\\libxml2" - LDFLAGS="$LDFLAGS -L${PREFIX_WIN}\\\\lib" - msg "Python build for ${CARCH}" cd "${srcdir}/python-build-${CARCH}" ${MINGW_PREFIX}/bin/python setup.py build \ - --with-xslt-config=${MINGW_PREFIX}/bin/xslt-config \ - --with-xml2-config=${MINGW_PREFIX}/bin/xml2-config \ --with-cython --with-unicode-strings - - #make PYTHON=${MINGW_PREFIX}/bin/python RST2S5=${MINGW_PREFIX}/bin/rst2s5.py html } package() { @@ -91,8 +57,6 @@ package() { MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX#\/} \ --root="${pkgdir}" --optimize=1 --skip-build \ - --with-xslt-config=${MINGW_PREFIX}/bin/xslt-config \ - --with-xml2-config=${MINGW_PREFIX}/bin/xml2-config \ --with-cython --with-unicode-strings install -Dm644 LICENSES.txt \ @@ -101,7 +65,4 @@ package() { "${pkgdir}${MINGW_PREFIX}"/share/licenses/python-${_realname}/BSD.txt install -Dm644 doc/licenses/elementtree.txt \ "${pkgdir}${MINGW_PREFIX}"/share/licenses/python-${_realname}/elementtree.txt - - #install -d "${pkgdir}${MINGW_PREFIX}"/share/doc/${_realname} - #cp -r doc/html "${pkgdir}${MINGW_PREFIX}"/share/doc/${_realname} } diff --git a/mingw-w64-python-lxml/allow-pass-path-to-rst2s5.patch b/mingw-w64-python-lxml/allow-pass-path-to-rst2s5.patch deleted file mode 100644 index ba1588c5a8..0000000000 --- a/mingw-w64-python-lxml/allow-pass-path-to-rst2s5.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/doc/s5/Makefile.orig 2019-06-10 15:00:18.102431700 +0300 -+++ b/doc/s5/Makefile 2019-06-10 15:00:46.868882300 +0300 -@@ -1,11 +1,12 @@ - PYTHON?=python -+RST2S5?=rst2s5.py - - SLIDES=$(subst .txt,.html,$(wildcard *.txt)) - - slides: $(SLIDES) - - %.html: %.txt -- $(PYTHON) rst2s5.py --current-slide --language=en $< $@ -+ $(PYTHON) $(RST2S5) --current-slide --language=en $< $@ - - clean: - rm -f *~ $(SLIDES) diff --git a/mingw-w64-python-lxml/mingw-python-fix.patch b/mingw-w64-python-lxml/mingw-python-fix.patch deleted file mode 100644 index a407cc2c04..0000000000 --- a/mingw-w64-python-lxml/mingw-python-fix.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- lxml-4.6.1/setupinfo.py.orig 2017-06-16 21:11:57.898800000 +0400 -+++ lxml-4.6.1/setupinfo.py 2017-06-16 21:41:20.905000000 +0400 -@@ -356,7 +356,7 @@ - if not cmd: - return '' - if args: -- cmd = ' '.join((cmd,) + args) -+ cmd = 'sh -c "'+' '.join((cmd,) + args)+'"' - - p = subprocess.Popen(cmd, shell=True, - stdout=subprocess.PIPE, stderr=subprocess.PIPE) diff --git a/mingw-w64-python-markdown-math/PKGBUILD b/mingw-w64-python-markdown-math/PKGBUILD index 6a6a3db9c8..2e012d8b79 100644 --- a/mingw-w64-python-markdown-math/PKGBUILD +++ b/mingw-w64-python-markdown-math/PKGBUILD @@ -6,49 +6,23 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=0.6 -pkgrel=2 +pkgver=0.8 +pkgrel=1 pkgdesc="Math extension for Python-Markdown (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url='https://github.com/mitya57/python-markdown-math' license=('BSD') depends=("${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-python-markdown") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") options=('staticlibs' 'strip' '!debug') -source=("https://files.pythonhosted.org/packages/source/p/python-${_realname}/python-${_realname}-${pkgver}.tar.gz"{,.asc} - "fix-markdown-3.x.patch") -sha256sums=('c68d8cb9695cb7b435484403dc18941d1bad0ff148e4166d9417046a0d5d3022' - 'SKIP' - '06ba6b40175a410534d14fe5482d773c1d49d684c0ac74c4795f187c10890c5f') +source=("https://files.pythonhosted.org/packages/source/p/python-${_realname}/python-${_realname}-${pkgver}.tar.gz"{,.asc}) +sha256sums=('8564212af679fc18d53f38681f16080fcd3d186073f23825c7ce86fadd3e3635' + 'SKIP') validpgpkeys=('F24299FF1BBC9018B906A4CB6026936D2F1C8AE0') # Dmitry Shachnev -# Helper macros to help make tasks easier # -apply_patch_with_msg() { - for _patch in "$@" - do - msg2 "Applying $_patch" - patch -Nbp1 -i "${srcdir}/$_patch" - done -} - -del_file_exists() { - for _fname in "$@" - do - if [ -f $_fname ]; then - rm -rf $_fname - fi - done -} -# =========================================== # - prepare() { - cd "${srcdir}/python-${_realname}-${pkgver}" - - apply_patch_with_msg fix-markdown-3.x.patch - - cd "${srcdir}" rm -rf "python-build-${CARCH}" | true cp -r "python-${_realname}-${pkgver}" "python-build-${CARCH}" diff --git a/mingw-w64-python-markdown-math/fix-markdown-3.x.patch b/mingw-w64-python-markdown-math/fix-markdown-3.x.patch deleted file mode 100644 index 36cd84ca3d..0000000000 --- a/mingw-w64-python-markdown-math/fix-markdown-3.x.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 7c2a82327dc6aabca25cd42bf9cce4f0c237fd80 Mon Sep 17 00:00:00 2001 -From: Dmitry Shachnev -Date: Sat, 3 Nov 2018 10:29:43 +0300 -Subject: [PATCH] Fix deprecation warnings with Python-Markdown 3.x - -Fixes #21. ---- - mdx_math.py | 7 ++++--- - setup.py | 1 + - 2 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/mdx_math.py b/mdx_math.py -index 342117b..1c1df52 100644 ---- a/mdx_math.py -+++ b/mdx_math.py -@@ -31,7 +31,7 @@ def _get_content_type(self): - return 'math/asciimath' - return 'math/tex' - -- def extendMarkdown(self, md, md_globals): -+ def extendMarkdown(self, md): - def _wrap_node(node, preview_text, wrapper_tag): - if not self.getConfig('add_preview'): - return node -@@ -72,10 +72,11 @@ def handle_match(m): - mathpatterns = mathpatterns[:-1] # \begin...\end is TeX only - for i, pattern in enumerate(mathpatterns): - pattern.handleMatch = handle_match -- md.inlinePatterns.add('math-%d' % i, pattern, '=3.0'], - entry_points={ - 'markdown.extensions': [ - 'mdx_math = mdx_math:MathExtension', diff --git a/mingw-w64-python-maturin/PKGBUILD b/mingw-w64-python-maturin/PKGBUILD index 9d9480f3fb..4783fdb00f 100644 --- a/mingw-w64-python-maturin/PKGBUILD +++ b/mingw-w64-python-maturin/PKGBUILD @@ -3,7 +3,7 @@ _realname=maturin pkgbase=mingw-w64-python-${_realname} pkgname=${MINGW_PACKAGE_PREFIX}-python-${_realname} -pkgver=0.12.3 +pkgver=0.12.6 pkgrel=1 pkgdesc='Build and publish crates with pyo3, rust-cpython and cffi bindings as well as rust binaries as python packages (mingw-w64)' url='https://github.com/pyo3/maturin' @@ -16,8 +16,8 @@ depends=( makedepends=( ${MINGW_PACKAGE_PREFIX}-python-setuptools ${MINGW_PACKAGE_PREFIX}-rust) -source=(https://github.com/pyo3/${_realname}/archive/v${pkgver}.tar.gz) -sha256sums=('9a6ee17bdee33aa319941ca5000016397a2d5343a17341406150c4015aa81b75') +source=("${_realname}-${pkgver}.tar.gz::https://github.com/pyo3/${_realname}/archive/v${pkgver}.tar.gz") +sha256sums=('8642e6a64bd088930e666e930102db57b13bc652cc3498f5c2ddebd6359d059a') prepare() { rm -rf python-build-${MSYSTEM} | true diff --git a/mingw-w64-python-monotonic/PKGBUILD b/mingw-w64-python-monotonic/PKGBUILD index c4154bed29..78146d92cd 100644 --- a/mingw-w64-python-monotonic/PKGBUILD +++ b/mingw-w64-python-monotonic/PKGBUILD @@ -6,42 +6,43 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=1.5 -pkgrel=2 -pkgdesc="An implementation of time.monotonic() for Python 2 & Python 3 (mingw-w64)" +pkgver=1.6 +pkgrel=1 +pkgdesc="An implementation of time.monotonic() for Python (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') -url='https://github.com/atdt/monotonic' +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') +url='https://pypi.python.org/pypi/monotonic' license=('Apache') depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") options=('staticlibs' 'strip' '!debug') source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/atdt/monotonic/archive/${pkgver}.tar.gz") -sha256sums=('d58dc86a7b0d714702be02df906d2712901efef6a16b3aafc95aaa9174e27771') +sha256sums=('9609c249aed584fd714811014870650d08d6f6414402b5a190663c49bf83b221') prepare() { - cd "${srcdir}" - rm -rf python-build-${CARCH} | true - cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" + rm -rf "python-build-${MSYSTEM}" | true + cp -r "${_realname}-${pkgver}" "python-build-${MSYSTEM}" # Set version for setuptools_scm export SETUPTOOLS_SCM_PRETEND_VERSION=${pkgver} } build() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py build } check() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py check } package() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ --root="${pkgdir}" --optimize=1 --skip-build + + install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/LICENSE" } diff --git a/mingw-w64-python-msgpack/PKGBUILD b/mingw-w64-python-msgpack/PKGBUILD index 939905b482..d44c035b01 100644 --- a/mingw-w64-python-msgpack/PKGBUILD +++ b/mingw-w64-python-msgpack/PKGBUILD @@ -6,18 +6,20 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=1.0.2 -pkgrel=2 +pkgver=1.0.3 +pkgrel=1 pkgdesc="MessagePack serializer implementation for Python (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url='https://github.com/msgpack/msgpack-python' license=('Apache') depends=("${MINGW_PACKAGE_PREFIX}-python") -makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-cython" + "${MINGW_PACKAGE_PREFIX}-python-setuptools") options=('staticlibs' 'strip' '!debug') source=("${_realname}-python-$pkgver.tar.gz"::"https://github.com/msgpack/msgpack-python/archive/v${pkgver}.tar.gz") -sha256sums=('c3c347e0723fb5cedab6ff4919cf06098838d619438ce272a86f6734caae4d13') +sha256sums=('576a1835a8b48d5861c883a6e10fd374065c6ae56287b221d1a4791e9529c71c') # Helper macros to help make tasks easier # apply_patch_with_msg() { @@ -39,32 +41,33 @@ del_file_exists() { # =========================================== # prepare() { - cd "${srcdir}" - rm -rf python-build-${CARCH} | true - cp -r "msgpack-python-${pkgver}" "python-build-${CARCH}" + rm -rf "python-build-${MSYSTEM}" | true + cp -r "msgpack-python-${pkgver}" "python-build-${MSYSTEM}" # Set version for setuptools_scm export SETUPTOOLS_SCM_PRETEND_VERSION=${pkgver} } build() { - msg "Python build for ${CARCH}" - cd "${srcdir}/python-build-${CARCH}" + msg "Python build for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py build - find "${srcdir}/python-build-${CARCH}" -type f -exec \ + find "${srcdir}/python-build-${MSYSTEM}" -type f -exec \ sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python3,' {} \; } check() { - msg "Python test for ${CARCH}" - cd "${srcdir}/python-build-${CARCH}" + msg "Python test for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" PYTHONPATH=$PWD ${MINGW_PREFIX}/bin/py.test test } package() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ --root="${pkgdir}" --optimize=1 --skip-build + + install -Dm644 COPYING "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/COPYING" } diff --git a/mingw-w64-python-netifaces/PKGBUILD b/mingw-w64-python-netifaces/PKGBUILD index 1e6e600ede..0b15c2a9e5 100644 --- a/mingw-w64-python-netifaces/PKGBUILD +++ b/mingw-w64-python-netifaces/PKGBUILD @@ -6,8 +6,8 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=0.10.9 -pkgrel=2 +pkgver=0.11.0 +pkgrel=1 pkgdesc="Portable module to access network interface information in Python (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -18,7 +18,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-cc") options=('staticlibs' 'strip' '!debug') source=("https://pypi.io/packages/source/n/netifaces/netifaces-${pkgver}.tar.gz") -sha512sums=('8fc593de4d2cbda46a3e2430ede031360f1abfc64d47d00fbec09f3395fd83479bf29d97cb6834b1df06850c9ac2745c9344b6814f34be5975d4d5df98e05e87') +sha512sums=('a53110efb78c89c4d72d002104866253a4c085dd27ff9f41d4cfe3811cc5619e7585ceda4e91e83cdd0645c40c745c61d205708ee9a34427b35f437a48f148e5') # Helper macros to help make tasks easier # apply_patch_with_msg() { diff --git a/mingw-w64-python-nuitka/PKGBUILD b/mingw-w64-python-nuitka/PKGBUILD index b75b9dac7b..7b8f15b2f8 100644 --- a/mingw-w64-python-nuitka/PKGBUILD +++ b/mingw-w64-python-nuitka/PKGBUILD @@ -6,7 +6,7 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=0.6.18.6 +pkgver=0.6.19.6 pkgrel=1 pkgdesc="Python to native compiler (mingw-w64)" arch=('any') @@ -17,7 +17,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") source=("https://nuitka.net/releases/Nuitka-${pkgver}.tar.gz") noextract=(Nuitka-$pkgver.tar.gz) -sha256sums=('51df34c59c0ebc0384b852daed7ed7818803eee1b4a89f103042f2e6be4e2040') +sha256sums=('cf03d83559546054d28a6ada888d7ef98529d53257d63041b752dd215037a71e') prepare() { [[ -d $srcdir/${_realname}-${pkgver} ]] && rm -rf ${srcdir}/${_realname}-${pkgver} diff --git a/mingw-w64-python-ordered-set/PKGBUILD b/mingw-w64-python-ordered-set/PKGBUILD index d5c3f0d587..fec6a6285c 100644 --- a/mingw-w64-python-ordered-set/PKGBUILD +++ b/mingw-w64-python-ordered-set/PKGBUILD @@ -6,8 +6,8 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=3.1.1 -pkgrel=2 +pkgver=4.1.0 +pkgrel=1 pkgdesc='An OrderedSet is a mutable data structure that is a hybrid of a list and a set(mingw-w64)' arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -16,15 +16,11 @@ license=('MIT') depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") checkdepends=("${MINGW_PACKAGE_PREFIX}-python-pytest") -source=(#${_realname}-${pkgver}.tar.gz::"https://github.com/LuminosoInsight/ordered-set/archive/release/${pkgver}.tar.gz" - https://files.pythonhosted.org/packages/a3/b7/d4d69641cbe707a45c23b190f2d717466ba5accc4c70b5f7a8a450387895/ordered-set-${pkgver}.tar.gz) -sha256sums=('a7bfa858748c73b096e43db14eb23e2bc714a503f990c89fac8fab9b0ee79724') +source=(https://files.pythonhosted.org/packages/source/o/${_realname}/${_realname}-${pkgver}.tar.gz) +sha256sums=('694a8e44c87657c59292ede72891eb91d34131f6531463aab3009191c77364a8') prepare() { - [[ -d ${srcdir}/${_realname}-${pkgver} ]] && rm -rf ${srcdir}/${_realname}-${pkgver} - tar -xzf ${srcdir}/${_realname}-${pkgver}.tar.gz -C ${srcdir} || true - - cd "${srcdir}" + rm -rf "python-build-${CARCH}" | true cp -r ${_realname}-${pkgver} python-build-${CARCH} } diff --git a/mingw-w64-python-pandocfilters/PKGBUILD b/mingw-w64-python-pandocfilters/PKGBUILD index 92cb9b38c3..1497635966 100644 --- a/mingw-w64-python-pandocfilters/PKGBUILD +++ b/mingw-w64-python-pandocfilters/PKGBUILD @@ -6,32 +6,34 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=1.4.3 -pkgrel=2 +pkgver=1.5.0 +pkgrel=1 pkgdesc="A python module for writing pandoc filters (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') -url='https://pypi.python.org/pypi/pandocfilters' +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') +url='https://pypi.org/project/pandocfilters/' license=('BSD') depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") source=("${_realname}-${pkgver}.tar.gz::https://pypi.io/packages/source/p/pandocfilters/pandocfilters-${pkgver}.tar.gz") -sha256sums=('bc63fbb50534b4b1f8ebe1860889289e8af94a23bff7445259592df25a3906eb') +sha256sums=('0b679503337d233b4339a817bfc8c50064e2eff681314376a47cb582305a7a38') prepare() { - rm -rf python-build-${CARCH} | true - cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" + rm -rf "python-build-${MSYSTEM}" | true + cp -r "${_realname}-${pkgver}" "python-build-${MSYSTEM}" } build() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py build } package() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ --root="${pkgdir}" --optimize=1 --skip-build + + install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/LICENSE" } diff --git a/mingw-w64-python-path/PKGBUILD b/mingw-w64-python-path/PKGBUILD index 073707e7ff..3b7fd25e46 100644 --- a/mingw-w64-python-path/PKGBUILD +++ b/mingw-w64-python-path/PKGBUILD @@ -3,15 +3,15 @@ _realname=path.py pkgbase=mingw-w64-python-path pkgname=("${MINGW_PACKAGE_PREFIX}-python-path") -pkgver=13.2.0 -pkgrel=2 +pkgver=16.3.0 +pkgrel=1 provides=("${MINGW_PACKAGE_PREFIX}-python3-path=${pkgver}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-path") replaces=("${MINGW_PACKAGE_PREFIX}-python3-path") pkgdesc="File system based database that uses python pickles (mingw-w64)" url="https://pypi.org/project/path.py/" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') license=('MIT') depends=("${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-python-importlib-metadata") @@ -20,7 +20,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" checkdepends=("${MINGW_PACKAGE_PREFIX}-python-pytest-runner" "${MINGW_PACKAGE_PREFIX}-python-pytest-flake8") source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/jaraco/path.py/archive/v${pkgver}.tar.gz") -sha512sums=('59c9df45996eb227df101a13da968bcb006d9b89cb5c36ffcd08bdfb1102e7bd91bbe340b04ffea7478a0dda3dfa2df33412fcf9b6e6fb5af06952a82a6b6914') +sha512sums=('10065efeb36a05b6885eff3e91fc63b80e0418567d5be0a442c1c46283faaafe8032a7eeb2fe547416bab4208c53db3fa0048a939a6294f04393a155983ec1dd') prepare() { rm -rf python-build-${CARCH} diff --git a/mingw-w64-python-pathlib2/PKGBUILD b/mingw-w64-python-pathlib2/PKGBUILD index cfa73a516c..b516f4e7c4 100644 --- a/mingw-w64-python-pathlib2/PKGBUILD +++ b/mingw-w64-python-pathlib2/PKGBUILD @@ -6,8 +6,8 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=2.3.5 -pkgrel=2 +pkgver=2.3.6 +pkgrel=1 pkgdesc="This module offers a set of classes featuring all the common operations on paths in an easy, object-oriented way (mingw-w64)" url="https://pypi.org/project/pathlib2/" arch=('any') @@ -17,22 +17,21 @@ depends=("${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-python-scandir") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") source=("https://pypi.io/packages/source/p/${_realname}/${_realname}-${pkgver}.tar.gz") -sha256sums=('6cd9a47b597b37cc57de1c05e56fb1a1c9cc9fab04fe78c29acd090418529868') +sha256sums=('7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f') prepare() { - cd "${srcdir}" - rm -rf python-build-${CARCH} | true - cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" + rm -rf "python-build-${MSYSTEM}" | true + cp -r "${_realname}-${pkgver}" "python-build-${MSYSTEM}" } build() { - msg "Python build for ${CARCH}" - cd "${srcdir}/python-build-${CARCH}" + msg "Python build for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py build } package() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ --root="${pkgdir}" --optimize=1 --skip-build diff --git a/mingw-w64-python-pathspec/PKGBUILD b/mingw-w64-python-pathspec/PKGBUILD index 12c03d9092..35abfee65e 100644 --- a/mingw-w64-python-pathspec/PKGBUILD +++ b/mingw-w64-python-pathspec/PKGBUILD @@ -3,8 +3,8 @@ _realname=pathspec pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=0.8.1 -pkgrel=2 +pkgver=0.9.0 +pkgrel=1 pkgdesc='Utility library for gitignore style pattern matching of file paths (mingw-w64)' arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -13,10 +13,9 @@ license=('MPL2') depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") source=("https://files.pythonhosted.org/packages/source/${_realname::1}/$_realname/$_realname-$pkgver.tar.gz") -sha256sums=('86379d6b86d75816baba717e64b1a3a3469deb93bb76d613c9ce79edc5cb68fd') +sha256sums=('e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1') prepare() { - cd "$srcdir" rm -rf python-build-${CARCH} | true cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" } diff --git a/mingw-w64-python-pillow/PKGBUILD b/mingw-w64-python-pillow/PKGBUILD index 91c59044ff..d21aa1ebdd 100644 --- a/mingw-w64-python-pillow/PKGBUILD +++ b/mingw-w64-python-pillow/PKGBUILD @@ -3,7 +3,7 @@ _realname=Pillow pkgbase=mingw-w64-python-pillow pkgname=("${MINGW_PACKAGE_PREFIX}-python-pillow") -pkgver=9.0.0 +pkgver=9.0.1 pkgrel=1 provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}=${pkgver}" "${MINGW_PACKAGE_PREFIX}-python3-pillow=${pkgver}") @@ -32,7 +32,7 @@ optdepends=("${MINGW_PACKAGE_PREFIX}-tk: for the ImageTK module" "${MINGW_PACKAGE_PREFIX}-libraqm: complex text layout support") options=('staticlibs') source=(${_realname}-${pkgver}.tar.gz::https://github.com/python-pillow/Pillow/archive/${pkgver}.tar.gz) -sha256sums=('da6e69e9f11e9ea7081730abbf7bb8b0539cacfafa7a2ce934e1fe088db68fe7') +sha256sums=('01305f0befb644ce7fe90aa0c87573b9163a21d0e65149e8166c24974d9d37d2') prepare() { cd ${srcdir} diff --git a/mingw-w64-python-platformdirs/PKGBUILD b/mingw-w64-python-platformdirs/PKGBUILD index f8561bf02f..29e8f8c17b 100644 --- a/mingw-w64-python-platformdirs/PKGBUILD +++ b/mingw-w64-python-platformdirs/PKGBUILD @@ -3,11 +3,11 @@ _realname=platformdirs pkgbase=mingw-w64-python-${_realname} pkgname=${MINGW_PACKAGE_PREFIX}-python-${_realname} -pkgver=2.4.0 -pkgrel=3 +pkgver=2.4.1 +pkgrel=1 pkgdesc='A small Python module for determining appropriate platform-specific dirs (mingw-w64)' arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') license=('MIT') url='https://github.com/platformdirs/platformdirs' depends=("${MINGW_PACKAGE_PREFIX}-python") @@ -16,7 +16,7 @@ makedepends=( "${MINGW_PACKAGE_PREFIX}-python-setuptools-scm" ) source=("https://github.com/platformdirs/${_realname}/archive/${pkgver}.tar.gz") -sha256sums=('b4488174a1695029088c34268c51d5115b468c4d08d8787bc48f712852837512') +sha256sums=('a6f1a26be14bdb008adfb0f1f827e738659202f35351fa8368482e4bcdfb3389') prepare() { cd "${srcdir}" diff --git a/mingw-w64-python-pynndescent/PKGBUILD b/mingw-w64-python-pynndescent/PKGBUILD index ce23881f4d..af906daaf6 100644 --- a/mingw-w64-python-pynndescent/PKGBUILD +++ b/mingw-w64-python-pynndescent/PKGBUILD @@ -4,7 +4,7 @@ _pyname=pynndescent _realname=pynndescent pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=0.5.5 +pkgver=0.5.6 pkgrel=1 pkgdesc='Nearest Neighbor Descent (mingw-w64)' arch=('any') @@ -12,7 +12,7 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') url="https://github.com/lmcinnes/pynndescent" license=('BSD-2-Clause') depends=( - "${MINGW_PACKAGE_PREFIX}-python" + "${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-python-joblib" "${MINGW_PACKAGE_PREFIX}-python-numpy" "${MINGW_PACKAGE_PREFIX}-python-scikit-learn" @@ -21,26 +21,25 @@ depends=( "${MINGW_PACKAGE_PREFIX}-python-llvmlite" ) makedepends=( - "${MINGW_PACKAGE_PREFIX}-python-setuptools" + "${MINGW_PACKAGE_PREFIX}-python-setuptools" ) source=("${_pyname}-${pkgver}.tar.gz::https://pypi.org/packages/source/${_pyname::1}/${_pyname}/${_pyname}-${pkgver}.tar.gz") -sha256sums=('7a7df8412b19cfb3596060faf5a8c5d0bf5b3bd504f8efd900fc4e3918c6f882') +sha256sums=('61fb31885baac469d67933e2c7c935b6edebb06ee498e2f0f9dfc97c59d3725c') -prepare() { - cd "$srcdir" - rm -rf python-build-${CARCH} | true - cp -r "${_pyname//_/-}-$pkgver" "python-build-${CARCH}" +prepare() { + rm -rf "python-build-${MSYSTEM}" | true + cp -r "${_pyname//_/-}-$pkgver" "python-build-${MSYSTEM}" export SETUPTOOLS_SCM_PRETEND_VERSION=${pkgver} } build() { - msg "Python build for ${CARCH}" - cd "${srcdir}/python-build-${CARCH}" + msg "Python build for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py build } package() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ --root="${pkgdir}" --optimize=1 --skip-build diff --git a/mingw-w64-python-pyrsistent/PKGBUILD b/mingw-w64-python-pyrsistent/PKGBUILD index c2d6e9eff8..56943ca28c 100644 --- a/mingw-w64-python-pyrsistent/PKGBUILD +++ b/mingw-w64-python-pyrsistent/PKGBUILD @@ -7,8 +7,8 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=0.18.0 -pkgrel=2 +pkgver=0.18.1 +pkgrel=1 pkgdesc="Persistent/Functional/Immutable data structures (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -22,31 +22,30 @@ checkdepends=("${MINGW_PACKAGE_PREFIX}-python-pytest-runner" "${MINGW_PACKAGE_PREFIX}-python-hypothesis") options=('staticlibs' 'strip' '!debug') source=("https://pypi.io/packages/source/p/pyrsistent/pyrsistent-${pkgver}.tar.gz") -sha512sums=('f56062430f914a884a9317ecf5278ccc09d98f1d6867716f89173db47996b8d4c1ef4f5c0121c955d81fc4fe8aba7d30f38679baea6208168c3952846064cfeb') +sha512sums=('353ad6e9165e1afdde37730a9289cf8dde28491abb688d702a8c8f5279e24f5ce387a5d00ac4a077322299f9c1a535781bcacdcd1cb914ddb317b3ca9641778b') prepare() { - cd "${srcdir}" - rm -rf python-build-${CARCH} | true - cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" + rm -rf "python-build-${MSYSTEM}" | true + cp -r "${_realname}-${pkgver}" "python-build-${MSYSTEM}" # Set version for setuptools_scm export SETUPTOOLS_SCM_PRETEND_VERSION=${pkgver} } build() { - msg "Python build for ${CARCH}" - cd "${srcdir}/python-build-${CARCH}" + msg "Python build for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py build } check() { - msg "Python test for ${CARCH}" - cd "${srcdir}/python-build-${CARCH}" + msg "Python test for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py pytest || warning "tests failed!!" } package() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ --root="${pkgdir}" --optimize=1 --skip-build diff --git a/mingw-w64-python-pyserial/PKGBUILD b/mingw-w64-python-pyserial/PKGBUILD index 34cd84dcfd..25049d7109 100644 --- a/mingw-w64-python-pyserial/PKGBUILD +++ b/mingw-w64-python-pyserial/PKGBUILD @@ -6,18 +6,18 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=3.4 -pkgrel=4 +pkgver=3.5 +pkgrel=1 pkgdesc="Multiplatform Serial Port Module for Python (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url='https://github.com/pyserial/pyserial/' license=('custom:PYTHON') depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") options=('staticlibs' 'strip' '!debug') source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/pyserial/pyserial/archive/v${pkgver}.tar.gz") -sha512sums=('d144897b7b86a6af1f0961fc2b2e71c28419e9afba50245d85c2cb3f1697c2a9d1a4c08576ca8cfb22c5a0adf34e50a62e8c54f903758eece1926d1cb6e83949') +sha512sums=('c2a700f5e08905bdab070c95cec41d6d423c20d2a9648c8c2f048db86de72f39fe2b8df560172d5b9d480be44c35ff0799df8f1d684d3f41f8fc61174105256e') prepare() { rm -rf python-build-${CARCH} | true @@ -43,10 +43,8 @@ package() { install -Dm644 LICENSE.txt "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/LICENSE.txt" - local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX}) - # fix python command in files - for _f in "${pkgdir}${MINGW_PREFIX}"/bin/*.py; do - sed -e "s|/usr/bin/env |${MINGW_PREFIX}|g" \ - -e "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" -i ${_f} + for _f in "${pkgdir}${MINGW_PREFIX}"/bin/*-script.py; do + # Remove shebang line + sed -e '1 { s/^#!.*$// }' -i "${_f}" done } diff --git a/mingw-w64-python-pysfcgal/PKGBUILD b/mingw-w64-python-pysfcgal/PKGBUILD new file mode 100644 index 0000000000..dabf5212aa --- /dev/null +++ b/mingw-w64-python-pysfcgal/PKGBUILD @@ -0,0 +1,43 @@ +# Maintainer: Loïc Bartoletti + +_realname=pysfcgal +pkgbase=mingw-w64-python-${_realname} +pkgname=${MINGW_PACKAGE_PREFIX}-python-${_realname} +pkgver=1.4.1 +pkgrel=1 +pkgdesc='Python SFCGAL binding (mingw-w64)' +arch=('any') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +license=('spdx:MIT') +url='https://gitlab.com/Oslandia/pysfcgal' +depends=( + ${MINGW_PACKAGE_PREFIX}-python + ${MINGW_PACKAGE_PREFIX}-sfcgal + ${MINGW_PACKAGE_PREFIX}-python-cffi +) +makedepends=(${MINGW_PACKAGE_PREFIX}-python-setuptools + ${MINGW_PACKAGE_PREFIX}-python-wheel + ${MINGW_PACKAGE_PREFIX}-python-cffi + ${MINGW_PACKAGE_PREFIX}-cc) +source=(https://gitlab.com/Oslandia/pysfcgal/-/archive/v${pkgver}/pysfcgal-v${pkgver}.tar.gz) +sha256sums=('a519cdb3a89dea11f92bee91f284cecd56dc88e4b0eda4f37d1c7268c0289980') + +prepare() { + rm -rf python-build-${MSYSTEM} | true + cp -r "${_realname}-v${pkgver}" "python-build-${MSYSTEM}" +} + +build() { + msg "Python build for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" + ${MINGW_PREFIX}/bin/python setup.py build +} + +package() { + cd "${srcdir}/python-build-${MSYSTEM}" + MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ + ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ + --root="${pkgdir}" --optimize=1 --skip-build + + install -Dm644 LICENSE.txt "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/LICENSE" +} diff --git a/mingw-w64-python-pytest-forked/PKGBUILD b/mingw-w64-python-pytest-forked/PKGBUILD index 3a92efe5ff..03dbc69ff7 100644 --- a/mingw-w64-python-pytest-forked/PKGBUILD +++ b/mingw-w64-python-pytest-forked/PKGBUILD @@ -6,25 +6,22 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=1.3.0 -pkgrel=2 +pkgver=1.4.0 +pkgrel=1 pkgdesc="run tests in isolated forked subprocesses (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url='https://github.com/pytest-dev/pytest-forked' license=('MIT') -validpgpkeys=('gpg_KEY') depends=("${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-python-pytest") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-python-setuptools-scm") options=('staticlibs' 'strip' '!debug') source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/pytest-dev/pytest-forked/archive/v${pkgver}.tar.gz") -sha256sums=('590671f1d2bba38db5d4b3f397a7bf0d5341da15ed783229c4b6ebf070359fc0') +sha256sums=('22f3a65ef24d45fa03c6fec0d4b582f5f02bea4df26966c1b9812d3a64b44ace') prepare() { - cd "${srcdir}" - rm -rf python-build-${CARCH} | true cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" diff --git a/mingw-w64-python-pytest-xdist/PKGBUILD b/mingw-w64-python-pytest-xdist/PKGBUILD index 6f43316ba8..b376ee3e5c 100644 --- a/mingw-w64-python-pytest-xdist/PKGBUILD +++ b/mingw-w64-python-pytest-xdist/PKGBUILD @@ -6,13 +6,13 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=1.31.0 -pkgrel=2 +pkgver=2.5.0 +pkgrel=1 pkgdesc="py.test xdist plugin for distributed testing and loop-on-failing modes (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') license=('MIT') -url='https://bitbucket.org/pytest-dev/pytest-xdist' +url='https://github.com/pytest-dev/pytest-xdist/' depends=("${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-python-pytest-forked" "${MINGW_PACKAGE_PREFIX}-python-execnet") @@ -22,10 +22,9 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-python-pytest" "${MINGW_PACKAGE_PREFIX}-python-setuptools-scm") options=('staticlibs' 'strip' '!debug') source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/pytest-dev/pytest-xdist/archive/v${pkgver}.tar.gz") -sha512sums=('48c18802f5573ed4ceb061e82aea2046e3b19ad54e595ef666e095409d393cc301e729edd34eab999eae85184fc22c9d5fcda6ae334d183265e4baddcb6dfa46') +sha512sums=('41f71b18e294909f2f03ecd61cba4209249a0ec77cdfb57d5fe42efd3011057e6aa70e9d629cd274e54bdaa4206c7d640c782c9e231163c70718f9972c33af90') prepare() { - cd "${srcdir}" rm -rf python-build-${CARCH} | true cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" diff --git a/mingw-w64-python-pywavelets/PKGBUILD b/mingw-w64-python-pywavelets/PKGBUILD index 5739494fde..c15d847213 100644 --- a/mingw-w64-python-pywavelets/PKGBUILD +++ b/mingw-w64-python-pywavelets/PKGBUILD @@ -7,8 +7,8 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=1.1.1 -pkgrel=3 +pkgver=1.2.0 +pkgrel=1 pkgdesc="Discrete Wavelet Transforms in Python (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -20,7 +20,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-cython" "${MINGW_PACKAGE_PREFIX}-cc") source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/PyWavelets/${_pyname}/archive/v${pkgver}.tar.gz") -sha256sums=('50fe2aae1b6d2462cf9e9b0dcc18dbcbd0b5ed65225abb4a272ed188dbcbceb0') +sha256sums=('ad88e5745eeaccaf759287f11b63539353df31324fe7498d9f8121e01e4106ed') prepare() { rm -rf python-build-${CARCH} diff --git a/mingw-w64-python-ruamel-yaml/PKGBUILD b/mingw-w64-python-ruamel-yaml/PKGBUILD index bbca359adf..3ae6a09f29 100644 --- a/mingw-w64-python-ruamel-yaml/PKGBUILD +++ b/mingw-w64-python-ruamel-yaml/PKGBUILD @@ -3,35 +3,34 @@ _realname=ruamel-yaml pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=0.17.9 -pkgrel=2 +pkgver=0.17.19 +pkgrel=1 pkgdesc='YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order (mingw-w64)' arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://sourceforge.net/projects/ruamel-yaml/" license=('MIT') depends=("${MINGW_PACKAGE_PREFIX}-python-ruamel.yaml.clib") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") options=('!emptydirs') source=("https://files.pythonhosted.org/packages/source/${_realname:0:1}/${_realname//-/.}/${_realname//-/.}-${pkgver}.tar.gz") -sha256sums=('374373b4743aee9f6d9f40bea600fe020a7ac7ae36b838b4a6a93f72b584a14c') +sha256sums=('b9ce9a925d0f0c35a1dbba56b40f253c53cd526b0fa81cf7b1d24996f28fb1d7') -prepare() { - cd "$srcdir" - rm -rf python-build-${CARCH} | true - cp -r "${_realname//-/.}-${pkgver}" "python-build-${CARCH}" +prepare() { + rm -rf "python-build-${MSYSTEM}" | true + cp -r "${_realname//-/.}-${pkgver}" "python-build-${MSYSTEM}" } build() { - msg "Python build for ${CARCH}" - cd "${srcdir}/python-build-${CARCH}" + msg "Python build for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py build } package() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ RUAMEL_NO_PIP_INSTALL_CHECK=1 ${MINGW_PREFIX}/bin/python setup.py install \ - --prefix=${MINGW_PREFIX} --root="${pkgdir}" --optimize=1 --skip-build + --prefix=${MINGW_PREFIX} --root="${pkgdir}" --optimize=1 --skip-build install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/LICENSE" } diff --git a/mingw-w64-python-ruamel.yaml.clib/PKGBUILD b/mingw-w64-python-ruamel.yaml.clib/PKGBUILD index 4cc50c5d4e..f4b66ad9cd 100644 --- a/mingw-w64-python-ruamel.yaml.clib/PKGBUILD +++ b/mingw-w64-python-ruamel.yaml.clib/PKGBUILD @@ -3,11 +3,11 @@ _realname=ruamel.yaml.clib pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=0.2.2 -pkgrel=2 +pkgver=0.2.6 +pkgrel=1 pkgdesc='C version of reader, parser and emitter for ruamel.yaml derived from libyaml (mingw-w64)' arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://sourceforge.net/projects/ruamel-yaml-clib/" license=('MIT') depends=("${MINGW_PACKAGE_PREFIX}-python") @@ -15,24 +15,23 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-cc") options=('!emptydirs') source=("https://files.pythonhosted.org/packages/source/${_realname:0:1}/${_realname}/${_realname}-${pkgver}.tar.gz") -sha256sums=('2d24bd98af676f4990c4d715bcdc2a60b19c56a3fb3a763164d2d8ca0e806ba7') +sha256sums=('4ff604ce439abb20794f05613c374759ce10e3595d1867764dd1ae675b85acbd') -prepare() { - cd "$srcdir" - rm -rf python-build-${CARCH} | true - cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" +prepare() { + rm -rf "python-build-${MSYSTEM}" | true + cp -r "${_realname}-${pkgver}" "python-build-${MSYSTEM}" } build() { - msg "Python build for ${CARCH}" - cd "${srcdir}/python-build-${CARCH}" + msg "Python build for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py build } package() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ RUAMEL_NO_PIP_INSTALL_CHECK=1 ${MINGW_PREFIX}/bin/python setup.py install \ - --prefix=${MINGW_PREFIX} --root="${pkgdir}" --optimize=1 --skip-build + --prefix=${MINGW_PREFIX} --root="${pkgdir}" --optimize=1 --skip-build install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/LICENSE" } diff --git a/mingw-w64-python-sqlalchemy/PKGBUILD b/mingw-w64-python-sqlalchemy/PKGBUILD index 8788d02b3e..b94175b9ab 100644 --- a/mingw-w64-python-sqlalchemy/PKGBUILD +++ b/mingw-w64-python-sqlalchemy/PKGBUILD @@ -6,14 +6,15 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=1.3.16 -pkgrel=2 +pkgver=1.4.30 +pkgrel=1 pkgdesc="Python SQL toolkit and Object Relational Mapper (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url='https://www.sqlalchemy.org/' license=('MIT') -depends=("${MINGW_PACKAGE_PREFIX}-python") +depends=("${MINGW_PACKAGE_PREFIX}-python" + "${MINGW_PACKAGE_PREFIX}-python-greenlet") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-cc") checkdepends=("${MINGW_PACKAGE_PREFIX}-python-pytest-runner" @@ -21,8 +22,8 @@ checkdepends=("${MINGW_PACKAGE_PREFIX}-python-pytest-runner" "${MINGW_PACKAGE_PREFIX}-python-mock") options=('staticlibs' 'strip' '!debug') source=("https://pypi.io/packages/source/S/SQLAlchemy/SQLAlchemy-${pkgver}.tar.gz"{,.asc}) -validpgpkeys=('83AF7ACE251C13E6BB7DEFBD330239C1C4DAFEE1') -sha512sums=('8eae306fc21f22da7411badd678f31129ecac18f9a4d8526101ecd0fa8c77e30a4b7a8e4361fff3fc08b031d90cd82343321c1ea9175ad187fe28a25ad9ea6d8' +validpgpkeys=('83AF7ACE251C13E6BB7DEFBD330239C1C4DAFEE1') # Michael Bayer +sha512sums=('13b80779b30a10af7f173ad162d54d38d807e7372d381f7b96adf2f728ccf20bb6a86d8f8b06ec828e71d0b4aa22d022686d290ea6b03629564f0fb2a80eca80' 'SKIP') # Helper macros to help make tasks easier # @@ -46,25 +47,24 @@ del_file_exists() { prepare() { - cd "${srcdir}" - rm -rf python-build-${CARCH} | true - cp -r "SQLAlchemy-${pkgver}" "python-build-${CARCH}" + rm -rf "python-build-${MSYSTEM}" | true + cp -r "SQLAlchemy-${pkgver}" "python-build-${MSYSTEM}" } build() { - msg "Python build for ${CARCH}" - cd "${srcdir}/python-build-${CARCH}" + msg "Python build for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py build } check() { - msg "Python test for ${CARCH}" - cd "${srcdir}/python-build-${CARCH}" - ${MINGW_PREFIX}/bin/python} setup.py pytest + msg "Python test for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" + ${MINGW_PREFIX}/bin/python setup.py pytest } package() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ --root="${pkgdir}" --optimize=1 --skip-build diff --git a/mingw-w64-python-tifffile/PKGBUILD b/mingw-w64-python-tifffile/PKGBUILD index 30665d77a6..414ae2953f 100644 --- a/mingw-w64-python-tifffile/PKGBUILD +++ b/mingw-w64-python-tifffile/PKGBUILD @@ -4,7 +4,7 @@ _realname=tifffile pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=2021.11.2 +pkgver=2022.2.2 pkgrel=1 pkgdesc="Read and write image data from and to TIFF files (mingw-w64)" arch=('any') @@ -18,7 +18,7 @@ optdepends=("${MINGW_PACKAGE_PREFIX}-python-imagecodecs: required only for encod "${MINGW_PACKAGE_PREFIX}-python-lxml: required only for validating and printing XML") options=('staticlibs' 'strip' '!debug') source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/cgohlke/${_realname}/archive/v${pkgver}.tar.gz") -sha256sums=('68e4ec10bc189f7ea9526619bf4787ec7d9decb857c6f15a06a999bdff4abfc0') +sha256sums=('85a83c24a214e8baf09da1f85ca5a88b52610142f561ecc2873404ef50a3f6e3') prepare() { cd "${srcdir}" diff --git a/mingw-w64-python-tomlkit/PKGBUILD b/mingw-w64-python-tomlkit/PKGBUILD index 63e5147102..b056de49f8 100644 --- a/mingw-w64-python-tomlkit/PKGBUILD +++ b/mingw-w64-python-tomlkit/PKGBUILD @@ -3,20 +3,19 @@ _realname=tomlkit pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=0.7.0 -pkgrel=2 +pkgver=0.9.0 +pkgrel=1 pkgdesc="Style preserving TOML library. (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url='https://github.com/sdispater/tomlkit' license=('MIT') depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") source=("${_realname}-${pkgver}.tar.gz"::"https://files.pythonhosted.org/packages/source/${_realname:0:1}/${_realname}/${_realname}-${pkgver}.tar.gz") -sha512sums=('1483DBC3A8CF87257D592B5AF97A66449133337B5A6F709D997054861615527510338FA27F048B27A69611782BD35A126C750EEE465301D92E83CD2A8E45C5A5') +sha512sums=('36cb7fd683b4dc6e82a4828db76ad997de79302ed485751b14375e7483400adbce8e9b8bf913a6f404ffc16a06cf90158caca20c4419bd032a7d27a8790573db') prepare() { - cd "${srcdir}" rm -rf python-build-${CARCH} | true cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" export SETUPTOOLS_SCM_PRETEND_VERSION=${pkgver} diff --git a/mingw-w64-python-tornado/PKGBUILD b/mingw-w64-python-tornado/PKGBUILD index 8b3505c348..0230f3cebd 100644 --- a/mingw-w64-python-tornado/PKGBUILD +++ b/mingw-w64-python-tornado/PKGBUILD @@ -6,18 +6,18 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=6.0.4 -pkgrel=2 +pkgver=6.1.0 +pkgrel=1 pkgdesc="open source version of the scalable, non-blocking web server and tools (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url='https://www.tornadoweb.org/' license=('Apache') depends=("${MINGW_PACKAGE_PREFIX}-python") makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-cc") source=("${_realname}-${pkgver}.tar.gz::https://github.com/tornadoweb/tornado/archive/v${pkgver}.tar.gz") -sha256sums=('bce8d8c57e9c91925d96b73fd3c5c0d38ba99000c8ee45fd5f30ce022ea90657') +sha256sums=('53a4300b786998c516fcacb76a00db6200829bf1d9b8d57e3c150bfd262e2bc8') noextract=("${_realname}-${pkgver}.tar.gz") prepare() { @@ -48,4 +48,6 @@ package() { MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ --root="${pkgdir}" --optimize=1 --skip-build + + install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" } diff --git a/mingw-w64-python-typed_ast/PKGBUILD b/mingw-w64-python-typed_ast/PKGBUILD index 93c372d2d3..89d79d3a5c 100644 --- a/mingw-w64-python-typed_ast/PKGBUILD +++ b/mingw-w64-python-typed_ast/PKGBUILD @@ -6,8 +6,8 @@ pkgname="${MINGW_PACKAGE_PREFIX}-python-${_realname}" provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=1.4.2 -pkgrel=2 +pkgver=1.5.2 +pkgrel=1 pkgdesc="Modified fork of CPython's ast module that parses `# type:` comments (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -18,7 +18,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-cc") options=('staticlibs' 'strip' '!debug') source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/python/typed_ast/archive/${pkgver}.tar.gz") -sha256sums=('be4b75ea880768489e30818267cf920027ed99014001ac428aedd0b31bbfc899') +sha256sums=('b8475b94bf77991d2db0bcce3dc14421b8518139f2994dafcd6a7fb2e8f5e261') # Helper macros to help make tasks easier # apply_patch_with_msg() { diff --git a/mingw-w64-python-ujson/PKGBUILD b/mingw-w64-python-ujson/PKGBUILD index 31c345e783..7fbbd9ed37 100644 --- a/mingw-w64-python-ujson/PKGBUILD +++ b/mingw-w64-python-ujson/PKGBUILD @@ -3,7 +3,7 @@ _realname=ujson pkgbase=mingw-w64-python-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") -pkgver=4.3.0 +pkgver=5.1.0 pkgrel=1 pkgdesc="Ultra fast JSON encoder and decoder for Python (mingw-w64)" arch=('any') @@ -17,19 +17,21 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools-scm" checkdepends=("${MINGW_PACKAGE_PREFIX}-python-six" "${MINGW_PACKAGE_PREFIX}-python-pytest") source=("ultrajson-${pkgver}.tar.gz"::"${url}/archive/${pkgver}.tar.gz") -sha256sums=('12c623b1aa885fa9a6ca45dd64aa6abcdd999197463ef9029fb8cbf2f03bd606') +sha256sums=('23d52510debd4fab749053f16c95bbe33bf31b9d3a5842723572959db22b425e') prepare() { - cd "${srcdir}" rm -rf "python-build-${MSYSTEM}" | true cp -r "ultrajson-${pkgver}" "python-build-${MSYSTEM}" + + # Set version for setuptools_scm + export SETUPTOOLS_SCM_PRETEND_VERSION=${pkgver} } build() { msg "Python build for ${MSYSTEM}" cd "${srcdir}/python-build-${MSYSTEM}" - SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver \ - ${MINGW_PREFIX}/bin/python setup.py build + + ${MINGW_PREFIX}/bin/python setup.py build } check() { @@ -41,10 +43,8 @@ check() { package() { cd "${srcdir}/python-build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ - SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} --root="${pkgdir}" -O1 --skip-build + install -Dm644 LICENSE.txt "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/LICENSE" install -Dm644 README.md "${pkgdir}${MINGW_PREFIX}/share/doc/python-${_realname}.md" } - -# vim: ts=2 sw=2 et: diff --git a/mingw-w64-python-urllib3/PKGBUILD b/mingw-w64-python-urllib3/PKGBUILD index 2a65e41485..006c02de13 100644 --- a/mingw-w64-python-urllib3/PKGBUILD +++ b/mingw-w64-python-urllib3/PKGBUILD @@ -6,7 +6,7 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=1.26.7 +pkgver=1.26.8 pkgrel=1 pkgdesc="HTTP library with thread-safe connection pooling and file post support (mingw-w64)" url='https://github.com/urllib3/urllib3' @@ -27,7 +27,7 @@ checkdepends=("${MINGW_PACKAGE_PREFIX}-python-nose" "${MINGW_PACKAGE_PREFIX}-python-coverage" "${MINGW_PACKAGE_PREFIX}-python-psutil") source=("${_realname}-${pkgver}.tar.gz::https://github.com/urllib3/urllib3/archive/${pkgver}.tar.gz") -sha256sums=('87f1b873ec9f7e0dc6e5bc2f9aa69279c73295a007fbd1ac421954a4679d7923') +sha256sums=('a5cbb5e4e995ea09c72404442ad4364d12751fa58b29dd2286fb124dd7d58bd4') prepare() { cd ${srcdir} diff --git a/mingw-w64-python-websocket-client/PKGBUILD b/mingw-w64-python-websocket-client/PKGBUILD index fa90c08368..c5ddc92fd5 100644 --- a/mingw-w64-python-websocket-client/PKGBUILD +++ b/mingw-w64-python-websocket-client/PKGBUILD @@ -6,11 +6,11 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=1.2.1 +pkgver=1.2.3 pkgrel=1 pkgdesc="websocket client for python (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url='https://github.com/websocket-client/websocket-client' license=('LGPL-2.1') depends=("${MINGW_PACKAGE_PREFIX}-python") @@ -18,7 +18,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools" "${MINGW_PACKAGE_PREFIX}-python-setuptools-scm") options=('staticlibs' 'strip' '!debug') source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/websocket-client/${_realname}/archive/v${pkgver}.tar.gz") -sha256sums=('8e056ff93c85b1961234d1c36fda8c5277a03f1ba475d93afb8ec46d2a7976de') +sha256sums=('8f76dae58aacee36c93045fb726934d7cbda215be6a7e0c78a0305a0d93fb0b2') prepare() { rm -rf python-build-${MSYSTEM} | true @@ -37,7 +37,7 @@ build() { check() { msg "Python test for ${MSYSTEM}" cd "${srcdir}/python-build-${MSYSTEM}" - ${MINGW_PREFIX}/bin/python setup.py test + ${MINGW_PREFIX}/bin/python setup.py test || true } package() { @@ -49,10 +49,8 @@ package() { install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/python-${_realname}/COPYING" - local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX}) - # fix python command in files - for _f in "${pkgdir}${MINGW_PREFIX}"/bin/*.py; do - sed -e "s|/usr/bin/env |${MINGW_PREFIX}|g" \ - -e "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" -i ${_f} + for _f in "${pkgdir}${MINGW_PREFIX}"/bin/*-script.py; do + # Remove shebang line + sed -e '1 { s/^#!.*$// }' -i "${_f}" done } diff --git a/mingw-w64-python-zipp/PKGBUILD b/mingw-w64-python-zipp/PKGBUILD index 2bea9eb9fe..adaeb89409 100644 --- a/mingw-w64-python-zipp/PKGBUILD +++ b/mingw-w64-python-zipp/PKGBUILD @@ -6,8 +6,8 @@ pkgname=("${MINGW_PACKAGE_PREFIX}-python-${_realname}") provides=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") conflicts=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") replaces=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=3.1.0 -pkgrel=2 +pkgver=3.7.0 +pkgrel=1 pkgdesc="Pathlib-compatible object wrapper for zip files (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -22,55 +22,30 @@ checkdepends=("${MINGW_PACKAGE_PREFIX}-python-jaraco.itertools" "${MINGW_PACKAGE_PREFIX}-python-func-timeout") options=('staticlibs' 'strip' '!debug') source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/jaraco/zipp/archive/v${pkgver}.tar.gz") -sha512sums=('13df30bfb890f0a50928740e257cc8cf289cbb08b0394d841737730fe8a431a60086bb867fae1e8c343503ffd7a94be271abc42b67a77a6ce3be968a4c85fe2b') - -# Helper macros to help make tasks easier # -apply_patch_with_msg() { - for _patch in "$@" - do - msg2 "Applying $_patch" - patch -Nbp1 -i "${srcdir}/$_patch" - done -} - -del_file_exists() { - for _fname in "$@" - do - if [ -f $_fname ]; then - rm -rf $_fname - fi - done -} -# =========================================== # +sha512sums=('3bbcd9a30548fa7537d8e9bebbfae1f6cf66ceb197d953511e2e105ea83fe53b9352d8228978dfe9bcecc2f07113e936aded79d84e67bc7f570801a4bc60747a') prepare() { - cd "${srcdir}" - pushd "${_realname}-${pkgver}" -# apply_patch_with_msg 0001-A-really-important-fix.patch \ -# 0002-A-less-important-fix.patch - popd - - rm -rf python-build-${CARCH} | true - cp -r "${_realname}-${pkgver}" "python-build-${CARCH}" + rm -rf "python-build-${MSYSTEM}" | true + cp -r "${_realname}-${pkgver}" "python-build-${MSYSTEM}" # Set version for setuptools_scm export SETUPTOOLS_SCM_PRETEND_VERSION=${pkgver} } build() { - msg "Python build for ${CARCH}" - cd "${srcdir}/python-build-${CARCH}" + msg "Python build for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py build } check() { - msg "Python test for ${CARCH}" - cd "${srcdir}/python-build-${CARCH}" + msg "Python test for ${MSYSTEM}" + cd "${srcdir}/python-build-${MSYSTEM}" ${MINGW_PREFIX}/bin/python setup.py test } package() { - cd "${srcdir}/python-build-${CARCH}" + cd "${srcdir}/python-build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ --root="${pkgdir}" --optimize=1 --skip-build diff --git a/mingw-w64-python/0001-sysconfig-make-_sysconfigdata.py-relocatable.patch b/mingw-w64-python/0001-sysconfig-make-_sysconfigdata.py-relocatable.patch index c016a15b06..368d79fd17 100644 --- a/mingw-w64-python/0001-sysconfig-make-_sysconfigdata.py-relocatable.patch +++ b/mingw-w64-python/0001-sysconfig-make-_sysconfigdata.py-relocatable.patch @@ -1,4 +1,4 @@ -From 6ca397e7d4776d652e039ed57779ed4d0d4e7898 Mon Sep 17 00:00:00 2001 +From 10dfe80078d9a80e26715a8cefa37af3bb2af335 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 17 Jun 2021 18:51:10 +0530 Subject: [PATCH 001/N] sysconfig: make _sysconfigdata.py relocatable @@ -56,5 +56,5 @@ index e3f79bf..45eab2a 100644 # Create file used for sys.path fixup -- see Modules/getpath.c with open('pybuilddir.txt', 'w', encoding='utf8') as f: -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0002-restore-setup-config.patch b/mingw-w64-python/0002-restore-setup-config.patch index bf62ea647d..a3c19981f3 100644 --- a/mingw-w64-python/0002-restore-setup-config.patch +++ b/mingw-w64-python/0002-restore-setup-config.patch @@ -1,4 +1,4 @@ -From 2a25da9a573828b206180522b02633a1a128a2dd Mon Sep 17 00:00:00 2001 +From f7d2921eac5dc47b9905f6890fb1a1eafbb6d4ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:12 +0530 @@ -12,10 +12,10 @@ Subject: [PATCH 002/N] restore setup config create mode 100644 Modules/Setup.config.in diff --git a/Makefile.pre.in b/Makefile.pre.in -index 6ce7a61..e8e8e71 100644 +index 42b1ec6..c9d3193 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -714,10 +714,12 @@ oldsharedmods: $(SHAREDMODS) +@@ -713,10 +713,12 @@ oldsharedmods: $(SHAREDMODS) Makefile Modules/config.c: Makefile.pre \ $(srcdir)/Modules/config.c.in \ $(MAKESETUP) \ @@ -28,7 +28,7 @@ index 6ce7a61..e8e8e71 100644 Modules/Setup.local \ $(srcdir)/Modules/Setup @mv config.c Modules -@@ -1669,6 +1671,7 @@ libainstall: @DEF_MAKE_RULE@ python-config +@@ -1668,6 +1670,7 @@ libainstall: @DEF_MAKE_RULE@ python-config $(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile $(INSTALL_DATA) $(srcdir)/Modules/Setup $(DESTDIR)$(LIBPL)/Setup $(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local @@ -36,7 +36,7 @@ index 6ce7a61..e8e8e71 100644 $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc $(INSTALL_DATA) Misc/python-embed.pc $(DESTDIR)$(LIBPC)/python-$(VERSION)-embed.pc $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup -@@ -1895,6 +1898,7 @@ distclean: clobber +@@ -1894,6 +1897,7 @@ distclean: clobber if test "$$file" != "$(srcdir)/Lib/test/data/README"; then rm "$$file"; fi; \ done -rm -f core Makefile Makefile.pre config.status Modules/Setup.local \ @@ -56,10 +56,10 @@ index 0000000..5c1299d +# based on configure-time options. + diff --git a/configure.ac b/configure.ac -index 8fe5fa5..6ae56e1 100644 +index 431d661..471860c 100644 --- a/configure.ac +++ b/configure.ac -@@ -5844,7 +5844,7 @@ AC_DEFINE_UNQUOTED(PY_BUILTIN_HASHLIB_HASHES, "$default_hashlib_hashes") +@@ -5856,7 +5856,7 @@ AC_DEFINE_UNQUOTED(PY_BUILTIN_HASHLIB_HASHES, "$default_hashlib_hashes") ]) # generate output files @@ -68,7 +68,7 @@ index 8fe5fa5..6ae56e1 100644 AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix]) AC_OUTPUT -@@ -5856,7 +5856,7 @@ fi +@@ -5868,7 +5868,7 @@ fi echo "creating Makefile" >&AS_MESSAGE_FD $SHELL $srcdir/Modules/makesetup -c $srcdir/Modules/config.c.in \ @@ -78,5 +78,5 @@ index 8fe5fa5..6ae56e1 100644 mv config.c Modules -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0003-build-add-with-nt-threads-and-make-it-default-on-min.patch b/mingw-w64-python/0003-build-add-with-nt-threads-and-make-it-default-on-min.patch index 0ab80aa525..2c4f3e13fe 100644 --- a/mingw-w64-python/0003-build-add-with-nt-threads-and-make-it-default-on-min.patch +++ b/mingw-w64-python/0003-build-add-with-nt-threads-and-make-it-default-on-min.patch @@ -1,4 +1,4 @@ -From 80666900d875a95b06f1baf7f9c57a38e4831764 Mon Sep 17 00:00:00 2001 +From 6e5dbed1e20ccb472c1636b22580d716c3692da3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:12 +0530 @@ -78,10 +78,10 @@ index fe78135..344b76e 100644 # include /* O_CREAT and O_EXCL */ # if defined(HAVE_SEM_OPEN) && !defined(POSIX_SEMAPHORES_NOT_ENABLED) diff --git a/configure.ac b/configure.ac -index 6ae56e1..d5766cf 100644 +index 471860c..6a375e3 100644 --- a/configure.ac +++ b/configure.ac -@@ -2040,6 +2040,53 @@ then +@@ -2047,6 +2047,53 @@ then BASECFLAGS="$BASECFLAGS $ac_arch_flags" fi @@ -135,7 +135,7 @@ index 6ae56e1..d5766cf 100644 # On some compilers, pthreads are available without further options # (e.g. MacOS X). On some of these systems, the compiler will not # complain if unaccepted options are passed (e.g. gcc on Mac OS X). -@@ -2158,6 +2205,8 @@ CC="$ac_save_cc"]) +@@ -2165,6 +2212,8 @@ CC="$ac_save_cc"]) AC_MSG_RESULT($ac_cv_pthread) fi @@ -144,7 +144,7 @@ index 6ae56e1..d5766cf 100644 # If we have set a CC compiler flag for thread support then # check if it works for CXX, too. ac_cv_cxx_thread=no -@@ -2178,6 +2227,10 @@ elif test "$ac_cv_pthread" = "yes" +@@ -2185,6 +2234,10 @@ elif test "$ac_cv_pthread" = "yes" then CXX="$CXX -pthread" ac_cv_cxx_thread=yes @@ -155,7 +155,7 @@ index 6ae56e1..d5766cf 100644 fi if test $ac_cv_cxx_thread = yes -@@ -2210,8 +2263,8 @@ dnl AC_MSG_RESULT($cpp_type) +@@ -2217,8 +2270,8 @@ dnl AC_MSG_RESULT($cpp_type) AC_HEADER_STDC AC_CHECK_HEADERS(asm/types.h crypt.h conio.h direct.h dlfcn.h errno.h \ fcntl.h grp.h \ @@ -166,7 +166,7 @@ index 6ae56e1..d5766cf 100644 utime.h \ poll.h sys/devpoll.h sys/epoll.h sys/poll.h \ sys/audioio.h sys/xattr.h sys/bsdtty.h sys/event.h sys/file.h sys/ioctl.h \ -@@ -2225,6 +2278,14 @@ sys/endian.h sys/sysmacros.h linux/memfd.h linux/wait.h sys/memfd.h sys/mman.h) +@@ -2232,6 +2285,14 @@ sys/endian.h sys/sysmacros.h linux/memfd.h linux/wait.h sys/memfd.h sys/mman.h) AC_HEADER_DIRENT AC_HEADER_MAJOR @@ -181,7 +181,7 @@ index 6ae56e1..d5766cf 100644 # bluetooth/bluetooth.h has been known to not compile with -std=c99. # http://permalink.gmane.org/gmane.linux.bluez.kernel/22294 SAVE_CFLAGS=$CFLAGS -@@ -2422,6 +2483,10 @@ fi +@@ -2429,6 +2490,10 @@ fi AC_MSG_CHECKING(for pthread_t) have_pthread_t=no @@ -192,7 +192,7 @@ index 6ae56e1..d5766cf 100644 AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([[#include ]], [[pthread_t x; x = *(pthread_t*)0;]]) ],[have_pthread_t=yes],[]) -@@ -2452,6 +2517,7 @@ if test "$ac_cv_sizeof_pthread_key_t" -eq "$ac_cv_sizeof_int" ; then +@@ -2459,6 +2524,7 @@ if test "$ac_cv_sizeof_pthread_key_t" -eq "$ac_cv_sizeof_int" ; then else AC_MSG_RESULT(no) fi @@ -200,7 +200,7 @@ index 6ae56e1..d5766cf 100644 CC="$ac_save_cc" AC_SUBST(OTHER_LIBTOOL_OPT) -@@ -2897,10 +2963,15 @@ void *x = uuid_enc_be +@@ -2909,10 +2975,15 @@ void *x = uuid_enc_be [AC_MSG_RESULT(no)] ) @@ -216,7 +216,7 @@ index 6ae56e1..d5766cf 100644 # check if we need libintl for locale functions AC_CHECK_LIB(intl, textdomain, -@@ -3232,6 +3303,11 @@ then +@@ -3244,6 +3315,11 @@ then CXX="$CXX -pthread" fi posix_threads=yes @@ -228,7 +228,7 @@ index 6ae56e1..d5766cf 100644 else if test ! -z "$withval" -a -d "$withval" then LDFLAGS="$LDFLAGS -L$withval" -@@ -3692,6 +3768,15 @@ else +@@ -3704,6 +3780,15 @@ else fi # checks for library functions @@ -244,7 +244,7 @@ index 6ae56e1..d5766cf 100644 AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \ clock confstr copy_file_range ctermid dup3 execv explicit_bzero explicit_memset \ faccessat fchmod fchmodat fchown fchownat \ -@@ -4613,6 +4698,10 @@ AC_CHECK_DECLS([isinf, isnan, isfinite], [], [], [[#include ]]) +@@ -4625,6 +4710,10 @@ AC_CHECK_DECLS([isinf, isnan, isfinite], [], [], [[#include ]]) # the kernel module that provides POSIX semaphores # isn't loaded by default, so an attempt to call # sem_open results in a 'Signal 12' error. @@ -255,7 +255,7 @@ index 6ae56e1..d5766cf 100644 AC_MSG_CHECKING(whether POSIX semaphores are enabled) AC_CACHE_VAL(ac_cv_posix_semaphores_enabled, AC_RUN_IFELSE([AC_LANG_SOURCE([[ -@@ -4646,6 +4735,14 @@ fi +@@ -4658,6 +4747,14 @@ fi # Multiprocessing check for broken sem_getvalue AC_MSG_CHECKING(for broken sem_getvalue) @@ -271,10 +271,10 @@ index 6ae56e1..d5766cf 100644 AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include diff --git a/pyconfig.h.in b/pyconfig.h.in -index 6358e56..5f63cae 100644 +index 188faee..1df9659 100644 --- a/pyconfig.h.in +++ b/pyconfig.h.in -@@ -1359,6 +1359,9 @@ +@@ -1365,6 +1365,9 @@ /* Define if mvwdelch in curses.h is an expression. */ #undef MVWDELCH_IS_EXPRESSION @@ -285,5 +285,5 @@ index 6358e56..5f63cae 100644 #undef PACKAGE_BUGREPORT -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0004-MINGW-translate-gcc-internal-defines-to-python-platf.patch b/mingw-w64-python/0004-MINGW-translate-gcc-internal-defines-to-python-platf.patch index 1f3009e249..0eb87c1eb8 100644 --- a/mingw-w64-python/0004-MINGW-translate-gcc-internal-defines-to-python-platf.patch +++ b/mingw-w64-python/0004-MINGW-translate-gcc-internal-defines-to-python-platf.patch @@ -1,4 +1,4 @@ -From 96c05432383cc3468538aadd7f1a440ffda4165d Mon Sep 17 00:00:00 2001 +From 543163880ae967bc44e338c6dc0b04c94a8e5add Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:13 +0530 @@ -40,5 +40,5 @@ index 4bd4eb4..475c2a8 100644 Symbols and macros to supply platform-independent interfaces to basic C language & library operations whose spellings vary across platforms. -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0005-MINGW-configure-MACHDEP-and-platform-for-build.patch b/mingw-w64-python/0005-MINGW-configure-MACHDEP-and-platform-for-build.patch index 3acd4d6a22..5c238f7f5e 100644 --- a/mingw-w64-python/0005-MINGW-configure-MACHDEP-and-platform-for-build.patch +++ b/mingw-w64-python/0005-MINGW-configure-MACHDEP-and-platform-for-build.patch @@ -1,4 +1,4 @@ -From c2c04f16d3f6761a9ee768507c0ca8330c976ce6 Mon Sep 17 00:00:00 2001 +From 98ab3e71389dc707d622f1b1906ab6f408c6022b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:14 +0530 @@ -13,7 +13,7 @@ Co-authored-by: Алексей 1 file changed, 15 insertions(+) diff --git a/configure.ac b/configure.ac -index d5766cf..a9936de 100644 +index 6a375e3..eb285cc 100644 --- a/configure.ac +++ b/configure.ac @@ -400,6 +400,9 @@ then @@ -59,5 +59,5 @@ index d5766cf..a9936de 100644 # Some systems cannot stand _XOPEN_SOURCE being defined at all; they -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0006-MINGW-preset-configure-defaults.patch b/mingw-w64-python/0006-MINGW-preset-configure-defaults.patch index e911813d59..8fa05777f9 100644 --- a/mingw-w64-python/0006-MINGW-preset-configure-defaults.patch +++ b/mingw-w64-python/0006-MINGW-preset-configure-defaults.patch @@ -1,4 +1,4 @@ -From 3cdb748058d33d3538a5db1c5b07251cebbd10c9 Mon Sep 17 00:00:00 2001 +From 593c0be91e0ab8fc52245f52c48ef6b4e388b1a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:15 +0530 @@ -53,10 +53,10 @@ index 0000000..03fde9e + +ac_cv_have_size_t_format=no diff --git a/configure.ac b/configure.ac -index a9936de..a2cec23 100644 +index eb285cc..bbea587 100644 --- a/configure.ac +++ b/configure.ac -@@ -913,6 +913,28 @@ if test x$MULTIARCH != x; then +@@ -920,6 +920,28 @@ if test x$MULTIARCH != x; then fi AC_SUBST(MULTIARCH_CPPFLAGS) @@ -86,5 +86,5 @@ index a9936de..a2cec23 100644 save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -Wl,--no-as-needed" -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0007-MINGW-configure-largefile-support-for-windows-builds.patch b/mingw-w64-python/0007-MINGW-configure-largefile-support-for-windows-builds.patch index 95765e0499..1fe66bab3c 100644 --- a/mingw-w64-python/0007-MINGW-configure-largefile-support-for-windows-builds.patch +++ b/mingw-w64-python/0007-MINGW-configure-largefile-support-for-windows-builds.patch @@ -1,4 +1,4 @@ -From 0d783f83aadf8f7dd64bf81684942be2cde01df6 Mon Sep 17 00:00:00 2001 +From 0c221d4dc9d63ea30e7a4fb28cbdd31af3c03ee7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:16 +0530 @@ -14,10 +14,10 @@ Co-authored-by: Christoph Reiter 1 file changed, 12 insertions(+) diff --git a/configure.ac b/configure.ac -index a2cec23..61a7608 100644 +index bbea587..ea7d551 100644 --- a/configure.ac +++ b/configure.ac -@@ -2487,8 +2487,20 @@ AC_CHECK_SIZEOF(off_t, [], [ +@@ -2494,8 +2494,20 @@ AC_CHECK_SIZEOF(off_t, [], [ ]) AC_MSG_CHECKING(whether to enable large file support) @@ -39,5 +39,5 @@ index a2cec23..61a7608 100644 [Defined to enable large file support when an off_t is bigger than a long and long long is at least as big as an off_t. You may need -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0008-MINGW-add-srcdir-PC-to-CPPFLAGS.patch b/mingw-w64-python/0008-MINGW-add-srcdir-PC-to-CPPFLAGS.patch index 828d47888f..d544722600 100644 --- a/mingw-w64-python/0008-MINGW-add-srcdir-PC-to-CPPFLAGS.patch +++ b/mingw-w64-python/0008-MINGW-add-srcdir-PC-to-CPPFLAGS.patch @@ -1,4 +1,4 @@ -From af4cca07445296c92dedffde8191e96e3c468adf Mon Sep 17 00:00:00 2001 +From bb3504f70b2ae039c32da6405a11b82b79dbfefe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:18 +0530 @@ -13,10 +13,10 @@ Co-authored-by: Алексей 1 file changed, 13 insertions(+) diff --git a/configure.ac b/configure.ac -index 61a7608..1f3c8af 100644 +index ea7d551..bb80ed8 100644 --- a/configure.ac +++ b/configure.ac -@@ -5642,8 +5642,21 @@ do +@@ -5654,8 +5654,21 @@ do THREADHEADERS="$THREADHEADERS \$(srcdir)/$h" done @@ -39,5 +39,5 @@ index 61a7608..1f3c8af 100644 for dir in $SRCDIRS; do if test ! -d $dir; then -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0009-MINGW-init-system-calls.patch b/mingw-w64-python/0009-MINGW-init-system-calls.patch index 7a36331853..80877742a2 100644 --- a/mingw-w64-python/0009-MINGW-init-system-calls.patch +++ b/mingw-w64-python/0009-MINGW-init-system-calls.patch @@ -1,4 +1,4 @@ -From a2e178675d5376e8985c489a6cb3bb463909fb41 Mon Sep 17 00:00:00 2001 +From 9968428f3157658c0b47ce4f7732c82bf4a10406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:19 +0530 @@ -39,7 +39,7 @@ index 5c1299d..9b364fe 100644 +@INITSYS@ -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal posixmodule.c + diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c -index c984e2e..3f3e1f3 100644 +index 29d6126..3894e35 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -310,6 +310,27 @@ corresponding Unix manual entries for more information on calls."); @@ -101,7 +101,7 @@ index c984e2e..3f3e1f3 100644 static PyObject * convertenviron(void) diff --git a/configure.ac b/configure.ac -index 1f3c8af..ba8736b 100644 +index bb80ed8..d3ee3fe 100644 --- a/configure.ac +++ b/configure.ac @@ -594,6 +594,14 @@ then @@ -120,5 +120,5 @@ index 1f3c8af..ba8736b 100644 # it may influence the way we can build extensions, so distutils # needs to check it -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0010-MINGW-build-in-windows-modules-winreg.patch b/mingw-w64-python/0010-MINGW-build-in-windows-modules-winreg.patch index 7bdf18825b..93026ca85f 100644 --- a/mingw-w64-python/0010-MINGW-build-in-windows-modules-winreg.patch +++ b/mingw-w64-python/0010-MINGW-build-in-windows-modules-winreg.patch @@ -1,4 +1,4 @@ -From 08880ce168fbb08e6476a246fd80e141ebf2eed7 Mon Sep 17 00:00:00 2001 +From 4061aa3b0c5530615a37774fc78aa485b88ab2cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:20 +0530 @@ -57,10 +57,10 @@ index fd1ccb7..b6f1a8f 100644 static BOOL clinic_HKEY_converter(PyObject *ob, void *p); static PyObject *PyHKEY_FromHKEY(HKEY h); diff --git a/configure.ac b/configure.ac -index ba8736b..59f3edc 100644 +index d3ee3fe..fcbb02c 100644 --- a/configure.ac +++ b/configure.ac -@@ -3326,6 +3326,13 @@ else +@@ -3338,6 +3338,13 @@ else fi]) AC_MSG_RESULT($with_dbmliborder) @@ -75,5 +75,5 @@ index ba8736b..59f3edc 100644 # For a single AC_DEFINE, no template is needed. AH_TEMPLATE(_REENTRANT, -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0011-MINGW-determine-if-pwdmodule-should-be-used.patch b/mingw-w64-python/0011-MINGW-determine-if-pwdmodule-should-be-used.patch index 3fcb7cf619..807ad50e98 100644 --- a/mingw-w64-python/0011-MINGW-determine-if-pwdmodule-should-be-used.patch +++ b/mingw-w64-python/0011-MINGW-determine-if-pwdmodule-should-be-used.patch @@ -1,4 +1,4 @@ -From 892c8b91944241a71222a04d9276fdd409479408 Mon Sep 17 00:00:00 2001 +From 5687d0c4fd9b15b0ac3c8ce0ebd35e824a3f0475 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:21 +0530 @@ -43,10 +43,10 @@ index 612cabd..d071a74 100644 @USE_WIN32_MODULE@winreg ../PC/winreg.c diff --git a/configure.ac b/configure.ac -index 59f3edc..806ebe0 100644 +index fcbb02c..b797c58 100644 --- a/configure.ac +++ b/configure.ac -@@ -3333,6 +3333,13 @@ case $host in +@@ -3345,6 +3345,13 @@ case $host in *-*-mingw*) USE_WIN32_MODULE=;; esac @@ -61,5 +61,5 @@ index 59f3edc..806ebe0 100644 # For a single AC_DEFINE, no template is needed. AH_TEMPLATE(_REENTRANT, -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0012-issue6672-v2-Add-Mingw-recognition-to-pyport.h-to-al.patch b/mingw-w64-python/0012-issue6672-v2-Add-Mingw-recognition-to-pyport.h-to-al.patch index d0c8bf5c99..d01c68f924 100644 --- a/mingw-w64-python/0012-issue6672-v2-Add-Mingw-recognition-to-pyport.h-to-al.patch +++ b/mingw-w64-python/0012-issue6672-v2-Add-Mingw-recognition-to-pyport.h-to-al.patch @@ -1,4 +1,4 @@ -From b04a5d9e049ad86d70f3977cb2604b2e6b7e0bca Mon Sep 17 00:00:00 2001 +From 85ff42f6dea113f58dfbc588eec2ee3174c17793 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:23 +0530 @@ -64,12 +64,12 @@ index 475c2a8..a05fa3a 100644 /* module init functions outside the core must be exported */ # if defined(__cplusplus) diff --git a/setup.py b/setup.py -index 54d4b94..d7a4e3f 100644 +index c6023e1..86f877b 100644 --- a/setup.py +++ b/setup.py -@@ -444,6 +444,9 @@ class PyBuildExt(build_ext): - def build_extensions(self): - self.set_srcdir() +@@ -450,6 +450,9 @@ class PyBuildExt(build_ext): + self.configure_compiler() + self.init_inc_lib_dirs() + if MS_WINDOWS: + self.compiler.define_macro("Py_BUILD_CORE_MODULE") @@ -78,5 +78,5 @@ index 54d4b94..d7a4e3f 100644 self.detect_modules() -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0013-MINGW-configure-for-shared-build.patch b/mingw-w64-python/0013-MINGW-configure-for-shared-build.patch index 73ec196ae8..bfe25a7ecd 100644 --- a/mingw-w64-python/0013-MINGW-configure-for-shared-build.patch +++ b/mingw-w64-python/0013-MINGW-configure-for-shared-build.patch @@ -1,4 +1,4 @@ -From ed8995bda0e5acd112b43ee5662df3640f6154f3 Mon Sep 17 00:00:00 2001 +From a987eaf37f68be6e22fdca2cbc67e6df1eb14611 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:24 +0530 @@ -13,10 +13,10 @@ Co-authored-by: Алексей 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 806ebe0..6ebf250 100644 +index b797c58..b457a4b 100644 --- a/configure.ac +++ b/configure.ac -@@ -1233,6 +1233,13 @@ if test $enable_shared = "yes"; then +@@ -1240,6 +1240,13 @@ if test $enable_shared = "yes"; then ;; esac @@ -30,7 +30,7 @@ index 806ebe0..6ebf250 100644 else # shared is disabled PY_ENABLE_SHARED=0 case $ac_sys_system in -@@ -1241,6 +1248,10 @@ else # shared is disabled +@@ -1248,6 +1255,10 @@ else # shared is disabled LDLIBRARY='libpython$(LDVERSION).dll.a' ;; esac @@ -41,7 +41,7 @@ index 806ebe0..6ebf250 100644 fi if test "$cross_compiling" = yes; then -@@ -2843,6 +2854,12 @@ then +@@ -2850,6 +2861,12 @@ then LDCXXSHARED="g++ -shared -Wl,--enable-auto-image-base";; *) LDSHARED="ld";; esac @@ -54,7 +54,7 @@ index 806ebe0..6ebf250 100644 fi AC_MSG_RESULT($LDSHARED) LDCXXSHARED=${LDCXXSHARED-$LDSHARED} -@@ -5670,7 +5687,8 @@ case $host in +@@ -5682,7 +5699,8 @@ case $host in dnl "errmap.h" from $srcdir/PC. dnl Note we cannot use BASECPPFLAGS as autogenerated pyconfig.h dnl has to be before customized located in ../PC. @@ -65,5 +65,5 @@ index 806ebe0..6ebf250 100644 esac -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0014-MINGW-dynamic-loading-support.patch b/mingw-w64-python/0014-MINGW-dynamic-loading-support.patch index a85937ab06..ad4294d731 100644 --- a/mingw-w64-python/0014-MINGW-dynamic-loading-support.patch +++ b/mingw-w64-python/0014-MINGW-dynamic-loading-support.patch @@ -1,4 +1,4 @@ -From 4eb264922b5a1abfa9400662d88c10a3b5f447bd Mon Sep 17 00:00:00 2001 +From 0aca06809a58f19465df1f1245e0383da9129835 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:25 +0530 @@ -15,10 +15,10 @@ Co-authored-by: Алексей 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in -index e8e8e71..332f9a5 100644 +index c9d3193..3b96788 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -823,6 +823,12 @@ Python/dynload_hpux.o: $(srcdir)/Python/dynload_hpux.c Makefile +@@ -822,6 +822,12 @@ Python/dynload_hpux.o: $(srcdir)/Python/dynload_hpux.c Makefile -DSHLIB_EXT='"$(EXT_SUFFIX)"' \ -o $@ $(srcdir)/Python/dynload_hpux.c @@ -59,10 +59,10 @@ index 81787e5..9d7690e 100644 /* restore old error mode settings */ diff --git a/configure.ac b/configure.ac -index 6ebf250..a8c64a7 100644 +index b457a4b..6ba6dc7 100644 --- a/configure.ac +++ b/configure.ac -@@ -2718,6 +2718,9 @@ if test -z "$SHLIB_SUFFIX"; then +@@ -2725,6 +2725,9 @@ if test -z "$SHLIB_SUFFIX"; then CYGWIN*) SHLIB_SUFFIX=.dll;; *) SHLIB_SUFFIX=.so;; esac @@ -72,7 +72,7 @@ index 6ebf250..a8c64a7 100644 fi AC_MSG_RESULT($SHLIB_SUFFIX) -@@ -3831,6 +3834,13 @@ then +@@ -3843,6 +3846,13 @@ then fi ;; esac @@ -86,7 +86,7 @@ index 6ebf250..a8c64a7 100644 fi AC_MSG_RESULT($DYNLOADFILE) if test "$DYNLOADFILE" != "dynload_stub.o" -@@ -5667,6 +5677,12 @@ case "$ac_cv_computed_gotos" in yes*) +@@ -5679,6 +5689,12 @@ case "$ac_cv_computed_gotos" in yes*) AC_DEFINE(HAVE_COMPUTED_GOTOS, 1, [Define if the C compiler supports computed gotos.]) esac @@ -100,5 +100,5 @@ index 6ebf250..a8c64a7 100644 case $ac_sys_system in AIX*) -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0015-MINGW-ignore-main-program-for-frozen-scripts.patch b/mingw-w64-python/0015-MINGW-ignore-main-program-for-frozen-scripts.patch index e97f70e7c1..b20b4a0a84 100644 --- a/mingw-w64-python/0015-MINGW-ignore-main-program-for-frozen-scripts.patch +++ b/mingw-w64-python/0015-MINGW-ignore-main-program-for-frozen-scripts.patch @@ -1,4 +1,4 @@ -From bd06581551552ea5206d6af8c757181864b11066 Mon Sep 17 00:00:00 2001 +From 4d8528bd2de264a45cbcd0f2b7ac86ffa57da6d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:26 +0530 @@ -14,10 +14,10 @@ Co-authored-by: Алексей 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Makefile.pre.in b/Makefile.pre.in -index 332f9a5..8c8363a 100644 +index 3b96788..1c46d07 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -352,7 +352,7 @@ PYTHON_OBJS= \ +@@ -351,7 +351,7 @@ PYTHON_OBJS= \ Python/context.o \ Python/dynamic_annotations.o \ Python/errors.o \ @@ -27,10 +27,10 @@ index 332f9a5..8c8363a 100644 Python/getargs.o \ Python/getcompiler.o \ diff --git a/configure.ac b/configure.ac -index a8c64a7..7fcdd47 100644 +index 6ba6dc7..ac5061f 100644 --- a/configure.ac +++ b/configure.ac -@@ -5708,6 +5708,16 @@ case $host in +@@ -5720,6 +5720,16 @@ case $host in ;; esac @@ -48,5 +48,5 @@ index a8c64a7..7fcdd47 100644 SRCDIRS="Parser Parser/pegen Objects Python Modules Modules/_io Programs" case $host in -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0016-MINGW-setup-_multiprocessing-module.patch b/mingw-w64-python/0016-MINGW-setup-_multiprocessing-module.patch index 8bcd1ac272..37b91c9684 100644 --- a/mingw-w64-python/0016-MINGW-setup-_multiprocessing-module.patch +++ b/mingw-w64-python/0016-MINGW-setup-_multiprocessing-module.patch @@ -1,4 +1,4 @@ -From 0dca777395cc304349d9d90e631407374e2c6de0 Mon Sep 17 00:00:00 2001 +From 63926d1e82cfdac69ee3fedced546db4fafb44ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:26 +0530 @@ -13,10 +13,10 @@ Co-authored-by: Алексей 1 file changed, 5 insertions(+) diff --git a/setup.py b/setup.py -index d7a4e3f..a15718e 100644 +index 86f877b..f00612a 100644 --- a/setup.py +++ b/setup.py -@@ -1766,7 +1766,12 @@ class PyBuildExt(build_ext): +@@ -1771,7 +1771,12 @@ class PyBuildExt(build_ext): libraries=libs, include_dirs=["Modules/_multiprocessing"])) @@ -30,5 +30,5 @@ index d7a4e3f..a15718e 100644 def detect_uuid(self): -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0017-MINGW-setup-select-module.patch b/mingw-w64-python/0017-MINGW-setup-select-module.patch index 07c359e965..dbeb756478 100644 --- a/mingw-w64-python/0017-MINGW-setup-select-module.patch +++ b/mingw-w64-python/0017-MINGW-setup-select-module.patch @@ -1,4 +1,4 @@ -From 1dcb2cc12d447b3be226f61699d2570c921b67bb Mon Sep 17 00:00:00 2001 +From 214eb1d0c11cb7ac5070765c099fcbb6eb930f1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:29 +0530 @@ -39,10 +39,10 @@ index fb71e91..ad3990c 100644 /* add object and its file descriptor to the list */ diff --git a/setup.py b/setup.py -index a15718e..7914821 100644 +index f00612a..d74f25e 100644 --- a/setup.py +++ b/setup.py -@@ -906,7 +906,11 @@ class PyBuildExt(build_ext): +@@ -909,7 +909,11 @@ class PyBuildExt(build_ext): self.missing.append('spwd') # select(2); not on ancient System V @@ -56,5 +56,5 @@ index a15718e..7914821 100644 # Fred Drake's interface to the Python parser self.add(Extension('parser', ['parsermodule.c'])) -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0018-MINGW-setup-_ctypes-module-with-system-libffi.patch b/mingw-w64-python/0018-MINGW-setup-_ctypes-module-with-system-libffi.patch index cf0da7f955..66daf0eed0 100644 --- a/mingw-w64-python/0018-MINGW-setup-_ctypes-module-with-system-libffi.patch +++ b/mingw-w64-python/0018-MINGW-setup-_ctypes-module-with-system-libffi.patch @@ -1,4 +1,4 @@ -From f863b526f355dbc2dd1539be76a0f95f7abec559 Mon Sep 17 00:00:00 2001 +From 9b7ef57e2a6bc784555d9671ed7b1101fe03f7fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:30 +0530 @@ -14,10 +14,10 @@ Co-authored-by: Christoph Reiter 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py -index 7914821..60f6243 100644 +index d74f25e..2c3e29e 100644 --- a/setup.py +++ b/setup.py -@@ -2154,9 +2154,12 @@ class PyBuildExt(build_ext): +@@ -2156,9 +2156,12 @@ class PyBuildExt(build_ext): self.add(ext) if TEST_EXTENSIONS: # function my_sqrt() needs libm for sqrt() @@ -31,7 +31,7 @@ index 7914821..60f6243 100644 ffi_inc = sysconfig.get_config_var("LIBFFI_INCLUDEDIR") ffi_lib = None -@@ -2201,6 +2204,8 @@ class PyBuildExt(build_ext): +@@ -2203,6 +2206,8 @@ class PyBuildExt(build_ext): ext.include_dirs.append(ffi_inc) ext.libraries.append(ffi_lib) @@ -41,5 +41,5 @@ index 7914821..60f6243 100644 if sysconfig.get_config_var('HAVE_LIBDL'): -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0019-MINGW-defect-winsock2-and-setup-_socket-module.patch b/mingw-w64-python/0019-MINGW-defect-winsock2-and-setup-_socket-module.patch index 8ee66eeed1..75623d74c2 100644 --- a/mingw-w64-python/0019-MINGW-defect-winsock2-and-setup-_socket-module.patch +++ b/mingw-w64-python/0019-MINGW-defect-winsock2-and-setup-_socket-module.patch @@ -1,4 +1,4 @@ -From 0a6c242ff914437f5feb80ee638b592667a519b2 Mon Sep 17 00:00:00 2001 +From 9c06f597151aafa16ed53c8d434ce60a21ca676b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:30 +0530 @@ -28,10 +28,10 @@ index 513065d..9be43fd 100644 +# force detection of winsock2 functionality - require wxp or newer +ac_cv_func_getpeername=yes diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c -index 8953185..d15bb4f 100644 +index a22060d..be91ad0 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c -@@ -305,7 +305,7 @@ http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/net/getaddrinfo.c.diff?r1=1.82& +@@ -302,7 +302,7 @@ http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/net/getaddrinfo.c.diff?r1=1.82& # endif /* Macros based on the IPPROTO enum, see: https://bugs.python.org/issue29515 */ @@ -40,7 +40,7 @@ index 8953185..d15bb4f 100644 #define IPPROTO_ICMP IPPROTO_ICMP #define IPPROTO_IGMP IPPROTO_IGMP #define IPPROTO_GGP IPPROTO_GGP -@@ -336,7 +336,7 @@ http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/net/getaddrinfo.c.diff?r1=1.82& +@@ -333,7 +333,7 @@ http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/net/getaddrinfo.c.diff?r1=1.82& #define IPPROTO_PGM IPPROTO_PGM // WinSock2 only #define IPPROTO_L2TP IPPROTO_L2TP // WinSock2 only #define IPPROTO_SCTP IPPROTO_SCTP // WinSock2 only @@ -49,7 +49,7 @@ index 8953185..d15bb4f 100644 /* Provides the IsWindows7SP1OrGreater() function */ #include -@@ -429,6 +429,10 @@ remove_unusable_flags(PyObject *m) +@@ -426,6 +426,10 @@ remove_unusable_flags(PyObject *m) /* Do not include addrinfo.h for MSVC7 or greater. 'addrinfo' and * EAI_* constants are defined in (the already included) ws2tcpip.h. */ @@ -61,10 +61,10 @@ index 8953185..d15bb4f 100644 # include "addrinfo.h" #endif diff --git a/configure.ac b/configure.ac -index 7fcdd47..5459145 100644 +index ac5061f..495cf68 100644 --- a/configure.ac +++ b/configure.ac -@@ -4443,21 +4443,36 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +@@ -4455,21 +4455,36 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ],[]) AC_MSG_RESULT($was_it_defined) @@ -105,7 +105,7 @@ index 7fcdd47..5459145 100644 [ac_cv_struct_sockaddr_storage=yes], [ac_cv_struct_sockaddr_storage=no])) AC_MSG_RESULT($ac_cv_struct_sockaddr_storage) -@@ -5598,7 +5613,10 @@ fi +@@ -5610,7 +5625,10 @@ fi AC_CHECK_TYPE(socklen_t,, AC_DEFINE(socklen_t,int, @@ -118,7 +118,7 @@ index 7fcdd47..5459145 100644 #include #endif diff --git a/pyconfig.h.in b/pyconfig.h.in -index 5f63cae..b69a7c7 100644 +index 1df9659..10255f6 100644 --- a/pyconfig.h.in +++ b/pyconfig.h.in @@ -54,7 +54,7 @@ @@ -130,7 +130,7 @@ index 5f63cae..b69a7c7 100644 #undef HAVE_ADDRINFO /* Define to 1 if you have the `alarm' function. */ -@@ -1342,6 +1342,9 @@ +@@ -1348,6 +1348,9 @@ /* Define if libssl has X509_VERIFY_PARAM_set1_host and related function */ #undef HAVE_X509_VERIFY_PARAM_SET1_HOST @@ -140,7 +140,7 @@ index 5f63cae..b69a7c7 100644 /* Define if the zlib library has inflateCopy */ #undef HAVE_ZLIB_COPY -@@ -1658,7 +1661,7 @@ +@@ -1664,7 +1667,7 @@ /* Define to `unsigned int' if does not define. */ #undef size_t @@ -150,10 +150,10 @@ index 5f63cae..b69a7c7 100644 /* Define to `int' if doesn't define. */ diff --git a/setup.py b/setup.py -index 60f6243..c8242ac 100644 +index 2c3e29e..2beb525 100644 --- a/setup.py +++ b/setup.py -@@ -1143,6 +1143,8 @@ class PyBuildExt(build_ext): +@@ -1146,6 +1146,8 @@ class PyBuildExt(build_ext): if MACOS: # Issue #35569: Expose RFC 3542 socket options. kwargs['extra_compile_args'] = ['-D__APPLE_USE_RFC_3542'] @@ -163,5 +163,5 @@ index 60f6243..c8242ac 100644 self.add(Extension('_socket', ['socketmodule.c'], **kwargs)) elif self.compiler.find_library_file(self.lib_dirs, 'net'): -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0020-MINGW-exclude-unix-only-modules.patch b/mingw-w64-python/0020-MINGW-exclude-unix-only-modules.patch index 1a59ca9a8c..fe51fec4ff 100644 --- a/mingw-w64-python/0020-MINGW-exclude-unix-only-modules.patch +++ b/mingw-w64-python/0020-MINGW-exclude-unix-only-modules.patch @@ -1,4 +1,4 @@ -From 43127485a0b9ef0e6eb88436cbd3691114203324 Mon Sep 17 00:00:00 2001 +From 8935c150ff336f6ba87ab67cb0b134586c26b694 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:31 +0530 @@ -13,10 +13,10 @@ Co-authored-by: Алексей 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/setup.py b/setup.py -index c8242ac..f317bf3 100644 +index 2beb525..a35f493 100644 --- a/setup.py +++ b/setup.py -@@ -889,13 +889,21 @@ class PyBuildExt(build_ext): +@@ -892,13 +892,21 @@ class PyBuildExt(build_ext): if (self.config_h_vars.get('FLOCK_NEEDS_LIBBSD', False)): # May be necessary on AIX for flock function libs = ['bsd'] @@ -42,7 +42,7 @@ index c8242ac..f317bf3 100644 # spwd, shadow passwords if (self.config_h_vars.get('HAVE_GETSPNAM', False) or self.config_h_vars.get('HAVE_GETSPENT', False)): -@@ -920,7 +928,10 @@ class PyBuildExt(build_ext): +@@ -923,7 +931,10 @@ class PyBuildExt(build_ext): # Lance Ellinghaus's syslog module # syslog daemon interface @@ -54,7 +54,7 @@ index c8242ac..f317bf3 100644 # Python interface to subinterpreter C-API. self.add(Extension('_xxsubinterpreters', ['_xxsubinterpretersmodule.c'])) -@@ -946,7 +957,10 @@ class PyBuildExt(build_ext): +@@ -949,7 +960,10 @@ class PyBuildExt(build_ext): self.add(Extension('_csv', ['_csv.c'])) # POSIX subprocess module helper. @@ -66,7 +66,7 @@ index c8242ac..f317bf3 100644 def detect_test_extensions(self): # Python C API test module -@@ -1128,13 +1142,16 @@ class PyBuildExt(build_ext): +@@ -1131,13 +1145,16 @@ class PyBuildExt(build_ext): # the encryption. return @@ -90,5 +90,5 @@ index c8242ac..f317bf3 100644 def detect_socket(self): # socket(2) -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0021-MINGW-setup-msvcrt-and-_winapi-modules.patch b/mingw-w64-python/0021-MINGW-setup-msvcrt-and-_winapi-modules.patch index 0f36917f6a..527105bdc0 100644 --- a/mingw-w64-python/0021-MINGW-setup-msvcrt-and-_winapi-modules.patch +++ b/mingw-w64-python/0021-MINGW-setup-msvcrt-and-_winapi-modules.patch @@ -1,4 +1,4 @@ -From 71342683a28f2826c9738951706c167226c2f093 Mon Sep 17 00:00:00 2001 +From 21c092964fa1524ea3e5a30995924a87d4af9fac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:33 +0530 @@ -57,10 +57,10 @@ index 7febaa0..70d5b3d 100644 #endif diff --git a/setup.py b/setup.py -index f317bf3..5466e9b 100644 +index a35f493..a802e51 100644 --- a/setup.py +++ b/setup.py -@@ -1604,6 +1604,27 @@ class PyBuildExt(build_ext): +@@ -1607,6 +1607,27 @@ class PyBuildExt(build_ext): '-framework', 'SystemConfiguration', '-framework', 'CoreFoundation'])) @@ -89,5 +89,5 @@ index f317bf3..5466e9b 100644 # Andrew Kuchling's zlib module. Note that some versions of zlib # 1.1.3 have security problems. See CERT Advisory CA-2002-07: -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0022-sysconfig-MINGW-build-extensions-with-GCC.patch b/mingw-w64-python/0022-sysconfig-MINGW-build-extensions-with-GCC.patch index ca2b869b61..91286ee5f2 100644 --- a/mingw-w64-python/0022-sysconfig-MINGW-build-extensions-with-GCC.patch +++ b/mingw-w64-python/0022-sysconfig-MINGW-build-extensions-with-GCC.patch @@ -1,4 +1,4 @@ -From 81df7b055662ed80b952de911ec0c25df3e40e1f Mon Sep 17 00:00:00 2001 +From 27c14e48f60c152b2dfb6031b21f26b9c79c93bb Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 21 Sep 2021 20:52:42 +0200 Subject: [PATCH 022/N] sysconfig: MINGW build extensions with GCC @@ -21,5 +21,5 @@ index 45eab2a..42de9b3 100644 return 'win-amd64' if '(arm)' in sys.version.lower(): -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0023-MINGW-setup-_ssl-module.patch b/mingw-w64-python/0023-MINGW-setup-_ssl-module.patch index 29196e5156..349bcba8bf 100644 --- a/mingw-w64-python/0023-MINGW-setup-_ssl-module.patch +++ b/mingw-w64-python/0023-MINGW-setup-_ssl-module.patch @@ -1,4 +1,4 @@ -From 3d38194a6e0ff4c07988064d51fa10ecbf7b450d Mon Sep 17 00:00:00 2001 +From ba662c4c0f3a9fc5ee296fb4a6b5c5038bc1ae79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:37 +0530 @@ -13,10 +13,10 @@ Co-authored-by: Алексей 1 file changed, 2 insertions(+) diff --git a/setup.py b/setup.py -index 5466e9b..51d3f59 100644 +index a802e51..2e2578c 100644 --- a/setup.py +++ b/setup.py -@@ -2386,6 +2386,8 @@ class PyBuildExt(build_ext): +@@ -2388,6 +2388,8 @@ class PyBuildExt(build_ext): openssl_includes = split_var('OPENSSL_INCLUDES', '-I') openssl_libdirs = split_var('OPENSSL_LDFLAGS', '-L') openssl_libs = split_var('OPENSSL_LIBS', '-l') @@ -26,5 +26,5 @@ index 5466e9b..51d3f59 100644 # libssl and libcrypto not found self.missing.extend(['_ssl', '_hashlib']) -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0024-MINGW-generalization-of-posix-build-in-sysconfig.py.patch b/mingw-w64-python/0024-MINGW-generalization-of-posix-build-in-sysconfig.py.patch index 0e1b453276..82e3e6fa39 100644 --- a/mingw-w64-python/0024-MINGW-generalization-of-posix-build-in-sysconfig.py.patch +++ b/mingw-w64-python/0024-MINGW-generalization-of-posix-build-in-sysconfig.py.patch @@ -1,4 +1,4 @@ -From 9cd7f11ee87717152eb4deebdf74217495440b11 Mon Sep 17 00:00:00 2001 +From 6b724ccae0bdef5fc26ccd45a46fbfe466c6940b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:38 +0530 @@ -76,5 +76,5 @@ index 42de9b3..65cb345 100644 # If srcdir is a relative path (typically '.' or '..') # then it should be interpreted relative to the directory -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0025-MINGW-support-stdcall-without-underscore.patch b/mingw-w64-python/0025-MINGW-support-stdcall-without-underscore.patch index a4681827d6..6e4e534831 100644 --- a/mingw-w64-python/0025-MINGW-support-stdcall-without-underscore.patch +++ b/mingw-w64-python/0025-MINGW-support-stdcall-without-underscore.patch @@ -1,4 +1,4 @@ -From 15b977a7de9a992afdb0af75ae3c3d84a524d7df Mon Sep 17 00:00:00 2001 +From 1b5307c71e0c90bc47a19b799c702619631b8b40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:39 +0530 @@ -50,5 +50,5 @@ index ceae67e..b9cf96b 100644 return NULL; #endif -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0026-use-replace-instead-rename-to-avoid-failure-on-windo.patch b/mingw-w64-python/0026-use-replace-instead-rename-to-avoid-failure-on-windo.patch index 113352169c..ce403abc65 100644 --- a/mingw-w64-python/0026-use-replace-instead-rename-to-avoid-failure-on-windo.patch +++ b/mingw-w64-python/0026-use-replace-instead-rename-to-avoid-failure-on-windo.patch @@ -1,4 +1,4 @@ -From b14a7592f54a2230d5b087e15a4547d23eeed6e1 Mon Sep 17 00:00:00 2001 +From 7e4c459c2f2ce9031239e94cc141ff7aacc10c26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:40 +0530 @@ -14,10 +14,10 @@ Co-authored-by: Christoph Reiter 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py -index 51d3f59..ea08edf 100644 +index 2e2578c..0d2740b 100644 --- a/setup.py +++ b/setup.py -@@ -2607,7 +2607,7 @@ class PyBuildScripts(build_scripts): +@@ -2609,7 +2609,7 @@ class PyBuildScripts(build_scripts): else: newfilename = filename + minoronly log.info('renaming %s to %s', filename, newfilename) @@ -27,5 +27,5 @@ index 51d3f59..ea08edf 100644 if filename in updated_files: newupdated_files.append(newfilename) -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0027-MINGW-customize-site.patch b/mingw-w64-python/0027-MINGW-customize-site.patch index 7c4e663ade..97c48d588a 100644 --- a/mingw-w64-python/0027-MINGW-customize-site.patch +++ b/mingw-w64-python/0027-MINGW-customize-site.patch @@ -1,4 +1,4 @@ -From 7edbdbe649d050d6753289b61ad5d2883b5338cd Mon Sep 17 00:00:00 2001 +From 63cf4844b28e2353500735dc156ef64fe46956bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:42 +0530 @@ -55,5 +55,5 @@ index 9e617af..b344f03 100644 path = os.path.join(prefix, libdir, "python%d.%d" % sys.version_info[:2], -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0028-add-python-config-sh.patch b/mingw-w64-python/0028-add-python-config-sh.patch index 39bda2dce1..4f9e12e27b 100644 --- a/mingw-w64-python/0028-add-python-config-sh.patch +++ b/mingw-w64-python/0028-add-python-config-sh.patch @@ -1,4 +1,4 @@ -From 6c65a9a8245268b2260c99db33e27205d9a67837 Mon Sep 17 00:00:00 2001 +From 3070c3206e021b6427ab4483be27afbb10a959c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:43 +0530 @@ -158,5 +158,5 @@ index 2602fe2..e0e048a 100644 esac done -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0029-cross-darwin-feature.patch b/mingw-w64-python/0029-cross-darwin-feature.patch index 5a3ca175ee..37e899294d 100644 --- a/mingw-w64-python/0029-cross-darwin-feature.patch +++ b/mingw-w64-python/0029-cross-darwin-feature.patch @@ -1,4 +1,4 @@ -From 28b76e2a3d4a629a2e5280c760fce8d661909ae0 Mon Sep 17 00:00:00 2001 +From 967b2ec36000c3250b99d190420064cb8f55d8a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:44 +0530 @@ -13,7 +13,7 @@ Co-authored-by: Алексей 1 file changed, 49 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac -index 5459145..bd4ff50 100644 +index 495cf68..7f2bb28 100644 --- a/configure.ac +++ b/configure.ac @@ -387,6 +387,7 @@ if test -z "$MACHDEP" @@ -70,7 +70,7 @@ index 5459145..bd4ff50 100644 *) # for now, limit cross builds to known configurations MACHDEP="unknown" -@@ -1655,6 +1679,26 @@ AC_SUBST(BASECFLAGS) +@@ -1662,6 +1686,26 @@ AC_SUBST(BASECFLAGS) AC_SUBST(CFLAGS_NODIST) AC_SUBST(LDFLAGS_NODIST) @@ -97,7 +97,7 @@ index 5459145..bd4ff50 100644 # The -arch flags for universal builds on macOS UNIVERSAL_ARCH_FLAGS= AC_SUBST(UNIVERSAL_ARCH_FLAGS) -@@ -2033,7 +2077,7 @@ yes) +@@ -2040,7 +2084,7 @@ yes) ;; esac else @@ -106,7 +106,7 @@ index 5459145..bd4ff50 100644 then # 10.4 was the first release to support Intel archs cur_target="10.4" -@@ -2606,7 +2650,7 @@ case $ac_sys_system/$ac_sys_release in +@@ -2613,7 +2657,7 @@ case $ac_sys_system/$ac_sys_release in if test "${enable_universalsdk}"; then : else @@ -115,7 +115,7 @@ index 5459145..bd4ff50 100644 fi LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';; -@@ -2631,7 +2675,7 @@ case $ac_sys_system/$ac_sys_release in +@@ -2638,7 +2682,7 @@ case $ac_sys_system/$ac_sys_release in ]])],[ac_osx_32bit=yes],[ac_osx_32bit=no],[ac_osx_32bit=yes]) if test "${ac_osx_32bit}" = "yes"; then @@ -124,7 +124,7 @@ index 5459145..bd4ff50 100644 i386) MACOSX_DEFAULT_ARCH="i386" ;; -@@ -2643,7 +2687,7 @@ case $ac_sys_system/$ac_sys_release in +@@ -2650,7 +2694,7 @@ case $ac_sys_system/$ac_sys_release in ;; esac else @@ -134,5 +134,5 @@ index 5459145..bd4ff50 100644 MACOSX_DEFAULT_ARCH="x86_64" ;; -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0030-mingw-system-libffi.patch b/mingw-w64-python/0030-mingw-system-libffi.patch index 7c4a819f06..f24fe2f32e 100644 --- a/mingw-w64-python/0030-mingw-system-libffi.patch +++ b/mingw-w64-python/0030-mingw-system-libffi.patch @@ -1,4 +1,4 @@ -From 97a76defea005fff27a7f019c7ecde3f43a8ee64 Mon Sep 17 00:00:00 2001 +From 8153173167969474e8f6d593e9a29673075fcc38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:45 +0530 @@ -13,10 +13,10 @@ Co-authored-by: Алексей 1 file changed, 2 insertions(+) diff --git a/setup.py b/setup.py -index ea08edf..c52fd3b 100644 +index 0d2740b..d6b0856 100644 --- a/setup.py +++ b/setup.py -@@ -2246,6 +2246,8 @@ class PyBuildExt(build_ext): +@@ -2248,6 +2248,8 @@ class PyBuildExt(build_ext): ext.libraries.append(ffi_lib) if MS_WINDOWS: ext.libraries.extend(['ole32', 'oleaut32', 'uuid']) @@ -26,5 +26,5 @@ index ea08edf..c52fd3b 100644 if sysconfig.get_config_var('HAVE_LIBDL'): -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0031-msys-mingw-prefer-unix-sep-if-MSYSTEM.patch b/mingw-w64-python/0031-msys-mingw-prefer-unix-sep-if-MSYSTEM.patch index 068d830563..a85cbddbf3 100644 --- a/mingw-w64-python/0031-msys-mingw-prefer-unix-sep-if-MSYSTEM.patch +++ b/mingw-w64-python/0031-msys-mingw-prefer-unix-sep-if-MSYSTEM.patch @@ -1,4 +1,4 @@ -From eef4cbef8040e29440e645138de2184bcc82c3d0 Mon Sep 17 00:00:00 2001 +From 4d5064d190e3c44030ebad8e66966f9b1b4714bf Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 17 Jun 2021 18:51:46 +0530 Subject: [PATCH 031/N] msys mingw prefer unix sep if MSYSTEM @@ -211,7 +211,7 @@ index 6f77177..77f5614 100644 try: diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c -index 3f3e1f3..1e61545 100644 +index 3894e35..88e2afb 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -3759,6 +3759,7 @@ posix_getcwd(int use_bytes) @@ -231,7 +231,7 @@ index 3f3e1f3..1e61545 100644 if (result && path->narrow) { Py_SETREF(result, PyUnicode_EncodeFSDefault(result)); diff --git a/Python/initconfig.c b/Python/initconfig.c -index 3caed38..d8f0005 100644 +index 116ee33..af46d26 100644 --- a/Python/initconfig.c +++ b/Python/initconfig.c @@ -136,7 +136,7 @@ static const char usage_6[] = @@ -253,7 +253,7 @@ index 3caed38..d8f0005 100644 #else const wchar_t *default_program_name = L"python3"; diff --git a/Python/pathconfig.c b/Python/pathconfig.c -index 9a30221..267ee4d 100644 +index b2ce86e..222850b 100644 --- a/Python/pathconfig.c +++ b/Python/pathconfig.c @@ -15,6 +15,114 @@ @@ -380,7 +380,7 @@ index 9a30221..267ee4d 100644 diff --git a/Python/traceback.c b/Python/traceback.c -index 83f3074..c0e463a 100644 +index 23d0e38..37a7670 100644 --- a/Python/traceback.c +++ b/Python/traceback.c @@ -314,7 +314,7 @@ _Py_FindSourceFile(PyObject *filename, char* namebuf, size_t namelen, PyObject * @@ -393,5 +393,5 @@ index 83f3074..c0e463a 100644 tail = filepath; else -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0032-mingw-use-posix-getpath.patch b/mingw-w64-python/0032-mingw-use-posix-getpath.patch index 7f51c1f4a9..08f40ba9ef 100644 --- a/mingw-w64-python/0032-mingw-use-posix-getpath.patch +++ b/mingw-w64-python/0032-mingw-use-posix-getpath.patch @@ -1,4 +1,4 @@ -From 81023c047fed86a16c63b8a185abbb34c54b023b Mon Sep 17 00:00:00 2001 +From c743ec5883ee146dde9259c54730bd48810c316c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:47 +0530 @@ -47,7 +47,7 @@ index 4eec669..b34f110 100644 #endif diff --git a/Modules/getpath.c b/Modules/getpath.c -index 728ecad..3010182 100644 +index 5dbe57c..bede134 100644 --- a/Modules/getpath.c +++ b/Modules/getpath.c @@ -13,6 +13,11 @@ @@ -436,7 +436,7 @@ index 728ecad..3010182 100644 status = calculate_init(&calculate, config); diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c -index 1e61545..40fc270 100644 +index 88e2afb..add8ed5 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -4049,7 +4049,7 @@ _listdir_windows_no_opendir(path_t *path, PyObject *list) @@ -463,10 +463,10 @@ index 9d7690e..bd34310 100644 _Py_COMP_DIAG_PUSH _Py_COMP_DIAG_IGNORE_DEPR_DECLS diff --git a/Python/fileutils.c b/Python/fileutils.c -index 11c659d..4b299b2 100644 +index 26e97df..75ee355 100644 --- a/Python/fileutils.c +++ b/Python/fileutils.c -@@ -1925,13 +1925,31 @@ _Py_wrealpath(const wchar_t *path, +@@ -1937,13 +1937,31 @@ _Py_wrealpath(const wchar_t *path, #endif @@ -501,5 +501,5 @@ index 11c659d..4b299b2 100644 /* Get an absolute path. -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0033-mingw-add-ModuleFileName-dir-to-PATH.patch b/mingw-w64-python/0033-mingw-add-ModuleFileName-dir-to-PATH.patch index 84ee084daa..677b6cdbb4 100644 --- a/mingw-w64-python/0033-mingw-add-ModuleFileName-dir-to-PATH.patch +++ b/mingw-w64-python/0033-mingw-add-ModuleFileName-dir-to-PATH.patch @@ -1,4 +1,4 @@ -From 1a866712f70f3f146587b0d25ad7f66b185a0afc Mon Sep 17 00:00:00 2001 +From ef90ac0fa4d305d9fa76ead9755ab7a731cd0f8c Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 17 Jun 2021 18:51:48 +0530 Subject: [PATCH 033/N] mingw add ModuleFileName dir to PATH @@ -13,7 +13,7 @@ Co-authored-by: Christoph Reiter 1 file changed, 30 insertions(+) diff --git a/Modules/getpath.c b/Modules/getpath.c -index 3010182..c52e0df 100644 +index bede134..c782e0f 100644 --- a/Modules/getpath.c +++ b/Modules/getpath.c @@ -1641,6 +1641,36 @@ calculate_path(PyCalculatePath *calculate, _PyPathConfig *pathconfig) @@ -54,5 +54,5 @@ index 3010182..c52e0df 100644 && calculate->warnings) { -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0034-mingw-add-BUILDIN_WIN32_MODULEs-time-msvcrt.patch b/mingw-w64-python/0034-mingw-add-BUILDIN_WIN32_MODULEs-time-msvcrt.patch index bc74438917..245b5a887a 100644 --- a/mingw-w64-python/0034-mingw-add-BUILDIN_WIN32_MODULEs-time-msvcrt.patch +++ b/mingw-w64-python/0034-mingw-add-BUILDIN_WIN32_MODULEs-time-msvcrt.patch @@ -1,4 +1,4 @@ -From e9e44cbc990a6d1be36bc7739de1b365bd5f3deb Mon Sep 17 00:00:00 2001 +From 970c6cc2d5fcb3b09f2735da2606e6a24bd7d505 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:49 +0530 @@ -23,5 +23,5 @@ index d071a74..825ce5d 100644 +@USE_WIN32_MODULE@msvcrt -DPy_BUILD_CORE ../PC/msvcrtmodule.c -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0035-msys-cygwin-semi-native-build-sysconfig.patch b/mingw-w64-python/0035-msys-cygwin-semi-native-build-sysconfig.patch index bcd94ef70a..e8b16b7240 100644 --- a/mingw-w64-python/0035-msys-cygwin-semi-native-build-sysconfig.patch +++ b/mingw-w64-python/0035-msys-cygwin-semi-native-build-sysconfig.patch @@ -1,4 +1,4 @@ -From 87605ef6c8e472a8b1e38d0fbeaf4f75b87a9964 Mon Sep 17 00:00:00 2001 +From 73afad716d68e9fb11b05e2c0cbf27c66279934a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:50 +0530 @@ -34,10 +34,10 @@ index 65cb345..f69d0db 100644 vars.update(done) return vars diff --git a/Makefile.pre.in b/Makefile.pre.in -index 8c8363a..e0b8155 100644 +index 1c46d07..3d42756 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -137,6 +137,13 @@ exec_prefix= @exec_prefix@ +@@ -136,6 +136,13 @@ exec_prefix= @exec_prefix@ # Install prefix for data files datarootdir= @datarootdir@ @@ -52,7 +52,7 @@ index 8c8363a..e0b8155 100644 BINDIR= @bindir@ LIBDIR= @libdir@ diff --git a/configure.ac b/configure.ac -index bd4ff50..a9640e9 100644 +index 7f2bb28..a7d664c 100644 --- a/configure.ac +++ b/configure.ac @@ -618,6 +618,65 @@ then @@ -122,5 +122,5 @@ index bd4ff50..a9640e9 100644 AC_SUBST(INITSYS) case $host in -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0036-sysconfig-mingw-sysconfig-like-posix.patch b/mingw-w64-python/0036-sysconfig-mingw-sysconfig-like-posix.patch index 71ca745a75..56e151a019 100644 --- a/mingw-w64-python/0036-sysconfig-mingw-sysconfig-like-posix.patch +++ b/mingw-w64-python/0036-sysconfig-mingw-sysconfig-like-posix.patch @@ -1,4 +1,4 @@ -From ab96d425d200796577c4d9eef79cc1e0e62a39dc Mon Sep 17 00:00:00 2001 +From d838915f88ce43b34f41387829b86b7c0c982a44 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 21 Sep 2021 20:53:59 +0200 Subject: [PATCH 036/N] sysconfig: mingw sysconfig like posix @@ -58,5 +58,5 @@ index f69d0db..64f7719 100644 # -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0037-build-_winapi-earlier-so-we-can-use-it-in-distutils-.patch b/mingw-w64-python/0037-build-_winapi-earlier-so-we-can-use-it-in-distutils-.patch index 4552490385..e17e0208ed 100644 --- a/mingw-w64-python/0037-build-_winapi-earlier-so-we-can-use-it-in-distutils-.patch +++ b/mingw-w64-python/0037-build-_winapi-earlier-so-we-can-use-it-in-distutils-.patch @@ -1,4 +1,4 @@ -From fa3d5a352904467d12247164a7673033c5e95d2a Mon Sep 17 00:00:00 2001 +From 57a08f6618707d6eec15884e12905a035edbd39a Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 21 Sep 2021 21:13:57 +0200 Subject: [PATCH 037/N] build _winapi earlier so we can use it in distutils @@ -20,10 +20,10 @@ index 825ce5d..b4e7ff7 100644 +@USE_WIN32_MODULE@_winapi _winapi.c diff --git a/setup.py b/setup.py -index c52fd3b..6a352af 100644 +index d6b0856..27f7bb2 100644 --- a/setup.py +++ b/setup.py -@@ -1612,7 +1612,9 @@ class PyBuildExt(build_ext): +@@ -1615,7 +1615,9 @@ class PyBuildExt(build_ext): self.add(Extension('msvcrt', [os.path.join(pc_srcdir, p) for p in ['msvcrtmodule.c']])) @@ -35,5 +35,5 @@ index c52fd3b..6a352af 100644 self.add(Extension('_msi', [os.path.join(pc_srcdir, p) for p in ['_msi.c']], -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0038-cross-dont-add-multiarch-paths-if-cross-compiling.patch b/mingw-w64-python/0038-cross-dont-add-multiarch-paths-if-cross-compiling.patch index 3346aa8c26..2f8ecac498 100644 --- a/mingw-w64-python/0038-cross-dont-add-multiarch-paths-if-cross-compiling.patch +++ b/mingw-w64-python/0038-cross-dont-add-multiarch-paths-if-cross-compiling.patch @@ -1,4 +1,4 @@ -From 64886b38c5ad2d78730ed147ba398693731a8e89 Mon Sep 17 00:00:00 2001 +From 94bc3a2e5f1ff3b339127ba2d6f9df68c37b1eb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:52 +0530 @@ -13,10 +13,10 @@ Co-authored-by: Алексей 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py -index 6a352af..497abbf 100644 +index 27f7bb2..5164bf7 100644 --- a/setup.py +++ b/setup.py -@@ -737,10 +737,10 @@ class PyBuildExt(build_ext): +@@ -740,10 +740,10 @@ class PyBuildExt(build_ext): if not CROSS_COMPILING: add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') @@ -29,5 +29,5 @@ index 6a352af..497abbf 100644 def init_inc_lib_dirs(self): -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0039-mingw-use-backslashes-in-compileall-py.patch b/mingw-w64-python/0039-mingw-use-backslashes-in-compileall-py.patch index ad1793e88a..5989ff5e2e 100644 --- a/mingw-w64-python/0039-mingw-use-backslashes-in-compileall-py.patch +++ b/mingw-w64-python/0039-mingw-use-backslashes-in-compileall-py.patch @@ -1,4 +1,4 @@ -From 47c94ca56a6ebe7423ed267a69d1b9931893da3b Mon Sep 17 00:00:00 2001 +From dacfd8590ddca1e85a5b8da81fe5074c7fcea5b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:53 +0530 @@ -13,7 +13,7 @@ Co-authored-by: Алексей 1 file changed, 2 insertions(+) diff --git a/Lib/compileall.py b/Lib/compileall.py -index 39f4bb3..3490c09 100644 +index 25ad83c..f57879e 100644 --- a/Lib/compileall.py +++ b/Lib/compileall.py @@ -38,6 +38,8 @@ def _walk_dir(dir, maxlevels, quiet=0): @@ -26,5 +26,5 @@ index 39f4bb3..3490c09 100644 yield fullname elif (maxlevels > 0 and name != os.curdir and name != os.pardir and -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0040-msys-convert_path-fix-and-root-hack.patch b/mingw-w64-python/0040-msys-convert_path-fix-and-root-hack.patch index 294fea7aeb..1f7943cc2a 100644 --- a/mingw-w64-python/0040-msys-convert_path-fix-and-root-hack.patch +++ b/mingw-w64-python/0040-msys-convert_path-fix-and-root-hack.patch @@ -1,4 +1,4 @@ -From 22fc2593de88d46a11786898d401e4801faeb125 Mon Sep 17 00:00:00 2001 +From 8a92dacab78e822097ba9064a104c81ac1baec29 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 21 Sep 2021 21:18:36 +0200 Subject: [PATCH 040/N] msys convert_path fix and root hack @@ -8,10 +8,10 @@ Subject: [PATCH 040/N] msys convert_path fix and root hack 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in -index e0b8155..cf16e93 100644 +index 3d42756..d00acbd 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1707,6 +1707,12 @@ libainstall: @DEF_MAKE_RULE@ python-config +@@ -1706,6 +1706,12 @@ libainstall: @DEF_MAKE_RULE@ python-config else true; \ fi @@ -24,7 +24,7 @@ index e0b8155..cf16e93 100644 # Install the dynamically loadable modules # This goes into $(exec_prefix) sharedinstall: sharedmods -@@ -1714,9 +1720,9 @@ sharedinstall: sharedmods +@@ -1713,9 +1719,9 @@ sharedinstall: sharedmods --prefix=$(prefix) \ --install-scripts=$(BINDIR) \ --install-platlib=$(DESTSHARED) \ @@ -38,5 +38,5 @@ index e0b8155..cf16e93 100644 # Here are a couple of targets for MacOSX again, to install a full # framework-based Python. frameworkinstall installs everything, the -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0041-allow-static-tcltk.patch b/mingw-w64-python/0041-allow-static-tcltk.patch index 34c237cf5b..12f26715e6 100644 --- a/mingw-w64-python/0041-allow-static-tcltk.patch +++ b/mingw-w64-python/0041-allow-static-tcltk.patch @@ -1,4 +1,4 @@ -From 096b2ca2e049158126943fbd39eb969d2e040262 Mon Sep 17 00:00:00 2001 +From 31ffe9b84ec3c7b5a09f637ca94441d501bab380 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:54 +0530 @@ -13,10 +13,10 @@ Co-authored-by: Алексей 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/setup.py b/setup.py -index 497abbf..31b08de 100644 +index 5164bf7..f761245 100644 --- a/setup.py +++ b/setup.py -@@ -786,7 +786,7 @@ class PyBuildExt(build_ext): +@@ -789,7 +789,7 @@ class PyBuildExt(build_ext): if HOST_PLATFORM == 'hp-ux11': self.lib_dirs += ['/usr/lib/hpux64', '/usr/lib/hpux32'] @@ -25,7 +25,7 @@ index 497abbf..31b08de 100644 # This should work on any unixy platform ;-) # If the user has bothered specifying additional -I and -L flags # in OPT and LDFLAGS we might as well use them here. -@@ -796,6 +796,8 @@ class PyBuildExt(build_ext): +@@ -799,6 +799,8 @@ class PyBuildExt(build_ext): # directories with whitespace in the name to store libraries. cflags, ldflags = sysconfig.get_config_vars( 'CFLAGS', 'LDFLAGS') @@ -34,7 +34,7 @@ index 497abbf..31b08de 100644 for item in cflags.split(): if item.startswith('-I'): self.inc_dirs.append(item[2:]) -@@ -2047,14 +2049,19 @@ class PyBuildExt(build_ext): +@@ -2049,14 +2051,19 @@ class PyBuildExt(build_ext): # The versions with dots are used on Unix, and the versions without # dots on Windows, for detection by cygwin. tcllib = tklib = tcl_includes = tk_includes = None @@ -62,7 +62,7 @@ index 497abbf..31b08de 100644 break # Now check for the header files -@@ -2125,10 +2132,18 @@ class PyBuildExt(build_ext): +@@ -2127,10 +2134,18 @@ class PyBuildExt(build_ext): # Add the Tcl/Tk libraries libs.append('tk'+ version) libs.append('tcl'+ version) @@ -83,5 +83,5 @@ index 497abbf..31b08de 100644 # XXX handle these, but how to detect? # *** Uncomment and edit for PIL (TkImaging) extension only: -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0042-mingw-pdcurses_ISPAD.patch b/mingw-w64-python/0042-mingw-pdcurses_ISPAD.patch index 55651c47fb..c30851144b 100644 --- a/mingw-w64-python/0042-mingw-pdcurses_ISPAD.patch +++ b/mingw-w64-python/0042-mingw-pdcurses_ISPAD.patch @@ -1,4 +1,4 @@ -From 2b8402c1cab75d631728eb1aecf02eb0f0f66265 Mon Sep 17 00:00:00 2001 +From 6c38cd961b5f26566fcda0149a0b5f56314891ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:55 +0530 @@ -31,5 +31,5 @@ index b70252d..0d5cee2 100644 /* configure was checking , but we will use , which has some or all these features. */ -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0043-grammar-fixes.patch b/mingw-w64-python/0043-grammar-fixes.patch index 46962a0df5..398e290fb7 100644 --- a/mingw-w64-python/0043-grammar-fixes.patch +++ b/mingw-w64-python/0043-grammar-fixes.patch @@ -1,4 +1,4 @@ -From 36b85a28791eb087338e12f796e8d473d22f3ace Mon Sep 17 00:00:00 2001 +From 7161562c97559e655f41eb22c64cbcde2b964c3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:56 +0530 @@ -41,5 +41,5 @@ index b7aa528..4a1ee9a 100644 {2, 1}, {3, 2}, -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0044-builddir-fixes.patch b/mingw-w64-python/0044-builddir-fixes.patch index 2a133ead0e..b7c65cbb9c 100644 --- a/mingw-w64-python/0044-builddir-fixes.patch +++ b/mingw-w64-python/0044-builddir-fixes.patch @@ -1,4 +1,4 @@ -From e835e97afda8c4c672defae902194866fc3df0a4 Mon Sep 17 00:00:00 2001 +From 9aaf5d454559ff3ae731a84bcda8c6e2fd1f5161 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:57 +0530 @@ -15,10 +15,10 @@ Co-authored-by: Christoph Reiter 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in -index cf16e93..7b3fdf6 100644 +index d00acbd..1895e74 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -741,20 +741,20 @@ Programs/_testembed: Programs/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) +@@ -740,20 +740,20 @@ Programs/_testembed: Programs/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) Programs/_freeze_importlib.o: Programs/_freeze_importlib.c Makefile @@ -43,7 +43,7 @@ index cf16e93..7b3fdf6 100644 $(srcdir)/Lib/importlib/_bootstrap.py \ $(srcdir)/Python/importlib.h.new $(UPDATE_FILE) $(srcdir)/Python/importlib.h $(srcdir)/Python/importlib.h.new -@@ -1882,7 +1882,7 @@ clean-retain-profile: pycremoval +@@ -1881,7 +1881,7 @@ clean-retain-profile: pycremoval find build -name '*.py[co]' -exec rm -f {} ';' || true -rm -f pybuilddir.txt -rm -f Lib/lib2to3/*Grammar*.pickle @@ -66,5 +66,5 @@ index 2e4ccbb..a8d5c31 100644 from frozen.obj. In the Makefile, frozen.o is not linked into this executable, so we define the variable here. */ -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0045-msys-monkeypatch-os-system-via-sh-exe.patch b/mingw-w64-python/0045-msys-monkeypatch-os-system-via-sh-exe.patch index 2955b8a96a..d1f394093e 100644 --- a/mingw-w64-python/0045-msys-monkeypatch-os-system-via-sh-exe.patch +++ b/mingw-w64-python/0045-msys-monkeypatch-os-system-via-sh-exe.patch @@ -1,4 +1,4 @@ -From 74ee0fa7cbd23e29f60d03606ee32b34bc0dbc6c Mon Sep 17 00:00:00 2001 +From dd99397c2c183cc1ba25ca094458be36cedcef20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:57 +0530 @@ -13,7 +13,7 @@ Co-authored-by: Алексей 1 file changed, 11 insertions(+) diff --git a/setup.py b/setup.py -index 31b08de..207a61c 100644 +index f761245..8454b28 100644 --- a/setup.py +++ b/setup.py @@ -58,6 +58,17 @@ def get_platform(): @@ -35,5 +35,5 @@ index 31b08de..207a61c 100644 HOST_PLATFORM = get_platform() MS_WINDOWS = (HOST_PLATFORM == 'win32') -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0046-msys-replace-slashes-used-in-io-redirection.patch b/mingw-w64-python/0046-msys-replace-slashes-used-in-io-redirection.patch index cc3fc0b3c4..8dd35fbea7 100644 --- a/mingw-w64-python/0046-msys-replace-slashes-used-in-io-redirection.patch +++ b/mingw-w64-python/0046-msys-replace-slashes-used-in-io-redirection.patch @@ -1,4 +1,4 @@ -From a85ea70acca8b8d49c5dea8451ec512ea979d88d Mon Sep 17 00:00:00 2001 +From 6ddd49f455c6312999c2ddc4340e44b59f892915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:58 +0530 @@ -14,19 +14,19 @@ Co-authored-by: Christoph Reiter 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/setup.py b/setup.py -index 207a61c..d7a60e0 100644 +index 8454b28..d4778b0 100644 --- a/setup.py +++ b/setup.py -@@ -646,7 +646,7 @@ class PyBuildExt(build_ext): +@@ -650,7 +650,7 @@ class PyBuildExt(build_ext): + def add_multiarch_paths(self): # Debian/Ubuntu multiarch support. # https://wiki.ubuntu.com/MultiarchSpec - cc = sysconfig.get_config_var('CC') - tmpfile = os.path.join(self.build_temp, 'multiarch') + tmpfile = os.path.join(self.build_temp, 'multiarch').replace('\\','/') if not os.path.exists(self.build_temp): os.makedirs(self.build_temp) ret = run_command( -@@ -671,7 +671,7 @@ class PyBuildExt(build_ext): +@@ -675,7 +675,7 @@ class PyBuildExt(build_ext): opt = '' if CROSS_COMPILING: opt = '-t' + sysconfig.get_config_var('HOST_GNU_TYPE') @@ -35,16 +35,16 @@ index 207a61c..d7a60e0 100644 if not os.path.exists(self.build_temp): os.makedirs(self.build_temp) ret = run_command( -@@ -690,7 +690,7 @@ class PyBuildExt(build_ext): +@@ -693,7 +693,7 @@ class PyBuildExt(build_ext): + os.unlink(tmpfile) def add_cross_compiling_paths(self): - cc = sysconfig.get_config_var('CC') - tmpfile = os.path.join(self.build_temp, 'ccpaths') + tmpfile = os.path.join(self.build_temp, 'ccpaths').replace('\\','/') if not os.path.exists(self.build_temp): os.makedirs(self.build_temp) - ret = run_command('%s -E -v - %s 1>/dev/null' % (cc, tmpfile)) -@@ -1004,7 +1004,7 @@ class PyBuildExt(build_ext): + ret = run_command('%s -E -v - %s 1>/dev/null' % (CC, tmpfile)) +@@ -1007,7 +1007,7 @@ class PyBuildExt(build_ext): readline_termcap_library = "" curses_library = "" # Cannot use os.popen here in py3k. @@ -53,7 +53,7 @@ index 207a61c..d7a60e0 100644 if not os.path.exists(self.build_temp): os.makedirs(self.build_temp) # Determine if readline is already linked against curses or tinfo. -@@ -2003,12 +2003,12 @@ class PyBuildExt(build_ext): +@@ -2005,12 +2005,12 @@ class PyBuildExt(build_ext): cflags = sysconfig.get_config_vars('CFLAGS')[0] archs = re.findall(r'-arch\s+(\w+)', cflags) @@ -69,5 +69,5 @@ index 207a61c..d7a60e0 100644 with open(tmpfile) as fp: detected_archs = [] -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0047-remove_path_max.default.patch b/mingw-w64-python/0047-remove_path_max.default.patch index 48a1952e09..38ddaeaf99 100644 --- a/mingw-w64-python/0047-remove_path_max.default.patch +++ b/mingw-w64-python/0047-remove_path_max.default.patch @@ -1,4 +1,4 @@ -From 01d2127df3190c472307aff3aaa71ab65e2450e4 Mon Sep 17 00:00:00 2001 +From 208a623ac4e8cb7b3aee59425146ffb365fd4db6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:59 +0530 @@ -25,5 +25,5 @@ index 3243944..99d4977 100644 #endif -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0048-dont-link-with-gettext.patch b/mingw-w64-python/0048-dont-link-with-gettext.patch index 03ce7b473f..74d37cd44e 100644 --- a/mingw-w64-python/0048-dont-link-with-gettext.patch +++ b/mingw-w64-python/0048-dont-link-with-gettext.patch @@ -1,4 +1,4 @@ -From 9b3cfc647bdeedc9caa6d89cdbcb4dfcdb3490f8 Mon Sep 17 00:00:00 2001 +From eee9aaf856e742f7cac350f3d6a2c0a50d84ee72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:00 +0530 @@ -32,10 +32,10 @@ index 2e353bb..ea222af 100644 #include #include diff --git a/configure.ac b/configure.ac -index a9640e9..0e1e9e4 100644 +index a7d664c..7589b6a 100644 --- a/configure.ac +++ b/configure.ac -@@ -3154,10 +3154,19 @@ AC_SEARCH_LIBS(sem_init, pthread rt posix4) +@@ -3166,10 +3166,19 @@ AC_SEARCH_LIBS(sem_init, pthread rt posix4) fi # check if we need libintl for locale functions @@ -56,5 +56,5 @@ index a9640e9..0e1e9e4 100644 # checks for system dependent C++ extensions support case "$ac_sys_system" in -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0049-ctypes-python-dll.patch b/mingw-w64-python/0049-ctypes-python-dll.patch index 1ca5bc162a..62bf061fce 100644 --- a/mingw-w64-python/0049-ctypes-python-dll.patch +++ b/mingw-w64-python/0049-ctypes-python-dll.patch @@ -1,4 +1,4 @@ -From 2a0f9b8311884449312bb934557f43a93a7ab426 Mon Sep 17 00:00:00 2001 +From b8b76d0c3fbc1c7e2bba5f96b74004b01ab80e28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:01 +0530 @@ -29,5 +29,5 @@ index 4afa4eb..2fe2eec 100644 elif _sys.platform == "cygwin": pythonapi = PyDLL("libpython%d.%d.dll" % _sys.version_info[:2]) -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0050-gdbm-module-includes.patch b/mingw-w64-python/0050-gdbm-module-includes.patch index dd168db53c..fb902479e6 100644 --- a/mingw-w64-python/0050-gdbm-module-includes.patch +++ b/mingw-w64-python/0050-gdbm-module-includes.patch @@ -1,4 +1,4 @@ -From 34ca4e0b61ce539fee85e283e71d147d4035ae72 Mon Sep 17 00:00:00 2001 +From 149095ab008febab268fb6c856993a83ccd08eb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:02 +0530 @@ -13,7 +13,7 @@ Co-authored-by: Алексей 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/_gdbmmodule.c b/Modules/_gdbmmodule.c -index dd4c6b1..d51015c 100644 +index 16b0f79..46b28b2 100644 --- a/Modules/_gdbmmodule.c +++ b/Modules/_gdbmmodule.c @@ -11,7 +11,7 @@ @@ -26,5 +26,5 @@ index dd4c6b1..d51015c 100644 extern const char * gdbm_strerror(gdbm_error); #endif -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0051-use-gnu_printf-in-format.patch b/mingw-w64-python/0051-use-gnu_printf-in-format.patch index 5b9554255c..a4ee1d044c 100644 --- a/mingw-w64-python/0051-use-gnu_printf-in-format.patch +++ b/mingw-w64-python/0051-use-gnu_printf-in-format.patch @@ -1,4 +1,4 @@ -From c25ea3b8769fa270074f16ead5f119260219d127 Mon Sep 17 00:00:00 2001 +From 0f1bebcc7b043d9273ac3870531a59fd8859326d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:03 +0530 @@ -81,5 +81,5 @@ index 670e5d2..d582963 100644 PyAPI_FUNC(void) PySys_FormatStderr(const char *format, ...); -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0052-mingw-fix-ssl-dont-use-enum_certificates.patch b/mingw-w64-python/0052-mingw-fix-ssl-dont-use-enum_certificates.patch index 795e7938b9..af4ebd41e0 100644 --- a/mingw-w64-python/0052-mingw-fix-ssl-dont-use-enum_certificates.patch +++ b/mingw-w64-python/0052-mingw-fix-ssl-dont-use-enum_certificates.patch @@ -1,4 +1,4 @@ -From f5d305af4ee0826f1dcafe85fc7493657e667cb0 Mon Sep 17 00:00:00 2001 +From b29e861982970d42e382108b4b16c8cf25d32285 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 17 Jun 2021 18:52:03 +0530 Subject: [PATCH 052/N] mingw fix ssl dont use enum_certificates @@ -35,5 +35,5 @@ index 30f4e59..dda3ae1 100644 self._load_windows_store_certs(storename, purpose) self.set_default_verify_paths() -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0053-fix-using-dllhandle-and-winver-mingw.patch b/mingw-w64-python/0053-fix-using-dllhandle-and-winver-mingw.patch index 1cfab1e3a4..a9a1d2cf54 100644 --- a/mingw-w64-python/0053-fix-using-dllhandle-and-winver-mingw.patch +++ b/mingw-w64-python/0053-fix-using-dllhandle-and-winver-mingw.patch @@ -1,4 +1,4 @@ -From 70aae126fda0fca2f004edd82894c13f0b279b00 Mon Sep 17 00:00:00 2001 +From cb37925d62b9d617d83cc6cba9480964c10103b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:06 +0530 @@ -13,7 +13,7 @@ Co-authored-by: Алексей 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Python/sysmodule.c b/Python/sysmodule.c -index 3e4115f..839ed1c 100644 +index a52b299..e890979 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -36,7 +36,7 @@ Data members: @@ -25,7 +25,7 @@ index 3e4115f..839ed1c 100644 extern void *PyWin_DLLhModule; /* A string loaded from the DLL at startup: */ extern const char *PyWin_DLLVersionString; -@@ -2731,7 +2731,7 @@ _PySys_InitCore(PyThreadState *tstate, PyObject *sysdict) +@@ -2729,7 +2729,7 @@ _PySys_InitCore(PyThreadState *tstate, PyObject *sysdict) PyUnicode_FromString("little")); #endif @@ -35,5 +35,5 @@ index 3e4115f..839ed1c 100644 PyLong_FromVoidPtr(PyWin_DLLhModule)); SET_SYS_FROM_STRING("winver", -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0054-Add-AMD64-to-sys-config-so-msvccompiler-get_build_ve.patch b/mingw-w64-python/0054-Add-AMD64-to-sys-config-so-msvccompiler-get_build_ve.patch index c054d6bc23..42179e9368 100644 --- a/mingw-w64-python/0054-Add-AMD64-to-sys-config-so-msvccompiler-get_build_ve.patch +++ b/mingw-w64-python/0054-Add-AMD64-to-sys-config-so-msvccompiler-get_build_ve.patch @@ -1,4 +1,4 @@ -From 887b0e7895143809d0c8170caa3a4dd2306efefd Mon Sep 17 00:00:00 2001 +From 3dbbdd2957d1209d531468bdeb6846ea769d5a14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:07 +0530 @@ -38,5 +38,5 @@ index 59c0dbf..adccaa7 100644 #elif defined(__cplusplus) #define COMPILER "[C++]" -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0055-MINGW-link-with-additional-library.patch b/mingw-w64-python/0055-MINGW-link-with-additional-library.patch index 8663d539d6..af5f858096 100644 --- a/mingw-w64-python/0055-MINGW-link-with-additional-library.patch +++ b/mingw-w64-python/0055-MINGW-link-with-additional-library.patch @@ -1,4 +1,4 @@ -From 1d8904ee69999ae9e58bec2b177472e67493628a Mon Sep 17 00:00:00 2001 +From 19a6447da32b6e49268e27485804087170ab21fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:08 +0530 @@ -9,10 +9,10 @@ Subject: [PATCH 055/N] MINGW link with additional library 1 file changed, 9 insertions(+) diff --git a/configure.ac b/configure.ac -index 0e1e9e4..4316338 100644 +index 7589b6a..d97844f 100644 --- a/configure.ac +++ b/configure.ac -@@ -5861,6 +5861,15 @@ for dir in $SRCDIRS; do +@@ -5873,6 +5873,15 @@ for dir in $SRCDIRS; do done AC_MSG_RESULT(done) @@ -29,5 +29,5 @@ index 0e1e9e4..4316338 100644 AC_MSG_CHECKING(for -O2) saved_cflags="$CFLAGS" -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0056-install-msilib.patch b/mingw-w64-python/0056-install-msilib.patch index 28e1bc731e..711ce0a4a7 100644 --- a/mingw-w64-python/0056-install-msilib.patch +++ b/mingw-w64-python/0056-install-msilib.patch @@ -1,4 +1,4 @@ -From 63cdce7b086866930e5d34b1ade187dc0f92309d Mon Sep 17 00:00:00 2001 +From eeee8f68e2eb0c50e61df4a7a3d9738a65faccc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Thu, 17 Jun 2021 18:52:09 +0530 Subject: [PATCH 056/N] install msilib @@ -14,10 +14,10 @@ Co-authored-by: Ray Donnelly 1 file changed, 1 insertion(+) diff --git a/Makefile.pre.in b/Makefile.pre.in -index 7b3fdf6..87e95ec 100644 +index 1895e74..1d2e16e 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1497,6 +1497,7 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ +@@ -1496,6 +1496,7 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ test/test_peg_generator \ test/test_tools test/test_warnings test/test_warnings/data \ turtledemo \ @@ -26,5 +26,5 @@ index 7b3fdf6..87e95ec 100644 unittest unittest/test unittest/test/testmock \ venv venv/scripts venv/scripts/common venv/scripts/posix \ -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0057-fix-signal-module-build.patch b/mingw-w64-python/0057-fix-signal-module-build.patch index 84791f772a..d872caa3b0 100644 --- a/mingw-w64-python/0057-fix-signal-module-build.patch +++ b/mingw-w64-python/0057-fix-signal-module-build.patch @@ -1,4 +1,4 @@ -From 9aea35d5abfebe9c7db885e7675f29d82a253b3b Mon Sep 17 00:00:00 2001 +From cbea8b321ec418a401189e0b92f54e63e6570be7 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:10 +0530 Subject: [PATCH 057/N] fix signal module build @@ -25,5 +25,5 @@ index 2bafdd0..7ce4355 100644 time -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal timemodule.c # -lm # time operations and variables _thread -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal _threadmodule.c # low-level threading interface -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0058-build-build-winconsoleio-and-_testconsole.patch b/mingw-w64-python/0058-build-build-winconsoleio-and-_testconsole.patch index 2f66440ae3..879a632d72 100644 --- a/mingw-w64-python/0058-build-build-winconsoleio-and-_testconsole.patch +++ b/mingw-w64-python/0058-build-build-winconsoleio-and-_testconsole.patch @@ -1,4 +1,4 @@ -From 3ebd25cabfc22fab766e53b0e7b8f60d04073f2f Mon Sep 17 00:00:00 2001 +From e1f2b80e5f06d3486f68af91df064b743ddd41e5 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:11 +0530 Subject: [PATCH 058/N] build: build winconsoleio and _testconsole @@ -26,10 +26,10 @@ index 7ce4355..6bb5e51 100644 # faulthandler module faulthandler faulthandler.c diff --git a/setup.py b/setup.py -index d7a60e0..ede0e72 100644 +index d4778b0..6f4730d 100644 --- a/setup.py +++ b/setup.py -@@ -998,6 +998,9 @@ class PyBuildExt(build_ext): +@@ -1001,6 +1001,9 @@ class PyBuildExt(build_ext): ['_xxtestfuzz/_xxtestfuzz.c', '_xxtestfuzz/fuzzer.c'])) @@ -40,5 +40,5 @@ index d7a60e0..ede0e72 100644 # readline do_readline = self.compiler.find_library_file(self.lib_dirs, 'readline') -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0059-expose-sem_unlink.patch b/mingw-w64-python/0059-expose-sem_unlink.patch index d8d0bfc603..c452b2bae4 100644 --- a/mingw-w64-python/0059-expose-sem_unlink.patch +++ b/mingw-w64-python/0059-expose-sem_unlink.patch @@ -1,4 +1,4 @@ -From 9aca6a28934f67df24b2b640c1d8c40623f40afd Mon Sep 17 00:00:00 2001 +From 99ec2bf99c71fc9b81d241ead84c7044624053f2 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:12 +0530 Subject: [PATCH 059/N] expose sem_unlink @@ -25,5 +25,5 @@ index 806e638..d7954d1 100644 #endif {NULL} -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0060-cygpty-isatty.patch b/mingw-w64-python/0060-cygpty-isatty.patch index d96ddcd670..db0a4a3f05 100644 --- a/mingw-w64-python/0060-cygpty-isatty.patch +++ b/mingw-w64-python/0060-cygpty-isatty.patch @@ -1,4 +1,4 @@ -From 0255306a4066705227cd3d903290d9550593e295 Mon Sep 17 00:00:00 2001 +From 8a9eeefbd816e25d1e130602e0a5f824d6915b12 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:14 +0530 Subject: [PATCH 060/N] cygpty isatty @@ -71,10 +71,10 @@ index 0000000..82fd0af + +#endif /* _ISCYGPTY_H */ diff --git a/Makefile.pre.in b/Makefile.pre.in -index 87e95ec..e351cae 100644 +index 1d2e16e..6d49228 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -372,6 +372,7 @@ PYTHON_OBJS= \ +@@ -371,6 +371,7 @@ PYTHON_OBJS= \ Python/import.o \ Python/importdl.o \ Python/initconfig.o \ @@ -82,7 +82,7 @@ index 87e95ec..e351cae 100644 Python/marshal.o \ Python/modsupport.o \ Python/mysnprintf.o \ -@@ -1070,6 +1071,7 @@ PYTHON_HEADERS= \ +@@ -1069,6 +1070,7 @@ PYTHON_HEADERS= \ $(srcdir)/Include/import.h \ $(srcdir)/Include/interpreteridobject.h \ $(srcdir)/Include/intrcheck.h \ @@ -133,7 +133,7 @@ index 2cc891f..17469e3 100644 diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c -index 40fc270..bb1b81d 100644 +index add8ed5..27d198e 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -36,6 +36,7 @@ @@ -144,15 +144,15 @@ index 40fc270..bb1b81d 100644 #include /* needed for ctermid() */ -@@ -10082,7 +10083,7 @@ os_isatty_impl(PyObject *module, int fd) - { +@@ -10091,7 +10092,7 @@ os_isatty_impl(PyObject *module, int fd) int return_value; + Py_BEGIN_ALLOW_THREADS _Py_BEGIN_SUPPRESS_IPH - return_value = isatty(fd); + return_value = isatty(fd) || is_cygpty(fd); _Py_END_SUPPRESS_IPH + Py_END_ALLOW_THREADS return return_value; - } diff --git a/Objects/fileobject.c b/Objects/fileobject.c index 1c6ecaf..afddc4f 100644 --- a/Objects/fileobject.c @@ -205,7 +205,7 @@ index 21c70f9..58d7512 100644 } diff --git a/Python/fileutils.c b/Python/fileutils.c -index 4b299b2..573a5c2 100644 +index 75ee355..e9d15d1 100644 --- a/Python/fileutils.c +++ b/Python/fileutils.c @@ -1,4 +1,5 @@ @@ -214,15 +214,15 @@ index 4b299b2..573a5c2 100644 #include "pycore_fileutils.h" #include "osdefs.h" // SEP #include -@@ -70,7 +71,7 @@ _Py_device_encoding(int fd) - #endif +@@ -71,7 +72,7 @@ _Py_device_encoding(int fd) int valid; + Py_BEGIN_ALLOW_THREADS _Py_BEGIN_SUPPRESS_IPH - valid = isatty(fd); + valid = isatty(fd) || is_cygpty(fd); _Py_END_SUPPRESS_IPH + Py_END_ALLOW_THREADS if (!valid) - Py_RETURN_NONE; diff --git a/Python/frozenmain.c b/Python/frozenmain.c index dd04d60..6607762 100644 --- a/Python/frozenmain.c @@ -457,5 +457,5 @@ index 60f091c..734084c 100644 if (!Py_InteractiveFlag) return 0; -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0061-disable-broken-gdbm-module.patch b/mingw-w64-python/0061-disable-broken-gdbm-module.patch index 69865a695e..f179acdcac 100644 --- a/mingw-w64-python/0061-disable-broken-gdbm-module.patch +++ b/mingw-w64-python/0061-disable-broken-gdbm-module.patch @@ -1,4 +1,4 @@ -From 391cfafdf3cd9cc56516cd6d3d8d37bf68ef870c Mon Sep 17 00:00:00 2001 +From 20e6ae1657b35dd58fec49ebd93c8388b6f2756d Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:15 +0530 Subject: [PATCH 061/N] disable broken gdbm module @@ -12,10 +12,10 @@ Co-authored-by: Алексей 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py -index ede0e72..74b844c 100644 +index 6f4730d..4d8dc48 100644 --- a/setup.py +++ b/setup.py -@@ -1405,7 +1405,7 @@ class PyBuildExt(build_ext): +@@ -1408,7 +1408,7 @@ class PyBuildExt(build_ext): if dbm_args: dbm_order = [arg.split('=')[-1] for arg in dbm_args][-1].split(":") else: @@ -25,5 +25,5 @@ index ede0e72..74b844c 100644 for cand in dbm_order: if cand == "ndbm": -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0062-build-link-win-resource-files-and-build-pythonw.patch b/mingw-w64-python/0062-build-link-win-resource-files-and-build-pythonw.patch index f24555e70d..e1cb567ad5 100644 --- a/mingw-w64-python/0062-build-link-win-resource-files-and-build-pythonw.patch +++ b/mingw-w64-python/0062-build-link-win-resource-files-and-build-pythonw.patch @@ -1,4 +1,4 @@ -From 17ac3e7063af45b116396303f85be4eb95f0e9d9 Mon Sep 17 00:00:00 2001 +From b7299adb0b8100942f45e9eb9a0e5ef951ef998d Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:16 +0530 Subject: [PATCH 062/N] build: link win resource files and build pythonw @@ -13,7 +13,7 @@ Co-authored-by: Алексей 2 files changed, 47 insertions(+), 5 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in -index e351cae..afeee0e 100644 +index 6d49228..fd3d142 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -38,6 +38,7 @@ CXX= @CXX@ @@ -24,7 +24,7 @@ index e351cae..afeee0e 100644 READELF= @READELF@ SOABI= @SOABI@ LDVERSION= @LDVERSION@ -@@ -119,6 +120,7 @@ PY_CORE_CFLAGS= $(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE +@@ -118,6 +119,7 @@ PY_CORE_CFLAGS= $(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE PY_CORE_LDFLAGS=$(PY_LDFLAGS) $(PY_LDFLAGS_NODIST) # Strict or non-strict aliasing flags used to compile dtoa.c, see above CFLAGS_ALIASING=@CFLAGS_ALIASING@ @@ -32,7 +32,7 @@ index e351cae..afeee0e 100644 # Machine-dependent subdirectories -@@ -260,6 +262,7 @@ LIBOBJS= @LIBOBJS@ +@@ -259,6 +261,7 @@ LIBOBJS= @LIBOBJS@ PYTHON= python$(EXE) BUILDPYTHON= python$(BUILDEXE) @@ -40,7 +40,7 @@ index e351cae..afeee0e 100644 PYTHON_FOR_REGEN?=@PYTHON_FOR_REGEN@ UPDATE_FILE=@PYTHON_FOR_REGEN@ $(srcdir)/Tools/scripts/update_file.py -@@ -482,7 +485,7 @@ DTRACE_DEPS = \ +@@ -481,7 +484,7 @@ DTRACE_DEPS = \ # Default target all: @DEF_MAKE_ALL_RULE@ @@ -49,7 +49,7 @@ index e351cae..afeee0e 100644 Programs/_testembed python-config # Check that the source is clean when building out of source. -@@ -596,9 +599,21 @@ coverage-report: regen-grammar regen-token regen-importlib +@@ -595,9 +598,21 @@ coverage-report: regen-grammar regen-token regen-importlib clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c $(PYTHON_FOR_REGEN) $(srcdir)/Tools/clinic/clinic.py --make --srcdir $(srcdir) @@ -73,7 +73,7 @@ index e351cae..afeee0e 100644 platform: $(BUILDPYTHON) pybuilddir.txt $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' >platform -@@ -708,10 +723,10 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \ +@@ -707,10 +722,10 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \ # This rule builds the Cygwin Python DLL and import library if configured # for a shared core library; otherwise, this rule is a noop. @@ -86,7 +86,7 @@ index e351cae..afeee0e 100644 else true; \ fi -@@ -1325,6 +1340,7 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@ +@@ -1324,6 +1339,7 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@ done if test "$(PYTHONFRAMEWORKDIR)" = "no-framework" ; then \ $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \ @@ -95,10 +95,10 @@ index e351cae..afeee0e 100644 $(INSTALL_PROGRAM) $(STRIPFLAG) Mac/pythonw $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \ fi diff --git a/configure.ac b/configure.ac -index 4316338..be8ede9 100644 +index d97844f..9eed603 100644 --- a/configure.ac +++ b/configure.ac -@@ -1343,6 +1343,9 @@ fi +@@ -1350,6 +1350,9 @@ fi AC_MSG_RESULT($LDLIBRARY) @@ -108,7 +108,7 @@ index 4316338..be8ede9 100644 AC_SUBST(AR) AC_CHECK_TOOLS(AR, ar aal, ar) -@@ -5865,10 +5868,33 @@ AC_MSG_RESULT(done) +@@ -5877,10 +5880,33 @@ AC_MSG_RESULT(done) case $host in *-*-mingw*) LIBS="$LIBS -lversion -lshlwapi -lpathcch" @@ -143,5 +143,5 @@ index 4316338..be8ede9 100644 # Availability of -O2: AC_MSG_CHECKING(for -O2) -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0063-3.7-mpdec-mingw.patch b/mingw-w64-python/0063-3.7-mpdec-mingw.patch index d9dd567c68..41c275ab1b 100644 --- a/mingw-w64-python/0063-3.7-mpdec-mingw.patch +++ b/mingw-w64-python/0063-3.7-mpdec-mingw.patch @@ -1,4 +1,4 @@ -From a15d5dafd3604b7f6ddb3fa99dd26ec0757024a9 Mon Sep 17 00:00:00 2001 +From 497e7da62c91dae5885c2c008bbf4c0cf2674484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:17 +0530 @@ -9,10 +9,10 @@ Subject: [PATCH 063/N] 3.7 mpdec mingw 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py -index 74b844c..a4222fc 100644 +index 4d8dc48..d376299 100644 --- a/setup.py +++ b/setup.py -@@ -2291,7 +2291,7 @@ class PyBuildExt(build_ext): +@@ -2293,7 +2293,7 @@ class PyBuildExt(build_ext): undef_macros = [] if '--with-system-libmpdec' in sysconfig.get_config_var("CONFIG_ARGS"): include_dirs = [] @@ -22,5 +22,5 @@ index 74b844c..a4222fc 100644 depends = ['_decimal/docstrings.h'] else: -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0064-disable-readline.patch b/mingw-w64-python/0064-disable-readline.patch index d753323450..ea021eb7b5 100644 --- a/mingw-w64-python/0064-disable-readline.patch +++ b/mingw-w64-python/0064-disable-readline.patch @@ -1,4 +1,4 @@ -From 7dc48f709c1ac3fd9d05b0f50ce4056bd3bf5268 Mon Sep 17 00:00:00 2001 +From a082473053ab623768a491fbdfe5e8844dbef47c Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:17 +0530 Subject: [PATCH 064/N] disable readline @@ -12,10 +12,10 @@ Co-authored-by: Алексей 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py -index a4222fc..a4d206e 100644 +index d376299..1e4f9e5 100644 --- a/setup.py +++ b/setup.py -@@ -1003,7 +1003,10 @@ class PyBuildExt(build_ext): +@@ -1006,7 +1006,10 @@ class PyBuildExt(build_ext): def detect_readline_curses(self): # readline @@ -28,5 +28,5 @@ index a4222fc..a4d206e 100644 curses_library = "" # Cannot use os.popen here in py3k. -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0065-fix-isselectable.patch b/mingw-w64-python/0065-fix-isselectable.patch index 507030059d..6f216b4115 100644 --- a/mingw-w64-python/0065-fix-isselectable.patch +++ b/mingw-w64-python/0065-fix-isselectable.patch @@ -1,4 +1,4 @@ -From 27e5727fb44af8826b8725b2bc6de09e79e1b78f Mon Sep 17 00:00:00 2001 +From d16c515f1b7daf1ec4907bb6553a21d8aa79208f Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:18 +0530 Subject: [PATCH 065/N] fix isselectable @@ -25,5 +25,5 @@ index 6ec2994..a80f195 100644 #define _PyIsSelectable_fd(FD) (1) #else -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0066-use-_wcsnicmp-instead-wcsncasecmp.patch b/mingw-w64-python/0066-use-_wcsnicmp-instead-wcsncasecmp.patch index 11ed43b3bd..e98f5858db 100644 --- a/mingw-w64-python/0066-use-_wcsnicmp-instead-wcsncasecmp.patch +++ b/mingw-w64-python/0066-use-_wcsnicmp-instead-wcsncasecmp.patch @@ -1,4 +1,4 @@ -From c217628934d0d7a1b440eae998a7813702e320c2 Mon Sep 17 00:00:00 2001 +From 4ae7b41506418a80dc2207db09dcde0dee95dd25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:19 +0530 @@ -9,7 +9,7 @@ Subject: [PATCH 066/N] use _wcsnicmp instead wcsncasecmp 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/getpath.c b/Modules/getpath.c -index c52e0df..2018495 100644 +index c782e0f..83422d3 100644 --- a/Modules/getpath.c +++ b/Modules/getpath.c @@ -427,7 +427,7 @@ add_exe_suffix(wchar_t **progpath_p) @@ -22,5 +22,5 @@ index c52e0df..2018495 100644 } -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0067-_xxsubinterpretersmodule.patch b/mingw-w64-python/0067-_xxsubinterpretersmodule.patch index 229a3c24b8..e6565a1d8f 100644 --- a/mingw-w64-python/0067-_xxsubinterpretersmodule.patch +++ b/mingw-w64-python/0067-_xxsubinterpretersmodule.patch @@ -1,4 +1,4 @@ -From c392c6966b0f46197e48dfd89b9361358be823ab Mon Sep 17 00:00:00 2001 +From 6fc673a188ce4b552cf5bdd76271e159fe268667 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:20 +0530 @@ -22,5 +22,5 @@ index 314059d..f26e662 100644 sizeof(channelid), /* tp_basicsize */ 0, /* tp_itemsize */ -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0068-sqlite3-module-defines.patch b/mingw-w64-python/0068-sqlite3-module-defines.patch index 47625f12af..34774e1456 100644 --- a/mingw-w64-python/0068-sqlite3-module-defines.patch +++ b/mingw-w64-python/0068-sqlite3-module-defines.patch @@ -1,4 +1,4 @@ -From fdb194111cc3b59ae7193577e9c63d1367a6a6f2 Mon Sep 17 00:00:00 2001 +From 085855f074cd37e9936c57e9d9c8938b3821d325 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:21 +0530 Subject: [PATCH 068/N] sqlite3 module defines @@ -8,10 +8,10 @@ Subject: [PATCH 068/N] sqlite3 module defines 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/setup.py b/setup.py -index a4d206e..8458232 100644 +index 1e4f9e5..4433082 100644 --- a/setup.py +++ b/setup.py -@@ -1560,10 +1560,7 @@ class PyBuildExt(build_ext): +@@ -1563,10 +1563,7 @@ class PyBuildExt(build_ext): '_sqlite/util.c', ] sqlite_defines = [] @@ -24,5 +24,5 @@ index a4d206e..8458232 100644 # Enable support for loadable extensions in the sqlite3 module # if --enable-loadable-sqlite-extensions configure option is used. -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0069-configure.ac-fix-inet_pton-check.patch b/mingw-w64-python/0069-configure.ac-fix-inet_pton-check.patch index b7a949598c..d879d15ad4 100644 --- a/mingw-w64-python/0069-configure.ac-fix-inet_pton-check.patch +++ b/mingw-w64-python/0069-configure.ac-fix-inet_pton-check.patch @@ -1,4 +1,4 @@ -From e76cda7b6d05184ac17991dc46a568c42763a94a Mon Sep 17 00:00:00 2001 +From 633a10ccfe845317a554b81eacad8bc047db6006 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:23 +0530 Subject: [PATCH 069/N] configure.ac: fix inet_pton check @@ -12,10 +12,10 @@ Co-authored-by: Алексей 1 file changed, 4 insertions(+) diff --git a/configure.ac b/configure.ac -index be8ede9..032d658 100644 +index 9eed603..d4bd1d1 100644 --- a/configure.ac +++ b/configure.ac -@@ -4274,10 +4274,14 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +@@ -4286,10 +4286,14 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ AC_MSG_CHECKING(for inet_pton) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ @@ -31,5 +31,5 @@ index be8ede9..032d658 100644 [AC_DEFINE(HAVE_INET_PTON, 1, Define if you have the 'inet_pton' function.) AC_MSG_RESULT(yes)], -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0070-set-venv-activate-path-unix.patch b/mingw-w64-python/0070-set-venv-activate-path-unix.patch index 8afc5e2d2a..9b10d01599 100644 --- a/mingw-w64-python/0070-set-venv-activate-path-unix.patch +++ b/mingw-w64-python/0070-set-venv-activate-path-unix.patch @@ -1,4 +1,4 @@ -From 737d758a51b3e1778df4594ffbc671785c5a6425 Mon Sep 17 00:00:00 2001 +From a2adb3b1813a50dd0fe01a41dc285d2161bb795c Mon Sep 17 00:00:00 2001 From: Dan Yeaw Date: Thu, 17 Jun 2021 18:52:25 +0530 Subject: [PATCH 070/N] set venv activate path unix @@ -25,5 +25,5 @@ index 45af353..877b5d3 100644 _OLD_VIRTUAL_PATH="$PATH" -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0071-venv-creation-fixes.patch b/mingw-w64-python/0071-venv-creation-fixes.patch index 2e152f1226..3ac1e5811c 100644 --- a/mingw-w64-python/0071-venv-creation-fixes.patch +++ b/mingw-w64-python/0071-venv-creation-fixes.patch @@ -1,14 +1,14 @@ -From c82449ed5fed227754cfe841e67b7591b8683ed7 Mon Sep 17 00:00:00 2001 +From 69f75280a041d3c896f5349dfb6ce9a4a5436610 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:26 +0530 Subject: [PATCH 071/N] venv creation fixes --- - Lib/venv/__init__.py | 19 ++++++++++++++----- - 1 file changed, 14 insertions(+), 5 deletions(-) + Lib/venv/__init__.py | 17 +++++++++++++---- + 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/Lib/venv/__init__.py b/Lib/venv/__init__.py -index 8009deb..b471006 100644 +index 6f1af29..83ba0bc 100644 --- a/Lib/venv/__init__.py +++ b/Lib/venv/__init__.py @@ -11,6 +11,7 @@ import subprocess @@ -28,7 +28,7 @@ index 8009deb..b471006 100644 binname = 'Scripts' incpath = 'Include' libpath = os.path.join(env_dir, 'Lib', 'site-packages') -@@ -252,7 +253,7 @@ class EnvBuilder: +@@ -266,7 +267,7 @@ class EnvBuilder: if not os.path.islink(path): os.chmod(path, 0o755) else: @@ -37,7 +37,7 @@ index 8009deb..b471006 100644 # For symlinking, we need a complete copy of the root directory # If symlinks fail, you'll get unnecessary copies of files, but # we assume that if you've opted into symlinks on Windows then -@@ -275,7 +276,13 @@ class EnvBuilder: +@@ -290,7 +291,13 @@ class EnvBuilder: if os.path.lexists(src): copier(src, os.path.join(binpath, suffix)) @@ -52,20 +52,19 @@ index 8009deb..b471006 100644 # copy init.tcl for root, dirs, files in os.walk(context.python_dir): if 'init.tcl' in files: -@@ -293,9 +300,11 @@ class EnvBuilder: +@@ -308,9 +315,11 @@ class EnvBuilder: # We run ensurepip in isolated mode to avoid side effects from # environment vars, the current directory and anything else # intended for the global Python environment + env = os.environ.copy() + env.pop("MSYSTEM", None) - cmd = [context.env_exe, '-Im', 'ensurepip', '--upgrade', -- '--default-pip'] + cmd = [context.env_exec_cmd, '-Im', 'ensurepip', '--upgrade', + '--default-pip'] - subprocess.check_output(cmd, stderr=subprocess.STDOUT) -+ '--default-pip'] + subprocess.check_call(cmd, stderr=subprocess.STDOUT, env=env) def setup_scripts(self, context): """ -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0072-pass-gen-profile-ldflags.patch b/mingw-w64-python/0072-pass-gen-profile-ldflags.patch index ef6d1f2d22..53f792893b 100644 --- a/mingw-w64-python/0072-pass-gen-profile-ldflags.patch +++ b/mingw-w64-python/0072-pass-gen-profile-ldflags.patch @@ -1,4 +1,4 @@ -From 6e6cac92a946334a81bb08adbc54902d428b2dc5 Mon Sep 17 00:00:00 2001 +From 88ca22ab8f9389cef4f59ba22263521e9e812e4c Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:27 +0530 Subject: [PATCH 072/N] pass gen profile ldflags @@ -12,10 +12,10 @@ Co-authored-by: Алексей 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.pre.in b/Makefile.pre.in -index afeee0e..2018514 100644 +index fd3d142..8df163c 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -726,7 +726,7 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \ +@@ -725,7 +725,7 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \ $(DLLLIBRARY) libpython$(LDVERSION).dll.a: $(LIBRARY_OBJS) python_nt.o if test -n "$(DLLLIBRARY)"; then \ $(LDSHARED) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \ @@ -25,5 +25,5 @@ index afeee0e..2018514 100644 fi -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0073-pkg-config-windows-must-link-ext-with-python-lib.patch b/mingw-w64-python/0073-pkg-config-windows-must-link-ext-with-python-lib.patch index 436e19c581..8297a300fe 100644 --- a/mingw-w64-python/0073-pkg-config-windows-must-link-ext-with-python-lib.patch +++ b/mingw-w64-python/0073-pkg-config-windows-must-link-ext-with-python-lib.patch @@ -1,4 +1,4 @@ -From 95164a8cedfca44250dd81d98d92cfc8d4c7f0b1 Mon Sep 17 00:00:00 2001 +From 2347d7d4f966ff4eb69c1467934298618139c860 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:29 +0530 @@ -21,10 +21,10 @@ index 87e04de..3900190 100644 +Libs: -L${libdir} -lpython@VERSION@@ABIFLAGS@ Cflags: -I${includedir}/python@VERSION@@ABIFLAGS@ diff --git a/configure.ac b/configure.ac -index 032d658..588ffd4 100644 +index d4bd1d1..da43ea0 100644 --- a/configure.ac +++ b/configure.ac -@@ -5150,7 +5150,7 @@ AC_MSG_RESULT($LDVERSION) +@@ -5162,7 +5162,7 @@ AC_MSG_RESULT($LDVERSION) # On Android and Cygwin the shared libraries must be linked with libpython. AC_SUBST(LIBPYTHON) @@ -34,5 +34,5 @@ index 032d658..588ffd4 100644 else LIBPYTHON='' -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0074-importlib-bootstrap-path-sep.patch b/mingw-w64-python/0074-importlib-bootstrap-path-sep.patch index a2d8aba676..ad02d6b0b1 100644 --- a/mingw-w64-python/0074-importlib-bootstrap-path-sep.patch +++ b/mingw-w64-python/0074-importlib-bootstrap-path-sep.patch @@ -1,4 +1,4 @@ -From 3fa40ebd03d9cd5b0ab7341344f5d3c31647680f Mon Sep 17 00:00:00 2001 +From 00845689609c8a686c27a546f42d9885cee1430f Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:30 +0530 Subject: [PATCH 074/N] importlib bootstrap path sep @@ -27,5 +27,5 @@ index fe31f43..229d9aa 100644 setattr(self_module, 'path_sep', path_sep) setattr(self_module, 'path_separators', ''.join(path_separators)) -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0075-pathlib-path-sep.patch b/mingw-w64-python/0075-pathlib-path-sep.patch index a3c4e2764b..d40338ed5b 100644 --- a/mingw-w64-python/0075-pathlib-path-sep.patch +++ b/mingw-w64-python/0075-pathlib-path-sep.patch @@ -1,4 +1,4 @@ -From 81189e3707d4f72b57e86e40f065f811d80a97ac Mon Sep 17 00:00:00 2001 +From 9b2ffb2eae17a32f862bebb289faebbc38704ffb Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:31 +0530 Subject: [PATCH 075/N] pathlib path sep @@ -21,5 +21,5 @@ index 7aeda14..a66e754 100644 pathmod = ntpath -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0076-warnings-fixes.patch b/mingw-w64-python/0076-warnings-fixes.patch index 195bef94bb..bea6879298 100644 --- a/mingw-w64-python/0076-warnings-fixes.patch +++ b/mingw-w64-python/0076-warnings-fixes.patch @@ -1,4 +1,4 @@ -From 92b8d29b62c51db1359f987b022cae560dc5c3c3 Mon Sep 17 00:00:00 2001 +From 9559d653daabba18d30dd3ef4ed2b1f4b7beeee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:33 +0530 @@ -28,7 +28,7 @@ index 1058184..36af7bc 100644 SIZE_T attribute_list_size = 0; diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c -index bb1b81d..bf19ac8 100644 +index 27d198e..590b459 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -5343,7 +5343,7 @@ os_utime_impl(PyObject *module, path_t *path, PyObject *times, PyObject *ns, @@ -40,7 +40,7 @@ index bb1b81d..bf19ac8 100644 FILETIME atime, mtime; #else int result; -@@ -14360,7 +14360,7 @@ os__add_dll_directory_impl(PyObject *module, path_t *path) +@@ -14370,7 +14370,7 @@ os__add_dll_directory_impl(PyObject *module, path_t *path) loaded. */ Py_BEGIN_ALLOW_THREADS if (!(hKernel32 = GetModuleHandleW(L"kernel32")) || @@ -49,7 +49,7 @@ index bb1b81d..bf19ac8 100644 hKernel32, "AddDllDirectory")) || !(cookie = (*AddDllDirectory)(path->wide))) { err = GetLastError(); -@@ -14410,7 +14410,7 @@ os__remove_dll_directory_impl(PyObject *module, PyObject *cookie) +@@ -14420,7 +14420,7 @@ os__remove_dll_directory_impl(PyObject *module, PyObject *cookie) loaded. */ Py_BEGIN_ALLOW_THREADS if (!(hKernel32 = GetModuleHandleW(L"kernel32")) || @@ -74,11 +74,11 @@ index ba2c9f5..81bad15 100644 # define HAVE_GETNAMEINFO # define ENABLE_IPV6 diff --git a/PC/python_exe.rc b/PC/python_exe.rc -index ae0b029..e667ffa 100644 +index c3d3bff..dde0e53 100644 --- a/PC/python_exe.rc +++ b/PC/python_exe.rc -@@ -7,7 +7,7 @@ - #include +@@ -12,7 +12,7 @@ + // current versions of Windows. 1 RT_MANIFEST "python.manifest" -1 ICON DISCARDABLE "icons\python.ico" @@ -87,11 +87,11 @@ index ae0b029..e667ffa 100644 ///////////////////////////////////////////////////////////////////////////// diff --git a/PC/pythonw_exe.rc b/PC/pythonw_exe.rc -index 88bf359..413d7d1 100644 +index 38570b7..7ce1043 100644 --- a/PC/pythonw_exe.rc +++ b/PC/pythonw_exe.rc -@@ -7,7 +7,7 @@ - #include +@@ -12,7 +12,7 @@ + // current versions of Windows. 1 RT_MANIFEST "python.manifest" -1 ICON DISCARDABLE "icons\pythonw.ico" @@ -127,5 +127,5 @@ index 0ce5e94..6a6fe7e 100644 /* minimum/maximum thread stack sizes supported */ -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0077-fix-build-testinternalcapi.patch b/mingw-w64-python/0077-fix-build-testinternalcapi.patch index d25b42276f..f88e61877c 100644 --- a/mingw-w64-python/0077-fix-build-testinternalcapi.patch +++ b/mingw-w64-python/0077-fix-build-testinternalcapi.patch @@ -1,4 +1,4 @@ -From 08145aec08b12bed92d9010aedcf60cfcc23370b Mon Sep 17 00:00:00 2001 +From 97783515a6ca364e4d9830a2d26a5fc53e565c0d Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:34 +0530 Subject: [PATCH 077/N] fix build testinternalcapi @@ -8,10 +8,10 @@ Subject: [PATCH 077/N] fix build testinternalcapi 1 file changed, 4 insertions(+) diff --git a/setup.py b/setup.py -index 8458232..a4e6dc1 100644 +index 4433082..e52eacd 100644 --- a/setup.py +++ b/setup.py -@@ -981,7 +981,11 @@ class PyBuildExt(build_ext): +@@ -984,7 +984,11 @@ class PyBuildExt(build_ext): depends=['testcapi_long.h'])) # Python Internal C API test module @@ -24,5 +24,5 @@ index 8458232..a4e6dc1 100644 # Python PEP-3118 (buffer protocol) test module -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0078-extend-MS_WINDOWS-flag.patch b/mingw-w64-python/0078-extend-MS_WINDOWS-flag.patch index 02a50c78e2..cab5dfaf03 100644 --- a/mingw-w64-python/0078-extend-MS_WINDOWS-flag.patch +++ b/mingw-w64-python/0078-extend-MS_WINDOWS-flag.patch @@ -1,4 +1,4 @@ -From b3cac7696a876238e11f9ea45b32d8b3ef755dc3 Mon Sep 17 00:00:00 2001 +From 708910315fbd4219dd87ff95f11b695fc9c51880 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Thu, 17 Jun 2021 18:52:34 +0530 Subject: [PATCH 078/N] extend MS_WINDOWS flag @@ -8,7 +8,7 @@ Subject: [PATCH 078/N] extend MS_WINDOWS flag 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py -index a4e6dc1..d161108 100644 +index e52eacd..71e6ea5 100644 --- a/setup.py +++ b/setup.py @@ -71,7 +71,7 @@ if sys.platform == "win32" and "MSYSTEM" in os.environ: @@ -21,5 +21,5 @@ index a4e6dc1..d161108 100644 MACOS = (HOST_PLATFORM == 'darwin') AIX = (HOST_PLATFORM.startswith('aix')) -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0079-clang-arm64.patch b/mingw-w64-python/0079-clang-arm64.patch index e9c7845b9a..0578ec32ee 100644 --- a/mingw-w64-python/0079-clang-arm64.patch +++ b/mingw-w64-python/0079-clang-arm64.patch @@ -1,4 +1,4 @@ -From 61eb03c5793ae5c6026c7a854e1165556e3c42e7 Mon Sep 17 00:00:00 2001 +From d60430d1aff530e167ab4fdfdfa23ff21e9339e6 Mon Sep 17 00:00:00 2001 From: jeremyd2019 <4524874+jeremyd2019@users.noreply.github.com> Date: Thu, 17 Jun 2021 18:52:36 +0530 Subject: [PATCH 079/N] clang arm64 @@ -45,5 +45,5 @@ index adccaa7..b529e29 100644 #elif defined(__cplusplus) #define COMPILER "[C++]" -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0080-configure.ac-set-MINGW-stack-reserve.patch b/mingw-w64-python/0080-configure.ac-set-MINGW-stack-reserve.patch index c7bc46f03b..78f98299a4 100644 --- a/mingw-w64-python/0080-configure.ac-set-MINGW-stack-reserve.patch +++ b/mingw-w64-python/0080-configure.ac-set-MINGW-stack-reserve.patch @@ -1,4 +1,4 @@ -From 2a92ce2774eee311160740719a7c80e85c62ab36 Mon Sep 17 00:00:00 2001 +From 6fcebb6fa95bdf21bdc224c492b8b2ed8e4001f2 Mon Sep 17 00:00:00 2001 From: jeremyd2019 <4524874+jeremyd2019@users.noreply.github.com> Date: Thu, 17 Jun 2021 18:52:37 +0530 Subject: [PATCH 080/N] configure.ac: set MINGW stack reserve @@ -8,10 +8,10 @@ Subject: [PATCH 080/N] configure.ac: set MINGW stack reserve 1 file changed, 5 insertions(+) diff --git a/configure.ac b/configure.ac -index 588ffd4..5b41066 100644 +index da43ea0..2ca299a 100644 --- a/configure.ac +++ b/configure.ac -@@ -3065,6 +3065,11 @@ then +@@ -3072,6 +3072,11 @@ then VxWorks*) LINKFORSHARED='--export-dynamic';; esac @@ -24,5 +24,5 @@ index 588ffd4..5b41066 100644 AC_MSG_RESULT($LINKFORSHARED) -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0081-Don-t-use-os.pathsep-to-find-EOF.patch b/mingw-w64-python/0081-Don-t-use-os.pathsep-to-find-EOF.patch index eef4a376b7..e9413452d8 100644 --- a/mingw-w64-python/0081-Don-t-use-os.pathsep-to-find-EOF.patch +++ b/mingw-w64-python/0081-Don-t-use-os.pathsep-to-find-EOF.patch @@ -1,4 +1,4 @@ -From c791a766360579cd96c1a03563f674ca4e9e5698 Mon Sep 17 00:00:00 2001 +From 0740c27a55b7944ecda9196eac7e5ba8e35fa7b3 Mon Sep 17 00:00:00 2001 From: Naveen M K Date: Fri, 18 Jun 2021 12:38:11 +0530 Subject: [PATCH 081/N] Don't use os.pathsep to find EOF not all @@ -23,5 +23,5 @@ index b344f03..474ef89 100644 else: eof = 'Ctrl-D (i.e. EOF)' -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0082-Fix-extension-suffix-for-c-extensions-on-mingw.patch b/mingw-w64-python/0082-Fix-extension-suffix-for-c-extensions-on-mingw.patch index 550473adcb..11274d1f5c 100644 --- a/mingw-w64-python/0082-Fix-extension-suffix-for-c-extensions-on-mingw.patch +++ b/mingw-w64-python/0082-Fix-extension-suffix-for-c-extensions-on-mingw.patch @@ -1,4 +1,4 @@ -From cda85af5ff314ebd772e1000b48eefaddb0914b7 Mon Sep 17 00:00:00 2001 +From 4d16e070def9794b1ec6fb0ec07a0d09f6703541 Mon Sep 17 00:00:00 2001 From: Naveen M K Date: Wed, 23 Jun 2021 18:12:12 +0530 Subject: [PATCH 082/N] Fix extension suffix for c-extensions on mingw @@ -21,10 +21,10 @@ Signed-off-by: Naveen M K 3 files changed, 72 insertions(+), 17 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in -index 2018514..a8aecc2 100644 +index 8df163c..4430d21 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -165,6 +165,7 @@ CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(LDVERSION) +@@ -164,6 +164,7 @@ CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(LDVERSION) # Symbols used for using shared libraries SHLIB_SUFFIX= @SHLIB_SUFFIX@ EXT_SUFFIX= @EXT_SUFFIX@ @@ -32,7 +32,7 @@ index 2018514..a8aecc2 100644 LDSHARED= @LDSHARED@ $(PY_LDFLAGS) BLDSHARED= @BLDSHARED@ $(PY_CORE_LDFLAGS) LDCXXSHARED= @LDCXXSHARED@ -@@ -848,8 +849,7 @@ Python/dynload_hpux.o: $(srcdir)/Python/dynload_hpux.c Makefile +@@ -847,8 +848,7 @@ Python/dynload_hpux.o: $(srcdir)/Python/dynload_hpux.c Makefile Python/dynload_win.o: $(srcdir)/Python/dynload_win.c Makefile $(CC) -c $(PY_CORE_CFLAGS) \ @@ -42,7 +42,7 @@ index 2018514..a8aecc2 100644 -o $@ $(srcdir)/Python/dynload_win.c Python/sysmodule.o: $(srcdir)/Python/sysmodule.c Makefile $(srcdir)/Include/pydtrace.h -@@ -1688,7 +1688,7 @@ libainstall: @DEF_MAKE_RULE@ python-config +@@ -1687,7 +1687,7 @@ libainstall: @DEF_MAKE_RULE@ python-config done @if test -d $(LIBRARY); then :; else \ if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \ @@ -69,10 +69,10 @@ index bd34310..60fb603 100644 PYD_UNTAGGED_SUFFIX, NULL diff --git a/configure.ac b/configure.ac -index 5b41066..69cb8fb 100644 +index 2ca299a..11872dc 100644 --- a/configure.ac +++ b/configure.ac -@@ -2825,7 +2825,7 @@ if test -z "$SHLIB_SUFFIX"; then +@@ -2832,7 +2832,7 @@ if test -z "$SHLIB_SUFFIX"; then *) SHLIB_SUFFIX=.so;; esac case $host_os in @@ -81,7 +81,7 @@ index 5b41066..69cb8fb 100644 esac fi AC_MSG_RESULT($SHLIB_SUFFIX) -@@ -5115,6 +5115,68 @@ esac +@@ -5127,6 +5127,68 @@ esac # check for endianness AC_C_BIGENDIAN @@ -150,7 +150,7 @@ index 5b41066..69cb8fb 100644 # ABI version string for Python extension modules. This appears between the # periods in shared library file names, e.g. foo..so. It is calculated # from the following attributes which affect the ABI of this Python build (in -@@ -5147,7 +5209,12 @@ if test "$Py_DEBUG" = 'true' -a "$with_trace_refs" != "yes"; then +@@ -5159,7 +5221,12 @@ if test "$Py_DEBUG" = 'true' -a "$with_trace_refs" != "yes"; then fi AC_SUBST(EXT_SUFFIX) @@ -164,7 +164,7 @@ index 5b41066..69cb8fb 100644 AC_MSG_CHECKING(LDVERSION) LDVERSION='$(VERSION)$(ABIFLAGS)' -@@ -5819,12 +5886,6 @@ case "$ac_cv_computed_gotos" in yes*) +@@ -5831,12 +5898,6 @@ case "$ac_cv_computed_gotos" in yes*) AC_DEFINE(HAVE_COMPUTED_GOTOS, 1, [Define if the C compiler supports computed gotos.]) esac @@ -178,5 +178,5 @@ index 5b41066..69cb8fb 100644 case $ac_sys_system in AIX*) -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0083-Change-the-get_platform-method-in-sysconfig.patch b/mingw-w64-python/0083-Change-the-get_platform-method-in-sysconfig.patch index a85924461c..9bdfe13a73 100644 --- a/mingw-w64-python/0083-Change-the-get_platform-method-in-sysconfig.patch +++ b/mingw-w64-python/0083-Change-the-get_platform-method-in-sysconfig.patch @@ -1,4 +1,4 @@ -From ff2b019fd2d67ea53fd8431a3aa59b4508331f2c Mon Sep 17 00:00:00 2001 +From ad6c62686c8ab254bf39b12f022da558f971e746 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 21 Sep 2021 21:36:58 +0200 Subject: [PATCH 083/N] Change the `get_platform()` method in sysconfig @@ -60,5 +60,5 @@ index b529e29..2d935fe 100644 #elif defined(__cplusplus) #define COMPILER "[C++]" -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0084-distutils-compiler-customize-mingw-cygwin-compilers.patch b/mingw-w64-python/0084-distutils-compiler-customize-mingw-cygwin-compilers.patch index 60bff28cba..e636e3aac7 100644 --- a/mingw-w64-python/0084-distutils-compiler-customize-mingw-cygwin-compilers.patch +++ b/mingw-w64-python/0084-distutils-compiler-customize-mingw-cygwin-compilers.patch @@ -1,4 +1,4 @@ -From 68b961fb34930195f208a85d0123e3a6d700f515 Mon Sep 17 00:00:00 2001 +From a7788dfddf5093a98a150ae80f07c4e422b788be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:21 +0530 @@ -50,5 +50,5 @@ index 37feae5..bbe8e3c 100644 if not get_config_var('CUSTOMIZED_OSX_COMPILER'): import _osx_support -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0085-distutils-compiler-enable-new-dtags.patch b/mingw-w64-python/0085-distutils-compiler-enable-new-dtags.patch index 64c0d482a3..57283706a6 100644 --- a/mingw-w64-python/0085-distutils-compiler-enable-new-dtags.patch +++ b/mingw-w64-python/0085-distutils-compiler-enable-new-dtags.patch @@ -1,4 +1,4 @@ -From fc9e160c083b5aa586615624a0000dcc901990df Mon Sep 17 00:00:00 2001 +From 3248618ff70ee55c54bc325d5dcc894f29f1b9fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:22 +0530 @@ -13,10 +13,10 @@ Co-authored-by: Алексей 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py -index f0792de..60776bc 100644 +index d00c489..76a7d82 100644 --- a/Lib/distutils/unixccompiler.py +++ b/Lib/distutils/unixccompiler.py -@@ -248,9 +248,13 @@ class UnixCCompiler(CCompiler): +@@ -249,9 +249,13 @@ class UnixCCompiler(CCompiler): # -Wl whenever gcc was used in the past it is probably # safest to keep doing so. if sysconfig.get_config_var("GNULD") == "yes": @@ -33,5 +33,5 @@ index f0792de..60776bc 100644 return "-Wl,-R" + dir else: -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0086-distutils-MINGW-build-extensions-with-GCC.patch b/mingw-w64-python/0086-distutils-MINGW-build-extensions-with-GCC.patch index c216b1a389..319b672c90 100644 --- a/mingw-w64-python/0086-distutils-MINGW-build-extensions-with-GCC.patch +++ b/mingw-w64-python/0086-distutils-MINGW-build-extensions-with-GCC.patch @@ -1,4 +1,4 @@ -From bc18b4c3c94375ddff17aaf5a1bb5bd1e401997f Mon Sep 17 00:00:00 2001 +From d8641e86487fdcbb8a6cf3486e3ecfd2f0ef0eb0 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 21 Sep 2021 20:52:22 +0200 Subject: [PATCH 086/N] distutils: MINGW build extensions with GCC @@ -56,5 +56,5 @@ index 4b002ec..7b2e1e0 100644 return 'win-amd64' if '(arm)' in sys.version.lower(): -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0087-distutils-use-Mingw32CCompiler-as-default-compiler-f.patch b/mingw-w64-python/0087-distutils-use-Mingw32CCompiler-as-default-compiler-f.patch index af8596a96d..b3115edced 100644 --- a/mingw-w64-python/0087-distutils-use-Mingw32CCompiler-as-default-compiler-f.patch +++ b/mingw-w64-python/0087-distutils-use-Mingw32CCompiler-as-default-compiler-f.patch @@ -1,4 +1,4 @@ -From 40bf9e42ca67d8ac0592bc6674a9e958eabd74c3 Mon Sep 17 00:00:00 2001 +From ecb4ca01159962cbf3c66e4242583e6cdc8ccd02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:35 +0530 @@ -15,7 +15,7 @@ Co-authored-by: Алексей 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Lib/distutils/ccompiler.py b/Lib/distutils/ccompiler.py -index b5ef143..24eafc6 100644 +index 4c47f2e..ab61a86 100644 --- a/Lib/distutils/ccompiler.py +++ b/Lib/distutils/ccompiler.py @@ -9,7 +9,7 @@ from distutils.spawn import spawn @@ -69,5 +69,5 @@ index 66c12dd..1960ef8 100644 # Because these compilers aren't configured in Python's pyconfig.h file by # default, we should at least warn the user if he is using an unmodified -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0088-distutils-find-import-library.patch b/mingw-w64-python/0088-distutils-find-import-library.patch index f1bef12fdd..b10bc84a33 100644 --- a/mingw-w64-python/0088-distutils-find-import-library.patch +++ b/mingw-w64-python/0088-distutils-find-import-library.patch @@ -1,4 +1,4 @@ -From 41d8050684eb5925e8a4c979610a3aa340139e6d Mon Sep 17 00:00:00 2001 +From fbb6aa9546fe88f2ef3111958b86ab32199e890f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:36 +0530 @@ -25,5 +25,5 @@ index 1960ef8..39ad631 100644 shared_lib_format = "%s%s" exe_extension = ".exe" -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0089-distutils-avoid-circular-dependency-from-time-module.patch b/mingw-w64-python/0089-distutils-avoid-circular-dependency-from-time-module.patch index c9dc5cefbc..dedc2a922b 100644 --- a/mingw-w64-python/0089-distutils-avoid-circular-dependency-from-time-module.patch +++ b/mingw-w64-python/0089-distutils-avoid-circular-dependency-from-time-module.patch @@ -1,4 +1,4 @@ -From a4abb467ae7cf72e1552727b7725e40fc7412448 Mon Sep 17 00:00:00 2001 +From 7f323f7b626ea0948e135152cbd4befd47506276 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:41 +0530 @@ -34,5 +34,5 @@ index 39ad631..5b281e2 100644 try: out_string = out.read() -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0090-distutils-generalization-of-posix-build-in-distutils.patch b/mingw-w64-python/0090-distutils-generalization-of-posix-build-in-distutils.patch index 98e7e86381..74e525b7ad 100644 --- a/mingw-w64-python/0090-distutils-generalization-of-posix-build-in-distutils.patch +++ b/mingw-w64-python/0090-distutils-generalization-of-posix-build-in-distutils.patch @@ -1,4 +1,4 @@ -From 24eed4bff46abb9913a9869684eef985161155a3 Mon Sep 17 00:00:00 2001 +From 5e1dae781cfdd94792d7ee6e45a694a247e55002 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:41 +0530 @@ -91,5 +91,5 @@ index bbe8e3c..80d3523 100644 if (not os.path.isabs(_config_vars['srcdir']) and base != os.getcwd()): -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0091-distutils-mingw-sysconfig-like-posix.patch b/mingw-w64-python/0091-distutils-mingw-sysconfig-like-posix.patch index 7c4db6cb7f..34d0ec29eb 100644 --- a/mingw-w64-python/0091-distutils-mingw-sysconfig-like-posix.patch +++ b/mingw-w64-python/0091-distutils-mingw-sysconfig-like-posix.patch @@ -1,4 +1,4 @@ -From a0d9baa8dc4b4afb5e7ba33980ec6d9f3d67551c Mon Sep 17 00:00:00 2001 +From c07dcfbd45bf8440d7178f912c7c9648966042b5 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 21 Sep 2021 20:53:29 +0200 Subject: [PATCH 091/N] distutils: mingw sysconfig like posix @@ -24,5 +24,5 @@ index 1c9d471..1dbdfe0 100644 # building python standard extensions self.library_dirs.append('.') -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0092-distutils-get_versions-fixes.patch b/mingw-w64-python/0092-distutils-get_versions-fixes.patch index c6d704533e..9caf681604 100644 --- a/mingw-w64-python/0092-distutils-get_versions-fixes.patch +++ b/mingw-w64-python/0092-distutils-get_versions-fixes.patch @@ -1,4 +1,4 @@ -From 985a20ad50a309a528397ec6f43cf15f848c2797 Mon Sep 17 00:00:00 2001 +From 0df2d034bb72529a6fb719c5c3e430a98b5cc211 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 21 Sep 2021 21:14:31 +0200 Subject: [PATCH 092/N] distutils: get_versions() fixes @@ -52,5 +52,5 @@ index 5b281e2..fba3485 100644 def is_cygwingcc(): -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0093-distutils-install-layout-as-posix.patch b/mingw-w64-python/0093-distutils-install-layout-as-posix.patch index cccc53696a..3b59e29c0e 100644 --- a/mingw-w64-python/0093-distutils-install-layout-as-posix.patch +++ b/mingw-w64-python/0093-distutils-install-layout-as-posix.patch @@ -1,4 +1,4 @@ -From 71cd2a0390d9e9fad42fed5c0e06d758de39edcf Mon Sep 17 00:00:00 2001 +From 1909d79d7a506d55e07b708e39b5620b2bdf27c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:51:59 +0530 @@ -43,5 +43,5 @@ index aaa300e..c611252 100644 } -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0094-distutils-msys-convert_path-fix-and-root-hack.patch b/mingw-w64-python/0094-distutils-msys-convert_path-fix-and-root-hack.patch index 96acea6e4b..4017cc4d58 100644 --- a/mingw-w64-python/0094-distutils-msys-convert_path-fix-and-root-hack.patch +++ b/mingw-w64-python/0094-distutils-msys-convert_path-fix-and-root-hack.patch @@ -1,4 +1,4 @@ -From 1ed69d8e50d34a111c7b42951863e13d9cef1930 Mon Sep 17 00:00:00 2001 +From c9dcbae3befb667d806f882ac9fff0defb38d9a1 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 21 Sep 2021 21:18:50 +0200 Subject: [PATCH 094/N] distutils: msys convert_path fix and root hack @@ -75,5 +75,5 @@ index 7b2e1e0..75a369d 100644 else: raise DistutilsPlatformError("nothing known about platform '%s'" % os.name) -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0095-distutils-mingw-build-optimized-ext.patch b/mingw-w64-python/0095-distutils-mingw-build-optimized-ext.patch index f499259230..7614768fbb 100644 --- a/mingw-w64-python/0095-distutils-mingw-build-optimized-ext.patch +++ b/mingw-w64-python/0095-distutils-mingw-build-optimized-ext.patch @@ -1,4 +1,4 @@ -From 1da2752289e00fe51e2c8a0b25138ac83f1f0983 Mon Sep 17 00:00:00 2001 +From b6462264592f88d2930107496aea431a52516f2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:04 +0530 @@ -30,5 +30,5 @@ index fba3485..bb97880 100644 linker_so='%s %s %s' % (self.linker_dll, shared_option, -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0096-distutils-cygwinccompiler-dont-strip-modules-if-pyde.patch b/mingw-w64-python/0096-distutils-cygwinccompiler-dont-strip-modules-if-pyde.patch index 2ae5b3ffa5..c48b100ec4 100644 --- a/mingw-w64-python/0096-distutils-cygwinccompiler-dont-strip-modules-if-pyde.patch +++ b/mingw-w64-python/0096-distutils-cygwinccompiler-dont-strip-modules-if-pyde.patch @@ -1,4 +1,4 @@ -From 6d880609657632bc2f9d93964d7f9edbb2a6e430 Mon Sep 17 00:00:00 2001 +From 9536f0bbb21ebe13c7f539540a5e38dbd875bc51 Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Thu, 17 Jun 2021 18:52:05 +0530 Subject: [PATCH 096/N] distutils: cygwinccompiler dont strip modules if @@ -26,5 +26,5 @@ index bb97880..c134525 100644 UnixCCompiler.link(self, target_desc, objects, output_filename, -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0097-distutils-get-compilers-from-env-vars.patch b/mingw-w64-python/0097-distutils-get-compilers-from-env-vars.patch index 4c7d500e8e..0de5977b0f 100644 --- a/mingw-w64-python/0097-distutils-get-compilers-from-env-vars.patch +++ b/mingw-w64-python/0097-distutils-get-compilers-from-env-vars.patch @@ -1,4 +1,4 @@ -From b1f1cbeefcc5ed956ee484cd96008d5d37eb7db2 Mon Sep 17 00:00:00 2001 +From 42bab63733b59dad0ebbe18b1f6d18ba588240df Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Tue, 17 Aug 2021 20:26:05 +0700 Subject: [PATCH 097/N] distutils: get compilers from env vars @@ -157,5 +157,5 @@ index c134525..75bc17b 100644 + out_string = check_output([cc, '-dumpmachine']) return out_string.strip().endswith(b'cygwin') -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0098-distutils-add-windmc-to-cygwinccompiler.patch b/mingw-w64-python/0098-distutils-add-windmc-to-cygwinccompiler.patch index e8f894fef1..ad88994ceb 100644 --- a/mingw-w64-python/0098-distutils-add-windmc-to-cygwinccompiler.patch +++ b/mingw-w64-python/0098-distutils-add-windmc-to-cygwinccompiler.patch @@ -1,4 +1,4 @@ -From 0c751ecfc03048c60a59b090cf93f64d09255c4b Mon Sep 17 00:00:00 2001 +From ebe7844e3d6d1b64f155033731fd44f1770243f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:28 +0530 @@ -54,5 +54,5 @@ index 75bc17b..6a40e80 100644 (ext, src_name)) base = os.path.splitdrive(base)[1] # Chop off the drive -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0099-distutils-fix-msvc9-import.patch b/mingw-w64-python/0099-distutils-fix-msvc9-import.patch index 10ed072b07..4471e29f92 100644 --- a/mingw-w64-python/0099-distutils-fix-msvc9-import.patch +++ b/mingw-w64-python/0099-distutils-fix-msvc9-import.patch @@ -1,4 +1,4 @@ -From d947ead836ca0eead2e28103a790011387720a2f Mon Sep 17 00:00:00 2001 +From dd68c5c4b419561600a9ad34a2741395a166ac4f Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 17 Jun 2021 18:52:24 +0530 Subject: [PATCH 099/N] distutils: fix msvc9 import @@ -12,7 +12,7 @@ Co-authored-by: Алексей 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/distutils/msvc9compiler.py b/Lib/distutils/msvc9compiler.py -index 6934e96..dddb2fd 100644 +index a7976fb..c341679 100644 --- a/Lib/distutils/msvc9compiler.py +++ b/Lib/distutils/msvc9compiler.py @@ -291,8 +291,6 @@ def query_vcvarsall(version, arch="x86"): @@ -34,5 +34,5 @@ index 6934e96..dddb2fd 100644 self.__root = r"Software\Microsoft\VisualStudio" # self.__macros = MACROS -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0100-distutils-mingw-add-LIBPL-to-library-dirs.patch b/mingw-w64-python/0100-distutils-mingw-add-LIBPL-to-library-dirs.patch index 2533e3438a..3c1e96b433 100644 --- a/mingw-w64-python/0100-distutils-mingw-add-LIBPL-to-library-dirs.patch +++ b/mingw-w64-python/0100-distutils-mingw-add-LIBPL-to-library-dirs.patch @@ -1,4 +1,4 @@ -From 609d9e23ff0403233ae2e8a81eaa55eda54d175f Mon Sep 17 00:00:00 2001 +From 041c30f5c5e8e43c72147b50d0f4b2eefdb17d3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:06 +0530 @@ -22,5 +22,5 @@ index 1dbdfe0..1598735 100644 # building third party extensions config_dir_name = os.path.basename(sysconfig.get_config_var('LIBPL')) -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0101-distutils-Change-the-get_platform-method-in-distutil.patch b/mingw-w64-python/0101-distutils-Change-the-get_platform-method-in-distutil.patch index 79f856f76b..27c82b5fcb 100644 --- a/mingw-w64-python/0101-distutils-Change-the-get_platform-method-in-distutil.patch +++ b/mingw-w64-python/0101-distutils-Change-the-get_platform-method-in-distutil.patch @@ -1,4 +1,4 @@ -From 5a61407b52dc9d8f2949af82bff034cac2d99c2d Mon Sep 17 00:00:00 2001 +From f86f222d41d6ee022b1eefd2494c10e97d54b16e Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Tue, 21 Sep 2021 21:37:23 +0200 Subject: [PATCH 101/N] distutils: Change the `get_platform()` method in @@ -40,5 +40,5 @@ index 75a369d..5b51c76 100644 return 'win-amd64' if '(arm)' in sys.version.lower(): -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0102-build-Fix-ncursesw-include-lookup.patch b/mingw-w64-python/0102-build-Fix-ncursesw-include-lookup.patch index eb36242efb..3fb86977a0 100644 --- a/mingw-w64-python/0102-build-Fix-ncursesw-include-lookup.patch +++ b/mingw-w64-python/0102-build-Fix-ncursesw-include-lookup.patch @@ -1,4 +1,4 @@ -From 7f0e7c96729a306b58ab87ecb4e051b460bec6ce Mon Sep 17 00:00:00 2001 +From 61995cb8065dde6dcc0eec9ecb5ef2aa3170fef8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Thu, 17 Jun 2021 18:52:09 +0530 @@ -13,10 +13,10 @@ pkg-config and use the exported path via sysconfig in setup.py 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in -index a8aecc2..3aca037 100644 +index 4430d21..99bed41 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -313,6 +313,7 @@ IO_OBJS= \ +@@ -312,6 +312,7 @@ IO_OBJS= \ ########################################################################## LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@ @@ -25,10 +25,10 @@ index a8aecc2..3aca037 100644 ########################################################################## # Parser diff --git a/configure.ac b/configure.ac -index 69cb8fb..6b21b79 100644 +index 11872dc..fb90929 100644 --- a/configure.ac +++ b/configure.ac -@@ -5557,10 +5557,17 @@ then +@@ -5569,10 +5569,17 @@ then [Define if you have struct stat.st_mtimensec]) fi @@ -48,10 +48,10 @@ index 69cb8fb..6b21b79 100644 AC_CHECK_HEADERS(curses.h ncurses.h) diff --git a/setup.py b/setup.py -index d161108..46de8be 100644 +index 71e6ea5..badb119 100644 --- a/setup.py +++ b/setup.py -@@ -1104,7 +1104,7 @@ class PyBuildExt(build_ext): +@@ -1107,7 +1107,7 @@ class PyBuildExt(build_ext): if curses_library == 'ncursesw': curses_defines.append(('HAVE_NCURSESW', '1')) if not CROSS_COMPILING: @@ -61,5 +61,5 @@ index d161108..46de8be 100644 # _curses_panel.so must link with panelw. panel_library = 'panelw' -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0103-tests-fix-test_bytes.patch b/mingw-w64-python/0103-tests-fix-test_bytes.patch index d3d1dbbfca..21f99362cd 100644 --- a/mingw-w64-python/0103-tests-fix-test_bytes.patch +++ b/mingw-w64-python/0103-tests-fix-test_bytes.patch @@ -1,4 +1,4 @@ -From dee249e62d0d3f610538286927b24ea6f9f5b332 Mon Sep 17 00:00:00 2001 +From 225617465f44e8c1d9a3d678f2fd63c979dca417 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 23 Jul 2021 08:51:32 +0200 Subject: [PATCH 103/N] tests: fix test_bytes @@ -23,5 +23,5 @@ index 227e6d7..193ce10 100644 return (ptr_format % ptr) else: -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0104-time-fix-strftime-not-raising-for-invalid-year-value.patch b/mingw-w64-python/0104-time-fix-strftime-not-raising-for-invalid-year-value.patch index 759ac3be0c..5aa4632cc3 100644 --- a/mingw-w64-python/0104-time-fix-strftime-not-raising-for-invalid-year-value.patch +++ b/mingw-w64-python/0104-time-fix-strftime-not-raising-for-invalid-year-value.patch @@ -1,4 +1,4 @@ -From 72e058ef4fdb8aa7a5d5a1a8b45a16d9c0ef975f Mon Sep 17 00:00:00 2001 +From 5f3accecfce4d1284e7fad8fdc01165ee1bb7488 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 23 Jul 2021 08:52:50 +0200 Subject: [PATCH 104/N] time: fix strftime not raising for invalid year @@ -11,7 +11,7 @@ This fixes a test case in test_time 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules/timemodule.c b/Modules/timemodule.c -index 80eab30..f0cdcfa 100644 +index df59f2a..ded8165 100644 --- a/Modules/timemodule.c +++ b/Modules/timemodule.c @@ -754,7 +754,7 @@ time_strftime(PyObject *self, PyObject *args) @@ -24,5 +24,5 @@ index 80eab30..f0cdcfa 100644 PyErr_SetString(PyExc_ValueError, "strftime() requires year in [1; 9999]"); -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0105-ctypes-find_library-c-should-return-None-with-ucrt.patch b/mingw-w64-python/0105-ctypes-find_library-c-should-return-None-with-ucrt.patch index 738d9ead4c..0dac44e687 100644 --- a/mingw-w64-python/0105-ctypes-find_library-c-should-return-None-with-ucrt.patch +++ b/mingw-w64-python/0105-ctypes-find_library-c-should-return-None-with-ucrt.patch @@ -1,4 +1,4 @@ -From bf97e2d2da502effd0116a00d4a02a69b7a9c2a9 Mon Sep 17 00:00:00 2001 +From fdf596a74bc3f361136eab3a23a0fedd1bc2e9e2 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 23 Jul 2021 18:23:58 +0200 Subject: [PATCH 105/N] ctypes: find_library('c') should return None with @@ -37,5 +37,5 @@ index 0c2510e..48ddb3b 100644 # See MSDN for the REAL search order. for directory in os.environ['PATH'].split(os.pathsep): -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0106-build-Disable-checks-for-dlopen-dlfcn.patch b/mingw-w64-python/0106-build-Disable-checks-for-dlopen-dlfcn.patch index dc7839bcde..489c1b42c8 100644 --- a/mingw-w64-python/0106-build-Disable-checks-for-dlopen-dlfcn.patch +++ b/mingw-w64-python/0106-build-Disable-checks-for-dlopen-dlfcn.patch @@ -1,4 +1,4 @@ -From 33575171384e6e85efaf11ed9210463a870a7258 Mon Sep 17 00:00:00 2001 +From 54da3cecac7208fce008b7f05e19df0e45e245bc Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 25 Jul 2021 13:54:12 +0200 Subject: [PATCH 106/N] build: Disable checks for dlopen/dlfcn @@ -10,10 +10,10 @@ checks for it. 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac -index 6b21b79..12373f7 100644 +index fb90929..bfa18be 100644 --- a/configure.ac +++ b/configure.ac -@@ -2423,7 +2423,7 @@ dnl AC_MSG_RESULT($cpp_type) +@@ -2430,7 +2430,7 @@ dnl AC_MSG_RESULT($cpp_type) # checks for header files AC_HEADER_STDC @@ -22,7 +22,7 @@ index 6b21b79..12373f7 100644 fcntl.h grp.h \ ieeefp.h io.h langinfo.h libintl.h process.h \ shadow.h signal.h stropts.h termios.h \ -@@ -2437,6 +2437,12 @@ sys/times.h sys/types.h sys/uio.h sys/un.h sys/utsname.h sys/wait.h pty.h \ +@@ -2444,6 +2444,12 @@ sys/times.h sys/types.h sys/uio.h sys/un.h sys/utsname.h sys/wait.h pty.h \ libutil.h sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \ linux/tipc.h linux/random.h spawn.h util.h alloca.h endian.h \ sys/endian.h sys/sysmacros.h linux/memfd.h linux/wait.h sys/memfd.h sys/mman.h) @@ -35,7 +35,7 @@ index 6b21b79..12373f7 100644 AC_HEADER_DIRENT AC_HEADER_MAJOR -@@ -3108,7 +3114,12 @@ AC_MSG_RESULT($SHLIBS) +@@ -3115,7 +3121,12 @@ AC_MSG_RESULT($SHLIBS) # checks for libraries AC_CHECK_LIB(sendfile, sendfile) @@ -49,7 +49,7 @@ index 6b21b79..12373f7 100644 AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX # checks for uuid.h location -@@ -5014,7 +5025,10 @@ then +@@ -5026,7 +5037,10 @@ then [define to 1 if your sem_getvalue is broken.]) fi @@ -62,5 +62,5 @@ index 6b21b79..12373f7 100644 # determine what size digit to use for Python's longs AC_MSG_CHECKING([digit size for Python's longs]) -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0107-Fix-install-location-of-the-import-library.patch b/mingw-w64-python/0107-Fix-install-location-of-the-import-library.patch index 2351466117..740acce830 100644 --- a/mingw-w64-python/0107-Fix-install-location-of-the-import-library.patch +++ b/mingw-w64-python/0107-Fix-install-location-of-the-import-library.patch @@ -1,4 +1,4 @@ -From 212191d85f1af9b7fb395c07db30ff4a9e3cd8da Mon Sep 17 00:00:00 2001 +From acc12ead338af28f76fa1164d2aff52bba7f06cf Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 25 Jul 2021 15:46:01 +0200 Subject: [PATCH 107/N] Fix install location of the import library @@ -8,10 +8,10 @@ Subject: [PATCH 107/N] Fix install location of the import library 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.pre.in b/Makefile.pre.in -index 3aca037..2154bdf 100644 +index 99bed41..14bd6e3 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1690,7 +1690,7 @@ libainstall: @DEF_MAKE_RULE@ python-config +@@ -1689,7 +1689,7 @@ libainstall: @DEF_MAKE_RULE@ python-config @if test -d $(LIBRARY); then :; else \ if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \ if test "$(SHLIB_SUFFIX)" = .dll -o "$(SHLIB_SUFFIX)" = .pyd; then \ @@ -21,5 +21,5 @@ index 3aca037..2154bdf 100644 $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ fi; \ -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0108-Set-MSYS2_ARG_CONV_EXCL-for-the-shared-Python-module.patch b/mingw-w64-python/0108-Set-MSYS2_ARG_CONV_EXCL-for-the-shared-Python-module.patch index 59619b91c8..0dec35566b 100644 --- a/mingw-w64-python/0108-Set-MSYS2_ARG_CONV_EXCL-for-the-shared-Python-module.patch +++ b/mingw-w64-python/0108-Set-MSYS2_ARG_CONV_EXCL-for-the-shared-Python-module.patch @@ -1,4 +1,4 @@ -From be91fcc4aa3d4b31521a4eda1256470f5ea43760 Mon Sep 17 00:00:00 2001 +From ecf4b76f6cea01e049ae43f11482dc1688f669a3 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 25 Jul 2021 15:46:54 +0200 Subject: [PATCH 108/N] Set MSYS2_ARG_CONV_EXCL for the shared Python module @@ -10,10 +10,10 @@ Otherwise one has to set it when calling "make install". 1 file changed, 1 insertion(+) diff --git a/Makefile.pre.in b/Makefile.pre.in -index 2154bdf..7b8317a 100644 +index 14bd6e3..35055fb 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -1736,6 +1736,7 @@ endif +@@ -1735,6 +1735,7 @@ endif # Install the dynamically loadable modules # This goes into $(exec_prefix) sharedinstall: sharedmods @@ -22,5 +22,5 @@ index 2154bdf..7b8317a 100644 --prefix=$(prefix) \ --install-scripts=$(BINDIR) \ -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0109-build-Integrate-venvlauncher-build-installation-into.patch b/mingw-w64-python/0109-build-Integrate-venvlauncher-build-installation-into.patch index 01d92fcb21..03dd7cfb99 100644 --- a/mingw-w64-python/0109-build-Integrate-venvlauncher-build-installation-into.patch +++ b/mingw-w64-python/0109-build-Integrate-venvlauncher-build-installation-into.patch @@ -1,4 +1,4 @@ -From f86fcd93f6748af7964e2875a890e3957ce3a2c4 Mon Sep 17 00:00:00 2001 +From 4ff3883e35104746d0284523bdf80dc7f1bd36c3 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 25 Jul 2021 16:53:35 +0200 Subject: [PATCH 109/N] build: Integrate venvlauncher build/installation into @@ -12,10 +12,10 @@ but a copy of main binary seems to work as well for now. 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/Makefile.pre.in b/Makefile.pre.in -index 7b8317a..6012869 100644 +index 35055fb..498186f 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in -@@ -161,6 +161,7 @@ BINLIBDEST= @BINLIBDEST@ +@@ -160,6 +160,7 @@ BINLIBDEST= @BINLIBDEST@ LIBDEST= $(SCRIPTDIR)/python$(VERSION) INCLUDEPY= $(INCLUDEDIR)/python$(LDVERSION) CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(LDVERSION) @@ -23,7 +23,7 @@ index 7b8317a..6012869 100644 # Symbols used for using shared libraries SHLIB_SUFFIX= @SHLIB_SUFFIX@ -@@ -264,6 +265,8 @@ LIBOBJS= @LIBOBJS@ +@@ -263,6 +264,8 @@ LIBOBJS= @LIBOBJS@ PYTHON= python$(EXE) BUILDPYTHON= python$(BUILDEXE) BUILDPYTHONW= pythonw$(BUILDEXE) @@ -32,7 +32,7 @@ index 7b8317a..6012869 100644 PYTHON_FOR_REGEN?=@PYTHON_FOR_REGEN@ UPDATE_FILE=@PYTHON_FOR_REGEN@ $(srcdir)/Tools/scripts/update_file.py -@@ -487,7 +490,7 @@ DTRACE_DEPS = \ +@@ -486,7 +489,7 @@ DTRACE_DEPS = \ # Default target all: @DEF_MAKE_ALL_RULE@ @@ -41,7 +41,7 @@ index 7b8317a..6012869 100644 Programs/_testembed python-config # Check that the source is clean when building out of source. -@@ -617,6 +620,14 @@ $(BUILDPYTHONW): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) pythonw +@@ -616,6 +619,14 @@ $(BUILDPYTHONW): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) pythonw $(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) python_exe.o $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -municode -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) python_exe.o @@ -56,7 +56,7 @@ index 7b8317a..6012869 100644 platform: $(BUILDPYTHON) pybuilddir.txt $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' >platform -@@ -1331,7 +1342,7 @@ $(DESTSHARED): +@@ -1330,7 +1341,7 @@ $(DESTSHARED): # Install the interpreter with $(VERSION) affixed # This goes into $(exec_prefix) altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@ @@ -65,7 +65,7 @@ index 7b8317a..6012869 100644 do \ if test ! -d $(DESTDIR)$$i; then \ echo "Creating directory $$i"; \ -@@ -1342,6 +1353,8 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@ +@@ -1341,6 +1352,8 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@ if test "$(PYTHONFRAMEWORKDIR)" = "no-framework" ; then \ $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \ $(INSTALL_PROGRAM) $(BUILDPYTHONW) $(DESTDIR)$(BINDIR)/python3w$(EXE); \ @@ -75,5 +75,5 @@ index 7b8317a..6012869 100644 $(INSTALL_PROGRAM) $(STRIPFLAG) Mac/pythonw $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \ fi -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0110-configure.ac-set-_WIN32_WINNT-version.patch b/mingw-w64-python/0110-configure.ac-set-_WIN32_WINNT-version.patch index 45235b309d..b7e958aeee 100644 --- a/mingw-w64-python/0110-configure.ac-set-_WIN32_WINNT-version.patch +++ b/mingw-w64-python/0110-configure.ac-set-_WIN32_WINNT-version.patch @@ -1,4 +1,4 @@ -From 3724005ffa45a6115f94f8361d0f08cb95af568b Mon Sep 17 00:00:00 2001 +From 15e69064ff0d465ee518919a3f83028e302ad4fb Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 1 Aug 2021 15:18:50 +0200 Subject: [PATCH 110/N] configure.ac: set _WIN32_WINNT version @@ -8,10 +8,10 @@ Subject: [PATCH 110/N] configure.ac: set _WIN32_WINNT version 1 file changed, 5 insertions(+) diff --git a/configure.ac b/configure.ac -index 12373f7..2455a05 100644 +index bfa18be..77982d0 100644 --- a/configure.ac +++ b/configure.ac -@@ -3477,6 +3477,11 @@ else +@@ -3489,6 +3489,11 @@ else fi]) AC_MSG_RESULT($with_dbmliborder) @@ -24,5 +24,5 @@ index 12373f7..2455a05 100644 AC_SUBST(USE_WIN32_MODULE) USE_WIN32_MODULE='#' -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0111-configure.ac-don-t-check-for-clock_-functions.patch b/mingw-w64-python/0111-configure.ac-don-t-check-for-clock_-functions.patch index 3d9f9c4fe3..9aa1de34c5 100644 --- a/mingw-w64-python/0111-configure.ac-don-t-check-for-clock_-functions.patch +++ b/mingw-w64-python/0111-configure.ac-don-t-check-for-clock_-functions.patch @@ -1,4 +1,4 @@ -From 80640c7c44d34d8cebfa0768575750e7753bcb8e Mon Sep 17 00:00:00 2001 +From 6f3fc42d39c6d0009933bde5a2322a54de764846 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 1 Aug 2021 18:35:17 +0200 Subject: [PATCH 111/N] configure.ac: don't check for clock_ functions @@ -9,10 +9,10 @@ They shouldn't be exposed on Windows and lead to winpthread being linked in 1 file changed, 5 insertions(+) diff --git a/configure.ac b/configure.ac -index 2455a05..dd6969d 100644 +index 77982d0..f986188 100644 --- a/configure.ac +++ b/configure.ac -@@ -4369,6 +4369,9 @@ char *r = crypt_r("", "", &d); +@@ -4381,6 +4381,9 @@ char *r = crypt_r("", "", &d); []) ) @@ -22,7 +22,7 @@ index 2455a05..dd6969d 100644 AC_CHECK_FUNCS(clock_gettime, [], [ AC_CHECK_LIB(rt, clock_gettime, [ LIBS="$LIBS -lrt" -@@ -4389,6 +4392,8 @@ AC_CHECK_FUNCS(clock_settime, [], [ +@@ -4401,6 +4404,8 @@ AC_CHECK_FUNCS(clock_settime, [], [ AC_DEFINE(HAVE_CLOCK_SETTIME, 1) ]) ]) @@ -32,5 +32,5 @@ index 2455a05..dd6969d 100644 AC_MSG_CHECKING(for major, minor, and makedev) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0112-expanduser-normpath-paths-coming-from-env-vars.patch b/mingw-w64-python/0112-expanduser-normpath-paths-coming-from-env-vars.patch index 2eee6c3dd2..5458f0415c 100644 --- a/mingw-w64-python/0112-expanduser-normpath-paths-coming-from-env-vars.patch +++ b/mingw-w64-python/0112-expanduser-normpath-paths-coming-from-env-vars.patch @@ -1,4 +1,4 @@ -From 2748eca808bc4a0d9f79a86803217147fa4c69ec Mon Sep 17 00:00:00 2001 +From 0762b765e0c3463fc531aa3458ac3645e27c003c Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 8 Aug 2021 10:17:35 +0200 Subject: [PATCH 112/N] expanduser: normpath paths coming from env vars @@ -31,5 +31,5 @@ index 77f5614..5d1c6b9 100644 # Expand paths containing shell variable substitutions. -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0113-Add-support-for-Windows-7-Python-3.9.patch b/mingw-w64-python/0113-Add-support-for-Windows-7-Python-3.9.patch index 16c0c492a9..f5283ac950 100644 --- a/mingw-w64-python/0113-Add-support-for-Windows-7-Python-3.9.patch +++ b/mingw-w64-python/0113-Add-support-for-Windows-7-Python-3.9.patch @@ -1,16 +1,16 @@ -From 0f459a423fa1754bae5817940d62348b5197fda5 Mon Sep 17 00:00:00 2001 +From fc6619697a171ecfe63a933e3f93b1841ce13cc2 Mon Sep 17 00:00:00 2001 From: Naveen M K Date: Thu, 17 Jun 2021 18:52:39 +0530 Subject: [PATCH 113/N] Add support for Windows 7 Python 3.9 --- - Modules/posixmodule.c | 22 +++++++++++------ - PC/getpathp.c | 57 +++++++++++++++++++++++++++++++++++++++---- + Modules/posixmodule.c | 22 ++++++++++------ + PC/getpathp.c | 58 +++++++++++++++++++++++++++++++++++++++---- configure.ac | 2 +- - 3 files changed, 68 insertions(+), 13 deletions(-) + 3 files changed, 69 insertions(+), 13 deletions(-) diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c -index bf19ac8..215c81f 100644 +index 590b459..1b627df 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -18,7 +18,7 @@ @@ -71,18 +71,19 @@ index bf19ac8..215c81f 100644 diff --git a/PC/getpathp.c b/PC/getpathp.c -index 53da3a6..40b0db3 100644 +index 7c0eeab..2d03b74 100644 --- a/PC/getpathp.c +++ b/PC/getpathp.c -@@ -90,7 +90,6 @@ +@@ -90,7 +90,7 @@ #endif #include -#include - #include ++#include #ifdef HAVE_SYS_TYPES_H -@@ -250,14 +249,43 @@ ismodule(wchar_t *filename, int update_filename) + #include +@@ -249,14 +249,43 @@ ismodule(wchar_t *filename, int update_filename) stuff as fits will be appended. */ @@ -128,7 +129,7 @@ index 53da3a6..40b0db3 100644 /* Call PathCchCanonicalizeEx(path): remove navigation elements such as "." and ".." to produce a direct, well-formed path. */ static PyStatus -@@ -267,8 +295,27 @@ canonicalize(wchar_t *buffer, const wchar_t *path) +@@ -266,8 +295,27 @@ canonicalize(wchar_t *buffer, const wchar_t *path) return _PyStatus_NO_MEMORY(); } @@ -159,10 +160,10 @@ index 53da3a6..40b0db3 100644 return _PyStatus_OK(); } diff --git a/configure.ac b/configure.ac -index dd6969d..23dd59b 100644 +index f986188..f5be44c 100644 --- a/configure.ac +++ b/configure.ac -@@ -5968,7 +5968,7 @@ AC_MSG_RESULT(done) +@@ -5980,7 +5980,7 @@ AC_MSG_RESULT(done) # For mingw build need additional library for linking case $host in *-*-mingw*) @@ -172,5 +173,5 @@ index dd6969d..23dd59b 100644 if test "$AWK" = "gawk"; then awk_extra_flag="--non-decimal-data" -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0114-Commit-regenerated-importlib.patch b/mingw-w64-python/0114-Commit-regenerated-importlib.patch index 00ef34aa4a..4e30f7e39a 100644 --- a/mingw-w64-python/0114-Commit-regenerated-importlib.patch +++ b/mingw-w64-python/0114-Commit-regenerated-importlib.patch @@ -1,4 +1,4 @@ -From 4ad86b7afa525e568e3c57b795df33b6a5369a3c Mon Sep 17 00:00:00 2001 +From ba0fc684a60cae28806d23a30fafac9c090db205 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 1 Aug 2021 16:09:12 +0200 Subject: [PATCH 114/N] Commit regenerated importlib @@ -2390,5 +2390,5 @@ index 6d40249..17f549b 100644 + 0,20,14,127,0,27,10,23,8,11,8,61, }; -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0115-CI-test-the-build-and-add-some-mingw-specific-tests.patch b/mingw-w64-python/0115-CI-test-the-build-and-add-some-mingw-specific-tests.patch index bf1bacc1a5..387b3ee690 100644 --- a/mingw-w64-python/0115-CI-test-the-build-and-add-some-mingw-specific-tests.patch +++ b/mingw-w64-python/0115-CI-test-the-build-and-add-some-mingw-specific-tests.patch @@ -1,4 +1,4 @@ -From dace5a0283f861847979063d2ceb14bbf3cbc0f2 Mon Sep 17 00:00:00 2001 +From 1f3d70f51035932de24c2df7084f9224fbd632ea Mon Sep 17 00:00:00 2001 From: Naveen M K Date: Fri, 18 Jun 2021 17:51:59 +0530 Subject: [PATCH 115/N] CI: test the build and add some mingw specific tests @@ -585,5 +585,5 @@ index 0000000..70acbd1 +if __name__ == '__main__': + unittest.main(defaultTest='suite') -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0116-decimal-backport-build-fixes.patch b/mingw-w64-python/0116-decimal-backport-build-fixes.patch index 26d7337aee..b2b80683ef 100644 --- a/mingw-w64-python/0116-decimal-backport-build-fixes.patch +++ b/mingw-w64-python/0116-decimal-backport-build-fixes.patch @@ -1,4 +1,4 @@ -From f9d77130f2c14f49081ba243f346e0c458f45d5e Mon Sep 17 00:00:00 2001 +From 96d183dd8ee2b5ff4380f230e2a24a1125a9851b Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 23 Sep 2021 09:55:32 +0200 Subject: [PATCH 116/N] decimal: backport build fixes @@ -31,5 +31,5 @@ index d80d791..28fd209 100644 sep = dotsep_as_utf8(spec.sep); if (sep == NULL) { -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0117-smoketests-test-that-_decimal-exists.patch b/mingw-w64-python/0117-smoketests-test-that-_decimal-exists.patch index 6763624de9..c582e09bfa 100644 --- a/mingw-w64-python/0117-smoketests-test-that-_decimal-exists.patch +++ b/mingw-w64-python/0117-smoketests-test-that-_decimal-exists.patch @@ -1,4 +1,4 @@ -From b7d2e9e27140b56c131e1705bd20dcc7dac63eb2 Mon Sep 17 00:00:00 2001 +From d5a8017fac49caaf9ec52f0f46760ce62f2849cc Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 23 Sep 2021 09:57:56 +0200 Subject: [PATCH 117/N] smoketests: test that _decimal exists @@ -22,5 +22,5 @@ index 70acbd1..527aafb 100644 import socket self.assertTrue(hasattr(socket, "inet_ntop")) -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0118-Prefer-sysconfig.python_build.patch b/mingw-w64-python/0118-Prefer-sysconfig.python_build.patch index 666eac1c39..65446951da 100644 --- a/mingw-w64-python/0118-Prefer-sysconfig.python_build.patch +++ b/mingw-w64-python/0118-Prefer-sysconfig.python_build.patch @@ -1,4 +1,4 @@ -From ac9f30ac5c47c7f54306c1f8fc5d4d05b9d78386 Mon Sep 17 00:00:00 2001 +From 16683cb6295f388e9425517edecdd5368343a62c Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Fri, 1 Oct 2021 07:28:36 +0700 Subject: [PATCH 118/N] Prefer sysconfig.python_build @@ -21,5 +21,5 @@ index 1598735..82a21d2 100644 config_dir_name = os.path.basename(sysconfig.get_config_var('LIBPL')) self.library_dirs.append(os.path.join(sys.prefix, "lib", -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0119-distutils-remove-checks-for-ancient-gcc-binutils.patch b/mingw-w64-python/0119-distutils-remove-checks-for-ancient-gcc-binutils.patch index 15d3aea8a9..15f15baa60 100644 --- a/mingw-w64-python/0119-distutils-remove-checks-for-ancient-gcc-binutils.patch +++ b/mingw-w64-python/0119-distutils-remove-checks-for-ancient-gcc-binutils.patch @@ -1,4 +1,4 @@ -From 8ec77b61a8c33a8096882be9edfe0b23c4c62e2c Mon Sep 17 00:00:00 2001 +From 662d8c68e4559c6deebf5abb78767b81d9266fe9 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 7 Nov 2021 23:06:13 +0100 Subject: [PATCH 119/N] distutils: remove checks for ancient gcc/binutils @@ -256,5 +256,5 @@ index 9dc869d..f525ab4 100644 # none -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0120-distutils-split-CC-env-var-before-passing-to-subproc.patch b/mingw-w64-python/0120-distutils-split-CC-env-var-before-passing-to-subproc.patch index 01446f62c6..3f31dbe044 100644 --- a/mingw-w64-python/0120-distutils-split-CC-env-var-before-passing-to-subproc.patch +++ b/mingw-w64-python/0120-distutils-split-CC-env-var-before-passing-to-subproc.patch @@ -1,4 +1,4 @@ -From 8736112bab36bc8f0612f33237f64473640ff3b8 Mon Sep 17 00:00:00 2001 +From 382c91ed3b11b65cfaeebb3d02f8886b401f4ab0 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 7 Nov 2021 23:12:10 +0100 Subject: [PATCH 120/N] distutils: split CC env var before passing to @@ -32,5 +32,5 @@ index 2804f69..6e22555 100644 + out_string = check_output(shlex.split(cc) + ['-dumpmachine']) return out_string.strip().endswith(b'cygwin') -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0121-_testconsole.c-Fix-casing-path-sep.patch b/mingw-w64-python/0121-_testconsole.c-Fix-casing-path-sep.patch index b7dfa28f09..80b9669158 100644 --- a/mingw-w64-python/0121-_testconsole.c-Fix-casing-path-sep.patch +++ b/mingw-w64-python/0121-_testconsole.c-Fix-casing-path-sep.patch @@ -1,4 +1,4 @@ -From 11779b2113f6d60fafff13d7e625fff72980e9bf Mon Sep 17 00:00:00 2001 +From 667b4b663c1382c6daa8bac219bdeb97419b4b73 Mon Sep 17 00:00:00 2001 From: Long Nguyen Date: Sun, 14 Nov 2021 14:55:35 +0700 Subject: [PATCH 121/N] _testconsole.c: Fix casing & path sep @@ -30,5 +30,5 @@ index b62f21c..c8b9593 100644 PyMethodDef testconsole_methods[] = { _TESTCONSOLE_WRITE_INPUT_METHODDEF -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0122-Return-consistent-architecture-markers-for-python-on.patch b/mingw-w64-python/0122-Return-consistent-architecture-markers-for-python-on.patch index af24f0f7c1..77fbb0694d 100644 --- a/mingw-w64-python/0122-Return-consistent-architecture-markers-for-python-on.patch +++ b/mingw-w64-python/0122-Return-consistent-architecture-markers-for-python-on.patch @@ -1,4 +1,4 @@ -From 8bcd28b1e2e0394240fa839bb4516d68339cdeaf Mon Sep 17 00:00:00 2001 +From 4f4a764595a50871a5955a0e5b53fbb6590e1bb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Fri, 19 Nov 2021 12:18:06 +0200 Subject: [PATCH 122/N] Return consistent architecture markers for python on @@ -51,10 +51,10 @@ index 2d935fe..fc8132c 100644 #define ARCH_SUFFIX " 32 bit" #endif diff --git a/configure.ac b/configure.ac -index 23dd59b..e688fb8 100644 +index f5be44c..81e94c3 100644 --- a/configure.ac +++ b/configure.ac -@@ -5197,6 +5197,9 @@ case $host_os in +@@ -5209,6 +5209,9 @@ case $host_os in aarch64-*-mingw*) PYD_PLATFORM_TAG+="mingw_aarch64" ;; @@ -65,5 +65,5 @@ index 23dd59b..e688fb8 100644 AC_MSG_RESULT($PYD_PLATFORM_TAG) esac -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0123-distutils-add-back-gcc_version.patch b/mingw-w64-python/0123-distutils-add-back-gcc_version.patch index 1c93ceab1e..a6ead317b5 100644 --- a/mingw-w64-python/0123-distutils-add-back-gcc_version.patch +++ b/mingw-w64-python/0123-distutils-add-back-gcc_version.patch @@ -1,4 +1,4 @@ -From 825cae18785111ece6ac216335c4b83fccd6034c Mon Sep 17 00:00:00 2001 +From cd85d3a248958e37c27fa2a75302c9bf74f74bf2 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Sun, 21 Nov 2021 14:00:06 +0100 Subject: [PATCH 123/N] distutils: add back gcc_version @@ -34,5 +34,5 @@ index 6e22555..d8c8428 100644 shared_option = "-shared" -- -2.34.0 +2.34.1 diff --git a/mingw-w64-python/0124-fix-mingw-cross-compiling-in-setup.py.patch b/mingw-w64-python/0124-fix-mingw-cross-compiling-in-setup.py.patch new file mode 100644 index 0000000000..bd820ddb5c --- /dev/null +++ b/mingw-w64-python/0124-fix-mingw-cross-compiling-in-setup.py.patch @@ -0,0 +1,47 @@ +From a0c70e5ea03a000ac5cc27ed5c64c21c6799667a Mon Sep 17 00:00:00 2001 +From: jeremyd2019 +Date: Mon, 22 Nov 2021 13:15:12 -0800 +Subject: [PATCH 124/N] fix mingw cross compiling in setup.py + +gcc outputs with `;` path delimiter on mingw, so use `os.pathsep` instead of `:` (assuming this is a host rather than target decision) + +clang does not output `LIBRARY_PATH` with `-E -v`, so add an extra call to `-print-search-dirs` to find its library path. +--- + setup.py | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +diff --git a/setup.py b/setup.py +index badb119..2d07ea3 100644 +--- a/setup.py ++++ b/setup.py +@@ -713,14 +713,25 @@ class PyBuildExt(build_ext): + elif line.startswith("End of search list"): + in_incdirs = False + elif (is_gcc or is_clang) and line.startswith("LIBRARY_PATH"): +- for d in line.strip().split("=")[1].split(":"): ++ for d in line.strip().split("=")[1].split(os.pathsep): + d = os.path.normpath(d) +- if '/gcc/' not in d: ++ if '/gcc/' not in d and '/clang/' not in d: + add_dir_to_list(self.compiler.library_dirs, + d) + elif (is_gcc or is_clang) and in_incdirs and '/gcc/' not in line and '/clang/' not in line: + add_dir_to_list(self.compiler.include_dirs, + line.strip()) ++ if is_clang: ++ ret = run_command('%s -print-search-dirs >%s' % (cc, tmpfile)) ++ if ret == 0: ++ with open(tmpfile) as fp: ++ for line in fp.readlines(): ++ if line.startswith("libraries:"): ++ for d in line.strip().split("=")[1].split(os.pathsep): ++ d = os.path.normpath(d) ++ if '/gcc/' not in d and '/clang/' not in d: ++ add_dir_to_list(self.compiler.library_dirs, ++ d) + finally: + os.unlink(tmpfile) + +-- +2.34.1 + diff --git a/mingw-w64-python/0125-Use-actions-setup-python-for-setting-up-correct-vers.patch b/mingw-w64-python/0125-Use-actions-setup-python-for-setting-up-correct-vers.patch new file mode 100644 index 0000000000..0b687910f5 --- /dev/null +++ b/mingw-w64-python/0125-Use-actions-setup-python-for-setting-up-correct-vers.patch @@ -0,0 +1,36 @@ +From 20616d4f465d8649a0e73c84d3e7587162da3d2d Mon Sep 17 00:00:00 2001 +From: Naveen M K +Date: Fri, 21 Jan 2022 19:25:44 +0530 +Subject: [PATCH 125/N] Use actions/setup-python for setting up correct + version in cross build + +Fixes https://github.com/msys2-contrib/cpython-mingw/issues/67 +--- + .github/workflows/mingw.yml | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/.github/workflows/mingw.yml b/.github/workflows/mingw.yml +index eb27adc..ffd6ecb 100644 +--- a/.github/workflows/mingw.yml ++++ b/.github/workflows/mingw.yml +@@ -162,7 +162,16 @@ jobs: + - name: Install deps + run: | + pacman --noconfirm -Suuy +- pacman --needed --noconfirm -S mingw-w64-gcc autoconf-archive autoconf automake python zip ++ pacman --needed --noconfirm -S mingw-w64-gcc autoconf-archive autoconf automake zip ++ ++ - uses: actions/setup-python@v2 ++ with: ++ python-version: '3.9' ++ ++ - name: Check Python Version ++ run: | ++ which python ++ python --version + + - name: Build + run: | +-- +2.34.1 + diff --git a/mingw-w64-python/0126-Fix-buffer-overflow-in-Py_GetSepW.patch b/mingw-w64-python/0126-Fix-buffer-overflow-in-Py_GetSepW.patch new file mode 100644 index 0000000000..b780e10db2 --- /dev/null +++ b/mingw-w64-python/0126-Fix-buffer-overflow-in-Py_GetSepW.patch @@ -0,0 +1,65 @@ +From 3210f304dbb65efb04a6525913a4dc1e0003fb46 Mon Sep 17 00:00:00 2001 +From: cat +Date: Sat, 11 Dec 2021 14:21:07 +0500 +Subject: [PATCH 126/N] Fix buffer overflow in Py_GetSepW(). + +--- + Python/pathconfig.c | 28 ++++++++++++++++++++++++++-- + 1 file changed, 26 insertions(+), 2 deletions(-) + +diff --git a/Python/pathconfig.c b/Python/pathconfig.c +index 222850b..7d75216 100644 +--- a/Python/pathconfig.c ++++ b/Python/pathconfig.c +@@ -20,6 +20,30 @@ extern "C" { + #include + #endif + ++static int ++Py_StartsWithA(const char * str, const char * prefix) ++{ ++ while(*prefix) ++ { ++ if(*prefix++ != *str++) ++ return 0; ++ } ++ ++ return 1; ++} ++ ++static int ++Py_StartsWithW(const wchar_t * str, const wchar_t * prefix) ++{ ++ while(*prefix) ++ { ++ if(*prefix++ != *str++) ++ return 0; ++ } ++ ++ return 1; ++} ++ + char + Py_GetSepA(const char *name) + { +@@ -30,7 +54,7 @@ Py_GetSepA(const char *name) + * The "\\?\" prefix .. indicate that the path should be passed to the system with minimal + * modification, which means that you cannot use forward slashes to represent path separators + */ +- if (name != NULL && memcmp(name, "\\\\?\\", sizeof("\\\\?\\") - sizeof(char)) == 0) ++ if (name != NULL && Py_StartsWithA(name, "\\\\?\\") != 0) + { + return '\\'; + } +@@ -82,7 +106,7 @@ Py_GetSepW(const wchar_t *name) + * The "\\?\" prefix .. indicate that the path should be passed to the system with minimal + * modification, which means that you cannot use forward slashes to represent path separators + */ +- if (name != NULL && memcmp(name, L"\\\\?\\", sizeof(L"\\\\?\\") - sizeof(wchar_t)) == 0) ++ if (name != NULL && Py_StartsWithW(name, L"\\\\?\\") != 0) + { + return L'\\'; + } +-- +2.34.1 + diff --git a/mingw-w64-python/0127-Remove-unnecessary-strlen-in-Py_NormalizeSepsW.patch b/mingw-w64-python/0127-Remove-unnecessary-strlen-in-Py_NormalizeSepsW.patch new file mode 100644 index 0000000000..0414138715 --- /dev/null +++ b/mingw-w64-python/0127-Remove-unnecessary-strlen-in-Py_NormalizeSepsW.patch @@ -0,0 +1,42 @@ +From 473806045dc48fa00d29c6000b03210ddd700bf6 Mon Sep 17 00:00:00 2001 +From: cat +Date: Sat, 11 Dec 2021 14:23:29 +0500 +Subject: [PATCH 127/N] Remove unnecessary strlen() in Py_NormalizeSepsW(). + +--- + Python/pathconfig.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/Python/pathconfig.c b/Python/pathconfig.c +index 7d75216..d47cb6f 100644 +--- a/Python/pathconfig.c ++++ b/Python/pathconfig.c +@@ -83,10 +83,11 @@ Py_GetAltSepA(const char *name) + void + Py_NormalizeSepsA(char *name) + { ++ assert(name != NULL); + char sep = Py_GetSepA(name); + char altsep = Py_GetAltSepA(name); + char* seps; +- if (strlen(name) > 1 && name[1] == ':') { ++ if (name[0] != '\0' && name[1] == ':') { + name[0] = toupper(name[0]); + } + seps = strchr(name, altsep); +@@ -135,10 +136,11 @@ Py_GetAltSepW(const wchar_t *name) + void + Py_NormalizeSepsW(wchar_t *name) + { ++ assert(name != NULL); + wchar_t sep = Py_GetSepW(name); + wchar_t altsep = Py_GetAltSepW(name); + wchar_t* seps; +- if (wcslen(name) > 1 && name[1] == L':') { ++ if (name[0] != L'\0' && name[1] == L':') { + name[0] = towupper(name[0]); + } + seps = wcschr(name, altsep); +-- +2.34.1 + diff --git a/mingw-w64-python/0128-handle-ncursesw-pkg-config-when-cross-compiling.patch b/mingw-w64-python/0128-handle-ncursesw-pkg-config-when-cross-compiling.patch new file mode 100644 index 0000000000..32b7e929e1 --- /dev/null +++ b/mingw-w64-python/0128-handle-ncursesw-pkg-config-when-cross-compiling.patch @@ -0,0 +1,63 @@ +From 12d1cb5b7c60901e36163b3e0599f11703c4946a Mon Sep 17 00:00:00 2001 +From: jeremyd2019 +Date: Mon, 22 Nov 2021 16:04:41 -0800 +Subject: [PATCH 128/N] handle ncursesw pkg-config when cross-compiling + +strip extra args from pkg-config --cflags-only-I, setup.py is only expecting a single path. + +Use pkg-config ncursesw include dir even if cross-compiling (PKG_CONFIG_PATH should be set in that case). +--- + configure.ac | 8 +++----- + setup.py | 3 +-- + 2 files changed, 4 insertions(+), 7 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 81e94c3..ca712f1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3403,7 +3403,7 @@ else + fi + + if test "$with_system_ffi" = "yes" && test -n "$PKG_CONFIG"; then +- LIBFFI_INCLUDEDIR="`"$PKG_CONFIG" libffi --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ *$//'`" ++ LIBFFI_INCLUDEDIR="`"$PKG_CONFIG" libffi --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ .*$//'`" + else + LIBFFI_INCLUDEDIR="" + fi +@@ -5597,7 +5597,7 @@ then + fi + + if test -n "$PKG_CONFIG"; then +- NCURSESW_INCLUDEDIR="`"$PKG_CONFIG" ncursesw --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ *$//'`" ++ NCURSESW_INCLUDEDIR="`"$PKG_CONFIG" ncursesw --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ .*$//'`" + else + NCURSESW_INCLUDEDIR="" + fi +@@ -5605,9 +5605,7 @@ AC_SUBST(NCURSESW_INCLUDEDIR) + + # first curses header check + ac_save_cppflags="$CPPFLAGS" +-if test "$cross_compiling" = no; then +- CPPFLAGS="$CPPFLAGS -I$NCURSESW_INCLUDEDIR" +-fi ++CPPFLAGS="$CPPFLAGS -I$NCURSESW_INCLUDEDIR" + + AC_CHECK_HEADERS(curses.h ncurses.h) + +diff --git a/setup.py b/setup.py +index 2d07ea3..7ef50e9 100644 +--- a/setup.py ++++ b/setup.py +@@ -1117,8 +1117,7 @@ class PyBuildExt(build_ext): + panel_library = 'panel' + if curses_library == 'ncursesw': + curses_defines.append(('HAVE_NCURSESW', '1')) +- if not CROSS_COMPILING: +- curses_includes.append(sysconfig.get_config_var("NCURSESW_INCLUDEDIR")) ++ curses_includes.append(sysconfig.get_config_var("NCURSESW_INCLUDEDIR")) + # Bug 1464056: If _curses.so links with ncursesw, + # _curses_panel.so must link with panelw. + panel_library = 'panelw' +-- +2.34.1 + diff --git a/mingw-w64-python/PKGBUILD b/mingw-w64-python/PKGBUILD index dea9387652..62bcfe3fa2 100644 --- a/mingw-w64-python/PKGBUILD +++ b/mingw-w64-python/PKGBUILD @@ -21,8 +21,8 @@ else pkgbase="mingw-w64-${_realname}${_pybasever}" pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}${_pybasever}") fi -pkgver=${_pybasever}.7 -pkgrel=4 +pkgver=${_pybasever}.10 +pkgrel=2 pkgdesc="A high-level scripting language (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -170,7 +170,12 @@ source=("https://www.python.org/ftp/python/${pkgver%rc?}/Python-${pkgver}.tar.xz 0120-distutils-split-CC-env-var-before-passing-to-subproc.patch 0121-_testconsole.c-Fix-casing-path-sep.patch 0122-Return-consistent-architecture-markers-for-python-on.patch - 0123-distutils-add-back-gcc_version.patch) + 0123-distutils-add-back-gcc_version.patch + 0124-fix-mingw-cross-compiling-in-setup.py.patch + 0125-Use-actions-setup-python-for-setting-up-correct-vers.patch + 0126-Fix-buffer-overflow-in-Py_GetSepW.patch + 0127-Remove-unnecessary-strlen-in-Py_NormalizeSepsW.patch + 0128-handle-ncursesw-pkg-config-when-cross-compiling.patch) # Helper macros to help make tasks easier # apply_patch_with_msg() { @@ -306,7 +311,12 @@ prepare() { 0120-distutils-split-CC-env-var-before-passing-to-subproc.patch \ 0121-_testconsole.c-Fix-casing-path-sep.patch \ 0122-Return-consistent-architecture-markers-for-python-on.patch \ - 0123-distutils-add-back-gcc_version.patch + 0123-distutils-add-back-gcc_version.patch \ + 0124-fix-mingw-cross-compiling-in-setup.py.patch \ + 0125-Use-actions-setup-python-for-setting-up-correct-vers.patch \ + 0126-Fix-buffer-overflow-in-Py_GetSepW.patch \ + 0127-Remove-unnecessary-strlen-in-Py_NormalizeSepsW.patch \ + 0128-handle-ncursesw-pkg-config-when-cross-compiling.patch autoreconf -vfi } @@ -402,127 +412,132 @@ package() { fi } -sha256sums=('f8145616e68c00041d1a6399b76387390388f8359581abc24432bb969b5e3c57' - '62dee5891edefd2c05f7c5fb93becc4a83eeb5ff9ac6ed2ffb37cd93a5296c2f' - 'facf4dd94f93745a5ffa03b0d9b00b032d85a1629b91ba0113152f2fb20110df' - '31b5385e31ead9867047d9d343d4567b49f51d5cb6301076d243c1d8537789cb' - '40fd2bbc169f0db3fb3fe9ec1f960b1dfbe15dfd8c462c10f36e680150368693' - 'a4b0454b42e1ce408f6c6632cec94175b13c6d5ee2aa3cd33d3e4b4b6d48d1a7' - '44d18e581bdc6519ee746e63fff4ea81b913ec15d09fb575701f0a2412c02515' - '88c3bcdbe91e5221e7964e83b267ed63d4b46e0a304dd75b88c796485d4118e2' - '2aa4db9736094c76529d4e72a740aff140161f5ba52002b70e1d7110c069e1d8' - 'daec5d65d62d742f421b41bb93fb327acd1dde42c398c726b0293dca41d17586' - '7e7ad89cc3686beff133a6a15744ac523ebfceffc853a327055698ecb1df9c97' - 'd233182363189d80f7a9fdc21957e0cf0d24eec96420e93ba157817d18258902' - 'c137f268598e317f1ddb8d0e8c50ab34afb9f8af082b70f02fafa3187b986e77' - '034a0bba9a867056d21a8c553988ecbb1ec9a05c916770aa4f9fdefd47bf69f0' - '5edebfd151887950f63f57d1fb8b04fbd07d7a9a2448a7c6117f7ae44ae277a1' - 'fae9ac675f98bab4e069a08146529842a1de67b781c1a34d9cbb2c34473bd534' - '4fdfebd8cfdbf063d4b6f3ed8ec0cfcf3eb24cc357a8355d48635ee435424e1c' - '74319cb9003d5d8b0dd8cbd13ba1aadafd97b9c0e6745d4c968360c0db8efd85' - '7bfdd2dae64607834fa86ea628f2ab516306cc630ae9a25cd0e50f26afc38410' - '895d7db4d450ef65532b75afff0dee59f5c6201e49513804a5b5b605c443d35c' - 'e91c00307f4ef91f4ce0f2afe7242ed72a97b7a4cabe78cbe5b637780153782e' - '224032f9ccdd02bd6ead869b994fae615ebf64861719f07ed1d04ba7501b8bf3' - 'cce804c221beaadd88a0caefcb1fab7b4b5d12676e7480e080027712fed5f535' - 'bb61e25cdeda43600f021fda5ae12a3894e4edc4aa7ab88a82fdfbee5baef169' - 'f8cc1303c4d1ad8902c31eb28f2f50f84ebae8534d114f3a710842436f5d0156' - 'ab8e7b565b616cd38912fd985b2b179caebf94ca3a93989b628b10aa5497bcf5' - 'baac8ad6653f230b0cd246750f5224376d550e415e01abf538b317af79ff45f2' - '0bd5d9c6165a292e46b20db43848bf3fc01aed351bc0129e0e8394b337124e63' - 'cecc2f13e03f2a02cd3168cd59178e02b96898a79d26c25a6383cc90e85bc99a' - '3a58224757d0137c1829811773c6bc55b41ec9a71045a3aa8104c17cd2d1bc7b' - '2aac0253b2da3e0df0ecdb051f8ed8dee7cf512d347507173219b0d4479212e5' - '970ffa333e58eee1c4695bc25b3e9c65100b225d51e8da1ae8752d203b5dcf42' - 'b73d39ef2a1c1f2b32ae6ce534be7651cdf693487861e432bbfcad3c03f2fcd3' - 'eb8c6daa2a51f462a6b12fcf2eae08b86ebe5fe9fe8ce6ccb69b4c80876703ba' - 'ba8137f997bcae37963e430c59a0e8f306f8f2815dcba50e69da36a6326066c4' - '41523d21ae6e13c878d929dfcc86da3913752ea0c325e16060bcf115814681fa' - 'e7d181d5562b918837efa4c5a77884bde328ab81522e11d0989ddec8f4518995' - '33808d7711313245a9f4275579e0f1d976f35a068d7f90381ab8301765ceede4' - 'be4685b97eb1062f9cd3840f22bb796e89a8b56985185e324f5e880756d005aa' - '0f15005bf785df95402fb7cc974ee9625b70dca60de886e77153300d71444243' - '9fe5c25c9c3e3d0903d70b86eb3db089fcf87a534709cf648334d8d629ef561e' - 'b658719f2ee4139d39b8578d65b51f8bf49de037c289730a72bf4dfbd2da0486' - '868f5345735931a80f5e5feebab34f64b934870b2a1b51cc21649d92915f3195' - '56fe041fe46eff76e76339476181f46f9dd5b13d02c00d1fec6e7858861722d7' - '1563ceec0dabfe9f2ef4aee4d64c2f91ecaa676e8e0b50ce24555fd154270cb5' - 'c5848a029d2a99b1243bb29c4ca312289eed1e87e56ab116388d5f16657dd7f9' - 'cb7826bcd96a8d5e7e54d3b68d3c380239e256cfbe7a9158a6df5291d88b7a1c' - '2a19cb76fce616706a756824f8fc15593705a510d75e7470472354b0e7d9651f' - '36276acaef36d7f931466b354ad65518f8a281e0d710b2559816227c5f9e896b' - '3e09967925852f77d65bdbb8ef67d4f831b15dbf84f8ee4b302a124abe591dd7' - 'd810d09d7d9c51764fd2979c5d993788922f8c3973e634ff794120b4ef3ebd82' - '9c49ce0e358eeec2c601e40d6be1d77bf1cd768718e957b0b4fa05fe29c8afe7' - '3b4218fe344cfca87412e3a5c8a6ab4e27a15a51a2f6a7b5d9b5516092232edd' - 'bf1d6c7c015057c3a866f3162b5fa519aa5c922edcbd8f5a80cb5339b1a7d6f8' - 'c4b4519eacd0bc8d4539929794fd1dc64051a0c08c8ada84f497ed91e5d8a506' - 'e413edeed77f5d50cfc3820748bf1416098b9fdb9ac066c8386ed0bdea3c74f2' - 'eaaae33a228ef8e8756b64a484abec18c1b0ead89b791c0712637e8a7292c3eb' - '0454bf64b7cd457ce9bbffa0d485b50c0b67826ccc7aee5c489df83e20cc8a5f' - 'ce94a5bfda2bbd6c9d8d98f2677c31f4cec5102611e78bc6d38ba13dfa22bf0b' - '9a4161f8684bdb2b9e0581b2156419ccd0dfe8b0486af6787be2985928ee94a3' - '631d9ff17da9fd37d0e299ee8b216e8344e057f4a7440c07aa497985afd6664b' - 'ea9d50b27a8b29b469bbe4f2cb5e695691af698827e790e2ad1420b6ab04b233' - 'ef0a4f372c5903212e24918aac86069d0798cd361554538037b3588e9bf19523' - '2086dadea83905f42988ff5037d31be4dbe8253aa83d6b67a332d3a4cf165a61' - 'ef31fd0238162f2109e9ee80a1e41ce2a756ada8171cdec0a8f37ff3f76e8cd8' - 'd45a8392eee1d7d5a7d91ae61f96a885a4899104ac9533ed6a32ce16f35d1852' - '98c4ddbef16395313d296cf86553c0d9d061308137fde247dcbc633de5e2461d' - 'cf1128a6430a596301769281ec2c4f2dafd328b31bc9501700a185a21fd2fc23' - '2547abc66905ea80b599e4d32694b56c8ab4092915807d825988826b85dee643' - '5fcf08ed217adbfe3f2323a8cf0838ec8b11173247ee734b6984845efb555ed1' - 'f670325ad0dc35d8710bd9109a115eda65db44b0bd7dc6c44900c2558e58fc0c' - 'eb8b9f47583cb54e34e610e9025eb5f2049cdd701e4bd7f9de45759eaf364a92' - '359373beb1f2fcb911659f05904bbd483cf35827562c14c5877f6be5a2ce20a7' - '6e50a79feb4ccc655666c95c1d421a1617af9246f967e50862f41bf7025156fd' - '1b2a28b12c017d13358d35747ac34b1167509ad1df387359c0b40020a1273b8e' - '7240b47fb2d64c20d35183af9e8b1de88eb8725d98ecd9dd7a099d6ddebf6804' - 'de98c0fb9472e6fce69a9a99c208577708c4c9bd27e004319977b71eb6a51ce8' - 'ff30c56ffced45caa4129d2c33196237d803f36759b2bfe10aa6a918098fa1b1' - 'c9f7bf2853bbc00729adbd03e32d25a15525887d57d947b78d0d4ae4b0b81456' - 'a668afa04b36e90a37cb52b1b00696c4ba4637e1b55dee9db1e3b07475bcb909' - '5ef6761afa3cec5921383f9a0a015d139335cf58ddc04f70a38cf10b4302da61' - 'fcad9789af50cdf48b0c61b257ef110c173908e963ae865d20013e9ce00a10f2' - '30045769cf6f34e436152a87bfd676a9c95399c2c0f5b2fcba2b29e74dd1173f' - '9782367937a0848eb4672c60a73d94ba27dd3d3794b32f26641b1da4ad417f5b' - '0c3b64d9d3c876f8aeda7b90b988ddbf6f7f0cc41b79476560d52b0812d601af' - '2860fa9641d27f72cec51096f9bb793f7527316317b6558d3774e221c050d4dc' - 'ceadfe08d129b940f5fbbbd7676482e2de30fa3163f8faf5439717e9743905e9' - '45b8f9cea7cf42bd52969f9b8518b5d585aaf966770517d673c5276bb0232b77' - '8b3c21e13d1368907af5f6381af100af95860fc639d62b240d8cb4e7fcdd3620' - 'b757a321247d91061cec371eeba8d83dc570be5f2ef3114baadfe1e400242a55' - '3dfecad6652374ab78cfd6c2d2379f28d261e900c54e064758547a4d14624b52' - 'bc420000d9968dedf38bcfea72396afa577e867069986cf4b09d3ef4f18d2e08' - '03a8660757c9328431b26c6db71504b3d3b0b1e99da05b890b0617a01fd50cac' - 'd6c0230be39d4254ee9a977ef8846168da2165178e5d4451670685db0d6be54b' - 'f5c5a2c9c1f2caf48c860b53f78d2f50488e72ba8e7a63409545a37fd5f3458d' - 'a367e7df40d991755dde4a06f626ad00f3289f29da3b7b98dd14dc40b62c596c' - 'cebe9d80e1073ce9b2666bd8aba1cf9b5faee3e50075cb415cf9be4267962569' - '09cd036c0612adc45de07090ec79f35856189ca4975573d08e92fa11d3c55502' - '2e46feb5f6ec1eed759b2afd3089bb829d45baa7482cf8fe12b3c1f25b418d8b' - 'e0e2f45c23934879d35d1ce34b94b4cf56187076df985c3ed138977827fa1691' - '182b4c2c50325b4d7ef552caa453e6bbe02b4bd3fb702215d20449e8e233cf94' - 'a4a8c74a2c329bb503e8377c0ca55b57d8c0252f1c96f06ba96c4c54012854fd' - '96c3c78efdde9ee90f238c6b093ccd5d5ebfac45914a2da156dad9cf287633f4' - 'beff69d5a66e14a4bc56050800cef779c96049aef722ca30a49d0b52f25cb4a6' - '120aed1c70df0baae6e78b896aa016929617dfaf3e3afc721f0f9779384529d7' - 'a8f97320a115e5f1525b364a9427481eb6d1418128106e7a99279b86f95b87d3' - '6f1b6f865052c9081b8a9956775d621b2dbfc6d22b4dd0e35db47b74192b07c7' - 'caca983baa6cc004b3ef2ee913af5ec1982ad8f04390dd335503b0185cd2d7e5' - 'e3b5abae5a1b3bbe6108b732fe2dc9f4b14c8962161dc13ebd4df69bbd870b4c' - '0d6a07d8e3c2f5e29b00dc99f939fae79d903c464c38b6590999b8d10d41ef19' - 'c9b2552990c528d0f7be7ad82803851bb16d574e7665adfb3eae3a24aae83fc5' - 'ce21963119d3b568c787081814bbe9d46e352ea8134838b7e092be004e5663d2' - 'a299a06c07a2a5b207a2e0bf9ce9b79427efeb92b0a3e150f0a456c81cb451b4' - 'dbec7ed2680a489446bd6f767149ace3c7d624842d9503249ecad7c4c9714f59' - '63e512d17e64f1500ead8a479c73296c6e4ada26175e867d2c58079429c4e251' - '102d0812928bb817910eb5d965ca1ab3b25d4de048dd5fc8d90bdac30585f6f7' - '5beda69c068727d1c5c94daf61f945febb493da1ca9681071e9718d3d4b146a4' - '678b0f67b6a7b9615c1c31fdab54b892c26ad26ad2f61957d7ea00e7922a77d3' - '499c1338b65229c1fd18eb05e45ee594eef1f8aaf217fb5a1e4b8ac982432aa6' - '56ae4c1a398914f7dfa93f4429d2be6e9f81c07d876824e5520e31ecbc98fad9' - 'f72499c24b56e13817255fedb14299a741cd7e2ba27d7645b919ddfb95c78db9' - 'e3fcb48ac5bcf26f27d3eafc20339160cafabdad40c2f50b52b2511300058579' - '0d8c0df418f382c8a46544d7ddfce508e010c8f94d54160bb02593c19a006ea5' - '5dad739b639b0db6344be0faa1f68243567f6a625c4ce9a2d263d06e55f66367') +sha256sums=('0a8fbfb5287ebc3a13e9baf3d54e08fa06778ffeccf6311aef821bb3a6586cc8' + '60650cee2336a38745531e0c471399ecfc368700f4d28793797c302c3a50a566' + '168a439e7aff58ed3dc8f373516ec98eb30913fc1d2f221179c203089b0edcf5' + '38224674f5c5ffb0091823c383fe01a984df8a1ad04600d2ca8626bc56686b30' + '09840437dd5ef3a7f95c8b82f0b848bf3b6013a75935bd7e860514a0d4816776' + 'a08b996f85450f6d0034e051319f2f251378cbad731758fe41b95a8a63d8c114' + '936f53654f5bb61ba17b1865890c19f265985355396ac6cf44f868809156178e' + '86c7b3a2900c8c865caf3822cb6f386e364c621df762778087238cd1dfeae5f2' + 'b7fbbfe4ee8427a1557e03ef8a882063c9c4442ad2704a5b1405bc0887a63bc7' + 'f9d8304547f4e78293c96ed19038a7204520797a337a97ff8adc3e46deb1c772' + '5fc51578040d4d2b6ba30437a882b62a850bdfb6cab5a02e2ab073d47c5a2727' + '3451df1a841470d5441644acaec1e3fa2a68c505c93419251ddeb673141f8297' + 'fee31a78904b3728e548a64af7172100f97b4f61db26b02b31f7ae3f4ee0d17d' + '86867a92b3d230bb6167c04fbb0fcd479cd85823ecda49cc59490c6afae9c900' + '3cd374775817ff1c345bb04654df07d3e363a3e3513dce19969b4710343da048' + '5c3b83875f9bb96dfc46db2876fd11f52ff11b7ee419ab3117643527b2f7e752' + 'e1f4bf7ee19a132682088bd0afebf4e38fcfe6f61f7a068a2bd8384036f986ad' + 'e6a813338ff07bcdeab6a9a2cfd448a6abe85f9407e6f294ea938b53ece9f916' + '8fc1ca5cc349f0101bcb6411c6727b4510f432ac449fff35941f34d6f3b30846' + 'bbe154f44ffac46b365c9100d1fba385d9fe727ee9698ce47684c82cc2c2fc0a' + 'd07b44e0461147d4b1fac4cfe7d49f95ecfe19f7e872e93c02653620b378c1ae' + '111d535b6938515b2fe66bd0870e09f7e6110bfbd53b2b896f435de93672ba9b' + '49f98bd4b4cb2bf26d40fe53918ef4b8ea5f366e077e24cfce265004d9e5e813' + '727968284fa21a92dad810e444091350fac9b34aca29f772e67f6ac47e74284d' + 'a5bbaafc5eed72346f618e2d3642109f31f1e62d8025fa5ccd2a73853fb81f64' + '95883f9bdb8b1ba84ca02e803c1aac662bb63fe3c35c18f70a1ffee07db2e760' + '7fd66c363e37673a90189efc832647834bc2b4021169b0a4c2c3f553e2aee252' + '418cdcca9196bb396b2c2cbfaecc54ac4858c5aaf040d97f00cd2e8fbc2101bb' + 'b467817f1b44c14ee218156a1d39007d96bbf924e8d784a97ee6247c09ca7790' + '88c22e47524d5ee5669d0fe470863a9e602d6f033225575e07d0e40069b96021' + '95cc396fcb39ab9cd8b0ab0118a2aab680ffd780e4223738ae6096b45637c103' + 'c4e5ca79353e3138cfca40d8e837436e0391b8a899ef4fbb12b7f8cfae70685a' + 'bf9bb6ec92e57f7ac8b8036dce564937319efe9bec789e90c9e5f535cf199a2d' + '7642ef2113842a1d5b82d4e2975c3101d0e8a7cfcebb21618f42b99b7346710a' + '04837a3b9a35f5ab49ad5f96a292565aaa27d3b377e6c46c41764373156235c4' + 'c1918a148aeb2c55139cd08c27974ba6edd0ef0248474a739c27ddb0e7fdba27' + '493ebda56669d48c756cd499b6eda43b975a71a3a04aef50949e8afdb31ebb64' + '927cf53ad8053cf04c670925dbc7ba70c98de33a1d7830c4e3f6242bba627e72' + '7aa0e088de3f7d5ed56de08e854b0ccf7447587c031b291cb70385314ab23049' + '782d5705129ce4432df35377cd8143a83111e03c2244ed7cc4bdc44d6ff07856' + 'e2e46ce6a0ee1dc7b88875a01be16ac8d142c8b588c5e434bfe6663c90ddf2df' + 'e3be03dc47acd14dd2f2a730c6dc5518f814d5841d62abea6a0b48efa06a4228' + '8e5a3171da2c2b3c771b1855b7918b7326c872de7fa0d14bcb65608837cbeea2' + 'd7798e45c09f0fd38c123e7ca5224ea2554e758a6d870347c5fef6edc50b6c6d' + 'b35baeb182ce5193613029602c3975f8df62ff2914329baf2c09d3b615620b2a' + '4fcb2f83b721e0529ce89fea66728b416f703caa49e2c169f9e23c9a60e34592' + 'a9b1a3956f208db9fff439a98535c287385a7f5e2631a4181582b8ae72a9c589' + '92a9af8ff4295279cf647c01d84081696087d9f5af33f06079c5f5594a71b983' + '7f89f54f228e93e7214a4c63fef63fe6114afae7e0645e2b89c1ab4b18c36403' + '09793e3629c2e173a034e0bdd182d2d71e26675434951356839a241d0094f3cf' + '6192d280c42f769e9ed78dcedf853e3c8f0bc8d3cc55238f0650f3699dc5c71b' + '8811fc1885cab84ec168b75af75a1aa80a889831d750403a78701ba953171369' + 'a275aef09e2d1de2f3a86146dac64fc43c67a4316c2d357e373da9fed6da58a1' + 'ca05645a9a11218dd5af61dd29189d4987ac73835df2fd2fe2584c50b11e3a53' + 'e98878ba09845b99b1126b62fff9bff287a971a5af7a4a40d725652144e9a929' + '4b0a7a3af45c5c3de5dfc2d4f8e22753f74dccd683ad11aabaa9efa4f71124c0' + '5066a8e32ede96a77b012295169620bfe5e91b6976fd6688a8d014dc007c6f07' + '2ab1246d675e3befd23c666eff2d691986526f8a07ec8932876b762ce877a668' + '941cd99a3ce9b345af8bdcd2b260a49fa161575ee365e56e8d5074b399b33798' + '76e840d422804f01bac1b51e936b1626b87eb867f624245aa58864706186aa81' + '8723dbd000deff073a02c6823236dd207d524e7951fdeebe961e5c2f5e29ba21' + '7a80ff908bf9a5e82c5664550a2fd259b037ca21cdb56aa081ff73ac0b15edf2' + 'd6c23fe6707926d2e0184b3f680766fcb669e2397157a9366405e9350addd030' + 'aa562c7b20d64175fe191cd6c00eb4550aa5d48e00031d45be67f9bea69279c0' + 'b5631dd8f2f4fafdef0c3d0becb33d63021f334fd2451c9ff4b527e6780736df' + '36c7ca7815354e5765c0cf4b16d9a3a83b55261d0a731962c7fdde5f6912a14f' + '271aada30e4887a290c3532bdc4820d58b2424f7866ad8374840d26e338765c2' + '64eb809b66e4ee7bfd8aba878e6fa4ad037eeb79c8d1c1efc7a0c6a39c61d0a0' + '586cb55731714973d904e071be3a161d21d3e99a8a18f4f266068a511e739ef8' + 'b453a6e53f3c1f0d1fa1b30e1114303123ba6a2399eafd5e0d80da1eea859042' + '1948e440008606c888957a85511b53d88ea8f7a13860bf6bb8429f8362634730' + '8dd42da695f2e43be5c39a68ac9d2ef7af93604e23c9aaaf55514db546a57708' + 'acfdc04626e7abc18f0b1894a80dc0761c1a62d37652dcc848c6efe952126d50' + '0391bb4743bf857b0cfeeac44e3fd8aa4a776e5478ea7d770101857c2bc5c498' + 'ec9091d2e7bd09a6ca5697a5f443bbb1635d63b43711e08e1a9e3f76cd66df2d' + '96ec270e675c1b0bce7d34fe86b92cedbc55d646a83f09935753f9c9a7622f00' + '6231ae6c6b94609a03c8c1eed0ed447693f3fa97e9550cd5ac397ad4ced82c09' + '10a186d35345e5873de3f3d5e731f4947028fda015d074069873788d4bd8ecd1' + '64fa589875de2196724977007e3bff8f1c9d0511d1ec3f4b56b02c5deb5072ba' + '80d92890d9439b47e776025e6431f192d6f87957ff90e418317946d72ad35d6c' + 'be9c9a3f04d690547c9590263b946d2be1365beeb9d913b6c7c3394f996bbf1c' + '671d2bc567f0db768d9637df3500100274e82357469f955285ad0e0165142d92' + 'cb33fae278f56414e0f4596982fc587e3588c53c8ea63e9bfe31f0ede848f8f5' + 'f1c09484198dbea759f597308d7c546c3b282441f9e53e9bc69b15030c80694f' + 'fa3f0bbaeed5ad5a9a55cea1e18c68364588156f8181afe7eed4278adb87416a' + 'dc319c34eab5dcb0aaa226439fa9c9958c791aed2228d8711af71c9559654c95' + '40a306f53d80f2086652eb6f89675587fb91f807824a2a830f28dbd744081b68' + '5edf62f1a5058b116804d1d9a794d2773573c918d9f0bf5d8697554378c39979' + '273df9944f409f39d64401f4f69360a434d09e382bf4d86892861e2fa86b2fb6' + 'aa818920ce83da07cd1108815172984b883af39486e017be5fc3b7d08f5dd155' + '190056e7b1258e6ad8e04ebfcda863d6dc9e52449a874fa86629d0b3650d09c6' + 'ead7b75338b7ca9fbe76f00d861bfb6a7eed0269b6d514565564e82873cf29ef' + '40891b0fb8e73d197a5be3483009dae171f4014c6fff0b6d38260ec749868430' + '077e86394f2297498d0bb0e31ca182378eaaf6ec4699fe0825825714a169e486' + '16537dc7c2541e6630d3940fb1621a2fddac23c635432c100417b9cc017c1744' + '9ab5e7b9779c37d97d3fb8721d075ca7218e91d7f33614e2a6fc543cb2fccebe' + '8fffbcae11339fed8bc5db8461bf33d1a21731472307095d86ce89bb70efae39' + 'fb20135c52b2d31099413e4093aa0176eac5bb8f4aadae44da9953abf99f4808' + '60203aad4248ebca91082b2ab026255adfb91b3e97ae91517c987038463ab5b5' + '27667a57d9d92c9845d75336e7edb181b3259da5c35503ef4b318e6933662568' + '7c85cbde9d63d48f30411f8586f13e7193445fb7e23cd2a4e526a00f4036153d' + '6fcb445cfb69bf303cbf218540090cb5bfcb3912ed34c9da379e2c8ddd62d02a' + '67adb386399de2a6e1ba037b43bccc03525c34af0d2a108e062f33ee834d592b' + '4be9c3edd0c4ede5e987e7a0ecd9c0c5d9268f9e0a0218c48246c1c7b14bc92e' + '9bd54319dee4744f96dcd2af76293772a4c70c28fed217c704209f69d070647a' + 'c6bf66856da49ea29d8e3a6abb8a998a4281ecbf012e205f6d950dc50b417507' + '3db41a2f58ea08abfa56269c3385c4c88c28e7f5f3d8705cea1e23f2882ec84e' + 'd6146f24a1318b7a110d3670b425c44288cfb70ea9289eed991ca887afef8bd3' + '70ea4ad3da593ffe72365fdfeada65e93d1d4abb738513ecebd463a79ee5ddf7' + '83d522bd0cfd1b428f77d3ba9e3e96372c41c30ee6355630697cb97e17016cd5' + '026719b4a09d296a4fc6bfb46137674f10915cb331c38a2914344d549fdc9277' + '1e29a61bd6af94ede2f02aa9cd30f827b5323b13d47350d3d799b9af9acc49c5' + 'b5a9ed1d214ab2e60c7e8db29dedcf8a19a9aad3f333016478368fd8edd34f29' + '8006557662ded0093128676c00d79e77a91d383634a88d3fefeadaf9442001d2' + 'f0e2052e660c25997c096e4364d1c6f257d7f2dbd2631f18505d0a009535e92b' + '8ede2976cabf1f5bb0892b5682db4992c0551f44adc547261a4553b53169ed2c' + 'c1544e7891eade882aeeaa4086255b31a9026891d87868705f3713755c084eba' + 'ec48b3816cc73080859c2252f1ce6a6a9f15890b15e133d07a69191f7d68da33' + 'a300004ba6b22874997c93cbf6e1f9e8eb1b6b286c464bfac4d02f4974d1a5dd' + '7cd30e9a8877c03ddcbc306c444e3080b6f6fc1b4f8e037c0d9f61a322b77264' + '8a4b437f2d077a184743c2c628d92ac2d87cae3b16aaae73c0a5ca1aa5ecdaff' + 'c81ce6b1924df5cee69d02694abbf198e8050d803e5d009df16d557cb3607414' + '9bd3388aacac702ff3f73fb6d076ac91e5a4775e9317ac4d683100f38b9db62e' + '04318674b0493d8f844bd1792209615e661ad702f3aacb10f2210458c99e1cfd' + 'e77aab9e9bf6c070c9c51b85d20d2ab35e227fd9d214a928c70ea1bbc3a5c1d9' + 'b89e281b8ed5e036ed76b8fe1dc4cca27bc53181c1acb844a546fe33a862d782' + 'df7751b5e4d4973f6610dcf4b069395e0cc91c5f23842c54deb9ae31cf1220c9' + 'c190aad285352d3084052b1dee2dfc5637b4d3c2b9826cea0be59f92a23eda05' + 'ee691f942441376b359abe8ee42cf5c915a51c69b8b73a0a504dd978bdbb519e') diff --git a/mingw-w64-python3.10/.gitignore b/mingw-w64-python3.10/.gitignore new file mode 100644 index 0000000000..90fadbd318 --- /dev/null +++ b/mingw-w64-python3.10/.gitignore @@ -0,0 +1,2 @@ +cpython/ + diff --git a/mingw-w64-python3.10/0001-sysconfig-make-_sysconfigdata.py-relocatable.patch b/mingw-w64-python3.10/0001-sysconfig-make-_sysconfigdata.py-relocatable.patch new file mode 100644 index 0000000000..2b41f07518 --- /dev/null +++ b/mingw-w64-python3.10/0001-sysconfig-make-_sysconfigdata.py-relocatable.patch @@ -0,0 +1,61 @@ +From 1cb98a152bd4e35adf1cc415e2ecd7151bf8949e Mon Sep 17 00:00:00 2001 +From: Ray Donnelly +Date: Thu, 17 Jun 2021 18:51:10 +0530 +Subject: [PATCH 001/N] sysconfig: make _sysconfigdata.py relocatable +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: lovetox <8661218+lovetox@users.noreply.github.com> +Signed-off-by: Naveen M K +--- + Lib/sysconfig.py | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py +index 95b48f6..b1c59c1 100644 +--- a/Lib/sysconfig.py ++++ b/Lib/sysconfig.py +@@ -2,6 +2,7 @@ + + import os + import sys ++import textwrap + from os.path import pardir, realpath + + __all__ = [ +@@ -460,11 +461,30 @@ def _generate_posix_vars(): + os.makedirs(pybuilddir, exist_ok=True) + destfile = os.path.join(pybuilddir, name + '.py') + ++ replacement = """ ++ keys_to_replace = [ ++ 'BINDIR', 'BINLIBDEST', 'CONFINCLUDEDIR', ++ 'CONFINCLUDEPY', 'DESTDIRS', 'DESTLIB', 'DESTSHARED', ++ 'INCLDIRSTOMAKE', 'INCLUDEDIR', 'INCLUDEPY', ++ 'LIBDEST', 'LIBDIR', 'LIBPC', 'LIBPL', 'MACHDESTLIB', ++ 'MANDIR', 'SCRIPTDIR', 'datarootdir', 'exec_prefix', ++ 'TZPATH', ++ ] ++ ++ prefix = build_time_vars['BINDIR'][:-4] ++ ++ for key in keys_to_replace: ++ value = build_time_vars[key] ++ build_time_vars[key] = value.replace(prefix, sys.prefix) ++ """ ++ + with open(destfile, 'w', encoding='utf8') as f: ++ f.write('import sys\n') + f.write('# system configuration generated and used by' + ' the sysconfig module\n') + f.write('build_time_vars = ') + pprint.pprint(vars, stream=f) ++ f.write('\n%s' % textwrap.dedent(replacement)) + + # Create file used for sys.path fixup -- see Modules/getpath.c + with open('pybuilddir.txt', 'w', encoding='utf8') as f: +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0002-restore-setup-config.patch b/mingw-w64-python3.10/0002-restore-setup-config.patch new file mode 100644 index 0000000000..29b339ec83 --- /dev/null +++ b/mingw-w64-python3.10/0002-restore-setup-config.patch @@ -0,0 +1,83 @@ +From 2df5b8d470b56352fa8eb8bbf86e1947753afdac Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:12 +0530 +Subject: [PATCH 002/N] restore setup config + +Signed-off-by: Naveen M K +--- + Makefile.pre.in | 4 ++++ + Modules/Setup.config.in | 5 +++++ + configure.ac | 4 ++-- + 3 files changed, 11 insertions(+), 2 deletions(-) + create mode 100644 Modules/Setup.config.in + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 790d974..712cb0b 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -711,10 +711,12 @@ oldsharedmods: $(SHAREDMODS) + Makefile Modules/config.c: Makefile.pre \ + $(srcdir)/Modules/config.c.in \ + $(MAKESETUP) \ ++ Modules/Setup.config \ + $(srcdir)/Modules/Setup \ + Modules/Setup.local + $(SHELL) $(MAKESETUP) -c $(srcdir)/Modules/config.c.in \ + -s Modules \ ++ Modules/Setup.config \ + Modules/Setup.local \ + $(srcdir)/Modules/Setup + @mv config.c Modules +@@ -1722,6 +1724,7 @@ libainstall: @DEF_MAKE_RULE@ python-config + $(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile + $(INSTALL_DATA) $(srcdir)/Modules/Setup $(DESTDIR)$(LIBPL)/Setup + $(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local ++ $(INSTALL_DATA) Modules/Setup.config $(DESTDIR)$(LIBPL)/Setup.config + $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc + $(INSTALL_DATA) Misc/python-embed.pc $(DESTDIR)$(LIBPC)/python-$(VERSION)-embed.pc + $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup +@@ -1948,6 +1951,7 @@ distclean: clobber + if test "$$file" != "$(srcdir)/Lib/test/data/README"; then rm "$$file"; fi; \ + done + -rm -f core Makefile Makefile.pre config.status Modules/Setup.local \ ++ Modules/Setup.config \ + Modules/ld_so_aix Modules/python.exp Misc/python.pc \ + Misc/python-embed.pc Misc/python-config.sh + -rm -f python*-gdb.py +diff --git a/Modules/Setup.config.in b/Modules/Setup.config.in +new file mode 100644 +index 0000000..5c1299d +--- /dev/null ++++ b/Modules/Setup.config.in +@@ -0,0 +1,5 @@ ++# This file is transmogrified into Setup.config by config.status. ++ ++# The purpose of this file is to conditionally enable certain modules ++# based on configure-time options. ++ +diff --git a/configure.ac b/configure.ac +index 3e6c07c..358784f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -5938,7 +5938,7 @@ AC_SUBST(TEST_MODULES) + + + # generate output files +-AC_CONFIG_FILES(Makefile.pre Misc/python.pc Misc/python-embed.pc Misc/python-config.sh) ++AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc Misc/python-embed.pc Misc/python-config.sh) + AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix]) + AC_OUTPUT + +@@ -5950,7 +5950,7 @@ fi + + echo "creating Makefile" >&AS_MESSAGE_FD + $SHELL $srcdir/Modules/makesetup -c $srcdir/Modules/config.c.in \ +- -s Modules \ ++ -s Modules Modules/Setup.config \ + Modules/Setup.local $srcdir/Modules/Setup + mv config.c Modules + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0003-build-add-with-nt-threads-and-make-it-default-on-min.patch b/mingw-w64-python3.10/0003-build-add-with-nt-threads-and-make-it-default-on-min.patch new file mode 100644 index 0000000000..313bd2bedc --- /dev/null +++ b/mingw-w64-python3.10/0003-build-add-with-nt-threads-and-make-it-default-on-min.patch @@ -0,0 +1,290 @@ +From 5807031b08c69e13f1279046ebf67eeb20264d00 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:12 +0530 +Subject: [PATCH 003/N] build: add --with-nt-threads and make it default on + mingw +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + Include/internal/pycore_condvar.h | 10 ++ + Include/pythread.h | 6 ++ + Modules/_multiprocessing/multiprocessing.h | 3 + + configure.ac | 101 ++++++++++++++++++++- + pyconfig.h.in | 3 + + 5 files changed, 121 insertions(+), 2 deletions(-) + +diff --git a/Include/internal/pycore_condvar.h b/Include/internal/pycore_condvar.h +index 8b89d70..dd98245 100644 +--- a/Include/internal/pycore_condvar.h ++++ b/Include/internal/pycore_condvar.h +@@ -5,6 +5,12 @@ + # error "this header requires Py_BUILD_CORE define" + #endif + ++#ifdef __MINGW32__ ++# if !defined(HAVE_PTHREAD_H) || defined(NT_THREADS) ++# undef _POSIX_THREADS ++# endif ++#endif ++ + #ifndef _POSIX_THREADS + /* This means pthreads are not implemented in libc headers, hence the macro + not present in unistd.h. But they still can be implemented as an external +@@ -37,6 +43,10 @@ + /* include windows if it hasn't been done before */ + #define WIN32_LEAN_AND_MEAN + #include ++/* winpthreads are involved via windows header, so need undef _POSIX_THREADS after header include */ ++#if defined(_POSIX_THREADS) ++#undef _POSIX_THREADS ++#endif + + /* options */ + /* non-emulated condition variables are provided for those that want +diff --git a/Include/pythread.h b/Include/pythread.h +index bb9d864..f1e52c6 100644 +--- a/Include/pythread.h ++++ b/Include/pythread.h +@@ -8,6 +8,12 @@ typedef void *PyThread_type_lock; + extern "C" { + #endif + ++#ifdef __MINGW32__ ++# if !defined(HAVE_PTHREAD_H) || defined(NT_THREADS) ++# undef _POSIX_THREADS ++# endif ++#endif ++ + /* Return status codes for Python lock acquisition. Chosen for maximum + * backwards compatibility, ie failure -> 0, success -> 1. */ + typedef enum PyLockStatus { +diff --git a/Modules/_multiprocessing/multiprocessing.h b/Modules/_multiprocessing/multiprocessing.h +index 277963b..07bb047 100644 +--- a/Modules/_multiprocessing/multiprocessing.h ++++ b/Modules/_multiprocessing/multiprocessing.h +@@ -21,6 +21,9 @@ + # endif + # define SEM_HANDLE HANDLE + # define SEM_VALUE_MAX LONG_MAX ++# if defined(HAVE_SEM_OPEN) && defined(_POSIX_THREADS) ++# include ++# endif + #else + # include /* O_CREAT and O_EXCL */ + # if defined(HAVE_SEM_OPEN) && !defined(POSIX_SEMAPHORES_NOT_ENABLED) +diff --git a/configure.ac b/configure.ac +index 358784f..380e64b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2037,6 +2037,53 @@ then + BASECFLAGS="$BASECFLAGS $ac_arch_flags" + fi + ++dnl NOTE: ++dnl - GCC 4.4+ for mingw* require and use posix threads(pthreads-w32) ++dnl - Host may contain installed pthreads-w32. ++dnl - On windows platform only NT-thread model is supported. ++dnl To avoid miss detection scipt first will check for NT-thread model ++dnl and if is not found will try to detect build options for pthread ++dnl model. Autodetection could be overiden if variable with_nt_threads ++dnl is set in "Site Configuration" (see autoconf manual). ++dnl If NT-thread model is enabled script skips some checks that ++dnl impact build process. When a new functionality is added, developers ++dnl are responsible to update configure script to avoid thread models ++dnl to be mixed. ++ ++AC_MSG_CHECKING([for --with-nt-threads]) ++AC_ARG_WITH(nt-threads, ++ AS_HELP_STRING([--with-nt-threads], [build with windows threads (default is system-dependent)]), ++[ ++ case $withval in ++ no) with_nt_threads=no;; ++ yes) with_nt_threads=yes;; ++ *) with_nt_threads=yes;; ++ esac ++], [ ++ case $host in ++ *-*-mingw*) with_nt_threads=yes;; ++ *) with_nt_threads=no;; ++ esac ++]) ++AC_MSG_RESULT([$with_nt_threads]) ++ ++if test $with_nt_threads = yes ; then ++AC_MSG_CHECKING([whether linking with nt-threads work]) ++AC_LINK_IFELSE([ ++ AC_LANG_PROGRAM([[]],[[_beginthread(0, 0, 0);]]) ++ ], ++ [AC_MSG_RESULT([yes])], ++ [AC_MSG_ERROR([failed to link with nt-threads])]) ++fi ++ ++if test $with_nt_threads = yes ; then ++ dnl temporary default flag to avoid additional pthread checks ++ dnl and initilize other ac..thread flags to no ++ ac_cv_pthread_is_default=no ++ ac_cv_kthread=no ++ ac_cv_pthread=no ++ dnl ac_cv_kpthread is set to no if default is yes (see below) ++else + # On some compilers, pthreads are available without further options + # (e.g. MacOS X). On some of these systems, the compiler will not + # complain if unaccepted options are passed (e.g. gcc on Mac OS X). +@@ -2155,6 +2202,8 @@ CC="$ac_save_cc"]) + AC_MSG_RESULT($ac_cv_pthread) + fi + ++fi ++ + # If we have set a CC compiler flag for thread support then + # check if it works for CXX, too. + ac_cv_cxx_thread=no +@@ -2175,6 +2224,10 @@ elif test "$ac_cv_pthread" = "yes" + then + CXX="$CXX -pthread" + ac_cv_cxx_thread=yes ++elif test $with_nt_threads = yes ++then ++ dnl set to always to skip extra pthread check below ++ ac_cv_cxx_thread=always + fi + + if test $ac_cv_cxx_thread = yes +@@ -2207,8 +2260,8 @@ dnl AC_MSG_RESULT($cpp_type) + AC_HEADER_STDC + AC_CHECK_HEADERS(asm/types.h crypt.h conio.h direct.h dlfcn.h errno.h \ + fcntl.h grp.h \ +-ieeefp.h io.h langinfo.h libintl.h process.h pthread.h \ +-sched.h shadow.h signal.h stropts.h termios.h \ ++ieeefp.h io.h langinfo.h libintl.h process.h \ ++shadow.h signal.h stropts.h termios.h \ + utime.h \ + poll.h sys/devpoll.h sys/epoll.h sys/poll.h \ + sys/audioio.h sys/xattr.h sys/bsdtty.h sys/event.h sys/file.h sys/ioctl.h \ +@@ -2223,6 +2276,14 @@ sys/mman.h sys/eventfd.h) + AC_HEADER_DIRENT + AC_HEADER_MAJOR + ++# If using nt threads, don't look for pthread.h or thread.h ++if test "x$with_nt_threads" = xno ; then ++AC_HEADER_STDC ++AC_CHECK_HEADERS(pthread.h sched.h thread.h) ++AC_HEADER_DIRENT ++AC_HEADER_MAJOR ++fi ++ + # bluetooth/bluetooth.h has been known to not compile with -std=c99. + # http://permalink.gmane.org/gmane.linux.bluez.kernel/22294 + SAVE_CFLAGS=$CFLAGS +@@ -2422,6 +2483,10 @@ fi + + AC_MSG_CHECKING(for pthread_t) + have_pthread_t=no ++if test $with_nt_threads = yes ; then ++ dnl skip check for pthread_t if NT-thread model is enabled ++ have_pthread_t=skip ++else + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[#include ]], [[pthread_t x; x = *(pthread_t*)0;]]) + ],[have_pthread_t=yes],[]) +@@ -2452,6 +2517,7 @@ if test "$ac_cv_sizeof_pthread_key_t" -eq "$ac_cv_sizeof_int" ; then + else + AC_MSG_RESULT(no) + fi ++fi + CC="$ac_save_cc" + + AC_SUBST(OTHER_LIBTOOL_OPT) +@@ -2885,10 +2951,15 @@ void *x = uuid_enc_be + [AC_MSG_RESULT(no)] + ) + ++if test $with_nt_threads = yes ; then ++ dnl do not search for sem_init if NT-thread model is enabled ++ : ++else + # 'Real Time' functions on Solaris + # posix4 on Solaris 2.6 + # pthread (first!) on Linux + AC_SEARCH_LIBS(sem_init, pthread rt posix4) ++fi + + # check if we need libintl for locale functions + AC_CHECK_LIB(intl, textdomain, +@@ -3225,6 +3296,11 @@ then + CXX="$CXX -pthread" + fi + posix_threads=yes ++elif test $with_nt_threads = yes ++then ++ posix_threads=no ++ AC_DEFINE(NT_THREADS, 1, ++ [Define to 1 if you want to use native NT threads]) + else + if test ! -z "$withval" -a -d "$withval" + then LDFLAGS="$LDFLAGS -L$withval" +@@ -3679,6 +3755,15 @@ else + fi + + # checks for library functions ++if test $with_nt_threads = yes ; then ++ dnl GCC(mingw) 4.4+ require and use posix threads(pthreads-w32) ++ dnl and host may contain installed pthreads-w32. ++ dnl Skip checks for some functions declared in pthreads-w32 if ++ dnl NT-thread model is enabled. ++ ac_cv_func_pthread_kill=skip ++ ac_cv_func_sem_open=skip ++ ac_cv_func_sched_setscheduler=skip ++fi + AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \ + clock confstr close_range copy_file_range ctermid dup3 execv explicit_bzero \ + explicit_memset faccessat fchmod fchmodat fchown fchownat \ +@@ -4611,6 +4696,10 @@ AC_CHECK_DECLS([isinf, isnan, isfinite], [], [], [[#include ]]) + # the kernel module that provides POSIX semaphores + # isn't loaded by default, so an attempt to call + # sem_open results in a 'Signal 12' error. ++if test $with_nt_threads = yes ; then ++ dnl skip posix semaphores test if NT-thread model is enabled ++ ac_cv_posix_semaphores_enabled=no ++fi + AC_MSG_CHECKING(whether POSIX semaphores are enabled) + AC_CACHE_VAL(ac_cv_posix_semaphores_enabled, + AC_RUN_IFELSE([AC_LANG_SOURCE([[ +@@ -4644,6 +4733,14 @@ fi + + # Multiprocessing check for broken sem_getvalue + AC_MSG_CHECKING(for broken sem_getvalue) ++if test $with_nt_threads = yes ; then ++ dnl Skip test if NT-thread model is enabled. ++ dnl NOTE the test case below fail for pthreads-w32 as: ++ dnl - SEM_FAILED is not defined; ++ dnl - sem_open is a stub; ++ dnl - sem_getvalue work(!). ++ ac_cv_broken_sem_getvalue=skip ++fi + AC_CACHE_VAL(ac_cv_broken_sem_getvalue, + AC_RUN_IFELSE([AC_LANG_SOURCE([[ + #include +diff --git a/pyconfig.h.in b/pyconfig.h.in +index 63438d8..fb0999e 100644 +--- a/pyconfig.h.in ++++ b/pyconfig.h.in +@@ -1377,6 +1377,9 @@ + /* Define if mvwdelch in curses.h is an expression. */ + #undef MVWDELCH_IS_EXPRESSION + ++/* Define to 1 if you want to use native NT threads */ ++#undef NT_THREADS ++ + /* Define to the address where bug reports for this package should be sent. */ + #undef PACKAGE_BUGREPORT + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0004-MINGW-translate-gcc-internal-defines-to-python-platf.patch b/mingw-w64-python3.10/0004-MINGW-translate-gcc-internal-defines-to-python-platf.patch new file mode 100644 index 0000000000..d17723add6 --- /dev/null +++ b/mingw-w64-python3.10/0004-MINGW-translate-gcc-internal-defines-to-python-platf.patch @@ -0,0 +1,45 @@ +From 709e6d27593b34ee67d06f3e47b9853164c15bd3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:13 +0530 +Subject: [PATCH 004/N] MINGW translate gcc internal defines to python platf +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + Include/pyport.h | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/Include/pyport.h b/Include/pyport.h +index 6ab0ae4..a27bedf 100644 +--- a/Include/pyport.h ++++ b/Include/pyport.h +@@ -26,6 +26,21 @@ + #endif + + ++#ifdef __MINGW32__ ++/* Translate GCC[mingw*] platform specific defines to those ++ * used in python code. ++ */ ++#if !defined(MS_WIN64) && defined(_WIN64) ++# define MS_WIN64 ++#endif ++#if !defined(MS_WIN32) && defined(_WIN32) ++# define MS_WIN32 ++#endif ++#if !defined(MS_WINDOWS) && defined(MS_WIN32) ++# define MS_WINDOWS ++#endif ++#endif /* __MINGW32__*/ ++ + /************************************************************************** + Symbols and macros to supply platform-independent interfaces to basic + C language & library operations whose spellings vary across platforms. +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0005-MINGW-configure-MACHDEP-and-platform-for-build.patch b/mingw-w64-python3.10/0005-MINGW-configure-MACHDEP-and-platform-for-build.patch new file mode 100644 index 0000000000..cc2e779d17 --- /dev/null +++ b/mingw-w64-python3.10/0005-MINGW-configure-MACHDEP-and-platform-for-build.patch @@ -0,0 +1,64 @@ +From ebf4ba240c20f555afa85a8d9d8b8b0e50038e47 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:14 +0530 +Subject: [PATCH 005/N] MINGW configure MACHDEP and platform for build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + configure.ac | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 380e64b..3e9fd12 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -400,6 +400,9 @@ then + *-*-cygwin*) + ac_sys_system=Cygwin + ;; ++ *-*-mingw*) ++ ac_sys_system=MINGW ++ ;; + *-*-vxworks*) + ac_sys_system=VxWorks + ;; +@@ -429,6 +432,7 @@ then + linux*) MACHDEP="linux";; + cygwin*) MACHDEP="cygwin";; + darwin*) MACHDEP="darwin";; ++ mingw*) MACHDEP="win32";; + '') MACHDEP="unknown";; + esac + fi +@@ -452,12 +456,23 @@ if test "$cross_compiling" = yes; then + *-*-vxworks*) + _host_cpu=$host_cpu + ;; ++ *-*-mingw*) ++ _host_cpu= ++ ;; + *) + # for now, limit cross builds to known configurations + MACHDEP="unknown" + AC_MSG_ERROR([cross build not supported for $host]) + esac + _PYTHON_HOST_PLATFORM="$MACHDEP${_host_cpu:+-$_host_cpu}" ++ ++ case "$host_os" in ++ mingw*) ++ # As sys.platform() return 'win32' to build python and extantions ++ # we will use 'mingw' (in setup.py and etc.) ++ _PYTHON_HOST_PLATFORM=mingw ++ ;; ++ esac + fi + + # Some systems cannot stand _XOPEN_SOURCE being defined at all; they +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0006-MINGW-preset-configure-defaults.patch b/mingw-w64-python3.10/0006-MINGW-preset-configure-defaults.patch new file mode 100644 index 0000000000..45040d39c9 --- /dev/null +++ b/mingw-w64-python3.10/0006-MINGW-preset-configure-defaults.patch @@ -0,0 +1,91 @@ +From d9039731ee7a77d03c41a807e95ab009e8d53e1d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:15 +0530 +Subject: [PATCH 006/N] MINGW preset configure defaults +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + Misc/config_mingw | 12 ++++++++++++ + Misc/cross_mingw32 | 11 +++++++++++ + configure.ac | 22 ++++++++++++++++++++++ + 3 files changed, 45 insertions(+) + create mode 100644 Misc/config_mingw + create mode 100644 Misc/cross_mingw32 + +diff --git a/Misc/config_mingw b/Misc/config_mingw +new file mode 100644 +index 0000000..513065d +--- /dev/null ++++ b/Misc/config_mingw +@@ -0,0 +1,12 @@ ++# configure defaults for mingw* hosts ++ ++# mingw functions to ignore ++ac_cv_func_ftruncate=ignore # implement it as _chsize ++ ++# mingw-w64 functions to ignore ++ac_cv_func_truncate=ignore ++ac_cv_func_alarm=ignore ++ ++# files to ignore ++ac_cv_file__dev_ptmx=ignore #NOTE: under MSYS environment device exist ++ac_cv_file__dev_ptc=no +diff --git a/Misc/cross_mingw32 b/Misc/cross_mingw32 +new file mode 100644 +index 0000000..03fde9e +--- /dev/null ++++ b/Misc/cross_mingw32 +@@ -0,0 +1,11 @@ ++# configure defaults for mingw32 host if cross-build ++ ++ac_cv_little_endian_double=yes ++ac_cv_big_endian_double=no ++ac_cv_mixed_endian_double=no ++ ++ac_cv_tanh_preserves_zero_sign=yes ++ ++ac_cv_wchar_t_signed=no ++ ++ac_cv_have_size_t_format=no +diff --git a/configure.ac b/configure.ac +index 3e9fd12..e646e14 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -903,6 +903,28 @@ if test x$MULTIARCH != x; then + fi + AC_SUBST(MULTIARCH_CPPFLAGS) + ++# initialize default configuration ++py_config= ++case $host in ++ *-*-mingw*) py_config=mingw ;; ++esac ++if test -n "$py_config" ; then ++ AC_MSG_NOTICE([loading configure defaults from .../Misc/config_$py_config"]) ++ . "$srcdir/Misc/config_$py_config" ++fi ++ ++# initialize defaults for cross-builds ++if test "$cross_compiling" = yes; then ++ py_config=$host_os ++ case $py_config in ++ mingw32*) py_config=mingw32 ;; ++ esac ++ if test -f "$srcdir/Misc/cross_$py_config" ; then ++ AC_MSG_NOTICE([loading cross defaults from .../Misc/cross_$py_config"]) ++ . "$srcdir/Misc/cross_$py_config" ++ fi ++fi ++ + AC_MSG_CHECKING([for -Wl,--no-as-needed]) + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -Wl,--no-as-needed" +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0007-MINGW-configure-largefile-support-for-windows-builds.patch b/mingw-w64-python3.10/0007-MINGW-configure-largefile-support-for-windows-builds.patch new file mode 100644 index 0000000000..c72a09d16b --- /dev/null +++ b/mingw-w64-python3.10/0007-MINGW-configure-largefile-support-for-windows-builds.patch @@ -0,0 +1,44 @@ +From 59ec39b94843b3c62518a22ba604b87ab3538d23 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:16 +0530 +Subject: [PATCH 007/N] MINGW configure largefile support for windows builds +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + configure.ac | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/configure.ac b/configure.ac +index e646e14..2562d56 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2487,8 +2487,20 @@ AC_CHECK_SIZEOF(off_t, [], [ + ]) + + AC_MSG_CHECKING(whether to enable large file support) ++have_largefile_support=no + if test "$ac_cv_sizeof_off_t" -gt "$ac_cv_sizeof_long" -a \ + "$ac_cv_sizeof_long_long" -ge "$ac_cv_sizeof_off_t"; then ++ have_largefile_support=yes ++else ++ case $host in ++ *-*-mingw*) ++ dnl Activate on windows platforms (32&64-bit) where off_t(4) < fpos_t(8) ++ have_largefile_support=yes ++ ;; ++ esac ++fi ++ ++if test $have_largefile_support = yes ; then + AC_DEFINE(HAVE_LARGEFILE_SUPPORT, 1, + [Defined to enable large file support when an off_t is bigger than a long + and long long is at least as big as an off_t. You may need +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0008-MINGW-add-srcdir-PC-to-CPPFLAGS.patch b/mingw-w64-python3.10/0008-MINGW-add-srcdir-PC-to-CPPFLAGS.patch new file mode 100644 index 0000000000..582c683778 --- /dev/null +++ b/mingw-w64-python3.10/0008-MINGW-add-srcdir-PC-to-CPPFLAGS.patch @@ -0,0 +1,44 @@ +From 3b04dfe2ddbe743c498510fc7d7630a76307c5be Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:18 +0530 +Subject: [PATCH 008/N] MINGW add srcdir PC to CPPFLAGS +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + configure.ac | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 2562d56..8d4589a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -5688,8 +5688,21 @@ do + THREADHEADERS="$THREADHEADERS \$(srcdir)/$h" + done + ++case $host in ++ *-*-mingw*) ++ dnl Required for windows builds as Objects/exceptions.c require ++ dnl "errmap.h" from $srcdir/PC. ++ dnl Note we cannot use BASECPPFLAGS as autogenerated pyconfig.h ++ dnl has to be before customized located in ../PC. ++ CPPFLAGS="-I\$(srcdir)/PC $CPPFLAGS" ++ ;; ++esac ++ + AC_SUBST(SRCDIRS) + SRCDIRS="Parser Objects Python Modules Modules/_io Programs" ++case $host in ++ *-*-mingw*) SRCDIRS="$SRCDIRS PC";; ++esac + AC_MSG_CHECKING(for build directories) + for dir in $SRCDIRS; do + if test ! -d $dir; then +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0009-MINGW-init-system-calls.patch b/mingw-w64-python3.10/0009-MINGW-init-system-calls.patch new file mode 100644 index 0000000000..ac05182e36 --- /dev/null +++ b/mingw-w64-python3.10/0009-MINGW-init-system-calls.patch @@ -0,0 +1,125 @@ +From dd953baf4b3615810a06c5f52257ebdc9516e00d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:19 +0530 +Subject: [PATCH 009/N] MINGW init system calls +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Modules/Setup | 1 - + Modules/Setup.config.in | 3 +++ + Modules/posixmodule.c | 29 +++++++++++++++++++++++++---- + configure.ac | 8 ++++++++ + 4 files changed, 36 insertions(+), 5 deletions(-) + +diff --git a/Modules/Setup b/Modules/Setup +index 87c6a15..34d98e5 100644 +--- a/Modules/Setup ++++ b/Modules/Setup +@@ -101,7 +101,6 @@ PYTHONPATH=$(COREPYTHONPATH) + # This only contains the minimal set of modules required to run the + # setup.py script in the root of the Python source tree. + +-posix -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal posixmodule.c # posix (UNIX) system calls + errno errnomodule.c # posix (UNIX) errno values + pwd pwdmodule.c # this is needed to find out the user's home dir + # if $HOME is not set +diff --git a/Modules/Setup.config.in b/Modules/Setup.config.in +index 5c1299d..9b364fe 100644 +--- a/Modules/Setup.config.in ++++ b/Modules/Setup.config.in +@@ -3,3 +3,6 @@ + # The purpose of this file is to conditionally enable certain modules + # based on configure-time options. + ++# init system calls(posix/nt/...) for INITFUNC (used by makesetup) ++@INITSYS@ -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal posixmodule.c ++ +diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c +index 25ddc82..d54994d 100644 +--- a/Modules/posixmodule.c ++++ b/Modules/posixmodule.c +@@ -316,6 +316,27 @@ corresponding Unix manual entries for more information on calls."); + # define HAVE_CWAIT 1 + # define HAVE_FSYNC 1 + # define fsync _commit ++# elif defined(__MINGW32__) /* GCC for windows hosts */ ++/* getlogin is detected by configure on mingw-w64 */ ++# undef HAVE_GETLOGIN ++/*# define HAVE_GETCWD 1 - detected by configure*/ ++# define HAVE_GETPPID 1 ++# define HAVE_GETLOGIN 1 ++# define HAVE_SPAWNV 1 ++# define HAVE_WSPAWNV 1 ++# define HAVE_WEXECV 1 ++/*# define HAVE_EXECV 1 - detected by configure*/ ++# define HAVE_PIPE 1 ++# define HAVE_POPEN 1 ++# define HAVE_SYSTEM 1 ++# define HAVE_CWAIT 1 ++# define HAVE_FSYNC 1 ++# define fsync _commit ++# include ++# include ++# ifndef _MAX_ENV ++# define _MAX_ENV 32767 ++# endif + # else + /* Unix functions that the configure script doesn't check for */ + # ifndef __VXWORKS__ +@@ -416,7 +437,7 @@ extern char *ctermid_r(char *); + # endif + #endif + +-#ifdef _MSC_VER ++#ifdef MS_WINDOWS + # ifdef HAVE_DIRECT_H + # include + # endif +@@ -438,7 +459,7 @@ extern char *ctermid_r(char *); + # include // ShellExecute() + # include // UNLEN + # define HAVE_SYMLINK +-#endif /* _MSC_VER */ ++#endif /* MS_WINDOWS */ + + #ifndef MAXPATHLEN + # if defined(PATH_MAX) && PATH_MAX > 1024 +@@ -1587,9 +1608,9 @@ win32_get_reparse_tag(HANDLE reparse_point_handle, ULONG *reparse_tag) + ** man environ(7). + */ + #include +-#elif !defined(_MSC_VER) && (!defined(__WATCOMC__) || defined(__QNX__) || defined(__VXWORKS__)) ++#elif !defined(MS_WINDOWS) && (!defined(__WATCOMC__) || defined(__QNX__) || defined(__VXWORKS__)) + extern char **environ; +-#endif /* !_MSC_VER */ ++#endif /* !MS_WINDOWS */ + + static PyObject * + convertenviron(void) +diff --git a/configure.ac b/configure.ac +index 8d4589a..22fcd16 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -584,6 +584,14 @@ then + AC_DEFINE(_INCLUDE__STDC_A1_SOURCE, 1, Define to include mbstate_t for mbrtowc) + fi + ++AC_MSG_CHECKING([for init system calls]) ++AC_SUBST(INITSYS) ++case $host in ++ *-*-mingw*) INITSYS=nt;; ++ *) INITSYS=posix;; ++esac ++AC_MSG_RESULT([$INITSYS]) ++ + # Record the configure-time value of MACOSX_DEPLOYMENT_TARGET, + # it may influence the way we can build extensions, so distutils + # needs to check it +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0010-MINGW-build-in-windows-modules-winreg.patch b/mingw-w64-python3.10/0010-MINGW-build-in-windows-modules-winreg.patch new file mode 100644 index 0000000000..ddfabb0b63 --- /dev/null +++ b/mingw-w64-python3.10/0010-MINGW-build-in-windows-modules-winreg.patch @@ -0,0 +1,80 @@ +From 3c73f5750360bc841913844c113322e8898e6ae6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:20 +0530 +Subject: [PATCH 010/N] MINGW build in windows modules winreg +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + Modules/Setup.config.in | 3 +++ + PC/winreg.c | 19 +++++++++++++++++++ + configure.ac | 7 +++++++ + 3 files changed, 29 insertions(+) + +diff --git a/Modules/Setup.config.in b/Modules/Setup.config.in +index 9b364fe..612cabd 100644 +--- a/Modules/Setup.config.in ++++ b/Modules/Setup.config.in +@@ -6,3 +6,6 @@ + # init system calls(posix/nt/...) for INITFUNC (used by makesetup) + @INITSYS@ -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal posixmodule.c + ++# build-in modules for windows platform: ++@USE_WIN32_MODULE@winreg ../PC/winreg.c ++ +diff --git a/PC/winreg.c b/PC/winreg.c +index 004a89a..fbcd2c4 100644 +--- a/PC/winreg.c ++++ b/PC/winreg.c +@@ -18,6 +18,25 @@ + #include "structmember.h" // PyMemberDef + #include + ++#ifndef SIZEOF_HKEY ++/* used only here */ ++#if defined(MS_WIN64) ++# define SIZEOF_HKEY 8 ++#elif defined(MS_WIN32) ++# define SIZEOF_HKEY 4 ++#else ++# error "SIZEOF_HKEY is not defined" ++#endif ++#endif ++ ++#ifndef REG_LEGAL_CHANGE_FILTER ++#define REG_LEGAL_CHANGE_FILTER (\ ++ REG_NOTIFY_CHANGE_NAME |\ ++ REG_NOTIFY_CHANGE_ATTRIBUTES |\ ++ REG_NOTIFY_CHANGE_LAST_SET |\ ++ REG_NOTIFY_CHANGE_SECURITY ) ++#endif ++ + static BOOL PyHKEY_AsHKEY(PyObject *ob, HKEY *pRes, BOOL bNoneOK); + static BOOL clinic_HKEY_converter(PyObject *ob, void *p); + static PyObject *PyHKEY_FromHKEY(HKEY h); +diff --git a/configure.ac b/configure.ac +index 22fcd16..0b702b7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3319,6 +3319,13 @@ else + fi]) + AC_MSG_RESULT($with_dbmliborder) + ++# Determine if windows modules should be used. ++AC_SUBST(USE_WIN32_MODULE) ++USE_WIN32_MODULE='#' ++case $host in ++ *-*-mingw*) USE_WIN32_MODULE=;; ++esac ++ + # Templates for things AC_DEFINEd more than once. + # For a single AC_DEFINE, no template is needed. + AH_TEMPLATE(_REENTRANT, +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0011-MINGW-determine-if-pwdmodule-should-be-used.patch b/mingw-w64-python3.10/0011-MINGW-determine-if-pwdmodule-should-be-used.patch new file mode 100644 index 0000000000..73e0d43f7a --- /dev/null +++ b/mingw-w64-python3.10/0011-MINGW-determine-if-pwdmodule-should-be-used.patch @@ -0,0 +1,66 @@ +From dbf09c9037cb36f2388009012043147d5f93c9db Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:21 +0530 +Subject: [PATCH 011/N] MINGW determine if pwdmodule should be used +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + Modules/Setup | 2 -- + Modules/Setup.config.in | 3 +++ + configure.ac | 7 +++++++ + 3 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/Modules/Setup b/Modules/Setup +index 34d98e5..e765e05 100644 +--- a/Modules/Setup ++++ b/Modules/Setup +@@ -102,8 +102,6 @@ PYTHONPATH=$(COREPYTHONPATH) + # setup.py script in the root of the Python source tree. + + errno errnomodule.c # posix (UNIX) errno values +-pwd pwdmodule.c # this is needed to find out the user's home dir +- # if $HOME is not set + _sre -DPy_BUILD_CORE_BUILTIN _sre.c # Fredrik Lundh's new regular expressions + _codecs _codecsmodule.c # access to the builtin codecs and codec registry + _weakref _weakref.c # weak references +diff --git a/Modules/Setup.config.in b/Modules/Setup.config.in +index 612cabd..d071a74 100644 +--- a/Modules/Setup.config.in ++++ b/Modules/Setup.config.in +@@ -6,6 +6,9 @@ + # init system calls(posix/nt/...) for INITFUNC (used by makesetup) + @INITSYS@ -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal posixmodule.c + ++# This is needed to find out the user's home dir if $HOME is not set ++@USE_PWD_MODULE@pwd pwdmodule.c ++ + # build-in modules for windows platform: + @USE_WIN32_MODULE@winreg ../PC/winreg.c + +diff --git a/configure.ac b/configure.ac +index 0b702b7..6245530 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3326,6 +3326,13 @@ case $host in + *-*-mingw*) USE_WIN32_MODULE=;; + esac + ++# Determine if pwdmodule should be used. ++AC_SUBST(USE_PWD_MODULE) ++USE_PWD_MODULE= ++case $host in ++ *-*-mingw*) USE_PWD_MODULE='#';; ++esac ++ + # Templates for things AC_DEFINEd more than once. + # For a single AC_DEFINE, no template is needed. + AH_TEMPLATE(_REENTRANT, +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0012-issue6672-v2-Add-Mingw-recognition-to-pyport.h-to-al.patch b/mingw-w64-python3.10/0012-issue6672-v2-Add-Mingw-recognition-to-pyport.h-to-al.patch new file mode 100644 index 0000000000..1d30c0281d --- /dev/null +++ b/mingw-w64-python3.10/0012-issue6672-v2-Add-Mingw-recognition-to-pyport.h-to-al.patch @@ -0,0 +1,83 @@ +From ebe0f8b477a7500980b61a30d2d48cbe3749df9b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:23 +0530 +Subject: [PATCH 012/N] issue6672 v2 Add Mingw recognition to pyport.h to al +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Include/pyport.h | 20 +++++++++++--------- + setup.py | 3 +++ + 2 files changed, 14 insertions(+), 9 deletions(-) + +diff --git a/Include/pyport.h b/Include/pyport.h +index a27bedf..dedc3b8 100644 +--- a/Include/pyport.h ++++ b/Include/pyport.h +@@ -669,12 +669,12 @@ extern char * _getpty(int *, int, mode_t, int); + */ + + /* +- All windows ports, except cygwin, are handled in PC/pyconfig.h. ++ Only MSVC windows ports is handled in PC/pyconfig.h. + +- Cygwin is the only other autoconf platform requiring special ++ Cygwin and Mingw is the only other autoconf platform requiring special + linkage handling and it uses __declspec(). + */ +-#if defined(__CYGWIN__) ++#if defined(__CYGWIN__) || defined(__MINGW32__) + # define HAVE_DECLSPEC_DLL + #endif + +@@ -687,21 +687,23 @@ extern char * _getpty(int *, int, mode_t, int); + # define PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE + # define PyAPI_DATA(RTYPE) extern Py_EXPORTED_SYMBOL RTYPE + /* module init functions inside the core need no external linkage */ +- /* except for Cygwin to handle embedding */ +-# if defined(__CYGWIN__) ++ /* except for Cygwin/Mingw to handle embedding */ ++# if defined(__CYGWIN__) || defined(__MINGW32__) + # define PyMODINIT_FUNC Py_EXPORTED_SYMBOL PyObject* +-# else /* __CYGWIN__ */ ++# else /* __CYGWIN__ || __MINGW32__*/ + # define PyMODINIT_FUNC PyObject* +-# endif /* __CYGWIN__ */ ++# endif /* __CYGWIN__ || __MINGW32__*/ + # else /* Py_BUILD_CORE */ + /* Building an extension module, or an embedded situation */ + /* public Python functions and data are imported */ + /* Under Cygwin, auto-import functions to prevent compilation */ + /* failures similar to those described at the bottom of 4.1: */ + /* http://docs.python.org/extending/windows.html#a-cookbook-approach */ +-# if !defined(__CYGWIN__) ++# if defined(__CYGWIN__) || defined(__MINGW32__) ++# define PyAPI_FUNC(RTYPE) RTYPE ++# else + # define PyAPI_FUNC(RTYPE) Py_IMPORTED_SYMBOL RTYPE +-# endif /* !__CYGWIN__ */ ++# endif /* __CYGWIN__ || __MINGW32__*/ + # define PyAPI_DATA(RTYPE) extern Py_IMPORTED_SYMBOL RTYPE + /* module init functions outside the core must be exported */ + # if defined(__cplusplus) +diff --git a/setup.py b/setup.py +index 3d250e7..5270469 100644 +--- a/setup.py ++++ b/setup.py +@@ -468,6 +468,9 @@ class PyBuildExt(build_ext): + def build_extensions(self): + self.set_srcdir() + ++ if MS_WINDOWS: ++ self.compiler.define_macro("Py_BUILD_CORE_MODULE") ++ + # Detect which modules should be compiled + self.detect_modules() + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0013-MINGW-configure-for-shared-build.patch b/mingw-w64-python3.10/0013-MINGW-configure-for-shared-build.patch new file mode 100644 index 0000000000..7004f21e1a --- /dev/null +++ b/mingw-w64-python3.10/0013-MINGW-configure-for-shared-build.patch @@ -0,0 +1,70 @@ +From e0901ec1d73b317b0b5a1930b4c3a16581a933c0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:24 +0530 +Subject: [PATCH 013/N] MINGW configure for shared build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + configure.ac | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 6245530..4d59547 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1220,6 +1220,13 @@ if test $enable_shared = "yes"; then + ;; + + esac ++ case $host in ++ *-*-mingw*) ++ LDLIBRARY='libpython$(LDVERSION).dll.a' ++ DLLLIBRARY='libpython$(LDVERSION).dll' ++ BLDLIBRARY='-L. -lpython$(LDVERSION)' ++ ;; ++ esac + else # shared is disabled + PY_ENABLE_SHARED=0 + case $ac_sys_system in +@@ -1228,6 +1235,10 @@ else # shared is disabled + LDLIBRARY='libpython$(LDVERSION).dll.a' + ;; + esac ++ case $host in ++ *-*-mingw*) ++ LDLIBRARY='libpython$(LDVERSION).a';; ++ esac + fi + + if test "$cross_compiling" = yes; then +@@ -2831,6 +2842,12 @@ then + LDCXXSHARED="g++ -shared -Wl,--enable-auto-image-base";; + *) LDSHARED="ld";; + esac ++ case $host in ++ *-*-mingw*) ++ LDSHARED='$(CC) -shared -Wl,--enable-auto-image-base' ++ LDCXXSHARED='$(CXX) -shared -Wl,--enable-auto-image-base' ++ ;; ++ esac + fi + AC_MSG_RESULT($LDSHARED) + LDCXXSHARED=${LDCXXSHARED-$LDSHARED} +@@ -5716,7 +5733,8 @@ case $host in + dnl "errmap.h" from $srcdir/PC. + dnl Note we cannot use BASECPPFLAGS as autogenerated pyconfig.h + dnl has to be before customized located in ../PC. +- CPPFLAGS="-I\$(srcdir)/PC $CPPFLAGS" ++ dnl (-I. at end is workaround for setup.py logic) ++ CPPFLAGS="-I\$(srcdir)/PC $CPPFLAGS -I." + ;; + esac + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0014-MINGW-dynamic-loading-support.patch b/mingw-w64-python3.10/0014-MINGW-dynamic-loading-support.patch new file mode 100644 index 0000000000..0be8c88bd4 --- /dev/null +++ b/mingw-w64-python3.10/0014-MINGW-dynamic-loading-support.patch @@ -0,0 +1,105 @@ +From 4a4fe925bcfd177cc3c00ee2599a56398e22238b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:25 +0530 +Subject: [PATCH 014/N] MINGW dynamic loading support +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Makefile.pre.in | 6 ++++++ + Python/dynload_win.c | 9 +++++++-- + configure.ac | 16 ++++++++++++++++ + 3 files changed, 29 insertions(+), 2 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 712cb0b..9839951 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -826,6 +826,12 @@ Python/dynload_hpux.o: $(srcdir)/Python/dynload_hpux.c Makefile + -DSHLIB_EXT='"$(EXT_SUFFIX)"' \ + -o $@ $(srcdir)/Python/dynload_hpux.c + ++Python/dynload_win.o: $(srcdir)/Python/dynload_win.c Makefile ++ $(CC) -c $(PY_CORE_CFLAGS) \ ++ -DSHLIB_SUFFIX='"$(SHLIB_SUFFIX)"' \ ++ -DEXT_SUFFIX='"$(EXT_SUFFIX)"' \ ++ -o $@ $(srcdir)/Python/dynload_win.c ++ + Python/sysmodule.o: $(srcdir)/Python/sysmodule.c Makefile $(srcdir)/Include/pydtrace.h + $(CC) -c $(PY_CORE_CFLAGS) \ + -DABIFLAGS='"$(ABIFLAGS)"' \ +diff --git a/Python/dynload_win.c b/Python/dynload_win.c +index 5702ab2..6b53780 100644 +--- a/Python/dynload_win.c ++++ b/Python/dynload_win.c +@@ -27,6 +27,12 @@ + #define PYD_UNTAGGED_SUFFIX PYD_DEBUG_SUFFIX ".pyd" + + const char *_PyImport_DynLoadFiletab[] = { ++#ifdef EXT_SUFFIX ++ EXT_SUFFIX, /* include SOABI flags where is encoded debug */ ++#endif ++#ifdef SHLIB_SUFFIX ++ "-abi" PYTHON_ABI_STRING SHLIB_SUFFIX, ++#endif + PYD_TAGGED_SUFFIX, + PYD_UNTAGGED_SUFFIX, + NULL +@@ -192,8 +198,7 @@ dl_funcptr _PyImport_FindSharedFuncptrWindows(const char *prefix, + ensure DLLs adjacent to the PYD are preferred. */ + Py_BEGIN_ALLOW_THREADS + hDLL = LoadLibraryExW(wpathname, NULL, +- LOAD_LIBRARY_SEARCH_DEFAULT_DIRS | +- LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR); ++ LOAD_WITH_ALTERED_SEARCH_PATH); + Py_END_ALLOW_THREADS + #if !USE_UNICODE_WCHAR_CACHE + PyMem_Free(wpathname); +diff --git a/configure.ac b/configure.ac +index 4d59547..7f024d0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2718,6 +2718,9 @@ if test -z "$SHLIB_SUFFIX"; then + CYGWIN*) SHLIB_SUFFIX=.dll;; + *) SHLIB_SUFFIX=.so;; + esac ++ case $host_os in ++ mingw*) SHLIB_SUFFIX=.dll;; ++ esac + fi + AC_MSG_RESULT($SHLIB_SUFFIX) + +@@ -3818,6 +3821,13 @@ then + fi + ;; + esac ++ case $host in ++ *-*-mingw*) ++ DYNLOADFILE="dynload_win.o" ++ extra_machdep_objs="$extra_machdep_objs PC/dl_nt.o" ++ CFLAGS_NODIST="$CFLAGS_NODIST -DMS_DLL_ID='\"$VERSION\"'" ++ ;; ++ esac + fi + AC_MSG_RESULT($DYNLOADFILE) + if test "$DYNLOADFILE" != "dynload_stub.o" +@@ -5713,6 +5723,12 @@ case "$ac_cv_computed_gotos" in yes*) + AC_DEFINE(HAVE_COMPUTED_GOTOS, 1, + [Define if the C compiler supports computed gotos.]) + esac ++case $host_os in ++ mingw*) ++ dnl Synchronized with _PyImport_DynLoadFiletab (dynload_win.c) ++ dnl Do not use more then one dot on this platform ! ++ EXT_SUFFIX=-$SOABI$SHLIB_SUFFIX;; ++esac + + case $ac_sys_system in + AIX*) +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0015-MINGW-ignore-main-program-for-frozen-scripts.patch b/mingw-w64-python3.10/0015-MINGW-ignore-main-program-for-frozen-scripts.patch new file mode 100644 index 0000000000..736b8fc848 --- /dev/null +++ b/mingw-w64-python3.10/0015-MINGW-ignore-main-program-for-frozen-scripts.patch @@ -0,0 +1,53 @@ +From 294d164d1217634344f6d26128f40a02f537e050 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:26 +0530 +Subject: [PATCH 015/N] MINGW ignore main program for frozen scripts +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Makefile.pre.in | 2 +- + configure.ac | 10 ++++++++++ + 2 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 9839951..432d0ac 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -350,7 +350,7 @@ PYTHON_OBJS= \ + Python/context.o \ + Python/dynamic_annotations.o \ + Python/errors.o \ +- Python/frozenmain.o \ ++ @PYTHON_OBJS_FROZENMAIN@ \ + Python/future.o \ + Python/getargs.o \ + Python/getcompiler.o \ +diff --git a/configure.ac b/configure.ac +index 7f024d0..b1d5078 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -5754,6 +5754,16 @@ case $host in + ;; + esac + ++dnl Python interpreter main program for frozen scripts ++AC_SUBST(PYTHON_OBJS_FROZENMAIN) ++PYTHON_OBJS_FROZENMAIN="Python/frozenmain.o" ++case $host in ++ *-*-mingw*) ++ dnl 'PC/frozen_dllmain.c' - not yet ++ PYTHON_OBJS_FROZENMAIN= ++ ;; ++esac ++ + AC_SUBST(SRCDIRS) + SRCDIRS="Parser Objects Python Modules Modules/_io Programs" + case $host in +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0016-MINGW-setup-_multiprocessing-module.patch b/mingw-w64-python3.10/0016-MINGW-setup-_multiprocessing-module.patch new file mode 100644 index 0000000000..fc85382c3c --- /dev/null +++ b/mingw-w64-python3.10/0016-MINGW-setup-_multiprocessing-module.patch @@ -0,0 +1,35 @@ +From b0bb46047d6a57bc810155084276762f51599d9e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:26 +0530 +Subject: [PATCH 016/N] MINGW setup _multiprocessing module +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + setup.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/setup.py b/setup.py +index 5270469..7d259be 100644 +--- a/setup.py ++++ b/setup.py +@@ -1832,7 +1832,12 @@ class PyBuildExt(build_ext): + if (sysconfig.get_config_var('HAVE_SEM_OPEN') and not + sysconfig.get_config_var('POSIX_SEMAPHORES_NOT_ENABLED')): + multiprocessing_srcs.append('_multiprocessing/semaphore.c') ++ multiprocessing_libs = [] ++ if MS_WINDOWS: ++ multiprocessing_libs += ['ws2_32'] + self.add(Extension('_multiprocessing', multiprocessing_srcs, ++ define_macros={}, ++ libraries=multiprocessing_libs, + include_dirs=["Modules/_multiprocessing"])) + + if (not MS_WINDOWS and +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0017-MINGW-setup-select-module.patch b/mingw-w64-python3.10/0017-MINGW-setup-select-module.patch new file mode 100644 index 0000000000..3ed15ffb14 --- /dev/null +++ b/mingw-w64-python3.10/0017-MINGW-setup-select-module.patch @@ -0,0 +1,61 @@ +From 75fe2f8665412374a3908ea35082522b5c89507a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:29 +0530 +Subject: [PATCH 017/N] MINGW setup select module +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Modules/selectmodule.c | 6 +++--- + setup.py | 6 +++++- + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c +index 3ecd0c3..1bf55cc 100644 +--- a/Modules/selectmodule.c ++++ b/Modules/selectmodule.c +@@ -136,9 +136,9 @@ seq2set(PyObject *seq, fd_set *set, pylist fd2obj[FD_SETSIZE + 1]) + v = PyObject_AsFileDescriptor( o ); + if (v == -1) goto finally; + +-#if defined(_MSC_VER) ++#if defined(MS_WIN32) + max = 0; /* not used for Win32 */ +-#else /* !_MSC_VER */ ++#else /* !MS_WIN32 */ + if (!_PyIsSelectable_fd(v)) { + PyErr_SetString(PyExc_ValueError, + "filedescriptor out of range in select()"); +@@ -146,7 +146,7 @@ seq2set(PyObject *seq, fd_set *set, pylist fd2obj[FD_SETSIZE + 1]) + } + if (v > max) + max = v; +-#endif /* _MSC_VER */ ++#endif /* MS_WIN32 */ + FD_SET(v, set); + + /* add object and its file descriptor to the list */ +diff --git a/setup.py b/setup.py +index 7d259be..4086f15 100644 +--- a/setup.py ++++ b/setup.py +@@ -990,7 +990,11 @@ class PyBuildExt(build_ext): + self.missing.append('spwd') + + # select(2); not on ancient System V +- self.add(Extension('select', ['selectmodule.c'])) ++ select_libs = [] ++ if MS_WINDOWS: ++ select_libs += ['ws2_32'] ++ self.add(Extension('select', ['selectmodule.c'], ++ libraries=select_libs)) + + # Memory-mapped files (also works on Win32). + self.add(Extension('mmap', ['mmapmodule.c'])) +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0018-MINGW-setup-_ctypes-module-with-system-libffi.patch b/mingw-w64-python3.10/0018-MINGW-setup-_ctypes-module-with-system-libffi.patch new file mode 100644 index 0000000000..90b17d8658 --- /dev/null +++ b/mingw-w64-python3.10/0018-MINGW-setup-_ctypes-module-with-system-libffi.patch @@ -0,0 +1,46 @@ +From 8909f15653c2f05dba1cac74b92e06dd7becc30c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:30 +0530 +Subject: [PATCH 018/N] MINGW setup _ctypes module with system libffi +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + setup.py | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 4086f15..d90de4f 100644 +--- a/setup.py ++++ b/setup.py +@@ -2262,9 +2262,12 @@ class PyBuildExt(build_ext): + self.add(ext) + if TEST_EXTENSIONS: + # function my_sqrt() needs libm for sqrt() ++ ffi_test_libs = ['m'] ++ if MS_WINDOWS: ++ ffi_test_libs += ['oleaut32'] + self.add(Extension('_ctypes_test', + sources=['_ctypes/_ctypes_test.c'], +- libraries=['m'])) ++ libraries=ffi_test_libs)) + + ffi_inc = sysconfig.get_config_var("LIBFFI_INCLUDEDIR") + ffi_lib = None +@@ -2309,6 +2312,8 @@ class PyBuildExt(build_ext): + + ext.include_dirs.append(ffi_inc) + ext.libraries.append(ffi_lib) ++ if MS_WINDOWS: ++ ext.libraries.extend(['ole32', 'oleaut32', 'uuid']) + self.use_system_libffi = True + + if sysconfig.get_config_var('HAVE_LIBDL'): +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0019-MINGW-defect-winsock2-and-setup-_socket-module.patch b/mingw-w64-python3.10/0019-MINGW-defect-winsock2-and-setup-_socket-module.patch new file mode 100644 index 0000000000..5f980b1920 --- /dev/null +++ b/mingw-w64-python3.10/0019-MINGW-defect-winsock2-and-setup-_socket-module.patch @@ -0,0 +1,158 @@ +From 5841494ecb8bbb05a8eb5e873d645f229992b7fb Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:30 +0530 +Subject: [PATCH 019/N] MINGW defect winsock2 and setup _socket module +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Misc/config_mingw | 3 +++ + Modules/socketmodule.c | 8 ++++++-- + configure.ac | 28 +++++++++++++++++++++++----- + pyconfig.h.in | 4 ++-- + setup.py | 2 ++ + 5 files changed, 36 insertions(+), 9 deletions(-) + +diff --git a/Misc/config_mingw b/Misc/config_mingw +index 513065d..9be43fd 100644 +--- a/Misc/config_mingw ++++ b/Misc/config_mingw +@@ -10,3 +10,6 @@ ac_cv_func_alarm=ignore + # files to ignore + ac_cv_file__dev_ptmx=ignore #NOTE: under MSYS environment device exist + ac_cv_file__dev_ptc=no ++ ++# force detection of winsock2 functionality - require wxp or newer ++ac_cv_func_getpeername=yes +diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c +index 898ec05..1c918c1 100644 +--- a/Modules/socketmodule.c ++++ b/Modules/socketmodule.c +@@ -265,7 +265,7 @@ shutdown(how) -- shut down traffic in one or both directions\n\ + # endif + + /* Macros based on the IPPROTO enum, see: https://bugs.python.org/issue29515 */ +-#ifdef MS_WINDOWS ++#ifdef _MSC_VER + #define IPPROTO_ICMP IPPROTO_ICMP + #define IPPROTO_IGMP IPPROTO_IGMP + #define IPPROTO_GGP IPPROTO_GGP +@@ -296,7 +296,7 @@ shutdown(how) -- shut down traffic in one or both directions\n\ + #define IPPROTO_PGM IPPROTO_PGM // WinSock2 only + #define IPPROTO_L2TP IPPROTO_L2TP // WinSock2 only + #define IPPROTO_SCTP IPPROTO_SCTP // WinSock2 only +-#endif /* MS_WINDOWS */ ++#endif /* _MSC_VER */ + + /* Provides the IsWindows7SP1OrGreater() function */ + #include +@@ -389,6 +389,10 @@ remove_unusable_flags(PyObject *m) + /* Do not include addrinfo.h for MSVC7 or greater. 'addrinfo' and + * EAI_* constants are defined in (the already included) ws2tcpip.h. + */ ++#elif defined(__MINGW32__) ++ /* Do not include addrinfo.h as minimum supported version is ++ * _WIN32_WINNT >= WindowsXP(0x0501) ++ */ + #else + # include "addrinfo.h" + #endif +diff --git a/configure.ac b/configure.ac +index b1d5078..897bb5c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4441,21 +4441,36 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + ],[]) + AC_MSG_RESULT($was_it_defined) + ++AC_CHECK_HEADERS([ws2tcpip.h]) + AC_MSG_CHECKING(for addrinfo) + AC_CACHE_VAL(ac_cv_struct_addrinfo, +-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[struct addrinfo a]])], ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ++#ifdef HAVE_WS2TCPIP_H ++# include ++#else ++# include ++#endif]], ++ [[struct addrinfo a]])], + [ac_cv_struct_addrinfo=yes], + [ac_cv_struct_addrinfo=no])) + AC_MSG_RESULT($ac_cv_struct_addrinfo) + if test $ac_cv_struct_addrinfo = yes; then +- AC_DEFINE(HAVE_ADDRINFO, 1, [struct addrinfo (netdb.h)]) ++ AC_DEFINE(HAVE_ADDRINFO, 1, [struct addrinfo]) + fi + + AC_MSG_CHECKING(for sockaddr_storage) + AC_CACHE_VAL(ac_cv_struct_sockaddr_storage, + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +-# include +-# include ]], [[struct sockaddr_storage s]])], ++#ifdef HAVE_WS2TCPIP_H ++#include ++#endif ++#ifdef HAVE_SYS_TYPES_H ++#include ++#endif ++#ifdef HAVE_SYS_SOCKET_H ++#include ++#endif]], ++ [[struct sockaddr_storage s]])], + [ac_cv_struct_sockaddr_storage=yes], + [ac_cv_struct_sockaddr_storage=no])) + AC_MSG_RESULT($ac_cv_struct_sockaddr_storage) +@@ -5644,7 +5659,10 @@ fi + + AC_CHECK_TYPE(socklen_t,, + AC_DEFINE(socklen_t,int, +- [Define to `int' if does not define.]),[ ++ [Define to `int' if or does not define.]),[ ++#ifdef HAVE_WS2TCPIP_H ++#include ++#endif + #ifdef HAVE_SYS_TYPES_H + #include + #endif +diff --git a/pyconfig.h.in b/pyconfig.h.in +index fb0999e..ed8b19c 100644 +--- a/pyconfig.h.in ++++ b/pyconfig.h.in +@@ -63,7 +63,7 @@ + /* Define to 1 if you have the `acosh' function. */ + #undef HAVE_ACOSH + +-/* struct addrinfo (netdb.h) */ ++/* struct addrinfo */ + #undef HAVE_ADDRINFO + + /* Define to 1 if you have the `alarm' function. */ +@@ -1679,7 +1679,7 @@ + /* Define to `unsigned int' if does not define. */ + #undef size_t + +-/* Define to `int' if does not define. */ ++/* Define to `int' if or does not define. */ + #undef socklen_t + + /* Define to `int' if doesn't define. */ +diff --git a/setup.py b/setup.py +index d90de4f..0fcf8af 100644 +--- a/setup.py ++++ b/setup.py +@@ -1233,6 +1233,8 @@ class PyBuildExt(build_ext): + if MACOS: + # Issue #35569: Expose RFC 3542 socket options. + kwargs['extra_compile_args'] = ['-D__APPLE_USE_RFC_3542'] ++ if MS_WINDOWS: ++ kwargs['libraries'] = ['ws2_32', 'iphlpapi'] + + self.add(Extension('_socket', ['socketmodule.c'], **kwargs)) + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0020-MINGW-exclude-unix-only-modules.patch b/mingw-w64-python3.10/0020-MINGW-exclude-unix-only-modules.patch new file mode 100644 index 0000000000..9331683bec --- /dev/null +++ b/mingw-w64-python3.10/0020-MINGW-exclude-unix-only-modules.patch @@ -0,0 +1,94 @@ +From 082275b5ae3215d36680c9b21d070735ee203e75 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:31 +0530 +Subject: [PATCH 020/N] MINGW exclude unix only modules +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + setup.py | 39 ++++++++++++++++++++++++++++----------- + 1 file changed, 28 insertions(+), 11 deletions(-) + +diff --git a/setup.py b/setup.py +index 0fcf8af..681a98e 100644 +--- a/setup.py ++++ b/setup.py +@@ -973,13 +973,21 @@ class PyBuildExt(build_ext): + if (self.config_h_vars.get('FLOCK_NEEDS_LIBBSD', False)): + # May be necessary on AIX for flock function + libs = ['bsd'] +- self.add(Extension('fcntl', ['fcntlmodule.c'], +- libraries=libs)) ++ if not MS_WINDOWS: ++ self.add(Extension('fcntl', ['fcntlmodule.c'], ++ libraries=libs)) ++ else: ++ self.missing.append('fcntl') + # pwd(3) +- self.add(Extension('pwd', ['pwdmodule.c'])) ++ if not MS_WINDOWS: ++ self.add(Extension('pwd', ['pwdmodule.c'])) ++ else: ++ self.missing.append('pwd') + # grp(3) +- if not VXWORKS: ++ if not VXWORKS and not MS_WINDOWS: + self.add(Extension('grp', ['grpmodule.c'])) ++ else: ++ self.missing.append('grp') + # spwd, shadow passwords + if (self.config_h_vars.get('HAVE_GETSPNAM', False) or + self.config_h_vars.get('HAVE_GETSPENT', False)): +@@ -1001,7 +1009,10 @@ class PyBuildExt(build_ext): + + # Lance Ellinghaus's syslog module + # syslog daemon interface +- self.add(Extension('syslog', ['syslogmodule.c'])) ++ if not MS_WINDOWS: ++ self.add(Extension('syslog', ['syslogmodule.c'])) ++ else: ++ self.missing.append('syslog') + + # Python interface to subinterpreter C-API. + self.add(Extension('_xxsubinterpreters', ['_xxsubinterpretersmodule.c'])) +@@ -1027,8 +1038,11 @@ class PyBuildExt(build_ext): + self.add(Extension('_csv', ['_csv.c'])) + + # POSIX subprocess module helper. +- self.add(Extension('_posixsubprocess', ['_posixsubprocess.c'], ++ if not MS_WINDOWS: ++ self.add(Extension('_posixsubprocess', ['_posixsubprocess.c'], + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])) ++ else: ++ self.missing.append('_posixsubprocess') + + def detect_test_extensions(self): + # Python C API test module +@@ -1220,12 +1234,15 @@ class PyBuildExt(build_ext): + self.missing.append('_crypt') + return + +- if self.compiler.find_library_file(self.lib_dirs, 'crypt'): +- libs = ['crypt'] +- else: +- libs = [] ++ if not MS_WINDOWS: ++ if self.compiler.find_library_file(self.lib_dirs, 'crypt'): ++ libs = ['crypt'] ++ else: ++ libs = [] + +- self.add(Extension('_crypt', ['_cryptmodule.c'], libraries=libs)) ++ self.add(Extension('_crypt', ['_cryptmodule.c'], libraries=libs)) ++ else: ++ self.missing.append('_crypt') + + def detect_socket(self): + # socket(2) +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0021-MINGW-setup-msvcrt-and-_winapi-modules.patch b/mingw-w64-python3.10/0021-MINGW-setup-msvcrt-and-_winapi-modules.patch new file mode 100644 index 0000000000..fbb3bb9980 --- /dev/null +++ b/mingw-w64-python3.10/0021-MINGW-setup-msvcrt-and-_winapi-modules.patch @@ -0,0 +1,94 @@ +From c277710a518eff8dca3df40e749a0200d48e70dc Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:33 +0530 +Subject: [PATCH 021/N] MINGW setup msvcrt and _winapi modules +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Modules/_winapi.c | 2 ++ + PC/msvcrtmodule.c | 2 ++ + Python/dynamic_annotations.c | 2 +- + setup.py | 21 +++++++++++++++++++++ + 4 files changed, 26 insertions(+), 1 deletion(-) + +diff --git a/Modules/_winapi.c b/Modules/_winapi.c +index 3e24d51..e7e8c6a 100644 +--- a/Modules/_winapi.c ++++ b/Modules/_winapi.c +@@ -41,7 +41,9 @@ + + #define WINDOWS_LEAN_AND_MEAN + #include "windows.h" ++#if defined(Py_DEBUG) + #include ++#endif + #include "winreparse.h" + + #if defined(MS_WIN32) && !defined(MS_WIN64) +diff --git a/PC/msvcrtmodule.c b/PC/msvcrtmodule.c +index 0591497..74a4131 100644 +--- a/PC/msvcrtmodule.c ++++ b/PC/msvcrtmodule.c +@@ -21,7 +21,9 @@ + #include + #include + #include ++#ifdef _DEBUG + #include ++#endif + #include + + #ifdef _MSC_VER +diff --git a/Python/dynamic_annotations.c b/Python/dynamic_annotations.c +index 7febaa0..70d5b3d 100644 +--- a/Python/dynamic_annotations.c ++++ b/Python/dynamic_annotations.c +@@ -27,7 +27,7 @@ + * Author: Kostya Serebryany + */ + +-#ifdef _MSC_VER ++#ifdef MS_WINDOWS + # include + #endif + +diff --git a/setup.py b/setup.py +index 681a98e..c3f109b 100644 +--- a/setup.py ++++ b/setup.py +@@ -1683,6 +1683,27 @@ class PyBuildExt(build_ext): + '-framework', 'SystemConfiguration', + '-framework', 'CoreFoundation'])) + ++ # Modules with some Windows dependencies: ++ if MS_WINDOWS: ++ srcdir = sysconfig.get_config_var('srcdir') ++ pc_srcdir = os.path.abspath(os.path.join(srcdir, 'PC')) ++ ++ self.add(Extension('msvcrt', [os.path.join(pc_srcdir, p) ++ for p in ['msvcrtmodule.c']])) ++ ++ self.add(Extension('_winapi', ['_winapi.c'])) ++ ++ self.add(Extension('_msi', [os.path.join(pc_srcdir, p) ++ for p in ['_msi.c']], ++ libraries=['msi','cabinet','rpcrt4'])) # To link with lib(msi|cabinet|rpcrt4).a ++ ++ self.add(Extension('winsound', [os.path.join(pc_srcdir, p) ++ for p in ['winsound.c']], ++ libraries=['winmm'])) ++ ++ self.add(Extension('_overlapped', ['overlapped.c'], ++ libraries=['ws2_32'])) ++ + def detect_compress_exts(self): + # Andrew Kuchling's zlib module. Note that some versions of zlib + # 1.1.3 have security problems. See CERT Advisory CA-2002-07: +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0022-sysconfig-MINGW-build-extensions-with-GCC.patch b/mingw-w64-python3.10/0022-sysconfig-MINGW-build-extensions-with-GCC.patch new file mode 100644 index 0000000000..b7e4162e39 --- /dev/null +++ b/mingw-w64-python3.10/0022-sysconfig-MINGW-build-extensions-with-GCC.patch @@ -0,0 +1,26 @@ +From 19fdfa0a755c062dd5cfe9a4ade0399dc04d0b20 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Tue, 21 Sep 2021 20:52:42 +0200 +Subject: [PATCH 022/N] sysconfig: MINGW build extensions with GCC + +Signed-off-by: Naveen M K +--- + Lib/sysconfig.py | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py +index b1c59c1..2d09446 100644 +--- a/Lib/sysconfig.py ++++ b/Lib/sysconfig.py +@@ -709,6 +709,8 @@ def get_platform(): + + """ + if os.name == 'nt': ++ if 'GCC' in sys.version: ++ return 'mingw' + if 'amd64' in sys.version.lower(): + return 'win-amd64' + if '(arm)' in sys.version.lower(): +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0023-MINGW-setup-_ssl-module.patch b/mingw-w64-python3.10/0023-MINGW-setup-_ssl-module.patch new file mode 100644 index 0000000000..d80674b5c5 --- /dev/null +++ b/mingw-w64-python3.10/0023-MINGW-setup-_ssl-module.patch @@ -0,0 +1,31 @@ +From 269009f193f34d0af6e07385b152448344a5afc9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:37 +0530 +Subject: [PATCH 023/N] MINGW setup _ssl module +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + setup.py | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/setup.py b/setup.py +index c3f109b..1bbdfdd 100644 +--- a/setup.py ++++ b/setup.py +@@ -2495,6 +2495,8 @@ class PyBuildExt(build_ext): + openssl_libdirs = split_var('OPENSSL_LDFLAGS', '-L') + openssl_libs = split_var('OPENSSL_LIBS', '-l') + openssl_rpath = config_vars.get('OPENSSL_RPATH') ++ if MS_WINDOWS: ++ openssl_libs += tuple(['ws2_32']) + if not openssl_libs: + # libssl and libcrypto not found + self.missing.extend(['_ssl', '_hashlib']) +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0024-MINGW-generalization-of-posix-build-in-sysconfig.py.patch b/mingw-w64-python3.10/0024-MINGW-generalization-of-posix-build-in-sysconfig.py.patch new file mode 100644 index 0000000000..3132a296bc --- /dev/null +++ b/mingw-w64-python3.10/0024-MINGW-generalization-of-posix-build-in-sysconfig.py.patch @@ -0,0 +1,90 @@ +From 3ca50850b90b65b825149b1611a3c587d82e9eee Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:38 +0530 +Subject: [PATCH 024/N] MINGW generalization of posix build in sysconfig.py +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Lib/sysconfig.py | 18 +++++++++++------- + 1 file changed, 11 insertions(+), 7 deletions(-) + +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py +index 2d09446..09469ef 100644 +--- a/Lib/sysconfig.py ++++ b/Lib/sysconfig.py +@@ -59,6 +59,11 @@ _INSTALL_SCHEMES = { + }, + } + ++# GCC[mingw*] use posix build system ++_POSIX_BUILD = os.name == 'posix' or \ ++ (os.name == "nt" and 'GCC' in sys.version) ++ ++ + + # NOTE: site.py has copy of this function. + # Sync it when modify this function. +@@ -74,7 +79,7 @@ def _getuserbase(): + def joinuser(*args): + return os.path.expanduser(os.path.join(*args)) + +- if os.name == "nt": ++ if os.name == "nt" and not _POSIX_BUILD: + base = os.environ.get("APPDATA") or "~" + return joinuser(base, "Python") + +@@ -137,7 +142,6 @@ _variable_rx = r"([a-zA-Z][a-zA-Z0-9_]+)\s*=\s*(.*)" + _findvar1_rx = r"\$\(([A-Za-z][A-Za-z0-9_]*)\)" + _findvar2_rx = r"\${([A-Za-z][A-Za-z0-9_]*)}" + +- + def _safe_realpath(path): + try: + return realpath(path) +@@ -226,7 +230,7 @@ def _expand_vars(scheme, vars): + + + def _get_preferred_schemes(): +- if os.name == 'nt': ++ if os.name == 'nt' and not _POSIX_BUILD: + return { + 'prefix': 'nt', + 'home': 'posix_home', +@@ -553,7 +557,7 @@ def parse_config_h(fp, vars=None): + def get_config_h_filename(): + """Return the path of pyconfig.h.""" + if _PYTHON_BUILD: +- if os.name == "nt": ++ if os.name == "nt" and not _POSIX_BUILD: + inc_dir = os.path.join(_sys_home or _PROJECT_BASE, "PC") + else: + inc_dir = _sys_home or _PROJECT_BASE +@@ -629,9 +633,9 @@ def get_config_vars(*args): + except AttributeError: + _CONFIG_VARS['py_version_nodot_plat'] = '' + +- if os.name == 'nt': ++ if os.name == 'nt' and not _POSIX_BUILD: + _init_non_posix(_CONFIG_VARS) +- if os.name == 'posix': ++ if _POSIX_BUILD: + _init_posix(_CONFIG_VARS) + # For backward compatibility, see issue19555 + SO = _CONFIG_VARS.get('EXT_SUFFIX') +@@ -645,7 +649,7 @@ def get_config_vars(*args): + + # Always convert srcdir to an absolute path + srcdir = _CONFIG_VARS.get('srcdir', _PROJECT_BASE) +- if os.name == 'posix': ++ if _POSIX_BUILD: + if _PYTHON_BUILD: + # If srcdir is a relative path (typically '.' or '..') + # then it should be interpreted relative to the directory +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0025-MINGW-support-stdcall-without-underscore.patch b/mingw-w64-python3.10/0025-MINGW-support-stdcall-without-underscore.patch new file mode 100644 index 0000000000..492e8845c6 --- /dev/null +++ b/mingw-w64-python3.10/0025-MINGW-support-stdcall-without-underscore.patch @@ -0,0 +1,55 @@ +From 5ad01e32d72217f8fc7947063e689c45f0d29a8a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:39 +0530 +Subject: [PATCH 025/N] MINGW support stdcall without underscore +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Modules/_ctypes/_ctypes.c | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c +index 5f8a723..e24bd44 100644 +--- a/Modules/_ctypes/_ctypes.c ++++ b/Modules/_ctypes/_ctypes.c +@@ -3403,6 +3403,18 @@ static PPROC FindAddress(void *handle, const char *name, PyObject *type) + mangled_name = alloca(strlen(name) + 1 + 1 + 1 + 3); /* \0 _ @ %d */ + if (!mangled_name) + return NULL; ++ /* Issue: for stdcall decorated export functions MSVC compiler adds ++ * underscore, but GCC compiler create them without. This is ++ * visible by example for _ctypes_test.pyd module. ++ * As well functions from system libraries are without underscore. ++ * Solutions: ++ * - If a python module is build with gcc option --add-stdcall-alias ++ * the module will contain XXX as alias for function XXX@ as result ++ * first search in this method will succeed. ++ * - Distutil may use compiler to create def-file, to modify it as ++ * add underscore alias and with new def file to create module. ++ * - Or may be just to search for function without underscore. ++ */ + for (i = 0; i < 32; ++i) { + sprintf(mangled_name, "_%s@%d", name, i*4); + Py_BEGIN_ALLOW_THREADS +@@ -3410,6 +3422,13 @@ static PPROC FindAddress(void *handle, const char *name, PyObject *type) + Py_END_ALLOW_THREADS + if (address) + return address; ++ /* search for function without underscore as weel */ ++ sprintf(mangled_name, "%s@%d", name, i*4); ++ Py_BEGIN_ALLOW_THREADS ++ address = (PPROC)GetProcAddress(handle, mangled_name); ++ Py_END_ALLOW_THREADS ++ if (address) ++ return address; + } + return NULL; + #endif +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0026-use-replace-instead-rename-to-avoid-failure-on-windo.patch b/mingw-w64-python3.10/0026-use-replace-instead-rename-to-avoid-failure-on-windo.patch new file mode 100644 index 0000000000..e9ab745a8d --- /dev/null +++ b/mingw-w64-python3.10/0026-use-replace-instead-rename-to-avoid-failure-on-windo.patch @@ -0,0 +1,32 @@ +From 3a1c612498e6734cd469245c21b7820ba988e4ac Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:40 +0530 +Subject: [PATCH 026/N] use replace instead rename to avoid failure on windo +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 1bbdfdd..2b74277 100644 +--- a/setup.py ++++ b/setup.py +@@ -2739,7 +2739,7 @@ class PyBuildScripts(build_scripts): + else: + newfilename = filename + minoronly + log.info(f'renaming {filename} to {newfilename}') +- os.rename(filename, newfilename) ++ os.replace(filename, newfilename) + newoutfiles.append(newfilename) + if filename in updated_files: + newupdated_files.append(newfilename) +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0027-MINGW-customize-site.patch b/mingw-w64-python3.10/0027-MINGW-customize-site.patch new file mode 100644 index 0000000000..209b8acfdb --- /dev/null +++ b/mingw-w64-python3.10/0027-MINGW-customize-site.patch @@ -0,0 +1,63 @@ +From 7394d9621b6690004336f45ec37eadacce16fd43 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:42 +0530 +Subject: [PATCH 027/N] MINGW customize site +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + Lib/site.py | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/Lib/site.py b/Lib/site.py +index 939893e..e460a3d 100644 +--- a/Lib/site.py ++++ b/Lib/site.py +@@ -88,6 +88,12 @@ USER_SITE = None + USER_BASE = None + + ++# Same as defined in Lib/sysconfig.py ++# redeclared since sysconfig is large for site. ++# GCC[mingw*] use posix build system ++_POSIX_BUILD = os.name == 'posix' or \ ++ (os.name == "nt" and 'GCC' in sys.version) ++ + def _trace(message): + if sys.flags.verbose: + print(message, file=sys.stderr) +@@ -273,7 +279,7 @@ def _getuserbase(): + def joinuser(*args): + return os.path.expanduser(os.path.join(*args)) + +- if os.name == "nt": ++ if os.name == "nt" and not _POSIX_BUILD: + base = os.environ.get("APPDATA") or "~" + return joinuser(base, "Python") + +@@ -288,7 +294,7 @@ def _getuserbase(): + def _get_path(userbase): + version = sys.version_info + +- if os.name == 'nt': ++ if os.name == 'nt' and not _POSIX_BUILD: + ver_nodot = sys.winver.replace('.', '') + return f'{userbase}\\Python{ver_nodot}\\site-packages' + +@@ -365,7 +371,7 @@ def getsitepackages(prefixes=None): + if sys.platlibdir != "lib": + libdirs.append("lib") + +- if os.sep == '/': ++ if _POSIX_BUILD: + for libdir in libdirs: + path = os.path.join(prefix, libdir, + "python%d.%d" % sys.version_info[:2], +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0028-add-python-config-sh.patch b/mingw-w64-python3.10/0028-add-python-config-sh.patch new file mode 100644 index 0000000000..d272172b0d --- /dev/null +++ b/mingw-w64-python3.10/0028-add-python-config-sh.patch @@ -0,0 +1,163 @@ +From 0b1fadbb73a46da7ac4d58b344ca22b572306449 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:43 +0530 +Subject: [PATCH 028/N] add python config sh +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + Misc/python-config.sh.in | 62 +++++++++++++++++++++++++--------------- + 1 file changed, 39 insertions(+), 23 deletions(-) + +diff --git a/Misc/python-config.sh.in b/Misc/python-config.sh.in +index 2602fe2..e0e048a 100644 +--- a/Misc/python-config.sh.in ++++ b/Misc/python-config.sh.in +@@ -1,32 +1,44 @@ + #!/bin/sh + +-# Keep this script in sync with python-config.in +- + exit_with_usage () + { + echo "Usage: $0 --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--abiflags|--configdir|--embed" +- exit $1 ++ exit 1 + } + ++# Really, python-config.py (and thus .sh) should be called directly, but ++# sometimes software (e.g. GDB) calls python-config.sh as if it were the ++# Python executable, passing python-config.py as the first argument. ++# Work around that oddness by ignoring any .py passed as first arg. ++case "$1" in ++ *.py) ++ shift ++ ;; ++esac ++ + if [ "$1" = "" ] ; then +- exit_with_usage 1 ++ exit_with_usage + fi + + # Returns the actual prefix where this script was installed to. + installed_prefix () + { +- RESULT=$(dirname $(cd $(dirname "$1") && pwd -P)) +- if which readlink >/dev/null 2>&1 ; then +- if readlink -f "$RESULT" >/dev/null 2>&1; then +- RESULT=$(readlink -f "$RESULT") +- fi ++ local RESULT=$(dirname $(cd $(dirname "$1") && pwd -P)) ++ if [ $(which readlink) ] ; then ++ RESULT=$(readlink -f "$RESULT") ++ fi ++ # Since we don't know where the output from this script will end up ++ # we keep all paths in Windows-land since MSYS2 can handle that ++ # while native tools can't handle paths in MSYS2-land. ++ if [ "$OSTYPE" = "msys" ]; then ++ RESULT=$(cd "$RESULT" && pwd -W) + fi + echo $RESULT + } + + prefix_real=$(installed_prefix "$0") + +-# Use sed to fix paths from their built-to locations to their installed-to ++# Use sed to fix paths from their built-to locations to their installed to + # locations. Keep prefix & exec_prefix using their original values in case + # they are referenced in other configure variables, to prevent double + # substitution, issue #22140. +@@ -41,13 +53,17 @@ LIBM="@LIBM@" + LIBC="@LIBC@" + SYSLIBS="$LIBM $LIBC" + ABIFLAGS="@ABIFLAGS@" ++# Protect against lack of substitution. ++if [ "$ABIFLAGS" = "@""ABIFLAGS""@" ] ; then ++ ABIFLAGS= ++fi + LIBS="@LIBPYTHON@ @LIBS@ $SYSLIBS" + LIBS_EMBED="-lpython${VERSION}${ABIFLAGS} @LIBS@ $SYSLIBS" + BASECFLAGS="@BASECFLAGS@" +-LDLIBRARY="@LDLIBRARY@" + OPT="@OPT@" + PY_ENABLE_SHARED="@PY_ENABLE_SHARED@" + LDVERSION="@LDVERSION@" ++LDLIBRARY="@LDLIBRARY@" + LIBDEST=${prefix_real}/lib/python${VERSION} + LIBPL=$(echo "@LIBPL@" | sed "s#$prefix#$prefix_real#") + SO="@EXT_SUFFIX@" +@@ -61,7 +77,7 @@ for ARG in $* + do + case $ARG in + --help) +- exit_with_usage 0 ++ exit_with_usage + ;; + --embed) + PY_EMBED=1 +@@ -69,7 +85,7 @@ do + --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--abiflags|--configdir) + ;; + *) +- exit_with_usage 1 ++ exit_with_usage + ;; + esac + done +@@ -80,37 +96,37 @@ fi + + for ARG in "$@" + do +- case "$ARG" in ++ case $ARG in + --prefix) +- echo "$prefix_real" ++ echo -ne "$prefix_real" + ;; + --exec-prefix) +- echo "$exec_prefix_real" ++ echo -ne "$exec_prefix_real " + ;; + --includes) +- echo "$INCDIR $PLATINCDIR" ++ echo -ne "$INCDIR $PLATINCDIR" + ;; + --cflags) +- echo "$INCDIR $PLATINCDIR $BASECFLAGS $CFLAGS $OPT" ++ echo -ne "$INCDIR $PLATINCDIR $BASECFLAGS $CFLAGS $OPT" + ;; + --libs) +- echo "$LIBS" ++ echo -ne "$LIBS" + ;; + --ldflags) + LIBPLUSED= + if [ "$PY_ENABLE_SHARED" = "0" ] ; then + LIBPLUSED="-L$LIBPL" + fi +- echo "$LIBPLUSED -L$libdir $LIBS" ++ echo -ne "$LIBPLUSED -L$libdir $LIBS " + ;; + --extension-suffix) +- echo "$SO" ++ echo -ne "$SO " + ;; + --abiflags) +- echo "$ABIFLAGS" ++ echo -ne "$ABIFLAGS " + ;; + --configdir) +- echo "$LIBPL" ++ echo -ne "$LIBPL " + ;; + esac + done +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0029-cross-darwin-feature.patch b/mingw-w64-python3.10/0029-cross-darwin-feature.patch new file mode 100644 index 0000000000..0abeef7d16 --- /dev/null +++ b/mingw-w64-python3.10/0029-cross-darwin-feature.patch @@ -0,0 +1,139 @@ +From 65e323a174c175697b4daf2fd1eb7ec563007746 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:44 +0530 +Subject: [PATCH 029/N] cross darwin feature +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + configure.ac | 54 +++++++++++++++++++++++++++++++++++++++++++++++----- + 1 file changed, 49 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 897bb5c..adc5e0e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -387,6 +387,7 @@ if test -z "$MACHDEP" + then + # avoid using uname for cross builds + if test "$cross_compiling" = yes; then ++ ac_sys_release= + # ac_sys_system and ac_sys_release are used for setting + # a lot of different things including 'define_xopen_source' + # in the case statement below. +@@ -403,6 +404,27 @@ then + *-*-mingw*) + ac_sys_system=MINGW + ;; ++ *-*-darwin*) ++ ac_sys_system=Darwin ++ ac_sys_release=$(echo $host | sed -n 's/.*-[^0-9]\+\([0-9]\+\)/\1/p') ++ if test -z "$ac_sys_release"; then ++ # A reasonable default. ++ ac_sys_release=11 ++ fi ++ # Use the last released version number for old versions. ++ if test "$ac_sys_release" = "9" ; then ++ ac_sys_release=9.8 ++ elif test "$ac_sys_release" = "10" ; then ++ ac_sys_release=10.8 ++ elif test "$ac_sys_release" = "11" ; then ++ ac_sys_release=11.4.0 ++ elif test "$ac_sys_release" = "12" ; then ++ ac_sys_release=12.0.0 ++ else ++ # ..and .0.0 for unknown versions. ++ ac_sys_release=${ac_sys_release}.0.0 ++ fi ++ ;; + *-*-vxworks*) + ac_sys_system=VxWorks + ;; +@@ -411,7 +433,6 @@ then + MACHDEP="unknown" + AC_MSG_ERROR([cross build not supported for $host]) + esac +- ac_sys_release= + else + ac_sys_system=`uname -s` + if test "$ac_sys_system" = "AIX" \ +@@ -459,6 +480,9 @@ if test "$cross_compiling" = yes; then + *-*-mingw*) + _host_cpu= + ;; ++ *-*-darwin*) ++ _host_cpu= ++ ;; + *) + # for now, limit cross builds to known configurations + MACHDEP="unknown" +@@ -1652,6 +1676,26 @@ AC_SUBST(BASECFLAGS) + AC_SUBST(CFLAGS_NODIST) + AC_SUBST(LDFLAGS_NODIST) + ++if test "x$cross_compiling" = xyes; then ++ function cross_arch ++ { ++ case $host in ++ x86_64*darwin*) ++ echo i386 ++ ;; ++ x86_64*) ++ echo x86_64 ++ ;; ++ *) ++ echo i386 ++ ;; ++ esac ++ } ++ ARCH_PROG=cross_arch ++else ++ ARCH_PROG=/usr/bin/arch ++fi ++ + # The -arch flags for universal builds on macOS + UNIVERSAL_ARCH_FLAGS= + AC_SUBST(UNIVERSAL_ARCH_FLAGS) +@@ -2030,7 +2074,7 @@ yes) + ;; + esac + else +- if test `/usr/bin/arch` = "i386" ++ if test "$($ARCH_PROG)" = "i386" + then + # 10.4 was the first release to support Intel archs + cur_target="10.4" +@@ -2606,7 +2650,7 @@ case $ac_sys_system/$ac_sys_release in + if test "${enable_universalsdk}"; then + : + else +- LIBTOOL_CRUFT="${LIBTOOL_CRUFT} -arch_only `/usr/bin/arch`" ++ LIBTOOL_CRUFT="${LIBTOOL_CRUFT} -arch_only $($ARCH_PROG)" + fi + LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -install_name $(PYTHONFRAMEWORKINSTALLDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)' + LIBTOOL_CRUFT=$LIBTOOL_CRUFT' -compatibility_version $(VERSION) -current_version $(VERSION)';; +@@ -2631,7 +2675,7 @@ case $ac_sys_system/$ac_sys_release in + ]])],[ac_osx_32bit=yes],[ac_osx_32bit=no],[ac_osx_32bit=yes]) + + if test "${ac_osx_32bit}" = "yes"; then +- case `/usr/bin/arch` in ++ case $($ARCH_PROG) in + i386) + MACOSX_DEFAULT_ARCH="i386" + ;; +@@ -2643,7 +2687,7 @@ case $ac_sys_system/$ac_sys_release in + ;; + esac + else +- case `/usr/bin/arch` in ++ case $($ARCH_PROG) in + i386) + MACOSX_DEFAULT_ARCH="x86_64" + ;; +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0030-mingw-system-libffi.patch b/mingw-w64-python3.10/0030-mingw-system-libffi.patch new file mode 100644 index 0000000000..50d19b0249 --- /dev/null +++ b/mingw-w64-python3.10/0030-mingw-system-libffi.patch @@ -0,0 +1,31 @@ +From bec52d036a39a01b4b3aeee948b7efc2d52d13e6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:45 +0530 +Subject: [PATCH 030/N] mingw system libffi +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + setup.py | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/setup.py b/setup.py +index 2b74277..679653d 100644 +--- a/setup.py ++++ b/setup.py +@@ -2354,6 +2354,8 @@ class PyBuildExt(build_ext): + ext.libraries.append(ffi_lib) + if MS_WINDOWS: + ext.libraries.extend(['ole32', 'oleaut32', 'uuid']) ++ ext.export_symbols.extend(['DllGetClassObject PRIVATE', ++ 'DllCanUnloadNow PRIVATE']) + self.use_system_libffi = True + + if sysconfig.get_config_var('HAVE_LIBDL'): +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0031-msys-mingw-prefer-unix-sep-if-MSYSTEM.patch b/mingw-w64-python3.10/0031-msys-mingw-prefer-unix-sep-if-MSYSTEM.patch new file mode 100644 index 0000000000..cbde7beac2 --- /dev/null +++ b/mingw-w64-python3.10/0031-msys-mingw-prefer-unix-sep-if-MSYSTEM.patch @@ -0,0 +1,398 @@ +From 621f2aa0e8e61ee96a0be4548f607b630231561d Mon Sep 17 00:00:00 2001 +From: Ray Donnelly +Date: Thu, 17 Jun 2021 18:51:46 +0530 +Subject: [PATCH 031/N] msys mingw prefer unix sep if MSYSTEM +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + Include/pylifecycle.h | 6 +++ + Lib/ntpath.py | 79 +++++++++++++++++------------- + Modules/posixmodule.c | 2 + + Python/initconfig.c | 4 +- + Python/pathconfig.c | 109 ++++++++++++++++++++++++++++++++++++++++++ + Python/traceback.c | 2 +- + 6 files changed, 165 insertions(+), 37 deletions(-) + +diff --git a/Include/pylifecycle.h b/Include/pylifecycle.h +index 2df7fe6..17d403c 100644 +--- a/Include/pylifecycle.h ++++ b/Include/pylifecycle.h +@@ -21,6 +21,12 @@ PyAPI_FUNC(int) Py_IsInitialized(void); + PyAPI_FUNC(PyThreadState *) Py_NewInterpreter(void); + PyAPI_FUNC(void) Py_EndInterpreter(PyThreadState *); + ++PyAPI_FUNC(wchar_t) Py_GetSepW(const wchar_t *); ++PyAPI_FUNC(char) Py_GetSepA(const char *); ++ ++PyAPI_FUNC(void) Py_NormalizeSepsW(wchar_t *); ++PyAPI_FUNC(void) Py_NormalizeSepsA(char *); ++ + + /* Py_PyAtExit is for the atexit module, Py_AtExit is for low-level + * exit functions. +diff --git a/Lib/ntpath.py b/Lib/ntpath.py +index 527c7ae..1f1b441 100644 +--- a/Lib/ntpath.py ++++ b/Lib/ntpath.py +@@ -11,9 +11,7 @@ module as os.path. + curdir = '.' + pardir = '..' + extsep = '.' +-sep = '\\' + pathsep = ';' +-altsep = '/' + defpath = '.;C:\\bin' + devnull = 'nul' + +@@ -23,6 +21,15 @@ import stat + import genericpath + from genericpath import * + ++if sys.platform == "win32" and "MSYSTEM" in os.environ: ++ sep = '/' ++ altsep = '\\' ++else: ++ sep = '\\' ++ altsep = '/' ++bsep = str.encode(sep) ++baltsep = str.encode(altsep) ++ + __all__ = ["normcase","isabs","join","splitdrive","split","splitext", + "basename","dirname","commonprefix","getsize","getmtime", + "getatime","getctime", "islink","exists","lexists","isdir","isfile", +@@ -33,9 +40,27 @@ __all__ = ["normcase","isabs","join","splitdrive","split","splitext", + + def _get_bothseps(path): + if isinstance(path, bytes): +- return b'\\/' ++ return bsep+baltsep ++ else: ++ return sep+altsep ++ ++def _get_sep(path): ++ if isinstance(path, bytes): ++ return bsep ++ else: ++ return sep ++ ++def _get_altsep(path): ++ if isinstance(path, bytes): ++ return baltsep + else: +- return '\\/' ++ return altsep ++ ++def _get_colon(path): ++ if isinstance(path, bytes): ++ return b':' ++ else: ++ return ':' + + # Normalize the case of a pathname and map slashes to backslashes. + # Other normalizations (such as optimizing '../' away) are not done +@@ -47,9 +72,9 @@ def normcase(s): + Makes all characters lowercase and all slashes into backslashes.""" + s = os.fspath(s) + if isinstance(s, bytes): +- return s.replace(b'/', b'\\').lower() ++ return s.replace(baltsep, bsep).lower() + else: +- return s.replace('/', '\\').lower() ++ return s.replace(altsep, sep).lower() + + + # Return whether a path is absolute. +@@ -76,14 +101,9 @@ def isabs(s): + # Join two (or more) paths. + def join(path, *paths): + path = os.fspath(path) +- if isinstance(path, bytes): +- sep = b'\\' +- seps = b'\\/' +- colon = b':' +- else: +- sep = '\\' +- seps = '\\/' +- colon = ':' ++ sep = _get_sep(path) ++ seps = _get_bothseps(path) ++ colon = _get_colon(path) + try: + if not paths: + path[:0] + sep #23780: Ensure compatible data type even if p is null. +@@ -142,14 +162,9 @@ def splitdrive(p): + """ + p = os.fspath(p) + if len(p) >= 2: +- if isinstance(p, bytes): +- sep = b'\\' +- altsep = b'/' +- colon = b':' +- else: +- sep = '\\' +- altsep = '/' +- colon = ':' ++ sep = _get_sep(p) ++ altsep = _get_altsep(p) ++ colon = _get_colon(p) + normp = p.replace(altsep, sep) + if (normp[0:2] == sep*2) and (normp[2:3] != sep): + # is a UNC path: +@@ -203,9 +218,9 @@ def split(p): + def splitext(p): + p = os.fspath(p) + if isinstance(p, bytes): +- return genericpath._splitext(p, b'\\', b'/', b'.') ++ return genericpath._splitext(p, bsep, baltsep, b'.') + else: +- return genericpath._splitext(p, '\\', '/', '.') ++ return genericpath._splitext(p, sep, altsep, '.') + splitext.__doc__ = genericpath._splitext.__doc__ + + +@@ -463,15 +478,13 @@ def expandvars(path): + def normpath(path): + """Normalize path, eliminating double slashes, etc.""" + path = os.fspath(path) ++ sep = _get_sep(path) ++ altsep = _get_altsep(path) + if isinstance(path, bytes): +- sep = b'\\' +- altsep = b'/' + curdir = b'.' + pardir = b'..' + special_prefixes = (b'\\\\.\\', b'\\\\?\\') + else: +- sep = '\\' +- altsep = '/' + curdir = '.' + pardir = '..' + special_prefixes = ('\\\\.\\', '\\\\?\\') +@@ -683,6 +696,7 @@ else: + # strip the prefix anyway. + if ex.winerror == initial_winerror: + path = spath ++ path = normpath(path) + return path + + +@@ -693,12 +707,11 @@ supports_unicode_filenames = (hasattr(sys, "getwindowsversion") and + def relpath(path, start=None): + """Return a relative version of a path""" + path = os.fspath(path) ++ sep = _get_sep(path) + if isinstance(path, bytes): +- sep = b'\\' + curdir = b'.' + pardir = b'..' + else: +- sep = '\\' + curdir = '.' + pardir = '..' + +@@ -753,13 +766,11 @@ def commonpath(paths): + raise ValueError('commonpath() arg is an empty sequence') + + paths = tuple(map(os.fspath, paths)) ++ sep = _get_sep(paths[0]) ++ altsep = _get_altsep(paths[0]) + if isinstance(paths[0], bytes): +- sep = b'\\' +- altsep = b'/' + curdir = b'.' + else: +- sep = '\\' +- altsep = '/' + curdir = '.' + + try: +diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c +index d54994d..863bc99 100644 +--- a/Modules/posixmodule.c ++++ b/Modules/posixmodule.c +@@ -3807,6 +3807,7 @@ posix_getcwd(int use_bytes) + return PyErr_SetFromWindowsErr(0); + } + ++ Py_NormalizeSepsW(wbuf2); + PyObject *resobj = PyUnicode_FromWideChar(wbuf2, len); + if (wbuf2 != wbuf) { + PyMem_RawFree(wbuf2); +@@ -4370,6 +4371,7 @@ os__getfinalpathname_impl(PyObject *module, path_t *path) + target_path = tmp; + } + ++ Py_NormalizeSepsW(target_path); + result = PyUnicode_FromWideChar(target_path, result_length); + if (result && path->narrow) { + Py_SETREF(result, PyUnicode_EncodeFSDefault(result)); +diff --git a/Python/initconfig.c b/Python/initconfig.c +index 27ae48d..6d321b0 100644 +--- a/Python/initconfig.c ++++ b/Python/initconfig.c +@@ -133,7 +133,7 @@ static const char usage_6[] = + "PYTHONPYCACHEPREFIX: root directory for bytecode cache (pyc) files.\n" + "PYTHONWARNDEFAULTENCODING: enable opt-in EncodingWarning for 'encoding=None'.\n"; + +-#if defined(MS_WINDOWS) ++#if defined(_MSC_VER) + # define PYTHONHOMEHELP "\\python{major}{minor}" + #else + # define PYTHONHOMEHELP "/lib/pythonX.X" +@@ -1536,7 +1536,7 @@ config_init_program_name(PyConfig *config) + } + + /* Last fall back: hardcoded name */ +-#ifdef MS_WINDOWS ++#ifdef _MSC_VER + const wchar_t *default_program_name = L"python"; + #else + const wchar_t *default_program_name = L"python3"; +diff --git a/Python/pathconfig.c b/Python/pathconfig.c +index 470aba7..3e7a1c5 100644 +--- a/Python/pathconfig.c ++++ b/Python/pathconfig.c +@@ -15,6 +15,114 @@ + extern "C" { + #endif + ++#ifdef __MINGW32__ ++#define wcstok wcstok_s ++#include ++#endif ++ ++char ++Py_GetSepA(const char *name) ++{ ++ char* msystem = (char*)2; /* So that non Windows use / as sep */ ++ static char sep = '\0'; ++#ifdef _WIN32 ++ /* https://msdn.microsoft.com/en-gb/library/windows/desktop/aa365247%28v=vs.85%29.aspx ++ * The "\\?\" prefix .. indicate that the path should be passed to the system with minimal ++ * modification, which means that you cannot use forward slashes to represent path separators ++ */ ++ if (name != NULL && memcmp(name, "\\\\?\\", sizeof("\\\\?\\") - sizeof(char)) == 0) ++ { ++ return '\\'; ++ } ++#endif ++ if (sep != '\0') ++ return sep; ++#if defined(__MINGW32__) ++ msystem = Py_GETENV("MSYSTEM"); ++#endif ++ if (msystem != NULL) ++ sep = '/'; ++ else ++ sep = '\\'; ++ return sep; ++} ++ ++static char ++Py_GetAltSepA(const char *name) ++{ ++ char sep = Py_GetSepA(name); ++ if (sep == '/') ++ return '\\'; ++ return '/'; ++} ++ ++void ++Py_NormalizeSepsA(char *name) ++{ ++ char sep = Py_GetSepA(name); ++ char altsep = Py_GetAltSepA(name); ++ char* seps; ++ if (strlen(name) > 1 && name[1] == ':') { ++ name[0] = toupper(name[0]); ++ } ++ seps = strchr(name, altsep); ++ while(seps) { ++ *seps = sep; ++ seps = strchr(seps, altsep); ++ } ++} ++ ++wchar_t ++Py_GetSepW(const wchar_t *name) ++{ ++ char* msystem = (char*)2; /* So that non Windows use / as sep */ ++ static wchar_t sep = L'\0'; ++#ifdef _WIN32 ++ /* https://msdn.microsoft.com/en-gb/library/windows/desktop/aa365247%28v=vs.85%29.aspx ++ * The "\\?\" prefix .. indicate that the path should be passed to the system with minimal ++ * modification, which means that you cannot use forward slashes to represent path separators ++ */ ++ if (name != NULL && memcmp(name, L"\\\\?\\", sizeof(L"\\\\?\\") - sizeof(wchar_t)) == 0) ++ { ++ return L'\\'; ++ } ++#endif ++ if (sep != L'\0') ++ return sep; ++#if defined(__MINGW32__) ++ msystem = Py_GETENV("MSYSTEM"); ++#endif ++ if (msystem != NULL) ++ sep = L'/'; ++ else ++ sep = L'\\'; ++ return sep; ++} ++ ++static wchar_t ++Py_GetAltSepW(const wchar_t *name) ++{ ++ char sep = Py_GetSepW(name); ++ if (sep == L'/') ++ return L'\\'; ++ return L'/'; ++} ++ ++void ++Py_NormalizeSepsW(wchar_t *name) ++{ ++ wchar_t sep = Py_GetSepW(name); ++ wchar_t altsep = Py_GetAltSepW(name); ++ wchar_t* seps; ++ if (wcslen(name) > 1 && name[1] == L':') { ++ name[0] = towupper(name[0]); ++ } ++ seps = wcschr(name, altsep); ++ while(seps) { ++ *seps = sep; ++ seps = wcschr(seps, altsep); ++ } ++} + + _PyPathConfig _Py_path_config = _PyPathConfig_INIT; + +@@ -562,6 +670,7 @@ _Py_SetProgramFullPath(const wchar_t *program_full_path) + if (_Py_path_config.program_full_path == NULL) { + path_out_of_memory(__func__); + } ++ Py_NormalizeSepsW(_Py_path_config.program_name); + } + + +diff --git a/Python/traceback.c b/Python/traceback.c +index 9b23f45..740c8c0 100644 +--- a/Python/traceback.c ++++ b/Python/traceback.c +@@ -315,7 +315,7 @@ _Py_FindSourceFile(PyObject *filename, char* namebuf, size_t namelen, PyObject * + filepath = PyBytes_AS_STRING(filebytes); + + /* Search tail of filename in sys.path before giving up */ +- tail = strrchr(filepath, SEP); ++ tail = strrchr(filepath, Py_GetSepA(filepath)); + if (tail == NULL) + tail = filepath; + else +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0032-mingw-use-posix-getpath.patch b/mingw-w64-python3.10/0032-mingw-use-posix-getpath.patch new file mode 100644 index 0000000000..873085dc54 --- /dev/null +++ b/mingw-w64-python3.10/0032-mingw-use-posix-getpath.patch @@ -0,0 +1,505 @@ +From d5ed544f32e491e840505b71bcb325249252734e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:47 +0530 +Subject: [PATCH 032/N] mingw use posix getpath +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + Include/cpython/fileutils.h | 3 +- + Include/pylifecycle.h | 2 +- + Modules/getpath.c | 130 +++++++++++++++++++++++++++++++++--- + Modules/posixmodule.c | 2 +- + Python/dynload_win.c | 2 + + Python/fileutils.c | 22 +++++- + 6 files changed, 145 insertions(+), 16 deletions(-) + +diff --git a/Include/cpython/fileutils.h b/Include/cpython/fileutils.h +index ccf37e9..c287ab3 100644 +--- a/Include/cpython/fileutils.h ++++ b/Include/cpython/fileutils.h +@@ -135,9 +135,8 @@ PyAPI_FUNC(wchar_t*) _Py_wrealpath( + size_t resolved_path_len); + #endif + +-#ifndef MS_WINDOWS + PyAPI_FUNC(int) _Py_isabs(const wchar_t *path); +-#endif ++PyAPI_FUNC(int) _Py_issep(const wchar_t ch); + + PyAPI_FUNC(int) _Py_abspath(const wchar_t *path, wchar_t **abspath_p); + +diff --git a/Include/pylifecycle.h b/Include/pylifecycle.h +index 17d403c..ce3f411 100644 +--- a/Include/pylifecycle.h ++++ b/Include/pylifecycle.h +@@ -52,7 +52,7 @@ PyAPI_FUNC(wchar_t *) Py_GetPrefix(void); + PyAPI_FUNC(wchar_t *) Py_GetExecPrefix(void); + PyAPI_FUNC(wchar_t *) Py_GetPath(void); + PyAPI_FUNC(void) Py_SetPath(const wchar_t *); +-#ifdef MS_WINDOWS ++#ifdef _MSC_VER + int _Py_CheckPython3(void); + #endif + +diff --git a/Modules/getpath.c b/Modules/getpath.c +index 363d62a..ff79924 100644 +--- a/Modules/getpath.c ++++ b/Modules/getpath.c +@@ -13,6 +13,11 @@ + # include + #endif + ++#ifdef MS_WINDOWS ++#include ++#include ++#endif ++ + /* Search in some common locations for the associated Python libraries. + * + * Two directories must be found, the platform independent directory +@@ -129,6 +134,7 @@ typedef struct { + wchar_t *prefix_macro; /* PREFIX macro */ + wchar_t *exec_prefix_macro; /* EXEC_PREFIX macro */ + wchar_t *vpath_macro; /* VPATH macro */ ++ wchar_t *dll_path; /* DLL Path */ + + wchar_t *lib_python; /* / "pythonX.Y" */ + +@@ -146,7 +152,7 @@ typedef struct { + } PyCalculatePath; + + static const wchar_t delimiter[2] = {DELIM, '\0'}; +-static const wchar_t separator[2] = {SEP, '\0'}; ++static wchar_t separator[2] = {SEP, '\0'}; + + + /* Get file status. Encode the path to the locale encoding. */ +@@ -170,7 +176,7 @@ static void + reduce(wchar_t *dir) + { + size_t i = wcslen(dir); +- while (i > 0 && dir[i] != SEP) { ++ while (i > 0 && !_Py_issep(dir[i])) { + --i; + } + dir[i] = '\0'; +@@ -224,6 +230,9 @@ isdir(const wchar_t *filename) + return 1; + } + ++/* ++x86_64-w64-mingw32-gcc -c -Wno-unused-result -Wsign-compare -DNDEBUG -march=x86-64 -mtune=generic -O2 -pipe -fwrapv -D__USE_MINGW_ANSI_STDIO=1 -D_WIN32_WINNT=0x0601 -DNDEBUG -DMS_DLL_ID="\"3.9\"" -flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none -g -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden -fprofile-generate -I../Python-3.9.4/Include/internal -IObjects -IInclude -IPython -I. -I../Python-3.9.4/Include -I../Python-3.9.4/PC -D__USE_MINGW_ANSI_STDIO=1 -IC:/msys64/mingw64/include/ncurses -I. -DPy_BUILD_CORE -DPYTHONPATH='""' -DPREFIX='"/mingw64"' -DEXEC_PREFIX='"/mingw64"' -DVERSION='"3.9"' -DVPATH='"../Python-3.9.4"' -o Modules/getpath.o ../Python-3.9.4/Modules/getpath.c ++*/ + + /* Add a path component, by appending stuff to buffer. + buflen: 'buffer' length in characters including trailing NUL. +@@ -242,8 +251,8 @@ joinpath(wchar_t *path, const wchar_t *path2, size_t path_len) + return PATHLEN_ERR(); + } + +- if (n > 0 && path[n-1] != SEP) { +- path[n++] = SEP; ++ if (n > 0 && !_Py_issep(path[n-1])) { ++ path[n++] = Py_GetSepW(path); + } + } + else { +@@ -285,7 +294,7 @@ joinpath2(const wchar_t *path, const wchar_t *path2) + } + + size_t len = wcslen(path); +- int add_sep = (len > 0 && path[len - 1] != SEP); ++ int add_sep = (len > 0 && !_Py_issep(path[len - 1])); + len += add_sep; + len += wcslen(path2); + +@@ -334,7 +343,7 @@ copy_absolute(wchar_t *abs_path, const wchar_t *path, size_t abs_path_len) + } + return _PyStatus_OK(); + } +- if (path[0] == '.' && path[1] == SEP) { ++ if (path[0] == '.' && _Py_issep(path[1])) { + path += 2; + } + PyStatus status = joinpath(abs_path, path, abs_path_len); +@@ -478,6 +487,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, + return _PyStatus_NO_MEMORY(); + } + ++ Py_NormalizeSepsW(path); + int is_build_dir = isfile(path); + PyMem_RawFree(path); + +@@ -502,6 +512,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, + } + + int module; ++ Py_NormalizeSepsW(prefix); + status = ismodule(prefix, &module); + if (_PyStatus_EXCEPTION(status)) { + return status; +@@ -528,6 +539,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, + } + + int module; ++ Py_NormalizeSepsW(prefix); + status = ismodule(prefix, &module); + if (_PyStatus_EXCEPTION(status)) { + return status; +@@ -551,6 +563,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, + } + + int module; ++ Py_NormalizeSepsW(prefix); + status = ismodule(prefix, &module); + if (_PyStatus_EXCEPTION(status)) { + return status; +@@ -610,6 +623,11 @@ calculate_set_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig) + * return the compiled-in defaults instead. + */ + if (calculate->prefix_found > 0) { ++#ifdef MS_WINDOWS ++ wchar_t drive_root[3]; ++ memset(drive_root, 0, sizeof(drive_root)); ++ wcsncpy(drive_root, calculate->prefix, 3); ++#endif + wchar_t *prefix = _PyMem_RawWcsdup(calculate->prefix); + if (prefix == NULL) { + return _PyStatus_NO_MEMORY(); +@@ -625,7 +643,11 @@ calculate_set_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig) + + /* The prefix is the root directory, but reduce() chopped + off the "/". */ ++#ifdef MS_WINDOWS ++ pathconfig->prefix = _PyMem_RawWcsdup(drive_root); ++#else + pathconfig->prefix = _PyMem_RawWcsdup(separator); ++#endif + if (pathconfig->prefix == NULL) { + return _PyStatus_NO_MEMORY(); + } +@@ -682,6 +704,7 @@ calculate_pybuilddir(const wchar_t *argv0_path, + return PATHLEN_ERR(); + } + status = joinpath(exec_prefix, pybuilddir, exec_prefix_len); ++ Py_NormalizeSepsW(exec_prefix); + PyMem_RawFree(pybuilddir); + if (_PyStatus_EXCEPTION(status)) { + return status; +@@ -730,6 +753,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, + + /* Check for pybuilddir.txt */ + assert(*found == 0); ++ Py_NormalizeSepsW(exec_prefix); + status = calculate_pybuilddir(calculate->argv0_path, + exec_prefix, exec_prefix_len, found); + if (_PyStatus_EXCEPTION(status)) { +@@ -804,6 +828,7 @@ calculate_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig) + return status; + } + ++ Py_NormalizeSepsW(exec_prefix); + if (!calculate->exec_prefix_found) { + if (calculate->warnings) { + fprintf(stderr, +@@ -836,6 +861,47 @@ calculate_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig) + } + + ++#ifdef MS_WINDOWS ++wchar_t * ++GetWindowsModulePaths(void) ++{ ++ int result = 0; ++ wchar_t program_full_path[MAXPATHLEN+1]; ++ memset(program_full_path, 0, sizeof(program_full_path)); ++ ++ if (GetModuleFileNameW(NULL, program_full_path, MAXPATHLEN)) { ++ result = 1; ++ Py_NormalizeSepsW(program_full_path); ++ } ++ ++ return _PyMem_RawWcsdup(program_full_path); ++} ++ ++ ++wchar_t* ++_Py_GetDLLPath(void) ++{ ++ wchar_t dll_path[MAXPATHLEN+1]; ++ memset(dll_path, 0, sizeof(dll_path)); ++ ++#ifdef Py_ENABLE_SHARED ++ extern HANDLE PyWin_DLLhModule; ++ if (PyWin_DLLhModule) { ++ if (GetModuleFileNameW(PyWin_DLLhModule, dll_path, MAXPATHLEN)) { ++ Py_NormalizeSepsW(dll_path); ++ } else { ++ dll_path[0] = 0; ++ } ++ } ++#else ++ dll_path[0] = 0; ++#endif ++ ++ return _PyMem_RawWcsdup(dll_path); ++} ++#endif /* MS_WINDOWS */ ++ ++ + static PyStatus + calculate_set_exec_prefix(PyCalculatePath *calculate, + _PyPathConfig *pathconfig) +@@ -846,6 +912,12 @@ calculate_set_exec_prefix(PyCalculatePath *calculate, + return _PyStatus_NO_MEMORY(); + } + ++#ifdef MS_WINDOWS ++ wchar_t drive_root[3]; ++ memset(drive_root, 0, sizeof(drive_root)); ++ wcsncpy(drive_root, calculate->exec_prefix, 3); ++#endif ++ + reduce(exec_prefix); + reduce(exec_prefix); + reduce(exec_prefix); +@@ -859,7 +931,11 @@ calculate_set_exec_prefix(PyCalculatePath *calculate, + + /* The exec_prefix is the root directory, but reduce() chopped + off the "/". */ ++#ifdef MS_WINDOWS ++ pathconfig->exec_prefix = _PyMem_RawWcsdup(drive_root); ++#else + pathconfig->exec_prefix = _PyMem_RawWcsdup(separator); ++#endif + if (pathconfig->exec_prefix == NULL) { + return _PyStatus_NO_MEMORY(); + } +@@ -964,13 +1040,22 @@ calculate_program_impl(PyCalculatePath *calculate, _PyPathConfig *pathconfig) + * other way to find a directory to start the search from. If + * $PATH isn't exported, you lose. + */ +- if (wcschr(pathconfig->program_name, SEP)) { ++ if (wcschr(pathconfig->program_name, Py_GetSepW(pathconfig->program_name))) { + pathconfig->program_full_path = _PyMem_RawWcsdup(pathconfig->program_name); + if (pathconfig->program_full_path == NULL) { + return _PyStatus_NO_MEMORY(); + } + return _PyStatus_OK(); + } ++#ifdef MS_WINDOWS ++ else if(pathconfig->program_full_path == NULL) { ++ pathconfig->program_full_path = GetWindowsModulePaths(); ++ if (pathconfig->program_full_path == NULL) { ++ return _PyStatus_NO_MEMORY(); ++ } ++ return _PyStatus_OK(); ++ } ++#endif /* MS_WINDOWS */ + + #ifdef __APPLE__ + wchar_t *abs_path = NULL; +@@ -1007,7 +1092,7 @@ calculate_program_impl(PyCalculatePath *calculate, _PyPathConfig *pathconfig) + + + /* Calculate pathconfig->program_full_path */ +-static PyStatus ++PyStatus + calculate_program(PyCalculatePath *calculate, _PyPathConfig *pathconfig) + { + PyStatus status; +@@ -1173,7 +1258,7 @@ done: + #endif + + +-static PyStatus ++PyStatus + calculate_argv0_path(PyCalculatePath *calculate, + _PyPathConfig *pathconfig) + { +@@ -1191,10 +1276,12 @@ calculate_argv0_path(PyCalculatePath *calculate, + } + #endif + ++#if defined(HAVE_READLINK) + status = resolve_symlinks(&calculate->argv0_path); + if (_PyStatus_EXCEPTION(status)) { + return status; + } ++#endif + + reduce(calculate->argv0_path); + +@@ -1324,6 +1411,7 @@ calculate_zip_path(PyCalculatePath *calculate) + goto done; + } + ++ Py_NormalizeSepsW(calculate->zip_path); + res = _PyStatus_OK(); + + done: +@@ -1363,7 +1451,14 @@ calculate_module_search_path(PyCalculatePath *calculate, + } + + bufsz += wcslen(calculate->zip_path) + 1; ++/* TODO :: The MS_WINDOWS bit may be unnecessary. */ ++#ifdef MS_WINDOWS ++ if (_Py_isabs(calculate->exec_prefix)) { ++ bufsz += wcslen(calculate->exec_prefix) + 1; ++ } ++#else + bufsz += wcslen(calculate->exec_prefix) + 1; ++#endif + + /* Allocate the buffer */ + wchar_t *buf = PyMem_RawMalloc(bufsz * sizeof(wchar_t)); +@@ -1391,7 +1486,7 @@ calculate_module_search_path(PyCalculatePath *calculate, + + if (!_Py_isabs(defpath)) { + wcscat(buf, calculate->prefix); +- if (prefixsz >= 2 && calculate->prefix[prefixsz - 2] != SEP && ++ if (prefixsz >= 2 && !_Py_issep(calculate->prefix[prefixsz - 2]) && + defpath[0] != (delim ? DELIM : L'\0')) + { + /* not empty */ +@@ -1413,8 +1508,15 @@ calculate_module_search_path(PyCalculatePath *calculate, + } + wcscat(buf, delimiter); + ++#ifdef MS_WINDOWS ++ if (_Py_isabs(calculate->exec_prefix)) { ++ wcscat(buf, calculate->exec_prefix); ++ wcscat(buf, delimiter); ++ } ++#else + /* Finally, on goes the directory for dynamic-load modules */ + wcscat(buf, calculate->exec_prefix); ++#endif + + pathconfig->module_search_path = buf; + return _PyStatus_OK(); +@@ -1443,14 +1545,17 @@ calculate_init(PyCalculatePath *calculate, const PyConfig *config) + if (!calculate->pythonpath_macro) { + return DECODE_LOCALE_ERR("PYTHONPATH macro", len); + } ++ Py_NormalizeSepsW(calculate->pythonpath_macro); + calculate->prefix_macro = Py_DecodeLocale(PREFIX, &len); + if (!calculate->prefix_macro) { + return DECODE_LOCALE_ERR("PREFIX macro", len); + } ++ Py_NormalizeSepsW(calculate->prefix_macro); + calculate->exec_prefix_macro = Py_DecodeLocale(EXEC_PREFIX, &len); + if (!calculate->exec_prefix_macro) { + return DECODE_LOCALE_ERR("EXEC_PREFIX macro", len); + } ++ Py_NormalizeSepsW(calculate->exec_prefix_macro); + calculate->vpath_macro = Py_DecodeLocale(VPATH, &len); + if (!calculate->vpath_macro) { + return DECODE_LOCALE_ERR("VPATH macro", len); +@@ -1461,6 +1566,7 @@ calculate_init(PyCalculatePath *calculate, const PyConfig *config) + if (!pyversion) { + return DECODE_LOCALE_ERR("VERSION macro", len); + } ++ + calculate->lib_python = joinpath2(config->platlibdir, pyversion); + PyMem_RawFree(pyversion); + if (calculate->lib_python == NULL) { +@@ -1477,6 +1583,7 @@ calculate_free(PyCalculatePath *calculate) + PyMem_RawFree(calculate->pythonpath_macro); + PyMem_RawFree(calculate->prefix_macro); + PyMem_RawFree(calculate->exec_prefix_macro); ++ PyMem_RawFree(calculate->dll_path); + PyMem_RawFree(calculate->vpath_macro); + PyMem_RawFree(calculate->lib_python); + PyMem_RawFree(calculate->path_env); +@@ -1492,6 +1599,8 @@ calculate_path(PyCalculatePath *calculate, _PyPathConfig *pathconfig) + { + PyStatus status; + ++ calculate->dll_path = _Py_GetDLLPath(); ++ + if (pathconfig->program_full_path == NULL) { + status = calculate_program(calculate, pathconfig); + if (_PyStatus_EXCEPTION(status)) { +@@ -1592,6 +1701,7 @@ _PyPathConfig_Calculate(_PyPathConfig *pathconfig, const PyConfig *config) + { + PyStatus status; + PyCalculatePath calculate; ++ separator[0] = Py_GetSepW(NULL); + memset(&calculate, 0, sizeof(calculate)); + + status = calculate_init(&calculate, config); +diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c +index 863bc99..14b60f0 100644 +--- a/Modules/posixmodule.c ++++ b/Modules/posixmodule.c +@@ -4097,7 +4097,7 @@ _listdir_windows_no_opendir(path_t *path, PyObject *list) + Py_END_ALLOW_THREADS + /* FindNextFile sets error to ERROR_NO_MORE_FILES if + it got to the end of the directory. */ +- if (!result && GetLastError() != ERROR_NO_MORE_FILES) { ++ if (!result && GetLastError() != 0 && GetLastError() != ERROR_NO_MORE_FILES) { + Py_DECREF(list); + list = path_error(path); + goto exit; +diff --git a/Python/dynload_win.c b/Python/dynload_win.c +index 6b53780..1083fe8 100644 +--- a/Python/dynload_win.c ++++ b/Python/dynload_win.c +@@ -173,7 +173,9 @@ dl_funcptr _PyImport_FindSharedFuncptrWindows(const char *prefix, + dl_funcptr p; + char funcname[258], *import_python; + ++#if defined(_MSC_VER) + _Py_CheckPython3(); ++#endif + + #if USE_UNICODE_WCHAR_CACHE + const wchar_t *wpathname = _PyUnicode_AsUnicode(pathname); +diff --git a/Python/fileutils.c b/Python/fileutils.c +index e8a7eda..66f748d 100644 +--- a/Python/fileutils.c ++++ b/Python/fileutils.c +@@ -1964,13 +1964,31 @@ _Py_wrealpath(const wchar_t *path, + #endif + + +-#ifndef MS_WINDOWS + int + _Py_isabs(const wchar_t *path) + { +- return (path[0] == SEP); ++#ifdef MS_WINDOWS ++ size_t i = wcslen(path); ++ if (i >= 3) { ++ if (iswalpha(path[0]) && path[1] == L':' && _Py_issep(path[2])) { ++ return 1; ++ } ++ } ++ return 0; ++#else ++ return _Py_issep(path[0]); ++#endif + } ++ ++int ++_Py_issep(const wchar_t ch) ++{ ++#ifdef MS_WINDOWS ++ return ch == SEP || ch == ALTSEP; ++#else ++ return ch == SEP; + #endif ++} + + + /* Get an absolute path. +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0033-mingw-add-ModuleFileName-dir-to-PATH.patch b/mingw-w64-python3.10/0033-mingw-add-ModuleFileName-dir-to-PATH.patch new file mode 100644 index 0000000000..d591a4d11e --- /dev/null +++ b/mingw-w64-python3.10/0033-mingw-add-ModuleFileName-dir-to-PATH.patch @@ -0,0 +1,59 @@ +From b7d61297d20f6049824c6e7c63d7369ea2c7d39b Mon Sep 17 00:00:00 2001 +From: Ray Donnelly +Date: Thu, 17 Jun 2021 18:51:48 +0530 +Subject: [PATCH 033/N] mingw add ModuleFileName dir to PATH +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + Modules/getpath.c | 30 ++++++++++++++++++++++++++++++ + 1 file changed, 30 insertions(+) + +diff --git a/Modules/getpath.c b/Modules/getpath.c +index ff79924..161c6f7 100644 +--- a/Modules/getpath.c ++++ b/Modules/getpath.c +@@ -1635,6 +1635,36 @@ calculate_path(PyCalculatePath *calculate, _PyPathConfig *pathconfig) + return status; + } + ++#ifdef MS_WINDOWS ++ if (calculate->path_env) { ++ wchar_t *module_path, *norm_path; ++ // Add path of executable/dll to system path. This ++ // is so that the correct tcl??.dll and tk??.dll get used. ++ module_path = calculate->dll_path[0] ? calculate->dll_path : pathconfig->program_full_path; ++ norm_path = (wchar_t *)alloca(sizeof(wchar_t) * (wcslen(module_path) + 1)); ++ if (norm_path) { ++ wchar_t *slashes, *end, *new_path; ++ wcscpy(norm_path, module_path); ++ slashes = wcschr(norm_path, L'/'); ++ while (slashes) { ++ *slashes = L'\\'; ++ slashes = wcschr(slashes + 1, L'/'); ++ } ++ end = wcsrchr(norm_path, L'\\') ? wcsrchr(norm_path, L'\\') : norm_path + wcslen(norm_path); ++ end[1] = L'\0'; ++ ++ new_path = (wchar_t *)alloca(sizeof(wchar_t) * (wcslen(L"PATH=") + wcslen(calculate->path_env) + 1 + wcslen(norm_path) + 1)); ++ if (new_path) { ++ wcscpy(new_path, L"PATH="); ++ wcscat(new_path, calculate->path_env); ++ wcscat(new_path, L";"); ++ wcscat(new_path, norm_path); ++ _wputenv(new_path); ++ } ++ } ++ } ++#endif ++ + if ((!calculate->prefix_found || !calculate->exec_prefix_found) + && calculate->warnings) + { +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0034-mingw-add-BUILDIN_WIN32_MODULEs-time-msvcrt.patch b/mingw-w64-python3.10/0034-mingw-add-BUILDIN_WIN32_MODULEs-time-msvcrt.patch new file mode 100644 index 0000000000..5dbdbbb6d2 --- /dev/null +++ b/mingw-w64-python3.10/0034-mingw-add-BUILDIN_WIN32_MODULEs-time-msvcrt.patch @@ -0,0 +1,28 @@ +From 38c266c15342f49870d0db080961b1365cbaecf5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:49 +0530 +Subject: [PATCH 034/N] mingw add BUILDIN_WIN32_MODULEs time msvcrt +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Modules/Setup.config.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Modules/Setup.config.in b/Modules/Setup.config.in +index d071a74..825ce5d 100644 +--- a/Modules/Setup.config.in ++++ b/Modules/Setup.config.in +@@ -11,4 +11,5 @@ + + # build-in modules for windows platform: + @USE_WIN32_MODULE@winreg ../PC/winreg.c ++@USE_WIN32_MODULE@msvcrt -DPy_BUILD_CORE ../PC/msvcrtmodule.c + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0035-msys-cygwin-semi-native-build-sysconfig.patch b/mingw-w64-python3.10/0035-msys-cygwin-semi-native-build-sysconfig.patch new file mode 100644 index 0000000000..7910200726 --- /dev/null +++ b/mingw-w64-python3.10/0035-msys-cygwin-semi-native-build-sysconfig.patch @@ -0,0 +1,127 @@ +From ecae83c7c530244ac3c6a5bc34a07571ecf179ce Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:50 +0530 +Subject: [PATCH 035/N] msys cygwin semi native build sysconfig +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Lib/sysconfig.py | 8 +++++++ + Makefile.pre.in | 7 ++++++ + configure.ac | 59 ++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 74 insertions(+) + +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py +index 09469ef..823c426 100644 +--- a/Lib/sysconfig.py ++++ b/Lib/sysconfig.py +@@ -386,6 +386,14 @@ def _parse_makefile(filename, vars=None, keep_unresolved=True): + if isinstance(v, str): + done[k] = v.strip() + ++ # any keys that have one with the same name suffixed with _b2h ++ # need to be replaced with the value of the _b2h key. ++ # This converts from MSYS*/Cygwin paths to Windows paths. ++ for k, v in dict(done).items(): ++ if isinstance(k, str): ++ if k.endswith("_b2h"): ++ done[k[:-4]]=v ++ + # save the results in the global dictionary + vars.update(done) + return vars +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 432d0ac..099c3ac 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -137,6 +137,13 @@ exec_prefix= @exec_prefix@ + # Install prefix for data files + datarootdir= @datarootdir@ + ++# Locations needed for semi-native fixup of sysconfig. ++srcdir_b2h= @srcdir_b2h@ ++VPATH_b2h= @VPATH_b2h@ ++abs_srcdir_b2h= @abs_srcdir_b2h@ ++abs_builddir_b2h= @abs_builddir_b2h@ ++prefix_b2h= @prefix_b2h@ ++ + # Expanded directories + BINDIR= @bindir@ + LIBDIR= @libdir@ +diff --git a/configure.ac b/configure.ac +index adc5e0e..cb06125 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -608,6 +608,65 @@ then + AC_DEFINE(_INCLUDE__STDC_A1_SOURCE, 1, Define to include mbstate_t for mbrtowc) + fi + ++# On 'semi-native' build systems (MSYS*/Cygwin targeting MinGW-w64) ++# _sysconfigdata.py will contain paths that are correct only in the ++# build environment. This means external modules will fail to build ++# without setting up the same env and also that the build of Python ++# itself will fail as the paths are not correct for the host tools. ++# ++# Also, getpath.c uses GetModuleFileNameW (replacing \ with /) and ++# compares that with the define VPATH (passed in via command-line) ++# to determine whether it's the build- or the installed-Python. ++# ++# To work around these issues a set of _b2h variables are created: ++# VPATH_b2h, prefix_b2h, srcdir_b2h, abs_srcdir_b2h ++# and abs_builddir_b2h ++# .. where b2h stands for build to host. sysconfig.py replaces path ++# prefixes matching the non-b2h versions with the b2h equivalents. ++# ++# (note this assumes the host compilers are native and *not* cross ++# - in the 'semi-native' scenario only that is.) ++ ++AC_DEFUN([ABS_PATH_HOST], ++[$1=$(cd $$2 && pwd) ++ case $build_os in ++ mingw*) ++ case $host_os in ++ mingw*) $1=$(cd $$2 && pwd -W) ;; ++ *) ;; ++ esac ++ ;; ++ cygwin*) ++ case $host_os in ++ mingw*) $1=$(cygpath -w -m $$2) ;; ++ *) ;; ++ esac ++ ;; ++ esac ++AC_SUBST([$1]) ++]) ++ ++AC_MSG_CHECKING(absolute host location of VPATH) ++ABS_PATH_HOST([VPATH_b2h],[srcdir]) ++AC_MSG_RESULT([$VPATH_b2h]) ++ ++AC_MSG_CHECKING(absolute host location of prefix) ++ABS_PATH_HOST([prefix_b2h],[prefix]) ++AC_MSG_RESULT([$prefix_b2h]) ++ ++AC_MSG_CHECKING(absolute host location of srcdir) ++ABS_PATH_HOST([srcdir_b2h],[srcdir]) ++AC_MSG_RESULT([$srcdir_b2h]) ++ ++AC_MSG_CHECKING(absolute host location of abs_srcdir) ++ABS_PATH_HOST([abs_srcdir_b2h],[srcdir]) ++AC_MSG_RESULT([$abs_srcdir_b2h]) ++ ++my_builddir=. ++AC_MSG_CHECKING(Absolute host location of abs_builddir) ++ABS_PATH_HOST([abs_builddir_b2h],[my_builddir]) ++AC_MSG_RESULT([$abs_builddir_b2h]) ++ + AC_MSG_CHECKING([for init system calls]) + AC_SUBST(INITSYS) + case $host in +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0036-sysconfig-mingw-sysconfig-like-posix.patch b/mingw-w64-python3.10/0036-sysconfig-mingw-sysconfig-like-posix.patch new file mode 100644 index 0000000000..c4b0da6ed2 --- /dev/null +++ b/mingw-w64-python3.10/0036-sysconfig-mingw-sysconfig-like-posix.patch @@ -0,0 +1,66 @@ +From 1399e3c1afcdffb0314ce17eba4c8a62c16ad104 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Tue, 21 Sep 2021 20:53:59 +0200 +Subject: [PATCH 036/N] sysconfig: mingw sysconfig like posix + +Signed-off-by: Naveen M K +--- + Lib/sysconfig.py | 28 ++++++++++++++-------------- + 1 file changed, 14 insertions(+), 14 deletions(-) + +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py +index 823c426..fb994c0 100644 +--- a/Lib/sysconfig.py ++++ b/Lib/sysconfig.py +@@ -48,13 +48,13 @@ _INSTALL_SCHEMES = { + 'data': '{base}', + }, + 'nt': { +- 'stdlib': '{installed_base}/Lib', +- 'platstdlib': '{base}/Lib', +- 'purelib': '{base}/Lib/site-packages', +- 'platlib': '{base}/Lib/site-packages', +- 'include': '{installed_base}/Include', +- 'platinclude': '{installed_base}/Include', +- 'scripts': '{base}/Scripts', ++ 'stdlib': '{installed_base}/lib/python{py_version_short}', ++ 'platstdlib': '{base}/lib/python{py_version_short}', ++ 'purelib': '{base}/lib/python{py_version_short}/site-packages', ++ 'platlib': '{base}/lib/python{py_version_short}/site-packages', ++ 'include': '{installed_base}/include/python{py_version_short}', ++ 'platinclude': '{installed_base}/include/python{py_version_short}', ++ 'scripts': '{base}/bin', + 'data': '{base}', + }, + } +@@ -95,12 +95,12 @@ if _HAS_USER_BASE: + _INSTALL_SCHEMES |= { + # NOTE: When modifying "purelib" scheme, update site._get_path() too. + 'nt_user': { +- 'stdlib': '{userbase}/Python{py_version_nodot_plat}', +- 'platstdlib': '{userbase}/Python{py_version_nodot_plat}', +- 'purelib': '{userbase}/Python{py_version_nodot_plat}/site-packages', +- 'platlib': '{userbase}/Python{py_version_nodot_plat}/site-packages', +- 'include': '{userbase}/Python{py_version_nodot_plat}/Include', +- 'scripts': '{userbase}/Python{py_version_nodot_plat}/Scripts', ++ 'stdlib': '{userbase}/lib/python{py_version_short}', ++ 'platstdlib': '{userbase}/lib/python{py_version_short}', ++ 'purelib': '{userbase}/lib/python{py_version_short}/site-packages', ++ 'platlib': '{userbase}/lib/python{py_version_short}/site-packages', ++ 'include': '{userbase}/include/python{py_version_short}', ++ 'scripts': '{userbase}/bin', + 'data': '{userbase}', + }, + 'posix_user': { +@@ -519,7 +519,7 @@ def _init_non_posix(vars): + vars['INCLUDEPY'] = get_path('include') + vars['EXT_SUFFIX'] = _imp.extension_suffixes()[0] + vars['EXE'] = '.exe' +- vars['VERSION'] = _PY_VERSION_SHORT_NO_DOT ++ vars['VERSION'] = _PY_VERSION_SHORT + vars['BINDIR'] = os.path.dirname(_safe_realpath(sys.executable)) + vars['TZPATH'] = '' + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0037-build-_winapi-earlier-so-we-can-use-it-in-distutils-.patch b/mingw-w64-python3.10/0037-build-_winapi-earlier-so-we-can-use-it-in-distutils-.patch new file mode 100644 index 0000000000..8fcc8b754a --- /dev/null +++ b/mingw-w64-python3.10/0037-build-_winapi-earlier-so-we-can-use-it-in-distutils-.patch @@ -0,0 +1,40 @@ +From d5d18dfe95f2d97627f637f39c61c56d8648fcae Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Tue, 21 Sep 2021 21:13:57 +0200 +Subject: [PATCH 037/N] build _winapi earlier so we can use it in distutils + via subprocess + +Signed-off-by: Naveen M K +--- + Modules/Setup.config.in | 1 + + setup.py | 4 +++- + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/Modules/Setup.config.in b/Modules/Setup.config.in +index 825ce5d..b4e7ff7 100644 +--- a/Modules/Setup.config.in ++++ b/Modules/Setup.config.in +@@ -12,4 +12,5 @@ + # build-in modules for windows platform: + @USE_WIN32_MODULE@winreg ../PC/winreg.c + @USE_WIN32_MODULE@msvcrt -DPy_BUILD_CORE ../PC/msvcrtmodule.c ++@USE_WIN32_MODULE@_winapi _winapi.c + +diff --git a/setup.py b/setup.py +index 679653d..6045374 100644 +--- a/setup.py ++++ b/setup.py +@@ -1691,7 +1691,9 @@ class PyBuildExt(build_ext): + self.add(Extension('msvcrt', [os.path.join(pc_srcdir, p) + for p in ['msvcrtmodule.c']])) + +- self.add(Extension('_winapi', ['_winapi.c'])) ++ # Added to Setup.config.in as now needed earlier since I ++ # use subprocess (which uses Popen) in cygwinccompiler.py ++ # self.add(Extension('_winapi', ['_winapi.c'])) + + self.add(Extension('_msi', [os.path.join(pc_srcdir, p) + for p in ['_msi.c']], +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0038-cross-dont-add-multiarch-paths-if-cross-compiling.patch b/mingw-w64-python3.10/0038-cross-dont-add-multiarch-paths-if-cross-compiling.patch new file mode 100644 index 0000000000..688546fb0a --- /dev/null +++ b/mingw-w64-python3.10/0038-cross-dont-add-multiarch-paths-if-cross-compiling.patch @@ -0,0 +1,34 @@ +From 8c08bc18c597727b73fa4ae9b6f5f0090ebee22c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:52 +0530 +Subject: [PATCH 038/N] cross dont add multiarch paths if cross compiling +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 6045374..8446c0c 100644 +--- a/setup.py ++++ b/setup.py +@@ -816,10 +816,10 @@ class PyBuildExt(build_ext): + if not CROSS_COMPILING: + add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib') + add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') ++ self.add_multiarch_paths() + # only change this for cross builds for 3.3, issues on Mageia + if CROSS_COMPILING: + self.add_cross_compiling_paths() +- self.add_multiarch_paths() + self.add_ldflags_cppflags() + + def init_inc_lib_dirs(self): +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0039-mingw-use-backslashes-in-compileall-py.patch b/mingw-w64-python3.10/0039-mingw-use-backslashes-in-compileall-py.patch new file mode 100644 index 0000000000..67bbdcb441 --- /dev/null +++ b/mingw-w64-python3.10/0039-mingw-use-backslashes-in-compileall-py.patch @@ -0,0 +1,31 @@ +From d691d67b2af1d281487c3cbc0f5e15d771c2d2ff Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:53 +0530 +Subject: [PATCH 039/N] mingw use backslashes in compileall py +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Lib/compileall.py | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Lib/compileall.py b/Lib/compileall.py +index 3e00477..9d19e90 100644 +--- a/Lib/compileall.py ++++ b/Lib/compileall.py +@@ -38,6 +38,8 @@ def _walk_dir(dir, maxlevels, quiet=0): + if name == '__pycache__': + continue + fullname = os.path.join(dir, name) ++ if sys.platform == "win32" and sys.version.find("GCC") >= 0: ++ fullname = fullname.replace('\\','/') + if not os.path.isdir(fullname): + yield fullname + elif (maxlevels > 0 and name != os.curdir and name != os.pardir and +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0040-msys-convert_path-fix-and-root-hack.patch b/mingw-w64-python3.10/0040-msys-convert_path-fix-and-root-hack.patch new file mode 100644 index 0000000000..fc32cfa87e --- /dev/null +++ b/mingw-w64-python3.10/0040-msys-convert_path-fix-and-root-hack.patch @@ -0,0 +1,43 @@ +From cc0fbe288813b1e49ceaa8b2ed620e8887670b2a Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Tue, 21 Sep 2021 21:18:36 +0200 +Subject: [PATCH 040/N] msys convert_path fix and root hack + +Signed-off-by: Naveen M K +--- + Makefile.pre.in | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 099c3ac..c6a312e 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1760,6 +1760,12 @@ libainstall: @DEF_MAKE_RULE@ python-config + else true; \ + fi + ++ifeq ($(shell uname -o),Msys) ++DESTDIRFINAL=$(DESTDIR) ++else ++DESTDIRFINAL=$(DESTDIR)/ ++endif ++ + # Install the dynamically loadable modules + # This goes into $(exec_prefix) + sharedinstall: sharedmods +@@ -1767,9 +1773,9 @@ sharedinstall: sharedmods + --prefix=$(prefix) \ + --install-scripts=$(BINDIR) \ + --install-platlib=$(DESTSHARED) \ +- --root=$(DESTDIR)/ +- -rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH).py +- -rm -r $(DESTDIR)$(DESTSHARED)/__pycache__ ++ --root=$(DESTDIRFINAL) ++ -rm $(DESTDIRFINAL)$(DESTSHARED)/_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH).py ++ -rm -r $(DESTDIRFINAL)$(DESTSHARED)/__pycache__ + + # Here are a couple of targets for MacOSX again, to install a full + # framework-based Python. frameworkinstall installs everything, the +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0041-allow-static-tcltk.patch b/mingw-w64-python3.10/0041-allow-static-tcltk.patch new file mode 100644 index 0000000000..03617cf6f2 --- /dev/null +++ b/mingw-w64-python3.10/0041-allow-static-tcltk.patch @@ -0,0 +1,88 @@ +From c42bbc3cdab0f8af72ec32268d765659dc517670 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:54 +0530 +Subject: [PATCH 041/N] allow static tcltk +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + setup.py | 35 +++++++++++++++++++++++++---------- + 1 file changed, 25 insertions(+), 10 deletions(-) + +diff --git a/setup.py b/setup.py +index 8446c0c..b406cb8 100644 +--- a/setup.py ++++ b/setup.py +@@ -865,7 +865,7 @@ class PyBuildExt(build_ext): + if HOST_PLATFORM == 'hp-ux11': + self.lib_dirs += ['/usr/lib/hpux64', '/usr/lib/hpux32'] + +- if MACOS: ++ if MACOS or MS_WINDOWS: + # This should work on any unixy platform ;-) + # If the user has bothered specifying additional -I and -L flags + # in OPT and LDFLAGS we might as well use them here. +@@ -875,6 +875,8 @@ class PyBuildExt(build_ext): + # directories with whitespace in the name to store libraries. + cflags, ldflags = sysconfig.get_config_vars( + 'CFLAGS', 'LDFLAGS') ++ cflags = cflags + ' ' + ('',os.environ.get('CC'))[os.environ.get('CC') != None] ++ ldflags = ldflags + ' ' + ('',os.environ.get('LDSHARED'))[os.environ.get('LDSHARED') != None] + for item in cflags.split(): + if item.startswith('-I'): + self.inc_dirs.append(item[2:]) +@@ -2155,14 +2157,19 @@ class PyBuildExt(build_ext): + # The versions with dots are used on Unix, and the versions without + # dots on Windows, for detection by cygwin. + tcllib = tklib = tcl_includes = tk_includes = None +- for version in ['8.6', '86', '8.5', '85', '8.4', '84', '8.3', '83', +- '8.2', '82', '8.1', '81', '8.0', '80']: +- tklib = self.compiler.find_library_file(self.lib_dirs, +- 'tk' + version) +- tcllib = self.compiler.find_library_file(self.lib_dirs, +- 'tcl' + version) +- if tklib and tcllib: +- # Exit the loop when we've found the Tcl/Tk libraries ++ tcltk_suffix = None ++ for suffix in ['', 's']: ++ for version in ['8.6', '86', '8.5', '85', '8.4', '84', '8.3', '83', ++ '8.2', '82', '8.1', '81', '8.0', '80', '']: ++ tklib = self.compiler.find_library_file(self.lib_dirs, ++ 'tk' + version + suffix) ++ tcllib = self.compiler.find_library_file(self.lib_dirs, ++ 'tcl' + version + suffix) ++ if tklib and tcllib: ++ # Exit the loop when we've found the Tcl/Tk libraries ++ tcltk_suffix = suffix ++ break ++ if tcltk_suffix != None: + break + + # Now check for the header files +@@ -2233,10 +2240,18 @@ class PyBuildExt(build_ext): + # Add the Tcl/Tk libraries + libs.append('tk'+ version) + libs.append('tcl'+ version) ++ libs.append('tk'+ version + tcltk_suffix) ++ libs.append('tcl'+ version + tcltk_suffix) ++ if MS_WINDOWS: ++ for winlib in ['ws2_32','gdi32','comctl32','comdlg32','imm32','uuid','oleaut32','ole32']: ++ libs.append( winlib ) + + # Finally, link with the X11 libraries (not appropriate on cygwin) +- if not CYGWIN: ++ # ...on those platforms, define STATIC_BUILD if linking to static tcl/tk. ++ if not CYGWIN and not MS_WINDOWS: + libs.append('X11') ++ elif tcllib.endswith('s.a'): ++ defs.append( ('STATIC_BUILD',1) ) + + # XXX handle these, but how to detect? + # *** Uncomment and edit for PIL (TkImaging) extension only: +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0042-mingw-pdcurses_ISPAD.patch b/mingw-w64-python3.10/0042-mingw-pdcurses_ISPAD.patch new file mode 100644 index 0000000000..dadd76665f --- /dev/null +++ b/mingw-w64-python3.10/0042-mingw-pdcurses_ISPAD.patch @@ -0,0 +1,36 @@ +From 64f3f910871d9d0e51971b97d3cded59b458448e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:55 +0530 +Subject: [PATCH 042/N] mingw pdcurses_ISPAD +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Include/py_curses.h | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/Include/py_curses.h b/Include/py_curses.h +index b70252d..0d5cee2 100644 +--- a/Include/py_curses.h ++++ b/Include/py_curses.h +@@ -36,6 +36,13 @@ + #include + #endif + ++#if defined(__MINGW32__) ++#include ++#if !defined(_ISPAD) ++#define _ISPAD 0x10 ++#endif ++#endif ++ + #ifdef HAVE_NCURSES_H + /* configure was checking , but we will + use , which has some or all these features. */ +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0043-builddir-fixes.patch b/mingw-w64-python3.10/0043-builddir-fixes.patch new file mode 100644 index 0000000000..bde714eee3 --- /dev/null +++ b/mingw-w64-python3.10/0043-builddir-fixes.patch @@ -0,0 +1,71 @@ +From 92456f734e8a9582549491c5f0f9d3c6e0929e5b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:57 +0530 +Subject: [PATCH 043/N] builddir fixes +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + Makefile.pre.in | 10 +++++----- + Programs/_freeze_importlib.c | 2 +- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index c6a312e..041baf7 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -738,20 +738,20 @@ Programs/_testembed: Programs/_testembed.o $(LIBRARY_DEPS) + + Programs/_freeze_importlib.o: Programs/_freeze_importlib.c Makefile + +-Programs/_freeze_importlib: Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) ++Programs/_freeze_importlib$(EXE): Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) + $(LINKCC) $(PY_CORE_LDFLAGS) -o $@ Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) + + .PHONY: regen-importlib +-regen-importlib: Programs/_freeze_importlib ++regen-importlib: Programs/_freeze_importlib$(EXE) + # Regenerate Python/importlib_external.h + # from Lib/importlib/_bootstrap_external.py using _freeze_importlib +- ./Programs/_freeze_importlib importlib._bootstrap_external \ ++ ./Programs/_freeze_importlib$(EXE) importlib._bootstrap_external \ + $(srcdir)/Lib/importlib/_bootstrap_external.py \ + $(srcdir)/Python/importlib_external.h.new + $(UPDATE_FILE) $(srcdir)/Python/importlib_external.h $(srcdir)/Python/importlib_external.h.new + # Regenerate Python/importlib.h from Lib/importlib/_bootstrap.py + # using _freeze_importlib +- ./Programs/_freeze_importlib importlib._bootstrap \ ++ ./Programs/_freeze_importlib$(EXE) importlib._bootstrap \ + $(srcdir)/Lib/importlib/_bootstrap.py \ + $(srcdir)/Python/importlib.h.new + $(UPDATE_FILE) $(srcdir)/Python/importlib.h $(srcdir)/Python/importlib.h.new +@@ -1935,7 +1935,7 @@ clean-retain-profile: pycremoval + find build -name '*.py[co]' -exec rm -f {} ';' || true + -rm -f pybuilddir.txt + -rm -f Lib/lib2to3/*Grammar*.pickle +- -rm -f Programs/_testembed Programs/_freeze_importlib ++ -rm -f Programs/_testembed Programs/_freeze_importlib$(EXE) + -find build -type f -a ! -name '*.gc??' -exec rm -f {} ';' + -rm -f Include/pydtrace_probes.h + -rm -f profile-gen-stamp +diff --git a/Programs/_freeze_importlib.c b/Programs/_freeze_importlib.c +index 2e4ccbb..a8d5c31 100644 +--- a/Programs/_freeze_importlib.c ++++ b/Programs/_freeze_importlib.c +@@ -20,7 +20,7 @@ static const struct _frozen _PyImport_FrozenModules[] = { + {0, 0, 0} /* sentinel */ + }; + +-#ifndef MS_WINDOWS ++#ifndef _MSC_VER + /* On Windows, this links with the regular pythonXY.dll, so this variable comes + from frozen.obj. In the Makefile, frozen.o is not linked into this executable, + so we define the variable here. */ +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0044-msys-monkeypatch-os-system-via-sh-exe.patch b/mingw-w64-python3.10/0044-msys-monkeypatch-os-system-via-sh-exe.patch new file mode 100644 index 0000000000..02d8377f1c --- /dev/null +++ b/mingw-w64-python3.10/0044-msys-monkeypatch-os-system-via-sh-exe.patch @@ -0,0 +1,40 @@ +From 4a690d443590f6e37801d13f4e70820f2d625466 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:57 +0530 +Subject: [PATCH 044/N] msys monkeypatch os system via sh exe +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + setup.py | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/setup.py b/setup.py +index b406cb8..ce28bc1 100644 +--- a/setup.py ++++ b/setup.py +@@ -79,6 +79,17 @@ def get_platform(): + return sys.platform + + ++# On MSYS, os.system needs to be wrapped with sh.exe ++# as otherwise all the io redirection will fail. ++# Arguably, this could happen inside the real os.system ++# rather than this monkey patch. ++if sys.platform == "win32" and "MSYSTEM" in os.environ: ++ os_system = os.system ++ def msys_system(command): ++ command_in_sh = 'sh.exe -c "%s"' % command.replace("\\", "\\\\") ++ return os_system(command_in_sh) ++ os.system = msys_system ++ + CROSS_COMPILING = ("_PYTHON_HOST_PLATFORM" in os.environ) + HOST_PLATFORM = get_platform() + MS_WINDOWS = (HOST_PLATFORM == 'win32') +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0045-msys-replace-slashes-used-in-io-redirection.patch b/mingw-w64-python3.10/0045-msys-replace-slashes-used-in-io-redirection.patch new file mode 100644 index 0000000000..30c3dbe623 --- /dev/null +++ b/mingw-w64-python3.10/0045-msys-replace-slashes-used-in-io-redirection.patch @@ -0,0 +1,74 @@ +From 4859bff1e3031582992bfe5bf87861b3cf3db536 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:58 +0530 +Subject: [PATCH 045/N] msys replace slashes used in io redirection +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + setup.py | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/setup.py b/setup.py +index ce28bc1..bb6e208 100644 +--- a/setup.py ++++ b/setup.py +@@ -677,7 +677,7 @@ class PyBuildExt(build_ext): + # Debian/Ubuntu multiarch support. + # https://wiki.ubuntu.com/MultiarchSpec + cc = sysconfig.get_config_var('CC') +- tmpfile = os.path.join(self.build_temp, 'multiarch') ++ tmpfile = os.path.join(self.build_temp, 'multiarch').replace('\\','/') + if not os.path.exists(self.build_temp): + os.makedirs(self.build_temp) + ret = run_command( +@@ -702,7 +702,7 @@ class PyBuildExt(build_ext): + opt = '' + if CROSS_COMPILING: + opt = '-t' + sysconfig.get_config_var('HOST_GNU_TYPE') +- tmpfile = os.path.join(self.build_temp, 'multiarch') ++ tmpfile = os.path.join(self.build_temp, 'multiarch').replace('\\','/') + if not os.path.exists(self.build_temp): + os.makedirs(self.build_temp) + ret = run_command( +@@ -766,7 +766,7 @@ class PyBuildExt(build_ext): + + def add_cross_compiling_paths(self): + cc = sysconfig.get_config_var('CC') +- tmpfile = os.path.join(self.build_temp, 'ccpaths') ++ tmpfile = os.path.join(self.build_temp, 'ccpaths').replace('\\','/') + if not os.path.exists(self.build_temp): + os.makedirs(self.build_temp) + ret = run_command('%s -E -v - %s 1>/dev/null' % (cc, tmpfile)) +@@ -1085,7 +1085,7 @@ class PyBuildExt(build_ext): + readline_termcap_library = "" + curses_library = "" + # Cannot use os.popen here in py3k. +- tmpfile = os.path.join(self.build_temp, 'readline_termcap_lib') ++ tmpfile = os.path.join(self.build_temp, 'readline_termcap_lib').replace('\\','/') + if not os.path.exists(self.build_temp): + os.makedirs(self.build_temp) + # Determine if readline is already linked against curses or tinfo. +@@ -2106,12 +2106,12 @@ class PyBuildExt(build_ext): + cflags = sysconfig.get_config_vars('CFLAGS')[0] + archs = re.findall(r'-arch\s+(\w+)', cflags) + +- tmpfile = os.path.join(self.build_temp, 'tk.arch') ++ tmpfile = os.path.join(self.build_temp, 'tk.arch').replace('\\','/') + if not os.path.exists(self.build_temp): + os.makedirs(self.build_temp) + + run_command( +- "file {}/Tk.framework/Tk | grep 'for architecture' > {}".format(F, tmpfile) ++ "file {}/Tk.framework/Tk | grep 'for architecture' > {}".format(F, tmpfile).replace('\\','/') + ) + with open(tmpfile) as fp: + detected_archs = [] +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0046-remove_path_max.default.patch b/mingw-w64-python3.10/0046-remove_path_max.default.patch new file mode 100644 index 0000000000..185e8fa429 --- /dev/null +++ b/mingw-w64-python3.10/0046-remove_path_max.default.patch @@ -0,0 +1,30 @@ +From c8c429f02b796ace035e5bb47837c4208334bf99 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:59 +0530 +Subject: [PATCH 046/N] remove_path_max.default +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Include/osdefs.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Include/osdefs.h b/Include/osdefs.h +index 3243944..99d4977 100644 +--- a/Include/osdefs.h ++++ b/Include/osdefs.h +@@ -10,7 +10,6 @@ extern "C" { + #ifdef MS_WINDOWS + #define SEP L'\\' + #define ALTSEP L'/' +-#define MAXPATHLEN 256 + #define DELIM L';' + #endif + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0047-dont-link-with-gettext.patch b/mingw-w64-python3.10/0047-dont-link-with-gettext.patch new file mode 100644 index 0000000000..b46b24ac34 --- /dev/null +++ b/mingw-w64-python3.10/0047-dont-link-with-gettext.patch @@ -0,0 +1,61 @@ +From f84ed3dee09299ecb4e1760bda7411cc7c2dc5ff Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:52:00 +0530 +Subject: [PATCH 047/N] dont link with gettext +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Modules/_localemodule.c | 7 +++++++ + configure.ac | 9 +++++++++ + 2 files changed, 16 insertions(+) + +diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c +index 564f559..71c8412 100644 +--- a/Modules/_localemodule.c ++++ b/Modules/_localemodule.c +@@ -12,6 +12,13 @@ This software comes with no warranty. Use at your own risk. + #define PY_SSIZE_T_CLEAN + #include "Python.h" + #include "pycore_fileutils.h" ++#ifdef __MINGW32__ ++/* The header libintl.h and library libintl may exist on mingw host. ++ * To be compatible with MSVC build we has to undef some defines. ++ */ ++#undef HAVE_LIBINTL_H ++#undef HAVE_BIND_TEXTDOMAIN_CODESET ++#endif + + #include + #include +diff --git a/configure.ac b/configure.ac +index cb06125..a21a239 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3142,10 +3142,19 @@ AC_SEARCH_LIBS(sem_init, pthread rt posix4) + fi + + # check if we need libintl for locale functions ++case $host in ++ *-*-mingw*) ++ dnl Native windows build don't use libintl (see _localemodule.c). ++ dnl Also we don't like setup.py to add "intl" library to the list ++ dnl when build _locale module. ++ ;; ++ *) + AC_CHECK_LIB(intl, textdomain, + [AC_DEFINE(WITH_LIBINTL, 1, + [Define to 1 if libintl is needed for locale functions.]) + LIBS="-lintl $LIBS"]) ++ ;; ++esac + + # checks for system dependent C++ extensions support + case "$ac_sys_system" in +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0048-ctypes-python-dll.patch b/mingw-w64-python3.10/0048-ctypes-python-dll.patch new file mode 100644 index 0000000000..e0938bdc2c --- /dev/null +++ b/mingw-w64-python3.10/0048-ctypes-python-dll.patch @@ -0,0 +1,34 @@ +From b5185ce931450f946370b2823d31caba64cb78a7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:52:01 +0530 +Subject: [PATCH 048/N] ctypes python dll +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + Lib/ctypes/__init__.py | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Lib/ctypes/__init__.py b/Lib/ctypes/__init__.py +index 4afa4eb..2fe2eec 100644 +--- a/Lib/ctypes/__init__.py ++++ b/Lib/ctypes/__init__.py +@@ -456,7 +456,9 @@ class LibraryLoader(object): + cdll = LibraryLoader(CDLL) + pydll = LibraryLoader(PyDLL) + +-if _os.name == "nt": ++if _os.name == "nt" and _sys.version.find('GCC') >= 0: ++ pythonapi = PyDLL("libpython%d.%d%s.dll" % (_sys.version_info[:2] + (_sys.abiflags,)), None) ++elif _os.name == "nt": + pythonapi = PyDLL("python dll", None, _sys.dllhandle) + elif _sys.platform == "cygwin": + pythonapi = PyDLL("libpython%d.%d.dll" % _sys.version_info[:2]) +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0049-gdbm-module-includes.patch b/mingw-w64-python3.10/0049-gdbm-module-includes.patch new file mode 100644 index 0000000000..eb40f022fb --- /dev/null +++ b/mingw-w64-python3.10/0049-gdbm-module-includes.patch @@ -0,0 +1,31 @@ +From b0cc025c9eb0dbeff70c0b4e8cec659a2c262af4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:52:02 +0530 +Subject: [PATCH 049/N] gdbm module includes +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Modules/_gdbmmodule.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Modules/_gdbmmodule.c b/Modules/_gdbmmodule.c +index a7fb6a3..98f2c09 100644 +--- a/Modules/_gdbmmodule.c ++++ b/Modules/_gdbmmodule.c +@@ -11,7 +11,7 @@ + #include + #include "gdbm.h" + +-#if defined(WIN32) && !defined(__CYGWIN__) ++#if defined(WIN32) && !defined(__CYGWIN__) && !defined(__MINGW32__) + #include "gdbmerrno.h" + extern const char * gdbm_strerror(gdbm_error); + #endif +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0050-use-gnu_printf-in-format.patch b/mingw-w64-python3.10/0050-use-gnu_printf-in-format.patch new file mode 100644 index 0000000000..cae3973b69 --- /dev/null +++ b/mingw-w64-python3.10/0050-use-gnu_printf-in-format.patch @@ -0,0 +1,86 @@ +From 5a2085bcb4f7bf42a7eca005025d5095b44907e9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:52:03 +0530 +Subject: [PATCH 050/N] use gnu_printf in format +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Include/bytesobject.h | 4 ++-- + Include/pyerrors.h | 4 ++-- + Include/pyport.h | 6 ++++++ + Include/sysmodule.h | 4 ++-- + 4 files changed, 12 insertions(+), 6 deletions(-) + +diff --git a/Include/bytesobject.h b/Include/bytesobject.h +index 39c241a..902d4a1 100644 +--- a/Include/bytesobject.h ++++ b/Include/bytesobject.h +@@ -35,9 +35,9 @@ PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t); + PyAPI_FUNC(PyObject *) PyBytes_FromString(const char *); + PyAPI_FUNC(PyObject *) PyBytes_FromObject(PyObject *); + PyAPI_FUNC(PyObject *) PyBytes_FromFormatV(const char*, va_list) +- Py_GCC_ATTRIBUTE((format(printf, 1, 0))); ++ Py_PRINTF(1, 0); + PyAPI_FUNC(PyObject *) PyBytes_FromFormat(const char*, ...) +- Py_GCC_ATTRIBUTE((format(printf, 1, 2))); ++ Py_PRINTF(1, 2); + PyAPI_FUNC(Py_ssize_t) PyBytes_Size(PyObject *); + PyAPI_FUNC(char *) PyBytes_AsString(PyObject *); + PyAPI_FUNC(PyObject *) PyBytes_Repr(PyObject *, int); +diff --git a/Include/pyerrors.h b/Include/pyerrors.h +index f5d1c71..a532821 100644 +--- a/Include/pyerrors.h ++++ b/Include/pyerrors.h +@@ -308,9 +308,9 @@ PyAPI_FUNC(int) PyUnicodeTranslateError_SetReason( + ); + + PyAPI_FUNC(int) PyOS_snprintf(char *str, size_t size, const char *format, ...) +- Py_GCC_ATTRIBUTE((format(printf, 3, 4))); ++ Py_PRINTF(3, 4); + PyAPI_FUNC(int) PyOS_vsnprintf(char *str, size_t size, const char *format, va_list va) +- Py_GCC_ATTRIBUTE((format(printf, 3, 0))); ++ Py_PRINTF(3, 0); + + #ifndef Py_LIMITED_API + # define Py_CPYTHON_ERRORS_H +diff --git a/Include/pyport.h b/Include/pyport.h +index dedc3b8..78f7d53 100644 +--- a/Include/pyport.h ++++ b/Include/pyport.h +@@ -803,6 +803,12 @@ extern char * _getpty(int *, int, mode_t, int); + + #define Py_VA_COPY va_copy + ++#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__>= 4) || __GNUC__ > 4) ++# define Py_PRINTF(X,Y) Py_GCC_ATTRIBUTE((format(gnu_printf,X,Y))) ++#else ++# define Py_PRINTF(X,Y) Py_GCC_ATTRIBUTE((format(printf,X,Y))) ++#endif ++ + /* + * Convenient macros to deal with endianness of the platform. WORDS_BIGENDIAN is + * detected by configure and defined in pyconfig.h. The code in pyconfig.h +diff --git a/Include/sysmodule.h b/Include/sysmodule.h +index 670e5d2..d582963 100644 +--- a/Include/sysmodule.h ++++ b/Include/sysmodule.h +@@ -15,9 +15,9 @@ PyAPI_FUNC(void) PySys_SetArgvEx(int, wchar_t **, int); + PyAPI_FUNC(void) PySys_SetPath(const wchar_t *); + + PyAPI_FUNC(void) PySys_WriteStdout(const char *format, ...) +- Py_GCC_ATTRIBUTE((format(printf, 1, 2))); ++ Py_PRINTF(1, 2); + PyAPI_FUNC(void) PySys_WriteStderr(const char *format, ...) +- Py_GCC_ATTRIBUTE((format(printf, 1, 2))); ++ Py_PRINTF(1, 2); + PyAPI_FUNC(void) PySys_FormatStdout(const char *format, ...); + PyAPI_FUNC(void) PySys_FormatStderr(const char *format, ...); + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0051-mingw-fix-ssl-dont-use-enum_certificates.patch b/mingw-w64-python3.10/0051-mingw-fix-ssl-dont-use-enum_certificates.patch new file mode 100644 index 0000000000..b93613a610 --- /dev/null +++ b/mingw-w64-python3.10/0051-mingw-fix-ssl-dont-use-enum_certificates.patch @@ -0,0 +1,40 @@ +From fea589f9c476ce4eab104b5feb845e0829975109 Mon Sep 17 00:00:00 2001 +From: Ray Donnelly +Date: Thu, 17 Jun 2021 18:52:03 +0530 +Subject: [PATCH 051/N] mingw fix ssl dont use enum_certificates +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + Lib/ssl.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Lib/ssl.py b/Lib/ssl.py +index 181065d..752d1e4 100644 +--- a/Lib/ssl.py ++++ b/Lib/ssl.py +@@ -249,7 +249,7 @@ class _TLSMessageType(_IntEnum): + CHANGE_CIPHER_SPEC = 0x0101 + + +-if sys.platform == "win32": ++if sys.platform == "win32" and sys.version.find("GCC") == -1: + from _ssl import enum_certificates, enum_crls + + from socket import socket, SOCK_STREAM, create_connection +@@ -586,7 +586,7 @@ class SSLContext(_SSLContext): + def load_default_certs(self, purpose=Purpose.SERVER_AUTH): + if not isinstance(purpose, _ASN1Object): + raise TypeError(purpose) +- if sys.platform == "win32": ++ if sys.platform == "win32" and sys.version.find("GCC") == -1: + for storename in self._windows_cert_stores: + self._load_windows_store_certs(storename, purpose) + self.set_default_verify_paths() +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0052-fix-using-dllhandle-and-winver-mingw.patch b/mingw-w64-python3.10/0052-fix-using-dllhandle-and-winver-mingw.patch new file mode 100644 index 0000000000..4ee57dc646 --- /dev/null +++ b/mingw-w64-python3.10/0052-fix-using-dllhandle-and-winver-mingw.patch @@ -0,0 +1,40 @@ +From dad1af4c449d7f8ac7f6d52e6b763ec56aae89b5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:52:06 +0530 +Subject: [PATCH 052/N] fix using dllhandle and winver mingw +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Python/sysmodule.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Python/sysmodule.c b/Python/sysmodule.c +index ac49f78..d91a606 100644 +--- a/Python/sysmodule.c ++++ b/Python/sysmodule.c +@@ -38,7 +38,7 @@ Data members: + #include + #endif /* MS_WINDOWS */ + +-#ifdef MS_COREDLL ++#if defined(MS_WINDOWS) && defined(Py_ENABLE_SHARED) + extern void *PyWin_DLLhModule; + /* A string loaded from the DLL at startup: */ + extern const char *PyWin_DLLVersionString; +@@ -2801,7 +2801,7 @@ _PySys_InitCore(PyThreadState *tstate, PyObject *sysdict) + SET_SYS_FROM_STRING("byteorder", "little"); + #endif + +-#ifdef MS_COREDLL ++#if defined(MS_WINDOWS) && defined(Py_ENABLE_SHARED) + SET_SYS("dllhandle", PyLong_FromVoidPtr(PyWin_DLLhModule)); + SET_SYS_FROM_STRING("winver", PyWin_DLLVersionString); + #endif +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0053-Add-AMD64-to-sys-config-so-msvccompiler-get_build_ve.patch b/mingw-w64-python3.10/0053-Add-AMD64-to-sys-config-so-msvccompiler-get_build_ve.patch new file mode 100644 index 0000000000..75ed862563 --- /dev/null +++ b/mingw-w64-python3.10/0053-Add-AMD64-to-sys-config-so-msvccompiler-get_build_ve.patch @@ -0,0 +1,43 @@ +From 82b13bb5153b627bb1acfe3c928ef072c2ab9cf5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:52:07 +0530 +Subject: [PATCH 053/N] Add AMD64 to sys config so msvccompiler + get_build_version works + +Signed-off-by: Naveen M K +--- + Python/getcompiler.c | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) + +diff --git a/Python/getcompiler.c b/Python/getcompiler.c +index a5d2623..3e31c80 100644 +--- a/Python/getcompiler.c ++++ b/Python/getcompiler.c +@@ -10,7 +10,22 @@ + #if defined(__clang__) + #define COMPILER "[Clang " __clang_version__ "]" + #elif defined(__GNUC__) +-#define COMPILER "[GCC " __VERSION__ "]" ++/* To not break compatibility with things that determine ++ CPU arch by calling get_build_version in msvccompiler.py ++ (such as NumPy) add "32 bit" or "64 bit (AMD64)" on Windows ++ and also use a space as a separator rather than a newline. */ ++#if defined(_WIN32) ++#define COMP_SEP " " ++#if defined(__x86_64__) ++#define ARCH_SUFFIX " 64 bit (AMD64)" ++#else ++#define ARCH_SUFFIX " 32 bit" ++#endif ++#else ++#define COMP_SEP "\n" ++#define ARCH_SUFFIX "" ++#endif ++#define COMPILER COMP_SEP "[GCC " __VERSION__ ARCH_SUFFIX "]" + // Generic fallbacks. + #elif defined(__cplusplus) + #define COMPILER "[C++]" +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0054-MINGW-link-with-additional-library.patch b/mingw-w64-python3.10/0054-MINGW-link-with-additional-library.patch new file mode 100644 index 0000000000..79e57df0fd --- /dev/null +++ b/mingw-w64-python3.10/0054-MINGW-link-with-additional-library.patch @@ -0,0 +1,34 @@ +From 5186de5e482581e020c7d4d0c1eb52ea5c424d1d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:52:08 +0530 +Subject: [PATCH 054/N] MINGW link with additional library + +Signed-off-by: Naveen M K +--- + configure.ac | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/configure.ac b/configure.ac +index a21a239..4f014f9 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -5907,6 +5907,15 @@ for dir in $SRCDIRS; do + done + AC_MSG_RESULT(done) + ++# For mingw build need additional library for linking ++case $host in ++ *-*-mingw*) ++ LIBS="$LIBS -lversion -lshlwapi -lpathcch" ++ ;; ++ *) ++ ;; ++esac ++ + # Availability of -O2: + AC_MSG_CHECKING(for -O2) + saved_cflags="$CFLAGS" +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0055-install-msilib.patch b/mingw-w64-python3.10/0055-install-msilib.patch new file mode 100644 index 0000000000..1612ba5441 --- /dev/null +++ b/mingw-w64-python3.10/0055-install-msilib.patch @@ -0,0 +1,31 @@ +From 9b7ab0570d8347d33558619a7ab643a2bc3b3ea3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= +Date: Thu, 17 Jun 2021 18:52:09 +0530 +Subject: [PATCH 055/N] install msilib +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Co-authored-by: Ray Donnelly +Signed-off-by: Naveen M K +--- + Makefile.pre.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 041baf7..703f1d4 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1460,6 +1460,7 @@ LIBSUBDIRS= asyncio \ + sqlite3 \ + tkinter \ + turtledemo \ ++ msilib \ + unittest \ + urllib \ + venv venv/scripts venv/scripts/common venv/scripts/posix \ +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0056-fix-signal-module-build.patch b/mingw-w64-python3.10/0056-fix-signal-module-build.patch new file mode 100644 index 0000000000..b246a7093f --- /dev/null +++ b/mingw-w64-python3.10/0056-fix-signal-module-build.patch @@ -0,0 +1,30 @@ +From d4cf88fdd752072679c4c5f4b00d4536bb40b24f Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:10 +0530 +Subject: [PATCH 056/N] fix signal module build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Modules/Setup | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Modules/Setup b/Modules/Setup +index e765e05..ecd64fe 100644 +--- a/Modules/Setup ++++ b/Modules/Setup +@@ -111,7 +111,7 @@ _collections _collectionsmodule.c # Container types + _abc -DPy_BUILD_CORE_BUILTIN _abc.c # Abstract base classes + itertools itertoolsmodule.c # Functions creating iterators for efficient looping + atexit atexitmodule.c # Register functions to be run at interpreter-shutdown +-_signal -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal signalmodule.c ++_signal -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal signalmodule.c -lws2_32 + _stat _stat.c # stat.h interface + time -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal timemodule.c # -lm # time operations and variables + _thread -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal _threadmodule.c # low-level threading interface +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0057-build-build-winconsoleio-and-_testconsole.patch b/mingw-w64-python3.10/0057-build-build-winconsoleio-and-_testconsole.patch new file mode 100644 index 0000000000..0baf522698 --- /dev/null +++ b/mingw-w64-python3.10/0057-build-build-winconsoleio-and-_testconsole.patch @@ -0,0 +1,45 @@ +From f6c2060b4af14ff8245c513afe8952568759e04a Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:11 +0530 +Subject: [PATCH 057/N] build: build winconsoleio and _testconsole +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Modules/Setup | 2 +- + setup.py | 3 +++ + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/Modules/Setup b/Modules/Setup +index ecd64fe..3097db6 100644 +--- a/Modules/Setup ++++ b/Modules/Setup +@@ -120,7 +120,7 @@ _thread -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal _threadmodule.c # l + _locale -DPy_BUILD_CORE_BUILTIN _localemodule.c # -lintl + + # Standard I/O baseline +-_io -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal -I$(srcdir)/Modules/_io _io/_iomodule.c _io/iobase.c _io/fileio.c _io/bytesio.c _io/bufferedio.c _io/textio.c _io/stringio.c ++_io -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal -I$(srcdir)/Modules/_io _io/_iomodule.c _io/iobase.c _io/fileio.c _io/bytesio.c _io/bufferedio.c _io/textio.c _io/stringio.c _io/winconsoleio.c + + # faulthandler module + faulthandler faulthandler.c +diff --git a/setup.py b/setup.py +index bb6e208..2e504ce 100644 +--- a/setup.py ++++ b/setup.py +@@ -1080,6 +1080,9 @@ class PyBuildExt(build_ext): + ['_xxtestfuzz/_xxtestfuzz.c', + '_xxtestfuzz/fuzzer.c'])) + ++ if MS_WINDOWS: ++ self.add(Extension('_testconsole', ['../PC/_testconsole.c'])) ++ + def detect_readline_curses(self): + # readline + readline_termcap_library = "" +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0058-expose-sem_unlink.patch b/mingw-w64-python3.10/0058-expose-sem_unlink.patch new file mode 100644 index 0000000000..9fff133a45 --- /dev/null +++ b/mingw-w64-python3.10/0058-expose-sem_unlink.patch @@ -0,0 +1,30 @@ +From c3feeee17a1f03ed410680c443fcd6d538779a5b Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:12 +0530 +Subject: [PATCH 058/N] expose sem_unlink +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Modules/_multiprocessing/multiprocessing.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Modules/_multiprocessing/multiprocessing.c b/Modules/_multiprocessing/multiprocessing.c +index bec2351..72a34d0 100644 +--- a/Modules/_multiprocessing/multiprocessing.c ++++ b/Modules/_multiprocessing/multiprocessing.c +@@ -172,7 +172,7 @@ static PyMethodDef module_methods[] = { + _MULTIPROCESSING_RECV_METHODDEF + _MULTIPROCESSING_SEND_METHODDEF + #endif +-#if !defined(POSIX_SEMAPHORES_NOT_ENABLED) && !defined(__ANDROID__) ++#if defined(MS_WINDOWS) || (!defined(POSIX_SEMAPHORES_NOT_ENABLED) && !defined(__ANDROID__)) + _MULTIPROCESSING_SEM_UNLINK_METHODDEF + #endif + {NULL} +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0059-cygpty-isatty.patch b/mingw-w64-python3.10/0059-cygpty-isatty.patch new file mode 100644 index 0000000000..fddafe60c5 --- /dev/null +++ b/mingw-w64-python3.10/0059-cygpty-isatty.patch @@ -0,0 +1,462 @@ +From 0f9064a47714284e3c11d8a1edad6cae9fcfa0d0 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:14 +0530 +Subject: [PATCH 059/N] cygpty isatty +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Include/iscygpty.h | 41 ++++++++++ + Makefile.pre.in | 2 + + Modules/_io/fileio.c | 3 +- + Modules/main.c | 3 +- + Modules/posixmodule.c | 3 +- + Objects/fileobject.c | 3 +- + Python/bltinmodule.c | 5 +- + Python/fileutils.c | 3 +- + Python/frozenmain.c | 3 +- + Python/iscygpty.c | 185 ++++++++++++++++++++++++++++++++++++++++++ + Python/pylifecycle.c | 3 +- + 11 files changed, 245 insertions(+), 9 deletions(-) + create mode 100644 Include/iscygpty.h + create mode 100644 Python/iscygpty.c + +diff --git a/Include/iscygpty.h b/Include/iscygpty.h +new file mode 100644 +index 0000000..82fd0af +--- /dev/null ++++ b/Include/iscygpty.h +@@ -0,0 +1,41 @@ ++/* ++ * iscygpty.h -- part of ptycheck ++ * https://github.com/k-takata/ptycheck ++ * ++ * Copyright (c) 2015-2017 K.Takata ++ * ++ * You can redistribute it and/or modify it under the terms of either ++ * the MIT license (as described below) or the Vim license. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining ++ * a copy of this software and associated documentation files (the ++ * "Software"), to deal in the Software without restriction, including ++ * without limitation the rights to use, copy, modify, merge, publish, ++ * distribute, sublicense, and/or sell copies of the Software, and to ++ * permit persons to whom the Software is furnished to do so, subject to ++ * the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be ++ * included in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ++ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY ++ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ++ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ++ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ */ ++ ++#ifndef _ISCYGPTY_H ++#define _ISCYGPTY_H ++ ++#ifdef _WIN32 ++int is_cygpty(int fd); ++int is_cygpty_used(void); ++#else ++#define is_cygpty(fd) 0 ++#define is_cygpty_used() 0 ++#endif ++ ++#endif /* _ISCYGPTY_H */ +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 703f1d4..b698668 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -369,6 +369,7 @@ PYTHON_OBJS= \ + Python/import.o \ + Python/importdl.o \ + Python/initconfig.o \ ++ Python/iscygpty.o \ + Python/marshal.o \ + Python/modsupport.o \ + Python/mysnprintf.o \ +@@ -1073,6 +1074,7 @@ PYTHON_HEADERS= \ + $(srcdir)/Include/import.h \ + $(srcdir)/Include/interpreteridobject.h \ + $(srcdir)/Include/intrcheck.h \ ++ $(srcdir)/Include/iscygpty.h \ + $(srcdir)/Include/iterobject.h \ + $(srcdir)/Include/listobject.h \ + $(srcdir)/Include/longintrepr.h \ +diff --git a/Modules/_io/fileio.c b/Modules/_io/fileio.c +index b9856b3..66932d7 100644 +--- a/Modules/_io/fileio.c ++++ b/Modules/_io/fileio.c +@@ -19,6 +19,7 @@ + #endif + #include /* For offsetof */ + #include "_iomodule.h" ++#include "iscygpty.h" + + /* + * Known likely problems: +@@ -1127,7 +1128,7 @@ _io_FileIO_isatty_impl(fileio *self) + return err_closed(); + Py_BEGIN_ALLOW_THREADS + _Py_BEGIN_SUPPRESS_IPH +- res = isatty(self->fd); ++ res = isatty(self->fd) || is_cygpty(self->fd); + _Py_END_SUPPRESS_IPH + Py_END_ALLOW_THREADS + return PyBool_FromLong(res); +diff --git a/Modules/main.c b/Modules/main.c +index 2684d23..9ee34a3 100644 +--- a/Modules/main.c ++++ b/Modules/main.c +@@ -6,6 +6,7 @@ + #include "pycore_pathconfig.h" // _PyPathConfig_ComputeSysPath0() + #include "pycore_pylifecycle.h" // _Py_PreInitializeFromPyArgv() + #include "pycore_pystate.h" // _PyInterpreterState_GET() ++#include "iscygpty.h" + + /* Includes for exit_sigint() */ + #include // perror() +@@ -91,7 +92,7 @@ static inline int config_run_code(const PyConfig *config) + static int + stdin_is_interactive(const PyConfig *config) + { +- return (isatty(fileno(stdin)) || config->interactive); ++ return (isatty(fileno(stdin)) || config->interactive || is_cygpty(fileno(stdin))); + } + + +diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c +index 14b60f0..7e9c1c6 100644 +--- a/Modules/posixmodule.c ++++ b/Modules/posixmodule.c +@@ -42,6 +42,7 @@ + #ifdef __ANDROID__ + # undef HAVE_FACCESSAT + #endif ++#include "iscygpty.h" + + #include /* needed for ctermid() */ + +@@ -10086,7 +10087,7 @@ os_isatty_impl(PyObject *module, int fd) + { + int return_value; + _Py_BEGIN_SUPPRESS_IPH +- return_value = isatty(fd); ++ return_value = isatty(fd) || is_cygpty(fd); + _Py_END_SUPPRESS_IPH + return return_value; + } +diff --git a/Objects/fileobject.c b/Objects/fileobject.c +index 5a2816f..4fdb3c6 100644 +--- a/Objects/fileobject.c ++++ b/Objects/fileobject.c +@@ -2,6 +2,7 @@ + + #define PY_SSIZE_T_CLEAN + #include "Python.h" ++#include "iscygpty.h" + #include "pycore_runtime.h" // _PyRuntime + + #if defined(HAVE_GETC_UNLOCKED) && !defined(_Py_MEMORY_SANITIZER) +@@ -423,7 +424,7 @@ stdprinter_isatty(PyStdPrinter_Object *self, PyObject *Py_UNUSED(ignored)) + } + + Py_BEGIN_ALLOW_THREADS +- res = isatty(self->fd); ++ res = isatty(self->fd) || is_cygpty(self->fd); + Py_END_ALLOW_THREADS + + return PyBool_FromLong(res); +diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c +index b0162e5..af694f3 100644 +--- a/Python/bltinmodule.c ++++ b/Python/bltinmodule.c +@@ -1,6 +1,7 @@ + /* Built-in functions */ + + #include "Python.h" ++#include "iscygpty.h" + #include + #include "pycore_ast.h" // _PyAST_Validate() + #include "pycore_compile.h" // _PyAST_Compile() +@@ -2098,7 +2099,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt) + Py_DECREF(tmp); + if (fd < 0 && PyErr_Occurred()) + return NULL; +- tty = fd == fileno(stdin) && isatty(fd); ++ tty = fd == fileno(stdin) && (isatty(fd) || is_cygpty(fd)); + } + if (tty) { + tmp = _PyObject_CallMethodIdNoArgs(fout, &PyId_fileno); +@@ -2111,7 +2112,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt) + Py_DECREF(tmp); + if (fd < 0 && PyErr_Occurred()) + return NULL; +- tty = fd == fileno(stdout) && isatty(fd); ++ tty = fd == fileno(stdout) && (isatty(fd) || is_cygpty(fd)); + } + } + +diff --git a/Python/fileutils.c b/Python/fileutils.c +index 66f748d..8ea5f87 100644 +--- a/Python/fileutils.c ++++ b/Python/fileutils.c +@@ -1,4 +1,5 @@ + #include "Python.h" ++#include "iscygpty.h" + #include "pycore_fileutils.h" // fileutils definitions + #include "pycore_runtime.h" // _PyRuntime + #include "osdefs.h" // SEP +@@ -68,7 +69,7 @@ _Py_device_encoding(int fd) + { + int valid; + _Py_BEGIN_SUPPRESS_IPH +- valid = isatty(fd); ++ valid = isatty(fd) || is_cygpty(fd); + _Py_END_SUPPRESS_IPH + if (!valid) + Py_RETURN_NONE; +diff --git a/Python/frozenmain.c b/Python/frozenmain.c +index dd04d60..6607762 100644 +--- a/Python/frozenmain.c ++++ b/Python/frozenmain.c +@@ -4,6 +4,7 @@ + #include "Python.h" + #include "pycore_runtime.h" // _PyRuntime_Initialize() + #include ++#include "iscygpty.h" + + #ifdef MS_WINDOWS + extern void PyWinFreeze_ExeInit(void); +@@ -107,7 +108,7 @@ Py_FrozenMain(int argc, char **argv) + else + sts = 0; + +- if (inspect && isatty((int)fileno(stdin))) ++ if (inspect && (isatty((int)fileno(stdin)) || is_cygpty((int)fileno(stdin)))) + sts = PyRun_AnyFile(stdin, "") != 0; + + #ifdef MS_WINDOWS +diff --git a/Python/iscygpty.c b/Python/iscygpty.c +new file mode 100644 +index 0000000..722f88f +--- /dev/null ++++ b/Python/iscygpty.c +@@ -0,0 +1,185 @@ ++/* ++ * iscygpty.c -- part of ptycheck ++ * https://github.com/k-takata/ptycheck ++ * ++ * Copyright (c) 2015-2017 K.Takata ++ * ++ * You can redistribute it and/or modify it under the terms of either ++ * the MIT license (as described below) or the Vim license. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining ++ * a copy of this software and associated documentation files (the ++ * "Software"), to deal in the Software without restriction, including ++ * without limitation the rights to use, copy, modify, merge, publish, ++ * distribute, sublicense, and/or sell copies of the Software, and to ++ * permit persons to whom the Software is furnished to do so, subject to ++ * the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be ++ * included in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ++ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY ++ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ++ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ++ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ */ ++ ++#ifdef _WIN32 ++ ++#include ++#include ++#include ++#include ++ ++#ifdef USE_FILEEXTD ++/* VC 7.1 or earlier doesn't support SAL. */ ++# if !defined(_MSC_VER) || (_MSC_VER < 1400) ++# define __out ++# define __in ++# define __in_opt ++# endif ++/* Win32 FileID API Library: ++ * http://www.microsoft.com/en-us/download/details.aspx?id=22599 ++ * Needed for WinXP. */ ++# include ++#else /* USE_FILEEXTD */ ++/* VC 8 or earlier. */ ++# if defined(_MSC_VER) && (_MSC_VER < 1500) ++# ifdef ENABLE_STUB_IMPL ++# define STUB_IMPL ++# else ++# error "Win32 FileID API Library is required for VC2005 or earlier." ++# endif ++# endif ++#endif /* USE_FILEEXTD */ ++ ++ ++#include "iscygpty.h" ++ ++//#define USE_DYNFILEID ++#ifdef USE_DYNFILEID ++typedef BOOL (WINAPI *pfnGetFileInformationByHandleEx)( ++ HANDLE hFile, ++ FILE_INFO_BY_HANDLE_CLASS FileInformationClass, ++ LPVOID lpFileInformation, ++ DWORD dwBufferSize ++); ++static pfnGetFileInformationByHandleEx pGetFileInformationByHandleEx = NULL; ++ ++# ifndef USE_FILEEXTD ++static BOOL WINAPI stub_GetFileInformationByHandleEx( ++ HANDLE hFile, ++ FILE_INFO_BY_HANDLE_CLASS FileInformationClass, ++ LPVOID lpFileInformation, ++ DWORD dwBufferSize ++ ) ++{ ++ return FALSE; ++} ++# endif ++ ++static void setup_fileid_api(void) ++{ ++ if (pGetFileInformationByHandleEx != NULL) { ++ return; ++ } ++ pGetFileInformationByHandleEx = (pfnGetFileInformationByHandleEx) ++ GetProcAddress(GetModuleHandle(TEXT("kernel32.dll")), ++ "GetFileInformationByHandleEx"); ++ if (pGetFileInformationByHandleEx == NULL) { ++# ifdef USE_FILEEXTD ++ pGetFileInformationByHandleEx = GetFileInformationByHandleEx; ++# else ++ pGetFileInformationByHandleEx = stub_GetFileInformationByHandleEx; ++# endif ++ } ++} ++#else ++# define pGetFileInformationByHandleEx GetFileInformationByHandleEx ++# define setup_fileid_api() ++#endif ++ ++ ++#define is_wprefix(s, prefix) \ ++ (wcsncmp((s), (prefix), sizeof(prefix) / sizeof(WCHAR) - 1) == 0) ++ ++/* Check if the fd is a cygwin/msys's pty. */ ++int is_cygpty(int fd) ++{ ++#ifdef STUB_IMPL ++ return 0; ++#else ++ HANDLE h; ++ int size = sizeof(FILE_NAME_INFO) + sizeof(WCHAR) * (MAX_PATH - 1); ++ FILE_NAME_INFO *nameinfo; ++ WCHAR *p = NULL; ++ ++ setup_fileid_api(); ++ ++ h = (HANDLE) _get_osfhandle(fd); ++ if (h == INVALID_HANDLE_VALUE) { ++ return 0; ++ } ++ /* Cygwin/msys's pty is a pipe. */ ++ if (GetFileType(h) != FILE_TYPE_PIPE) { ++ return 0; ++ } ++ nameinfo = malloc(size + sizeof(WCHAR)); ++ if (nameinfo == NULL) { ++ return 0; ++ } ++ /* Check the name of the pipe: ++ * '\{cygwin,msys}-XXXXXXXXXXXXXXXX-ptyN-{from,to}-master' */ ++ if (pGetFileInformationByHandleEx(h, FileNameInfo, nameinfo, size)) { ++ nameinfo->FileName[nameinfo->FileNameLength / sizeof(WCHAR)] = L'\0'; ++ p = nameinfo->FileName; ++ if (is_wprefix(p, L"\\cygwin-")) { /* Cygwin */ ++ p += 8; ++ } else if (is_wprefix(p, L"\\msys-")) { /* MSYS and MSYS2 */ ++ p += 6; ++ } else { ++ p = NULL; ++ } ++ if (p != NULL) { ++ while (*p && isxdigit(*p)) /* Skip 16-digit hexadecimal. */ ++ ++p; ++ if (is_wprefix(p, L"-pty")) { ++ p += 4; ++ } else { ++ p = NULL; ++ } ++ } ++ if (p != NULL) { ++ while (*p && isdigit(*p)) /* Skip pty number. */ ++ ++p; ++ if (is_wprefix(p, L"-from-master")) { ++ //p += 12; ++ } else if (is_wprefix(p, L"-to-master")) { ++ //p += 10; ++ } else { ++ p = NULL; ++ } ++ } ++ } ++ free(nameinfo); ++ return (p != NULL); ++#endif /* STUB_IMPL */ ++} ++ ++/* Check if at least one cygwin/msys pty is used. */ ++int is_cygpty_used(void) ++{ ++ int fd, ret = 0; ++ ++ for (fd = 0; fd < 3; fd++) { ++ ret |= is_cygpty(fd); ++ } ++ return ret; ++} ++ ++#endif /* _WIN32 */ ++ ++/* vim: set ts=4 sw=4: */ +diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c +index eeaf20b..916e6d7 100644 +--- a/Python/pylifecycle.c ++++ b/Python/pylifecycle.c +@@ -15,6 +15,7 @@ + #include "pycore_sysmodule.h" // _PySys_ClearAuditHooks() + #include "pycore_traceback.h" // _Py_DumpTracebackThreads() + ++#include "iscygpty.h" + #include // setlocale() + + #if defined(__APPLE__) +@@ -2872,7 +2873,7 @@ Py_Exit(int sts) + int + Py_FdIsInteractive(FILE *fp, const char *filename) + { +- if (isatty((int)fileno(fp))) ++ if (isatty((int)fileno(fp)) || is_cygpty((int)fileno(fp))) + return 1; + if (!Py_InteractiveFlag) + return 0; +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0060-disable-broken-gdbm-module.patch b/mingw-w64-python3.10/0060-disable-broken-gdbm-module.patch new file mode 100644 index 0000000000..c50426379b --- /dev/null +++ b/mingw-w64-python3.10/0060-disable-broken-gdbm-module.patch @@ -0,0 +1,30 @@ +From 0566135dcfafb938689d02fc7dfaf91b604f3c93 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:15 +0530 +Subject: [PATCH 060/N] disable broken gdbm module +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 2e504ce..6437ac9 100644 +--- a/setup.py ++++ b/setup.py +@@ -1490,7 +1490,7 @@ class PyBuildExt(build_ext): + if dbm_args: + dbm_order = [arg.split('=')[-1] for arg in dbm_args][-1].split(":") + else: +- dbm_order = "ndbm:gdbm:bdb".split(":") ++ dbm_order = [] + dbmext = None + for cand in dbm_order: + if cand == "ndbm": +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0061-build-link-win-resource-files-and-build-pythonw.patch b/mingw-w64-python3.10/0061-build-link-win-resource-files-and-build-pythonw.patch new file mode 100644 index 0000000000..66ef59543f --- /dev/null +++ b/mingw-w64-python3.10/0061-build-link-win-resource-files-and-build-pythonw.patch @@ -0,0 +1,148 @@ +From 8bed36a023a628d5158a3a661e2b06c8a4ef04b7 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:16 +0530 +Subject: [PATCH 061/N] build: link win resource files and build pythonw +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Makefile.pre.in | 26 +++++++++++++++++++++----- + configure.ac | 26 ++++++++++++++++++++++++++ + 2 files changed, 47 insertions(+), 5 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index b698668..4865764 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -38,6 +38,7 @@ CXX= @CXX@ + MAINCC= @MAINCC@ + LINKCC= @LINKCC@ + AR= @AR@ ++WINDRES= @WINDRES@ + READELF= @READELF@ + SOABI= @SOABI@ + LDVERSION= @LDVERSION@ +@@ -119,6 +120,7 @@ PY_CORE_CFLAGS= $(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE + PY_CORE_LDFLAGS=$(PY_LDFLAGS) $(PY_LDFLAGS_NODIST) + # Strict or non-strict aliasing flags used to compile dtoa.c, see above + CFLAGS_ALIASING=@CFLAGS_ALIASING@ ++RCFLAGS=@RCFLAGS@ + + + # Machine-dependent subdirectories +@@ -266,6 +268,7 @@ LIBOBJS= @LIBOBJS@ + + PYTHON= python$(EXE) + BUILDPYTHON= python$(BUILDEXE) ++BUILDPYTHONW= pythonw$(BUILDEXE) + + PYTHON_FOR_REGEN?=@PYTHON_FOR_REGEN@ + UPDATE_FILE=$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/update_file.py +@@ -480,7 +483,7 @@ DTRACE_DEPS = \ + + # Default target + all: @DEF_MAKE_ALL_RULE@ +-build_all: check-clean-src $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks \ ++build_all: check-clean-src $(BUILDPYTHON) $(BUILDPYTHONW) oldsharedmods sharedmods gdbhooks \ + Programs/_testembed python-config + + # Check that the source is clean when building out of source. +@@ -593,9 +596,21 @@ coverage-report: regen-token regen-importlib + clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c + $(PYTHON_FOR_REGEN) $(srcdir)/Tools/clinic/clinic.py --make --srcdir $(srcdir) + ++python_exe.o: $(srcdir)/PC/python_exe.rc ++ $(WINDRES) $(RCFLAGS) -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/python_exe.rc $@ ++ ++pythonw_exe.o: $(srcdir)/PC/pythonw_exe.rc ++ $(WINDRES) $(RCFLAGS) -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/pythonw_exe.rc $@ ++ ++python_nt.o: $(srcdir)/PC/python_nt.rc ++ $(WINDRES) $(RCFLAGS) -DORIGINAL_FILENAME=\\\"$(DLLLIBRARY)\\\" -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/python_nt.rc $@ ++ ++$(BUILDPYTHONW): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) pythonw_exe.o ++ $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -municode -mwindows -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) pythonw_exe.o ++ + # Build the interpreter +-$(BUILDPYTHON): Programs/python.o $(LIBRARY_DEPS) +- $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) ++$(BUILDPYTHON): Programs/python.o $(LIBRARY_DEPS) python_exe.o ++ $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -municode -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) python_exe.o + + platform: $(BUILDPYTHON) pybuilddir.txt + $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' >platform +@@ -705,10 +720,10 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \ + + # This rule builds the Cygwin Python DLL and import library if configured + # for a shared core library; otherwise, this rule is a noop. +-$(DLLLIBRARY) libpython$(LDVERSION).dll.a: $(LIBRARY_OBJS) ++$(DLLLIBRARY) libpython$(LDVERSION).dll.a: $(LIBRARY_OBJS) python_nt.o + if test -n "$(DLLLIBRARY)"; then \ + $(LDSHARED) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \ +- $(LIBS) $(MODLIBS) $(SYSLIBS); \ ++ $(LIBS) $(MODLIBS) $(SYSLIBS) python_nt.o; \ + else true; \ + fi + +@@ -1341,6 +1356,7 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@ + done + if test "$(PYTHONFRAMEWORKDIR)" = "no-framework" ; then \ + $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \ ++ $(INSTALL_PROGRAM) $(BUILDPYTHONW) $(DESTDIR)$(BINDIR)/python3w$(EXE); \ + else \ + $(INSTALL_PROGRAM) $(STRIPFLAG) Mac/pythonw $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \ + fi +diff --git a/configure.ac b/configure.ac +index 4f014f9..7845c89 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1330,6 +1330,9 @@ fi + + AC_MSG_RESULT($LDLIBRARY) + ++AC_SUBST(WINDRES) ++AC_CHECK_TOOL(WINDRES, windres) ++ + AC_SUBST(AR) + AC_CHECK_TOOLS(AR, ar aal, ar) + +@@ -5911,10 +5914,33 @@ AC_MSG_RESULT(done) + case $host in + *-*-mingw*) + LIBS="$LIBS -lversion -lshlwapi -lpathcch" ++ AC_PROG_AWK ++ if test "$AWK" = "gawk"; then ++ awk_extra_flag="--non-decimal-data" ++ fi ++ AC_MSG_CHECKING([FIELD3]) ++ FIELD3=$($AWK $awk_extra_flag '\ ++ /^#define PY_RELEASE_LEVEL_/ {levels[$2]=$3} \ ++ /^#define PY_MICRO_VERSION[[:space:]]+/ {micro=$3} \ ++ /^#define PY_RELEASE_LEVEL[[:space:]]+/ {level=levels[$3]} \ ++ /^#define PY_RELEASE_SERIAL[[:space:]]+/ {serial=$3} \ ++ END {print micro * 1000 + level * 10 + serial}' \ ++ $srcdir/Include/patchlevel.h ++ ) ++ ++ AC_MSG_RESULT([${FIELD3}]) ++ RCFLAGS="$RCFLAGS -DFIELD3=$FIELD3 -O COFF" ++ ++ case $host in ++ i686*) RCFLAGS="$RCFLAGS --target=pe-i386" ;; ++ x86_64*) RCFLAGS="$RCFLAGS --target=pe-x86-64" ;; ++ *) ;; ++ esac + ;; + *) + ;; + esac ++AC_SUBST(RCFLAGS) + + # Availability of -O2: + AC_MSG_CHECKING(for -O2) +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0062-disable-readline.patch b/mingw-w64-python3.10/0062-disable-readline.patch new file mode 100644 index 0000000000..a397bc1bc9 --- /dev/null +++ b/mingw-w64-python3.10/0062-disable-readline.patch @@ -0,0 +1,30 @@ +From ddd3b00fd408b42269b1163caf8213eee791ba12 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:17 +0530 +Subject: [PATCH 062/N] disable readline +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + setup.py | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/setup.py b/setup.py +index 6437ac9..f67a8a2 100644 +--- a/setup.py ++++ b/setup.py +@@ -1151,6 +1151,8 @@ class PyBuildExt(build_ext): + # readline package + if find_file('readline/rlconf.h', self.inc_dirs, []) is None: + do_readline = False ++ if MS_WINDOWS: ++ do_readline = False + if do_readline: + if MACOS and os_release < 9: + # In every directory on the search path search for a dynamic +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0063-fix-isselectable.patch b/mingw-w64-python3.10/0063-fix-isselectable.patch new file mode 100644 index 0000000000..c553fea35a --- /dev/null +++ b/mingw-w64-python3.10/0063-fix-isselectable.patch @@ -0,0 +1,30 @@ +From ec3c1f7dc012752de8261849395acf157d629103 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:18 +0530 +Subject: [PATCH 063/N] fix isselectable +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Include/fileobject.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Include/fileobject.h b/Include/fileobject.h +index 6ec2994..a80f195 100644 +--- a/Include/fileobject.h ++++ b/Include/fileobject.h +@@ -30,7 +30,7 @@ PyAPI_DATA(int) Py_UTF8Mode; + #endif + + /* A routine to check if a file descriptor can be select()-ed. */ +-#ifdef _MSC_VER ++#ifdef MS_WINDOWS + /* On Windows, any socket fd can be select()-ed, no matter how high */ + #define _PyIsSelectable_fd(FD) (1) + #else +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0064-use-_wcsnicmp-instead-wcsncasecmp.patch b/mingw-w64-python3.10/0064-use-_wcsnicmp-instead-wcsncasecmp.patch new file mode 100644 index 0000000000..0aac75dd4a --- /dev/null +++ b/mingw-w64-python3.10/0064-use-_wcsnicmp-instead-wcsncasecmp.patch @@ -0,0 +1,27 @@ +From e51bd20295c0ef8f3fb22455e6b217de061e2fdd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:52:19 +0530 +Subject: [PATCH 064/N] use _wcsnicmp instead wcsncasecmp + +Signed-off-by: Naveen M K +--- + Modules/getpath.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Modules/getpath.c b/Modules/getpath.c +index 161c6f7..fd1594a 100644 +--- a/Modules/getpath.c ++++ b/Modules/getpath.c +@@ -427,7 +427,7 @@ add_exe_suffix(wchar_t **progpath_p) + /* Check for already have an executable suffix */ + size_t n = wcslen(progpath); + size_t s = wcslen(EXE_SUFFIX); +- if (wcsncasecmp(EXE_SUFFIX, progpath + n - s, s) == 0) { ++ if (_wcsnicmp(EXE_SUFFIX, progpath + n - s, s) == 0) { + return _PyStatus_OK(); + } + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0065-_xxsubinterpretersmodule.patch b/mingw-w64-python3.10/0065-_xxsubinterpretersmodule.patch new file mode 100644 index 0000000000..916d9729e6 --- /dev/null +++ b/mingw-w64-python3.10/0065-_xxsubinterpretersmodule.patch @@ -0,0 +1,27 @@ +From d19ed6053bae623b3e8533cc87d4761ee18f89c4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:52:20 +0530 +Subject: [PATCH 065/N] _xxsubinterpretersmodule + +Signed-off-by: Naveen M K +--- + Modules/_xxsubinterpretersmodule.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Modules/_xxsubinterpretersmodule.c b/Modules/_xxsubinterpretersmodule.c +index 9290255..9d2952b 100644 +--- a/Modules/_xxsubinterpretersmodule.c ++++ b/Modules/_xxsubinterpretersmodule.c +@@ -1761,7 +1761,7 @@ PyDoc_STRVAR(channelid_doc, + "A channel ID identifies a channel and may be used as an int."); + + static PyTypeObject ChannelIDtype = { +- PyVarObject_HEAD_INIT(&PyType_Type, 0) ++ PyVarObject_HEAD_INIT(NULL, 0) + "_xxsubinterpreters.ChannelID", /* tp_name */ + sizeof(channelid), /* tp_basicsize */ + 0, /* tp_itemsize */ +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0066-sqlite3-module-defines.patch b/mingw-w64-python3.10/0066-sqlite3-module-defines.patch new file mode 100644 index 0000000000..7e6704652e --- /dev/null +++ b/mingw-w64-python3.10/0066-sqlite3-module-defines.patch @@ -0,0 +1,25 @@ +From de08a7d3fbc47ef0caa3bd60c0dbbee4af1a06ca Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:21 +0530 +Subject: [PATCH 066/N] sqlite3 module defines + +Signed-off-by: Naveen M K +--- + setup.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/setup.py b/setup.py +index f67a8a2..1bb51a5 100644 +--- a/setup.py ++++ b/setup.py +@@ -1642,6 +1642,7 @@ class PyBuildExt(build_ext): + '_sqlite/statement.c', + '_sqlite/util.c', ] + sqlite_defines = [] ++ sqlite_defines.append(('MODULE_NAME', '"sqlite3"')) + + # Enable support for loadable extensions in the sqlite3 module + # if --enable-loadable-sqlite-extensions configure option is used. +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0067-configure.ac-fix-inet_pton-check.patch b/mingw-w64-python3.10/0067-configure.ac-fix-inet_pton-check.patch new file mode 100644 index 0000000000..3f8143233d --- /dev/null +++ b/mingw-w64-python3.10/0067-configure.ac-fix-inet_pton-check.patch @@ -0,0 +1,36 @@ +From 38c03d44eea27d9da8295047f426b50979f85fb9 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:23 +0530 +Subject: [PATCH 067/N] configure.ac: fix inet_pton check +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + configure.ac | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 7845c89..07d5ce2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4272,10 +4272,14 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + + AC_MSG_CHECKING(for inet_pton) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ++#ifdef _WIN32 ++#include ++#else + #include + #include + #include + #include ++#endif + ]], [[void* p = inet_pton]])], + [AC_DEFINE(HAVE_INET_PTON, 1, Define if you have the 'inet_pton' function.) + AC_MSG_RESULT(yes)], +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0068-set-venv-activate-path-unix.patch b/mingw-w64-python3.10/0068-set-venv-activate-path-unix.patch new file mode 100644 index 0000000000..57a8174a13 --- /dev/null +++ b/mingw-w64-python3.10/0068-set-venv-activate-path-unix.patch @@ -0,0 +1,30 @@ +From a41578b844064f7bb5e19c00056f2866eeaa205c Mon Sep 17 00:00:00 2001 +From: Dan Yeaw +Date: Thu, 17 Jun 2021 18:52:25 +0530 +Subject: [PATCH 068/N] set venv activate path unix +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Lib/venv/scripts/common/activate | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Lib/venv/scripts/common/activate b/Lib/venv/scripts/common/activate +index 6fbc2b8..9c3d58d 100644 +--- a/Lib/venv/scripts/common/activate ++++ b/Lib/venv/scripts/common/activate +@@ -38,7 +38,7 @@ deactivate () { + # unset irrelevant variables + deactivate nondestructive + +-VIRTUAL_ENV="__VENV_DIR__" ++VIRTUAL_ENV=$(cygpath "__VENV_DIR__") + export VIRTUAL_ENV + + _OLD_VIRTUAL_PATH="$PATH" +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0069-venv-creation-fixes.patch b/mingw-w64-python3.10/0069-venv-creation-fixes.patch new file mode 100644 index 0000000000..69e617d359 --- /dev/null +++ b/mingw-w64-python3.10/0069-venv-creation-fixes.patch @@ -0,0 +1,72 @@ +From 244e5e5b29a82ff948cb27a8b048f30217befcb9 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:26 +0530 +Subject: [PATCH 069/N] venv creation fixes + +Signed-off-by: Naveen M K +--- + Lib/venv/__init__.py | 19 ++++++++++++++----- + 1 file changed, 14 insertions(+), 5 deletions(-) + +diff --git a/Lib/venv/__init__.py b/Lib/venv/__init__.py +index 8009deb..b471006 100644 +--- a/Lib/venv/__init__.py ++++ b/Lib/venv/__init__.py +@@ -11,6 +11,7 @@ import subprocess + import sys + import sysconfig + import types ++from sysconfig import _POSIX_BUILD + + + CORE_VENV_DEPS = ('pip', 'setuptools') +@@ -119,7 +120,7 @@ class EnvBuilder: + context.executable = executable + context.python_dir = dirname + context.python_exe = exename +- if sys.platform == 'win32': ++ if sys.platform == 'win32' and not _POSIX_BUILD: + binname = 'Scripts' + incpath = 'Include' + libpath = os.path.join(env_dir, 'Lib', 'site-packages') +@@ -252,7 +253,7 @@ class EnvBuilder: + if not os.path.islink(path): + os.chmod(path, 0o755) + else: +- if self.symlinks: ++ if self.symlinks and not _POSIX_BUILD: + # For symlinking, we need a complete copy of the root directory + # If symlinks fail, you'll get unnecessary copies of files, but + # we assume that if you've opted into symlinks on Windows then +@@ -275,7 +276,13 @@ class EnvBuilder: + if os.path.lexists(src): + copier(src, os.path.join(binpath, suffix)) + +- if sysconfig.is_python_build(True): ++ if _POSIX_BUILD: ++ # copy from python/pythonw so the venvlauncher magic in symlink_or_copy triggers ++ copier(os.path.join(dirname, 'python.exe'), os.path.join(binpath, 'python3.exe')) ++ copier(os.path.join(dirname, 'python.exe'), os.path.join(binpath, 'python%d.%d.exe' % sys.version_info[:2])) ++ copier(os.path.join(dirname, 'pythonw.exe'), os.path.join(binpath, 'python3w.exe')) ++ ++ if sysconfig.is_python_build(True) and not _POSIX_BUILD: + # copy init.tcl + for root, dirs, files in os.walk(context.python_dir): + if 'init.tcl' in files: +@@ -293,9 +300,11 @@ class EnvBuilder: + # We run ensurepip in isolated mode to avoid side effects from + # environment vars, the current directory and anything else + # intended for the global Python environment ++ env = os.environ.copy() ++ env.pop("MSYSTEM", None) + cmd = [context.env_exe, '-Im', 'ensurepip', '--upgrade', +- '--default-pip'] +- subprocess.check_output(cmd, stderr=subprocess.STDOUT) ++ '--default-pip'] ++ subprocess.check_call(cmd, stderr=subprocess.STDOUT, env=env) + + def setup_scripts(self, context): + """ +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0070-pass-gen-profile-ldflags.patch b/mingw-w64-python3.10/0070-pass-gen-profile-ldflags.patch new file mode 100644 index 0000000000..51b6a463be --- /dev/null +++ b/mingw-w64-python3.10/0070-pass-gen-profile-ldflags.patch @@ -0,0 +1,30 @@ +From af723e4d8e430e2444eac15569fc5bbba979be39 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:27 +0530 +Subject: [PATCH 070/N] pass gen profile ldflags +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Makefile.pre.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 4865764..fb3c807 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -723,7 +723,7 @@ $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \ + $(DLLLIBRARY) libpython$(LDVERSION).dll.a: $(LIBRARY_OBJS) python_nt.o + if test -n "$(DLLLIBRARY)"; then \ + $(LDSHARED) -Wl,--out-implib=$@ -o $(DLLLIBRARY) $^ \ +- $(LIBS) $(MODLIBS) $(SYSLIBS) python_nt.o; \ ++ $(LIBS) $(LDFLAGS_NODIST) $(MODLIBS) $(SYSLIBS) python_nt.o; \ + else true; \ + fi + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0071-pkg-config-windows-must-link-ext-with-python-lib.patch b/mingw-w64-python3.10/0071-pkg-config-windows-must-link-ext-with-python-lib.patch new file mode 100644 index 0000000000..b90cbea636 --- /dev/null +++ b/mingw-w64-python3.10/0071-pkg-config-windows-must-link-ext-with-python-lib.patch @@ -0,0 +1,39 @@ +From 071ad00d1ecd1fe2543dc53bb104c62fe4d8ea9c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:52:29 +0530 +Subject: [PATCH 071/N] pkg config windows must link ext with python lib + +Signed-off-by: Naveen M K +--- + Misc/python.pc.in | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Misc/python.pc.in b/Misc/python.pc.in +index 87e04de..3900190 100644 +--- a/Misc/python.pc.in ++++ b/Misc/python.pc.in +@@ -9,5 +9,5 @@ Description: Build a C extension for Python + Requires: + Version: @VERSION@ + Libs.private: @LIBS@ +-Libs: ++Libs: -L${libdir} -lpython@VERSION@@ABIFLAGS@ + Cflags: -I${includedir}/python@VERSION@@ABIFLAGS@ +diff --git a/configure.ac b/configure.ac +index 07d5ce2..ecf88ff 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -5148,7 +5148,7 @@ AC_MSG_RESULT($LDVERSION) + + # On Android and Cygwin the shared libraries must be linked with libpython. + AC_SUBST(LIBPYTHON) +-if test -n "$ANDROID_API_LEVEL" -o "$MACHDEP" = "cygwin"; then ++if test -n "$ANDROID_API_LEVEL" -o "$MACHDEP" = "cygwin" -o "$MACHDEP" = "win32"; then + LIBPYTHON="-lpython${VERSION}${ABIFLAGS}" + else + LIBPYTHON='' +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0072-importlib-bootstrap-path-sep.patch b/mingw-w64-python3.10/0072-importlib-bootstrap-path-sep.patch new file mode 100644 index 0000000000..241eb4ae8b --- /dev/null +++ b/mingw-w64-python3.10/0072-importlib-bootstrap-path-sep.patch @@ -0,0 +1,33 @@ +From 088ba0b2b0049ff649495f3389f3661794570d4b Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:30 +0530 +Subject: [PATCH 072/N] importlib bootstrap path sep +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Naveen M K +Signed-off-by: Naveen M K +--- + Lib/importlib/_bootstrap_external.py | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_external.py +index 9a73c7b..fc30499 100644 +--- a/Lib/importlib/_bootstrap_external.py ++++ b/Lib/importlib/_bootstrap_external.py +@@ -42,6 +42,10 @@ if _MS_WINDOWS: + path_separators = ['\\', '/'] + else: + path_separators = ['/'] ++ ++if 'MSYSTEM' in _os.environ: ++ path_separators = path_separators[::-1] ++ + # Assumption made in _path_join() + assert all(len(sep) == 1 for sep in path_separators) + path_sep = path_separators[0] +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0073-pathlib-path-sep.patch b/mingw-w64-python3.10/0073-pathlib-path-sep.patch new file mode 100644 index 0000000000..f600e4eb67 --- /dev/null +++ b/mingw-w64-python3.10/0073-pathlib-path-sep.patch @@ -0,0 +1,26 @@ +From 8801fd78e593cc54d666ef9edd307361ac9b5332 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:31 +0530 +Subject: [PATCH 073/N] pathlib path sep + +Signed-off-by: Naveen M K +--- + Lib/pathlib.py | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/Lib/pathlib.py b/Lib/pathlib.py +index 621fba0..c930e1d 100644 +--- a/Lib/pathlib.py ++++ b/Lib/pathlib.py +@@ -115,6 +115,8 @@ class _WindowsFlavour(_Flavour): + + sep = '\\' + altsep = '/' ++ if 'MSYSTEM' in os.environ: ++ sep, altsep = altsep, sep + has_drv = True + pathmod = ntpath + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0074-warnings-fixes.patch b/mingw-w64-python3.10/0074-warnings-fixes.patch new file mode 100644 index 0000000000..0779fc4f62 --- /dev/null +++ b/mingw-w64-python3.10/0074-warnings-fixes.patch @@ -0,0 +1,132 @@ +From 50c8b0c3e091c2ac9abababfa1d957218e5fbd88 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:52:33 +0530 +Subject: [PATCH 074/N] warnings fixes + +Signed-off-by: Naveen M K +--- + Modules/_winapi.c | 2 +- + Modules/posixmodule.c | 6 +++--- + Modules/socketmodule.h | 2 ++ + PC/python_exe.rc | 2 +- + PC/pythonw_exe.rc | 2 +- + PC/winreg.c | 1 + + Python/thread_nt.h | 3 ++- + 7 files changed, 11 insertions(+), 7 deletions(-) + +diff --git a/Modules/_winapi.c b/Modules/_winapi.c +index e7e8c6a..b09fce7 100644 +--- a/Modules/_winapi.c ++++ b/Modules/_winapi.c +@@ -959,7 +959,7 @@ getattributelist(PyObject *obj, const char *name, AttributeList *attribute_list) + DWORD err; + BOOL result; + PyObject *value; +- Py_ssize_t handle_list_size; ++ Py_ssize_t handle_list_size = 0; + DWORD attribute_count = 0; + SIZE_T attribute_list_size = 0; + +diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c +index 7e9c1c6..65edb10 100644 +--- a/Modules/posixmodule.c ++++ b/Modules/posixmodule.c +@@ -5391,7 +5391,7 @@ os_utime_impl(PyObject *module, path_t *path, PyObject *times, PyObject *ns, + /*[clinic end generated code: output=cfcac69d027b82cf input=2fbd62a2f228f8f4]*/ + { + #ifdef MS_WINDOWS +- HANDLE hFile; ++ HANDLE hFile = 0; + FILETIME atime, mtime; + #else + int result; +@@ -14531,7 +14531,7 @@ os__add_dll_directory_impl(PyObject *module, path_t *path) + loaded. */ + Py_BEGIN_ALLOW_THREADS + if (!(hKernel32 = GetModuleHandleW(L"kernel32")) || +- !(AddDllDirectory = (PAddDllDirectory)GetProcAddress( ++ !(AddDllDirectory = (PAddDllDirectory)(void *)GetProcAddress( + hKernel32, "AddDllDirectory")) || + !(cookie = (*AddDllDirectory)(path->wide))) { + err = GetLastError(); +@@ -14581,7 +14581,7 @@ os__remove_dll_directory_impl(PyObject *module, PyObject *cookie) + loaded. */ + Py_BEGIN_ALLOW_THREADS + if (!(hKernel32 = GetModuleHandleW(L"kernel32")) || +- !(RemoveDllDirectory = (PRemoveDllDirectory)GetProcAddress( ++ !(RemoveDllDirectory = (PRemoveDllDirectory)(void *)GetProcAddress( + hKernel32, "RemoveDllDirectory")) || + !(*RemoveDllDirectory)(cookieValue)) { + err = GetLastError(); +diff --git a/Modules/socketmodule.h b/Modules/socketmodule.h +index e4f375d..bbdd8c0 100644 +--- a/Modules/socketmodule.h ++++ b/Modules/socketmodule.h +@@ -70,8 +70,10 @@ struct SOCKADDR_BTH_REDEF { + */ + # ifdef SIO_GET_MULTICAST_FILTER + # include /* for SIO_RCVALL */ ++#ifndef __MINGW32__ /* resolve by configure */ + # define HAVE_ADDRINFO + # define HAVE_SOCKADDR_STORAGE ++#endif + # define HAVE_GETADDRINFO + # define HAVE_GETNAMEINFO + # define ENABLE_IPV6 +diff --git a/PC/python_exe.rc b/PC/python_exe.rc +index ae0b029..e667ffa 100644 +--- a/PC/python_exe.rc ++++ b/PC/python_exe.rc +@@ -7,7 +7,7 @@ + #include + 1 RT_MANIFEST "python.manifest" + +-1 ICON DISCARDABLE "icons\python.ico" ++1 ICON DISCARDABLE "icons/python.ico" + + + ///////////////////////////////////////////////////////////////////////////// +diff --git a/PC/pythonw_exe.rc b/PC/pythonw_exe.rc +index 88bf359..413d7d1 100644 +--- a/PC/pythonw_exe.rc ++++ b/PC/pythonw_exe.rc +@@ -7,7 +7,7 @@ + #include + 1 RT_MANIFEST "python.manifest" + +-1 ICON DISCARDABLE "icons\pythonw.ico" ++1 ICON DISCARDABLE "icons/pythonw.ico" + + + ///////////////////////////////////////////////////////////////////////////// +diff --git a/PC/winreg.c b/PC/winreg.c +index fbcd2c4..b1cb07e 100644 +--- a/PC/winreg.c ++++ b/PC/winreg.c +@@ -813,6 +813,7 @@ Reg2Py(BYTE *retDataBuf, DWORD retDataSize, DWORD typ) + case REG_BINARY: + /* ALSO handle ALL unknown data types here. Even if we can't + support it natively, we should handle the bits. */ ++ /* fallthrough */ + default: + if (retDataSize == 0) { + Py_INCREF(Py_None); +diff --git a/Python/thread_nt.h b/Python/thread_nt.h +index 0ce5e94..6a6fe7e 100644 +--- a/Python/thread_nt.h ++++ b/Python/thread_nt.h +@@ -349,8 +349,9 @@ PyThread_release_lock(PyThread_type_lock aLock) + { + dprintf(("%lu: PyThread_release_lock(%p) called\n", PyThread_get_thread_ident(),aLock)); + +- if (!(aLock && LeaveNonRecursiveMutex((PNRMUTEX) aLock))) ++ if (!(aLock && LeaveNonRecursiveMutex((PNRMUTEX) aLock))) { + dprintf(("%lu: Could not PyThread_release_lock(%p) error: %ld\n", PyThread_get_thread_ident(), aLock, GetLastError())); ++ } + } + + /* minimum/maximum thread stack sizes supported */ +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0075-fix-build-testinternalcapi.patch b/mingw-w64-python3.10/0075-fix-build-testinternalcapi.patch new file mode 100644 index 0000000000..c4c815efca --- /dev/null +++ b/mingw-w64-python3.10/0075-fix-build-testinternalcapi.patch @@ -0,0 +1,29 @@ +From 111574d55172fda8eed70a8390d2132f830a3a24 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:34 +0530 +Subject: [PATCH 075/N] fix build testinternalcapi + +Signed-off-by: Naveen M K +--- + setup.py | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/setup.py b/setup.py +index 1bb51a5..6649f53 100644 +--- a/setup.py ++++ b/setup.py +@@ -1063,7 +1063,11 @@ class PyBuildExt(build_ext): + depends=['testcapi_long.h'])) + + # Python Internal C API test module ++ macros = [] ++ if MS_WINDOWS: ++ macros.append(('PY3_DLLNAME', 'L"%s"' % sysconfig.get_config_var('DLLLIBRARY'))) + self.add(Extension('_testinternalcapi', ['_testinternalcapi.c'], ++ define_macros=macros, + extra_compile_args=['-DPy_BUILD_CORE_MODULE'])) + + # Python PEP-3118 (buffer protocol) test module +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0076-extend-MS_WINDOWS-flag.patch b/mingw-w64-python3.10/0076-extend-MS_WINDOWS-flag.patch new file mode 100644 index 0000000000..5fb8a49288 --- /dev/null +++ b/mingw-w64-python3.10/0076-extend-MS_WINDOWS-flag.patch @@ -0,0 +1,26 @@ +From 7bbbdb552ef068fa5b4c4e38a4b72a32d679b754 Mon Sep 17 00:00:00 2001 +From: Long Nguyen +Date: Thu, 17 Jun 2021 18:52:34 +0530 +Subject: [PATCH 076/N] extend MS_WINDOWS flag + +Signed-off-by: Naveen M K +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 6649f53..5eb9b07 100644 +--- a/setup.py ++++ b/setup.py +@@ -92,7 +92,7 @@ if sys.platform == "win32" and "MSYSTEM" in os.environ: + + CROSS_COMPILING = ("_PYTHON_HOST_PLATFORM" in os.environ) + HOST_PLATFORM = get_platform() +-MS_WINDOWS = (HOST_PLATFORM == 'win32') ++MS_WINDOWS = (HOST_PLATFORM == 'win32' or HOST_PLATFORM == 'mingw') + CYGWIN = (HOST_PLATFORM == 'cygwin') + MACOS = (HOST_PLATFORM == 'darwin') + AIX = (HOST_PLATFORM.startswith('aix')) +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0077-clang-arm64.patch b/mingw-w64-python3.10/0077-clang-arm64.patch new file mode 100644 index 0000000000..69ef4397a0 --- /dev/null +++ b/mingw-w64-python3.10/0077-clang-arm64.patch @@ -0,0 +1,51 @@ +From 5132d7826b1622531246d79e27f0ff43dc825d40 Mon Sep 17 00:00:00 2001 +From: jeremyd2019 <4524874+jeremyd2019@users.noreply.github.com> +Date: Thu, 17 Jun 2021 18:52:36 +0530 +Subject: [PATCH 077/N] clang arm64 + +Co-authored-by: Naveen M K +Signed-off-by: Naveen M K +--- + Python/getcompiler.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/Python/getcompiler.c b/Python/getcompiler.c +index 3e31c80..7e7be71 100644 +--- a/Python/getcompiler.c ++++ b/Python/getcompiler.c +@@ -7,7 +7,7 @@ + + // Note the __clang__ conditional has to come before the __GNUC__ one because + // clang pretends to be GCC. +-#if defined(__clang__) ++#if defined(__clang__) && !defined(_WIN32) + #define COMPILER "[Clang " __clang_version__ "]" + #elif defined(__GNUC__) + /* To not break compatibility with things that determine +@@ -18,6 +18,8 @@ + #define COMP_SEP " " + #if defined(__x86_64__) + #define ARCH_SUFFIX " 64 bit (AMD64)" ++#elif defined(__aarch64__) ++#define ARCH_SUFFIX " 64 bit (ARM64)" + #else + #define ARCH_SUFFIX " 32 bit" + #endif +@@ -25,7 +27,14 @@ + #define COMP_SEP "\n" + #define ARCH_SUFFIX "" + #endif ++#if defined(__clang__) ++#define str(x) #x ++#define xstr(x) str(x) ++#define COMPILER COMP_SEP "[GCC Clang " xstr(__clang_major__) "." \ ++ xstr(__clang_minor__) "." xstr(__clang_patchlevel__) ARCH_SUFFIX "]" ++#else + #define COMPILER COMP_SEP "[GCC " __VERSION__ ARCH_SUFFIX "]" ++#endif + // Generic fallbacks. + #elif defined(__cplusplus) + #define COMPILER "[C++]" +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0078-configure.ac-set-MINGW-stack-reserve.patch b/mingw-w64-python3.10/0078-configure.ac-set-MINGW-stack-reserve.patch new file mode 100644 index 0000000000..27e23a229a --- /dev/null +++ b/mingw-w64-python3.10/0078-configure.ac-set-MINGW-stack-reserve.patch @@ -0,0 +1,29 @@ +From f471e4d6b28f351e5ccaf760969bd239088d8fbb Mon Sep 17 00:00:00 2001 +From: jeremyd2019 <4524874+jeremyd2019@users.noreply.github.com> +Date: Thu, 17 Jun 2021 18:52:37 +0530 +Subject: [PATCH 078/N] configure.ac: set MINGW stack reserve + +Signed-off-by: Naveen M K +--- + configure.ac | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/configure.ac b/configure.ac +index ecf88ff..10334e1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3053,6 +3053,11 @@ then + VxWorks*) + LINKFORSHARED='-Wl,-export-dynamic';; + esac ++ case $host in ++ *-*-mingw*) ++ # for https://bugs.python.org/issue40458 on MINGW ++ LINKFORSHARED="-Wl,--stack,2000000";; ++ esac + fi + AC_MSG_RESULT($LINKFORSHARED) + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0079-Don-t-use-os.pathsep-to-find-EOF.patch b/mingw-w64-python3.10/0079-Don-t-use-os.pathsep-to-find-EOF.patch new file mode 100644 index 0000000000..cdd0b2fec6 --- /dev/null +++ b/mingw-w64-python3.10/0079-Don-t-use-os.pathsep-to-find-EOF.patch @@ -0,0 +1,28 @@ +From df2bdfbe3c99768c838eba8d13039a92d074b108 Mon Sep 17 00:00:00 2001 +From: Naveen M K +Date: Fri, 18 Jun 2021 12:38:11 +0530 +Subject: [PATCH 079/N] Don't use os.pathsep to find EOF not all + distributions in win32 have them as \ instead check using sys.platform + +Signed-off-by: Naveen M K +Signed-off-by: Naveen M K +--- + Lib/site.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Lib/site.py b/Lib/site.py +index e460a3d..49c6ce0 100644 +--- a/Lib/site.py ++++ b/Lib/site.py +@@ -401,7 +401,7 @@ def setquit(): + The repr of each object contains a hint at how it works. + + """ +- if os.sep == '\\': ++ if sys.platform == 'win32': + eof = 'Ctrl-Z plus Return' + else: + eof = 'Ctrl-D (i.e. EOF)' +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0080-Fix-extension-suffix-for-c-extensions-on-mingw.patch b/mingw-w64-python3.10/0080-Fix-extension-suffix-for-c-extensions-on-mingw.patch new file mode 100644 index 0000000000..e7204c076c --- /dev/null +++ b/mingw-w64-python3.10/0080-Fix-extension-suffix-for-c-extensions-on-mingw.patch @@ -0,0 +1,182 @@ +From 9705142463fd8b4d5831636cc3b2518a0c48b20d Mon Sep 17 00:00:00 2001 +From: Naveen M K +Date: Wed, 23 Jun 2021 18:12:12 +0530 +Subject: [PATCH 080/N] Fix extension suffix for c-extensions on mingw + +Python is compiled with various compilers which previously +had same platform tags or extension suffix. This can be error +prone while loading c-extensions, so now each compiler or +runtime has a different extension suffix. + +Also, changed all extension to end with .pyd rather than +.dll file. + +Fixes https://github.com/msys2/MINGW-packages/issues/8843 + +Signed-off-by: Naveen M K +--- + Makefile.pre.in | 6 ++-- + Python/dynload_win.c | 6 ---- + configure.ac | 77 +++++++++++++++++++++++++++++++++++++++----- + 3 files changed, 72 insertions(+), 17 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index fb3c807..e526be2 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -167,6 +167,7 @@ CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(LDVERSION) + # Symbols used for using shared libraries + SHLIB_SUFFIX= @SHLIB_SUFFIX@ + EXT_SUFFIX= @EXT_SUFFIX@ ++PYD_PLATFORM_TAG = @PYD_PLATFORM_TAG@ + LDSHARED= @LDSHARED@ $(PY_LDFLAGS) + BLDSHARED= @BLDSHARED@ $(PY_CORE_LDFLAGS) + LDCXXSHARED= @LDCXXSHARED@ +@@ -851,8 +852,7 @@ Python/dynload_hpux.o: $(srcdir)/Python/dynload_hpux.c Makefile + + Python/dynload_win.o: $(srcdir)/Python/dynload_win.c Makefile + $(CC) -c $(PY_CORE_CFLAGS) \ +- -DSHLIB_SUFFIX='"$(SHLIB_SUFFIX)"' \ +- -DEXT_SUFFIX='"$(EXT_SUFFIX)"' \ ++ -DPYD_PLATFORM_TAG='"$(PYD_PLATFORM_TAG)"' \ + -o $@ $(srcdir)/Python/dynload_win.c + + Python/sysmodule.o: $(srcdir)/Python/sysmodule.c Makefile $(srcdir)/Include/pydtrace.h +@@ -1740,7 +1740,7 @@ libainstall: @DEF_MAKE_RULE@ python-config + @if test "$(STATIC_LIBPYTHON)" = 1; then \ + if test -d $(LIBRARY); then :; else \ + if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \ +- if test "$(SHLIB_SUFFIX)" = .dll; then \ ++ if test "$(SHLIB_SUFFIX)" = .dll -o "$(SHLIB_SUFFIX)" = .pyd; then \ + $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \ + else \ + $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ +diff --git a/Python/dynload_win.c b/Python/dynload_win.c +index 1083fe8..c46061c 100644 +--- a/Python/dynload_win.c ++++ b/Python/dynload_win.c +@@ -27,12 +27,6 @@ + #define PYD_UNTAGGED_SUFFIX PYD_DEBUG_SUFFIX ".pyd" + + const char *_PyImport_DynLoadFiletab[] = { +-#ifdef EXT_SUFFIX +- EXT_SUFFIX, /* include SOABI flags where is encoded debug */ +-#endif +-#ifdef SHLIB_SUFFIX +- "-abi" PYTHON_ABI_STRING SHLIB_SUFFIX, +-#endif + PYD_TAGGED_SUFFIX, + PYD_UNTAGGED_SUFFIX, + NULL +diff --git a/configure.ac b/configure.ac +index 10334e1..ca7e7a2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2825,7 +2825,7 @@ if test -z "$SHLIB_SUFFIX"; then + *) SHLIB_SUFFIX=.so;; + esac + case $host_os in +- mingw*) SHLIB_SUFFIX=.dll;; ++ mingw*) SHLIB_SUFFIX=.pyd;; + esac + fi + AC_MSG_RESULT($SHLIB_SUFFIX) +@@ -5113,6 +5113,68 @@ esac + # check for endianness + AC_C_BIGENDIAN + ++AC_SUBST(PYD_PLATFORM_TAG) ++# Special case of PYD_PLATFORM_TAG with python build with mingw. ++# Python can with compiled with clang or gcc and linked ++# to msvcrt or ucrt. To avoid conflicts between them ++# we are selecting the extension as based on the compiler ++# and the runtime they link to ++# gcc + x86_64 + msvcrt = cp{version number}-x86_64 ++# gcc + i686 + msvcrt = cp{version number}-i686 ++# gcc + x86_64 + ucrt = cp{version number}-x86_64-ucrt ++# clang + x86_64 + ucrt = cp{version number}-x86_64-clang ++# clang + i686 + ucrt = cp{version number}-i686-clang ++ ++PYD_PLATFORM_TAG="" ++case $host in ++ *-*-mingw*) ++ # check if we are linking to ucrt ++ AC_MSG_CHECKING(whether linking to ucrt) ++ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ ++ #include ++ #ifndef _UCRT ++ #error no ucrt ++ #endif ++ int main(){ return 0; } ++ ]])],[linking_to_ucrt=yes],[linking_to_ucrt=no]) ++ AC_MSG_RESULT($linking_to_ucrt) ++ ;; ++esac ++case $host_os in ++ mingw*) ++ AC_MSG_CHECKING(PYD_PLATFORM_TAG) ++ case $host in ++ i686-*-mingw*) ++ if test -n "${cc_is_clang}"; then ++ # it is CLANG32 ++ PYD_PLATFORM_TAG="mingw_i686_clang" ++ else ++ if test $linking_to_ucrt = no; then ++ PYD_PLATFORM_TAG="mingw_i686" ++ else ++ PYD_PLATFORM_TAG="mingw_i686_ucrt" ++ fi ++ fi ++ ;; ++ x86_64-*-mingw*) ++ if test -n "${cc_is_clang}"; then ++ # it is CLANG64 ++ PYD_PLATFORM_TAG="mingw_x86_64_clang" ++ else ++ if test $linking_to_ucrt = no; then ++ PYD_PLATFORM_TAG="mingw_x86_64" ++ else ++ PYD_PLATFORM_TAG="mingw_x86_64_ucrt" ++ fi ++ fi ++ ;; ++ aarch64-*-mingw*) ++ PYD_PLATFORM_TAG+="mingw_aarch64" ++ ;; ++ esac ++ AC_MSG_RESULT($PYD_PLATFORM_TAG) ++esac ++ + # ABI version string for Python extension modules. This appears between the + # periods in shared library file names, e.g. foo..so. It is calculated + # from the following attributes which affect the ABI of this Python build (in +@@ -5145,7 +5207,12 @@ if test "$Py_DEBUG" = 'true' -a "$with_trace_refs" != "yes"; then + fi + + AC_SUBST(EXT_SUFFIX) +-EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX} ++VERSION_NO_DOTS=$(echo $LDVERSION | tr -d .) ++if test -n "${PYD_PLATFORM_TAG}"; then ++ EXT_SUFFIX=".cp${VERSION_NO_DOTS}-${PYD_PLATFORM_TAG}${SHLIB_SUFFIX}" ++else ++ EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX} ++fi + + AC_MSG_CHECKING(LDVERSION) + LDVERSION='$(VERSION)$(ABIFLAGS)' +@@ -5865,12 +5932,6 @@ case "$ac_cv_computed_gotos" in yes*) + AC_DEFINE(HAVE_COMPUTED_GOTOS, 1, + [Define if the C compiler supports computed gotos.]) + esac +-case $host_os in +- mingw*) +- dnl Synchronized with _PyImport_DynLoadFiletab (dynload_win.c) +- dnl Do not use more then one dot on this platform ! +- EXT_SUFFIX=-$SOABI$SHLIB_SUFFIX;; +-esac + + case $ac_sys_system in + AIX*) +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0081-Change-the-get_platform-method-in-sysconfig.patch b/mingw-w64-python3.10/0081-Change-the-get_platform-method-in-sysconfig.patch new file mode 100644 index 0000000000..a0056c4eec --- /dev/null +++ b/mingw-w64-python3.10/0081-Change-the-get_platform-method-in-sysconfig.patch @@ -0,0 +1,64 @@ +From 7d6ec094999ef09bf69c083d52cb2fb1b6403978 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Tue, 21 Sep 2021 21:36:58 +0200 +Subject: [PATCH 081/N] Change the `get_platform()` method in sysconfig + +This would possibly fix building wheels when mingw python +is used and would be unique to each python same as EXT_SUFFIX. + +Also, this modifies the `sys.version` argument to include UCRT +in it. + +Signed-off-by: Naveen M K +--- + Lib/sysconfig.py | 16 ++++++++++++++-- + Python/getcompiler.c | 4 ++++ + 2 files changed, 18 insertions(+), 2 deletions(-) + +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py +index fb994c0..6b2ab19 100644 +--- a/Lib/sysconfig.py ++++ b/Lib/sysconfig.py +@@ -721,8 +721,20 @@ def get_platform(): + + """ + if os.name == 'nt': +- if 'GCC' in sys.version: +- return 'mingw' ++ if 'gcc' in sys.version.lower(): ++ if 'ucrt' in sys.version.lower(): ++ if 'amd64' in sys.version.lower(): ++ return 'mingw_x86_64_ucrt' ++ return 'mingw_i686_ucrt' ++ if 'clang' in sys.version.lower(): ++ if 'amd64' in sys.version.lower(): ++ return 'mingw_x86_64_clang' ++ if 'arm64' in sys.version.lower(): ++ return 'mingw_aarch64' ++ return 'mingw_i686_clang' ++ if 'amd64' in sys.version.lower(): ++ return 'mingw_x86_64' ++ return 'mingw_i686' + if 'amd64' in sys.version.lower(): + return 'win-amd64' + if '(arm)' in sys.version.lower(): +diff --git a/Python/getcompiler.c b/Python/getcompiler.c +index 7e7be71..275f799 100644 +--- a/Python/getcompiler.c ++++ b/Python/getcompiler.c +@@ -33,8 +33,12 @@ + #define COMPILER COMP_SEP "[GCC Clang " xstr(__clang_major__) "." \ + xstr(__clang_minor__) "." xstr(__clang_patchlevel__) ARCH_SUFFIX "]" + #else ++#if defined(_UCRT) ++#define COMPILER COMP_SEP "[GCC UCRT " __VERSION__ ARCH_SUFFIX "]" ++#else + #define COMPILER COMP_SEP "[GCC " __VERSION__ ARCH_SUFFIX "]" + #endif ++#endif + // Generic fallbacks. + #elif defined(__cplusplus) + #define COMPILER "[C++]" +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0082-distutils-compiler-customize-mingw-cygwin-compilers.patch b/mingw-w64-python3.10/0082-distutils-compiler-customize-mingw-cygwin-compilers.patch new file mode 100644 index 0000000000..bb1c89f104 --- /dev/null +++ b/mingw-w64-python3.10/0082-distutils-compiler-customize-mingw-cygwin-compilers.patch @@ -0,0 +1,44 @@ +From 21e726ba50c9339ee424d0ca3e27ce1999b90f21 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:21 +0530 +Subject: [PATCH 082/N] distutils: compiler customize mingw cygwin compilers + +Co-authored-by: Naveen M K +Signed-off-by: Naveen M K +--- + Lib/distutils/sysconfig.py | 18 +++++++++++++++++- + 1 file changed, 17 insertions(+), 1 deletion(-) + +diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py +index 3414a76..cb39cd6 100644 +--- a/Lib/distutils/sysconfig.py ++++ b/Lib/distutils/sysconfig.py +@@ -201,7 +201,23 @@ def customize_compiler(compiler): + Mainly needed on Unix, so we can plug in the information that + varies across Unices and is stored in Python's Makefile. + """ +- if compiler.compiler_type == "unix": ++ global _config_vars ++ if compiler.compiler_type in ["cygwin", "mingw32"]: ++ # Note that cygwin use posix build and 'unix' compiler. ++ # If build is not based on posix then we must predefine ++ # some environment variables corresponding to posix ++ # build rules and defaults. ++ if not 'GCC' in sys.version: ++ _config_vars['CC'] = "gcc" ++ _config_vars['CXX'] = "g++" ++ _config_vars['OPT'] = "-fwrapv -O3 -Wall -Wstrict-prototypes" ++ _config_vars['CFLAGS'] = "" ++ _config_vars['CCSHARED'] = "" ++ _config_vars['LDSHARED'] = "gcc -shared -Wl,--enable-auto-image-base" ++ _config_vars['AR'] = "ar" ++ _config_vars['ARFLAGS'] = "rc" ++ ++ if compiler.compiler_type in ["unix", "cygwin", "mingw32"]: + if sys.platform == "darwin": + # Perform first-time customization of compiler-related + # config vars on OS X now that we know we need a compiler. +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0083-distutils-compiler-enable-new-dtags.patch b/mingw-w64-python3.10/0083-distutils-compiler-enable-new-dtags.patch new file mode 100644 index 0000000000..272afc3ffd --- /dev/null +++ b/mingw-w64-python3.10/0083-distutils-compiler-enable-new-dtags.patch @@ -0,0 +1,38 @@ +From 7fbf2669ec42b48c014c8fa064209a836a3f6440 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:22 +0530 +Subject: [PATCH 083/N] distutils: compiler enable new dtags +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Lib/distutils/unixccompiler.py | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py +index f0792de..60776bc 100644 +--- a/Lib/distutils/unixccompiler.py ++++ b/Lib/distutils/unixccompiler.py +@@ -248,9 +248,13 @@ class UnixCCompiler(CCompiler): + # -Wl whenever gcc was used in the past it is probably + # safest to keep doing so. + if sysconfig.get_config_var("GNULD") == "yes": +- # GNU ld needs an extra option to get a RUNPATH ++ # GNU ELF ld needs an extra option to get a RUNPATH + # instead of just an RPATH. +- return "-Wl,--enable-new-dtags,-R" + dir ++ if sys.platform in ["win32", "cygwin"] or \ ++ "mingw" in compiler: ++ return [] ++ else: ++ return "-Wl,--enable-new-dtags,-R" + dir + else: + return "-Wl,-R" + dir + else: +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0084-distutils-MINGW-build-extensions-with-GCC.patch b/mingw-w64-python3.10/0084-distutils-MINGW-build-extensions-with-GCC.patch new file mode 100644 index 0000000000..b90c3ba3c6 --- /dev/null +++ b/mingw-w64-python3.10/0084-distutils-MINGW-build-extensions-with-GCC.patch @@ -0,0 +1,61 @@ +From 59fb3e5bc31a8743382df764b660ccb1aa739f6f Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Tue, 21 Sep 2021 20:52:22 +0200 +Subject: [PATCH 084/N] distutils: MINGW build extensions with GCC + +Signed-off-by: Naveen M K +--- + Lib/distutils/command/build_ext.py | 16 +++++++++++++++- + Lib/distutils/util.py | 2 ++ + 2 files changed, 17 insertions(+), 1 deletion(-) + +diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py +index 1a9bd12..1c9d471 100644 +--- a/Lib/distutils/command/build_ext.py ++++ b/Lib/distutils/command/build_ext.py +@@ -186,7 +186,7 @@ class build_ext(Command): + # for extensions under windows use different directories + # for Release and Debug builds. + # also Python's library directory must be appended to library_dirs +- if os.name == 'nt': ++ if os.name == 'nt' and not self.plat_name.startswith(('mingw')): + # the 'libs' directory is for binary installs - we assume that + # must be the *native* platform. But we don't really support + # cross-compiling via a binary install anyway, so we let it go. +@@ -712,6 +712,20 @@ class build_ext(Command): + # pyconfig.h that MSVC groks. The other Windows compilers all seem + # to need it mentioned explicitly, though, so that's what we do. + # Append '_d' to the python import library on debug builds. ++ ++ # Use self.plat_name as it works even in case of ++ # cross-compilation (at least for mingw build). ++ if self.plat_name.startswith('mingw'): ++ from distutils import sysconfig ++ extra = [] ++ for lib in ( ++ sysconfig.get_config_var('BLDLIBRARY').split() ++ + sysconfig.get_config_var('SHLIBS').split() ++ ): ++ if lib.startswith('-l'): ++ extra.append(lib[2:]) ++ return ext.libraries + extra ++ + if sys.platform == "win32": + from distutils._msvccompiler import MSVCCompiler + if not isinstance(self.compiler, MSVCCompiler): +diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py +index 2ce5c5b..fb7d1ad 100644 +--- a/Lib/distutils/util.py ++++ b/Lib/distutils/util.py +@@ -37,6 +37,8 @@ def get_host_platform(): + + """ + if os.name == 'nt': ++ if 'GCC' in sys.version: ++ return 'mingw' + if 'amd64' in sys.version.lower(): + return 'win-amd64' + if '(arm)' in sys.version.lower(): +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0085-distutils-use-Mingw32CCompiler-as-default-compiler-f.patch b/mingw-w64-python3.10/0085-distutils-use-Mingw32CCompiler-as-default-compiler-f.patch new file mode 100644 index 0000000000..747cdfd70f --- /dev/null +++ b/mingw-w64-python3.10/0085-distutils-use-Mingw32CCompiler-as-default-compiler-f.patch @@ -0,0 +1,74 @@ +From 6bf0cc4d29e2544677502ea44136abddaca7ca3a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:35 +0530 +Subject: [PATCH 085/N] distutils: use Mingw32CCompiler as default compiler + for m +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Lib/distutils/ccompiler.py | 4 +++- + Lib/distutils/cygwinccompiler.py | 11 ++++++++--- + 2 files changed, 11 insertions(+), 4 deletions(-) + +diff --git a/Lib/distutils/ccompiler.py b/Lib/distutils/ccompiler.py +index b5ef143..24eafc6 100644 +--- a/Lib/distutils/ccompiler.py ++++ b/Lib/distutils/ccompiler.py +@@ -9,7 +9,7 @@ from distutils.spawn import spawn + from distutils.file_util import move_file + from distutils.dir_util import mkpath + from distutils.dep_util import newer_group +-from distutils.util import split_quoted, execute ++from distutils.util import split_quoted, execute, get_platform + from distutils import log + + class CCompiler: +@@ -948,6 +948,8 @@ def get_default_compiler(osname=None, platform=None): + osname = os.name + if platform is None: + platform = sys.platform ++ if get_platform().startswith('mingw'): ++ return 'mingw32' + for pattern, compiler in _default_compilers: + if re.match(pattern, platform) is not None or \ + re.match(pattern, osname) is not None: +diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py +index 66c12dd..1960ef8 100644 +--- a/Lib/distutils/cygwinccompiler.py ++++ b/Lib/distutils/cygwinccompiler.py +@@ -253,11 +253,16 @@ class CygwinCCompiler(UnixCCompiler): + output_dir = '' + obj_names = [] + for src_name in source_filenames: +- # use normcase to make sure '.rc' is really '.rc' and not '.RC' +- base, ext = os.path.splitext(os.path.normcase(src_name)) ++ base, ext = os.path.splitext(src_name) ++ # use 'normcase' only for resource suffixes ++ ext_normcase = os.path.normcase(ext) ++ if ext_normcase in ['.rc','.res']: ++ ext = ext_normcase + if ext not in (self.src_extensions + ['.rc','.res']): + raise UnknownFileError("unknown file type '%s' (from '%s')" % \ + (ext, src_name)) ++ base = os.path.splitdrive(base)[1] # Chop off the drive ++ base = base[os.path.isabs(base):] # If abs, chop off leading / + if strip_dir: + base = os.path.basename (base) + if ext in ('.res', '.rc'): +@@ -313,7 +318,7 @@ class Mingw32CCompiler(CygwinCCompiler): + + # Include the appropriate MSVC runtime library if Python was built + # with MSVC 7.0 or later. +- self.dll_libraries = get_msvcr() ++ self.dll_libraries = get_msvcr() or [] + + # Because these compilers aren't configured in Python's pyconfig.h file by + # default, we should at least warn the user if he is using an unmodified +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0086-distutils-find-import-library.patch b/mingw-w64-python3.10/0086-distutils-find-import-library.patch new file mode 100644 index 0000000000..76f0b21afe --- /dev/null +++ b/mingw-w64-python3.10/0086-distutils-find-import-library.patch @@ -0,0 +1,30 @@ +From 7e592f1acdee411f36e15fc23f21fa89137de60c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:36 +0530 +Subject: [PATCH 086/N] distutils: find import library +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Lib/distutils/cygwinccompiler.py | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py +index 1960ef8..39ad631 100644 +--- a/Lib/distutils/cygwinccompiler.py ++++ b/Lib/distutils/cygwinccompiler.py +@@ -91,6 +91,7 @@ class CygwinCCompiler(UnixCCompiler): + obj_extension = ".o" + static_lib_extension = ".a" + shared_lib_extension = ".dll" ++ dylib_lib_extension = ".dll.a" + static_lib_format = "lib%s%s" + shared_lib_format = "%s%s" + exe_extension = ".exe" +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0087-distutils-avoid-circular-dependency-from-time-module.patch b/mingw-w64-python3.10/0087-distutils-avoid-circular-dependency-from-time-module.patch new file mode 100644 index 0000000000..c7620d1ef6 --- /dev/null +++ b/mingw-w64-python3.10/0087-distutils-avoid-circular-dependency-from-time-module.patch @@ -0,0 +1,39 @@ +From 743f08acb0e7008b70f6d67219f92d3931314042 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:41 +0530 +Subject: [PATCH 087/N] distutils: avoid circular dependency from time module + dur +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Lib/distutils/cygwinccompiler.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py +index 39ad631..5b281e2 100644 +--- a/Lib/distutils/cygwinccompiler.py ++++ b/Lib/distutils/cygwinccompiler.py +@@ -48,7 +48,6 @@ cygwin in no-cygwin mode). + import os + import sys + import copy +-from subprocess import Popen, PIPE, check_output + import re + + from distutils.unixccompiler import UnixCCompiler +@@ -383,6 +382,7 @@ def _find_exe_version(cmd): + executable = cmd.split()[0] + if find_executable(executable) is None: + return None ++ from subprocess import Popen, PIPE + out = Popen(cmd, shell=True, stdout=PIPE).stdout + try: + out_string = out.read() +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0088-distutils-generalization-of-posix-build-in-distutils.patch b/mingw-w64-python3.10/0088-distutils-generalization-of-posix-build-in-distutils.patch new file mode 100644 index 0000000000..9cdf3139a4 --- /dev/null +++ b/mingw-w64-python3.10/0088-distutils-generalization-of-posix-build-in-distutils.patch @@ -0,0 +1,63 @@ +From 07ce9c8988f4e0aa18da5529156421b36dc10192 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:41 +0530 +Subject: [PATCH 088/N] distutils: generalization of posix build in distutils + sys + +Co-authored-by: Naveen M K +Signed-off-by: Naveen M K +--- + Lib/distutils/sysconfig.py | 21 ++++++++++++++++++--- + 1 file changed, 18 insertions(+), 3 deletions(-) + +diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py +index cb39cd6..3c7b766 100644 +--- a/Lib/distutils/sysconfig.py ++++ b/Lib/distutils/sysconfig.py +@@ -69,8 +69,23 @@ def parse_config_h(fp, g=None): + + _python_build = partial(is_python_build, check_home=True) + _init_posix = partial(sysconfig_init_posix, _config_vars) +-_init_nt = partial(_init_non_posix, _config_vars) + ++def _posix_build(): ++ # GCC[mingw*] use posix build system ++ # Check for cross builds explicitly ++ host_platform = os.environ.get("_PYTHON_HOST_PLATFORM") ++ if host_platform: ++ if host_platform.startswith('mingw'): ++ return True ++ return os.name == 'posix' or \ ++ (os.name == "nt" and 'GCC' in sys.version) ++posix_build = _posix_build() ++ ++ ++def _init_nt(): ++ if posix_build: ++ return _init_posix(_config_vars) ++ return _init_non_posix(_config_vars) + + # Similar function is also implemented in sysconfig as _parse_makefile + # but without the parsing capabilities of distutils.text_file.TextFile. +@@ -295,7 +310,7 @@ def get_python_inc(plat_specific=0, prefix=None): + """ + if prefix is None: + prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX +- if os.name == "posix": ++ if posix_build: + if python_build: + # Assume the executable is in the build directory. The + # pyconfig.h file should be in the same directory. Since +@@ -342,7 +357,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): + else: + prefix = plat_specific and EXEC_PREFIX or PREFIX + +- if os.name == "posix": ++ if posix_build: + if plat_specific or standard_lib: + # Platform-specific modules (any module from a non-pure-Python + # module distribution) or standard Python library modules. +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0089-distutils-mingw-sysconfig-like-posix.patch b/mingw-w64-python3.10/0089-distutils-mingw-sysconfig-like-posix.patch new file mode 100644 index 0000000000..2ef797011f --- /dev/null +++ b/mingw-w64-python3.10/0089-distutils-mingw-sysconfig-like-posix.patch @@ -0,0 +1,29 @@ +From 5e59c7ba3aca1ba41a906ef0fd07d28ebbfe4808 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Tue, 21 Sep 2021 20:53:29 +0200 +Subject: [PATCH 089/N] distutils: mingw sysconfig like posix + +Signed-off-by: Naveen M K +--- + Lib/distutils/command/build_ext.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py +index 1c9d471..1dbdfe0 100644 +--- a/Lib/distutils/command/build_ext.py ++++ b/Lib/distutils/command/build_ext.py +@@ -221,9 +221,10 @@ class build_ext(Command): + if sys.platform[:6] == 'cygwin': + if sys.executable.startswith(os.path.join(sys.exec_prefix, "bin")): + # building third party extensions ++ config_dir_name = os.path.basename(sysconfig.get_config_var('LIBPL')) + self.library_dirs.append(os.path.join(sys.prefix, "lib", + "python" + get_python_version(), +- "config")) ++ config_dir_name)) + else: + # building python standard extensions + self.library_dirs.append('.') +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0090-distutils-get_versions-fixes.patch b/mingw-w64-python3.10/0090-distutils-get_versions-fixes.patch new file mode 100644 index 0000000000..1f9489f975 --- /dev/null +++ b/mingw-w64-python3.10/0090-distutils-get_versions-fixes.patch @@ -0,0 +1,57 @@ +From eca059099caea8790126fe7c56e961dc3b51d337 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Tue, 21 Sep 2021 21:14:31 +0200 +Subject: [PATCH 090/N] distutils: get_versions() fixes +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Co-authored-by: Christoph Reiter +Signed-off-by: Naveen M K +--- + Lib/distutils/cygwinccompiler.py | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py +index 5b281e2..fba3485 100644 +--- a/Lib/distutils/cygwinccompiler.py ++++ b/Lib/distutils/cygwinccompiler.py +@@ -56,6 +56,7 @@ from distutils.errors import (DistutilsExecError, CCompilerError, + CompileError, UnknownFileError) + from distutils.version import LooseVersion + from distutils.spawn import find_executable ++from subprocess import Popen, PIPE, check_output + + def get_msvcr(): + """Include the appropriate MSVC runtime library if Python was built +@@ -371,7 +372,7 @@ def check_config_h(): + return (CONFIG_H_UNCERTAIN, + "couldn't read '%s': %s" % (fn, exc.strerror)) + +-RE_VERSION = re.compile(br'(\d+\.\d+(\.\d+)*)') ++RE_VERSION = re.compile(br'[\D\s]*(\d+\.\d+(\.\d+)*)[\D\s]*') + + def _find_exe_version(cmd): + """Find the version of an executable by running `cmd` in the shell. +@@ -400,7 +401,16 @@ def get_versions(): + + If not possible it returns None for it. + """ +- commands = ['gcc -dumpversion', 'ld -v', 'dllwrap --version'] ++ gcc = os.environ.get('CC') or 'gcc' ++ ld = 'ld' ++ out = Popen(gcc+' --print-prog-name ld', shell=True, stdout=PIPE).stdout ++ try: ++ ld = test=str(out.read(),encoding='utf-8').strip() ++ finally: ++ out.close() ++ dllwrap = os.environ.get('DLLWRAP') or 'dllwrap' ++ # MinGW64 doesn't have i686-w64-mingw32-ld, so instead we ask gcc. ++ commands = [gcc+' -dumpversion', ld+' -v', dllwrap+' --version'] + return tuple([_find_exe_version(cmd) for cmd in commands]) + + def is_cygwingcc(): +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0091-distutils-install-layout-as-posix.patch b/mingw-w64-python3.10/0091-distutils-install-layout-as-posix.patch new file mode 100644 index 0000000000..ad53edcc1d --- /dev/null +++ b/mingw-w64-python3.10/0091-distutils-install-layout-as-posix.patch @@ -0,0 +1,30 @@ +From d7924f967e32aba1b6cc6dc5c32d30c4c08a4a5a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:51:59 +0530 +Subject: [PATCH 091/N] distutils: install layout as posix + +Co-authored-by: Naveen M K +Signed-off-by: Naveen M K +--- + Lib/distutils/command/install.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py +index 26696cf..5d5f2cb 100644 +--- a/Lib/distutils/command/install.py ++++ b/Lib/distutils/command/install.py +@@ -72,8 +72,8 @@ if HAS_USER_SITE: + INSTALL_SCHEMES['nt_user'] = { + 'purelib': '$usersite', + 'platlib': '$usersite', +- 'headers': '$userbase/Python$py_version_nodot/Include/$dist_name', +- 'scripts': '$userbase/Python$py_version_nodot/Scripts', ++ 'headers': '$userbase/include/python$py_version_short$abiflags/$dist_name', ++ 'scripts': '$userbase/bin', + 'data' : '$userbase', + } + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0092-distutils-msys-convert_path-fix-and-root-hack.patch b/mingw-w64-python3.10/0092-distutils-msys-convert_path-fix-and-root-hack.patch new file mode 100644 index 0000000000..feea1ea8cd --- /dev/null +++ b/mingw-w64-python3.10/0092-distutils-msys-convert_path-fix-and-root-hack.patch @@ -0,0 +1,81 @@ +From 810c367f10ed1122a6b230863ac1f63411f57e8c Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Tue, 21 Sep 2021 21:18:50 +0200 +Subject: [PATCH 092/N] distutils: msys convert_path fix and root hack + +Co-authored-by: Naveen M K +Signed-off-by: Naveen M K +--- + Lib/distutils/command/install.py | 3 ++- + Lib/distutils/util.py | 26 ++++++++++++++++++++++++-- + 2 files changed, 26 insertions(+), 3 deletions(-) + +diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py +index 5d5f2cb..d5e340a 100644 +--- a/Lib/distutils/command/install.py ++++ b/Lib/distutils/command/install.py +@@ -363,7 +363,8 @@ class install(Command): + + # Convert directories from Unix /-separated syntax to the local + # convention. +- self.convert_paths('lib', 'purelib', 'platlib', ++ self.convert_paths('base', 'platbase', ++ 'lib', 'purelib', 'platlib', + 'scripts', 'data', 'headers') + if HAS_USER_SITE: + self.convert_paths('userbase', 'usersite') +diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py +index fb7d1ad..ed9d509 100644 +--- a/Lib/distutils/util.py ++++ b/Lib/distutils/util.py +@@ -132,6 +132,13 @@ def convert_path (pathname): + paths.remove('.') + if not paths: + return os.curdir ++ # On Windows, if paths is ['C:','folder','subfolder'] then ++ # os.path.join(*paths) will return 'C:folder\subfolder' which ++ # is thus relative to the CWD on that drive. So we work around ++ # this by adding a \ to path[0] ++ if (len(paths) > 0 and paths[0].endswith(':') and ++ sys.platform == "win32" and sys.version.find("GCC") >= 0): ++ paths[0] += '\\' + return os.path.join(*paths) + + # convert_path () +@@ -142,6 +149,10 @@ def change_root (new_root, pathname): + relative, this is equivalent to "os.path.join(new_root,pathname)". + Otherwise, it requires making 'pathname' relative and then joining the + two, which is tricky on DOS/Windows and Mac OS. ++ ++ If on Windows or OS/2 and both new_root and pathname are on different ++ drives, raises DistutilsChangeRootError as this is nonsensical, ++ otherwise use drive which can be in either of new_root or pathname. + """ + if os.name == 'posix': + if not os.path.isabs(pathname): +@@ -151,9 +162,20 @@ def change_root (new_root, pathname): + + elif os.name == 'nt': + (drive, path) = os.path.splitdrive(pathname) +- if path[0] == '\\': ++ if path[0] == os.sep: + path = path[1:] +- return os.path.join(new_root, path) ++ (drive_r, path_r) = os.path.splitdrive(new_root) ++ if path_r and path_r[0] == os.sep: ++ path_r = path_r[1:] ++ drive_used = '' ++ if len(drive) == 2 and len(drive_r) == 2 and drive != drive_r: ++ raise DistutilsChangeRootError("root and pathname not on same drive (%s, %s)" ++ % (drive_r,drive)) ++ elif len(drive_r) == 2: ++ drive_used = drive_r+os.sep ++ elif len(drive) == 2: ++ drive_used = drive+os.sep ++ return os.path.join(drive_used+path_r, path) + + else: + raise DistutilsPlatformError("nothing known about platform '%s'" % os.name) +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0093-distutils-mingw-build-optimized-ext.patch b/mingw-w64-python3.10/0093-distutils-mingw-build-optimized-ext.patch new file mode 100644 index 0000000000..38e750e3df --- /dev/null +++ b/mingw-w64-python3.10/0093-distutils-mingw-build-optimized-ext.patch @@ -0,0 +1,35 @@ +From c13e972bd24b6949d3a11f0b1b0cca5842d0255e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:52:04 +0530 +Subject: [PATCH 093/N] distutils: mingw build optimized ext +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Lib/distutils/cygwinccompiler.py | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py +index fba3485..bb97880 100644 +--- a/Lib/distutils/cygwinccompiler.py ++++ b/Lib/distutils/cygwinccompiler.py +@@ -303,9 +303,9 @@ class Mingw32CCompiler(CygwinCCompiler): + raise CCompilerError( + 'Cygwin gcc cannot be used with --compiler=mingw32') + +- self.set_executables(compiler='gcc -O -Wall', +- compiler_so='gcc -mdll -O -Wall', +- compiler_cxx='g++ -O -Wall', ++ self.set_executables(compiler='gcc -O2 -Wall', ++ compiler_so='gcc -mdll -O2 -Wall', ++ compiler_cxx='g++ -O2 -Wall', + linker_exe='gcc', + linker_so='%s %s %s' + % (self.linker_dll, shared_option, +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0094-distutils-cygwinccompiler-dont-strip-modules-if-pyde.patch b/mingw-w64-python3.10/0094-distutils-cygwinccompiler-dont-strip-modules-if-pyde.patch new file mode 100644 index 0000000000..e3b3f19664 --- /dev/null +++ b/mingw-w64-python3.10/0094-distutils-cygwinccompiler-dont-strip-modules-if-pyde.patch @@ -0,0 +1,31 @@ +From a971f45dfc338131ee3c5957a2452579dab4bd68 Mon Sep 17 00:00:00 2001 +From: Ray Donnelly +Date: Thu, 17 Jun 2021 18:52:05 +0530 +Subject: [PATCH 094/N] distutils: cygwinccompiler dont strip modules if + pydebug +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Lib/distutils/cygwinccompiler.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py +index bb97880..c134525 100644 +--- a/Lib/distutils/cygwinccompiler.py ++++ b/Lib/distutils/cygwinccompiler.py +@@ -236,7 +236,7 @@ class CygwinCCompiler(UnixCCompiler): + # (On my machine: 10KiB < stripped_file < ??100KiB + # unstripped_file = stripped_file + XXX KiB + # ( XXX=254 for a typical python extension)) +- if not debug: ++ if not debug and not hasattr(sys, 'gettotalrefcount'): + extra_preargs.append("-s") + + UnixCCompiler.link(self, target_desc, objects, output_filename, +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0095-distutils-get-compilers-from-env-vars.patch b/mingw-w64-python3.10/0095-distutils-get-compilers-from-env-vars.patch new file mode 100644 index 0000000000..76973727e4 --- /dev/null +++ b/mingw-w64-python3.10/0095-distutils-get-compilers-from-env-vars.patch @@ -0,0 +1,163 @@ +From edbda23fbc94dbb9e99b4eca62e57bc124535826 Mon Sep 17 00:00:00 2001 +From: Long Nguyen +Date: Tue, 17 Aug 2021 20:26:05 +0700 +Subject: [PATCH 095/N] distutils: get compilers from env vars + +Upstreamed at https://github.com/pypa/distutils/pull/26 + +This would allow us to bypass all gcc workarounds when we're using clang + +Signed-off-by: Naveen M K +--- + Lib/distutils/cygwinccompiler.py | 91 ++++++++++++++++++-------------- + 1 file changed, 51 insertions(+), 40 deletions(-) + +diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py +index c134525..75bc17b 100644 +--- a/Lib/distutils/cygwinccompiler.py ++++ b/Lib/distutils/cygwinccompiler.py +@@ -44,6 +44,8 @@ cygwin in no-cygwin mode). + # (ld supports -shared) + # * mingw gcc 3.2/ld 2.13 works + # (ld supports -shared) ++# * llvm-mingw with Clang 11 works ++# (lld supports -shared) + + import os + import sys +@@ -110,41 +112,46 @@ class CygwinCCompiler(UnixCCompiler): + "Compiling may fail because of undefined preprocessor macros." + % details) + +- self.gcc_version, self.ld_version, self.dllwrap_version = \ +- get_versions() +- self.debug_print(self.compiler_type + ": gcc %s, ld %s, dllwrap %s\n" % +- (self.gcc_version, +- self.ld_version, +- self.dllwrap_version) ) +- +- # ld_version >= "2.10.90" and < "2.13" should also be able to use +- # gcc -mdll instead of dllwrap +- # Older dllwraps had own version numbers, newer ones use the +- # same as the rest of binutils ( also ld ) +- # dllwrap 2.10.90 is buggy +- if self.ld_version >= "2.10.90": +- self.linker_dll = "gcc" +- else: +- self.linker_dll = "dllwrap" ++ self.cc = os.environ.get('CC', 'gcc') ++ self.cxx = os.environ.get('CXX', 'g++') ++ ++ if ('gcc' in self.cc): # Start gcc workaround ++ self.gcc_version, self.ld_version, self.dllwrap_version = \ ++ get_versions() ++ self.debug_print(self.compiler_type + ": gcc %s, ld %s, dllwrap %s\n" % ++ (self.gcc_version, ++ self.ld_version, ++ self.dllwrap_version) ) ++ ++ # ld_version >= "2.10.90" and < "2.13" should also be able to use ++ # gcc -mdll instead of dllwrap ++ # Older dllwraps had own version numbers, newer ones use the ++ # same as the rest of binutils ( also ld ) ++ # dllwrap 2.10.90 is buggy ++ if self.ld_version >= "2.10.90": ++ self.linker_dll = self.cc ++ else: ++ self.linker_dll = "dllwrap" + +- # ld_version >= "2.13" support -shared so use it instead of +- # -mdll -static +- if self.ld_version >= "2.13": ++ # ld_version >= "2.13" support -shared so use it instead of ++ # -mdll -static ++ if self.ld_version >= "2.13": ++ shared_option = "-shared" ++ else: ++ shared_option = "-mdll -static" ++ else: # Assume linker is up to date ++ self.linker_dll = self.cc + shared_option = "-shared" +- else: +- shared_option = "-mdll -static" + +- # Hard-code GCC because that's what this is all about. +- # XXX optimization, warnings etc. should be customizable. +- self.set_executables(compiler='gcc -mcygwin -O -Wall', +- compiler_so='gcc -mcygwin -mdll -O -Wall', +- compiler_cxx='g++ -mcygwin -O -Wall', +- linker_exe='gcc -mcygwin', ++ self.set_executables(compiler='%s -mcygwin -O -Wall' % self.cc, ++ compiler_so='%s -mcygwin -mdll -O -Wall' % self.cc, ++ compiler_cxx='%s -mcygwin -O -Wall' % self.cxx, ++ linker_exe='%s -mcygwin' % self.cc, + linker_so=('%s -mcygwin %s' % + (self.linker_dll, shared_option))) + + # cygwin and mingw32 need different sets of libraries +- if self.gcc_version == "2.91.57": ++ if ('gcc' in self.cc and self.gcc_version == "2.91.57"): + # cygwin shouldn't need msvcrt, but without the dlls will crash + # (gcc version 2.91.57) -- perhaps something about initialization + self.dll_libraries=["msvcrt"] +@@ -287,26 +294,26 @@ class Mingw32CCompiler(CygwinCCompiler): + + # ld_version >= "2.13" support -shared so use it instead of + # -mdll -static +- if self.ld_version >= "2.13": +- shared_option = "-shared" +- else: ++ if ('gcc' in self.cc and self.ld_version < "2.13"): + shared_option = "-mdll -static" ++ else: ++ shared_option = "-shared" + + # A real mingw32 doesn't need to specify a different entry point, + # but cygwin 2.91.57 in no-cygwin-mode needs it. +- if self.gcc_version <= "2.91.57": ++ if ('gcc' in self.cc and self.gcc_version <= "2.91.57"): + entry_point = '--entry _DllMain@12' + else: + entry_point = '' + +- if is_cygwingcc(): ++ if is_cygwincc(self.cc): + raise CCompilerError( + 'Cygwin gcc cannot be used with --compiler=mingw32') + +- self.set_executables(compiler='gcc -O2 -Wall', +- compiler_so='gcc -mdll -O2 -Wall', +- compiler_cxx='g++ -O2 -Wall', +- linker_exe='gcc', ++ self.set_executables(compiler='%s -O2 -Wall' % self.cc, ++ compiler_so='%s -mdll -O2 -Wall' % self.cc, ++ compiler_cxx='%s -O2 -Wall' % self.cxx, ++ linker_exe='%s' % self.cc, + linker_so='%s %s %s' + % (self.linker_dll, shared_option, + entry_point)) +@@ -357,6 +364,10 @@ def check_config_h(): + if "GCC" in sys.version: + return CONFIG_H_OK, "sys.version mentions 'GCC'" + ++ # Clang would also work ++ if "Clang" in sys.version: ++ return CONFIG_H_OK, "sys.version mentions 'Clang'" ++ + # let's see if __GNUC__ is mentioned in python.h + fn = sysconfig.get_config_h_filename() + try: +@@ -413,7 +424,7 @@ def get_versions(): + commands = [gcc+' -dumpversion', ld+' -v', dllwrap+' --version'] + return tuple([_find_exe_version(cmd) for cmd in commands]) + +-def is_cygwingcc(): +- '''Try to determine if the gcc that would be used is from cygwin.''' +- out_string = check_output(['gcc', '-dumpmachine']) ++def is_cygwincc(cc): ++ '''Try to determine if the compiler that would be used is from cygwin.''' ++ out_string = check_output([cc, '-dumpmachine']) + return out_string.strip().endswith(b'cygwin') +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0096-distutils-add-windmc-to-cygwinccompiler.patch b/mingw-w64-python3.10/0096-distutils-add-windmc-to-cygwinccompiler.patch new file mode 100644 index 0000000000..9f475a5e95 --- /dev/null +++ b/mingw-w64-python3.10/0096-distutils-add-windmc-to-cygwinccompiler.patch @@ -0,0 +1,59 @@ +From 9c089d5a4185ae926f5f2e7517d83cf6f92a9f6d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:52:28 +0530 +Subject: [PATCH 096/N] distutils: add windmc to cygwinccompiler + +Signed-off-by: Naveen M K +--- + Lib/distutils/cygwinccompiler.py | 26 ++++++++++++++++++++++++-- + 1 file changed, 24 insertions(+), 2 deletions(-) + +diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py +index 75bc17b..6a40e80 100644 +--- a/Lib/distutils/cygwinccompiler.py ++++ b/Lib/distutils/cygwinccompiler.py +@@ -170,6 +170,28 @@ class CygwinCCompiler(UnixCCompiler): + self.spawn(["windres", "-i", src, "-o", obj]) + except DistutilsExecError as msg: + raise CompileError(msg) ++ elif ext == '.mc': ++ # Adapted from msvc9compiler: ++ # ++ # Compile .MC to .RC file to .RES file. ++ # * '-h dir' specifies the directory for the generated include file ++ # * '-r dir' specifies the target directory of the generated RC file and the binary message resource it includes ++ # ++ # For now (since there are no options to change this), ++ # we use the source-directory for the include file and ++ # the build directory for the RC file and message ++ # resources. This works at least for win32all. ++ h_dir = os.path.dirname(src) ++ rc_dir = os.path.dirname(obj) ++ try: ++ # first compile .MC to .RC and .H file ++ self.spawn(['windmc'] + ['-h', h_dir, '-r', rc_dir] + [src]) ++ base, _ = os.path.splitext(os.path.basename(src)) ++ rc_file = os.path.join(rc_dir, base + '.rc') ++ # then compile .RC to .RES file ++ self.spawn(['windres', '-i', rc_file, '-o', obj]) ++ except DistutilsExecError as msg: ++ raise CompileError(msg) + else: # for other files use the C-compiler + try: + self.spawn(self.compiler_so + cc_args + [src, '-o', obj] + +@@ -264,9 +286,9 @@ class CygwinCCompiler(UnixCCompiler): + base, ext = os.path.splitext(src_name) + # use 'normcase' only for resource suffixes + ext_normcase = os.path.normcase(ext) +- if ext_normcase in ['.rc','.res']: ++ if ext_normcase in ['.rc', '.res', '.mc']: + ext = ext_normcase +- if ext not in (self.src_extensions + ['.rc','.res']): ++ if ext not in (self.src_extensions + ['.rc', '.res', '.mc']): + raise UnknownFileError("unknown file type '%s' (from '%s')" % \ + (ext, src_name)) + base = os.path.splitdrive(base)[1] # Chop off the drive +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0097-distutils-fix-msvc9-import.patch b/mingw-w64-python3.10/0097-distutils-fix-msvc9-import.patch new file mode 100644 index 0000000000..3df783c9f7 --- /dev/null +++ b/mingw-w64-python3.10/0097-distutils-fix-msvc9-import.patch @@ -0,0 +1,39 @@ +From 3f2d640f0c1dda5b2a37385ae17c19276494717e Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 17 Jun 2021 18:52:24 +0530 +Subject: [PATCH 097/N] distutils: fix msvc9 import +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Co-authored-by: Алексей +Signed-off-by: Naveen M K +--- + Lib/distutils/msvc9compiler.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Lib/distutils/msvc9compiler.py b/Lib/distutils/msvc9compiler.py +index a7976fb..c341679 100644 +--- a/Lib/distutils/msvc9compiler.py ++++ b/Lib/distutils/msvc9compiler.py +@@ -291,8 +291,6 @@ def query_vcvarsall(version, arch="x86"): + + # More globals + VERSION = get_build_version() +-if VERSION < 8.0: +- raise DistutilsPlatformError("VC %0.1f is not supported by this module" % VERSION) + # MACROS = MacroExpander(VERSION) + + class MSVCCompiler(CCompiler) : +@@ -327,6 +325,8 @@ class MSVCCompiler(CCompiler) : + + def __init__(self, verbose=0, dry_run=0, force=0): + CCompiler.__init__ (self, verbose, dry_run, force) ++ if VERSION < 8.0: ++ raise DistutilsPlatformError("VC %0.1f is not supported by this module" % VERSION) + self.__version = VERSION + self.__root = r"Software\Microsoft\VisualStudio" + # self.__macros = MACROS +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0098-distutils-mingw-add-LIBPL-to-library-dirs.patch b/mingw-w64-python3.10/0098-distutils-mingw-add-LIBPL-to-library-dirs.patch new file mode 100644 index 0000000000..9865368af2 --- /dev/null +++ b/mingw-w64-python3.10/0098-distutils-mingw-add-LIBPL-to-library-dirs.patch @@ -0,0 +1,27 @@ +From d7aa0ff8ef74ee6f3a94dd8572bda99321c5879c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:52:06 +0530 +Subject: [PATCH 098/N] distutils: mingw add LIBPL to library dirs + +Signed-off-by: Naveen M K +--- + Lib/distutils/command/build_ext.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py +index 1dbdfe0..1598735 100644 +--- a/Lib/distutils/command/build_ext.py ++++ b/Lib/distutils/command/build_ext.py +@@ -218,7 +218,7 @@ class build_ext(Command): + + # For extensions under Cygwin, Python's library directory must be + # appended to library_dirs +- if sys.platform[:6] == 'cygwin': ++ if sys.platform[:6] == 'cygwin' or self.plat_name.startswith(('mingw')): + if sys.executable.startswith(os.path.join(sys.exec_prefix, "bin")): + # building third party extensions + config_dir_name = os.path.basename(sysconfig.get_config_var('LIBPL')) +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0099-distutils-Change-the-get_platform-method-in-distutil.patch b/mingw-w64-python3.10/0099-distutils-Change-the-get_platform-method-in-distutil.patch new file mode 100644 index 0000000000..2e2ba5ce66 --- /dev/null +++ b/mingw-w64-python3.10/0099-distutils-Change-the-get_platform-method-in-distutil.patch @@ -0,0 +1,44 @@ +From c347c9bbb8f570af631681f8feaa3466c2bd9d8a Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Tue, 21 Sep 2021 21:37:23 +0200 +Subject: [PATCH 099/N] distutils: Change the `get_platform()` method in + distutils to match sysconfig + +This would possibly fix building wheels when mingw python +is used and would be unique to each python same as EXT_SUFFIX. + +Signed-off-by: Naveen M K +--- + Lib/distutils/util.py | 16 ++++++++++++++-- + 1 file changed, 14 insertions(+), 2 deletions(-) + +diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py +index ed9d509..28e623b 100644 +--- a/Lib/distutils/util.py ++++ b/Lib/distutils/util.py +@@ -37,8 +37,20 @@ def get_host_platform(): + + """ + if os.name == 'nt': +- if 'GCC' in sys.version: +- return 'mingw' ++ if 'gcc' in sys.version.lower(): ++ if 'ucrt' in sys.version.lower(): ++ if 'amd64' in sys.version.lower(): ++ return 'mingw_x86_64_ucrt' ++ return 'mingw_i686_ucrt' ++ if 'clang' in sys.version.lower(): ++ if 'amd64' in sys.version.lower(): ++ return 'mingw_x86_64_clang' ++ if 'arm64' in sys.version.lower(): ++ return 'mingw_aarch64' ++ return 'mingw_i686_clang' ++ if 'amd64' in sys.version.lower(): ++ return 'mingw_x86_64' ++ return 'mingw_i686' + if 'amd64' in sys.version.lower(): + return 'win-amd64' + if '(arm)' in sys.version.lower(): +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0100-build-Fix-ncursesw-include-lookup.patch b/mingw-w64-python3.10/0100-build-Fix-ncursesw-include-lookup.patch new file mode 100644 index 0000000000..28410aa5fc --- /dev/null +++ b/mingw-w64-python3.10/0100-build-Fix-ncursesw-include-lookup.patch @@ -0,0 +1,67 @@ +From 97d01b91031fd3d8a9a31b4657dd5596c0311b55 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= + +Date: Thu, 17 Jun 2021 18:52:09 +0530 +Subject: [PATCH 100/N] build: Fix ncursesw include lookup + +Mirror what is already done for libffi; Look it up via +pkg-config and use the exported path via sysconfig in setup.py + +Signed-off-by: Naveen M K +--- + Makefile.pre.in | 1 + + configure.ac | 9 ++++++++- + setup.py | 2 +- + 3 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index e526be2..da1d638 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -319,6 +319,7 @@ IO_OBJS= \ + ########################################################################## + + LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@ ++NCURSESW_INCLUDEDIR= @NCURSESW_INCLUDEDIR@ + + ########################################################################## + # Parser +diff --git a/configure.ac b/configure.ac +index ca7e7a2..ee6db8e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -5603,10 +5603,17 @@ then + [Define if you have struct stat.st_mtimensec]) + fi + ++if test -n "$PKG_CONFIG"; then ++ NCURSESW_INCLUDEDIR="`"$PKG_CONFIG" ncursesw --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ *$//'`" ++else ++ NCURSESW_INCLUDEDIR="" ++fi ++AC_SUBST(NCURSESW_INCLUDEDIR) ++ + # first curses header check + ac_save_cppflags="$CPPFLAGS" + if test "$cross_compiling" = no; then +- CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw" ++ CPPFLAGS="$CPPFLAGS -I$NCURSESW_INCLUDEDIR" + fi + + AC_CHECK_HEADERS(curses.h ncurses.h) +diff --git a/setup.py b/setup.py +index 5eb9b07..67e290a 100644 +--- a/setup.py ++++ b/setup.py +@@ -1192,7 +1192,7 @@ class PyBuildExt(build_ext): + if curses_library == 'ncursesw': + curses_defines.append(('HAVE_NCURSESW', '1')) + if not CROSS_COMPILING: +- curses_includes.append('/usr/include/ncursesw') ++ curses_includes.append(sysconfig.get_config_var("NCURSESW_INCLUDEDIR")) + # Bug 1464056: If _curses.so links with ncursesw, + # _curses_panel.so must link with panelw. + panel_library = 'panelw' +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0101-tests-fix-test_bytes.patch b/mingw-w64-python3.10/0101-tests-fix-test_bytes.patch new file mode 100644 index 0000000000..06c4e5fc3e --- /dev/null +++ b/mingw-w64-python3.10/0101-tests-fix-test_bytes.patch @@ -0,0 +1,29 @@ +From 14dd62fba06c2b2c369d27049cc25baf54929e9b Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Fri, 23 Jul 2021 08:51:32 +0200 +Subject: [PATCH 101/N] tests: fix test_bytes + +%p has different casing with mingw-w64, but it's implementation defined. +Change the test to the mingw-w64 variant. + +Signed-off-by: Naveen M K +--- + Lib/test/test_bytes.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py +index 13ad238..65181e0 100644 +--- a/Lib/test/test_bytes.py ++++ b/Lib/test/test_bytes.py +@@ -1075,7 +1075,7 @@ class BytesTest(BaseBytesTest, unittest.TestCase): + + if os.name == 'nt': + # Windows (MSCRT) +- ptr_format = '0x%0{}X'.format(2 * sizeof_ptr) ++ ptr_format = '0x%0{}x'.format(2 * sizeof_ptr) + def ptr_formatter(ptr): + return (ptr_format % ptr) + else: +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0102-time-fix-strftime-not-raising-for-invalid-year-value.patch b/mingw-w64-python3.10/0102-time-fix-strftime-not-raising-for-invalid-year-value.patch new file mode 100644 index 0000000000..e4bdbb1309 --- /dev/null +++ b/mingw-w64-python3.10/0102-time-fix-strftime-not-raising-for-invalid-year-value.patch @@ -0,0 +1,30 @@ +From 1dba7da22bed0dcf8e06fb225141049e46d67665 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Fri, 23 Jul 2021 08:52:50 +0200 +Subject: [PATCH 102/N] time: fix strftime not raising for invalid year + values + +It's crt specific and not compiler specific. +This fixes a test case in test_time + +Signed-off-by: Naveen M K +--- + Modules/timemodule.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Modules/timemodule.c b/Modules/timemodule.c +index 4caacc3..4787fa3 100644 +--- a/Modules/timemodule.c ++++ b/Modules/timemodule.c +@@ -759,7 +759,7 @@ time_strftime(PyObject *self, PyObject *args) + return NULL; + } + +-#if defined(_MSC_VER) || (defined(__sun) && defined(__SVR4)) || defined(_AIX) || defined(__VXWORKS__) ++#if defined(MS_WINDOWS) || (defined(__sun) && defined(__SVR4)) || defined(_AIX) || defined(__VXWORKS__) + if (buf.tm_year + 1900 < 1 || 9999 < buf.tm_year + 1900) { + PyErr_SetString(PyExc_ValueError, + "strftime() requires year in [1; 9999]"); +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0103-ctypes-find_library-c-should-return-None-with-ucrt.patch b/mingw-w64-python3.10/0103-ctypes-find_library-c-should-return-None-with-ucrt.patch new file mode 100644 index 0000000000..456cb1dfd8 --- /dev/null +++ b/mingw-w64-python3.10/0103-ctypes-find_library-c-should-return-None-with-ucrt.patch @@ -0,0 +1,43 @@ +From db63bc40657c78ce74ebd97f66546cdd09c561ce Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Fri, 23 Jul 2021 18:23:58 +0200 +Subject: [PATCH 103/N] ctypes: find_library('c') should return None with + ucrt + +Just like with MSVC. This fixes a test in test_ctypes. + +Signed-off-by: Naveen M K +--- + Lib/ctypes/util.py | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py +index 0c2510e..48ddb3b 100644 +--- a/Lib/ctypes/util.py ++++ b/Lib/ctypes/util.py +@@ -31,6 +31,12 @@ if os.name == "nt": + # else we don't know what version of the compiler this is + return None + ++ def find_msvcrt_mingw(): ++ is_ucrt = 'clang' in sys.version.lower() or 'ucrt' in sys.version.lower() ++ if is_ucrt: ++ return None ++ return 'msvcrt.dll' ++ + def find_msvcrt(): + """Return the name of the VC runtime dll""" + version = _get_build_version() +@@ -54,6 +60,9 @@ if os.name == "nt": + + def find_library(name): + if name in ('c', 'm'): ++ import sysconfig ++ if sysconfig.get_platform().startswith('mingw'): ++ return find_msvcrt_mingw() + return find_msvcrt() + # See MSDN for the REAL search order. + for directory in os.environ['PATH'].split(os.pathsep): +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0104-build-Disable-checks-for-dlopen-dlfcn.patch b/mingw-w64-python3.10/0104-build-Disable-checks-for-dlopen-dlfcn.patch new file mode 100644 index 0000000000..db247a1a9a --- /dev/null +++ b/mingw-w64-python3.10/0104-build-Disable-checks-for-dlopen-dlfcn.patch @@ -0,0 +1,68 @@ +From 38bf0a1b25d07fbf4e05c4efb4f9058d3fa8faef Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sun, 25 Jul 2021 13:54:12 +0200 +Subject: [PATCH 104/N] build: Disable checks for dlopen/dlfcn + +While it is (potentially) available with mingw we don't want to use it, so skip any +checks for it. + +Signed-off-by: Naveen M K +--- + configure.ac | 20 +++++++++++++++++--- + 1 file changed, 17 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index ee6db8e..164147c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2420,7 +2420,7 @@ dnl AC_MSG_RESULT($cpp_type) + + # checks for header files + AC_HEADER_STDC +-AC_CHECK_HEADERS(asm/types.h crypt.h conio.h direct.h dlfcn.h errno.h \ ++AC_CHECK_HEADERS(asm/types.h crypt.h conio.h direct.h errno.h \ + fcntl.h grp.h \ + ieeefp.h io.h langinfo.h libintl.h process.h \ + shadow.h signal.h stropts.h termios.h \ +@@ -2435,6 +2435,12 @@ libutil.h sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \ + linux/tipc.h linux/random.h spawn.h util.h alloca.h endian.h \ + sys/endian.h sys/sysmacros.h linux/memfd.h linux/wait.h sys/memfd.h \ + sys/mman.h sys/eventfd.h) ++ ++case $host in ++ *-*-mingw*) ;; ++ *) AC_CHECK_HEADERS([dlfcn.h]);; ++esac ++ + AC_HEADER_DIRENT + AC_HEADER_MAJOR + +@@ -3096,7 +3102,12 @@ AC_MSG_RESULT($SHLIBS) + + # checks for libraries + AC_CHECK_LIB(sendfile, sendfile) +-AC_CHECK_LIB(dl, dlopen) # Dynamic linking for SunOS/Solaris and SYSV ++ ++case $host in ++ *-*-mingw*) ;; ++ *) AC_CHECK_LIB(dl, dlopen) ;; # Dynamic linking for SunOS/Solaris and SYSV ++esac ++ + AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX + + # checks for uuid.h location +@@ -5012,7 +5023,10 @@ then + [define to 1 if your sem_getvalue is broken.]) + fi + +-AC_CHECK_DECLS([RTLD_LAZY, RTLD_NOW, RTLD_GLOBAL, RTLD_LOCAL, RTLD_NODELETE, RTLD_NOLOAD, RTLD_DEEPBIND, RTLD_MEMBER], [], [], [[#include ]]) ++case $host in ++ *-*-mingw*) ;; ++ *) AC_CHECK_DECLS([RTLD_LAZY, RTLD_NOW, RTLD_GLOBAL, RTLD_LOCAL, RTLD_NODELETE, RTLD_NOLOAD, RTLD_DEEPBIND, RTLD_MEMBER], [], [], [[#include ]]);; ++esac + + # determine what size digit to use for Python's longs + AC_MSG_CHECKING([digit size for Python's longs]) +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0105-Fix-install-location-of-the-import-library.patch b/mingw-w64-python3.10/0105-Fix-install-location-of-the-import-library.patch new file mode 100644 index 0000000000..f03854042d --- /dev/null +++ b/mingw-w64-python3.10/0105-Fix-install-location-of-the-import-library.patch @@ -0,0 +1,26 @@ +From e94e69160345461948a2e490df3e980479874904 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sun, 25 Jul 2021 15:46:01 +0200 +Subject: [PATCH 105/N] Fix install location of the import library + +Signed-off-by: Naveen M K +--- + Makefile.pre.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index da1d638..c54015a 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1742,7 +1742,7 @@ libainstall: @DEF_MAKE_RULE@ python-config + if test -d $(LIBRARY); then :; else \ + if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \ + if test "$(SHLIB_SUFFIX)" = .dll -o "$(SHLIB_SUFFIX)" = .pyd; then \ +- $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \ ++ $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBDIR) ; \ + else \ + $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ + fi; \ +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0106-Set-MSYS2_ARG_CONV_EXCL-for-the-shared-Python-module.patch b/mingw-w64-python3.10/0106-Set-MSYS2_ARG_CONV_EXCL-for-the-shared-Python-module.patch new file mode 100644 index 0000000000..c86f076fd6 --- /dev/null +++ b/mingw-w64-python3.10/0106-Set-MSYS2_ARG_CONV_EXCL-for-the-shared-Python-module.patch @@ -0,0 +1,28 @@ +From d6a1a6cb232e37bba31c4ddbc7218fbec50b0ccc Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sun, 25 Jul 2021 15:46:54 +0200 +Subject: [PATCH 106/N] Set MSYS2_ARG_CONV_EXCL for the shared Python module + install + +Otherwise one has to set it when calling "make install". + +Signed-off-by: Naveen M K +--- + Makefile.pre.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index c54015a..0c7149b 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1789,6 +1789,7 @@ endif + # Install the dynamically loadable modules + # This goes into $(exec_prefix) + sharedinstall: sharedmods ++ MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ + $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ + --prefix=$(prefix) \ + --install-scripts=$(BINDIR) \ +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0107-build-Integrate-venvlauncher-build-installation-into.patch b/mingw-w64-python3.10/0107-build-Integrate-venvlauncher-build-installation-into.patch new file mode 100644 index 0000000000..71e3c4d8c8 --- /dev/null +++ b/mingw-w64-python3.10/0107-build-Integrate-venvlauncher-build-installation-into.patch @@ -0,0 +1,81 @@ +From 3159763aba59b7ebbaf5972be183636a7efdca5d Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sun, 25 Jul 2021 16:53:35 +0200 +Subject: [PATCH 107/N] build: Integrate venvlauncher build/installation into + the Makefile + +This is required for venv creation on Windows. +Ideally this would use the venv specific launcher (PC/launcher.c), +but a copy of main binary seems to work as well for now. + +Signed-off-by: Naveen M K +--- + Makefile.pre.in | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +diff --git a/Makefile.pre.in b/Makefile.pre.in +index 0c7149b..b91fadb 100644 +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -163,6 +163,7 @@ BINLIBDEST= @BINLIBDEST@ + LIBDEST= $(SCRIPTDIR)/python$(VERSION) + INCLUDEPY= $(INCLUDEDIR)/python$(LDVERSION) + CONFINCLUDEPY= $(CONFINCLUDEDIR)/python$(LDVERSION) ++VENVLAUNCHERDIR= $(BINLIBDEST)/venv/scripts/nt + + # Symbols used for using shared libraries + SHLIB_SUFFIX= @SHLIB_SUFFIX@ +@@ -270,6 +271,8 @@ LIBOBJS= @LIBOBJS@ + PYTHON= python$(EXE) + BUILDPYTHON= python$(BUILDEXE) + BUILDPYTHONW= pythonw$(BUILDEXE) ++BUILDVENVLAUNCHER= venvlauncher$(BUILDEXE) ++BUILDVENVWLAUNCHER= venvwlauncher$(BUILDEXE) + + PYTHON_FOR_REGEN?=@PYTHON_FOR_REGEN@ + UPDATE_FILE=$(PYTHON_FOR_REGEN) $(srcdir)/Tools/scripts/update_file.py +@@ -485,7 +488,7 @@ DTRACE_DEPS = \ + + # Default target + all: @DEF_MAKE_ALL_RULE@ +-build_all: check-clean-src $(BUILDPYTHON) $(BUILDPYTHONW) oldsharedmods sharedmods gdbhooks \ ++build_all: check-clean-src $(BUILDPYTHON) $(BUILDPYTHONW) $(BUILDVENVLAUNCHER) $(BUILDVENVWLAUNCHER) oldsharedmods sharedmods gdbhooks \ + Programs/_testembed python-config + + # Check that the source is clean when building out of source. +@@ -614,6 +617,14 @@ $(BUILDPYTHONW): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) pythonw + $(BUILDPYTHON): Programs/python.o $(LIBRARY_DEPS) python_exe.o + $(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -municode -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) python_exe.o + ++# FIXME: build these from PC/launcher.c instead ++$(BUILDVENVLAUNCHER): $(BUILDPYTHON) ++ cp $(BUILDPYTHON) $(BUILDVENVLAUNCHER) ++ ++# FIXME: build these from PC/launcher.c instead ++$(BUILDVENVWLAUNCHER): $(BUILDPYTHONW) ++ cp $(BUILDPYTHONW) $(BUILDVENVWLAUNCHER) ++ + platform: $(BUILDPYTHON) pybuilddir.txt + $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' >platform + +@@ -1347,7 +1358,7 @@ $(DESTSHARED): + # Install the interpreter with $(VERSION) affixed + # This goes into $(exec_prefix) + altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@ +- @for i in $(BINDIR) $(LIBDIR); \ ++ @for i in $(BINDIR) $(LIBDIR) $(VENVLAUNCHERDIR); \ + do \ + if test ! -d $(DESTDIR)$$i; then \ + echo "Creating directory $$i"; \ +@@ -1358,6 +1369,8 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@ + if test "$(PYTHONFRAMEWORKDIR)" = "no-framework" ; then \ + $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \ + $(INSTALL_PROGRAM) $(BUILDPYTHONW) $(DESTDIR)$(BINDIR)/python3w$(EXE); \ ++ $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(VENVLAUNCHERDIR)/python$(EXE); \ ++ $(INSTALL_PROGRAM) $(BUILDPYTHONW) $(DESTDIR)$(VENVLAUNCHERDIR)/pythonw$(EXE); \ + else \ + $(INSTALL_PROGRAM) $(STRIPFLAG) Mac/pythonw $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \ + fi +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0108-configure.ac-set-_WIN32_WINNT-version.patch b/mingw-w64-python3.10/0108-configure.ac-set-_WIN32_WINNT-version.patch new file mode 100644 index 0000000000..aad268ac2a --- /dev/null +++ b/mingw-w64-python3.10/0108-configure.ac-set-_WIN32_WINNT-version.patch @@ -0,0 +1,29 @@ +From 2b83ecfaa7c76175966bdf0fdb2b1f6b3f9a8169 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sun, 1 Aug 2021 15:18:50 +0200 +Subject: [PATCH 108/N] configure.ac: set _WIN32_WINNT version + +Signed-off-by: Naveen M K +--- + configure.ac | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 164147c..dd21dfd 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3470,6 +3470,11 @@ else + fi]) + AC_MSG_RESULT($with_dbmliborder) + ++case $host in ++ *-*-mingw*) ++ CFLAGS_NODIST="$CFLAGS_NODIST -D_WIN32_WINNT=0x0601";; ++esac ++ + # Determine if windows modules should be used. + AC_SUBST(USE_WIN32_MODULE) + USE_WIN32_MODULE='#' +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0109-configure.ac-don-t-check-for-clock_-functions.patch b/mingw-w64-python3.10/0109-configure.ac-don-t-check-for-clock_-functions.patch new file mode 100644 index 0000000000..822ffef48e --- /dev/null +++ b/mingw-w64-python3.10/0109-configure.ac-don-t-check-for-clock_-functions.patch @@ -0,0 +1,38 @@ +From 59069e28f60748581badbd6b8b38d33fbf1fbd64 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sun, 1 Aug 2021 18:35:17 +0200 +Subject: [PATCH 109/N] configure.ac: don't check for clock_ functions + +They shouldn't be exposed on Windows and lead to winpthread being linked in + +Signed-off-by: Naveen M K +--- + configure.ac | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/configure.ac b/configure.ac +index dd21dfd..e958d1f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -4367,6 +4367,9 @@ char *r = crypt_r("", "", &d); + []) + ) + ++case $host in ++ *-*-mingw*) ;; ++ *) + AC_CHECK_FUNCS(clock_gettime, [], [ + AC_CHECK_LIB(rt, clock_gettime, [ + LIBS="$LIBS -lrt" +@@ -4387,6 +4390,8 @@ AC_CHECK_FUNCS(clock_settime, [], [ + AC_DEFINE(HAVE_CLOCK_SETTIME, 1) + ]) + ]) ++ ;; ++esac + + AC_MSG_CHECKING(for major, minor, and makedev) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0110-expanduser-normpath-paths-coming-from-env-vars.patch b/mingw-w64-python3.10/0110-expanduser-normpath-paths-coming-from-env-vars.patch new file mode 100644 index 0000000000..7516449ae9 --- /dev/null +++ b/mingw-w64-python3.10/0110-expanduser-normpath-paths-coming-from-env-vars.patch @@ -0,0 +1,37 @@ +From 92f9f46cde54368cb0d696dff7e579083f3c4ef0 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sun, 8 Aug 2021 10:17:35 +0200 +Subject: [PATCH 110/N] expanduser: normpath paths coming from env vars + +This makes sure we get the same paths as with related functions in pathlib. + +Signed-off-by: Naveen M K +--- + Lib/ntpath.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Lib/ntpath.py b/Lib/ntpath.py +index 1f1b441..0ecde0c 100644 +--- a/Lib/ntpath.py ++++ b/Lib/ntpath.py +@@ -319,7 +319,7 @@ def expanduser(path): + if 'USERPROFILE' in os.environ: + userhome = os.environ['USERPROFILE'] + elif not 'HOMEPATH' in os.environ: +- return path ++ return os.path.normpath(path) + else: + try: + drive = os.environ['HOMEDRIVE'] +@@ -346,7 +346,7 @@ def expanduser(path): + if isinstance(path, bytes): + userhome = os.fsencode(userhome) + +- return userhome + path[i:] ++ return os.path.normpath(userhome) + path[i:] + + + # Expand paths containing shell variable substitutions. +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0111-Add-support-for-Windows-7-Python-3.9.patch b/mingw-w64-python3.10/0111-Add-support-for-Windows-7-Python-3.9.patch new file mode 100644 index 0000000000..154e713689 --- /dev/null +++ b/mingw-w64-python3.10/0111-Add-support-for-Windows-7-Python-3.9.patch @@ -0,0 +1,177 @@ +From 8f8495c95715bf679f5756e12e4787aada9c3613 Mon Sep 17 00:00:00 2001 +From: Naveen M K +Date: Thu, 17 Jun 2021 18:52:39 +0530 +Subject: [PATCH 111/N] Add support for Windows 7 Python 3.9 + +Signed-off-by: Naveen M K +--- + Modules/posixmodule.c | 22 +++++++++++------ + PC/getpathp.c | 57 +++++++++++++++++++++++++++++++++++++++---- + configure.ac | 2 +- + 3 files changed, 68 insertions(+), 13 deletions(-) + +diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c +index 65edb10..e31a2f8 100644 +--- a/Modules/posixmodule.c ++++ b/Modules/posixmodule.c +@@ -20,7 +20,7 @@ + + FSCTL_GET_REPARSE_POINT is not exported with WIN32_LEAN_AND_MEAN. */ + # include +-# include ++# include + #endif + + #ifdef __VXWORKS__ +@@ -4450,7 +4450,6 @@ os__path_splitroot_impl(PyObject *module, path_t *path) + wchar_t *buffer; + wchar_t *end; + PyObject *result = NULL; +- HRESULT ret; + + buffer = (wchar_t*)PyMem_Malloc(sizeof(wchar_t) * (wcslen(path->wide) + 1)); + if (!buffer) { +@@ -4462,18 +4461,26 @@ os__path_splitroot_impl(PyObject *module, path_t *path) + } + + Py_BEGIN_ALLOW_THREADS +- ret = PathCchSkipRoot(buffer, &end); ++ if (buffer[0] && buffer[1] == L':') { ++ if (buffer[2] == L'\\') { ++ end = &buffer[3]; ++ } else { ++ end = &buffer[2]; ++ } ++ } else { ++ end = PathSkipRootW(buffer); ++ } + Py_END_ALLOW_THREADS +- if (FAILED(ret)) { ++ if (!end || end == buffer) { + result = Py_BuildValue("sO", "", path->object); +- } else if (end != buffer) { ++ } else if (!*end) { ++ result = Py_BuildValue("Os", path->object, ""); ++ } else { + size_t rootLen = (size_t)(end - buffer); + result = Py_BuildValue("NN", + PyUnicode_FromWideChar(path->wide, rootLen), + PyUnicode_FromWideChar(path->wide + rootLen, -1) + ); +- } else { +- result = Py_BuildValue("Os", path->object, ""); + } + PyMem_Free(buffer); + +@@ -4481,6 +4488,7 @@ os__path_splitroot_impl(PyObject *module, path_t *path) + } + + ++ + #endif /* MS_WINDOWS */ + + +diff --git a/PC/getpathp.c b/PC/getpathp.c +index 603a1eb..26ade03 100644 +--- a/PC/getpathp.c ++++ b/PC/getpathp.c +@@ -90,7 +90,6 @@ + #endif + + #include +-#include + #include + + #ifdef HAVE_SYS_TYPES_H +@@ -250,14 +249,43 @@ ismodule(wchar_t *filename, int update_filename) + stuff as fits will be appended. + */ + ++static int _PathCchCombineEx_Initialized = 0; ++typedef HRESULT(__stdcall *PPathCchCombineEx) (PWSTR pszPathOut, size_t cchPathOut, ++ PCWSTR pszPathIn, PCWSTR pszMore, ++ unsigned long dwFlags); ++static PPathCchCombineEx _PathCchCombineEx; ++ + static void + join(wchar_t *buffer, const wchar_t *stuff) + { +- if (FAILED(PathCchCombineEx(buffer, MAXPATHLEN+1, buffer, stuff, 0))) { +- Py_FatalError("buffer overflow in getpathp.c's join()"); ++ if (_PathCchCombineEx_Initialized == 0) { ++ HMODULE pathapi = LoadLibraryExW(L"api-ms-win-core-path-l1-1-0.dll", NULL, ++ LOAD_LIBRARY_SEARCH_SYSTEM32); ++ if (pathapi) { ++ _PathCchCombineEx = (PPathCchCombineEx)GetProcAddress(pathapi, "PathCchCombineEx"); ++ } ++ else { ++ _PathCchCombineEx = NULL; ++ } ++ _PathCchCombineEx_Initialized = 1; ++ } ++ ++ if (_PathCchCombineEx) { ++ if (FAILED(_PathCchCombineEx(buffer, MAXPATHLEN+1, buffer, stuff, 0))) { ++ Py_FatalError("buffer overflow in getpathp.c's join()"); ++ } ++ } else { ++ if (!PathCombineW(buffer, buffer, stuff)) { ++ Py_FatalError("buffer overflow in getpathp.c's join()"); ++ } + } + } + ++static int _PathCchCanonicalizeEx_Initialized = 0; ++typedef HRESULT(__stdcall *PPathCchCanonicalizeEx) (PWSTR pszPathOut, size_t cchPathOut, ++ PCWSTR pszPathIn, unsigned long dwFlags); ++static PPathCchCanonicalizeEx _PathCchCanonicalizeEx; ++ + /* Call PathCchCanonicalizeEx(path): remove navigation elements such as "." + and ".." to produce a direct, well-formed path. */ + static PyStatus +@@ -267,8 +295,27 @@ canonicalize(wchar_t *buffer, const wchar_t *path) + return _PyStatus_NO_MEMORY(); + } + +- if (FAILED(PathCchCanonicalizeEx(buffer, MAXPATHLEN + 1, path, 0))) { +- return INIT_ERR_BUFFER_OVERFLOW(); ++ if (_PathCchCanonicalizeEx_Initialized == 0) { ++ HMODULE pathapi = LoadLibraryExW(L"api-ms-win-core-path-l1-1-0.dll", NULL, ++ LOAD_LIBRARY_SEARCH_SYSTEM32); ++ if (pathapi) { ++ _PathCchCanonicalizeEx = (PPathCchCanonicalizeEx)GetProcAddress(pathapi, "PathCchCanonicalizeEx"); ++ } ++ else { ++ _PathCchCanonicalizeEx = NULL; ++ } ++ _PathCchCanonicalizeEx_Initialized = 1; ++ } ++ ++ if (_PathCchCanonicalizeEx) { ++ if (FAILED(_PathCchCanonicalizeEx(buffer, MAXPATHLEN + 1, path, 0))) { ++ return INIT_ERR_BUFFER_OVERFLOW(); ++ } ++ } ++ else { ++ if (!PathCanonicalizeW(buffer, path)) { ++ return INIT_ERR_BUFFER_OVERFLOW(); ++ } + } + return _PyStatus_OK(); + } +diff --git a/configure.ac b/configure.ac +index e958d1f..44e1f74 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -6014,7 +6014,7 @@ AC_MSG_RESULT(done) + # For mingw build need additional library for linking + case $host in + *-*-mingw*) +- LIBS="$LIBS -lversion -lshlwapi -lpathcch" ++ LIBS="$LIBS -lversion -lshlwapi" + AC_PROG_AWK + if test "$AWK" = "gawk"; then + awk_extra_flag="--non-decimal-data" +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0112-CI-test-the-build-and-add-some-mingw-specific-tests.patch b/mingw-w64-python3.10/0112-CI-test-the-build-and-add-some-mingw-specific-tests.patch new file mode 100644 index 0000000000..d9a8fa6ab3 --- /dev/null +++ b/mingw-w64-python3.10/0112-CI-test-the-build-and-add-some-mingw-specific-tests.patch @@ -0,0 +1,590 @@ +From fd0133e2c1c792516096c74d4527be65c77d1cdd Mon Sep 17 00:00:00 2001 +From: Naveen M K +Date: Fri, 18 Jun 2021 17:51:59 +0530 +Subject: [PATCH 112/N] CI: test the build and add some mingw specific tests + +Signed-off-by: Naveen M K +--- + .github/workflows/mingw.yml | 209 ++++++++++++++++++++++++ + mingw_ignorefile.txt | 34 ++++ + mingw_smoketests.py | 310 ++++++++++++++++++++++++++++++++++++ + 3 files changed, 553 insertions(+) + create mode 100644 .github/workflows/mingw.yml + create mode 100644 mingw_ignorefile.txt + create mode 100644 mingw_smoketests.py + +diff --git a/.github/workflows/mingw.yml b/.github/workflows/mingw.yml +new file mode 100644 +index 0000000..eb27adc +--- /dev/null ++++ b/.github/workflows/mingw.yml +@@ -0,0 +1,209 @@ ++name: Build ++on: [push, pull_request, workflow_dispatch] ++ ++jobs: ++ build: ++ runs-on: windows-2022 ++ strategy: ++ fail-fast: false ++ matrix: ++ msystem: ['MINGW64','MINGW32','UCRT64','CLANG64'] ++ include: ++ - msystem: MINGW64 ++ prefix: mingw-w64-x86_64 ++ - msystem: MINGW32 ++ prefix: mingw-w64-i686 ++ - msystem: UCRT64 ++ prefix: mingw-w64-ucrt-x86_64 ++ - msystem: CLANG64 ++ prefix: mingw-w64-clang-x86_64 ++ #- msystem: CLANG32 ++ # prefix: mingw-w64-clang-i686 ++ steps: ++ - name: Setup git ++ run: | ++ git config --global core.autocrlf false ++ git config --global core.eol lf ++ - uses: actions/checkout@v2 ++ - uses: msys2/setup-msys2@v2 ++ with: ++ msystem: ${{ matrix.msystem }} ++ release: false ++ update: true ++ install: >- ++ make ++ binutils ++ autoconf ++ autoconf-archive ++ automake-wrapper ++ tar ++ gzip ++ ${{ matrix.prefix }}-toolchain ++ ${{ matrix.prefix }}-expat ++ ${{ matrix.prefix }}-bzip2 ++ ${{ matrix.prefix }}-libffi ++ ${{ matrix.prefix }}-mpdecimal ++ ${{ matrix.prefix }}-ncurses ++ ${{ matrix.prefix }}-openssl ++ ${{ matrix.prefix }}-sqlite3 ++ ${{ matrix.prefix }}-tcl ++ ${{ matrix.prefix }}-tk ++ ${{ matrix.prefix }}-zlib ++ ${{ matrix.prefix }}-xz ++ ${{ matrix.prefix }}-tzdata ++ ++ - name: Build Python ++ shell: msys2 {0} ++ run: | ++ set -ex ++ ++ if [ ${{ matrix.msystem }} == "CLANG64" ] ++ then ++ export CC=clang ++ export CXX=clang++ ++ fi ++ autoreconf -vfi ++ ++ rm -Rf _build && mkdir _build && cd _build ++ ++ ../configure \ ++ --prefix=${MINGW_PREFIX} \ ++ --host=${MINGW_CHOST} \ ++ --build=${MINGW_CHOST} \ ++ --enable-shared \ ++ --with-system-expat \ ++ --with-system-ffi \ ++ --with-system-libmpdec \ ++ --without-ensurepip \ ++ --without-c-locale-coercion \ ++ --enable-loadable-sqlite-extensions \ ++ --with-tzpath=${MINGW_PREFIX}/share/zoneinfo \ ++ --enable-optimizations ++ ++ make -j8 ++ ++ - name: Run Smoke Test (build) ++ shell: msys2 {0} ++ run: | ++ SMOKETESTS="$(pwd)/mingw_smoketests.py" ++ cd _build ++ ./python.exe "$SMOKETESTS" ++ MSYSTEM= ./python.exe "$SMOKETESTS" ++ ++ - name: Run tests ++ shell: msys2 {0} ++ run: | ++ IGNOREFILE="$(pwd)/mingw_ignorefile.txt" ++ cd _build ++ MSYSTEM= ./python.exe -m test -j8 --ignorefile "$IGNOREFILE" -W ++ ++ - name: Run broken tests ++ continue-on-error: true ++ shell: msys2 {0} ++ run: | ++ IGNOREFILE="$(pwd)/mingw_ignorefile.txt" ++ cd _build ++ MSYSTEM= ./python.exe -m test -j8 --matchfile "$IGNOREFILE" -W ++ ++ - name: Install ++ shell: msys2 {0} ++ run: | ++ set -ex ++ cd _build ++ ++ pkgdir=python_pkgdir ++ ++ make -j1 install DESTDIR="${pkgdir}" ++ ++ # Fix shebangs ++ _pybasever=$(./python.exe -c "import sys; print(sys.winver);") ++ 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 ++ sed -i "s|#!${pkgdir}${MINGW_PREFIX}/bin/python${_pybasever}.exe|#!/usr/bin/env python${_pybasever}.exe|" "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/config-${_pybasever}/python-config.py ++ ++ # Create version-less aliases ++ 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 ++ ++ - name: Run Smoke Test (installed) ++ shell: msys2 {0} ++ run: | ++ export PYTHONTZPATH="${MINGW_PREFIX}/share/zoneinfo" ++ SMOKETESTS="$(pwd)/mingw_smoketests.py" ++ cd _build ++ cd python_pkgdir/${MINGW_PREFIX}/bin ++ ./python.exe "$SMOKETESTS" ++ MSYSTEM= ./python.exe "$SMOKETESTS" ++ ++ - name: Compress ++ if: always() ++ shell: msys2 {0} ++ run: | ++ cd _build ++ tar -zcf python.tar.gz python_pkgdir/ ++ ++ - name: Upload ++ uses: actions/upload-artifact@v2 ++ if: always() ++ with: ++ name: build-${{ matrix.msystem }} ++ path: _build/python.tar.gz ++ ++ cross: ++ runs-on: ubuntu-latest ++ container: ++ image: archlinux:base-devel ++ steps: ++ - uses: actions/checkout@v2 ++ - name: Install deps ++ run: | ++ pacman --noconfirm -Suuy ++ pacman --needed --noconfirm -S mingw-w64-gcc autoconf-archive autoconf automake python zip ++ ++ - name: Build ++ run: | ++ autoreconf -vfi ++ ++ mkdir _build && cd _build ++ ++ ../configure \ ++ --host=x86_64-w64-mingw32 \ ++ --build=x86_64-pc-linux-gnu \ ++ --enable-shared \ ++ --with-system-expat \ ++ --with-system-ffi \ ++ --with-system-libmpdec \ ++ --without-ensurepip \ ++ --without-c-locale-coercion \ ++ --enable-loadable-sqlite-extensions ++ ++ make -j8 ++ ++ make install DESTDIR="$(pwd)/install" ++ ++ - name: 'Zip files' ++ run: | ++ zip -r install.zip _build/install ++ ++ - name: Upload ++ uses: actions/upload-artifact@v2 ++ with: ++ name: build-cross ++ path: install.zip ++ ++ cross-test: ++ needs: [cross] ++ runs-on: windows-latest ++ steps: ++ - uses: actions/download-artifact@v2 ++ with: ++ name: build-cross ++ ++ - name: 'Run tests' ++ run: | ++ 7z x install.zip ++ ./_build/install/usr/local/bin/python3.exe -c "import sysconfig, pprint; pprint.pprint(sysconfig.get_config_vars())" +diff --git a/mingw_ignorefile.txt b/mingw_ignorefile.txt +new file mode 100644 +index 0000000..dc3802e +--- /dev/null ++++ b/mingw_ignorefile.txt +@@ -0,0 +1,34 @@ ++ctypes.test.test_loading.LoaderTest.test_load_dll_with_flags ++distutils.tests.test_bdist_dumb.BuildDumbTestCase.test_simple_built ++distutils.tests.test_cygwinccompiler.CygwinCCompilerTestCase.test_get_versions ++distutils.tests.test_util.UtilTestCase.test_change_root ++test.datetimetester.TestLocalTimeDisambiguation_Fast.* ++test.datetimetester.TestLocalTimeDisambiguation_Pure.* ++test.test_cmath.CMathTests.test_specific_values ++test.test_cmd_line_script.CmdLineTest.test_consistent_sys_path_for_direct_execution ++test.test_compileall.CommandLineTestsNoSourceEpoch.* ++test.test_compileall.CommandLineTestsWithSourceEpoch.* ++test.test_compileall.CompileallTestsWithoutSourceEpoch.* ++test.test_compileall.CompileallTestsWithSourceEpoch.* ++test.test_import.ImportTests.test_dll_dependency_import ++test.test_math.MathTests.* ++test.test_ntpath.NtCommonTest.test_import ++test.test_os.StatAttributeTests.test_stat_block_device ++test.test_os.TestScandir.test_attributes ++test.test_os.UtimeTests.test_large_time ++test.test_platform.PlatformTest.test_architecture_via_symlink ++test.test_regrtest.ProgramsTestCase.test_pcbuild_rt ++test.test_regrtest.ProgramsTestCase.test_tools_buildbot_test ++test.test_site._pthFileTests.* ++test.test_site.HelperFunctionsTests.* ++test.test_site.StartupImportTests.* ++test.test_ssl.* ++test.test_strptime.CalculationTests.* ++test.test_strptime.StrptimeTests.test_weekday ++test.test_strptime.TimeRETests.test_compile ++test.test_tools.test_i18n.Test_pygettext.test_POT_Creation_Date ++test.test_venv.BasicTest.* ++test.test_venv.EnsurePipTest.* ++# flaky ++test.test__xxsubinterpreters.* ++test.test_asyncio.test_subprocess.SubprocessProactorTests.test_stdin_broken_pipe +\ No newline at end of file +diff --git a/mingw_smoketests.py b/mingw_smoketests.py +new file mode 100644 +index 0000000..70acbd1 +--- /dev/null ++++ b/mingw_smoketests.py +@@ -0,0 +1,310 @@ ++#!/usr/bin/env python3 ++# Copyright 2017 Christoph Reiter ++# ++# Permission is hereby granted, free of charge, to any person obtaining ++# a copy of this software and associated documentation files (the ++# "Software"), to deal in the Software without restriction, including ++# without limitation the rights to use, copy, modify, merge, publish, ++# distribute, sublicense, and/or sell copies of the Software, and to ++# permit persons to whom the Software is furnished to do so, subject to ++# the following conditions: ++# ++# The above copyright notice and this permission notice shall be included ++# in all copies or substantial portions of the Software. ++# ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ++# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY ++# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ++# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ++# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ ++"""The goal of this test suite is collect tests for update regressions ++and to test msys2 related modifications like for path handling. ++Feel free to extend. ++""" ++ ++import os ++import unittest ++import sysconfig ++ ++if "MSYSTEM" in os.environ: ++ SEP = "/" ++else: ++ SEP = "\\" ++ ++_UCRT = "clang" in sysconfig.get_platform() or "ucrt" in sysconfig.get_platform() ++ ++ ++class Tests(unittest.TestCase): ++ ++ def test_zoneinfo(self): ++ # https://github.com/msys2-contrib/cpython-mingw/issues/32 ++ import zoneinfo ++ self.assertTrue(any(os.path.exists(p) for p in zoneinfo.TZPATH)) ++ zoneinfo.ZoneInfo("America/Sao_Paulo") ++ ++ def test_userdir_path_sep(self): ++ # Make sure os.path and pathlib use the same path separators ++ from unittest import mock ++ from os.path import expanduser ++ from pathlib import Path ++ ++ profiles = ["C:\\foo", "C:/foo"] ++ for profile in profiles: ++ with mock.patch.dict(os.environ, {"USERPROFILE": profile}): ++ self.assertEqual(expanduser("~"), os.path.normpath(expanduser("~"))) ++ self.assertEqual(str(Path("~").expanduser()), expanduser("~")) ++ self.assertEqual(str(Path.home()), expanduser("~")) ++ ++ def test_sysconfig_schemes(self): ++ # https://github.com/msys2/MINGW-packages/issues/9319 ++ import sysconfig ++ from distutils.dist import Distribution ++ from distutils.command.install import install ++ ++ names = ['scripts', 'purelib', 'platlib', 'data', 'include'] ++ for scheme in ["nt", "nt_user"]: ++ for name in names: ++ c = install(Distribution({"name": "foobar"})) ++ c.user = (scheme == "nt_user") ++ c.finalize_options() ++ if name == "include": ++ dist_path = os.path.dirname(getattr(c, "install_" + "headers")) ++ else: ++ dist_path = getattr(c, "install_" + name) ++ sys_path = sysconfig.get_path(name, scheme) ++ self.assertEqual(dist_path, sys_path, (scheme, name)) ++ ++ def test_ctypes_find_library(self): ++ from ctypes.util import find_library ++ from ctypes import cdll ++ self.assertTrue(cdll.msvcrt) ++ if _UCRT: ++ self.assertIsNone(find_library('c')) ++ else: ++ self.assertEqual(find_library('c'), 'msvcrt.dll') ++ ++ def test_ctypes_dlopen(self): ++ import ctypes ++ import sys ++ self.assertEqual(ctypes.RTLD_GLOBAL, 0) ++ self.assertEqual(ctypes.RTLD_GLOBAL, ctypes.RTLD_LOCAL) ++ self.assertFalse(hasattr(sys, 'setdlopenflags')) ++ self.assertFalse(hasattr(sys, 'getdlopenflags')) ++ self.assertFalse([n for n in dir(os) if n.startswith("RTLD_")]) ++ ++ def test_time_no_unix_stuff(self): ++ import time ++ self.assertFalse([n for n in dir(time) if n.startswith("clock_")]) ++ self.assertFalse([n for n in dir(time) if n.startswith("CLOCK_")]) ++ self.assertFalse([n for n in dir(time) if n.startswith("pthread_")]) ++ self.assertFalse(hasattr(time, 'tzset')) ++ ++ def test_strftime(self): ++ import time ++ with self.assertRaises(ValueError): ++ time.strftime('%Y', (12345,) + (0,) * 8) ++ ++ def test_sep(self): ++ self.assertEqual(os.sep, SEP) ++ ++ def test_module_file_path(self): ++ import asyncio ++ import zlib ++ self.assertEqual(zlib.__file__, os.path.normpath(zlib.__file__)) ++ self.assertEqual(asyncio.__file__, os.path.normpath(asyncio.__file__)) ++ ++ def test_importlib_frozen_path_sep(self): ++ import importlib._bootstrap_external ++ self.assertEqual(importlib._bootstrap_external.path_sep, SEP) ++ ++ def test_os_commonpath(self): ++ self.assertEqual( ++ os.path.commonpath( ++ [os.path.join("C:", os.sep, "foo", "bar"), ++ os.path.join("C:", os.sep, "foo")]), ++ os.path.join("C:", os.sep, "foo")) ++ ++ def test_pathlib(self): ++ import pathlib ++ ++ p = pathlib.Path("foo") / pathlib.Path("foo") ++ self.assertEqual(str(p), os.path.normpath(p)) ++ ++ def test_modules_import(self): ++ import sqlite3 ++ import ssl ++ import ctypes ++ import curses ++ ++ def test_socket_inet_ntop(self): ++ import socket ++ self.assertTrue(hasattr(socket, "inet_ntop")) ++ ++ def test_socket_inet_pton(self): ++ import socket ++ self.assertTrue(hasattr(socket, "inet_pton")) ++ ++ def test_multiprocessing_queue(self): ++ from multiprocessing import Queue ++ Queue(0) ++ ++ #def test_socket_timout_normal_error(self): ++ # import urllib.request ++ # from urllib.error import URLError ++ ++ # try: ++ # urllib.request.urlopen( ++ # 'http://localhost', timeout=0.0001).close() ++ # except URLError: ++ # pass ++ ++ def test_threads(self): ++ from concurrent.futures import ThreadPoolExecutor ++ ++ with ThreadPoolExecutor(1) as pool: ++ for res in pool.map(lambda *x: None, range(10000)): ++ pass ++ ++ def test_sysconfig(self): ++ import sysconfig ++ # This should be able to execute without exceptions ++ sysconfig.get_config_vars() ++ ++ def test_sqlite_enable_load_extension(self): ++ # Make sure --enable-loadable-sqlite-extensions is used ++ import sqlite3 ++ self.assertTrue(sqlite3.Connection.enable_load_extension) ++ ++ def test_venv_creation(self): ++ import tempfile ++ import venv ++ import subprocess ++ import shutil ++ with tempfile.TemporaryDirectory() as tmp: ++ builder = venv.EnvBuilder() ++ builder.create(tmp) ++ assert os.path.exists(os.path.join(tmp, "bin", "activate")) ++ assert os.path.exists(os.path.join(tmp, "bin", "python.exe")) ++ assert os.path.exists(os.path.join(tmp, "bin", "python3.exe")) ++ subprocess.check_call([shutil.which("bash.exe"), os.path.join(tmp, "bin", "activate")]) ++ ++ def test_has_mktime(self): ++ from time import mktime, gmtime ++ mktime(gmtime()) ++ ++ def test_platform_things(self): ++ import sys ++ import sysconfig ++ import platform ++ import importlib.machinery ++ self.assertEqual(sys.implementation.name, "cpython") ++ self.assertEqual(sys.platform, "win32") ++ self.assertTrue(sysconfig.get_platform().startswith("mingw")) ++ self.assertTrue(sysconfig.get_config_var('SOABI').startswith("cpython-")) ++ ext_suffix = sysconfig.get_config_var('EXT_SUFFIX') ++ self.assertTrue(ext_suffix.endswith(".pyd")) ++ self.assertTrue("mingw" in ext_suffix) ++ self.assertEqual(sysconfig.get_config_var('SHLIB_SUFFIX'), ".pyd") ++ ext_suffixes = importlib.machinery.EXTENSION_SUFFIXES ++ self.assertTrue(ext_suffix in ext_suffixes) ++ self.assertTrue(".pyd" in ext_suffixes) ++ self.assertEqual(sys.winver, ".".join(map(str, sys.version_info[:2]))) ++ self.assertEqual(platform.python_implementation(), "CPython") ++ self.assertEqual(platform.system(), "Windows") ++ self.assertTrue(isinstance(sys.api_version, int) and sys.api_version > 0) ++ ++ def test_c_ext_build(self): ++ import tempfile ++ import sys ++ import subprocess ++ import textwrap ++ from pathlib import Path ++ ++ with tempfile.TemporaryDirectory() as tmppro: ++ subprocess.check_call([sys.executable, "-m", "ensurepip", "--user"]) ++ with Path(tmppro, "setup.py").open("w") as f: ++ f.write( ++ textwrap.dedent( ++ """\ ++ from setuptools import setup, Extension ++ ++ setup( ++ name='cwrapper', ++ version='1.0', ++ ext_modules=[ ++ Extension( ++ 'cwrapper', ++ sources=['cwrapper.c']), ++ ], ++ ) ++ """ ++ ) ++ ) ++ with Path(tmppro, "cwrapper.c").open("w") as f: ++ f.write( ++ textwrap.dedent( ++ """\ ++ #include ++ static PyObject * ++ helloworld(PyObject *self, PyObject *args) ++ { ++ printf("Hello World\\n"); ++ return Py_None; ++ } ++ static PyMethodDef ++ myMethods[] = { ++ { "helloworld", helloworld, METH_NOARGS, "Prints Hello World" }, ++ { NULL, NULL, 0, NULL } ++ }; ++ static struct PyModuleDef cwrapper = { ++ PyModuleDef_HEAD_INIT, ++ "cwrapper", ++ "Test Module", ++ -1, ++ myMethods ++ }; ++ ++ PyMODINIT_FUNC ++ PyInit_cwrapper(void) ++ { ++ return PyModule_Create(&cwrapper); ++ } ++ """ ++ ) ++ ) ++ subprocess.check_call( ++ [sys.executable, "-c", "import struct"], ++ ) ++ subprocess.check_call( ++ [ ++ sys.executable, ++ "-m", ++ "pip", ++ "install", ++ "wheel", ++ ], ++ ) ++ subprocess.check_call( ++ [ ++ sys.executable, ++ "-m", ++ "pip", ++ "install", ++ tmppro, ++ ], ++ ) ++ subprocess.check_call( ++ [sys.executable, "-c", "import cwrapper"], ++ ) ++ ++ ++ ++def suite(): ++ return unittest.TestLoader().loadTestsFromName(__name__) ++ ++ ++if __name__ == '__main__': ++ unittest.main(defaultTest='suite') +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0113-smoketests-test-that-_decimal-exists.patch b/mingw-w64-python3.10/0113-smoketests-test-that-_decimal-exists.patch new file mode 100644 index 0000000000..01876ad603 --- /dev/null +++ b/mingw-w64-python3.10/0113-smoketests-test-that-_decimal-exists.patch @@ -0,0 +1,27 @@ +From c6765ac66cdd2a518beb24fee89bf311c0f44ce5 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Thu, 23 Sep 2021 09:57:56 +0200 +Subject: [PATCH 113/N] smoketests: test that _decimal exists + +Signed-off-by: Naveen M K +--- + mingw_smoketests.py | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/mingw_smoketests.py b/mingw_smoketests.py +index 70acbd1..527aafb 100644 +--- a/mingw_smoketests.py ++++ b/mingw_smoketests.py +@@ -139,6 +139,9 @@ class Tests(unittest.TestCase): + import ctypes + import curses + ++ def test_c_modules_import(self): ++ import _decimal ++ + def test_socket_inet_ntop(self): + import socket + self.assertTrue(hasattr(socket, "inet_ntop")) +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0114-Prefer-sysconfig.python_build.patch b/mingw-w64-python3.10/0114-Prefer-sysconfig.python_build.patch new file mode 100644 index 0000000000..2f2668eca3 --- /dev/null +++ b/mingw-w64-python3.10/0114-Prefer-sysconfig.python_build.patch @@ -0,0 +1,26 @@ +From 210c8cdff32fd39f8b6f1c0093cda49b4816fcd7 Mon Sep 17 00:00:00 2001 +From: Long Nguyen +Date: Fri, 1 Oct 2021 07:28:36 +0700 +Subject: [PATCH 114/N] Prefer sysconfig.python_build + +Signed-off-by: Naveen M K +--- + Lib/distutils/command/build_ext.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py +index 1598735..82a21d2 100644 +--- a/Lib/distutils/command/build_ext.py ++++ b/Lib/distutils/command/build_ext.py +@@ -219,7 +219,7 @@ class build_ext(Command): + # For extensions under Cygwin, Python's library directory must be + # appended to library_dirs + if sys.platform[:6] == 'cygwin' or self.plat_name.startswith(('mingw')): +- if sys.executable.startswith(os.path.join(sys.exec_prefix, "bin")): ++ if not sysconfig.python_build: + # building third party extensions + config_dir_name = os.path.basename(sysconfig.get_config_var('LIBPL')) + self.library_dirs.append(os.path.join(sys.prefix, "lib", +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0115-Define-PY3_DLLNAME-to-fix-build.patch b/mingw-w64-python3.10/0115-Define-PY3_DLLNAME-to-fix-build.patch new file mode 100644 index 0000000000..21cb8df857 --- /dev/null +++ b/mingw-w64-python3.10/0115-Define-PY3_DLLNAME-to-fix-build.patch @@ -0,0 +1,29 @@ +From 5354bf6801cee8770820bc9c0ca187022a0246f4 Mon Sep 17 00:00:00 2001 +From: Naveen M K +Date: Tue, 12 Oct 2021 18:35:21 +0530 +Subject: [PATCH 115/N] Define PY3_DLLNAME to fix build + +PY3_DLLNAME is used in Python/pathconfig.c but isn't +defined. I guess it is useless but it will fix the build. + +Signed-off-by: Naveen M K +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 44e1f74..9538ba6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3961,7 +3961,7 @@ then + *-*-mingw*) + DYNLOADFILE="dynload_win.o" + extra_machdep_objs="$extra_machdep_objs PC/dl_nt.o" +- CFLAGS_NODIST="$CFLAGS_NODIST -DMS_DLL_ID='\"$VERSION\"'" ++ CFLAGS_NODIST="$CFLAGS_NODIST -DMS_DLL_ID='\"$VERSION\"' -DPY3_DLLNAME='\"libpython3.dll\"'" + ;; + esac + fi +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0116-Commit-regenerated-importlib.patch b/mingw-w64-python3.10/0116-Commit-regenerated-importlib.patch new file mode 100644 index 0000000000..3430ec950a --- /dev/null +++ b/mingw-w64-python3.10/0116-Commit-regenerated-importlib.patch @@ -0,0 +1,5509 @@ +From 2ea5fa382996dc48069fb18fe55491fafd8cbeb8 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Fri, 29 Oct 2021 10:16:24 +0200 +Subject: [PATCH 116/N] Commit regenerated importlib + +It needs a native Python when building which isn't available when cross compiling + +Generated using "make regen-importlib" with line endings normalized. + +Signed-off-by: Naveen M K +--- + Python/importlib_external.h | 5443 ++++++++++++++++++----------------- + 1 file changed, 2723 insertions(+), 2720 deletions(-) + +diff --git a/Python/importlib_external.h b/Python/importlib_external.h +index 01fdef7..197d525 100644 +--- a/Python/importlib_external.h ++++ b/Python/importlib_external.h +@@ -1,817 +1,752 @@ + /* Auto-generated by Programs/_freeze_importlib.c */ + const unsigned char _Py_M__importlib_bootstrap_external[] = { + 99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +- 0,5,0,0,0,64,0,0,0,115,250,2,0,0,100,0, ++ 0,5,0,0,0,64,0,0,0,115,18,3,0,0,100,0, + 90,0,100,1,97,1,100,2,100,1,108,2,90,2,100,2, + 100,1,108,3,90,3,100,2,100,1,108,4,90,4,100,2, + 100,1,108,5,90,5,100,2,100,1,108,6,90,6,101,4, + 106,7,100,3,107,2,90,8,101,8,114,40,100,2,100,1, + 108,9,90,10,100,2,100,1,108,11,90,11,110,4,100,2, + 100,1,108,12,90,10,101,8,114,51,100,4,100,5,103,2, +- 90,13,110,3,100,5,103,1,90,13,101,14,100,6,100,7, +- 132,0,101,13,68,0,131,1,131,1,115,65,74,0,130,1, +- 101,13,100,2,25,0,90,15,101,16,101,13,131,1,90,17, +- 100,8,160,18,101,13,161,1,90,13,100,9,100,10,132,0, +- 101,13,68,0,131,1,90,19,100,11,90,20,100,12,90,21, +- 101,21,101,20,23,0,90,22,100,13,100,14,132,0,90,23, +- 101,23,131,0,90,24,100,15,100,16,132,0,90,25,100,17, +- 100,18,132,0,90,26,100,19,100,20,132,0,90,27,101,8, +- 114,119,100,21,100,22,132,0,90,28,110,4,100,23,100,22, +- 132,0,90,28,100,24,100,25,132,0,90,29,100,26,100,27, ++ 90,13,110,3,100,5,103,1,90,13,100,6,101,10,106,14, ++ 118,0,114,66,101,13,100,1,100,1,100,7,133,3,25,0, ++ 90,13,101,15,100,8,100,9,132,0,101,13,68,0,131,1, ++ 131,1,115,77,74,0,130,1,101,13,100,2,25,0,90,16, ++ 101,17,101,13,131,1,90,18,100,10,160,19,101,13,161,1, ++ 90,13,100,11,100,12,132,0,101,13,68,0,131,1,90,20, ++ 100,13,90,21,100,14,90,22,101,22,101,21,23,0,90,23, ++ 100,15,100,16,132,0,90,24,101,24,131,0,90,25,100,17, ++ 100,18,132,0,90,26,100,19,100,20,132,0,90,27,100,21, ++ 100,22,132,0,90,28,101,8,114,131,100,23,100,24,132,0, ++ 90,29,110,4,100,25,100,24,132,0,90,29,100,26,100,27, + 132,0,90,30,100,28,100,29,132,0,90,31,100,30,100,31, +- 132,0,90,32,100,32,100,33,132,0,90,33,101,8,114,150, +- 100,34,100,35,132,0,90,34,110,4,100,36,100,35,132,0, +- 90,34,100,112,100,38,100,39,132,1,90,35,101,36,101,35, +- 106,37,131,1,90,38,100,40,160,39,100,41,100,42,161,2, +- 100,43,23,0,90,40,101,41,160,42,101,40,100,42,161,2, +- 90,43,100,44,90,44,100,45,90,45,100,46,103,1,90,46, +- 101,8,114,192,101,46,160,47,100,47,161,1,1,0,101,2, +- 160,48,161,0,90,49,100,48,103,1,90,50,101,50,4,0, +- 90,51,90,52,100,113,100,1,100,49,156,1,100,50,100,51, +- 132,3,90,53,100,52,100,53,132,0,90,54,100,54,100,55, ++ 132,0,90,32,100,32,100,33,132,0,90,33,100,34,100,35, ++ 132,0,90,34,101,8,114,162,100,36,100,37,132,0,90,35, ++ 110,4,100,38,100,37,132,0,90,35,100,114,100,40,100,41, ++ 132,1,90,36,101,37,101,36,106,38,131,1,90,39,100,42, ++ 160,40,100,43,100,44,161,2,100,45,23,0,90,41,101,42, ++ 160,43,101,41,100,44,161,2,90,44,100,46,90,45,100,47, ++ 90,46,100,48,103,1,90,47,101,8,114,204,101,47,160,48, ++ 100,49,161,1,1,0,101,2,160,49,161,0,90,50,100,50, ++ 103,1,90,51,101,51,4,0,90,52,90,53,100,115,100,1, ++ 100,51,156,1,100,52,100,53,132,3,90,54,100,54,100,55, + 132,0,90,55,100,56,100,57,132,0,90,56,100,58,100,59, + 132,0,90,57,100,60,100,61,132,0,90,58,100,62,100,63, + 132,0,90,59,100,64,100,65,132,0,90,60,100,66,100,67, +- 132,0,90,61,100,68,100,69,132,0,90,62,100,114,100,70, +- 100,71,132,1,90,63,100,115,100,72,100,73,132,1,90,64, +- 100,116,100,75,100,76,132,1,90,65,100,77,100,78,132,0, +- 90,66,101,67,131,0,90,68,100,113,100,1,101,68,100,79, +- 156,2,100,80,100,81,132,3,90,69,71,0,100,82,100,83, +- 132,0,100,83,131,2,90,70,71,0,100,84,100,85,132,0, +- 100,85,131,2,90,71,71,0,100,86,100,87,132,0,100,87, +- 101,71,131,3,90,72,71,0,100,88,100,89,132,0,100,89, +- 131,2,90,73,71,0,100,90,100,91,132,0,100,91,101,73, +- 101,72,131,4,90,74,71,0,100,92,100,93,132,0,100,93, +- 101,73,101,71,131,4,90,75,71,0,100,94,100,95,132,0, +- 100,95,101,73,101,71,131,4,90,76,71,0,100,96,100,97, +- 132,0,100,97,131,2,90,77,71,0,100,98,100,99,132,0, +- 100,99,131,2,90,78,71,0,100,100,100,101,132,0,100,101, +- 131,2,90,79,71,0,100,102,100,103,132,0,100,103,131,2, +- 90,80,100,113,100,104,100,105,132,1,90,81,100,106,100,107, +- 132,0,90,82,100,108,100,109,132,0,90,83,100,110,100,111, +- 132,0,90,84,100,1,83,0,41,117,97,94,1,0,0,67, +- 111,114,101,32,105,109,112,108,101,109,101,110,116,97,116,105, +- 111,110,32,111,102,32,112,97,116,104,45,98,97,115,101,100, +- 32,105,109,112,111,114,116,46,10,10,84,104,105,115,32,109, +- 111,100,117,108,101,32,105,115,32,78,79,84,32,109,101,97, +- 110,116,32,116,111,32,98,101,32,100,105,114,101,99,116,108, +- 121,32,105,109,112,111,114,116,101,100,33,32,73,116,32,104, +- 97,115,32,98,101,101,110,32,100,101,115,105,103,110,101,100, +- 32,115,117,99,104,10,116,104,97,116,32,105,116,32,99,97, +- 110,32,98,101,32,98,111,111,116,115,116,114,97,112,112,101, +- 100,32,105,110,116,111,32,80,121,116,104,111,110,32,97,115, +- 32,116,104,101,32,105,109,112,108,101,109,101,110,116,97,116, +- 105,111,110,32,111,102,32,105,109,112,111,114,116,46,32,65, +- 115,10,115,117,99,104,32,105,116,32,114,101,113,117,105,114, +- 101,115,32,116,104,101,32,105,110,106,101,99,116,105,111,110, +- 32,111,102,32,115,112,101,99,105,102,105,99,32,109,111,100, +- 117,108,101,115,32,97,110,100,32,97,116,116,114,105,98,117, +- 116,101,115,32,105,110,32,111,114,100,101,114,32,116,111,10, +- 119,111,114,107,46,32,79,110,101,32,115,104,111,117,108,100, +- 32,117,115,101,32,105,109,112,111,114,116,108,105,98,32,97, +- 115,32,116,104,101,32,112,117,98,108,105,99,45,102,97,99, +- 105,110,103,32,118,101,114,115,105,111,110,32,111,102,32,116, +- 104,105,115,32,109,111,100,117,108,101,46,10,10,78,233,0, +- 0,0,0,90,5,119,105,110,51,50,250,1,92,250,1,47, +- 99,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +- 0,3,0,0,0,99,0,0,0,115,28,0,0,0,129,0, +- 124,0,93,9,125,1,116,0,124,1,131,1,100,0,107,2, +- 86,0,1,0,113,2,100,1,83,0,41,2,233,1,0,0, +- 0,78,41,1,218,3,108,101,110,41,2,218,2,46,48,218, +- 3,115,101,112,169,0,114,7,0,0,0,250,38,60,102,114, +- 111,122,101,110,32,105,109,112,111,114,116,108,105,98,46,95, +- 98,111,111,116,115,116,114,97,112,95,101,120,116,101,114,110, +- 97,108,62,218,9,60,103,101,110,101,120,112,114,62,46,0, +- 0,0,115,4,0,0,0,2,128,26,0,114,9,0,0,0, +- 218,0,99,1,0,0,0,0,0,0,0,0,0,0,0,2, +- 0,0,0,4,0,0,0,67,0,0,0,115,22,0,0,0, +- 104,0,124,0,93,7,125,1,100,0,124,1,155,0,157,2, +- 146,2,113,2,83,0,41,1,250,1,58,114,7,0,0,0, +- 41,2,114,5,0,0,0,218,1,115,114,7,0,0,0,114, +- 7,0,0,0,114,8,0,0,0,218,9,60,115,101,116,99, +- 111,109,112,62,50,0,0,0,115,2,0,0,0,22,0,114, +- 13,0,0,0,41,1,218,3,119,105,110,41,2,90,6,99, +- 121,103,119,105,110,90,6,100,97,114,119,105,110,99,0,0, +- 0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0, +- 0,0,3,0,0,0,115,62,0,0,0,116,0,106,1,160, +- 2,116,3,161,1,114,25,116,0,106,1,160,2,116,4,161, +- 1,114,15,100,1,137,0,110,2,100,2,137,0,135,0,102, +- 1,100,3,100,4,132,8,125,0,124,0,83,0,100,5,100, +- 4,132,0,125,0,124,0,83,0,41,6,78,90,12,80,89, +- 84,72,79,78,67,65,83,69,79,75,115,12,0,0,0,80, +- 89,84,72,79,78,67,65,83,69,79,75,99,0,0,0,0, +- 0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, +- 19,0,0,0,115,20,0,0,0,116,0,106,1,106,2,12, +- 0,111,9,136,0,116,3,106,4,118,0,83,0,41,2,122, +- 94,84,114,117,101,32,105,102,32,102,105,108,101,110,97,109, ++ 132,0,90,61,100,68,100,69,132,0,90,62,100,70,100,71, ++ 132,0,90,63,100,116,100,72,100,73,132,1,90,64,100,117, ++ 100,74,100,75,132,1,90,65,100,118,100,77,100,78,132,1, ++ 90,66,100,79,100,80,132,0,90,67,101,68,131,0,90,69, ++ 100,115,100,1,101,69,100,81,156,2,100,82,100,83,132,3, ++ 90,70,71,0,100,84,100,85,132,0,100,85,131,2,90,71, ++ 71,0,100,86,100,87,132,0,100,87,131,2,90,72,71,0, ++ 100,88,100,89,132,0,100,89,101,72,131,3,90,73,71,0, ++ 100,90,100,91,132,0,100,91,131,2,90,74,71,0,100,92, ++ 100,93,132,0,100,93,101,74,101,73,131,4,90,75,71,0, ++ 100,94,100,95,132,0,100,95,101,74,101,72,131,4,90,76, ++ 71,0,100,96,100,97,132,0,100,97,101,74,101,72,131,4, ++ 90,77,71,0,100,98,100,99,132,0,100,99,131,2,90,78, ++ 71,0,100,100,100,101,132,0,100,101,131,2,90,79,71,0, ++ 100,102,100,103,132,0,100,103,131,2,90,80,71,0,100,104, ++ 100,105,132,0,100,105,131,2,90,81,100,115,100,106,100,107, ++ 132,1,90,82,100,108,100,109,132,0,90,83,100,110,100,111, ++ 132,0,90,84,100,112,100,113,132,0,90,85,100,1,83,0, ++ 41,119,97,94,1,0,0,67,111,114,101,32,105,109,112,108, ++ 101,109,101,110,116,97,116,105,111,110,32,111,102,32,112,97, ++ 116,104,45,98,97,115,101,100,32,105,109,112,111,114,116,46, ++ 10,10,84,104,105,115,32,109,111,100,117,108,101,32,105,115, ++ 32,78,79,84,32,109,101,97,110,116,32,116,111,32,98,101, ++ 32,100,105,114,101,99,116,108,121,32,105,109,112,111,114,116, ++ 101,100,33,32,73,116,32,104,97,115,32,98,101,101,110,32, ++ 100,101,115,105,103,110,101,100,32,115,117,99,104,10,116,104, ++ 97,116,32,105,116,32,99,97,110,32,98,101,32,98,111,111, ++ 116,115,116,114,97,112,112,101,100,32,105,110,116,111,32,80, ++ 121,116,104,111,110,32,97,115,32,116,104,101,32,105,109,112, ++ 108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,105, ++ 109,112,111,114,116,46,32,65,115,10,115,117,99,104,32,105, ++ 116,32,114,101,113,117,105,114,101,115,32,116,104,101,32,105, ++ 110,106,101,99,116,105,111,110,32,111,102,32,115,112,101,99, ++ 105,102,105,99,32,109,111,100,117,108,101,115,32,97,110,100, ++ 32,97,116,116,114,105,98,117,116,101,115,32,105,110,32,111, ++ 114,100,101,114,32,116,111,10,119,111,114,107,46,32,79,110, ++ 101,32,115,104,111,117,108,100,32,117,115,101,32,105,109,112, ++ 111,114,116,108,105,98,32,97,115,32,116,104,101,32,112,117, ++ 98,108,105,99,45,102,97,99,105,110,103,32,118,101,114,115, ++ 105,111,110,32,111,102,32,116,104,105,115,32,109,111,100,117, ++ 108,101,46,10,10,78,233,0,0,0,0,90,5,119,105,110, ++ 51,50,250,1,92,250,1,47,90,7,77,83,89,83,84,69, ++ 77,233,255,255,255,255,99,1,0,0,0,0,0,0,0,0, ++ 0,0,0,2,0,0,0,3,0,0,0,99,0,0,0,115, ++ 28,0,0,0,129,0,124,0,93,9,125,1,116,0,124,1, ++ 131,1,100,0,107,2,86,0,1,0,113,2,100,1,83,0, ++ 41,2,233,1,0,0,0,78,41,1,218,3,108,101,110,41, ++ 2,218,2,46,48,218,3,115,101,112,169,0,114,8,0,0, ++ 0,250,38,60,102,114,111,122,101,110,32,105,109,112,111,114, ++ 116,108,105,98,46,95,98,111,111,116,115,116,114,97,112,95, ++ 101,120,116,101,114,110,97,108,62,218,9,60,103,101,110,101, ++ 120,112,114,62,50,0,0,0,115,4,0,0,0,2,128,26, ++ 0,114,10,0,0,0,218,0,99,1,0,0,0,0,0,0, ++ 0,0,0,0,0,2,0,0,0,4,0,0,0,67,0,0, ++ 0,115,22,0,0,0,104,0,124,0,93,7,125,1,100,0, ++ 124,1,155,0,157,2,146,2,113,2,83,0,41,1,250,1, ++ 58,114,8,0,0,0,41,2,114,6,0,0,0,218,1,115, ++ 114,8,0,0,0,114,8,0,0,0,114,9,0,0,0,218, ++ 9,60,115,101,116,99,111,109,112,62,54,0,0,0,115,2, ++ 0,0,0,22,0,114,14,0,0,0,41,1,218,3,119,105, ++ 110,41,2,90,6,99,121,103,119,105,110,90,6,100,97,114, ++ 119,105,110,99,0,0,0,0,0,0,0,0,0,0,0,0, ++ 1,0,0,0,3,0,0,0,3,0,0,0,115,62,0,0, ++ 0,116,0,106,1,160,2,116,3,161,1,114,25,116,0,106, ++ 1,160,2,116,4,161,1,114,15,100,1,137,0,110,2,100, ++ 2,137,0,135,0,102,1,100,3,100,4,132,8,125,0,124, ++ 0,83,0,100,5,100,4,132,0,125,0,124,0,83,0,41, ++ 6,78,90,12,80,89,84,72,79,78,67,65,83,69,79,75, ++ 115,12,0,0,0,80,89,84,72,79,78,67,65,83,69,79, ++ 75,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,2,0,0,0,19,0,0,0,115,20,0,0,0,116, ++ 0,106,1,106,2,12,0,111,9,136,0,116,3,106,4,118, ++ 0,83,0,41,2,122,94,84,114,117,101,32,105,102,32,102, ++ 105,108,101,110,97,109,101,115,32,109,117,115,116,32,98,101, ++ 32,99,104,101,99,107,101,100,32,99,97,115,101,45,105,110, ++ 115,101,110,115,105,116,105,118,101,108,121,32,97,110,100,32, ++ 105,103,110,111,114,101,32,101,110,118,105,114,111,110,109,101, ++ 110,116,32,102,108,97,103,115,32,97,114,101,32,110,111,116, ++ 32,115,101,116,46,78,41,5,218,3,115,121,115,218,5,102, ++ 108,97,103,115,218,18,105,103,110,111,114,101,95,101,110,118, ++ 105,114,111,110,109,101,110,116,218,3,95,111,115,218,7,101, ++ 110,118,105,114,111,110,114,8,0,0,0,169,1,218,3,107, ++ 101,121,114,8,0,0,0,114,9,0,0,0,218,11,95,114, ++ 101,108,97,120,95,99,97,115,101,71,0,0,0,243,2,0, ++ 0,0,20,2,122,37,95,109,97,107,101,95,114,101,108,97, ++ 120,95,99,97,115,101,46,60,108,111,99,97,108,115,62,46, ++ 95,114,101,108,97,120,95,99,97,115,101,99,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, ++ 83,0,0,0,243,4,0,0,0,100,1,83,0,41,3,122, ++ 53,84,114,117,101,32,105,102,32,102,105,108,101,110,97,109, + 101,115,32,109,117,115,116,32,98,101,32,99,104,101,99,107, + 101,100,32,99,97,115,101,45,105,110,115,101,110,115,105,116, +- 105,118,101,108,121,32,97,110,100,32,105,103,110,111,114,101, +- 32,101,110,118,105,114,111,110,109,101,110,116,32,102,108,97, +- 103,115,32,97,114,101,32,110,111,116,32,115,101,116,46,78, +- 41,5,218,3,115,121,115,218,5,102,108,97,103,115,218,18, +- 105,103,110,111,114,101,95,101,110,118,105,114,111,110,109,101, +- 110,116,218,3,95,111,115,90,7,101,110,118,105,114,111,110, +- 114,7,0,0,0,169,1,218,3,107,101,121,114,7,0,0, +- 0,114,8,0,0,0,218,11,95,114,101,108,97,120,95,99, +- 97,115,101,67,0,0,0,243,2,0,0,0,20,2,122,37, +- 95,109,97,107,101,95,114,101,108,97,120,95,99,97,115,101, +- 46,60,108,111,99,97,108,115,62,46,95,114,101,108,97,120, +- 95,99,97,115,101,99,0,0,0,0,0,0,0,0,0,0, +- 0,0,0,0,0,0,1,0,0,0,83,0,0,0,243,4, +- 0,0,0,100,1,83,0,41,3,122,53,84,114,117,101,32, +- 105,102,32,102,105,108,101,110,97,109,101,115,32,109,117,115, +- 116,32,98,101,32,99,104,101,99,107,101,100,32,99,97,115, +- 101,45,105,110,115,101,110,115,105,116,105,118,101,108,121,46, +- 70,78,114,7,0,0,0,114,7,0,0,0,114,7,0,0, +- 0,114,7,0,0,0,114,8,0,0,0,114,21,0,0,0, +- 71,0,0,0,243,2,0,0,0,4,2,41,5,114,15,0, +- 0,0,218,8,112,108,97,116,102,111,114,109,218,10,115,116, +- 97,114,116,115,119,105,116,104,218,27,95,67,65,83,69,95, +- 73,78,83,69,78,83,73,84,73,86,69,95,80,76,65,84, +- 70,79,82,77,83,218,35,95,67,65,83,69,95,73,78,83, +- 69,78,83,73,84,73,86,69,95,80,76,65,84,70,79,82, +- 77,83,95,83,84,82,95,75,69,89,41,1,114,21,0,0, +- 0,114,7,0,0,0,114,19,0,0,0,114,8,0,0,0, +- 218,16,95,109,97,107,101,95,114,101,108,97,120,95,99,97, +- 115,101,60,0,0,0,115,16,0,0,0,12,1,12,1,6, +- 1,4,2,12,2,4,7,8,253,4,3,114,29,0,0,0, ++ 105,118,101,108,121,46,70,78,114,8,0,0,0,114,8,0, ++ 0,0,114,8,0,0,0,114,8,0,0,0,114,9,0,0, ++ 0,114,23,0,0,0,75,0,0,0,243,2,0,0,0,4, ++ 2,41,5,114,16,0,0,0,218,8,112,108,97,116,102,111, ++ 114,109,218,10,115,116,97,114,116,115,119,105,116,104,218,27, ++ 95,67,65,83,69,95,73,78,83,69,78,83,73,84,73,86, ++ 69,95,80,76,65,84,70,79,82,77,83,218,35,95,67,65, ++ 83,69,95,73,78,83,69,78,83,73,84,73,86,69,95,80, ++ 76,65,84,70,79,82,77,83,95,83,84,82,95,75,69,89, ++ 41,1,114,23,0,0,0,114,8,0,0,0,114,21,0,0, ++ 0,114,9,0,0,0,218,16,95,109,97,107,101,95,114,101, ++ 108,97,120,95,99,97,115,101,64,0,0,0,115,16,0,0, ++ 0,12,1,12,1,6,1,4,2,12,2,4,7,8,253,4, ++ 3,114,31,0,0,0,99,1,0,0,0,0,0,0,0,0, ++ 0,0,0,1,0,0,0,4,0,0,0,67,0,0,0,115, ++ 20,0,0,0,116,0,124,0,131,1,100,1,64,0,160,1, ++ 100,2,100,3,161,2,83,0,41,5,122,42,67,111,110,118, ++ 101,114,116,32,97,32,51,50,45,98,105,116,32,105,110,116, ++ 101,103,101,114,32,116,111,32,108,105,116,116,108,101,45,101, ++ 110,100,105,97,110,46,236,3,0,0,0,255,127,255,127,3, ++ 0,233,4,0,0,0,218,6,108,105,116,116,108,101,78,41, ++ 2,218,3,105,110,116,218,8,116,111,95,98,121,116,101,115, ++ 41,1,218,1,120,114,8,0,0,0,114,8,0,0,0,114, ++ 9,0,0,0,218,12,95,112,97,99,107,95,117,105,110,116, ++ 51,50,83,0,0,0,114,24,0,0,0,114,38,0,0,0, + 99,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +- 0,4,0,0,0,67,0,0,0,115,20,0,0,0,116,0, +- 124,0,131,1,100,1,64,0,160,1,100,2,100,3,161,2, +- 83,0,41,5,122,42,67,111,110,118,101,114,116,32,97,32, +- 51,50,45,98,105,116,32,105,110,116,101,103,101,114,32,116, +- 111,32,108,105,116,116,108,101,45,101,110,100,105,97,110,46, +- 236,3,0,0,0,255,127,255,127,3,0,233,4,0,0,0, +- 218,6,108,105,116,116,108,101,78,41,2,218,3,105,110,116, +- 218,8,116,111,95,98,121,116,101,115,41,1,218,1,120,114, +- 7,0,0,0,114,7,0,0,0,114,8,0,0,0,218,12, +- 95,112,97,99,107,95,117,105,110,116,51,50,79,0,0,0, +- 114,22,0,0,0,114,36,0,0,0,99,1,0,0,0,0, +- 0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,67, +- 0,0,0,243,28,0,0,0,116,0,124,0,131,1,100,1, +- 107,2,115,8,74,0,130,1,116,1,160,2,124,0,100,2, +- 161,2,83,0,41,4,122,47,67,111,110,118,101,114,116,32, +- 52,32,98,121,116,101,115,32,105,110,32,108,105,116,116,108, +- 101,45,101,110,100,105,97,110,32,116,111,32,97,110,32,105, +- 110,116,101,103,101,114,46,114,31,0,0,0,114,32,0,0, +- 0,78,169,3,114,4,0,0,0,114,33,0,0,0,218,10, +- 102,114,111,109,95,98,121,116,101,115,169,1,218,4,100,97, +- 116,97,114,7,0,0,0,114,7,0,0,0,114,8,0,0, +- 0,218,14,95,117,110,112,97,99,107,95,117,105,110,116,51, +- 50,84,0,0,0,243,4,0,0,0,16,2,12,1,114,42, +- 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, +- 1,0,0,0,4,0,0,0,67,0,0,0,114,37,0,0, +- 0,41,4,122,47,67,111,110,118,101,114,116,32,50,32,98, +- 121,116,101,115,32,105,110,32,108,105,116,116,108,101,45,101, +- 110,100,105,97,110,32,116,111,32,97,110,32,105,110,116,101, +- 103,101,114,46,233,2,0,0,0,114,32,0,0,0,78,114, +- 38,0,0,0,114,40,0,0,0,114,7,0,0,0,114,7, +- 0,0,0,114,8,0,0,0,218,14,95,117,110,112,97,99, +- 107,95,117,105,110,116,49,54,89,0,0,0,114,43,0,0, +- 0,114,45,0,0,0,99,0,0,0,0,0,0,0,0,0, +- 0,0,0,5,0,0,0,4,0,0,0,71,0,0,0,115, +- 228,0,0,0,124,0,115,4,100,1,83,0,116,0,124,0, +- 131,1,100,2,107,2,114,14,124,0,100,3,25,0,83,0, +- 100,1,125,1,103,0,125,2,116,1,116,2,106,3,124,0, +- 131,2,68,0,93,61,92,2,125,3,125,4,124,3,160,4, +- 116,5,161,1,115,38,124,3,160,6,116,5,161,1,114,51, +- 124,3,160,7,116,8,161,1,112,44,124,1,125,1,116,9, +- 124,4,23,0,103,1,125,2,113,24,124,3,160,6,100,4, +- 161,1,114,76,124,1,160,10,161,0,124,3,160,10,161,0, +- 107,3,114,70,124,3,125,1,124,4,103,1,125,2,113,24, +- 124,2,160,11,124,4,161,1,1,0,113,24,124,3,112,79, +- 124,1,125,1,124,2,160,11,124,4,161,1,1,0,113,24, +- 100,5,100,6,132,0,124,2,68,0,131,1,125,2,116,0, +- 124,2,131,1,100,2,107,2,114,107,124,2,100,3,25,0, +- 115,107,124,1,116,9,23,0,83,0,124,1,116,9,160,12, +- 124,2,161,1,23,0,83,0,41,8,250,31,82,101,112,108, +- 97,99,101,109,101,110,116,32,102,111,114,32,111,115,46,112, +- 97,116,104,46,106,111,105,110,40,41,46,114,10,0,0,0, +- 114,3,0,0,0,114,0,0,0,0,114,11,0,0,0,99, +- 1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, +- 5,0,0,0,83,0,0,0,243,26,0,0,0,103,0,124, +- 0,93,9,125,1,124,1,114,2,124,1,160,0,116,1,161, +- 1,145,2,113,2,83,0,114,7,0,0,0,169,2,218,6, +- 114,115,116,114,105,112,218,15,112,97,116,104,95,115,101,112, +- 97,114,97,116,111,114,115,169,2,114,5,0,0,0,218,1, +- 112,114,7,0,0,0,114,7,0,0,0,114,8,0,0,0, +- 218,10,60,108,105,115,116,99,111,109,112,62,119,0,0,0, +- 115,2,0,0,0,26,0,250,30,95,112,97,116,104,95,106, +- 111,105,110,46,60,108,111,99,97,108,115,62,46,60,108,105, +- 115,116,99,111,109,112,62,78,41,13,114,4,0,0,0,218, +- 3,109,97,112,114,18,0,0,0,218,15,95,112,97,116,104, +- 95,115,112,108,105,116,114,111,111,116,114,26,0,0,0,218, +- 14,112,97,116,104,95,115,101,112,95,116,117,112,108,101,218, +- 8,101,110,100,115,119,105,116,104,114,49,0,0,0,114,50, +- 0,0,0,218,8,112,97,116,104,95,115,101,112,218,8,99, +- 97,115,101,102,111,108,100,218,6,97,112,112,101,110,100,218, +- 4,106,111,105,110,41,5,218,10,112,97,116,104,95,112,97, +- 114,116,115,218,4,114,111,111,116,218,4,112,97,116,104,90, +- 8,110,101,119,95,114,111,111,116,218,4,116,97,105,108,114, +- 7,0,0,0,114,7,0,0,0,114,8,0,0,0,218,10, +- 95,112,97,116,104,95,106,111,105,110,96,0,0,0,115,42, +- 0,0,0,4,2,4,1,12,1,8,1,4,1,4,1,20, +- 1,20,1,14,1,12,1,10,1,16,1,4,3,8,1,12, +- 2,8,2,12,1,14,1,20,1,8,2,14,1,114,67,0, +- 0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,1, +- 0,0,0,4,0,0,0,71,0,0,0,115,20,0,0,0, +- 116,0,160,1,100,1,100,2,132,0,124,0,68,0,131,1, +- 161,1,83,0,41,4,114,46,0,0,0,99,1,0,0,0, +- 0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0, +- 83,0,0,0,114,47,0,0,0,114,7,0,0,0,114,48, +- 0,0,0,41,2,114,5,0,0,0,218,4,112,97,114,116, +- 114,7,0,0,0,114,7,0,0,0,114,8,0,0,0,114, +- 53,0,0,0,128,0,0,0,115,6,0,0,0,6,0,4, +- 1,16,255,114,54,0,0,0,78,41,2,114,59,0,0,0, +- 114,62,0,0,0,41,1,114,63,0,0,0,114,7,0,0, +- 0,114,7,0,0,0,114,8,0,0,0,114,67,0,0,0, +- 126,0,0,0,115,6,0,0,0,10,2,2,1,8,255,99, +- 1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, +- 4,0,0,0,3,0,0,0,115,66,0,0,0,116,0,135, +- 0,102,1,100,1,100,2,132,8,116,1,68,0,131,1,131, +- 1,125,1,124,1,100,3,107,0,114,19,100,4,136,0,102, +- 2,83,0,136,0,100,5,124,1,133,2,25,0,136,0,124, +- 1,100,6,23,0,100,5,133,2,25,0,102,2,83,0,41, +- 7,122,32,82,101,112,108,97,99,101,109,101,110,116,32,102, +- 111,114,32,111,115,46,112,97,116,104,46,115,112,108,105,116, +- 40,41,46,99,1,0,0,0,0,0,0,0,0,0,0,0, +- 2,0,0,0,4,0,0,0,51,0,0,0,115,26,0,0, +- 0,129,0,124,0,93,8,125,1,136,0,160,0,124,1,161, +- 1,86,0,1,0,113,2,100,0,83,0,169,1,78,41,1, +- 218,5,114,102,105,110,100,114,51,0,0,0,169,1,114,65, +- 0,0,0,114,7,0,0,0,114,8,0,0,0,114,9,0, +- 0,0,134,0,0,0,115,4,0,0,0,2,128,24,0,122, +- 30,95,112,97,116,104,95,115,112,108,105,116,46,60,108,111, +- 99,97,108,115,62,46,60,103,101,110,101,120,112,114,62,114, +- 0,0,0,0,114,10,0,0,0,78,114,3,0,0,0,41, +- 2,218,3,109,97,120,114,50,0,0,0,41,2,114,65,0, +- 0,0,218,1,105,114,7,0,0,0,114,71,0,0,0,114, +- 8,0,0,0,218,11,95,112,97,116,104,95,115,112,108,105, +- 116,132,0,0,0,115,8,0,0,0,22,2,8,1,8,1, +- 28,1,114,74,0,0,0,99,1,0,0,0,0,0,0,0, +- 0,0,0,0,1,0,0,0,3,0,0,0,67,0,0,0, +- 115,10,0,0,0,116,0,160,1,124,0,161,1,83,0,41, +- 2,122,126,83,116,97,116,32,116,104,101,32,112,97,116,104, +- 46,10,10,32,32,32,32,77,97,100,101,32,97,32,115,101, +- 112,97,114,97,116,101,32,102,117,110,99,116,105,111,110,32, +- 116,111,32,109,97,107,101,32,105,116,32,101,97,115,105,101, +- 114,32,116,111,32,111,118,101,114,114,105,100,101,32,105,110, +- 32,101,120,112,101,114,105,109,101,110,116,115,10,32,32,32, +- 32,40,101,46,103,46,32,99,97,99,104,101,32,115,116,97, +- 116,32,114,101,115,117,108,116,115,41,46,10,10,32,32,32, +- 32,78,41,2,114,18,0,0,0,90,4,115,116,97,116,114, +- 71,0,0,0,114,7,0,0,0,114,7,0,0,0,114,8, +- 0,0,0,218,10,95,112,97,116,104,95,115,116,97,116,140, +- 0,0,0,115,2,0,0,0,10,7,114,75,0,0,0,99, +- 2,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, +- 8,0,0,0,67,0,0,0,115,48,0,0,0,122,6,116, +- 0,124,0,131,1,125,2,87,0,110,10,4,0,116,1,121, +- 16,1,0,1,0,1,0,89,0,100,1,83,0,119,0,124, +- 2,106,2,100,2,64,0,124,1,107,2,83,0,41,4,122, +- 49,84,101,115,116,32,119,104,101,116,104,101,114,32,116,104, +- 101,32,112,97,116,104,32,105,115,32,116,104,101,32,115,112, +- 101,99,105,102,105,101,100,32,109,111,100,101,32,116,121,112, +- 101,46,70,105,0,240,0,0,78,41,3,114,75,0,0,0, +- 218,7,79,83,69,114,114,111,114,218,7,115,116,95,109,111, +- 100,101,41,3,114,65,0,0,0,218,4,109,111,100,101,90, +- 9,115,116,97,116,95,105,110,102,111,114,7,0,0,0,114, +- 7,0,0,0,114,8,0,0,0,218,18,95,112,97,116,104, +- 95,105,115,95,109,111,100,101,95,116,121,112,101,150,0,0, +- 0,115,12,0,0,0,2,2,12,1,12,1,6,1,2,255, +- 14,2,114,79,0,0,0,99,1,0,0,0,0,0,0,0, +- 0,0,0,0,1,0,0,0,3,0,0,0,67,0,0,0, +- 115,10,0,0,0,116,0,124,0,100,1,131,2,83,0,41, +- 3,122,31,82,101,112,108,97,99,101,109,101,110,116,32,102, +- 111,114,32,111,115,46,112,97,116,104,46,105,115,102,105,108, +- 101,46,105,0,128,0,0,78,41,1,114,79,0,0,0,114, +- 71,0,0,0,114,7,0,0,0,114,7,0,0,0,114,8, +- 0,0,0,218,12,95,112,97,116,104,95,105,115,102,105,108, +- 101,159,0,0,0,243,2,0,0,0,10,2,114,80,0,0, +- 0,99,1,0,0,0,0,0,0,0,0,0,0,0,1,0, +- 0,0,3,0,0,0,67,0,0,0,115,22,0,0,0,124, +- 0,115,6,116,0,160,1,161,0,125,0,116,2,124,0,100, +- 1,131,2,83,0,41,3,122,30,82,101,112,108,97,99,101, ++ 0,4,0,0,0,67,0,0,0,243,28,0,0,0,116,0, ++ 124,0,131,1,100,1,107,2,115,8,74,0,130,1,116,1, ++ 160,2,124,0,100,2,161,2,83,0,41,4,122,47,67,111, ++ 110,118,101,114,116,32,52,32,98,121,116,101,115,32,105,110, ++ 32,108,105,116,116,108,101,45,101,110,100,105,97,110,32,116, ++ 111,32,97,110,32,105,110,116,101,103,101,114,46,114,33,0, ++ 0,0,114,34,0,0,0,78,169,3,114,5,0,0,0,114, ++ 35,0,0,0,218,10,102,114,111,109,95,98,121,116,101,115, ++ 169,1,218,4,100,97,116,97,114,8,0,0,0,114,8,0, ++ 0,0,114,9,0,0,0,218,14,95,117,110,112,97,99,107, ++ 95,117,105,110,116,51,50,88,0,0,0,243,4,0,0,0, ++ 16,2,12,1,114,44,0,0,0,99,1,0,0,0,0,0, ++ 0,0,0,0,0,0,1,0,0,0,4,0,0,0,67,0, ++ 0,0,114,39,0,0,0,41,4,122,47,67,111,110,118,101, ++ 114,116,32,50,32,98,121,116,101,115,32,105,110,32,108,105, ++ 116,116,108,101,45,101,110,100,105,97,110,32,116,111,32,97, ++ 110,32,105,110,116,101,103,101,114,46,233,2,0,0,0,114, ++ 34,0,0,0,78,114,40,0,0,0,114,42,0,0,0,114, ++ 8,0,0,0,114,8,0,0,0,114,9,0,0,0,218,14, ++ 95,117,110,112,97,99,107,95,117,105,110,116,49,54,93,0, ++ 0,0,114,45,0,0,0,114,47,0,0,0,99,0,0,0, ++ 0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0, ++ 0,71,0,0,0,115,228,0,0,0,124,0,115,4,100,1, ++ 83,0,116,0,124,0,131,1,100,2,107,2,114,14,124,0, ++ 100,3,25,0,83,0,100,1,125,1,103,0,125,2,116,1, ++ 116,2,106,3,124,0,131,2,68,0,93,61,92,2,125,3, ++ 125,4,124,3,160,4,116,5,161,1,115,38,124,3,160,6, ++ 116,5,161,1,114,51,124,3,160,7,116,8,161,1,112,44, ++ 124,1,125,1,116,9,124,4,23,0,103,1,125,2,113,24, ++ 124,3,160,6,100,4,161,1,114,76,124,1,160,10,161,0, ++ 124,3,160,10,161,0,107,3,114,70,124,3,125,1,124,4, ++ 103,1,125,2,113,24,124,2,160,11,124,4,161,1,1,0, ++ 113,24,124,3,112,79,124,1,125,1,124,2,160,11,124,4, ++ 161,1,1,0,113,24,100,5,100,6,132,0,124,2,68,0, ++ 131,1,125,2,116,0,124,2,131,1,100,2,107,2,114,107, ++ 124,2,100,3,25,0,115,107,124,1,116,9,23,0,83,0, ++ 124,1,116,9,160,12,124,2,161,1,23,0,83,0,41,8, ++ 250,31,82,101,112,108,97,99,101,109,101,110,116,32,102,111, ++ 114,32,111,115,46,112,97,116,104,46,106,111,105,110,40,41, ++ 46,114,11,0,0,0,114,4,0,0,0,114,0,0,0,0, ++ 114,12,0,0,0,99,1,0,0,0,0,0,0,0,0,0, ++ 0,0,2,0,0,0,5,0,0,0,83,0,0,0,243,26, ++ 0,0,0,103,0,124,0,93,9,125,1,124,1,114,2,124, ++ 1,160,0,116,1,161,1,145,2,113,2,83,0,114,8,0, ++ 0,0,169,2,218,6,114,115,116,114,105,112,218,15,112,97, ++ 116,104,95,115,101,112,97,114,97,116,111,114,115,169,2,114, ++ 6,0,0,0,218,1,112,114,8,0,0,0,114,8,0,0, ++ 0,114,9,0,0,0,218,10,60,108,105,115,116,99,111,109, ++ 112,62,123,0,0,0,115,2,0,0,0,26,0,250,30,95, ++ 112,97,116,104,95,106,111,105,110,46,60,108,111,99,97,108, ++ 115,62,46,60,108,105,115,116,99,111,109,112,62,78,41,13, ++ 114,5,0,0,0,218,3,109,97,112,114,19,0,0,0,218, ++ 15,95,112,97,116,104,95,115,112,108,105,116,114,111,111,116, ++ 114,28,0,0,0,218,14,112,97,116,104,95,115,101,112,95, ++ 116,117,112,108,101,218,8,101,110,100,115,119,105,116,104,114, ++ 51,0,0,0,114,52,0,0,0,218,8,112,97,116,104,95, ++ 115,101,112,218,8,99,97,115,101,102,111,108,100,218,6,97, ++ 112,112,101,110,100,218,4,106,111,105,110,41,5,218,10,112, ++ 97,116,104,95,112,97,114,116,115,218,4,114,111,111,116,218, ++ 4,112,97,116,104,90,8,110,101,119,95,114,111,111,116,218, ++ 4,116,97,105,108,114,8,0,0,0,114,8,0,0,0,114, ++ 9,0,0,0,218,10,95,112,97,116,104,95,106,111,105,110, ++ 100,0,0,0,115,42,0,0,0,4,2,4,1,12,1,8, ++ 1,4,1,4,1,20,1,20,1,14,1,12,1,10,1,16, ++ 1,4,3,8,1,12,2,8,2,12,1,14,1,20,1,8, ++ 2,14,1,114,69,0,0,0,99,0,0,0,0,0,0,0, ++ 0,0,0,0,0,1,0,0,0,4,0,0,0,71,0,0, ++ 0,115,20,0,0,0,116,0,160,1,100,1,100,2,132,0, ++ 124,0,68,0,131,1,161,1,83,0,41,4,114,48,0,0, ++ 0,99,1,0,0,0,0,0,0,0,0,0,0,0,2,0, ++ 0,0,5,0,0,0,83,0,0,0,114,49,0,0,0,114, ++ 8,0,0,0,114,50,0,0,0,41,2,114,6,0,0,0, ++ 218,4,112,97,114,116,114,8,0,0,0,114,8,0,0,0, ++ 114,9,0,0,0,114,55,0,0,0,132,0,0,0,115,6, ++ 0,0,0,6,0,4,1,16,255,114,56,0,0,0,78,41, ++ 2,114,61,0,0,0,114,64,0,0,0,41,1,114,65,0, ++ 0,0,114,8,0,0,0,114,8,0,0,0,114,9,0,0, ++ 0,114,69,0,0,0,130,0,0,0,115,6,0,0,0,10, ++ 2,2,1,8,255,99,1,0,0,0,0,0,0,0,0,0, ++ 0,0,2,0,0,0,4,0,0,0,3,0,0,0,115,66, ++ 0,0,0,116,0,135,0,102,1,100,1,100,2,132,8,116, ++ 1,68,0,131,1,131,1,125,1,124,1,100,3,107,0,114, ++ 19,100,4,136,0,102,2,83,0,136,0,100,5,124,1,133, ++ 2,25,0,136,0,124,1,100,6,23,0,100,5,133,2,25, ++ 0,102,2,83,0,41,7,122,32,82,101,112,108,97,99,101, + 109,101,110,116,32,102,111,114,32,111,115,46,112,97,116,104, +- 46,105,115,100,105,114,46,105,0,64,0,0,78,41,3,114, +- 18,0,0,0,218,6,103,101,116,99,119,100,114,79,0,0, +- 0,114,71,0,0,0,114,7,0,0,0,114,7,0,0,0, +- 114,8,0,0,0,218,11,95,112,97,116,104,95,105,115,100, +- 105,114,164,0,0,0,115,6,0,0,0,4,2,8,1,10, +- 1,114,83,0,0,0,99,1,0,0,0,0,0,0,0,0, +- 0,0,0,2,0,0,0,4,0,0,0,67,0,0,0,115, +- 62,0,0,0,124,0,115,4,100,1,83,0,116,0,160,1, +- 124,0,161,1,100,2,25,0,160,2,100,3,100,4,161,2, +- 125,1,116,3,124,1,131,1,100,5,107,4,111,30,124,1, +- 160,4,100,6,161,1,112,30,124,1,160,5,100,4,161,1, +- 83,0,41,8,250,30,82,101,112,108,97,99,101,109,101,110, +- 116,32,102,111,114,32,111,115,46,112,97,116,104,46,105,115, +- 97,98,115,46,70,114,0,0,0,0,114,2,0,0,0,114, +- 1,0,0,0,114,3,0,0,0,122,2,92,92,78,41,6, +- 114,18,0,0,0,114,56,0,0,0,218,7,114,101,112,108, +- 97,99,101,114,4,0,0,0,114,26,0,0,0,114,58,0, +- 0,0,41,2,114,65,0,0,0,114,64,0,0,0,114,7, +- 0,0,0,114,7,0,0,0,114,8,0,0,0,218,11,95, +- 112,97,116,104,95,105,115,97,98,115,172,0,0,0,115,8, +- 0,0,0,4,2,4,1,22,1,32,1,114,86,0,0,0, +- 99,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +- 0,3,0,0,0,67,0,0,0,115,10,0,0,0,124,0, +- 160,0,116,1,161,1,83,0,41,2,114,84,0,0,0,78, +- 41,2,114,26,0,0,0,114,50,0,0,0,114,71,0,0, +- 0,114,7,0,0,0,114,7,0,0,0,114,8,0,0,0, +- 114,86,0,0,0,180,0,0,0,114,81,0,0,0,233,182, +- 1,0,0,99,3,0,0,0,0,0,0,0,0,0,0,0, +- 6,0,0,0,11,0,0,0,67,0,0,0,115,170,0,0, +- 0,100,1,160,0,124,0,116,1,124,0,131,1,161,2,125, +- 3,116,2,160,3,124,3,116,2,106,4,116,2,106,5,66, +- 0,116,2,106,6,66,0,124,2,100,2,64,0,161,3,125, +- 4,122,36,116,7,160,8,124,4,100,3,161,2,143,13,125, +- 5,124,5,160,9,124,1,161,1,1,0,87,0,100,4,4, +- 0,4,0,131,3,1,0,110,8,49,0,115,47,119,1,1, +- 0,1,0,1,0,89,0,1,0,116,2,160,10,124,3,124, +- 0,161,2,1,0,87,0,100,4,83,0,4,0,116,11,121, +- 84,1,0,1,0,1,0,122,7,116,2,160,12,124,3,161, +- 1,1,0,87,0,130,0,4,0,116,11,121,83,1,0,1, +- 0,1,0,89,0,130,0,119,0,119,0,41,5,122,162,66, +- 101,115,116,45,101,102,102,111,114,116,32,102,117,110,99,116, +- 105,111,110,32,116,111,32,119,114,105,116,101,32,100,97,116, +- 97,32,116,111,32,97,32,112,97,116,104,32,97,116,111,109, +- 105,99,97,108,108,121,46,10,32,32,32,32,66,101,32,112, +- 114,101,112,97,114,101,100,32,116,111,32,104,97,110,100,108, +- 101,32,97,32,70,105,108,101,69,120,105,115,116,115,69,114, +- 114,111,114,32,105,102,32,99,111,110,99,117,114,114,101,110, +- 116,32,119,114,105,116,105,110,103,32,111,102,32,116,104,101, +- 10,32,32,32,32,116,101,109,112,111,114,97,114,121,32,102, +- 105,108,101,32,105,115,32,97,116,116,101,109,112,116,101,100, +- 46,250,5,123,125,46,123,125,114,87,0,0,0,90,2,119, +- 98,78,41,13,218,6,102,111,114,109,97,116,218,2,105,100, +- 114,18,0,0,0,90,4,111,112,101,110,90,6,79,95,69, +- 88,67,76,90,7,79,95,67,82,69,65,84,90,8,79,95, +- 87,82,79,78,76,89,218,3,95,105,111,218,6,70,105,108, +- 101,73,79,218,5,119,114,105,116,101,114,85,0,0,0,114, +- 76,0,0,0,90,6,117,110,108,105,110,107,41,6,114,65, +- 0,0,0,114,41,0,0,0,114,78,0,0,0,90,8,112, +- 97,116,104,95,116,109,112,90,2,102,100,218,4,102,105,108, +- 101,114,7,0,0,0,114,7,0,0,0,114,8,0,0,0, +- 218,13,95,119,114,105,116,101,95,97,116,111,109,105,99,185, +- 0,0,0,115,36,0,0,0,16,5,6,1,22,1,4,255, +- 2,2,14,3,12,1,28,255,18,2,12,1,2,1,12,1, +- 2,3,12,254,2,1,2,1,2,254,2,253,114,95,0,0, +- 0,105,111,13,0,0,114,44,0,0,0,114,32,0,0,0, +- 115,2,0,0,0,13,10,90,11,95,95,112,121,99,97,99, +- 104,101,95,95,122,4,111,112,116,45,122,3,46,112,121,122, +- 4,46,112,121,119,122,4,46,112,121,99,41,1,218,12,111, +- 112,116,105,109,105,122,97,116,105,111,110,99,2,0,0,0, +- 0,0,0,0,1,0,0,0,12,0,0,0,5,0,0,0, +- 67,0,0,0,115,80,1,0,0,124,1,100,1,117,1,114, +- 26,116,0,160,1,100,2,116,2,161,2,1,0,124,2,100, +- 1,117,1,114,20,100,3,125,3,116,3,124,3,131,1,130, +- 1,124,1,114,24,100,4,110,1,100,5,125,2,116,4,160, +- 5,124,0,161,1,125,0,116,6,124,0,131,1,92,2,125, +- 4,125,5,124,5,160,7,100,6,161,1,92,3,125,6,125, +- 7,125,8,116,8,106,9,106,10,125,9,124,9,100,1,117, +- 0,114,57,116,11,100,7,131,1,130,1,100,4,160,12,124, +- 6,114,63,124,6,110,1,124,8,124,7,124,9,103,3,161, +- 1,125,10,124,2,100,1,117,0,114,86,116,8,106,13,106, +- 14,100,8,107,2,114,82,100,4,125,2,110,4,116,8,106, +- 13,106,14,125,2,116,15,124,2,131,1,125,2,124,2,100, +- 4,107,3,114,112,124,2,160,16,161,0,115,105,116,17,100, +- 9,160,18,124,2,161,1,131,1,130,1,100,10,160,18,124, +- 10,116,19,124,2,161,3,125,10,124,10,116,20,100,8,25, +- 0,23,0,125,11,116,8,106,21,100,1,117,1,114,162,116, +- 22,124,4,131,1,115,134,116,23,116,4,160,24,161,0,124, +- 4,131,2,125,4,124,4,100,5,25,0,100,11,107,2,114, +- 152,124,4,100,8,25,0,116,25,118,1,114,152,124,4,100, +- 12,100,1,133,2,25,0,125,4,116,23,116,8,106,21,124, +- 4,160,26,116,25,161,1,124,11,131,3,83,0,116,23,124, +- 4,116,27,124,11,131,3,83,0,41,13,97,254,2,0,0, +- 71,105,118,101,110,32,116,104,101,32,112,97,116,104,32,116, +- 111,32,97,32,46,112,121,32,102,105,108,101,44,32,114,101, +- 116,117,114,110,32,116,104,101,32,112,97,116,104,32,116,111, +- 32,105,116,115,32,46,112,121,99,32,102,105,108,101,46,10, +- 10,32,32,32,32,84,104,101,32,46,112,121,32,102,105,108, +- 101,32,100,111,101,115,32,110,111,116,32,110,101,101,100,32, +- 116,111,32,101,120,105,115,116,59,32,116,104,105,115,32,115, +- 105,109,112,108,121,32,114,101,116,117,114,110,115,32,116,104, +- 101,32,112,97,116,104,32,116,111,32,116,104,101,10,32,32, +- 32,32,46,112,121,99,32,102,105,108,101,32,99,97,108,99, +- 117,108,97,116,101,100,32,97,115,32,105,102,32,116,104,101, +- 32,46,112,121,32,102,105,108,101,32,119,101,114,101,32,105, +- 109,112,111,114,116,101,100,46,10,10,32,32,32,32,84,104, +- 101,32,39,111,112,116,105,109,105,122,97,116,105,111,110,39, +- 32,112,97,114,97,109,101,116,101,114,32,99,111,110,116,114, +- 111,108,115,32,116,104,101,32,112,114,101,115,117,109,101,100, +- 32,111,112,116,105,109,105,122,97,116,105,111,110,32,108,101, +- 118,101,108,32,111,102,10,32,32,32,32,116,104,101,32,98, +- 121,116,101,99,111,100,101,32,102,105,108,101,46,32,73,102, +- 32,39,111,112,116,105,109,105,122,97,116,105,111,110,39,32, +- 105,115,32,110,111,116,32,78,111,110,101,44,32,116,104,101, +- 32,115,116,114,105,110,103,32,114,101,112,114,101,115,101,110, +- 116,97,116,105,111,110,10,32,32,32,32,111,102,32,116,104, +- 101,32,97,114,103,117,109,101,110,116,32,105,115,32,116,97, +- 107,101,110,32,97,110,100,32,118,101,114,105,102,105,101,100, +- 32,116,111,32,98,101,32,97,108,112,104,97,110,117,109,101, +- 114,105,99,32,40,101,108,115,101,32,86,97,108,117,101,69, +- 114,114,111,114,10,32,32,32,32,105,115,32,114,97,105,115, +- 101,100,41,46,10,10,32,32,32,32,84,104,101,32,100,101, +- 98,117,103,95,111,118,101,114,114,105,100,101,32,112,97,114, +- 97,109,101,116,101,114,32,105,115,32,100,101,112,114,101,99, +- 97,116,101,100,46,32,73,102,32,100,101,98,117,103,95,111, +- 118,101,114,114,105,100,101,32,105,115,32,110,111,116,32,78, +- 111,110,101,44,10,32,32,32,32,97,32,84,114,117,101,32, +- 118,97,108,117,101,32,105,115,32,116,104,101,32,115,97,109, +- 101,32,97,115,32,115,101,116,116,105,110,103,32,39,111,112, +- 116,105,109,105,122,97,116,105,111,110,39,32,116,111,32,116, +- 104,101,32,101,109,112,116,121,32,115,116,114,105,110,103,10, +- 32,32,32,32,119,104,105,108,101,32,97,32,70,97,108,115, +- 101,32,118,97,108,117,101,32,105,115,32,101,113,117,105,118, +- 97,108,101,110,116,32,116,111,32,115,101,116,116,105,110,103, +- 32,39,111,112,116,105,109,105,122,97,116,105,111,110,39,32, +- 116,111,32,39,49,39,46,10,10,32,32,32,32,73,102,32, ++ 46,115,112,108,105,116,40,41,46,99,1,0,0,0,0,0, ++ 0,0,0,0,0,0,2,0,0,0,4,0,0,0,51,0, ++ 0,0,115,26,0,0,0,129,0,124,0,93,8,125,1,136, ++ 0,160,0,124,1,161,1,86,0,1,0,113,2,100,0,83, ++ 0,169,1,78,41,1,218,5,114,102,105,110,100,114,53,0, ++ 0,0,169,1,114,67,0,0,0,114,8,0,0,0,114,9, ++ 0,0,0,114,10,0,0,0,138,0,0,0,115,4,0,0, ++ 0,2,128,24,0,122,30,95,112,97,116,104,95,115,112,108, ++ 105,116,46,60,108,111,99,97,108,115,62,46,60,103,101,110, ++ 101,120,112,114,62,114,0,0,0,0,114,11,0,0,0,78, ++ 114,4,0,0,0,41,2,218,3,109,97,120,114,52,0,0, ++ 0,41,2,114,67,0,0,0,218,1,105,114,8,0,0,0, ++ 114,73,0,0,0,114,9,0,0,0,218,11,95,112,97,116, ++ 104,95,115,112,108,105,116,136,0,0,0,115,8,0,0,0, ++ 22,2,8,1,8,1,28,1,114,76,0,0,0,99,1,0, ++ 0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0, ++ 0,0,67,0,0,0,115,10,0,0,0,116,0,160,1,124, ++ 0,161,1,83,0,41,2,122,126,83,116,97,116,32,116,104, ++ 101,32,112,97,116,104,46,10,10,32,32,32,32,77,97,100, ++ 101,32,97,32,115,101,112,97,114,97,116,101,32,102,117,110, ++ 99,116,105,111,110,32,116,111,32,109,97,107,101,32,105,116, ++ 32,101,97,115,105,101,114,32,116,111,32,111,118,101,114,114, ++ 105,100,101,32,105,110,32,101,120,112,101,114,105,109,101,110, ++ 116,115,10,32,32,32,32,40,101,46,103,46,32,99,97,99, ++ 104,101,32,115,116,97,116,32,114,101,115,117,108,116,115,41, ++ 46,10,10,32,32,32,32,78,41,2,114,19,0,0,0,90, ++ 4,115,116,97,116,114,73,0,0,0,114,8,0,0,0,114, ++ 8,0,0,0,114,9,0,0,0,218,10,95,112,97,116,104, ++ 95,115,116,97,116,144,0,0,0,115,2,0,0,0,10,7, ++ 114,77,0,0,0,99,2,0,0,0,0,0,0,0,0,0, ++ 0,0,3,0,0,0,8,0,0,0,67,0,0,0,115,48, ++ 0,0,0,122,6,116,0,124,0,131,1,125,2,87,0,110, ++ 10,4,0,116,1,121,16,1,0,1,0,1,0,89,0,100, ++ 1,83,0,119,0,124,2,106,2,100,2,64,0,124,1,107, ++ 2,83,0,41,4,122,49,84,101,115,116,32,119,104,101,116, ++ 104,101,114,32,116,104,101,32,112,97,116,104,32,105,115,32, ++ 116,104,101,32,115,112,101,99,105,102,105,101,100,32,109,111, ++ 100,101,32,116,121,112,101,46,70,105,0,240,0,0,78,41, ++ 3,114,77,0,0,0,218,7,79,83,69,114,114,111,114,218, ++ 7,115,116,95,109,111,100,101,41,3,114,67,0,0,0,218, ++ 4,109,111,100,101,90,9,115,116,97,116,95,105,110,102,111, ++ 114,8,0,0,0,114,8,0,0,0,114,9,0,0,0,218, ++ 18,95,112,97,116,104,95,105,115,95,109,111,100,101,95,116, ++ 121,112,101,154,0,0,0,115,12,0,0,0,2,2,12,1, ++ 12,1,6,1,2,255,14,2,114,81,0,0,0,99,1,0, ++ 0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0, ++ 0,0,67,0,0,0,115,10,0,0,0,116,0,124,0,100, ++ 1,131,2,83,0,41,3,122,31,82,101,112,108,97,99,101, ++ 109,101,110,116,32,102,111,114,32,111,115,46,112,97,116,104, ++ 46,105,115,102,105,108,101,46,105,0,128,0,0,78,41,1, ++ 114,81,0,0,0,114,73,0,0,0,114,8,0,0,0,114, ++ 8,0,0,0,114,9,0,0,0,218,12,95,112,97,116,104, ++ 95,105,115,102,105,108,101,163,0,0,0,243,2,0,0,0, ++ 10,2,114,82,0,0,0,99,1,0,0,0,0,0,0,0, ++ 0,0,0,0,1,0,0,0,3,0,0,0,67,0,0,0, ++ 115,22,0,0,0,124,0,115,6,116,0,160,1,161,0,125, ++ 0,116,2,124,0,100,1,131,2,83,0,41,3,122,30,82, ++ 101,112,108,97,99,101,109,101,110,116,32,102,111,114,32,111, ++ 115,46,112,97,116,104,46,105,115,100,105,114,46,105,0,64, ++ 0,0,78,41,3,114,19,0,0,0,218,6,103,101,116,99, ++ 119,100,114,81,0,0,0,114,73,0,0,0,114,8,0,0, ++ 0,114,8,0,0,0,114,9,0,0,0,218,11,95,112,97, ++ 116,104,95,105,115,100,105,114,168,0,0,0,115,6,0,0, ++ 0,4,2,8,1,10,1,114,85,0,0,0,99,1,0,0, ++ 0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0, ++ 0,67,0,0,0,115,62,0,0,0,124,0,115,4,100,1, ++ 83,0,116,0,160,1,124,0,161,1,100,2,25,0,160,2, ++ 100,3,100,4,161,2,125,1,116,3,124,1,131,1,100,5, ++ 107,4,111,30,124,1,160,4,100,6,161,1,112,30,124,1, ++ 160,5,100,4,161,1,83,0,41,8,250,30,82,101,112,108, ++ 97,99,101,109,101,110,116,32,102,111,114,32,111,115,46,112, ++ 97,116,104,46,105,115,97,98,115,46,70,114,0,0,0,0, ++ 114,2,0,0,0,114,1,0,0,0,114,4,0,0,0,122, ++ 2,92,92,78,41,6,114,19,0,0,0,114,58,0,0,0, ++ 218,7,114,101,112,108,97,99,101,114,5,0,0,0,114,28, ++ 0,0,0,114,60,0,0,0,41,2,114,67,0,0,0,114, ++ 66,0,0,0,114,8,0,0,0,114,8,0,0,0,114,9, ++ 0,0,0,218,11,95,112,97,116,104,95,105,115,97,98,115, ++ 176,0,0,0,115,8,0,0,0,4,2,4,1,22,1,32, ++ 1,114,88,0,0,0,99,1,0,0,0,0,0,0,0,0, ++ 0,0,0,1,0,0,0,3,0,0,0,67,0,0,0,115, ++ 10,0,0,0,124,0,160,0,116,1,161,1,83,0,41,2, ++ 114,86,0,0,0,78,41,2,114,28,0,0,0,114,52,0, ++ 0,0,114,73,0,0,0,114,8,0,0,0,114,8,0,0, ++ 0,114,9,0,0,0,114,88,0,0,0,184,0,0,0,114, ++ 83,0,0,0,233,182,1,0,0,99,3,0,0,0,0,0, ++ 0,0,0,0,0,0,6,0,0,0,11,0,0,0,67,0, ++ 0,0,115,170,0,0,0,100,1,160,0,124,0,116,1,124, ++ 0,131,1,161,2,125,3,116,2,160,3,124,3,116,2,106, ++ 4,116,2,106,5,66,0,116,2,106,6,66,0,124,2,100, ++ 2,64,0,161,3,125,4,122,36,116,7,160,8,124,4,100, ++ 3,161,2,143,13,125,5,124,5,160,9,124,1,161,1,1, ++ 0,87,0,100,4,4,0,4,0,131,3,1,0,110,8,49, ++ 0,115,47,119,1,1,0,1,0,1,0,89,0,1,0,116, ++ 2,160,10,124,3,124,0,161,2,1,0,87,0,100,4,83, ++ 0,4,0,116,11,121,84,1,0,1,0,1,0,122,7,116, ++ 2,160,12,124,3,161,1,1,0,87,0,130,0,4,0,116, ++ 11,121,83,1,0,1,0,1,0,89,0,130,0,119,0,119, ++ 0,41,5,122,162,66,101,115,116,45,101,102,102,111,114,116, ++ 32,102,117,110,99,116,105,111,110,32,116,111,32,119,114,105, ++ 116,101,32,100,97,116,97,32,116,111,32,97,32,112,97,116, ++ 104,32,97,116,111,109,105,99,97,108,108,121,46,10,32,32, ++ 32,32,66,101,32,112,114,101,112,97,114,101,100,32,116,111, ++ 32,104,97,110,100,108,101,32,97,32,70,105,108,101,69,120, ++ 105,115,116,115,69,114,114,111,114,32,105,102,32,99,111,110, ++ 99,117,114,114,101,110,116,32,119,114,105,116,105,110,103,32, ++ 111,102,32,116,104,101,10,32,32,32,32,116,101,109,112,111, ++ 114,97,114,121,32,102,105,108,101,32,105,115,32,97,116,116, ++ 101,109,112,116,101,100,46,250,5,123,125,46,123,125,114,89, ++ 0,0,0,90,2,119,98,78,41,13,218,6,102,111,114,109, ++ 97,116,218,2,105,100,114,19,0,0,0,90,4,111,112,101, ++ 110,90,6,79,95,69,88,67,76,90,7,79,95,67,82,69, ++ 65,84,90,8,79,95,87,82,79,78,76,89,218,3,95,105, ++ 111,218,6,70,105,108,101,73,79,218,5,119,114,105,116,101, ++ 114,87,0,0,0,114,78,0,0,0,90,6,117,110,108,105, ++ 110,107,41,6,114,67,0,0,0,114,43,0,0,0,114,80, ++ 0,0,0,90,8,112,97,116,104,95,116,109,112,90,2,102, ++ 100,218,4,102,105,108,101,114,8,0,0,0,114,8,0,0, ++ 0,114,9,0,0,0,218,13,95,119,114,105,116,101,95,97, ++ 116,111,109,105,99,189,0,0,0,115,36,0,0,0,16,5, ++ 6,1,22,1,4,255,2,2,14,3,12,1,28,255,18,2, ++ 12,1,2,1,12,1,2,3,12,254,2,1,2,1,2,254, ++ 2,253,114,97,0,0,0,105,111,13,0,0,114,46,0,0, ++ 0,114,34,0,0,0,115,2,0,0,0,13,10,90,11,95, ++ 95,112,121,99,97,99,104,101,95,95,122,4,111,112,116,45, ++ 122,3,46,112,121,122,4,46,112,121,119,122,4,46,112,121, ++ 99,41,1,218,12,111,112,116,105,109,105,122,97,116,105,111, ++ 110,99,2,0,0,0,0,0,0,0,1,0,0,0,12,0, ++ 0,0,5,0,0,0,67,0,0,0,115,80,1,0,0,124, ++ 1,100,1,117,1,114,26,116,0,160,1,100,2,116,2,161, ++ 2,1,0,124,2,100,1,117,1,114,20,100,3,125,3,116, ++ 3,124,3,131,1,130,1,124,1,114,24,100,4,110,1,100, ++ 5,125,2,116,4,160,5,124,0,161,1,125,0,116,6,124, ++ 0,131,1,92,2,125,4,125,5,124,5,160,7,100,6,161, ++ 1,92,3,125,6,125,7,125,8,116,8,106,9,106,10,125, ++ 9,124,9,100,1,117,0,114,57,116,11,100,7,131,1,130, ++ 1,100,4,160,12,124,6,114,63,124,6,110,1,124,8,124, ++ 7,124,9,103,3,161,1,125,10,124,2,100,1,117,0,114, ++ 86,116,8,106,13,106,14,100,8,107,2,114,82,100,4,125, ++ 2,110,4,116,8,106,13,106,14,125,2,116,15,124,2,131, ++ 1,125,2,124,2,100,4,107,3,114,112,124,2,160,16,161, ++ 0,115,105,116,17,100,9,160,18,124,2,161,1,131,1,130, ++ 1,100,10,160,18,124,10,116,19,124,2,161,3,125,10,124, ++ 10,116,20,100,8,25,0,23,0,125,11,116,8,106,21,100, ++ 1,117,1,114,162,116,22,124,4,131,1,115,134,116,23,116, ++ 4,160,24,161,0,124,4,131,2,125,4,124,4,100,5,25, ++ 0,100,11,107,2,114,152,124,4,100,8,25,0,116,25,118, ++ 1,114,152,124,4,100,12,100,1,133,2,25,0,125,4,116, ++ 23,116,8,106,21,124,4,160,26,116,25,161,1,124,11,131, ++ 3,83,0,116,23,124,4,116,27,124,11,131,3,83,0,41, ++ 13,97,254,2,0,0,71,105,118,101,110,32,116,104,101,32, ++ 112,97,116,104,32,116,111,32,97,32,46,112,121,32,102,105, ++ 108,101,44,32,114,101,116,117,114,110,32,116,104,101,32,112, ++ 97,116,104,32,116,111,32,105,116,115,32,46,112,121,99,32, ++ 102,105,108,101,46,10,10,32,32,32,32,84,104,101,32,46, ++ 112,121,32,102,105,108,101,32,100,111,101,115,32,110,111,116, ++ 32,110,101,101,100,32,116,111,32,101,120,105,115,116,59,32, ++ 116,104,105,115,32,115,105,109,112,108,121,32,114,101,116,117, ++ 114,110,115,32,116,104,101,32,112,97,116,104,32,116,111,32, ++ 116,104,101,10,32,32,32,32,46,112,121,99,32,102,105,108, ++ 101,32,99,97,108,99,117,108,97,116,101,100,32,97,115,32, ++ 105,102,32,116,104,101,32,46,112,121,32,102,105,108,101,32, ++ 119,101,114,101,32,105,109,112,111,114,116,101,100,46,10,10, ++ 32,32,32,32,84,104,101,32,39,111,112,116,105,109,105,122, ++ 97,116,105,111,110,39,32,112,97,114,97,109,101,116,101,114, ++ 32,99,111,110,116,114,111,108,115,32,116,104,101,32,112,114, ++ 101,115,117,109,101,100,32,111,112,116,105,109,105,122,97,116, ++ 105,111,110,32,108,101,118,101,108,32,111,102,10,32,32,32, ++ 32,116,104,101,32,98,121,116,101,99,111,100,101,32,102,105, ++ 108,101,46,32,73,102,32,39,111,112,116,105,109,105,122,97, ++ 116,105,111,110,39,32,105,115,32,110,111,116,32,78,111,110, ++ 101,44,32,116,104,101,32,115,116,114,105,110,103,32,114,101, ++ 112,114,101,115,101,110,116,97,116,105,111,110,10,32,32,32, ++ 32,111,102,32,116,104,101,32,97,114,103,117,109,101,110,116, ++ 32,105,115,32,116,97,107,101,110,32,97,110,100,32,118,101, ++ 114,105,102,105,101,100,32,116,111,32,98,101,32,97,108,112, ++ 104,97,110,117,109,101,114,105,99,32,40,101,108,115,101,32, ++ 86,97,108,117,101,69,114,114,111,114,10,32,32,32,32,105, ++ 115,32,114,97,105,115,101,100,41,46,10,10,32,32,32,32, ++ 84,104,101,32,100,101,98,117,103,95,111,118,101,114,114,105, ++ 100,101,32,112,97,114,97,109,101,116,101,114,32,105,115,32, ++ 100,101,112,114,101,99,97,116,101,100,46,32,73,102,32,100, ++ 101,98,117,103,95,111,118,101,114,114,105,100,101,32,105,115, ++ 32,110,111,116,32,78,111,110,101,44,10,32,32,32,32,97, ++ 32,84,114,117,101,32,118,97,108,117,101,32,105,115,32,116, ++ 104,101,32,115,97,109,101,32,97,115,32,115,101,116,116,105, ++ 110,103,32,39,111,112,116,105,109,105,122,97,116,105,111,110, ++ 39,32,116,111,32,116,104,101,32,101,109,112,116,121,32,115, ++ 116,114,105,110,103,10,32,32,32,32,119,104,105,108,101,32, ++ 97,32,70,97,108,115,101,32,118,97,108,117,101,32,105,115, ++ 32,101,113,117,105,118,97,108,101,110,116,32,116,111,32,115, ++ 101,116,116,105,110,103,32,39,111,112,116,105,109,105,122,97, ++ 116,105,111,110,39,32,116,111,32,39,49,39,46,10,10,32, ++ 32,32,32,73,102,32,115,121,115,46,105,109,112,108,101,109, ++ 101,110,116,97,116,105,111,110,46,99,97,99,104,101,95,116, ++ 97,103,32,105,115,32,78,111,110,101,32,116,104,101,110,32, ++ 78,111,116,73,109,112,108,101,109,101,110,116,101,100,69,114, ++ 114,111,114,32,105,115,32,114,97,105,115,101,100,46,10,10, ++ 32,32,32,32,78,122,70,116,104,101,32,100,101,98,117,103, ++ 95,111,118,101,114,114,105,100,101,32,112,97,114,97,109,101, ++ 116,101,114,32,105,115,32,100,101,112,114,101,99,97,116,101, ++ 100,59,32,117,115,101,32,39,111,112,116,105,109,105,122,97, ++ 116,105,111,110,39,32,105,110,115,116,101,97,100,122,50,100, ++ 101,98,117,103,95,111,118,101,114,114,105,100,101,32,111,114, ++ 32,111,112,116,105,109,105,122,97,116,105,111,110,32,109,117, ++ 115,116,32,98,101,32,115,101,116,32,116,111,32,78,111,110, ++ 101,114,11,0,0,0,114,4,0,0,0,218,1,46,250,36, + 115,121,115,46,105,109,112,108,101,109,101,110,116,97,116,105, + 111,110,46,99,97,99,104,101,95,116,97,103,32,105,115,32, +- 78,111,110,101,32,116,104,101,110,32,78,111,116,73,109,112, +- 108,101,109,101,110,116,101,100,69,114,114,111,114,32,105,115, +- 32,114,97,105,115,101,100,46,10,10,32,32,32,32,78,122, +- 70,116,104,101,32,100,101,98,117,103,95,111,118,101,114,114, +- 105,100,101,32,112,97,114,97,109,101,116,101,114,32,105,115, +- 32,100,101,112,114,101,99,97,116,101,100,59,32,117,115,101, +- 32,39,111,112,116,105,109,105,122,97,116,105,111,110,39,32, +- 105,110,115,116,101,97,100,122,50,100,101,98,117,103,95,111, +- 118,101,114,114,105,100,101,32,111,114,32,111,112,116,105,109, +- 105,122,97,116,105,111,110,32,109,117,115,116,32,98,101,32, +- 115,101,116,32,116,111,32,78,111,110,101,114,10,0,0,0, +- 114,3,0,0,0,218,1,46,250,36,115,121,115,46,105,109, +- 112,108,101,109,101,110,116,97,116,105,111,110,46,99,97,99, +- 104,101,95,116,97,103,32,105,115,32,78,111,110,101,114,0, +- 0,0,0,122,24,123,33,114,125,32,105,115,32,110,111,116, +- 32,97,108,112,104,97,110,117,109,101,114,105,99,122,7,123, +- 125,46,123,125,123,125,114,11,0,0,0,114,44,0,0,0, +- 41,28,218,9,95,119,97,114,110,105,110,103,115,218,4,119, +- 97,114,110,218,18,68,101,112,114,101,99,97,116,105,111,110, +- 87,97,114,110,105,110,103,218,9,84,121,112,101,69,114,114, +- 111,114,114,18,0,0,0,218,6,102,115,112,97,116,104,114, +- 74,0,0,0,218,10,114,112,97,114,116,105,116,105,111,110, +- 114,15,0,0,0,218,14,105,109,112,108,101,109,101,110,116, +- 97,116,105,111,110,218,9,99,97,99,104,101,95,116,97,103, +- 218,19,78,111,116,73,109,112,108,101,109,101,110,116,101,100, +- 69,114,114,111,114,114,62,0,0,0,114,16,0,0,0,218, +- 8,111,112,116,105,109,105,122,101,218,3,115,116,114,218,7, +- 105,115,97,108,110,117,109,218,10,86,97,108,117,101,69,114, +- 114,111,114,114,89,0,0,0,218,4,95,79,80,84,218,17, +- 66,89,84,69,67,79,68,69,95,83,85,70,70,73,88,69, +- 83,218,14,112,121,99,97,99,104,101,95,112,114,101,102,105, +- 120,114,86,0,0,0,114,67,0,0,0,114,82,0,0,0, +- 114,50,0,0,0,218,6,108,115,116,114,105,112,218,8,95, +- 80,89,67,65,67,72,69,41,12,114,65,0,0,0,90,14, +- 100,101,98,117,103,95,111,118,101,114,114,105,100,101,114,96, +- 0,0,0,218,7,109,101,115,115,97,103,101,218,4,104,101, +- 97,100,114,66,0,0,0,90,4,98,97,115,101,114,6,0, +- 0,0,218,4,114,101,115,116,90,3,116,97,103,90,15,97, +- 108,109,111,115,116,95,102,105,108,101,110,97,109,101,218,8, +- 102,105,108,101,110,97,109,101,114,7,0,0,0,114,7,0, +- 0,0,114,8,0,0,0,218,17,99,97,99,104,101,95,102, +- 114,111,109,95,115,111,117,114,99,101,124,1,0,0,115,72, +- 0,0,0,8,18,6,1,2,1,4,255,8,2,4,1,8, +- 1,12,1,10,1,12,1,16,1,8,1,8,1,8,1,24, +- 1,8,1,12,1,6,1,8,2,8,1,8,1,8,1,14, +- 1,14,1,12,1,10,1,8,9,14,1,24,5,12,1,2, +- 4,4,1,8,1,2,1,4,253,12,5,114,121,0,0,0, +- 99,1,0,0,0,0,0,0,0,0,0,0,0,10,0,0, +- 0,5,0,0,0,67,0,0,0,115,40,1,0,0,116,0, +- 106,1,106,2,100,1,117,0,114,10,116,3,100,2,131,1, +- 130,1,116,4,160,5,124,0,161,1,125,0,116,6,124,0, +- 131,1,92,2,125,1,125,2,100,3,125,3,116,0,106,7, +- 100,1,117,1,114,51,116,0,106,7,160,8,116,9,161,1, +- 125,4,124,1,160,10,124,4,116,11,23,0,161,1,114,51, +- 124,1,116,12,124,4,131,1,100,1,133,2,25,0,125,1, +- 100,4,125,3,124,3,115,72,116,6,124,1,131,1,92,2, +- 125,1,125,5,124,5,116,13,107,3,114,72,116,14,116,13, +- 155,0,100,5,124,0,155,2,157,3,131,1,130,1,124,2, +- 160,15,100,6,161,1,125,6,124,6,100,7,118,1,114,88, +- 116,14,100,8,124,2,155,2,157,2,131,1,130,1,124,6, +- 100,9,107,2,114,132,124,2,160,16,100,6,100,10,161,2, +- 100,11,25,0,125,7,124,7,160,10,116,17,161,1,115,112, +- 116,14,100,12,116,17,155,2,157,2,131,1,130,1,124,7, +- 116,12,116,17,131,1,100,1,133,2,25,0,125,8,124,8, +- 160,18,161,0,115,132,116,14,100,13,124,7,155,2,100,14, +- 157,3,131,1,130,1,124,2,160,19,100,6,161,1,100,15, +- 25,0,125,9,116,20,124,1,124,9,116,21,100,15,25,0, +- 23,0,131,2,83,0,41,16,97,110,1,0,0,71,105,118, +- 101,110,32,116,104,101,32,112,97,116,104,32,116,111,32,97, +- 32,46,112,121,99,46,32,102,105,108,101,44,32,114,101,116, +- 117,114,110,32,116,104,101,32,112,97,116,104,32,116,111,32, +- 105,116,115,32,46,112,121,32,102,105,108,101,46,10,10,32, +- 32,32,32,84,104,101,32,46,112,121,99,32,102,105,108,101, +- 32,100,111,101,115,32,110,111,116,32,110,101,101,100,32,116, +- 111,32,101,120,105,115,116,59,32,116,104,105,115,32,115,105, +- 109,112,108,121,32,114,101,116,117,114,110,115,32,116,104,101, +- 32,112,97,116,104,32,116,111,10,32,32,32,32,116,104,101, +- 32,46,112,121,32,102,105,108,101,32,99,97,108,99,117,108, +- 97,116,101,100,32,116,111,32,99,111,114,114,101,115,112,111, +- 110,100,32,116,111,32,116,104,101,32,46,112,121,99,32,102, +- 105,108,101,46,32,32,73,102,32,112,97,116,104,32,100,111, +- 101,115,10,32,32,32,32,110,111,116,32,99,111,110,102,111, +- 114,109,32,116,111,32,80,69,80,32,51,49,52,55,47,52, +- 56,56,32,102,111,114,109,97,116,44,32,86,97,108,117,101, +- 69,114,114,111,114,32,119,105,108,108,32,98,101,32,114,97, +- 105,115,101,100,46,32,73,102,10,32,32,32,32,115,121,115, +- 46,105,109,112,108,101,109,101,110,116,97,116,105,111,110,46, +- 99,97,99,104,101,95,116,97,103,32,105,115,32,78,111,110, +- 101,32,116,104,101,110,32,78,111,116,73,109,112,108,101,109, +- 101,110,116,101,100,69,114,114,111,114,32,105,115,32,114,97, +- 105,115,101,100,46,10,10,32,32,32,32,78,114,98,0,0, +- 0,70,84,122,31,32,110,111,116,32,98,111,116,116,111,109, +- 45,108,101,118,101,108,32,100,105,114,101,99,116,111,114,121, +- 32,105,110,32,114,97,0,0,0,62,2,0,0,0,114,44, +- 0,0,0,233,3,0,0,0,122,29,101,120,112,101,99,116, +- 101,100,32,111,110,108,121,32,50,32,111,114,32,51,32,100, +- 111,116,115,32,105,110,32,114,122,0,0,0,114,44,0,0, +- 0,233,254,255,255,255,122,53,111,112,116,105,109,105,122,97, +- 116,105,111,110,32,112,111,114,116,105,111,110,32,111,102,32, +- 102,105,108,101,110,97,109,101,32,100,111,101,115,32,110,111, +- 116,32,115,116,97,114,116,32,119,105,116,104,32,122,19,111, +- 112,116,105,109,105,122,97,116,105,111,110,32,108,101,118,101, +- 108,32,122,29,32,105,115,32,110,111,116,32,97,110,32,97, +- 108,112,104,97,110,117,109,101,114,105,99,32,118,97,108,117, +- 101,114,0,0,0,0,41,22,114,15,0,0,0,114,105,0, +- 0,0,114,106,0,0,0,114,107,0,0,0,114,18,0,0, +- 0,114,103,0,0,0,114,74,0,0,0,114,114,0,0,0, +- 114,49,0,0,0,114,50,0,0,0,114,26,0,0,0,114, +- 59,0,0,0,114,4,0,0,0,114,116,0,0,0,114,111, +- 0,0,0,218,5,99,111,117,110,116,218,6,114,115,112,108, +- 105,116,114,112,0,0,0,114,110,0,0,0,218,9,112,97, +- 114,116,105,116,105,111,110,114,67,0,0,0,218,15,83,79, +- 85,82,67,69,95,83,85,70,70,73,88,69,83,41,10,114, +- 65,0,0,0,114,118,0,0,0,90,16,112,121,99,97,99, +- 104,101,95,102,105,108,101,110,97,109,101,90,23,102,111,117, +- 110,100,95,105,110,95,112,121,99,97,99,104,101,95,112,114, +- 101,102,105,120,90,13,115,116,114,105,112,112,101,100,95,112, +- 97,116,104,90,7,112,121,99,97,99,104,101,90,9,100,111, +- 116,95,99,111,117,110,116,114,96,0,0,0,90,9,111,112, +- 116,95,108,101,118,101,108,90,13,98,97,115,101,95,102,105, +- 108,101,110,97,109,101,114,7,0,0,0,114,7,0,0,0, +- 114,8,0,0,0,218,17,115,111,117,114,99,101,95,102,114, +- 111,109,95,99,97,99,104,101,195,1,0,0,115,60,0,0, +- 0,12,9,8,1,10,1,12,1,4,1,10,1,12,1,14, +- 1,16,1,4,1,4,1,12,1,8,1,8,1,2,1,8, +- 255,10,2,8,1,14,1,8,1,16,1,10,1,4,1,2, +- 1,8,255,16,2,8,1,16,1,14,2,18,1,114,128,0, +- 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,5, +- 0,0,0,9,0,0,0,67,0,0,0,115,124,0,0,0, +- 116,0,124,0,131,1,100,1,107,2,114,8,100,2,83,0, +- 124,0,160,1,100,3,161,1,92,3,125,1,125,2,125,3, +- 124,1,114,28,124,3,160,2,161,0,100,4,100,5,133,2, +- 25,0,100,6,107,3,114,30,124,0,83,0,122,6,116,3, +- 124,0,131,1,125,4,87,0,110,17,4,0,116,4,116,5, +- 102,2,121,53,1,0,1,0,1,0,124,0,100,2,100,5, +- 133,2,25,0,125,4,89,0,110,1,119,0,116,6,124,4, +- 131,1,114,60,124,4,83,0,124,0,83,0,41,7,122,188, +- 67,111,110,118,101,114,116,32,97,32,98,121,116,101,99,111, +- 100,101,32,102,105,108,101,32,112,97,116,104,32,116,111,32, +- 97,32,115,111,117,114,99,101,32,112,97,116,104,32,40,105, +- 102,32,112,111,115,115,105,98,108,101,41,46,10,10,32,32, +- 32,32,84,104,105,115,32,102,117,110,99,116,105,111,110,32, +- 101,120,105,115,116,115,32,112,117,114,101,108,121,32,102,111, +- 114,32,98,97,99,107,119,97,114,100,115,45,99,111,109,112, +- 97,116,105,98,105,108,105,116,121,32,102,111,114,10,32,32, +- 32,32,80,121,73,109,112,111,114,116,95,69,120,101,99,67, +- 111,100,101,77,111,100,117,108,101,87,105,116,104,70,105,108, +- 101,110,97,109,101,115,40,41,32,105,110,32,116,104,101,32, +- 67,32,65,80,73,46,10,10,32,32,32,32,114,0,0,0, +- 0,78,114,97,0,0,0,233,253,255,255,255,233,255,255,255, +- 255,90,2,112,121,41,7,114,4,0,0,0,114,104,0,0, +- 0,218,5,108,111,119,101,114,114,128,0,0,0,114,107,0, +- 0,0,114,111,0,0,0,114,80,0,0,0,41,5,218,13, +- 98,121,116,101,99,111,100,101,95,112,97,116,104,114,119,0, +- 0,0,218,1,95,90,9,101,120,116,101,110,115,105,111,110, +- 218,11,115,111,117,114,99,101,95,112,97,116,104,114,7,0, +- 0,0,114,7,0,0,0,114,8,0,0,0,218,15,95,103, +- 101,116,95,115,111,117,114,99,101,102,105,108,101,235,1,0, +- 0,115,22,0,0,0,12,7,4,1,16,1,24,1,4,1, +- 2,1,12,1,16,1,16,1,2,255,16,2,114,135,0,0, +- 0,99,1,0,0,0,0,0,0,0,0,0,0,0,1,0, +- 0,0,8,0,0,0,67,0,0,0,115,68,0,0,0,124, +- 0,160,0,116,1,116,2,131,1,161,1,114,23,122,5,116, +- 3,124,0,131,1,87,0,83,0,4,0,116,4,121,22,1, +- 0,1,0,1,0,89,0,100,0,83,0,119,0,124,0,160, +- 0,116,1,116,5,131,1,161,1,114,32,124,0,83,0,100, +- 0,83,0,114,69,0,0,0,41,6,114,58,0,0,0,218, +- 5,116,117,112,108,101,114,127,0,0,0,114,121,0,0,0, +- 114,107,0,0,0,114,113,0,0,0,41,1,114,120,0,0, +- 0,114,7,0,0,0,114,7,0,0,0,114,8,0,0,0, +- 218,11,95,103,101,116,95,99,97,99,104,101,100,254,1,0, +- 0,115,18,0,0,0,14,1,2,1,10,1,12,1,6,1, +- 2,255,14,2,4,1,4,2,114,137,0,0,0,99,1,0, +- 0,0,0,0,0,0,0,0,0,0,2,0,0,0,8,0, +- 0,0,67,0,0,0,115,50,0,0,0,122,7,116,0,124, +- 0,131,1,106,1,125,1,87,0,110,11,4,0,116,2,121, +- 18,1,0,1,0,1,0,100,1,125,1,89,0,110,1,119, +- 0,124,1,100,2,79,0,125,1,124,1,83,0,41,4,122, +- 51,67,97,108,99,117,108,97,116,101,32,116,104,101,32,109, +- 111,100,101,32,112,101,114,109,105,115,115,105,111,110,115,32, +- 102,111,114,32,97,32,98,121,116,101,99,111,100,101,32,102, +- 105,108,101,46,114,87,0,0,0,233,128,0,0,0,78,41, +- 3,114,75,0,0,0,114,77,0,0,0,114,76,0,0,0, +- 41,2,114,65,0,0,0,114,78,0,0,0,114,7,0,0, +- 0,114,7,0,0,0,114,8,0,0,0,218,10,95,99,97, +- 108,99,95,109,111,100,101,10,2,0,0,115,14,0,0,0, +- 2,2,14,1,12,1,8,1,2,255,8,4,4,1,114,139, ++ 78,111,110,101,114,0,0,0,0,122,24,123,33,114,125,32, ++ 105,115,32,110,111,116,32,97,108,112,104,97,110,117,109,101, ++ 114,105,99,122,7,123,125,46,123,125,123,125,114,12,0,0, ++ 0,114,46,0,0,0,41,28,218,9,95,119,97,114,110,105, ++ 110,103,115,218,4,119,97,114,110,218,18,68,101,112,114,101, ++ 99,97,116,105,111,110,87,97,114,110,105,110,103,218,9,84, ++ 121,112,101,69,114,114,111,114,114,19,0,0,0,218,6,102, ++ 115,112,97,116,104,114,76,0,0,0,218,10,114,112,97,114, ++ 116,105,116,105,111,110,114,16,0,0,0,218,14,105,109,112, ++ 108,101,109,101,110,116,97,116,105,111,110,218,9,99,97,99, ++ 104,101,95,116,97,103,218,19,78,111,116,73,109,112,108,101, ++ 109,101,110,116,101,100,69,114,114,111,114,114,64,0,0,0, ++ 114,17,0,0,0,218,8,111,112,116,105,109,105,122,101,218, ++ 3,115,116,114,218,7,105,115,97,108,110,117,109,218,10,86, ++ 97,108,117,101,69,114,114,111,114,114,91,0,0,0,218,4, ++ 95,79,80,84,218,17,66,89,84,69,67,79,68,69,95,83, ++ 85,70,70,73,88,69,83,218,14,112,121,99,97,99,104,101, ++ 95,112,114,101,102,105,120,114,88,0,0,0,114,69,0,0, ++ 0,114,84,0,0,0,114,52,0,0,0,218,6,108,115,116, ++ 114,105,112,218,8,95,80,89,67,65,67,72,69,41,12,114, ++ 67,0,0,0,90,14,100,101,98,117,103,95,111,118,101,114, ++ 114,105,100,101,114,98,0,0,0,218,7,109,101,115,115,97, ++ 103,101,218,4,104,101,97,100,114,68,0,0,0,90,4,98, ++ 97,115,101,114,7,0,0,0,218,4,114,101,115,116,90,3, ++ 116,97,103,90,15,97,108,109,111,115,116,95,102,105,108,101, ++ 110,97,109,101,218,8,102,105,108,101,110,97,109,101,114,8, ++ 0,0,0,114,8,0,0,0,114,9,0,0,0,218,17,99, ++ 97,99,104,101,95,102,114,111,109,95,115,111,117,114,99,101, ++ 128,1,0,0,115,72,0,0,0,8,18,6,1,2,1,4, ++ 255,8,2,4,1,8,1,12,1,10,1,12,1,16,1,8, ++ 1,8,1,8,1,24,1,8,1,12,1,6,1,8,2,8, ++ 1,8,1,8,1,14,1,14,1,12,1,10,1,8,9,14, ++ 1,24,5,12,1,2,4,4,1,8,1,2,1,4,253,12, ++ 5,114,123,0,0,0,99,1,0,0,0,0,0,0,0,0, ++ 0,0,0,10,0,0,0,5,0,0,0,67,0,0,0,115, ++ 40,1,0,0,116,0,106,1,106,2,100,1,117,0,114,10, ++ 116,3,100,2,131,1,130,1,116,4,160,5,124,0,161,1, ++ 125,0,116,6,124,0,131,1,92,2,125,1,125,2,100,3, ++ 125,3,116,0,106,7,100,1,117,1,114,51,116,0,106,7, ++ 160,8,116,9,161,1,125,4,124,1,160,10,124,4,116,11, ++ 23,0,161,1,114,51,124,1,116,12,124,4,131,1,100,1, ++ 133,2,25,0,125,1,100,4,125,3,124,3,115,72,116,6, ++ 124,1,131,1,92,2,125,1,125,5,124,5,116,13,107,3, ++ 114,72,116,14,116,13,155,0,100,5,124,0,155,2,157,3, ++ 131,1,130,1,124,2,160,15,100,6,161,1,125,6,124,6, ++ 100,7,118,1,114,88,116,14,100,8,124,2,155,2,157,2, ++ 131,1,130,1,124,6,100,9,107,2,114,132,124,2,160,16, ++ 100,6,100,10,161,2,100,11,25,0,125,7,124,7,160,10, ++ 116,17,161,1,115,112,116,14,100,12,116,17,155,2,157,2, ++ 131,1,130,1,124,7,116,12,116,17,131,1,100,1,133,2, ++ 25,0,125,8,124,8,160,18,161,0,115,132,116,14,100,13, ++ 124,7,155,2,100,14,157,3,131,1,130,1,124,2,160,19, ++ 100,6,161,1,100,15,25,0,125,9,116,20,124,1,124,9, ++ 116,21,100,15,25,0,23,0,131,2,83,0,41,16,97,110, ++ 1,0,0,71,105,118,101,110,32,116,104,101,32,112,97,116, ++ 104,32,116,111,32,97,32,46,112,121,99,46,32,102,105,108, ++ 101,44,32,114,101,116,117,114,110,32,116,104,101,32,112,97, ++ 116,104,32,116,111,32,105,116,115,32,46,112,121,32,102,105, ++ 108,101,46,10,10,32,32,32,32,84,104,101,32,46,112,121, ++ 99,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32, ++ 110,101,101,100,32,116,111,32,101,120,105,115,116,59,32,116, ++ 104,105,115,32,115,105,109,112,108,121,32,114,101,116,117,114, ++ 110,115,32,116,104,101,32,112,97,116,104,32,116,111,10,32, ++ 32,32,32,116,104,101,32,46,112,121,32,102,105,108,101,32, ++ 99,97,108,99,117,108,97,116,101,100,32,116,111,32,99,111, ++ 114,114,101,115,112,111,110,100,32,116,111,32,116,104,101,32, ++ 46,112,121,99,32,102,105,108,101,46,32,32,73,102,32,112, ++ 97,116,104,32,100,111,101,115,10,32,32,32,32,110,111,116, ++ 32,99,111,110,102,111,114,109,32,116,111,32,80,69,80,32, ++ 51,49,52,55,47,52,56,56,32,102,111,114,109,97,116,44, ++ 32,86,97,108,117,101,69,114,114,111,114,32,119,105,108,108, ++ 32,98,101,32,114,97,105,115,101,100,46,32,73,102,10,32, ++ 32,32,32,115,121,115,46,105,109,112,108,101,109,101,110,116, ++ 97,116,105,111,110,46,99,97,99,104,101,95,116,97,103,32, ++ 105,115,32,78,111,110,101,32,116,104,101,110,32,78,111,116, ++ 73,109,112,108,101,109,101,110,116,101,100,69,114,114,111,114, ++ 32,105,115,32,114,97,105,115,101,100,46,10,10,32,32,32, ++ 32,78,114,100,0,0,0,70,84,122,31,32,110,111,116,32, ++ 98,111,116,116,111,109,45,108,101,118,101,108,32,100,105,114, ++ 101,99,116,111,114,121,32,105,110,32,114,99,0,0,0,62, ++ 2,0,0,0,114,46,0,0,0,233,3,0,0,0,122,29, ++ 101,120,112,101,99,116,101,100,32,111,110,108,121,32,50,32, ++ 111,114,32,51,32,100,111,116,115,32,105,110,32,114,124,0, ++ 0,0,114,46,0,0,0,233,254,255,255,255,122,53,111,112, ++ 116,105,109,105,122,97,116,105,111,110,32,112,111,114,116,105, ++ 111,110,32,111,102,32,102,105,108,101,110,97,109,101,32,100, ++ 111,101,115,32,110,111,116,32,115,116,97,114,116,32,119,105, ++ 116,104,32,122,19,111,112,116,105,109,105,122,97,116,105,111, ++ 110,32,108,101,118,101,108,32,122,29,32,105,115,32,110,111, ++ 116,32,97,110,32,97,108,112,104,97,110,117,109,101,114,105, ++ 99,32,118,97,108,117,101,114,0,0,0,0,41,22,114,16, ++ 0,0,0,114,107,0,0,0,114,108,0,0,0,114,109,0, ++ 0,0,114,19,0,0,0,114,105,0,0,0,114,76,0,0, ++ 0,114,116,0,0,0,114,51,0,0,0,114,52,0,0,0, ++ 114,28,0,0,0,114,61,0,0,0,114,5,0,0,0,114, ++ 118,0,0,0,114,113,0,0,0,218,5,99,111,117,110,116, ++ 218,6,114,115,112,108,105,116,114,114,0,0,0,114,112,0, ++ 0,0,218,9,112,97,114,116,105,116,105,111,110,114,69,0, ++ 0,0,218,15,83,79,85,82,67,69,95,83,85,70,70,73, ++ 88,69,83,41,10,114,67,0,0,0,114,120,0,0,0,90, ++ 16,112,121,99,97,99,104,101,95,102,105,108,101,110,97,109, ++ 101,90,23,102,111,117,110,100,95,105,110,95,112,121,99,97, ++ 99,104,101,95,112,114,101,102,105,120,90,13,115,116,114,105, ++ 112,112,101,100,95,112,97,116,104,90,7,112,121,99,97,99, ++ 104,101,90,9,100,111,116,95,99,111,117,110,116,114,98,0, ++ 0,0,90,9,111,112,116,95,108,101,118,101,108,90,13,98, ++ 97,115,101,95,102,105,108,101,110,97,109,101,114,8,0,0, ++ 0,114,8,0,0,0,114,9,0,0,0,218,17,115,111,117, ++ 114,99,101,95,102,114,111,109,95,99,97,99,104,101,199,1, ++ 0,0,115,60,0,0,0,12,9,8,1,10,1,12,1,4, ++ 1,10,1,12,1,14,1,16,1,4,1,4,1,12,1,8, ++ 1,8,1,2,1,8,255,10,2,8,1,14,1,8,1,16, ++ 1,10,1,4,1,2,1,8,255,16,2,8,1,16,1,14, ++ 2,18,1,114,130,0,0,0,99,1,0,0,0,0,0,0, ++ 0,0,0,0,0,5,0,0,0,9,0,0,0,67,0,0, ++ 0,115,124,0,0,0,116,0,124,0,131,1,100,1,107,2, ++ 114,8,100,2,83,0,124,0,160,1,100,3,161,1,92,3, ++ 125,1,125,2,125,3,124,1,114,28,124,3,160,2,161,0, ++ 100,4,100,5,133,2,25,0,100,6,107,3,114,30,124,0, ++ 83,0,122,6,116,3,124,0,131,1,125,4,87,0,110,17, ++ 4,0,116,4,116,5,102,2,121,53,1,0,1,0,1,0, ++ 124,0,100,2,100,5,133,2,25,0,125,4,89,0,110,1, ++ 119,0,116,6,124,4,131,1,114,60,124,4,83,0,124,0, ++ 83,0,41,7,122,188,67,111,110,118,101,114,116,32,97,32, ++ 98,121,116,101,99,111,100,101,32,102,105,108,101,32,112,97, ++ 116,104,32,116,111,32,97,32,115,111,117,114,99,101,32,112, ++ 97,116,104,32,40,105,102,32,112,111,115,115,105,98,108,101, ++ 41,46,10,10,32,32,32,32,84,104,105,115,32,102,117,110, ++ 99,116,105,111,110,32,101,120,105,115,116,115,32,112,117,114, ++ 101,108,121,32,102,111,114,32,98,97,99,107,119,97,114,100, ++ 115,45,99,111,109,112,97,116,105,98,105,108,105,116,121,32, ++ 102,111,114,10,32,32,32,32,80,121,73,109,112,111,114,116, ++ 95,69,120,101,99,67,111,100,101,77,111,100,117,108,101,87, ++ 105,116,104,70,105,108,101,110,97,109,101,115,40,41,32,105, ++ 110,32,116,104,101,32,67,32,65,80,73,46,10,10,32,32, ++ 32,32,114,0,0,0,0,78,114,99,0,0,0,233,253,255, ++ 255,255,114,3,0,0,0,90,2,112,121,41,7,114,5,0, ++ 0,0,114,106,0,0,0,218,5,108,111,119,101,114,114,130, ++ 0,0,0,114,109,0,0,0,114,113,0,0,0,114,82,0, ++ 0,0,41,5,218,13,98,121,116,101,99,111,100,101,95,112, ++ 97,116,104,114,121,0,0,0,218,1,95,90,9,101,120,116, ++ 101,110,115,105,111,110,218,11,115,111,117,114,99,101,95,112, ++ 97,116,104,114,8,0,0,0,114,8,0,0,0,114,9,0, ++ 0,0,218,15,95,103,101,116,95,115,111,117,114,99,101,102, ++ 105,108,101,239,1,0,0,115,22,0,0,0,12,7,4,1, ++ 16,1,24,1,4,1,2,1,12,1,16,1,16,1,2,255, ++ 16,2,114,136,0,0,0,99,1,0,0,0,0,0,0,0, ++ 0,0,0,0,1,0,0,0,8,0,0,0,67,0,0,0, ++ 115,68,0,0,0,124,0,160,0,116,1,116,2,131,1,161, ++ 1,114,23,122,5,116,3,124,0,131,1,87,0,83,0,4, ++ 0,116,4,121,22,1,0,1,0,1,0,89,0,100,0,83, ++ 0,119,0,124,0,160,0,116,1,116,5,131,1,161,1,114, ++ 32,124,0,83,0,100,0,83,0,114,71,0,0,0,41,6, ++ 114,60,0,0,0,218,5,116,117,112,108,101,114,129,0,0, ++ 0,114,123,0,0,0,114,109,0,0,0,114,115,0,0,0, ++ 41,1,114,122,0,0,0,114,8,0,0,0,114,8,0,0, ++ 0,114,9,0,0,0,218,11,95,103,101,116,95,99,97,99, ++ 104,101,100,2,2,0,0,115,18,0,0,0,14,1,2,1, ++ 10,1,12,1,6,1,2,255,14,2,4,1,4,2,114,138, + 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, +- 3,0,0,0,4,0,0,0,3,0,0,0,115,52,0,0, +- 0,100,6,135,0,102,1,100,2,100,3,132,9,125,1,116, +- 0,100,1,117,1,114,15,116,0,106,1,125,2,110,4,100, +- 4,100,5,132,0,125,2,124,2,124,1,136,0,131,2,1, +- 0,124,1,83,0,41,7,122,252,68,101,99,111,114,97,116, +- 111,114,32,116,111,32,118,101,114,105,102,121,32,116,104,97, +- 116,32,116,104,101,32,109,111,100,117,108,101,32,98,101,105, +- 110,103,32,114,101,113,117,101,115,116,101,100,32,109,97,116, +- 99,104,101,115,32,116,104,101,32,111,110,101,32,116,104,101, +- 10,32,32,32,32,108,111,97,100,101,114,32,99,97,110,32, +- 104,97,110,100,108,101,46,10,10,32,32,32,32,84,104,101, +- 32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32, +- 40,115,101,108,102,41,32,109,117,115,116,32,100,101,102,105, +- 110,101,32,95,110,97,109,101,32,119,104,105,99,104,32,116, +- 104,101,32,115,101,99,111,110,100,32,97,114,103,117,109,101, +- 110,116,32,105,115,10,32,32,32,32,99,111,109,112,97,114, +- 101,100,32,97,103,97,105,110,115,116,46,32,73,102,32,116, +- 104,101,32,99,111,109,112,97,114,105,115,111,110,32,102,97, +- 105,108,115,32,116,104,101,110,32,73,109,112,111,114,116,69, +- 114,114,111,114,32,105,115,32,114,97,105,115,101,100,46,10, +- 10,32,32,32,32,78,99,2,0,0,0,0,0,0,0,0, +- 0,0,0,4,0,0,0,4,0,0,0,31,0,0,0,115, +- 72,0,0,0,124,1,100,0,117,0,114,8,124,0,106,0, +- 125,1,110,16,124,0,106,0,124,1,107,3,114,24,116,1, +- 100,1,124,0,106,0,124,1,102,2,22,0,124,1,100,2, +- 141,2,130,1,136,0,124,0,124,1,103,2,124,2,162,1, +- 82,0,105,0,124,3,164,1,142,1,83,0,41,3,78,122, +- 30,108,111,97,100,101,114,32,102,111,114,32,37,115,32,99, +- 97,110,110,111,116,32,104,97,110,100,108,101,32,37,115,169, +- 1,218,4,110,97,109,101,41,2,114,141,0,0,0,218,11, +- 73,109,112,111,114,116,69,114,114,111,114,41,4,218,4,115, +- 101,108,102,114,141,0,0,0,218,4,97,114,103,115,218,6, +- 107,119,97,114,103,115,169,1,218,6,109,101,116,104,111,100, +- 114,7,0,0,0,114,8,0,0,0,218,19,95,99,104,101, +- 99,107,95,110,97,109,101,95,119,114,97,112,112,101,114,30, +- 2,0,0,115,18,0,0,0,8,1,8,1,10,1,4,1, +- 8,1,2,255,2,1,6,255,24,2,122,40,95,99,104,101, +- 99,107,95,110,97,109,101,46,60,108,111,99,97,108,115,62, +- 46,95,99,104,101,99,107,95,110,97,109,101,95,119,114,97, +- 112,112,101,114,99,2,0,0,0,0,0,0,0,0,0,0, +- 0,3,0,0,0,7,0,0,0,83,0,0,0,115,56,0, +- 0,0,100,1,68,0,93,16,125,2,116,0,124,1,124,2, +- 131,2,114,18,116,1,124,0,124,2,116,2,124,1,124,2, +- 131,2,131,3,1,0,113,2,124,0,106,3,160,4,124,1, +- 106,3,161,1,1,0,100,0,83,0,41,2,78,41,4,218, +- 10,95,95,109,111,100,117,108,101,95,95,218,8,95,95,110, +- 97,109,101,95,95,218,12,95,95,113,117,97,108,110,97,109, +- 101,95,95,218,7,95,95,100,111,99,95,95,41,5,218,7, +- 104,97,115,97,116,116,114,218,7,115,101,116,97,116,116,114, +- 218,7,103,101,116,97,116,116,114,218,8,95,95,100,105,99, +- 116,95,95,218,6,117,112,100,97,116,101,41,3,90,3,110, +- 101,119,90,3,111,108,100,114,85,0,0,0,114,7,0,0, +- 0,114,7,0,0,0,114,8,0,0,0,218,5,95,119,114, +- 97,112,43,2,0,0,115,10,0,0,0,8,1,10,1,18, +- 1,2,128,18,1,122,26,95,99,104,101,99,107,95,110,97, +- 109,101,46,60,108,111,99,97,108,115,62,46,95,119,114,97, +- 112,114,69,0,0,0,41,2,218,10,95,98,111,111,116,115, +- 116,114,97,112,114,158,0,0,0,41,3,114,147,0,0,0, +- 114,148,0,0,0,114,158,0,0,0,114,7,0,0,0,114, +- 146,0,0,0,114,8,0,0,0,218,11,95,99,104,101,99, +- 107,95,110,97,109,101,22,2,0,0,115,12,0,0,0,14, +- 8,8,10,8,1,8,2,10,6,4,1,114,160,0,0,0, +- 99,2,0,0,0,0,0,0,0,0,0,0,0,5,0,0, +- 0,6,0,0,0,67,0,0,0,115,72,0,0,0,116,0, +- 160,1,100,1,116,2,161,2,1,0,124,0,160,3,124,1, +- 161,1,92,2,125,2,125,3,124,2,100,2,117,0,114,34, +- 116,4,124,3,131,1,114,34,100,3,125,4,116,0,160,1, +- 124,4,160,5,124,3,100,4,25,0,161,1,116,6,161,2, +- 1,0,124,2,83,0,41,5,122,155,84,114,121,32,116,111, +- 32,102,105,110,100,32,97,32,108,111,97,100,101,114,32,102, +- 111,114,32,116,104,101,32,115,112,101,99,105,102,105,101,100, +- 32,109,111,100,117,108,101,32,98,121,32,100,101,108,101,103, +- 97,116,105,110,103,32,116,111,10,32,32,32,32,115,101,108, +- 102,46,102,105,110,100,95,108,111,97,100,101,114,40,41,46, +- 10,10,32,32,32,32,84,104,105,115,32,109,101,116,104,111, +- 100,32,105,115,32,100,101,112,114,101,99,97,116,101,100,32, +- 105,110,32,102,97,118,111,114,32,111,102,32,102,105,110,100, +- 101,114,46,102,105,110,100,95,115,112,101,99,40,41,46,10, +- 10,32,32,32,32,122,90,102,105,110,100,95,109,111,100,117, +- 108,101,40,41,32,105,115,32,100,101,112,114,101,99,97,116, +- 101,100,32,97,110,100,32,115,108,97,116,101,100,32,102,111, +- 114,32,114,101,109,111,118,97,108,32,105,110,32,80,121,116, +- 104,111,110,32,51,46,49,50,59,32,117,115,101,32,102,105, +- 110,100,95,115,112,101,99,40,41,32,105,110,115,116,101,97, +- 100,78,122,44,78,111,116,32,105,109,112,111,114,116,105,110, +- 103,32,100,105,114,101,99,116,111,114,121,32,123,125,58,32, +- 109,105,115,115,105,110,103,32,95,95,105,110,105,116,95,95, +- 114,0,0,0,0,41,7,114,99,0,0,0,114,100,0,0, +- 0,114,101,0,0,0,218,11,102,105,110,100,95,108,111,97, +- 100,101,114,114,4,0,0,0,114,89,0,0,0,218,13,73, +- 109,112,111,114,116,87,97,114,110,105,110,103,41,5,114,143, +- 0,0,0,218,8,102,117,108,108,110,97,109,101,218,6,108, +- 111,97,100,101,114,218,8,112,111,114,116,105,111,110,115,218, +- 3,109,115,103,114,7,0,0,0,114,7,0,0,0,114,8, +- 0,0,0,218,17,95,102,105,110,100,95,109,111,100,117,108, +- 101,95,115,104,105,109,53,2,0,0,115,16,0,0,0,6, +- 7,2,2,4,254,14,6,16,1,4,1,22,1,4,1,114, +- 167,0,0,0,99,3,0,0,0,0,0,0,0,0,0,0, +- 0,6,0,0,0,4,0,0,0,67,0,0,0,115,166,0, +- 0,0,124,0,100,1,100,2,133,2,25,0,125,3,124,3, +- 116,0,107,3,114,32,100,3,124,1,155,2,100,4,124,3, +- 155,2,157,4,125,4,116,1,160,2,100,5,124,4,161,2, +- 1,0,116,3,124,4,102,1,105,0,124,2,164,1,142,1, +- 130,1,116,4,124,0,131,1,100,6,107,0,114,53,100,7, +- 124,1,155,2,157,2,125,4,116,1,160,2,100,5,124,4, +- 161,2,1,0,116,5,124,4,131,1,130,1,116,6,124,0, +- 100,2,100,8,133,2,25,0,131,1,125,5,124,5,100,9, +- 64,0,114,81,100,10,124,5,155,2,100,11,124,1,155,2, +- 157,4,125,4,116,3,124,4,102,1,105,0,124,2,164,1, +- 142,1,130,1,124,5,83,0,41,12,97,84,2,0,0,80, +- 101,114,102,111,114,109,32,98,97,115,105,99,32,118,97,108, +- 105,100,105,116,121,32,99,104,101,99,107,105,110,103,32,111, +- 102,32,97,32,112,121,99,32,104,101,97,100,101,114,32,97, +- 110,100,32,114,101,116,117,114,110,32,116,104,101,32,102,108, +- 97,103,115,32,102,105,101,108,100,44,10,32,32,32,32,119, +- 104,105,99,104,32,100,101,116,101,114,109,105,110,101,115,32, +- 104,111,119,32,116,104,101,32,112,121,99,32,115,104,111,117, +- 108,100,32,98,101,32,102,117,114,116,104,101,114,32,118,97, +- 108,105,100,97,116,101,100,32,97,103,97,105,110,115,116,32, +- 116,104,101,32,115,111,117,114,99,101,46,10,10,32,32,32, +- 32,42,100,97,116,97,42,32,105,115,32,116,104,101,32,99, +- 111,110,116,101,110,116,115,32,111,102,32,116,104,101,32,112, +- 121,99,32,102,105,108,101,46,32,40,79,110,108,121,32,116, +- 104,101,32,102,105,114,115,116,32,49,54,32,98,121,116,101, +- 115,32,97,114,101,10,32,32,32,32,114,101,113,117,105,114, +- 101,100,44,32,116,104,111,117,103,104,46,41,10,10,32,32, +- 32,32,42,110,97,109,101,42,32,105,115,32,116,104,101,32, +- 110,97,109,101,32,111,102,32,116,104,101,32,109,111,100,117, +- 108,101,32,98,101,105,110,103,32,105,109,112,111,114,116,101, +- 100,46,32,73,116,32,105,115,32,117,115,101,100,32,102,111, +- 114,32,108,111,103,103,105,110,103,46,10,10,32,32,32,32, +- 42,101,120,99,95,100,101,116,97,105,108,115,42,32,105,115, +- 32,97,32,100,105,99,116,105,111,110,97,114,121,32,112,97, +- 115,115,101,100,32,116,111,32,73,109,112,111,114,116,69,114, +- 114,111,114,32,105,102,32,105,116,32,114,97,105,115,101,100, +- 32,102,111,114,10,32,32,32,32,105,109,112,114,111,118,101, +- 100,32,100,101,98,117,103,103,105,110,103,46,10,10,32,32, +- 32,32,73,109,112,111,114,116,69,114,114,111,114,32,105,115, +- 32,114,97,105,115,101,100,32,119,104,101,110,32,116,104,101, +- 32,109,97,103,105,99,32,110,117,109,98,101,114,32,105,115, +- 32,105,110,99,111,114,114,101,99,116,32,111,114,32,119,104, +- 101,110,32,116,104,101,32,102,108,97,103,115,10,32,32,32, +- 32,102,105,101,108,100,32,105,115,32,105,110,118,97,108,105, +- 100,46,32,69,79,70,69,114,114,111,114,32,105,115,32,114, +- 97,105,115,101,100,32,119,104,101,110,32,116,104,101,32,100, +- 97,116,97,32,105,115,32,102,111,117,110,100,32,116,111,32, +- 98,101,32,116,114,117,110,99,97,116,101,100,46,10,10,32, +- 32,32,32,78,114,31,0,0,0,122,20,98,97,100,32,109, +- 97,103,105,99,32,110,117,109,98,101,114,32,105,110,32,122, +- 2,58,32,250,2,123,125,233,16,0,0,0,122,40,114,101, +- 97,99,104,101,100,32,69,79,70,32,119,104,105,108,101,32, +- 114,101,97,100,105,110,103,32,112,121,99,32,104,101,97,100, +- 101,114,32,111,102,32,233,8,0,0,0,233,252,255,255,255, +- 122,14,105,110,118,97,108,105,100,32,102,108,97,103,115,32, +- 122,4,32,105,110,32,41,7,218,12,77,65,71,73,67,95, +- 78,85,77,66,69,82,114,159,0,0,0,218,16,95,118,101, +- 114,98,111,115,101,95,109,101,115,115,97,103,101,114,142,0, +- 0,0,114,4,0,0,0,218,8,69,79,70,69,114,114,111, +- 114,114,42,0,0,0,41,6,114,41,0,0,0,114,141,0, +- 0,0,218,11,101,120,99,95,100,101,116,97,105,108,115,90, +- 5,109,97,103,105,99,114,117,0,0,0,114,16,0,0,0, +- 114,7,0,0,0,114,7,0,0,0,114,8,0,0,0,218, +- 13,95,99,108,97,115,115,105,102,121,95,112,121,99,73,2, +- 0,0,115,28,0,0,0,12,16,8,1,16,1,12,1,16, +- 1,12,1,10,1,12,1,8,1,16,1,8,2,16,1,16, +- 1,4,1,114,176,0,0,0,99,5,0,0,0,0,0,0, +- 0,0,0,0,0,6,0,0,0,4,0,0,0,67,0,0, +- 0,115,124,0,0,0,116,0,124,0,100,1,100,2,133,2, +- 25,0,131,1,124,1,100,3,64,0,107,3,114,31,100,4, +- 124,3,155,2,157,2,125,5,116,1,160,2,100,5,124,5, +- 161,2,1,0,116,3,124,5,102,1,105,0,124,4,164,1, +- 142,1,130,1,124,2,100,6,117,1,114,58,116,0,124,0, +- 100,2,100,7,133,2,25,0,131,1,124,2,100,3,64,0, +- 107,3,114,60,116,3,100,4,124,3,155,2,157,2,102,1, +- 105,0,124,4,164,1,142,1,130,1,100,6,83,0,100,6, +- 83,0,41,8,97,7,2,0,0,86,97,108,105,100,97,116, +- 101,32,97,32,112,121,99,32,97,103,97,105,110,115,116,32, +- 116,104,101,32,115,111,117,114,99,101,32,108,97,115,116,45, +- 109,111,100,105,102,105,101,100,32,116,105,109,101,46,10,10, +- 32,32,32,32,42,100,97,116,97,42,32,105,115,32,116,104, +- 101,32,99,111,110,116,101,110,116,115,32,111,102,32,116,104, +- 101,32,112,121,99,32,102,105,108,101,46,32,40,79,110,108, +- 121,32,116,104,101,32,102,105,114,115,116,32,49,54,32,98, +- 121,116,101,115,32,97,114,101,10,32,32,32,32,114,101,113, +- 117,105,114,101,100,46,41,10,10,32,32,32,32,42,115,111, +- 117,114,99,101,95,109,116,105,109,101,42,32,105,115,32,116, +- 104,101,32,108,97,115,116,32,109,111,100,105,102,105,101,100, +- 32,116,105,109,101,115,116,97,109,112,32,111,102,32,116,104, +- 101,32,115,111,117,114,99,101,32,102,105,108,101,46,10,10, +- 32,32,32,32,42,115,111,117,114,99,101,95,115,105,122,101, +- 42,32,105,115,32,78,111,110,101,32,111,114,32,116,104,101, +- 32,115,105,122,101,32,111,102,32,116,104,101,32,115,111,117, +- 114,99,101,32,102,105,108,101,32,105,110,32,98,121,116,101, +- 115,46,10,10,32,32,32,32,42,110,97,109,101,42,32,105, ++ 2,0,0,0,8,0,0,0,67,0,0,0,115,50,0,0, ++ 0,122,7,116,0,124,0,131,1,106,1,125,1,87,0,110, ++ 11,4,0,116,2,121,18,1,0,1,0,1,0,100,1,125, ++ 1,89,0,110,1,119,0,124,1,100,2,79,0,125,1,124, ++ 1,83,0,41,4,122,51,67,97,108,99,117,108,97,116,101, ++ 32,116,104,101,32,109,111,100,101,32,112,101,114,109,105,115, ++ 115,105,111,110,115,32,102,111,114,32,97,32,98,121,116,101, ++ 99,111,100,101,32,102,105,108,101,46,114,89,0,0,0,233, ++ 128,0,0,0,78,41,3,114,77,0,0,0,114,79,0,0, ++ 0,114,78,0,0,0,41,2,114,67,0,0,0,114,80,0, ++ 0,0,114,8,0,0,0,114,8,0,0,0,114,9,0,0, ++ 0,218,10,95,99,97,108,99,95,109,111,100,101,14,2,0, ++ 0,115,14,0,0,0,2,2,14,1,12,1,8,1,2,255, ++ 8,4,4,1,114,140,0,0,0,99,1,0,0,0,0,0, ++ 0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0, ++ 0,0,115,52,0,0,0,100,6,135,0,102,1,100,2,100, ++ 3,132,9,125,1,116,0,100,1,117,1,114,15,116,0,106, ++ 1,125,2,110,4,100,4,100,5,132,0,125,2,124,2,124, ++ 1,136,0,131,2,1,0,124,1,83,0,41,7,122,252,68, ++ 101,99,111,114,97,116,111,114,32,116,111,32,118,101,114,105, ++ 102,121,32,116,104,97,116,32,116,104,101,32,109,111,100,117, ++ 108,101,32,98,101,105,110,103,32,114,101,113,117,101,115,116, ++ 101,100,32,109,97,116,99,104,101,115,32,116,104,101,32,111, ++ 110,101,32,116,104,101,10,32,32,32,32,108,111,97,100,101, ++ 114,32,99,97,110,32,104,97,110,100,108,101,46,10,10,32, ++ 32,32,32,84,104,101,32,102,105,114,115,116,32,97,114,103, ++ 117,109,101,110,116,32,40,115,101,108,102,41,32,109,117,115, ++ 116,32,100,101,102,105,110,101,32,95,110,97,109,101,32,119, ++ 104,105,99,104,32,116,104,101,32,115,101,99,111,110,100,32, ++ 97,114,103,117,109,101,110,116,32,105,115,10,32,32,32,32, ++ 99,111,109,112,97,114,101,100,32,97,103,97,105,110,115,116, ++ 46,32,73,102,32,116,104,101,32,99,111,109,112,97,114,105, ++ 115,111,110,32,102,97,105,108,115,32,116,104,101,110,32,73, ++ 109,112,111,114,116,69,114,114,111,114,32,105,115,32,114,97, ++ 105,115,101,100,46,10,10,32,32,32,32,78,99,2,0,0, ++ 0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0, ++ 0,31,0,0,0,115,72,0,0,0,124,1,100,0,117,0, ++ 114,8,124,0,106,0,125,1,110,16,124,0,106,0,124,1, ++ 107,3,114,24,116,1,100,1,124,0,106,0,124,1,102,2, ++ 22,0,124,1,100,2,141,2,130,1,136,0,124,0,124,1, ++ 103,2,124,2,162,1,82,0,105,0,124,3,164,1,142,1, ++ 83,0,41,3,78,122,30,108,111,97,100,101,114,32,102,111, ++ 114,32,37,115,32,99,97,110,110,111,116,32,104,97,110,100, ++ 108,101,32,37,115,169,1,218,4,110,97,109,101,41,2,114, ++ 142,0,0,0,218,11,73,109,112,111,114,116,69,114,114,111, ++ 114,41,4,218,4,115,101,108,102,114,142,0,0,0,218,4, ++ 97,114,103,115,218,6,107,119,97,114,103,115,169,1,218,6, ++ 109,101,116,104,111,100,114,8,0,0,0,114,9,0,0,0, ++ 218,19,95,99,104,101,99,107,95,110,97,109,101,95,119,114, ++ 97,112,112,101,114,34,2,0,0,115,18,0,0,0,8,1, ++ 8,1,10,1,4,1,8,1,2,255,2,1,6,255,24,2, ++ 122,40,95,99,104,101,99,107,95,110,97,109,101,46,60,108, ++ 111,99,97,108,115,62,46,95,99,104,101,99,107,95,110,97, ++ 109,101,95,119,114,97,112,112,101,114,99,2,0,0,0,0, ++ 0,0,0,0,0,0,0,3,0,0,0,7,0,0,0,83, ++ 0,0,0,115,56,0,0,0,100,1,68,0,93,16,125,2, ++ 116,0,124,1,124,2,131,2,114,18,116,1,124,0,124,2, ++ 116,2,124,1,124,2,131,2,131,3,1,0,113,2,124,0, ++ 106,3,160,4,124,1,106,3,161,1,1,0,100,0,83,0, ++ 41,2,78,41,4,218,10,95,95,109,111,100,117,108,101,95, ++ 95,218,8,95,95,110,97,109,101,95,95,218,12,95,95,113, ++ 117,97,108,110,97,109,101,95,95,218,7,95,95,100,111,99, ++ 95,95,41,5,218,7,104,97,115,97,116,116,114,218,7,115, ++ 101,116,97,116,116,114,218,7,103,101,116,97,116,116,114,218, ++ 8,95,95,100,105,99,116,95,95,218,6,117,112,100,97,116, ++ 101,41,3,90,3,110,101,119,90,3,111,108,100,114,87,0, ++ 0,0,114,8,0,0,0,114,8,0,0,0,114,9,0,0, ++ 0,218,5,95,119,114,97,112,47,2,0,0,115,10,0,0, ++ 0,8,1,10,1,18,1,2,128,18,1,122,26,95,99,104, ++ 101,99,107,95,110,97,109,101,46,60,108,111,99,97,108,115, ++ 62,46,95,119,114,97,112,114,71,0,0,0,41,2,218,10, ++ 95,98,111,111,116,115,116,114,97,112,114,159,0,0,0,41, ++ 3,114,148,0,0,0,114,149,0,0,0,114,159,0,0,0, ++ 114,8,0,0,0,114,147,0,0,0,114,9,0,0,0,218, ++ 11,95,99,104,101,99,107,95,110,97,109,101,26,2,0,0, ++ 115,12,0,0,0,14,8,8,10,8,1,8,2,10,6,4, ++ 1,114,161,0,0,0,99,2,0,0,0,0,0,0,0,0, ++ 0,0,0,5,0,0,0,6,0,0,0,67,0,0,0,115, ++ 72,0,0,0,116,0,160,1,100,1,116,2,161,2,1,0, ++ 124,0,160,3,124,1,161,1,92,2,125,2,125,3,124,2, ++ 100,2,117,0,114,34,116,4,124,3,131,1,114,34,100,3, ++ 125,4,116,0,160,1,124,4,160,5,124,3,100,4,25,0, ++ 161,1,116,6,161,2,1,0,124,2,83,0,41,5,122,155, ++ 84,114,121,32,116,111,32,102,105,110,100,32,97,32,108,111, ++ 97,100,101,114,32,102,111,114,32,116,104,101,32,115,112,101, ++ 99,105,102,105,101,100,32,109,111,100,117,108,101,32,98,121, ++ 32,100,101,108,101,103,97,116,105,110,103,32,116,111,10,32, ++ 32,32,32,115,101,108,102,46,102,105,110,100,95,108,111,97, ++ 100,101,114,40,41,46,10,10,32,32,32,32,84,104,105,115, ++ 32,109,101,116,104,111,100,32,105,115,32,100,101,112,114,101, ++ 99,97,116,101,100,32,105,110,32,102,97,118,111,114,32,111, ++ 102,32,102,105,110,100,101,114,46,102,105,110,100,95,115,112, ++ 101,99,40,41,46,10,10,32,32,32,32,122,90,102,105,110, ++ 100,95,109,111,100,117,108,101,40,41,32,105,115,32,100,101, ++ 112,114,101,99,97,116,101,100,32,97,110,100,32,115,108,97, ++ 116,101,100,32,102,111,114,32,114,101,109,111,118,97,108,32, ++ 105,110,32,80,121,116,104,111,110,32,51,46,49,50,59,32, ++ 117,115,101,32,102,105,110,100,95,115,112,101,99,40,41,32, ++ 105,110,115,116,101,97,100,78,122,44,78,111,116,32,105,109, ++ 112,111,114,116,105,110,103,32,100,105,114,101,99,116,111,114, ++ 121,32,123,125,58,32,109,105,115,115,105,110,103,32,95,95, ++ 105,110,105,116,95,95,114,0,0,0,0,41,7,114,101,0, ++ 0,0,114,102,0,0,0,114,103,0,0,0,218,11,102,105, ++ 110,100,95,108,111,97,100,101,114,114,5,0,0,0,114,91, ++ 0,0,0,218,13,73,109,112,111,114,116,87,97,114,110,105, ++ 110,103,41,5,114,144,0,0,0,218,8,102,117,108,108,110, ++ 97,109,101,218,6,108,111,97,100,101,114,218,8,112,111,114, ++ 116,105,111,110,115,218,3,109,115,103,114,8,0,0,0,114, ++ 8,0,0,0,114,9,0,0,0,218,17,95,102,105,110,100, ++ 95,109,111,100,117,108,101,95,115,104,105,109,57,2,0,0, ++ 115,16,0,0,0,6,7,2,2,4,254,14,6,16,1,4, ++ 1,22,1,4,1,114,168,0,0,0,99,3,0,0,0,0, ++ 0,0,0,0,0,0,0,6,0,0,0,4,0,0,0,67, ++ 0,0,0,115,166,0,0,0,124,0,100,1,100,2,133,2, ++ 25,0,125,3,124,3,116,0,107,3,114,32,100,3,124,1, ++ 155,2,100,4,124,3,155,2,157,4,125,4,116,1,160,2, ++ 100,5,124,4,161,2,1,0,116,3,124,4,102,1,105,0, ++ 124,2,164,1,142,1,130,1,116,4,124,0,131,1,100,6, ++ 107,0,114,53,100,7,124,1,155,2,157,2,125,4,116,1, ++ 160,2,100,5,124,4,161,2,1,0,116,5,124,4,131,1, ++ 130,1,116,6,124,0,100,2,100,8,133,2,25,0,131,1, ++ 125,5,124,5,100,9,64,0,114,81,100,10,124,5,155,2, ++ 100,11,124,1,155,2,157,4,125,4,116,3,124,4,102,1, ++ 105,0,124,2,164,1,142,1,130,1,124,5,83,0,41,12, ++ 97,84,2,0,0,80,101,114,102,111,114,109,32,98,97,115, ++ 105,99,32,118,97,108,105,100,105,116,121,32,99,104,101,99, ++ 107,105,110,103,32,111,102,32,97,32,112,121,99,32,104,101, ++ 97,100,101,114,32,97,110,100,32,114,101,116,117,114,110,32, ++ 116,104,101,32,102,108,97,103,115,32,102,105,101,108,100,44, ++ 10,32,32,32,32,119,104,105,99,104,32,100,101,116,101,114, ++ 109,105,110,101,115,32,104,111,119,32,116,104,101,32,112,121, ++ 99,32,115,104,111,117,108,100,32,98,101,32,102,117,114,116, ++ 104,101,114,32,118,97,108,105,100,97,116,101,100,32,97,103, ++ 97,105,110,115,116,32,116,104,101,32,115,111,117,114,99,101, ++ 46,10,10,32,32,32,32,42,100,97,116,97,42,32,105,115, ++ 32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102, ++ 32,116,104,101,32,112,121,99,32,102,105,108,101,46,32,40, ++ 79,110,108,121,32,116,104,101,32,102,105,114,115,116,32,49, ++ 54,32,98,121,116,101,115,32,97,114,101,10,32,32,32,32, ++ 114,101,113,117,105,114,101,100,44,32,116,104,111,117,103,104, ++ 46,41,10,10,32,32,32,32,42,110,97,109,101,42,32,105, + 115,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104, + 101,32,109,111,100,117,108,101,32,98,101,105,110,103,32,105, + 109,112,111,114,116,101,100,46,32,73,116,32,105,115,32,117, +@@ -822,1946 +757,2014 @@ const unsigned char _Py_M__importlib_bootstrap_external[] = { + 112,111,114,116,69,114,114,111,114,32,105,102,32,105,116,32, + 114,97,105,115,101,100,32,102,111,114,10,32,32,32,32,105, + 109,112,114,111,118,101,100,32,100,101,98,117,103,103,105,110, +- 103,46,10,10,32,32,32,32,65,110,32,73,109,112,111,114, +- 116,69,114,114,111,114,32,105,115,32,114,97,105,115,101,100, +- 32,105,102,32,116,104,101,32,98,121,116,101,99,111,100,101, +- 32,105,115,32,115,116,97,108,101,46,10,10,32,32,32,32, +- 114,170,0,0,0,233,12,0,0,0,114,30,0,0,0,122, +- 22,98,121,116,101,99,111,100,101,32,105,115,32,115,116,97, +- 108,101,32,102,111,114,32,114,168,0,0,0,78,114,169,0, +- 0,0,41,4,114,42,0,0,0,114,159,0,0,0,114,173, +- 0,0,0,114,142,0,0,0,41,6,114,41,0,0,0,218, +- 12,115,111,117,114,99,101,95,109,116,105,109,101,218,11,115, +- 111,117,114,99,101,95,115,105,122,101,114,141,0,0,0,114, +- 175,0,0,0,114,117,0,0,0,114,7,0,0,0,114,7, +- 0,0,0,114,8,0,0,0,218,23,95,118,97,108,105,100, +- 97,116,101,95,116,105,109,101,115,116,97,109,112,95,112,121, +- 99,106,2,0,0,115,18,0,0,0,24,19,10,1,12,1, +- 16,1,8,1,22,1,2,255,22,2,8,254,114,180,0,0, +- 0,99,4,0,0,0,0,0,0,0,0,0,0,0,4,0, +- 0,0,4,0,0,0,67,0,0,0,115,42,0,0,0,124, +- 0,100,1,100,2,133,2,25,0,124,1,107,3,114,19,116, +- 0,100,3,124,2,155,2,157,2,102,1,105,0,124,3,164, +- 1,142,1,130,1,100,4,83,0,41,5,97,243,1,0,0, +- 86,97,108,105,100,97,116,101,32,97,32,104,97,115,104,45, +- 98,97,115,101,100,32,112,121,99,32,98,121,32,99,104,101, +- 99,107,105,110,103,32,116,104,101,32,114,101,97,108,32,115, +- 111,117,114,99,101,32,104,97,115,104,32,97,103,97,105,110, +- 115,116,32,116,104,101,32,111,110,101,32,105,110,10,32,32, +- 32,32,116,104,101,32,112,121,99,32,104,101,97,100,101,114, +- 46,10,10,32,32,32,32,42,100,97,116,97,42,32,105,115, +- 32,116,104,101,32,99,111,110,116,101,110,116,115,32,111,102, +- 32,116,104,101,32,112,121,99,32,102,105,108,101,46,32,40, +- 79,110,108,121,32,116,104,101,32,102,105,114,115,116,32,49, +- 54,32,98,121,116,101,115,32,97,114,101,10,32,32,32,32, +- 114,101,113,117,105,114,101,100,46,41,10,10,32,32,32,32, +- 42,115,111,117,114,99,101,95,104,97,115,104,42,32,105,115, +- 32,116,104,101,32,105,109,112,111,114,116,108,105,98,46,117, +- 116,105,108,46,115,111,117,114,99,101,95,104,97,115,104,40, +- 41,32,111,102,32,116,104,101,32,115,111,117,114,99,101,32, +- 102,105,108,101,46,10,10,32,32,32,32,42,110,97,109,101, +- 42,32,105,115,32,116,104,101,32,110,97,109,101,32,111,102, +- 32,116,104,101,32,109,111,100,117,108,101,32,98,101,105,110, +- 103,32,105,109,112,111,114,116,101,100,46,32,73,116,32,105, +- 115,32,117,115,101,100,32,102,111,114,32,108,111,103,103,105, +- 110,103,46,10,10,32,32,32,32,42,101,120,99,95,100,101, +- 116,97,105,108,115,42,32,105,115,32,97,32,100,105,99,116, +- 105,111,110,97,114,121,32,112,97,115,115,101,100,32,116,111, +- 32,73,109,112,111,114,116,69,114,114,111,114,32,105,102,32, +- 105,116,32,114,97,105,115,101,100,32,102,111,114,10,32,32, +- 32,32,105,109,112,114,111,118,101,100,32,100,101,98,117,103, +- 103,105,110,103,46,10,10,32,32,32,32,65,110,32,73,109, +- 112,111,114,116,69,114,114,111,114,32,105,115,32,114,97,105, +- 115,101,100,32,105,102,32,116,104,101,32,98,121,116,101,99, +- 111,100,101,32,105,115,32,115,116,97,108,101,46,10,10,32, +- 32,32,32,114,170,0,0,0,114,169,0,0,0,122,46,104, +- 97,115,104,32,105,110,32,98,121,116,101,99,111,100,101,32, +- 100,111,101,115,110,39,116,32,109,97,116,99,104,32,104,97, +- 115,104,32,111,102,32,115,111,117,114,99,101,32,78,41,1, +- 114,142,0,0,0,41,4,114,41,0,0,0,218,11,115,111, +- 117,114,99,101,95,104,97,115,104,114,141,0,0,0,114,175, +- 0,0,0,114,7,0,0,0,114,7,0,0,0,114,8,0, +- 0,0,218,18,95,118,97,108,105,100,97,116,101,95,104,97, +- 115,104,95,112,121,99,134,2,0,0,115,14,0,0,0,16, +- 17,2,1,8,1,4,255,2,2,6,254,4,255,114,182,0, +- 0,0,99,4,0,0,0,0,0,0,0,0,0,0,0,5, +- 0,0,0,5,0,0,0,67,0,0,0,115,76,0,0,0, +- 116,0,160,1,124,0,161,1,125,4,116,2,124,4,116,3, +- 131,2,114,28,116,4,160,5,100,1,124,2,161,2,1,0, +- 124,3,100,2,117,1,114,26,116,6,160,7,124,4,124,3, +- 161,2,1,0,124,4,83,0,116,8,100,3,160,9,124,2, +- 161,1,124,1,124,2,100,4,141,3,130,1,41,5,122,35, +- 67,111,109,112,105,108,101,32,98,121,116,101,99,111,100,101, +- 32,97,115,32,102,111,117,110,100,32,105,110,32,97,32,112, +- 121,99,46,122,21,99,111,100,101,32,111,98,106,101,99,116, +- 32,102,114,111,109,32,123,33,114,125,78,122,23,78,111,110, +- 45,99,111,100,101,32,111,98,106,101,99,116,32,105,110,32, +- 123,33,114,125,169,2,114,141,0,0,0,114,65,0,0,0, +- 41,10,218,7,109,97,114,115,104,97,108,90,5,108,111,97, +- 100,115,218,10,105,115,105,110,115,116,97,110,99,101,218,10, +- 95,99,111,100,101,95,116,121,112,101,114,159,0,0,0,114, +- 173,0,0,0,218,4,95,105,109,112,90,16,95,102,105,120, +- 95,99,111,95,102,105,108,101,110,97,109,101,114,142,0,0, +- 0,114,89,0,0,0,41,5,114,41,0,0,0,114,141,0, +- 0,0,114,132,0,0,0,114,134,0,0,0,218,4,99,111, +- 100,101,114,7,0,0,0,114,7,0,0,0,114,8,0,0, +- 0,218,17,95,99,111,109,112,105,108,101,95,98,121,116,101, +- 99,111,100,101,158,2,0,0,115,18,0,0,0,10,2,10, +- 1,12,1,8,1,12,1,4,1,10,2,4,1,6,255,114, +- 189,0,0,0,99,3,0,0,0,0,0,0,0,0,0,0, +- 0,4,0,0,0,5,0,0,0,67,0,0,0,115,70,0, +- 0,0,116,0,116,1,131,1,125,3,124,3,160,2,116,3, +- 100,1,131,1,161,1,1,0,124,3,160,2,116,3,124,1, +- 131,1,161,1,1,0,124,3,160,2,116,3,124,2,131,1, +- 161,1,1,0,124,3,160,2,116,4,160,5,124,0,161,1, +- 161,1,1,0,124,3,83,0,41,3,122,43,80,114,111,100, +- 117,99,101,32,116,104,101,32,100,97,116,97,32,102,111,114, +- 32,97,32,116,105,109,101,115,116,97,109,112,45,98,97,115, +- 101,100,32,112,121,99,46,114,0,0,0,0,78,41,6,218, +- 9,98,121,116,101,97,114,114,97,121,114,172,0,0,0,218, +- 6,101,120,116,101,110,100,114,36,0,0,0,114,184,0,0, +- 0,218,5,100,117,109,112,115,41,4,114,188,0,0,0,218, +- 5,109,116,105,109,101,114,179,0,0,0,114,41,0,0,0, +- 114,7,0,0,0,114,7,0,0,0,114,8,0,0,0,218, +- 22,95,99,111,100,101,95,116,111,95,116,105,109,101,115,116, +- 97,109,112,95,112,121,99,171,2,0,0,115,12,0,0,0, +- 8,2,14,1,14,1,14,1,16,1,4,1,114,194,0,0, +- 0,84,99,3,0,0,0,0,0,0,0,0,0,0,0,5, +- 0,0,0,5,0,0,0,67,0,0,0,115,80,0,0,0, +- 116,0,116,1,131,1,125,3,100,1,124,2,100,1,62,0, +- 66,0,125,4,124,3,160,2,116,3,124,4,131,1,161,1, +- 1,0,116,4,124,1,131,1,100,2,107,2,115,25,74,0, +- 130,1,124,3,160,2,124,1,161,1,1,0,124,3,160,2, +- 116,5,160,6,124,0,161,1,161,1,1,0,124,3,83,0, +- 41,4,122,38,80,114,111,100,117,99,101,32,116,104,101,32, +- 100,97,116,97,32,102,111,114,32,97,32,104,97,115,104,45, +- 98,97,115,101,100,32,112,121,99,46,114,3,0,0,0,114, +- 170,0,0,0,78,41,7,114,190,0,0,0,114,172,0,0, +- 0,114,191,0,0,0,114,36,0,0,0,114,4,0,0,0, +- 114,184,0,0,0,114,192,0,0,0,41,5,114,188,0,0, +- 0,114,181,0,0,0,90,7,99,104,101,99,107,101,100,114, +- 41,0,0,0,114,16,0,0,0,114,7,0,0,0,114,7, +- 0,0,0,114,8,0,0,0,218,17,95,99,111,100,101,95, +- 116,111,95,104,97,115,104,95,112,121,99,181,2,0,0,115, +- 14,0,0,0,8,2,12,1,14,1,16,1,10,1,16,1, +- 4,1,114,195,0,0,0,99,1,0,0,0,0,0,0,0, +- 0,0,0,0,5,0,0,0,6,0,0,0,67,0,0,0, +- 115,62,0,0,0,100,1,100,2,108,0,125,1,116,1,160, +- 2,124,0,161,1,106,3,125,2,124,1,160,4,124,2,161, +- 1,125,3,116,1,160,5,100,2,100,3,161,2,125,4,124, +- 4,160,6,124,0,160,6,124,3,100,1,25,0,161,1,161, +- 1,83,0,41,4,122,121,68,101,99,111,100,101,32,98,121, +- 116,101,115,32,114,101,112,114,101,115,101,110,116,105,110,103, +- 32,115,111,117,114,99,101,32,99,111,100,101,32,97,110,100, +- 32,114,101,116,117,114,110,32,116,104,101,32,115,116,114,105, +- 110,103,46,10,10,32,32,32,32,85,110,105,118,101,114,115, +- 97,108,32,110,101,119,108,105,110,101,32,115,117,112,112,111, +- 114,116,32,105,115,32,117,115,101,100,32,105,110,32,116,104, +- 101,32,100,101,99,111,100,105,110,103,46,10,32,32,32,32, +- 114,0,0,0,0,78,84,41,7,218,8,116,111,107,101,110, +- 105,122,101,114,91,0,0,0,90,7,66,121,116,101,115,73, +- 79,90,8,114,101,97,100,108,105,110,101,90,15,100,101,116, +- 101,99,116,95,101,110,99,111,100,105,110,103,90,25,73,110, +- 99,114,101,109,101,110,116,97,108,78,101,119,108,105,110,101, +- 68,101,99,111,100,101,114,218,6,100,101,99,111,100,101,41, +- 5,218,12,115,111,117,114,99,101,95,98,121,116,101,115,114, +- 196,0,0,0,90,21,115,111,117,114,99,101,95,98,121,116, +- 101,115,95,114,101,97,100,108,105,110,101,218,8,101,110,99, +- 111,100,105,110,103,90,15,110,101,119,108,105,110,101,95,100, +- 101,99,111,100,101,114,114,7,0,0,0,114,7,0,0,0, +- 114,8,0,0,0,218,13,100,101,99,111,100,101,95,115,111, +- 117,114,99,101,192,2,0,0,115,10,0,0,0,8,5,12, +- 1,10,1,12,1,20,1,114,200,0,0,0,169,2,114,164, +- 0,0,0,218,26,115,117,98,109,111,100,117,108,101,95,115, +- 101,97,114,99,104,95,108,111,99,97,116,105,111,110,115,99, +- 2,0,0,0,0,0,0,0,2,0,0,0,9,0,0,0, +- 8,0,0,0,67,0,0,0,115,54,1,0,0,124,1,100, +- 1,117,0,114,29,100,2,125,1,116,0,124,2,100,3,131, +- 2,114,28,122,7,124,2,160,1,124,0,161,1,125,1,87, +- 0,110,38,4,0,116,2,121,27,1,0,1,0,1,0,89, +- 0,110,30,119,0,110,28,116,3,160,4,124,1,161,1,125, +- 1,116,5,124,1,131,1,115,57,122,9,116,6,116,3,160, +- 7,161,0,124,1,131,2,125,1,87,0,110,9,4,0,116, +- 8,121,56,1,0,1,0,1,0,89,0,110,1,119,0,116, +- 9,106,10,124,0,124,2,124,1,100,4,141,3,125,4,100, +- 5,124,4,95,11,124,2,100,1,117,0,114,99,116,12,131, +- 0,68,0,93,21,92,2,125,5,125,6,124,1,160,13,116, +- 14,124,6,131,1,161,1,114,96,124,5,124,0,124,1,131, +- 2,125,2,124,2,124,4,95,15,1,0,113,99,113,75,100, +- 1,83,0,124,3,116,16,117,0,114,131,116,0,124,2,100, +- 6,131,2,114,130,122,7,124,2,160,17,124,0,161,1,125, +- 7,87,0,110,9,4,0,116,2,121,124,1,0,1,0,1, +- 0,89,0,110,10,119,0,124,7,114,130,103,0,124,4,95, +- 18,110,3,124,3,124,4,95,18,124,4,106,18,103,0,107, +- 2,114,153,124,1,114,153,116,19,124,1,131,1,100,7,25, +- 0,125,8,124,4,106,18,160,20,124,8,161,1,1,0,124, +- 4,83,0,41,8,97,61,1,0,0,82,101,116,117,114,110, +- 32,97,32,109,111,100,117,108,101,32,115,112,101,99,32,98, +- 97,115,101,100,32,111,110,32,97,32,102,105,108,101,32,108, +- 111,99,97,116,105,111,110,46,10,10,32,32,32,32,84,111, +- 32,105,110,100,105,99,97,116,101,32,116,104,97,116,32,116, +- 104,101,32,109,111,100,117,108,101,32,105,115,32,97,32,112, +- 97,99,107,97,103,101,44,32,115,101,116,10,32,32,32,32, +- 115,117,98,109,111,100,117,108,101,95,115,101,97,114,99,104, +- 95,108,111,99,97,116,105,111,110,115,32,116,111,32,97,32, +- 108,105,115,116,32,111,102,32,100,105,114,101,99,116,111,114, +- 121,32,112,97,116,104,115,46,32,32,65,110,10,32,32,32, +- 32,101,109,112,116,121,32,108,105,115,116,32,105,115,32,115, +- 117,102,102,105,99,105,101,110,116,44,32,116,104,111,117,103, +- 104,32,105,116,115,32,110,111,116,32,111,116,104,101,114,119, +- 105,115,101,32,117,115,101,102,117,108,32,116,111,32,116,104, +- 101,10,32,32,32,32,105,109,112,111,114,116,32,115,121,115, +- 116,101,109,46,10,10,32,32,32,32,84,104,101,32,108,111, +- 97,100,101,114,32,109,117,115,116,32,116,97,107,101,32,97, +- 32,115,112,101,99,32,97,115,32,105,116,115,32,111,110,108, +- 121,32,95,95,105,110,105,116,95,95,40,41,32,97,114,103, +- 46,10,10,32,32,32,32,78,122,9,60,117,110,107,110,111, +- 119,110,62,218,12,103,101,116,95,102,105,108,101,110,97,109, +- 101,169,1,218,6,111,114,105,103,105,110,84,218,10,105,115, +- 95,112,97,99,107,97,103,101,114,0,0,0,0,41,21,114, +- 153,0,0,0,114,203,0,0,0,114,142,0,0,0,114,18, +- 0,0,0,114,103,0,0,0,114,86,0,0,0,114,67,0, +- 0,0,114,82,0,0,0,114,76,0,0,0,114,159,0,0, +- 0,218,10,77,111,100,117,108,101,83,112,101,99,90,13,95, +- 115,101,116,95,102,105,108,101,97,116,116,114,218,27,95,103, +- 101,116,95,115,117,112,112,111,114,116,101,100,95,102,105,108, +- 101,95,108,111,97,100,101,114,115,114,58,0,0,0,114,136, +- 0,0,0,114,164,0,0,0,218,9,95,80,79,80,85,76, +- 65,84,69,114,206,0,0,0,114,202,0,0,0,114,74,0, +- 0,0,114,61,0,0,0,41,9,114,141,0,0,0,90,8, +- 108,111,99,97,116,105,111,110,114,164,0,0,0,114,202,0, +- 0,0,218,4,115,112,101,99,218,12,108,111,97,100,101,114, +- 95,99,108,97,115,115,218,8,115,117,102,102,105,120,101,115, +- 114,206,0,0,0,90,7,100,105,114,110,97,109,101,114,7, +- 0,0,0,114,7,0,0,0,114,8,0,0,0,218,23,115, +- 112,101,99,95,102,114,111,109,95,102,105,108,101,95,108,111, +- 99,97,116,105,111,110,209,2,0,0,115,84,0,0,0,8, +- 12,4,4,10,1,2,2,14,1,12,1,4,1,2,255,2, +- 252,10,7,8,1,2,1,18,1,12,1,4,1,2,255,16, +- 9,6,1,8,3,14,1,14,1,10,1,6,1,4,1,2, +- 253,4,5,8,3,10,2,2,1,14,1,12,1,4,1,2, +- 255,4,3,6,1,2,128,6,2,10,1,4,1,12,1,12, +- 1,4,2,114,213,0,0,0,99,0,0,0,0,0,0,0, +- 0,0,0,0,0,0,0,0,0,4,0,0,0,64,0,0, +- 0,115,88,0,0,0,101,0,90,1,100,0,90,2,100,1, +- 90,3,100,2,90,4,100,3,90,5,101,6,111,15,100,4, +- 101,7,118,0,90,8,101,9,100,5,100,6,132,0,131,1, +- 90,10,101,11,100,7,100,8,132,0,131,1,90,12,101,11, +- 100,14,100,10,100,11,132,1,131,1,90,13,101,11,100,15, +- 100,12,100,13,132,1,131,1,90,14,100,9,83,0,41,16, +- 218,21,87,105,110,100,111,119,115,82,101,103,105,115,116,114, +- 121,70,105,110,100,101,114,122,62,77,101,116,97,32,112,97, +- 116,104,32,102,105,110,100,101,114,32,102,111,114,32,109,111, +- 100,117,108,101,115,32,100,101,99,108,97,114,101,100,32,105, +- 110,32,116,104,101,32,87,105,110,100,111,119,115,32,114,101, +- 103,105,115,116,114,121,46,122,59,83,111,102,116,119,97,114, +- 101,92,80,121,116,104,111,110,92,80,121,116,104,111,110,67, +- 111,114,101,92,123,115,121,115,95,118,101,114,115,105,111,110, +- 125,92,77,111,100,117,108,101,115,92,123,102,117,108,108,110, +- 97,109,101,125,122,65,83,111,102,116,119,97,114,101,92,80, +- 121,116,104,111,110,92,80,121,116,104,111,110,67,111,114,101, +- 92,123,115,121,115,95,118,101,114,115,105,111,110,125,92,77, +- 111,100,117,108,101,115,92,123,102,117,108,108,110,97,109,101, +- 125,92,68,101,98,117,103,122,6,95,100,46,112,121,100,99, +- 1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +- 8,0,0,0,67,0,0,0,115,50,0,0,0,122,8,116, +- 0,160,1,116,0,106,2,124,0,161,2,87,0,83,0,4, +- 0,116,3,121,24,1,0,1,0,1,0,116,0,160,1,116, +- 0,106,4,124,0,161,2,6,0,89,0,83,0,119,0,114, +- 69,0,0,0,41,5,218,6,119,105,110,114,101,103,90,7, +- 79,112,101,110,75,101,121,90,17,72,75,69,89,95,67,85, +- 82,82,69,78,84,95,85,83,69,82,114,76,0,0,0,90, +- 18,72,75,69,89,95,76,79,67,65,76,95,77,65,67,72, +- 73,78,69,114,19,0,0,0,114,7,0,0,0,114,7,0, +- 0,0,114,8,0,0,0,218,14,95,111,112,101,110,95,114, +- 101,103,105,115,116,114,121,38,3,0,0,115,10,0,0,0, +- 2,2,16,1,12,1,18,1,2,255,122,36,87,105,110,100, +- 111,119,115,82,101,103,105,115,116,114,121,70,105,110,100,101, +- 114,46,95,111,112,101,110,95,114,101,103,105,115,116,114,121, +- 99,2,0,0,0,0,0,0,0,0,0,0,0,6,0,0, +- 0,8,0,0,0,67,0,0,0,115,134,0,0,0,124,0, +- 106,0,114,7,124,0,106,1,125,2,110,3,124,0,106,2, +- 125,2,124,2,106,3,124,1,100,1,116,4,106,5,100,0, +- 100,2,133,2,25,0,22,0,100,3,141,2,125,3,122,32, +- 124,0,160,6,124,3,161,1,143,16,125,4,116,7,160,8, +- 124,4,100,4,161,2,125,5,87,0,100,0,4,0,4,0, +- 131,3,1,0,87,0,124,5,83,0,49,0,115,49,119,1, +- 1,0,1,0,1,0,89,0,1,0,87,0,124,5,83,0, +- 4,0,116,9,121,66,1,0,1,0,1,0,89,0,100,0, +- 83,0,119,0,41,5,78,122,5,37,100,46,37,100,114,44, +- 0,0,0,41,2,114,163,0,0,0,90,11,115,121,115,95, +- 118,101,114,115,105,111,110,114,10,0,0,0,41,10,218,11, +- 68,69,66,85,71,95,66,85,73,76,68,218,18,82,69,71, +- 73,83,84,82,89,95,75,69,89,95,68,69,66,85,71,218, +- 12,82,69,71,73,83,84,82,89,95,75,69,89,114,89,0, +- 0,0,114,15,0,0,0,218,12,118,101,114,115,105,111,110, +- 95,105,110,102,111,114,216,0,0,0,114,215,0,0,0,90, +- 10,81,117,101,114,121,86,97,108,117,101,114,76,0,0,0, +- 41,6,218,3,99,108,115,114,163,0,0,0,90,12,114,101, +- 103,105,115,116,114,121,95,107,101,121,114,20,0,0,0,90, +- 4,104,107,101,121,218,8,102,105,108,101,112,97,116,104,114, +- 7,0,0,0,114,7,0,0,0,114,8,0,0,0,218,16, +- 95,115,101,97,114,99,104,95,114,101,103,105,115,116,114,121, +- 45,3,0,0,115,32,0,0,0,6,2,8,1,6,2,6, +- 1,16,1,6,255,2,2,12,1,14,1,12,255,4,4,18, +- 252,4,4,12,254,6,1,2,255,122,38,87,105,110,100,111, +- 119,115,82,101,103,105,115,116,114,121,70,105,110,100,101,114, +- 46,95,115,101,97,114,99,104,95,114,101,103,105,115,116,114, +- 121,78,99,4,0,0,0,0,0,0,0,0,0,0,0,8, +- 0,0,0,8,0,0,0,67,0,0,0,115,120,0,0,0, +- 124,0,160,0,124,1,161,1,125,4,124,4,100,0,117,0, +- 114,11,100,0,83,0,122,6,116,1,124,4,131,1,1,0, +- 87,0,110,10,4,0,116,2,121,27,1,0,1,0,1,0, +- 89,0,100,0,83,0,119,0,116,3,131,0,68,0,93,26, +- 92,2,125,5,125,6,124,4,160,4,116,5,124,6,131,1, +- 161,1,114,57,116,6,106,7,124,1,124,5,124,1,124,4, +- 131,2,124,4,100,1,141,3,125,7,124,7,2,0,1,0, +- 83,0,113,31,100,0,83,0,41,2,78,114,204,0,0,0, +- 41,8,114,223,0,0,0,114,75,0,0,0,114,76,0,0, +- 0,114,208,0,0,0,114,58,0,0,0,114,136,0,0,0, +- 114,159,0,0,0,218,16,115,112,101,99,95,102,114,111,109, +- 95,108,111,97,100,101,114,41,8,114,221,0,0,0,114,163, +- 0,0,0,114,65,0,0,0,218,6,116,97,114,103,101,116, +- 114,222,0,0,0,114,164,0,0,0,114,212,0,0,0,114, +- 210,0,0,0,114,7,0,0,0,114,7,0,0,0,114,8, +- 0,0,0,218,9,102,105,110,100,95,115,112,101,99,60,3, +- 0,0,115,34,0,0,0,10,2,8,1,4,1,2,1,12, +- 1,12,1,6,1,2,255,14,2,14,1,6,1,8,1,2, +- 1,6,254,8,3,2,252,4,255,122,31,87,105,110,100,111, +- 119,115,82,101,103,105,115,116,114,121,70,105,110,100,101,114, +- 46,102,105,110,100,95,115,112,101,99,99,3,0,0,0,0, +- 0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,67, +- 0,0,0,115,42,0,0,0,116,0,160,1,100,1,116,2, +- 161,2,1,0,124,0,160,3,124,1,124,2,161,2,125,3, +- 124,3,100,2,117,1,114,19,124,3,106,4,83,0,100,2, +- 83,0,41,3,122,106,70,105,110,100,32,109,111,100,117,108, +- 101,32,110,97,109,101,100,32,105,110,32,116,104,101,32,114, +- 101,103,105,115,116,114,121,46,10,10,32,32,32,32,32,32, +- 32,32,84,104,105,115,32,109,101,116,104,111,100,32,105,115, +- 32,100,101,112,114,101,99,97,116,101,100,46,32,32,85,115, +- 101,32,102,105,110,100,95,115,112,101,99,40,41,32,105,110, +- 115,116,101,97,100,46,10,10,32,32,32,32,32,32,32,32, +- 122,112,87,105,110,100,111,119,115,82,101,103,105,115,116,114, +- 121,70,105,110,100,101,114,46,102,105,110,100,95,109,111,100, +- 117,108,101,40,41,32,105,115,32,100,101,112,114,101,99,97, +- 116,101,100,32,97,110,100,32,115,108,97,116,101,100,32,102, +- 111,114,32,114,101,109,111,118,97,108,32,105,110,32,80,121, +- 116,104,111,110,32,51,46,49,50,59,32,117,115,101,32,102, +- 105,110,100,95,115,112,101,99,40,41,32,105,110,115,116,101, +- 97,100,78,169,5,114,99,0,0,0,114,100,0,0,0,114, +- 101,0,0,0,114,226,0,0,0,114,164,0,0,0,169,4, +- 114,221,0,0,0,114,163,0,0,0,114,65,0,0,0,114, +- 210,0,0,0,114,7,0,0,0,114,7,0,0,0,114,8, +- 0,0,0,218,11,102,105,110,100,95,109,111,100,117,108,101, +- 76,3,0,0,115,14,0,0,0,6,7,2,2,4,254,12, +- 3,8,1,6,1,4,2,122,33,87,105,110,100,111,119,115, +- 82,101,103,105,115,116,114,121,70,105,110,100,101,114,46,102, +- 105,110,100,95,109,111,100,117,108,101,169,2,78,78,114,69, +- 0,0,0,41,15,114,150,0,0,0,114,149,0,0,0,114, +- 151,0,0,0,114,152,0,0,0,114,219,0,0,0,114,218, +- 0,0,0,218,11,95,77,83,95,87,73,78,68,79,87,83, +- 218,18,69,88,84,69,78,83,73,79,78,95,83,85,70,70, +- 73,88,69,83,114,217,0,0,0,218,12,115,116,97,116,105, +- 99,109,101,116,104,111,100,114,216,0,0,0,218,11,99,108, +- 97,115,115,109,101,116,104,111,100,114,223,0,0,0,114,226, +- 0,0,0,114,229,0,0,0,114,7,0,0,0,114,7,0, +- 0,0,114,7,0,0,0,114,8,0,0,0,114,214,0,0, +- 0,26,3,0,0,115,30,0,0,0,8,0,4,2,2,3, +- 2,255,2,4,2,255,12,3,2,2,10,1,2,6,10,1, +- 2,14,12,1,2,15,16,1,114,214,0,0,0,99,0,0, +- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0, +- 0,0,64,0,0,0,115,48,0,0,0,101,0,90,1,100, +- 0,90,2,100,1,90,3,100,2,100,3,132,0,90,4,100, +- 4,100,5,132,0,90,5,100,6,100,7,132,0,90,6,100, +- 8,100,9,132,0,90,7,100,10,83,0,41,11,218,13,95, +- 76,111,97,100,101,114,66,97,115,105,99,115,122,83,66,97, +- 115,101,32,99,108,97,115,115,32,111,102,32,99,111,109,109, +- 111,110,32,99,111,100,101,32,110,101,101,100,101,100,32,98, +- 121,32,98,111,116,104,32,83,111,117,114,99,101,76,111,97, +- 100,101,114,32,97,110,100,10,32,32,32,32,83,111,117,114, +- 99,101,108,101,115,115,70,105,108,101,76,111,97,100,101,114, +- 46,99,2,0,0,0,0,0,0,0,0,0,0,0,5,0, +- 0,0,4,0,0,0,67,0,0,0,115,64,0,0,0,116, +- 0,124,0,160,1,124,1,161,1,131,1,100,1,25,0,125, +- 2,124,2,160,2,100,2,100,1,161,2,100,3,25,0,125, +- 3,124,1,160,3,100,2,161,1,100,4,25,0,125,4,124, +- 3,100,5,107,2,111,31,124,4,100,5,107,3,83,0,41, +- 7,122,141,67,111,110,99,114,101,116,101,32,105,109,112,108, +- 101,109,101,110,116,97,116,105,111,110,32,111,102,32,73,110, +- 115,112,101,99,116,76,111,97,100,101,114,46,105,115,95,112, +- 97,99,107,97,103,101,32,98,121,32,99,104,101,99,107,105, +- 110,103,32,105,102,10,32,32,32,32,32,32,32,32,116,104, +- 101,32,112,97,116,104,32,114,101,116,117,114,110,101,100,32, +- 98,121,32,103,101,116,95,102,105,108,101,110,97,109,101,32, +- 104,97,115,32,97,32,102,105,108,101,110,97,109,101,32,111, +- 102,32,39,95,95,105,110,105,116,95,95,46,112,121,39,46, +- 114,3,0,0,0,114,97,0,0,0,114,0,0,0,0,114, +- 44,0,0,0,218,8,95,95,105,110,105,116,95,95,78,41, +- 4,114,74,0,0,0,114,203,0,0,0,114,125,0,0,0, +- 114,104,0,0,0,41,5,114,143,0,0,0,114,163,0,0, +- 0,114,120,0,0,0,90,13,102,105,108,101,110,97,109,101, +- 95,98,97,115,101,90,9,116,97,105,108,95,110,97,109,101, +- 114,7,0,0,0,114,7,0,0,0,114,8,0,0,0,114, +- 206,0,0,0,98,3,0,0,115,8,0,0,0,18,3,16, +- 1,14,1,16,1,122,24,95,76,111,97,100,101,114,66,97, +- 115,105,99,115,46,105,115,95,112,97,99,107,97,103,101,99, +- 2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, +- 1,0,0,0,67,0,0,0,114,23,0,0,0,169,2,122, +- 42,85,115,101,32,100,101,102,97,117,108,116,32,115,101,109, +- 97,110,116,105,99,115,32,102,111,114,32,109,111,100,117,108, +- 101,32,99,114,101,97,116,105,111,110,46,78,114,7,0,0, +- 0,169,2,114,143,0,0,0,114,210,0,0,0,114,7,0, +- 0,0,114,7,0,0,0,114,8,0,0,0,218,13,99,114, +- 101,97,116,101,95,109,111,100,117,108,101,106,3,0,0,243, +- 2,0,0,0,4,0,122,27,95,76,111,97,100,101,114,66, +- 97,115,105,99,115,46,99,114,101,97,116,101,95,109,111,100, ++ 103,46,10,10,32,32,32,32,73,109,112,111,114,116,69,114, ++ 114,111,114,32,105,115,32,114,97,105,115,101,100,32,119,104, ++ 101,110,32,116,104,101,32,109,97,103,105,99,32,110,117,109, ++ 98,101,114,32,105,115,32,105,110,99,111,114,114,101,99,116, ++ 32,111,114,32,119,104,101,110,32,116,104,101,32,102,108,97, ++ 103,115,10,32,32,32,32,102,105,101,108,100,32,105,115,32, ++ 105,110,118,97,108,105,100,46,32,69,79,70,69,114,114,111, ++ 114,32,105,115,32,114,97,105,115,101,100,32,119,104,101,110, ++ 32,116,104,101,32,100,97,116,97,32,105,115,32,102,111,117, ++ 110,100,32,116,111,32,98,101,32,116,114,117,110,99,97,116, ++ 101,100,46,10,10,32,32,32,32,78,114,33,0,0,0,122, ++ 20,98,97,100,32,109,97,103,105,99,32,110,117,109,98,101, ++ 114,32,105,110,32,122,2,58,32,250,2,123,125,233,16,0, ++ 0,0,122,40,114,101,97,99,104,101,100,32,69,79,70,32, ++ 119,104,105,108,101,32,114,101,97,100,105,110,103,32,112,121, ++ 99,32,104,101,97,100,101,114,32,111,102,32,233,8,0,0, ++ 0,233,252,255,255,255,122,14,105,110,118,97,108,105,100,32, ++ 102,108,97,103,115,32,122,4,32,105,110,32,41,7,218,12, ++ 77,65,71,73,67,95,78,85,77,66,69,82,114,160,0,0, ++ 0,218,16,95,118,101,114,98,111,115,101,95,109,101,115,115, ++ 97,103,101,114,143,0,0,0,114,5,0,0,0,218,8,69, ++ 79,70,69,114,114,111,114,114,44,0,0,0,41,6,114,43, ++ 0,0,0,114,142,0,0,0,218,11,101,120,99,95,100,101, ++ 116,97,105,108,115,90,5,109,97,103,105,99,114,119,0,0, ++ 0,114,17,0,0,0,114,8,0,0,0,114,8,0,0,0, ++ 114,9,0,0,0,218,13,95,99,108,97,115,115,105,102,121, ++ 95,112,121,99,77,2,0,0,115,28,0,0,0,12,16,8, ++ 1,16,1,12,1,16,1,12,1,10,1,12,1,8,1,16, ++ 1,8,2,16,1,16,1,4,1,114,177,0,0,0,99,5, ++ 0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,4, ++ 0,0,0,67,0,0,0,115,124,0,0,0,116,0,124,0, ++ 100,1,100,2,133,2,25,0,131,1,124,1,100,3,64,0, ++ 107,3,114,31,100,4,124,3,155,2,157,2,125,5,116,1, ++ 160,2,100,5,124,5,161,2,1,0,116,3,124,5,102,1, ++ 105,0,124,4,164,1,142,1,130,1,124,2,100,6,117,1, ++ 114,58,116,0,124,0,100,2,100,7,133,2,25,0,131,1, ++ 124,2,100,3,64,0,107,3,114,60,116,3,100,4,124,3, ++ 155,2,157,2,102,1,105,0,124,4,164,1,142,1,130,1, ++ 100,6,83,0,100,6,83,0,41,8,97,7,2,0,0,86, ++ 97,108,105,100,97,116,101,32,97,32,112,121,99,32,97,103, ++ 97,105,110,115,116,32,116,104,101,32,115,111,117,114,99,101, ++ 32,108,97,115,116,45,109,111,100,105,102,105,101,100,32,116, ++ 105,109,101,46,10,10,32,32,32,32,42,100,97,116,97,42, ++ 32,105,115,32,116,104,101,32,99,111,110,116,101,110,116,115, ++ 32,111,102,32,116,104,101,32,112,121,99,32,102,105,108,101, ++ 46,32,40,79,110,108,121,32,116,104,101,32,102,105,114,115, ++ 116,32,49,54,32,98,121,116,101,115,32,97,114,101,10,32, ++ 32,32,32,114,101,113,117,105,114,101,100,46,41,10,10,32, ++ 32,32,32,42,115,111,117,114,99,101,95,109,116,105,109,101, ++ 42,32,105,115,32,116,104,101,32,108,97,115,116,32,109,111, ++ 100,105,102,105,101,100,32,116,105,109,101,115,116,97,109,112, ++ 32,111,102,32,116,104,101,32,115,111,117,114,99,101,32,102, ++ 105,108,101,46,10,10,32,32,32,32,42,115,111,117,114,99, ++ 101,95,115,105,122,101,42,32,105,115,32,78,111,110,101,32, ++ 111,114,32,116,104,101,32,115,105,122,101,32,111,102,32,116, ++ 104,101,32,115,111,117,114,99,101,32,102,105,108,101,32,105, ++ 110,32,98,121,116,101,115,46,10,10,32,32,32,32,42,110, ++ 97,109,101,42,32,105,115,32,116,104,101,32,110,97,109,101, ++ 32,111,102,32,116,104,101,32,109,111,100,117,108,101,32,98, ++ 101,105,110,103,32,105,109,112,111,114,116,101,100,46,32,73, ++ 116,32,105,115,32,117,115,101,100,32,102,111,114,32,108,111, ++ 103,103,105,110,103,46,10,10,32,32,32,32,42,101,120,99, ++ 95,100,101,116,97,105,108,115,42,32,105,115,32,97,32,100, ++ 105,99,116,105,111,110,97,114,121,32,112,97,115,115,101,100, ++ 32,116,111,32,73,109,112,111,114,116,69,114,114,111,114,32, ++ 105,102,32,105,116,32,114,97,105,115,101,100,32,102,111,114, ++ 10,32,32,32,32,105,109,112,114,111,118,101,100,32,100,101, ++ 98,117,103,103,105,110,103,46,10,10,32,32,32,32,65,110, ++ 32,73,109,112,111,114,116,69,114,114,111,114,32,105,115,32, ++ 114,97,105,115,101,100,32,105,102,32,116,104,101,32,98,121, ++ 116,101,99,111,100,101,32,105,115,32,115,116,97,108,101,46, ++ 10,10,32,32,32,32,114,171,0,0,0,233,12,0,0,0, ++ 114,32,0,0,0,122,22,98,121,116,101,99,111,100,101,32, ++ 105,115,32,115,116,97,108,101,32,102,111,114,32,114,169,0, ++ 0,0,78,114,170,0,0,0,41,4,114,44,0,0,0,114, ++ 160,0,0,0,114,174,0,0,0,114,143,0,0,0,41,6, ++ 114,43,0,0,0,218,12,115,111,117,114,99,101,95,109,116, ++ 105,109,101,218,11,115,111,117,114,99,101,95,115,105,122,101, ++ 114,142,0,0,0,114,176,0,0,0,114,119,0,0,0,114, ++ 8,0,0,0,114,8,0,0,0,114,9,0,0,0,218,23, ++ 95,118,97,108,105,100,97,116,101,95,116,105,109,101,115,116, ++ 97,109,112,95,112,121,99,110,2,0,0,115,18,0,0,0, ++ 24,19,10,1,12,1,16,1,8,1,22,1,2,255,22,2, ++ 8,254,114,181,0,0,0,99,4,0,0,0,0,0,0,0, ++ 0,0,0,0,4,0,0,0,4,0,0,0,67,0,0,0, ++ 115,42,0,0,0,124,0,100,1,100,2,133,2,25,0,124, ++ 1,107,3,114,19,116,0,100,3,124,2,155,2,157,2,102, ++ 1,105,0,124,3,164,1,142,1,130,1,100,4,83,0,41, ++ 5,97,243,1,0,0,86,97,108,105,100,97,116,101,32,97, ++ 32,104,97,115,104,45,98,97,115,101,100,32,112,121,99,32, ++ 98,121,32,99,104,101,99,107,105,110,103,32,116,104,101,32, ++ 114,101,97,108,32,115,111,117,114,99,101,32,104,97,115,104, ++ 32,97,103,97,105,110,115,116,32,116,104,101,32,111,110,101, ++ 32,105,110,10,32,32,32,32,116,104,101,32,112,121,99,32, ++ 104,101,97,100,101,114,46,10,10,32,32,32,32,42,100,97, ++ 116,97,42,32,105,115,32,116,104,101,32,99,111,110,116,101, ++ 110,116,115,32,111,102,32,116,104,101,32,112,121,99,32,102, ++ 105,108,101,46,32,40,79,110,108,121,32,116,104,101,32,102, ++ 105,114,115,116,32,49,54,32,98,121,116,101,115,32,97,114, ++ 101,10,32,32,32,32,114,101,113,117,105,114,101,100,46,41, ++ 10,10,32,32,32,32,42,115,111,117,114,99,101,95,104,97, ++ 115,104,42,32,105,115,32,116,104,101,32,105,109,112,111,114, ++ 116,108,105,98,46,117,116,105,108,46,115,111,117,114,99,101, ++ 95,104,97,115,104,40,41,32,111,102,32,116,104,101,32,115, ++ 111,117,114,99,101,32,102,105,108,101,46,10,10,32,32,32, ++ 32,42,110,97,109,101,42,32,105,115,32,116,104,101,32,110, ++ 97,109,101,32,111,102,32,116,104,101,32,109,111,100,117,108, ++ 101,32,98,101,105,110,103,32,105,109,112,111,114,116,101,100, ++ 46,32,73,116,32,105,115,32,117,115,101,100,32,102,111,114, ++ 32,108,111,103,103,105,110,103,46,10,10,32,32,32,32,42, ++ 101,120,99,95,100,101,116,97,105,108,115,42,32,105,115,32, ++ 97,32,100,105,99,116,105,111,110,97,114,121,32,112,97,115, ++ 115,101,100,32,116,111,32,73,109,112,111,114,116,69,114,114, ++ 111,114,32,105,102,32,105,116,32,114,97,105,115,101,100,32, ++ 102,111,114,10,32,32,32,32,105,109,112,114,111,118,101,100, ++ 32,100,101,98,117,103,103,105,110,103,46,10,10,32,32,32, ++ 32,65,110,32,73,109,112,111,114,116,69,114,114,111,114,32, ++ 105,115,32,114,97,105,115,101,100,32,105,102,32,116,104,101, ++ 32,98,121,116,101,99,111,100,101,32,105,115,32,115,116,97, ++ 108,101,46,10,10,32,32,32,32,114,171,0,0,0,114,170, ++ 0,0,0,122,46,104,97,115,104,32,105,110,32,98,121,116, ++ 101,99,111,100,101,32,100,111,101,115,110,39,116,32,109,97, ++ 116,99,104,32,104,97,115,104,32,111,102,32,115,111,117,114, ++ 99,101,32,78,41,1,114,143,0,0,0,41,4,114,43,0, ++ 0,0,218,11,115,111,117,114,99,101,95,104,97,115,104,114, ++ 142,0,0,0,114,176,0,0,0,114,8,0,0,0,114,8, ++ 0,0,0,114,9,0,0,0,218,18,95,118,97,108,105,100, ++ 97,116,101,95,104,97,115,104,95,112,121,99,138,2,0,0, ++ 115,14,0,0,0,16,17,2,1,8,1,4,255,2,2,6, ++ 254,4,255,114,183,0,0,0,99,4,0,0,0,0,0,0, ++ 0,0,0,0,0,5,0,0,0,5,0,0,0,67,0,0, ++ 0,115,76,0,0,0,116,0,160,1,124,0,161,1,125,4, ++ 116,2,124,4,116,3,131,2,114,28,116,4,160,5,100,1, ++ 124,2,161,2,1,0,124,3,100,2,117,1,114,26,116,6, ++ 160,7,124,4,124,3,161,2,1,0,124,4,83,0,116,8, ++ 100,3,160,9,124,2,161,1,124,1,124,2,100,4,141,3, ++ 130,1,41,5,122,35,67,111,109,112,105,108,101,32,98,121, ++ 116,101,99,111,100,101,32,97,115,32,102,111,117,110,100,32, ++ 105,110,32,97,32,112,121,99,46,122,21,99,111,100,101,32, ++ 111,98,106,101,99,116,32,102,114,111,109,32,123,33,114,125, ++ 78,122,23,78,111,110,45,99,111,100,101,32,111,98,106,101, ++ 99,116,32,105,110,32,123,33,114,125,169,2,114,142,0,0, ++ 0,114,67,0,0,0,41,10,218,7,109,97,114,115,104,97, ++ 108,90,5,108,111,97,100,115,218,10,105,115,105,110,115,116, ++ 97,110,99,101,218,10,95,99,111,100,101,95,116,121,112,101, ++ 114,160,0,0,0,114,174,0,0,0,218,4,95,105,109,112, ++ 90,16,95,102,105,120,95,99,111,95,102,105,108,101,110,97, ++ 109,101,114,143,0,0,0,114,91,0,0,0,41,5,114,43, ++ 0,0,0,114,142,0,0,0,114,133,0,0,0,114,135,0, ++ 0,0,218,4,99,111,100,101,114,8,0,0,0,114,8,0, ++ 0,0,114,9,0,0,0,218,17,95,99,111,109,112,105,108, ++ 101,95,98,121,116,101,99,111,100,101,162,2,0,0,115,18, ++ 0,0,0,10,2,10,1,12,1,8,1,12,1,4,1,10, ++ 2,4,1,6,255,114,190,0,0,0,99,3,0,0,0,0, ++ 0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,67, ++ 0,0,0,115,70,0,0,0,116,0,116,1,131,1,125,3, ++ 124,3,160,2,116,3,100,1,131,1,161,1,1,0,124,3, ++ 160,2,116,3,124,1,131,1,161,1,1,0,124,3,160,2, ++ 116,3,124,2,131,1,161,1,1,0,124,3,160,2,116,4, ++ 160,5,124,0,161,1,161,1,1,0,124,3,83,0,41,3, ++ 122,43,80,114,111,100,117,99,101,32,116,104,101,32,100,97, ++ 116,97,32,102,111,114,32,97,32,116,105,109,101,115,116,97, ++ 109,112,45,98,97,115,101,100,32,112,121,99,46,114,0,0, ++ 0,0,78,41,6,218,9,98,121,116,101,97,114,114,97,121, ++ 114,173,0,0,0,218,6,101,120,116,101,110,100,114,38,0, ++ 0,0,114,185,0,0,0,218,5,100,117,109,112,115,41,4, ++ 114,189,0,0,0,218,5,109,116,105,109,101,114,180,0,0, ++ 0,114,43,0,0,0,114,8,0,0,0,114,8,0,0,0, ++ 114,9,0,0,0,218,22,95,99,111,100,101,95,116,111,95, ++ 116,105,109,101,115,116,97,109,112,95,112,121,99,175,2,0, ++ 0,115,12,0,0,0,8,2,14,1,14,1,14,1,16,1, ++ 4,1,114,195,0,0,0,84,99,3,0,0,0,0,0,0, ++ 0,0,0,0,0,5,0,0,0,5,0,0,0,67,0,0, ++ 0,115,80,0,0,0,116,0,116,1,131,1,125,3,100,1, ++ 124,2,100,1,62,0,66,0,125,4,124,3,160,2,116,3, ++ 124,4,131,1,161,1,1,0,116,4,124,1,131,1,100,2, ++ 107,2,115,25,74,0,130,1,124,3,160,2,124,1,161,1, ++ 1,0,124,3,160,2,116,5,160,6,124,0,161,1,161,1, ++ 1,0,124,3,83,0,41,4,122,38,80,114,111,100,117,99, ++ 101,32,116,104,101,32,100,97,116,97,32,102,111,114,32,97, ++ 32,104,97,115,104,45,98,97,115,101,100,32,112,121,99,46, ++ 114,4,0,0,0,114,171,0,0,0,78,41,7,114,191,0, ++ 0,0,114,173,0,0,0,114,192,0,0,0,114,38,0,0, ++ 0,114,5,0,0,0,114,185,0,0,0,114,193,0,0,0, ++ 41,5,114,189,0,0,0,114,182,0,0,0,90,7,99,104, ++ 101,99,107,101,100,114,43,0,0,0,114,17,0,0,0,114, ++ 8,0,0,0,114,8,0,0,0,114,9,0,0,0,218,17, ++ 95,99,111,100,101,95,116,111,95,104,97,115,104,95,112,121, ++ 99,185,2,0,0,115,14,0,0,0,8,2,12,1,14,1, ++ 16,1,10,1,16,1,4,1,114,196,0,0,0,99,1,0, ++ 0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0, ++ 0,0,67,0,0,0,115,62,0,0,0,100,1,100,2,108, ++ 0,125,1,116,1,160,2,124,0,161,1,106,3,125,2,124, ++ 1,160,4,124,2,161,1,125,3,116,1,160,5,100,2,100, ++ 3,161,2,125,4,124,4,160,6,124,0,160,6,124,3,100, ++ 1,25,0,161,1,161,1,83,0,41,4,122,121,68,101,99, ++ 111,100,101,32,98,121,116,101,115,32,114,101,112,114,101,115, ++ 101,110,116,105,110,103,32,115,111,117,114,99,101,32,99,111, ++ 100,101,32,97,110,100,32,114,101,116,117,114,110,32,116,104, ++ 101,32,115,116,114,105,110,103,46,10,10,32,32,32,32,85, ++ 110,105,118,101,114,115,97,108,32,110,101,119,108,105,110,101, ++ 32,115,117,112,112,111,114,116,32,105,115,32,117,115,101,100, ++ 32,105,110,32,116,104,101,32,100,101,99,111,100,105,110,103, ++ 46,10,32,32,32,32,114,0,0,0,0,78,84,41,7,218, ++ 8,116,111,107,101,110,105,122,101,114,93,0,0,0,90,7, ++ 66,121,116,101,115,73,79,90,8,114,101,97,100,108,105,110, ++ 101,90,15,100,101,116,101,99,116,95,101,110,99,111,100,105, ++ 110,103,90,25,73,110,99,114,101,109,101,110,116,97,108,78, ++ 101,119,108,105,110,101,68,101,99,111,100,101,114,218,6,100, ++ 101,99,111,100,101,41,5,218,12,115,111,117,114,99,101,95, ++ 98,121,116,101,115,114,197,0,0,0,90,21,115,111,117,114, ++ 99,101,95,98,121,116,101,115,95,114,101,97,100,108,105,110, ++ 101,218,8,101,110,99,111,100,105,110,103,90,15,110,101,119, ++ 108,105,110,101,95,100,101,99,111,100,101,114,114,8,0,0, ++ 0,114,8,0,0,0,114,9,0,0,0,218,13,100,101,99, ++ 111,100,101,95,115,111,117,114,99,101,196,2,0,0,115,10, ++ 0,0,0,8,5,12,1,10,1,12,1,20,1,114,201,0, ++ 0,0,169,2,114,165,0,0,0,218,26,115,117,98,109,111, ++ 100,117,108,101,95,115,101,97,114,99,104,95,108,111,99,97, ++ 116,105,111,110,115,99,2,0,0,0,0,0,0,0,2,0, ++ 0,0,9,0,0,0,8,0,0,0,67,0,0,0,115,54, ++ 1,0,0,124,1,100,1,117,0,114,29,100,2,125,1,116, ++ 0,124,2,100,3,131,2,114,28,122,7,124,2,160,1,124, ++ 0,161,1,125,1,87,0,110,38,4,0,116,2,121,27,1, ++ 0,1,0,1,0,89,0,110,30,119,0,110,28,116,3,160, ++ 4,124,1,161,1,125,1,116,5,124,1,131,1,115,57,122, ++ 9,116,6,116,3,160,7,161,0,124,1,131,2,125,1,87, ++ 0,110,9,4,0,116,8,121,56,1,0,1,0,1,0,89, ++ 0,110,1,119,0,116,9,106,10,124,0,124,2,124,1,100, ++ 4,141,3,125,4,100,5,124,4,95,11,124,2,100,1,117, ++ 0,114,99,116,12,131,0,68,0,93,21,92,2,125,5,125, ++ 6,124,1,160,13,116,14,124,6,131,1,161,1,114,96,124, ++ 5,124,0,124,1,131,2,125,2,124,2,124,4,95,15,1, ++ 0,113,99,113,75,100,1,83,0,124,3,116,16,117,0,114, ++ 131,116,0,124,2,100,6,131,2,114,130,122,7,124,2,160, ++ 17,124,0,161,1,125,7,87,0,110,9,4,0,116,2,121, ++ 124,1,0,1,0,1,0,89,0,110,10,119,0,124,7,114, ++ 130,103,0,124,4,95,18,110,3,124,3,124,4,95,18,124, ++ 4,106,18,103,0,107,2,114,153,124,1,114,153,116,19,124, ++ 1,131,1,100,7,25,0,125,8,124,4,106,18,160,20,124, ++ 8,161,1,1,0,124,4,83,0,41,8,97,61,1,0,0, ++ 82,101,116,117,114,110,32,97,32,109,111,100,117,108,101,32, ++ 115,112,101,99,32,98,97,115,101,100,32,111,110,32,97,32, ++ 102,105,108,101,32,108,111,99,97,116,105,111,110,46,10,10, ++ 32,32,32,32,84,111,32,105,110,100,105,99,97,116,101,32, ++ 116,104,97,116,32,116,104,101,32,109,111,100,117,108,101,32, ++ 105,115,32,97,32,112,97,99,107,97,103,101,44,32,115,101, ++ 116,10,32,32,32,32,115,117,98,109,111,100,117,108,101,95, ++ 115,101,97,114,99,104,95,108,111,99,97,116,105,111,110,115, ++ 32,116,111,32,97,32,108,105,115,116,32,111,102,32,100,105, ++ 114,101,99,116,111,114,121,32,112,97,116,104,115,46,32,32, ++ 65,110,10,32,32,32,32,101,109,112,116,121,32,108,105,115, ++ 116,32,105,115,32,115,117,102,102,105,99,105,101,110,116,44, ++ 32,116,104,111,117,103,104,32,105,116,115,32,110,111,116,32, ++ 111,116,104,101,114,119,105,115,101,32,117,115,101,102,117,108, ++ 32,116,111,32,116,104,101,10,32,32,32,32,105,109,112,111, ++ 114,116,32,115,121,115,116,101,109,46,10,10,32,32,32,32, ++ 84,104,101,32,108,111,97,100,101,114,32,109,117,115,116,32, ++ 116,97,107,101,32,97,32,115,112,101,99,32,97,115,32,105, ++ 116,115,32,111,110,108,121,32,95,95,105,110,105,116,95,95, ++ 40,41,32,97,114,103,46,10,10,32,32,32,32,78,122,9, ++ 60,117,110,107,110,111,119,110,62,218,12,103,101,116,95,102, ++ 105,108,101,110,97,109,101,169,1,218,6,111,114,105,103,105, ++ 110,84,218,10,105,115,95,112,97,99,107,97,103,101,114,0, ++ 0,0,0,41,21,114,154,0,0,0,114,204,0,0,0,114, ++ 143,0,0,0,114,19,0,0,0,114,105,0,0,0,114,88, ++ 0,0,0,114,69,0,0,0,114,84,0,0,0,114,78,0, ++ 0,0,114,160,0,0,0,218,10,77,111,100,117,108,101,83, ++ 112,101,99,90,13,95,115,101,116,95,102,105,108,101,97,116, ++ 116,114,218,27,95,103,101,116,95,115,117,112,112,111,114,116, ++ 101,100,95,102,105,108,101,95,108,111,97,100,101,114,115,114, ++ 60,0,0,0,114,137,0,0,0,114,165,0,0,0,218,9, ++ 95,80,79,80,85,76,65,84,69,114,207,0,0,0,114,203, ++ 0,0,0,114,76,0,0,0,114,63,0,0,0,41,9,114, ++ 142,0,0,0,90,8,108,111,99,97,116,105,111,110,114,165, ++ 0,0,0,114,203,0,0,0,218,4,115,112,101,99,218,12, ++ 108,111,97,100,101,114,95,99,108,97,115,115,218,8,115,117, ++ 102,102,105,120,101,115,114,207,0,0,0,90,7,100,105,114, ++ 110,97,109,101,114,8,0,0,0,114,8,0,0,0,114,9, ++ 0,0,0,218,23,115,112,101,99,95,102,114,111,109,95,102, ++ 105,108,101,95,108,111,99,97,116,105,111,110,213,2,0,0, ++ 115,84,0,0,0,8,12,4,4,10,1,2,2,14,1,12, ++ 1,4,1,2,255,2,252,10,7,8,1,2,1,18,1,12, ++ 1,4,1,2,255,16,9,6,1,8,3,14,1,14,1,10, ++ 1,6,1,4,1,2,253,4,5,8,3,10,2,2,1,14, ++ 1,12,1,4,1,2,255,4,3,6,1,2,128,6,2,10, ++ 1,4,1,12,1,12,1,4,2,114,214,0,0,0,99,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, ++ 0,0,0,64,0,0,0,115,88,0,0,0,101,0,90,1, ++ 100,0,90,2,100,1,90,3,100,2,90,4,100,3,90,5, ++ 101,6,111,15,100,4,101,7,118,0,90,8,101,9,100,5, ++ 100,6,132,0,131,1,90,10,101,11,100,7,100,8,132,0, ++ 131,1,90,12,101,11,100,14,100,10,100,11,132,1,131,1, ++ 90,13,101,11,100,15,100,12,100,13,132,1,131,1,90,14, ++ 100,9,83,0,41,16,218,21,87,105,110,100,111,119,115,82, ++ 101,103,105,115,116,114,121,70,105,110,100,101,114,122,62,77, ++ 101,116,97,32,112,97,116,104,32,102,105,110,100,101,114,32, ++ 102,111,114,32,109,111,100,117,108,101,115,32,100,101,99,108, ++ 97,114,101,100,32,105,110,32,116,104,101,32,87,105,110,100, ++ 111,119,115,32,114,101,103,105,115,116,114,121,46,122,59,83, ++ 111,102,116,119,97,114,101,92,80,121,116,104,111,110,92,80, ++ 121,116,104,111,110,67,111,114,101,92,123,115,121,115,95,118, ++ 101,114,115,105,111,110,125,92,77,111,100,117,108,101,115,92, ++ 123,102,117,108,108,110,97,109,101,125,122,65,83,111,102,116, ++ 119,97,114,101,92,80,121,116,104,111,110,92,80,121,116,104, ++ 111,110,67,111,114,101,92,123,115,121,115,95,118,101,114,115, ++ 105,111,110,125,92,77,111,100,117,108,101,115,92,123,102,117, ++ 108,108,110,97,109,101,125,92,68,101,98,117,103,122,6,95, ++ 100,46,112,121,100,99,1,0,0,0,0,0,0,0,0,0, ++ 0,0,1,0,0,0,8,0,0,0,67,0,0,0,115,50, ++ 0,0,0,122,8,116,0,160,1,116,0,106,2,124,0,161, ++ 2,87,0,83,0,4,0,116,3,121,24,1,0,1,0,1, ++ 0,116,0,160,1,116,0,106,4,124,0,161,2,6,0,89, ++ 0,83,0,119,0,114,71,0,0,0,41,5,218,6,119,105, ++ 110,114,101,103,90,7,79,112,101,110,75,101,121,90,17,72, ++ 75,69,89,95,67,85,82,82,69,78,84,95,85,83,69,82, ++ 114,78,0,0,0,90,18,72,75,69,89,95,76,79,67,65, ++ 76,95,77,65,67,72,73,78,69,114,21,0,0,0,114,8, ++ 0,0,0,114,8,0,0,0,114,9,0,0,0,218,14,95, ++ 111,112,101,110,95,114,101,103,105,115,116,114,121,42,3,0, ++ 0,115,10,0,0,0,2,2,16,1,12,1,18,1,2,255, ++ 122,36,87,105,110,100,111,119,115,82,101,103,105,115,116,114, ++ 121,70,105,110,100,101,114,46,95,111,112,101,110,95,114,101, ++ 103,105,115,116,114,121,99,2,0,0,0,0,0,0,0,0, ++ 0,0,0,6,0,0,0,8,0,0,0,67,0,0,0,115, ++ 134,0,0,0,124,0,106,0,114,7,124,0,106,1,125,2, ++ 110,3,124,0,106,2,125,2,124,2,106,3,124,1,100,1, ++ 116,4,106,5,100,0,100,2,133,2,25,0,22,0,100,3, ++ 141,2,125,3,122,32,124,0,160,6,124,3,161,1,143,16, ++ 125,4,116,7,160,8,124,4,100,4,161,2,125,5,87,0, ++ 100,0,4,0,4,0,131,3,1,0,87,0,124,5,83,0, ++ 49,0,115,49,119,1,1,0,1,0,1,0,89,0,1,0, ++ 87,0,124,5,83,0,4,0,116,9,121,66,1,0,1,0, ++ 1,0,89,0,100,0,83,0,119,0,41,5,78,122,5,37, ++ 100,46,37,100,114,46,0,0,0,41,2,114,164,0,0,0, ++ 90,11,115,121,115,95,118,101,114,115,105,111,110,114,11,0, ++ 0,0,41,10,218,11,68,69,66,85,71,95,66,85,73,76, ++ 68,218,18,82,69,71,73,83,84,82,89,95,75,69,89,95, ++ 68,69,66,85,71,218,12,82,69,71,73,83,84,82,89,95, ++ 75,69,89,114,91,0,0,0,114,16,0,0,0,218,12,118, ++ 101,114,115,105,111,110,95,105,110,102,111,114,217,0,0,0, ++ 114,216,0,0,0,90,10,81,117,101,114,121,86,97,108,117, ++ 101,114,78,0,0,0,41,6,218,3,99,108,115,114,164,0, ++ 0,0,90,12,114,101,103,105,115,116,114,121,95,107,101,121, ++ 114,22,0,0,0,90,4,104,107,101,121,218,8,102,105,108, ++ 101,112,97,116,104,114,8,0,0,0,114,8,0,0,0,114, ++ 9,0,0,0,218,16,95,115,101,97,114,99,104,95,114,101, ++ 103,105,115,116,114,121,49,3,0,0,115,32,0,0,0,6, ++ 2,8,1,6,2,6,1,16,1,6,255,2,2,12,1,14, ++ 1,12,255,4,4,18,252,4,4,12,254,6,1,2,255,122, ++ 38,87,105,110,100,111,119,115,82,101,103,105,115,116,114,121, ++ 70,105,110,100,101,114,46,95,115,101,97,114,99,104,95,114, ++ 101,103,105,115,116,114,121,78,99,4,0,0,0,0,0,0, ++ 0,0,0,0,0,8,0,0,0,8,0,0,0,67,0,0, ++ 0,115,120,0,0,0,124,0,160,0,124,1,161,1,125,4, ++ 124,4,100,0,117,0,114,11,100,0,83,0,122,6,116,1, ++ 124,4,131,1,1,0,87,0,110,10,4,0,116,2,121,27, ++ 1,0,1,0,1,0,89,0,100,0,83,0,119,0,116,3, ++ 131,0,68,0,93,26,92,2,125,5,125,6,124,4,160,4, ++ 116,5,124,6,131,1,161,1,114,57,116,6,106,7,124,1, ++ 124,5,124,1,124,4,131,2,124,4,100,1,141,3,125,7, ++ 124,7,2,0,1,0,83,0,113,31,100,0,83,0,41,2, ++ 78,114,205,0,0,0,41,8,114,224,0,0,0,114,77,0, ++ 0,0,114,78,0,0,0,114,209,0,0,0,114,60,0,0, ++ 0,114,137,0,0,0,114,160,0,0,0,218,16,115,112,101, ++ 99,95,102,114,111,109,95,108,111,97,100,101,114,41,8,114, ++ 222,0,0,0,114,164,0,0,0,114,67,0,0,0,218,6, ++ 116,97,114,103,101,116,114,223,0,0,0,114,165,0,0,0, ++ 114,213,0,0,0,114,211,0,0,0,114,8,0,0,0,114, ++ 8,0,0,0,114,9,0,0,0,218,9,102,105,110,100,95, ++ 115,112,101,99,64,3,0,0,115,34,0,0,0,10,2,8, ++ 1,4,1,2,1,12,1,12,1,6,1,2,255,14,2,14, ++ 1,6,1,8,1,2,1,6,254,8,3,2,252,4,255,122, ++ 31,87,105,110,100,111,119,115,82,101,103,105,115,116,114,121, ++ 70,105,110,100,101,114,46,102,105,110,100,95,115,112,101,99, ++ 99,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0, ++ 0,4,0,0,0,67,0,0,0,115,42,0,0,0,116,0, ++ 160,1,100,1,116,2,161,2,1,0,124,0,160,3,124,1, ++ 124,2,161,2,125,3,124,3,100,2,117,1,114,19,124,3, ++ 106,4,83,0,100,2,83,0,41,3,122,106,70,105,110,100, ++ 32,109,111,100,117,108,101,32,110,97,109,101,100,32,105,110, ++ 32,116,104,101,32,114,101,103,105,115,116,114,121,46,10,10, ++ 32,32,32,32,32,32,32,32,84,104,105,115,32,109,101,116, ++ 104,111,100,32,105,115,32,100,101,112,114,101,99,97,116,101, ++ 100,46,32,32,85,115,101,32,102,105,110,100,95,115,112,101, ++ 99,40,41,32,105,110,115,116,101,97,100,46,10,10,32,32, ++ 32,32,32,32,32,32,122,112,87,105,110,100,111,119,115,82, ++ 101,103,105,115,116,114,121,70,105,110,100,101,114,46,102,105, ++ 110,100,95,109,111,100,117,108,101,40,41,32,105,115,32,100, ++ 101,112,114,101,99,97,116,101,100,32,97,110,100,32,115,108, ++ 97,116,101,100,32,102,111,114,32,114,101,109,111,118,97,108, ++ 32,105,110,32,80,121,116,104,111,110,32,51,46,49,50,59, ++ 32,117,115,101,32,102,105,110,100,95,115,112,101,99,40,41, ++ 32,105,110,115,116,101,97,100,78,169,5,114,101,0,0,0, ++ 114,102,0,0,0,114,103,0,0,0,114,227,0,0,0,114, ++ 165,0,0,0,169,4,114,222,0,0,0,114,164,0,0,0, ++ 114,67,0,0,0,114,211,0,0,0,114,8,0,0,0,114, ++ 8,0,0,0,114,9,0,0,0,218,11,102,105,110,100,95, ++ 109,111,100,117,108,101,80,3,0,0,115,14,0,0,0,6, ++ 7,2,2,4,254,12,3,8,1,6,1,4,2,122,33,87, ++ 105,110,100,111,119,115,82,101,103,105,115,116,114,121,70,105, ++ 110,100,101,114,46,102,105,110,100,95,109,111,100,117,108,101, ++ 169,2,78,78,114,71,0,0,0,41,15,114,151,0,0,0, ++ 114,150,0,0,0,114,152,0,0,0,114,153,0,0,0,114, ++ 220,0,0,0,114,219,0,0,0,218,11,95,77,83,95,87, ++ 73,78,68,79,87,83,218,18,69,88,84,69,78,83,73,79, ++ 78,95,83,85,70,70,73,88,69,83,114,218,0,0,0,218, ++ 12,115,116,97,116,105,99,109,101,116,104,111,100,114,217,0, ++ 0,0,218,11,99,108,97,115,115,109,101,116,104,111,100,114, ++ 224,0,0,0,114,227,0,0,0,114,230,0,0,0,114,8, ++ 0,0,0,114,8,0,0,0,114,8,0,0,0,114,9,0, ++ 0,0,114,215,0,0,0,30,3,0,0,115,30,0,0,0, ++ 8,0,4,2,2,3,2,255,2,4,2,255,12,3,2,2, ++ 10,1,2,6,10,1,2,14,12,1,2,15,16,1,114,215, ++ 0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,2,0,0,0,64,0,0,0,115,48,0,0, ++ 0,101,0,90,1,100,0,90,2,100,1,90,3,100,2,100, ++ 3,132,0,90,4,100,4,100,5,132,0,90,5,100,6,100, ++ 7,132,0,90,6,100,8,100,9,132,0,90,7,100,10,83, ++ 0,41,11,218,13,95,76,111,97,100,101,114,66,97,115,105, ++ 99,115,122,83,66,97,115,101,32,99,108,97,115,115,32,111, ++ 102,32,99,111,109,109,111,110,32,99,111,100,101,32,110,101, ++ 101,100,101,100,32,98,121,32,98,111,116,104,32,83,111,117, ++ 114,99,101,76,111,97,100,101,114,32,97,110,100,10,32,32, ++ 32,32,83,111,117,114,99,101,108,101,115,115,70,105,108,101, ++ 76,111,97,100,101,114,46,99,2,0,0,0,0,0,0,0, ++ 0,0,0,0,5,0,0,0,4,0,0,0,67,0,0,0, ++ 115,64,0,0,0,116,0,124,0,160,1,124,1,161,1,131, ++ 1,100,1,25,0,125,2,124,2,160,2,100,2,100,1,161, ++ 2,100,3,25,0,125,3,124,1,160,3,100,2,161,1,100, ++ 4,25,0,125,4,124,3,100,5,107,2,111,31,124,4,100, ++ 5,107,3,83,0,41,7,122,141,67,111,110,99,114,101,116, ++ 101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110, ++ 32,111,102,32,73,110,115,112,101,99,116,76,111,97,100,101, ++ 114,46,105,115,95,112,97,99,107,97,103,101,32,98,121,32, ++ 99,104,101,99,107,105,110,103,32,105,102,10,32,32,32,32, ++ 32,32,32,32,116,104,101,32,112,97,116,104,32,114,101,116, ++ 117,114,110,101,100,32,98,121,32,103,101,116,95,102,105,108, ++ 101,110,97,109,101,32,104,97,115,32,97,32,102,105,108,101, ++ 110,97,109,101,32,111,102,32,39,95,95,105,110,105,116,95, ++ 95,46,112,121,39,46,114,4,0,0,0,114,99,0,0,0, ++ 114,0,0,0,0,114,46,0,0,0,218,8,95,95,105,110, ++ 105,116,95,95,78,41,4,114,76,0,0,0,114,204,0,0, ++ 0,114,127,0,0,0,114,106,0,0,0,41,5,114,144,0, ++ 0,0,114,164,0,0,0,114,122,0,0,0,90,13,102,105, ++ 108,101,110,97,109,101,95,98,97,115,101,90,9,116,97,105, ++ 108,95,110,97,109,101,114,8,0,0,0,114,8,0,0,0, ++ 114,9,0,0,0,114,207,0,0,0,102,3,0,0,115,8, ++ 0,0,0,18,3,16,1,14,1,16,1,122,24,95,76,111, ++ 97,100,101,114,66,97,115,105,99,115,46,105,115,95,112,97, ++ 99,107,97,103,101,99,2,0,0,0,0,0,0,0,0,0, ++ 0,0,2,0,0,0,1,0,0,0,67,0,0,0,114,25, ++ 0,0,0,169,2,122,42,85,115,101,32,100,101,102,97,117, ++ 108,116,32,115,101,109,97,110,116,105,99,115,32,102,111,114, ++ 32,109,111,100,117,108,101,32,99,114,101,97,116,105,111,110, ++ 46,78,114,8,0,0,0,169,2,114,144,0,0,0,114,211, ++ 0,0,0,114,8,0,0,0,114,8,0,0,0,114,9,0, ++ 0,0,218,13,99,114,101,97,116,101,95,109,111,100,117,108, ++ 101,110,3,0,0,243,2,0,0,0,4,0,122,27,95,76, ++ 111,97,100,101,114,66,97,115,105,99,115,46,99,114,101,97, ++ 116,101,95,109,111,100,117,108,101,99,2,0,0,0,0,0, ++ 0,0,0,0,0,0,3,0,0,0,5,0,0,0,67,0, ++ 0,0,115,56,0,0,0,124,0,160,0,124,1,106,1,161, ++ 1,125,2,124,2,100,1,117,0,114,18,116,2,100,2,160, ++ 3,124,1,106,1,161,1,131,1,130,1,116,4,160,5,116, ++ 6,124,2,124,1,106,7,161,3,1,0,100,1,83,0,41, ++ 3,122,19,69,120,101,99,117,116,101,32,116,104,101,32,109, ++ 111,100,117,108,101,46,78,122,52,99,97,110,110,111,116,32, ++ 108,111,97,100,32,109,111,100,117,108,101,32,123,33,114,125, ++ 32,119,104,101,110,32,103,101,116,95,99,111,100,101,40,41, ++ 32,114,101,116,117,114,110,115,32,78,111,110,101,41,8,218, ++ 8,103,101,116,95,99,111,100,101,114,151,0,0,0,114,143, ++ 0,0,0,114,91,0,0,0,114,160,0,0,0,218,25,95, ++ 99,97,108,108,95,119,105,116,104,95,102,114,97,109,101,115, ++ 95,114,101,109,111,118,101,100,218,4,101,120,101,99,114,157, ++ 0,0,0,41,3,114,144,0,0,0,218,6,109,111,100,117, ++ 108,101,114,189,0,0,0,114,8,0,0,0,114,8,0,0, ++ 0,114,9,0,0,0,218,11,101,120,101,99,95,109,111,100, ++ 117,108,101,113,3,0,0,115,12,0,0,0,12,2,8,1, ++ 4,1,8,1,4,255,20,2,122,25,95,76,111,97,100,101, ++ 114,66,97,115,105,99,115,46,101,120,101,99,95,109,111,100, + 117,108,101,99,2,0,0,0,0,0,0,0,0,0,0,0, +- 3,0,0,0,5,0,0,0,67,0,0,0,115,56,0,0, +- 0,124,0,160,0,124,1,106,1,161,1,125,2,124,2,100, +- 1,117,0,114,18,116,2,100,2,160,3,124,1,106,1,161, +- 1,131,1,130,1,116,4,160,5,116,6,124,2,124,1,106, +- 7,161,3,1,0,100,1,83,0,41,3,122,19,69,120,101, +- 99,117,116,101,32,116,104,101,32,109,111,100,117,108,101,46, +- 78,122,52,99,97,110,110,111,116,32,108,111,97,100,32,109, +- 111,100,117,108,101,32,123,33,114,125,32,119,104,101,110,32, +- 103,101,116,95,99,111,100,101,40,41,32,114,101,116,117,114, +- 110,115,32,78,111,110,101,41,8,218,8,103,101,116,95,99, +- 111,100,101,114,150,0,0,0,114,142,0,0,0,114,89,0, +- 0,0,114,159,0,0,0,218,25,95,99,97,108,108,95,119, +- 105,116,104,95,102,114,97,109,101,115,95,114,101,109,111,118, +- 101,100,218,4,101,120,101,99,114,156,0,0,0,41,3,114, +- 143,0,0,0,218,6,109,111,100,117,108,101,114,188,0,0, +- 0,114,7,0,0,0,114,7,0,0,0,114,8,0,0,0, +- 218,11,101,120,101,99,95,109,111,100,117,108,101,109,3,0, +- 0,115,12,0,0,0,12,2,8,1,4,1,8,1,4,255, +- 20,2,122,25,95,76,111,97,100,101,114,66,97,115,105,99, +- 115,46,101,120,101,99,95,109,111,100,117,108,101,99,2,0, +- 0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0, +- 0,0,67,0,0,0,115,12,0,0,0,116,0,160,1,124, +- 0,124,1,161,2,83,0,41,2,122,26,84,104,105,115,32, +- 109,101,116,104,111,100,32,105,115,32,100,101,112,114,101,99, +- 97,116,101,100,46,78,41,2,114,159,0,0,0,218,17,95, +- 108,111,97,100,95,109,111,100,117,108,101,95,115,104,105,109, +- 169,2,114,143,0,0,0,114,163,0,0,0,114,7,0,0, +- 0,114,7,0,0,0,114,8,0,0,0,218,11,108,111,97, +- 100,95,109,111,100,117,108,101,117,3,0,0,115,2,0,0, +- 0,12,3,122,25,95,76,111,97,100,101,114,66,97,115,105, +- 99,115,46,108,111,97,100,95,109,111,100,117,108,101,78,41, +- 8,114,150,0,0,0,114,149,0,0,0,114,151,0,0,0, +- 114,152,0,0,0,114,206,0,0,0,114,239,0,0,0,114, +- 245,0,0,0,114,248,0,0,0,114,7,0,0,0,114,7, +- 0,0,0,114,7,0,0,0,114,8,0,0,0,114,235,0, +- 0,0,93,3,0,0,115,12,0,0,0,8,0,4,2,8, +- 3,8,8,8,3,12,8,114,235,0,0,0,99,0,0,0, +- 0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0, +- 0,64,0,0,0,115,74,0,0,0,101,0,90,1,100,0, +- 90,2,100,1,100,2,132,0,90,3,100,3,100,4,132,0, +- 90,4,100,5,100,6,132,0,90,5,100,7,100,8,132,0, +- 90,6,100,9,100,10,132,0,90,7,100,11,100,12,156,1, +- 100,13,100,14,132,2,90,8,100,15,100,16,132,0,90,9, +- 100,17,83,0,41,18,218,12,83,111,117,114,99,101,76,111, +- 97,100,101,114,99,2,0,0,0,0,0,0,0,0,0,0, +- 0,2,0,0,0,1,0,0,0,67,0,0,0,115,4,0, +- 0,0,116,0,130,1,41,2,122,165,79,112,116,105,111,110, +- 97,108,32,109,101,116,104,111,100,32,116,104,97,116,32,114, +- 101,116,117,114,110,115,32,116,104,101,32,109,111,100,105,102, +- 105,99,97,116,105,111,110,32,116,105,109,101,32,40,97,110, +- 32,105,110,116,41,32,102,111,114,32,116,104,101,10,32,32, +- 32,32,32,32,32,32,115,112,101,99,105,102,105,101,100,32, +- 112,97,116,104,32,40,97,32,115,116,114,41,46,10,10,32, +- 32,32,32,32,32,32,32,82,97,105,115,101,115,32,79,83, +- 69,114,114,111,114,32,119,104,101,110,32,116,104,101,32,112, +- 97,116,104,32,99,97,110,110,111,116,32,98,101,32,104,97, +- 110,100,108,101,100,46,10,32,32,32,32,32,32,32,32,78, +- 41,1,114,76,0,0,0,169,2,114,143,0,0,0,114,65, +- 0,0,0,114,7,0,0,0,114,7,0,0,0,114,8,0, +- 0,0,218,10,112,97,116,104,95,109,116,105,109,101,125,3, +- 0,0,115,2,0,0,0,4,6,122,23,83,111,117,114,99, +- 101,76,111,97,100,101,114,46,112,97,116,104,95,109,116,105, +- 109,101,99,2,0,0,0,0,0,0,0,0,0,0,0,2, +- 0,0,0,4,0,0,0,67,0,0,0,115,14,0,0,0, +- 100,1,124,0,160,0,124,1,161,1,105,1,83,0,41,3, +- 97,158,1,0,0,79,112,116,105,111,110,97,108,32,109,101, +- 116,104,111,100,32,114,101,116,117,114,110,105,110,103,32,97, +- 32,109,101,116,97,100,97,116,97,32,100,105,99,116,32,102, +- 111,114,32,116,104,101,32,115,112,101,99,105,102,105,101,100, +- 10,32,32,32,32,32,32,32,32,112,97,116,104,32,40,97, +- 32,115,116,114,41,46,10,10,32,32,32,32,32,32,32,32, +- 80,111,115,115,105,98,108,101,32,107,101,121,115,58,10,32, +- 32,32,32,32,32,32,32,45,32,39,109,116,105,109,101,39, +- 32,40,109,97,110,100,97,116,111,114,121,41,32,105,115,32, +- 116,104,101,32,110,117,109,101,114,105,99,32,116,105,109,101, +- 115,116,97,109,112,32,111,102,32,108,97,115,116,32,115,111, +- 117,114,99,101,10,32,32,32,32,32,32,32,32,32,32,99, +- 111,100,101,32,109,111,100,105,102,105,99,97,116,105,111,110, +- 59,10,32,32,32,32,32,32,32,32,45,32,39,115,105,122, +- 101,39,32,40,111,112,116,105,111,110,97,108,41,32,105,115, +- 32,116,104,101,32,115,105,122,101,32,105,110,32,98,121,116, +- 101,115,32,111,102,32,116,104,101,32,115,111,117,114,99,101, +- 32,99,111,100,101,46,10,10,32,32,32,32,32,32,32,32, +- 73,109,112,108,101,109,101,110,116,105,110,103,32,116,104,105, +- 115,32,109,101,116,104,111,100,32,97,108,108,111,119,115,32, +- 116,104,101,32,108,111,97,100,101,114,32,116,111,32,114,101, +- 97,100,32,98,121,116,101,99,111,100,101,32,102,105,108,101, +- 115,46,10,32,32,32,32,32,32,32,32,82,97,105,115,101, +- 115,32,79,83,69,114,114,111,114,32,119,104,101,110,32,116, +- 104,101,32,112,97,116,104,32,99,97,110,110,111,116,32,98, +- 101,32,104,97,110,100,108,101,100,46,10,32,32,32,32,32, +- 32,32,32,114,193,0,0,0,78,41,1,114,251,0,0,0, +- 114,250,0,0,0,114,7,0,0,0,114,7,0,0,0,114, +- 8,0,0,0,218,10,112,97,116,104,95,115,116,97,116,115, +- 133,3,0,0,115,2,0,0,0,14,12,122,23,83,111,117, +- 114,99,101,76,111,97,100,101,114,46,112,97,116,104,95,115, +- 116,97,116,115,99,4,0,0,0,0,0,0,0,0,0,0, +- 0,4,0,0,0,4,0,0,0,67,0,0,0,115,12,0, +- 0,0,124,0,160,0,124,2,124,3,161,2,83,0,41,2, +- 122,228,79,112,116,105,111,110,97,108,32,109,101,116,104,111, +- 100,32,119,104,105,99,104,32,119,114,105,116,101,115,32,100, +- 97,116,97,32,40,98,121,116,101,115,41,32,116,111,32,97, +- 32,102,105,108,101,32,112,97,116,104,32,40,97,32,115,116, +- 114,41,46,10,10,32,32,32,32,32,32,32,32,73,109,112, +- 108,101,109,101,110,116,105,110,103,32,116,104,105,115,32,109, +- 101,116,104,111,100,32,97,108,108,111,119,115,32,102,111,114, +- 32,116,104,101,32,119,114,105,116,105,110,103,32,111,102,32, +- 98,121,116,101,99,111,100,101,32,102,105,108,101,115,46,10, +- 10,32,32,32,32,32,32,32,32,84,104,101,32,115,111,117, +- 114,99,101,32,112,97,116,104,32,105,115,32,110,101,101,100, +- 101,100,32,105,110,32,111,114,100,101,114,32,116,111,32,99, +- 111,114,114,101,99,116,108,121,32,116,114,97,110,115,102,101, +- 114,32,112,101,114,109,105,115,115,105,111,110,115,10,32,32, +- 32,32,32,32,32,32,78,41,1,218,8,115,101,116,95,100, +- 97,116,97,41,4,114,143,0,0,0,114,134,0,0,0,90, +- 10,99,97,99,104,101,95,112,97,116,104,114,41,0,0,0, +- 114,7,0,0,0,114,7,0,0,0,114,8,0,0,0,218, +- 15,95,99,97,99,104,101,95,98,121,116,101,99,111,100,101, +- 147,3,0,0,115,2,0,0,0,12,8,122,28,83,111,117, +- 114,99,101,76,111,97,100,101,114,46,95,99,97,99,104,101, +- 95,98,121,116,101,99,111,100,101,99,3,0,0,0,0,0, +- 0,0,0,0,0,0,3,0,0,0,1,0,0,0,67,0, +- 0,0,114,23,0,0,0,41,2,122,150,79,112,116,105,111, +- 110,97,108,32,109,101,116,104,111,100,32,119,104,105,99,104, +- 32,119,114,105,116,101,115,32,100,97,116,97,32,40,98,121, +- 116,101,115,41,32,116,111,32,97,32,102,105,108,101,32,112, ++ 2,0,0,0,4,0,0,0,67,0,0,0,115,12,0,0, ++ 0,116,0,160,1,124,0,124,1,161,2,83,0,41,2,122, ++ 26,84,104,105,115,32,109,101,116,104,111,100,32,105,115,32, ++ 100,101,112,114,101,99,97,116,101,100,46,78,41,2,114,160, ++ 0,0,0,218,17,95,108,111,97,100,95,109,111,100,117,108, ++ 101,95,115,104,105,109,169,2,114,144,0,0,0,114,164,0, ++ 0,0,114,8,0,0,0,114,8,0,0,0,114,9,0,0, ++ 0,218,11,108,111,97,100,95,109,111,100,117,108,101,121,3, ++ 0,0,115,2,0,0,0,12,3,122,25,95,76,111,97,100, ++ 101,114,66,97,115,105,99,115,46,108,111,97,100,95,109,111, ++ 100,117,108,101,78,41,8,114,151,0,0,0,114,150,0,0, ++ 0,114,152,0,0,0,114,153,0,0,0,114,207,0,0,0, ++ 114,240,0,0,0,114,246,0,0,0,114,249,0,0,0,114, ++ 8,0,0,0,114,8,0,0,0,114,8,0,0,0,114,9, ++ 0,0,0,114,236,0,0,0,97,3,0,0,115,12,0,0, ++ 0,8,0,4,2,8,3,8,8,8,3,12,8,114,236,0, ++ 0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,3,0,0,0,64,0,0,0,115,74,0,0,0, ++ 101,0,90,1,100,0,90,2,100,1,100,2,132,0,90,3, ++ 100,3,100,4,132,0,90,4,100,5,100,6,132,0,90,5, ++ 100,7,100,8,132,0,90,6,100,9,100,10,132,0,90,7, ++ 100,11,100,12,156,1,100,13,100,14,132,2,90,8,100,15, ++ 100,16,132,0,90,9,100,17,83,0,41,18,218,12,83,111, ++ 117,114,99,101,76,111,97,100,101,114,99,2,0,0,0,0, ++ 0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,67, ++ 0,0,0,115,4,0,0,0,116,0,130,1,41,2,122,165, ++ 79,112,116,105,111,110,97,108,32,109,101,116,104,111,100,32, ++ 116,104,97,116,32,114,101,116,117,114,110,115,32,116,104,101, ++ 32,109,111,100,105,102,105,99,97,116,105,111,110,32,116,105, ++ 109,101,32,40,97,110,32,105,110,116,41,32,102,111,114,32, ++ 116,104,101,10,32,32,32,32,32,32,32,32,115,112,101,99, ++ 105,102,105,101,100,32,112,97,116,104,32,40,97,32,115,116, ++ 114,41,46,10,10,32,32,32,32,32,32,32,32,82,97,105, ++ 115,101,115,32,79,83,69,114,114,111,114,32,119,104,101,110, ++ 32,116,104,101,32,112,97,116,104,32,99,97,110,110,111,116, ++ 32,98,101,32,104,97,110,100,108,101,100,46,10,32,32,32, ++ 32,32,32,32,32,78,41,1,114,78,0,0,0,169,2,114, ++ 144,0,0,0,114,67,0,0,0,114,8,0,0,0,114,8, ++ 0,0,0,114,9,0,0,0,218,10,112,97,116,104,95,109, ++ 116,105,109,101,129,3,0,0,115,2,0,0,0,4,6,122, ++ 23,83,111,117,114,99,101,76,111,97,100,101,114,46,112,97, ++ 116,104,95,109,116,105,109,101,99,2,0,0,0,0,0,0, ++ 0,0,0,0,0,2,0,0,0,4,0,0,0,67,0,0, ++ 0,115,14,0,0,0,100,1,124,0,160,0,124,1,161,1, ++ 105,1,83,0,41,3,97,158,1,0,0,79,112,116,105,111, ++ 110,97,108,32,109,101,116,104,111,100,32,114,101,116,117,114, ++ 110,105,110,103,32,97,32,109,101,116,97,100,97,116,97,32, ++ 100,105,99,116,32,102,111,114,32,116,104,101,32,115,112,101, ++ 99,105,102,105,101,100,10,32,32,32,32,32,32,32,32,112, + 97,116,104,32,40,97,32,115,116,114,41,46,10,10,32,32, ++ 32,32,32,32,32,32,80,111,115,115,105,98,108,101,32,107, ++ 101,121,115,58,10,32,32,32,32,32,32,32,32,45,32,39, ++ 109,116,105,109,101,39,32,40,109,97,110,100,97,116,111,114, ++ 121,41,32,105,115,32,116,104,101,32,110,117,109,101,114,105, ++ 99,32,116,105,109,101,115,116,97,109,112,32,111,102,32,108, ++ 97,115,116,32,115,111,117,114,99,101,10,32,32,32,32,32, ++ 32,32,32,32,32,99,111,100,101,32,109,111,100,105,102,105, ++ 99,97,116,105,111,110,59,10,32,32,32,32,32,32,32,32, ++ 45,32,39,115,105,122,101,39,32,40,111,112,116,105,111,110, ++ 97,108,41,32,105,115,32,116,104,101,32,115,105,122,101,32, ++ 105,110,32,98,121,116,101,115,32,111,102,32,116,104,101,32, ++ 115,111,117,114,99,101,32,99,111,100,101,46,10,10,32,32, + 32,32,32,32,32,32,73,109,112,108,101,109,101,110,116,105, + 110,103,32,116,104,105,115,32,109,101,116,104,111,100,32,97, +- 108,108,111,119,115,32,102,111,114,32,116,104,101,32,119,114, +- 105,116,105,110,103,32,111,102,32,98,121,116,101,99,111,100, ++ 108,108,111,119,115,32,116,104,101,32,108,111,97,100,101,114, ++ 32,116,111,32,114,101,97,100,32,98,121,116,101,99,111,100, + 101,32,102,105,108,101,115,46,10,32,32,32,32,32,32,32, +- 32,78,114,7,0,0,0,41,3,114,143,0,0,0,114,65, +- 0,0,0,114,41,0,0,0,114,7,0,0,0,114,7,0, +- 0,0,114,8,0,0,0,114,253,0,0,0,157,3,0,0, +- 114,240,0,0,0,122,21,83,111,117,114,99,101,76,111,97, +- 100,101,114,46,115,101,116,95,100,97,116,97,99,2,0,0, +- 0,0,0,0,0,0,0,0,0,5,0,0,0,10,0,0, +- 0,67,0,0,0,115,70,0,0,0,124,0,160,0,124,1, +- 161,1,125,2,122,10,124,0,160,1,124,2,161,1,125,3, +- 87,0,116,4,124,3,131,1,83,0,4,0,116,2,121,34, +- 1,0,125,4,1,0,122,7,116,3,100,1,124,1,100,2, +- 141,2,124,4,130,2,100,3,125,4,126,4,119,1,119,0, +- 41,4,122,52,67,111,110,99,114,101,116,101,32,105,109,112, +- 108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,73, +- 110,115,112,101,99,116,76,111,97,100,101,114,46,103,101,116, +- 95,115,111,117,114,99,101,46,122,39,115,111,117,114,99,101, +- 32,110,111,116,32,97,118,97,105,108,97,98,108,101,32,116, +- 104,114,111,117,103,104,32,103,101,116,95,100,97,116,97,40, +- 41,114,140,0,0,0,78,41,5,114,203,0,0,0,218,8, +- 103,101,116,95,100,97,116,97,114,76,0,0,0,114,142,0, +- 0,0,114,200,0,0,0,41,5,114,143,0,0,0,114,163, +- 0,0,0,114,65,0,0,0,114,198,0,0,0,218,3,101, +- 120,99,114,7,0,0,0,114,7,0,0,0,114,8,0,0, +- 0,218,10,103,101,116,95,115,111,117,114,99,101,164,3,0, +- 0,115,24,0,0,0,10,2,2,1,12,1,8,4,14,253, +- 4,1,2,1,4,255,2,1,2,255,8,128,2,255,122,23, +- 83,111,117,114,99,101,76,111,97,100,101,114,46,103,101,116, +- 95,115,111,117,114,99,101,114,130,0,0,0,41,1,218,9, +- 95,111,112,116,105,109,105,122,101,99,3,0,0,0,0,0, +- 0,0,1,0,0,0,4,0,0,0,8,0,0,0,67,0, +- 0,0,115,22,0,0,0,116,0,106,1,116,2,124,1,124, +- 2,100,1,100,2,124,3,100,3,141,6,83,0,41,5,122, +- 130,82,101,116,117,114,110,32,116,104,101,32,99,111,100,101, +- 32,111,98,106,101,99,116,32,99,111,109,112,105,108,101,100, +- 32,102,114,111,109,32,115,111,117,114,99,101,46,10,10,32, +- 32,32,32,32,32,32,32,84,104,101,32,39,100,97,116,97, +- 39,32,97,114,103,117,109,101,110,116,32,99,97,110,32,98, +- 101,32,97,110,121,32,111,98,106,101,99,116,32,116,121,112, +- 101,32,116,104,97,116,32,99,111,109,112,105,108,101,40,41, +- 32,115,117,112,112,111,114,116,115,46,10,32,32,32,32,32, +- 32,32,32,114,243,0,0,0,84,41,2,218,12,100,111,110, +- 116,95,105,110,104,101,114,105,116,114,108,0,0,0,78,41, +- 3,114,159,0,0,0,114,242,0,0,0,218,7,99,111,109, +- 112,105,108,101,41,4,114,143,0,0,0,114,41,0,0,0, +- 114,65,0,0,0,114,2,1,0,0,114,7,0,0,0,114, +- 7,0,0,0,114,8,0,0,0,218,14,115,111,117,114,99, +- 101,95,116,111,95,99,111,100,101,174,3,0,0,115,6,0, +- 0,0,12,5,4,1,6,255,122,27,83,111,117,114,99,101, +- 76,111,97,100,101,114,46,115,111,117,114,99,101,95,116,111, +- 95,99,111,100,101,99,2,0,0,0,0,0,0,0,0,0, +- 0,0,15,0,0,0,9,0,0,0,67,0,0,0,115,2, +- 2,0,0,124,0,160,0,124,1,161,1,125,2,100,1,125, +- 3,100,1,125,4,100,1,125,5,100,2,125,6,100,3,125, +- 7,122,6,116,1,124,2,131,1,125,8,87,0,110,11,4, +- 0,116,2,121,32,1,0,1,0,1,0,100,1,125,8,89, +- 0,110,144,119,0,122,7,124,0,160,3,124,2,161,1,125, +- 9,87,0,110,9,4,0,116,4,121,49,1,0,1,0,1, +- 0,89,0,110,127,119,0,116,5,124,9,100,4,25,0,131, +- 1,125,3,122,7,124,0,160,6,124,8,161,1,125,10,87, +- 0,110,9,4,0,116,4,121,72,1,0,1,0,1,0,89, +- 0,110,104,119,0,124,1,124,8,100,5,156,2,125,11,122, +- 71,116,7,124,10,124,1,124,11,131,3,125,12,116,8,124, +- 10,131,1,100,6,100,1,133,2,25,0,125,13,124,12,100, +- 7,64,0,100,8,107,3,125,6,124,6,114,138,124,12,100, +- 9,64,0,100,8,107,3,125,7,116,9,106,10,100,10,107, +- 3,114,137,124,7,115,119,116,9,106,10,100,11,107,2,114, +- 137,124,0,160,6,124,2,161,1,125,4,116,9,160,11,116, +- 12,124,4,161,2,125,5,116,13,124,10,124,5,124,1,124, +- 11,131,4,1,0,110,10,116,14,124,10,124,3,124,9,100, +- 12,25,0,124,1,124,11,131,5,1,0,87,0,110,11,4, +- 0,116,15,116,16,102,2,121,160,1,0,1,0,1,0,89, +- 0,110,16,119,0,116,17,160,18,100,13,124,8,124,2,161, +- 3,1,0,116,19,124,13,124,1,124,8,124,2,100,14,141, +- 4,83,0,124,4,100,1,117,0,114,185,124,0,160,6,124, +- 2,161,1,125,4,124,0,160,20,124,4,124,2,161,2,125, +- 14,116,17,160,18,100,15,124,2,161,2,1,0,116,21,106, +- 22,115,255,124,8,100,1,117,1,114,255,124,3,100,1,117, +- 1,114,255,124,6,114,226,124,5,100,1,117,0,114,219,116, +- 9,160,11,124,4,161,1,125,5,116,23,124,14,124,5,124, +- 7,131,3,125,10,110,8,116,24,124,14,124,3,116,25,124, +- 4,131,1,131,3,125,10,122,10,124,0,160,26,124,2,124, +- 8,124,10,161,3,1,0,87,0,124,14,83,0,4,0,116, +- 2,121,254,1,0,1,0,1,0,89,0,124,14,83,0,119, +- 0,124,14,83,0,41,16,122,190,67,111,110,99,114,101,116, +- 101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110, +- 32,111,102,32,73,110,115,112,101,99,116,76,111,97,100,101, +- 114,46,103,101,116,95,99,111,100,101,46,10,10,32,32,32, +- 32,32,32,32,32,82,101,97,100,105,110,103,32,111,102,32, +- 98,121,116,101,99,111,100,101,32,114,101,113,117,105,114,101, +- 115,32,112,97,116,104,95,115,116,97,116,115,32,116,111,32, +- 98,101,32,105,109,112,108,101,109,101,110,116,101,100,46,32, +- 84,111,32,119,114,105,116,101,10,32,32,32,32,32,32,32, +- 32,98,121,116,101,99,111,100,101,44,32,115,101,116,95,100, +- 97,116,97,32,109,117,115,116,32,97,108,115,111,32,98,101, +- 32,105,109,112,108,101,109,101,110,116,101,100,46,10,10,32, +- 32,32,32,32,32,32,32,78,70,84,114,193,0,0,0,114, +- 183,0,0,0,114,169,0,0,0,114,3,0,0,0,114,0, +- 0,0,0,114,44,0,0,0,90,5,110,101,118,101,114,90, +- 6,97,108,119,97,121,115,218,4,115,105,122,101,122,13,123, +- 125,32,109,97,116,99,104,101,115,32,123,125,41,3,114,141, +- 0,0,0,114,132,0,0,0,114,134,0,0,0,122,19,99, +- 111,100,101,32,111,98,106,101,99,116,32,102,114,111,109,32, +- 123,125,41,27,114,203,0,0,0,114,121,0,0,0,114,107, +- 0,0,0,114,252,0,0,0,114,76,0,0,0,114,33,0, +- 0,0,114,255,0,0,0,114,176,0,0,0,218,10,109,101, +- 109,111,114,121,118,105,101,119,114,187,0,0,0,90,21,99, +- 104,101,99,107,95,104,97,115,104,95,98,97,115,101,100,95, +- 112,121,99,115,114,181,0,0,0,218,17,95,82,65,87,95, +- 77,65,71,73,67,95,78,85,77,66,69,82,114,182,0,0, +- 0,114,180,0,0,0,114,142,0,0,0,114,174,0,0,0, +- 114,159,0,0,0,114,173,0,0,0,114,189,0,0,0,114, +- 5,1,0,0,114,15,0,0,0,218,19,100,111,110,116,95, +- 119,114,105,116,101,95,98,121,116,101,99,111,100,101,114,195, +- 0,0,0,114,194,0,0,0,114,4,0,0,0,114,254,0, +- 0,0,41,15,114,143,0,0,0,114,163,0,0,0,114,134, +- 0,0,0,114,178,0,0,0,114,198,0,0,0,114,181,0, +- 0,0,90,10,104,97,115,104,95,98,97,115,101,100,90,12, +- 99,104,101,99,107,95,115,111,117,114,99,101,114,132,0,0, +- 0,218,2,115,116,114,41,0,0,0,114,175,0,0,0,114, +- 16,0,0,0,90,10,98,121,116,101,115,95,100,97,116,97, +- 90,11,99,111,100,101,95,111,98,106,101,99,116,114,7,0, +- 0,0,114,7,0,0,0,114,8,0,0,0,114,241,0,0, +- 0,182,3,0,0,115,170,0,0,0,10,7,4,1,4,1, +- 4,1,4,1,4,1,2,1,12,1,12,1,8,1,2,255, +- 2,3,14,1,12,1,4,1,2,255,12,3,2,1,14,1, +- 12,1,4,1,2,255,2,4,2,1,6,254,2,4,12,1, +- 16,1,12,1,4,1,12,1,10,1,2,1,2,255,8,2, +- 2,254,10,3,4,1,2,1,2,1,4,254,8,4,2,1, +- 4,255,2,128,2,3,2,1,2,1,6,1,2,1,2,1, +- 4,251,4,128,16,7,4,1,2,255,8,3,2,1,4,255, +- 6,2,2,1,2,1,6,254,8,3,10,1,12,1,12,1, +- 14,1,6,1,2,255,4,2,8,1,10,1,14,1,6,2, +- 6,1,4,255,2,2,16,1,4,3,12,254,2,1,4,1, +- 2,254,4,2,122,21,83,111,117,114,99,101,76,111,97,100, +- 101,114,46,103,101,116,95,99,111,100,101,78,41,10,114,150, +- 0,0,0,114,149,0,0,0,114,151,0,0,0,114,251,0, +- 0,0,114,252,0,0,0,114,254,0,0,0,114,253,0,0, +- 0,114,1,1,0,0,114,5,1,0,0,114,241,0,0,0, +- 114,7,0,0,0,114,7,0,0,0,114,7,0,0,0,114, +- 8,0,0,0,114,249,0,0,0,123,3,0,0,115,16,0, +- 0,0,8,0,8,2,8,8,8,14,8,10,8,7,14,10, +- 12,8,114,249,0,0,0,99,0,0,0,0,0,0,0,0, +- 0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0, +- 115,92,0,0,0,101,0,90,1,100,0,90,2,100,1,90, +- 3,100,2,100,3,132,0,90,4,100,4,100,5,132,0,90, +- 5,100,6,100,7,132,0,90,6,101,7,135,0,102,1,100, +- 8,100,9,132,8,131,1,90,8,101,7,100,10,100,11,132, +- 0,131,1,90,9,100,12,100,13,132,0,90,10,101,7,100, +- 14,100,15,132,0,131,1,90,11,135,0,4,0,90,12,83, +- 0,41,16,218,10,70,105,108,101,76,111,97,100,101,114,122, +- 103,66,97,115,101,32,102,105,108,101,32,108,111,97,100,101, +- 114,32,99,108,97,115,115,32,119,104,105,99,104,32,105,109, +- 112,108,101,109,101,110,116,115,32,116,104,101,32,108,111,97, +- 100,101,114,32,112,114,111,116,111,99,111,108,32,109,101,116, +- 104,111,100,115,32,116,104,97,116,10,32,32,32,32,114,101, +- 113,117,105,114,101,32,102,105,108,101,32,115,121,115,116,101, +- 109,32,117,115,97,103,101,46,99,3,0,0,0,0,0,0, +- 0,0,0,0,0,3,0,0,0,2,0,0,0,67,0,0, +- 0,115,16,0,0,0,124,1,124,0,95,0,124,2,124,0, +- 95,1,100,1,83,0,41,2,122,75,67,97,99,104,101,32, +- 116,104,101,32,109,111,100,117,108,101,32,110,97,109,101,32, +- 97,110,100,32,116,104,101,32,112,97,116,104,32,116,111,32, +- 116,104,101,32,102,105,108,101,32,102,111,117,110,100,32,98, +- 121,32,116,104,101,10,32,32,32,32,32,32,32,32,102,105, +- 110,100,101,114,46,78,114,183,0,0,0,41,3,114,143,0, +- 0,0,114,163,0,0,0,114,65,0,0,0,114,7,0,0, +- 0,114,7,0,0,0,114,8,0,0,0,114,236,0,0,0, +- 16,4,0,0,115,4,0,0,0,6,3,10,1,122,19,70, +- 105,108,101,76,111,97,100,101,114,46,95,95,105,110,105,116, +- 95,95,99,2,0,0,0,0,0,0,0,0,0,0,0,2, +- 0,0,0,2,0,0,0,67,0,0,0,243,24,0,0,0, +- 124,0,106,0,124,1,106,0,107,2,111,11,124,0,106,1, +- 124,1,106,1,107,2,83,0,114,69,0,0,0,169,2,218, +- 9,95,95,99,108,97,115,115,95,95,114,156,0,0,0,169, +- 2,114,143,0,0,0,90,5,111,116,104,101,114,114,7,0, +- 0,0,114,7,0,0,0,114,8,0,0,0,218,6,95,95, +- 101,113,95,95,22,4,0,0,243,6,0,0,0,12,1,10, +- 1,2,255,122,17,70,105,108,101,76,111,97,100,101,114,46, +- 95,95,101,113,95,95,99,1,0,0,0,0,0,0,0,0, +- 0,0,0,1,0,0,0,3,0,0,0,67,0,0,0,243, +- 20,0,0,0,116,0,124,0,106,1,131,1,116,0,124,0, +- 106,2,131,1,65,0,83,0,114,69,0,0,0,169,3,218, +- 4,104,97,115,104,114,141,0,0,0,114,65,0,0,0,169, +- 1,114,143,0,0,0,114,7,0,0,0,114,7,0,0,0, +- 114,8,0,0,0,218,8,95,95,104,97,115,104,95,95,26, +- 4,0,0,243,2,0,0,0,20,1,122,19,70,105,108,101, +- 76,111,97,100,101,114,46,95,95,104,97,115,104,95,95,99, +- 2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, +- 3,0,0,0,3,0,0,0,115,16,0,0,0,116,0,116, +- 1,124,0,131,2,160,2,124,1,161,1,83,0,41,2,122, +- 100,76,111,97,100,32,97,32,109,111,100,117,108,101,32,102, +- 114,111,109,32,97,32,102,105,108,101,46,10,10,32,32,32, +- 32,32,32,32,32,84,104,105,115,32,109,101,116,104,111,100, +- 32,105,115,32,100,101,112,114,101,99,97,116,101,100,46,32, +- 32,85,115,101,32,101,120,101,99,95,109,111,100,117,108,101, +- 40,41,32,105,110,115,116,101,97,100,46,10,10,32,32,32, +- 32,32,32,32,32,78,41,3,218,5,115,117,112,101,114,114, +- 11,1,0,0,114,248,0,0,0,114,247,0,0,0,169,1, +- 114,14,1,0,0,114,7,0,0,0,114,8,0,0,0,114, +- 248,0,0,0,29,4,0,0,115,2,0,0,0,16,10,122, +- 22,70,105,108,101,76,111,97,100,101,114,46,108,111,97,100, +- 95,109,111,100,117,108,101,99,2,0,0,0,0,0,0,0, +- 0,0,0,0,2,0,0,0,1,0,0,0,67,0,0,0, +- 243,6,0,0,0,124,0,106,0,83,0,169,2,122,58,82, +- 101,116,117,114,110,32,116,104,101,32,112,97,116,104,32,116, +- 111,32,116,104,101,32,115,111,117,114,99,101,32,102,105,108, +- 101,32,97,115,32,102,111,117,110,100,32,98,121,32,116,104, +- 101,32,102,105,110,100,101,114,46,78,114,71,0,0,0,114, +- 247,0,0,0,114,7,0,0,0,114,7,0,0,0,114,8, +- 0,0,0,114,203,0,0,0,41,4,0,0,243,2,0,0, +- 0,6,3,122,23,70,105,108,101,76,111,97,100,101,114,46, +- 103,101,116,95,102,105,108,101,110,97,109,101,99,2,0,0, +- 0,0,0,0,0,0,0,0,0,3,0,0,0,8,0,0, +- 0,67,0,0,0,115,128,0,0,0,116,0,124,0,116,1, +- 116,2,102,2,131,2,114,36,116,3,160,4,116,5,124,1, +- 131,1,161,1,143,12,125,2,124,2,160,6,161,0,87,0, +- 2,0,100,1,4,0,4,0,131,3,1,0,83,0,49,0, +- 115,29,119,1,1,0,1,0,1,0,89,0,1,0,100,1, +- 83,0,116,3,160,7,124,1,100,2,161,2,143,12,125,2, +- 124,2,160,6,161,0,87,0,2,0,100,1,4,0,4,0, +- 131,3,1,0,83,0,49,0,115,57,119,1,1,0,1,0, +- 1,0,89,0,1,0,100,1,83,0,41,3,122,39,82,101, +- 116,117,114,110,32,116,104,101,32,100,97,116,97,32,102,114, +- 111,109,32,112,97,116,104,32,97,115,32,114,97,119,32,98, +- 121,116,101,115,46,78,218,1,114,41,8,114,185,0,0,0, +- 114,249,0,0,0,218,19,69,120,116,101,110,115,105,111,110, +- 70,105,108,101,76,111,97,100,101,114,114,91,0,0,0,90, +- 9,111,112,101,110,95,99,111,100,101,114,109,0,0,0,90, +- 4,114,101,97,100,114,92,0,0,0,41,3,114,143,0,0, +- 0,114,65,0,0,0,114,94,0,0,0,114,7,0,0,0, +- 114,7,0,0,0,114,8,0,0,0,114,255,0,0,0,46, +- 4,0,0,115,14,0,0,0,14,2,16,1,6,1,36,255, +- 14,3,6,1,36,255,122,19,70,105,108,101,76,111,97,100, +- 101,114,46,103,101,116,95,100,97,116,97,99,2,0,0,0, +- 0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0, +- 67,0,0,0,115,20,0,0,0,100,1,100,2,108,0,109, +- 1,125,2,1,0,124,2,124,0,131,1,83,0,41,3,78, +- 114,0,0,0,0,41,1,218,10,70,105,108,101,82,101,97, +- 100,101,114,41,2,218,17,105,109,112,111,114,116,108,105,98, +- 46,114,101,97,100,101,114,115,114,31,1,0,0,41,3,114, +- 143,0,0,0,114,244,0,0,0,114,31,1,0,0,114,7, +- 0,0,0,114,7,0,0,0,114,8,0,0,0,218,19,103, +- 101,116,95,114,101,115,111,117,114,99,101,95,114,101,97,100, +- 101,114,55,4,0,0,115,4,0,0,0,12,2,8,1,122, +- 30,70,105,108,101,76,111,97,100,101,114,46,103,101,116,95, +- 114,101,115,111,117,114,99,101,95,114,101,97,100,101,114,41, +- 13,114,150,0,0,0,114,149,0,0,0,114,151,0,0,0, +- 114,152,0,0,0,114,236,0,0,0,114,16,1,0,0,114, +- 22,1,0,0,114,160,0,0,0,114,248,0,0,0,114,203, +- 0,0,0,114,255,0,0,0,114,33,1,0,0,90,13,95, +- 95,99,108,97,115,115,99,101,108,108,95,95,114,7,0,0, +- 0,114,7,0,0,0,114,25,1,0,0,114,8,0,0,0, +- 114,11,1,0,0,11,4,0,0,115,24,0,0,0,8,0, +- 4,2,8,3,8,6,8,4,2,3,14,1,2,11,10,1, +- 8,4,2,9,18,1,114,11,1,0,0,99,0,0,0,0, +- 0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, +- 64,0,0,0,115,46,0,0,0,101,0,90,1,100,0,90, +- 2,100,1,90,3,100,2,100,3,132,0,90,4,100,4,100, +- 5,132,0,90,5,100,6,100,7,156,1,100,8,100,9,132, +- 2,90,6,100,10,83,0,41,11,218,16,83,111,117,114,99, +- 101,70,105,108,101,76,111,97,100,101,114,122,62,67,111,110, +- 99,114,101,116,101,32,105,109,112,108,101,109,101,110,116,97, +- 116,105,111,110,32,111,102,32,83,111,117,114,99,101,76,111, +- 97,100,101,114,32,117,115,105,110,103,32,116,104,101,32,102, +- 105,108,101,32,115,121,115,116,101,109,46,99,2,0,0,0, +- 0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0, +- 67,0,0,0,115,22,0,0,0,116,0,124,1,131,1,125, +- 2,124,2,106,1,124,2,106,2,100,1,156,2,83,0,41, +- 3,122,33,82,101,116,117,114,110,32,116,104,101,32,109,101, +- 116,97,100,97,116,97,32,102,111,114,32,116,104,101,32,112, +- 97,116,104,46,41,2,114,193,0,0,0,114,6,1,0,0, +- 78,41,3,114,75,0,0,0,218,8,115,116,95,109,116,105, +- 109,101,90,7,115,116,95,115,105,122,101,41,3,114,143,0, +- 0,0,114,65,0,0,0,114,10,1,0,0,114,7,0,0, +- 0,114,7,0,0,0,114,8,0,0,0,114,252,0,0,0, +- 65,4,0,0,115,4,0,0,0,8,2,14,1,122,27,83, +- 111,117,114,99,101,70,105,108,101,76,111,97,100,101,114,46, ++ 32,82,97,105,115,101,115,32,79,83,69,114,114,111,114,32, ++ 119,104,101,110,32,116,104,101,32,112,97,116,104,32,99,97, ++ 110,110,111,116,32,98,101,32,104,97,110,100,108,101,100,46, ++ 10,32,32,32,32,32,32,32,32,114,194,0,0,0,78,41, ++ 1,114,252,0,0,0,114,251,0,0,0,114,8,0,0,0, ++ 114,8,0,0,0,114,9,0,0,0,218,10,112,97,116,104, ++ 95,115,116,97,116,115,137,3,0,0,115,2,0,0,0,14, ++ 12,122,23,83,111,117,114,99,101,76,111,97,100,101,114,46, + 112,97,116,104,95,115,116,97,116,115,99,4,0,0,0,0, +- 0,0,0,0,0,0,0,5,0,0,0,5,0,0,0,67, +- 0,0,0,115,24,0,0,0,116,0,124,1,131,1,125,4, +- 124,0,106,1,124,2,124,3,124,4,100,1,141,3,83,0, +- 41,2,78,169,1,218,5,95,109,111,100,101,41,2,114,139, +- 0,0,0,114,253,0,0,0,41,5,114,143,0,0,0,114, +- 134,0,0,0,114,132,0,0,0,114,41,0,0,0,114,78, +- 0,0,0,114,7,0,0,0,114,7,0,0,0,114,8,0, +- 0,0,114,254,0,0,0,70,4,0,0,115,4,0,0,0, +- 8,2,16,1,122,32,83,111,117,114,99,101,70,105,108,101, +- 76,111,97,100,101,114,46,95,99,97,99,104,101,95,98,121, +- 116,101,99,111,100,101,114,87,0,0,0,114,36,1,0,0, +- 99,3,0,0,0,0,0,0,0,1,0,0,0,9,0,0, +- 0,11,0,0,0,67,0,0,0,115,254,0,0,0,116,0, +- 124,1,131,1,92,2,125,4,125,5,103,0,125,6,124,4, +- 114,31,116,1,124,4,131,1,115,31,116,0,124,4,131,1, +- 92,2,125,4,125,7,124,6,160,2,124,7,161,1,1,0, +- 124,4,114,31,116,1,124,4,131,1,114,14,116,3,124,6, +- 131,1,68,0,93,49,125,7,116,4,124,4,124,7,131,2, +- 125,4,122,7,116,5,160,6,124,4,161,1,1,0,87,0, +- 113,35,4,0,116,7,121,58,1,0,1,0,1,0,89,0, +- 113,35,4,0,116,8,121,84,1,0,125,8,1,0,122,15, +- 116,9,160,10,100,1,124,4,124,8,161,3,1,0,87,0, +- 89,0,100,2,125,8,126,8,1,0,100,2,83,0,100,2, +- 125,8,126,8,119,1,119,0,122,15,116,11,124,1,124,2, +- 124,3,131,3,1,0,116,9,160,10,100,3,124,1,161,2, +- 1,0,87,0,100,2,83,0,4,0,116,8,121,126,1,0, +- 125,8,1,0,122,14,116,9,160,10,100,1,124,1,124,8, +- 161,3,1,0,87,0,89,0,100,2,125,8,126,8,100,2, +- 83,0,100,2,125,8,126,8,119,1,119,0,41,4,122,27, +- 87,114,105,116,101,32,98,121,116,101,115,32,100,97,116,97, +- 32,116,111,32,97,32,102,105,108,101,46,122,27,99,111,117, +- 108,100,32,110,111,116,32,99,114,101,97,116,101,32,123,33, +- 114,125,58,32,123,33,114,125,78,122,12,99,114,101,97,116, +- 101,100,32,123,33,114,125,41,12,114,74,0,0,0,114,83, +- 0,0,0,114,61,0,0,0,218,8,114,101,118,101,114,115, +- 101,100,114,67,0,0,0,114,18,0,0,0,90,5,109,107, +- 100,105,114,218,15,70,105,108,101,69,120,105,115,116,115,69, +- 114,114,111,114,114,76,0,0,0,114,159,0,0,0,114,173, +- 0,0,0,114,95,0,0,0,41,9,114,143,0,0,0,114, +- 65,0,0,0,114,41,0,0,0,114,37,1,0,0,218,6, +- 112,97,114,101,110,116,114,120,0,0,0,114,63,0,0,0, +- 114,68,0,0,0,114,0,1,0,0,114,7,0,0,0,114, +- 7,0,0,0,114,8,0,0,0,114,253,0,0,0,75,4, +- 0,0,115,56,0,0,0,12,2,4,1,12,2,12,1,10, +- 1,12,254,12,4,10,1,2,1,14,1,12,1,4,2,14, +- 1,6,3,4,1,4,255,16,2,8,128,2,251,2,6,12, +- 1,18,1,14,1,8,2,2,1,18,255,8,128,2,254,122, +- 25,83,111,117,114,99,101,70,105,108,101,76,111,97,100,101, +- 114,46,115,101,116,95,100,97,116,97,78,41,7,114,150,0, +- 0,0,114,149,0,0,0,114,151,0,0,0,114,152,0,0, +- 0,114,252,0,0,0,114,254,0,0,0,114,253,0,0,0, +- 114,7,0,0,0,114,7,0,0,0,114,7,0,0,0,114, +- 8,0,0,0,114,34,1,0,0,61,4,0,0,115,10,0, +- 0,0,8,0,4,2,8,2,8,5,18,5,114,34,1,0, ++ 0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,67, ++ 0,0,0,115,12,0,0,0,124,0,160,0,124,2,124,3, ++ 161,2,83,0,41,2,122,228,79,112,116,105,111,110,97,108, ++ 32,109,101,116,104,111,100,32,119,104,105,99,104,32,119,114, ++ 105,116,101,115,32,100,97,116,97,32,40,98,121,116,101,115, ++ 41,32,116,111,32,97,32,102,105,108,101,32,112,97,116,104, ++ 32,40,97,32,115,116,114,41,46,10,10,32,32,32,32,32, ++ 32,32,32,73,109,112,108,101,109,101,110,116,105,110,103,32, ++ 116,104,105,115,32,109,101,116,104,111,100,32,97,108,108,111, ++ 119,115,32,102,111,114,32,116,104,101,32,119,114,105,116,105, ++ 110,103,32,111,102,32,98,121,116,101,99,111,100,101,32,102, ++ 105,108,101,115,46,10,10,32,32,32,32,32,32,32,32,84, ++ 104,101,32,115,111,117,114,99,101,32,112,97,116,104,32,105, ++ 115,32,110,101,101,100,101,100,32,105,110,32,111,114,100,101, ++ 114,32,116,111,32,99,111,114,114,101,99,116,108,121,32,116, ++ 114,97,110,115,102,101,114,32,112,101,114,109,105,115,115,105, ++ 111,110,115,10,32,32,32,32,32,32,32,32,78,41,1,218, ++ 8,115,101,116,95,100,97,116,97,41,4,114,144,0,0,0, ++ 114,135,0,0,0,90,10,99,97,99,104,101,95,112,97,116, ++ 104,114,43,0,0,0,114,8,0,0,0,114,8,0,0,0, ++ 114,9,0,0,0,218,15,95,99,97,99,104,101,95,98,121, ++ 116,101,99,111,100,101,151,3,0,0,115,2,0,0,0,12, ++ 8,122,28,83,111,117,114,99,101,76,111,97,100,101,114,46, ++ 95,99,97,99,104,101,95,98,121,116,101,99,111,100,101,99, ++ 3,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, ++ 1,0,0,0,67,0,0,0,114,25,0,0,0,41,2,122, ++ 150,79,112,116,105,111,110,97,108,32,109,101,116,104,111,100, ++ 32,119,104,105,99,104,32,119,114,105,116,101,115,32,100,97, ++ 116,97,32,40,98,121,116,101,115,41,32,116,111,32,97,32, ++ 102,105,108,101,32,112,97,116,104,32,40,97,32,115,116,114, ++ 41,46,10,10,32,32,32,32,32,32,32,32,73,109,112,108, ++ 101,109,101,110,116,105,110,103,32,116,104,105,115,32,109,101, ++ 116,104,111,100,32,97,108,108,111,119,115,32,102,111,114,32, ++ 116,104,101,32,119,114,105,116,105,110,103,32,111,102,32,98, ++ 121,116,101,99,111,100,101,32,102,105,108,101,115,46,10,32, ++ 32,32,32,32,32,32,32,78,114,8,0,0,0,41,3,114, ++ 144,0,0,0,114,67,0,0,0,114,43,0,0,0,114,8, ++ 0,0,0,114,8,0,0,0,114,9,0,0,0,114,254,0, ++ 0,0,161,3,0,0,114,241,0,0,0,122,21,83,111,117, ++ 114,99,101,76,111,97,100,101,114,46,115,101,116,95,100,97, ++ 116,97,99,2,0,0,0,0,0,0,0,0,0,0,0,5, ++ 0,0,0,10,0,0,0,67,0,0,0,115,70,0,0,0, ++ 124,0,160,0,124,1,161,1,125,2,122,10,124,0,160,1, ++ 124,2,161,1,125,3,87,0,116,4,124,3,131,1,83,0, ++ 4,0,116,2,121,34,1,0,125,4,1,0,122,7,116,3, ++ 100,1,124,1,100,2,141,2,124,4,130,2,100,3,125,4, ++ 126,4,119,1,119,0,41,4,122,52,67,111,110,99,114,101, ++ 116,101,32,105,109,112,108,101,109,101,110,116,97,116,105,111, ++ 110,32,111,102,32,73,110,115,112,101,99,116,76,111,97,100, ++ 101,114,46,103,101,116,95,115,111,117,114,99,101,46,122,39, ++ 115,111,117,114,99,101,32,110,111,116,32,97,118,97,105,108, ++ 97,98,108,101,32,116,104,114,111,117,103,104,32,103,101,116, ++ 95,100,97,116,97,40,41,114,141,0,0,0,78,41,5,114, ++ 204,0,0,0,218,8,103,101,116,95,100,97,116,97,114,78, ++ 0,0,0,114,143,0,0,0,114,201,0,0,0,41,5,114, ++ 144,0,0,0,114,164,0,0,0,114,67,0,0,0,114,199, ++ 0,0,0,218,3,101,120,99,114,8,0,0,0,114,8,0, ++ 0,0,114,9,0,0,0,218,10,103,101,116,95,115,111,117, ++ 114,99,101,168,3,0,0,115,24,0,0,0,10,2,2,1, ++ 12,1,8,4,14,253,4,1,2,1,4,255,2,1,2,255, ++ 8,128,2,255,122,23,83,111,117,114,99,101,76,111,97,100, ++ 101,114,46,103,101,116,95,115,111,117,114,99,101,114,3,0, ++ 0,0,41,1,218,9,95,111,112,116,105,109,105,122,101,99, ++ 3,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0, ++ 8,0,0,0,67,0,0,0,115,22,0,0,0,116,0,106, ++ 1,116,2,124,1,124,2,100,1,100,2,124,3,100,3,141, ++ 6,83,0,41,5,122,130,82,101,116,117,114,110,32,116,104, ++ 101,32,99,111,100,101,32,111,98,106,101,99,116,32,99,111, ++ 109,112,105,108,101,100,32,102,114,111,109,32,115,111,117,114, ++ 99,101,46,10,10,32,32,32,32,32,32,32,32,84,104,101, ++ 32,39,100,97,116,97,39,32,97,114,103,117,109,101,110,116, ++ 32,99,97,110,32,98,101,32,97,110,121,32,111,98,106,101, ++ 99,116,32,116,121,112,101,32,116,104,97,116,32,99,111,109, ++ 112,105,108,101,40,41,32,115,117,112,112,111,114,116,115,46, ++ 10,32,32,32,32,32,32,32,32,114,244,0,0,0,84,41, ++ 2,218,12,100,111,110,116,95,105,110,104,101,114,105,116,114, ++ 110,0,0,0,78,41,3,114,160,0,0,0,114,243,0,0, ++ 0,218,7,99,111,109,112,105,108,101,41,4,114,144,0,0, ++ 0,114,43,0,0,0,114,67,0,0,0,114,3,1,0,0, ++ 114,8,0,0,0,114,8,0,0,0,114,9,0,0,0,218, ++ 14,115,111,117,114,99,101,95,116,111,95,99,111,100,101,178, ++ 3,0,0,115,6,0,0,0,12,5,4,1,6,255,122,27, ++ 83,111,117,114,99,101,76,111,97,100,101,114,46,115,111,117, ++ 114,99,101,95,116,111,95,99,111,100,101,99,2,0,0,0, ++ 0,0,0,0,0,0,0,0,15,0,0,0,9,0,0,0, ++ 67,0,0,0,115,2,2,0,0,124,0,160,0,124,1,161, ++ 1,125,2,100,1,125,3,100,1,125,4,100,1,125,5,100, ++ 2,125,6,100,3,125,7,122,6,116,1,124,2,131,1,125, ++ 8,87,0,110,11,4,0,116,2,121,32,1,0,1,0,1, ++ 0,100,1,125,8,89,0,110,144,119,0,122,7,124,0,160, ++ 3,124,2,161,1,125,9,87,0,110,9,4,0,116,4,121, ++ 49,1,0,1,0,1,0,89,0,110,127,119,0,116,5,124, ++ 9,100,4,25,0,131,1,125,3,122,7,124,0,160,6,124, ++ 8,161,1,125,10,87,0,110,9,4,0,116,4,121,72,1, ++ 0,1,0,1,0,89,0,110,104,119,0,124,1,124,8,100, ++ 5,156,2,125,11,122,71,116,7,124,10,124,1,124,11,131, ++ 3,125,12,116,8,124,10,131,1,100,6,100,1,133,2,25, ++ 0,125,13,124,12,100,7,64,0,100,8,107,3,125,6,124, ++ 6,114,138,124,12,100,9,64,0,100,8,107,3,125,7,116, ++ 9,106,10,100,10,107,3,114,137,124,7,115,119,116,9,106, ++ 10,100,11,107,2,114,137,124,0,160,6,124,2,161,1,125, ++ 4,116,9,160,11,116,12,124,4,161,2,125,5,116,13,124, ++ 10,124,5,124,1,124,11,131,4,1,0,110,10,116,14,124, ++ 10,124,3,124,9,100,12,25,0,124,1,124,11,131,5,1, ++ 0,87,0,110,11,4,0,116,15,116,16,102,2,121,160,1, ++ 0,1,0,1,0,89,0,110,16,119,0,116,17,160,18,100, ++ 13,124,8,124,2,161,3,1,0,116,19,124,13,124,1,124, ++ 8,124,2,100,14,141,4,83,0,124,4,100,1,117,0,114, ++ 185,124,0,160,6,124,2,161,1,125,4,124,0,160,20,124, ++ 4,124,2,161,2,125,14,116,17,160,18,100,15,124,2,161, ++ 2,1,0,116,21,106,22,115,255,124,8,100,1,117,1,114, ++ 255,124,3,100,1,117,1,114,255,124,6,114,226,124,5,100, ++ 1,117,0,114,219,116,9,160,11,124,4,161,1,125,5,116, ++ 23,124,14,124,5,124,7,131,3,125,10,110,8,116,24,124, ++ 14,124,3,116,25,124,4,131,1,131,3,125,10,122,10,124, ++ 0,160,26,124,2,124,8,124,10,161,3,1,0,87,0,124, ++ 14,83,0,4,0,116,2,121,254,1,0,1,0,1,0,89, ++ 0,124,14,83,0,119,0,124,14,83,0,41,16,122,190,67, ++ 111,110,99,114,101,116,101,32,105,109,112,108,101,109,101,110, ++ 116,97,116,105,111,110,32,111,102,32,73,110,115,112,101,99, ++ 116,76,111,97,100,101,114,46,103,101,116,95,99,111,100,101, ++ 46,10,10,32,32,32,32,32,32,32,32,82,101,97,100,105, ++ 110,103,32,111,102,32,98,121,116,101,99,111,100,101,32,114, ++ 101,113,117,105,114,101,115,32,112,97,116,104,95,115,116,97, ++ 116,115,32,116,111,32,98,101,32,105,109,112,108,101,109,101, ++ 110,116,101,100,46,32,84,111,32,119,114,105,116,101,10,32, ++ 32,32,32,32,32,32,32,98,121,116,101,99,111,100,101,44, ++ 32,115,101,116,95,100,97,116,97,32,109,117,115,116,32,97, ++ 108,115,111,32,98,101,32,105,109,112,108,101,109,101,110,116, ++ 101,100,46,10,10,32,32,32,32,32,32,32,32,78,70,84, ++ 114,194,0,0,0,114,184,0,0,0,114,170,0,0,0,114, ++ 4,0,0,0,114,0,0,0,0,114,46,0,0,0,90,5, ++ 110,101,118,101,114,90,6,97,108,119,97,121,115,218,4,115, ++ 105,122,101,122,13,123,125,32,109,97,116,99,104,101,115,32, ++ 123,125,41,3,114,142,0,0,0,114,133,0,0,0,114,135, ++ 0,0,0,122,19,99,111,100,101,32,111,98,106,101,99,116, ++ 32,102,114,111,109,32,123,125,41,27,114,204,0,0,0,114, ++ 123,0,0,0,114,109,0,0,0,114,253,0,0,0,114,78, ++ 0,0,0,114,35,0,0,0,114,0,1,0,0,114,177,0, ++ 0,0,218,10,109,101,109,111,114,121,118,105,101,119,114,188, ++ 0,0,0,90,21,99,104,101,99,107,95,104,97,115,104,95, ++ 98,97,115,101,100,95,112,121,99,115,114,182,0,0,0,218, ++ 17,95,82,65,87,95,77,65,71,73,67,95,78,85,77,66, ++ 69,82,114,183,0,0,0,114,181,0,0,0,114,143,0,0, ++ 0,114,175,0,0,0,114,160,0,0,0,114,174,0,0,0, ++ 114,190,0,0,0,114,6,1,0,0,114,16,0,0,0,218, ++ 19,100,111,110,116,95,119,114,105,116,101,95,98,121,116,101, ++ 99,111,100,101,114,196,0,0,0,114,195,0,0,0,114,5, ++ 0,0,0,114,255,0,0,0,41,15,114,144,0,0,0,114, ++ 164,0,0,0,114,135,0,0,0,114,179,0,0,0,114,199, ++ 0,0,0,114,182,0,0,0,90,10,104,97,115,104,95,98, ++ 97,115,101,100,90,12,99,104,101,99,107,95,115,111,117,114, ++ 99,101,114,133,0,0,0,218,2,115,116,114,43,0,0,0, ++ 114,176,0,0,0,114,17,0,0,0,90,10,98,121,116,101, ++ 115,95,100,97,116,97,90,11,99,111,100,101,95,111,98,106, ++ 101,99,116,114,8,0,0,0,114,8,0,0,0,114,9,0, ++ 0,0,114,242,0,0,0,186,3,0,0,115,170,0,0,0, ++ 10,7,4,1,4,1,4,1,4,1,4,1,2,1,12,1, ++ 12,1,8,1,2,255,2,3,14,1,12,1,4,1,2,255, ++ 12,3,2,1,14,1,12,1,4,1,2,255,2,4,2,1, ++ 6,254,2,4,12,1,16,1,12,1,4,1,12,1,10,1, ++ 2,1,2,255,8,2,2,254,10,3,4,1,2,1,2,1, ++ 4,254,8,4,2,1,4,255,2,128,2,3,2,1,2,1, ++ 6,1,2,1,2,1,4,251,4,128,16,7,4,1,2,255, ++ 8,3,2,1,4,255,6,2,2,1,2,1,6,254,8,3, ++ 10,1,12,1,12,1,14,1,6,1,2,255,4,2,8,1, ++ 10,1,14,1,6,2,6,1,4,255,2,2,16,1,4,3, ++ 12,254,2,1,4,1,2,254,4,2,122,21,83,111,117,114, ++ 99,101,76,111,97,100,101,114,46,103,101,116,95,99,111,100, ++ 101,78,41,10,114,151,0,0,0,114,150,0,0,0,114,152, ++ 0,0,0,114,252,0,0,0,114,253,0,0,0,114,255,0, ++ 0,0,114,254,0,0,0,114,2,1,0,0,114,6,1,0, ++ 0,114,242,0,0,0,114,8,0,0,0,114,8,0,0,0, ++ 114,8,0,0,0,114,9,0,0,0,114,250,0,0,0,127, ++ 3,0,0,115,16,0,0,0,8,0,8,2,8,8,8,14, ++ 8,10,8,7,14,10,12,8,114,250,0,0,0,99,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0, ++ 0,0,0,0,0,0,115,92,0,0,0,101,0,90,1,100, ++ 0,90,2,100,1,90,3,100,2,100,3,132,0,90,4,100, ++ 4,100,5,132,0,90,5,100,6,100,7,132,0,90,6,101, ++ 7,135,0,102,1,100,8,100,9,132,8,131,1,90,8,101, ++ 7,100,10,100,11,132,0,131,1,90,9,100,12,100,13,132, ++ 0,90,10,101,7,100,14,100,15,132,0,131,1,90,11,135, ++ 0,4,0,90,12,83,0,41,16,218,10,70,105,108,101,76, ++ 111,97,100,101,114,122,103,66,97,115,101,32,102,105,108,101, ++ 32,108,111,97,100,101,114,32,99,108,97,115,115,32,119,104, ++ 105,99,104,32,105,109,112,108,101,109,101,110,116,115,32,116, ++ 104,101,32,108,111,97,100,101,114,32,112,114,111,116,111,99, ++ 111,108,32,109,101,116,104,111,100,115,32,116,104,97,116,10, ++ 32,32,32,32,114,101,113,117,105,114,101,32,102,105,108,101, ++ 32,115,121,115,116,101,109,32,117,115,97,103,101,46,99,3, ++ 0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2, ++ 0,0,0,67,0,0,0,115,16,0,0,0,124,1,124,0, ++ 95,0,124,2,124,0,95,1,100,1,83,0,41,2,122,75, ++ 67,97,99,104,101,32,116,104,101,32,109,111,100,117,108,101, ++ 32,110,97,109,101,32,97,110,100,32,116,104,101,32,112,97, ++ 116,104,32,116,111,32,116,104,101,32,102,105,108,101,32,102, ++ 111,117,110,100,32,98,121,32,116,104,101,10,32,32,32,32, ++ 32,32,32,32,102,105,110,100,101,114,46,78,114,184,0,0, ++ 0,41,3,114,144,0,0,0,114,164,0,0,0,114,67,0, ++ 0,0,114,8,0,0,0,114,8,0,0,0,114,9,0,0, ++ 0,114,237,0,0,0,20,4,0,0,115,4,0,0,0,6, ++ 3,10,1,122,19,70,105,108,101,76,111,97,100,101,114,46, ++ 95,95,105,110,105,116,95,95,99,2,0,0,0,0,0,0, ++ 0,0,0,0,0,2,0,0,0,2,0,0,0,67,0,0, ++ 0,243,24,0,0,0,124,0,106,0,124,1,106,0,107,2, ++ 111,11,124,0,106,1,124,1,106,1,107,2,83,0,114,71, ++ 0,0,0,169,2,218,9,95,95,99,108,97,115,115,95,95, ++ 114,157,0,0,0,169,2,114,144,0,0,0,90,5,111,116, ++ 104,101,114,114,8,0,0,0,114,8,0,0,0,114,9,0, ++ 0,0,218,6,95,95,101,113,95,95,26,4,0,0,243,6, ++ 0,0,0,12,1,10,1,2,255,122,17,70,105,108,101,76, ++ 111,97,100,101,114,46,95,95,101,113,95,95,99,1,0,0, ++ 0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0, ++ 0,67,0,0,0,243,20,0,0,0,116,0,124,0,106,1, ++ 131,1,116,0,124,0,106,2,131,1,65,0,83,0,114,71, ++ 0,0,0,169,3,218,4,104,97,115,104,114,142,0,0,0, ++ 114,67,0,0,0,169,1,114,144,0,0,0,114,8,0,0, ++ 0,114,8,0,0,0,114,9,0,0,0,218,8,95,95,104, ++ 97,115,104,95,95,30,4,0,0,243,2,0,0,0,20,1, ++ 122,19,70,105,108,101,76,111,97,100,101,114,46,95,95,104, ++ 97,115,104,95,95,99,2,0,0,0,0,0,0,0,0,0, ++ 0,0,2,0,0,0,3,0,0,0,3,0,0,0,115,16, ++ 0,0,0,116,0,116,1,124,0,131,2,160,2,124,1,161, ++ 1,83,0,41,2,122,100,76,111,97,100,32,97,32,109,111, ++ 100,117,108,101,32,102,114,111,109,32,97,32,102,105,108,101, ++ 46,10,10,32,32,32,32,32,32,32,32,84,104,105,115,32, ++ 109,101,116,104,111,100,32,105,115,32,100,101,112,114,101,99, ++ 97,116,101,100,46,32,32,85,115,101,32,101,120,101,99,95, ++ 109,111,100,117,108,101,40,41,32,105,110,115,116,101,97,100, ++ 46,10,10,32,32,32,32,32,32,32,32,78,41,3,218,5, ++ 115,117,112,101,114,114,12,1,0,0,114,249,0,0,0,114, ++ 248,0,0,0,169,1,114,15,1,0,0,114,8,0,0,0, ++ 114,9,0,0,0,114,249,0,0,0,33,4,0,0,115,2, ++ 0,0,0,16,10,122,22,70,105,108,101,76,111,97,100,101, ++ 114,46,108,111,97,100,95,109,111,100,117,108,101,99,2,0, ++ 0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0, ++ 0,0,67,0,0,0,243,6,0,0,0,124,0,106,0,83, ++ 0,169,2,122,58,82,101,116,117,114,110,32,116,104,101,32, ++ 112,97,116,104,32,116,111,32,116,104,101,32,115,111,117,114, ++ 99,101,32,102,105,108,101,32,97,115,32,102,111,117,110,100, ++ 32,98,121,32,116,104,101,32,102,105,110,100,101,114,46,78, ++ 114,73,0,0,0,114,248,0,0,0,114,8,0,0,0,114, ++ 8,0,0,0,114,9,0,0,0,114,204,0,0,0,45,4, ++ 0,0,243,2,0,0,0,6,3,122,23,70,105,108,101,76, ++ 111,97,100,101,114,46,103,101,116,95,102,105,108,101,110,97, ++ 109,101,99,2,0,0,0,0,0,0,0,0,0,0,0,3, ++ 0,0,0,8,0,0,0,67,0,0,0,115,128,0,0,0, ++ 116,0,124,0,116,1,116,2,102,2,131,2,114,36,116,3, ++ 160,4,116,5,124,1,131,1,161,1,143,12,125,2,124,2, ++ 160,6,161,0,87,0,2,0,100,1,4,0,4,0,131,3, ++ 1,0,83,0,49,0,115,29,119,1,1,0,1,0,1,0, ++ 89,0,1,0,100,1,83,0,116,3,160,7,124,1,100,2, ++ 161,2,143,12,125,2,124,2,160,6,161,0,87,0,2,0, ++ 100,1,4,0,4,0,131,3,1,0,83,0,49,0,115,57, ++ 119,1,1,0,1,0,1,0,89,0,1,0,100,1,83,0, ++ 41,3,122,39,82,101,116,117,114,110,32,116,104,101,32,100, ++ 97,116,97,32,102,114,111,109,32,112,97,116,104,32,97,115, ++ 32,114,97,119,32,98,121,116,101,115,46,78,218,1,114,41, ++ 8,114,186,0,0,0,114,250,0,0,0,218,19,69,120,116, ++ 101,110,115,105,111,110,70,105,108,101,76,111,97,100,101,114, ++ 114,93,0,0,0,90,9,111,112,101,110,95,99,111,100,101, ++ 114,111,0,0,0,90,4,114,101,97,100,114,94,0,0,0, ++ 41,3,114,144,0,0,0,114,67,0,0,0,114,96,0,0, ++ 0,114,8,0,0,0,114,8,0,0,0,114,9,0,0,0, ++ 114,0,1,0,0,50,4,0,0,115,14,0,0,0,14,2, ++ 16,1,6,1,36,255,14,3,6,1,36,255,122,19,70,105, ++ 108,101,76,111,97,100,101,114,46,103,101,116,95,100,97,116, ++ 97,99,2,0,0,0,0,0,0,0,0,0,0,0,3,0, ++ 0,0,2,0,0,0,67,0,0,0,115,20,0,0,0,100, ++ 1,100,2,108,0,109,1,125,2,1,0,124,2,124,0,131, ++ 1,83,0,41,3,78,114,0,0,0,0,41,1,218,10,70, ++ 105,108,101,82,101,97,100,101,114,41,2,218,17,105,109,112, ++ 111,114,116,108,105,98,46,114,101,97,100,101,114,115,114,32, ++ 1,0,0,41,3,114,144,0,0,0,114,245,0,0,0,114, ++ 32,1,0,0,114,8,0,0,0,114,8,0,0,0,114,9, ++ 0,0,0,218,19,103,101,116,95,114,101,115,111,117,114,99, ++ 101,95,114,101,97,100,101,114,59,4,0,0,115,4,0,0, ++ 0,12,2,8,1,122,30,70,105,108,101,76,111,97,100,101, ++ 114,46,103,101,116,95,114,101,115,111,117,114,99,101,95,114, ++ 101,97,100,101,114,41,13,114,151,0,0,0,114,150,0,0, ++ 0,114,152,0,0,0,114,153,0,0,0,114,237,0,0,0, ++ 114,17,1,0,0,114,23,1,0,0,114,161,0,0,0,114, ++ 249,0,0,0,114,204,0,0,0,114,0,1,0,0,114,34, ++ 1,0,0,90,13,95,95,99,108,97,115,115,99,101,108,108, ++ 95,95,114,8,0,0,0,114,8,0,0,0,114,26,1,0, ++ 0,114,9,0,0,0,114,12,1,0,0,15,4,0,0,115, ++ 24,0,0,0,8,0,4,2,8,3,8,6,8,4,2,3, ++ 14,1,2,11,10,1,8,4,2,9,18,1,114,12,1,0, + 0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +- 0,0,2,0,0,0,64,0,0,0,115,32,0,0,0,101, ++ 0,0,3,0,0,0,64,0,0,0,115,46,0,0,0,101, + 0,90,1,100,0,90,2,100,1,90,3,100,2,100,3,132, +- 0,90,4,100,4,100,5,132,0,90,5,100,6,83,0,41, +- 7,218,20,83,111,117,114,99,101,108,101,115,115,70,105,108, +- 101,76,111,97,100,101,114,122,45,76,111,97,100,101,114,32, +- 119,104,105,99,104,32,104,97,110,100,108,101,115,32,115,111, +- 117,114,99,101,108,101,115,115,32,102,105,108,101,32,105,109, +- 112,111,114,116,115,46,99,2,0,0,0,0,0,0,0,0, +- 0,0,0,5,0,0,0,5,0,0,0,67,0,0,0,115, +- 68,0,0,0,124,0,160,0,124,1,161,1,125,2,124,0, +- 160,1,124,2,161,1,125,3,124,1,124,2,100,1,156,2, +- 125,4,116,2,124,3,124,1,124,4,131,3,1,0,116,3, +- 116,4,124,3,131,1,100,2,100,0,133,2,25,0,124,1, +- 124,2,100,3,141,3,83,0,41,4,78,114,183,0,0,0, +- 114,169,0,0,0,41,2,114,141,0,0,0,114,132,0,0, +- 0,41,5,114,203,0,0,0,114,255,0,0,0,114,176,0, +- 0,0,114,189,0,0,0,114,7,1,0,0,41,5,114,143, +- 0,0,0,114,163,0,0,0,114,65,0,0,0,114,41,0, +- 0,0,114,175,0,0,0,114,7,0,0,0,114,7,0,0, +- 0,114,8,0,0,0,114,241,0,0,0,110,4,0,0,115, +- 22,0,0,0,10,1,10,1,2,4,2,1,6,254,12,4, +- 2,1,14,1,2,1,2,1,6,253,122,29,83,111,117,114, +- 99,101,108,101,115,115,70,105,108,101,76,111,97,100,101,114, +- 46,103,101,116,95,99,111,100,101,99,2,0,0,0,0,0, +- 0,0,0,0,0,0,2,0,0,0,1,0,0,0,67,0, +- 0,0,114,23,0,0,0,41,2,122,39,82,101,116,117,114, +- 110,32,78,111,110,101,32,97,115,32,116,104,101,114,101,32, +- 105,115,32,110,111,32,115,111,117,114,99,101,32,99,111,100, +- 101,46,78,114,7,0,0,0,114,247,0,0,0,114,7,0, +- 0,0,114,7,0,0,0,114,8,0,0,0,114,1,1,0, +- 0,126,4,0,0,114,24,0,0,0,122,31,83,111,117,114, +- 99,101,108,101,115,115,70,105,108,101,76,111,97,100,101,114, +- 46,103,101,116,95,115,111,117,114,99,101,78,41,6,114,150, +- 0,0,0,114,149,0,0,0,114,151,0,0,0,114,152,0, +- 0,0,114,241,0,0,0,114,1,1,0,0,114,7,0,0, +- 0,114,7,0,0,0,114,7,0,0,0,114,8,0,0,0, +- 114,41,1,0,0,106,4,0,0,115,8,0,0,0,8,0, +- 4,2,8,2,12,16,114,41,1,0,0,99,0,0,0,0, +- 0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0, +- 64,0,0,0,115,92,0,0,0,101,0,90,1,100,0,90, +- 2,100,1,90,3,100,2,100,3,132,0,90,4,100,4,100, +- 5,132,0,90,5,100,6,100,7,132,0,90,6,100,8,100, +- 9,132,0,90,7,100,10,100,11,132,0,90,8,100,12,100, +- 13,132,0,90,9,100,14,100,15,132,0,90,10,100,16,100, +- 17,132,0,90,11,101,12,100,18,100,19,132,0,131,1,90, +- 13,100,20,83,0,41,21,114,30,1,0,0,122,93,76,111, +- 97,100,101,114,32,102,111,114,32,101,120,116,101,110,115,105, +- 111,110,32,109,111,100,117,108,101,115,46,10,10,32,32,32, +- 32,84,104,101,32,99,111,110,115,116,114,117,99,116,111,114, +- 32,105,115,32,100,101,115,105,103,110,101,100,32,116,111,32, +- 119,111,114,107,32,119,105,116,104,32,70,105,108,101,70,105, +- 110,100,101,114,46,10,10,32,32,32,32,99,3,0,0,0, +- 0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0, +- 67,0,0,0,115,16,0,0,0,124,1,124,0,95,0,124, +- 2,124,0,95,1,100,0,83,0,114,69,0,0,0,114,183, +- 0,0,0,41,3,114,143,0,0,0,114,141,0,0,0,114, +- 65,0,0,0,114,7,0,0,0,114,7,0,0,0,114,8, +- 0,0,0,114,236,0,0,0,139,4,0,0,115,4,0,0, +- 0,6,1,10,1,122,28,69,120,116,101,110,115,105,111,110, +- 70,105,108,101,76,111,97,100,101,114,46,95,95,105,110,105, +- 116,95,95,99,2,0,0,0,0,0,0,0,0,0,0,0, +- 2,0,0,0,2,0,0,0,67,0,0,0,114,12,1,0, +- 0,114,69,0,0,0,114,13,1,0,0,114,15,1,0,0, +- 114,7,0,0,0,114,7,0,0,0,114,8,0,0,0,114, +- 16,1,0,0,143,4,0,0,114,17,1,0,0,122,26,69, +- 120,116,101,110,115,105,111,110,70,105,108,101,76,111,97,100, +- 101,114,46,95,95,101,113,95,95,99,1,0,0,0,0,0, +- 0,0,0,0,0,0,1,0,0,0,3,0,0,0,67,0, +- 0,0,114,18,1,0,0,114,69,0,0,0,114,19,1,0, +- 0,114,21,1,0,0,114,7,0,0,0,114,7,0,0,0, +- 114,8,0,0,0,114,22,1,0,0,147,4,0,0,114,23, +- 1,0,0,122,28,69,120,116,101,110,115,105,111,110,70,105, +- 108,101,76,111,97,100,101,114,46,95,95,104,97,115,104,95, +- 95,99,2,0,0,0,0,0,0,0,0,0,0,0,3,0, +- 0,0,5,0,0,0,67,0,0,0,115,36,0,0,0,116, +- 0,160,1,116,2,106,3,124,1,161,2,125,2,116,0,160, +- 4,100,1,124,1,106,5,124,0,106,6,161,3,1,0,124, +- 2,83,0,41,3,122,38,67,114,101,97,116,101,32,97,110, +- 32,117,110,105,116,105,97,108,105,122,101,100,32,101,120,116, +- 101,110,115,105,111,110,32,109,111,100,117,108,101,122,38,101, +- 120,116,101,110,115,105,111,110,32,109,111,100,117,108,101,32, +- 123,33,114,125,32,108,111,97,100,101,100,32,102,114,111,109, +- 32,123,33,114,125,78,41,7,114,159,0,0,0,114,242,0, +- 0,0,114,187,0,0,0,90,14,99,114,101,97,116,101,95, +- 100,121,110,97,109,105,99,114,173,0,0,0,114,141,0,0, +- 0,114,65,0,0,0,41,3,114,143,0,0,0,114,210,0, +- 0,0,114,244,0,0,0,114,7,0,0,0,114,7,0,0, +- 0,114,8,0,0,0,114,239,0,0,0,150,4,0,0,115, +- 14,0,0,0,4,2,6,1,4,255,6,2,8,1,4,255, +- 4,2,122,33,69,120,116,101,110,115,105,111,110,70,105,108, +- 101,76,111,97,100,101,114,46,99,114,101,97,116,101,95,109, +- 111,100,117,108,101,99,2,0,0,0,0,0,0,0,0,0, +- 0,0,2,0,0,0,5,0,0,0,67,0,0,0,115,36, +- 0,0,0,116,0,160,1,116,2,106,3,124,1,161,2,1, +- 0,116,0,160,4,100,1,124,0,106,5,124,0,106,6,161, +- 3,1,0,100,2,83,0,41,3,122,30,73,110,105,116,105, +- 97,108,105,122,101,32,97,110,32,101,120,116,101,110,115,105, +- 111,110,32,109,111,100,117,108,101,122,40,101,120,116,101,110, +- 115,105,111,110,32,109,111,100,117,108,101,32,123,33,114,125, +- 32,101,120,101,99,117,116,101,100,32,102,114,111,109,32,123, +- 33,114,125,78,41,7,114,159,0,0,0,114,242,0,0,0, +- 114,187,0,0,0,90,12,101,120,101,99,95,100,121,110,97, +- 109,105,99,114,173,0,0,0,114,141,0,0,0,114,65,0, +- 0,0,169,2,114,143,0,0,0,114,244,0,0,0,114,7, +- 0,0,0,114,7,0,0,0,114,8,0,0,0,114,245,0, +- 0,0,158,4,0,0,115,8,0,0,0,14,2,6,1,8, +- 1,8,255,122,31,69,120,116,101,110,115,105,111,110,70,105, +- 108,101,76,111,97,100,101,114,46,101,120,101,99,95,109,111, +- 100,117,108,101,99,2,0,0,0,0,0,0,0,0,0,0, +- 0,2,0,0,0,4,0,0,0,3,0,0,0,115,36,0, +- 0,0,116,0,124,0,106,1,131,1,100,1,25,0,137,0, +- 116,2,135,0,102,1,100,2,100,3,132,8,116,3,68,0, +- 131,1,131,1,83,0,41,5,122,49,82,101,116,117,114,110, +- 32,84,114,117,101,32,105,102,32,116,104,101,32,101,120,116, +- 101,110,115,105,111,110,32,109,111,100,117,108,101,32,105,115, +- 32,97,32,112,97,99,107,97,103,101,46,114,3,0,0,0, +- 99,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +- 0,4,0,0,0,51,0,0,0,115,28,0,0,0,129,0, +- 124,0,93,9,125,1,136,0,100,0,124,1,23,0,107,2, +- 86,0,1,0,113,2,100,1,83,0,41,2,114,236,0,0, +- 0,78,114,7,0,0,0,169,2,114,5,0,0,0,218,6, +- 115,117,102,102,105,120,169,1,90,9,102,105,108,101,95,110, +- 97,109,101,114,7,0,0,0,114,8,0,0,0,114,9,0, +- 0,0,167,4,0,0,115,8,0,0,0,2,128,4,0,2, +- 1,20,255,122,49,69,120,116,101,110,115,105,111,110,70,105, +- 108,101,76,111,97,100,101,114,46,105,115,95,112,97,99,107, +- 97,103,101,46,60,108,111,99,97,108,115,62,46,60,103,101, +- 110,101,120,112,114,62,78,41,4,114,74,0,0,0,114,65, +- 0,0,0,218,3,97,110,121,114,232,0,0,0,114,247,0, +- 0,0,114,7,0,0,0,114,45,1,0,0,114,8,0,0, +- 0,114,206,0,0,0,164,4,0,0,115,8,0,0,0,14, +- 2,12,1,2,1,8,255,122,30,69,120,116,101,110,115,105, +- 111,110,70,105,108,101,76,111,97,100,101,114,46,105,115,95, +- 112,97,99,107,97,103,101,99,2,0,0,0,0,0,0,0, +- 0,0,0,0,2,0,0,0,1,0,0,0,67,0,0,0, +- 114,23,0,0,0,41,2,122,63,82,101,116,117,114,110,32, +- 78,111,110,101,32,97,115,32,97,110,32,101,120,116,101,110, +- 115,105,111,110,32,109,111,100,117,108,101,32,99,97,110,110, +- 111,116,32,99,114,101,97,116,101,32,97,32,99,111,100,101, +- 32,111,98,106,101,99,116,46,78,114,7,0,0,0,114,247, +- 0,0,0,114,7,0,0,0,114,7,0,0,0,114,8,0, +- 0,0,114,241,0,0,0,170,4,0,0,114,24,0,0,0, +- 122,28,69,120,116,101,110,115,105,111,110,70,105,108,101,76, +- 111,97,100,101,114,46,103,101,116,95,99,111,100,101,99,2, +- 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1, +- 0,0,0,67,0,0,0,114,23,0,0,0,41,2,122,53, +- 82,101,116,117,114,110,32,78,111,110,101,32,97,115,32,101, +- 120,116,101,110,115,105,111,110,32,109,111,100,117,108,101,115, +- 32,104,97,118,101,32,110,111,32,115,111,117,114,99,101,32, +- 99,111,100,101,46,78,114,7,0,0,0,114,247,0,0,0, +- 114,7,0,0,0,114,7,0,0,0,114,8,0,0,0,114, +- 1,1,0,0,174,4,0,0,114,24,0,0,0,122,30,69, +- 120,116,101,110,115,105,111,110,70,105,108,101,76,111,97,100, +- 101,114,46,103,101,116,95,115,111,117,114,99,101,99,2,0, +- 0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0, +- 0,0,67,0,0,0,114,26,1,0,0,114,27,1,0,0, +- 114,71,0,0,0,114,247,0,0,0,114,7,0,0,0,114, +- 7,0,0,0,114,8,0,0,0,114,203,0,0,0,178,4, +- 0,0,114,28,1,0,0,122,32,69,120,116,101,110,115,105, +- 111,110,70,105,108,101,76,111,97,100,101,114,46,103,101,116, +- 95,102,105,108,101,110,97,109,101,78,41,14,114,150,0,0, +- 0,114,149,0,0,0,114,151,0,0,0,114,152,0,0,0, +- 114,236,0,0,0,114,16,1,0,0,114,22,1,0,0,114, +- 239,0,0,0,114,245,0,0,0,114,206,0,0,0,114,241, +- 0,0,0,114,1,1,0,0,114,160,0,0,0,114,203,0, +- 0,0,114,7,0,0,0,114,7,0,0,0,114,7,0,0, +- 0,114,8,0,0,0,114,30,1,0,0,131,4,0,0,115, +- 24,0,0,0,8,0,4,2,8,6,8,4,8,4,8,3, +- 8,8,8,6,8,6,8,4,2,4,14,1,114,30,1,0, ++ 0,90,4,100,4,100,5,132,0,90,5,100,6,100,7,156, ++ 1,100,8,100,9,132,2,90,6,100,10,83,0,41,11,218, ++ 16,83,111,117,114,99,101,70,105,108,101,76,111,97,100,101, ++ 114,122,62,67,111,110,99,114,101,116,101,32,105,109,112,108, ++ 101,109,101,110,116,97,116,105,111,110,32,111,102,32,83,111, ++ 117,114,99,101,76,111,97,100,101,114,32,117,115,105,110,103, ++ 32,116,104,101,32,102,105,108,101,32,115,121,115,116,101,109, ++ 46,99,2,0,0,0,0,0,0,0,0,0,0,0,3,0, ++ 0,0,3,0,0,0,67,0,0,0,115,22,0,0,0,116, ++ 0,124,1,131,1,125,2,124,2,106,1,124,2,106,2,100, ++ 1,156,2,83,0,41,3,122,33,82,101,116,117,114,110,32, ++ 116,104,101,32,109,101,116,97,100,97,116,97,32,102,111,114, ++ 32,116,104,101,32,112,97,116,104,46,41,2,114,194,0,0, ++ 0,114,7,1,0,0,78,41,3,114,77,0,0,0,218,8, ++ 115,116,95,109,116,105,109,101,90,7,115,116,95,115,105,122, ++ 101,41,3,114,144,0,0,0,114,67,0,0,0,114,11,1, ++ 0,0,114,8,0,0,0,114,8,0,0,0,114,9,0,0, ++ 0,114,253,0,0,0,69,4,0,0,115,4,0,0,0,8, ++ 2,14,1,122,27,83,111,117,114,99,101,70,105,108,101,76, ++ 111,97,100,101,114,46,112,97,116,104,95,115,116,97,116,115, ++ 99,4,0,0,0,0,0,0,0,0,0,0,0,5,0,0, ++ 0,5,0,0,0,67,0,0,0,115,24,0,0,0,116,0, ++ 124,1,131,1,125,4,124,0,106,1,124,2,124,3,124,4, ++ 100,1,141,3,83,0,41,2,78,169,1,218,5,95,109,111, ++ 100,101,41,2,114,140,0,0,0,114,254,0,0,0,41,5, ++ 114,144,0,0,0,114,135,0,0,0,114,133,0,0,0,114, ++ 43,0,0,0,114,80,0,0,0,114,8,0,0,0,114,8, ++ 0,0,0,114,9,0,0,0,114,255,0,0,0,74,4,0, ++ 0,115,4,0,0,0,8,2,16,1,122,32,83,111,117,114, ++ 99,101,70,105,108,101,76,111,97,100,101,114,46,95,99,97, ++ 99,104,101,95,98,121,116,101,99,111,100,101,114,89,0,0, ++ 0,114,37,1,0,0,99,3,0,0,0,0,0,0,0,1, ++ 0,0,0,9,0,0,0,11,0,0,0,67,0,0,0,115, ++ 254,0,0,0,116,0,124,1,131,1,92,2,125,4,125,5, ++ 103,0,125,6,124,4,114,31,116,1,124,4,131,1,115,31, ++ 116,0,124,4,131,1,92,2,125,4,125,7,124,6,160,2, ++ 124,7,161,1,1,0,124,4,114,31,116,1,124,4,131,1, ++ 114,14,116,3,124,6,131,1,68,0,93,49,125,7,116,4, ++ 124,4,124,7,131,2,125,4,122,7,116,5,160,6,124,4, ++ 161,1,1,0,87,0,113,35,4,0,116,7,121,58,1,0, ++ 1,0,1,0,89,0,113,35,4,0,116,8,121,84,1,0, ++ 125,8,1,0,122,15,116,9,160,10,100,1,124,4,124,8, ++ 161,3,1,0,87,0,89,0,100,2,125,8,126,8,1,0, ++ 100,2,83,0,100,2,125,8,126,8,119,1,119,0,122,15, ++ 116,11,124,1,124,2,124,3,131,3,1,0,116,9,160,10, ++ 100,3,124,1,161,2,1,0,87,0,100,2,83,0,4,0, ++ 116,8,121,126,1,0,125,8,1,0,122,14,116,9,160,10, ++ 100,1,124,1,124,8,161,3,1,0,87,0,89,0,100,2, ++ 125,8,126,8,100,2,83,0,100,2,125,8,126,8,119,1, ++ 119,0,41,4,122,27,87,114,105,116,101,32,98,121,116,101, ++ 115,32,100,97,116,97,32,116,111,32,97,32,102,105,108,101, ++ 46,122,27,99,111,117,108,100,32,110,111,116,32,99,114,101, ++ 97,116,101,32,123,33,114,125,58,32,123,33,114,125,78,122, ++ 12,99,114,101,97,116,101,100,32,123,33,114,125,41,12,114, ++ 76,0,0,0,114,85,0,0,0,114,63,0,0,0,218,8, ++ 114,101,118,101,114,115,101,100,114,69,0,0,0,114,19,0, ++ 0,0,90,5,109,107,100,105,114,218,15,70,105,108,101,69, ++ 120,105,115,116,115,69,114,114,111,114,114,78,0,0,0,114, ++ 160,0,0,0,114,174,0,0,0,114,97,0,0,0,41,9, ++ 114,144,0,0,0,114,67,0,0,0,114,43,0,0,0,114, ++ 38,1,0,0,218,6,112,97,114,101,110,116,114,122,0,0, ++ 0,114,65,0,0,0,114,70,0,0,0,114,1,1,0,0, ++ 114,8,0,0,0,114,8,0,0,0,114,9,0,0,0,114, ++ 254,0,0,0,79,4,0,0,115,56,0,0,0,12,2,4, ++ 1,12,2,12,1,10,1,12,254,12,4,10,1,2,1,14, ++ 1,12,1,4,2,14,1,6,3,4,1,4,255,16,2,8, ++ 128,2,251,2,6,12,1,18,1,14,1,8,2,2,1,18, ++ 255,8,128,2,254,122,25,83,111,117,114,99,101,70,105,108, ++ 101,76,111,97,100,101,114,46,115,101,116,95,100,97,116,97, ++ 78,41,7,114,151,0,0,0,114,150,0,0,0,114,152,0, ++ 0,0,114,153,0,0,0,114,253,0,0,0,114,255,0,0, ++ 0,114,254,0,0,0,114,8,0,0,0,114,8,0,0,0, ++ 114,8,0,0,0,114,9,0,0,0,114,35,1,0,0,65, ++ 4,0,0,115,10,0,0,0,8,0,4,2,8,2,8,5, ++ 18,5,114,35,1,0,0,99,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0, ++ 115,32,0,0,0,101,0,90,1,100,0,90,2,100,1,90, ++ 3,100,2,100,3,132,0,90,4,100,4,100,5,132,0,90, ++ 5,100,6,83,0,41,7,218,20,83,111,117,114,99,101,108, ++ 101,115,115,70,105,108,101,76,111,97,100,101,114,122,45,76, ++ 111,97,100,101,114,32,119,104,105,99,104,32,104,97,110,100, ++ 108,101,115,32,115,111,117,114,99,101,108,101,115,115,32,102, ++ 105,108,101,32,105,109,112,111,114,116,115,46,99,2,0,0, ++ 0,0,0,0,0,0,0,0,0,5,0,0,0,5,0,0, ++ 0,67,0,0,0,115,68,0,0,0,124,0,160,0,124,1, ++ 161,1,125,2,124,0,160,1,124,2,161,1,125,3,124,1, ++ 124,2,100,1,156,2,125,4,116,2,124,3,124,1,124,4, ++ 131,3,1,0,116,3,116,4,124,3,131,1,100,2,100,0, ++ 133,2,25,0,124,1,124,2,100,3,141,3,83,0,41,4, ++ 78,114,184,0,0,0,114,170,0,0,0,41,2,114,142,0, ++ 0,0,114,133,0,0,0,41,5,114,204,0,0,0,114,0, ++ 1,0,0,114,177,0,0,0,114,190,0,0,0,114,8,1, ++ 0,0,41,5,114,144,0,0,0,114,164,0,0,0,114,67, ++ 0,0,0,114,43,0,0,0,114,176,0,0,0,114,8,0, ++ 0,0,114,8,0,0,0,114,9,0,0,0,114,242,0,0, ++ 0,114,4,0,0,115,22,0,0,0,10,1,10,1,2,4, ++ 2,1,6,254,12,4,2,1,14,1,2,1,2,1,6,253, ++ 122,29,83,111,117,114,99,101,108,101,115,115,70,105,108,101, ++ 76,111,97,100,101,114,46,103,101,116,95,99,111,100,101,99, ++ 2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, ++ 1,0,0,0,67,0,0,0,114,25,0,0,0,41,2,122, ++ 39,82,101,116,117,114,110,32,78,111,110,101,32,97,115,32, ++ 116,104,101,114,101,32,105,115,32,110,111,32,115,111,117,114, ++ 99,101,32,99,111,100,101,46,78,114,8,0,0,0,114,248, ++ 0,0,0,114,8,0,0,0,114,8,0,0,0,114,9,0, ++ 0,0,114,2,1,0,0,130,4,0,0,114,26,0,0,0, ++ 122,31,83,111,117,114,99,101,108,101,115,115,70,105,108,101, ++ 76,111,97,100,101,114,46,103,101,116,95,115,111,117,114,99, ++ 101,78,41,6,114,151,0,0,0,114,150,0,0,0,114,152, ++ 0,0,0,114,153,0,0,0,114,242,0,0,0,114,2,1, ++ 0,0,114,8,0,0,0,114,8,0,0,0,114,8,0,0, ++ 0,114,9,0,0,0,114,42,1,0,0,110,4,0,0,115, ++ 8,0,0,0,8,0,4,2,8,2,12,16,114,42,1,0, + 0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +- 0,0,2,0,0,0,64,0,0,0,115,104,0,0,0,101, ++ 0,0,3,0,0,0,64,0,0,0,115,92,0,0,0,101, + 0,90,1,100,0,90,2,100,1,90,3,100,2,100,3,132, + 0,90,4,100,4,100,5,132,0,90,5,100,6,100,7,132, + 0,90,6,100,8,100,9,132,0,90,7,100,10,100,11,132, + 0,90,8,100,12,100,13,132,0,90,9,100,14,100,15,132, +- 0,90,10,100,16,100,17,132,0,90,11,100,18,100,19,132, +- 0,90,12,100,20,100,21,132,0,90,13,100,22,100,23,132, +- 0,90,14,100,24,83,0,41,25,218,14,95,78,97,109,101, +- 115,112,97,99,101,80,97,116,104,97,38,1,0,0,82,101, +- 112,114,101,115,101,110,116,115,32,97,32,110,97,109,101,115, +- 112,97,99,101,32,112,97,99,107,97,103,101,39,115,32,112, +- 97,116,104,46,32,32,73,116,32,117,115,101,115,32,116,104, +- 101,32,109,111,100,117,108,101,32,110,97,109,101,10,32,32, +- 32,32,116,111,32,102,105,110,100,32,105,116,115,32,112,97, +- 114,101,110,116,32,109,111,100,117,108,101,44,32,97,110,100, +- 32,102,114,111,109,32,116,104,101,114,101,32,105,116,32,108, +- 111,111,107,115,32,117,112,32,116,104,101,32,112,97,114,101, +- 110,116,39,115,10,32,32,32,32,95,95,112,97,116,104,95, +- 95,46,32,32,87,104,101,110,32,116,104,105,115,32,99,104, +- 97,110,103,101,115,44,32,116,104,101,32,109,111,100,117,108, +- 101,39,115,32,111,119,110,32,112,97,116,104,32,105,115,32, +- 114,101,99,111,109,112,117,116,101,100,44,10,32,32,32,32, +- 117,115,105,110,103,32,112,97,116,104,95,102,105,110,100,101, +- 114,46,32,32,70,111,114,32,116,111,112,45,108,101,118,101, +- 108,32,109,111,100,117,108,101,115,44,32,116,104,101,32,112, +- 97,114,101,110,116,32,109,111,100,117,108,101,39,115,32,112, +- 97,116,104,10,32,32,32,32,105,115,32,115,121,115,46,112, +- 97,116,104,46,99,4,0,0,0,0,0,0,0,0,0,0, +- 0,4,0,0,0,3,0,0,0,67,0,0,0,115,36,0, +- 0,0,124,1,124,0,95,0,124,2,124,0,95,1,116,2, +- 124,0,160,3,161,0,131,1,124,0,95,4,124,3,124,0, +- 95,5,100,0,83,0,114,69,0,0,0,41,6,218,5,95, +- 110,97,109,101,218,5,95,112,97,116,104,114,136,0,0,0, +- 218,16,95,103,101,116,95,112,97,114,101,110,116,95,112,97, +- 116,104,218,17,95,108,97,115,116,95,112,97,114,101,110,116, +- 95,112,97,116,104,218,12,95,112,97,116,104,95,102,105,110, +- 100,101,114,169,4,114,143,0,0,0,114,141,0,0,0,114, +- 65,0,0,0,90,11,112,97,116,104,95,102,105,110,100,101, +- 114,114,7,0,0,0,114,7,0,0,0,114,8,0,0,0, +- 114,236,0,0,0,191,4,0,0,115,8,0,0,0,6,1, +- 6,1,14,1,10,1,122,23,95,78,97,109,101,115,112,97, +- 99,101,80,97,116,104,46,95,95,105,110,105,116,95,95,99, +- 1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, +- 3,0,0,0,67,0,0,0,115,38,0,0,0,124,0,106, +- 0,160,1,100,1,161,1,92,3,125,1,125,2,125,3,124, +- 2,100,2,107,2,114,15,100,3,83,0,124,1,100,4,102, +- 2,83,0,41,6,122,62,82,101,116,117,114,110,115,32,97, +- 32,116,117,112,108,101,32,111,102,32,40,112,97,114,101,110, +- 116,45,109,111,100,117,108,101,45,110,97,109,101,44,32,112, +- 97,114,101,110,116,45,112,97,116,104,45,97,116,116,114,45, +- 110,97,109,101,41,114,97,0,0,0,114,10,0,0,0,41, +- 2,114,15,0,0,0,114,65,0,0,0,90,8,95,95,112, +- 97,116,104,95,95,78,41,2,114,48,1,0,0,114,104,0, +- 0,0,41,4,114,143,0,0,0,114,40,1,0,0,218,3, +- 100,111,116,90,2,109,101,114,7,0,0,0,114,7,0,0, +- 0,114,8,0,0,0,218,23,95,102,105,110,100,95,112,97, +- 114,101,110,116,95,112,97,116,104,95,110,97,109,101,115,197, +- 4,0,0,115,8,0,0,0,18,2,8,1,4,2,8,3, +- 122,38,95,78,97,109,101,115,112,97,99,101,80,97,116,104, +- 46,95,102,105,110,100,95,112,97,114,101,110,116,95,112,97, +- 116,104,95,110,97,109,101,115,99,1,0,0,0,0,0,0, +- 0,0,0,0,0,3,0,0,0,3,0,0,0,67,0,0, +- 0,115,28,0,0,0,124,0,160,0,161,0,92,2,125,1, +- 125,2,116,1,116,2,106,3,124,1,25,0,124,2,131,2, +- 83,0,114,69,0,0,0,41,4,114,55,1,0,0,114,155, +- 0,0,0,114,15,0,0,0,218,7,109,111,100,117,108,101, +- 115,41,3,114,143,0,0,0,90,18,112,97,114,101,110,116, +- 95,109,111,100,117,108,101,95,110,97,109,101,90,14,112,97, +- 116,104,95,97,116,116,114,95,110,97,109,101,114,7,0,0, +- 0,114,7,0,0,0,114,8,0,0,0,114,50,1,0,0, +- 207,4,0,0,115,4,0,0,0,12,1,16,1,122,31,95, +- 78,97,109,101,115,112,97,99,101,80,97,116,104,46,95,103, +- 101,116,95,112,97,114,101,110,116,95,112,97,116,104,99,1, +- 0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4, +- 0,0,0,67,0,0,0,115,80,0,0,0,116,0,124,0, +- 160,1,161,0,131,1,125,1,124,1,124,0,106,2,107,3, +- 114,37,124,0,160,3,124,0,106,4,124,1,161,2,125,2, +- 124,2,100,0,117,1,114,34,124,2,106,5,100,0,117,0, +- 114,34,124,2,106,6,114,34,124,2,106,6,124,0,95,7, +- 124,1,124,0,95,2,124,0,106,7,83,0,114,69,0,0, +- 0,41,8,114,136,0,0,0,114,50,1,0,0,114,51,1, +- 0,0,114,52,1,0,0,114,48,1,0,0,114,164,0,0, +- 0,114,202,0,0,0,114,49,1,0,0,41,3,114,143,0, +- 0,0,90,11,112,97,114,101,110,116,95,112,97,116,104,114, +- 210,0,0,0,114,7,0,0,0,114,7,0,0,0,114,8, +- 0,0,0,218,12,95,114,101,99,97,108,99,117,108,97,116, +- 101,211,4,0,0,115,16,0,0,0,12,2,10,1,14,1, +- 18,3,6,1,8,1,6,1,6,1,122,27,95,78,97,109, +- 101,115,112,97,99,101,80,97,116,104,46,95,114,101,99,97, +- 108,99,117,108,97,116,101,99,1,0,0,0,0,0,0,0, +- 0,0,0,0,1,0,0,0,3,0,0,0,67,0,0,0, +- 243,12,0,0,0,116,0,124,0,160,1,161,0,131,1,83, +- 0,114,69,0,0,0,41,2,218,4,105,116,101,114,114,57, +- 1,0,0,114,21,1,0,0,114,7,0,0,0,114,7,0, +- 0,0,114,8,0,0,0,218,8,95,95,105,116,101,114,95, +- 95,224,4,0,0,243,2,0,0,0,12,1,122,23,95,78, ++ 0,90,10,100,16,100,17,132,0,90,11,101,12,100,18,100, ++ 19,132,0,131,1,90,13,100,20,83,0,41,21,114,31,1, ++ 0,0,122,93,76,111,97,100,101,114,32,102,111,114,32,101, ++ 120,116,101,110,115,105,111,110,32,109,111,100,117,108,101,115, ++ 46,10,10,32,32,32,32,84,104,101,32,99,111,110,115,116, ++ 114,117,99,116,111,114,32,105,115,32,100,101,115,105,103,110, ++ 101,100,32,116,111,32,119,111,114,107,32,119,105,116,104,32, ++ 70,105,108,101,70,105,110,100,101,114,46,10,10,32,32,32, ++ 32,99,3,0,0,0,0,0,0,0,0,0,0,0,3,0, ++ 0,0,2,0,0,0,67,0,0,0,115,16,0,0,0,124, ++ 1,124,0,95,0,124,2,124,0,95,1,100,0,83,0,114, ++ 71,0,0,0,114,184,0,0,0,41,3,114,144,0,0,0, ++ 114,142,0,0,0,114,67,0,0,0,114,8,0,0,0,114, ++ 8,0,0,0,114,9,0,0,0,114,237,0,0,0,143,4, ++ 0,0,115,4,0,0,0,6,1,10,1,122,28,69,120,116, ++ 101,110,115,105,111,110,70,105,108,101,76,111,97,100,101,114, ++ 46,95,95,105,110,105,116,95,95,99,2,0,0,0,0,0, ++ 0,0,0,0,0,0,2,0,0,0,2,0,0,0,67,0, ++ 0,0,114,13,1,0,0,114,71,0,0,0,114,14,1,0, ++ 0,114,16,1,0,0,114,8,0,0,0,114,8,0,0,0, ++ 114,9,0,0,0,114,17,1,0,0,147,4,0,0,114,18, ++ 1,0,0,122,26,69,120,116,101,110,115,105,111,110,70,105, ++ 108,101,76,111,97,100,101,114,46,95,95,101,113,95,95,99, ++ 1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, ++ 3,0,0,0,67,0,0,0,114,19,1,0,0,114,71,0, ++ 0,0,114,20,1,0,0,114,22,1,0,0,114,8,0,0, ++ 0,114,8,0,0,0,114,9,0,0,0,114,23,1,0,0, ++ 151,4,0,0,114,24,1,0,0,122,28,69,120,116,101,110, ++ 115,105,111,110,70,105,108,101,76,111,97,100,101,114,46,95, ++ 95,104,97,115,104,95,95,99,2,0,0,0,0,0,0,0, ++ 0,0,0,0,3,0,0,0,5,0,0,0,67,0,0,0, ++ 115,36,0,0,0,116,0,160,1,116,2,106,3,124,1,161, ++ 2,125,2,116,0,160,4,100,1,124,1,106,5,124,0,106, ++ 6,161,3,1,0,124,2,83,0,41,3,122,38,67,114,101, ++ 97,116,101,32,97,110,32,117,110,105,116,105,97,108,105,122, ++ 101,100,32,101,120,116,101,110,115,105,111,110,32,109,111,100, ++ 117,108,101,122,38,101,120,116,101,110,115,105,111,110,32,109, ++ 111,100,117,108,101,32,123,33,114,125,32,108,111,97,100,101, ++ 100,32,102,114,111,109,32,123,33,114,125,78,41,7,114,160, ++ 0,0,0,114,243,0,0,0,114,188,0,0,0,90,14,99, ++ 114,101,97,116,101,95,100,121,110,97,109,105,99,114,174,0, ++ 0,0,114,142,0,0,0,114,67,0,0,0,41,3,114,144, ++ 0,0,0,114,211,0,0,0,114,245,0,0,0,114,8,0, ++ 0,0,114,8,0,0,0,114,9,0,0,0,114,240,0,0, ++ 0,154,4,0,0,115,14,0,0,0,4,2,6,1,4,255, ++ 6,2,8,1,4,255,4,2,122,33,69,120,116,101,110,115, ++ 105,111,110,70,105,108,101,76,111,97,100,101,114,46,99,114, ++ 101,97,116,101,95,109,111,100,117,108,101,99,2,0,0,0, ++ 0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0, ++ 67,0,0,0,115,36,0,0,0,116,0,160,1,116,2,106, ++ 3,124,1,161,2,1,0,116,0,160,4,100,1,124,0,106, ++ 5,124,0,106,6,161,3,1,0,100,2,83,0,41,3,122, ++ 30,73,110,105,116,105,97,108,105,122,101,32,97,110,32,101, ++ 120,116,101,110,115,105,111,110,32,109,111,100,117,108,101,122, ++ 40,101,120,116,101,110,115,105,111,110,32,109,111,100,117,108, ++ 101,32,123,33,114,125,32,101,120,101,99,117,116,101,100,32, ++ 102,114,111,109,32,123,33,114,125,78,41,7,114,160,0,0, ++ 0,114,243,0,0,0,114,188,0,0,0,90,12,101,120,101, ++ 99,95,100,121,110,97,109,105,99,114,174,0,0,0,114,142, ++ 0,0,0,114,67,0,0,0,169,2,114,144,0,0,0,114, ++ 245,0,0,0,114,8,0,0,0,114,8,0,0,0,114,9, ++ 0,0,0,114,246,0,0,0,162,4,0,0,115,8,0,0, ++ 0,14,2,6,1,8,1,8,255,122,31,69,120,116,101,110, ++ 115,105,111,110,70,105,108,101,76,111,97,100,101,114,46,101, ++ 120,101,99,95,109,111,100,117,108,101,99,2,0,0,0,0, ++ 0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,3, ++ 0,0,0,115,36,0,0,0,116,0,124,0,106,1,131,1, ++ 100,1,25,0,137,0,116,2,135,0,102,1,100,2,100,3, ++ 132,8,116,3,68,0,131,1,131,1,83,0,41,5,122,49, ++ 82,101,116,117,114,110,32,84,114,117,101,32,105,102,32,116, ++ 104,101,32,101,120,116,101,110,115,105,111,110,32,109,111,100, ++ 117,108,101,32,105,115,32,97,32,112,97,99,107,97,103,101, ++ 46,114,4,0,0,0,99,1,0,0,0,0,0,0,0,0, ++ 0,0,0,2,0,0,0,4,0,0,0,51,0,0,0,115, ++ 28,0,0,0,129,0,124,0,93,9,125,1,136,0,100,0, ++ 124,1,23,0,107,2,86,0,1,0,113,2,100,1,83,0, ++ 41,2,114,237,0,0,0,78,114,8,0,0,0,169,2,114, ++ 6,0,0,0,218,6,115,117,102,102,105,120,169,1,90,9, ++ 102,105,108,101,95,110,97,109,101,114,8,0,0,0,114,9, ++ 0,0,0,114,10,0,0,0,171,4,0,0,115,8,0,0, ++ 0,2,128,4,0,2,1,20,255,122,49,69,120,116,101,110, ++ 115,105,111,110,70,105,108,101,76,111,97,100,101,114,46,105, ++ 115,95,112,97,99,107,97,103,101,46,60,108,111,99,97,108, ++ 115,62,46,60,103,101,110,101,120,112,114,62,78,41,4,114, ++ 76,0,0,0,114,67,0,0,0,218,3,97,110,121,114,233, ++ 0,0,0,114,248,0,0,0,114,8,0,0,0,114,46,1, ++ 0,0,114,9,0,0,0,114,207,0,0,0,168,4,0,0, ++ 115,8,0,0,0,14,2,12,1,2,1,8,255,122,30,69, ++ 120,116,101,110,115,105,111,110,70,105,108,101,76,111,97,100, ++ 101,114,46,105,115,95,112,97,99,107,97,103,101,99,2,0, ++ 0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0, ++ 0,0,67,0,0,0,114,25,0,0,0,41,2,122,63,82, ++ 101,116,117,114,110,32,78,111,110,101,32,97,115,32,97,110, ++ 32,101,120,116,101,110,115,105,111,110,32,109,111,100,117,108, ++ 101,32,99,97,110,110,111,116,32,99,114,101,97,116,101,32, ++ 97,32,99,111,100,101,32,111,98,106,101,99,116,46,78,114, ++ 8,0,0,0,114,248,0,0,0,114,8,0,0,0,114,8, ++ 0,0,0,114,9,0,0,0,114,242,0,0,0,174,4,0, ++ 0,114,26,0,0,0,122,28,69,120,116,101,110,115,105,111, ++ 110,70,105,108,101,76,111,97,100,101,114,46,103,101,116,95, ++ 99,111,100,101,99,2,0,0,0,0,0,0,0,0,0,0, ++ 0,2,0,0,0,1,0,0,0,67,0,0,0,114,25,0, ++ 0,0,41,2,122,53,82,101,116,117,114,110,32,78,111,110, ++ 101,32,97,115,32,101,120,116,101,110,115,105,111,110,32,109, ++ 111,100,117,108,101,115,32,104,97,118,101,32,110,111,32,115, ++ 111,117,114,99,101,32,99,111,100,101,46,78,114,8,0,0, ++ 0,114,248,0,0,0,114,8,0,0,0,114,8,0,0,0, ++ 114,9,0,0,0,114,2,1,0,0,178,4,0,0,114,26, ++ 0,0,0,122,30,69,120,116,101,110,115,105,111,110,70,105, ++ 108,101,76,111,97,100,101,114,46,103,101,116,95,115,111,117, ++ 114,99,101,99,2,0,0,0,0,0,0,0,0,0,0,0, ++ 2,0,0,0,1,0,0,0,67,0,0,0,114,27,1,0, ++ 0,114,28,1,0,0,114,73,0,0,0,114,248,0,0,0, ++ 114,8,0,0,0,114,8,0,0,0,114,9,0,0,0,114, ++ 204,0,0,0,182,4,0,0,114,29,1,0,0,122,32,69, ++ 120,116,101,110,115,105,111,110,70,105,108,101,76,111,97,100, ++ 101,114,46,103,101,116,95,102,105,108,101,110,97,109,101,78, ++ 41,14,114,151,0,0,0,114,150,0,0,0,114,152,0,0, ++ 0,114,153,0,0,0,114,237,0,0,0,114,17,1,0,0, ++ 114,23,1,0,0,114,240,0,0,0,114,246,0,0,0,114, ++ 207,0,0,0,114,242,0,0,0,114,2,1,0,0,114,161, ++ 0,0,0,114,204,0,0,0,114,8,0,0,0,114,8,0, ++ 0,0,114,8,0,0,0,114,9,0,0,0,114,31,1,0, ++ 0,135,4,0,0,115,24,0,0,0,8,0,4,2,8,6, ++ 8,4,8,4,8,3,8,8,8,6,8,6,8,4,2,4, ++ 14,1,114,31,1,0,0,99,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0, ++ 115,104,0,0,0,101,0,90,1,100,0,90,2,100,1,90, ++ 3,100,2,100,3,132,0,90,4,100,4,100,5,132,0,90, ++ 5,100,6,100,7,132,0,90,6,100,8,100,9,132,0,90, ++ 7,100,10,100,11,132,0,90,8,100,12,100,13,132,0,90, ++ 9,100,14,100,15,132,0,90,10,100,16,100,17,132,0,90, ++ 11,100,18,100,19,132,0,90,12,100,20,100,21,132,0,90, ++ 13,100,22,100,23,132,0,90,14,100,24,83,0,41,25,218, ++ 14,95,78,97,109,101,115,112,97,99,101,80,97,116,104,97, ++ 38,1,0,0,82,101,112,114,101,115,101,110,116,115,32,97, ++ 32,110,97,109,101,115,112,97,99,101,32,112,97,99,107,97, ++ 103,101,39,115,32,112,97,116,104,46,32,32,73,116,32,117, ++ 115,101,115,32,116,104,101,32,109,111,100,117,108,101,32,110, ++ 97,109,101,10,32,32,32,32,116,111,32,102,105,110,100,32, ++ 105,116,115,32,112,97,114,101,110,116,32,109,111,100,117,108, ++ 101,44,32,97,110,100,32,102,114,111,109,32,116,104,101,114, ++ 101,32,105,116,32,108,111,111,107,115,32,117,112,32,116,104, ++ 101,32,112,97,114,101,110,116,39,115,10,32,32,32,32,95, ++ 95,112,97,116,104,95,95,46,32,32,87,104,101,110,32,116, ++ 104,105,115,32,99,104,97,110,103,101,115,44,32,116,104,101, ++ 32,109,111,100,117,108,101,39,115,32,111,119,110,32,112,97, ++ 116,104,32,105,115,32,114,101,99,111,109,112,117,116,101,100, ++ 44,10,32,32,32,32,117,115,105,110,103,32,112,97,116,104, ++ 95,102,105,110,100,101,114,46,32,32,70,111,114,32,116,111, ++ 112,45,108,101,118,101,108,32,109,111,100,117,108,101,115,44, ++ 32,116,104,101,32,112,97,114,101,110,116,32,109,111,100,117, ++ 108,101,39,115,32,112,97,116,104,10,32,32,32,32,105,115, ++ 32,115,121,115,46,112,97,116,104,46,99,4,0,0,0,0, ++ 0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,67, ++ 0,0,0,115,36,0,0,0,124,1,124,0,95,0,124,2, ++ 124,0,95,1,116,2,124,0,160,3,161,0,131,1,124,0, ++ 95,4,124,3,124,0,95,5,100,0,83,0,114,71,0,0, ++ 0,41,6,218,5,95,110,97,109,101,218,5,95,112,97,116, ++ 104,114,137,0,0,0,218,16,95,103,101,116,95,112,97,114, ++ 101,110,116,95,112,97,116,104,218,17,95,108,97,115,116,95, ++ 112,97,114,101,110,116,95,112,97,116,104,218,12,95,112,97, ++ 116,104,95,102,105,110,100,101,114,169,4,114,144,0,0,0, ++ 114,142,0,0,0,114,67,0,0,0,90,11,112,97,116,104, ++ 95,102,105,110,100,101,114,114,8,0,0,0,114,8,0,0, ++ 0,114,9,0,0,0,114,237,0,0,0,195,4,0,0,115, ++ 8,0,0,0,6,1,6,1,14,1,10,1,122,23,95,78, + 97,109,101,115,112,97,99,101,80,97,116,104,46,95,95,105, +- 116,101,114,95,95,99,2,0,0,0,0,0,0,0,0,0, +- 0,0,2,0,0,0,2,0,0,0,67,0,0,0,115,12, +- 0,0,0,124,0,160,0,161,0,124,1,25,0,83,0,114, +- 69,0,0,0,169,1,114,57,1,0,0,41,2,114,143,0, +- 0,0,218,5,105,110,100,101,120,114,7,0,0,0,114,7, +- 0,0,0,114,8,0,0,0,218,11,95,95,103,101,116,105, +- 116,101,109,95,95,227,4,0,0,114,61,1,0,0,122,26, +- 95,78,97,109,101,115,112,97,99,101,80,97,116,104,46,95, +- 95,103,101,116,105,116,101,109,95,95,99,3,0,0,0,0, +- 0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,67, +- 0,0,0,115,14,0,0,0,124,2,124,0,106,0,124,1, +- 60,0,100,0,83,0,114,69,0,0,0,41,1,114,49,1, +- 0,0,41,3,114,143,0,0,0,114,63,1,0,0,114,65, +- 0,0,0,114,7,0,0,0,114,7,0,0,0,114,8,0, +- 0,0,218,11,95,95,115,101,116,105,116,101,109,95,95,230, +- 4,0,0,115,2,0,0,0,14,1,122,26,95,78,97,109, +- 101,115,112,97,99,101,80,97,116,104,46,95,95,115,101,116, +- 105,116,101,109,95,95,99,1,0,0,0,0,0,0,0,0, +- 0,0,0,1,0,0,0,3,0,0,0,67,0,0,0,114, +- 58,1,0,0,114,69,0,0,0,41,2,114,4,0,0,0, +- 114,57,1,0,0,114,21,1,0,0,114,7,0,0,0,114, +- 7,0,0,0,114,8,0,0,0,218,7,95,95,108,101,110, +- 95,95,233,4,0,0,114,61,1,0,0,122,22,95,78,97, +- 109,101,115,112,97,99,101,80,97,116,104,46,95,95,108,101, +- 110,95,95,99,1,0,0,0,0,0,0,0,0,0,0,0, +- 1,0,0,0,3,0,0,0,67,0,0,0,243,12,0,0, +- 0,100,1,160,0,124,0,106,1,161,1,83,0,41,2,78, +- 122,20,95,78,97,109,101,115,112,97,99,101,80,97,116,104, +- 40,123,33,114,125,41,41,2,114,89,0,0,0,114,49,1, +- 0,0,114,21,1,0,0,114,7,0,0,0,114,7,0,0, +- 0,114,8,0,0,0,218,8,95,95,114,101,112,114,95,95, +- 236,4,0,0,114,61,1,0,0,122,23,95,78,97,109,101, +- 115,112,97,99,101,80,97,116,104,46,95,95,114,101,112,114, +- 95,95,99,2,0,0,0,0,0,0,0,0,0,0,0,2, +- 0,0,0,3,0,0,0,67,0,0,0,115,12,0,0,0, +- 124,1,124,0,160,0,161,0,118,0,83,0,114,69,0,0, +- 0,114,62,1,0,0,169,2,114,143,0,0,0,218,4,105, +- 116,101,109,114,7,0,0,0,114,7,0,0,0,114,8,0, +- 0,0,218,12,95,95,99,111,110,116,97,105,110,115,95,95, +- 239,4,0,0,114,61,1,0,0,122,27,95,78,97,109,101, +- 115,112,97,99,101,80,97,116,104,46,95,95,99,111,110,116, +- 97,105,110,115,95,95,99,2,0,0,0,0,0,0,0,0, +- 0,0,0,2,0,0,0,3,0,0,0,67,0,0,0,115, +- 16,0,0,0,124,0,106,0,160,1,124,1,161,1,1,0, +- 100,0,83,0,114,69,0,0,0,41,2,114,49,1,0,0, +- 114,61,0,0,0,114,69,1,0,0,114,7,0,0,0,114, +- 7,0,0,0,114,8,0,0,0,114,61,0,0,0,242,4, +- 0,0,243,2,0,0,0,16,1,122,21,95,78,97,109,101, +- 115,112,97,99,101,80,97,116,104,46,97,112,112,101,110,100, +- 78,41,15,114,150,0,0,0,114,149,0,0,0,114,151,0, +- 0,0,114,152,0,0,0,114,236,0,0,0,114,55,1,0, +- 0,114,50,1,0,0,114,57,1,0,0,114,60,1,0,0, +- 114,64,1,0,0,114,65,1,0,0,114,66,1,0,0,114, +- 68,1,0,0,114,71,1,0,0,114,61,0,0,0,114,7, +- 0,0,0,114,7,0,0,0,114,7,0,0,0,114,8,0, +- 0,0,114,47,1,0,0,184,4,0,0,115,26,0,0,0, +- 8,0,4,1,8,6,8,6,8,10,8,4,8,13,8,3, +- 8,3,8,3,8,3,8,3,12,3,114,47,1,0,0,99, +- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +- 3,0,0,0,64,0,0,0,115,88,0,0,0,101,0,90, +- 1,100,0,90,2,100,1,100,2,132,0,90,3,101,4,100, +- 3,100,4,132,0,131,1,90,5,100,5,100,6,132,0,90, +- 6,100,7,100,8,132,0,90,7,100,9,100,10,132,0,90, +- 8,100,11,100,12,132,0,90,9,100,13,100,14,132,0,90, +- 10,100,15,100,16,132,0,90,11,100,17,100,18,132,0,90, +- 12,100,19,83,0,41,20,218,16,95,78,97,109,101,115,112, +- 97,99,101,76,111,97,100,101,114,99,4,0,0,0,0,0, +- 0,0,0,0,0,0,4,0,0,0,4,0,0,0,67,0, +- 0,0,115,18,0,0,0,116,0,124,1,124,2,124,3,131, +- 3,124,0,95,1,100,0,83,0,114,69,0,0,0,41,2, +- 114,47,1,0,0,114,49,1,0,0,114,53,1,0,0,114, +- 7,0,0,0,114,7,0,0,0,114,8,0,0,0,114,236, +- 0,0,0,248,4,0,0,115,2,0,0,0,18,1,122,25, +- 95,78,97,109,101,115,112,97,99,101,76,111,97,100,101,114, +- 46,95,95,105,110,105,116,95,95,99,1,0,0,0,0,0, +- 0,0,0,0,0,0,1,0,0,0,4,0,0,0,67,0, +- 0,0,115,24,0,0,0,116,0,160,1,100,1,116,2,161, +- 2,1,0,100,2,160,3,124,0,106,4,161,1,83,0,41, +- 4,122,115,82,101,116,117,114,110,32,114,101,112,114,32,102, +- 111,114,32,116,104,101,32,109,111,100,117,108,101,46,10,10, +- 32,32,32,32,32,32,32,32,84,104,101,32,109,101,116,104, +- 111,100,32,105,115,32,100,101,112,114,101,99,97,116,101,100, +- 46,32,32,84,104,101,32,105,109,112,111,114,116,32,109,97, +- 99,104,105,110,101,114,121,32,100,111,101,115,32,116,104,101, +- 32,106,111,98,32,105,116,115,101,108,102,46,10,10,32,32, +- 32,32,32,32,32,32,122,82,95,78,97,109,101,115,112,97, +- 99,101,76,111,97,100,101,114,46,109,111,100,117,108,101,95, +- 114,101,112,114,40,41,32,105,115,32,100,101,112,114,101,99, +- 97,116,101,100,32,97,110,100,32,115,108,97,116,101,100,32, +- 102,111,114,32,114,101,109,111,118,97,108,32,105,110,32,80, +- 121,116,104,111,110,32,51,46,49,50,122,25,60,109,111,100, +- 117,108,101,32,123,33,114,125,32,40,110,97,109,101,115,112, +- 97,99,101,41,62,78,41,5,114,99,0,0,0,114,100,0, +- 0,0,114,101,0,0,0,114,89,0,0,0,114,150,0,0, +- 0,41,1,114,244,0,0,0,114,7,0,0,0,114,7,0, +- 0,0,114,8,0,0,0,218,11,109,111,100,117,108,101,95, +- 114,101,112,114,251,4,0,0,115,8,0,0,0,6,7,2, +- 1,4,255,12,2,122,28,95,78,97,109,101,115,112,97,99, +- 101,76,111,97,100,101,114,46,109,111,100,117,108,101,95,114, +- 101,112,114,99,2,0,0,0,0,0,0,0,0,0,0,0, +- 2,0,0,0,1,0,0,0,67,0,0,0,114,23,0,0, +- 0,41,2,78,84,114,7,0,0,0,114,247,0,0,0,114, +- 7,0,0,0,114,7,0,0,0,114,8,0,0,0,114,206, +- 0,0,0,6,5,0,0,243,2,0,0,0,4,1,122,27, +- 95,78,97,109,101,115,112,97,99,101,76,111,97,100,101,114, +- 46,105,115,95,112,97,99,107,97,103,101,99,2,0,0,0, +- 0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0, +- 67,0,0,0,114,23,0,0,0,41,2,78,114,10,0,0, +- 0,114,7,0,0,0,114,247,0,0,0,114,7,0,0,0, +- 114,7,0,0,0,114,8,0,0,0,114,1,1,0,0,9, +- 5,0,0,114,75,1,0,0,122,27,95,78,97,109,101,115, +- 112,97,99,101,76,111,97,100,101,114,46,103,101,116,95,115, +- 111,117,114,99,101,99,2,0,0,0,0,0,0,0,0,0, +- 0,0,2,0,0,0,6,0,0,0,67,0,0,0,115,16, +- 0,0,0,116,0,100,1,100,2,100,3,100,4,100,5,141, +- 4,83,0,41,6,78,114,10,0,0,0,122,8,60,115,116, +- 114,105,110,103,62,114,243,0,0,0,84,41,1,114,3,1, +- 0,0,41,1,114,4,1,0,0,114,247,0,0,0,114,7, +- 0,0,0,114,7,0,0,0,114,8,0,0,0,114,241,0, +- 0,0,12,5,0,0,114,72,1,0,0,122,25,95,78,97, +- 109,101,115,112,97,99,101,76,111,97,100,101,114,46,103,101, +- 116,95,99,111,100,101,99,2,0,0,0,0,0,0,0,0, +- 0,0,0,2,0,0,0,1,0,0,0,67,0,0,0,114, +- 23,0,0,0,114,237,0,0,0,114,7,0,0,0,114,238, +- 0,0,0,114,7,0,0,0,114,7,0,0,0,114,8,0, +- 0,0,114,239,0,0,0,15,5,0,0,114,240,0,0,0, +- 122,30,95,78,97,109,101,115,112,97,99,101,76,111,97,100, +- 101,114,46,99,114,101,97,116,101,95,109,111,100,117,108,101, +- 99,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +- 0,1,0,0,0,67,0,0,0,115,4,0,0,0,100,0, +- 83,0,114,69,0,0,0,114,7,0,0,0,114,42,1,0, +- 0,114,7,0,0,0,114,7,0,0,0,114,8,0,0,0, +- 114,245,0,0,0,18,5,0,0,114,75,1,0,0,122,28, ++ 110,105,116,95,95,99,1,0,0,0,0,0,0,0,0,0, ++ 0,0,4,0,0,0,3,0,0,0,67,0,0,0,115,38, ++ 0,0,0,124,0,106,0,160,1,100,1,161,1,92,3,125, ++ 1,125,2,125,3,124,2,100,2,107,2,114,15,100,3,83, ++ 0,124,1,100,4,102,2,83,0,41,6,122,62,82,101,116, ++ 117,114,110,115,32,97,32,116,117,112,108,101,32,111,102,32, ++ 40,112,97,114,101,110,116,45,109,111,100,117,108,101,45,110, ++ 97,109,101,44,32,112,97,114,101,110,116,45,112,97,116,104, ++ 45,97,116,116,114,45,110,97,109,101,41,114,99,0,0,0, ++ 114,11,0,0,0,41,2,114,16,0,0,0,114,67,0,0, ++ 0,90,8,95,95,112,97,116,104,95,95,78,41,2,114,49, ++ 1,0,0,114,106,0,0,0,41,4,114,144,0,0,0,114, ++ 41,1,0,0,218,3,100,111,116,90,2,109,101,114,8,0, ++ 0,0,114,8,0,0,0,114,9,0,0,0,218,23,95,102, ++ 105,110,100,95,112,97,114,101,110,116,95,112,97,116,104,95, ++ 110,97,109,101,115,201,4,0,0,115,8,0,0,0,18,2, ++ 8,1,4,2,8,3,122,38,95,78,97,109,101,115,112,97, ++ 99,101,80,97,116,104,46,95,102,105,110,100,95,112,97,114, ++ 101,110,116,95,112,97,116,104,95,110,97,109,101,115,99,1, ++ 0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3, ++ 0,0,0,67,0,0,0,115,28,0,0,0,124,0,160,0, ++ 161,0,92,2,125,1,125,2,116,1,116,2,106,3,124,1, ++ 25,0,124,2,131,2,83,0,114,71,0,0,0,41,4,114, ++ 56,1,0,0,114,156,0,0,0,114,16,0,0,0,218,7, ++ 109,111,100,117,108,101,115,41,3,114,144,0,0,0,90,18, ++ 112,97,114,101,110,116,95,109,111,100,117,108,101,95,110,97, ++ 109,101,90,14,112,97,116,104,95,97,116,116,114,95,110,97, ++ 109,101,114,8,0,0,0,114,8,0,0,0,114,9,0,0, ++ 0,114,51,1,0,0,211,4,0,0,115,4,0,0,0,12, ++ 1,16,1,122,31,95,78,97,109,101,115,112,97,99,101,80, ++ 97,116,104,46,95,103,101,116,95,112,97,114,101,110,116,95, ++ 112,97,116,104,99,1,0,0,0,0,0,0,0,0,0,0, ++ 0,3,0,0,0,4,0,0,0,67,0,0,0,115,80,0, ++ 0,0,116,0,124,0,160,1,161,0,131,1,125,1,124,1, ++ 124,0,106,2,107,3,114,37,124,0,160,3,124,0,106,4, ++ 124,1,161,2,125,2,124,2,100,0,117,1,114,34,124,2, ++ 106,5,100,0,117,0,114,34,124,2,106,6,114,34,124,2, ++ 106,6,124,0,95,7,124,1,124,0,95,2,124,0,106,7, ++ 83,0,114,71,0,0,0,41,8,114,137,0,0,0,114,51, ++ 1,0,0,114,52,1,0,0,114,53,1,0,0,114,49,1, ++ 0,0,114,165,0,0,0,114,203,0,0,0,114,50,1,0, ++ 0,41,3,114,144,0,0,0,90,11,112,97,114,101,110,116, ++ 95,112,97,116,104,114,211,0,0,0,114,8,0,0,0,114, ++ 8,0,0,0,114,9,0,0,0,218,12,95,114,101,99,97, ++ 108,99,117,108,97,116,101,215,4,0,0,115,16,0,0,0, ++ 12,2,10,1,14,1,18,3,6,1,8,1,6,1,6,1, ++ 122,27,95,78,97,109,101,115,112,97,99,101,80,97,116,104, ++ 46,95,114,101,99,97,108,99,117,108,97,116,101,99,1,0, ++ 0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0, ++ 0,0,67,0,0,0,243,12,0,0,0,116,0,124,0,160, ++ 1,161,0,131,1,83,0,114,71,0,0,0,41,2,218,4, ++ 105,116,101,114,114,58,1,0,0,114,22,1,0,0,114,8, ++ 0,0,0,114,8,0,0,0,114,9,0,0,0,218,8,95, ++ 95,105,116,101,114,95,95,228,4,0,0,243,2,0,0,0, ++ 12,1,122,23,95,78,97,109,101,115,112,97,99,101,80,97, ++ 116,104,46,95,95,105,116,101,114,95,95,99,2,0,0,0, ++ 0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0, ++ 67,0,0,0,115,12,0,0,0,124,0,160,0,161,0,124, ++ 1,25,0,83,0,114,71,0,0,0,169,1,114,58,1,0, ++ 0,41,2,114,144,0,0,0,218,5,105,110,100,101,120,114, ++ 8,0,0,0,114,8,0,0,0,114,9,0,0,0,218,11, ++ 95,95,103,101,116,105,116,101,109,95,95,231,4,0,0,114, ++ 62,1,0,0,122,26,95,78,97,109,101,115,112,97,99,101, ++ 80,97,116,104,46,95,95,103,101,116,105,116,101,109,95,95, ++ 99,3,0,0,0,0,0,0,0,0,0,0,0,3,0,0, ++ 0,3,0,0,0,67,0,0,0,115,14,0,0,0,124,2, ++ 124,0,106,0,124,1,60,0,100,0,83,0,114,71,0,0, ++ 0,41,1,114,50,1,0,0,41,3,114,144,0,0,0,114, ++ 64,1,0,0,114,67,0,0,0,114,8,0,0,0,114,8, ++ 0,0,0,114,9,0,0,0,218,11,95,95,115,101,116,105, ++ 116,101,109,95,95,234,4,0,0,115,2,0,0,0,14,1, ++ 122,26,95,78,97,109,101,115,112,97,99,101,80,97,116,104, ++ 46,95,95,115,101,116,105,116,101,109,95,95,99,1,0,0, ++ 0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0, ++ 0,67,0,0,0,114,59,1,0,0,114,71,0,0,0,41, ++ 2,114,5,0,0,0,114,58,1,0,0,114,22,1,0,0, ++ 114,8,0,0,0,114,8,0,0,0,114,9,0,0,0,218, ++ 7,95,95,108,101,110,95,95,237,4,0,0,114,62,1,0, ++ 0,122,22,95,78,97,109,101,115,112,97,99,101,80,97,116, ++ 104,46,95,95,108,101,110,95,95,99,1,0,0,0,0,0, ++ 0,0,0,0,0,0,1,0,0,0,3,0,0,0,67,0, ++ 0,0,243,12,0,0,0,100,1,160,0,124,0,106,1,161, ++ 1,83,0,41,2,78,122,20,95,78,97,109,101,115,112,97, ++ 99,101,80,97,116,104,40,123,33,114,125,41,41,2,114,91, ++ 0,0,0,114,50,1,0,0,114,22,1,0,0,114,8,0, ++ 0,0,114,8,0,0,0,114,9,0,0,0,218,8,95,95, ++ 114,101,112,114,95,95,240,4,0,0,114,62,1,0,0,122, ++ 23,95,78,97,109,101,115,112,97,99,101,80,97,116,104,46, ++ 95,95,114,101,112,114,95,95,99,2,0,0,0,0,0,0, ++ 0,0,0,0,0,2,0,0,0,3,0,0,0,67,0,0, ++ 0,115,12,0,0,0,124,1,124,0,160,0,161,0,118,0, ++ 83,0,114,71,0,0,0,114,63,1,0,0,169,2,114,144, ++ 0,0,0,218,4,105,116,101,109,114,8,0,0,0,114,8, ++ 0,0,0,114,9,0,0,0,218,12,95,95,99,111,110,116, ++ 97,105,110,115,95,95,243,4,0,0,114,62,1,0,0,122, ++ 27,95,78,97,109,101,115,112,97,99,101,80,97,116,104,46, ++ 95,95,99,111,110,116,97,105,110,115,95,95,99,2,0,0, ++ 0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0, ++ 0,67,0,0,0,115,16,0,0,0,124,0,106,0,160,1, ++ 124,1,161,1,1,0,100,0,83,0,114,71,0,0,0,41, ++ 2,114,50,1,0,0,114,63,0,0,0,114,70,1,0,0, ++ 114,8,0,0,0,114,8,0,0,0,114,9,0,0,0,114, ++ 63,0,0,0,246,4,0,0,243,2,0,0,0,16,1,122, ++ 21,95,78,97,109,101,115,112,97,99,101,80,97,116,104,46, ++ 97,112,112,101,110,100,78,41,15,114,151,0,0,0,114,150, ++ 0,0,0,114,152,0,0,0,114,153,0,0,0,114,237,0, ++ 0,0,114,56,1,0,0,114,51,1,0,0,114,58,1,0, ++ 0,114,61,1,0,0,114,65,1,0,0,114,66,1,0,0, ++ 114,67,1,0,0,114,69,1,0,0,114,72,1,0,0,114, ++ 63,0,0,0,114,8,0,0,0,114,8,0,0,0,114,8, ++ 0,0,0,114,9,0,0,0,114,48,1,0,0,188,4,0, ++ 0,115,26,0,0,0,8,0,4,1,8,6,8,6,8,10, ++ 8,4,8,13,8,3,8,3,8,3,8,3,8,3,12,3, ++ 114,48,1,0,0,99,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,3,0,0,0,64,0,0,0,115,88, ++ 0,0,0,101,0,90,1,100,0,90,2,100,1,100,2,132, ++ 0,90,3,101,4,100,3,100,4,132,0,131,1,90,5,100, ++ 5,100,6,132,0,90,6,100,7,100,8,132,0,90,7,100, ++ 9,100,10,132,0,90,8,100,11,100,12,132,0,90,9,100, ++ 13,100,14,132,0,90,10,100,15,100,16,132,0,90,11,100, ++ 17,100,18,132,0,90,12,100,19,83,0,41,20,218,16,95, ++ 78,97,109,101,115,112,97,99,101,76,111,97,100,101,114,99, ++ 4,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0, ++ 4,0,0,0,67,0,0,0,115,18,0,0,0,116,0,124, ++ 1,124,2,124,3,131,3,124,0,95,1,100,0,83,0,114, ++ 71,0,0,0,41,2,114,48,1,0,0,114,50,1,0,0, ++ 114,54,1,0,0,114,8,0,0,0,114,8,0,0,0,114, ++ 9,0,0,0,114,237,0,0,0,252,4,0,0,115,2,0, ++ 0,0,18,1,122,25,95,78,97,109,101,115,112,97,99,101, ++ 76,111,97,100,101,114,46,95,95,105,110,105,116,95,95,99, ++ 1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, ++ 4,0,0,0,67,0,0,0,115,24,0,0,0,116,0,160, ++ 1,100,1,116,2,161,2,1,0,100,2,160,3,124,0,106, ++ 4,161,1,83,0,41,4,122,115,82,101,116,117,114,110,32, ++ 114,101,112,114,32,102,111,114,32,116,104,101,32,109,111,100, ++ 117,108,101,46,10,10,32,32,32,32,32,32,32,32,84,104, ++ 101,32,109,101,116,104,111,100,32,105,115,32,100,101,112,114, ++ 101,99,97,116,101,100,46,32,32,84,104,101,32,105,109,112, ++ 111,114,116,32,109,97,99,104,105,110,101,114,121,32,100,111, ++ 101,115,32,116,104,101,32,106,111,98,32,105,116,115,101,108, ++ 102,46,10,10,32,32,32,32,32,32,32,32,122,82,95,78, ++ 97,109,101,115,112,97,99,101,76,111,97,100,101,114,46,109, ++ 111,100,117,108,101,95,114,101,112,114,40,41,32,105,115,32, ++ 100,101,112,114,101,99,97,116,101,100,32,97,110,100,32,115, ++ 108,97,116,101,100,32,102,111,114,32,114,101,109,111,118,97, ++ 108,32,105,110,32,80,121,116,104,111,110,32,51,46,49,50, ++ 122,25,60,109,111,100,117,108,101,32,123,33,114,125,32,40, ++ 110,97,109,101,115,112,97,99,101,41,62,78,41,5,114,101, ++ 0,0,0,114,102,0,0,0,114,103,0,0,0,114,91,0, ++ 0,0,114,151,0,0,0,41,1,114,245,0,0,0,114,8, ++ 0,0,0,114,8,0,0,0,114,9,0,0,0,218,11,109, ++ 111,100,117,108,101,95,114,101,112,114,255,4,0,0,115,8, ++ 0,0,0,6,7,2,1,4,255,12,2,122,28,95,78,97, ++ 109,101,115,112,97,99,101,76,111,97,100,101,114,46,109,111, ++ 100,117,108,101,95,114,101,112,114,99,2,0,0,0,0,0, ++ 0,0,0,0,0,0,2,0,0,0,1,0,0,0,67,0, ++ 0,0,114,25,0,0,0,41,2,78,84,114,8,0,0,0, ++ 114,248,0,0,0,114,8,0,0,0,114,8,0,0,0,114, ++ 9,0,0,0,114,207,0,0,0,10,5,0,0,243,2,0, ++ 0,0,4,1,122,27,95,78,97,109,101,115,112,97,99,101, ++ 76,111,97,100,101,114,46,105,115,95,112,97,99,107,97,103, ++ 101,99,2,0,0,0,0,0,0,0,0,0,0,0,2,0, ++ 0,0,1,0,0,0,67,0,0,0,114,25,0,0,0,41, ++ 2,78,114,11,0,0,0,114,8,0,0,0,114,248,0,0, ++ 0,114,8,0,0,0,114,8,0,0,0,114,9,0,0,0, ++ 114,2,1,0,0,13,5,0,0,114,76,1,0,0,122,27, + 95,78,97,109,101,115,112,97,99,101,76,111,97,100,101,114, +- 46,101,120,101,99,95,109,111,100,117,108,101,99,2,0,0, +- 0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0, +- 0,67,0,0,0,115,26,0,0,0,116,0,160,1,100,1, +- 124,0,106,2,161,2,1,0,116,0,160,3,124,0,124,1, +- 161,2,83,0,41,3,122,98,76,111,97,100,32,97,32,110, +- 97,109,101,115,112,97,99,101,32,109,111,100,117,108,101,46, +- 10,10,32,32,32,32,32,32,32,32,84,104,105,115,32,109, +- 101,116,104,111,100,32,105,115,32,100,101,112,114,101,99,97, +- 116,101,100,46,32,32,85,115,101,32,101,120,101,99,95,109, +- 111,100,117,108,101,40,41,32,105,110,115,116,101,97,100,46, +- 10,10,32,32,32,32,32,32,32,32,122,38,110,97,109,101, +- 115,112,97,99,101,32,109,111,100,117,108,101,32,108,111,97, +- 100,101,100,32,119,105,116,104,32,112,97,116,104,32,123,33, +- 114,125,78,41,4,114,159,0,0,0,114,173,0,0,0,114, +- 49,1,0,0,114,246,0,0,0,114,247,0,0,0,114,7, +- 0,0,0,114,7,0,0,0,114,8,0,0,0,114,248,0, +- 0,0,21,5,0,0,115,8,0,0,0,6,7,4,1,4, +- 255,12,3,122,28,95,78,97,109,101,115,112,97,99,101,76, +- 111,97,100,101,114,46,108,111,97,100,95,109,111,100,117,108, +- 101,99,2,0,0,0,0,0,0,0,0,0,0,0,3,0, +- 0,0,2,0,0,0,67,0,0,0,115,22,0,0,0,100, +- 1,100,2,108,0,109,1,125,2,1,0,124,2,124,0,106, +- 2,131,1,83,0,41,3,78,114,0,0,0,0,41,1,218, +- 15,78,97,109,101,115,112,97,99,101,82,101,97,100,101,114, +- 41,3,114,32,1,0,0,114,76,1,0,0,114,49,1,0, +- 0,41,3,114,143,0,0,0,114,244,0,0,0,114,76,1, +- 0,0,114,7,0,0,0,114,7,0,0,0,114,8,0,0, +- 0,114,33,1,0,0,33,5,0,0,115,4,0,0,0,12, +- 1,10,1,122,36,95,78,97,109,101,115,112,97,99,101,76, +- 111,97,100,101,114,46,103,101,116,95,114,101,115,111,117,114, +- 99,101,95,114,101,97,100,101,114,78,41,13,114,150,0,0, +- 0,114,149,0,0,0,114,151,0,0,0,114,236,0,0,0, +- 114,233,0,0,0,114,74,1,0,0,114,206,0,0,0,114, +- 1,1,0,0,114,241,0,0,0,114,239,0,0,0,114,245, +- 0,0,0,114,248,0,0,0,114,33,1,0,0,114,7,0, +- 0,0,114,7,0,0,0,114,7,0,0,0,114,8,0,0, +- 0,114,73,1,0,0,247,4,0,0,115,22,0,0,0,8, +- 0,8,1,2,3,10,1,8,10,8,3,8,3,8,3,8, +- 3,8,3,12,12,114,73,1,0,0,99,0,0,0,0,0, +- 0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,64, +- 0,0,0,115,118,0,0,0,101,0,90,1,100,0,90,2, +- 100,1,90,3,101,4,100,2,100,3,132,0,131,1,90,5, +- 101,4,100,4,100,5,132,0,131,1,90,6,101,7,100,6, +- 100,7,132,0,131,1,90,8,101,7,100,8,100,9,132,0, +- 131,1,90,9,101,7,100,19,100,11,100,12,132,1,131,1, +- 90,10,101,7,100,20,100,13,100,14,132,1,131,1,90,11, +- 101,7,100,19,100,15,100,16,132,1,131,1,90,12,101,4, +- 100,17,100,18,132,0,131,1,90,13,100,10,83,0,41,21, +- 218,10,80,97,116,104,70,105,110,100,101,114,122,62,77,101, +- 116,97,32,112,97,116,104,32,102,105,110,100,101,114,32,102, +- 111,114,32,115,121,115,46,112,97,116,104,32,97,110,100,32, +- 112,97,99,107,97,103,101,32,95,95,112,97,116,104,95,95, +- 32,97,116,116,114,105,98,117,116,101,115,46,99,0,0,0, +- 0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0, +- 0,67,0,0,0,115,64,0,0,0,116,0,116,1,106,2, +- 160,3,161,0,131,1,68,0,93,22,92,2,125,0,125,1, +- 124,1,100,1,117,0,114,20,116,1,106,2,124,0,61,0, +- 113,7,116,4,124,1,100,2,131,2,114,29,124,1,160,5, +- 161,0,1,0,113,7,100,1,83,0,41,3,122,125,67,97, +- 108,108,32,116,104,101,32,105,110,118,97,108,105,100,97,116, +- 101,95,99,97,99,104,101,115,40,41,32,109,101,116,104,111, +- 100,32,111,110,32,97,108,108,32,112,97,116,104,32,101,110, +- 116,114,121,32,102,105,110,100,101,114,115,10,32,32,32,32, +- 32,32,32,32,115,116,111,114,101,100,32,105,110,32,115,121, +- 115,46,112,97,116,104,95,105,109,112,111,114,116,101,114,95, +- 99,97,99,104,101,115,32,40,119,104,101,114,101,32,105,109, +- 112,108,101,109,101,110,116,101,100,41,46,78,218,17,105,110, +- 118,97,108,105,100,97,116,101,95,99,97,99,104,101,115,41, +- 6,218,4,108,105,115,116,114,15,0,0,0,218,19,112,97, +- 116,104,95,105,109,112,111,114,116,101,114,95,99,97,99,104, +- 101,218,5,105,116,101,109,115,114,153,0,0,0,114,78,1, +- 0,0,41,2,114,141,0,0,0,218,6,102,105,110,100,101, +- 114,114,7,0,0,0,114,7,0,0,0,114,8,0,0,0, +- 114,78,1,0,0,44,5,0,0,115,14,0,0,0,22,4, +- 8,1,10,1,10,1,8,1,2,128,4,252,122,28,80,97, +- 116,104,70,105,110,100,101,114,46,105,110,118,97,108,105,100, +- 97,116,101,95,99,97,99,104,101,115,99,1,0,0,0,0, +- 0,0,0,0,0,0,0,2,0,0,0,9,0,0,0,67, +- 0,0,0,115,76,0,0,0,116,0,106,1,100,1,117,1, +- 114,14,116,0,106,1,115,14,116,2,160,3,100,2,116,4, +- 161,2,1,0,116,0,106,1,68,0,93,18,125,1,122,7, +- 124,1,124,0,131,1,87,0,2,0,1,0,83,0,4,0, +- 116,5,121,35,1,0,1,0,1,0,89,0,113,17,119,0, +- 100,1,83,0,41,3,122,46,83,101,97,114,99,104,32,115, +- 121,115,46,112,97,116,104,95,104,111,111,107,115,32,102,111, +- 114,32,97,32,102,105,110,100,101,114,32,102,111,114,32,39, +- 112,97,116,104,39,46,78,122,23,115,121,115,46,112,97,116, +- 104,95,104,111,111,107,115,32,105,115,32,101,109,112,116,121, +- 41,6,114,15,0,0,0,218,10,112,97,116,104,95,104,111, +- 111,107,115,114,99,0,0,0,114,100,0,0,0,114,162,0, +- 0,0,114,142,0,0,0,41,2,114,65,0,0,0,90,4, +- 104,111,111,107,114,7,0,0,0,114,7,0,0,0,114,8, +- 0,0,0,218,11,95,112,97,116,104,95,104,111,111,107,115, +- 54,5,0,0,115,18,0,0,0,16,3,12,1,10,1,2, +- 1,14,1,12,1,4,1,2,255,4,3,122,22,80,97,116, +- 104,70,105,110,100,101,114,46,95,112,97,116,104,95,104,111, +- 111,107,115,99,2,0,0,0,0,0,0,0,0,0,0,0, +- 3,0,0,0,8,0,0,0,67,0,0,0,115,100,0,0, +- 0,124,1,100,1,107,2,114,21,122,6,116,0,160,1,161, +- 0,125,1,87,0,110,10,4,0,116,2,121,20,1,0,1, +- 0,1,0,89,0,100,2,83,0,119,0,122,8,116,3,106, +- 4,124,1,25,0,125,2,87,0,124,2,83,0,4,0,116, +- 5,121,49,1,0,1,0,1,0,124,0,160,6,124,1,161, +- 1,125,2,124,2,116,3,106,4,124,1,60,0,89,0,124, +- 2,83,0,119,0,41,3,122,210,71,101,116,32,116,104,101, +- 32,102,105,110,100,101,114,32,102,111,114,32,116,104,101,32, +- 112,97,116,104,32,101,110,116,114,121,32,102,114,111,109,32, +- 115,121,115,46,112,97,116,104,95,105,109,112,111,114,116,101, +- 114,95,99,97,99,104,101,46,10,10,32,32,32,32,32,32, +- 32,32,73,102,32,116,104,101,32,112,97,116,104,32,101,110, +- 116,114,121,32,105,115,32,110,111,116,32,105,110,32,116,104, +- 101,32,99,97,99,104,101,44,32,102,105,110,100,32,116,104, +- 101,32,97,112,112,114,111,112,114,105,97,116,101,32,102,105, +- 110,100,101,114,10,32,32,32,32,32,32,32,32,97,110,100, +- 32,99,97,99,104,101,32,105,116,46,32,73,102,32,110,111, +- 32,102,105,110,100,101,114,32,105,115,32,97,118,97,105,108, +- 97,98,108,101,44,32,115,116,111,114,101,32,78,111,110,101, +- 46,10,10,32,32,32,32,32,32,32,32,114,10,0,0,0, +- 78,41,7,114,18,0,0,0,114,82,0,0,0,218,17,70, +- 105,108,101,78,111,116,70,111,117,110,100,69,114,114,111,114, +- 114,15,0,0,0,114,80,1,0,0,218,8,75,101,121,69, +- 114,114,111,114,114,84,1,0,0,41,3,114,221,0,0,0, +- 114,65,0,0,0,114,82,1,0,0,114,7,0,0,0,114, +- 7,0,0,0,114,8,0,0,0,218,20,95,112,97,116,104, +- 95,105,109,112,111,114,116,101,114,95,99,97,99,104,101,67, +- 5,0,0,115,28,0,0,0,8,8,2,1,12,1,12,1, +- 6,3,2,253,2,4,12,1,4,4,12,253,10,1,12,1, +- 4,1,2,253,122,31,80,97,116,104,70,105,110,100,101,114, +- 46,95,112,97,116,104,95,105,109,112,111,114,116,101,114,95, +- 99,97,99,104,101,99,3,0,0,0,0,0,0,0,0,0, +- 0,0,7,0,0,0,4,0,0,0,67,0,0,0,115,138, +- 0,0,0,116,0,124,2,100,1,131,2,114,27,116,1,160, +- 2,124,2,161,1,155,0,100,2,157,2,125,3,116,3,160, +- 4,124,3,116,5,161,2,1,0,124,2,160,6,124,1,161, +- 1,92,2,125,4,125,5,110,21,116,1,160,2,124,2,161, +- 1,155,0,100,3,157,2,125,3,116,3,160,4,124,3,116, +- 5,161,2,1,0,124,2,160,7,124,1,161,1,125,4,103, +- 0,125,5,124,4,100,0,117,1,114,58,116,1,160,8,124, +- 1,124,4,161,2,83,0,116,1,160,9,124,1,100,0,161, +- 2,125,6,124,5,124,6,95,10,124,6,83,0,41,4,78, +- 114,161,0,0,0,122,53,46,102,105,110,100,95,115,112,101, +- 99,40,41,32,110,111,116,32,102,111,117,110,100,59,32,102, +- 97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,102, +- 105,110,100,95,108,111,97,100,101,114,40,41,122,53,46,102, +- 105,110,100,95,115,112,101,99,40,41,32,110,111,116,32,102, +- 111,117,110,100,59,32,102,97,108,108,105,110,103,32,98,97, +- 99,107,32,116,111,32,102,105,110,100,95,109,111,100,117,108, +- 101,40,41,41,11,114,153,0,0,0,114,159,0,0,0,90, +- 12,95,111,98,106,101,99,116,95,110,97,109,101,114,99,0, +- 0,0,114,100,0,0,0,114,162,0,0,0,114,161,0,0, +- 0,114,229,0,0,0,114,224,0,0,0,114,207,0,0,0, +- 114,202,0,0,0,41,7,114,221,0,0,0,114,163,0,0, +- 0,114,82,1,0,0,114,166,0,0,0,114,164,0,0,0, +- 114,165,0,0,0,114,210,0,0,0,114,7,0,0,0,114, +- 7,0,0,0,114,8,0,0,0,218,16,95,108,101,103,97, +- 99,121,95,103,101,116,95,115,112,101,99,89,5,0,0,115, +- 26,0,0,0,10,4,16,1,12,2,16,1,16,2,12,2, +- 10,1,4,1,8,1,12,1,12,1,6,1,4,1,122,27, +- 80,97,116,104,70,105,110,100,101,114,46,95,108,101,103,97, +- 99,121,95,103,101,116,95,115,112,101,99,78,99,4,0,0, +- 0,0,0,0,0,0,0,0,0,9,0,0,0,5,0,0, +- 0,67,0,0,0,115,166,0,0,0,103,0,125,4,124,2, +- 68,0,93,67,125,5,116,0,124,5,116,1,116,2,102,2, +- 131,2,115,14,113,4,124,0,160,3,124,5,161,1,125,6, +- 124,6,100,1,117,1,114,71,116,4,124,6,100,2,131,2, +- 114,35,124,6,160,5,124,1,124,3,161,2,125,7,110,6, +- 124,0,160,6,124,1,124,6,161,2,125,7,124,7,100,1, +- 117,0,114,46,113,4,124,7,106,7,100,1,117,1,114,55, +- 124,7,2,0,1,0,83,0,124,7,106,8,125,8,124,8, +- 100,1,117,0,114,66,116,9,100,3,131,1,130,1,124,4, +- 160,10,124,8,161,1,1,0,113,4,116,11,160,12,124,1, +- 100,1,161,2,125,7,124,4,124,7,95,8,124,7,83,0, +- 41,4,122,63,70,105,110,100,32,116,104,101,32,108,111,97, +- 100,101,114,32,111,114,32,110,97,109,101,115,112,97,99,101, +- 95,112,97,116,104,32,102,111,114,32,116,104,105,115,32,109, +- 111,100,117,108,101,47,112,97,99,107,97,103,101,32,110,97, +- 109,101,46,78,114,226,0,0,0,122,19,115,112,101,99,32, +- 109,105,115,115,105,110,103,32,108,111,97,100,101,114,41,13, +- 114,185,0,0,0,114,109,0,0,0,218,5,98,121,116,101, +- 115,114,87,1,0,0,114,153,0,0,0,114,226,0,0,0, +- 114,88,1,0,0,114,164,0,0,0,114,202,0,0,0,114, +- 142,0,0,0,114,191,0,0,0,114,159,0,0,0,114,207, +- 0,0,0,41,9,114,221,0,0,0,114,163,0,0,0,114, +- 65,0,0,0,114,225,0,0,0,218,14,110,97,109,101,115, +- 112,97,99,101,95,112,97,116,104,90,5,101,110,116,114,121, +- 114,82,1,0,0,114,210,0,0,0,114,165,0,0,0,114, +- 7,0,0,0,114,7,0,0,0,114,8,0,0,0,218,9, +- 95,103,101,116,95,115,112,101,99,110,5,0,0,115,42,0, +- 0,0,4,5,8,1,14,1,2,1,10,1,8,1,10,1, +- 14,1,12,2,8,1,2,1,10,1,8,1,6,1,8,1, +- 8,1,10,5,2,128,12,2,6,1,4,1,122,20,80,97, +- 116,104,70,105,110,100,101,114,46,95,103,101,116,95,115,112, +- 101,99,99,4,0,0,0,0,0,0,0,0,0,0,0,6, +- 0,0,0,5,0,0,0,67,0,0,0,115,94,0,0,0, +- 124,2,100,1,117,0,114,7,116,0,106,1,125,2,124,0, +- 160,2,124,1,124,2,124,3,161,3,125,4,124,4,100,1, +- 117,0,114,20,100,1,83,0,124,4,106,3,100,1,117,0, +- 114,45,124,4,106,4,125,5,124,5,114,43,100,1,124,4, +- 95,5,116,6,124,1,124,5,124,0,106,2,131,3,124,4, +- 95,4,124,4,83,0,100,1,83,0,124,4,83,0,41,2, +- 122,141,84,114,121,32,116,111,32,102,105,110,100,32,97,32, +- 115,112,101,99,32,102,111,114,32,39,102,117,108,108,110,97, +- 109,101,39,32,111,110,32,115,121,115,46,112,97,116,104,32, +- 111,114,32,39,112,97,116,104,39,46,10,10,32,32,32,32, +- 32,32,32,32,84,104,101,32,115,101,97,114,99,104,32,105, +- 115,32,98,97,115,101,100,32,111,110,32,115,121,115,46,112, +- 97,116,104,95,104,111,111,107,115,32,97,110,100,32,115,121, ++ 46,103,101,116,95,115,111,117,114,99,101,99,2,0,0,0, ++ 0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0, ++ 67,0,0,0,115,16,0,0,0,116,0,100,1,100,2,100, ++ 3,100,4,100,5,141,4,83,0,41,6,78,114,11,0,0, ++ 0,122,8,60,115,116,114,105,110,103,62,114,244,0,0,0, ++ 84,41,1,114,4,1,0,0,41,1,114,5,1,0,0,114, ++ 248,0,0,0,114,8,0,0,0,114,8,0,0,0,114,9, ++ 0,0,0,114,242,0,0,0,16,5,0,0,114,73,1,0, ++ 0,122,25,95,78,97,109,101,115,112,97,99,101,76,111,97, ++ 100,101,114,46,103,101,116,95,99,111,100,101,99,2,0,0, ++ 0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0, ++ 0,67,0,0,0,114,25,0,0,0,114,238,0,0,0,114, ++ 8,0,0,0,114,239,0,0,0,114,8,0,0,0,114,8, ++ 0,0,0,114,9,0,0,0,114,240,0,0,0,19,5,0, ++ 0,114,241,0,0,0,122,30,95,78,97,109,101,115,112,97, ++ 99,101,76,111,97,100,101,114,46,99,114,101,97,116,101,95, ++ 109,111,100,117,108,101,99,2,0,0,0,0,0,0,0,0, ++ 0,0,0,2,0,0,0,1,0,0,0,67,0,0,0,115, ++ 4,0,0,0,100,0,83,0,114,71,0,0,0,114,8,0, ++ 0,0,114,43,1,0,0,114,8,0,0,0,114,8,0,0, ++ 0,114,9,0,0,0,114,246,0,0,0,22,5,0,0,114, ++ 76,1,0,0,122,28,95,78,97,109,101,115,112,97,99,101, ++ 76,111,97,100,101,114,46,101,120,101,99,95,109,111,100,117, ++ 108,101,99,2,0,0,0,0,0,0,0,0,0,0,0,2, ++ 0,0,0,4,0,0,0,67,0,0,0,115,26,0,0,0, ++ 116,0,160,1,100,1,124,0,106,2,161,2,1,0,116,0, ++ 160,3,124,0,124,1,161,2,83,0,41,3,122,98,76,111, ++ 97,100,32,97,32,110,97,109,101,115,112,97,99,101,32,109, ++ 111,100,117,108,101,46,10,10,32,32,32,32,32,32,32,32, ++ 84,104,105,115,32,109,101,116,104,111,100,32,105,115,32,100, ++ 101,112,114,101,99,97,116,101,100,46,32,32,85,115,101,32, ++ 101,120,101,99,95,109,111,100,117,108,101,40,41,32,105,110, ++ 115,116,101,97,100,46,10,10,32,32,32,32,32,32,32,32, ++ 122,38,110,97,109,101,115,112,97,99,101,32,109,111,100,117, ++ 108,101,32,108,111,97,100,101,100,32,119,105,116,104,32,112, ++ 97,116,104,32,123,33,114,125,78,41,4,114,160,0,0,0, ++ 114,174,0,0,0,114,50,1,0,0,114,247,0,0,0,114, ++ 248,0,0,0,114,8,0,0,0,114,8,0,0,0,114,9, ++ 0,0,0,114,249,0,0,0,25,5,0,0,115,8,0,0, ++ 0,6,7,4,1,4,255,12,3,122,28,95,78,97,109,101, ++ 115,112,97,99,101,76,111,97,100,101,114,46,108,111,97,100, ++ 95,109,111,100,117,108,101,99,2,0,0,0,0,0,0,0, ++ 0,0,0,0,3,0,0,0,2,0,0,0,67,0,0,0, ++ 115,22,0,0,0,100,1,100,2,108,0,109,1,125,2,1, ++ 0,124,2,124,0,106,2,131,1,83,0,41,3,78,114,0, ++ 0,0,0,41,1,218,15,78,97,109,101,115,112,97,99,101, ++ 82,101,97,100,101,114,41,3,114,33,1,0,0,114,77,1, ++ 0,0,114,50,1,0,0,41,3,114,144,0,0,0,114,245, ++ 0,0,0,114,77,1,0,0,114,8,0,0,0,114,8,0, ++ 0,0,114,9,0,0,0,114,34,1,0,0,37,5,0,0, ++ 115,4,0,0,0,12,1,10,1,122,36,95,78,97,109,101, ++ 115,112,97,99,101,76,111,97,100,101,114,46,103,101,116,95, ++ 114,101,115,111,117,114,99,101,95,114,101,97,100,101,114,78, ++ 41,13,114,151,0,0,0,114,150,0,0,0,114,152,0,0, ++ 0,114,237,0,0,0,114,234,0,0,0,114,75,1,0,0, ++ 114,207,0,0,0,114,2,1,0,0,114,242,0,0,0,114, ++ 240,0,0,0,114,246,0,0,0,114,249,0,0,0,114,34, ++ 1,0,0,114,8,0,0,0,114,8,0,0,0,114,8,0, ++ 0,0,114,9,0,0,0,114,74,1,0,0,251,4,0,0, ++ 115,22,0,0,0,8,0,8,1,2,3,10,1,8,10,8, ++ 3,8,3,8,3,8,3,8,3,12,12,114,74,1,0,0, ++ 99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,4,0,0,0,64,0,0,0,115,118,0,0,0,101,0, ++ 90,1,100,0,90,2,100,1,90,3,101,4,100,2,100,3, ++ 132,0,131,1,90,5,101,4,100,4,100,5,132,0,131,1, ++ 90,6,101,7,100,6,100,7,132,0,131,1,90,8,101,7, ++ 100,8,100,9,132,0,131,1,90,9,101,7,100,19,100,11, ++ 100,12,132,1,131,1,90,10,101,7,100,20,100,13,100,14, ++ 132,1,131,1,90,11,101,7,100,19,100,15,100,16,132,1, ++ 131,1,90,12,101,4,100,17,100,18,132,0,131,1,90,13, ++ 100,10,83,0,41,21,218,10,80,97,116,104,70,105,110,100, ++ 101,114,122,62,77,101,116,97,32,112,97,116,104,32,102,105, ++ 110,100,101,114,32,102,111,114,32,115,121,115,46,112,97,116, ++ 104,32,97,110,100,32,112,97,99,107,97,103,101,32,95,95, ++ 112,97,116,104,95,95,32,97,116,116,114,105,98,117,116,101, ++ 115,46,99,0,0,0,0,0,0,0,0,0,0,0,0,2, ++ 0,0,0,4,0,0,0,67,0,0,0,115,64,0,0,0, ++ 116,0,116,1,106,2,160,3,161,0,131,1,68,0,93,22, ++ 92,2,125,0,125,1,124,1,100,1,117,0,114,20,116,1, ++ 106,2,124,0,61,0,113,7,116,4,124,1,100,2,131,2, ++ 114,29,124,1,160,5,161,0,1,0,113,7,100,1,83,0, ++ 41,3,122,125,67,97,108,108,32,116,104,101,32,105,110,118, ++ 97,108,105,100,97,116,101,95,99,97,99,104,101,115,40,41, ++ 32,109,101,116,104,111,100,32,111,110,32,97,108,108,32,112, ++ 97,116,104,32,101,110,116,114,121,32,102,105,110,100,101,114, ++ 115,10,32,32,32,32,32,32,32,32,115,116,111,114,101,100, ++ 32,105,110,32,115,121,115,46,112,97,116,104,95,105,109,112, ++ 111,114,116,101,114,95,99,97,99,104,101,115,32,40,119,104, ++ 101,114,101,32,105,109,112,108,101,109,101,110,116,101,100,41, ++ 46,78,218,17,105,110,118,97,108,105,100,97,116,101,95,99, ++ 97,99,104,101,115,41,6,218,4,108,105,115,116,114,16,0, ++ 0,0,218,19,112,97,116,104,95,105,109,112,111,114,116,101, ++ 114,95,99,97,99,104,101,218,5,105,116,101,109,115,114,154, ++ 0,0,0,114,79,1,0,0,41,2,114,142,0,0,0,218, ++ 6,102,105,110,100,101,114,114,8,0,0,0,114,8,0,0, ++ 0,114,9,0,0,0,114,79,1,0,0,48,5,0,0,115, ++ 14,0,0,0,22,4,8,1,10,1,10,1,8,1,2,128, ++ 4,252,122,28,80,97,116,104,70,105,110,100,101,114,46,105, ++ 110,118,97,108,105,100,97,116,101,95,99,97,99,104,101,115, ++ 99,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0, ++ 0,9,0,0,0,67,0,0,0,115,76,0,0,0,116,0, ++ 106,1,100,1,117,1,114,14,116,0,106,1,115,14,116,2, ++ 160,3,100,2,116,4,161,2,1,0,116,0,106,1,68,0, ++ 93,18,125,1,122,7,124,1,124,0,131,1,87,0,2,0, ++ 1,0,83,0,4,0,116,5,121,35,1,0,1,0,1,0, ++ 89,0,113,17,119,0,100,1,83,0,41,3,122,46,83,101, ++ 97,114,99,104,32,115,121,115,46,112,97,116,104,95,104,111, ++ 111,107,115,32,102,111,114,32,97,32,102,105,110,100,101,114, ++ 32,102,111,114,32,39,112,97,116,104,39,46,78,122,23,115, ++ 121,115,46,112,97,116,104,95,104,111,111,107,115,32,105,115, ++ 32,101,109,112,116,121,41,6,114,16,0,0,0,218,10,112, ++ 97,116,104,95,104,111,111,107,115,114,101,0,0,0,114,102, ++ 0,0,0,114,163,0,0,0,114,143,0,0,0,41,2,114, ++ 67,0,0,0,90,4,104,111,111,107,114,8,0,0,0,114, ++ 8,0,0,0,114,9,0,0,0,218,11,95,112,97,116,104, ++ 95,104,111,111,107,115,58,5,0,0,115,18,0,0,0,16, ++ 3,12,1,10,1,2,1,14,1,12,1,4,1,2,255,4, ++ 3,122,22,80,97,116,104,70,105,110,100,101,114,46,95,112, ++ 97,116,104,95,104,111,111,107,115,99,2,0,0,0,0,0, ++ 0,0,0,0,0,0,3,0,0,0,8,0,0,0,67,0, ++ 0,0,115,100,0,0,0,124,1,100,1,107,2,114,21,122, ++ 6,116,0,160,1,161,0,125,1,87,0,110,10,4,0,116, ++ 2,121,20,1,0,1,0,1,0,89,0,100,2,83,0,119, ++ 0,122,8,116,3,106,4,124,1,25,0,125,2,87,0,124, ++ 2,83,0,4,0,116,5,121,49,1,0,1,0,1,0,124, ++ 0,160,6,124,1,161,1,125,2,124,2,116,3,106,4,124, ++ 1,60,0,89,0,124,2,83,0,119,0,41,3,122,210,71, ++ 101,116,32,116,104,101,32,102,105,110,100,101,114,32,102,111, ++ 114,32,116,104,101,32,112,97,116,104,32,101,110,116,114,121, ++ 32,102,114,111,109,32,115,121,115,46,112,97,116,104,95,105, ++ 109,112,111,114,116,101,114,95,99,97,99,104,101,46,10,10, ++ 32,32,32,32,32,32,32,32,73,102,32,116,104,101,32,112, ++ 97,116,104,32,101,110,116,114,121,32,105,115,32,110,111,116, ++ 32,105,110,32,116,104,101,32,99,97,99,104,101,44,32,102, ++ 105,110,100,32,116,104,101,32,97,112,112,114,111,112,114,105, ++ 97,116,101,32,102,105,110,100,101,114,10,32,32,32,32,32, ++ 32,32,32,97,110,100,32,99,97,99,104,101,32,105,116,46, ++ 32,73,102,32,110,111,32,102,105,110,100,101,114,32,105,115, ++ 32,97,118,97,105,108,97,98,108,101,44,32,115,116,111,114, ++ 101,32,78,111,110,101,46,10,10,32,32,32,32,32,32,32, ++ 32,114,11,0,0,0,78,41,7,114,19,0,0,0,114,84, ++ 0,0,0,218,17,70,105,108,101,78,111,116,70,111,117,110, ++ 100,69,114,114,111,114,114,16,0,0,0,114,81,1,0,0, ++ 218,8,75,101,121,69,114,114,111,114,114,85,1,0,0,41, ++ 3,114,222,0,0,0,114,67,0,0,0,114,83,1,0,0, ++ 114,8,0,0,0,114,8,0,0,0,114,9,0,0,0,218, ++ 20,95,112,97,116,104,95,105,109,112,111,114,116,101,114,95, ++ 99,97,99,104,101,71,5,0,0,115,28,0,0,0,8,8, ++ 2,1,12,1,12,1,6,3,2,253,2,4,12,1,4,4, ++ 12,253,10,1,12,1,4,1,2,253,122,31,80,97,116,104, ++ 70,105,110,100,101,114,46,95,112,97,116,104,95,105,109,112, ++ 111,114,116,101,114,95,99,97,99,104,101,99,3,0,0,0, ++ 0,0,0,0,0,0,0,0,7,0,0,0,4,0,0,0, ++ 67,0,0,0,115,138,0,0,0,116,0,124,2,100,1,131, ++ 2,114,27,116,1,160,2,124,2,161,1,155,0,100,2,157, ++ 2,125,3,116,3,160,4,124,3,116,5,161,2,1,0,124, ++ 2,160,6,124,1,161,1,92,2,125,4,125,5,110,21,116, ++ 1,160,2,124,2,161,1,155,0,100,3,157,2,125,3,116, ++ 3,160,4,124,3,116,5,161,2,1,0,124,2,160,7,124, ++ 1,161,1,125,4,103,0,125,5,124,4,100,0,117,1,114, ++ 58,116,1,160,8,124,1,124,4,161,2,83,0,116,1,160, ++ 9,124,1,100,0,161,2,125,6,124,5,124,6,95,10,124, ++ 6,83,0,41,4,78,114,162,0,0,0,122,53,46,102,105, ++ 110,100,95,115,112,101,99,40,41,32,110,111,116,32,102,111, ++ 117,110,100,59,32,102,97,108,108,105,110,103,32,98,97,99, ++ 107,32,116,111,32,102,105,110,100,95,108,111,97,100,101,114, ++ 40,41,122,53,46,102,105,110,100,95,115,112,101,99,40,41, ++ 32,110,111,116,32,102,111,117,110,100,59,32,102,97,108,108, ++ 105,110,103,32,98,97,99,107,32,116,111,32,102,105,110,100, ++ 95,109,111,100,117,108,101,40,41,41,11,114,154,0,0,0, ++ 114,160,0,0,0,90,12,95,111,98,106,101,99,116,95,110, ++ 97,109,101,114,101,0,0,0,114,102,0,0,0,114,163,0, ++ 0,0,114,162,0,0,0,114,230,0,0,0,114,225,0,0, ++ 0,114,208,0,0,0,114,203,0,0,0,41,7,114,222,0, ++ 0,0,114,164,0,0,0,114,83,1,0,0,114,167,0,0, ++ 0,114,165,0,0,0,114,166,0,0,0,114,211,0,0,0, ++ 114,8,0,0,0,114,8,0,0,0,114,9,0,0,0,218, ++ 16,95,108,101,103,97,99,121,95,103,101,116,95,115,112,101, ++ 99,93,5,0,0,115,26,0,0,0,10,4,16,1,12,2, ++ 16,1,16,2,12,2,10,1,4,1,8,1,12,1,12,1, ++ 6,1,4,1,122,27,80,97,116,104,70,105,110,100,101,114, ++ 46,95,108,101,103,97,99,121,95,103,101,116,95,115,112,101, ++ 99,78,99,4,0,0,0,0,0,0,0,0,0,0,0,9, ++ 0,0,0,5,0,0,0,67,0,0,0,115,166,0,0,0, ++ 103,0,125,4,124,2,68,0,93,67,125,5,116,0,124,5, ++ 116,1,116,2,102,2,131,2,115,14,113,4,124,0,160,3, ++ 124,5,161,1,125,6,124,6,100,1,117,1,114,71,116,4, ++ 124,6,100,2,131,2,114,35,124,6,160,5,124,1,124,3, ++ 161,2,125,7,110,6,124,0,160,6,124,1,124,6,161,2, ++ 125,7,124,7,100,1,117,0,114,46,113,4,124,7,106,7, ++ 100,1,117,1,114,55,124,7,2,0,1,0,83,0,124,7, ++ 106,8,125,8,124,8,100,1,117,0,114,66,116,9,100,3, ++ 131,1,130,1,124,4,160,10,124,8,161,1,1,0,113,4, ++ 116,11,160,12,124,1,100,1,161,2,125,7,124,4,124,7, ++ 95,8,124,7,83,0,41,4,122,63,70,105,110,100,32,116, ++ 104,101,32,108,111,97,100,101,114,32,111,114,32,110,97,109, ++ 101,115,112,97,99,101,95,112,97,116,104,32,102,111,114,32, ++ 116,104,105,115,32,109,111,100,117,108,101,47,112,97,99,107, ++ 97,103,101,32,110,97,109,101,46,78,114,227,0,0,0,122, ++ 19,115,112,101,99,32,109,105,115,115,105,110,103,32,108,111, ++ 97,100,101,114,41,13,114,186,0,0,0,114,111,0,0,0, ++ 218,5,98,121,116,101,115,114,88,1,0,0,114,154,0,0, ++ 0,114,227,0,0,0,114,89,1,0,0,114,165,0,0,0, ++ 114,203,0,0,0,114,143,0,0,0,114,192,0,0,0,114, ++ 160,0,0,0,114,208,0,0,0,41,9,114,222,0,0,0, ++ 114,164,0,0,0,114,67,0,0,0,114,226,0,0,0,218, ++ 14,110,97,109,101,115,112,97,99,101,95,112,97,116,104,90, ++ 5,101,110,116,114,121,114,83,1,0,0,114,211,0,0,0, ++ 114,166,0,0,0,114,8,0,0,0,114,8,0,0,0,114, ++ 9,0,0,0,218,9,95,103,101,116,95,115,112,101,99,114, ++ 5,0,0,115,42,0,0,0,4,5,8,1,14,1,2,1, ++ 10,1,8,1,10,1,14,1,12,2,8,1,2,1,10,1, ++ 8,1,6,1,8,1,8,1,10,5,2,128,12,2,6,1, ++ 4,1,122,20,80,97,116,104,70,105,110,100,101,114,46,95, ++ 103,101,116,95,115,112,101,99,99,4,0,0,0,0,0,0, ++ 0,0,0,0,0,6,0,0,0,5,0,0,0,67,0,0, ++ 0,115,94,0,0,0,124,2,100,1,117,0,114,7,116,0, ++ 106,1,125,2,124,0,160,2,124,1,124,2,124,3,161,3, ++ 125,4,124,4,100,1,117,0,114,20,100,1,83,0,124,4, ++ 106,3,100,1,117,0,114,45,124,4,106,4,125,5,124,5, ++ 114,43,100,1,124,4,95,5,116,6,124,1,124,5,124,0, ++ 106,2,131,3,124,4,95,4,124,4,83,0,100,1,83,0, ++ 124,4,83,0,41,2,122,141,84,114,121,32,116,111,32,102, ++ 105,110,100,32,97,32,115,112,101,99,32,102,111,114,32,39, ++ 102,117,108,108,110,97,109,101,39,32,111,110,32,115,121,115, ++ 46,112,97,116,104,32,111,114,32,39,112,97,116,104,39,46, ++ 10,10,32,32,32,32,32,32,32,32,84,104,101,32,115,101, ++ 97,114,99,104,32,105,115,32,98,97,115,101,100,32,111,110, ++ 32,115,121,115,46,112,97,116,104,95,104,111,111,107,115,32, ++ 97,110,100,32,115,121,115,46,112,97,116,104,95,105,109,112, ++ 111,114,116,101,114,95,99,97,99,104,101,46,10,32,32,32, ++ 32,32,32,32,32,78,41,7,114,16,0,0,0,114,67,0, ++ 0,0,114,92,1,0,0,114,165,0,0,0,114,203,0,0, ++ 0,114,206,0,0,0,114,48,1,0,0,41,6,114,222,0, ++ 0,0,114,164,0,0,0,114,67,0,0,0,114,226,0,0, ++ 0,114,211,0,0,0,114,91,1,0,0,114,8,0,0,0, ++ 114,8,0,0,0,114,9,0,0,0,114,227,0,0,0,146, ++ 5,0,0,115,26,0,0,0,8,6,6,1,14,1,8,1, ++ 4,1,10,1,6,1,4,1,6,3,16,1,4,1,4,2, ++ 4,2,122,20,80,97,116,104,70,105,110,100,101,114,46,102, ++ 105,110,100,95,115,112,101,99,99,3,0,0,0,0,0,0, ++ 0,0,0,0,0,4,0,0,0,4,0,0,0,67,0,0, ++ 0,115,42,0,0,0,116,0,160,1,100,1,116,2,161,2, ++ 1,0,124,0,160,3,124,1,124,2,161,2,125,3,124,3, ++ 100,2,117,0,114,18,100,2,83,0,124,3,106,4,83,0, ++ 41,3,122,170,102,105,110,100,32,116,104,101,32,109,111,100, ++ 117,108,101,32,111,110,32,115,121,115,46,112,97,116,104,32, ++ 111,114,32,39,112,97,116,104,39,32,98,97,115,101,100,32, ++ 111,110,32,115,121,115,46,112,97,116,104,95,104,111,111,107, ++ 115,32,97,110,100,10,32,32,32,32,32,32,32,32,115,121, + 115,46,112,97,116,104,95,105,109,112,111,114,116,101,114,95, +- 99,97,99,104,101,46,10,32,32,32,32,32,32,32,32,78, +- 41,7,114,15,0,0,0,114,65,0,0,0,114,91,1,0, +- 0,114,164,0,0,0,114,202,0,0,0,114,205,0,0,0, +- 114,47,1,0,0,41,6,114,221,0,0,0,114,163,0,0, +- 0,114,65,0,0,0,114,225,0,0,0,114,210,0,0,0, +- 114,90,1,0,0,114,7,0,0,0,114,7,0,0,0,114, +- 8,0,0,0,114,226,0,0,0,142,5,0,0,115,26,0, +- 0,0,8,6,6,1,14,1,8,1,4,1,10,1,6,1, +- 4,1,6,3,16,1,4,1,4,2,4,2,122,20,80,97, +- 116,104,70,105,110,100,101,114,46,102,105,110,100,95,115,112, +- 101,99,99,3,0,0,0,0,0,0,0,0,0,0,0,4, +- 0,0,0,4,0,0,0,67,0,0,0,115,42,0,0,0, +- 116,0,160,1,100,1,116,2,161,2,1,0,124,0,160,3, +- 124,1,124,2,161,2,125,3,124,3,100,2,117,0,114,18, +- 100,2,83,0,124,3,106,4,83,0,41,3,122,170,102,105, +- 110,100,32,116,104,101,32,109,111,100,117,108,101,32,111,110, +- 32,115,121,115,46,112,97,116,104,32,111,114,32,39,112,97, +- 116,104,39,32,98,97,115,101,100,32,111,110,32,115,121,115, +- 46,112,97,116,104,95,104,111,111,107,115,32,97,110,100,10, +- 32,32,32,32,32,32,32,32,115,121,115,46,112,97,116,104, +- 95,105,109,112,111,114,116,101,114,95,99,97,99,104,101,46, +- 10,10,32,32,32,32,32,32,32,32,84,104,105,115,32,109, +- 101,116,104,111,100,32,105,115,32,100,101,112,114,101,99,97, +- 116,101,100,46,32,32,85,115,101,32,102,105,110,100,95,115, +- 112,101,99,40,41,32,105,110,115,116,101,97,100,46,10,10, +- 32,32,32,32,32,32,32,32,122,101,80,97,116,104,70,105, +- 110,100,101,114,46,102,105,110,100,95,109,111,100,117,108,101, +- 40,41,32,105,115,32,100,101,112,114,101,99,97,116,101,100, +- 32,97,110,100,32,115,108,97,116,101,100,32,102,111,114,32, +- 114,101,109,111,118,97,108,32,105,110,32,80,121,116,104,111, +- 110,32,51,46,49,50,59,32,117,115,101,32,102,105,110,100, +- 95,115,112,101,99,40,41,32,105,110,115,116,101,97,100,78, +- 114,227,0,0,0,114,228,0,0,0,114,7,0,0,0,114, +- 7,0,0,0,114,8,0,0,0,114,229,0,0,0,166,5, +- 0,0,115,14,0,0,0,6,8,2,2,4,254,12,3,8, +- 1,4,1,6,1,122,22,80,97,116,104,70,105,110,100,101, +- 114,46,102,105,110,100,95,109,111,100,117,108,101,99,0,0, +- 0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0, +- 0,0,79,0,0,0,115,28,0,0,0,100,1,100,2,108, +- 0,109,1,125,2,1,0,124,2,106,2,124,0,105,0,124, +- 1,164,1,142,1,83,0,41,4,97,32,1,0,0,10,32, +- 32,32,32,32,32,32,32,70,105,110,100,32,100,105,115,116, +- 114,105,98,117,116,105,111,110,115,46,10,10,32,32,32,32, +- 32,32,32,32,82,101,116,117,114,110,32,97,110,32,105,116, +- 101,114,97,98,108,101,32,111,102,32,97,108,108,32,68,105, +- 115,116,114,105,98,117,116,105,111,110,32,105,110,115,116,97, +- 110,99,101,115,32,99,97,112,97,98,108,101,32,111,102,10, +- 32,32,32,32,32,32,32,32,108,111,97,100,105,110,103,32, +- 116,104,101,32,109,101,116,97,100,97,116,97,32,102,111,114, +- 32,112,97,99,107,97,103,101,115,32,109,97,116,99,104,105, +- 110,103,32,96,96,99,111,110,116,101,120,116,46,110,97,109, +- 101,96,96,10,32,32,32,32,32,32,32,32,40,111,114,32, +- 97,108,108,32,110,97,109,101,115,32,105,102,32,96,96,78, +- 111,110,101,96,96,32,105,110,100,105,99,97,116,101,100,41, +- 32,97,108,111,110,103,32,116,104,101,32,112,97,116,104,115, +- 32,105,110,32,116,104,101,32,108,105,115,116,10,32,32,32, +- 32,32,32,32,32,111,102,32,100,105,114,101,99,116,111,114, +- 105,101,115,32,96,96,99,111,110,116,101,120,116,46,112,97, +- 116,104,96,96,46,10,32,32,32,32,32,32,32,32,114,0, +- 0,0,0,41,1,218,18,77,101,116,97,100,97,116,97,80, +- 97,116,104,70,105,110,100,101,114,78,41,3,90,18,105,109, +- 112,111,114,116,108,105,98,46,109,101,116,97,100,97,116,97, +- 114,92,1,0,0,218,18,102,105,110,100,95,100,105,115,116, +- 114,105,98,117,116,105,111,110,115,41,3,114,144,0,0,0, +- 114,145,0,0,0,114,92,1,0,0,114,7,0,0,0,114, +- 7,0,0,0,114,8,0,0,0,114,93,1,0,0,182,5, +- 0,0,115,4,0,0,0,12,10,16,1,122,29,80,97,116, +- 104,70,105,110,100,101,114,46,102,105,110,100,95,100,105,115, +- 116,114,105,98,117,116,105,111,110,115,114,69,0,0,0,114, +- 230,0,0,0,41,14,114,150,0,0,0,114,149,0,0,0, +- 114,151,0,0,0,114,152,0,0,0,114,233,0,0,0,114, +- 78,1,0,0,114,84,1,0,0,114,234,0,0,0,114,87, +- 1,0,0,114,88,1,0,0,114,91,1,0,0,114,226,0, +- 0,0,114,229,0,0,0,114,93,1,0,0,114,7,0,0, +- 0,114,7,0,0,0,114,7,0,0,0,114,8,0,0,0, +- 114,77,1,0,0,40,5,0,0,115,36,0,0,0,8,0, +- 4,2,2,2,10,1,2,9,10,1,2,12,10,1,2,21, +- 10,1,2,20,12,1,2,31,12,1,2,23,12,1,2,15, +- 14,1,114,77,1,0,0,99,0,0,0,0,0,0,0,0, +- 0,0,0,0,0,0,0,0,3,0,0,0,64,0,0,0, +- 115,90,0,0,0,101,0,90,1,100,0,90,2,100,1,90, +- 3,100,2,100,3,132,0,90,4,100,4,100,5,132,0,90, +- 5,101,6,90,7,100,6,100,7,132,0,90,8,100,8,100, +- 9,132,0,90,9,100,19,100,11,100,12,132,1,90,10,100, +- 13,100,14,132,0,90,11,101,12,100,15,100,16,132,0,131, +- 1,90,13,100,17,100,18,132,0,90,14,100,10,83,0,41, +- 20,218,10,70,105,108,101,70,105,110,100,101,114,122,172,70, +- 105,108,101,45,98,97,115,101,100,32,102,105,110,100,101,114, +- 46,10,10,32,32,32,32,73,110,116,101,114,97,99,116,105, +- 111,110,115,32,119,105,116,104,32,116,104,101,32,102,105,108, +- 101,32,115,121,115,116,101,109,32,97,114,101,32,99,97,99, +- 104,101,100,32,102,111,114,32,112,101,114,102,111,114,109,97, +- 110,99,101,44,32,98,101,105,110,103,10,32,32,32,32,114, +- 101,102,114,101,115,104,101,100,32,119,104,101,110,32,116,104, +- 101,32,100,105,114,101,99,116,111,114,121,32,116,104,101,32, +- 102,105,110,100,101,114,32,105,115,32,104,97,110,100,108,105, +- 110,103,32,104,97,115,32,98,101,101,110,32,109,111,100,105, +- 102,105,101,100,46,10,10,32,32,32,32,99,2,0,0,0, +- 0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0, +- 7,0,0,0,115,112,0,0,0,103,0,125,3,124,2,68, +- 0,93,16,92,2,137,0,125,4,124,3,160,0,135,0,102, +- 1,100,1,100,2,132,8,124,4,68,0,131,1,161,1,1, +- 0,113,4,124,3,124,0,95,1,124,1,112,27,100,3,124, +- 0,95,2,116,3,124,0,106,2,131,1,115,43,116,4,116, +- 5,160,6,161,0,124,0,106,2,131,2,124,0,95,2,100, +- 4,124,0,95,7,116,8,131,0,124,0,95,9,116,8,131, +- 0,124,0,95,10,100,5,83,0,41,6,122,154,73,110,105, +- 116,105,97,108,105,122,101,32,119,105,116,104,32,116,104,101, +- 32,112,97,116,104,32,116,111,32,115,101,97,114,99,104,32, +- 111,110,32,97,110,100,32,97,32,118,97,114,105,97,98,108, +- 101,32,110,117,109,98,101,114,32,111,102,10,32,32,32,32, +- 32,32,32,32,50,45,116,117,112,108,101,115,32,99,111,110, +- 116,97,105,110,105,110,103,32,116,104,101,32,108,111,97,100, +- 101,114,32,97,110,100,32,116,104,101,32,102,105,108,101,32, +- 115,117,102,102,105,120,101,115,32,116,104,101,32,108,111,97, +- 100,101,114,10,32,32,32,32,32,32,32,32,114,101,99,111, +- 103,110,105,122,101,115,46,99,1,0,0,0,0,0,0,0, +- 0,0,0,0,2,0,0,0,3,0,0,0,51,0,0,0, +- 115,24,0,0,0,129,0,124,0,93,7,125,1,124,1,136, +- 0,102,2,86,0,1,0,113,2,100,0,83,0,114,69,0, +- 0,0,114,7,0,0,0,114,43,1,0,0,169,1,114,164, +- 0,0,0,114,7,0,0,0,114,8,0,0,0,114,9,0, +- 0,0,211,5,0,0,115,4,0,0,0,2,128,22,0,122, +- 38,70,105,108,101,70,105,110,100,101,114,46,95,95,105,110, +- 105,116,95,95,46,60,108,111,99,97,108,115,62,46,60,103, +- 101,110,101,120,112,114,62,114,97,0,0,0,114,130,0,0, +- 0,78,41,11,114,191,0,0,0,218,8,95,108,111,97,100, +- 101,114,115,114,65,0,0,0,114,86,0,0,0,114,67,0, +- 0,0,114,18,0,0,0,114,82,0,0,0,218,11,95,112, +- 97,116,104,95,109,116,105,109,101,218,3,115,101,116,218,11, +- 95,112,97,116,104,95,99,97,99,104,101,218,19,95,114,101, +- 108,97,120,101,100,95,112,97,116,104,95,99,97,99,104,101, +- 41,5,114,143,0,0,0,114,65,0,0,0,218,14,108,111, +- 97,100,101,114,95,100,101,116,97,105,108,115,90,7,108,111, +- 97,100,101,114,115,114,212,0,0,0,114,7,0,0,0,114, +- 95,1,0,0,114,8,0,0,0,114,236,0,0,0,205,5, +- 0,0,115,20,0,0,0,4,4,12,1,26,1,6,1,10, +- 2,10,1,18,1,6,1,8,1,12,1,122,19,70,105,108, +- 101,70,105,110,100,101,114,46,95,95,105,110,105,116,95,95, +- 99,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0, +- 0,2,0,0,0,67,0,0,0,115,10,0,0,0,100,1, +- 124,0,95,0,100,2,83,0,41,3,122,31,73,110,118,97, +- 108,105,100,97,116,101,32,116,104,101,32,100,105,114,101,99, +- 116,111,114,121,32,109,116,105,109,101,46,114,130,0,0,0, +- 78,41,1,114,97,1,0,0,114,21,1,0,0,114,7,0, +- 0,0,114,7,0,0,0,114,8,0,0,0,114,78,1,0, +- 0,221,5,0,0,114,81,0,0,0,122,28,70,105,108,101, +- 70,105,110,100,101,114,46,105,110,118,97,108,105,100,97,116, +- 101,95,99,97,99,104,101,115,99,2,0,0,0,0,0,0, +- 0,0,0,0,0,3,0,0,0,4,0,0,0,67,0,0, +- 0,115,54,0,0,0,116,0,160,1,100,1,116,2,161,2, +- 1,0,124,0,160,3,124,1,161,1,125,2,124,2,100,2, +- 117,0,114,19,100,2,103,0,102,2,83,0,124,2,106,4, +- 124,2,106,5,112,25,103,0,102,2,83,0,41,3,122,197, +- 84,114,121,32,116,111,32,102,105,110,100,32,97,32,108,111, +- 97,100,101,114,32,102,111,114,32,116,104,101,32,115,112,101, +- 99,105,102,105,101,100,32,109,111,100,117,108,101,44,32,111, +- 114,32,116,104,101,32,110,97,109,101,115,112,97,99,101,10, +- 32,32,32,32,32,32,32,32,112,97,99,107,97,103,101,32, +- 112,111,114,116,105,111,110,115,46,32,82,101,116,117,114,110, +- 115,32,40,108,111,97,100,101,114,44,32,108,105,115,116,45, +- 111,102,45,112,111,114,116,105,111,110,115,41,46,10,10,32, +- 32,32,32,32,32,32,32,84,104,105,115,32,109,101,116,104, +- 111,100,32,105,115,32,100,101,112,114,101,99,97,116,101,100, +- 46,32,32,85,115,101,32,102,105,110,100,95,115,112,101,99, +- 40,41,32,105,110,115,116,101,97,100,46,10,10,32,32,32, +- 32,32,32,32,32,122,101,70,105,108,101,70,105,110,100,101, +- 114,46,102,105,110,100,95,108,111,97,100,101,114,40,41,32, +- 105,115,32,100,101,112,114,101,99,97,116,101,100,32,97,110, +- 100,32,115,108,97,116,101,100,32,102,111,114,32,114,101,109, +- 111,118,97,108,32,105,110,32,80,121,116,104,111,110,32,51, +- 46,49,50,59,32,117,115,101,32,102,105,110,100,95,115,112, +- 101,99,40,41,32,105,110,115,116,101,97,100,78,41,6,114, +- 99,0,0,0,114,100,0,0,0,114,101,0,0,0,114,226, +- 0,0,0,114,164,0,0,0,114,202,0,0,0,41,3,114, +- 143,0,0,0,114,163,0,0,0,114,210,0,0,0,114,7, +- 0,0,0,114,7,0,0,0,114,8,0,0,0,114,161,0, +- 0,0,227,5,0,0,115,14,0,0,0,6,7,2,2,4, +- 254,10,3,8,1,8,1,16,1,122,22,70,105,108,101,70, +- 105,110,100,101,114,46,102,105,110,100,95,108,111,97,100,101, +- 114,99,6,0,0,0,0,0,0,0,0,0,0,0,7,0, +- 0,0,6,0,0,0,67,0,0,0,115,26,0,0,0,124, +- 1,124,2,124,3,131,2,125,6,116,0,124,2,124,3,124, +- 6,124,4,100,1,141,4,83,0,41,2,78,114,201,0,0, +- 0,41,1,114,213,0,0,0,41,7,114,143,0,0,0,114, +- 211,0,0,0,114,163,0,0,0,114,65,0,0,0,90,4, +- 115,109,115,108,114,225,0,0,0,114,164,0,0,0,114,7, +- 0,0,0,114,7,0,0,0,114,8,0,0,0,114,91,1, +- 0,0,242,5,0,0,115,8,0,0,0,10,1,8,1,2, +- 1,6,255,122,20,70,105,108,101,70,105,110,100,101,114,46, +- 95,103,101,116,95,115,112,101,99,78,99,3,0,0,0,0, +- 0,0,0,0,0,0,0,14,0,0,0,9,0,0,0,67, +- 0,0,0,115,122,1,0,0,100,1,125,3,124,1,160,0, +- 100,2,161,1,100,3,25,0,125,4,122,12,116,1,124,0, +- 106,2,112,17,116,3,160,4,161,0,131,1,106,5,125,5, +- 87,0,110,11,4,0,116,6,121,32,1,0,1,0,1,0, +- 100,4,125,5,89,0,110,1,119,0,124,5,124,0,106,7, +- 107,3,114,45,124,0,160,8,161,0,1,0,124,5,124,0, +- 95,7,116,9,131,0,114,56,124,0,106,10,125,6,124,4, +- 160,11,161,0,125,7,110,5,124,0,106,12,125,6,124,4, +- 125,7,124,7,124,6,118,0,114,108,116,13,124,0,106,2, +- 124,4,131,2,125,8,124,0,106,14,68,0,93,29,92,2, +- 125,9,125,10,100,5,124,9,23,0,125,11,116,13,124,8, +- 124,11,131,2,125,12,116,15,124,12,131,1,114,103,124,0, +- 160,16,124,10,124,1,124,12,124,8,103,1,124,2,161,5, +- 2,0,1,0,83,0,113,74,116,17,124,8,131,1,125,3, +- 124,0,106,14,68,0,93,55,92,2,125,9,125,10,122,10, +- 116,13,124,0,106,2,124,4,124,9,23,0,131,2,125,12, +- 87,0,110,11,4,0,116,18,121,136,1,0,1,0,1,0, +- 89,0,1,0,100,6,83,0,119,0,116,19,106,20,100,7, +- 124,12,100,3,100,8,141,3,1,0,124,7,124,9,23,0, +- 124,6,118,0,114,166,116,15,124,12,131,1,114,166,124,0, +- 160,16,124,10,124,1,124,12,100,6,124,2,161,5,2,0, +- 1,0,83,0,113,111,124,3,114,187,116,19,160,20,100,9, +- 124,8,161,2,1,0,116,19,160,21,124,1,100,6,161,2, +- 125,13,124,8,103,1,124,13,95,22,124,13,83,0,100,6, +- 83,0,41,10,122,111,84,114,121,32,116,111,32,102,105,110, +- 100,32,97,32,115,112,101,99,32,102,111,114,32,116,104,101, +- 32,115,112,101,99,105,102,105,101,100,32,109,111,100,117,108, +- 101,46,10,10,32,32,32,32,32,32,32,32,82,101,116,117, +- 114,110,115,32,116,104,101,32,109,97,116,99,104,105,110,103, +- 32,115,112,101,99,44,32,111,114,32,78,111,110,101,32,105, +- 102,32,110,111,116,32,102,111,117,110,100,46,10,32,32,32, +- 32,32,32,32,32,70,114,97,0,0,0,114,44,0,0,0, +- 114,130,0,0,0,114,236,0,0,0,78,122,9,116,114,121, +- 105,110,103,32,123,125,41,1,90,9,118,101,114,98,111,115, +- 105,116,121,122,25,112,111,115,115,105,98,108,101,32,110,97, +- 109,101,115,112,97,99,101,32,102,111,114,32,123,125,41,23, +- 114,104,0,0,0,114,75,0,0,0,114,65,0,0,0,114, +- 18,0,0,0,114,82,0,0,0,114,35,1,0,0,114,76, +- 0,0,0,114,97,1,0,0,218,11,95,102,105,108,108,95, +- 99,97,99,104,101,114,21,0,0,0,114,100,1,0,0,114, +- 131,0,0,0,114,99,1,0,0,114,67,0,0,0,114,96, +- 1,0,0,114,80,0,0,0,114,91,1,0,0,114,83,0, +- 0,0,114,111,0,0,0,114,159,0,0,0,114,173,0,0, +- 0,114,207,0,0,0,114,202,0,0,0,41,14,114,143,0, +- 0,0,114,163,0,0,0,114,225,0,0,0,90,12,105,115, +- 95,110,97,109,101,115,112,97,99,101,90,11,116,97,105,108, +- 95,109,111,100,117,108,101,114,193,0,0,0,90,5,99,97, +- 99,104,101,90,12,99,97,99,104,101,95,109,111,100,117,108, +- 101,90,9,98,97,115,101,95,112,97,116,104,114,44,1,0, +- 0,114,211,0,0,0,90,13,105,110,105,116,95,102,105,108, +- 101,110,97,109,101,90,9,102,117,108,108,95,112,97,116,104, +- 114,210,0,0,0,114,7,0,0,0,114,7,0,0,0,114, +- 8,0,0,0,114,226,0,0,0,247,5,0,0,115,86,0, +- 0,0,4,5,14,1,2,1,24,1,12,1,8,1,2,255, +- 10,2,8,1,6,1,6,2,6,1,10,1,6,2,4,1, +- 8,2,12,1,14,1,8,1,10,1,8,1,24,1,2,255, +- 8,5,14,2,2,1,20,1,12,1,8,1,2,255,16,2, +- 12,1,8,1,10,1,4,1,8,255,2,128,4,2,12,1, +- 12,1,8,1,4,1,4,1,122,20,70,105,108,101,70,105, +- 110,100,101,114,46,102,105,110,100,95,115,112,101,99,99,1, +- 0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,10, +- 0,0,0,67,0,0,0,115,192,0,0,0,124,0,106,0, +- 125,1,122,11,116,1,160,2,124,1,112,11,116,1,160,3, +- 161,0,161,1,125,2,87,0,110,14,4,0,116,4,116,5, +- 116,6,102,3,121,28,1,0,1,0,1,0,103,0,125,2, +- 89,0,110,1,119,0,116,7,106,8,160,9,100,1,161,1, +- 115,41,116,10,124,2,131,1,124,0,95,11,110,37,116,10, +- 131,0,125,3,124,2,68,0,93,28,125,4,124,4,160,12, +- 100,2,161,1,92,3,125,5,125,6,125,7,124,6,114,67, +- 100,3,160,13,124,5,124,7,160,14,161,0,161,2,125,8, +- 110,2,124,5,125,8,124,3,160,15,124,8,161,1,1,0, +- 113,46,124,3,124,0,95,11,116,7,106,8,160,9,116,16, +- 161,1,114,94,100,4,100,5,132,0,124,2,68,0,131,1, +- 124,0,95,17,100,6,83,0,100,6,83,0,41,7,122,68, +- 70,105,108,108,32,116,104,101,32,99,97,99,104,101,32,111, +- 102,32,112,111,116,101,110,116,105,97,108,32,109,111,100,117, +- 108,101,115,32,97,110,100,32,112,97,99,107,97,103,101,115, +- 32,102,111,114,32,116,104,105,115,32,100,105,114,101,99,116, +- 111,114,121,46,114,14,0,0,0,114,97,0,0,0,114,88, +- 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0, +- 2,0,0,0,4,0,0,0,83,0,0,0,115,20,0,0, +- 0,104,0,124,0,93,6,125,1,124,1,160,0,161,0,146, +- 2,113,2,83,0,114,7,0,0,0,41,1,114,131,0,0, +- 0,41,2,114,5,0,0,0,90,2,102,110,114,7,0,0, +- 0,114,7,0,0,0,114,8,0,0,0,114,13,0,0,0, +- 71,6,0,0,115,2,0,0,0,20,0,122,41,70,105,108, +- 101,70,105,110,100,101,114,46,95,102,105,108,108,95,99,97, +- 99,104,101,46,60,108,111,99,97,108,115,62,46,60,115,101, +- 116,99,111,109,112,62,78,41,18,114,65,0,0,0,114,18, +- 0,0,0,90,7,108,105,115,116,100,105,114,114,82,0,0, +- 0,114,85,1,0,0,218,15,80,101,114,109,105,115,115,105, +- 111,110,69,114,114,111,114,218,18,78,111,116,65,68,105,114, +- 101,99,116,111,114,121,69,114,114,111,114,114,15,0,0,0, +- 114,25,0,0,0,114,26,0,0,0,114,98,1,0,0,114, +- 99,1,0,0,114,126,0,0,0,114,89,0,0,0,114,131, +- 0,0,0,218,3,97,100,100,114,27,0,0,0,114,100,1, +- 0,0,41,9,114,143,0,0,0,114,65,0,0,0,90,8, +- 99,111,110,116,101,110,116,115,90,21,108,111,119,101,114,95, +- 115,117,102,102,105,120,95,99,111,110,116,101,110,116,115,114, +- 70,1,0,0,114,141,0,0,0,114,54,1,0,0,114,44, +- 1,0,0,90,8,110,101,119,95,110,97,109,101,114,7,0, +- 0,0,114,7,0,0,0,114,8,0,0,0,114,102,1,0, +- 0,42,6,0,0,115,38,0,0,0,6,2,2,1,22,1, +- 18,1,8,3,2,253,12,6,12,1,6,7,8,1,16,1, +- 4,1,18,1,4,2,12,1,6,1,12,1,20,1,4,255, +- 122,22,70,105,108,101,70,105,110,100,101,114,46,95,102,105, +- 108,108,95,99,97,99,104,101,99,1,0,0,0,0,0,0, +- 0,0,0,0,0,3,0,0,0,3,0,0,0,7,0,0, +- 0,115,18,0,0,0,135,0,135,1,102,2,100,1,100,2, +- 132,8,125,2,124,2,83,0,41,4,97,20,1,0,0,65, +- 32,99,108,97,115,115,32,109,101,116,104,111,100,32,119,104, +- 105,99,104,32,114,101,116,117,114,110,115,32,97,32,99,108, +- 111,115,117,114,101,32,116,111,32,117,115,101,32,111,110,32, +- 115,121,115,46,112,97,116,104,95,104,111,111,107,10,32,32, +- 32,32,32,32,32,32,119,104,105,99,104,32,119,105,108,108, +- 32,114,101,116,117,114,110,32,97,110,32,105,110,115,116,97, +- 110,99,101,32,117,115,105,110,103,32,116,104,101,32,115,112, +- 101,99,105,102,105,101,100,32,108,111,97,100,101,114,115,32, +- 97,110,100,32,116,104,101,32,112,97,116,104,10,32,32,32, +- 32,32,32,32,32,99,97,108,108,101,100,32,111,110,32,116, +- 104,101,32,99,108,111,115,117,114,101,46,10,10,32,32,32, +- 32,32,32,32,32,73,102,32,116,104,101,32,112,97,116,104, +- 32,99,97,108,108,101,100,32,111,110,32,116,104,101,32,99, +- 108,111,115,117,114,101,32,105,115,32,110,111,116,32,97,32, +- 100,105,114,101,99,116,111,114,121,44,32,73,109,112,111,114, +- 116,69,114,114,111,114,32,105,115,10,32,32,32,32,32,32, +- 32,32,114,97,105,115,101,100,46,10,10,32,32,32,32,32, +- 32,32,32,99,1,0,0,0,0,0,0,0,0,0,0,0, +- 1,0,0,0,4,0,0,0,19,0,0,0,115,36,0,0, +- 0,116,0,124,0,131,1,115,10,116,1,100,1,124,0,100, +- 2,141,2,130,1,136,0,124,0,103,1,136,1,162,1,82, +- 0,142,0,83,0,41,4,122,45,80,97,116,104,32,104,111, +- 111,107,32,102,111,114,32,105,109,112,111,114,116,108,105,98, +- 46,109,97,99,104,105,110,101,114,121,46,70,105,108,101,70, +- 105,110,100,101,114,46,122,30,111,110,108,121,32,100,105,114, +- 101,99,116,111,114,105,101,115,32,97,114,101,32,115,117,112, +- 112,111,114,116,101,100,114,71,0,0,0,78,41,2,114,83, +- 0,0,0,114,142,0,0,0,114,71,0,0,0,169,2,114, +- 221,0,0,0,114,101,1,0,0,114,7,0,0,0,114,8, +- 0,0,0,218,24,112,97,116,104,95,104,111,111,107,95,102, +- 111,114,95,70,105,108,101,70,105,110,100,101,114,83,6,0, +- 0,115,6,0,0,0,8,2,12,1,16,1,122,54,70,105, +- 108,101,70,105,110,100,101,114,46,112,97,116,104,95,104,111, +- 111,107,46,60,108,111,99,97,108,115,62,46,112,97,116,104, +- 95,104,111,111,107,95,102,111,114,95,70,105,108,101,70,105, +- 110,100,101,114,78,114,7,0,0,0,41,3,114,221,0,0, +- 0,114,101,1,0,0,114,107,1,0,0,114,7,0,0,0, +- 114,106,1,0,0,114,8,0,0,0,218,9,112,97,116,104, +- 95,104,111,111,107,73,6,0,0,115,4,0,0,0,14,10, +- 4,6,122,20,70,105,108,101,70,105,110,100,101,114,46,112, +- 97,116,104,95,104,111,111,107,99,1,0,0,0,0,0,0, +- 0,0,0,0,0,1,0,0,0,3,0,0,0,67,0,0, +- 0,114,67,1,0,0,41,2,78,122,16,70,105,108,101,70, +- 105,110,100,101,114,40,123,33,114,125,41,41,2,114,89,0, +- 0,0,114,65,0,0,0,114,21,1,0,0,114,7,0,0, +- 0,114,7,0,0,0,114,8,0,0,0,114,68,1,0,0, +- 91,6,0,0,114,61,1,0,0,122,19,70,105,108,101,70, +- 105,110,100,101,114,46,95,95,114,101,112,114,95,95,114,69, +- 0,0,0,41,15,114,150,0,0,0,114,149,0,0,0,114, +- 151,0,0,0,114,152,0,0,0,114,236,0,0,0,114,78, +- 1,0,0,114,167,0,0,0,114,229,0,0,0,114,161,0, +- 0,0,114,91,1,0,0,114,226,0,0,0,114,102,1,0, +- 0,114,234,0,0,0,114,108,1,0,0,114,68,1,0,0, +- 114,7,0,0,0,114,7,0,0,0,114,7,0,0,0,114, +- 8,0,0,0,114,94,1,0,0,196,5,0,0,115,24,0, +- 0,0,8,0,4,2,8,7,8,16,4,4,8,2,8,15, +- 10,5,8,51,2,31,10,1,12,17,114,94,1,0,0,99, +- 4,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0, +- 8,0,0,0,67,0,0,0,115,144,0,0,0,124,0,160, +- 0,100,1,161,1,125,4,124,0,160,0,100,2,161,1,125, +- 5,124,4,115,33,124,5,114,18,124,5,106,1,125,4,110, +- 15,124,2,124,3,107,2,114,28,116,2,124,1,124,2,131, +- 2,125,4,110,5,116,3,124,1,124,2,131,2,125,4,124, +- 5,115,42,116,4,124,1,124,2,124,4,100,3,141,3,125, +- 5,122,19,124,5,124,0,100,2,60,0,124,4,124,0,100, +- 1,60,0,124,2,124,0,100,4,60,0,124,3,124,0,100, +- 5,60,0,87,0,100,0,83,0,4,0,116,5,121,71,1, +- 0,1,0,1,0,89,0,100,0,83,0,119,0,41,6,78, +- 218,10,95,95,108,111,97,100,101,114,95,95,218,8,95,95, +- 115,112,101,99,95,95,114,95,1,0,0,90,8,95,95,102, +- 105,108,101,95,95,90,10,95,95,99,97,99,104,101,100,95, +- 95,41,6,218,3,103,101,116,114,164,0,0,0,114,41,1, +- 0,0,114,34,1,0,0,114,213,0,0,0,218,9,69,120, +- 99,101,112,116,105,111,110,41,6,90,2,110,115,114,141,0, +- 0,0,90,8,112,97,116,104,110,97,109,101,90,9,99,112, +- 97,116,104,110,97,109,101,114,164,0,0,0,114,210,0,0, +- 0,114,7,0,0,0,114,7,0,0,0,114,8,0,0,0, +- 218,14,95,102,105,120,95,117,112,95,109,111,100,117,108,101, +- 97,6,0,0,115,36,0,0,0,10,2,10,1,4,1,4, +- 1,8,1,8,1,12,1,10,2,4,1,14,1,2,1,8, +- 1,8,1,8,1,14,1,12,1,6,2,2,254,114,113,1, +- 0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,3, +- 0,0,0,3,0,0,0,67,0,0,0,115,38,0,0,0, +- 116,0,116,1,160,2,161,0,102,2,125,0,116,3,116,4, +- 102,2,125,1,116,5,116,6,102,2,125,2,124,0,124,1, +- 124,2,103,3,83,0,41,2,122,95,82,101,116,117,114,110, +- 115,32,97,32,108,105,115,116,32,111,102,32,102,105,108,101, +- 45,98,97,115,101,100,32,109,111,100,117,108,101,32,108,111, +- 97,100,101,114,115,46,10,10,32,32,32,32,69,97,99,104, +- 32,105,116,101,109,32,105,115,32,97,32,116,117,112,108,101, +- 32,40,108,111,97,100,101,114,44,32,115,117,102,102,105,120, +- 101,115,41,46,10,32,32,32,32,78,41,7,114,30,1,0, +- 0,114,187,0,0,0,218,18,101,120,116,101,110,115,105,111, +- 110,95,115,117,102,102,105,120,101,115,114,34,1,0,0,114, +- 127,0,0,0,114,41,1,0,0,114,113,0,0,0,41,3, +- 90,10,101,120,116,101,110,115,105,111,110,115,90,6,115,111, +- 117,114,99,101,90,8,98,121,116,101,99,111,100,101,114,7, +- 0,0,0,114,7,0,0,0,114,8,0,0,0,114,208,0, +- 0,0,120,6,0,0,115,8,0,0,0,12,5,8,1,8, +- 1,10,1,114,208,0,0,0,99,1,0,0,0,0,0,0, +- 0,0,0,0,0,1,0,0,0,1,0,0,0,67,0,0, +- 0,115,8,0,0,0,124,0,97,0,100,0,83,0,114,69, +- 0,0,0,41,1,114,159,0,0,0,41,1,218,17,95,98, +- 111,111,116,115,116,114,97,112,95,109,111,100,117,108,101,114, +- 7,0,0,0,114,7,0,0,0,114,8,0,0,0,218,21, +- 95,115,101,116,95,98,111,111,116,115,116,114,97,112,95,109, +- 111,100,117,108,101,131,6,0,0,115,2,0,0,0,8,2, +- 114,116,1,0,0,99,1,0,0,0,0,0,0,0,0,0, +- 0,0,2,0,0,0,4,0,0,0,67,0,0,0,115,50, +- 0,0,0,116,0,124,0,131,1,1,0,116,1,131,0,125, +- 1,116,2,106,3,160,4,116,5,106,6,124,1,142,0,103, +- 1,161,1,1,0,116,2,106,7,160,8,116,9,161,1,1, +- 0,100,1,83,0,41,2,122,41,73,110,115,116,97,108,108, +- 32,116,104,101,32,112,97,116,104,45,98,97,115,101,100,32, +- 105,109,112,111,114,116,32,99,111,109,112,111,110,101,110,116, +- 115,46,78,41,10,114,116,1,0,0,114,208,0,0,0,114, +- 15,0,0,0,114,83,1,0,0,114,191,0,0,0,114,94, +- 1,0,0,114,108,1,0,0,218,9,109,101,116,97,95,112, +- 97,116,104,114,61,0,0,0,114,77,1,0,0,41,2,114, +- 115,1,0,0,90,17,115,117,112,112,111,114,116,101,100,95, +- 108,111,97,100,101,114,115,114,7,0,0,0,114,7,0,0, +- 0,114,8,0,0,0,218,8,95,105,110,115,116,97,108,108, +- 136,6,0,0,115,8,0,0,0,8,2,6,1,20,1,16, +- 1,114,118,1,0,0,41,1,114,87,0,0,0,114,69,0, +- 0,0,41,3,78,78,78,41,2,114,0,0,0,0,114,0, +- 0,0,0,41,1,84,41,85,114,152,0,0,0,114,159,0, +- 0,0,114,187,0,0,0,114,91,0,0,0,114,15,0,0, +- 0,114,99,0,0,0,114,184,0,0,0,114,25,0,0,0, +- 114,231,0,0,0,90,2,110,116,114,18,0,0,0,114,215, +- 0,0,0,90,5,112,111,115,105,120,114,50,0,0,0,218, +- 3,97,108,108,114,59,0,0,0,114,136,0,0,0,114,57, +- 0,0,0,114,62,0,0,0,90,20,95,112,97,116,104,115, +- 101,112,115,95,119,105,116,104,95,99,111,108,111,110,114,28, +- 0,0,0,90,37,95,67,65,83,69,95,73,78,83,69,78, +- 83,73,84,73,86,69,95,80,76,65,84,70,79,82,77,83, +- 95,66,89,84,69,83,95,75,69,89,114,27,0,0,0,114, +- 29,0,0,0,114,21,0,0,0,114,36,0,0,0,114,42, +- 0,0,0,114,45,0,0,0,114,67,0,0,0,114,74,0, +- 0,0,114,75,0,0,0,114,79,0,0,0,114,80,0,0, +- 0,114,83,0,0,0,114,86,0,0,0,114,95,0,0,0, +- 218,4,116,121,112,101,218,8,95,95,99,111,100,101,95,95, +- 114,186,0,0,0,114,34,0,0,0,114,172,0,0,0,114, +- 33,0,0,0,114,39,0,0,0,114,8,1,0,0,114,116, +- 0,0,0,114,112,0,0,0,114,127,0,0,0,114,61,0, +- 0,0,114,114,1,0,0,114,232,0,0,0,114,113,0,0, +- 0,90,23,68,69,66,85,71,95,66,89,84,69,67,79,68, +- 69,95,83,85,70,70,73,88,69,83,90,27,79,80,84,73, +- 77,73,90,69,68,95,66,89,84,69,67,79,68,69,95,83, +- 85,70,70,73,88,69,83,114,121,0,0,0,114,128,0,0, +- 0,114,135,0,0,0,114,137,0,0,0,114,139,0,0,0, +- 114,160,0,0,0,114,167,0,0,0,114,176,0,0,0,114, +- 180,0,0,0,114,182,0,0,0,114,189,0,0,0,114,194, +- 0,0,0,114,195,0,0,0,114,200,0,0,0,218,6,111, +- 98,106,101,99,116,114,209,0,0,0,114,213,0,0,0,114, +- 214,0,0,0,114,235,0,0,0,114,249,0,0,0,114,11, +- 1,0,0,114,34,1,0,0,114,41,1,0,0,114,30,1, +- 0,0,114,47,1,0,0,114,73,1,0,0,114,77,1,0, +- 0,114,94,1,0,0,114,113,1,0,0,114,208,0,0,0, +- 114,116,1,0,0,114,118,1,0,0,114,7,0,0,0,114, +- 7,0,0,0,114,7,0,0,0,114,8,0,0,0,218,8, +- 60,109,111,100,117,108,101,62,1,0,0,0,115,180,0,0, +- 0,4,0,4,22,8,3,8,1,8,1,8,1,8,1,10, +- 3,4,1,8,1,10,1,8,2,4,3,10,1,6,2,22, +- 2,8,1,8,1,10,1,14,1,4,4,4,1,2,1,2, +- 1,4,255,8,4,6,16,8,3,8,5,8,5,4,6,10, +- 1,8,30,8,6,8,8,8,10,8,9,8,5,4,7,10, +- 1,8,8,10,5,10,22,0,127,16,30,12,1,4,2,4, +- 1,6,2,4,1,10,1,8,2,6,2,8,2,16,2,8, +- 71,8,40,8,19,8,12,8,12,8,31,8,20,8,33,8, +- 28,10,24,10,13,10,10,8,11,6,14,4,3,2,1,12, +- 255,14,73,14,67,16,30,0,127,14,17,18,50,18,45,18, +- 25,14,53,14,63,14,49,0,127,14,29,0,127,10,30,8, +- 23,8,11,12,5, ++ 99,97,99,104,101,46,10,10,32,32,32,32,32,32,32,32, ++ 84,104,105,115,32,109,101,116,104,111,100,32,105,115,32,100, ++ 101,112,114,101,99,97,116,101,100,46,32,32,85,115,101,32, ++ 102,105,110,100,95,115,112,101,99,40,41,32,105,110,115,116, ++ 101,97,100,46,10,10,32,32,32,32,32,32,32,32,122,101, ++ 80,97,116,104,70,105,110,100,101,114,46,102,105,110,100,95, ++ 109,111,100,117,108,101,40,41,32,105,115,32,100,101,112,114, ++ 101,99,97,116,101,100,32,97,110,100,32,115,108,97,116,101, ++ 100,32,102,111,114,32,114,101,109,111,118,97,108,32,105,110, ++ 32,80,121,116,104,111,110,32,51,46,49,50,59,32,117,115, ++ 101,32,102,105,110,100,95,115,112,101,99,40,41,32,105,110, ++ 115,116,101,97,100,78,114,228,0,0,0,114,229,0,0,0, ++ 114,8,0,0,0,114,8,0,0,0,114,9,0,0,0,114, ++ 230,0,0,0,170,5,0,0,115,14,0,0,0,6,8,2, ++ 2,4,254,12,3,8,1,4,1,6,1,122,22,80,97,116, ++ 104,70,105,110,100,101,114,46,102,105,110,100,95,109,111,100, ++ 117,108,101,99,0,0,0,0,0,0,0,0,0,0,0,0, ++ 3,0,0,0,4,0,0,0,79,0,0,0,115,28,0,0, ++ 0,100,1,100,2,108,0,109,1,125,2,1,0,124,2,106, ++ 2,124,0,105,0,124,1,164,1,142,1,83,0,41,4,97, ++ 32,1,0,0,10,32,32,32,32,32,32,32,32,70,105,110, ++ 100,32,100,105,115,116,114,105,98,117,116,105,111,110,115,46, ++ 10,10,32,32,32,32,32,32,32,32,82,101,116,117,114,110, ++ 32,97,110,32,105,116,101,114,97,98,108,101,32,111,102,32, ++ 97,108,108,32,68,105,115,116,114,105,98,117,116,105,111,110, ++ 32,105,110,115,116,97,110,99,101,115,32,99,97,112,97,98, ++ 108,101,32,111,102,10,32,32,32,32,32,32,32,32,108,111, ++ 97,100,105,110,103,32,116,104,101,32,109,101,116,97,100,97, ++ 116,97,32,102,111,114,32,112,97,99,107,97,103,101,115,32, ++ 109,97,116,99,104,105,110,103,32,96,96,99,111,110,116,101, ++ 120,116,46,110,97,109,101,96,96,10,32,32,32,32,32,32, ++ 32,32,40,111,114,32,97,108,108,32,110,97,109,101,115,32, ++ 105,102,32,96,96,78,111,110,101,96,96,32,105,110,100,105, ++ 99,97,116,101,100,41,32,97,108,111,110,103,32,116,104,101, ++ 32,112,97,116,104,115,32,105,110,32,116,104,101,32,108,105, ++ 115,116,10,32,32,32,32,32,32,32,32,111,102,32,100,105, ++ 114,101,99,116,111,114,105,101,115,32,96,96,99,111,110,116, ++ 101,120,116,46,112,97,116,104,96,96,46,10,32,32,32,32, ++ 32,32,32,32,114,0,0,0,0,41,1,218,18,77,101,116, ++ 97,100,97,116,97,80,97,116,104,70,105,110,100,101,114,78, ++ 41,3,90,18,105,109,112,111,114,116,108,105,98,46,109,101, ++ 116,97,100,97,116,97,114,93,1,0,0,218,18,102,105,110, ++ 100,95,100,105,115,116,114,105,98,117,116,105,111,110,115,41, ++ 3,114,145,0,0,0,114,146,0,0,0,114,93,1,0,0, ++ 114,8,0,0,0,114,8,0,0,0,114,9,0,0,0,114, ++ 94,1,0,0,186,5,0,0,115,4,0,0,0,12,10,16, ++ 1,122,29,80,97,116,104,70,105,110,100,101,114,46,102,105, ++ 110,100,95,100,105,115,116,114,105,98,117,116,105,111,110,115, ++ 114,71,0,0,0,114,231,0,0,0,41,14,114,151,0,0, ++ 0,114,150,0,0,0,114,152,0,0,0,114,153,0,0,0, ++ 114,234,0,0,0,114,79,1,0,0,114,85,1,0,0,114, ++ 235,0,0,0,114,88,1,0,0,114,89,1,0,0,114,92, ++ 1,0,0,114,227,0,0,0,114,230,0,0,0,114,94,1, ++ 0,0,114,8,0,0,0,114,8,0,0,0,114,8,0,0, ++ 0,114,9,0,0,0,114,78,1,0,0,44,5,0,0,115, ++ 36,0,0,0,8,0,4,2,2,2,10,1,2,9,10,1, ++ 2,12,10,1,2,21,10,1,2,20,12,1,2,31,12,1, ++ 2,23,12,1,2,15,14,1,114,78,1,0,0,99,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0, ++ 0,0,64,0,0,0,115,90,0,0,0,101,0,90,1,100, ++ 0,90,2,100,1,90,3,100,2,100,3,132,0,90,4,100, ++ 4,100,5,132,0,90,5,101,6,90,7,100,6,100,7,132, ++ 0,90,8,100,8,100,9,132,0,90,9,100,19,100,11,100, ++ 12,132,1,90,10,100,13,100,14,132,0,90,11,101,12,100, ++ 15,100,16,132,0,131,1,90,13,100,17,100,18,132,0,90, ++ 14,100,10,83,0,41,20,218,10,70,105,108,101,70,105,110, ++ 100,101,114,122,172,70,105,108,101,45,98,97,115,101,100,32, ++ 102,105,110,100,101,114,46,10,10,32,32,32,32,73,110,116, ++ 101,114,97,99,116,105,111,110,115,32,119,105,116,104,32,116, ++ 104,101,32,102,105,108,101,32,115,121,115,116,101,109,32,97, ++ 114,101,32,99,97,99,104,101,100,32,102,111,114,32,112,101, ++ 114,102,111,114,109,97,110,99,101,44,32,98,101,105,110,103, ++ 10,32,32,32,32,114,101,102,114,101,115,104,101,100,32,119, ++ 104,101,110,32,116,104,101,32,100,105,114,101,99,116,111,114, ++ 121,32,116,104,101,32,102,105,110,100,101,114,32,105,115,32, ++ 104,97,110,100,108,105,110,103,32,104,97,115,32,98,101,101, ++ 110,32,109,111,100,105,102,105,101,100,46,10,10,32,32,32, ++ 32,99,2,0,0,0,0,0,0,0,0,0,0,0,5,0, ++ 0,0,6,0,0,0,7,0,0,0,115,112,0,0,0,103, ++ 0,125,3,124,2,68,0,93,16,92,2,137,0,125,4,124, ++ 3,160,0,135,0,102,1,100,1,100,2,132,8,124,4,68, ++ 0,131,1,161,1,1,0,113,4,124,3,124,0,95,1,124, ++ 1,112,27,100,3,124,0,95,2,116,3,124,0,106,2,131, ++ 1,115,43,116,4,116,5,160,6,161,0,124,0,106,2,131, ++ 2,124,0,95,2,100,4,124,0,95,7,116,8,131,0,124, ++ 0,95,9,116,8,131,0,124,0,95,10,100,5,83,0,41, ++ 6,122,154,73,110,105,116,105,97,108,105,122,101,32,119,105, ++ 116,104,32,116,104,101,32,112,97,116,104,32,116,111,32,115, ++ 101,97,114,99,104,32,111,110,32,97,110,100,32,97,32,118, ++ 97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,111, ++ 102,10,32,32,32,32,32,32,32,32,50,45,116,117,112,108, ++ 101,115,32,99,111,110,116,97,105,110,105,110,103,32,116,104, ++ 101,32,108,111,97,100,101,114,32,97,110,100,32,116,104,101, ++ 32,102,105,108,101,32,115,117,102,102,105,120,101,115,32,116, ++ 104,101,32,108,111,97,100,101,114,10,32,32,32,32,32,32, ++ 32,32,114,101,99,111,103,110,105,122,101,115,46,99,1,0, ++ 0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0, ++ 0,0,51,0,0,0,115,24,0,0,0,129,0,124,0,93, ++ 7,125,1,124,1,136,0,102,2,86,0,1,0,113,2,100, ++ 0,83,0,114,71,0,0,0,114,8,0,0,0,114,44,1, ++ 0,0,169,1,114,165,0,0,0,114,8,0,0,0,114,9, ++ 0,0,0,114,10,0,0,0,215,5,0,0,115,4,0,0, ++ 0,2,128,22,0,122,38,70,105,108,101,70,105,110,100,101, ++ 114,46,95,95,105,110,105,116,95,95,46,60,108,111,99,97, ++ 108,115,62,46,60,103,101,110,101,120,112,114,62,114,99,0, ++ 0,0,114,3,0,0,0,78,41,11,114,192,0,0,0,218, ++ 8,95,108,111,97,100,101,114,115,114,67,0,0,0,114,88, ++ 0,0,0,114,69,0,0,0,114,19,0,0,0,114,84,0, ++ 0,0,218,11,95,112,97,116,104,95,109,116,105,109,101,218, ++ 3,115,101,116,218,11,95,112,97,116,104,95,99,97,99,104, ++ 101,218,19,95,114,101,108,97,120,101,100,95,112,97,116,104, ++ 95,99,97,99,104,101,41,5,114,144,0,0,0,114,67,0, ++ 0,0,218,14,108,111,97,100,101,114,95,100,101,116,97,105, ++ 108,115,90,7,108,111,97,100,101,114,115,114,213,0,0,0, ++ 114,8,0,0,0,114,96,1,0,0,114,9,0,0,0,114, ++ 237,0,0,0,209,5,0,0,115,20,0,0,0,4,4,12, ++ 1,26,1,6,1,10,2,10,1,18,1,6,1,8,1,12, ++ 1,122,19,70,105,108,101,70,105,110,100,101,114,46,95,95, ++ 105,110,105,116,95,95,99,1,0,0,0,0,0,0,0,0, ++ 0,0,0,1,0,0,0,2,0,0,0,67,0,0,0,115, ++ 10,0,0,0,100,1,124,0,95,0,100,2,83,0,41,3, ++ 122,31,73,110,118,97,108,105,100,97,116,101,32,116,104,101, ++ 32,100,105,114,101,99,116,111,114,121,32,109,116,105,109,101, ++ 46,114,3,0,0,0,78,41,1,114,98,1,0,0,114,22, ++ 1,0,0,114,8,0,0,0,114,8,0,0,0,114,9,0, ++ 0,0,114,79,1,0,0,225,5,0,0,114,83,0,0,0, ++ 122,28,70,105,108,101,70,105,110,100,101,114,46,105,110,118, ++ 97,108,105,100,97,116,101,95,99,97,99,104,101,115,99,2, ++ 0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4, ++ 0,0,0,67,0,0,0,115,54,0,0,0,116,0,160,1, ++ 100,1,116,2,161,2,1,0,124,0,160,3,124,1,161,1, ++ 125,2,124,2,100,2,117,0,114,19,100,2,103,0,102,2, ++ 83,0,124,2,106,4,124,2,106,5,112,25,103,0,102,2, ++ 83,0,41,3,122,197,84,114,121,32,116,111,32,102,105,110, ++ 100,32,97,32,108,111,97,100,101,114,32,102,111,114,32,116, ++ 104,101,32,115,112,101,99,105,102,105,101,100,32,109,111,100, ++ 117,108,101,44,32,111,114,32,116,104,101,32,110,97,109,101, ++ 115,112,97,99,101,10,32,32,32,32,32,32,32,32,112,97, ++ 99,107,97,103,101,32,112,111,114,116,105,111,110,115,46,32, ++ 82,101,116,117,114,110,115,32,40,108,111,97,100,101,114,44, ++ 32,108,105,115,116,45,111,102,45,112,111,114,116,105,111,110, ++ 115,41,46,10,10,32,32,32,32,32,32,32,32,84,104,105, ++ 115,32,109,101,116,104,111,100,32,105,115,32,100,101,112,114, ++ 101,99,97,116,101,100,46,32,32,85,115,101,32,102,105,110, ++ 100,95,115,112,101,99,40,41,32,105,110,115,116,101,97,100, ++ 46,10,10,32,32,32,32,32,32,32,32,122,101,70,105,108, ++ 101,70,105,110,100,101,114,46,102,105,110,100,95,108,111,97, ++ 100,101,114,40,41,32,105,115,32,100,101,112,114,101,99,97, ++ 116,101,100,32,97,110,100,32,115,108,97,116,101,100,32,102, ++ 111,114,32,114,101,109,111,118,97,108,32,105,110,32,80,121, ++ 116,104,111,110,32,51,46,49,50,59,32,117,115,101,32,102, ++ 105,110,100,95,115,112,101,99,40,41,32,105,110,115,116,101, ++ 97,100,78,41,6,114,101,0,0,0,114,102,0,0,0,114, ++ 103,0,0,0,114,227,0,0,0,114,165,0,0,0,114,203, ++ 0,0,0,41,3,114,144,0,0,0,114,164,0,0,0,114, ++ 211,0,0,0,114,8,0,0,0,114,8,0,0,0,114,9, ++ 0,0,0,114,162,0,0,0,231,5,0,0,115,14,0,0, ++ 0,6,7,2,2,4,254,10,3,8,1,8,1,16,1,122, ++ 22,70,105,108,101,70,105,110,100,101,114,46,102,105,110,100, ++ 95,108,111,97,100,101,114,99,6,0,0,0,0,0,0,0, ++ 0,0,0,0,7,0,0,0,6,0,0,0,67,0,0,0, ++ 115,26,0,0,0,124,1,124,2,124,3,131,2,125,6,116, ++ 0,124,2,124,3,124,6,124,4,100,1,141,4,83,0,41, ++ 2,78,114,202,0,0,0,41,1,114,214,0,0,0,41,7, ++ 114,144,0,0,0,114,212,0,0,0,114,164,0,0,0,114, ++ 67,0,0,0,90,4,115,109,115,108,114,226,0,0,0,114, ++ 165,0,0,0,114,8,0,0,0,114,8,0,0,0,114,9, ++ 0,0,0,114,92,1,0,0,246,5,0,0,115,8,0,0, ++ 0,10,1,8,1,2,1,6,255,122,20,70,105,108,101,70, ++ 105,110,100,101,114,46,95,103,101,116,95,115,112,101,99,78, ++ 99,3,0,0,0,0,0,0,0,0,0,0,0,14,0,0, ++ 0,9,0,0,0,67,0,0,0,115,122,1,0,0,100,1, ++ 125,3,124,1,160,0,100,2,161,1,100,3,25,0,125,4, ++ 122,12,116,1,124,0,106,2,112,17,116,3,160,4,161,0, ++ 131,1,106,5,125,5,87,0,110,11,4,0,116,6,121,32, ++ 1,0,1,0,1,0,100,4,125,5,89,0,110,1,119,0, ++ 124,5,124,0,106,7,107,3,114,45,124,0,160,8,161,0, ++ 1,0,124,5,124,0,95,7,116,9,131,0,114,56,124,0, ++ 106,10,125,6,124,4,160,11,161,0,125,7,110,5,124,0, ++ 106,12,125,6,124,4,125,7,124,7,124,6,118,0,114,108, ++ 116,13,124,0,106,2,124,4,131,2,125,8,124,0,106,14, ++ 68,0,93,29,92,2,125,9,125,10,100,5,124,9,23,0, ++ 125,11,116,13,124,8,124,11,131,2,125,12,116,15,124,12, ++ 131,1,114,103,124,0,160,16,124,10,124,1,124,12,124,8, ++ 103,1,124,2,161,5,2,0,1,0,83,0,113,74,116,17, ++ 124,8,131,1,125,3,124,0,106,14,68,0,93,55,92,2, ++ 125,9,125,10,122,10,116,13,124,0,106,2,124,4,124,9, ++ 23,0,131,2,125,12,87,0,110,11,4,0,116,18,121,136, ++ 1,0,1,0,1,0,89,0,1,0,100,6,83,0,119,0, ++ 116,19,106,20,100,7,124,12,100,3,100,8,141,3,1,0, ++ 124,7,124,9,23,0,124,6,118,0,114,166,116,15,124,12, ++ 131,1,114,166,124,0,160,16,124,10,124,1,124,12,100,6, ++ 124,2,161,5,2,0,1,0,83,0,113,111,124,3,114,187, ++ 116,19,160,20,100,9,124,8,161,2,1,0,116,19,160,21, ++ 124,1,100,6,161,2,125,13,124,8,103,1,124,13,95,22, ++ 124,13,83,0,100,6,83,0,41,10,122,111,84,114,121,32, ++ 116,111,32,102,105,110,100,32,97,32,115,112,101,99,32,102, ++ 111,114,32,116,104,101,32,115,112,101,99,105,102,105,101,100, ++ 32,109,111,100,117,108,101,46,10,10,32,32,32,32,32,32, ++ 32,32,82,101,116,117,114,110,115,32,116,104,101,32,109,97, ++ 116,99,104,105,110,103,32,115,112,101,99,44,32,111,114,32, ++ 78,111,110,101,32,105,102,32,110,111,116,32,102,111,117,110, ++ 100,46,10,32,32,32,32,32,32,32,32,70,114,99,0,0, ++ 0,114,46,0,0,0,114,3,0,0,0,114,237,0,0,0, ++ 78,122,9,116,114,121,105,110,103,32,123,125,41,1,90,9, ++ 118,101,114,98,111,115,105,116,121,122,25,112,111,115,115,105, ++ 98,108,101,32,110,97,109,101,115,112,97,99,101,32,102,111, ++ 114,32,123,125,41,23,114,106,0,0,0,114,77,0,0,0, ++ 114,67,0,0,0,114,19,0,0,0,114,84,0,0,0,114, ++ 36,1,0,0,114,78,0,0,0,114,98,1,0,0,218,11, ++ 95,102,105,108,108,95,99,97,99,104,101,114,23,0,0,0, ++ 114,101,1,0,0,114,132,0,0,0,114,100,1,0,0,114, ++ 69,0,0,0,114,97,1,0,0,114,82,0,0,0,114,92, ++ 1,0,0,114,85,0,0,0,114,113,0,0,0,114,160,0, ++ 0,0,114,174,0,0,0,114,208,0,0,0,114,203,0,0, ++ 0,41,14,114,144,0,0,0,114,164,0,0,0,114,226,0, ++ 0,0,90,12,105,115,95,110,97,109,101,115,112,97,99,101, ++ 90,11,116,97,105,108,95,109,111,100,117,108,101,114,194,0, ++ 0,0,90,5,99,97,99,104,101,90,12,99,97,99,104,101, ++ 95,109,111,100,117,108,101,90,9,98,97,115,101,95,112,97, ++ 116,104,114,45,1,0,0,114,212,0,0,0,90,13,105,110, ++ 105,116,95,102,105,108,101,110,97,109,101,90,9,102,117,108, ++ 108,95,112,97,116,104,114,211,0,0,0,114,8,0,0,0, ++ 114,8,0,0,0,114,9,0,0,0,114,227,0,0,0,251, ++ 5,0,0,115,86,0,0,0,4,5,14,1,2,1,24,1, ++ 12,1,8,1,2,255,10,2,8,1,6,1,6,2,6,1, ++ 10,1,6,2,4,1,8,2,12,1,14,1,8,1,10,1, ++ 8,1,24,1,2,255,8,5,14,2,2,1,20,1,12,1, ++ 8,1,2,255,16,2,12,1,8,1,10,1,4,1,8,255, ++ 2,128,4,2,12,1,12,1,8,1,4,1,4,1,122,20, ++ 70,105,108,101,70,105,110,100,101,114,46,102,105,110,100,95, ++ 115,112,101,99,99,1,0,0,0,0,0,0,0,0,0,0, ++ 0,9,0,0,0,10,0,0,0,67,0,0,0,115,192,0, ++ 0,0,124,0,106,0,125,1,122,11,116,1,160,2,124,1, ++ 112,11,116,1,160,3,161,0,161,1,125,2,87,0,110,14, ++ 4,0,116,4,116,5,116,6,102,3,121,28,1,0,1,0, ++ 1,0,103,0,125,2,89,0,110,1,119,0,116,7,106,8, ++ 160,9,100,1,161,1,115,41,116,10,124,2,131,1,124,0, ++ 95,11,110,37,116,10,131,0,125,3,124,2,68,0,93,28, ++ 125,4,124,4,160,12,100,2,161,1,92,3,125,5,125,6, ++ 125,7,124,6,114,67,100,3,160,13,124,5,124,7,160,14, ++ 161,0,161,2,125,8,110,2,124,5,125,8,124,3,160,15, ++ 124,8,161,1,1,0,113,46,124,3,124,0,95,11,116,7, ++ 106,8,160,9,116,16,161,1,114,94,100,4,100,5,132,0, ++ 124,2,68,0,131,1,124,0,95,17,100,6,83,0,100,6, ++ 83,0,41,7,122,68,70,105,108,108,32,116,104,101,32,99, ++ 97,99,104,101,32,111,102,32,112,111,116,101,110,116,105,97, ++ 108,32,109,111,100,117,108,101,115,32,97,110,100,32,112,97, ++ 99,107,97,103,101,115,32,102,111,114,32,116,104,105,115,32, ++ 100,105,114,101,99,116,111,114,121,46,114,15,0,0,0,114, ++ 99,0,0,0,114,90,0,0,0,99,1,0,0,0,0,0, ++ 0,0,0,0,0,0,2,0,0,0,4,0,0,0,83,0, ++ 0,0,115,20,0,0,0,104,0,124,0,93,6,125,1,124, ++ 1,160,0,161,0,146,2,113,2,83,0,114,8,0,0,0, ++ 41,1,114,132,0,0,0,41,2,114,6,0,0,0,90,2, ++ 102,110,114,8,0,0,0,114,8,0,0,0,114,9,0,0, ++ 0,114,14,0,0,0,75,6,0,0,115,2,0,0,0,20, ++ 0,122,41,70,105,108,101,70,105,110,100,101,114,46,95,102, ++ 105,108,108,95,99,97,99,104,101,46,60,108,111,99,97,108, ++ 115,62,46,60,115,101,116,99,111,109,112,62,78,41,18,114, ++ 67,0,0,0,114,19,0,0,0,90,7,108,105,115,116,100, ++ 105,114,114,84,0,0,0,114,86,1,0,0,218,15,80,101, ++ 114,109,105,115,115,105,111,110,69,114,114,111,114,218,18,78, ++ 111,116,65,68,105,114,101,99,116,111,114,121,69,114,114,111, ++ 114,114,16,0,0,0,114,27,0,0,0,114,28,0,0,0, ++ 114,99,1,0,0,114,100,1,0,0,114,128,0,0,0,114, ++ 91,0,0,0,114,132,0,0,0,218,3,97,100,100,114,29, ++ 0,0,0,114,101,1,0,0,41,9,114,144,0,0,0,114, ++ 67,0,0,0,90,8,99,111,110,116,101,110,116,115,90,21, ++ 108,111,119,101,114,95,115,117,102,102,105,120,95,99,111,110, ++ 116,101,110,116,115,114,71,1,0,0,114,142,0,0,0,114, ++ 55,1,0,0,114,45,1,0,0,90,8,110,101,119,95,110, ++ 97,109,101,114,8,0,0,0,114,8,0,0,0,114,9,0, ++ 0,0,114,103,1,0,0,46,6,0,0,115,38,0,0,0, ++ 6,2,2,1,22,1,18,1,8,3,2,253,12,6,12,1, ++ 6,7,8,1,16,1,4,1,18,1,4,2,12,1,6,1, ++ 12,1,20,1,4,255,122,22,70,105,108,101,70,105,110,100, ++ 101,114,46,95,102,105,108,108,95,99,97,99,104,101,99,1, ++ 0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3, ++ 0,0,0,7,0,0,0,115,18,0,0,0,135,0,135,1, ++ 102,2,100,1,100,2,132,8,125,2,124,2,83,0,41,4, ++ 97,20,1,0,0,65,32,99,108,97,115,115,32,109,101,116, ++ 104,111,100,32,119,104,105,99,104,32,114,101,116,117,114,110, ++ 115,32,97,32,99,108,111,115,117,114,101,32,116,111,32,117, ++ 115,101,32,111,110,32,115,121,115,46,112,97,116,104,95,104, ++ 111,111,107,10,32,32,32,32,32,32,32,32,119,104,105,99, ++ 104,32,119,105,108,108,32,114,101,116,117,114,110,32,97,110, ++ 32,105,110,115,116,97,110,99,101,32,117,115,105,110,103,32, ++ 116,104,101,32,115,112,101,99,105,102,105,101,100,32,108,111, ++ 97,100,101,114,115,32,97,110,100,32,116,104,101,32,112,97, ++ 116,104,10,32,32,32,32,32,32,32,32,99,97,108,108,101, ++ 100,32,111,110,32,116,104,101,32,99,108,111,115,117,114,101, ++ 46,10,10,32,32,32,32,32,32,32,32,73,102,32,116,104, ++ 101,32,112,97,116,104,32,99,97,108,108,101,100,32,111,110, ++ 32,116,104,101,32,99,108,111,115,117,114,101,32,105,115,32, ++ 110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,44, ++ 32,73,109,112,111,114,116,69,114,114,111,114,32,105,115,10, ++ 32,32,32,32,32,32,32,32,114,97,105,115,101,100,46,10, ++ 10,32,32,32,32,32,32,32,32,99,1,0,0,0,0,0, ++ 0,0,0,0,0,0,1,0,0,0,4,0,0,0,19,0, ++ 0,0,115,36,0,0,0,116,0,124,0,131,1,115,10,116, ++ 1,100,1,124,0,100,2,141,2,130,1,136,0,124,0,103, ++ 1,136,1,162,1,82,0,142,0,83,0,41,4,122,45,80, ++ 97,116,104,32,104,111,111,107,32,102,111,114,32,105,109,112, ++ 111,114,116,108,105,98,46,109,97,99,104,105,110,101,114,121, ++ 46,70,105,108,101,70,105,110,100,101,114,46,122,30,111,110, ++ 108,121,32,100,105,114,101,99,116,111,114,105,101,115,32,97, ++ 114,101,32,115,117,112,112,111,114,116,101,100,114,73,0,0, ++ 0,78,41,2,114,85,0,0,0,114,143,0,0,0,114,73, ++ 0,0,0,169,2,114,222,0,0,0,114,102,1,0,0,114, ++ 8,0,0,0,114,9,0,0,0,218,24,112,97,116,104,95, ++ 104,111,111,107,95,102,111,114,95,70,105,108,101,70,105,110, ++ 100,101,114,87,6,0,0,115,6,0,0,0,8,2,12,1, ++ 16,1,122,54,70,105,108,101,70,105,110,100,101,114,46,112, ++ 97,116,104,95,104,111,111,107,46,60,108,111,99,97,108,115, ++ 62,46,112,97,116,104,95,104,111,111,107,95,102,111,114,95, ++ 70,105,108,101,70,105,110,100,101,114,78,114,8,0,0,0, ++ 41,3,114,222,0,0,0,114,102,1,0,0,114,108,1,0, ++ 0,114,8,0,0,0,114,107,1,0,0,114,9,0,0,0, ++ 218,9,112,97,116,104,95,104,111,111,107,77,6,0,0,115, ++ 4,0,0,0,14,10,4,6,122,20,70,105,108,101,70,105, ++ 110,100,101,114,46,112,97,116,104,95,104,111,111,107,99,1, ++ 0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3, ++ 0,0,0,67,0,0,0,114,68,1,0,0,41,2,78,122, ++ 16,70,105,108,101,70,105,110,100,101,114,40,123,33,114,125, ++ 41,41,2,114,91,0,0,0,114,67,0,0,0,114,22,1, ++ 0,0,114,8,0,0,0,114,8,0,0,0,114,9,0,0, ++ 0,114,69,1,0,0,95,6,0,0,114,62,1,0,0,122, ++ 19,70,105,108,101,70,105,110,100,101,114,46,95,95,114,101, ++ 112,114,95,95,114,71,0,0,0,41,15,114,151,0,0,0, ++ 114,150,0,0,0,114,152,0,0,0,114,153,0,0,0,114, ++ 237,0,0,0,114,79,1,0,0,114,168,0,0,0,114,230, ++ 0,0,0,114,162,0,0,0,114,92,1,0,0,114,227,0, ++ 0,0,114,103,1,0,0,114,235,0,0,0,114,109,1,0, ++ 0,114,69,1,0,0,114,8,0,0,0,114,8,0,0,0, ++ 114,8,0,0,0,114,9,0,0,0,114,95,1,0,0,200, ++ 5,0,0,115,24,0,0,0,8,0,4,2,8,7,8,16, ++ 4,4,8,2,8,15,10,5,8,51,2,31,10,1,12,17, ++ 114,95,1,0,0,99,4,0,0,0,0,0,0,0,0,0, ++ 0,0,6,0,0,0,8,0,0,0,67,0,0,0,115,144, ++ 0,0,0,124,0,160,0,100,1,161,1,125,4,124,0,160, ++ 0,100,2,161,1,125,5,124,4,115,33,124,5,114,18,124, ++ 5,106,1,125,4,110,15,124,2,124,3,107,2,114,28,116, ++ 2,124,1,124,2,131,2,125,4,110,5,116,3,124,1,124, ++ 2,131,2,125,4,124,5,115,42,116,4,124,1,124,2,124, ++ 4,100,3,141,3,125,5,122,19,124,5,124,0,100,2,60, ++ 0,124,4,124,0,100,1,60,0,124,2,124,0,100,4,60, ++ 0,124,3,124,0,100,5,60,0,87,0,100,0,83,0,4, ++ 0,116,5,121,71,1,0,1,0,1,0,89,0,100,0,83, ++ 0,119,0,41,6,78,218,10,95,95,108,111,97,100,101,114, ++ 95,95,218,8,95,95,115,112,101,99,95,95,114,96,1,0, ++ 0,90,8,95,95,102,105,108,101,95,95,90,10,95,95,99, ++ 97,99,104,101,100,95,95,41,6,218,3,103,101,116,114,165, ++ 0,0,0,114,42,1,0,0,114,35,1,0,0,114,214,0, ++ 0,0,218,9,69,120,99,101,112,116,105,111,110,41,6,90, ++ 2,110,115,114,142,0,0,0,90,8,112,97,116,104,110,97, ++ 109,101,90,9,99,112,97,116,104,110,97,109,101,114,165,0, ++ 0,0,114,211,0,0,0,114,8,0,0,0,114,8,0,0, ++ 0,114,9,0,0,0,218,14,95,102,105,120,95,117,112,95, ++ 109,111,100,117,108,101,101,6,0,0,115,36,0,0,0,10, ++ 2,10,1,4,1,4,1,8,1,8,1,12,1,10,2,4, ++ 1,14,1,2,1,8,1,8,1,8,1,14,1,12,1,6, ++ 2,2,254,114,114,1,0,0,99,0,0,0,0,0,0,0, ++ 0,0,0,0,0,3,0,0,0,3,0,0,0,67,0,0, ++ 0,115,38,0,0,0,116,0,116,1,160,2,161,0,102,2, ++ 125,0,116,3,116,4,102,2,125,1,116,5,116,6,102,2, ++ 125,2,124,0,124,1,124,2,103,3,83,0,41,2,122,95, ++ 82,101,116,117,114,110,115,32,97,32,108,105,115,116,32,111, ++ 102,32,102,105,108,101,45,98,97,115,101,100,32,109,111,100, ++ 117,108,101,32,108,111,97,100,101,114,115,46,10,10,32,32, ++ 32,32,69,97,99,104,32,105,116,101,109,32,105,115,32,97, ++ 32,116,117,112,108,101,32,40,108,111,97,100,101,114,44,32, ++ 115,117,102,102,105,120,101,115,41,46,10,32,32,32,32,78, ++ 41,7,114,31,1,0,0,114,188,0,0,0,218,18,101,120, ++ 116,101,110,115,105,111,110,95,115,117,102,102,105,120,101,115, ++ 114,35,1,0,0,114,129,0,0,0,114,42,1,0,0,114, ++ 115,0,0,0,41,3,90,10,101,120,116,101,110,115,105,111, ++ 110,115,90,6,115,111,117,114,99,101,90,8,98,121,116,101, ++ 99,111,100,101,114,8,0,0,0,114,8,0,0,0,114,9, ++ 0,0,0,114,209,0,0,0,124,6,0,0,115,8,0,0, ++ 0,12,5,8,1,8,1,10,1,114,209,0,0,0,99,1, ++ 0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1, ++ 0,0,0,67,0,0,0,115,8,0,0,0,124,0,97,0, ++ 100,0,83,0,114,71,0,0,0,41,1,114,160,0,0,0, ++ 41,1,218,17,95,98,111,111,116,115,116,114,97,112,95,109, ++ 111,100,117,108,101,114,8,0,0,0,114,8,0,0,0,114, ++ 9,0,0,0,218,21,95,115,101,116,95,98,111,111,116,115, ++ 116,114,97,112,95,109,111,100,117,108,101,135,6,0,0,115, ++ 2,0,0,0,8,2,114,117,1,0,0,99,1,0,0,0, ++ 0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0, ++ 67,0,0,0,115,50,0,0,0,116,0,124,0,131,1,1, ++ 0,116,1,131,0,125,1,116,2,106,3,160,4,116,5,106, ++ 6,124,1,142,0,103,1,161,1,1,0,116,2,106,7,160, ++ 8,116,9,161,1,1,0,100,1,83,0,41,2,122,41,73, ++ 110,115,116,97,108,108,32,116,104,101,32,112,97,116,104,45, ++ 98,97,115,101,100,32,105,109,112,111,114,116,32,99,111,109, ++ 112,111,110,101,110,116,115,46,78,41,10,114,117,1,0,0, ++ 114,209,0,0,0,114,16,0,0,0,114,84,1,0,0,114, ++ 192,0,0,0,114,95,1,0,0,114,109,1,0,0,218,9, ++ 109,101,116,97,95,112,97,116,104,114,63,0,0,0,114,78, ++ 1,0,0,41,2,114,116,1,0,0,90,17,115,117,112,112, ++ 111,114,116,101,100,95,108,111,97,100,101,114,115,114,8,0, ++ 0,0,114,8,0,0,0,114,9,0,0,0,218,8,95,105, ++ 110,115,116,97,108,108,140,6,0,0,115,8,0,0,0,8, ++ 2,6,1,20,1,16,1,114,119,1,0,0,41,1,114,89, ++ 0,0,0,114,71,0,0,0,41,3,78,78,78,41,2,114, ++ 0,0,0,0,114,0,0,0,0,41,1,84,41,86,114,153, ++ 0,0,0,114,160,0,0,0,114,188,0,0,0,114,93,0, ++ 0,0,114,16,0,0,0,114,101,0,0,0,114,185,0,0, ++ 0,114,27,0,0,0,114,232,0,0,0,90,2,110,116,114, ++ 19,0,0,0,114,216,0,0,0,90,5,112,111,115,105,120, ++ 114,52,0,0,0,114,20,0,0,0,218,3,97,108,108,114, ++ 61,0,0,0,114,137,0,0,0,114,59,0,0,0,114,64, ++ 0,0,0,90,20,95,112,97,116,104,115,101,112,115,95,119, ++ 105,116,104,95,99,111,108,111,110,114,30,0,0,0,90,37, ++ 95,67,65,83,69,95,73,78,83,69,78,83,73,84,73,86, ++ 69,95,80,76,65,84,70,79,82,77,83,95,66,89,84,69, ++ 83,95,75,69,89,114,29,0,0,0,114,31,0,0,0,114, ++ 23,0,0,0,114,38,0,0,0,114,44,0,0,0,114,47, ++ 0,0,0,114,69,0,0,0,114,76,0,0,0,114,77,0, ++ 0,0,114,81,0,0,0,114,82,0,0,0,114,85,0,0, ++ 0,114,88,0,0,0,114,97,0,0,0,218,4,116,121,112, ++ 101,218,8,95,95,99,111,100,101,95,95,114,187,0,0,0, ++ 114,36,0,0,0,114,173,0,0,0,114,35,0,0,0,114, ++ 41,0,0,0,114,9,1,0,0,114,118,0,0,0,114,114, ++ 0,0,0,114,129,0,0,0,114,63,0,0,0,114,115,1, ++ 0,0,114,233,0,0,0,114,115,0,0,0,90,23,68,69, ++ 66,85,71,95,66,89,84,69,67,79,68,69,95,83,85,70, ++ 70,73,88,69,83,90,27,79,80,84,73,77,73,90,69,68, ++ 95,66,89,84,69,67,79,68,69,95,83,85,70,70,73,88, ++ 69,83,114,123,0,0,0,114,130,0,0,0,114,136,0,0, ++ 0,114,138,0,0,0,114,140,0,0,0,114,161,0,0,0, ++ 114,168,0,0,0,114,177,0,0,0,114,181,0,0,0,114, ++ 183,0,0,0,114,190,0,0,0,114,195,0,0,0,114,196, ++ 0,0,0,114,201,0,0,0,218,6,111,98,106,101,99,116, ++ 114,210,0,0,0,114,214,0,0,0,114,215,0,0,0,114, ++ 236,0,0,0,114,250,0,0,0,114,12,1,0,0,114,35, ++ 1,0,0,114,42,1,0,0,114,31,1,0,0,114,48,1, ++ 0,0,114,74,1,0,0,114,78,1,0,0,114,95,1,0, ++ 0,114,114,1,0,0,114,209,0,0,0,114,117,1,0,0, ++ 114,119,1,0,0,114,8,0,0,0,114,8,0,0,0,114, ++ 8,0,0,0,114,9,0,0,0,218,8,60,109,111,100,117, ++ 108,101,62,1,0,0,0,115,184,0,0,0,4,0,4,22, ++ 8,3,8,1,8,1,8,1,8,1,10,3,4,1,8,1, ++ 10,1,8,2,4,3,10,1,6,2,10,2,14,1,22,3, ++ 8,1,8,1,10,1,14,1,4,4,4,1,2,1,2,1, ++ 4,255,8,4,6,16,8,3,8,5,8,5,4,6,10,1, ++ 8,30,8,6,8,8,8,10,8,9,8,5,4,7,10,1, ++ 8,8,10,5,10,22,0,127,16,30,12,1,4,2,4,1, ++ 6,2,4,1,10,1,8,2,6,2,8,2,16,2,8,71, ++ 8,40,8,19,8,12,8,12,8,31,8,20,8,33,8,28, ++ 10,24,10,13,10,10,8,11,6,14,4,3,2,1,12,255, ++ 14,73,14,67,16,30,0,127,14,17,18,50,18,45,18,25, ++ 14,53,14,63,14,49,0,127,14,29,0,127,10,30,8,23, ++ 8,11,12,5, + }; +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0117-distutils-remove-checks-for-ancient-gcc-binutils.patch b/mingw-w64-python3.10/0117-distutils-remove-checks-for-ancient-gcc-binutils.patch new file mode 100644 index 0000000000..1bacc9a0bc --- /dev/null +++ b/mingw-w64-python3.10/0117-distutils-remove-checks-for-ancient-gcc-binutils.patch @@ -0,0 +1,262 @@ +From d25b39355a23aff90bab87dca2b1ecec9838795f Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sun, 7 Nov 2021 23:06:13 +0100 +Subject: [PATCH 117/N] distutils: remove checks for ancient gcc/binutils + +The versions checked here are 20 years old. Also dllwrap +has started to emit a deprecation warning in the latest release +spamming the build logs. + +Fixes #54 + +Signed-off-by: Naveen M K +--- + Lib/distutils/cygwinccompiler.py | 123 +++----------------- + Lib/distutils/tests/test_cygwinccompiler.py | 36 +----- + 2 files changed, 15 insertions(+), 144 deletions(-) + +diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py +index 6a40e80..2804f69 100644 +--- a/Lib/distutils/cygwinccompiler.py ++++ b/Lib/distutils/cygwinccompiler.py +@@ -50,15 +50,13 @@ cygwin in no-cygwin mode). + import os + import sys + import copy +-import re + + from distutils.unixccompiler import UnixCCompiler + from distutils.file_util import write_file + from distutils.errors import (DistutilsExecError, CCompilerError, + CompileError, UnknownFileError) +-from distutils.version import LooseVersion + from distutils.spawn import find_executable +-from subprocess import Popen, PIPE, check_output ++from subprocess import Popen, check_output + + def get_msvcr(): + """Include the appropriate MSVC runtime library if Python was built +@@ -115,33 +113,8 @@ class CygwinCCompiler(UnixCCompiler): + self.cc = os.environ.get('CC', 'gcc') + self.cxx = os.environ.get('CXX', 'g++') + +- if ('gcc' in self.cc): # Start gcc workaround +- self.gcc_version, self.ld_version, self.dllwrap_version = \ +- get_versions() +- self.debug_print(self.compiler_type + ": gcc %s, ld %s, dllwrap %s\n" % +- (self.gcc_version, +- self.ld_version, +- self.dllwrap_version) ) +- +- # ld_version >= "2.10.90" and < "2.13" should also be able to use +- # gcc -mdll instead of dllwrap +- # Older dllwraps had own version numbers, newer ones use the +- # same as the rest of binutils ( also ld ) +- # dllwrap 2.10.90 is buggy +- if self.ld_version >= "2.10.90": +- self.linker_dll = self.cc +- else: +- self.linker_dll = "dllwrap" +- +- # ld_version >= "2.13" support -shared so use it instead of +- # -mdll -static +- if self.ld_version >= "2.13": +- shared_option = "-shared" +- else: +- shared_option = "-mdll -static" +- else: # Assume linker is up to date +- self.linker_dll = self.cc +- shared_option = "-shared" ++ self.linker_dll = self.cc ++ shared_option = "-shared" + + self.set_executables(compiler='%s -mcygwin -O -Wall' % self.cc, + compiler_so='%s -mcygwin -mdll -O -Wall' % self.cc, +@@ -150,17 +123,9 @@ class CygwinCCompiler(UnixCCompiler): + linker_so=('%s -mcygwin %s' % + (self.linker_dll, shared_option))) + +- # cygwin and mingw32 need different sets of libraries +- if ('gcc' in self.cc and self.gcc_version == "2.91.57"): +- # cygwin shouldn't need msvcrt, but without the dlls will crash +- # (gcc version 2.91.57) -- perhaps something about initialization +- self.dll_libraries=["msvcrt"] +- self.warn( +- "Consider upgrading to a newer version of gcc") +- else: +- # Include the appropriate MSVC runtime library if Python was built +- # with MSVC 7.0 or later. +- self.dll_libraries = get_msvcr() ++ # Include the appropriate MSVC runtime library if Python was built ++ # with MSVC 7.0 or later. ++ self.dll_libraries = get_msvcr() + + def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts): + """Compiles the source by spawning GCC and windres if needed.""" +@@ -244,24 +209,17 @@ class CygwinCCompiler(UnixCCompiler): + + # next add options for def-file and to creating import libraries + +- # dllwrap uses different options than gcc/ld +- if self.linker_dll == "dllwrap": +- extra_preargs.extend(["--output-lib", lib_file]) +- # for dllwrap we have to use a special option +- extra_preargs.extend(["--def", def_file]) +- # we use gcc/ld here and can be sure ld is >= 2.9.10 +- else: +- # doesn't work: bfd_close build\...\libfoo.a: Invalid operation +- #extra_preargs.extend(["-Wl,--out-implib,%s" % lib_file]) +- # for gcc/ld the def-file is specified as any object files +- objects.append(def_file) ++ # doesn't work: bfd_close build\...\libfoo.a: Invalid operation ++ #extra_preargs.extend(["-Wl,--out-implib,%s" % lib_file]) ++ # for gcc/ld the def-file is specified as any object files ++ objects.append(def_file) + + #end: if ((export_symbols is not None) and + # (target_desc != self.EXECUTABLE or self.linker_dll == "gcc")): + + # who wants symbols and a many times larger output file + # should explicitly switch the debug mode on +- # otherwise we let dllwrap/ld strip the output file ++ # otherwise we let ld strip the output file + # (On my machine: 10KiB < stripped_file < ??100KiB + # unstripped_file = stripped_file + XXX KiB + # ( XXX=254 for a typical python extension)) +@@ -314,19 +272,7 @@ class Mingw32CCompiler(CygwinCCompiler): + + CygwinCCompiler.__init__ (self, verbose, dry_run, force) + +- # ld_version >= "2.13" support -shared so use it instead of +- # -mdll -static +- if ('gcc' in self.cc and self.ld_version < "2.13"): +- shared_option = "-mdll -static" +- else: +- shared_option = "-shared" +- +- # A real mingw32 doesn't need to specify a different entry point, +- # but cygwin 2.91.57 in no-cygwin-mode needs it. +- if ('gcc' in self.cc and self.gcc_version <= "2.91.57"): +- entry_point = '--entry _DllMain@12' +- else: +- entry_point = '' ++ shared_option = "-shared" + + if is_cygwincc(self.cc): + raise CCompilerError( +@@ -336,9 +282,8 @@ class Mingw32CCompiler(CygwinCCompiler): + compiler_so='%s -mdll -O2 -Wall' % self.cc, + compiler_cxx='%s -O2 -Wall' % self.cxx, + linker_exe='%s' % self.cc, +- linker_so='%s %s %s' +- % (self.linker_dll, shared_option, +- entry_point)) ++ linker_so='%s %s' ++ % (self.linker_dll, shared_option)) + # Maybe we should also append -mthreads, but then the finished + # dlls need another dll (mingwm10.dll see Mingw32 docs) + # (-mthreads: Support thread-safe exception handling on `Mingw32') +@@ -405,46 +350,6 @@ def check_config_h(): + return (CONFIG_H_UNCERTAIN, + "couldn't read '%s': %s" % (fn, exc.strerror)) + +-RE_VERSION = re.compile(br'[\D\s]*(\d+\.\d+(\.\d+)*)[\D\s]*') +- +-def _find_exe_version(cmd): +- """Find the version of an executable by running `cmd` in the shell. +- +- If the command is not found, or the output does not match +- `RE_VERSION`, returns None. +- """ +- executable = cmd.split()[0] +- if find_executable(executable) is None: +- return None +- from subprocess import Popen, PIPE +- out = Popen(cmd, shell=True, stdout=PIPE).stdout +- try: +- out_string = out.read() +- finally: +- out.close() +- result = RE_VERSION.search(out_string) +- if result is None: +- return None +- # LooseVersion works with strings +- # so we need to decode our bytes +- return LooseVersion(result.group(1).decode()) +- +-def get_versions(): +- """ Try to find out the versions of gcc, ld and dllwrap. +- +- If not possible it returns None for it. +- """ +- gcc = os.environ.get('CC') or 'gcc' +- ld = 'ld' +- out = Popen(gcc+' --print-prog-name ld', shell=True, stdout=PIPE).stdout +- try: +- ld = test=str(out.read(),encoding='utf-8').strip() +- finally: +- out.close() +- dllwrap = os.environ.get('DLLWRAP') or 'dllwrap' +- # MinGW64 doesn't have i686-w64-mingw32-ld, so instead we ask gcc. +- commands = [gcc+' -dumpversion', ld+' -v', dllwrap+' --version'] +- return tuple([_find_exe_version(cmd) for cmd in commands]) + + def is_cygwincc(cc): + '''Try to determine if the compiler that would be used is from cygwin.''' +diff --git a/Lib/distutils/tests/test_cygwinccompiler.py b/Lib/distutils/tests/test_cygwinccompiler.py +index 9dc869d..f525ab4 100644 +--- a/Lib/distutils/tests/test_cygwinccompiler.py ++++ b/Lib/distutils/tests/test_cygwinccompiler.py +@@ -8,7 +8,7 @@ from test.support import run_unittest + from distutils import cygwinccompiler + from distutils.cygwinccompiler import (check_config_h, + CONFIG_H_OK, CONFIG_H_NOTOK, +- CONFIG_H_UNCERTAIN, get_versions, ++ CONFIG_H_UNCERTAIN, + get_msvcr) + from distutils.tests import support + +@@ -81,40 +81,6 @@ class CygwinCCompilerTestCase(support.TempdirManager, + self.write_file(self.python_h, 'xxx __GNUC__ xxx') + self.assertEqual(check_config_h()[0], CONFIG_H_OK) + +- def test_get_versions(self): +- +- # get_versions calls distutils.spawn.find_executable on +- # 'gcc', 'ld' and 'dllwrap' +- self.assertEqual(get_versions(), (None, None, None)) +- +- # Let's fake we have 'gcc' and it returns '3.4.5' +- self._exes['gcc'] = b'gcc (GCC) 3.4.5 (mingw special)\nFSF' +- res = get_versions() +- self.assertEqual(str(res[0]), '3.4.5') +- +- # and let's see what happens when the version +- # doesn't match the regular expression +- # (\d+\.\d+(\.\d+)*) +- self._exes['gcc'] = b'very strange output' +- res = get_versions() +- self.assertEqual(res[0], None) +- +- # same thing for ld +- self._exes['ld'] = b'GNU ld version 2.17.50 20060824' +- res = get_versions() +- self.assertEqual(str(res[1]), '2.17.50') +- self._exes['ld'] = b'@(#)PROGRAM:ld PROJECT:ld64-77' +- res = get_versions() +- self.assertEqual(res[1], None) +- +- # and dllwrap +- self._exes['dllwrap'] = b'GNU dllwrap 2.17.50 20060824\nFSF' +- res = get_versions() +- self.assertEqual(str(res[2]), '2.17.50') +- self._exes['dllwrap'] = b'Cheese Wrap' +- res = get_versions() +- self.assertEqual(res[2], None) +- + def test_get_msvcr(self): + + # none +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0118-distutils-split-CC-env-var-before-passing-to-subproc.patch b/mingw-w64-python3.10/0118-distutils-split-CC-env-var-before-passing-to-subproc.patch new file mode 100644 index 0000000000..5b5f19b008 --- /dev/null +++ b/mingw-w64-python3.10/0118-distutils-split-CC-env-var-before-passing-to-subproc.patch @@ -0,0 +1,38 @@ +From 8dde5997e697370d1b9e7febd79eb1b40930b8c2 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sun, 7 Nov 2021 23:12:10 +0100 +Subject: [PATCH 118/N] distutils: split CC env var before passing to + subprocess + +In case CC="ccache gcc" then subprocess would interpret it as one command +and fail to find it. Instead split the command line into separate arguments. + +Fixes #53 + +Signed-off-by: Naveen M K +--- + Lib/distutils/cygwinccompiler.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py +index 2804f69..6e22555 100644 +--- a/Lib/distutils/cygwinccompiler.py ++++ b/Lib/distutils/cygwinccompiler.py +@@ -50,6 +50,7 @@ cygwin in no-cygwin mode). + import os + import sys + import copy ++import shlex + + from distutils.unixccompiler import UnixCCompiler + from distutils.file_util import write_file +@@ -353,5 +354,5 @@ def check_config_h(): + + def is_cygwincc(cc): + '''Try to determine if the compiler that would be used is from cygwin.''' +- out_string = check_output([cc, '-dumpmachine']) ++ out_string = check_output(shlex.split(cc) + ['-dumpmachine']) + return out_string.strip().endswith(b'cygwin') +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0119-_testconsole.c-Fix-casing-path-sep.patch b/mingw-w64-python3.10/0119-_testconsole.c-Fix-casing-path-sep.patch new file mode 100644 index 0000000000..9c74965c3c --- /dev/null +++ b/mingw-w64-python3.10/0119-_testconsole.c-Fix-casing-path-sep.patch @@ -0,0 +1,35 @@ +From b2ff1b79447c6b6cc7008dc5ee013e272ea791b8 Mon Sep 17 00:00:00 2001 +From: Long Nguyen +Date: Sun, 14 Nov 2021 14:55:35 +0700 +Subject: [PATCH 119/N] _testconsole.c: Fix casing & path sep + +Signed-off-by: Naveen M K +--- + PC/_testconsole.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/PC/_testconsole.c b/PC/_testconsole.c +index db84f73..eecf2f9 100644 +--- a/PC/_testconsole.c ++++ b/PC/_testconsole.c +@@ -6,7 +6,7 @@ + + #ifdef MS_WINDOWS + +-#include "..\modules\_io\_iomodule.h" ++#include "../Modules/_io/_iomodule.h" + + #define WIN32_LEAN_AND_MEAN + #include +@@ -104,7 +104,7 @@ _testconsole_read_output_impl(PyObject *module, PyObject *file) + Py_RETURN_NONE; + } + +-#include "clinic\_testconsole.c.h" ++#include "clinic/_testconsole.c.h" + + PyMethodDef testconsole_methods[] = { + _TESTCONSOLE_WRITE_INPUT_METHODDEF +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0120-Return-consistent-architecture-markers-for-python-on.patch b/mingw-w64-python3.10/0120-Return-consistent-architecture-markers-for-python-on.patch new file mode 100644 index 0000000000..e1f41d6e34 --- /dev/null +++ b/mingw-w64-python3.10/0120-Return-consistent-architecture-markers-for-python-on.patch @@ -0,0 +1,70 @@ +From a3fb8f22fa722dfcefb8602f7bb2758afc2398d7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Storsj=C3=B6?= +Date: Fri, 19 Nov 2021 12:18:06 +0200 +Subject: [PATCH 120/N] Return consistent architecture markers for python on + mingw/armv7 + +Signed-off-by: Naveen M K +--- + Lib/distutils/util.py | 2 ++ + Lib/sysconfig.py | 2 ++ + Python/getcompiler.c | 2 ++ + configure.ac | 3 +++ + 4 files changed, 9 insertions(+) + +diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py +index 28e623b..81626b3 100644 +--- a/Lib/distutils/util.py ++++ b/Lib/distutils/util.py +@@ -47,6 +47,8 @@ def get_host_platform(): + return 'mingw_x86_64_clang' + if 'arm64' in sys.version.lower(): + return 'mingw_aarch64' ++ if 'arm' in sys.version.lower(): ++ return 'mingw_armv7' + return 'mingw_i686_clang' + if 'amd64' in sys.version.lower(): + return 'mingw_x86_64' +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py +index 6b2ab19..03939d8 100644 +--- a/Lib/sysconfig.py ++++ b/Lib/sysconfig.py +@@ -731,6 +731,8 @@ def get_platform(): + return 'mingw_x86_64_clang' + if 'arm64' in sys.version.lower(): + return 'mingw_aarch64' ++ if 'arm' in sys.version.lower(): ++ return 'mingw_armv7' + return 'mingw_i686_clang' + if 'amd64' in sys.version.lower(): + return 'mingw_x86_64' +diff --git a/Python/getcompiler.c b/Python/getcompiler.c +index 275f799..4b0b9b3 100644 +--- a/Python/getcompiler.c ++++ b/Python/getcompiler.c +@@ -20,6 +20,8 @@ + #define ARCH_SUFFIX " 64 bit (AMD64)" + #elif defined(__aarch64__) + #define ARCH_SUFFIX " 64 bit (ARM64)" ++#elif defined(__arm__) ++#define ARCH_SUFFIX " 32 bit (ARM)" + #else + #define ARCH_SUFFIX " 32 bit" + #endif +diff --git a/configure.ac b/configure.ac +index 9538ba6..79e5793 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -5195,6 +5195,9 @@ case $host_os in + aarch64-*-mingw*) + PYD_PLATFORM_TAG+="mingw_aarch64" + ;; ++ armv7-*-mingw*) ++ PYD_PLATFORM_TAG+="mingw_armv7" ++ ;; + esac + AC_MSG_RESULT($PYD_PLATFORM_TAG) + esac +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0121-distutils-add-back-gcc_version.patch b/mingw-w64-python3.10/0121-distutils-add-back-gcc_version.patch new file mode 100644 index 0000000000..1ff1e475f3 --- /dev/null +++ b/mingw-w64-python3.10/0121-distutils-add-back-gcc_version.patch @@ -0,0 +1,40 @@ +From cd29814a5a3be1967f514fc79262297e960d1498 Mon Sep 17 00:00:00 2001 +From: Christoph Reiter +Date: Sun, 21 Nov 2021 14:00:06 +0100 +Subject: [PATCH 121/N] distutils: add back gcc_version + +older numpy depends on it and there are users building it directly via pip + +Signed-off-by: Naveen M K +--- + Lib/distutils/cygwinccompiler.py | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/Lib/distutils/cygwinccompiler.py b/Lib/distutils/cygwinccompiler.py +index 6e22555..d8c8428 100644 +--- a/Lib/distutils/cygwinccompiler.py ++++ b/Lib/distutils/cygwinccompiler.py +@@ -56,6 +56,7 @@ from distutils.unixccompiler import UnixCCompiler + from distutils.file_util import write_file + from distutils.errors import (DistutilsExecError, CCompilerError, + CompileError, UnknownFileError) ++from distutils.version import LooseVersion + from distutils.spawn import find_executable + from subprocess import Popen, check_output + +@@ -114,6 +115,12 @@ class CygwinCCompiler(UnixCCompiler): + self.cc = os.environ.get('CC', 'gcc') + self.cxx = os.environ.get('CXX', 'g++') + ++ # Older numpy dependend on this existing to check for ancient ++ # gcc versions. This doesn't make much sense with clang etc so ++ # just hardcode to something recent. ++ # https://github.com/numpy/numpy/pull/20333 ++ self.gcc_version = LooseVersion("11.2.0") ++ + self.linker_dll = self.cc + shared_option = "-shared" + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0122-fix-mingw-cross-compiling-in-setup.py.patch b/mingw-w64-python3.10/0122-fix-mingw-cross-compiling-in-setup.py.patch new file mode 100644 index 0000000000..2e8fa310b1 --- /dev/null +++ b/mingw-w64-python3.10/0122-fix-mingw-cross-compiling-in-setup.py.patch @@ -0,0 +1,49 @@ +From e4efd6db37806087bfbf60193aee824695fec60c Mon Sep 17 00:00:00 2001 +From: jeremyd2019 +Date: Mon, 22 Nov 2021 13:15:12 -0800 +Subject: [PATCH 122/N] fix mingw cross compiling in setup.py + +gcc outputs with `;` path delimiter on mingw, so use `os.pathsep` instead of `:` (assuming this is a host rather than target decision) + +clang does not output `LIBRARY_PATH` with `-E -v`, so add an extra call to `-print-search-dirs` to find its library path. + +Signed-off-by: Naveen M K +--- + setup.py | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +diff --git a/setup.py b/setup.py +index 67e290a..6285996 100644 +--- a/setup.py ++++ b/setup.py +@@ -786,14 +786,25 @@ class PyBuildExt(build_ext): + elif line.startswith("End of search list"): + in_incdirs = False + elif (is_gcc or is_clang) and line.startswith("LIBRARY_PATH"): +- for d in line.strip().split("=")[1].split(":"): ++ for d in line.strip().split("=")[1].split(os.pathsep): + d = os.path.normpath(d) +- if '/gcc/' not in d: ++ if '/gcc/' not in d and '/clang/' not in d: + add_dir_to_list(self.compiler.library_dirs, + d) + elif (is_gcc or is_clang) and in_incdirs and '/gcc/' not in line and '/clang/' not in line: + add_dir_to_list(self.compiler.include_dirs, + line.strip()) ++ if is_clang: ++ ret = run_command('%s -print-search-dirs >%s' % (cc, tmpfile)) ++ if ret == 0: ++ with open(tmpfile) as fp: ++ for line in fp.readlines(): ++ if line.startswith("libraries:"): ++ for d in line.strip().split("=")[1].split(os.pathsep): ++ d = os.path.normpath(d) ++ if '/gcc/' not in d and '/clang/' not in d: ++ add_dir_to_list(self.compiler.library_dirs, ++ d) + finally: + os.unlink(tmpfile) + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0123-Use-actions-setup-python-for-setting-up-correct-vers.patch b/mingw-w64-python3.10/0123-Use-actions-setup-python-for-setting-up-correct-vers.patch new file mode 100644 index 0000000000..2ad24b548c --- /dev/null +++ b/mingw-w64-python3.10/0123-Use-actions-setup-python-for-setting-up-correct-vers.patch @@ -0,0 +1,40 @@ +From 11d06c3d15613963b6a057393a316794b228438b Mon Sep 17 00:00:00 2001 +From: Naveen M K +Date: Fri, 21 Jan 2022 19:25:44 +0530 +Subject: [PATCH 123/N] Use actions/setup-python for setting up correct + version in cross build + +Fixes https://github.com/msys2-contrib/cpython-mingw/issues/67 + +(Updated for python 3.10) + +Signed-off-by: Naveen M K +--- + .github/workflows/mingw.yml | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/.github/workflows/mingw.yml b/.github/workflows/mingw.yml +index eb27adc..781b933 100644 +--- a/.github/workflows/mingw.yml ++++ b/.github/workflows/mingw.yml +@@ -162,7 +162,16 @@ jobs: + - name: Install deps + run: | + pacman --noconfirm -Suuy +- pacman --needed --noconfirm -S mingw-w64-gcc autoconf-archive autoconf automake python zip ++ pacman --needed --noconfirm -S mingw-w64-gcc autoconf-archive autoconf automake zip ++ ++ - uses: actions/setup-python@v2 ++ with: ++ python-version: '3.10' ++ ++ - name: Check Python Version ++ run: | ++ which python ++ python --version + + - name: Build + run: | +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0124-Fix-buffer-overflow-in-Py_GetSepW.patch b/mingw-w64-python3.10/0124-Fix-buffer-overflow-in-Py_GetSepW.patch new file mode 100644 index 0000000000..0842fb5491 --- /dev/null +++ b/mingw-w64-python3.10/0124-Fix-buffer-overflow-in-Py_GetSepW.patch @@ -0,0 +1,66 @@ +From 8301f689091bc330afa5aed5825a6dd58f919449 Mon Sep 17 00:00:00 2001 +From: cat +Date: Sat, 11 Dec 2021 14:21:07 +0500 +Subject: [PATCH 124/N] Fix buffer overflow in Py_GetSepW(). + +Signed-off-by: Naveen M K +--- + Python/pathconfig.c | 28 ++++++++++++++++++++++++++-- + 1 file changed, 26 insertions(+), 2 deletions(-) + +diff --git a/Python/pathconfig.c b/Python/pathconfig.c +index 3e7a1c5..15ffaa2 100644 +--- a/Python/pathconfig.c ++++ b/Python/pathconfig.c +@@ -20,6 +20,30 @@ extern "C" { + #include + #endif + ++static int ++Py_StartsWithA(const char * str, const char * prefix) ++{ ++ while(*prefix) ++ { ++ if(*prefix++ != *str++) ++ return 0; ++ } ++ ++ return 1; ++} ++ ++static int ++Py_StartsWithW(const wchar_t * str, const wchar_t * prefix) ++{ ++ while(*prefix) ++ { ++ if(*prefix++ != *str++) ++ return 0; ++ } ++ ++ return 1; ++} ++ + char + Py_GetSepA(const char *name) + { +@@ -30,7 +54,7 @@ Py_GetSepA(const char *name) + * The "\\?\" prefix .. indicate that the path should be passed to the system with minimal + * modification, which means that you cannot use forward slashes to represent path separators + */ +- if (name != NULL && memcmp(name, "\\\\?\\", sizeof("\\\\?\\") - sizeof(char)) == 0) ++ if (name != NULL && Py_StartsWithA(name, "\\\\?\\") != 0) + { + return '\\'; + } +@@ -82,7 +106,7 @@ Py_GetSepW(const wchar_t *name) + * The "\\?\" prefix .. indicate that the path should be passed to the system with minimal + * modification, which means that you cannot use forward slashes to represent path separators + */ +- if (name != NULL && memcmp(name, L"\\\\?\\", sizeof(L"\\\\?\\") - sizeof(wchar_t)) == 0) ++ if (name != NULL && Py_StartsWithW(name, L"\\\\?\\") != 0) + { + return L'\\'; + } +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0125-Remove-unnecessary-strlen-in-Py_NormalizeSepsW.patch b/mingw-w64-python3.10/0125-Remove-unnecessary-strlen-in-Py_NormalizeSepsW.patch new file mode 100644 index 0000000000..6702fef603 --- /dev/null +++ b/mingw-w64-python3.10/0125-Remove-unnecessary-strlen-in-Py_NormalizeSepsW.patch @@ -0,0 +1,43 @@ +From b21ef8bae4ed5026d0497e67ba90c958946bfc35 Mon Sep 17 00:00:00 2001 +From: cat +Date: Sat, 11 Dec 2021 14:23:29 +0500 +Subject: [PATCH 125/N] Remove unnecessary strlen() in Py_NormalizeSepsW(). + +Signed-off-by: Naveen M K +--- + Python/pathconfig.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/Python/pathconfig.c b/Python/pathconfig.c +index 15ffaa2..bb8d33d 100644 +--- a/Python/pathconfig.c ++++ b/Python/pathconfig.c +@@ -83,10 +83,11 @@ Py_GetAltSepA(const char *name) + void + Py_NormalizeSepsA(char *name) + { ++ assert(name != NULL); + char sep = Py_GetSepA(name); + char altsep = Py_GetAltSepA(name); + char* seps; +- if (strlen(name) > 1 && name[1] == ':') { ++ if (name[0] != '\0' && name[1] == ':') { + name[0] = toupper(name[0]); + } + seps = strchr(name, altsep); +@@ -135,10 +136,11 @@ Py_GetAltSepW(const wchar_t *name) + void + Py_NormalizeSepsW(wchar_t *name) + { ++ assert(name != NULL); + wchar_t sep = Py_GetSepW(name); + wchar_t altsep = Py_GetAltSepW(name); + wchar_t* seps; +- if (wcslen(name) > 1 && name[1] == L':') { ++ if (name[0] != L'\0' && name[1] == L':') { + name[0] = towupper(name[0]); + } + seps = wcschr(name, altsep); +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0126-handle-ncursesw-pkg-config-when-cross-compiling.patch b/mingw-w64-python3.10/0126-handle-ncursesw-pkg-config-when-cross-compiling.patch new file mode 100644 index 0000000000..cb9cb87165 --- /dev/null +++ b/mingw-w64-python3.10/0126-handle-ncursesw-pkg-config-when-cross-compiling.patch @@ -0,0 +1,65 @@ +From 911ee4af060e06aca27f603034fe55bc593610dd Mon Sep 17 00:00:00 2001 +From: jeremyd2019 +Date: Mon, 22 Nov 2021 16:04:41 -0800 +Subject: [PATCH 126/N] handle ncursesw pkg-config when cross-compiling + +strip extra args from pkg-config --cflags-only-I, setup.py is only expecting a single path. + +Use pkg-config ncursesw include dir even if cross-compiling (PKG_CONFIG_PATH should be set in that case). + +Signed-off-by: Naveen M K +--- + configure.ac | 8 +++----- + setup.py | 3 +-- + 2 files changed, 4 insertions(+), 7 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 79e5793..f442420 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3379,7 +3379,7 @@ else + fi + + if test "$with_system_ffi" = "yes" && test -n "$PKG_CONFIG"; then +- LIBFFI_INCLUDEDIR="`"$PKG_CONFIG" libffi --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ *$//'`" ++ LIBFFI_INCLUDEDIR="`"$PKG_CONFIG" libffi --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ .*$//'`" + else + LIBFFI_INCLUDEDIR="" + fi +@@ -5631,7 +5631,7 @@ then + fi + + if test -n "$PKG_CONFIG"; then +- NCURSESW_INCLUDEDIR="`"$PKG_CONFIG" ncursesw --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ *$//'`" ++ NCURSESW_INCLUDEDIR="`"$PKG_CONFIG" ncursesw --cflags-only-I 2>/dev/null | sed -e 's/^-I//;s/ .*$//'`" + else + NCURSESW_INCLUDEDIR="" + fi +@@ -5639,9 +5639,7 @@ AC_SUBST(NCURSESW_INCLUDEDIR) + + # first curses header check + ac_save_cppflags="$CPPFLAGS" +-if test "$cross_compiling" = no; then +- CPPFLAGS="$CPPFLAGS -I$NCURSESW_INCLUDEDIR" +-fi ++CPPFLAGS="$CPPFLAGS -I$NCURSESW_INCLUDEDIR" + + AC_CHECK_HEADERS(curses.h ncurses.h) + +diff --git a/setup.py b/setup.py +index 6285996..f19c4e3 100644 +--- a/setup.py ++++ b/setup.py +@@ -1202,8 +1202,7 @@ class PyBuildExt(build_ext): + panel_library = 'panel' + if curses_library == 'ncursesw': + curses_defines.append(('HAVE_NCURSESW', '1')) +- if not CROSS_COMPILING: +- curses_includes.append(sysconfig.get_config_var("NCURSESW_INCLUDEDIR")) ++ curses_includes.append(sysconfig.get_config_var("NCURSESW_INCLUDEDIR")) + # Bug 1464056: If _curses.so links with ncursesw, + # _curses_panel.so must link with panelw. + panel_library = 'panelw' +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0127-CI-add-cross-llvm-mingw-jobs.patch b/mingw-w64-python3.10/0127-CI-add-cross-llvm-mingw-jobs.patch new file mode 100644 index 0000000000..a90de3e798 --- /dev/null +++ b/mingw-w64-python3.10/0127-CI-add-cross-llvm-mingw-jobs.patch @@ -0,0 +1,124 @@ +From c331b79b64c9953f26f5863e547f32c3804539d1 Mon Sep 17 00:00:00 2001 +From: Jeremy Drake +Date: Fri, 21 Jan 2022 17:47:04 -0800 +Subject: [PATCH 127/N] CI: add cross llvm-mingw jobs + +Signed-off-by: Naveen M K +--- + .github/workflows/mingw.yml | 85 ++++++++++++++++++++++++++++++++++--- + 1 file changed, 80 insertions(+), 5 deletions(-) + +diff --git a/.github/workflows/mingw.yml b/.github/workflows/mingw.yml +index 781b933..4c45aeb 100644 +--- a/.github/workflows/mingw.yml ++++ b/.github/workflows/mingw.yml +@@ -153,7 +153,7 @@ jobs: + name: build-${{ matrix.msystem }} + path: _build/python.tar.gz + +- cross: ++ cross-gcc-x86_64: + runs-on: ubuntu-latest + container: + image: archlinux:base-devel +@@ -201,18 +201,93 @@ jobs: + - name: Upload + uses: actions/upload-artifact@v2 + with: +- name: build-cross ++ name: build-cross-gcc-x86_64 + path: install.zip + +- cross-test: +- needs: [cross] ++ cross-gcc-x86_64-test: ++ needs: [cross-gcc-x86_64] + runs-on: windows-latest + steps: + - uses: actions/download-artifact@v2 + with: +- name: build-cross ++ name: build-cross-gcc-x86_64 + + - name: 'Run tests' + run: | + 7z x install.zip + ./_build/install/usr/local/bin/python3.exe -c "import sysconfig, pprint; pprint.pprint(sysconfig.get_config_vars())" ++ ++ ++ cross-llvm-mingw: ++ runs-on: ubuntu-18.04 ++ container: ++ image: mstorsjo/llvm-mingw:latest ++ strategy: ++ matrix: ++ arch: ['x86_64', 'i686', 'aarch64', 'armv7'] ++ steps: ++ - uses: actions/checkout@v2 ++ - name: Install deps ++ run: | ++ apt-get update -qq ++ apt-get install -qqy autoconf-archive ++ ++ - uses: actions/setup-python@v2 ++ with: ++ python-version: '3.10' ++ ++ - name: Check Python Version ++ run: | ++ which python ++ python --version ++ ++ - name: Build ++ run: | ++ autoreconf -vfi ++ ++ mkdir _build && cd _build ++ ++ export CC=${{ matrix.arch }}-w64-mingw32-clang ++ export CXX=${CC}++ ++ ../configure \ ++ --host=${{ matrix.arch }}-w64-mingw32 \ ++ --build=x86_64-pc-linux-gnu \ ++ --enable-shared \ ++ --with-system-expat \ ++ --with-system-ffi \ ++ --with-system-libmpdec \ ++ --without-ensurepip \ ++ --without-c-locale-coercion \ ++ --enable-loadable-sqlite-extensions ++ ++ make -j8 ++ ++ make install DESTDIR="$(pwd)/install" ++ ++ - name: 'Zip files' ++ run: | ++ zip -r install.zip _build/install ++ ++ - name: Upload ++ uses: actions/upload-artifact@v2 ++ with: ++ name: build-cross-llvm-mingw-${{ matrix.arch }} ++ path: install.zip ++ ++ cross-llvm-mingw-test: ++ needs: [cross-llvm-mingw] ++ runs-on: windows-latest ++ strategy: ++ matrix: ++ arch: ['x86_64', 'i686'] ++ steps: ++ - uses: actions/download-artifact@v2 ++ with: ++ name: build-cross-llvm-mingw-${{ matrix.arch }} ++ ++ - name: 'Run tests' ++ run: | ++ 7z x install.zip ++ ./_build/install/usr/local/bin/python3.exe -c "import sysconfig, pprint; pprint.pprint(sysconfig.get_config_vars())" ++ ++ +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0128-fixup-Define-PY3_DLLNAME-to-fix-build.patch b/mingw-w64-python3.10/0128-fixup-Define-PY3_DLLNAME-to-fix-build.patch new file mode 100644 index 0000000000..e0c328a0db --- /dev/null +++ b/mingw-w64-python3.10/0128-fixup-Define-PY3_DLLNAME-to-fix-build.patch @@ -0,0 +1,26 @@ +From 931aa351e8f35c19635dabdfdc8660d9963635da Mon Sep 17 00:00:00 2001 +From: Jeremy Drake +Date: Fri, 21 Jan 2022 22:52:36 -0800 +Subject: [PATCH 128/N] fixup! Define PY3_DLLNAME to fix build + +Signed-off-by: Naveen M K +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index f442420..3a69478 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3961,7 +3961,7 @@ then + *-*-mingw*) + DYNLOADFILE="dynload_win.o" + extra_machdep_objs="$extra_machdep_objs PC/dl_nt.o" +- CFLAGS_NODIST="$CFLAGS_NODIST -DMS_DLL_ID='\"$VERSION\"' -DPY3_DLLNAME='\"libpython3.dll\"'" ++ CFLAGS_NODIST="$CFLAGS_NODIST -DMS_DLL_ID='\"$VERSION\"' -DPY3_DLLNAME='L\"$DLLLIBRARY\"'" + ;; + esac + fi +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0129-Skip-building-c-extensions-if-python-is-running-in-b.patch b/mingw-w64-python3.10/0129-Skip-building-c-extensions-if-python-is-running-in-b.patch new file mode 100644 index 0000000000..99037c62bb --- /dev/null +++ b/mingw-w64-python3.10/0129-Skip-building-c-extensions-if-python-is-running-in-b.patch @@ -0,0 +1,32 @@ +From 2f3cb98e435e6bf104d86d78d045bb66f07b50c9 Mon Sep 17 00:00:00 2001 +From: Naveen M K +Date: Fri, 21 Jan 2022 20:50:25 +0530 +Subject: [PATCH 129/N] Skip building c-extensions if python is running in + build tree + +Signed-off-by: Naveen M K +--- + mingw_smoketests.py | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/mingw_smoketests.py b/mingw_smoketests.py +index 527aafb..2c5e2a0 100644 +--- a/mingw_smoketests.py ++++ b/mingw_smoketests.py +@@ -226,6 +226,13 @@ class Tests(unittest.TestCase): + import textwrap + from pathlib import Path + ++ if sysconfig.is_python_build(): ++ # we are running this test without installing and is known ++ # to cause errors with building c-extensions ++ # so we are skipping this test ++ raise unittest.SkipTest("Skipping test as building c-extension isn't supported \ ++ without installing python") ++ + with tempfile.TemporaryDirectory() as tmppro: + subprocess.check_call([sys.executable, "-m", "ensurepip", "--user"]) + with Path(tmppro, "setup.py").open("w") as f: +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0130-mingw_smoketests-fix-_UCRT-condition.patch b/mingw-w64-python3.10/0130-mingw_smoketests-fix-_UCRT-condition.patch new file mode 100644 index 0000000000..c741d1bc0c --- /dev/null +++ b/mingw-w64-python3.10/0130-mingw_smoketests-fix-_UCRT-condition.patch @@ -0,0 +1,28 @@ +From ecb8ff960cb41e55ed298749016415665f4f08d5 Mon Sep 17 00:00:00 2001 +From: jeremyd2019 +Date: Sat, 22 Jan 2022 11:33:00 -0800 +Subject: [PATCH 130/N] mingw_smoketests: fix _UCRT condition + +The prior detection missed ARM (32 and 64) being UCRT. Since there are fewer non-UCRT platforms, list those two instead of trying to extend the list of UCRT. + +Signed-off-by: Naveen M K +--- + mingw_smoketests.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mingw_smoketests.py b/mingw_smoketests.py +index 2c5e2a0..15356fd 100644 +--- a/mingw_smoketests.py ++++ b/mingw_smoketests.py +@@ -34,7 +34,7 @@ if "MSYSTEM" in os.environ: + else: + SEP = "\\" + +-_UCRT = "clang" in sysconfig.get_platform() or "ucrt" in sysconfig.get_platform() ++_UCRT = sysconfig.get_platform() not in ('mingw_x86_64', 'mingw_i686') + + + class Tests(unittest.TestCase): +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0131-CI-fix-sed-pattern-for-python-config.py-shebang.patch b/mingw-w64-python3.10/0131-CI-fix-sed-pattern-for-python-config.py-shebang.patch new file mode 100644 index 0000000000..08d1324d24 --- /dev/null +++ b/mingw-w64-python3.10/0131-CI-fix-sed-pattern-for-python-config.py-shebang.patch @@ -0,0 +1,28 @@ +From dd4c87371da2f4f93f2203fb9d2e0ab2d429559b Mon Sep 17 00:00:00 2001 +From: jeremyd2019 +Date: Sat, 22 Jan 2022 12:08:33 -0800 +Subject: [PATCH 131/N] CI: fix sed pattern for python-config.py shebang + +The shebang (`#!`) does not include `${pkgdir}` so this sed did nothing + +Signed-off-by: Naveen M K +--- + .github/workflows/mingw.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.github/workflows/mingw.yml b/.github/workflows/mingw.yml +index 4c45aeb..2ba48e7 100644 +--- a/.github/workflows/mingw.yml ++++ b/.github/workflows/mingw.yml +@@ -120,7 +120,7 @@ jobs: + 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 +- sed -i "s|#!${pkgdir}${MINGW_PREFIX}/bin/python${_pybasever}.exe|#!/usr/bin/env python${_pybasever}.exe|" "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/config-${_pybasever}/python-config.py ++ sed -i "s|#!${MINGW_PREFIX}/bin/python${_pybasever}.exe|#!/usr/bin/env python${_pybasever}.exe|" "${pkgdir}${MINGW_PREFIX}"/lib/python${_pybasever}/config-${_pybasever}/python-config.py + + # Create version-less aliases + cp "${pkgdir}${MINGW_PREFIX}"/bin/python3.exe "${pkgdir}${MINGW_PREFIX}"/bin/python.exe +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0132-Modify-sys.winver-to-match-upstream.patch b/mingw-w64-python3.10/0132-Modify-sys.winver-to-match-upstream.patch new file mode 100644 index 0000000000..897a14d936 --- /dev/null +++ b/mingw-w64-python3.10/0132-Modify-sys.winver-to-match-upstream.patch @@ -0,0 +1,74 @@ +From 70b6164a3432fe464db7f4dd9823a9e7017b7c41 Mon Sep 17 00:00:00 2001 +From: Naveen M K +Date: Wed, 19 Jan 2022 19:39:20 +0530 +Subject: [PATCH 132/N] Modify `sys.winver` to match upstream + +With this change `sys.winver` will add the Arch for which +python was compiled on, for example in 32-bits, `sys.winver` +will be `3.10-32`, for arm32 it would be `3.10-arm32` and +so on. + +See https://github.com/msys2-contrib/cpython-mingw/issues/40 + +Signed-off-by: Naveen M K +--- + configure.ac | 22 ++++++++++++++++++---- + mingw_smoketests.py | 9 ++++++++- + 2 files changed, 26 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 3a69478..05992b3 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3959,10 +3959,24 @@ then + esac + case $host in + *-*-mingw*) +- DYNLOADFILE="dynload_win.o" +- extra_machdep_objs="$extra_machdep_objs PC/dl_nt.o" +- CFLAGS_NODIST="$CFLAGS_NODIST -DMS_DLL_ID='\"$VERSION\"' -DPY3_DLLNAME='L\"$DLLLIBRARY\"'" +- ;; ++ DYNLOADFILE="dynload_win.o" ++ extra_machdep_objs="$extra_machdep_objs PC/dl_nt.o" ++ CFLAGS_NODIST="$CFLAGS_NODIST -DPY3_DLLNAME='L\"$DLLLIBRARY\"'" ++ case $host in ++ i686*) ++ CFLAGS_NODIST="$CFLAGS_NODIST -DMS_DLL_ID='\"${VERSION}-32\"'" ++ ;; ++ armv7*) ++ CFLAGS_NODIST="$CFLAGS_NODIST -DMS_DLL_ID='\"${VERSION}-arm32\"'" ++ ;; ++ aarch64*) ++ CFLAGS_NODIST="$CFLAGS_NODIST -DMS_DLL_ID='\"${VERSION}-arm64\"'" ++ ;; ++ *) ++ CFLAGS_NODIST="$CFLAGS_NODIST -DMS_DLL_ID='\"$VERSION\"'" ++ ;; ++ esac ++ ;; + esac + fi + AC_MSG_RESULT($DYNLOADFILE) +diff --git a/mingw_smoketests.py b/mingw_smoketests.py +index 15356fd..8e4bd50 100644 +--- a/mingw_smoketests.py ++++ b/mingw_smoketests.py +@@ -214,7 +214,14 @@ class Tests(unittest.TestCase): + ext_suffixes = importlib.machinery.EXTENSION_SUFFIXES + self.assertTrue(ext_suffix in ext_suffixes) + self.assertTrue(".pyd" in ext_suffixes) +- self.assertEqual(sys.winver, ".".join(map(str, sys.version_info[:2]))) ++ if sysconfig.get_platform().startswith('mingw_i686'): ++ self.assertEqual(sys.winver, ".".join(map(str, sys.version_info[:2])) + '-32') ++ elif sysconfig.get_platform().startswith('mingw_aarch64'): ++ self.assertEqual(sys.winver, ".".join(map(str, sys.version_info[:2])) + '-arm64') ++ elif sysconfig.get_platform().startswith('mingw_armv7'): ++ self.assertEqual(sys.winver, ".".join(map(str, sys.version_info[:2])) + '-arm32') ++ else: ++ self.assertEqual(sys.winver, ".".join(map(str, sys.version_info[:2]))) + self.assertEqual(platform.python_implementation(), "CPython") + self.assertEqual(platform.system(), "Windows") + self.assertTrue(isinstance(sys.api_version, int) and sys.api_version > 0) +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0133-Change-user-site-packages-path-to-include-the-enviro.patch b/mingw-w64-python3.10/0133-Change-user-site-packages-path-to-include-the-enviro.patch new file mode 100644 index 0000000000..5076adf76c --- /dev/null +++ b/mingw-w64-python3.10/0133-Change-user-site-packages-path-to-include-the-enviro.patch @@ -0,0 +1,155 @@ +From aef3887718ed1ab80610ee6ddf007925e4687ed6 Mon Sep 17 00:00:00 2001 +From: Naveen M K +Date: Wed, 19 Jan 2022 20:01:45 +0530 +Subject: [PATCH 133/N] Change user site-packages path to include the + environment info + +This should avoid mixing of user site-packages between python +from various environments. Previously, the user site-packages +should be located at `~/.local/lib/python3.10` for all environment +including 32-bits variants which caused problems with 64-bit trying to +load 32-bit extensions. Now this path will be changed to +`~/.local/lib/python3.10-`, for example, in +CLANG64 this would be `~/.local/lib/python3.10-mingw_x86_64_clang`. + +Fixes https://github.com/msys2-contrib/cpython-mingw/issues/40 + +Signed-off-by: Naveen M K +--- + Lib/distutils/command/install.py | 5 +++-- + Lib/site.py | 28 +++++++++++++++++++++++++--- + Lib/sysconfig.py | 26 +++++++++++++++----------- + 3 files changed, 43 insertions(+), 16 deletions(-) + +diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py +index d5e340a..1132ef5 100644 +--- a/Lib/distutils/command/install.py ++++ b/Lib/distutils/command/install.py +@@ -72,7 +72,7 @@ if HAS_USER_SITE: + INSTALL_SCHEMES['nt_user'] = { + 'purelib': '$usersite', + 'platlib': '$usersite', +- 'headers': '$userbase/include/python$py_version_short$abiflags/$dist_name', ++ 'headers': '$userbase/include/python$py_version_short_plat$abiflags/$dist_name', + 'scripts': '$userbase/bin', + 'data' : '$userbase', + } +@@ -81,7 +81,7 @@ if HAS_USER_SITE: + 'purelib': '$usersite', + 'platlib': '$usersite', + 'headers': +- '$userbase/include/python$py_version_short$abiflags/$dist_name', ++ '$userbase/include/python$py_version_short_plat$abiflags/$dist_name', + 'scripts': '$userbase/bin', + 'data' : '$userbase', + } +@@ -311,6 +311,7 @@ class install(Command): + 'py_version': py_version, + 'py_version_short': '%d.%d' % sys.version_info[:2], + 'py_version_nodot': '%d%d' % sys.version_info[:2], ++ 'py_version_short_plat': f'{sys.version_info[0]}.{sys.version_info[1]}-{get_platform()}' if os.name == 'nt' and 'gcc' in sys.version.lower() else f'{sys.version_info[0]}.{sys.version_info[1]}', + 'sys_prefix': prefix, + 'prefix': prefix, + 'sys_exec_prefix': exec_prefix, +diff --git a/Lib/site.py b/Lib/site.py +index 49c6ce0..877167b 100644 +--- a/Lib/site.py ++++ b/Lib/site.py +@@ -289,14 +289,36 @@ def _getuserbase(): + + return joinuser("~", ".local") + ++# Copy of sysconfig.get_platform() but only for MinGW ++def _get_platform(): ++ if os.name == 'nt': ++ if 'gcc' in sys.version.lower(): ++ if 'ucrt' in sys.version.lower(): ++ if 'amd64' in sys.version.lower(): ++ return 'mingw_x86_64_ucrt' ++ return 'mingw_i686_ucrt' ++ if 'clang' in sys.version.lower(): ++ if 'amd64' in sys.version.lower(): ++ return 'mingw_x86_64_clang' ++ if 'arm64' in sys.version.lower(): ++ return 'mingw_aarch64' ++ if 'arm' in sys.version.lower(): ++ return 'mingw_armv7' ++ return 'mingw_i686_clang' ++ if 'amd64' in sys.version.lower(): ++ return 'mingw_x86_64' ++ return 'mingw_i686' ++ return sys.platform + + # Same to sysconfig.get_path('purelib', os.name+'_user') + def _get_path(userbase): + version = sys.version_info + +- if os.name == 'nt' and not _POSIX_BUILD: +- ver_nodot = sys.winver.replace('.', '') +- return f'{userbase}\\Python{ver_nodot}\\site-packages' ++ if os.name == 'nt': ++ if not _POSIX_BUILD: ++ ver_nodot = sys.winver.replace('.', '') ++ return f'{userbase}\\Python{ver_nodot}\\site-packages' ++ return f'{userbase}/lib/python{version[0]}.{version[1]}-{_get_platform()}/site-packages' + + if sys.platform == 'darwin' and sys._framework: + return f'{userbase}/lib/python/site-packages' +diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py +index 03939d8..ce8bf46 100644 +--- a/Lib/sysconfig.py ++++ b/Lib/sysconfig.py +@@ -95,20 +95,20 @@ if _HAS_USER_BASE: + _INSTALL_SCHEMES |= { + # NOTE: When modifying "purelib" scheme, update site._get_path() too. + 'nt_user': { +- 'stdlib': '{userbase}/lib/python{py_version_short}', +- 'platstdlib': '{userbase}/lib/python{py_version_short}', +- 'purelib': '{userbase}/lib/python{py_version_short}/site-packages', +- 'platlib': '{userbase}/lib/python{py_version_short}/site-packages', +- 'include': '{userbase}/include/python{py_version_short}', ++ 'stdlib': '{userbase}/lib/python{py_version_short_plat}', ++ 'platstdlib': '{userbase}/lib/python{py_version_short_plat}', ++ 'purelib': '{userbase}/lib/python{py_version_short_plat}/site-packages', ++ 'platlib': '{userbase}/lib/python{py_version_short_plat}/site-packages', ++ 'include': '{userbase}/include/python{py_version_short_plat}', + 'scripts': '{userbase}/bin', + 'data': '{userbase}', + }, + 'posix_user': { +- 'stdlib': '{userbase}/{platlibdir}/python{py_version_short}', +- 'platstdlib': '{userbase}/{platlibdir}/python{py_version_short}', +- 'purelib': '{userbase}/lib/python{py_version_short}/site-packages', +- 'platlib': '{userbase}/lib/python{py_version_short}/site-packages', +- 'include': '{userbase}/include/python{py_version_short}', ++ 'stdlib': '{userbase}/{platlibdir}/python{py_version_short_plat}', ++ 'platstdlib': '{userbase}/{platlibdir}/python{py_version_short_plat}', ++ 'purelib': '{userbase}/lib/python{py_version_short_plat}/site-packages', ++ 'platlib': '{userbase}/lib/python{py_version_short_plat}/site-packages', ++ 'include': '{userbase}/include/python{py_version_short_plat}', + 'scripts': '{userbase}/bin', + 'data': '{userbase}', + }, +@@ -640,6 +640,10 @@ def get_config_vars(*args): + _CONFIG_VARS['py_version_nodot_plat'] = sys.winver.replace('.', '') + except AttributeError: + _CONFIG_VARS['py_version_nodot_plat'] = '' ++ if os.name == 'nt' and _POSIX_BUILD: ++ _CONFIG_VARS['py_version_short_plat'] = f'{_PY_VERSION_SHORT}-{get_platform()}' ++ else: ++ _CONFIG_VARS['py_version_short_plat'] = _PY_VERSION_SHORT + + if os.name == 'nt' and not _POSIX_BUILD: + _init_non_posix(_CONFIG_VARS) +@@ -698,7 +702,7 @@ def get_config_var(name): + warnings.warn('SO is deprecated, use EXT_SUFFIX', DeprecationWarning, 2) + return get_config_vars().get(name) + +- ++# make sure to change site._get_platform() while changing this function + def get_platform(): + """Return a string that identifies the current platform. + +-- +2.34.1 + diff --git a/mingw-w64-python3.10/0134-fixup-CI-test-the-build-and-add-some-mingw-specific-.patch b/mingw-w64-python3.10/0134-fixup-CI-test-the-build-and-add-some-mingw-specific-.patch new file mode 100644 index 0000000000..6e06751a86 --- /dev/null +++ b/mingw-w64-python3.10/0134-fixup-CI-test-the-build-and-add-some-mingw-specific-.patch @@ -0,0 +1,27 @@ +From 905ce648188ca2f95ba2bc6381c82d98a4ddd315 Mon Sep 17 00:00:00 2001 +From: Naveen M K +Date: Sun, 23 Jan 2022 12:55:45 +0530 +Subject: [PATCH 134/N] fixup! CI: test the build and add some mingw specific + tests + +Signed-off-by: Naveen M K +--- + .github/workflows/mingw.yml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/.github/workflows/mingw.yml b/.github/workflows/mingw.yml +index 2ba48e7..999ccf9 100644 +--- a/.github/workflows/mingw.yml ++++ b/.github/workflows/mingw.yml +@@ -116,7 +116,7 @@ jobs: + make -j1 install DESTDIR="${pkgdir}" + + # Fix shebangs +- _pybasever=$(./python.exe -c "import sys; print(sys.winver);") ++ _pybasever=$(./python.exe -c "import sys; print(f'{sys.version_info[0]}.{sys.version_info[1]}');") + 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 +-- +2.34.1 + diff --git a/mingw-w64-python3.10/PKGBUILD b/mingw-w64-python3.10/PKGBUILD new file mode 100644 index 0000000000..93267579b2 --- /dev/null +++ b/mingw-w64-python3.10/PKGBUILD @@ -0,0 +1,561 @@ +# Maintainer: Alexey Pavlov +# Maintainer: Ray Donnelly +# Contributor: Saul Ibarra Corretge +# Contributor: Frode Solheim + +_primary_python="no" +_pybasever=3.10 +_realname=python + +if [[ "${_primary_python}" == "yes" ]]; then + pkgbase="mingw-w64-${_realname}" + pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") + provides=("${MINGW_PACKAGE_PREFIX}-python3" + "${MINGW_PACKAGE_PREFIX}-python${_pybasever}") + conflicts=("${MINGW_PACKAGE_PREFIX}-python3" + "${MINGW_PACKAGE_PREFIX}-python${_pybasever}" + "${MINGW_PACKAGE_PREFIX}-python2<2.7.16-7") + replaces=("${MINGW_PACKAGE_PREFIX}-python3" + "${MINGW_PACKAGE_PREFIX}-python${_pybasever}") +else + pkgbase="mingw-w64-${_realname}${_pybasever}" + pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}${_pybasever}") +fi +pkgver=${_pybasever}.0 +pkgrel=2 +pkgdesc="A high-level scripting language (mingw-w64)" +arch=('any') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') +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" + "${MINGW_PACKAGE_PREFIX}-tzdata") +makedepends=( + "${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-autotools" + "autoconf-archive" +) +options=('makeflags') # 'debug' '!strip') +source=("https://www.python.org/ftp/python/${pkgver%rc?}/Python-${pkgver}.tar.xz" + 0001-sysconfig-make-_sysconfigdata.py-relocatable.patch + 0002-restore-setup-config.patch + 0003-build-add-with-nt-threads-and-make-it-default-on-min.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-issue6672-v2-Add-Mingw-recognition-to-pyport.h-to-al.patch + 0013-MINGW-configure-for-shared-build.patch + 0014-MINGW-dynamic-loading-support.patch + 0015-MINGW-ignore-main-program-for-frozen-scripts.patch + 0016-MINGW-setup-_multiprocessing-module.patch + 0017-MINGW-setup-select-module.patch + 0018-MINGW-setup-_ctypes-module-with-system-libffi.patch + 0019-MINGW-defect-winsock2-and-setup-_socket-module.patch + 0020-MINGW-exclude-unix-only-modules.patch + 0021-MINGW-setup-msvcrt-and-_winapi-modules.patch + 0022-sysconfig-MINGW-build-extensions-with-GCC.patch + 0023-MINGW-setup-_ssl-module.patch + 0024-MINGW-generalization-of-posix-build-in-sysconfig.py.patch + 0025-MINGW-support-stdcall-without-underscore.patch + 0026-use-replace-instead-rename-to-avoid-failure-on-windo.patch + 0027-MINGW-customize-site.patch + 0028-add-python-config-sh.patch + 0029-cross-darwin-feature.patch + 0030-mingw-system-libffi.patch + 0031-msys-mingw-prefer-unix-sep-if-MSYSTEM.patch + 0032-mingw-use-posix-getpath.patch + 0033-mingw-add-ModuleFileName-dir-to-PATH.patch + 0034-mingw-add-BUILDIN_WIN32_MODULEs-time-msvcrt.patch + 0035-msys-cygwin-semi-native-build-sysconfig.patch + 0036-sysconfig-mingw-sysconfig-like-posix.patch + 0037-build-_winapi-earlier-so-we-can-use-it-in-distutils-.patch + 0038-cross-dont-add-multiarch-paths-if-cross-compiling.patch + 0039-mingw-use-backslashes-in-compileall-py.patch + 0040-msys-convert_path-fix-and-root-hack.patch + 0041-allow-static-tcltk.patch + 0042-mingw-pdcurses_ISPAD.patch + 0043-builddir-fixes.patch + 0044-msys-monkeypatch-os-system-via-sh-exe.patch + 0045-msys-replace-slashes-used-in-io-redirection.patch + 0046-remove_path_max.default.patch + 0047-dont-link-with-gettext.patch + 0048-ctypes-python-dll.patch + 0049-gdbm-module-includes.patch + 0050-use-gnu_printf-in-format.patch + 0051-mingw-fix-ssl-dont-use-enum_certificates.patch + 0052-fix-using-dllhandle-and-winver-mingw.patch + 0053-Add-AMD64-to-sys-config-so-msvccompiler-get_build_ve.patch + 0054-MINGW-link-with-additional-library.patch + 0055-install-msilib.patch + 0056-fix-signal-module-build.patch + 0057-build-build-winconsoleio-and-_testconsole.patch + 0058-expose-sem_unlink.patch + 0059-cygpty-isatty.patch + 0060-disable-broken-gdbm-module.patch + 0061-build-link-win-resource-files-and-build-pythonw.patch + 0062-disable-readline.patch + 0063-fix-isselectable.patch + 0064-use-_wcsnicmp-instead-wcsncasecmp.patch + 0065-_xxsubinterpretersmodule.patch + 0066-sqlite3-module-defines.patch + 0067-configure.ac-fix-inet_pton-check.patch + 0068-set-venv-activate-path-unix.patch + 0069-venv-creation-fixes.patch + 0070-pass-gen-profile-ldflags.patch + 0071-pkg-config-windows-must-link-ext-with-python-lib.patch + 0072-importlib-bootstrap-path-sep.patch + 0073-pathlib-path-sep.patch + 0074-warnings-fixes.patch + 0075-fix-build-testinternalcapi.patch + 0076-extend-MS_WINDOWS-flag.patch + 0077-clang-arm64.patch + 0078-configure.ac-set-MINGW-stack-reserve.patch + 0079-Don-t-use-os.pathsep-to-find-EOF.patch + 0080-Fix-extension-suffix-for-c-extensions-on-mingw.patch + 0081-Change-the-get_platform-method-in-sysconfig.patch + 0082-distutils-compiler-customize-mingw-cygwin-compilers.patch + 0083-distutils-compiler-enable-new-dtags.patch + 0084-distutils-MINGW-build-extensions-with-GCC.patch + 0085-distutils-use-Mingw32CCompiler-as-default-compiler-f.patch + 0086-distutils-find-import-library.patch + 0087-distutils-avoid-circular-dependency-from-time-module.patch + 0088-distutils-generalization-of-posix-build-in-distutils.patch + 0089-distutils-mingw-sysconfig-like-posix.patch + 0090-distutils-get_versions-fixes.patch + 0091-distutils-install-layout-as-posix.patch + 0092-distutils-msys-convert_path-fix-and-root-hack.patch + 0093-distutils-mingw-build-optimized-ext.patch + 0094-distutils-cygwinccompiler-dont-strip-modules-if-pyde.patch + 0095-distutils-get-compilers-from-env-vars.patch + 0096-distutils-add-windmc-to-cygwinccompiler.patch + 0097-distutils-fix-msvc9-import.patch + 0098-distutils-mingw-add-LIBPL-to-library-dirs.patch + 0099-distutils-Change-the-get_platform-method-in-distutil.patch + 0100-build-Fix-ncursesw-include-lookup.patch + 0101-tests-fix-test_bytes.patch + 0102-time-fix-strftime-not-raising-for-invalid-year-value.patch + 0103-ctypes-find_library-c-should-return-None-with-ucrt.patch + 0104-build-Disable-checks-for-dlopen-dlfcn.patch + 0105-Fix-install-location-of-the-import-library.patch + 0106-Set-MSYS2_ARG_CONV_EXCL-for-the-shared-Python-module.patch + 0107-build-Integrate-venvlauncher-build-installation-into.patch + 0108-configure.ac-set-_WIN32_WINNT-version.patch + 0109-configure.ac-don-t-check-for-clock_-functions.patch + 0110-expanduser-normpath-paths-coming-from-env-vars.patch + 0111-Add-support-for-Windows-7-Python-3.9.patch + 0112-CI-test-the-build-and-add-some-mingw-specific-tests.patch + 0113-smoketests-test-that-_decimal-exists.patch + 0114-Prefer-sysconfig.python_build.patch + 0115-Define-PY3_DLLNAME-to-fix-build.patch + 0116-Commit-regenerated-importlib.patch + 0117-distutils-remove-checks-for-ancient-gcc-binutils.patch + 0118-distutils-split-CC-env-var-before-passing-to-subproc.patch + 0119-_testconsole.c-Fix-casing-path-sep.patch + 0120-Return-consistent-architecture-markers-for-python-on.patch + 0121-distutils-add-back-gcc_version.patch + 0122-fix-mingw-cross-compiling-in-setup.py.patch + 0123-Use-actions-setup-python-for-setting-up-correct-vers.patch + 0124-Fix-buffer-overflow-in-Py_GetSepW.patch + 0125-Remove-unnecessary-strlen-in-Py_NormalizeSepsW.patch + 0126-handle-ncursesw-pkg-config-when-cross-compiling.patch + 0127-CI-add-cross-llvm-mingw-jobs.patch + 0128-fixup-Define-PY3_DLLNAME-to-fix-build.patch + 0129-Skip-building-c-extensions-if-python-is-running-in-b.patch + 0130-mingw_smoketests-fix-_UCRT-condition.patch + 0131-CI-fix-sed-pattern-for-python-config.py-shebang.patch + 0132-Modify-sys.winver-to-match-upstream.patch + 0133-Change-user-site-packages-path-to-include-the-enviro.patch + 0134-fixup-CI-test-the-build-and-add-some-mingw-specific-.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-sysconfig-make-_sysconfigdata.py-relocatable.patch \ + 0002-restore-setup-config.patch \ + 0003-build-add-with-nt-threads-and-make-it-default-on-min.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-issue6672-v2-Add-Mingw-recognition-to-pyport.h-to-al.patch \ + 0013-MINGW-configure-for-shared-build.patch \ + 0014-MINGW-dynamic-loading-support.patch \ + 0015-MINGW-ignore-main-program-for-frozen-scripts.patch \ + 0016-MINGW-setup-_multiprocessing-module.patch \ + 0017-MINGW-setup-select-module.patch \ + 0018-MINGW-setup-_ctypes-module-with-system-libffi.patch \ + 0019-MINGW-defect-winsock2-and-setup-_socket-module.patch \ + 0020-MINGW-exclude-unix-only-modules.patch \ + 0021-MINGW-setup-msvcrt-and-_winapi-modules.patch \ + 0022-sysconfig-MINGW-build-extensions-with-GCC.patch \ + 0023-MINGW-setup-_ssl-module.patch \ + 0024-MINGW-generalization-of-posix-build-in-sysconfig.py.patch \ + 0025-MINGW-support-stdcall-without-underscore.patch \ + 0026-use-replace-instead-rename-to-avoid-failure-on-windo.patch \ + 0027-MINGW-customize-site.patch \ + 0028-add-python-config-sh.patch \ + 0029-cross-darwin-feature.patch \ + 0030-mingw-system-libffi.patch \ + 0031-msys-mingw-prefer-unix-sep-if-MSYSTEM.patch \ + 0032-mingw-use-posix-getpath.patch \ + 0033-mingw-add-ModuleFileName-dir-to-PATH.patch \ + 0034-mingw-add-BUILDIN_WIN32_MODULEs-time-msvcrt.patch \ + 0035-msys-cygwin-semi-native-build-sysconfig.patch \ + 0036-sysconfig-mingw-sysconfig-like-posix.patch \ + 0037-build-_winapi-earlier-so-we-can-use-it-in-distutils-.patch \ + 0038-cross-dont-add-multiarch-paths-if-cross-compiling.patch \ + 0039-mingw-use-backslashes-in-compileall-py.patch \ + 0040-msys-convert_path-fix-and-root-hack.patch \ + 0041-allow-static-tcltk.patch \ + 0042-mingw-pdcurses_ISPAD.patch \ + 0043-builddir-fixes.patch \ + 0044-msys-monkeypatch-os-system-via-sh-exe.patch \ + 0045-msys-replace-slashes-used-in-io-redirection.patch \ + 0046-remove_path_max.default.patch \ + 0047-dont-link-with-gettext.patch \ + 0048-ctypes-python-dll.patch \ + 0049-gdbm-module-includes.patch \ + 0050-use-gnu_printf-in-format.patch \ + 0051-mingw-fix-ssl-dont-use-enum_certificates.patch \ + 0052-fix-using-dllhandle-and-winver-mingw.patch \ + 0053-Add-AMD64-to-sys-config-so-msvccompiler-get_build_ve.patch \ + 0054-MINGW-link-with-additional-library.patch \ + 0055-install-msilib.patch \ + 0056-fix-signal-module-build.patch \ + 0057-build-build-winconsoleio-and-_testconsole.patch \ + 0058-expose-sem_unlink.patch \ + 0059-cygpty-isatty.patch \ + 0060-disable-broken-gdbm-module.patch \ + 0061-build-link-win-resource-files-and-build-pythonw.patch \ + 0062-disable-readline.patch \ + 0063-fix-isselectable.patch \ + 0064-use-_wcsnicmp-instead-wcsncasecmp.patch \ + 0065-_xxsubinterpretersmodule.patch \ + 0066-sqlite3-module-defines.patch \ + 0067-configure.ac-fix-inet_pton-check.patch \ + 0068-set-venv-activate-path-unix.patch \ + 0069-venv-creation-fixes.patch \ + 0070-pass-gen-profile-ldflags.patch \ + 0071-pkg-config-windows-must-link-ext-with-python-lib.patch \ + 0072-importlib-bootstrap-path-sep.patch \ + 0073-pathlib-path-sep.patch \ + 0074-warnings-fixes.patch \ + 0075-fix-build-testinternalcapi.patch \ + 0076-extend-MS_WINDOWS-flag.patch \ + 0077-clang-arm64.patch \ + 0078-configure.ac-set-MINGW-stack-reserve.patch \ + 0079-Don-t-use-os.pathsep-to-find-EOF.patch \ + 0080-Fix-extension-suffix-for-c-extensions-on-mingw.patch \ + 0081-Change-the-get_platform-method-in-sysconfig.patch \ + 0082-distutils-compiler-customize-mingw-cygwin-compilers.patch \ + 0083-distutils-compiler-enable-new-dtags.patch \ + 0084-distutils-MINGW-build-extensions-with-GCC.patch \ + 0085-distutils-use-Mingw32CCompiler-as-default-compiler-f.patch \ + 0086-distutils-find-import-library.patch \ + 0087-distutils-avoid-circular-dependency-from-time-module.patch \ + 0088-distutils-generalization-of-posix-build-in-distutils.patch \ + 0089-distutils-mingw-sysconfig-like-posix.patch \ + 0090-distutils-get_versions-fixes.patch \ + 0091-distutils-install-layout-as-posix.patch \ + 0092-distutils-msys-convert_path-fix-and-root-hack.patch \ + 0093-distutils-mingw-build-optimized-ext.patch \ + 0094-distutils-cygwinccompiler-dont-strip-modules-if-pyde.patch \ + 0095-distutils-get-compilers-from-env-vars.patch \ + 0096-distutils-add-windmc-to-cygwinccompiler.patch \ + 0097-distutils-fix-msvc9-import.patch \ + 0098-distutils-mingw-add-LIBPL-to-library-dirs.patch \ + 0099-distutils-Change-the-get_platform-method-in-distutil.patch \ + 0100-build-Fix-ncursesw-include-lookup.patch \ + 0101-tests-fix-test_bytes.patch \ + 0102-time-fix-strftime-not-raising-for-invalid-year-value.patch \ + 0103-ctypes-find_library-c-should-return-None-with-ucrt.patch \ + 0104-build-Disable-checks-for-dlopen-dlfcn.patch \ + 0105-Fix-install-location-of-the-import-library.patch \ + 0106-Set-MSYS2_ARG_CONV_EXCL-for-the-shared-Python-module.patch \ + 0107-build-Integrate-venvlauncher-build-installation-into.patch \ + 0108-configure.ac-set-_WIN32_WINNT-version.patch \ + 0109-configure.ac-don-t-check-for-clock_-functions.patch \ + 0110-expanduser-normpath-paths-coming-from-env-vars.patch \ + 0111-Add-support-for-Windows-7-Python-3.9.patch \ + 0112-CI-test-the-build-and-add-some-mingw-specific-tests.patch \ + 0113-smoketests-test-that-_decimal-exists.patch \ + 0114-Prefer-sysconfig.python_build.patch \ + 0115-Define-PY3_DLLNAME-to-fix-build.patch \ + 0116-Commit-regenerated-importlib.patch \ + 0117-distutils-remove-checks-for-ancient-gcc-binutils.patch \ + 0118-distutils-split-CC-env-var-before-passing-to-subproc.patch \ + 0119-_testconsole.c-Fix-casing-path-sep.patch \ + 0120-Return-consistent-architecture-markers-for-python-on.patch \ + 0121-distutils-add-back-gcc_version.patch \ + 0122-fix-mingw-cross-compiling-in-setup.py.patch \ + 0123-Use-actions-setup-python-for-setting-up-correct-vers.patch \ + 0124-Fix-buffer-overflow-in-Py_GetSepW.patch \ + 0125-Remove-unnecessary-strlen-in-Py_NormalizeSepsW.patch \ + 0126-handle-ncursesw-pkg-config-when-cross-compiling.patch \ + 0127-CI-add-cross-llvm-mingw-jobs.patch \ + 0128-fixup-Define-PY3_DLLNAME-to-fix-build.patch \ + 0129-Skip-building-c-extensions-if-python-is-running-in-b.patch \ + 0130-mingw_smoketests-fix-_UCRT-condition.patch \ + 0131-CI-fix-sed-pattern-for-python-config.py-shebang.patch \ + 0132-Modify-sys.winver-to-match-upstream.patch \ + 0133-Change-user-site-packages-path-to-include-the-enviro.patch \ + 0134-fixup-CI-test-the-build-and-add-some-mingw-specific-.patch + + autoreconf -vfi +} + +build() { + declare -a _extra_config + if check_option "debug" "n"; then + _extra_config+=("--enable-optimizations") + # FIXME: https://github.com/msys2-contrib/cpython-mingw/issues/10 + # _extra_config+=("--with-lto") + else + CFLAGS+=" -O0 -ggdb" + CXXFLAGS+=" -O0 -ggdb" + _extra_config+=("--with-pydebug") + fi + + [[ -d "${srcdir}/build-${CARCH}" ]] && rm -rf "${srcdir}/build-${CARCH}" + mkdir -p "${srcdir}/build-${CARCH}" && cd "${srcdir}/build-${CARCH}" + + ../Python-${pkgver}/configure \ + --prefix=${MINGW_PREFIX} \ + --host=${MINGW_CHOST} \ + --build=${MINGW_CHOST} \ + --enable-shared \ + --with-system-expat \ + --with-system-ffi \ + --with-system-libmpdec \ + --without-ensurepip \ + --without-c-locale-coercion \ + --enable-loadable-sqlite-extensions \ + --with-tzpath=${MINGW_PREFIX}/share/zoneinfo \ + "${_extra_config[@]}" + + make +} + +check() { + cd "${srcdir}/build-${CARCH}" + + # Some basic tests to ensure nothing major or MSYS2 specific features are broken + ./python.exe "../Python-${pkgver}/mingw_smoketests.py" + MSYSTEM= ./python.exe "../Python-${pkgver}/mingw_smoketests.py" +} + +package() { + cd "${srcdir}/build-${CARCH}" + + make -j1 install DESTDIR="${pkgdir}" + + # 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 + + # 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/ + + # fixup shebangs + 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 + + # default aliases for all scripts/binaries + 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 + fi + + # delete anything that could conflict with the primary Python + if [[ "${_primary_python}" != "yes" ]]; then + 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 +} + +sha256sums=('5a99f8e7a6a11a7b98b4e75e0d1303d3832cada5534068f69c7b6222a7b1b002' + '49618c0b5af0319f64bd8da3116f77d9726a77276cffacebc4d3de645c327bb7' + 'd967c60781f6a4ef3464799ca398469d03249f9673c8ce769a3e2da33eb33193' + 'b70136017f533468b64ba1b289498f6ddda88715b48016c7804b2186af6884cc' + '8dcb76c1858de03f903085602fd7271dc3baefa058eaa1b8f186a11bf80a01e6' + 'f13a51e2efc5d539eadf8dfa71bdcd6cd1e93ecf71da96f217bc385718fdb11f' + '0097f4d3d20ed9690cbbdcde5a24cd4551117082b18fe309f34bbc5672bc0223' + '8d3a42cbf36eef51167308824f9a6c60b6ea78453a9f50edd7f69d2975da6ab9' + '9557ef72cb9ee75d8118794d980926a3240bda42dea08b8f5259d61e17d5ae53' + 'd16d82e6b18fc1dc587469b7131730f282888ba05c1195f6a4b8c8658c74c0bb' + 'bb99cc9af5bfa8bbf3324b7716718bf5d4a5a7359817b97b86eefc5f042daa20' + '6948926186af5e415268dc95c9a5641c5f11633bf5da3b4fcadfa6d27d695be0' + '230e40e7bc78dbd0fa69677d836015b7e53f380cfbfc5e12c536996ed54d76c4' + '40e656ec45c2e8a4c877d52f28b97b114fff6504ca439d04c6a9001407f07c34' + '9630401fb31c9dc53ea5c6ecbb22eba40a1fdbb18a13489054abe573a4a4dd50' + 'b258a25430b3f8787395ec726ca329da8181dbbc5e6fbae38a5fdf9d990f91e8' + 'cd15083767565d34c936df5ae71d701a57abcc6b454c68234862afe7c69207dc' + '956264e6b45cb12f5c3ee80acea9d1da54a3f3210cb19219867138f9d7b310b2' + '429c46ed0e0fd0aba50b3cb137afcef04a2ce70b4d0ec0b2e64f75c4942053a2' + '6e90416d1283102b9160fb92c82f217c6de0586ddfbeea772d99971909ad2137' + '5ea6e2c7cedc9cd27b611c5fb4554ccf653064d6c70408f528b4c33639631a40' + '1f3c165c70be5dc174c04bb84e9181d1146847010dc0e2609a07bf96e4dd1378' + '6f90192098bca07a1ae0363019302176ecc3c9749d00c4a4ad54d832c245b7f3' + '07cfbe323e4afd72014886e74f07912aed8232445ff1edba42fd33d62121f5fb' + 'e7d0d99e2e6e99cc84642ad43ae4f473c14213f625f52f19615d2ea7d838fd5c' + 'b12e35c1e5c0a3af2cd53a7577c82618f15504f448215bb0513945ce4e7ce632' + '01dffb1e99975e8259cc2446c4f7bfe2840c7d4813fd1766023b088a288d0fb0' + '55abac4b324844ceb1c663887d70d25db7b06206a5a24e314db752e7082a3084' + 'e340fd684fc1c438d17173603a3b3675ef97dc6e5fcd343100ccc13834ce9daf' + 'ea5c7cd51c9b0bde9c8e78a7dda4af2637f7a540a03100ce1f7bc593676efdd4' + '8c67c55bc6bfa8a7d27ca116ae5845a8b32bca67e161125ddbb6e6e4009d5fa9' + '7b4a08cad5bd9436e750ad42219c20b018b8f514cf8b06ab6777533fc9895c06' + '295e17e70dc9265985aeedaba1486867f7a4d8ae11cb5369bab93a086c47d3a1' + '775d6fb87e1d84ca5869b3a47b3293c5206e0e4a51de8e7d9eb2da1246433450' + '12fd50049ff6269ab5ac3d538e5bf4ed81876bdd95246bb481f2df9281dfd811' + 'c2e5c37523dbb3ce854d3a580a85a38db8281ae23b996b711447dc2836cf045d' + '9eaf55be42c62b88037805cd5471b61142b473bbda07f86b9179deb0ce4cfa73' + 'b5cadc98a559d6378c8cf0608f8ea422d19e425ae1a6ff5d277623a6444f9834' + 'd724bca285f9e294c0d24d85551da081a91ead537fa468013af3418dd734bd73' + '0be34c24ef9c4a9ed4698119a809a052330d4b354c56894cadd7d46e5f466fc4' + '63f42fc9fb04849fd1f935a93ae69680d14c58d60aec42ec28392dd253f35948' + '332ceca3d3b66f6e0bc9c291969bbf9e79acf3a5a8999130a70a832b209987ed' + '4dd775bc9ce55776ccfa4c3179cdff7478ddc16eb0ca918ad3e886325833c7a0' + '0def91845ccc127e4e31112563281f55c1e7b3ff6e07d04aaf6e0c472da98b20' + 'df176b3d2bf607a4daaea0f71146758c5b9c788cfd4f89fab8ddbd931b13c027' + 'b6c31a37e337db1a18e6014f7b33e93090006f00514b9af51287db997d064c09' + 'ad513d2c4389ffa4387fee56b68dfe4ff28cbaca218a0e53ea95b56fd8e0e795' + '06201eb685d3e30f16c16d188162768bb8de575d3bc62f3c6e009de3d9e90da9' + '57e20da131a77067c57619773ade31399afd98941d4f16bcd1c0d7eb7c5dbf9a' + '07d4ee7fba51fae5a12c75381e5f833066e36322e37ccf25ab939aac16a6fe1e' + 'e0f5f889a477c2617e90f71714ad7c664814269ffdad5b8d298817a217ed76b7' + '83f4306155cd15753728cb216963a003902399ac9a2b8ff78b5c1d3b8f2c6082' + 'de0eec9cb3301204288e9d32164a671ca5f70f4827dc5cceabb28daf6e8ada97' + '6f33ef821cefe12ae37e236563ff92e460f34d28254acfbd9de2876b5b66a70d' + '626d83642211ff3bcf3670acb93c64e61046ad57c56c92fd1fbbfffe9f30040a' + 'cfc5199d4c6d81c7b580b13ead08237c2b2abe754cf5473143c1b7f7a3e3a158' + '79d740a0f2e0672d0b6a02e3bc76170c72950528822a12e928e9aa86d870196c' + 'd357d5cd5e81a0e4f0160a5f0b9883b59b71770d60775bb21c51c12332476e8e' + '801014ec41210b4b70d296bf253fd277455c0d94e2f26698bef8eddebb88d31d' + '44a626b4aa3044c03d9defc093de1af27bad0ca3c9b07ed6d46d168f36bc2e0e' + '7749de8e71a9d1cd47ee4c6cd70251588ffe7131b88c70992bffccfd6639879f' + '69af2f044d0c352f900a35f73f5302dc5cc877c11a30141879620ae1d5ea4da7' + 'ab6fea6a12633cdb993b952d1a65db0eaa86639bb9be964b2491c3a1842b78a7' + '6412dc510aff2c67a5e524a7777494a3963dae670873a4ae5e762206e1b967bd' + 'b3d79a7edddf573eb36fe64a7c8f41fa4957197b7124b1a79faaa734a80a2754' + 'cff906a05084471667e4b11b75fe86ccb8814aaed9e03b5e6e9010a8ccb9ee99' + '5cacea9fa4c4426c8d4ffce103382caf2ffe489aa5edbd8e52ba05ed8c685642' + '466ba894a34a1c8336d4598644fefc4baec7140ee63412529bf1aec1a9d2ffe5' + 'd5bf09a5ae9d5857dafd358ebbc52c690504aa625d4326aa45d4abbfe45484d8' + '91110e2fe2e3ee7f577057d06011e4edfd6e6872b0395d7c930095c3d6c85170' + '268d789a509859d538a87101644078506e0e90e53af6f311fb0ae756db142c45' + '7340f5378c7b07f3a18eef858608e15f5787dd23109944ef283d2ab7f3c313f1' + 'ae46fb357c1e3509fb8c1ea30d50e121c499a6b40e149b3ff9f146298b799479' + '1d1d5ede4971e6bfbed2cb20239814960508acf1b0d2285e328e010909519d98' + 'ad70b8ad094d03a957e1f815a15103aeafcfabf2882f9c2542924b47b94c5643' + '2299b160137a57569da3ab9d3d47a8f5bbbc2e1c126a9241efead9f5e50305a1' + '58cb8d0d9cb604f48f92cfb5dfab3d0d222a02078a5d4b98366ebdd93548f7f1' + 'c4e7f6771285942207856c6a3defb7c2ce4e88f00b63567dc647ce21f7186175' + '2fce40567852f896ebf2f318511ded9de1cd3b86ba23cec4f80a65c36c762cf6' + '5dd5f8f66456a4c784d7a83a9ea382ce540483fa8124133104b77405df77e605' + 'a5729712ea89d4e0255b73060967be02f4fb680be3c859015aa5995726b4d05b' + 'ec2810ff284e18ba8a61725bf461f4216ed6e9bd9fcd1e9c5fecae60a918eb86' + '48d8cd76a81173736045dcb5cc1c2dfc9f9d3c5bed99c091a40814ee2d668cd2' + 'af9940b19c83059fc0d074f9fcfa22ebe637e925b6fba87d6d97e85d30ab1761' + 'b70d8367b0474035a2b5b8dfbae902e66638cbd5570cdf156c113a3cf6c10dcf' + 'a7fde729503456e488f220ac294a5eedd7e91ffa2d88370001e1ba98b4ad9cb2' + 'eebc37108cc8dc1b1edcedaa5321b12c69a96ec332bc60b46482cfcfb0c476af' + '061ff107c640c09f9aa378c80478d7272083467fef87fd3f6a231b5d6c2f2964' + '671bf53426cdeedbce5706768815ad4d0c97552994968f4b2925896d3c4e92ff' + '96428d13bf18cb16bfd1e36c99a11e60140552765f5747f65d52a27ba229dce4' + 'fda87ec475f2b715a2939465e059df74118ed61d416803af312af5b132009621' + 'f59a64acb934334cea0d8324c79bbc0e2e463bec566f02d1d939cd15df6fa8cd' + '81fc66d796662cd135d7af8750121592795a4acabe6e0d48998470eff4b2c890' + 'e95169f748e887d3a51b236b27d9aaa20f973366a239bbadbc58ba76c99f22f5' + 'cef3504d5219ae56ad59f090f76afea8f54e3f32242900d41c1d4f44840d5913' + '485b8d30ebebf2c6c6c751daaf2c274d7688c9002f4b6686419d5d10e9f96c8b' + '19e03ed5fe384924ef4a46ea76c319e07ac0a4567584f2d2e5f4ec816d858ded' + '6dd342124a42c4ba9e9d510875a2c27a13b49477aecc878814cbfffd9014c258' + 'ee64c8ae96a1ff66a1550d010332747b3730296eed368809c254f2d6d8000748' + '6dbb39bb40cbcbc6d3b3b2aca5e44a8d06c66e5438b03373ac98a8fee2519bc7' + '28ecf42c99b62aa5112dd94900b532de4eedea1ab64ecf7d344d7e3b0d6d017c' + '9ea3502b64b971cecdd48694dfc97b1574422dbe8c947a70409706c4b92ca6ec' + '0c080b0a7a85db977279236d0c89cde8efe6f905df2b375186f1846c5a951380' + 'ccf98b1cf67b11f58e477ab8a81d4e1face254770edbfbfb67827af335558b50' + 'feb200d05871a458fc274dccbc1b0baea31d5a906e5329c144bd55275079b0d1' + 'd04d26131f8a0b9abe454d62a44839613cd65a402511aa030b8e7a7c6c7e7b7e' + '2913f809e275d25c9bf09563a1a4ca75202a6e51f1585a79abc52cbb874bf817' + 'e8cc31cb279be390f311556a5f526071471fdf3a00bc69aebf9be48154b71705' + '0ed520ee73fbfa59ece779fb9066ec307e7c03e6a8ef7f1c84d04ce7b5ded183' + '1324774652eeb2d845766864cd0815c3d265dbe100cdeaeef22a93e7b6ed5853' + '9b85b9d266a722159841ad62fe68488f0475e9eb88b64afc258743845f6e322d' + 'c1bbe975b489e497c125a652704114476e83c5d1d1ed75c51f588573f94ffa97' + 'b43b2fdca79500064fff00529e692df62b4a1e9344c052c88689f5ca4e77004d' + '47565e5857c73fe34c2b4f5ff924a07ce730dabeeb1fb3f02e8503360652be4d' + '2552ec78fd9b8ffd9e6e298fffb904c651d9a97be2de021700205957e9d99b40' + '903c4acdc79668da068b11b8462b639995b00af9763d3eaedcf4161ee3856f6c' + '0df47db20b0ced0edc478f3bc310aa97d0508c51908548ec8d4e8a13e0868da2' + '6089c20e220678b78c77846691fdde1a47fa564fa72c1a0798d5a47b6ba3ac1d' + '6260210b104b496f789d2be8d6b91da97bcdd3ad3593282730bc64847ff6347c' + '46aaf9522409d61e065e19f84ea11b4de2d12a0d6bc992568881ed2af1dafc20' + 'd38c3d668a19ebc7ea9c35cec4e3a7323f2d2dd2041f5ec779ae20d0cec390f4' + '6f10f1d075d280c1144b5befab807369d293e3c0f40267801f820cf571ad9e20' + '14bd4f030f4524aef2f4c59f515483430de2d635b81037f5a30200238a232c64' + '1f523c358949daf9cdce4cafa93c785dde082fd3892c4bdf47b7a2a9b8bd8933' + '7a7c2f1879671d894c597be96d185438317897b5281658a73a464ddb153cc0ea' + '653df26a0662eeff7cde8aca1bb30caf911a66695dca92e9b5425f50d8058a8c' + '4883bf83e1dd318d82a404b10188a38229a9b9ebddfc2274501d8e15ae0c9903' + 'd20ad39ad797b81593ca94de2620943d517ddb2d21566d8f689fe7a31e1b7df6' + '8a53abcb152f4c991eb50ec529218fcc09203cd5f785e6f465978a6a39536bab' + 'a2097d570436a3bd887eeb52d294ffd4da1c6de2d35af0eedd067cf900ff6910' + 'cc33b9ddbc5d325274230a005d817eccd0a39c070a07b53616bcb2e2369d19df' + '5183825bac10240c4beafbd1df20238157be20749a5829d8fea8784ae5964beb' + '3f93aa4eab792fab655112c95d2ddd5b8f15fde31774fd2b948742b95827a24b' + 'c4b4cd406df030366bc534c7f35f45ab0d51e870d57c7f1d0490a55e5a11cfc6' + '78112bcc410b135494c64ec158ea6207ca5b490c52bb1758c19b404e0b323035') diff --git a/mingw-w64-python3.10/README.md b/mingw-w64-python3.10/README.md new file mode 100644 index 0000000000..858c558d9c --- /dev/null +++ b/mingw-w64-python3.10/README.md @@ -0,0 +1,4 @@ +The patches for this package are auto generated and managed in git: +https://github.com/msys2-contrib/cpython-mingw + +Run `./update-patches.sh` to re-create the patches. diff --git a/mingw-w64-python3.10/update-patches.sh b/mingw-w64-python3.10/update-patches.sh new file mode 100644 index 0000000000..646912c533 --- /dev/null +++ b/mingw-w64-python3.10/update-patches.sh @@ -0,0 +1,79 @@ +#!/bin/bash + +set -e + +die () { + echo "$*" >&2 + exit 1 +} + +cd "$(dirname "$0")" || +die "Could not cd to mingw-w64-python3.9/" + +git rev-parse --verify HEAD >/dev/null && +git update-index -q --ignore-submodules --refresh && +git diff-files --quiet --ignore-submodules && +git diff-index --cached --quiet --ignore-submodules HEAD -- || +die "Clean worktree required" + +git rm 0*.patch || +die "Could not remove previous patches" + +source PKGBUILD || die "Can't source PKGBUILD" + +base_tag=refs/tags/v$pkgver +msys2_branch=mingw-v$pkgver +url=https://github.com/msys2-contrib/cpython-mingw +upstream_url=https://github.com/python/cpython + +test -d cpython || +git clone --bare $url cpython --depth=1000 --branch=$msys2_branch || +die "Could not clone cpython" + +git -C cpython fetch --no-tags $url $msys2_branch:$msys2_branch --depth=1000 +git -C cpython fetch --no-tags $upstream_url $base_tag:$base_tag --depth=1000 + +git -c core.abbrev=7 \ + -c diff.renames=true \ + -c format.from=false \ + -c format.numbered=auto \ + -c format.useAutoBase=false \ + -C cpython \ + format-patch \ + --topo-order \ + --diff-algorithm=default \ + --no-attach \ + --no-add-header \ + --no-cover-letter \ + --no-thread \ + --suffix=.patch \ + --subject-prefix=PATCH \ + --output-directory .. \ + $base_tag..$msys2_branch || +die "Could not generate new patch set" + +patches="$(ls -1 0*.patch)" && +for p in $patches +do + sed -i 's/^\(Subject: \[PATCH [0-9]*\/\)[1-9][0-9]*/\1N/' $p || + die "Could not fix Subject: line in $p" +done && +patches="$(ls -1 0*.patch)" && +git add $patches || +die "Could not stage new patch set" + +in_sources="$(echo "$patches" | sed "{s/^/ /;:1;N;s/\\n/\\\\n /;b1}")" +in_prepare="$(echo "$patches" | tr '\n' '\\' | sed -e 's/\\$//' -e 's/\\/ &&&n /g')" +sed -i -e "/^ 0.*\.patch$/{:1;N;/[^)]$/b1;s|.*|$in_sources)|}" \ + -e "/^ *apply_patch_with_msg /{:2;N;/[^}]$/b2;s|.*| apply_patch_with_msg $in_prepare\\n\\ \n autoreconf -vfi\n}|}" \ + PKGBUILD || +die "Could not update the patch set in PKGBUILD" + +updpkgsums || +die "Could not update the patch set checksums in PKGBUILD" + +# bump pkgrel +sed "s/\(pkgrel\).*/pkgrel=$(($pkgrel + 1))/" -i PKGBUILD + +git add PKGBUILD || +die "Could not stage updates in PKGBUILD" diff --git a/mingw-w64-re2/PKGBUILD b/mingw-w64-re2/PKGBUILD index 0366ea011f..ebbc36aed1 100644 --- a/mingw-w64-re2/PKGBUILD +++ b/mingw-w64-re2/PKGBUILD @@ -3,12 +3,12 @@ _realname=re2 pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -_pkgver=2021-11-01 +_pkgver=2022-02-01 pkgver=${_pkgver//-/} pkgrel=1 pkgdesc="Fast, safe, thread-friendly regular expression engine (mingw-w64)." arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://github.com/google/re2" license=('custom') depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") @@ -16,7 +16,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-cc") source=(${_realname}-${_pkgver}.tar.gz::https://github.com/google/re2/archive/${_pkgver}.tar.gz) -sha256sums=('8c45f7fba029ab41f2a7e6545058d9eec94eef97ce70df58e92d85cfc08b4669') +sha256sums=('9c1e6acfd0fed71f40b025a7a1dabaf3ee2ebb74d64ced1f9ee1b0b01d22fd27') build() { declare -a _extra_config diff --git a/mingw-w64-recode/01-no-undefined.patch b/mingw-w64-recode/01-no-undefined.patch index fa7073b33f..c6a2948e1f 100644 --- a/mingw-w64-recode/01-no-undefined.patch +++ b/mingw-w64-recode/01-no-undefined.patch @@ -1,11 +1,11 @@ --- recode-3.7/src/Makefile.am.orig 2018-02-01 14:58:02.550508800 +0300 +++ recode-3.7/src/Makefile.am 2018-02-01 14:58:12.211339900 +0300 -@@ -56,7 +56,7 @@ +@@ -54,7 +54,7 @@ librecode_la_SOURCES = charname.c combine.c fr-charname.c iconv.c \ names.c outer.c recode.c request.c strip-pool.c task.c $(ALL_STEPS) \ $(include_HEADERS) $(noinst_HEADERS) $(H_STEPS) --librecode_la_LDFLAGS = -version-info $(VERSION_INFO) -+librecode_la_LDFLAGS = -no-undefined -version-info $(VERSION_INFO) +-librecode_la_LDFLAGS = -version-info $(VERSION_INFO) $(LTLIBINTL) \ ++librecode_la_LDFLAGS = -no-undefined -version-info $(VERSION_INFO) $(LTLIBINTL) \ + $(LIB_CLOCK_GETTIME) $(LIB_GETRANDOM) $(LIB_HARD_LOCALE) $(LIB_MBRTOWC) $(LIB_SETLOCALE_NULL) librecode_la_LIBADD = ../lib/libgnu.la libmerged.la - libmerged_la_SOURCES = merged.c diff --git a/mingw-w64-recode/PKGBUILD b/mingw-w64-recode/PKGBUILD index 7ca9a9e328..2f76e99bfc 100644 --- a/mingw-w64-recode/PKGBUILD +++ b/mingw-w64-recode/PKGBUILD @@ -3,11 +3,11 @@ _realname=recode pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") -pkgver=3.7.9 +pkgver=3.7.11 pkgrel=1 pkgdesc="Converts files between various character sets and usages (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://github.com/rrthomas/recode" license=('GPL3' 'LGPL') depends=("${MINGW_PACKAGE_PREFIX}-gettext") @@ -17,8 +17,8 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-cc") source=("https://github.com/rrthomas/recode/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.gz" "01-no-undefined.patch") -sha256sums=('e4320a6b0f5cd837cdb454fb5854018ddfa970911608e1f01cc2c65f633672c4' - '21de31138709ec460fb684b5bf110beabf31627b8e55b4131aad67c7633e77dd') +sha256sums=('97267a0e6ee3d859b7f4d1593282900dbc798151b70a6d1f73718880563b485e' + '40c88d6d70c91f2ab2919b77e2d6577cdcc55ec368f8c873cc1a1f1e1b6dc52b') prepare() { cd "${srcdir}/${_realname}-${pkgver}" diff --git a/mingw-w64-rubberband/PKGBUILD b/mingw-w64-rubberband/PKGBUILD index 5b8dd6c7e4..153d0665cd 100644 --- a/mingw-w64-rubberband/PKGBUILD +++ b/mingw-w64-rubberband/PKGBUILD @@ -3,7 +3,7 @@ _realname=rubberband pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.0.0 +pkgver=2.0.2 pkgrel=1 pkgdesc="High quality software library for audio time-stretching and pitch-shifting. (mingw-w64)" arch=('any') @@ -19,17 +19,12 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-libsndfile" "${MINGW_PACKAGE_PREFIX}-ladspa-sdk" "${MINGW_PACKAGE_PREFIX}-vamp-plugin-sdk") -source=("https://breakfastquay.com/files/releases/${_realname}-${pkgver}.tar.bz2" - "https://github.com/breakfastquay/rubberband/commit/b3c920a.patch" - "https://github.com/breakfastquay/rubberband/commit/3a6d8a8.patch") -sha256sums=('eccbf0545496ce3386a2433ceec31e6576a76ed6884310e4b465003bfe260286' - '632f484fd16807f3fce251163bef4287be2d0c26a11f31c1750290afa21c0bb8' - 'f3d77ed80de0a4c52642a1f060eaece4b9f0d88009121b844d92a9ba286d8185') +source=("https://breakfastquay.com/files/releases/${_realname}-${pkgver}.tar.bz2") +sha256sums=('b9eac027e797789ae99611c9eaeaf1c3a44cc804f9c8a0441a0d1d26f3d6bdf9') prepare() { cd ${srcdir}/${_realname}-${pkgver} - patch -p1 -i "${srcdir}/b3c920a.patch" - patch -p1 -i "${srcdir}/3a6d8a8.patch" + } build() { @@ -60,4 +55,5 @@ build() { package() { cd "${srcdir}/build-${MSYSTEM}" DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/meson.exe install + install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING" } diff --git a/mingw-w64-ruby-ronn/PKGBUILD b/mingw-w64-ruby-ronn/PKGBUILD index b6a36a8469..f0cbd2e9e5 100644 --- a/mingw-w64-ruby-ronn/PKGBUILD +++ b/mingw-w64-ruby-ronn/PKGBUILD @@ -20,7 +20,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-ruby" "${MINGW_PACKAGE_PREFIX}-ruby-hpricot" "${MINGW_PACKAGE_PREFIX}-ruby-mustache" "${MINGW_PACKAGE_PREFIX}-ruby-rdiscount") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc") source=(https://rubygems.org/downloads/${_realname}-${pkgver}.gem) noextract=(${_realname}-$pkgver.gem) sha256sums=('82df6fd4a3aa91734866710d2811a6387e50a7513fc528ce6c7d95ee7ad7f41e') diff --git a/mingw-w64-rust/PKGBUILD b/mingw-w64-rust/PKGBUILD index 32198714d0..f584f4e07e 100644 --- a/mingw-w64-rust/PKGBUILD +++ b/mingw-w64-rust/PKGBUILD @@ -8,7 +8,7 @@ pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}" "${MINGW_PACKAGE_PREFIX}-rust-docs") pkgver=1.57.0 -pkgrel=1 +pkgrel=2 pkgdesc="Systems programming language focused on safety, speed and concurrency (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') @@ -131,7 +131,7 @@ check() { package_rust() { - depends=("${MINGW_PACKAGE_PREFIX}-gcc" + depends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-curl" "${MINGW_PACKAGE_PREFIX}-libxml2" "${MINGW_PACKAGE_PREFIX}-libssh2") diff --git a/mingw-w64-seacas/PKGBUILD b/mingw-w64-seacas/PKGBUILD index f9cb2a7af1..46ad2c4a50 100644 --- a/mingw-w64-seacas/PKGBUILD +++ b/mingw-w64-seacas/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: Rafał Brzegowy _realname=seacas -_releases=2021-10-11 +_releases=2022-01-27 pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=${_releases//-/.} @@ -22,7 +22,7 @@ url="https://gsjaardema.github.io/seacas/" license=('BSD') source=("https://github.com/gsjaardema/seacas/archive/refs/tags/v${_releases}.zip" "0001-cmake-add-libs.patch") -sha256sums=('5c04d252e1c4a10b037aa352b89487e581ec6b52bdb46e9e85f101bbdcd9c388' +sha256sums=('D21C14B9B30F773CEF8E2029773F3CC35DA021EEBE9060298231F95021EB814F' 'a3561756bfdeb942fc62add0aefa542b0e689b76a7f0d2d357e299465ee344d2') noextract=("v${_releases}.zip") # bsdtar could not unpack this archive diff --git a/mingw-w64-sfcgal/PKGBUILD b/mingw-w64-sfcgal/PKGBUILD new file mode 100644 index 0000000000..4a927ab2be --- /dev/null +++ b/mingw-w64-sfcgal/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Loïc Bartoletti + +_realname=sfcgal +pkgbase=mingw-w64-${_realname} +pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" +pkgver=1.4.1 +pkgrel=1 +pkgdesc="Wrapper around CGAL that intents to implement 2D and 3D operations on OGC standards models (mingw-w64)" +arch=('any') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +url="https://www.sfcgal.org/" +license=("spdx:LGPL-2.0-or-later") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-ninja" + "${MINGW_PACKAGE_PREFIX}-cgal" + "${MINGW_PACKAGE_PREFIX}-pkg-config") +depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" + "${MINGW_PACKAGE_PREFIX}-boost" + "${MINGW_PACKAGE_PREFIX}-gmp" + "${MINGW_PACKAGE_PREFIX}-mpfr" + "${MINGW_PACKAGE_PREFIX}-cgal") +source=(https://gitlab.com/Oslandia/SFCGAL/-/archive/v${pkgver}/SFCGAL-v${pkgver}.tar.gz) +sha256sums=('1800c8a26241588f11cddcf433049e9b9aea902e923414d2ecef33a3295626c3') + +prepare() { + plain 'No Step' +} + +build() { + [[ -d ${srcdir}/build-${MSYSTEM} ]] && rm -rf ${srcdir}/build-${MSYSTEM} + mkdir ${srcdir}/build-${MSYSTEM} + cd ${srcdir}/build-${MSYSTEM} + + MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ + ${MINGW_PREFIX}/bin/cmake \ + -G"Ninja" \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + -DCMAKE_BUILD_TYPE=Release \ + ../SFCGAL-v${pkgver} + + ${MINGW_PREFIX}/bin/cmake --build . +} + +package() { + cd "${srcdir}/build-${MSYSTEM}" + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake --install . +} diff --git a/mingw-w64-shared-mime-info/PKGBUILD b/mingw-w64-shared-mime-info/PKGBUILD index 6b11b8e922..84c7d31ac3 100644 --- a/mingw-w64-shared-mime-info/PKGBUILD +++ b/mingw-w64-shared-mime-info/PKGBUILD @@ -5,7 +5,7 @@ _realname=shared-mime-info pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=2.1 -pkgrel=3 +pkgrel=4 pkgdesc="Freedesktop.org Shared MIME Info (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') @@ -24,11 +24,13 @@ url="https://freedesktop.org/Software/shared-mime-info" source=(https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/${pkgver}/shared-mime-info-${pkgver}.tar.bz2 program.manifest 001-fix-fdo-generate.patch - 002-fix-meson-build.patch) + 002-fix-meson-build.patch + update-mime-database.hook.in) sha256sums=('37df6475da31a8b5fc63a54ba0770a3eefa0a708b778cb6366dccee96393cb60' 'f93191ad3e217ef9939cf16885ffe50ce920a0b639e183e46415f10df4b4db72' 'e49b3232579dad5da4bbdc68980f30f7f9f36f75a32c6b6fe1357a8b788e1935' - 'ce2e34629e742b6d87377d09ae645ea6e19c997fc761c267266e0d0bb5e797d4') + 'ce2e34629e742b6d87377d09ae645ea6e19c997fc761c267266e0d0bb5e797d4' + 'a3f577d2bcfab00f15ae770bc9808953007488498e2d5a25e5f1be3a2479d29e') options=(!makeflags) prepare() { @@ -67,5 +69,14 @@ package() { sed -e "s|%PROGNAME%|GNU.update-mime-database|g" \ -e "s|%ARCH%|${_arch}|g" \ -i ${pkgdir}${MINGW_PREFIX}/bin/update-mime-database.exe.manifest + + for hook in update-mime-database; do + local hook_path="${srcdir}/${MINGW_PACKAGE_PREFIX}-${hook}.hook"; + cp "${srcdir}/${hook}.hook.in" "${hook_path}" + sed -s "s|@MINGW_HOOK_TARGET_PREFIX@|${MINGW_PREFIX:1}|g" -i "${hook_path}" + sed -s "s|@MINGW_PREFIX@|${MINGW_PREFIX}|g" -i "${hook_path}" + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 "${hook_path}" + done + install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING" } diff --git a/mingw-w64-shared-mime-info/shared-mime-info-CLANG32.install b/mingw-w64-shared-mime-info/shared-mime-info-CLANG32.install index 5509276c7a..77134ac8e9 100644 --- a/mingw-w64-shared-mime-info/shared-mime-info-CLANG32.install +++ b/mingw-w64-shared-mime-info/shared-mime-info-CLANG32.install @@ -1,13 +1,5 @@ MINGW_INSTALL=clang32 -post_install() { - XDG_DATA_DIRS=/${MINGW_INSTALL}/share ${MINGW_INSTALL}/bin/update-mime-database ${MINGW_INSTALL}/share/mime > /dev/null 2>&1 -} - -post_upgrade() { - post_install -} - post_remove() { if [ -d ${MINGW_INSTALL}/share/mime ]; then rm -f ${MINGW_INSTALL}/share/mime/{globs,globs2,icons,treemagic,generic-icons,types,magic,XMLnamespaces,subclasses,aliases,mime.cache} diff --git a/mingw-w64-shared-mime-info/shared-mime-info-CLANG64.install b/mingw-w64-shared-mime-info/shared-mime-info-CLANG64.install index 0b3db1d95a..18c71a60db 100644 --- a/mingw-w64-shared-mime-info/shared-mime-info-CLANG64.install +++ b/mingw-w64-shared-mime-info/shared-mime-info-CLANG64.install @@ -1,13 +1,5 @@ MINGW_INSTALL=clang64 -post_install() { - XDG_DATA_DIRS=/${MINGW_INSTALL}/share ${MINGW_INSTALL}/bin/update-mime-database ${MINGW_INSTALL}/share/mime > /dev/null 2>&1 -} - -post_upgrade() { - post_install -} - post_remove() { if [ -d ${MINGW_INSTALL}/share/mime ]; then rm -f ${MINGW_INSTALL}/share/mime/{globs,globs2,icons,treemagic,generic-icons,types,magic,XMLnamespaces,subclasses,aliases,mime.cache} diff --git a/mingw-w64-shared-mime-info/shared-mime-info-CLANGARM64.install b/mingw-w64-shared-mime-info/shared-mime-info-CLANGARM64.install index e5bcb17d53..f864a46b11 100644 --- a/mingw-w64-shared-mime-info/shared-mime-info-CLANGARM64.install +++ b/mingw-w64-shared-mime-info/shared-mime-info-CLANGARM64.install @@ -1,13 +1,5 @@ MINGW_INSTALL=clangarm64 -post_install() { - XDG_DATA_DIRS=/${MINGW_INSTALL}/share ${MINGW_INSTALL}/bin/update-mime-database ${MINGW_INSTALL}/share/mime > /dev/null 2>&1 -} - -post_upgrade() { - post_install -} - post_remove() { if [ -d ${MINGW_INSTALL}/share/mime ]; then rm -f ${MINGW_INSTALL}/share/mime/{globs,globs2,icons,treemagic,generic-icons,types,magic,XMLnamespaces,subclasses,aliases,mime.cache} diff --git a/mingw-w64-shared-mime-info/shared-mime-info-MINGW32.install b/mingw-w64-shared-mime-info/shared-mime-info-MINGW32.install index 4e22a7aaa1..f460cced93 100644 --- a/mingw-w64-shared-mime-info/shared-mime-info-MINGW32.install +++ b/mingw-w64-shared-mime-info/shared-mime-info-MINGW32.install @@ -1,13 +1,5 @@ MINGW_INSTALL=mingw32 -post_install() { - XDG_DATA_DIRS=/${MINGW_INSTALL}/share ${MINGW_INSTALL}/bin/update-mime-database ${MINGW_INSTALL}/share/mime > /dev/null 2>&1 -} - -post_upgrade() { - post_install -} - post_remove() { if [ -d ${MINGW_INSTALL}/share/mime ]; then rm -f ${MINGW_INSTALL}/share/mime/{globs,globs2,icons,treemagic,generic-icons,types,magic,XMLnamespaces,subclasses,aliases,mime.cache} diff --git a/mingw-w64-shared-mime-info/shared-mime-info-MINGW64.install b/mingw-w64-shared-mime-info/shared-mime-info-MINGW64.install index c9678048eb..b7a82d9193 100644 --- a/mingw-w64-shared-mime-info/shared-mime-info-MINGW64.install +++ b/mingw-w64-shared-mime-info/shared-mime-info-MINGW64.install @@ -1,13 +1,5 @@ MINGW_INSTALL=mingw64 -post_install() { - XDG_DATA_DIRS=/${MINGW_INSTALL}/share ${MINGW_INSTALL}/bin/update-mime-database ${MINGW_INSTALL}/share/mime > /dev/null 2>&1 -} - -post_upgrade() { - post_install -} - post_remove() { if [ -d ${MINGW_INSTALL}/share/mime ]; then rm -f ${MINGW_INSTALL}/share/mime/{globs,globs2,icons,treemagic,generic-icons,types,magic,XMLnamespaces,subclasses,aliases,mime.cache} diff --git a/mingw-w64-shared-mime-info/shared-mime-info-UCRT64.install b/mingw-w64-shared-mime-info/shared-mime-info-UCRT64.install index c5b36468f3..c43e0bad64 100644 --- a/mingw-w64-shared-mime-info/shared-mime-info-UCRT64.install +++ b/mingw-w64-shared-mime-info/shared-mime-info-UCRT64.install @@ -1,13 +1,5 @@ MINGW_INSTALL=ucrt64 -post_install() { - XDG_DATA_DIRS=/${MINGW_INSTALL}/share ${MINGW_INSTALL}/bin/update-mime-database ${MINGW_INSTALL}/share/mime > /dev/null 2>&1 -} - -post_upgrade() { - post_install -} - post_remove() { if [ -d ${MINGW_INSTALL}/share/mime ]; then rm -f ${MINGW_INSTALL}/share/mime/{globs,globs2,icons,treemagic,generic-icons,types,magic,XMLnamespaces,subclasses,aliases,mime.cache} diff --git a/mingw-w64-shared-mime-info/update-mime-database.hook.in b/mingw-w64-shared-mime-info/update-mime-database.hook.in new file mode 100644 index 0000000000..1f88758b15 --- /dev/null +++ b/mingw-w64-shared-mime-info/update-mime-database.hook.in @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = @MINGW_HOOK_TARGET_PREFIX@/share/mime/packages/*.xml + +[Action] +Description = Updating the MIME type database... +When = PostTransaction +Exec = @MINGW_PREFIX@/bin/update-mime-database @MINGW_PREFIX@/share/mime diff --git a/mingw-w64-soundtouch/PKGBUILD b/mingw-w64-soundtouch/PKGBUILD index d44841d43c..0e0a0161d6 100644 --- a/mingw-w64-soundtouch/PKGBUILD +++ b/mingw-w64-soundtouch/PKGBUILD @@ -3,11 +3,11 @@ _realname=soundtouch pkgbase="mingw-w64-${_realname}" pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.3.0 +pkgver=2.3.1 pkgrel=1 pkgdesc="An audio processing library (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://www.surina.net/soundtouch/" license=("LGPL") makedepends=("${MINGW_PACKAGE_PREFIX}-autotools" @@ -17,7 +17,7 @@ options=('strip' 'staticlibs') source=(https://www.surina.net/${_realname}/${_realname}-${pkgver}.tar.gz 0001-no-undefined-on.mingw.patch 0003-fix-docdir.mingw.patch) -sha256sums=('b0f38497c72bb545d5d5c505243c5daa3598567641d25728d015b27678a68ad8' +sha256sums=('6900996607258496ce126924a19fe9d598af9d892cf3f33d1e4daaa9b42ae0b1' '68d545eedd45afa26723aa2e3d7a447d179c78566308b29fa9d1c6a71476f50d' '2cd136046831f3ad9a2e37c0afe3ecd9f25ce27f5dbf4ee8b23b862a96e76cd5') @@ -47,4 +47,5 @@ build() { package() { cd build-${MINGW_CHOST} make DESTDIR="${pkgdir}" install + install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING.TXT" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING.TXT" } diff --git a/mingw-w64-sparsehash/PKGBUILD b/mingw-w64-sparsehash/PKGBUILD index 9b8609a774..571b0966f0 100644 --- a/mingw-w64-sparsehash/PKGBUILD +++ b/mingw-w64-sparsehash/PKGBUILD @@ -11,7 +11,7 @@ arch=(any) mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://github.com/sparsehash/sparsehash" license=('BSD') -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-autotools") +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") options=('strip' '!libtool') source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/sparsehash/sparsehash/archive/${_realname}-${pkgver}.tar.gz") sha256sums=('8cd1a95827dfd8270927894eb77f62b4087735cbede953884647f16c521c7e58') diff --git a/mingw-w64-spice-protocol/PKGBUILD b/mingw-w64-spice-protocol/PKGBUILD index 6b7ba6cd07..dd6dad11c3 100644 --- a/mingw-w64-spice-protocol/PKGBUILD +++ b/mingw-w64-spice-protocol/PKGBUILD @@ -11,7 +11,7 @@ pkgdesc="SPICE protocol headers (mingw-w64)" options=('strip' 'staticlibs') license=("BSD") url="https://www.spice-space.org/" -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-meson" "${MINGW_PACKAGE_PREFIX}-ninja") source=(https://www.spice-space.org/download/releases/${_realname}-${pkgver}.tar.xz{,.sig}) diff --git a/mingw-w64-starship/PKGBUILD b/mingw-w64-starship/PKGBUILD index d6aa66a5b9..74f407c80c 100644 --- a/mingw-w64-starship/PKGBUILD +++ b/mingw-w64-starship/PKGBUILD @@ -3,21 +3,23 @@ _realname=starship pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.0.0 +pkgver=1.2.1 pkgrel=1 pkgdesc="The cross-shell prompt for astronauts (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') url="https://starship.rs" license=(ISC) -depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") -makedepends=("${MINGW_PACKAGE_PREFIX}-rust") +depends=("${MINGW_PACKAGE_PREFIX}-libgit2") +makedepends=("unzip" "${MINGW_PACKAGE_PREFIX}-rust") options=('staticlibs' 'strip') -source=(git+https://github.com/starship/starship.git#tag=v$pkgver) -sha256sums=('SKIP') +source=("${_realname}-${pkgver}.zip::https://github.com/starship/starship/archive/refs/tags/v${pkgver}.zip") +sha256sums=('18dcbbb15a8e2a6717e245f34f2a86458193b40ec33f461bb09574232362a464') +noextract=("${_realname}-${pkgver}.zip") prepare() { - cp -r ${_realname} build-${MSYSTEM} + unzip -q "${_realname}-${pkgver}.zip" + cp -r ${_realname}-${pkgver} build-${MSYSTEM} ${MINGW_PREFIX}/bin/cargo fetch \ --locked \ --manifest-path build-${MSYSTEM}/Cargo.toml diff --git a/mingw-w64-styrene/PKGBUILD b/mingw-w64-styrene/PKGBUILD index 4ed59e5824..b9680a9997 100644 --- a/mingw-w64-styrene/PKGBUILD +++ b/mingw-w64-styrene/PKGBUILD @@ -14,7 +14,7 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') makedepends=("${MINGW_PACKAGE_PREFIX}-python-setuptools") depends=("zip" "${MINGW_PACKAGE_PREFIX}-python" - "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-binutils" "${MINGW_PACKAGE_PREFIX}-nsis") license=('GPLv3+') diff --git a/mingw-w64-sundials/PKGBUILD b/mingw-w64-sundials/PKGBUILD index 488343bc4e..c0102950bb 100644 --- a/mingw-w64-sundials/PKGBUILD +++ b/mingw-w64-sundials/PKGBUILD @@ -22,7 +22,7 @@ makedepends=('make' 'patch' 'sed' "${MINGW_PACKAGE_PREFIX}-cmake>=3.12.0" - "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-gcc-fortran" "${MINGW_PACKAGE_PREFIX}-petsc-build") optdepends=("${MINGW_PACKAGE_PREFIX}-python: for running examples") diff --git a/mingw-w64-svt-av1/0001-cmake-fix-install-dir.patch b/mingw-w64-svt-av1/0001-cmake-fix-install-dir.patch new file mode 100644 index 0000000000..00cb92c504 --- /dev/null +++ b/mingw-w64-svt-av1/0001-cmake-fix-install-dir.patch @@ -0,0 +1,49 @@ +From ed6d8e6d0aee5c6750e93b54c80f318999fe6a7c Mon Sep 17 00:00:00 2001 +From: Christopher Degawa +Date: Fri, 21 Jan 2022 11:23:49 -0600 +Subject: [PATCH] cmake: install .dll to bin dir + +Mainly affects Windows where .dll files are considered runtime files +rather than .so files which are just library files + +Signed-off-by: Christopher Degawa +--- + Source/Lib/Decoder/CMakeLists.txt | 5 ++++- + Source/Lib/Encoder/CMakeLists.txt | 5 ++++- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/Source/Lib/Decoder/CMakeLists.txt b/Source/Lib/Decoder/CMakeLists.txt +index 1c94eb3e..ca7e51f2 100644 +--- a/Source/Lib/Decoder/CMakeLists.txt ++++ b/Source/Lib/Decoder/CMakeLists.txt +@@ -111,7 +111,10 @@ if (BUILD_SHARED_LIBS) + PRIVATE EB_BUILDING_SHARED_LIBS) + set(DEC_PKG_CONFIG_EXTRA_CFLAGS " -DEB_DLL") + endif() +-install(TARGETS SvtAv1Dec DESTINATION "${CMAKE_INSTALL_LIBDIR}") ++install(TARGETS SvtAv1Dec ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + + configure_file(pkg-config.pc.in ${CMAKE_BINARY_DIR}/SvtAv1Dec.pc @ONLY) + install(FILES ${CMAKE_BINARY_DIR}/SvtAv1Dec.pc DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") +diff --git a/Source/Lib/Encoder/CMakeLists.txt b/Source/Lib/Encoder/CMakeLists.txt +index e3c059e5..9e618858 100644 +--- a/Source/Lib/Encoder/CMakeLists.txt ++++ b/Source/Lib/Encoder/CMakeLists.txt +@@ -142,7 +142,10 @@ if (BUILD_SHARED_LIBS) + PRIVATE EB_BUILDING_SHARED_LIBS) + set(ENC_PKG_CONFIG_EXTRA_CFLAGS " -DEB_DLL") + endif() +-install(TARGETS SvtAv1Enc DESTINATION "${CMAKE_INSTALL_LIBDIR}") ++install(TARGETS SvtAv1Enc ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + + configure_file(pkg-config.pc.in ${CMAKE_BINARY_DIR}/SvtAv1Enc.pc @ONLY) + install(FILES ${CMAKE_BINARY_DIR}/SvtAv1Enc.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") +-- +GitLab + diff --git a/mingw-w64-svt-av1/PKGBUILD b/mingw-w64-svt-av1/PKGBUILD index dbe0bb8818..1d14943482 100644 --- a/mingw-w64-svt-av1/PKGBUILD +++ b/mingw-w64-svt-av1/PKGBUILD @@ -3,23 +3,27 @@ _realname=SVT-AV1 pkgbase=mingw-w64-svt-av1 pkgname=("${MINGW_PACKAGE_PREFIX}-svt-av1") -pkgver=0.8.7 +pkgver=0.9.0 pkgrel=1 pkgdesc="Scalable Video Technology AV1 encoder and decoder (mingw-w64)" arch=('any') mingw_arch=('mingw64' 'ucrt64' 'clang64') url='https://gitlab.com/AOMediaCodec/SVT-AV1' license=('AOM') -depends=("${MINGW_PACKAGE_PREFIX}-crt") makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-yasm" "${MINGW_PACKAGE_PREFIX}-cc") -source=("${url}/-/archive/v${pkgver}/${_realname}-v${pkgver}.tar.gz") -sha256sums=('de24e4a6c557498b2e8caf9cca438411db5f837d232b9390dc3899d974fec16f') +source=("${url}/-/archive/v${pkgver}/${_realname}-v${pkgver}.tar.gz" + "0001-cmake-fix-install-dir.patch") +sha256sums=('51a41fc38ced0e9a56aa4300b1d872f3b43e2421644110852dfdb67440080c63' + 'b8a32605983003cc2a2380265154095cdb12d62978c63b24e60ee8cee9847762') prepare() { cd "${srcdir}"/${_realname}-v${pkgver} + + # https://gitlab.com/AOMediaCodec/SVT-AV1/-/merge_requests/1812 + patch -p1 -i "${srcdir}/0001-cmake-fix-install-dir.patch" } build() { diff --git a/mingw-w64-template-glib/PKGBUILD b/mingw-w64-template-glib/PKGBUILD index d5634c46a3..df04f15d7f 100644 --- a/mingw-w64-template-glib/PKGBUILD +++ b/mingw-w64-template-glib/PKGBUILD @@ -4,7 +4,7 @@ _realname=template-glib pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=3.34.0 -pkgrel=2 +pkgrel=3 arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') pkgdesc="A templating library for GLib (mingw-w64)" @@ -14,10 +14,8 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-meson" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-pkg-config" "${MINGW_PACKAGE_PREFIX}-cc" - "gtk-doc" "flex" - "bison" - "autoconf-archive") + "bison") options=('!strip' 'debug' 'staticlibs') license=("LGPL 2.1") url="https://www.gnome.org/" diff --git a/mingw-w64-tiny-dnn/PKGBUILD b/mingw-w64-tiny-dnn/PKGBUILD index 06b1235786..2717b85b75 100644 --- a/mingw-w64-tiny-dnn/PKGBUILD +++ b/mingw-w64-tiny-dnn/PKGBUILD @@ -12,7 +12,7 @@ license=('BSD3') depends=("${MINGW_PACKAGE_PREFIX}-intel-tbb" "${MINGW_PACKAGE_PREFIX}-protobuf") makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" - "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-pkg-config") url="https://tiny-dnn.readthedocs.io/" source=(${_realname}-${pkgver}.tar.gz::https://github.com/tiny-dnn/tiny-dnn/archive/v${pkgver}.tar.gz diff --git a/mingw-w64-tl-expected/PKGBUILD b/mingw-w64-tl-expected/PKGBUILD index c7a2429c36..e282d5e2f9 100644 --- a/mingw-w64-tl-expected/PKGBUILD +++ b/mingw-w64-tl-expected/PKGBUILD @@ -10,7 +10,7 @@ arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url='https://github.com/TartanLlama/expected' license=('custom:CC0') -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja") source=("expected-v1.0.0.tar.gz::https://github.com/TartanLlama/expected/archive/v1.0.0.tar.gz") diff --git a/mingw-w64-totem-pl-parser/002-meson-check-version-script.patch b/mingw-w64-totem-pl-parser/002-meson-check-version-script.patch new file mode 100644 index 0000000000..5ce6e1f080 --- /dev/null +++ b/mingw-w64-totem-pl-parser/002-meson-check-version-script.patch @@ -0,0 +1,39 @@ +From f4f69c9b99095416aaed18a73f7486ad9eb04aa9 Mon Sep 17 00:00:00 2001 +From: Biswapriyo Nath +Date: Mon, 17 Jan 2022 06:24:32 +0000 +Subject: [PATCH] meson: Check version-script linker option before using + +clang in mingw does not support version script linker option +--- + plparse/meson.build | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/plparse/meson.build b/plparse/meson.build +index cc3b221..eb37956 100644 +--- a/plparse/meson.build ++++ b/plparse/meson.build +@@ -60,7 +60,9 @@ libexecdir = join_paths(get_option('prefix'), get_option('libexecdir')) + plparser_cflags = extra_warning_cflags + ['-DLIBEXECDIR="@0@"'.format(libexecdir)] + + symbol_map = 'plparser.map' +-symbol_link_args = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), symbol_map) ++symbol_link_args = cc.get_supported_link_arguments([ ++ '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), symbol_map) ++ ]) + + plparser_lib = library('totem-plparser', + plparser_sources, features_h, +@@ -96,7 +98,9 @@ plparser_mini_sources = [ + ] + + mini_symbol_map = 'plparser-mini.map' +-mini_symbol_link_args = '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mini_symbol_map) ++mini_symbol_link_args = cc.get_supported_link_arguments([ ++ '-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(), mini_symbol_map) ++ ]) + + plparser_mini_lib = library('totem-plparser-mini', + plparser_mini_sources, +-- +GitLab + diff --git a/mingw-w64-totem-pl-parser/PKGBUILD b/mingw-w64-totem-pl-parser/PKGBUILD index 475217e7df..d5f2b13b3c 100644 --- a/mingw-w64-totem-pl-parser/PKGBUILD +++ b/mingw-w64-totem-pl-parser/PKGBUILD @@ -4,9 +4,9 @@ _realname=totem-pl-parser pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=3.26.3 -pkgrel=2 +pkgrel=4 arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') pkgdesc="Simple GObject-based library to parse and save a host of playlist formats (mingw-w64)" options=(strip staticlibs) depends=("${MINGW_PACKAGE_PREFIX}-glib2" @@ -19,14 +19,15 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-meson" "${MINGW_PACKAGE_PREFIX}-pkg-config" "${MINGW_PACKAGE_PREFIX}-vala" "${MINGW_PACKAGE_PREFIX}-gobject-introspection" - "${MINGW_PACKAGE_PREFIX}-cc" - "gtk-doc") + "${MINGW_PACKAGE_PREFIX}-cc") license=("LGPL 2") url="https://www.gnome.org" source=(https://download.gnome.org/sources/${_realname}/${pkgver%.*}/${_realname}-${pkgver}.tar.xz - 001-win.patch) + 001-win.patch + 002-meson-check-version-script.patch) sha256sums=('0efd01b8a0a9770d52fe7354d298874ed845449b88f3f78f49290729fc2d448d' - '370eabf2ec0b4d8182e4e5a474c0b63665bc278343243b6ad59f20dc94723771') + '370eabf2ec0b4d8182e4e5a474c0b63665bc278343243b6ad59f20dc94723771' + 'de8c897a3e3d3596b16eace85eee88c67f823c1d1b5dfa31ae9456bccf0ecb0a') noextract=(${_realname}-${pkgver}.tar.xz) prepare() { @@ -34,6 +35,7 @@ prepare() { cd "${srcdir}"/${_realname}-${pkgver} patch -p1 -i ${srcdir}/001-win.patch + patch -p1 -i ${srcdir}/002-meson-check-version-script.patch } build() { @@ -44,7 +46,7 @@ build() { ${MINGW_PREFIX}/bin/meson \ --prefix="${MINGW_PREFIX}" \ --buildtype plain \ - -Dwith_introspection=false \ + -Dintrospection=true \ ../${_realname}-${pkgver} ${MINGW_PREFIX}/bin/ninja diff --git a/mingw-w64-tree-sitter/PKGBUILD b/mingw-w64-tree-sitter/PKGBUILD index 470d7911af..ad70836140 100644 --- a/mingw-w64-tree-sitter/PKGBUILD +++ b/mingw-w64-tree-sitter/PKGBUILD @@ -3,7 +3,7 @@ _realname=tree-sitter pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=0.20.1 +pkgver=0.20.4 pkgrel=1 pkgdesc="An incremental parsing system for programming tools (mingw-w64)" arch=('any') @@ -13,14 +13,13 @@ license=('MIT') makedepends=("unzip" "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-rust") source=("${_realname}-${pkgver}.zip::https://github.com/tree-sitter/tree-sitter/archive/v${pkgver}.zip" 001-mingw-build.patch) -sha256sums=('22d27a22579523fcad4de5fedb83b9a38b7225262b5e8b0ced19247da1d9abab' +sha256sums=('0ad5d53046a522860d66e6ecb768a3d52fc2bbb6b3afbea7e28439fd4ad6a705' '19d2a1608ca5c6138c228b97815c48ac95be2bec1265c207fdc0950a65b8ebad') noextract=("${_realname}-${pkgver}.zip") prepare() { - cd "${srcdir}" [[ -d ${_realname}-${pkgver} ]] && rm -rf ${_realname}-${pkgver} - unzip "${_realname}-${pkgver}.zip" + unzip -q "${_realname}-${pkgver}.zip" cd "${srcdir}/${_realname}-${pkgver}" patch -p1 -i ${srcdir}/001-mingw-build.patch diff --git a/mingw-w64-trompeloeil/PKGBUILD b/mingw-w64-trompeloeil/PKGBUILD index 3d9286bc39..57c1a8f714 100644 --- a/mingw-w64-trompeloeil/PKGBUILD +++ b/mingw-w64-trompeloeil/PKGBUILD @@ -9,7 +9,7 @@ pkgdesc="Header only C++14 mocking framework (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url='https://github.com/rollbear/trompeloeil' -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake") license=('Boost') source=(${_realname}-${pkgver}.tar.gz::https://github.com/rollbear/trompeloeil/archive/v${pkgver}.tar.gz) diff --git a/mingw-w64-uasm/PKGBUILD b/mingw-w64-uasm/PKGBUILD index f4b9037f83..2b8d27b14b 100644 --- a/mingw-w64-uasm/PKGBUILD +++ b/mingw-w64-uasm/PKGBUILD @@ -4,16 +4,16 @@ _realname=uasm pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=2.53.r668.8f8feb7 -pkgrel=1 +pkgrel=2 _commit='8f8feb76a3fec91c5038bb09dfc304df804f5e16' pkgdesc="UASM is a free MASM-compatible assembler based on JWasm" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') license=('Watcom-1.0') url="https://github.com/Terraspace/UASM" -depends=("${MINGW_PACKAGE_PREFIX}-gcc") +depends=("${MINGW_PACKAGE_PREFIX}-cc") options=('strip') -makedepends=("git" "${MINGW_PACKAGE_PREFIX}-cc") +makedepends=("git") source=("UASM"::"git+https://github.com/Terraspace/UASM.git#commit=$_commit") sha256sums=('SKIP') @@ -27,6 +27,7 @@ prepare() { cd ${srcdir}/UASM/ rm -rf MinGWR sed -i -e 's/^extra_c_flags = .*$/& -fcommon/' GccWin.mak + sed -i -e 's|gcc\.exe|cc.exe|g' GccWin.mak sed -i 's/s - cv.ps/(uint_8 *)s - cv.ps/;s/s - start/(uint_8*)s - start/' dbgcv.c } diff --git a/mingw-w64-uchardet/0001-fix-pkgconfig-files.patch b/mingw-w64-uchardet/0001-fix-pkgconfig-files.patch new file mode 100644 index 0000000000..5b0257008d --- /dev/null +++ b/mingw-w64-uchardet/0001-fix-pkgconfig-files.patch @@ -0,0 +1,11 @@ +--- a/uchardet.pc.in ++++ b/uchardet.pc.in +@@ -1,5 +1,6 @@ +-libdir=@CMAKE_INSTALL_FULL_LIBDIR@ +-includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ ++prefix=@CMAKE_INSTALL_PREFIX@ ++libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ ++includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ + + Name: uchardet + Description: An encoding detector library ported from Mozilla diff --git a/mingw-w64-uchardet/PKGBUILD b/mingw-w64-uchardet/PKGBUILD index 249dcf266c..052f22d538 100644 --- a/mingw-w64-uchardet/PKGBUILD +++ b/mingw-w64-uchardet/PKGBUILD @@ -4,32 +4,43 @@ _realname=uchardet pkgbase="mingw-w64-${_realname}" pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=0.0.7 -pkgrel=1 +pkgrel=2 pkgdesc="An encoding detector library ported from Mozilla (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url='https://www.freedesktop.org/wiki/Software/uchardet/' license=('MPL') depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") -makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" - "${MINGW_PACKAGE_PREFIX}-cc") -source=("https://www.freedesktop.org/software/uchardet/releases/${_realname}-${pkgver}.tar.xz") -sha256sums=('3fc79408ae1d84b406922fa9319ce005631c95ca0f34b205fad867e8b30e45b1') +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-ninja") +source=("https://www.freedesktop.org/software/uchardet/releases/${_realname}-${pkgver}.tar.xz" + 0001-fix-pkgconfig-files.patch) +sha256sums=('3fc79408ae1d84b406922fa9319ce005631c95ca0f34b205fad867e8b30e45b1' + 'c26a5ebdbeea80f7f28d6ea2405ad86a0a7ceb0782f88bd511c05058b81829d7') + +prepare() { + cd "${_realname}-${pkgver}" + patch -p1 -i "${srcdir}/0001-fix-pkgconfig-files.patch" +} build() { - [[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -r "${srcdir}/build-${MINGW_CHOST}" - mkdir "${srcdir}/build-${MINGW_CHOST}" && cd "${srcdir}/build-${MINGW_CHOST}" + [[ -d "${srcdir}/build-${MSYSTEM}" ]] && rm -r "${srcdir}/build-${MSYSTEM}" + mkdir "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}" MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \ - ${MINGW_PREFIX}/bin/cmake \ - -G"MSYS Makefiles" \ + ${MINGW_PREFIX}/bin/cmake.exe \ + -G"Ninja" \ -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ -DCMAKE_BUILD_TYPE=Release \ ../${_realname}-${pkgver} - make + + ${MINGW_PREFIX}/bin/cmake.exe --build ./ } package() { - cd "${srcdir}/build-${MINGW_CHOST}" - make DESTDIR="$pkgdir" install + cd "${srcdir}/build-${MSYSTEM}" + DESTDIR="${pkgdir}" ${MINGW_PREFIX}/bin/cmake.exe --install ./ + + install -Dm644 "${srcdir}/${_realname}-${pkgver}/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING" } diff --git a/mingw-w64-uhttpmock/PKGBUILD b/mingw-w64-uhttpmock/PKGBUILD index b53f88d95e..9d714aad38 100644 --- a/mingw-w64-uhttpmock/PKGBUILD +++ b/mingw-w64-uhttpmock/PKGBUILD @@ -4,7 +4,7 @@ _realname=uhttpmock pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=0.5.3 -pkgrel=3 +pkgrel=4 arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') pkgdesc="uhttpmock is a HTTP web service mocking project for projects which use libsoup (mingw-w64)" @@ -14,8 +14,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-gobject-introspection" "${MINGW_PACKAGE_PREFIX}-vala" "${MINGW_PACKAGE_PREFIX}-autotools" - "${MINGW_PACKAGE_PREFIX}-gtk-doc" - "autoconf2.69") + "${MINGW_PACKAGE_PREFIX}-gtk-doc") options=('strip' 'staticlibs' '!debug') license=("LGPL 2.1") url="https://tecnocode.co.uk/" @@ -31,7 +30,7 @@ prepare() { patch -p1 -i ${srcdir}/0001-wsock.patch patch -p1 -i ${srcdir}/0002-give-cc-to-gir-scanner.all.patch - autoreconf-2.69 -fiv + WANT_AUTOCONF=2.69 autoreconf -fiv } build() { diff --git a/mingw-w64-unittest-cpp/PKGBUILD b/mingw-w64-unittest-cpp/PKGBUILD index 8893cd37e7..67a09cff78 100644 --- a/mingw-w64-unittest-cpp/PKGBUILD +++ b/mingw-w64-unittest-cpp/PKGBUILD @@ -11,7 +11,7 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') license=(MIT) url="https://unittest-cpp.github.io/" depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") -makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" +makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake") options=('staticlibs' 'strip') source=("https://github.com/unittest-cpp/unittest-cpp/archive/v${pkgver}.tar.gz") diff --git a/mingw-w64-vapoursynth/0003-no-registry-setup-py.patch b/mingw-w64-vapoursynth/0003-no-registry-setup-py.patch new file mode 100644 index 0000000000..8207f99e86 --- /dev/null +++ b/mingw-w64-vapoursynth/0003-no-registry-setup-py.patch @@ -0,0 +1,20 @@ +--- a/setup.py.orig 2022-01-19 16:37:13.715599300 +0530 ++++ b/setup.py 2022-01-19 16:37:53.038319700 +0530 +@@ -1,5 +1,6 @@ + #!/usr/bin/env python + ++import sys + from platform import architecture + from shutil import which + from os import curdir +@@ -14,7 +15,7 @@ + library_dirs = [curdir, "build"] + + is_portable = False +-if is_win: ++if is_win and "gcc" not in sys.version.lower(): + if is_64: + library_dirs.append(join("msvc_project", "x64", "Release")) + lib_suffix = "lib64" + + diff --git a/mingw-w64-vapoursynth/PKGBUILD b/mingw-w64-vapoursynth/PKGBUILD index a2260c14a7..c361cedcab 100644 --- a/mingw-w64-vapoursynth/PKGBUILD +++ b/mingw-w64-vapoursynth/PKGBUILD @@ -4,7 +4,7 @@ _realname=vapoursynth pkgbase=mingw-w64-${_realname} pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}") pkgver=57 -pkgrel=3 +pkgrel=4 pkgdesc="A video processing framework with simplicity in mind (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -20,10 +20,12 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cc" options=(!strip staticlibs) source=("vapoursynth-${pkgver}.tar.gz::https://github.com/vapoursynth/vapoursynth/archive/R${pkgver}.tar.gz" "0001-wrong-arguments-to-Mem32-constructor.patch" - "0002-prevent-portable-python.patch") + "0002-prevent-portable-python.patch" + "0003-no-registry-setup-py.patch") sha256sums=('9bed2ab1823050cfcbdbb1a57414e39507fd6c73f07ee4b5986fcbf0f6cb2d07' '085331d7c81da760b66864ec34647094384514689e7ea9895e7bd34ed9ce9831' - 'bc75208eb672446a23535455040d0f5a7e49e19e8276773dd9bc30ee87da2e27') + 'bc75208eb672446a23535455040d0f5a7e49e19e8276773dd9bc30ee87da2e27' + '7b902630104322c9e78cc937cc050a85888bf40e184c6b0cd34d1872aff3674e') prepare() { cd "${srcdir}/${_realname}-R${pkgver}" @@ -32,6 +34,7 @@ prepare() { # Upstream does not support mingw, see # https://github.com/vapoursynth/vapoursynth/pull/841 patch -p1 -i "${srcdir}/0002-prevent-portable-python.patch" + patch -p1 -i "${srcdir}/0003-no-registry-setup-py.patch" autoreconf -vfi } @@ -45,7 +48,7 @@ build() { --host=${MINGW_CHOST} \ --build=${MINGW_CHOST} \ --target=${MINGW_CHOST} \ - --enable-python-module=yes + --enable-python-module=no make } @@ -66,7 +69,9 @@ package() { rm -f ${pkgdir}${MINGW_PREFIX}/lib/vapoursynth/*.dll.a rm -f ${pkgdir}${MINGW_PREFIX}/lib/python${_py3ver}/site-packages/*.dll.a - # Temporary fix - cp ${pkgdir}${MINGW_PREFIX}/lib/python${_py3ver}/site-packages/vapoursynth.dll \ - ${pkgdir}${MINGW_PREFIX}/lib/python${_py3ver}/site-packages/vapoursynth.pyd + export CFLAGS="-L$(cygpath -wm $pkgdir)/${MINGW_PREFIX}/lib $CFLAGS" + cd "${srcdir}/${_realname}-R${pkgver}" + MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ + ${MINGW_PREFIX}/bin/python setup.py install --prefix=${MINGW_PREFIX} \ + --root="${pkgdir}" --optimize=1 } diff --git a/mingw-w64-verilator/0001-Fix-MSWIN-compile-error-2681.patch b/mingw-w64-verilator/0001-Fix-MSWIN-compile-error-2681.patch deleted file mode 100644 index 0d2c37524d..0000000000 --- a/mingw-w64-verilator/0001-Fix-MSWIN-compile-error-2681.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/Changes b/Changes -index 0cc1c41b..4f1a4c16 100644 ---- a/Changes -+++ b/Changes -@@ -13,6 +13,8 @@ Verilator 4.217 devel - - **Minor:** - -+* Fix MSWIN compile error (#2681). [Unai Martinez-Corral] -+ - - Verilator 4.216 2021-12-05 - ========================== -diff --git a/src/V3File.cpp b/src/V3File.cpp -index 47cc857d..19a777b2 100644 ---- a/src/V3File.cpp -+++ b/src/V3File.cpp -@@ -335,7 +335,7 @@ class VInFilterImp final { - #ifdef INFILTER_PIPE - pid_t m_pid = 0; // fork() process id - #else -- const int m_pid = 0; // fork() process id - always zero as disabled -+ int m_pid = 0; // fork() process id - always zero as disabled - #endif - bool m_pidExited = false; - int m_pidStatus = 0; --- -2.34.1 - diff --git a/mingw-w64-verilator/PKGBUILD b/mingw-w64-verilator/PKGBUILD index 13fc702f56..53cc36dde3 100644 --- a/mingw-w64-verilator/PKGBUILD +++ b/mingw-w64-verilator/PKGBUILD @@ -3,31 +3,31 @@ _realname=verilator pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=4.216 -pkgrel=1 +pkgver=4.218 +pkgrel=2 pkgdesc="The fastest free Verilog HDL simulator (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') url="https://www.veripool.org/projects/verilator/wiki/Intro" license=("LGPL") groups=("${MINGW_PACKAGE_PREFIX}-eda") -makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "flex" "${MINGW_PACKAGE_PREFIX}-autotools") +makedepends=("${MINGW_PACKAGE_PREFIX}-autotools" + "${MINGW_PACKAGE_PREFIX}-cc" + "${MINGW_PACKAGE_PREFIX}-python" + "flex") depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs") source=( - "${_realname}::https://codeload.github.com/${_realname}/${_realname}/tar.gz/v${pkgver}" - '0001-Fix-MSWIN-compile-error-2681.patch' + "${_realname}.tar.gz::https://codeload.github.com/${_realname}/${_realname}/tar.gz/v${pkgver}" ) sha256sums=( - '64e5093b629a7e96178e3b2494f208955f218dfac6f310a91e4fc07d050c980b' - '9a38ccf4f492d804e49cf764e1ada9bbcceccfdba54161af2538ce5d856e6385' + 'ef7b1e6ddb715ddb3cc998fcbefc7150cfa2efc5118cf43ddb594bf41ea41cc7' ) prepare() { [[ -d "${srcdir}/build-${MINGW_CHOST}" ]] && rm -rf "${srcdir}/build-${MINGW_CHOST}" cp -rf "${srcdir}/${_realname}-${pkgver}" "${srcdir}/build-${MINGW_CHOST}" cd "${srcdir}/build-${MINGW_CHOST}" - patch -p1 -i "${srcdir}"/0001-Fix-MSWIN-compile-error-2681.patch sh autoconf } diff --git a/mingw-w64-vlc/PKGBUILD b/mingw-w64-vlc/PKGBUILD index 91e6f5d84e..4c6454f8c1 100644 --- a/mingw-w64-vlc/PKGBUILD +++ b/mingw-w64-vlc/PKGBUILD @@ -11,7 +11,7 @@ pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}-git") replaces=("${MINGW_PACKAGE_PREFIX}-${_realname}-git") pkgver=3.0.16 -pkgrel=2 +pkgrel=3 pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player (mingw-w64)" arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') diff --git a/mingw-w64-vulkan-headers/PKGBUILD b/mingw-w64-vulkan-headers/PKGBUILD index e5737c46c9..99af13805d 100644 --- a/mingw-w64-vulkan-headers/PKGBUILD +++ b/mingw-w64-vulkan-headers/PKGBUILD @@ -4,7 +4,7 @@ _realname=Vulkan-Headers pkgbase=mingw-w64-vulkan-headers pkgname=("${MINGW_PACKAGE_PREFIX}-vulkan-headers") -pkgver=1.2.194 +pkgver=1.2.203 pkgrel=1 pkgdesc='Vulkan header files (mingw-w64)' arch=('any') @@ -17,7 +17,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja") source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/KhronosGroup/${_realname}/archive/v${pkgver}.tar.gz" "0001-fix-export.patch") -sha256sums=('8700d4c88fc2cde245829135a316d68f854cf979e87db5504ee4c42f24023355' +sha256sums=('7239108c372f1fbe365bd8d1610ca2bb4e72b73b2151f2551bf9df54dd539639' '155048d7f96a84d59c0746889ab8d5741b4393213b11b7ebe3c78eb3b395cece') prepare() { diff --git a/mingw-w64-vulkan-loader/002-proper-def-files-for-32bit.patch b/mingw-w64-vulkan-loader/002-proper-def-files-for-32bit.patch index 64b67c0dfb..e79b10e44e 100644 --- a/mingw-w64-vulkan-loader/002-proper-def-files-for-32bit.patch +++ b/mingw-w64-vulkan-loader/002-proper-def-files-for-32bit.patch @@ -1,8 +1,8 @@ diff --git a/loader/CMakeLists.txt b/loader/CMakeLists.txt -index 56ff014..8e884f3 100644 +index 8bb10fd..fc38ecc 100644 --- a/loader/CMakeLists.txt +++ b/loader/CMakeLists.txt -@@ -172,7 +172,7 @@ set(ASM_FAILURE_MSG "${ASM_FAILURE_MSG}Note that this may be unsafe, as the C co +@@ -170,7 +170,7 @@ set(ASM_FAILURE_MSG "${ASM_FAILURE_MSG}Note that this may be unsafe, as the C co set(ASM_FAILURE_MSG "${ASM_FAILURE_MSG} the stack frame for certain calls. If the compiler does not do this, then unknown device") set(ASM_FAILURE_MSG "${ASM_FAILURE_MSG} extensions will suffer from a corrupted stack.") if(WIN32) @@ -11,7 +11,7 @@ index 56ff014..8e884f3 100644 find_program(JWASM_FOUND jwasm) if (JWASM_FOUND) set(CMAKE_ASM_MASM_COMPILER ${JWASM_FOUND}) -@@ -190,7 +190,7 @@ if(WIN32) +@@ -188,7 +188,7 @@ if(WIN32) if (USE_MASM) enable_language(ASM_MASM) endif () @@ -20,22 +20,23 @@ index 56ff014..8e884f3 100644 if(MINGW) set(CMAKE_ASM_MASM_FLAGS ${CMAKE_ASM_MASM_FLAGS} ${JWASM_FLAGS}) elseif(NOT CMAKE_CL_64 AND NOT JWASM_FOUND) -@@ -204,12 +204,14 @@ if(WIN32) - set_target_properties(loader_asm_gen_files PROPERTIES FOLDER ${LOADER_HELPER_FOLDER}) +@@ -203,6 +203,7 @@ if(WIN32) add_library(loader-unknown-chain OBJECT unknown_ext_chain_masm.asm) + target_link_libraries(loader-unknown-chain Vulkan::Headers) add_dependencies(loader-unknown-chain loader_asm_gen_files) + set_target_properties(loader-unknown-chain PROPERTIES DEFINE_SYMBOL "VK_BUILDING_DLL") else() message(WARNING "Could not find working MASM assebler\n${ASM_FAILURE_MSG}") add_custom_target(loader_asm_gen_files) - add_library(loader-unknown-chain OBJECT unknown_ext_chain.c) +@@ -210,6 +211,7 @@ if(WIN32) + target_link_libraries(loader-unknown-chain Vulkan::Headers) set_target_properties(loader-unknown-chain PROPERTIES CMAKE_C_FLAGS_DEBUG "${MODIFIED_C_FLAGS_DEBUG}") target_compile_options(loader-unknown-chain PUBLIC ${MSVC_LOADER_COMPILE_OPTIONS}) + set_target_properties(loader-unknown-chain PROPERTIES DEFINE_SYMBOL "VK_BUILDING_DLL") endif() elseif(APPLE) # For MacOS, use the C code and force the compiler's tail-call optimization instead of using assembly code. -@@ -242,12 +244,14 @@ endif() +@@ -261,12 +263,14 @@ endif() if(WIN32) add_library(loader-norm OBJECT ${NORMAL_LOADER_SRCS} dirent_on_windows.c) @@ -50,7 +51,7 @@ index 56ff014..8e884f3 100644 set_target_properties(loader-opt PROPERTIES CMAKE_C_FLAGS_DEBUG "${MODIFIED_C_FLAGS_DEBUG}") target_compile_options(loader-opt PUBLIC ${MSVC_LOADER_COMPILE_OPTIONS}) target_include_directories(loader-opt PRIVATE "$") -@@ -267,10 +271,17 @@ if(WIN32) +@@ -286,10 +290,17 @@ if(WIN32) # when adding the suffix the import and runtime library names must be consistent # mingw: libvulkan-1.dll.a / libvulkan-1.dll # msvc: vulkan-1.lib / vulkan-1.dll @@ -70,10 +71,10 @@ index 56ff014..8e884f3 100644 if(MSVC AND ENABLE_WIN10_ONECORE) diff --git a/loader/vk_loader_platform.h b/loader/vk_loader_platform.h -index f603f19..987465e 100644 +index 507a901..6b8fc48 100644 --- a/loader/vk_loader_platform.h +++ b/loader/vk_loader_platform.h -@@ -71,7 +71,13 @@ +@@ -76,7 +76,13 @@ #include "vk_layer_dispatch_table.h" #include "vk_loader_extensions.h" @@ -89,7 +90,7 @@ index f603f19..987465e 100644 #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590) #define LOADER_EXPORT __attribute__((visibility("default"))) diff --git a/loader/vulkan-1.def b/loader/vulkan-1.def -index aa74306..ca91743 100644 +index 6a88b55..1d26b1f 100644 --- a/loader/vulkan-1.def +++ b/loader/vulkan-1.def @@ -22,7 +22,7 @@ diff --git a/mingw-w64-vulkan-loader/003-generate-pkgconfig-files.patch b/mingw-w64-vulkan-loader/003-generate-pkgconfig-files.patch index 7b10fca12e..00918575dd 100644 --- a/mingw-w64-vulkan-loader/003-generate-pkgconfig-files.patch +++ b/mingw-w64-vulkan-loader/003-generate-pkgconfig-files.patch @@ -1,6 +1,6 @@ --- Vulkan-Loader-1.2.158.orig/loader/CMakeLists.txt +++ Vulkan-Loader-1.2.158/loader/CMakeLists.txt -@@ -321,11 +335,11 @@ +@@ -385,11 +385,11 @@ ) # cmake-format: on endif() diff --git a/mingw-w64-vulkan-loader/004-disable-suffix-in-static-lib.patch b/mingw-w64-vulkan-loader/004-disable-suffix-in-static-lib.patch index d15220f690..ced6e1315f 100644 --- a/mingw-w64-vulkan-loader/004-disable-suffix-in-static-lib.patch +++ b/mingw-w64-vulkan-loader/004-disable-suffix-in-static-lib.patch @@ -1,11 +1,11 @@ --- a/loader/CMakeLists.txt +++ b/loader/CMakeLists.txt -@@ -334,7 +348,7 @@ +@@ -398,7 +398,7 @@ foreach(LIB ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES} ${PLATFORM_LIBS}) set(PRIVATE_LIBS "${PRIVATE_LIBS} -l${LIB}") endforeach() - if(WIN32) + if(MSVC) set(VULKAN_LIB_SUFFIX "-1") - endif () - configure_file("vulkan.pc.in" "vulkan.pc" @ONLY) + # Set libdir path as in cmake's FindVulkan.cmake + # https://github.com/KhronosGroup/Vulkan-Loader/issues/668 diff --git a/mingw-w64-vulkan-loader/PKGBUILD b/mingw-w64-vulkan-loader/PKGBUILD index 9fbe2c847e..e344095d9c 100644 --- a/mingw-w64-vulkan-loader/PKGBUILD +++ b/mingw-w64-vulkan-loader/PKGBUILD @@ -6,7 +6,7 @@ pkgbase=mingw-w64-vulkan-loader pkgname=("${MINGW_PACKAGE_PREFIX}-vulkan-loader") provides=("${MINGW_PACKAGE_PREFIX}-vulkan") replaces=("${MINGW_PACKAGE_PREFIX}-vulkan") -pkgver=1.2.194 +pkgver=1.2.203 pkgrel=1 pkgdesc='Vulkan Installable Client Driver (ICD) Loader (mingw-w64)' arch=('any') @@ -21,21 +21,18 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-python" "${MINGW_PACKAGE_PREFIX}-cc") source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/KhronosGroup/${_realname}/archive/v${pkgver}.tar.gz" - "https://github.com/KhronosGroup/Vulkan-Loader/commit/8c0ee92.patch" 002-proper-def-files-for-32bit.patch 003-generate-pkgconfig-files.patch 004-disable-suffix-in-static-lib.patch libvulkan-32.def) -sha256sums=('5c5017ac93dbfbead705d2bb9d10c8bbaeed9f916b9043b61950fb6a2fb91d65' - '50ddd856059adf3959a4f4a5871862a39e395049a1cb65c89288378a056cc273' - '4b10b486ebcf20b9ca7ede4184427adc2222b2cbea14c505603bfd17f6abccaa' - '97c5ff3d945d2ed5d5a8b9cc8b6199ff55d4e6b210e59143228c4e82d0252cb4' - 'ee0def2718356a2ed441a786e99a0136b9c425274f660cd4447ed0aff4b0de6a' - '70a65c93c9bd4fece5ea50cdbf77dad615996d9264813c840b19b1c14186b73b') +sha256sums=('a431c627f36f90ce8d1aa752e7a37838db569760a54bb97edaee35dae4743118' + '1de2c326081515935419079a6aee12d38a8ecfd73f5080d68d41e516d3108b00' + 'c7287931a4f50b0215643eb23d429b56f0b218b11116f90778aea1e0b85c3dfc' + 'e8c7a59dc6aa8707c92150256602a36dcae4ee8a5bc5eb2a54a41246c970e56b' + 'c6fb466a246ec5ed8085ed01843bb71363ad98ef6c1576f5bfe525187476e3fe') prepare() { cd ${srcdir}/${_realname}-${pkgver} - patch -p1 -i "${srcdir}/8c0ee92.patch" patch -p1 -i ${srcdir}/002-proper-def-files-for-32bit.patch patch -p1 -i ${srcdir}/003-generate-pkgconfig-files.patch patch -p1 -i ${srcdir}/004-disable-suffix-in-static-lib.patch diff --git a/mingw-w64-vulkan-loader/libvulkan-32.def b/mingw-w64-vulkan-loader/libvulkan-32.def index 356f1e20b5..eb82ac53eb 100644 --- a/mingw-w64-vulkan-loader/libvulkan-32.def +++ b/mingw-w64-vulkan-loader/libvulkan-32.def @@ -80,6 +80,7 @@ vkCreateEvent@16 vkCreateFence@16 vkCreateFramebuffer@16 vkCreateGraphicsPipelines@28 +vkCreateHeadlessSurfaceEXT@16 vkCreateImage@16 vkCreateImageView@16 vkCreateInstance@12 diff --git a/mingw-w64-vulkan-validation-layers/002-proper-def-files-for-32bit.patch b/mingw-w64-vulkan-validation-layers/002-proper-def-files-for-32bit.patch index d66cc319d0..72d8c4a196 100644 --- a/mingw-w64-vulkan-validation-layers/002-proper-def-files-for-32bit.patch +++ b/mingw-w64-vulkan-validation-layers/002-proper-def-files-for-32bit.patch @@ -8,20 +8,3 @@ set_target_properties(VkLayer_${target} PROPERTIES CXX_STANDARD ${VVL_CPP_STANDARD}) target_compile_definitions(VkLayer_${target} PUBLIC ${LAYER_COMPILE_DEFINITIONS}) target_link_libraries(VkLayer_${target} PRIVATE VkLayer_utils) ---- Vulkan-ValidationLayers/layers/vk_format_utils.h.orig 2020-02-28 11:50:38.167672800 +0300 -+++ Vulkan-ValidationLayers/layers/vk_format_utils.h 2020-02-28 11:51:10.078172600 +0300 -@@ -25,7 +25,13 @@ - #include "vulkan/vulkan.h" - - #if !defined(VK_LAYER_EXPORT) --#if defined(__GNUC__) && __GNUC__ >= 4 -+#if defined(_WIN32) -+# if defined (VK_BUILDING_DLL) -+# define VK_LAYER_EXPORT __declspec(dllexport) -+# else -+# define VK_LAYER_EXPORT -+# endif -+#elif defined(__GNUC__) && __GNUC__ >= 4 - #define VK_LAYER_EXPORT __attribute__((visibility("default"))) - #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590) - #define VK_LAYER_EXPORT __attribute__((visibility("default"))) diff --git a/mingw-w64-vulkan-validation-layers/004-cmake-fix-spirv-libs.patch b/mingw-w64-vulkan-validation-layers/004-cmake-fix-spirv-libs.patch new file mode 100644 index 0000000000..c54c95fb95 --- /dev/null +++ b/mingw-w64-vulkan-validation-layers/004-cmake-fix-spirv-libs.patch @@ -0,0 +1,11 @@ +--- a/layers/CMakeLists.txt ++++ b/layers/CMakeLists.txt +@@ -308,7 +308,7 @@ + if (USE_ROBIN_HOOD_HASHING) + target_include_directories(VkLayer_khronos_validation PRIVATE ${ROBIN_HOOD_HASHING_INCLUDE_DIR}) + endif() +- target_link_libraries(VkLayer_khronos_validation PRIVATE SPIRV-Headers::SPIRV-Headers SPIRV-Tools-static SPIRV-Tools-opt) ++ target_link_libraries(VkLayer_khronos_validation PRIVATE SPIRV-Headers::SPIRV-Headers SPIRV-Tools SPIRV-Tools-opt) + + + # The output file needs Unix "/" separators or Windows "\" separators On top of that, Windows separators actually need to be doubled diff --git a/mingw-w64-vulkan-validation-layers/PKGBUILD b/mingw-w64-vulkan-validation-layers/PKGBUILD index af29ba5160..4f20cecbe9 100644 --- a/mingw-w64-vulkan-validation-layers/PKGBUILD +++ b/mingw-w64-vulkan-validation-layers/PKGBUILD @@ -4,8 +4,8 @@ _realname=Vulkan-ValidationLayers pkgbase=mingw-w64-vulkan-validation-layers pkgname=("${MINGW_PACKAGE_PREFIX}-vulkan-validation-layers") -pkgver=1.2.194 -pkgrel=1 +pkgver=1.2.203 +pkgrel=2 pkgdesc='Vulkan Validation Layers (mingw-w64)' arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') @@ -23,20 +23,26 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-spirv-tools" "${MINGW_PACKAGE_PREFIX}-cc") source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/KhronosGroup/${_realname}/archive/v${pkgver}.tar.gz" + "https://github.com/KhronosGroup/Vulkan-ValidationLayers/commit/251b223.patch" 001-fix-json-layers-install-dest.patch 002-proper-def-files-for-32bit.patch - 003-install-layout.patch) -sha256sums=('c2a601fa8ccf2ae633c9e929149c489fbf97e951995f8982001e129fa1b850c2' + 003-install-layout.patch + 004-cmake-fix-spirv-libs.patch) +sha256sums=('55aa46a001993fe1ab4177d5a03c5e90091dc674d716a560dc0e6c8a1e0158f9' + '16ce351fd33d5cadc5b60c1d5873ed63fa97326c4c8b1df268d9aa413b32f5a7' 'aae34364773bbe39fa510713c48a5c1bf0fb7b5fe984770bc9e2fd4e1cd12f60' - '07e12b905174d2b2cb44babe548fe521d913226000daf29e1d812a10ce67829a' - '02dc645bdae0b7150766e1663cc9e675681201d7247d68375c307a5f75db4ce0') + '91afeaf48dc3b46e0e643e1a0445c4562314732c09b10570f01e8ee58acf8b87' + '02dc645bdae0b7150766e1663cc9e675681201d7247d68375c307a5f75db4ce0' + 'db535608517a2f5fe6b68c24e905037b51aa1191faccbdc5e41b641f38676abc') prepare() { cd ${srcdir}/${_realname}-${pkgver} + patch -p1 -i ${srcdir}/251b223.patch patch -p1 -i ${srcdir}/001-fix-json-layers-install-dest.patch patch -p1 -i ${srcdir}/002-proper-def-files-for-32bit.patch patch -p1 -i ${srcdir}/003-install-layout.patch + patch -p1 -i ${srcdir}/004-cmake-fix-spirv-libs.patch } build() { diff --git a/mingw-w64-windows-default-manifest/PKGBUILD b/mingw-w64-windows-default-manifest/PKGBUILD index 53acab44dc..a2900e5ec1 100644 --- a/mingw-w64-windows-default-manifest/PKGBUILD +++ b/mingw-w64-windows-default-manifest/PKGBUILD @@ -10,7 +10,7 @@ url='https://cygwin.com/' arch=('any') mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') license=('BSD') -makedepends=('git' "${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-autotools") +makedepends=('git' "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-autotools") _GIT_TAG="release-6_4" source=("git+https://sourceware.org/git/cygwin-apps/${_realname}.git#tag=${_GIT_TAG}") sha256sums=('SKIP') diff --git a/mingw-w64-winstorecompat-git/PKGBUILD b/mingw-w64-winstorecompat-git/PKGBUILD index 776a8bfe0b..8c23d125f6 100644 --- a/mingw-w64-winstorecompat-git/PKGBUILD +++ b/mingw-w64-winstorecompat-git/PKGBUILD @@ -12,7 +12,7 @@ mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://mingw-w64.sourceforge.io/" license=('custom') groups=("${MINGW_PACKAGE_PREFIX}-toolchain") -makedepends=("git" "${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-binutils" "${MINGW_PACKAGE_PREFIX}-crt" "${MINGW_PACKAGE_PREFIX}-headers" "${MINGW_PACKAGE_PREFIX}-autotools") +makedepends=("git" "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-binutils" "${MINGW_PACKAGE_PREFIX}-crt" "${MINGW_PACKAGE_PREFIX}-headers" "${MINGW_PACKAGE_PREFIX}-autotools") options=('strip' '!buildflags' 'staticlibs' '!emptydirs' '!debug') source=("mingw-w64"::"git+https://git.code.sf.net/p/mingw-w64/mingw-w64#commit=$_commit") sha256sums=('SKIP') diff --git a/mingw-w64-wt/PKGBUILD b/mingw-w64-wt/PKGBUILD index 3c21856dea..cbe2428980 100644 --- a/mingw-w64-wt/PKGBUILD +++ b/mingw-w64-wt/PKGBUILD @@ -3,7 +3,7 @@ _realname=wt pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=4.5.2 +pkgver=4.6.1 pkgrel=1 pkgdesc="A C++ library and application server for developing and deploying web applications (mingw-w64)" arch=('any') @@ -45,7 +45,7 @@ source=("${_realname}-${pkgver}.tar.gz::https://github.com/emweb/wt/archive/${pk '002-wt-4.4.0-skip-some-examples.patch' '003-wt-4.4.0-disable-win32-configdir.patch' '004-wt-4.4.0-disable-win32-examples-bat.patch') -sha512sums=('adfa21e387d8837b8f18191d8eda1784724e6abe6b40be0212f4378d09545a7058f5294f6de245b832d561f28c1db78a9fa941e90513bc26e0c9c6f7718ffae3' +sha512sums=('a4642878495a6046232d90a123c95e9143917603e086b817a92f7c945cc39c200df58ec524cf6cfc0be29be2986c36f63edca9af15bb9a9aff8bb1aa0345f778' 'a585ca7c80ec4b05e88622fe98f97c3ee249dbe8a93bca611656d6a07fb36734c27691ebf5578b8adfa71b128466efc7f43513e265feab2b1942e80185555deb' '1c03f218678286007b60b041381406187c81f6169e27777312ee92db5537847c975bec4739a01deffbdac7012e5fee764e3636a06fb68870aaa925849ea12568' '82a0129dc7dfb103e61ae268572f5e4630fd2469f6a40778290dee0f3db65e50887b91ed9d7db8a6e50d6e162b3ed7ee286492952cd54d2518d344267bddcce7' diff --git a/mingw-w64-xa65/PKGBUILD b/mingw-w64-xa65/PKGBUILD new file mode 100644 index 0000000000..3a6c52a43f --- /dev/null +++ b/mingw-w64-xa65/PKGBUILD @@ -0,0 +1,33 @@ +# + +_realname=xa65 +pkgbase=mingw-w64-${_realname} +pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" +pkgver=2.3.12 +pkgrel=1 +pkgdesc="6502/65816 cross assembler" +arch=('any') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +license=('GPL2') +url="http://www.floodgap.com/retrotech/xa/" +depends=() +makedepends=("${MINGW_PACKAGE_PREFIX}-cc") +options=(!strip staticlibs !buildflags) +source=("http://www.floodgap.com/retrotech/xa/dists/xa-${pkgver}.tar.gz") +sha256sums=('f8fd1536012d676fc6cbfcdd6a91793e564c89b6ef747f8db8f467c178fb0704') + +prepare() { + cd ${srcdir}/xa-${pkgver} + sed -i '/DESTDIR =/d' Makefile +} + +build() { + cd ${srcdir}/xa-${pkgver} + make ${MAKEFLAGS} +} + +package() { + cd ${srcdir}/xa-${pkgver} + make DESTDIR=${pkgdir}${MINGW_PREFIX} install + install -Dm644 ${srcdir}/xa-${pkgver}/README.1st ${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}/README +} diff --git a/mingw-w64-xmake/PKGBUILD b/mingw-w64-xmake/PKGBUILD index c34eb3f39a..5420d0a631 100644 --- a/mingw-w64-xmake/PKGBUILD +++ b/mingw-w64-xmake/PKGBUILD @@ -3,7 +3,7 @@ _realname=xmake pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=2.6.2 +pkgver=2.6.3 pkgrel=1 pkgdesc="A cross-platform build utility based on Lua (mingw-w64)" arch=('any') @@ -14,7 +14,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-ncurses" "${MINGW_PACKAGE_PREFIX}-readline") makedepends=("${MINGW_PACKAGE_PREFIX}-cc") source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/xmake-io/${_realname}/releases/download/v${pkgver}/${_realname}-v${pkgver}.tar.gz") -sha256sums=('845f4bb50e300f75ed819755702e586614945eddcc74bc1dcef38c5cc107cebf') +sha256sums=('43c739b8faa3be986f95421c7ba1e135ff18d4723fb88b7e0bb0cdd27ef37430') build() { cd "$srcdir" diff --git a/mingw-w64-yarn/PKGBUILD b/mingw-w64-yarn/PKGBUILD deleted file mode 100644 index 544e8213d6..0000000000 --- a/mingw-w64-yarn/PKGBUILD +++ /dev/null @@ -1,36 +0,0 @@ -# Maintainer: Peter Budai - -_realname=yarn -pkgbase=mingw-w64-${_realname} -pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.17.3 -pkgrel=1 -pkgdesc="Fast, reliable, and secure dependency management (mingw-w64)" -arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') -url="https://yarnpkg.com/" -license=("BSD") -depends=("${MINGW_PACKAGE_PREFIX}-nodejs") -source=("https://github.com/yarnpkg/${_realname}/releases/download/v${pkgver}/${_realname}-v${pkgver}.tar.gz") -sha256sums=('e3835194409f1b3afa1c62ca82f561f1c29d26580c9e220c36866317e043c6f3') - -package() { - cd "${srcdir}/${_realname}-v${pkgver}" - - install -dm755 "${pkgdir}"/${MINGW_PREFIX}/lib/node_modules/yarn - cp -R * "${pkgdir}"/${MINGW_PREFIX}/lib/node_modules/yarn - - install -dm755 "${pkgdir}"/${MINGW_PREFIX}/bin - cp bin/yarn "${pkgdir}"/${MINGW_PREFIX}/bin/ - cp bin/yarn.cmd "${pkgdir}"/${MINGW_PREFIX}/bin/ - cp bin/yarnpkg "${pkgdir}"/${MINGW_PREFIX}/bin/ - cp bin/yarnpkg.cmd "${pkgdir}"/${MINGW_PREFIX}/bin/ - - # update path to point to the right place - sed -i "s|$basedir/yarn.js|$basedir/../lib/node_modules/yarn/bin/yarn.js|" "${pkgdir}"/${MINGW_PREFIX}/bin/yarn - sed -i 's|yarn.js|\\..\\lib\\node_modules\\yarn\\bin\\yarn.js|' "${pkgdir}"/${MINGW_PREFIX}/bin/yarn.cmd - sed -i 's|./yarn.js|../lib/node_modules/yarn/bin/yarn.js|' "${pkgdir}"/${MINGW_PREFIX}/bin/yarnpkg - - install -Dm644 LICENSE "${pkgdir}/${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" - install -Dm644 README.md "${pkgdir}/${MINGW_PREFIX}/share/doc/${_realname}/README.md" -} diff --git a/mingw-w64-zstd/PKGBUILD b/mingw-w64-zstd/PKGBUILD index a64c1e9768..0be9b429d2 100644 --- a/mingw-w64-zstd/PKGBUILD +++ b/mingw-w64-zstd/PKGBUILD @@ -3,7 +3,7 @@ _realname=zstd pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=1.5.1 +pkgver=1.5.2 pkgrel=1 pkgdesc="Zstandard - Fast real-time compression algorithm (mingw-w64)" arch=('any') @@ -13,10 +13,12 @@ license=('BSD') makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-ninja" "${MINGW_PACKAGE_PREFIX}-cmake") -source=("https://github.com/facebook/zstd/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.gz" +source=("https://github.com/facebook/zstd/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.gz"{,.sig} zstd-1.4.0-fileio-mingw.patch) -sha256sums=('e28b2f2ed5710ea0d3a1ecac3f6a947a016b972b9dd30242369010e5f53d7002' +sha256sums=('7c42d56fac126929a6a85dbc73ff1db2411d04f104fae9bdea51305663a83fd0' + 'SKIP' '210e57fc4bff62e1af1ca8a3da3960de32a91255ba62b057c6bed5b3a7ebb3d5') +validpgpkeys=('4EF4AC63455FC9F4545D9B7DEF8FE99528B52FFD') # Zstandard Release Signing Key prepare() { cd "${srcdir}/${_realname}-${pkgver}"