From 8493a398ef5e565bd7044edebd2c4e786789855e Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Sat, 7 Jan 2017 18:17:15 -0800 Subject: [PATCH] Add a pyinstaller spec --- install/build_exe.bat | 2 +- install/build_osx.sh | 2 +- install/pyinstaller.spec | 61 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 install/pyinstaller.spec diff --git a/install/build_exe.bat b/install/build_exe.bat index e0a2094e..bfbb998e 100644 --- a/install/build_exe.bat +++ b/install/build_exe.bat @@ -1,5 +1,5 @@ REM build onionshare.exe, onionshare-gui.exe -python setup.py build +pyinstaller install\pyinstaller.spec -y REM sign onionshare.exe, onionshare-gui.exe signtool.exe sign /v /d "OnionShare" /a /tr http://timestamp.globalsign.com/scripts/timstamp.dll /fd sha256 build\exe.win32-3.5\onionshare.exe diff --git a/install/build_osx.sh b/install/build_osx.sh index 2f2314f5..a8259a43 100755 --- a/install/build_osx.sh +++ b/install/build_osx.sh @@ -9,7 +9,7 @@ rm -rf $ROOT/build $ROOT/dist &>/dev/null 2>&1 # build the .app echo Building OnionShare.app -python3 setup.py bdist_mac +pyinstaller install/pyinstaller.spec if [ "$1" = "--release" ]; then mkdir -p dist diff --git a/install/pyinstaller.spec b/install/pyinstaller.spec new file mode 100644 index 00000000..ffff330c --- /dev/null +++ b/install/pyinstaller.spec @@ -0,0 +1,61 @@ +# -*- mode: python -*- + +import platform +p = platform.system() + +version = open('resources/version.txt').read().strip() + +a = Analysis( + ['scripts/onionshare-gui'], + pathex=['.'], + binaries=None, + datas=[ + ('../resources/images/*', 'images'), + ('../resources/locale/*', 'locale'), + ('../resources/html/*', 'html'), + ('../resources/license.txt', '.'), + ('../resources/version.txt', '.'), + ('../resources/wordlist.txt', '.') + ], + hiddenimports=[], + hookspath=[], + runtime_hooks=[], + excludes=[], + win_no_prefer_redirects=False, + win_private_assemblies=False, + cipher=None) + +pyz = PYZ( + a.pure, a.zipped_data, + cipher=None) + +exe = EXE( + pyz, + a.scripts, + exclude_binaries=True, + name='onionshare', + debug=False, + strip=False, + upx=True, + console=False) + +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='install/onionshare.icns', + bundle_identifier='com.micahflee.onionshare', + info_plist={ + 'CFBundleShortVersionString': version, + 'NSHighResolutionCapable': 'True' + } + )