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