From 27ce5c991eb79c9bda6de439c0bec8198150fa9c Mon Sep 17 00:00:00 2001 From: rdb Date: Wed, 30 Oct 2024 14:57:35 +0100 Subject: [PATCH] dist: Python 3.13 requires macOS 10.13+ --- direct/src/dist/commands.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/direct/src/dist/commands.py b/direct/src/dist/commands.py index 94ab191d0b..5b325d725c 100644 --- a/direct/src/dist/commands.py +++ b/direct/src/dist/commands.py @@ -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