aboutsummaryrefslogtreecommitdiff
path: root/ports/python3
diff options
context:
space:
mode:
authorAdam Johnson <AdamJohnso@gmail.com>2021-09-29 12:00:21 -0400
committerGitHub <noreply@github.com>2021-09-29 09:00:21 -0700
commitf819f66b4c2a639e18233bc30deb98531a386f78 (patch)
tree9ddc0edc67de15f109bd17bea2de9c68ea43d706 /ports/python3
parent6d4792b777078a8206f291075964c5870ae46c6c (diff)
downloadvcpkg-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.patch30
-rw-r--r--ports/python3/portfile.cmake14
-rw-r--r--ports/python3/vcpkg.json9
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": {