[four-in-a-row] Make D-Bus activatable.



commit 8e449c9a4a2b66a78e83558b89b6c36da913b217
Author: Arnaud Bonatti <arnaud bonatti gmail com>
Date:   Sat Oct 26 17:48:41 2019 +0200

    Make D-Bus activatable.

 data/meson.build                        | 14 ++++++++++++++
 data/org.gnome.Four-in-a-row.desktop.in |  1 +
 data/org.gnome.Four-in-a-row.service.in |  3 +++
 meson.build                             | 12 ++++++++----
 4 files changed, 26 insertions(+), 4 deletions(-)
---
diff --git a/data/meson.build b/data/meson.build
index 3bbb8a6..38f18ca 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -1,3 +1,17 @@
+# Make D-Bus activatable
+service_conf = configuration_data()
+service_conf.set('bindir', bindir)
+
+service = project_id + '.service'
+
+configure_file(
+  input: service + '.in',
+  output: service,
+  install: true,
+  install_dir: join_paths(datadir, 'dbus-1', 'services'),
+  configuration: service_conf
+)
+
 # Desktop file
 desktop_file = i18n.merge_file(
     input: '@0  desktop in'.format(application_id),
diff --git a/data/org.gnome.Four-in-a-row.desktop.in b/data/org.gnome.Four-in-a-row.desktop.in
index c183ac7..ec940a0 100644
--- a/data/org.gnome.Four-in-a-row.desktop.in
+++ b/data/org.gnome.Four-in-a-row.desktop.in
@@ -10,3 +10,4 @@ Terminal=false
 Type=Application
 Categories=GNOME;GTK;Game;LogicGame;
 StartupNotify=true
+DBusActivatable=true
diff --git a/data/org.gnome.Four-in-a-row.service.in b/data/org.gnome.Four-in-a-row.service.in
new file mode 100644
index 0000000..f7a80cc
--- /dev/null
+++ b/data/org.gnome.Four-in-a-row.service.in
@@ -0,0 +1,3 @@
+[D-BUS Service]
+Name=org.gnome.Four-in-a-row
+Exec=@bindir@/four-in-a-row --gapplication-service
diff --git a/meson.build b/meson.build
index ffc3bbc..1bb24c2 100644
--- a/meson.build
+++ b/meson.build
@@ -23,14 +23,18 @@ appstream_util          = find_program('appstream-util',        required: false)
 desktop_file_validate   = find_program('desktop-file-validate', required: false)
 glib_compile_schema     = find_program('glib-compile-schemas',  required: true) # useful?
 
-datadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
+localedir   = join_paths(get_option('prefix'), get_option('localedir'))
+datadir     = join_paths(get_option('prefix'), get_option('datadir'))
+bindir      = join_paths(get_option('prefix'), get_option('bindir'))
+pkgdatadir  = join_paths(datadir, meson.project_name())
+soundsdir   = join_paths(pkgdatadir, 'sounds')
 
 conf = configuration_data ()
 conf.set_quoted('VERSION', meson.project_version())
 conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
-conf.set_quoted('SOUND_DIRECTORY', join_paths(datadir, 'sounds'))
-conf.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
-conf.set_quoted('DATA_DIRECTORY', datadir)
+conf.set_quoted('SOUND_DIRECTORY', soundsdir)
+conf.set_quoted('LOCALEDIR', localedir)
+conf.set_quoted('DATA_DIRECTORY', pkgdatadir)
 
 configure_file(output: 'config.h', configuration: conf)
 config_h_dir = include_directories('.')


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]