]> git.immae.eu Git - perso/Immae/Projets/Python/MusicSampler.git/blob - music_sampler.spec
Add config
[perso/Immae/Projets/Python/MusicSampler.git] / music_sampler.spec
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')