-
Notifications
You must be signed in to change notification settings - Fork 45
[windows] add Python 3.10.1 to the installer #447
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
<Project Sdk="WixToolset.Sdk/4.0.5"> | ||
<PropertyGroup> | ||
<OutputName>python</OutputName> | ||
compnerd marked this conversation as resolved.
Show resolved
Hide resolved
|
||
</PropertyGroup> | ||
</Project> |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,14 @@ | ||||||
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||||||
<?define VariantName = asserts ?> | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we need the |
||||||
<?define VariantUpgradeCode = $(PythonUpgradeCode)?> | ||||||
<?define VariantProductName = !(loc.EmbeddedPython_ProductName)?> | ||||||
<?define VariantCabinetName = python.asserts.cab?> | ||||||
compnerd marked this conversation as resolved.
Show resolved
Hide resolved
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Comment on lines
+3
to
+5
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think that we should be able to drop the |
||||||
<?define ToolchainVersionedVariantDirectory = ToolchainVersionedAsserts ?> | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we need the |
||||||
<?define VariantEnvironmentComponentGUID = 30629e0c-b376-47bc-bedf-fefb7d4ca61d?> | ||||||
<?if $(ProductArchitecture) = "arm64" ?> | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this is not variant specific. i would recommend moving it to the wxi to avoid it being duplicated for diffrent variants. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah, this seems like we should sink it into the wxi. |
||||||
<?define ArchSuffix = "-arm64" ?> | ||||||
<?else?> | ||||||
<?define ArchSuffix = "" ?> | ||||||
<?endif?> | ||||||
<?include ../python.wxi ?> | ||||||
</Wix> |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,154 @@ | ||||||
<?xml version="1.0" encoding="utf-8"?> | ||||||
<Include xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||||||
|
||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Extraneous whitespace |
||||||
<Package | ||||||
Language="1033" | ||||||
Manufacturer="!(loc.ManufacturerName)" | ||||||
Name="$(VariantProductName)" | ||||||
UpgradeCode="$(VariantUpgradeCode)" | ||||||
Version="$(NonSemVerProductVersion)" | ||||||
Scope="$(PackageScope)"> | ||||||
|
||||||
<Media Id="1" Cabinet="$(VariantCabinetName)" EmbedCab="$(ArePackageCabsEmbedded)" /> | ||||||
|
||||||
<WixVariable Id="SideBySidePackageUpgradeCode" Value="$(VariantUpgradeCode)" /> | ||||||
<FeatureGroupRef Id="SideBySideUpgradeStrategy" /> | ||||||
|
||||||
<ComponentGroup Id="EmbeddedPython" Directory="toolchain_$(VariantName)_usr_bin"> | ||||||
<Component > | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
<File Source="$(PythonRoot)\libcrypto-1_1$(ArchSuffix).dll" /> | ||||||
</Component> | ||||||
|
||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would drop the whitespace between the components. |
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\libffi-7.dll" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\libssl-1_1$(ArchSuffix).dll" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\pyexpat.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\python.cat" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\python.exe" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\python3.dll" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\python310.dll" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\python310.zip" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\python310._pth" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\pythonw.exe" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\select.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\sqlite3.dll" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\unicodedata.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\winsound.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_asyncio.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_bz2.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_ctypes.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_decimal.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_elementtree.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_hashlib.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_lzma.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_msi.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_multiprocessing.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_overlapped.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_queue.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_socket.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_sqlite3.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_ssl.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_uuid.pyd" /> | ||||||
</Component> | ||||||
|
||||||
<Component> | ||||||
<File Source="$(PythonRoot)\_zoneinfo.pyd" /> | ||||||
</Component> | ||||||
</ComponentGroup> | ||||||
|
||||||
<ComponentGroup Id="EmbeddedPythonLicense"> | ||||||
<Component Directory="toolchain_$(VariantName)_usr_share_licenses"> | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think that we should be adding this to the toolchain layout but rather the python subdirectory. |
||||||
<File Source="$(PythonRoot)\LICENSE.txt" /> | ||||||
</Component> | ||||||
</ComponentGroup> | ||||||
|
||||||
<Feature Id="EmbeddedPython" AllowAbsent="no" Title="$(VariantProductName)"> | ||||||
<ComponentGroupRef Id="EmbeddedPython" /> | ||||||
<ComponentGroupRef Id="EmbeddedPythonLicense" /> | ||||||
</Feature> | ||||||
</Package> | ||||||
</Include> |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -34,6 +34,7 @@ The bundle authoring (in `installer.wxs`) drives optional install directory and | |
| InstallRoot | A formatted string variable that specifies the installation root directory. The default value specified in `installer.wxs` should match the equivalent `INSTALLROOT` authoring in `shared.wxs`. The bundle variable is passed to each `MsiPackage` so overwrites the default directory authored in the MSI packages -- but keeping them in sync avoids the confusion if the default directory should change. | | ||
| OptionsInstallCLI | Controls whether command-line tools will be installed. | | ||
| OptionsInstallDBG | Controls whether debugging tools will be installed. | | ||
| OptionsInstallEmbeddedPython | Controls whether embeddable Python will be installed. | | ||
| OptionsInstallIDE | Controls whether IDE integration tools will be installed. | | ||
| OptionsInstallUtilties | Controls whether additional utilities will be installed. | | ||
| OptionsInstallAndroidPlatform | Controls whether the Android platform will be installed. | | ||
|
@@ -149,6 +150,7 @@ To support the three architecture flavors of the SDK and RTL MSI packages, you n | |
| MSBuild property | Description | | ||
| ---------------- | ----------- | | ||
| ImageRoot | Path to the root of the installed Swift image to package | | ||
| PythonRoot | Path to the root of the Python distribution to package | | ||
| Platforms | Semicolon delimited list of platforms to package (android;windows) | | ||
| AndroidArchitectures | Semicolon delimited list of architectures the Android platform supports (aarch54;armv7;i686;x86_64) | | ||
| WindowsArchitectures | Semicolon delimited list of architectures the Windows platform supports (aarch64;i686;x86_64) | | ||
|
@@ -165,10 +167,11 @@ msbuild %SourceRoot%\swift-installer-scripts\platforms\Windows\bundle\installer. | |
-p:Configuration=Release ^ | ||
-p:BaseOutputPath=%PackageRoot%\online\ ^ | ||
-p:ImageRoot=%ImageRoot%\Program Files\Swift ^ | ||
-p:PythonRoot=%ImageRoot%\Program Files\Python-3.10.1 ^ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think that we want to sink this further 1 level as |
||
-p:Platforms="android;windows" ^ | ||
-p:AndroidArchitectures="aarch64;armv7;i686;x86_64" ^ | ||
-p:WindowsArchitectures="aarch64;i686;x86_64" ^ | ||
-p:WindowsRuntimeARM64=%ImageRoot%\Prograam Files (Arm64)\Swift\Runtimes\0.0.0 ^ | ||
-p:WindowsRuntimeARM64=%ImageRoot%\Program Files (Arm64)\Swift\Runtimes\0.0.0 ^ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hah! Thanks for fixing my typo. |
||
-p:WindowsRuntimeX64=%ImageRoot%\Program Files\Swift\Runtimes\0.0.0 ^ | ||
-p:WindowsRuntimeX86=%ImageRoot%\Program Files (x86)\Swift\Runtimes\0.0.0 | ||
``` | ||
|
@@ -216,7 +219,7 @@ Note that these GUIDs are substituted at bind time so they skip the normal valid | |
|
||
| Property | Description | | ||
| -------- | ----------- | | ||
| BldAssertsUpgradeCode, CliAssertsUpgradeCode, DbgAssertsUpgradeCode, IdeUpgradeCode, RtlUpgradeCode, WindowsSDKUpgradeCode, AndroidSDKUpgradeCode | Upgrade codes for individual packages. Packages keep the same upgrade codes "forever" because MSI lets you specify version ranges for upgrades, which you can find in `shared/shared.wxs`. | | ||
| BldAssertsUpgradeCode, CliAssertsUpgradeCode, DbgAssertsUpgradeCode, IdeUpgradeCode, RtlUpgradeCode, WindowsSDKUpgradeCode, AndroidSDKUpgradeCode, PythonUpgradeCode | Upgrade codes for individual packages. Packages keep the same upgrade codes "forever" because MSI lets you specify version ranges for upgrades, which you can find in `shared/shared.wxs`. | | ||
| BundleUpgradeCode | Upgrade codes for the bundle. Bundles don't support upgrade version ranges, so the bundle upgrade code must change for every minor version _and_ stay the same for the entire lifetime of that minor version (e.g., v5.10.0 through v5.10.9999). You can keep the history of upgrade codes using a condition like `Condition="'$(MajorMinorProductVersion)' == '5.10'` or just replace BundleUpgradeCode when forking to a new minor version. | | ||
|
||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -55,6 +55,7 @@ | |
<Directory Id="toolchain_asserts_usr_share_docc" Name="docc"> | ||
<Directory Id="toolchain_asserts_usr_share_docc_render" Name="render" /> | ||
</Directory> | ||
<Directory Id="toolchain_asserts_usr_share_licenses" Name="licenses" /> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should move into the directory hierarchy for Python. |
||
</Directory> | ||
</Directory> | ||
</Directory> | ||
|
Uh oh!
There was an error while loading. Please reload this page.