Add a piper.devel output to run from source tree

Fixes #50
This commit is contained in:
Jente Hidskes
2017-07-25 12:06:22 +02:00
parent cd0defaefd
commit 5508d53929
2 changed files with 23 additions and 19 deletions

View File

@@ -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')

View File

@@ -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)