-
-
Notifications
You must be signed in to change notification settings - Fork 977
/
python.json
115 lines (115 loc) · 4.5 KB
/
python.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
{
"version": "3.13.1",
"description": "A programming language that lets you work quickly and integrate systems more effectively.",
"homepage": "https://www.python.org/",
"license": "Python-2.0",
"notes": "Allow applications and third-party installers to find python by running: \"$dir\\install-pep-514.reg\"",
"architecture": {
"64bit": {
"url": "https://www.python.org/ftp/python/3.13.1/python-3.13.1-amd64.exe#/setup.exe",
"hash": "md5:90176c0cfa29327ab08c6083dcdcc210"
},
"32bit": {
"url": "https://www.python.org/ftp/python/3.13.1/python-3.13.1.exe#/setup.exe",
"hash": "md5:12455257e0eaf8c7a3b0af6522647638"
},
"arm64": {
"url": "https://www.python.org/ftp/python/3.13.1/python-3.13.1-arm64.exe#/setup.exe",
"hash": "md5:f35c98b7b0924865021e89160f208cdb"
}
},
"pre_install": [
"$py_root = \"$dir\".Replace('\\', '\\\\')",
"$py_archLabel = '64-bit'",
"$bit = '64'",
"if ($architecture -eq '32bit') {",
" $py_archLabel = '32-bit'",
" $bit = '32'",
"}",
"if ($architecture -eq 'arm64') { $py_archLabel = 'ARM64' }",
"'install-pep-514.reg', 'uninstall-pep-514.reg' | ForEach-Object {",
" $py_version = ($version -split '\\.')[0..1] -join '.'",
" $content = Get-Content \"$bucketsdir\\main\\scripts\\python\\$_\"",
" $content = $content.Replace('$py_root', $py_root)",
" $content = $content.Replace('$py_version', $py_version)",
" $content = $content.Replace('$py_fullversion', $version)",
" $content = $content.Replace('$py_cleanVersion', $version -replace '\\.')",
" $content = $content.Replace('$py_archLabel', $py_archLabel)",
" $content = $content.Replace('$py_arch', \"$bit\")",
" if ($global) {",
" $content = $content.Replace('HKEY_CURRENT_USER', 'HKEY_LOCAL_MACHINE')",
" }",
" Set-Content \"$dir\\$_\" $content -Encoding Ascii",
"}"
],
"installer": {
"script": [
"Expand-DarkArchive \"$dir\\setup.exe\" \"$dir\\_tmp\"",
"@('path.msi', 'pip.msi') | ForEach-Object {",
" Remove-Item \"$dir\\_tmp\\AttachedContainer\\$_\"",
"}",
"(Get-ChildItem \"$dir\\_tmp\\AttachedContainer\\*.msi\").FullName | ForEach-Object {",
" # appendpath.msi does not contain any file, which causes 'msiexec /a' to fail",
" if($((Get-Item $_).Basename) -eq 'appendpath') { return }",
" Expand-MsiArchive $_ \"$dir\" ",
"}",
"Remove-Item \"$dir\\_tmp\", \"$dir\\setup.exe\" -Force -Recurse",
"if ($global) {",
" $pathext = (Get-EnvVar -Name PATHEXT -Global) -replace ';.PYW?', ''",
" Set-EnvVar -Name PATHEXT -Value \"$pathext;.PY;.PYW\" -Global",
"}"
]
},
"post_install": [
"python -E -s -m ensurepip -U --default-pip | Out-Null",
"Write-Output \"$([char]0x1b)[0m\" # Reset ansi to prevent color leak from installer"
],
"uninstaller": {
"script": [
"if ($global) {",
" $pathext = (Get-EnvVar -Name PATHEXT -Global) -replace ';.PYW?', ''",
" Set-EnvVar -Name PATHEXT -Value \"$pathext\" -Global",
"}"
]
},
"bin": [
[
"python.exe",
"python3"
],
"Lib\\idlelib\\idle.bat",
[
"Lib\\idlelib\\idle.bat",
"idle3"
]
],
"env_add_path": [
"Scripts",
"."
],
"persist": [
"Scripts",
"Lib\\site-packages"
],
"checkver": {
"url": "https://www.python.org/downloads/windows/",
"regex": "Latest Python 3 Release - Python ([\\d.]+)"
},
"autoupdate": {
"architecture": {
"64bit": {
"url": "https://www.python.org/ftp/python/$version/python-$version-amd64.exe#/setup.exe"
},
"32bit": {
"url": "https://www.python.org/ftp/python/$version/python-$version.exe#/setup.exe"
},
"arm64": {
"url": "https://www.python.org/ftp/python/$version/python-$version-arm64.exe#/setup.exe"
}
},
"hash": {
"url": "https://www.python.org/downloads/release/python-$cleanVersion/",
"regex": "(?sm)$basename.*?$md5"
}
}
}