commit:     4f78b247b77fccd072f1e7853d09ea0ad3959c05
Author:     Christoph Mende <angelos <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 12 14:55:45 2015 +0000
Commit:     Christoph Mende <angelos <AT> gentoo <DOT> org>
CommitDate: Sun Apr 12 14:55:45 2015 +0000
URL:        https://gitweb.gentoo.org/proj/xfce.git/commit/?id=4f78b247

xfce4-session: Sync with gentoo-x86

Package-Manager: portage-2.2.18
Manifest-Sign-Key: 84F20B43

 .../files/xfce4-session-upower-0.99.patch          | 392 ---------------------
 xfce-base/xfce4-session/xfce4-session-9999.ebuild  |  31 +-
 2 files changed, 16 insertions(+), 407 deletions(-)

diff --git a/xfce-base/xfce4-session/files/xfce4-session-upower-0.99.patch 
b/xfce-base/xfce4-session/files/xfce4-session-upower-0.99.patch
deleted file mode 100644
index a246dcb..0000000
--- a/xfce-base/xfce4-session/files/xfce4-session-upower-0.99.patch
+++ /dev/null
@@ -1,392 +0,0 @@
-Patch from http://bugzilla.xfce.org/show_bug.cgi?id=9952 with modification
-to edit configure.ac (release tarball) instead of configure.ac.in (git)
-
-From ee2228c756e40a4289476f40a6d0045d17418bce Mon Sep 17 00:00:00 2001
-From: Eric Koegel <[email protected]>
-Date: Thu, 29 May 2014 19:17:26 +0300
-Subject: [PATCH] Add suspend/hibernate to shutdown-helper
-
-Upower 0.99 dropped support for suspend/hibernate as an obsolete
-feature in this commit:
-http://cgit.freedesktop.org/upower/commit/?id=1ee642e705a63f5ad56a6b55e4bf5c4a64c959b8
-Add that functionality into the shutdown-helper so these features
-will work again.
----
- configure.ac.in               |  27 +++++++++
- xfce4-session/Makefile.am     |   4 +-
- xfce4-session/xfsm-shutdown.c | 126 ++++++++++++++++++++++++++++++++++++++++--
- xfce4-session/xfsm-upower.c   |   5 +-
- xfce4-session/xfsm-upower.h   |   4 ++
- xfsm-shutdown-helper/main.c   |  26 +++++++++
- 6 files changed, 186 insertions(+), 6 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 910fd35..d4557a4 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -95,6 +95,7 @@ XDT_CHECK_PACKAGE([LIBWNCK], [libwnck-1.0], [2.30])
- XDT_CHECK_PACKAGE([DBUS], [dbus-1], [1.1.0])
- XDT_CHECK_PACKAGE([DBUS_GLIB], [dbus-glib-1], [0.84])
- XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.9.0])
-+XDT_CHECK_PACKAGE([UPOWER],[upower-glib], [0.9.8])
- 
- dnl Check for polkit / systemd integration
- XDT_CHECK_OPTIONAL_PACKAGE([SYSTEMD], [polkit-gobject-1], [0.100],
-@@ -157,6 +158,31 @@ if test "x$linux_ioprio_works" = "xyes"; then
-             [Defined if linux/ioprio.h not only exists, but works properly])
- fi
- 
-+dnl Compile time default choice of backend
-+AC_ARG_WITH([backend],
-+          AS_HELP_STRING([--with-backend=<option>],
-+                         [Default backend to use linux, freebsd, openbsd]))
-+# default to a sane option
-+AC_CANONICAL_HOST
-+if test x$with_backend = x; then
-+      AS_CASE([$host],
-+              [*-linux*],   [with_backend=linux],
-+              [*-*freebsd*], [with_backend=freebsd],
-+              [*-openbsd*], [with_backend=openbsd])
-+fi
-+AC_DEFINE_UNQUOTED(BACKEND, "$with_backend", [backend])
-+AC_SUBST(BACKEND, "$with_backend")
-+
-+if test x$with_backend = xlinux; then
-+    AC_DEFINE(BACKEND_TYPE_LINUX, 1, [Linux suspend/hibernate backend])
-+fi
-+if test x$with_backend = xfreebsd; then
-+    AC_DEFINE(BACKEND_TYPE_FREEBSD, 1, [FreeBSD suspend/hibernate backend])
-+fi
-+if test x$with_backend = xopenbsd; then
-+    AC_DEFINE(BACKEND_TYPE_OPENBSD, 1, [OpenBSD suspend/hibernate backend])
-+fi
-+
- dnl check for location Xfce glade files were installed to
- XFCE_GLADE_CATALOG_PATH="`pkg-config --variable glade_catalogdir 
libxfce4ui-1`"
- XFCE_GLADE_PIXMAP_PATH="`pkg-config --variable glade_pixmapdir libxfce4ui-1`"
-@@ -207,5 +233,6 @@ echo " * Gnome Keyring support:          yes"
- else
- echo " * Gnome Keyring support:          no"
- fi
-+echo " * Backend:                        ${with_backend}"
- 
- echo
-diff --git a/xfce4-session/Makefile.am b/xfce4-session/Makefile.am
-index 5472b33..6b5968e 100644
---- a/xfce4-session/Makefile.am
-+++ b/xfce4-session/Makefile.am
-@@ -83,7 +83,8 @@ xfce4_session_CFLAGS =                                       
                \
-       $(SYSTEMD_CFLAGS)                                               \
-       $(XFCONF_CFLAGS)                                                \
-       $(GMODULE_CFLAGS)                                               \
--      $(PLATFORM_CFLAGS)
-+      $(PLATFORM_CFLAGS)                                              \
-+      $(UPOWER_CFLAGS)
- 
- xfce4_session_LDFLAGS =                                                       
\
-       -no-undefined                                                   \
-@@ -102,6 +103,7 @@ xfce4_session_LDADD =                                      
                \
-       $(LIBWNCK_LIBS)                                                 \
-       $(SYSTEMD_LIBS)                                                 \
-       $(XFCONF_LIBS)                                                  \
-+      $(UPOWER_LIBS)                                                  \
-       -lm
- 
- xfce4_session_DEPENDENCIES =                                          \
-diff --git a/xfce4-session/xfsm-shutdown.c b/xfce4-session/xfsm-shutdown.c
-index 4c483a7..cba08b8 100644
---- a/xfce4-session/xfsm-shutdown.c
-+++ b/xfce4-session/xfsm-shutdown.c
-@@ -57,6 +57,7 @@
- #include <dbus/dbus-glib-lowlevel.h>
- #include <libxfce4util/libxfce4util.h>
- #include <gtk/gtk.h>
-+#include <upower.h>
- 
- #include <libxfsm/xfsm-util.h>
- 
-@@ -76,6 +77,8 @@
- 
- static void xfsm_shutdown_finalize  (GObject      *object);
- static void xfsm_shutdown_sudo_free (XfsmShutdown *shutdown);
-+static gboolean xfsm_shutdown_fallback_can_hibernate (void);
-+static gboolean xfsm_shutdown_fallback_can_suspend   (void);
- 
- 
- 
-@@ -403,14 +406,16 @@ xfsm_shutdown_sudo_try_action (XfsmShutdown      
*shutdown,
-   g_return_val_if_fail (shutdown->helper_state == SUDO_AVAILABLE, FALSE);
-   g_return_val_if_fail (shutdown->helper_outfile != NULL, FALSE);
-   g_return_val_if_fail (shutdown->helper_infile != NULL, FALSE);
--  g_return_val_if_fail (type == XFSM_SHUTDOWN_SHUTDOWN
--                        || type == XFSM_SHUTDOWN_RESTART, FALSE);
- 
-   /* the command we send to sudo */
-   if (type == XFSM_SHUTDOWN_SHUTDOWN)
-     action = "POWEROFF";
-   else if (type == XFSM_SHUTDOWN_RESTART)
-     action = "REBOOT";
-+  else if (type == XFSM_SHUTDOWN_SUSPEND)
-+    action = "SUSPEND";
-+  else if (type == XFSM_SHUTDOWN_HIBERNATE)
-+    action = "HIBERNATE";
-   else
-     return FALSE;
- 
-@@ -692,7 +697,17 @@ xfsm_shutdown_try_suspend (XfsmShutdown  *shutdown,
- {
-   g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE);
- 
--  return xfsm_upower_try_suspend (shutdown->upower, error);
-+#if UP_CHECK_VERSION(0, 99, 0)
-+  if (shutdown->helper_state == SUDO_AVAILABLE)
-+    {
-+      xfsm_upower_lock_screen (shutdown->upower, "Suspend", error);
-+      return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_SUSPEND, 
error);
-+    }
-+  else
-+    return FALSE;
-+#else
-+    return xfsm_upower_try_suspend (shutdown->upower, error);
-+#endif
- }
- 
- 
-@@ -703,7 +718,17 @@ xfsm_shutdown_try_hibernate (XfsmShutdown  *shutdown,
- {
-   g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE);
- 
--  return xfsm_upower_try_hibernate (shutdown->upower, error);
-+#if UP_CHECK_VERSION(0, 99, 0)
-+  if (shutdown->helper_state == SUDO_AVAILABLE)
-+    {
-+      xfsm_upower_lock_screen (shutdown->upower, "Hibernate", error);
-+      return xfsm_shutdown_sudo_try_action (shutdown, 
XFSM_SHUTDOWN_HIBERNATE, error);
-+    }
-+  else
-+    return FALSE;
-+#else
-+    return xfsm_upower_try_hibernate (shutdown->upower, error);
-+#endif
- }
- 
- 
-@@ -784,8 +809,13 @@ xfsm_shutdown_can_suspend (XfsmShutdown  *shutdown,
-       return TRUE;
-     }
- 
-+#if UP_CHECK_VERSION(0, 99, 0)
-+  *can_suspend = xfsm_shutdown_fallback_can_suspend ();
-+  return TRUE;
-+#else
-   return xfsm_upower_can_suspend (shutdown->upower, can_suspend, 
-                                   auth_suspend, error);
-+#endif
- }
- 
- 
-@@ -804,8 +834,13 @@ xfsm_shutdown_can_hibernate (XfsmShutdown  *shutdown,
-       return TRUE;
-     }
- 
-+#if UP_CHECK_VERSION(0, 99, 0)
-+  *can_hibernate = xfsm_shutdown_fallback_can_hibernate ();
-+  return TRUE;
-+#else
-   return xfsm_upower_can_hibernate (shutdown->upower, can_hibernate,
-                                     auth_hibernate, error);
-+#endif
- }
- 
- 
-@@ -816,3 +851,86 @@ xfsm_shutdown_can_save_session (XfsmShutdown *shutdown)
-   g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE);
-   return shutdown->kiosk_can_save_session;
- }
-+
-+
-+
-+#ifdef BACKEND_TYPE_FREEBSD
-+static gboolean
-+freebsd_supports_sleep_state (const gchar *state)
-+{
-+  gboolean ret = FALSE;
-+  gchar *sleep_states;
-+
-+  sleep_states = up_get_string_sysctl (NULL, "hw.acpi.supported_sleep_state");
-+  if (sleep_states != NULL)
-+    {
-+      if (strstr (sleep_states, state) != NULL)
-+          ret = TRUE;
-+    }
-+
-+  g_free (sleep_states);
-+
-+  return ret;
-+}
-+#endif
-+
-+#ifdef BACKEND_TYPE_LINUX
-+static gboolean
-+linux_supports_sleep_state (const gchar *state)
-+{
-+  gboolean ret = FALSE;
-+  gchar *command;
-+  GError *error = NULL;
-+  gint exit_status;
-+
-+  /* run script from pm-utils */
-+  command = g_strdup_printf ("/usr/bin/pm-is-supported --%s", state);
-+
-+  ret = g_spawn_command_line_sync (command, NULL, NULL, &exit_status, &error);
-+  if (!ret)
-+    {
-+      g_warning ("failed to run script: %s", error->message);
-+      g_error_free (error);
-+      goto out;
-+    }
-+  ret = (WIFEXITED(exit_status) && (WEXITSTATUS(exit_status) == 
EXIT_SUCCESS));
-+
-+out:
-+  g_free (command);
-+
-+  return ret;
-+}
-+#endif
-+
-+
-+static gboolean
-+xfsm_shutdown_fallback_can_suspend (void)
-+{
-+#ifdef BACKEND_TYPE_FREEBSD
-+  return freebsd_supports_sleep_state ("S3");
-+#endif
-+#ifdef BACKEND_TYPE_LINUX
-+  return linux_supports_sleep_state ("suspend");
-+#endif
-+#ifdef BACKEND_TYPE_OPENBSD
-+  return TRUE;
-+#endif
-+
-+  return FALSE;
-+}
-+
-+static gboolean
-+xfsm_shutdown_fallback_can_hibernate (void)
-+{
-+#ifdef BACKEND_TYPE_FREEBSD
-+  return freebsd_supports_sleep_state ("S4");
-+#endif
-+#ifdef BACKEND_TYPE_LINUX
-+  return linux_supports_sleep_state ("hibernate");
-+#endif
-+#ifdef BACKEND_TYPE_OPENBSD
-+  return FALSE;
-+#endif
-+
-+  return FALSE;
-+}
-diff --git a/xfce4-session/xfsm-upower.c b/xfce4-session/xfsm-upower.c
-index 57402ec..8112829 100644
---- a/xfce4-session/xfsm-upower.c
-+++ b/xfce4-session/xfsm-upower.c
-@@ -21,6 +21,7 @@
- 
- #include <dbus/dbus-glib.h>
- #include <dbus/dbus-glib-lowlevel.h>
-+#include <upower.h>
- 
- #include <libxfsm/xfsm-util.h>
- #include <xfce4-session/xfsm-upower.h>
-@@ -283,7 +284,7 @@ xfsm_upower_try_method (XfsmUPower   *upower,
- 
- 
- 
--static gboolean
-+gboolean
- xfsm_upower_lock_screen (XfsmUPower   *upower,
-                          const gchar  *sleep_kind,
-                          GError      **error)
-@@ -299,6 +300,7 @@ xfsm_upower_lock_screen (XfsmUPower   *upower,
-     {
-       if (xfsm_upower_proxy_ensure (upower, error))
-         {
-+#if !UP_CHECK_VERSION(0, 99, 0)
-           /* tell upower we're going to sleep, this saves some
-            * time while we sleep 1 second if xflock4 is spawned */
-           ret = dbus_g_proxy_call (upower->upower_proxy,
-@@ -312,6 +314,7 @@ xfsm_upower_lock_screen (XfsmUPower   *upower,
-               g_warning ("Couldn't sent that we were about to sleep: %s", 
err->message);
-               g_error_free (err);
-             }
-+#endif
-         }
-       else
-         {
-diff --git a/xfce4-session/xfsm-upower.h b/xfce4-session/xfsm-upower.h
-index a492f7d..4e6a53b 100644
---- a/xfce4-session/xfsm-upower.h
-+++ b/xfce4-session/xfsm-upower.h
-@@ -51,4 +51,8 @@ gboolean        xfsm_upower_can_hibernate    (XfsmUPower     
 *upower,
-                                               gboolean        *auth_hibernate,
-                                               GError         **error);
- 
-+gboolean        xfsm_upower_lock_screen      (XfsmUPower      *upower,
-+                                              const gchar     *sleep_kind,
-+                                              GError         **error);
-+
- #endif /* !__XFSM_UPOWER_HELPER_H__ */
-diff --git a/xfsm-shutdown-helper/main.c b/xfsm-shutdown-helper/main.c
-index 667f288..60c621b 100644
---- a/xfsm-shutdown-helper/main.c
-+++ b/xfsm-shutdown-helper/main.c
-@@ -57,6 +57,12 @@
- #ifdef REBOOT_CMD
- #undef REBOOT_CMD
- #endif
-+#ifdef UP_BACKEND_SUSPEND_COMMAND
-+#undef UP_BACKEND_SUSPEND_COMMAND
-+#endif
-+#ifdef UP_BACKEND_HIBERNATE_COMMAND
-+#undef UP_BACKEND_HIBERNATE_COMMAND
-+#endif
- 
- #if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || 
defined(__OpenBSD__)
- #define POWEROFF_CMD  "/sbin/shutdown -p now"
-@@ -68,6 +74,18 @@
- #define POWEROFF_CMD  "/sbin/shutdown -h now"
- #define REBOOT_CMD    "/sbin/shutdown -r now"
- #endif
-+#ifdef BACKEND_TYPE_FREEBSD
-+#define UP_BACKEND_SUSPEND_COMMAND "/usr/sbin/zzz"
-+#define UP_BACKEND_HIBERNATE_COMMAND "/usr/sbin/acpiconf -s 4"
-+#endif
-+#if BACKEND_TYPE_LINUX
-+#define UP_BACKEND_SUSPEND_COMMAND "/usr/sbin/pm-suspend"
-+#define UP_BACKEND_HIBERNATE_COMMAND "/usr/sbin/pm-hibernate"
-+#endif
-+#ifdef BACKEND_TYPE_OPENBSD
-+#define UP_BACKEND_SUSPEND_COMMAND    "/usr/sbin/zzz"
-+#define UP_BACKEND_HIBERNATE_COMMAND "/dev/null"
-+#endif
- 
- 
- static gboolean
-@@ -143,6 +161,14 @@ main (int argc, char **argv)
-     {
-       succeed = run (REBOOT_CMD);
-     }
-+  else if (strncasecmp (action, "SUSPEND", 7) == 0)
-+    {
-+      succeed = run (UP_BACKEND_SUSPEND_COMMAND);
-+    }
-+  else if (strncasecmp (action, "HIBERNATE", 9) == 0)
-+    {
-+      succeed = run (UP_BACKEND_HIBERNATE_COMMAND);
-+    }
- 
-   if (succeed)
-     {
--- 
-1.9.3
-

diff --git a/xfce-base/xfce4-session/xfce4-session-9999.ebuild 
b/xfce-base/xfce4-session/xfce4-session-9999.ebuild
index 7455597..3bda8cb 100644
--- a/xfce-base/xfce4-session/xfce4-session-9999.ebuild
+++ b/xfce-base/xfce4-session/xfce4-session-9999.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: 
/var/cvsroot/gentoo-x86/xfce-base/xfce4-session/xfce4-session-4.11.0-r2.ebuild,v
 1.3 2014/07/24 10:54:57 ssuominen Exp $
+# $Header: 
/var/cvsroot/gentoo-x86/xfce-base/xfce4-session/xfce4-session-4.12.1.ebuild,v 
1.1 2015/03/16 16:02:47 mgorny Exp $
 
 EAPI=5
 inherit xfconf
@@ -11,19 +11,20 @@ HOMEPAGE="http://docs.xfce.org/xfce/xfce4-session/start";
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS=""
-IUSE="debug nls systemd upower +xscreensaver"
+IUSE="debug nls policykit systemd upower +xscreensaver"
 
-COMMON_DEPEND=">=dev-libs/dbus-glib-0.100
+COMMON_DEPEND=">=dev-libs/dbus-glib-0.100:=
        x11-apps/iceauth
-       x11-libs/libSM
-       >=x11-libs/libwnck-2.30:1
-       x11-libs/libX11
-       >=xfce-base/libxfce4util-4.11
-       >=xfce-base/libxfce4ui-4.11
-       >=xfce-base/xfconf-4.10
+       x11-libs/libSM:=
+       >=x11-libs/libwnck-2.30:1=
+       x11-libs/libX11:=
+       >=xfce-base/libxfce4util-4.11:=
+       >=xfce-base/libxfce4ui-4.12.1:=
+       >=xfce-base/xfconf-4.10:=
        !xfce-base/xfce-utils
-       upower? ( || ( >=sys-power/upower-0.9.23 sys-power/upower-pm-utils ) )
-       systemd? ( >=sys-auth/polkit-0.100 )"
+       !=xfce-base/libxfce4ui-4.12.0
+       policykit? ( >=sys-auth/polkit-0.102:= )
+       upower? ( || ( >=sys-power/upower-0.9.23 sys-power/upower-pm-utils ) )"
 RDEPEND="${COMMON_DEPEND}
        x11-apps/xrdb
        nls? ( x11-misc/xdg-user-dirs )
@@ -40,14 +41,14 @@ DEPEND="${COMMON_DEPEND}
        sys-devel/gettext
        virtual/pkgconfig"
 
+REQUIRED_USE="systemd? ( policykit )"
+
 pkg_setup() {
        PATCHES=( "${FILESDIR}"/${PN}-alock_support_to_xflock4.patch )
 
-       use upower && PATCHES+=( "${FILESDIR}"/${P}-upower-0.99.0.patch )
-
        XFCONF=(
                --docdir="${EPREFIX}"/usr/share/doc/${PF}
-               $(use_enable systemd)
+               $(use_enable policykit polkit)
                --with-xsession-prefix="${EPREFIX}"/usr
                $(xfconf_use_debug)
                )

Reply via email to