public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: mate-extra/mate-polkit/files/, mate-extra/mate-polkit/
@ 2023-04-27 14:57 Pacho Ramos
  0 siblings, 0 replies; only message in thread
From: Pacho Ramos @ 2023-04-27 14:57 UTC (permalink / raw
  To: gentoo-commits

commit:     da921b9a45dabcebc70594e997f20e1426704454
Author:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 27 14:56:09 2023 +0000
Commit:     Pacho Ramos <pacho <AT> gentoo <DOT> org>
CommitDate: Thu Apr 27 14:56:09 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da921b9a

mate-extra/mate-polkit: Support ayatana indicators

Backported patch from future 1.28 release

Closes: https://bugs.gentoo.org/898394
Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>

 .../files/mate-polkit-1.26.0-ayatana.patch         | 176 +++++++++++++++++++++
 .../mate-polkit/mate-polkit-1.26.0-r1.ebuild       |  46 ++++++
 2 files changed, 222 insertions(+)

diff --git a/mate-extra/mate-polkit/files/mate-polkit-1.26.0-ayatana.patch b/mate-extra/mate-polkit/files/mate-polkit-1.26.0-ayatana.patch
new file mode 100644
index 000000000000..edd91c2a1111
--- /dev/null
+++ b/mate-extra/mate-polkit/files/mate-polkit-1.26.0-ayatana.patch
@@ -0,0 +1,176 @@
+From 65a6c367e28e338dc74931dece1af9e53338276f Mon Sep 17 00:00:00 2001
+From: lukefromdc <lukefromdc@hushmail.com>
+Date: Tue, 31 Jan 2023 01:25:20 -0500
+Subject: [PATCH] Prefer building against Ayatana AppIndicator, but also
+ support legacy Ubuntu Appindicator
+
+---
+ configure.ac    | 54 +++++++++++++++++++++++++++++++++++--------------
+ src/Makefile.am |  6 ++++--
+ src/main.c      | 15 +++++++-------
+ 3 files changed, 51 insertions(+), 24 deletions(-)
+
+--- a/configure.ac.old	2023-04-27 16:48:35.940816452 +0200
++++ b/configure.ac	2023-04-27 16:52:21.303890924 +0200
+@@ -111,8 +111,17 @@
+ 
+ AM_CONDITIONAL([HAVE_ACCOUNTSSERVICE], [test "x$enable_accountsservice" = xyes])
+ 
+-# Application indicator
+-APPINDICATOR_PKG=appindicator3-0.1
++# Application Indicator (Ubuntu and Ayatana implementation)
++
++AYATANA_APPINDICATOR_PKG=ayatana-appindicator3-0.1
++UBUNTU_APPINDICATOR_PKG=appindicator3-0.1
++
++PKG_CHECK_EXISTS($AYATANA_APPINDICATOR_PKG >= $APPINDICATOR_REQUIRED,
++                [have_appindicator_ayatana="yes"],
++                [have_appindicator_ayatana="no"])
++PKG_CHECK_EXISTS($UBUNTU_APPINDICATOR_PKG >= $APPINDICATOR_REQUIRED,
++                [have_appindicator_ubuntu="yes"],
++                [have_appindicator_ubuntu="no"])
+ 
+ AC_ARG_ENABLE([appindicator],
+ 	      AS_HELP_STRING([--enable-appindicator[=@<:@no/auto/yes@:>@]],[Build support for application indicators]),
+@@ -120,22 +129,33 @@
+ 	      [enable_appindicator="auto"])
+ 
+ 
+-if test "x$enable_appindicator" = "xauto"; then
+-	PKG_CHECK_EXISTS($APPINDICATOR_PKG >= $APPINDICATOR_REQUIRED,
+-			 [enable_appindicator="yes"],
+-			 [enable_appindicator="no"])
++if  test "x$enable_appindicator" == "xauto" &&
++   (test "x$have_appindicator_ayatana" == "xyes" ||
++    test "x$have_appindicator_ubuntu" == "xyes"); then
++       AC_MSG_NOTICE([Enabling AppIndicator support (as --enable-appindicator=auto was used).])
++       enable_appindicator="yes"
+ fi
+ 
+-if test "x$enable_appindicator" = "xyes"; then
+-	PKG_CHECK_MODULES(APPINDICATOR,
+-			  [$APPINDICATOR_PKG >= $APPINDICATOR_REQUIRED],
+-			  [AC_DEFINE(HAVE_APPINDICATOR, 1, [Have AppIndicator])])
++if test "x$enable_appindicator" == "xyes"; then
++       if test "x$have_appindicator_ayatana" == "xyes"; then
++               AC_MSG_NOTICE([Buidling against Ayatana AppIndicator.])
++               PKG_CHECK_MODULES(AYATANA_APPINDICATOR,
++                                 [$AYATANA_APPINDICATOR_PKG >= $APPINDICATOR_REQUIRED],
++                                 [AC_DEFINE(HAVE_AYATANA_APPINDICATOR, 1, [Have Ayatana AppIndicator])])
++               AC_SUBST(AYATANA_APPINDICATOR_CFLAGS)
++               AC_SUBST(AYATANA_APPINDICATOR_LIBS)
++       elif test "x$have_appindicator_ubuntu" == "xyes"; then
++               AC_MSG_NOTICE([Buidling against Ubuntu AppIndicator.])
++               PKG_CHECK_MODULES(UBUNTU_APPINDICATOR,
++                                 [$UBUNTU_APPINDICATOR_PKG >= $APPINDICATOR_REQUIRED],
++                                 [AC_DEFINE(HAVE_UBUNTU_APPINDICATOR, 1, [Have Ubuntu AppIndicator])])
++               AC_SUBST(UBUNTU_APPINDICATOR_CFLAGS)
++               AC_SUBST(UBUNTU_APPINDICATOR_LIBS)
++       else
++               AC_MSG_ERROR([Neither Ayatana AppIndicator nor Ubuntu AppIndicator library is present, but you enabled AppIndicator support.])
++       fi
+ fi
+ 
+-AM_CONDITIONAL(HAVE_APPINDICATOR, test "x$enable_appindicator" = "xyes")
+-AC_SUBST(APPINDICATOR_CFLAGS)
+-AC_SUBST(APPINDICATOR_LIBS)
+-
+ # ********************
+ # Internationalisation
+ # ********************
+@@ -181,6 +201,10 @@
+         Warning flags:              ${WARN_CFLAGS}
+ 
+         Accountsservice:            ${enable_accountsservice}
+-        Application indicator:      ${enable_appindicator}
++
++    	AppIndicator enabled:              ${enable_appindicator}
++	Ayatana AppIndicator (preferred)   ${have_appindicator_ayatana}
++    	Ubuntu AppIndicator (legacy)       ${have_appindicator_ubuntu}
++
+         Maintainer mode:            ${USE_MAINTAINER_MODE}
+ "
+diff --git a/src/Makefile.am b/src/Makefile.am
+index a534d1e..5f7ead8 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -35,7 +35,8 @@ polkit_mate_authentication_agent_1_CFLAGS = 		\
+ 	$(GLIB_CFLAGS)					\
+ 	$(POLKIT_AGENT_CFLAGS)				\
+ 	$(POLKIT_GOBJECT_CFLAGS)			\
+-	$(APPINDICATOR_CFLAGS)				\
++	$(AYATANA_APPINDICATOR_CFLAGS)			\
++	$(UBUNTU_APPINDICATOR_CFLAGS)			\
+ 	$(WARN_CFLAGS)					\
+ 	$(AM_CFLAGS)
+ 
+@@ -47,7 +48,8 @@ polkit_mate_authentication_agent_1_LDADD = 		\
+ 	$(GLIB_LIBS)					\
+ 	$(POLKIT_AGENT_LIBS)				\
+ 	$(POLKIT_GOBJECT_LIBS)				\
+-	$(APPINDICATOR_LIBS)
++	$(AYATANA_APPINDICATOR_LIBS)			\
++	$(UBUNTU_APPINDICATOR_LIBS)			
+ 
+ EXTRA_DIST = \
+ 	polkit-mate-authentication-agent-1.desktop.in \
+diff --git a/src/main.c b/src/main.c
+index 8c5f437..d60cd8f 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -1,6 +1,5 @@
+ /*
+  * Copyright (C) 2009 Red Hat, Inc.
+- * Copyright (C) 2012-2021 MATE Developers
+  *
+  * This library is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public
+@@ -30,8 +29,10 @@
+ #include <glib/gi18n.h>
+ #include <polkitagent/polkitagent.h>
+ 
+-#ifdef HAVE_APPINDICATOR
+-#include <libappindicator/app-indicator.h>
++#if defined(HAVE_AYATANA_APPINDICATOR)
++# include <libayatana-appindicator/app-indicator.h>
++#elif defined(HAVE_UBUNTU_APPINDICATOR)
++# include <libappindicator/app-indicator.h>
+ #endif
+ 
+ #include "polkitmatelistener.h"
+@@ -51,7 +52,7 @@ static PolkitSubject *session = NULL;
+ /* the current set of temporary authorizations */
+ static GList *current_temporary_authorizations = NULL;
+ 
+-#ifdef HAVE_APPINDICATOR
++#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
+ static AppIndicator *app_indicator = NULL;
+ #else
+ static GtkStatusIcon *status_icon = NULL;
+@@ -90,7 +91,7 @@ revoke_tmp_authz (void)
+                                                     NULL);
+ }
+ 
+-#ifdef HAVE_APPINDICATOR
++#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
+ static void
+ on_menu_item_activate (GtkMenuItem *menu_item,
+                        gpointer     user_data)
+@@ -151,7 +152,7 @@ update_temporary_authorization_icon_real (void)
+   if (current_temporary_authorizations != NULL)
+     {
+       /* show icon */
+-#ifdef HAVE_APPINDICATOR
++#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
+       if (app_indicator == NULL)
+         {
+           GtkWidget *item, *menu;
+@@ -199,7 +200,7 @@ update_temporary_authorization_icon_real (void)
+   else
+     {
+       /* hide icon */
+-#ifdef HAVE_APPINDICATOR
++#if defined(HAVE_AYATANA_APPINDICATOR) || defined(HAVE_UBUNTU_APPINDICATOR)
+       if (app_indicator != NULL)
+         {
+           /* keep the app_indicator, hide the icon or it won't come back*/

diff --git a/mate-extra/mate-polkit/mate-polkit-1.26.0-r1.ebuild b/mate-extra/mate-polkit/mate-polkit-1.26.0-r1.ebuild
new file mode 100644
index 000000000000..720be36f5713
--- /dev/null
+++ b/mate-extra/mate-polkit/mate-polkit-1.26.0-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit mate
+
+if [[ ${PV} != 9999 ]]; then
+	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+fi
+
+DESCRIPTION="A MATE specific DBUS service that is used to bring up authentication dialogs"
+LICENSE="LGPL-2"
+SLOT="0"
+
+IUSE="accountsservice appindicator"
+
+COMMON_DEPEND="x11-libs/gdk-pixbuf:2
+	virtual/libintl:0
+	>=x11-libs/gtk+-3.22.0:3
+	appindicator? ( dev-libs/libayatana-appindicator )"
+
+RDEPEND="${COMMON_DEPEND}
+	>=dev-libs/glib-2.50:2
+	>=sys-auth/polkit-0.102
+	accountsservice? ( sys-apps/accountsservice )"
+
+BDEPEND="${COMMON_DEPEND}
+	dev-util/gtk-doc
+	dev-util/gtk-doc-am
+	>=dev-util/intltool-0.35
+	sys-devel/gettext
+	>=sys-devel/libtool-2.2.6
+	virtual/pkgconfig"
+
+PATCHES=(
+	# https://github.com/mate-desktop/mate-polkit/commit/65a6c367e28e338dc74931dece1af9e53338276f
+	"${FILESDIR}/${P}-ayatana.patch"
+)
+
+src_configure() {
+	mate_src_configure \
+		--disable-static \
+		$(use_enable accountsservice) \
+		$(use_enable appindicator)
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2023-04-27 14:57 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-27 14:57 [gentoo-commits] repo/gentoo:master commit in: mate-extra/mate-polkit/files/, mate-extra/mate-polkit/ Pacho Ramos

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox