X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FProjets%2FPython%2FMusicSampler.git;a=blobdiff_plain;f=music_sampler.spec;h=5a814643c600569179b24cf6be5e52904c04ce49;hp=a56c2dd0f051076f11b63c9a8e64b68a6594aa58;hb=HEAD;hpb=d8046b94a52262d1453104de2df138a952cb4548 diff --git a/music_sampler.spec b/music_sampler.spec index a56c2dd..844ac4b 100644 --- a/music_sampler.spec +++ b/music_sampler.spec @@ -1,17 +1,74 @@ # -*- mode: python -*- -from kivy.tools.packaging.pyinstaller_hooks import get_deps_minimal, hookspath, runtime_hooks +import os +import setuptools_scm +from kivy.tools.packaging.pyinstaller_hooks import get_deps_minimal,\ + hookspath, runtime_hooks -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'] +import importlib.machinery +sysfont = importlib.machinery\ + .SourceFileLoader('sysfont', os.getcwd()+'/music_sampler/sysfont.py') \ + .load_module() -a = Analysis(['music_sampler.py'], - binaries=None, - datas=[ - ('fonts/*', 'fonts'), - ('musicsampler.kv', '.') - ], +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 = setuptools_scm.get_version() +pyinstaller_file = open(".pyinstaller_commit", "w") +pyinstaller_file.write(commit_message) +pyinstaller_file.close() + +data = [ + ('music_sampler/music_sampler.kv', '.'), + ('.pyinstaller_commit', '.'), + ('music_sampler/locales', 'locales') +] + +a = Analysis(['run.py'], + datas=data, hookspath=hookspath(), runtime_hooks=runtime_hooks(), **excluded_and_hidden_modules) + +fonts = [ + ("Ubuntu", sysfont.STYLE_NORMAL), + ("Ubuntu", sysfont.STYLE_BOLD), + ("Symbola", sysfont.STYLE_NONE) +] + +for fontname, style in fonts: + 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) -exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, name='music_sampler') + +# 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')