rewrote pyinstaller.py
This commit is contained in:
parent
67a44346c0
commit
c4303352c4
2 changed files with 259 additions and 211 deletions
|
@ -1,13 +1,14 @@
|
|||
# Changelog
|
||||
(This document uses YYYY-MM-DD)
|
||||
|
||||
## [v2.2.3] - 2022-05-04
|
||||
## [v2.2.3] - 2022-05-06
|
||||
|
||||
### Changed
|
||||
- Added empty 'package' option to 'setup' in setup.py, setuptools v61.0.0 doesn't seem to like our project layout anymore.
|
||||
- Qt's startSystemMove() is used to move Pesterchum's main window now. (system-specific move operation)
|
||||
- This fixes click-and-drag on Wayland, which doesn't support setting window position via setPosition().
|
||||
- Still falls back on legacy code if startSystemMove is not supported.
|
||||
- Rewrote pyinstaller.py
|
||||
|
||||
### Fixed
|
||||
- Unreadable input on MacOS and certain linux distros for themes which didn't explicitly set input color (incl. pesterchum), input color is now black by default instead of being platform-dependent.
|
||||
|
|
467
pyinstaller.py
467
pyinstaller.py
|
@ -4,92 +4,8 @@ import shutil
|
|||
|
||||
import PyInstaller.__main__
|
||||
|
||||
if sys.version_info < (3, 0, 0):
|
||||
sys.exit("Python versions lower than 3 are not supported.")
|
||||
elif (sys.version_info >= (3, 9, 0)) & (sys.platform == 'win32'):
|
||||
print("WARNING!!!! Building with python 3.9 will make your builds not run on windows 7 and previous versions.")
|
||||
|
||||
def is_64bit() -> bool:
|
||||
return sys.maxsize > 2**32
|
||||
|
||||
is_64bit = is_64bit()
|
||||
|
||||
try:
|
||||
print("Pyinstaller script to make everything a bit more conventient, just being able to run \"pyinstaller\" \
|
||||
is a lot more useable than having to include all command line arguments every time.\n\
|
||||
Some of the include files are specific to my instalation, so you might have to edit the file if you run into issues \:\(")
|
||||
|
||||
delete_builddist = input("Delete build & dist folders? (Y/N): ")
|
||||
if delete_builddist.lower() == "y":
|
||||
try:
|
||||
shutil.rmtree('dist')
|
||||
except FileNotFoundError as e:
|
||||
print(e)
|
||||
try:
|
||||
shutil.rmtree('build')
|
||||
except FileNotFoundError as e:
|
||||
print(e)
|
||||
print("UPX can decently reduce filesize but builds might get flagged by anti-viruses more often. (+ it sometimes breaks QT's DLLs)")
|
||||
if input("Enable UPX? [N]: ").lower() == 'y':
|
||||
upx_enabled = True
|
||||
else:
|
||||
upx_enabled = False
|
||||
|
||||
if upx_enabled == True:
|
||||
print("If upx is on your path you don't need to include anything here.")
|
||||
if is_64bit == True:
|
||||
upx_dir = input("UPX directory [D:\\upx-3.96-win64]: ")
|
||||
if upx_dir == '':
|
||||
upx_dir = "D:\\upx-3.96-win64" # Default dir for me :)
|
||||
else:
|
||||
upx_dir = input("UPX directory [D:\\upx-3.96-win32]: ")
|
||||
if upx_dir == '':
|
||||
upx_dir = "D:\\upx-3.96-win32" # Default dir for me :)
|
||||
print("upx_dir = " + upx_dir)
|
||||
else:
|
||||
upx_dir = ''
|
||||
if sys.platform == 'win32':
|
||||
print("\nUniversal CRT needs to be included if you don't want to run into compatibility issues when building on Windows 10. ( https://pyinstaller.readthedocs.io/en/stable/usage.html?highlight=sdk#windows )")
|
||||
if is_64bit == True:
|
||||
crt_path = input("Universal CRT: [C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\10.0.19041.0\\ucrt\\DLLs\\x64]: ")
|
||||
if crt_path == '':
|
||||
crt_path = "C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\10.0.19041.0\\ucrt\\DLLs\\x64" # Default directory.
|
||||
else:
|
||||
crt_path = input("Extra path: [C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\10.0.19041.0\\ucrt\\DLLs\\x86]: ")
|
||||
if crt_path == '':
|
||||
crt_path = "C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\10.0.19041.0\\ucrt\\DLLs\\x86" # Default directory.
|
||||
print("crt_path = " + crt_path)
|
||||
except KeyboardInterrupt:
|
||||
sys.exit("KeyboardInterrupt")
|
||||
|
||||
exclude_modules = ['collections.sys',
|
||||
'collections._sre',
|
||||
'collections._json',
|
||||
'collections._locale',
|
||||
'collections._struct',
|
||||
'collections.array',
|
||||
'collections._weakref',
|
||||
'PyQt5.QtMultimedia',
|
||||
'PyQt5.QtDBus',
|
||||
'PyQt5.QtDeclarative',
|
||||
'PyQt5.QtHelp',
|
||||
'PyQt5.QtNetwork',
|
||||
'PyQt5.QtSql',
|
||||
'PyQt5.QtSvg',
|
||||
'PyQt5.QtTest',
|
||||
'PyQt5.QtWebKit',
|
||||
'PyQt5.QtXml',
|
||||
'PyQt5.QtXmlPatterns',
|
||||
'PyQt5.phonon',
|
||||
'PyQt5.QtAssistant',
|
||||
'PyQt5.QtDesigner',
|
||||
'PyQt5.QAxContainer',
|
||||
'pygame.docs' # Hopefully we can just not have pygame at all at some point =3
|
||||
# (when QtMultimedia stops relying on local codecs </3)
|
||||
'pygame.examples',
|
||||
'pygame.tests',
|
||||
'pydoc_data']
|
||||
|
||||
is_64bit = sys.maxsize > 2**32
|
||||
exclude_modules = []
|
||||
add_data = ['quirks;quirks',
|
||||
'smilies;smilies',
|
||||
'themes;themes',
|
||||
|
@ -99,7 +15,17 @@ add_data = ['quirks;quirks',
|
|||
'CHANGELOG.md;.',
|
||||
'PCskins.png;.',
|
||||
'Pesterchum.png;.']
|
||||
|
||||
data_folders = {'quirks': 'quirks',
|
||||
'smilies': 'smilies',
|
||||
'themes': 'themes',
|
||||
'docs': 'docs'}
|
||||
data_files = {'README.md': 'README.md.txt',
|
||||
'LICENSE': 'LICENSE.txt',
|
||||
'CHANGELOG.md': 'CHANGELOG.md.txt',
|
||||
'PCskins.png': '.',
|
||||
'Pesterchum.png': '.'}
|
||||
# Some of these might not be required anymore,
|
||||
# newer versions of PyInstaller claim to exclude certain problematic DDLs automatically.
|
||||
upx_exclude = ["qwindows.dll",
|
||||
"Qt5Core.dll",
|
||||
"Qt5Gui.dll",
|
||||
|
@ -151,135 +77,228 @@ upx_exclude = ["qwindows.dll",
|
|||
"api-ms-win-crt-utility-l1-1-0.dll",\
|
||||
"ucrtbase.dll"]
|
||||
|
||||
delete_builddist = ''
|
||||
upx_enabled = ''
|
||||
package_universal_crt = ''
|
||||
onefile = ''
|
||||
windowed = ''
|
||||
|
||||
try:
|
||||
print("This is a script to make building with Pyinstaller a bit more conventient.")
|
||||
|
||||
while (delete_builddist != 'y') and (delete_builddist != 'n'):
|
||||
delete_builddist = input("Delete build & dist folders? (Y/N): ").lower()
|
||||
if delete_builddist == "y":
|
||||
try:
|
||||
shutil.rmtree('dist')
|
||||
except FileNotFoundError as e:
|
||||
print(e)
|
||||
try:
|
||||
shutil.rmtree('build')
|
||||
except FileNotFoundError as e:
|
||||
print(e)
|
||||
|
||||
while (upx_enabled != 'y') and (upx_enabled != 'n'):
|
||||
upx_enabled = input("Enable UPX? (Y/N): ").lower()
|
||||
if upx_enabled == 'y':
|
||||
print("If upx is on your path you don't need to include anything here.")
|
||||
if is_64bit == True:
|
||||
upx_dir = input("UPX directory [D:\\upx-3.96-win64]: ")
|
||||
if upx_dir == '':
|
||||
upx_dir = "D:\\upx-3.96-win64" # Default dir for me :)
|
||||
else:
|
||||
upx_dir = input("UPX directory [D:\\upx-3.96-win32]: ")
|
||||
if upx_dir == '':
|
||||
upx_dir = "D:\\upx-3.96-win32" # Default dir for me :)
|
||||
print("upx_dir = " + upx_dir)
|
||||
elif upx_enabled == 'n':
|
||||
upx_dir = ''
|
||||
|
||||
while (windowed != 'y') and (windowed != 'n'):
|
||||
windowed = input("Build with '--windowed'? (Y/N): ").lower()
|
||||
|
||||
if sys.platform == 'win32':
|
||||
print("(https://pyinstaller.readthedocs.io/en/stable/usage.html?highlight=sdk#windows)")
|
||||
while (package_universal_crt != 'y') and (package_universal_crt != 'n'):
|
||||
package_universal_crt = input("Try to include universal CRT? (Y/N): ").lower()
|
||||
if package_universal_crt == 'y':
|
||||
if is_64bit == True:
|
||||
crt_path = input("Universal CRT: [C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\10.0.19041.0\\ucrt\\DLLs\\x64]: ")
|
||||
if crt_path == '':
|
||||
#crt_path = "C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\10.0.19041.0\\ucrt\\DLLs\\x64" # Default directory.
|
||||
crt_path = os.path.join('C:%s' % os.sep, 'Program Files (x86)', 'Windows Kits', '10', '10.0.19041.0', 'ucrt', 'DLLs', 'x64')
|
||||
else:
|
||||
crt_path = input("Extra path: [C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\10.0.19041.0\\ucrt\\DLLs\\x86]: ")
|
||||
if crt_path == '':
|
||||
#crt_path = "C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\10.0.19041.0\\ucrt\\DLLs\\x86" # Default directory.
|
||||
crt_path = os.path.join('C:%s' % os.sep, 'Program Files (x86)', 'Windows Kits', '10', '10.0.19041.0', 'ucrt', 'DLLs', 'x86')
|
||||
print("crt_path = " + crt_path)
|
||||
|
||||
if (sys.platform == 'win32') or (sys.platform == 'linux'):
|
||||
while (onefile != 'y') and (onefile != 'n'):
|
||||
onefile = input("Build with '--onefile'? (Y/N): ").lower()
|
||||
|
||||
except KeyboardInterrupt:
|
||||
sys.exit("KeyboardInterrupt")
|
||||
|
||||
#Windows
|
||||
if sys.platform == 'win32':
|
||||
run_win32 = [
|
||||
'pesterchum.py',
|
||||
'--name=Pesterchum',
|
||||
'--paths=%s' % crt_path,
|
||||
#'--noconfirm', # Overwrite output directory.
|
||||
'--windowed', # Hide console
|
||||
#'--onefile',
|
||||
#'--windowed', # Hide console
|
||||
'--icon=pesterchum.ico',
|
||||
'--clean', # Clear cache
|
||||
|
||||
]
|
||||
|
||||
if (sys.version_info.major == 3) & (sys.version_info.minor == 8):
|
||||
exclude_modules.append('tkinter')
|
||||
if upx_enabled == True:
|
||||
if upx_enabled == 'y':
|
||||
if os.path.isdir(upx_dir):
|
||||
run_win32.append('--upx-dir=%s' % upx_dir)
|
||||
else:
|
||||
for x in upx_exclude:
|
||||
run_win32.append('--upx-exclude=%s' % x )
|
||||
# Lower case variants are required.
|
||||
run_win32.append('--upx-exclude=%s' % x.lower() )
|
||||
elif upx_enabled == 'n':
|
||||
run_win32.append('--noupx')
|
||||
for x in upx_exclude:
|
||||
run_win32.append('--upx-exclude=%s' % x )
|
||||
# Lower case variants are required.
|
||||
run_win32.append('--upx-exclude=%s' % x.lower() )
|
||||
for x in exclude_modules:
|
||||
run_win32.append('--exclude-module=%s' % x )
|
||||
for x in add_data:
|
||||
run_win32.append('--add-data=%s' % x )
|
||||
|
||||
if os.path.exists(crt_path):
|
||||
if is_64bit == False:
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-console-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-console-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-console-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-datetime-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-debug-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-errorhandling-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-file-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-file-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-file-l2-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-handle-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-heap-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-interlocked-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-libraryloader-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-localization-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-memory-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-namedpipe-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-processenvironment-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-processthreads-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-processthreads-l1-1-1.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-profile-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-rtlsupport-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-string-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-synch-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-synch-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-sysinfo-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-timezone-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-util-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\API-MS-Win-core-xstate-l2-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-conio-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-convert-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-environment-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-filesystem-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-heap-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-locale-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-math-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-multibyte-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-private-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-process-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-runtime-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-stdio-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-string-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-time-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-utility-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\ucrtbase.dll;.' % crt_path)
|
||||
elif is_64bit == True:
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-console-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-console-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-datetime-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-debug-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-errorhandling-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-file-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-file-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-file-l2-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-handle-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-heap-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-interlocked-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-libraryloader-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-localization-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-memory-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-namedpipe-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-processenvironment-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-processthreads-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-processthreads-l1-1-1.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-profile-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-rtlsupport-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-string-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-synch-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-synch-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-sysinfo-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-timezone-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-util-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-conio-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-convert-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-environment-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-filesystem-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-heap-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-locale-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-math-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-multibyte-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-private-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-process-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-runtime-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-stdio-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-string-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-time-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-utility-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\ucrtbase.dll;.' % crt_path)
|
||||
if windowed == 'y':
|
||||
run_win32.append('--windowed')
|
||||
if onefile == 'y':
|
||||
run_win32.append('--onefile')
|
||||
elif onefile == 'n':
|
||||
for x in add_data:
|
||||
run_win32.append('--add-data=%s' % x )
|
||||
|
||||
|
||||
if package_universal_crt == 'y':
|
||||
run_win32.append('--paths=\"%s\"' % crt_path)
|
||||
if os.path.exists(crt_path):
|
||||
if is_64bit == False:
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-console-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-console-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-console-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-datetime-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-debug-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-errorhandling-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-file-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-file-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-file-l2-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-handle-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-heap-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-interlocked-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-libraryloader-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-localization-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-memory-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-namedpipe-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-processenvironment-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-processthreads-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-processthreads-l1-1-1.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-profile-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-rtlsupport-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-string-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-synch-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-synch-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-sysinfo-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-timezone-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-util-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\API-MS-Win-core-xstate-l2-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-conio-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-convert-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-environment-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-filesystem-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-heap-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-locale-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-math-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-multibyte-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-private-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-process-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-runtime-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-stdio-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-string-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-time-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-utility-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\ucrtbase.dll;.' % crt_path)
|
||||
elif is_64bit == True:
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-console-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-console-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-datetime-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-debug-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-errorhandling-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-file-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-file-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-file-l2-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-handle-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-heap-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-interlocked-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-libraryloader-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-localization-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-memory-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-namedpipe-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-processenvironment-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-processthreads-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-processthreads-l1-1-1.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-profile-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-rtlsupport-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-string-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-synch-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-synch-l1-2-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-sysinfo-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-timezone-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-core-util-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-conio-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-convert-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-environment-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-filesystem-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-heap-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-locale-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-math-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-multibyte-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-private-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-process-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-runtime-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-stdio-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-string-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-time-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\api-ms-win-crt-utility-l1-1-0.dll;.' % crt_path)
|
||||
run_win32.append('--add-binary=%s\\ucrtbase.dll;.' % crt_path)
|
||||
print(run_win32)
|
||||
|
||||
PyInstaller.__main__.run(run_win32)
|
||||
|
||||
if onefile == 'y':
|
||||
# There's more proper ways to do this, but this doesn't require changing our paths
|
||||
for x in data_folders:
|
||||
print(x)
|
||||
shutil.copytree(x, os.path.join('dist', data_folders[x]),
|
||||
ignore=shutil.ignore_patterns('*.psd',
|
||||
'*.xcf*',
|
||||
'ebg2.png',
|
||||
'ebg1.png'))
|
||||
for x in data_files:
|
||||
print(x)
|
||||
shutil.copy(x, os.path.join('dist', data_files[x]))
|
||||
|
||||
files = os.listdir('dist')
|
||||
os.mkdir(os.path.join('dist', 'Pesterchum'))
|
||||
for x in files:
|
||||
shutil.move(os.path.join('dist',x), os.path.join('dist', 'Pesterchum'))
|
||||
|
||||
#shutil.copy(os.path.join('build', 'Pesterchum', 'xref-Pesterchum.html'),
|
||||
# os.path.join('dist', 'Pesterchum', 'xref-Pesterchum.html'))
|
||||
#shutil.copy(os.path.join('build', 'Pesterchum', 'Analysis-00.toc'),
|
||||
# os.path.join('dist', 'Pesterchum', 'Analysis-00.toc'))
|
||||
|
||||
|
||||
#MacOS
|
||||
elif sys.platform == 'darwin' :
|
||||
run_darwin =[
|
||||
'pesterchum.py',
|
||||
'--name=Pesterchum',
|
||||
'--windowed', # Hide console
|
||||
#'--windowed', # Hide console
|
||||
#'--noconfirm', # Overwrite output directory.
|
||||
'--icon=trayicon32.icns', # Icon
|
||||
'--onedir',
|
||||
|
@ -287,22 +306,23 @@ elif sys.platform == 'darwin' :
|
|||
#'--noupx'
|
||||
]
|
||||
|
||||
if upx_enabled == True:
|
||||
if upx_enabled == 'y':
|
||||
if os.path.isdir(upx_dir):
|
||||
run_darwin.append('--upx-dir=%s' % upx_dir)
|
||||
else:
|
||||
for x in upx_exclude:
|
||||
run_darwin.append('--upx-exclude=%s' % x )
|
||||
# Lower case variants are required.
|
||||
run_darwin.append('--upx-exclude=%s' % x.lower() )
|
||||
elif upx_enabled == 'n':
|
||||
run_darwin.append('--noupx')
|
||||
if os.path.isdir(upx_dir):
|
||||
run_darwin.append('--upx-dir=%s' % upx_dir)
|
||||
for x in upx_exclude:
|
||||
run_darwin.append('--upx-exclude=%s' % x )
|
||||
# Lower case variants are required.
|
||||
run_darwin.append('--upx-exclude=%s' % x.lower() )
|
||||
for x in exclude_modules:
|
||||
run_darwin.append('--exclude-module=%s' % x )
|
||||
for x in add_data:
|
||||
run_darwin.append('--add-data=%s' % x.replace(';',':') )
|
||||
|
||||
if windowed == 'y':
|
||||
run_win32.append('--windowed')
|
||||
PyInstaller.__main__.run(run_darwin)
|
||||
|
||||
#Linux
|
||||
|
@ -316,25 +336,50 @@ elif sys.platform == 'linux':
|
|||
'--clean', # Clear cache
|
||||
]
|
||||
|
||||
if upx_enabled == True:
|
||||
if upx_enabled == 'y':
|
||||
if os.path.isdir(upx_dir):
|
||||
run_linux.append('--upx-dir=%s' % upx_dir)
|
||||
else:
|
||||
for x in upx_exclude:
|
||||
run_linux.append('--upx-exclude=%s' % x )
|
||||
# Lower case variants are required.
|
||||
run_linux.append('--upx-exclude=%s' % x.lower() )
|
||||
elif upx_enabled == 'n':
|
||||
run_linux.append('--noupx')
|
||||
if os.path.isdir(upx_dir):
|
||||
run_linux.append('--upx-dir=%s' % upx_dir)
|
||||
for x in upx_exclude:
|
||||
run_linux.append('--upx-exclude=%s' % x )
|
||||
# Lower case variants are required.
|
||||
run_linux.append('--upx-exclude=%s' % x.lower() )
|
||||
for x in exclude_modules:
|
||||
run_linux.append('--exclude-module=%s' % x )
|
||||
for x in add_data:
|
||||
run_linux.append('--add-data=%s' % x.replace(';',':') )
|
||||
|
||||
if onefile == 'y':
|
||||
run_linux.append('--onefile')
|
||||
elif onefile == 'n':
|
||||
for x in add_data:
|
||||
run_linux.append('--add-data=%s' % x.replace(';',':') )
|
||||
if windowed == 'y':
|
||||
run_win32.append('--windowed')
|
||||
|
||||
print(run_linux)
|
||||
PyInstaller.__main__.run(run_linux)
|
||||
|
||||
if onefile == 'y':
|
||||
# There's more proper ways to do this, but this doesn't require changing our paths
|
||||
for x in data_folders:
|
||||
print(x)
|
||||
shutil.copytree(x, os.path.join('dist', data_folders[x]),
|
||||
ignore=shutil.ignore_patterns('*.psd',
|
||||
'*.xcf*',
|
||||
'ebg2.png',
|
||||
'ebg1.png'))
|
||||
for x in data_files:
|
||||
print(x)
|
||||
shutil.copy(x, os.path.join('dist', data_files[x]))
|
||||
|
||||
files = os.listdir('dist')
|
||||
os.mkdir(os.path.join('dist', 'Pesterchum'))
|
||||
for x in files:
|
||||
shutil.move(os.path.join('dist',x), os.path.join('dist', 'Pesterchum'))
|
||||
#shutil.copy(os.path.join('build', 'Pesterchum', 'xref-Pesterchum.html'),
|
||||
# os.path.join('dist', 'Pesterchum', 'xref-Pesterchum.html'))
|
||||
#shutil.copy(os.path.join('build', 'Pesterchum', 'Analysis-00.toc'),
|
||||
# os.path.join('dist', 'Pesterchum', 'Analysis-00.toc'))
|
||||
|
||||
else:
|
||||
print("Unknown platform.")
|
||||
|
||||
|
@ -344,7 +389,7 @@ else:
|
|||
'--clean', # Clear cache
|
||||
]
|
||||
|
||||
if upx_enabled == True:
|
||||
if upx_enabled == 'y':
|
||||
if os.path.isdir(upx_dir):
|
||||
run_generic.append('--upx-dir=%s' % upx_dir)
|
||||
else:
|
||||
|
@ -357,7 +402,9 @@ else:
|
|||
run_generic.append('--exclude-module=%s' % x )
|
||||
for x in add_data:
|
||||
run_generic.append('--add-data=%s' % x.replace(';',':') )
|
||||
|
||||
if windowed == 'y':
|
||||
run_win32.append('--windowed')
|
||||
|
||||
print(run_generic)
|
||||
|
||||
PyInstaller.__main__.run(run_generic)
|
||||
|
|
Loading…
Reference in a new issue