diff options
Diffstat (limited to 'desktop/install/pyinstaller.spec')
-rw-r--r-- | desktop/install/pyinstaller.spec | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/desktop/install/pyinstaller.spec b/desktop/install/pyinstaller.spec new file mode 100644 index 00000000..24c0ed07 --- /dev/null +++ b/desktop/install/pyinstaller.spec @@ -0,0 +1,116 @@ +# -*- mode: python -*- + +import os +import platform +from distutils.sysconfig import get_python_lib + +p = platform.system() + +version = open("share/version.txt").read().strip() + +paths = ["."] +if p == "Windows": + paths.append(os.path.join(get_python_lib(), "PyQt5", "Qt", "bin")) + paths.append( + os.path.join( + os.path.abspath(os.sep), + "Program Files (x86)", + "Windows Kits", + "10", + "bin", + "x86", + ) + ) + paths.append( + os.path.join( + os.path.abspath(os.sep), + "Program Files (x86)", + "Windows Kits", + "10", + "bin", + "x64", + ) + ) + paths.append( + os.path.join( + os.path.abspath(os.sep), + "Program Files (x86)", + "Windows Kits", + "10", + "Redist", + "ucrt", + "DLLs", + "x86", + ) + ) + paths.append( + os.path.join( + os.path.abspath(os.sep), + "Program Files (x86)", + "Windows Kits", + "10", + "Redist", + "ucrt", + "DLLs", + "x64", + ) + ) + +a = Analysis( + ["scripts/onionshare-pyinstaller"], + pathex=paths, + binaries=None, + datas=[ + ("../share/version.txt", "share"), + ("../share/wordlist.txt", "share"), + ("../share/torrc_template", "share"), + ("../share/torrc_template-obfs4", "share"), + ("../share/torrc_template-meek_lite_azure", "share"), + ("../share/images/*", "share/images"), + ("../share/locale/*", "share/locale"), + ("../share/static/*", "share/static"), + ("../share/templates/*", "share/templates"), + ("../share/static/css/*", "share/static/css"), + ("../share/static/img/*", "share/static/img"), + ("../share/static/js/*", "share/static/js"), + ("../install/licenses/*", "licenses"), + ], + hiddenimports=["engineio.async_drivers.threading"], + hookspath=[], + runtime_hooks=[], + win_no_prefer_redirects=False, + win_private_assemblies=False, + cipher=None, +) + +pyz = PYZ(a.pure, a.zipped_data, cipher=None) + +# Show console in dev releases, don't show console in production releases +console = "dev" in version + +exe = EXE( + pyz, + a.scripts, + exclude_binaries=True, + name="onionshare-gui", + debug=False, + strip=False, + upx=True, + console=console, +) + +coll = COLLECT( + exe, a.binaries, a.zipfiles, a.datas, strip=False, upx=True, name="onionshare" +) + +if p == "Darwin": + app = BUNDLE( + coll, + name="OnionShare.app", + icon="onionshare.icns", + bundle_identifier="com.micahflee.onionshare", + info_plist={ + "CFBundleShortVersionString": version, + "NSHighResolutionCapable": "True", + }, + ) |