From 7b4ffad8d86fbac3d23a2aa0f1667597c9654f62 Mon Sep 17 00:00:00 2001 From: Fabian Meumertzheim Date: Mon, 5 May 2025 17:00:16 +0200 Subject: [PATCH] Fix analysis error on macOS arm64 Fixes: ``` ERROR: /Users/fmeum/git/rules_python/tests/pypi/env_marker_setting/BUILD.bazel:3:30: Illegal ambiguous match on configurable attribute "platform_machine" in //tests/pypi/env_marker_setting:test_expr_python_full_version_lt_negative_subject: @@platforms//cpu:aarch64 @@platforms//cpu:arm64 Multiple matches are not allowed unless one is unambiguously more specialized or they resolve to the same value. See https://bazel.build/reference/be/functions#select. ``` --- python/private/pypi/pep508_env.bzl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/python/private/pypi/pep508_env.bzl b/python/private/pypi/pep508_env.bzl index 3708c46f1d..d618535674 100644 --- a/python/private/pypi/pep508_env.bzl +++ b/python/private/pypi/pep508_env.bzl @@ -29,11 +29,13 @@ platform_machine_aliases = { # NOTE: There are many cpus, and unfortunately, the value isn't directly # accessible to Starlark. Using CcToolchain.cpu might work, though. +# Some targets are aliases and are omitted below as their value is implied +# by the target they resolve to. platform_machine_select_map = { "@platforms//cpu:aarch32": "aarch32", "@platforms//cpu:aarch64": "aarch64", - "@platforms//cpu:arm": "arm", - "@platforms//cpu:arm64": "arm64", + # @platforms//cpu:arm is an alias for @platforms//cpu:aarch32 + # @platforms//cpu:arm64 is an alias for @platforms//cpu:aarch64 "@platforms//cpu:arm64_32": "arm64_32", "@platforms//cpu:arm64e": "arm64e", "@platforms//cpu:armv6-m": "armv6-m",