diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2020-06-16 16:41:59 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2020-07-26 20:31:14 +0100 |
commit | c63087a5631e72cd1c45bdc5a41bf605195be64c (patch) | |
tree | 5336167dacb3d88a5d23220d0846f7847605590c /meson.build | |
parent | ea0fc7619ddd0ad20cd7c83e3e8c8672004c20c9 (diff) | |
download | gtk+-c63087a5631e72cd1c45bdc5a41bf605195be64c.tar.gz |
Remove ATK
To build a better world sometimes means having to tear the old one down.
-- Alexander Pierce, "Captain America: The Winter Soldier"
ATK served us well for nearly 20 years, but the world has changed, and
GTK has changed with it. Now ATK is mostly a hindrance towards improving
the accessibility stack:
- it maps to a very specific implementation, AT-SPI, which is Linux and
Unix specific
- it requires implementing the same functionality in three different
layers of the stack: AT-SPI, ATK, and GTK
- only GTK uses it; every other Linux and Unix toolkit and application
talks to AT-SPI directly, including assistive technologies
Sadly, we cannot incrementally port GTK to a new accessibility stack;
since ATK insulates us entirely from the underlying implementation, we
cannot replace it piecemeal. Instead, we're going to remove everything
and then incrementally build on a clean slate:
- add an "accessible" interface, implemented by GTK objects directly,
which describe the accessible role and state changes for every UI
element
- add an "assistive technology context" to proxy a native accessibility
API, and assign it to every widget
- implement the AT context depending on the platform
For more information, see: https://gitlab.gnome.org/GNOME/gtk/-/issues/2833
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/meson.build b/meson.build index e882dc20e3..43208bc669 100644 --- a/meson.build +++ b/meson.build @@ -29,7 +29,6 @@ endif glib_req = '>= @0@.@1@.@2@'.format(glib_major_req, glib_minor_req, glib_micro_req) pango_req = '>= 1.45.0' fribidi_req = '>= 0.19.7' -atk_req = '>= 2.15.1' cairo_req = '>= 1.14.0' gdk_pixbuf_req = '>= 2.30.0' introspection_req = '>= 1.39.0' @@ -367,8 +366,6 @@ pixbuf_dep = dependency('gdk-pixbuf-2.0', version: gdk_pixbuf_req, fallback : ['gdk-pixbuf', 'gdkpixbuf_dep']) epoxy_dep = dependency('epoxy', version: epoxy_req, fallback: ['libepoxy', 'libepoxy_dep']) -atk_dep = dependency('atk', version: atk_req, - fallback : ['atk', 'libatk_dep']) harfbuzz_dep = dependency('harfbuzz', version: '>= 0.9', required: false) xkbdep = dependency('xkbcommon', version: xkbcommon_req, required: wayland_enabled) graphene_dep = dependency('graphene-gobject-1.0', version: graphene_req, @@ -376,7 +373,6 @@ graphene_dep = dependency('graphene-gobject-1.0', version: graphene_req, iso_codes_dep = dependency('iso-codes', required: false) fontconfig_dep = [] # only used in x11 backend -atkbridge_dep = [] # only used in x11 backend if os_win32 platform_gio_dep = giowin32_dep @@ -474,8 +470,6 @@ cdata.set('HAVE_CAIRO_SCRIPT_INTERPRETER', cairo_csi_dep.found()) cdata.set('HAVE_HARFBUZZ', harfbuzz_dep.found()) cdata.set('HAVE_PANGOFT', pangoft_dep.found()) -atk_pkgs = ['atk'] - wayland_pkgs = [] if wayland_enabled wlclientdep = dependency('wayland-client', version: wayland_req) @@ -510,7 +504,6 @@ if x11_enabled xfixes_dep = dependency('xfixes', required: false) xcomposite_dep = dependency('xcomposite', required: false) fontconfig_dep = dependency('fontconfig') - atkbridge_dep = dependency('atk-bridge-2.0', version: atk_req) backend_immodules += ['xim'] @@ -529,8 +522,6 @@ if x11_enabled x11_pkgs += ['xcomposite'] endif - atk_pkgs += ['atk-bridge-2.0'] - cdata.set('HAVE_XCURSOR', xcursor_dep.found()) cdata.set('HAVE_XDAMAGE', xdamage_dep.found()) cdata.set('HAVE_XCOMPOSITE', xcomposite_dep.found()) @@ -765,8 +756,7 @@ pkgconf.set('GDK_PACKAGES', gdk_packages) pkgconf.set('GSK_PACKAGES', ' '.join([ 'graphene-gobject-1.0', graphene_req ])) pkgconf.set('GTK_PACKAGES', - ' '.join([ 'atk', atk_req, - 'gio-2.0', glib_req ])) + ' '.join([ 'gio-2.0', glib_req ])) # Requires.private pc_gdk_extra_libs += cairo_libs @@ -777,7 +767,7 @@ pkgconf.set('GDK_PRIVATE_PACKAGES', 'epoxy', epoxy_req ] + x11_pkgs + wayland_pkgs + cairo_backends)) pkgconf.set('GSK_PRIVATE_PACKAGES', '') # all already in GDK_PRIVATE_PACKAGES pangoft2_pkgs = (wayland_enabled or x11_enabled) ? ['pangoft2'] : [] -pkgconf.set('GTK_PRIVATE_PACKAGES', ' '.join(atk_pkgs + pangoft2_pkgs)) +pkgconf.set('GTK_PRIVATE_PACKAGES', ' '.join(pangoft2_pkgs)) pkgconf.set('GDK_EXTRA_LIBS', ' '.join(pc_gdk_extra_libs)) pkgconf.set('GSK_EXTRA_LIBS', '') |