Skip to content

Commit 337da43

Browse files
add support for macos 11., arm64, universal2
1 parent a0b41c2 commit 337da43

File tree

2 files changed

+30
-5
lines changed

2 files changed

+30
-5
lines changed

packaging/tags.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ def _mac_binary_formats(version, cpu_arch):
389389
if cpu_arch == "x86_64":
390390
if version < (10, 4):
391391
return []
392-
formats.extend(["intel", "fat64", "fat32"])
392+
formats.extend(["intel", "fat64", "fat32", "universal2"])
393393

394394
elif cpu_arch == "i386":
395395
if version < (10, 4):
@@ -407,7 +407,12 @@ def _mac_binary_formats(version, cpu_arch):
407407
return []
408408
formats.extend(["fat32", "fat"])
409409

410-
formats.append("universal")
410+
elif cpu_arch == "arm64":
411+
formats.append("universal2")
412+
413+
if cpu_arch != "arm64":
414+
formats.append("universal")
415+
411416
return formats
412417

413418

@@ -439,6 +444,16 @@ def mac_platforms(version=None, arch=None):
439444
minor=compat_version[1],
440445
binary_format=binary_format,
441446
)
447+
if version >= (11, 0) and arch == "x86_64":
448+
for minor_version in range(15, 3, -1):
449+
compat_version = 10, minor_version
450+
binary_formats = _mac_binary_formats(compat_version, arch)
451+
for binary_format in binary_formats:
452+
yield "macosx_{major}_{minor}_{binary_format}".format(
453+
major=compat_version[0],
454+
minor=compat_version[1],
455+
binary_format=binary_format,
456+
)
442457

443458

444459
# From PEP 513, PEP 600

tests/test_tags.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -225,8 +225,16 @@ def test_architectures(self, arch, is_32bit, expected):
225225
@pytest.mark.parametrize(
226226
"version,arch,expected",
227227
[
228-
((10, 17), "x86_64", ["x86_64", "intel", "fat64", "fat32", "universal"]),
229-
((10, 4), "x86_64", ["x86_64", "intel", "fat64", "fat32", "universal"]),
228+
(
229+
(10, 17),
230+
"x86_64",
231+
["x86_64", "intel", "fat64", "fat32", "universal2", "universal"],
232+
),
233+
(
234+
(10, 4),
235+
"x86_64",
236+
["x86_64", "intel", "fat64", "fat32", "universal2", "universal"],
237+
),
230238
((10, 3), "x86_64", []),
231239
((10, 17), "i386", ["i386", "intel", "fat32", "fat", "universal"]),
232240
((10, 4), "i386", ["i386", "intel", "fat32", "fat", "universal"]),
@@ -271,15 +279,17 @@ def test_mac_platforms(self):
271279
"macosx_10_5_intel",
272280
"macosx_10_5_fat64",
273281
"macosx_10_5_fat32",
282+
"macosx_10_5_universal2",
274283
"macosx_10_5_universal",
275284
"macosx_10_4_x86_64",
276285
"macosx_10_4_intel",
277286
"macosx_10_4_fat64",
278287
"macosx_10_4_fat32",
288+
"macosx_10_4_universal2",
279289
"macosx_10_4_universal",
280290
]
281291

282-
assert len(list(tags.mac_platforms((10, 17), "x86_64"))) == 14 * 5
292+
assert len(list(tags.mac_platforms((10, 17), "x86_64"))) == 14 * 6
283293

284294
assert not list(tags.mac_platforms((10, 0), "x86_64"))
285295

0 commit comments

Comments
 (0)