mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2025-08-16 09:28:28 +00:00
identify staticx builds as linux_static_exe
Authored by: bashonly
This commit is contained in:
parent
50f767b068
commit
e338074934
@ -58,11 +58,20 @@ def _get_variant_and_executable_path():
|
||||
"""@returns (variant, executable_path)"""
|
||||
if getattr(sys, 'frozen', False):
|
||||
path = sys.executable
|
||||
# py2exe is unsupported but we should still correctly identify it for debugging purposes
|
||||
|
||||
# py2exe: No longer officially supported, but still identify it to block updates
|
||||
if not hasattr(sys, '_MEIPASS'):
|
||||
return 'py2exe', path
|
||||
|
||||
# staticx builds: sys.executable returns a /tmp/ path
|
||||
# No longer officially supported, but still identify them to block updates
|
||||
# Ref: https://staticx.readthedocs.io/en/latest/usage.html#run-time-information
|
||||
if static_exe_path := os.getenv('STATICX_PROG_PATH'):
|
||||
return 'linux_static_exe', static_exe_path
|
||||
|
||||
# We know it's a PyInstaller bundle, but is it "onedir" or "onefile"?
|
||||
suffix = 'dir' if sys._MEIPASS == os.path.dirname(path) else 'exe'
|
||||
|
||||
if sys.platform == 'darwin':
|
||||
# darwin_legacy_exe is no longer supported, but still identify it to block updates
|
||||
machine = '_legacy' if version_tuple(platform.mac_ver()[0]) < (10, 15) else ''
|
||||
@ -81,10 +90,6 @@ def _get_variant_and_executable_path():
|
||||
# See: https://github.com/yt-dlp/yt-dlp/issues/11813
|
||||
elif machine[1:] == 'aarch64' and not is_64bits:
|
||||
machine = '_armv7l'
|
||||
# sys.executable returns a /tmp/ path for staticx builds (linux_static)
|
||||
# Ref: https://staticx.readthedocs.io/en/latest/usage.html#run-time-information
|
||||
if static_exe_path := os.getenv('STATICX_PROG_PATH'):
|
||||
path = static_exe_path
|
||||
|
||||
return f'{system_platform}{machine}_{suffix}', path
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user