$PYTHON "C:/pyinstaller/pyinstaller.py" --noconfirm --ascii -w deterministic.spec
# For building NSIS installer, run:
-wine "$WINEPREFIX/drive_c/Program Files (x86)/NSIS/makensis.exe" electrum.nsis
+wine "$WINEPREFIX/drive_c/Program Files (x86)/NSIS/makensis.exe" electrum.nsi
#wine $WINEPREFIX/drive_c/Program\ Files\ \(x86\)/NSIS/makensis.exe electrum.nsis
DATE=`date +"%Y%m%d"`
$PYTHON "C:/pyinstaller/pyinstaller.py" --noconfirm --ascii -w deterministic.spec
# For building NSIS installer, run:
-wine "$WINEPREFIX/drive_c/Program Files (x86)/NSIS/makensis.exe" electrum.nsis
+wine "$WINEPREFIX/drive_c/Program Files (x86)/NSIS/makensis.exe" electrum.nsi
#wine $WINEPREFIX/drive_c/Program\ Files\ \(x86\)/NSIS/makensis.exe electrum.nsis
cd dist
# -*- mode: python -*-\r
-a = Analysis(['C:/electrum/electrum'],\r
- pathex=['Z:\\electrum-wine'],\r
- hiddenimports=[],\r
- excludes=['Tkinter'],\r
+\r
+# We don't put these files in to actually include them in the script but to make the Analysis method scan them for imports\r
+a = Analysis(['electrum', 'gui/gui_classic.py', 'gui/gui_lite.py', 'gui/gui_text.py',\r
+ 'lib/util.py', 'lib/wallet.py', 'lib/simple_config.py',\r
+ 'lib/bitcoin.py', 'lib/deserialize.py' \r
+ ],\r
+ hiddenimports=["lib","gui"], \r
+ pathex=['lib:gui:plugins'],\r
hookspath=None)\r
-pyz = PYZ(a.pure, level=0)\r
+\r
+##### include mydir in distribution #######\r
+def extra_datas(mydir):\r
+ def rec_glob(p, files):\r
+ import os\r
+ import glob\r
+ for d in glob.glob(p):\r
+ if os.path.isfile(d):\r
+ files.append(d)\r
+ rec_glob("%s/*" % d, files)\r
+ files = []\r
+ rec_glob("%s/*" % mydir, files)\r
+ extra_datas = []\r
+ for f in files:\r
+ extra_datas.append((f, f, 'DATA'))\r
+\r
+ return extra_datas\r
+###########################################\r
+\r
+# append dirs\r
+\r
+# Theme data\r
+a.datas += extra_datas('data')\r
+\r
+# Localization\r
+a.datas += extra_datas('locale')\r
+\r
+# Py folders that are needed because of the magic import finding\r
+a.datas += extra_datas('gui')\r
+a.datas += extra_datas('lib')\r
+a.datas += extra_datas('plugins')\r
+\r
+pyz = PYZ(a.pure)\r
exe = EXE(pyz,\r
a.scripts,\r
exclude_binaries=1,\r
name=os.path.join('build\\pyi.win32\\electrum', 'electrum.exe'),\r
- debug=False,\r
+ debug=True,\r
strip=None,\r
- upx=True,\r
- console=False )\r
+ upx=False,\r
+ icon='icons/electrum.ico',\r
+ console=True)\r
+ # The console True makes an annoying black box pop up, but it does make Electrum accept command line options.\r
+\r
coll = COLLECT(exe,\r
a.binaries,\r
a.zipfiles,\r
a.datas,\r
strip=None,\r
upx=True,\r
+ debug=False,\r
+ icon='icons/electrum.ico',\r
+ console=True,\r
name=os.path.join('dist', 'electrum'))\r
-app = BUNDLE(coll,\r
- name=os.path.join('dist', 'electrum.app'))\r
+++ /dev/null
-;--------------------------------
-;Include Modern UI
-
- !include "MUI2.nsh"
-
-;--------------------------------
-;General
-
- ;Name and file
- Name "Electrum"
- OutFile "dist/electrum-setup.exe"
-
- ;Default installation folder
- InstallDir "$PROGRAMFILES\Electrum"
-
- ;Get installation folder from registry if available
- InstallDirRegKey HKCU "Software\Electrum" ""
-
- ;Request application privileges for Windows Vista
- RequestExecutionLevel admin
-
-;--------------------------------
-;Variables
-
-;--------------------------------
-;Interface Settings
-
- !define MUI_ABORTWARNING
-
-;--------------------------------
-;Pages
-
- !insertmacro MUI_PAGE_LICENSE "tmp/LICENCE"
- ;!insertmacro MUI_PAGE_COMPONENTS
- !insertmacro MUI_PAGE_DIRECTORY
-
- ;Start Menu Folder Page Configuration
- !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
- !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Electrum"
- !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
-
- ;!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
-
- !insertmacro MUI_PAGE_INSTFILES
-
- !insertmacro MUI_UNPAGE_CONFIRM
- !insertmacro MUI_UNPAGE_INSTFILES
-
-;--------------------------------
-;Languages
-
- !insertmacro MUI_LANGUAGE "English"
-
-;--------------------------------
-;Installer Sections
-
-Section
-
- SetOutPath "$INSTDIR"
-
- ;ADD YOUR OWN FILES HERE...
- file /r dist\electrum\*.*
-
- ;Store installation folder
- WriteRegStr HKCU "Software\Electrum" "" $INSTDIR
-
- ;Create uninstaller
- WriteUninstaller "$INSTDIR\Uninstall.exe"
-
-
- CreateShortCut "$DESKTOP\Electrum.lnk" "$INSTDIR\electrum.exe" ""
-
- ;create start-menu items
- CreateDirectory "$SMPROGRAMS\Electrum"
- CreateShortCut "$SMPROGRAMS\Electrum\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
- CreateShortCut "$SMPROGRAMS\Electrum\Electrum.lnk" "$INSTDIR\electrum.exe" "" "$INSTDIR\electrum.exe" 0
-
-SectionEnd
-
-;--------------------------------
-;Descriptions
-
- ;Assign language strings to sections
- ;!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
- ; !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy)
- ;!insertmacro MUI_FUNCTION_DESCRIPTION_END
-
-;--------------------------------
-;Uninstaller Section
-
-Section "Uninstall"
-
- ;ADD YOUR OWN FILES HERE...
- RMDir /r "$INSTDIR\*.*"
-
- RMDir "$INSTDIR"
-
- Delete "$DESKTOP\Electrum.lnk"
- Delete "$SMPROGRAMS\Electrum\*.*"
- RmDir "$SMPROGRAMS\Electrum"
-
- DeleteRegKey /ifempty HKCU "Software\Electrum"
-
-SectionEnd