Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit28bb880

Browse files
committed
fix: install PyPy on Linux ARM64
1 parentdb8d0cb commit28bb880

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

‎dist/setup/index.js‎

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91554,28 +91554,33 @@ function pypyVersionToSemantic(versionSpec) {
9155491554
}
9155591555
exports.pypyVersionToSemantic = pypyVersionToSemantic;
9155691556
function isArchPresentForWindows(item, architecture) {
91557-
architecture =replaceX32toX86(architecture);
91557+
architecture =pypyArchitecture(architecture);
9155891558
return item.files.some((file) => utils_1.WINDOWS_PLATFORMS.includes(file.platform) && file.arch === architecture);
9155991559
}
9156091560
exports.isArchPresentForWindows = isArchPresentForWindows;
9156191561
function isArchPresentForMacOrLinux(item, architecture, platform) {
91562+
architecture = pypyArchitecture(architecture);
9156291563
return item.files.some((file) => file.arch === architecture && file.platform === platform);
9156391564
}
9156491565
exports.isArchPresentForMacOrLinux = isArchPresentForMacOrLinux;
9156591566
function findAssetForWindows(releases, architecture) {
91566-
architecture =replaceX32toX86(architecture);
91567+
architecture =pypyArchitecture(architecture);
9156791568
return releases.files.find((item) => utils_1.WINDOWS_PLATFORMS.includes(item.platform) && item.arch === architecture);
9156891569
}
9156991570
exports.findAssetForWindows = findAssetForWindows;
9157091571
function findAssetForMacOrLinux(releases, architecture, platform) {
91572+
architecture = pypyArchitecture(architecture);
9157191573
return releases.files.find((item) => item.arch === architecture && item.platform === platform);
9157291574
}
9157391575
exports.findAssetForMacOrLinux = findAssetForMacOrLinux;
91574-
functionreplaceX32toX86(architecture) {
91575-
// convert x32 to x86 because os.arch() returns x32 for 32-bit systems but PyPy releases json has x86 arch value.
91576-
if (architecture === 'x32') {
91576+
functionpypyArchitecture(architecture) {
91577+
if (utils_1.IS_WINDOWS && architecture === 'x32') {
91578+
// convertx32 to x86 because os.arch() returns x32 for 32-bit systems but PyPy releases json has x86 arch value.
9157791579
architecture = 'x86';
9157891580
}
91581+
else if (utils_1.IS_LINUX && architecture === 'arm64') {
91582+
architecture = 'aarch64';
91583+
}
9157991584
return architecture;
9158091585
}
9158191586

‎src/install-pypy.ts‎

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import * as exec from '@actions/exec';
88
importfsfrom'fs';
99

1010
import{
11+
IS_LINUX,
1112
IS_WINDOWS,
1213
WINDOWS_PLATFORMS,
1314
IPyPyManifestRelease,
@@ -246,7 +247,7 @@ export function pypyVersionToSemantic(versionSpec: string) {
246247
}
247248

248249
exportfunctionisArchPresentForWindows(item:any,architecture:string){
249-
architecture=replaceX32toX86(architecture);
250+
architecture=pypyArchitecture(architecture);
250251
returnitem.files.some(
251252
(file:any)=>
252253
WINDOWS_PLATFORMS.includes(file.platform)&&file.arch===architecture
@@ -258,13 +259,14 @@ export function isArchPresentForMacOrLinux(
258259
architecture:string,
259260
platform:string
260261
){
262+
architecture=pypyArchitecture(architecture);
261263
returnitem.files.some(
262264
(file:any)=>file.arch===architecture&&file.platform===platform
263265
);
264266
}
265267

266268
exportfunctionfindAssetForWindows(releases:any,architecture:string){
267-
architecture=replaceX32toX86(architecture);
269+
architecture=pypyArchitecture(architecture);
268270
returnreleases.files.find(
269271
(item:any)=>
270272
WINDOWS_PLATFORMS.includes(item.platform)&&item.arch===architecture
@@ -276,15 +278,18 @@ export function findAssetForMacOrLinux(
276278
architecture:string,
277279
platform:string
278280
){
281+
architecture=pypyArchitecture(architecture);
279282
returnreleases.files.find(
280283
(item:any)=>item.arch===architecture&&item.platform===platform
281284
);
282285
}
283286

284-
functionreplaceX32toX86(architecture:string):string{
285-
// convert x32 to x86 because os.arch() returns x32 for 32-bit systems but PyPy releases json has x86 arch value.
286-
if(architecture==='x32'){
287+
functionpypyArchitecture(architecture:string):string{
288+
if(IS_WINDOWS&&architecture==='x32'){
289+
// convertx32 to x86 because os.arch() returns x32 for 32-bit systems but PyPy releases json has x86 arch value.
287290
architecture='x86';
291+
}elseif(IS_LINUX&&architecture==='arm64'){
292+
architecture='aarch64';
288293
}
289294
returnarchitecture;
290295
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp