2019-03-22 09:31:02 +00:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
import os
|
2019-04-08 04:49:02 +00:00
|
|
|
import shutil
|
2019-03-22 09:31:02 +00:00
|
|
|
import sys
|
|
|
|
import subprocess
|
|
|
|
|
|
|
|
if 'DESTDIR' not in os.environ:
|
|
|
|
gtk_api_version = sys.argv[1]
|
|
|
|
gtk_abi_version = sys.argv[2]
|
|
|
|
gtk_bindir = sys.argv[3]
|
|
|
|
gtk_libdir = sys.argv[4]
|
|
|
|
gtk_datadir = sys.argv[5]
|
|
|
|
gtk_query_immodules = os.path.join(gtk_bindir, 'gtk-query-immodules-' + gtk_api_version)
|
2019-06-26 21:21:59 +00:00
|
|
|
gtk_update_icon_cache = os.path.join(gtk_bindir, 'gtk-update-icon-cache')
|
2019-03-22 09:31:02 +00:00
|
|
|
|
|
|
|
gtk_moduledir = os.path.join(gtk_libdir, 'gtk-' + gtk_api_version, gtk_abi_version)
|
|
|
|
gtk_immodule_dir = os.path.join(gtk_moduledir, 'immodules')
|
|
|
|
gtk_printmodule_dir = os.path.join(gtk_moduledir, 'printbackends')
|
|
|
|
|
2019-04-08 04:49:02 +00:00
|
|
|
if os.name == 'nt':
|
|
|
|
for lib in ['gdk', 'gtk', 'gailutil']:
|
|
|
|
# Make copy for MSVC-built .lib files, e.g. xxx-3.lib->xxx-3.0.lib
|
|
|
|
installed_lib = os.path.join(gtk_libdir, lib + '-' + gtk_api_version.split('.')[0] + '.lib')
|
|
|
|
installed_lib_dst = os.path.join(gtk_libdir, lib + '-' + gtk_api_version + '.lib')
|
|
|
|
if os.path.isfile(installed_lib):
|
|
|
|
shutil.copyfile(installed_lib, installed_lib_dst)
|
|
|
|
|
2019-03-22 09:31:02 +00:00
|
|
|
print('Compiling GSettings schemas...')
|
|
|
|
subprocess.call(['glib-compile-schemas',
|
|
|
|
os.path.join(gtk_datadir, 'glib-2.0', 'schemas')])
|
|
|
|
|
|
|
|
print('Updating icon cache...')
|
2019-06-26 21:21:59 +00:00
|
|
|
subprocess.call([gtk_update_icon_cache, '-q', '-t' ,'-f',
|
2019-03-22 09:31:02 +00:00
|
|
|
os.path.join(gtk_datadir, 'icons', 'hicolor')])
|
|
|
|
|
|
|
|
print('Updating module cache for input methods...')
|
|
|
|
os.makedirs(gtk_immodule_dir, exist_ok=True)
|
|
|
|
immodule_cache_file = open(os.path.join(gtk_moduledir, 'immodules.cache'), 'w')
|
|
|
|
subprocess.call([gtk_query_immodules], stdout=immodule_cache_file)
|
|
|
|
immodule_cache_file.close()
|
|
|
|
|
|
|
|
# Untested!
|
|
|
|
print('Updating module cache for print backends...')
|
|
|
|
os.makedirs(gtk_printmodule_dir, exist_ok=True)
|
|
|
|
subprocess.call(['gio-querymodules', gtk_printmodule_dir])
|