X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FProjets%2FPython%2FMusicSampler.git;a=blobdiff_plain;f=music_sampler.spec;h=791cd686ec7d02798c4dabe25d5c5c3b3f0d24d0;hp=2f6f04c23ab4acd92b0a0eadf80982ff63258924;hb=6ebe62478a49df22c55ef6a2b1200473500a7f80;hpb=532454ebada0ca776e8136450ed8810bc22d210b diff --git a/music_sampler.spec b/music_sampler.spec index 2f6f04c..791cd68 100644 --- a/music_sampler.spec +++ b/music_sampler.spec @@ -1,32 +1,67 @@ # -*- mode: python -*- +import os +from kivy.tools.packaging.pyinstaller_hooks import get_deps_minimal,\ + hookspath, runtime_hooks -block_cipher = None +import importlib.machinery +sysfont = importlib.machinery\ + .SourceFileLoader('sysfont', os.getcwd() + '/music_sampler/sysfont.py') \ + .load_module() -a = Analysis(['music_sampler.py'], +excluded_and_hidden_modules = get_deps_minimal( + video=None, + camera=None, + audio=None, + clipboard=None, + spelling=None) + +excluded_and_hidden_modules['hiddenimports'] += [ + 'six', + 'packaging', + 'packaging.version', + 'packaging.specifiers', + 'packaging.requirements' ] + +commit_message = os.popen('git log -1 --format="%h %ci"').read() +pyinstaller_file = open(".pyinstaller_commit", "w") +pyinstaller_file.write(commit_message) +pyinstaller_file.close() + +data = [ + ('music_sampler/music_sampler.kv', '.'), + ('.pyinstaller_commit', '.') +] + +a = Analysis(['run.py'], binaries=None, - datas=[('config.yml', '.')], - hiddenimports=[ - 'six', - 'packaging', - 'packaging.version', - 'packaging.specifiers', - 'packaging.requirements' - ], - hookspath=[], - runtime_hooks=[], - 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, - a.binaries, - a.zipfiles, - a.datas, - name='music_sampler', - debug=False, - strip=False, - upx=True, - console=True ) + datas=data, + hookspath=hookspath(), + runtime_hooks=runtime_hooks(), + **excluded_and_hidden_modules) + +for fontname, style in [("Ubuntu", sysfont.STYLE_NORMAL), ("Ubuntu", sysfont.STYLE_BOLD), ("Symbola", sysfont.STYLE_NONE)]: + font = sysfont.get_font(fontname, style=style) + a.datas.append(( + 'fonts/{}_{}.ttf'.format(fontname, style), + font[4], + 'DATA' + )) + +pyz = PYZ(a.pure, a.zipped_data) + +# Single file +exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, + name='music_sampler') + +# Directory +# exe = EXE(pyz, a.scripts, +# exclude_binaries=True, +# name='music_sampler_dir', +# debug=False, +# strip=False, +# upx=True, +# console=True) +# coll = COLLECT(exe, a.binaries, a.zipfiles, a.datas, +# strip=False, +# upx=True, +# name='music_sampler_dir')