From 89a3384c5dbe31d05fcef377a9efb17202e5ca5a Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 24 Aug 2023 17:43:00 -0400 Subject: [PATCH 3/4] meson: Add codegen for localed We're going to need to be querying localed for input source information. This commit paves the way for that by generating proxy glue code for talking to localed. --- libgnome-desktop/meson.build | 8 +++++ libgnome-desktop/org.freedesktop.locale1.xml | 38 ++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 libgnome-desktop/org.freedesktop.locale1.xml diff --git a/libgnome-desktop/meson.build b/libgnome-desktop/meson.build index d41e0cc0..164fd2ff 100644 --- a/libgnome-desktop/meson.build +++ b/libgnome-desktop/meson.build @@ -28,60 +28,66 @@ conf.set('HAVE_USELOCALE', cc.has_function('uselocale')) conf.set('HAVE_XLOCALE', cc.has_header('xlocale.h')) configure_file( output: 'config.h', configuration: conf, ) version_conf = configuration_data() version_array = meson.project_version().split('.') version_conf.set('GNOME_PLATFORM', version_array[0]) gnome_desktop_header_file = configure_file( input: 'gnome-desktop-version.h.in', output: 'gnome-desktop-version.h', configuration: version_conf, ) dbus_xrandr_built_sources = gnome.gdbus_codegen('meta-dbus-xrandr', 'xrandr.xml', namespace: 'MetaDBus', interface_prefix: 'org.gnome.Mutter' ) dbus_idle_built_sources = gnome.gdbus_codegen('meta-dbus-idle-monitor', 'idle-monitor.xml', namespace: 'MetaDBus', interface_prefix: 'org.gnome.Mutter', object_manager: true ) +dbus_localed_built_sources = gnome.gdbus_codegen('sd-locale1', + 'org.freedesktop.locale1.xml', + namespace: 'SdDBus', + interface_prefix: 'org.freedesktop', +) + non_latin_input_sources = custom_target('generate_non_latin_input_sources_header', output : 'non-latin-input-sources.h', command : [python3, files ('generate-non-latin-input-sources.py')] ) base_ldflags = [] base_symbol_map = '-Wl,--version-script=@0@'.format(meson.current_source_dir() / 'base-symbol.map') if cc.has_link_argument(base_symbol_map) base_ldflags += base_symbol_map endif ### gnome-desktop-base libgnome_desktop_base_sources = [ 'gnome-desktop-version.c', 'gnome-desktop-thumbnail.c', 'gnome-idle-monitor.c', 'gnome-languages.c', 'gnome-pnp-ids.c', 'gnome-systemd.c', 'gnome-wall-clock.c', 'gnome-xkb-info.c', ] libgnome_desktop_base_private_sources = [ 'gnome-datetime-source.c', 'gnome-desktop-thumbnail-script.c', 'gnome-gettext-portable.c', ] libgnome_desktop_base_headers = [ @@ -95,60 +101,61 @@ libgnome_desktop_base_headers = [ 'gnome-xkb-info.h', ] if get_option('build_gtk4') install_headers(libgnome_desktop_base_headers, subdir: 'gnome-desktop-4.0/libgnome-desktop' ) base_deps = [ gdk_pixbuf_dep, glib_dep, gio_dep, gio_unix_dep, libsystemd_dep, schemas_dep, xkb_config_dep, xkbregistry_dep, iso_codes_dep, udev_dep, seccomp_dep, m_dep, rt_dep, ] libgnome_desktop_base = library('gnome-desktop-4', sources: [ non_latin_input_sources, libgnome_desktop_base_sources, libgnome_desktop_base_private_sources, dbus_idle_built_sources, + dbus_localed_built_sources, ], dependencies: base_deps, soversion: soversion, version: libversion, c_args: libargs, link_args: base_ldflags, install: true, include_directories: [ include_directories('.'), include_directories('..'), ], ) if get_option('introspection') libgnome_desktop_base_gir = gnome.generate_gir(libgnome_desktop_base, sources: [libgnome_desktop_base_headers, libgnome_desktop_base_sources], export_packages: 'gnome-desktop-4', namespace: 'GnomeDesktop', nsversion: '4.0', includes: ['GObject-2.0', 'Gio-2.0', 'GDesktopEnums-3.0', 'GdkPixbuf-2.0'], extra_args: ['-DGNOME_DESKTOP_USE_UNSTABLE_API', '--quiet', '--warn-all'], identifier_prefix: 'Gnome', symbol_prefix: 'gnome', install: true, ) endif pkg.generate( libgnome_desktop_base, requires: ['gsettings-desktop-schemas'], @@ -172,60 +179,61 @@ if get_option('build_gtk4') ) subdir('gnome-bg') subdir('gnome-rr') endif ### Legacy ### if get_option('legacy_library') introspection_sources = [ 'gnome-desktop-version.c', 'gnome-desktop-thumbnail.c', 'gnome-bg.c', 'gnome-bg-slide-show.c', 'gnome-bg-crossfade.c', 'gnome-rr.c', 'gnome-rr-config.c', 'gnome-rr-output-info.c', 'gnome-systemd.c', 'gnome-pnp-ids.c', 'gnome-wall-clock.c', 'gnome-xkb-info.c', 'gnome-idle-monitor.c', 'gnome-languages.c', ] libgnome_desktop_sources = [ non_latin_input_sources, introspection_sources, dbus_xrandr_built_sources, dbus_idle_built_sources, + dbus_localed_built_sources, 'gnome-datetime-source.c', 'gnome-desktop-thumbnail-script.c', 'gnome-gettext-portable.c', ] libgnome_desktop_headers = [ gnome_desktop_header_file, 'gnome-bg.h', 'gnome-bg-crossfade.h', 'gnome-bg-slide-show.h', 'gnome-desktop-thumbnail.h', 'gnome-rr.h', 'gnome-rr-config.h', 'gnome-systemd.h', 'gnome-pnp-ids.h', 'gnome-wall-clock.h', 'gnome-xkb-info.h', 'gnome-idle-monitor.h', 'gnome-languages.h', ] install_headers(libgnome_desktop_headers, subdir: 'gnome-desktop-3.0/libgnome-desktop' ) gnome_desktop_deps = [ gdk_pixbuf_dep, gtk3_dep, glib_dep, gio_dep, diff --git a/libgnome-desktop/org.freedesktop.locale1.xml b/libgnome-desktop/org.freedesktop.locale1.xml new file mode 100644 index 00000000..bc23d3a1 --- /dev/null +++ b/libgnome-desktop/org.freedesktop.locale1.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- 2.41.0