From b5899f4f19116bb4d98907413fa3fb84a952ef13 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Sun, 22 May 2022 17:07:18 +0530 Subject: [build, cleanup] Refactor Closes #3835, #3837 --- pyinst.py | 49 ++++++++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 21 deletions(-) (limited to 'pyinst.py') diff --git a/pyinst.py b/pyinst.py index af80c1812..de3504b35 100644 --- a/pyinst.py +++ b/pyinst.py @@ -5,24 +5,8 @@ import sys from PyInstaller.__main__ import run as run_pyinstaller -OS_NAME = platform.system() -if OS_NAME == 'Windows': - from PyInstaller.utils.win32.versioninfo import ( - FixedFileInfo, - SetVersion, - StringFileInfo, - StringStruct, - StringTable, - VarFileInfo, - VarStruct, - VSVersionInfo, - ) -elif OS_NAME == 'Darwin': - pass -else: - raise Exception(f'{OS_NAME} is not supported') -ARCH = platform.architecture()[0][:2] +OS_NAME, ARCH = sys.platform, platform.architecture()[0][:2] def main(): @@ -33,10 +17,7 @@ def main(): if not onedir and '-F' not in opts and '--onefile' not in opts: opts.append('--onefile') - name = 'yt-dlp%s' % ('_macos' if OS_NAME == 'Darwin' else '_x86' if ARCH == '32' else '') - final_file = ''.join(( - 'dist/', f'{name}/' if onedir else '', name, '.exe' if OS_NAME == 'Windows' else '')) - + name, final_file = exe(onedir) print(f'Building yt-dlp v{version} {ARCH}bit for {OS_NAME} with options {opts}') print('Remember to update the version using "devscripts/update-version.py"') if not os.path.isfile('yt_dlp/extractor/lazy_extractors.py'): @@ -79,6 +60,21 @@ def read_version(fname): return locals()['__version__'] +def exe(onedir): + """@returns (name, path)""" + name = '_'.join(filter(None, ( + 'yt-dlp', + OS_NAME == 'darwin' and 'macos', + ARCH == '32' and 'x86' + ))) + return name, ''.join(filter(None, ( + 'dist/', + onedir and f'{name}/', + name, + OS_NAME == 'win32' and '.exe' + ))) + + def version_to_list(version): version_list = version.split('.') return list(map(int, version_list)) + [0] * (4 - len(version_list)) @@ -114,6 +110,17 @@ def set_version_info(exe, version): def windows_set_version(exe, version): + from PyInstaller.utils.win32.versioninfo import ( + FixedFileInfo, + SetVersion, + StringFileInfo, + StringStruct, + StringTable, + VarFileInfo, + VarStruct, + VSVersionInfo, + ) + version_list = version_to_list(version) suffix = '_x86' if ARCH == '32' else '' SetVersion(exe, VSVersionInfo( -- cgit v1.2.3 From 1890fc6389393ffaa05fa27bd47717f4d862404f Mon Sep 17 00:00:00 2001 From: pukkandan Date: Fri, 3 Jun 2022 21:29:03 +0530 Subject: [cleanup] Misc fixes Cherry-picks from: #3498, #3947 Related: #3949, https://github.com/yt-dlp/yt-dlp/issues/1839#issuecomment-1140313836 Authored by: pukkandan, flashdagger, gamer191 --- pyinst.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pyinst.py') diff --git a/pyinst.py b/pyinst.py index de3504b35..292f5d719 100644 --- a/pyinst.py +++ b/pyinst.py @@ -105,7 +105,7 @@ def pycryptodome_module(): def set_version_info(exe, version): - if OS_NAME == 'Windows': + if OS_NAME == 'win32': windows_set_version(exe, version) -- cgit v1.2.3 From 57e0f077a635ee30f37ebea71ddb70723831ecd8 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Tue, 21 Jun 2022 17:02:56 +0530 Subject: [update] Expose more functionality to API --- pyinst.py | 1 - 1 file changed, 1 deletion(-) (limited to 'pyinst.py') diff --git a/pyinst.py b/pyinst.py index 292f5d719..d27e56555 100644 --- a/pyinst.py +++ b/pyinst.py @@ -5,7 +5,6 @@ import sys from PyInstaller.__main__ import run as run_pyinstaller - OS_NAME, ARCH = sys.platform, platform.architecture()[0][:2] -- cgit v1.2.3 From e4afcfde08cbd40147e75c924768f1598ece1885 Mon Sep 17 00:00:00 2001 From: pukkandan Date: Sun, 22 May 2022 01:19:49 +0530 Subject: [build] Add Linux standalone builds --- pyinst.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pyinst.py') diff --git a/pyinst.py b/pyinst.py index d27e56555..4401125ed 100644 --- a/pyinst.py +++ b/pyinst.py @@ -63,7 +63,7 @@ def exe(onedir): """@returns (name, path)""" name = '_'.join(filter(None, ( 'yt-dlp', - OS_NAME == 'darwin' and 'macos', + {'win32': '', 'darwin': 'macos'}.get(OS_NAME, OS_NAME), ARCH == '32' and 'x86' ))) return name, ''.join(filter(None, ( -- cgit v1.2.3 From 54007a45f11ed730352324289b714baefd2901eb Mon Sep 17 00:00:00 2001 From: pukkandan Date: Fri, 24 Jun 2022 16:36:16 +0530 Subject: [cleanup] Consistent style for file heads --- pyinst.py | 1 + 1 file changed, 1 insertion(+) (limited to 'pyinst.py') diff --git a/pyinst.py b/pyinst.py index 4401125ed..a7c1be85d 100644 --- a/pyinst.py +++ b/pyinst.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + import os import platform import sys -- cgit v1.2.3