mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-26 14:28:15 -05:00
57f8f69562
* gnu/packages/patches/gnome-shell-polkit-autocleanup.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/gnome.scm (gnome-shell)[source](patches): New field.
50 lines
1.6 KiB
Diff
50 lines
1.6 KiB
Diff
Don't redefine G_DEFINE_AUTOPTR_CLEANUP_FUNC when available in polkit.
|
|
|
|
Taken from upstream:
|
|
|
|
https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/1d0a08b5e25fea7b0e792ec9798e68a7c5606a75
|
|
|
|
diff --git a/config.h.meson b/config.h.meson
|
|
index b93fda8727..ff355d3062 100644
|
|
--- a/config.h.meson
|
|
+++ b/config.h.meson
|
|
@@ -33,3 +33,6 @@
|
|
|
|
/* Define if fdwalk is available in libc */
|
|
#mesondefine HAVE_FDWALK
|
|
+
|
|
+/* Define if polkit defines autocleanup functions */
|
|
+#mesondefine HAVE_POLKIT_AUTOCLEANUP
|
|
diff --git a/meson.build b/meson.build
|
|
index 42ec01c566..778a34c6ef 100644
|
|
--- a/meson.build
|
|
+++ b/meson.build
|
|
@@ -169,6 +169,13 @@ cdata.set('HAVE_FDWALK',
|
|
cc.has_function('fdwalk')
|
|
)
|
|
|
|
+polkit_has_autocleanup = cc.compiles(
|
|
+ '#define POLKIT_AGENT_I_KNOW_API_IS_SUBJECT_TO_CHANGE
|
|
+ #include <polkitagent/polkitagent.h>
|
|
+ void main(void) { g_autoptr(PolkitAgentListener) agent = NULL; }',
|
|
+ dependencies: polkit_dep)
|
|
+cdata.set('HAVE_POLKIT_AUTOCLEANUP', polkit_has_autocleanup)
|
|
+
|
|
buildtype = get_option('buildtype')
|
|
if buildtype != 'plain'
|
|
all_warnings = [
|
|
diff --git a/src/shell-polkit-authentication-agent.h b/src/shell-polkit-authentication-agent.h
|
|
index 55b46af110..4f14749563 100644
|
|
--- a/src/shell-polkit-authentication-agent.h
|
|
+++ b/src/shell-polkit-authentication-agent.h
|
|
@@ -14,8 +14,10 @@
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
+#ifndef HAVE_POLKIT_AUTOCLEANUP
|
|
/* Polkit doesn't have g_autoptr support, thus we have to manually set the autoptr function here */
|
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitAgentListener, g_object_unref)
|
|
+#endif
|
|
|
|
#define SHELL_TYPE_POLKIT_AUTHENTICATION_AGENT (shell_polkit_authentication_agent_get_type())
|
|
|