From 5508d53929ae5b3bfe7f5c8f013fb1dbcf6c6cbf Mon Sep 17 00:00:00 2001 From: Jente Hidskes Date: Tue, 25 Jul 2017 12:06:22 +0200 Subject: [PATCH] Add a piper.devel output to run from source tree Fixes #50 --- meson.build | 20 ++++++++++++++++---- piper.in | 22 +++++++--------------- 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/meson.build b/meson.build index 944f3da..81ecd07 100644 --- a/meson.build +++ b/meson.build @@ -24,13 +24,25 @@ if not python_dir.endswith('site-packages') endif install_subdir('piper', install_dir: python_dir) -conf = configuration_data() -conf.set('pkgdatadir', pkgdatadir) -conf.set('localedir', localedir) +config_piper = configuration_data() +config_piper.set('pkgdatadir', pkgdatadir) +config_piper.set('localedir', localedir) configure_file(input: 'piper.in', output: 'piper', - configuration: conf, + configuration: config_piper, install_dir: 'bin') +config_piper_devel = configuration_data() +config_piper_devel.set('pkgdatadir', join_paths(meson.build_root(), 'data')) +config_piper_devel.set('localedir', join_paths(meson.build_root(), 'po')) +config_piper_devel.set('devel', ' +sys.path.insert(1, \'@0@\') +print(\'Running from source tree, using local files\') +'.format(meson.source_root())) + +configure_file(input: 'piper.in', + output: 'piper.devel', + configuration: config_piper_devel) + meson.add_install_script('meson_install.sh') diff --git a/piper.in b/piper.in index 82473c5..7edfb6b 100755 --- a/piper.in +++ b/piper.in @@ -7,22 +7,14 @@ import os import signal import sys -import piper -from piper.application import Application - gi.require_version('Gio', '2.0') gi.require_version('Gtk', '3.0') from gi.repository import Gio, Gtk -localedir = '@localedir@' -srcdir = os.path.abspath(os.path.join(os.path.dirname(piper.__file__), '..')) -if os.path.exists(os.path.join(srcdir, 'meson.build')): - print('Running from source tree, using local files') - pkgdatadir = os.path.join(srcdir, 'data') - if not os.environ.get('GSETTINGS_SCHEMA_DIR'): - os.environ['GSETTINGS_SCHEMA_DIR'] = pkgdatadir -else: - pkgdatadir = '@pkgdatadir@' +@devel@ + +# Must come after development code injection. +from piper.application import Application def install_excepthook(): @@ -40,12 +32,12 @@ def install_excepthook(): if __name__ == "__main__": install_excepthook() - locale.bindtextdomain('piper', localedir) + locale.bindtextdomain('piper', '@localedir@') locale.textdomain('piper') - gettext.bindtextdomain('piper', localedir) + gettext.bindtextdomain('piper', '@localedir@') gettext.textdomain('piper') - resource = Gio.resource_load(os.path.join(pkgdatadir, 'piper.gresource')) + resource = Gio.resource_load(os.path.join('@pkgdatadir@', 'piper.gresource')) Gio.Resource._register(resource) signal.signal(signal.SIGINT, signal.SIG_DFL)