summaryrefslogtreecommitdiff
path: root/extra/gnome-settings-daemon
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2012-04-27 16:17:51 +0200
committerMichał Masłowski <mtjm@mtjm.eu>2012-04-27 16:17:51 +0200
commit0ee0392ee9301df31f6e3c601214bb250112fa75 (patch)
tree3d91576bf751a8a45ddad77e0a37c2d8fd4fa91f /extra/gnome-settings-daemon
parenta3ba265c32b1de731745e1abc812f5d21bcd6aaf (diff)
parent5233daa5825f00ccf0722ef9733ea6b3bbd44bc8 (diff)
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts: community/dwdiff/PKGBUILD community/ejabberd/PKGBUILD community/gnome-settings-daemon-updates/PKGBUILD community/gpicview/PKGBUILD community/libgexiv2/PKGBUILD community/mapnik/PKGBUILD community/mplayer2/PKGBUILD community/open-vm-tools/PKGBUILD community/vdrift/PKGBUILD community/xboard/PKGBUILD core/openssh/PKGBUILD extra/boost/PKGBUILD extra/dconf/PKGBUILD extra/elfutils/PKGBUILD extra/gconf/PKGBUILD extra/gnome-control-center/PKGBUILD extra/gnome-disk-utility/PKGBUILD extra/gnome-menus/PKGBUILD extra/gnome-panel/PKGBUILD extra/gnome-power-manager/PKGBUILD extra/gnome-themes-standard/PKGBUILD extra/gobject-introspection/PKGBUILD extra/gtk3/PKGBUILD extra/gvfs/PKGBUILD extra/icu/PKGBUILD extra/libgsf/PKGBUILD extra/libimobiledevice/PKGBUILD extra/libplist/PKGBUILD extra/libreoffice/PKGBUILD extra/libwebkit/PKGBUILD extra/mutter/PKGBUILD extra/pango/PKGBUILD extra/php/PKGBUILD extra/pidgin/PKGBUILD extra/telepathy-kde-accounts-kcm/PKGBUILD extra/telepathy-kde-approver/PKGBUILD extra/telepathy-kde-auth-handler/PKGBUILD extra/telepathy-kde-contact-list/PKGBUILD extra/telepathy-kde-filetransfer-handler/PKGBUILD extra/telepathy-kde-integration-module/PKGBUILD extra/telepathy-kde-send-file/PKGBUILD extra/telepathy-kde-text-ui/PKGBUILD extra/totem-plparser/PKGBUILD extra/virtuoso/PKGBUILD extra/yelp/PKGBUILD libre/unarchiver/PKGBUILD multilib/lib32-gdk-pixbuf2/PKGBUILD multilib/lib32-glib2/PKGBUILD multilib/lib32-pango/PKGBUILD testing/binutils/PKGBUILD
Diffstat (limited to 'extra/gnome-settings-daemon')
-rw-r--r--extra/gnome-settings-daemon/PKGBUILD52
-rw-r--r--extra/gnome-settings-daemon/gnome-settings-daemon.install10
-rw-r--r--extra/gnome-settings-daemon/systemd-fallback.patch154
3 files changed, 192 insertions, 24 deletions
diff --git a/extra/gnome-settings-daemon/PKGBUILD b/extra/gnome-settings-daemon/PKGBUILD
index 93768bae2..895650283 100644
--- a/extra/gnome-settings-daemon/PKGBUILD
+++ b/extra/gnome-settings-daemon/PKGBUILD
@@ -1,35 +1,55 @@
-# $Id: PKGBUILD 142417 2011-11-09 07:29:52Z ibiru $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
+# $Id: PKGBUILD 157198 2012-04-25 14:06:29Z ibiru $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
pkgname=gnome-settings-daemon
-pkgver=3.2.2
-pkgrel=1
+pkgver=3.4.1
+pkgrel=2
pkgdesc="The GNOME Settings daemon"
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
-depends=('libgnomekbd' 'gnome-desktop' 'libnotify' 'hicolor-icon-theme' 'libcanberra-pulse' 'gsettings-desktop-schemas' 'nss' 'gconf' 'dconf' 'pulseaudio' 'pulseaudio-alsa' 'upower')
-makedepends=('intltool' 'gtk-doc' 'gnome-desktop')
+depends=('colord' 'dconf' 'gnome-desktop' 'gsettings-desktop-schemas' 'hicolor-icon-theme' 'libcanberra-pulse' 'libgnomekbd' 'libnotify'
+ 'libsystemd' 'libwacom' 'nss' 'pulseaudio' 'pulseaudio-alsa' 'upower')
+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)
-sha256sums=('d91cac869e23f36942720485f04c3029fd5286fafb6ad12b07377e527b1f6884')
+source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
+ systemd-fallback.patch
+ evironment.patch::http://git.gnome.org/browse/gnome-settings-daemon/patch/?id=9d7ea1d0b8b90b55f916751858a210a2e02a06b6
+ arguments.patch::http://git.gnome.org/browse/gnome-settings-daemon/patch/?id=00681573ad6ebeb127ec72ac61d30d69be6459f8
+ mem-leak.patch::http://git.gnome.org/browse/gnome-settings-daemon/patch/?id=053f48b3b1b9a3b2ab0714d470da4354735d0c4b
+ glist-leak.patch::http://git.gnome.org/browse/gnome-settings-daemon/patch/?id=214a832820f6448f07d438f6686267eaf8301dd1
+ mouse-mem-leak.patch::http://git.gnome.org/browse/gnome-settings-daemon/patch/?id=09c215b42312ca5bb63b215c2f95231613b3103d)
+sha256sums=('d5d4a270ec5692cdc56a58cfb57bc7f8fa93374566912a65e78c1c3db7faf4ed'
+ '3af86d4b341d5ca7c94cc814b250b122309d38f48be0bf0581d0c77e763a8008'
+ '1ba33f6eadac4c54f3f08f4bce075d2bef8124f857f5af22eaee010c8d38bc3b'
+ '884a959b334f864f75dcb4eec8c137785f587c7c2ae57906f8b4e60e04c29246'
+ '3a3f8b2964406b9b3c85c05f25e677e8c9eaa221779b95826ffbc0474740decc'
+ 'af3bda801befdbd3d318723ae6de3aaf7df1e16bccd84e13f15b57f2dceaefcd'
+ '43b7397e622a2c19091b3665822e9461067fb6a497b9507418a3bbb100a69e1b')
build() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd $pkgname-$pkgver
+
+ patch -Np1 -i ../systemd-fallback.patch
+ patch -Np1 -i ../evironment.patch
+ patch -Np1 -i ../arguments.patch
+ patch -Np1 -i ../mem-leak.patch
+ patch -Np1 -i ../glist-leak.patch
+ patch -Np1 -i ../mouse-mem-leak.patch
+
+ gnome-autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
+ --libexecdir=/usr/lib/gnome-settings-daemon --disable-static \
+ --enable-systemd
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --libexecdir=/usr/lib/gnome-settings-daemon --disable-static --enable-pulse \
- --with-pnpids=/usr/share/libgnome-desktop-3.0/pnp.ids
#https://bugzilla.gnome.org/show_bug.cgi?id=656231
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
}
diff --git a/extra/gnome-settings-daemon/gnome-settings-daemon.install b/extra/gnome-settings-daemon/gnome-settings-daemon.install
index 483fb9450..f7e8c46ac 100644
--- a/extra/gnome-settings-daemon/gnome-settings-daemon.install
+++ b/extra/gnome-settings-daemon/gnome-settings-daemon.install
@@ -1,12 +1,6 @@
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
+ glib-compile-schemas /usr/share/glib-2.0/schemas
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
}
post_upgrade() {
diff --git a/extra/gnome-settings-daemon/systemd-fallback.patch b/extra/gnome-settings-daemon/systemd-fallback.patch
new file mode 100644
index 000000000..da0496623
--- /dev/null
+++ b/extra/gnome-settings-daemon/systemd-fallback.patch
@@ -0,0 +1,154 @@
+commit b9ded09387f0b99ece97baee18595eb9e86a5b9b
+Author: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+Date: Mon Mar 12 01:52:54 2012 +0100
+
+ Fallback to CK if systemd is not available
+
+ Be nice to distributions where systemd is optional. This will select
+ the code path at runtime depending on whether the system was booted
+ using systemd.
+
+diff --git a/configure.ac b/configure.ac
+index 3b4789f..d522852 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -299,7 +299,7 @@ AC_ARG_ENABLE([systemd],
+ [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 --git a/gnome-settings-daemon/gnome-settings-session.c b/gnome-settings-daemon/gnome-settings-session.c
+index 5786300..83fe21e 100644
+--- a/gnome-settings-daemon/gnome-settings-session.c
++++ b/gnome-settings-daemon/gnome-settings-session.c
+@@ -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 @@ struct GnomeSettingsSessionPrivate
+ {
+ #ifdef HAVE_SYSTEMD
+ GSource *sd_source;
+-#else
++#endif
+ GDBusProxy *proxy_session;
+ GCancellable *cancellable;
+-#endif
+ gchar *session_id;
+ GnomeSettingsSessionState state;
+ };
+@@ -237,7 +237,7 @@ sessions_changed (gpointer user_data)
+ return TRUE;
+ }
+
+-#else /* HAVE_SYSTEMD */
++#endif /* HAVE_SYSTEMD */
+
+ static void
+ gnome_settings_session_proxy_signal_cb (GDBusProxy *proxy,
+@@ -371,22 +371,25 @@ got_manager_proxy_cb (GObject *source_object, GAsyncResult *res, gpointer user_d
+ 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;
++
++ if (sd_booted () > 0) {
++ sd_pid_get_session (getpid(), &session->priv->session_id);
+
+- 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);
++ 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);
+
+- sessions_changed (session);
+-#else
++ sessions_changed (session);
++ return;
++ }
++#endif
+ session->priv->cancellable = g_cancellable_new ();
+
+ /* connect to ConsoleKit */
+@@ -399,7 +402,6 @@ gnome_settings_session_init (GnomeSettingsSession *session)
+ session->priv->cancellable,
+ got_manager_proxy_cb,
+ session);
+-#endif
+ }
+
+ static void
+@@ -415,15 +417,17 @@ gnome_settings_session_finalize (GObject *object)
+ if (session->priv->sd_source != NULL) {
+ g_source_destroy (session->priv->sd_source);
+ g_source_unref (session->priv->sd_source);
++ goto out;
+ }
+-#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);
+-#endif
+
++out:
+ G_OBJECT_CLASS (gnome_settings_session_parent_class)->finalize (object);
+ }
+
+diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
+index 8db04e5..9883d76 100644
+--- a/plugins/power/gsd-power-manager.c
++++ b/plugins/power/gsd-power-manager.c
+@@ -2031,7 +2031,7 @@ systemd_stop (void)
+ g_object_unref (bus);
+ }
+
+-#else
++#endif
+
+ static void
+ consolekit_stop_cb (GObject *source_object,
+@@ -2081,7 +2081,6 @@ consolekit_stop (void)
+ consolekit_stop_cb, NULL);
+ g_object_unref (proxy);
+ }
+-#endif
+
+ static void
+ upower_sleep_cb (GObject *source_object,
+@@ -2135,10 +2134,11 @@ do_power_action_type (GsdPowerManager *manager,
+ * 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,