diff options
author | Sam James <sam@gentoo.org> | 2023-05-13 03:47:01 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-05-13 03:47:01 +0100 |
commit | 2f459d91424eed14539e15652733ff726832094c (patch) | |
tree | 69d419ebdd581a662662c4be67710c31936f122a /app-accessibility/at-spi2-core | |
parent | sys-libs/ncurses: add note about bumping w/ sys-libs/ncurses-compat (diff) | |
download | gentoo-2f459d91424eed14539e15652733ff726832094c.tar.gz gentoo-2f459d91424eed14539e15652733ff726832094c.tar.bz2 gentoo-2f459d91424eed14539e15652733ff726832094c.zip |
app-accessibility/at-spi2-core: backport build fixes
Closes: https://bugs.gentoo.org/906235
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-accessibility/at-spi2-core')
3 files changed, 220 insertions, 0 deletions
diff --git a/app-accessibility/at-spi2-core/at-spi2-core-2.48.2-r1.ebuild b/app-accessibility/at-spi2-core/at-spi2-core-2.48.2-r1.ebuild new file mode 100644 index 000000000000..c7c497a3df34 --- /dev/null +++ b/app-accessibility/at-spi2-core/at-spi2-core-2.48.2-r1.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit gnome.org meson-multilib systemd virtualx xdg + +DESCRIPTION="D-Bus accessibility specifications and registration daemon" +HOMEPAGE="https://wiki.gnome.org/Accessibility https://gitlab.gnome.org/GNOME/at-spi2-core" + +LICENSE="LGPL-2.1+" +SLOT="2" +IUSE="X gtk-doc +introspection systemd" +REQUIRED_USE="gtk-doc? ( X )" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" + +RDEPEND=" + >=sys-apps/dbus-1.5[${MULTILIB_USEDEP}] + >=dev-libs/glib-2.67.4:2[${MULTILIB_USEDEP}] + >=dev-libs/libxml2-2.9.1:2[${MULTILIB_USEDEP}] + introspection? ( >=dev-libs/gobject-introspection-1.54.0:= ) + systemd? ( sys-apps/systemd[${MULTILIB_USEDEP}] ) + X? ( + x11-libs/libX11[${MULTILIB_USEDEP}] + x11-libs/libXtst[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + ) + + !<dev-libs/atk-2.46.0 + !<app-accessibility/at-spi2-atk-2.46.0 +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-util/glib-utils + gtk-doc? ( + dev-python/sphinx + dev-util/gdbus-codegen + >=dev-util/gi-docgen-2021.1 + ) + >=sys-devel/gettext-0.19.8 + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${P}-more-build-fixes.patch + "${FILESDIR}"/${P}-build-no-dbus-broker.patch +) + +multilib_src_configure() { + local emesonargs=( + -Dsystemd_user_dir="$(systemd_get_userunitdir)" + $(meson_native_use_bool gtk-doc docs) + $(meson_native_use_feature introspection) + $(meson_use systemd use_systemd) + $(meson_feature X x11) + -Ddisable_p2p=false + -Datk_only=false + ) + meson_src_configure +} + +multilib_src_test() { + virtx dbus-run-session meson test -C "${BUILD_DIR}" || die +} + +multilib_src_install_all() { + einstalldocs + + if use gtk-doc; then + mkdir -p "${ED}"/usr/share/gtk-doc/{libatspi,atk} || die + mv "${ED}"/usr/share/doc/libatspi "${ED}"/usr/share/gtk-doc/libatspi/html || die + mv "${ED}"/usr/share/doc/atk "${ED}"/usr/share/gtk-doc/atk/html || die + fi +} diff --git a/app-accessibility/at-spi2-core/files/at-spi2-core-2.48.2-build-no-dbus-broker.patch b/app-accessibility/at-spi2-core/files/at-spi2-core-2.48.2-build-no-dbus-broker.patch new file mode 100644 index 000000000000..142fa841755c --- /dev/null +++ b/app-accessibility/at-spi2-core/files/at-spi2-core-2.48.2-build-no-dbus-broker.patch @@ -0,0 +1,33 @@ +https://bugs.gentoo.org/906235 +https://gitlab.gnome.org/GNOME/at-spi2-core/-/commit/ada254318a0a35e6f9ae3c080963353ead2a8966 + +From ada254318a0a35e6f9ae3c080963353ead2a8966 Mon Sep 17 00:00:00 2001 +From: Mike Gorse <mgorse@suse.com> +Date: Thu, 11 May 2023 15:42:06 -0500 +Subject: [PATCH] Fix the build when dbus-broker is not found + +--- a/bus/meson.build ++++ b/bus/meson.build +@@ -46,6 +46,7 @@ launcher_args = [ + '-DDATADIR="@0@"'.format(atspi_datadir), + ] + ++dbus_daemon_arg = '' + if get_option('dbus_daemon') != 'default' + dbus_daemon_arg = '-DDBUS_DAEMON="@0@"'.format(get_option('dbus_daemon')) + else +@@ -59,11 +60,10 @@ else + required: false) + if dbus_daemon.found() + dbus_daemon_arg = '-DDBUS_DAEMON="@0@"'.format(dbus_daemon.full_path()) +- else +- dbus_daemon_arg = '' + endif + endif + ++dbus_broker_arg = '' + needs_systemd = false + if get_option('dbus_broker') != 'default' + dbus_broker_arg = '-DDBUS_BROKER="@0@"'.format(get_option('dbus_broker')) +-- +GitLab diff --git a/app-accessibility/at-spi2-core/files/at-spi2-core-2.48.2-more-build-fixes.patch b/app-accessibility/at-spi2-core/files/at-spi2-core-2.48.2-more-build-fixes.patch new file mode 100644 index 000000000000..1508bb88c6be --- /dev/null +++ b/app-accessibility/at-spi2-core/files/at-spi2-core-2.48.2-more-build-fixes.patch @@ -0,0 +1,113 @@ +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 |