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/build-aux/meson/post-install.sh b/build-aux/meson/post-install.sh deleted file mode 100755 index 0d18b13d76..0000000000 --- a/build-aux/meson/post-install.sh +++ /dev/null @@ -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-4.0/4.0.0/printbackends - gio-querymodules ${gtk_libdir}/gtk-4.0/4.0.0/printbackends - - echo Updating module cache for input methods... - mkdir -p ${gtk_libdir}/gtk-4.0/4.0.0/immodules - gio-querymodules ${gtk_libdir}/gtk-4.0/4.0.0/immodules -fi diff --git a/meson.build b/meson.build index 53504f9279..923e13e635 100644 --- a/meson.build +++ b/meson.build @@ -897,7 +897,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,