summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-05-13 03:47:01 +0100
committerSam James <sam@gentoo.org>2023-05-13 03:47:01 +0100
commit2f459d91424eed14539e15652733ff726832094c (patch)
tree69d419ebdd581a662662c4be67710c31936f122a /app-accessibility
parentsys-libs/ncurses: add note about bumping w/ sys-libs/ncurses-compat (diff)
downloadgentoo-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')
-rw-r--r--app-accessibility/at-spi2-core/at-spi2-core-2.48.2-r1.ebuild74
-rw-r--r--app-accessibility/at-spi2-core/files/at-spi2-core-2.48.2-build-no-dbus-broker.patch33
-rw-r--r--app-accessibility/at-spi2-core/files/at-spi2-core-2.48.2-more-build-fixes.patch113
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