forked from AuroraMiddleware/gtk
meson: Make post-install script a Python script
This is so that the post install script will work on environments where *NIX shell scripts are not supported, such as on Windows cmd.exe for Visual Studio builds.
This commit is contained in:
parent
1cd99d63d1
commit
e24e0dd8a5
36
build-aux/meson/post-install.py
Normal file
36
build-aux/meson/post-install.py
Normal file
@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
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)
|
||||
|
||||
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')
|
||||
|
||||
print('Compiling GSettings schemas...')
|
||||
subprocess.call(['glib-compile-schemas',
|
||||
os.path.join(gtk_datadir, 'glib-2.0', 'schemas')])
|
||||
|
||||
print('Updating icon cache...')
|
||||
subprocess.call(['gtk-update-icon-cache', '-q', '-t' ,'-f',
|
||||
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])
|
@ -1,26 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
gtk_api_version=$1
|
||||
gtk_abi_version=$2
|
||||
gtk_libdir=$3
|
||||
gtk_datadir=$4
|
||||
|
||||
# Package managers set this so we don't need to run
|
||||
if [ -z "$DESTDIR" ]; then
|
||||
echo Compiling GSettings schemas...
|
||||
glib-compile-schemas ${gtk_datadir}/glib-2.0/schemas
|
||||
|
||||
echo Updating desktop database...
|
||||
update-desktop-database -q ${gtk_datadir}/applications
|
||||
|
||||
echo Updating icon cache...
|
||||
gtk-update-icon-cache -q -t -f ${gtk_datadir}/icons/hicolor
|
||||
|
||||
echo Updating module cache for print backends...
|
||||
mkdir -p ${gtk_libdir}/gtk-3.0/3.0.0/printbackends
|
||||
gio-querymodules ${gtk_libdir}/gtk-3.0/3.0.0/printbackends
|
||||
|
||||
echo Updating module cache for input methods...
|
||||
mkdir -p ${gtk_libdir}/gtk-3.0/3.0.0/immodules
|
||||
gio-querymodules ${gtk_libdir}/gtk-3.0/3.0.0/immodules
|
||||
fi
|
@ -749,10 +749,11 @@ endif
|
||||
# subdir('docs/reference')
|
||||
#endif
|
||||
|
||||
# Keep this in sync with post-install.sh expected arguments
|
||||
meson.add_install_script('build-aux/meson/post-install.sh',
|
||||
# Keep this in sync with post-install.py expected arguments
|
||||
meson.add_install_script('build-aux/meson/post-install.py',
|
||||
gtk_api_version,
|
||||
gtk_binary_version,
|
||||
join_paths(gtk_prefix, get_option('bindir')),
|
||||
gtk_libdir,
|
||||
gtk_datadir)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user