]>
Commit | Line | Data |
---|---|---|
1 | # -*- mode: python -*- | |
2 | import os | |
3 | import setuptools_scm | |
4 | from kivy.tools.packaging.pyinstaller_hooks import get_deps_minimal,\ | |
5 | hookspath, runtime_hooks | |
6 | ||
7 | import importlib.machinery | |
8 | sysfont = importlib.machinery\ | |
9 | .SourceFileLoader('sysfont', os.getcwd()+'/music_sampler/sysfont.py') \ | |
10 | .load_module() | |
11 | ||
12 | excluded_and_hidden_modules = get_deps_minimal( | |
13 | video=None, | |
14 | camera=None, | |
15 | audio=None, | |
16 | clipboard=None, | |
17 | spelling=None) | |
18 | ||
19 | excluded_and_hidden_modules['hiddenimports'] += [ | |
20 | 'six', | |
21 | 'packaging', | |
22 | 'packaging.version', | |
23 | 'packaging.specifiers', | |
24 | 'packaging.requirements' ] | |
25 | ||
26 | commit_message = setuptools_scm.get_version() | |
27 | pyinstaller_file = open(".pyinstaller_commit", "w") | |
28 | pyinstaller_file.write(commit_message) | |
29 | pyinstaller_file.close() | |
30 | ||
31 | data = [ | |
32 | ('music_sampler/music_sampler.kv', '.'), | |
33 | ('.pyinstaller_commit', '.'), | |
34 | ('music_sampler/locales', 'locales') | |
35 | ] | |
36 | ||
37 | a = Analysis(['run.py'], | |
38 | binaries=None, | |
39 | datas=data, | |
40 | hookspath=hookspath(), | |
41 | runtime_hooks=runtime_hooks(), | |
42 | **excluded_and_hidden_modules) | |
43 | ||
44 | fonts = [ | |
45 | ("Ubuntu", sysfont.STYLE_NORMAL), | |
46 | ("Ubuntu", sysfont.STYLE_BOLD), | |
47 | ("Symbola", sysfont.STYLE_NONE) | |
48 | ] | |
49 | ||
50 | for fontname, style in fonts: | |
51 | font = sysfont.get_font(fontname, style=style) | |
52 | a.datas.append(( | |
53 | 'fonts/{}_{}.ttf'.format(fontname, style), | |
54 | font[4], | |
55 | 'DATA' | |
56 | )) | |
57 | ||
58 | pyz = PYZ(a.pure, a.zipped_data) | |
59 | ||
60 | # Single file | |
61 | exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, | |
62 | name='music_sampler') | |
63 | ||
64 | # Directory | |
65 | # exe = EXE(pyz, a.scripts, | |
66 | # exclude_binaries=True, | |
67 | # name='music_sampler_dir', | |
68 | # debug=False, | |
69 | # strip=False, | |
70 | # upx=True, | |
71 | # console=True) | |
72 | # coll = COLLECT(exe, a.binaries, a.zipfiles, a.datas, | |
73 | # strip=False, | |
74 | # upx=True, | |
75 | # name='music_sampler_dir') |