@@ -66577,7 +66577,7 @@ function findRelease(releases, pythonVersion, pypyVersion, architecture) {
6657766577 semver.satisfies(pypyVersionToSemantic(item.pypy_version), pypyVersion);
6657866578 const isArchPresent = item.files &&
6657966579 (utils_1.IS_WINDOWS
66580- ? isArchPresentForWindows(item)
66580+ ? isArchPresentForWindows(item, architecture )
6658166581 : isArchPresentForMacOrLinux(item, architecture, process.platform));
6658266582 return isPythonVersionSatisfied && isPyPyVersionSatisfied && isArchPresent;
6658366583 });
@@ -66590,7 +66590,7 @@ function findRelease(releases, pythonVersion, pypyVersion, architecture) {
6659066590 });
6659166591 const foundRelease = sortedReleases[0];
6659266592 const foundAsset = utils_1.IS_WINDOWS
66593- ? findAssetForWindows(foundRelease)
66593+ ? findAssetForWindows(foundRelease, architecture )
6659466594 : findAssetForMacOrLinux(foundRelease, architecture, process.platform);
6659566595 return {
6659666596 foundAsset,
@@ -66613,24 +66613,31 @@ function pypyVersionToSemantic(versionSpec) {
6661366613 return versionSpec.replace(prereleaseVersion, '$1-$2.$3');
6661466614}
6661566615exports.pypyVersionToSemantic = pypyVersionToSemantic;
66616- function isArchPresentForWindows(item) {
66617- return item.files.some((file) => utils_1.WINDOWS_ARCHS.includes(file.arch) &&
66618- utils_1.WINDOWS_PLATFORMS.includes(file.platform));
66616+ function isArchPresentForWindows(item, architecture ) {
66617+ architecture = replaceX32toX86(architecture);
66618+ return item.files.some((file) => utils_1.WINDOWS_PLATFORMS.includes(file.platform) && file.arch === architecture );
6661966619}
6662066620exports.isArchPresentForWindows = isArchPresentForWindows;
6662166621function isArchPresentForMacOrLinux(item, architecture, platform) {
6662266622 return item.files.some((file) => file.arch === architecture && file.platform === platform);
6662366623}
6662466624exports.isArchPresentForMacOrLinux = isArchPresentForMacOrLinux;
66625- function findAssetForWindows(releases) {
66626- return releases.files.find((item) => utils_1.WINDOWS_ARCHS.includes(item.arch) &&
66627- utils_1.WINDOWS_PLATFORMS.includes(item.platform));
66625+ function findAssetForWindows(releases, architecture ) {
66626+ architecture = replaceX32toX86(architecture);
66627+ return releases.files.find((item) => utils_1.WINDOWS_PLATFORMS.includes(item.platform) && item.arch === architecture );
6662866628}
6662966629exports.findAssetForWindows = findAssetForWindows;
6663066630function findAssetForMacOrLinux(releases, architecture, platform) {
6663166631 return releases.files.find((item) => item.arch === architecture && item.platform === platform);
6663266632}
6663366633exports.findAssetForMacOrLinux = findAssetForMacOrLinux;
66634+ function replaceX32toX86(architecture) {
66635+ // convert x32 to x86 because os.arch() returns x32 for 32-bit systems but PyPy releases json has x86 arch value.
66636+ if (architecture === 'x32') {
66637+ architecture = 'x86';
66638+ }
66639+ return architecture;
66640+ }
6663466641
6663566642
6663666643/***/ }),
0 commit comments