summaryrefslogtreecommitdiff
path: root/gnome-unstable/gnome-control-center
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-03-12 00:01:32 +0000
committerroot <root@rshg054.dnsready.net>2012-03-12 00:01:32 +0000
commita6cb3ddef295c5feb4e03ee198dbb31cdf62d518 (patch)
tree4ea0c57a9a347779a3d69ebee2dc54d994a30235 /gnome-unstable/gnome-control-center
parent4640048ddd1331c9f6fc14b8921ccecdb6b1ea11 (diff)
Mon Mar 12 00:01:32 UTC 2012
Diffstat (limited to 'gnome-unstable/gnome-control-center')
-rw-r--r--gnome-unstable/gnome-control-center/PKGBUILD46
-rw-r--r--gnome-unstable/gnome-control-center/gnome-control-center.install19
-rw-r--r--gnome-unstable/gnome-control-center/systemd-fallback.patch120
3 files changed, 185 insertions, 0 deletions
diff --git a/gnome-unstable/gnome-control-center/PKGBUILD b/gnome-unstable/gnome-control-center/PKGBUILD
new file mode 100644
index 000000000..89466a93f
--- /dev/null
+++ b/gnome-unstable/gnome-control-center/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 152916 2012-03-10 16:46:55Z heftig $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=gnome-control-center
+pkgver=3.3.91
+pkgrel=1
+pkgdesc="The Control Center for GNOME"
+arch=('i686' 'x86_64')
+depends=('gtk3' 'gsettings-desktop-schemas' 'gnome-menus' 'gnome-desktop' 'gnome-settings-daemon'
+ 'upower' 'libgtop' 'cups-pk-helper' 'accountsservice' 'sound-theme-freedesktop'
+ 'gnome-online-accounts' 'network-manager-applet' 'gnome-bluetooth' 'libsocialweb')
+optdepends=('mesa-demos: provides glxinfo for graphics information'
+ 'apg: adds password generation for user accounts'
+ 'gnome-color-manager: for color management tasks'
+ 'cheese: take account photos via webcam')
+makedepends=('gnome-doc-utils' 'intltool' 'gnome-common' 'cheese')
+url="http://www.gnome.org"
+groups=('gnome')
+install=gnome-control-center.install
+license=('GPL')
+options=('!libtool' '!emptydirs')
+source=(http://download.gnome.org/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz
+ systemd-fallback.patch)
+sha256sums=('6a08f50d6760ef62e567aa1240fca054cc33e8aac37a4fb318cfb4d7b611abfb'
+ '8c9647c3bd1a69d9ce4d3716c235463f1cd33527cd8a241a2e88829f14da0494')
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ patch -Np1 -i ../systemd-fallback.patch
+ gnome-autogen.sh --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --enable-systemd --with-libsocialweb \
+ --disable-update-mimedb
+
+ #https://bugzilla.gnome.org/show_bug.cgi?id=656229
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool
+ make
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+
+ make DESTDIR="${pkgdir}" install
+}
+
diff --git a/gnome-unstable/gnome-control-center/gnome-control-center.install b/gnome-unstable/gnome-control-center/gnome-control-center.install
new file mode 100644
index 000000000..eb703319f
--- /dev/null
+++ b/gnome-unstable/gnome-control-center/gnome-control-center.install
@@ -0,0 +1,19 @@
+pkgname=gnome-control-center
+
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+pre_upgrade() {
+ if [ -f usr/share/gconf/schemas/${pkgname}.schemas ]; then
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/gnome-unstable/gnome-control-center/systemd-fallback.patch b/gnome-unstable/gnome-control-center/systemd-fallback.patch
new file mode 100644
index 000000000..a83629db6
--- /dev/null
+++ b/gnome-unstable/gnome-control-center/systemd-fallback.patch
@@ -0,0 +1,120 @@
+diff -u -Nr gnome-control-center-3.3.91/configure.ac gnome-control-center-3.3.91-systemd-fallback/configure.ac
+--- gnome-control-center-3.3.91/configure.ac 2012-03-05 20:30:32.000000000 +0100
++++ gnome-control-center-3.3.91-systemd-fallback/configure.ac 2012-03-07 00:06:01.752988448 +0100
+@@ -56,7 +56,7 @@
+ [with_systemd=$enableval],
+ [with_systemd=no])
+ if test "$with_systemd" = "yes" ; then
+- SYSTEMD=libsystemd-login
++ SYSTEMD="libsystemd-login libsystemd-daemon"
+ AC_DEFINE(HAVE_SYSTEMD, 1, [Define to 1 if systemd is available])
+ else
+ SYSTEMD=
+diff -u -Nr gnome-control-center-3.3.91/panels/user-accounts/um-user.c gnome-control-center-3.3.91-systemd-fallback/panels/user-accounts/um-user.c
+--- gnome-control-center-3.3.91/panels/user-accounts/um-user.c 2012-03-05 15:04:55.000000000 +0100
++++ gnome-control-center-3.3.91-systemd-fallback/panels/user-accounts/um-user.c 2012-03-07 00:13:13.002755560 +0100
+@@ -37,6 +37,11 @@
+
+ #include <gio/gunixoutputstream.h>
+
++#ifdef HAVE_SYSTEMD
++# include <systemd/sd-login.h>
++# include <systemd/sd-daemon.h>
++#endif
++
+ #include "um-user.h"
+ #include "um-account-type.h"
+ #include "um-utils.h"
+@@ -1003,57 +1008,50 @@
+ }
+ }
+
+-#ifdef HAVE_SYSTEMD
+-
+-#include <systemd/sd-login.h>
+-
+ gboolean
+ um_user_is_logged_in (UmUser *user)
+ {
+- int n_sessions;
+-
+- n_sessions = sd_uid_get_sessions (um_user_get_uid (user), 0, NULL) > 0;
+-
+- return n_sessions > 0;
+-}
++#ifdef HAVE_SYSTEMD
++ if (sd_booted () > 0) {
++ int n_sessions;
+
+-#else
++ n_sessions = sd_uid_get_sessions (um_user_get_uid (user), 0, NULL) > 0;
+
+-gboolean
+-um_user_is_logged_in (UmUser *user)
+-{
+- GVariant *result;
+- GVariantIter *iter;
+- gint n_sessions;
+- GError *error = NULL;
++ return n_sessions > 0;
++ } else
++#endif
++ {
++ GVariant *result;
++ GVariantIter *iter;
++ gint n_sessions;
++ GError *error = NULL;
++
++ result = g_dbus_connection_call_sync (user->bus,
++ "org.freedesktop.ConsoleKit",
++ "/org/freedesktop/ConsoleKit/Manager",
++ "org.freedesktop.ConsoleKit.Manager",
++ "GetSessionsForUnixUser",
++ g_variant_new ("(u)", um_user_get_uid (user)),
++ G_VARIANT_TYPE ("(ao)"),
++ G_DBUS_CALL_FLAGS_NONE,
++ -1,
++ NULL,
++ &error);
++ if (!result) {
++ g_warning ("GetSessionsForUnixUser failed: %s", error->message);
++ g_error_free (error);
++ return FALSE;
++ }
++
++ g_variant_get (result, "(ao)", &iter);
++ n_sessions = g_variant_iter_n_children (iter);
++ g_variant_iter_free (iter);
++ g_variant_unref (result);
+
+- result = g_dbus_connection_call_sync (user->bus,
+- "org.freedesktop.ConsoleKit",
+- "/org/freedesktop/ConsoleKit/Manager",
+- "org.freedesktop.ConsoleKit.Manager",
+- "GetSessionsForUnixUser",
+- g_variant_new ("(u)", um_user_get_uid (user)),
+- G_VARIANT_TYPE ("(ao)"),
+- G_DBUS_CALL_FLAGS_NONE,
+- -1,
+- NULL,
+- &error);
+- if (!result) {
+- g_warning ("GetSessionsForUnixUser failed: %s", error->message);
+- g_error_free (error);
+- return FALSE;
++ return n_sessions > 0;
+ }
+-
+- g_variant_get (result, "(ao)", &iter);
+- n_sessions = g_variant_iter_n_children (iter);
+- g_variant_iter_free (iter);
+- g_variant_unref (result);
+-
+- return n_sessions > 0;
+ }
+
+-#endif
+-
+ void
+ um_user_set_automatic_login (UmUser *user,
+ gboolean enabled)