forked from yousseb/meld
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconf.py
More file actions
122 lines (94 loc) · 4.08 KB
/
Copy pathconf.py
File metadata and controls
122 lines (94 loc) · 4.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
import os
import sys
from pathlib import Path
from Foundation import NSBundle
__package__ = "meld"
__version__ = "3.21.0.osx3"
APPLICATION_NAME = 'Meld'
APPLICATION_ID = 'org.gnome.Meld'
SETTINGS_SCHEMA_ID = 'org.gnome.meld'
RESOURCE_BASE = '/org/gnome/meld'
# START; these paths are clobbered on install by meld.build_helpers
DATADIR = Path(sys.prefix) / "share" / "meld"
LOCALEDIR = Path(sys.prefix) / "share" / "locale"
# END
CONFIGURED = '@configured@'
PROFILE = 'macOS'
if CONFIGURED == 'True':
APPLICATION_ID = '@application_id@'
DATADIR = '@pkgdatadir@'
LOCALEDIR = '@localedir@'
PROFILE = '@profile@'
# Flag enabling some workarounds if data dir isn't installed in standard prefix
DATADIR_IS_UNINSTALLED = False
PYTHON_REQUIREMENT_TUPLE = (3, 6)
# Installed from main script
def no_translation(gettext_string: str) -> str:
return gettext_string
_ = no_translation
ngettext = no_translation
def frozen():
global DATADIR, LOCALEDIR, DATADIR_IS_UNINSTALLED
bundle = NSBundle.mainBundle()
resource_path = bundle.resourcePath().fileSystemRepresentation().decode("utf-8")
#bundle_path = bundle.bundlePath().fileSystemRepresentation().decode("utf-8")
#frameworks_path = bundle.privateFrameworksPath().fileSystemRepresentation().decode("utf-8")
#executable_path = bundle.executablePath().fileSystemRepresentation().decode("utf-8")
etc_path = os.path.join(resource_path, "etc")
lib_path = os.path.join(resource_path, "lib")
share_path = os.path.join(resource_path , "share")
# Glib and GI environment variables
os.environ['GSETTINGS_SCHEMA_DIR'] = os.path.join(
share_path, "glib-2.0")
os.environ['GI_TYPELIB_PATH'] = os.path.join(
lib_path, "girepository-1.0")
# Avoid GTK warnings unless user specifies otherwise
debug_gtk = os.environ.get('G_ENABLE_DIAGNOSTIC', "0")
os.environ['G_ENABLE_DIAGNOSTIC'] = debug_gtk
# GTK environment variables
os.environ['GTK_DATA_PREFIX'] = resource_path
os.environ['GTK_EXE_PREFIX'] = resource_path
os.environ['GTK_PATH'] = resource_path
# XDG environment variables
os.environ['XDG_CONFIG_DIRS'] = os.path.join(etc_path, "xdg")
os.environ['XDG_DATA_DIRS'] = ":".join((share_path, os.path.join(share_path, "meld")))
os.environ['XDG_CONFIG_HOME'] = etc_path
home_dir = os.path.expanduser('~')
if home_dir is not None:
cache_dir = os.path.join(home_dir, 'Library', 'Caches', 'org.gnome.meld')
try:
os.makedirs(cache_dir, mode=0o755, exist_ok=True)
os.environ['XDG_CACHE_HOME'] = cache_dir
except EnvironmentError:
pass
if os.path.isdir(cache_dir):
os.environ['XDG_CACHE_HOME'] = cache_dir
# Pango environment variables
os.environ['PANGO_RC_FILE'] = os.path.join(etc_path, "pango", "pangorc")
os.environ['PANGO_SYSCONFDIR'] = etc_path
os.environ['PANGO_LIBDIR'] = lib_path
# Gdk environment variables
os.environ['GDK_PIXBUF_MODULEDIR'] = os.path.join(lib_path, "gdk-pixbuf-2.0", "2.10.0", "loaders")
#os.environ['GDK_RENDERING'] = "image"
# Python environment variables
os.environ['PYTHONHOME'] = resource_path
original_python_path = os.environ.get('PYTHONPATH', "")
python_path = ":".join((lib_path,
os.path.join(lib_path, "python", "lib-dynload"),
os.path.join(lib_path, "python"),
original_python_path))
os.environ['PYTHONPATH'] = python_path
# meld specific
DATADIR = os.path.join(share_path, "meld")
LOCALEDIR = os.path.join(share_path, "mo")
DATADIR_IS_UNINSTALLED = True
def uninstalled():
global DATADIR, LOCALEDIR, DATADIR_IS_UNINSTALLED
melddir = Path(__file__).resolve().parent.parent
DATADIR = melddir / "data"
LOCALEDIR = melddir / "build" / "mo"
DATADIR_IS_UNINSTALLED = True
resource_path = melddir / "meld" / "resources"
os.environ['G_RESOURCE_OVERLAYS'] = f'{RESOURCE_BASE}={resource_path}'
def ui_file(filename):
return os.path.join(DATADIR, "ui", filename)