diff options
| author | Adam Johnson <AdamJohnso@gmail.com> | 2021-09-29 12:00:21 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-29 09:00:21 -0700 |
| commit | f819f66b4c2a639e18233bc30deb98531a386f78 (patch) | |
| tree | 9ddc0edc67de15f109bd17bea2de9c68ea43d706 /ports/python3 | |
| parent | 6d4792b777078a8206f291075964c5870ae46c6c (diff) | |
| download | vcpkg-f819f66b4c2a639e18233bc30deb98531a386f78.tar.gz vcpkg-f819f66b4c2a639e18233bc30deb98531a386f78.zip | |
[python3] Add patch to fix Windows 11 SDK build failure. (#20292)
* [python3] Remove spurious dependencies.
* [python3] Add workaround for SDK 10.0.22000.0
* x-add-version
Diffstat (limited to 'ports/python3')
| -rw-r--r-- | ports/python3/0008-workaround-windows-11-sdk-rc-compiler-error.patch | 30 | ||||
| -rw-r--r-- | ports/python3/portfile.cmake | 14 | ||||
| -rw-r--r-- | ports/python3/vcpkg.json | 9 |
3 files changed, 40 insertions, 13 deletions
diff --git a/ports/python3/0008-workaround-windows-11-sdk-rc-compiler-error.patch b/ports/python3/0008-workaround-windows-11-sdk-rc-compiler-error.patch new file mode 100644 index 000000000..e5f8237d1 --- /dev/null +++ b/ports/python3/0008-workaround-windows-11-sdk-rc-compiler-error.patch @@ -0,0 +1,30 @@ +From 0a72b7061ed79c5d6d37b41a5b1610e32fb371a4 Mon Sep 17 00:00:00 2001 +From: Adam Johnson <AdamJohnso@gmail.com> +Date: Wed, 22 Sep 2021 21:04:21 -0400 +Subject: [PATCH] workaround windows 11 sdk rc compiler error + +winnt.h was changed to error if the `SYSTEM_CACHE_ALIGNMENT` cannot be +determined. when the RC compiler is invoked, this seems to fail where +previous SDKs silently set the ARM value. +--- + PC/python_ver_rc.h | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/PC/python_ver_rc.h b/PC/python_ver_rc.h +index 90fc6ba1a1..e313a5138e 100644 +--- a/PC/python_ver_rc.h ++++ b/PC/python_ver_rc.h +@@ -1,3 +1,10 @@ ++// Temporarily workaround bug in Windows SDK 10.0.22000.0 winnt.h ++#ifdef RC_INVOKED ++# ifndef SYSTEM_CACHE_ALIGNMENT_SIZE ++# define SYSTEM_CACHE_ALIGNMENT_SIZE 64 ++# endif ++#endif ++ + // Resource script for Python core DLL. + // Currently only holds version information. + // +-- +2.33.0.windows.1 + diff --git a/ports/python3/portfile.cmake b/ports/python3/portfile.cmake index 069008408..2ea878377 100644 --- a/ports/python3/portfile.cmake +++ b/ports/python3/portfile.cmake @@ -28,6 +28,14 @@ elseif(VCPKG_TARGET_IS_WINDOWS AND CMAKE_SYSTEM_VERSION EQUAL 6.1) message(FATAL_ERROR "python3 requires the feature deprecated-win7-support when building on Windows 7.") endif() +# The Windows 11 SDK has a problem that causes it to error on the resource files, so we patch that. +if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) + vcpkg_get_windows_sdk(WINSDK_VERSION) + if("${WINSDK_VERSION}" VERSION_GREATER_EQUAL "10.0.22000") + list(APPEND PATCHES "0008-workaround-windows-11-sdk-rc-compiler-error.patch") + endif() +endif() + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO python/cpython @@ -88,11 +96,6 @@ if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) "/p:ForceImportBeforeCppTargets=${SOURCE_PATH}/PCbuild/python_vcpkg.props" ) endif() - string(REPLACE "\\" "" WindowsSDKVersion "$ENV{WindowsSDKVersion}") - list(APPEND OPTIONS - "/p:WindowsTargetPlatformVersion=${WindowsSDKVersion}" - "/p:DefaultWindowsSDKVersion=${WindowsSDKVersion}" - ) if(VCPKG_TARGET_IS_UWP) list(APPEND OPTIONS "/p:IncludeUwp=true") else() @@ -117,6 +120,7 @@ if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP) PROJECT_SUBPATH "PCbuild/pcbuild.proj" OPTIONS ${OPTIONS} LICENSE_SUBPATH "LICENSE" + TARGET_PLATFORM_VERSION "${WINSDK_VERSION}" SKIP_CLEAN ) diff --git a/ports/python3/vcpkg.json b/ports/python3/vcpkg.json index 5803414a8..63740b289 100644 --- a/ports/python3/vcpkg.json +++ b/ports/python3/vcpkg.json @@ -1,6 +1,7 @@ { "name": "python3", "version-semver": "3.9.7", + "port-version": 1, "description": "The Python programming language", "homepage": "https://github.com/python/cpython", "supports": "!(arm | uwp)", @@ -34,14 +35,6 @@ "name": "sqlite3", "platform": "!(windows & static)" }, - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - }, "zlib" ], "features": { |
