summaryrefslogtreecommitdiff
path: root/pkg/pyinst/app.spec
blob: 6adbf5d83bc8b582f92c97fba9e1c04dd8f7274e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# -*- mode: python -*-
import platform

block_cipher = None

BITMASK_VERSION = open('pkg/next-version').read()

hiddenimports = [
     'appdirs',
     'scrypt', 'zope.interface', 'zope.proxy',
     'pixelated_www', 'pixelated', 'chardet', 'whoosh', 'requests',
     'pysqlcipher', 'service_identity',
     'leap.common', 'leap.bitmask', 
     'leap.bitmask.core.logs',
     'leap.bitmask.gui.icons_rc',
     'leap.soledad.common', 
     'leap.soledad.common.document', 
     'leap.soledad.common.l2db',
     'leap.bitmask_js',
     'packaging', 'packaging.version', 'packaging.specifiers',
     'packaging.requirements']

if platform.system() == 'Windows':
    print "Platform=Windows, using pyside..."
    hiddenimports.extend(
        ['PySide.QtCore', 'PySide.QtGui', 'PySide.QtWebKit',
	# for some reason pyinstaller 3.1 complains about missing
	# packages that should have been vendored
	'appdirs',
	'packaging', 'packaging.version', 'packaging.specifiers',
	'packaging.requirements',
	'python-gnupg'])
    excludes = ['PyQt5']
else:
    hiddenimports.extend(
        ['PyQt5.QtCore', 'PyQt5.QtGui', 'PyQt5.QtWebKit'])
    excludes = ['PySide']

import os
VENV = os.environ.get('VIRTUAL_ENV', '')

a = Analysis(['../../src/leap/bitmask/gui/app.py'],
             pathex=[
	         '/usr/lib/python2.7/dist-packages/',
	        VENV + '/Lib/site-packages/',
	        VENV + '/Lib/site-packages/leap/soledad'],
             binaries=None,
             datas=None,
             hiddenimports=hiddenimports,
             hookspath=[],
             runtime_hooks=[],
             excludes=excludes,

             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          exclude_binaries=True,
          name='bitmask',
          debug=False,
          strip=False,
          upx=True,
	  # TODO remove console for win
          console=True,
          icon='../branding/mask-icon.ico')
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               name='bitmask')

if sys.platform.startswith('darwin'):
    app = BUNDLE(
    	coll,
        name=os.path.join(
          'dist', 'Bitmask.app'),
          appname='Bitmask',
          version=BITMASK_VERSION,
          icon='../osx/bitmask.icns',
	  bundle_identifier='bitmask-' + BITMASK_VERSION)