You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

114 lines
3.7 KiB

https://bugs.gentoo.org/906235
https://gitlab.gnome.org/GNOME/at-spi2-core/-/commit/eaf7a1c931bc9a2016ac23a856bee7c7176de823
From eaf7a1c931bc9a2016ac23a856bee7c7176de823 Mon Sep 17 00:00:00 2001
From: Mike Gorse <mgorse@suse.com>
Date: Thu, 11 May 2023 15:18:54 -0500
Subject: [PATCH] More build fixes
My last commit broke the build where dbus-daemon was set to be used by default.
Added a use_systemd option that can be set to false to disable systemd. This
cannot be used in combination with dbus-broker and results in dbus-broker
support being disabled. If this option is left set to true, then dbus-broker
support will be enabled if dbus-broker-launch is found on the system, although
dbus-daemon will still be used when available unless default_bus is set to
dbus-broker.
Fixes #116
--- a/bus/meson.build
+++ b/bus/meson.build
@@ -47,7 +47,7 @@ launcher_args = [
]
if get_option('dbus_daemon') != 'default'
- launcher_args += '-DDBUS_DAEMON="@0@"'.format(get_option('dbus_daemon'))
+ dbus_daemon_arg = '-DDBUS_DAEMON="@0@"'.format(get_option('dbus_daemon'))
else
dbus_daemon = find_program('dbus-daemon',
'/sbin/dbus-daemon',
@@ -58,37 +58,58 @@ else
'/usr/pkg/bin/dbus-daemon',
required: false)
if dbus_daemon.found()
- launcher_args += '-DDBUS_DAEMON="@0@"'.format(dbus_daemon.full_path())
+ dbus_daemon_arg = '-DDBUS_DAEMON="@0@"'.format(dbus_daemon.full_path())
+ else
+ dbus_daemon_arg = ''
endif
endif
needs_systemd = false
if get_option('dbus_broker') != 'default'
- launcher_args += '-DDBUS_BROKER="@0@"'.format(get_option('dbus_broker'))
- if get_option('default_bus') != 'dbus-daemon'
- needs_systemd = true
- endif
+ dbus_broker_arg = '-DDBUS_BROKER="@0@"'.format(get_option('dbus_broker'))
+ needs_systemd = true
else
dbus_broker = find_program('dbus-broker-launch',
required: false)
if dbus_broker.found()
- launcher_args += '-DDBUS_BROKER="@0@"'.format(dbus_broker.full_path())
+ dbus_broker_arg = '-DDBUS_BROKER="@0@"'.format(dbus_broker.full_path())
if get_option('default_bus') != 'dbus-daemon'
needs_systemd = true
endif
endif
endif
-if get_option('default_bus') == 'dbus-broker'
- launcher_args += '-DWANT_DBUS_BROKER'
+if not get_option('use_systemd')
+ if needs_systemd
+ error('Systemd is required for dbus-broker, but use_systemd is set to false.')
+ endif
+ dbus_broker_arg = ''
endif
-if needs_systemd
- systemd_dep = dependency('libsystemd')
+if dbus_broker_arg != ''
+ if needs_systemd
+ systemd_dep = dependency('libsystemd')
+ else
+ systemd_dep = dependency('libsystemd', required: false)
+ if not systemd_dep.found()
+ dbus_broker_arg = ''
+ endif
+ endif
else
systemd_dep = dependency('', required: false)
endif
+if dbus_daemon_arg != ''
+ launcher_args += dbus_daemon_arg
+endif
+if dbus_broker_arg != ''
+ launcher_args += dbus_broker_arg
+endif
+
+if get_option('default_bus') == 'dbus-broker'
+ launcher_args += '-DWANT_DBUS_BROKER'
+endif
+
executable('at-spi-bus-launcher', 'at-spi-bus-launcher.c',
include_directories: [ root_inc, include_directories('.') ],
dependencies: [ gio_dep, systemd_dep, x11_deps ],
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -15,6 +15,10 @@ option('default_bus',
type: 'combo',
choices: ['dbus-daemon', 'dbus-broker'],
value: 'dbus-daemon')
+option('use_systemd',
+ description: 'Use systemd if available (needed for dbus-broker)',
+ type: 'boolean',
+ value: true)
option('systemd_user_dir',
description: 'Location of the systemd user services',
type: 'string',
--
GitLab