gramps/mac/gramps_launcher.py
2021-07-26 13:23:19 -07:00

49 lines
1.7 KiB
Python

from os.path import join, dirname, abspath, normpath
from os import environ
from sys import argv, version
from platform import release
bundlepath = argv[0]
bundle_contents = join(bundlepath, 'Contents')
bundle_res = join(bundle_contents, 'Resources')
bundle_lib = join(bundle_res, 'lib')
bundle_bin = join(bundle_res, 'bin')
bundle_data = join(bundle_res, 'share')
bundle_etc = join(bundle_res, 'etc')
environ['XDG_DATA_DIRS'] = bundle_data
environ['DYLD_LIBRARY_PATH'] = bundle_lib
environ['LD_LIBRARY_PATH'] = bundle_lib
environ['GTK_DATA_PREFIX'] = bundle_res
environ['GTK_EXE_PREFIX'] = bundle_res
environ['GTK_PATH'] = bundle_res
environ['PANGO_RC_FILE'] = join(bundle_etc, 'pango', 'pangorc')
environ['PANGO_SYSCONFDIR'] = bundle_etc
environ['PANGO_LIBDIR'] = bundle_lib
environ['GIO_MODULE_DIR'] = join(bundle_lib, 'gio', 'modules')
environ['GDK_PIXBUF_MODULE_FILE'] = join(bundle_lib, 'gdk-pixbuf-2.0',
'2.10.0', 'loaders.cache')
environ['GI_TYPELIB_PATH'] = join(bundle_lib, 'girepository-1.0')
environ['GVBINDIR'] = join(bundle_lib, 'graphviz')
environ['ENCHANT_MODULE_PATH'] = join(bundle_lib, 'enchant')
#Set $PYTHON to point inside the bundle
PYVER = 'python' + version[:3]
environ['GRAMPSDIR'] = join (bundle_lib, PYVER, 'site-packages', 'gramps')
environ['GRAMPSI18N'] = join(bundle_data, 'locale')
environ['GRAMPS_RESOURCES'] = bundle_data
environ['USERPROFILE'] = environ['HOME']
environ['APPDATA'] = join(environ['HOME'], 'Library', 'Application Support')
environ['PATH'] = join(bundle_contents, 'MacOS') + ':' + environ['PATH']
if __name__ == '__main__':
__file__ = 'gramps_launcher.py'
import gramps.grampsapp as app
app.main()