[gtk/wip/fanc999/meson.msvc: 167/168] build: Make post-install script a Python script
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/fanc999/meson.msvc: 167/168] build: Make post-install script a Python script
- Date: Tue, 9 Oct 2018 08:41:32 +0000 (UTC)
commit a6e1a83d1b102cabb99e23aa50143f16555e83b9
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Fri Jun 8 18:04:30 2018 +0800
build: Make post-install script a Python script
The existing post-install shell script will most likely not work on
Visual Studio builds as there is normally no shell interpreter installed
on the system where the build is done, but the build is normally done in
a standard Windows cmd.exe console.
Instead, use a Python script so that it will work on the platforms that
Python supports.
build-aux/meson/post-install.py | 33 +++++++++++++++++++++++++++++++++
build-aux/meson/post-install.sh | 26 --------------------------
meson.build | 2 +-
3 files changed, 34 insertions(+), 27 deletions(-)
---
diff --git a/build-aux/meson/post-install.py b/build-aux/meson/post-install.py
new file mode 100644
index 0000000000..f84b1971f5
--- /dev/null
+++ b/build-aux/meson/post-install.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+
+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_libdir = sys.argv[3].replace('/', os.sep)
+ gtk_datadir = sys.argv[4].replace('/', os.sep)
+
+ gtk_moduledir = os.path.join(gtk_libdir, 'gtk-' + gtk_api_version, gtk_abi_version)
+ gtk_printmodule_dir = os.path.join(gtk_moduledir, 'printbackends')
+ gtk_immodule_dir = os.path.join(gtk_moduledir, 'immodules')
+
+ 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 print backends...')
+ if not os.path.isdir(gtk_printmodule_dir):
+ os.mkdir(gtk_printmodule_dir)
+ subprocess.call(['gio-querymodules', gtk_printmodule_dir])
+
+ print('Updating module cache for input methods...')
+ if not os.path.isdir(gtk_immodule_dir):
+ os.mkdir(gtk_immodule_dir)
+ subprocess.call(['gio-querymodules', gtk_immodule_dir])
diff --git a/meson.build b/meson.build
index 713877808f..f3ec197b7a 100644
--- a/meson.build
+++ b/meson.build
@@ -885,7 +885,7 @@ if get_option('documentation')
endif
# Keep this in sync with post-install.sh expected arguments
-meson.add_install_script('build-aux/meson/post-install.sh',
+meson.add_install_script('build-aux/meson/post-install.py',
gtk_api_version,
gtk_binary_version,
gtk_libdir,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]