Fix loading gtk modules

Backport upstream MR
https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/225
to fix the directory where gtk modules are loaded from.
This commit is contained in:
Kalev Lember 2021-02-15 17:22:38 +01:00
parent f1b3af6785
commit a84cd69df1
3 changed files with 96 additions and 4 deletions

View File

@ -0,0 +1,57 @@
From 49ca22626e0553b3a521e1601bc84c5429a438cd Mon Sep 17 00:00:00 2001
From: Kalev Lember <klember@redhat.com>
Date: Mon, 15 Feb 2021 16:15:58 +0100
Subject: [PATCH 1/2] xsettings: Go back to loading gtk modules from
lib/gnome-settings-daemon-3.0
This is where other projects install the gtk modules desktop files.
There is little point in rebuilding all of the other projects every time
gnome-settings-daemon version changes, so just leave the directory name
hardcoded to what it was during GNOME 3.x.
Also, while at this, print out the configured gtk modules directory from
meson to make it clear where it is.
---
meson.build | 4 ++++
plugins/xsettings/meson.build | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 24bb9a95..c8ab875e 100644
--- a/meson.build
+++ b/meson.build
@@ -35,6 +35,9 @@ gsd_schemadir = join_paths(gsd_datadir, 'glib-2.0', 'schemas')
gsd_xdg_autostart = join_paths(gsd_sysconfdir, 'xdg', 'autostart')
+gsd_3_0_api_name = '@0@-@1@'.format(meson.project_name(), '3.0')
+gsd_gtk_modules_directory = join_paths(gsd_libdir, gsd_3_0_api_name, 'gtk-modules')
+
gsd_buildtype = get_option('buildtype')
host_is_darwin = host_machine.system().contains('darwin')
@@ -262,6 +265,7 @@ output += ' libexecdir: ' + gsd_libexecdir + '\n'
output += ' bindir: ' + gsd_bindir + '\n'
output += ' sysconfdir: ' + gsd_sysconfdir + '\n'
output += ' datadir: ' + gsd_datadir + '\n\n'
+output += ' gtk modules dir: ' + gsd_gtk_modules_directory + '\n\n'
output += ' source code location: ' + meson.source_root() + '\n'
output += ' compiler: ' + cc.get_id() + '\n'
output += ' cflags: ' + ' '.join(compiler_flags) + '\n\n'
diff --git a/plugins/xsettings/meson.build b/plugins/xsettings/meson.build
index b4a2b39f..9adb102c 100644
--- a/plugins/xsettings/meson.build
+++ b/plugins/xsettings/meson.build
@@ -19,7 +19,7 @@ deps = plugins_deps + [
dependency('fontconfig')
]
-cflags += ['-DGTK_MODULES_DIRECTORY="@0@"'.format(join_paths(gsd_pkglibdir, 'gtk-modules'))]
+cflags += ['-DGTK_MODULES_DIRECTORY="@0@"'.format(gsd_gtk_modules_directory)]
executable(
'gsd-' + plugin_name,
--
2.29.2

View File

@ -0,0 +1,29 @@
From 6a3335a16ef50fe132c46b3a1077fb8b4db62968 Mon Sep 17 00:00:00 2001
From: Kalev Lember <klember@redhat.com>
Date: Mon, 15 Feb 2021 16:22:10 +0100
Subject: [PATCH 2/2] meson.build: Don't add '.0' to libgsd path
'.0' was a leftover from constructing gnome-settings-daemon-3.0
directory and doesn't serve any purpose any more.
---
meson.build | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/meson.build b/meson.build
index c8ab875e..8cab6f2a 100644
--- a/meson.build
+++ b/meson.build
@@ -9,9 +9,7 @@ gsd_version = meson.project_version()
version_array = gsd_version.split('.')
gsd_major_version = version_array[0].to_int()
-gsd_api_version_minor = 0
-gsd_api_version = '@0@.@1@'.format(gsd_major_version, gsd_api_version_minor)
-gsd_api_name = '@0@-@1@'.format(meson.project_name(), gsd_api_version)
+gsd_api_name = '@0@-@1@'.format(meson.project_name(), gsd_major_version)
glib_min_version = '2.56'
--
2.29.2

View File

@ -11,7 +11,7 @@
Name: gnome-settings-daemon
Version: 40~beta
Release: 1%{?dist}
Release: 2%{?dist}
Summary: The daemon sharing settings from GNOME to GTK+/KDE applications
License: GPLv2+
@ -19,6 +19,9 @@ URL: https://download.gnome.org/sources/%{name}
Source0: https://download.gnome.org/sources/%{name}/40/%{name}-%{tarball_version}.tar.xz
Source1: org.gnome.settings-daemon.plugins.power.gschema.override
Patch0: 0001-xsettings-Go-back-to-loading-gtk-modules-from-lib-gn.patch
Patch1: 0002-meson.build-Don-t-add-.0-to-libgsd-path.patch
BuildRequires: meson >= 0.44.0
BuildRequires: gcc
BuildRequires: cups-devel
@ -100,7 +103,7 @@ cp %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas
%find_lang %{name} --with-gnome
mkdir $RPM_BUILD_ROOT%{_libdir}/gnome-settings-daemon-40.0/gtk-modules
mkdir -p $RPM_BUILD_ROOT%{_libdir}/gnome-settings-daemon-3.0/gtk-modules
%files -f %{name}.lang
%license COPYING
@ -177,7 +180,7 @@ mkdir $RPM_BUILD_ROOT%{_libdir}/gnome-settings-daemon-40.0/gtk-modules
%{_libexecdir}/gsd-wwan
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.wwan.gschema.xml
%{_libdir}/gnome-settings-daemon-40.0/libgsd.so
%{_libdir}/gnome-settings-daemon-40/libgsd.so
%{_sysconfdir}/xdg/Xwayland-session.d/00-xrdb
%{_userunitdir}/*
@ -189,10 +192,13 @@ mkdir $RPM_BUILD_ROOT%{_libdir}/gnome-settings-daemon-40.0/gtk-modules
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.gschema.xml
%files devel
%{_includedir}/gnome-settings-daemon-40.0
%{_includedir}/gnome-settings-daemon-40
%{_libdir}/pkgconfig/gnome-settings-daemon.pc
%changelog
* Mon Feb 15 2021 Kalev Lember <klember@redhat.com> - 40~beta-2
- Fix loading gtk modules
* Mon Feb 15 2021 Florian Müllner <fmuellner@redhat.com> - 40~beta-1
- Update to 40.beta