dist: Python 3.13 requires macOS 10.13+

This commit is contained in:
rdb 2024-10-30 14:57:35 +01:00
parent 6010c711c0
commit 27ce5c991e
1 changed files with 14 additions and 3 deletions

View File

@ -277,9 +277,14 @@ class build_apps(setuptools.Command):
elif sys.version_info >= (3, 10):
# manylinux1 is not offered for Python 3.10 anymore
self.platforms[0] = 'manylinux2010_x86_64'
if sys.version_info >= (3, 8):
if sys.version_info >= (3, 13):
# This version of Python is only available for 10.13+.
self.platforms[1] = 'macosx_10_13_x86_64'
elif sys.version_info >= (3, 8):
# This version of Python is only available for 10.9+.
self.platforms[1] = 'macosx_10_9_x86_64'
self.plugins = []
self.embed_prc_data = True
self.extra_prc_files = []
@ -557,14 +562,20 @@ class build_apps(setuptools.Command):
subprocess.check_call([sys.executable, '-m', 'pip'] + pip_args)
except:
# Display a more helpful message for these common issues.
if platform.startswith('manylinux2010_') and sys.version_info >= (3, 11):
if platform.startswith('macosx_10_9_') and sys.version_info >= (3, 13):
new_platform = platform.replace('macosx_10_9_', 'macosx_10_13_')
self.announce('This error likely occurs because {} is not a supported target as of Python 3.13.\nChange the target platform to {} instead.'.format(platform, new_platform), distutils.log.ERROR)
elif platform.startswith('manylinux2010_') and sys.version_info >= (3, 11):
new_platform = platform.replace('manylinux2010_', 'manylinux2014_')
self.announce('This error likely occurs because {} is not a supported target as of Python 3.11.\nChange the target platform to {} instead.'.format(platform, new_platform), distutils.log.ERROR)
elif platform.startswith('manylinux1_') and sys.version_info >= (3, 10):
new_platform = platform.replace('manylinux1_', 'manylinux2014_')
self.announce('This error likely occurs because {} is not a supported target as of Python 3.10.\nChange the target platform to {} instead.'.format(platform, new_platform), distutils.log.ERROR)
elif platform.startswith('macosx_10_6_') and sys.version_info >= (3, 8):
new_platform = platform.replace('macosx_10_6_', 'macosx_10_9_')
if sys.version_info >= (3, 13):
new_platform = platform.replace('macosx_10_6_', 'macosx_10_13_')
else:
new_platform = platform.replace('macosx_10_6_', 'macosx_10_9_')
self.announce('This error likely occurs because {} is not a supported target as of Python 3.8.\nChange the target platform to {} instead.'.format(platform, new_platform), distutils.log.ERROR)
raise