summaryrefslogtreecommitdiff
path: root/gnome-unstable/gnome-settings-daemon
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-unstable/gnome-settings-daemon')
-rw-r--r--gnome-unstable/gnome-settings-daemon/PKGBUILD42
-rw-r--r--gnome-unstable/gnome-settings-daemon/gnome-settings-daemon.install18
-rw-r--r--gnome-unstable/gnome-settings-daemon/systemd-fallback.patch160
3 files changed, 220 insertions, 0 deletions
diff --git a/gnome-unstable/gnome-settings-daemon/PKGBUILD b/gnome-unstable/gnome-settings-daemon/PKGBUILD
new file mode 100644
index 000000000..05ae4d711
--- /dev/null
+++ b/gnome-unstable/gnome-settings-daemon/PKGBUILD
@@ -0,0 +1,42 @@
+# $Id: PKGBUILD 152887 2012-03-10 15:33:04Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+
+pkgname=gnome-settings-daemon
+pkgver=3.3.91
+pkgrel=1
+pkgdesc="The GNOME Settings daemon"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libgnomekbd' 'gnome-desktop' 'libnotify' 'hicolor-icon-theme' 'libcanberra-pulse'
+ 'gsettings-desktop-schemas' 'nss' 'gconf' 'dconf' 'pulseaudio' 'pulseaudio-alsa'
+ 'upower' 'libsystemd' 'libwacom' 'udev' 'colord')
+makedepends=('intltool' 'gtk-doc' 'gnome-desktop' 'gnome-common' 'xf86-input-wacom')
+options=('!emptydirs' '!libtool')
+install=gnome-settings-daemon.install
+url="http://www.gnome.org"
+groups=('gnome')
+replaces=(gnome-settings-daemon-pulse)
+conflicts=(gnome-settings-daemon-pulse)
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz
+ systemd-fallback.patch)
+sha256sums=('78310aa753f9ed9e3440c8f98d63639adcf9ba18a11724ff72f78adb827a8fd4'
+ '29387c8176ec2f8c56060ea08865201ca9c7a27cb8ae5d93bdc4c3afe8e5516b')
+
+build() {
+ cd $pkgname-$pkgver
+
+ patch -Np1 -i ../systemd-fallback.patch
+ gnome-autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --libexecdir=/usr/lib/gnome-settings-daemon --disable-static \
+ --enable-systemd
+
+ #https://bugzilla.gnome.org/show_bug.cgi?id=656231
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/gnome-unstable/gnome-settings-daemon/gnome-settings-daemon.install b/gnome-unstable/gnome-settings-daemon/gnome-settings-daemon.install
new file mode 100644
index 000000000..483fb9450
--- /dev/null
+++ b/gnome-unstable/gnome-settings-daemon/gnome-settings-daemon.install
@@ -0,0 +1,18 @@
+post_install() {
+ usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ if (( $(vercmp $2 2.90.0) < 0 )); then
+ usr/sbin/gconfpkg --uninstall gnome-settings-daemon
+ fi
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/gnome-unstable/gnome-settings-daemon/systemd-fallback.patch b/gnome-unstable/gnome-settings-daemon/systemd-fallback.patch
new file mode 100644
index 000000000..80f3ac4d3
--- /dev/null
+++ b/gnome-unstable/gnome-settings-daemon/systemd-fallback.patch
@@ -0,0 +1,160 @@
+diff -u -Nr gnome-settings-daemon-3.3.91/configure.ac gnome-settings-daemon-3.3.91-systemd-fallback/configure.ac
+--- gnome-settings-daemon-3.3.91/configure.ac 2012-03-05 19:13:16.000000000 +0100
++++ gnome-settings-daemon-3.3.91-systemd-fallback/configure.ac 2012-03-10 16:20:31.417634553 +0100
+@@ -298,7 +298,7 @@
+ [with_systemd=$enableval],
+ [with_systemd=no])
+ if test "$with_systemd" = "yes" ; then
+- PKG_CHECK_MODULES(SYSTEMD, [libsystemd-login])
++ PKG_CHECK_MODULES(SYSTEMD, [libsystemd-daemon libsystemd-login])
+ AC_DEFINE(HAVE_SYSTEMD, 1, [Define if systemd is used for session tracking])
+ SESSION_TRACKING=systemd
+ else
+diff -u -Nr gnome-settings-daemon-3.3.91/gnome-settings-daemon/gnome-settings-session.c gnome-settings-daemon-3.3.91-systemd-fallback/gnome-settings-daemon/gnome-settings-session.c
+--- gnome-settings-daemon-3.3.91/gnome-settings-daemon/gnome-settings-session.c 2012-02-01 20:33:14.000000000 +0100
++++ gnome-settings-daemon-3.3.91-systemd-fallback/gnome-settings-daemon/gnome-settings-session.c 2012-03-10 16:21:35.930442794 +0100
+@@ -30,6 +30,7 @@
+ #include "gnome-settings-session.h"
+
+ #ifdef HAVE_SYSTEMD
++#include <systemd/sd-daemon.h>
+ #include <systemd/sd-login.h>
+
+ typedef struct
+@@ -130,10 +131,9 @@
+ {
+ #ifdef HAVE_SYSTEMD
+ GSource *sd_source;
+-#else
++#endif
+ GDBusProxy *proxy_session;
+ GCancellable *cancellable;
+-#endif
+ gchar *session_id;
+ GnomeSettingsSessionState state;
+ };
+@@ -237,7 +237,7 @@
+ return TRUE;
+ }
+
+-#else /* HAVE_SYSTEMD */
++#endif /* HAVE_SYSTEMD */
+
+ static void
+ gnome_settings_session_proxy_signal_cb (GDBusProxy *proxy,
+@@ -371,35 +371,38 @@
+ g_object_unref (proxy_manager);
+ }
+
+-#endif /* HAVE_SYSTEMD */
+-
+ static void
+ gnome_settings_session_init (GnomeSettingsSession *session)
+ {
+ session->priv = GNOME_SETTINGS_SESSION_GET_PRIVATE (session);
+
+ #ifdef HAVE_SYSTEMD
+- sd_pid_get_session (getpid(), &session->priv->session_id);
++ session->priv->sd_source = NULL;
+
+- session->priv->sd_source = sd_source_new ();
+- g_source_set_callback (session->priv->sd_source, sessions_changed, session, NULL);
+- g_source_attach (session->priv->sd_source, NULL);
++ if (sd_booted () > 0) {
++ sd_pid_get_session (getpid(), &session->priv->session_id);
+
+- sessions_changed (session);
+-#else
+- session->priv->cancellable = g_cancellable_new ();
++ session->priv->sd_source = sd_source_new ();
++ g_source_set_callback (session->priv->sd_source, sessions_changed, session, NULL);
++ g_source_attach (session->priv->sd_source, NULL);
+
+- /* connect to ConsoleKit */
+- g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
+- G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
+- NULL,
+- CONSOLEKIT_NAME,
+- CONSOLEKIT_MANAGER_PATH,
+- CONSOLEKIT_MANAGER_INTERFACE,
+- session->priv->cancellable,
+- got_manager_proxy_cb,
+- session);
++ sessions_changed (session);
++ } else
+ #endif
++ {
++ session->priv->cancellable = g_cancellable_new ();
++
++ /* connect to ConsoleKit */
++ g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
++ G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
++ NULL,
++ CONSOLEKIT_NAME,
++ CONSOLEKIT_MANAGER_PATH,
++ CONSOLEKIT_MANAGER_INTERFACE,
++ session->priv->cancellable,
++ got_manager_proxy_cb,
++ session);
++ }
+ }
+
+ static void
+@@ -415,14 +418,15 @@
+ if (session->priv->sd_source != NULL) {
+ g_source_destroy (session->priv->sd_source);
+ g_source_unref (session->priv->sd_source);
+- }
+-#else
+- g_cancellable_cancel (session->priv->cancellable);
+-
+- if (session->priv->proxy_session != NULL)
+- g_object_unref (session->priv->proxy_session);
+- g_object_unref (session->priv->cancellable);
++ } else
+ #endif
++ {
++ g_cancellable_cancel (session->priv->cancellable);
++
++ if (session->priv->proxy_session != NULL)
++ g_object_unref (session->priv->proxy_session);
++ g_object_unref (session->priv->cancellable);
++ }
+
+ G_OBJECT_CLASS (gnome_settings_session_parent_class)->finalize (object);
+ }
+diff -u -Nr gnome-settings-daemon-3.3.91/plugins/power/gsd-power-manager.c gnome-settings-daemon-3.3.91-systemd-fallback/plugins/power/gsd-power-manager.c
+--- gnome-settings-daemon-3.3.91/plugins/power/gsd-power-manager.c 2012-03-05 18:27:43.000000000 +0100
++++ gnome-settings-daemon-3.3.91-systemd-fallback/plugins/power/gsd-power-manager.c 2012-03-10 16:20:31.417634553 +0100
+@@ -2031,7 +2031,7 @@
+ g_object_unref (bus);
+ }
+
+-#else
++#endif
+
+ static void
+ consolekit_stop_cb (GObject *source_object,
+@@ -2081,7 +2081,6 @@
+ consolekit_stop_cb, NULL);
+ g_object_unref (proxy);
+ }
+-#endif
+
+ static void
+ upower_sleep_cb (GObject *source_object,
+@@ -2135,10 +2134,11 @@
+ * hibernate is not available and is marginally better
+ * than just powering down the computer mid-write */
+ #ifdef HAVE_SYSTEMD
+- systemd_stop ();
+-#else
+- consolekit_stop ();
++ if (sd_booted () > 0)
++ systemd_stop ();
++ else
+ #endif
++ consolekit_stop ();
+ break;
+ case GSD_POWER_ACTION_BLANK:
+ ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,