dbus: Add option to use app-id for bus name
This is required for Flatpak but is an API break so it is opt-in for now.
This commit is contained in:
parent
23c7e7c3da
commit
8aa3b03261
@ -25,6 +25,9 @@ option('with-libcanberra', type: 'boolean',
|
||||
option('with-theme-manager', type: 'boolean', value: false,
|
||||
description: 'Utility to help manage themes, requires mono/.net'
|
||||
)
|
||||
option('dbus-service-use-appid', type: 'boolean', value: false,
|
||||
description: 'Rename dbus service to match app-id, required for Flatpak'
|
||||
)
|
||||
|
||||
# Plugins
|
||||
option('with-checksum', type: 'boolean',
|
||||
|
@ -27,7 +27,6 @@
|
||||
#include "hexchat.h"
|
||||
#include "hexchatc.h"
|
||||
|
||||
#define DBUS_SERVICE "org.hexchat.service"
|
||||
#define DBUS_REMOTE_PATH "/org/hexchat/Remote"
|
||||
#define DBUS_REMOTE_INTERFACE "org.hexchat.plugin"
|
||||
|
||||
|
@ -32,7 +32,6 @@
|
||||
#define PDESC _("plugin for remote access using DBUS")
|
||||
#define PVERSION ""
|
||||
|
||||
#define DBUS_SERVICE "org.hexchat.service"
|
||||
#define DBUS_OBJECT_PATH "/org/hexchat"
|
||||
|
||||
static hexchat_plugin *ph;
|
||||
|
@ -14,11 +14,22 @@ dbus_includes = [
|
||||
|
||||
dbus_service_dir = join_paths(get_option('datadir'), 'dbus-1/services')
|
||||
|
||||
if get_option('dbus-service-use-appid')
|
||||
dbus_service_name = 'io.github.Hexchat'
|
||||
dbus_output_file = 'io.github.Hexchat.service'
|
||||
dbus_cargs = '-DDBUS_SERVICE="io.github.Hexchat"'
|
||||
else
|
||||
dbus_service_name = 'org.hexchat.service'
|
||||
dbus_output_file = 'org.hexchat.service.service'
|
||||
dbus_cargs = '-DDBUS_SERVICE="org.hexchat.service"'
|
||||
endif
|
||||
|
||||
dbus_conf = configuration_data()
|
||||
dbus_conf.set('bindir', join_paths(get_option('prefix'), get_option('bindir')))
|
||||
dbus_conf.set('service_name', dbus_service_name)
|
||||
configure_file(
|
||||
input: 'org.hexchat.service.service.in',
|
||||
output: 'org.hexchat.service.service',
|
||||
output: dbus_output_file,
|
||||
configuration: dbus_conf,
|
||||
install: true,
|
||||
install_dir: dbus_service_dir
|
||||
@ -34,6 +45,7 @@ dbus_remote_object = custom_target('remote-object-glue',
|
||||
|
||||
hexchat_dbus = static_library('hexchatdbus',
|
||||
sources: [dbus_remote_object, marshal] + dbus_sources,
|
||||
c_args: dbus_cargs,
|
||||
dependencies: common_deps + dbus_deps,
|
||||
include_directories: dbus_includes,
|
||||
pic: true
|
||||
|
@ -1,3 +1,3 @@
|
||||
[D-BUS Service]
|
||||
Name=org.hexchat.service
|
||||
Name=@service_name@
|
||||
Exec=@bindir@/hexchat
|
||||
|
Loading…
Reference in New Issue
Block a user