From 88dc84bcf9fef32afa9af0ab41fa467c9733483f Mon Sep 17 00:00:00 2001
From: CoderTCY <73740771+CoderTCY@users.noreply.github.com>
Date: Wed, 20 Nov 2024 01:19:33 +0800
Subject: gh-125729: Makes the installation of the turtle module dependent on
 the Tcl/Tk install option  (GH-126176)

---
 .../next/Windows/2024-10-31-09-46-53.gh-issue-125729.KdKVLa.rst       | 1 +
 Tools/msi/bundle/Default.wxl                                          | 4 ++--
 Tools/msi/lib/lib.wixproj                                             | 3 ++-
 Tools/msi/tcltk/tcltk.wixproj                                         | 4 ++--
 4 files changed, 7 insertions(+), 5 deletions(-)
 create mode 100644 Misc/NEWS.d/next/Windows/2024-10-31-09-46-53.gh-issue-125729.KdKVLa.rst

diff --git a/Misc/NEWS.d/next/Windows/2024-10-31-09-46-53.gh-issue-125729.KdKVLa.rst b/Misc/NEWS.d/next/Windows/2024-10-31-09-46-53.gh-issue-125729.KdKVLa.rst
new file mode 100644
index 0000000..fbf4ab1
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2024-10-31-09-46-53.gh-issue-125729.KdKVLa.rst
@@ -0,0 +1 @@
+Makes the presence of the :mod:`turtle` module dependent on the Tcl/Tk installer option. Previously, the module was always installed but would be unusable without Tcl/Tk.
diff --git a/Tools/msi/bundle/Default.wxl b/Tools/msi/bundle/Default.wxl
index 49f681d..7208d83 100644
--- a/Tools/msi/bundle/Default.wxl
+++ b/Tools/msi/bundle/Default.wxl
@@ -70,8 +70,8 @@ Select Customize to review current options.</String>
   <String Id="Include_docHelpLabel">Installs the Python documentation files.</String>
   <String Id="Include_pipLabel">&amp;pip</String>
   <String Id="Include_pipHelpLabel">Installs pip, which can download and install other Python packages.</String>
-  <String Id="Include_tcltkLabel">tcl/tk and &amp;IDLE</String>
-  <String Id="Include_tcltkHelpLabel">Installs tkinter and the IDLE development environment.</String>
+  <String Id="Include_tcltkLabel">Tcl/Tk, turtle and &amp;IDLE</String>
+  <String Id="Include_tcltkHelpLabel">Installs tkinter, turtle and the IDLE development environment.</String>
   <String Id="Include_testLabel">Python &amp;test suite</String>
   <String Id="Include_testHelpLabel">Installs the standard library test suite.</String>
   <String Id="Include_launcherLabel">py &amp;launcher</String>
diff --git a/Tools/msi/lib/lib.wixproj b/Tools/msi/lib/lib.wixproj
index 26311ea..02078e5 100644
--- a/Tools/msi/lib/lib.wixproj
+++ b/Tools/msi/lib/lib.wixproj
@@ -19,6 +19,7 @@
         <InstallFiles Include="$(PySourcePath)Lib\**\*"
                       Exclude="$(PySourcePath)Lib\**\*.pyc;
                                $(PySourcePath)Lib\**\*.pyo;
+                               $(PySourcePath)Lib\turtle.py;
                                $(PySourcePath)Lib\site-packages\README;
                                @(ExcludeFolders->'$(PySourcePath)%(Identity)\*');
                                @(ExcludeFolders->'$(PySourcePath)%(Identity)\**\*')">
@@ -32,4 +33,4 @@
     </ItemGroup>
     
     <Import Project="..\msi.targets" />
-</Project>
\ No newline at end of file
+</Project>
diff --git a/Tools/msi/tcltk/tcltk.wixproj b/Tools/msi/tcltk/tcltk.wixproj
index 218f3d1..c8b7ab7 100644
--- a/Tools/msi/tcltk/tcltk.wixproj
+++ b/Tools/msi/tcltk/tcltk.wixproj
@@ -28,7 +28,7 @@
             <Group>tcltk_lib</Group>
         </InstallFiles>
 
-        <InstallFiles Include="$(PySourcePath)Lib\tkinter\**\*;$(PySourcePath)Lib\idlelib\**\*;$(PySourcePath)Lib\turtledemo\**\*"
+        <InstallFiles Include="$(PySourcePath)Lib\tkinter\**\*;$(PySourcePath)Lib\idlelib\**\*;$(PySourcePath)Lib\turtledemo\**\*;$(PySourcePath)Lib\turtle.py"
                       Exclude="$(PySourcePath)Lib\**\*.pyc;$(PySourcePath)Lib\**\*.pyo">
             <SourceBase>$(PySourcePath)</SourceBase>
             <Source>!(bindpath.src)</Source>
@@ -39,4 +39,4 @@
     </ItemGroup>
     
     <Import Project="..\msi.targets" />
-</Project>
\ No newline at end of file
+</Project>
-- 
cgit v0.12