X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FProjets%2FPython%2FMusicSampler.git;a=blobdiff_plain;f=music_sampler.spec;h=5a814643c600569179b24cf6be5e52904c04ce49;hp=8ce1db32b1701cfeaee4342be74e82441f20fc4e;hb=HEAD;hpb=1bf9e4940feed9d47a4bc36acdd71a47704d82cf diff --git a/music_sampler.spec b/music_sampler.spec index 8ce1db3..844ac4b 100644 --- a/music_sampler.spec +++ b/music_sampler.spec @@ -1,30 +1,74 @@ # -*- mode: python -*- import os -from kivy.tools.packaging.pyinstaller_hooks import get_deps_minimal, hookspath, runtime_hooks +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() -commit_message = os.popen('git log -1 --format="%h %ci"').read() +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() -a = Analysis(['music_sampler.py'], - binaries=None, - datas=[ - ('fonts/*', 'fonts'), - ('music_sampler.kv', '.'), - ('.pyinstaller_commit', '.') - ], +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) # Single file -exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, name='music_sampler') +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') +# 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')