# -*- mode: python -*-
import os
+import setuptools_scm
from kivy.tools.packaging.pyinstaller_hooks import get_deps_minimal,\
hookspath, runtime_hooks
+import importlib.machinery
+sysfont = importlib.machinery\
+ .SourceFileLoader('sysfont', os.getcwd()+'/music_sampler/sysfont.py') \
+ .load_module()
+
excluded_and_hidden_modules = get_deps_minimal(
video=None,
camera=None,
'packaging.specifiers',
'packaging.requirements' ]
-commit_message = os.popen('git log -1 --format="%h %ci"').read()
+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'],
+data = [
+ ('music_sampler/music_sampler.kv', '.'),
+ ('.pyinstaller_commit', '.'),
+ ('music_sampler/locales', 'locales')
+]
+
+a = Analysis(['run.py'],
binaries=None,
- datas=[
- ('fonts/*', 'fonts'),
- ('music_sampler.kv', '.'),
- ('.pyinstaller_commit', '.')
- ],
+ 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