diff --git a/meson.build b/meson.build index ea63182..c020dde 100644 --- a/meson.build +++ b/meson.build @@ -1,13 +1,16 @@ project('com.github.writeas.writeas-gtk', ['vala', 'c'], version: '1.0.1', license: 'GPL', meson_version: '>=0.40.1') i18n = import('i18n') conf = configuration_data() conf.set_quoted('GETTEXT_PACKAGE', meson.project_name()) configure_file(output: 'config.h', configuration: conf) config_h_dir = include_directories('.') subdir('data') subdir('src') + +meson.add_install_script('meson/post_install.py') + diff --git a/meson/post_install.py b/meson/post_install.py new file mode 100644 index 0000000..caee5a8 --- /dev/null +++ b/meson/post_install.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 + +import os +import subprocess + +prefix = os.environ.get('MESON_INSTALL_PREFIX', '/usr/local') +datadir = os.path.join(prefix, 'share') +schemadir = os.path.join(os.environ['MESON_INSTALL_PREFIX'], 'share', 'glib-2.0', 'schemas') + +# Packaging tools define DESTDIR and this isn't needed for them +if 'DESTDIR' not in os.environ: + print('Updating icon cache...') + icon_cache_dir = os.path.join(datadir, 'icons', 'hicolor') + if not os.path.exists(icon_cache_dir): + os.makedirs(icon_cache_dir) + subprocess.call(['gtk-update-icon-cache', '-qtf', icon_cache_dir]) + + print('Updating desktop database...') + desktop_database_dir = os.path.join(datadir, 'applications') + if not os.path.exists(desktop_database_dir): + os.makedirs(desktop_database_dir) + subprocess.call(['update-desktop-database', '-q', desktop_database_dir]) +